Chromium process does not close if main nodejs process crashes

This is a test repo for the problem:
https://github.com/entrptaher/automation-api-example
How to reproduce:

Run the script.
1.1. open localhost:3000/puppeteer/open/example.com to open a website using puppeteer.
1.2. open localhost:3000/nightmare/open/example.com to open the website using nightmare.
Close the cmd forcefully (using close button or xkill or taskkill).

Electron processes will close, but chrome processes will runaway.
More explanation:
Here we are opening a website using two automation scripts that creates it's own child processes, and we are not closing the browser window cause we want to use it later. It doesn't matter though since the reason chromium hangs is not that.

You can see that they are running in background.

 But if you forcefully close the cmd prompt, say with xkill or the close button, or somehow the node process crashes, then the child processes are hung up. The electron processes are gone, but the chromium processes are still there doing nothing.

I could create a better script to test this out, but this is more realistic than a test script.
Guesses:
It could be that the puppeteer is not listening for the right process event, it could be something other than SIGINT or exit.
Related issues: https://github.com/GoogleChrome/puppeteer/issues/1047

This was valuable information, since i recall the condition on my case is similar to this.

Alright it worked. Node process took few seconds to close though. Great.

Any idea when this is likely to be released? I'm assuming v0.14.0 or v0.13.1, which might be 2-3 weeks away?

This is the fastest way to use it,
yarn add https://github.com/GoogleChrome/puppeteer

I generally try to avoid non-npm dependencies if possible, so I was just wondering if changing to a github repo dependency would be worth it.
This issue doesn't have a major effect on us, so I won't bother switching unless it'll be a while before this is officially released.

What about use yarn add https://github.com/GoogleChrome/puppeteer for now, than  after team release you can replace it with npm i puppeteer -D? In my opinion you can't choose an option without pain in life, the best option you can take is the option which give less pain. Kindly pick which suit you.

Due to another issue (already documented here), the installation for puppeteer on some of our computers is a bit more complicated, so I'd like to avoid switching as much as possible. Which evil is the lesser thus comes down to how long we'll have to deal with a few extra orphaned chromiums, which is why I was asking in the first place. Thanks for the suggestions, though.

@TheGuywithTheHat  Well it turn more complicated than i thought, change directly the source code of installed version?
Did it somehow also cost you?
@aslushnikov can we release 0.13.1 for the shake of puppeteer user, specially for this case?

I appreciate it but I don't think that'll be necessary. It seems like it's more effort for you to make a special release than it is for us to deal with the bug for a few weeks. It really won't be too difficult to temporarily switch to a github dependency, either; I was just wondering which option might save us a few minutes.
While it would help us a bit, please don't go out of your way to make a release just because of us.

I think you can simply use that one line for now. You know, you could actually save the past 8 hours by writing one line. And when the time comes, you could save another 8 hours by writing another command. It would take only few seconds to write.

I still have the problem, using Express and Puppeteer 13.5.1. Three Chromium processes remain after pressing Ctrl+c :


Replace tabs with spaces in rule KDoc

The parsed [KDocSection] element contains no tabs.
Therefore, the indentation gets removed when generating the Markdown
rule documentation out of the rules KDoc.
This PR fixes #1871.

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1876   +/-   ##
=========================================
  Coverage     80.31%   80.31%
  Complexity     1958     1958
=========================================
  Files           325      325
  Lines          5517     5517
  Branches       1025     1025
=========================================
  Hits           4431     4431
  Misses          557      557
  Partials        529      529

Impacted Files
Coverage Δ
Complexity Δ

...rbosch/detekt/rules/style/EqualsOnSignatureLine.kt
88.88% <ø> (ø)
6 <0> (ø)
:arrow_down:

...tekt/rules/exceptions/TooGenericExceptionCaught.kt
86.95% <ø> (ø)
5 <0> (ø)
:arrow_down:

...tekt/rules/exceptions/TooGenericExceptionThrown.kt
92.85% <ø> (ø)
4 <0> (ø)
:arrow_down:

...ch/detekt/rules/style/ExplicitItLambdaParameter.kt
100% <ø> (ø)
4 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Efficiency Fix: Added the get_queryset method and model declaration implementation

I think it would be more efficient and more dynamic if it were possible to include a model attribute, and a get_queryset() method in the main View, and then use  self.get_queryset() instead of self.queryset in the get method.
See the suggested code changes

Thank you for your contribution, @abedyngash


Showcase Submission for code/2-variables/4-random

Thank you Sacha for your contribution! A member of the Coding Train team will review it shortly.

Random Lines
Sacha

Love this!


Download script

This PR adds a python module to download data from the plant phenology data portal, very similar to rppo.
It can be used like so:
from py_ppo import download

df = download(
    genus="Syringa",
    source="PEP725",
    year="[2000 TO 2021]",
    latitude="[40 TO 70]",
    longitude="[-10 TO 40]",
    termID="obo:PPO_0002313",
    explode=False,
    limit=1535,
    )

I also included an example script, which calculates the leafing-out dates based on the results from the above query, and plots it them on a map. This requires matplotlib and cartopy to be installed in your environment.

There's many remaining TODO's, but those can be addressed in follow-up PRs.
closes #2

@Peter9192 nice work 👍 after installing the python packages, I was able to run the example and tests.

Thanks for the review!

I left some comments, the major one is about the download directory, see my comment on the code.

I think this warrants a bit more discussion, so I've opened an issue:

Also, the link that is returned to the terminal starts with http://purl.obolibrary.org which is linked to https://ontobee.org/ (the README.txt contains the information). I understand that this is the link to the raw dataset, but the link in the output shouldn't start with https://biscicol.org ?

Hmm I agree it's not so nice. The terminal output is actually from the README that's retrieved from the server, so we can't change the text. Perhaps we should just print our own text here instead. That might also avoid confusion about the multiple output files.

I think the files can be structured in sub-directories. But this can be done using a python template later.

Agree

I updated the output message and opened #7. Hope this sufficiently addresses your concerns :-)

Thanks for the reviews!


Should we participate in hacktoberfest?

Following a request to grant hacktoberfest-accepted label by the author of this PR https://github.com/extendr/extendr/pull/291#issuecomment-933883650 , I triggered a short discussion on the Discord.
There are both positive and negative sides of the hacktoberfest event:

It allows to get some extra publicity and draw in new contributors
New developers can help sort out simple issues and speed up API polishing, leaving more time for maintainers to dive deep into the architectural problems
Because of its competitive nature, hacktoberfest may increase the number of garbage PRs -- little to no meaningful changes for the sake of getting a label and boosting developer's stats
Even though the rules are improved this year, hacktoberfest can put additional pressure onto the team through the garbage Issue/PR traffic

A short summary of rules:

To participate, we can mark issues with hacktoberfest, which is similar to good first issue, up for grabs, etc. This declares our explicit intention to be part of the event.
We can mark some PRs as hackroberfest-accepted whether we participate explicitly or not. The rules do not forbid this, and this is what happend with #291.

@yutannihilation expressed one point of view in the Discord, so I invite everyone interested in the topic to discussion.

Thanks for summarizing! To be clear, I think I have no right to comment on this issue, as nowadays I don't have much time for reviewing the pull requests on this repo (sorry for this). Joining Hacktoberfest probably means, to some extent, we are promising to review the related pull requests before the end of the Hacktoberfest to let the contributors get the rewards. But, I'm afraid I won't be able to help much on this. Joining Hacktoberfest itself should be a good thing, though.

No strong opinion either way, other than I also don't have a lot of additional free capacity and wouldn't want to promise to review any particular PR.

Sorry I couldn't support this this time. Hope we can do better next year...!


Build Configuration Optimization #0

Split FFmpeg configuration from FFmpegInteropX project configuration file to a separate target configuration file for streamlining.
Mouri

If we cleanup the vcproj file, let's go all-in. See my new changeset. I have also moved the .props file into FFmpegInterop folder, since it is only relevant for that project.

It seems OK.
But I suggest you to move ffmpeg submodule and .prop to Libs folder.
I didn't do that because I know you should adjust CI configurations if you want to modify.
Mouri


minified distro

Could you please not minify your scripts? Most of us do this in our projects build phase ourselves ;)

Feel free to use the unminified code.
Although you are not suppose to build external libs only concatenate them.
On Jun 19, 2015 19:45, "Maurice Faber"<EMAIL_ADDRESS>wrote:

Could you please not minify your scripts? Most of us do this in our
projects build phase ourselves ;)
—
Reply to this email directly or view it on GitHub
https://github.com/dcohenb/angular-img-fallback/issues/12.

I did. I copied it over your minified version. I don't understand what you mean by "not supposed to".  Not being able to step debug through your code is kind of a nono imo ;)

On 19 Jun 2015, at 22:49, Daniel Cohen<EMAIL_ADDRESS>wrote:
Feel free to use the unminified code.
Although you are not suppose to build external libs only concatenate them.
On Jun 19, 2015 19:45, "Maurice Faber"<EMAIL_ADDRESS>wrote:

Could you please not minify your scripts? Most of us do this in our
projects build phase ourselves ;)
—
Reply to this email directly or view it on GitHub
https://github.com/dcohenb/angular-img-fallback/issues/12.

—
Reply to this email directly or view it on GitHub.

Will it help if the minified version will be inside a separated folder named "dist" like all the other libs are doing?

No, it's nothing to do with that. How you build and concat/minify etc is your business. However, for the outside world you should list the unminified version in bower.json. So they can do it also however they wish ;)

On 23 Jul 2015, at 09:03, Daniel Cohen<EMAIL_ADDRESS>wrote:
Will it help if the minified version will be inside a separated folder named "dist" like all the other libs are doing?
—
Reply to this email directly or view it on GitHub.

Ok, I get what you mean. I replaced the main with the un-minified version.
thank you for your feedback!


Feature/small fixes

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Fabian Baumeister seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


my one user sayed his name is xxx then my other user asked what is his name the it is saying that "xxx" how to solve that

problem Eg:
my one user sayed his name is xxx then my other user asked what is his name the it is saying that "xxx" how to solve that

Please display the code

an object of WSGI application
import os
import re
from flask import Flask, make_response, render_template, request
from EdgeGPT import Chatbot, ConversationStyle
import asyncio
app = Flask(name)  # Flask constructor
bot = Chatbot(cookiePath=os.getcwd().replace("\", "\") + '/cookies.json')
async def bing_answer(question):
global bot
#bot = Chatbot(cookiePath=os.getcwd().replace("\", "\") + '/cookies.json')
response = await bot.ask(prompt=question, conversation_style=ConversationStyle.creative,
wss_link="wss://sydney.bing.com/sydney/ChatHub")
print(response)
try:
    response = response['item']['messages'][1]['adaptiveCards'][0]['body'][0]['text']
except:
    bot = Chatbot(cookiePath=os.getcwd().replace("\\", "\\") + '/cookies.json')
    response = await bot.ask(prompt=question, conversation_style=ConversationStyle.creative,
                         wss_link="wss://sydney.bing.com/sydney/ChatHub")
    response = response['item']['messages'][1]['adaptiveCards'][0]['body'][0]['text']
response = response.split("\n\n")
source = "microsoft new bing ai"
if len(response) >= 2:
    source = response[0]
    response.pop(0)
    response = " ".join(response)
else:
    try:
        print("hi")
        response = response.replace("['", "").replace("']", "")
        response = response.replace('["', "").replace('"]', "")
    except:
        response = response[0]
        print(response)
#await bot.close()
return response, source

A decorator used to tell the application
which URL is associated function
@app.route("/ok")
def ok():
return "hi"
@app.route("/")
def index():
return render_template("index.html")
@app.route('/chat/')  # type: ignore
def hello(bing):
ans, source = asyncio.run(bing_answer(bing))
ans = re.sub(r"[^\d+^]", "", ans)  # remove anything that matches [^^number^^]
ans = re.sub(r"[\d+]", "", ans)  # remove anything that matches
return ans, source

@app.route('/ans', methods=['POST', 'GET'])  # type: ignore
def ans():
if request.method == 'POST':
user = request.form['nm']
if user == "":
user = "hi"
user, source = hello(user)  # type: ignore
source = re.sub(r"[\d+]:", "", source)  # type: ignore
source = re.sub(r"^\d+^", "", source)  # type: ignore #
source = str(source).split('\n')
return render_template('index.html', ans=user, source=source)
if name == 'main':
app.run(port=5500, debug=True)

`# an object of WSGI application
import os
import re
from flask import Flask, make_response, render_template, request
from EdgeGPT import Chatbot, ConversationStyle
import asyncio
app = Flask(name)  # Flask constructor
bot = Chatbot(cookiePath=os.getcwd().replace("\", "\") + '/cookies.json')
async def bing_answer(question):
global bot
#bot = Chatbot(cookiePath=os.getcwd().replace("\", "\") + '/cookies.json')
response = await bot.ask(prompt=question, conversation_style=ConversationStyle.creative,
wss_link="wss://sydney.bing.com/sydney/ChatHub")
print(response)
try:
    response = response['item']['messages'][1]['adaptiveCards'][0]['body'][0]['text']
except:
    bot = Chatbot(cookiePath=os.getcwd().replace("\\", "\\") + '/cookies.json')
    response = await bot.ask(prompt=question, conversation_style=ConversationStyle.creative,
                         wss_link="wss://sydney.bing.com/sydney/ChatHub")
    response = response['item']['messages'][1]['adaptiveCards'][0]['body'][0]['text']
response = response.split("\n\n")
source = "microsoft new bing ai"
if len(response) >= 2:
    source = response[0]
    response.pop(0)
    response = " ".join(response)
else:
    try:
        print("hi")
        response = response.replace("['", "").replace("']", "")
        response = response.replace('["', "").replace('"]', "")
    except:
        response = response[0]
        print(response)
#await bot.close()
return response, source

A decorator used to tell the application
which URL is associated function
@app.route("/ok")
def ok():
return "hi"
@app.route("/")
def index():
return render_template("index.html")
@app.route('/chat/')  # type: ignore
def hello(bing):
ans, source = asyncio.run(bing_answer(bing))
ans = re.sub(r"[^\d+^]", "", ans)  # remove anything that matches [^^number^^]
ans = re.sub(r"[\d+]", "", ans)  # remove anything that matches
return ans, source

@app.route('/ans', methods=['POST', 'GET'])  # type: ignore
def ans():
if request.method == 'POST':
user = request.form['nm']
if user == "":
user = "hi"
user, source = hello(user)  # type: ignore
source = re.sub(r"[\d+]:", "", source)  # type: ignore
source = re.sub(r"^\d+^", "", source)  # type: ignore #
source = str(source).split('\n')
return render_template('index.html', ans=user, source=source)
if name == 'main':
app.run(port=5500, debug=True)
`

Don't redefine the bot var every time.

i only defined that in the above of the async function


address JOSS problem with double braces for url in bib file

hope this will help resolve:

(in relation to: https://github.com/openjournals/joss-reviews/issues/4326)

Looks good when generating a preview (using https://whedon.theoj.org/)!


Update VS2015 install page to be more explicit

Updating the text of the VS2015 install page to be more explicit about the WebPI installer will get the latest version of the Azure SDKs

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/dotnet-sdk-vs2015-install.md
:white_check_mark:Succeeded
View

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.

#sign-off


[BugFix] Cancel fragment instance not query when close external scanner

What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

If cancel query, other fragment instances (scanners) will be cancelled, and spark connector will report SocketTimeoutException when get next data from BE.
Query executed by external connectors does not need to report exec state
to FE.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 3.0
[x] 2.5
[ ] 2.4
[ ] 2.3

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


[BUG] TypeScript Error: Namespace 'React' has no exported member 'forwardRef'.

The following TypeScript error appears to be occurring:
node_modules/react-hotkeys/index.d.ts:84:15 - error TS2694: Namespace 'React' has no exported member 'forwardRef'.

84   ref?: React.forwardRef<React.ComponentClass, ComponentPropsBase>

Ah, was curious if this was just me and see it's not. Will do a cursory look to see if I can fix.

In React,
function forwardRef<T, P = {}>(Component: RefForwardingComponent<T, P>): ForwardRefExoticComponent<PropsWithoutRef<P> & RefAttributes<T>>;

is not a type, but a function. What should be the type of ref in react-hotkey?

Related:
This line's signature is also strange.
236  ignoreEventsCondition?: (KeyboardEvent) => boolean,

should be
236  ignoreEventsCondition?: (keyboardEvent: KeyboardEvent) => boolean,

?

I noticed lately that b866ec15fafd91363ab4df3524e4cf892bc1b6a3 already fixed this problem. This issue should be closed.

Thanks for the heads-up (and PR), @taromurao!


Application download fails if multiple SharePermissions are assigned

APIM-CLI version
1.13.3
API-Management version
7.7.20211130
Bug description
I have an application with multiple SharePermissions, all users have permission "manage". After upgrading to the newest APIM-CLI, I can't download the application data with apim app get any longer, with the error message:
Cannot coerce empty String ("") to 'com.axway.apim.api.model.apps.ApplicationPermission$SharePermission' value
However if I delete all but one user from the "Sharing" permissions, it works without error.
Steps to reproduce

Create an application "my-application" in Axway Manager UI
In "Sharing", specify multiple users with permission "Manage"
Try to download this application via apim app get --output json --name "my-application"

Relevant log output
Error reading application permissions. Error: Cannot coerce empty String ("") to `com.axway.apim.api.model.apps.ApplicationPermission$SharePermission` value (but could if coercion was enabled using `CoercionConfig`)

Hi @lreeb,
It's working fine on the latest CLI version with APIM release 7.7.20221130.
Can you test it with the latest CLI version (1.13.7)?

Hi @rathnapandi,
Thanks for the quick response. I can confirm that it works with the latest version 1.13.7, so closing this issue!


batch of javadoc revisions for clarity and completeness

I honestly don't remember everything I did here or why :-) so let's just go ahead and discuss how to make it best from here!

Sorry for the delay; I am still embroiled in the epic journey of getting approval to sign the CLA.


UI won't load with custom ingress

Describe the bug
Title is self explanatory
To Reproduce
Steps to reproduce the behavior:
1 - Deploy the jaeger operator:
helm install jaegertracing/jaeger-operator

2 - Deploy jaeger and custom ingress
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
  name: jaeger
spec:
  ingress:
    enabled: false
  query:
    base-path: /jaeger
  strategy: production
  storage:
    type: elasticsearch
    options:
      es:
        server-urls: http://elasticsearch-master:9200

---

apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
  name: jaeger-query
spec:
  rules:
  - http:
      paths:
      - path: /jaeger
        backend:
          serviceName: jaeger-query
          servicePort: 16686

( I have also tried to apply base-path to query.options.base-path with the same results)
Expected behavior
Go to http://{ingresscontrollerip}/jaeger and display UI
Screenshots

Version (please complete the following information):

OS: Linux
Jaeger version: [e.g. 1.22.0]
Deployment: Kubernetes

What troubleshooting steps did you try?
I have looked into 2 similar issues:  https://github.com/jaegertracing/jaeger-kubernetes/issues/94 and https://github.com/jaegertracing/jaeger-kubernetes/issues/81 both of which seems to refer to an issue with rewrite target, which I don't use.

I have resolved the issue, I needed to use:
allInOne:
  options:
    query:
      base-path: /jaeger

for when using the allInOne strategy
and
query:
  options:
    query:
      base-path: /jaeger

for when using Production strategy

Do you think our docs can be improved in this area?


test commikt

@hemanthvarmap Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@hemanthvarmap use your own fork to test Github's PR features.


Added HorizontalPager

added horizontalPager and made some changes in the variable, used ENUM class instead of integer values

added horizontalPager and made some changes in the variable, used ENUM class instead of integer values

LGTM!


support video files when checking for images in words

This PR remains untested on mp4s that have text in them, but we:

check if the content we get is of type video and try to derive the format
read the first frame of the video and write as image
proceed with image ocr as normal

nice this looks good once we test we should push this to the ingestor

have tested, works


can't run the skypeBot with  nodejs

when i try  it,get the error message " cannot find module 'skype-sdk'",and then i try to install the " Skype Bot SDK and APIs",but the url "http://www.skype.com/en/developer/signup" always   redirected to "http://skype.gmw.cn/",how can i get the "skype-sdk"?
thanks!

You'll need to signup to access the beta. once you get whitelisted (shouldn't take too long) you can download the SDK and install it following their instructions.

thank you Stevenic ,but when i signup,still been redirect to "http://skype.gmw.cn/",can't find any infomation about sdk.

I'm not sure about that. That's on the skype side of things so you'll need to contact them.


Does the enablePurge option work?

I'm using this plugin with enablePurge set to 'false'.
I thought that if I set it to 'false', 'purgecss' would not work and the tailwind CSS would not be removed.
However, in fact, the unused CSS was removed.
Was this the correct behavior?
I apologize if I am using it incorrectly.
export const config: config = {
  plugins: [tailwind({ enablePurge: false })],
};

I have created a repository to check the behavior of this configuration.
The 'text-blue-500' provided by tailwind has been removed.

I hope it will be useful for your investigation.
https://github.com/contiki9/stencil-test-tailwind
Thank you for creating a nice plugin.

Was this the correct behavior?

Simple answer is yes...
The longer answer is that this is targeted at the JIT version of tailwind. The TW css would be quite large to include in web components - i.e. if you used shadow dom components, each component would contain all the styles even those not used. Hence the footprint for the web component would be quite heavy. So the idea is that the web component would only contain the necessary styles and strip the rest not to create unnecessary load on the bundling/download. By targeting the JIT version of TW, it also allows for future mod's based on JIT syntax to keep the weight down.
So, essentially the idea is that the web component should be as light as possible when including all the utility classes. In essence, utility classes for web components are overkill in terms of their weight as there is no sharing in the shadow dom.
So the idea is to try to keep the css from bloating.
In terms of your repo, thanks :+1:  and, as a mild suggestion, you could enforce the prop:
@Prop() color: string = 'text-red-500';

HTH

Ok, ignore that suggestion 🙈  Brain missing in action this afternoon...

@Poimen
Thank you for your answer.
I think your design using JIT mode is better one.
I will try to approach it in a different way.


Append scss extension

Hi,
Here is what I had to do to be able to import scss files using a syntax like ~module-name/file omitting .scss (for consistency with our other imports).
Thanks,

Would love to see this merged. Happy to help out if I can.

I published it on npmjs.com, so you can require my fork meanwhile it's merged (if this project is not abandoned): npm install --save @kylekatarnls/node-sass-tilde-importer

Glad to hear! Changes applied.

Again, thanks @kylekatarnls 👏
Released as an alpha as I don't actively use this module anymore so I'll rely on feedback from you folk before 2.0.0 release. Also gives us a chance to add more features in the mean time.


feat(deps): update semantic-release to latest version

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Homebrew announces "Homebrew has enabled anonymous aggregate user behaviour analytics" even with HOMEBREW_NO_ANALYTICS=1

To reproduce:

Install a version of Homebrew prior to the update with analytics
Set HOMEBREW_NO_ANALYTICS=1
Run "brew update"

You will receive the message "==> Homebrew has enabled anonymous aggregate user behaviour analytics" - but this should not be true with HOMEBREW_NO_ANALYTICS set to 1.
I'm assuming that analytics weren't actually enabled, it's just that the message is output regardless. (Not tested.)

Just tried to reproduce - haven't seen any message about analytics at all.

Didn't reproduce for me either.  Did you use export HOMEBREW_NO_ANALYTICS=1?

$ echo $HOMEBREW_NO_ANALYTICS
1

Of course now I've already upgraded it means I can't re-test, but it's slightly concerning that my Homebrew install might be ignoring the opt-out var.
It should provide a way to confirm that analytics are disabled.

Sorry, my mistake.  I meant that you should run env | grep HOMEBREW_NO_ANALYTICS.  I think that will check whether you've exported the variable, which will make it available to the programs that you run.
Try git config --file="$(brew --repository)/.git/config" --get homebrew.analyticsdisabled.

$ env | grep HOMEBREW_NO_ANALYTICS
HOMEBREW_NO_ANALYTICS=1

(It's set in my .bashrc so it should always be set.)
$ git config --file="$(brew --repository)/.git/config" --get homebrew.analyticsdisabled
true

(Of course this is all post-update.)

but it's slightly concerning that my Homebrew install might be ignoring the opt-out var.

It's not ignoring the variable.
HOMEBREW_ANALYTICS_DEBUG=1 brew info openssl

If the start of that brew info openssl command isn't prepended with a curl output no analytics are being executed, period.
As documented, even if analytics are disabled, running under that env will prevent any analytics from being sent for the duration. Just shows you what the execution would look like:

You can also view all the information that is sent by Homebrew's analytics by setting HOMEBREW_ANALYTICS_DEBUG=1 in your environment. Please note this will also stop any analytics being sent.

As @DomT4 mentioned this has been fixed (if it was an issue) and you can verify this with HOMEBREW_ANALYTICS_DEBUG=1 or by tracing through the code.

Details: it was an issue for a while yesterday. The message was being spuriously displayed; brew was still respecting HOMEBREW_NO_ANALYTICS even when the message was displayed. Fixed by #154 and #155.


Update README with  project overview

User Story
As a contributor, I'd like to have a README which gives a comprehensive overview of the project, so that those who look at the repository have a good understanding of its purpose and what if offers.
Acceptance Criteria

README is updated with relevant information

Notes

We should also add in simple installation steps, as that's part of the Peer Review process:

Are installation / configuration instructions provided and can they be easily followed?


test

just testing if CI for the experimental branch works.

just testing if CI for the experimental branch works.

Looks like it works :shipit:


Optimize lwespi_is_valid_conn_ptr function

A small optimize in lwespi_is_valid_conn_ptr function

Thanks for contribution. Did you check outcome of this correction?
Modulus of non-power-of-2 can be very very slow, depends on arch and compiler of course.

I changed to another way of deciding the conn ptr is aligned correctly, but that may involve division since sizeof(lwesp_conn_t) is not a power of 2 and cannot be done by shifting. To know that there may be involving division, I tested a simple code on vs2017 and opened disassembly window.

Here test is a struct with three ints(sizeof(test) is 12) and you can see that the result is divided by 0Ch.
The function should be correct with input. I test with lwesp_netconn_write and nothing went wrong.
What do you think?

（I'm not an expert in computer architecture）

Question is not if it will work, but if your corrections bring any improvements. So far I'm not that sure and further tests would need to prove it.

Yes, I agree. I'll close this pr.


Unhandled exception "InvalidArgument=Value of '0' is not valid for 'index' "  when using Create Function

I have a strange bug.  An unhandled exception which began out of a search for a function which doesn't exit.
I was searching for the wrong name.
It seemed to go on using continue, but that's when it began misbehaving.  I closed the editor and relaunched.
Now it throws this error when I merely using Create Entity > Create Function

OpenCAGE Settings.json
I found a work around but I'm not entirely sure why it worked.
I removed the OpenCAGESettings.JSON file and let it be recreated.
The error cleared.   I'll attach the json and hopefully it might reveal what happened.
Obviously some erroneous setting was begin retained.
To be clear the issue has been worked around, but the underlying cause is unknown.
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.ArgumentOutOfRangeException: InvalidArgument=Value of '0' is not valid for 'index'.
Parameter name: index
at System.Windows.Forms.ListView.ListViewItemCollection.get_Item(Int32 index)
at CommandsEditor.AddEntity_Function.SelectFuncType(String type)
at CommandsEditor.AddEntity_Function.searchBtn_Click(Object sender, EventArgs e)
at CommandsEditor.AddEntity_Function..ctor(CompositeDisplay compositeDisplay)
at CommandsEditor.DockPanels.CompositeDisplay.CreateEntity(EntityVariant variant, Boolean composite)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
CommandsEditor
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
System
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9236.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
System.Windows.Forms
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9195.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
System.Drawing
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
CathodeLib
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
netstandard
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/netstandard/v4.0_<IP_ADDRESS>__cc7b13ffcd2ddd51/netstandard.dll
DiscordRPC
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
WeifenLuo.WinFormsUI.Docking
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
System.Core
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
System.Configuration
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
System.Xml
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
PresentationCore
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/PresentationCore/v4.0_<IP_ADDRESS>__31bf3856ad364e35/PresentationCore.dll
WindowsBase
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/WindowsBase/v4.0_<IP_ADDRESS>__31bf3856ad364e35/WindowsBase.dll
Newtonsoft.Json
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
WeifenLuo.WinFormsUI.Docking.ThemeVS2015
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
System.Xml.Linq
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Xml.Linq/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.Linq.dll
System.Runtime.Serialization
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9241.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Runtime.Serialization/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Runtime.Serialization.dll
System.Numerics
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Numerics.dll
System.Data
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9214.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Data.dll
websocket-sharp
Assembly Version: <IP_ADDRESS>03
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
System.Numerics.Vectors
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
Accessibility
Assembly Version: <IP_ADDRESS>
Win32 Version: 4.8.9037.0 built by: NET481REL1
CodeBase: file:///C:/WINDOWS/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/Accessibility.dll
System.Memory
Assembly Version: <IP_ADDRESS>
Win32 Version: <IP_ADDRESS>
CodeBase: file:///D:/Program%20Files/Epic%20Games/AlienIsolation/DATA/MODTOOLS/REMOTE_ASSETS/scripteditor/CommandsEditor.exe
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

I figured out some more on this.  The error setting is in the json file on line 37 :
"CS_PreviouslySearchedFunctionType": "speke",
I made a short video clip.  Removing the data to make it blank clears the error.
https://github.com/MattFiler/OpenCAGE/assets/51859157/d9c17992-0ca0-4f2d-81d6-68f1d0405eaa
Also, the initial bug seems to come from searching for that word "speaker" and clicking the search button twice.
Further checking the exception is thrown for any invalid search and clicking search twice.
If I use X to clear the invalid search all is well.  If I don't use X then once the create function window closes
that bad search data is retained and causes the exception on the create function button until the json file
data is manually cleared.


Primality Tests for Prime Number

I would like to take care of this issue - what exactly is the problem? Is the Primality-Test in a specific class missing, or is it not implemented at all?

The issue is to add primality tests for checking number is prime or not in the repo. Refer https://www.hackerearth.com/practice/math/number-theory/primality-tests/tutorial/ this for details.

This issue has been implemented in my Pull request


Custom runtimes

This PR includes everything necessary for us to build custom runtimes that support libssl1.0 and libssl1.1. I also back ported all changes to older python runtimes so that they would function and be packaged identically.
Refs plotly/streambed#13243

@josegonzalez as part of https://github.com/plotly/streambed/issues/13933, could you please summarise the steps you took to test this PR?


Configure shared networking IP address

Describe the issue
When using shared networking mode with macOS (12) and ubuntu (20.04), the IPv4 address that the VM gets on my mac is <IP_ADDRESS>.
However, for some use-cases, I need the address to be something else and something pre-defined (for example when using the VM as a development server and some other service has the IP in its configuration).
How could it be possible to define or change the assigned IP to something else? I've tried many options in the advanced settings of the Network tab, but most are not accepted with the shared mode, and none seem to have an effect on the IP address the guest gets.
I've also tried manipulating vmnet from macOS with ifconfig (ipconfig set bridge bridgeX...), but I could only change the IP of the bridge and not the VM.
nb: I cannot use the bridged mode with another DHCP server because I don't have control over it.
Configuration

UTM Version: 2.4.0
OS Version: macOS 12.0.1
Apple Silicon

The shared networking is based on the vmnet framework. You could take a look at this example and see if you can adapt it to QEMU. The thing of interest would probably be vmnet_start_address_key, vmnet_end_address_key and vmnet_subnet_mask_key. The online (developer.apple.com) documentation doesn't cover these keys, but if you look in /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/vmnet.framework/Versions/A/Headers/vmnet.h, you can find the documentation comments for everything in vmnet.framework. (You need Xcode installed).

@ktprograms Is the management of vmnet part of UTM or of qemu or of something else? I can't figure out where this is managed: I have seen that parameters are passed to qemu but not where "vmnet-macos" type is handled from there.

Well, vmnet-macos was implemented into QEMU with https://lists.gnu.org/archive/html/qemu-devel/2021-02/msg04637.html. The vmnet-macos code is in https://github.com/utmapp/qemu/blob/utm-edition/net/vmnet-macos.c.
Although it's supposed to be that you can specify dhcp-start-address, dhcp-end-address and dhcp-subnet-mask to the -netdev vmnet-macos,... but when I try that, it vmnet.framework has a Console.app message vmnet_start_address "<IP_ADDRESS>" is not a valid IP address. The dhcp-* stuff is in qapi/net.json in the linked patch.

Having built QEMU with the vmnet-macos patches I've found it next to impossible to configure the vmnet address range - however the v5 patchset at<EMAIL_ADDRESS>functions quite reliably in this regard.
Patch applies against latest QEMU master, needs some effort to merge with 6.1.0 though.

For those who need to stick with shared networking then I am in the same boat as you and would love to see a way to do reserved IPs in UTM so that VMs can be found at predictable IPs
For those willing to switch to bridged mode then you can set up reserved IPs for the VM mac address using your router. This works great... until it doesn't. When I set up my IP reservations at home then all is fine, but as soon as I hit the road then my IPs all change again. To solve this problem I bought a GL.iNet GL-AR300M Mini VPN Travel Router from Amazon and duplicated all of my IP settings in there. It works fairly well, but requires me to power up the router each time I move to a new location. That's why I would love to see UTM have a way to configure reserved IPs right from the console

If an IP isn't reliably getting assigned to the VM in shared network mode you could make a systemd boot service assign one.

While the VM is off, edit the VM settings to add a serial terminal device or display

Boot the VM and log in to root (or sudo)

Add a script that assigns an IP address
/root/assign-ip-on-boot.sh
#!/bin/bash

IPADDR=<IP_ADDRESS>

ip route add <IP_ADDRESS> dev enp0s1
ip route add default via <IP_ADDRESS> dev enp0s1
ip addr add $IPADDR/24 brd + dev enp0s1

Make the script executable
# chmod +x /root/assign-ip.sh

Configure a systemd service that runs at boot
/etc/systemd/system/assign-ip-on-boot.service
[Unit]
Description=Assign IP

[Service]
ExecStart=/root/assign-ip-on-boot.sh

[Install]
WantedBy=multi-user.target

Enable the systemd service
# systemctl enable assign-ip-on-boot

Shut down the VM and remove the serial device or display

Boot the VM again. The VM should have the IP address that was defined in the script and you can SSH in.

Another possible solution is resolve VM host names to their dynamic IP addresses instead of trying to assign them static ones:
* MacOS already does that with mDNS (Bonjour) - you can access them as `HOST.local` name (where `HOST` is the name of your VM in System Settings -> General -> Sharing -> Hostname)

* on Linux you need to install `sudo apt install avahi-daemon` which will advertise `HOST.local` where `HOST` is set with `sudo hostnamectl`

wow thank you for this , huge improvement over my shoddy workflow!

Hello,
When I create a VM with a shared network I end up with an IP address in 192.68.64.x but I would need an address in 192.168.1.x
How to adjust or configure UTM?

I encountered a similar issue where the subnet address changes consistently. Specifically, the output of:
sudo defaults read /Library/Preferences/SystemConfiguration/com.apple.vmnet.plist Shared_Net_Address

varies each time. When starting macOS and Linux guest operating systems sequentially in UTM, the subnet address assigned to vmnet increases. Is there a way to fix this value?"

Some news regarding this issue and my previous solution: after upgrading to macOs 15.x, I see a strange behavior with the dhcp leases in /var/db/dhcpd_leases: instead of the mac address set up in the VM's options as before, the new address visible in the file is some kind of a longer value, not at all related to the mac address configured, and the same for all VMs, even if you have many VMs running at the same time with UTM... so it's broken again :-(

Regarding my last comment, I found help here: https://github.com/cirruslabs/tart/issues/912
The new hw_address and identifier values in /var/db/dhcpd_leases (starting with ff, and not being the mac address) can be reverted to the mac address by changing the networking settings inside the ubuntu VM for example by editing the file /etc/netplan/00-installer-config.yaml and adding dhcp-identifier: mac after dhcp4: true


Refactor evalAPPEND to handle leading zeros in value

Fixes #1101
evalAPPEND function wasn't configured to handle the case with leading zeros and it is treating value "0043" as "43"
I have added that case to handle it properly and producing desired result as of redis

@lucifercr07 @JyotinderSingh pls review this it fixes #1101

@JyotinderSingh @lucifercr07 I have added both unit test and integration_test for above append case
plss review


Trying to resolve 'conda not found' error with a miniforge environment

I would like to use a miniforge Python environment within JupyterLab Desktop on Ubuntu. Therefore, I added the path to this environment (/home/my_username/miniforge3/envs/custom_env/bin/python3.12) into the 'Use custom Python environment' field within JupyterLab Desktop's 'Manage Python environments' menu.
I know that I also need to add an entry into the 'conda path' field. My root miniforge3 folder (which includes all of my environments) contains a 'conda' file within the 'bin' folder that contains the following text:
#!/home/my_username/miniforge3/bin/python
# -*- coding: utf-8 -*-
import sys
# Before any more imports, leave cwd out of sys.path for internal 'conda shell.*' commands.
# see https://github.com/conda/conda/issues/6549
if len(sys.argv) > 1 and sys.argv[1].startswith('shell.') and sys.path and sys.path[0] == '':
    # The standard first entry in sys.path is an empty string,
    # and os.path.abspath('') expands to os.getcwd().
    del sys.path[0]

if __name__ == '__main__':
    from conda.cli import main
    sys.exit(main())

However, when I enter the path to this file (/home/my_username/miniforge3/bin/conda) into the 'conda path' , I subsequently receive the following error message when trying to open JupyterLab Deskop:
"conda not found"
conda executable not found. Please set conda path in settings to use the conda sub environment."
This indicates that I'm entering the wrong path, but I'm not sure what I should use instead. Interestingly, I don't see a condabin/conda file within the folder for the environment that I wish to use. I don't think that's the source of the issue, though, since when I changed the custom environment entry from my custom environment to my main miniforge3 Python environment, I continued to receive an error message.
I also tried entering /home/my_username/miniforge3/condabin/conda as the path, but this didn't work either.
Thank you in advance for helping me figure out how to get JupyterLab Desktop to accept my custom conda path!

I installed JuptyerLab's bundled Python environment to see if it would allow me to run Python instead. Interestingly, once I installed it, I was able to open up a notebook and run it using my custom environment, even though there still wasn't a conda path specified within the settings menu.
This solution works fine for me, although I do have one follow-up question: does the bundled environment use Anaconda? Anaconda updated its terms of service to require payments for commercial use in certain cases (which is why I switched over to miniforge), so I wanted to make sure that installing this environment wouldn't require me to make payments to Anaconda.

@mbektas Can you answer this question about whether the bundled Python environment uses Anaconda, and if so, what changes customers need to make to use alternatives such as miniforge?

@kburchfiel the bundled environment is a conda environment (generated using miniconda). We use conda-forge channel by default for bundling the environment and for new environments created by the app. These make sure the app complies to Anaconda rules. @bollwyvl did you have any other details to share on this matter?

@mbektas That's very helpful to know, thank you! So just to confirm, I don't need to pay Anaconda to use JupyterLab Desktop's bundled environment, correct? (I'm guessing that's what you meant by 'complies to Anaconda rules.')

yes, (as far as I know) you don't need to pay to Anaconda to use JupyterLab Desktop and the bundled environment. You can check this Anaconda blog post which supports that too.

disclaimer: former employee of Anaconda, Inc. ne Continuum Analytics

Here is the conda-forge take on it:
https://conda-forge.org/blog/2020/11/20/anaconda-tos/
To my understanding, and IANAL, what are encumbered are the non-free, mostly repackaging of (mostly) conda-forge feedstocks:

miniconda

this includes the one GitHub re-distributes on their runners, etc.

the "Anaconda individual" distribution
anaconda navigator
anything downloaded from anaconda.com

might even include repodata.json, dunno

anything downloaded from:

anaconda.org/defaults
anaconda.org/msys2

I therefore generally recommend avoiding all of the above by open source projects, and by extension, corporate downstreams that are looking at this stuff.
Other conda-compatible distributions built on miniforge, (e.g. mambaforge), micromamba, pixi distributions are not encumbered by the Anaconda, Inc. ToS, and are fully bootstrapped from the repos on https://github.com/conda-forge. This includes the conda-forge/m2-* packages, needed to bootstrap the free POSIX environment on win-64.
Of course, on non-free platforms/compilers (osx-?, win-64) it isn't always 100% clear what your rights are regarding binary packages. And further, of course, this also ships basically an operating system (chromium) and another language runtime (nodejs), good luck untangling what exactly is in those, if you actually need to audit what licenses are coming in. I basically guarantee there's some (A)GPL code lighting up before you start a kernel, but definitely once you start doing any real compute. So don't go white-label reselling this stuff.

Thanks so much for the confirmation and detailed explanations, @mbektas and @bollwyvl!


fix: consider pod density in memory overhead calc

Fixes #1959
Description
This change will take the pod density setting in account when calculating memory overhead. This is importing to avoid scheduling mistakes and endless loops like described in the linked issue.
How was this change tested?

Real EKS cluster using the manifests from the issue
Newly added automated tests

See new logs when testing against the reproducible setup (as expected, the c5n.xlarge instance type is now considered to be too small):
2022-06-21T07:09:04.372Z	DEBUG	controller.provisioning	Relaxing soft constraints for pod since it previously failed to schedule, removing: spec.topologySpreadConstraints = {"maxSkew":1,"topologyKey":"topology.kubernetes.io/zone","whenUnsatisfiable":"ScheduleAnyway","labelSelector":{"matchLabels":{"app":"inflate"}}}	{"commit": "153d333"}
2022-06-21T07:09:04.376Z	DEBUG	controller.provisioning	Relaxing soft constraints for pod since it previously failed to schedule, adding: toleration for PreferNoSchedule taints	{"commit": "153d333"}
2022-06-21T07:09:04.379Z	ERROR	controller.provisioning	Could not schedule pod, incompatible with provisioner "default", no instance type satisfied resources {"cpu":"224m","memory":"8791517761","pods":"1"} and requirements karpenter.sh/capacity-type In [on-demand spot], kubernetes.io/arch In [amd64 arm64], node.kubernetes.io/instance-type In [c5n.xlarge], karpenter.sh/provisioner-name In [default]; incompatible with provisioner "long-running", did not tolerate idealo.de/long-running=true:NoSchedule	{"commit": "153d333", "pod": "inflate/inflate-5bb76d8549-rprbr"}

Once you remove the nodeSelector it picks a list of instance types correctly:
2022-06-21T07:11:34.973Z	DEBUG	controller.provisioning.cloudprovider	Created launch template, Karpenter-terratest-u1q5gG-10432077704041859839	{"commit": "153d333", "provisioner": "default"}
2022-06-21T07:11:36.890Z	INFO	controller.provisioning.cloudprovider	Launched instance: i-0e752dc6a294469a1, hostname: ip-172-16-66-212.eu-central-1.compute.internal, type: c6i.2xlarge, zone: eu-central-1b, capacityType: spot	{"commit": "153d333", "provisioner": "default"}
2022-06-21T07:11:36.922Z	INFO	controller.provisioning	Created node with 1 pods requesting {"cpu":"559m","memory":"9037933121","pods":"8"} from types m6i.xlarge, m5zn.xlarge, t3a.xlarge, t3.xlarge, m6a.xlarge and 193 other(s)	{"commit": "153d333", "provisioner": "default"}

Does this change impact docs?

[ ] Yes, PR includes docs updates
[ ] Yes, issue opened: #
[x] No

Release Note

Fixed calculation of allocatable memory when not using ENI-based pod density

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Hey @mKeRix ,
Thanks for submitting the PR.    In the meantime, can you work on adding some automated tests?

@dewjam fyi: I'm happy to look at adding some test code - before investing more time I'd like to wait for some input on the direction of this PR (see other comment) though.

Hey @dewjam & @suket22, I've updated the PR with an implementation that takes the AMIFamily into account when calculating the pod memory overhead and added some tests. I'd appreciate a new review. :)

I just rebased the branch on the latest changes from main and simplified the tests. Is there anything else I can do to help this get merged?

Some folks are out for the long weekend @mKeRix . Thanks for your patience and we'll get to this as soon as we can.

Hey there, just wanted to check in again to see if we can get this moving? We'd love to see this change in an upstream release.

@suket22 @dewjam

@suket22 I've updated the PR according to your comments - would appreciate another review.   I should be able to give you an update today.  Thanks for your patience!


[Obsolete] CFM1 ?

Mondo term (ID and Label)
MONDO_0011378 CFM1
Reason for deprecation
Is this a real disease? This seems like it is a gene:
https://omim.org/entry/603855?search=190180&highlight=190180
Suggested term to consider
N/A
Related to #1855

agreed

thanks! I'll take care of this


Create common retry method and use it for messaging clients

Common method for retry operation which can be used for every call. I used it for messaging tests for producer and consumer.

Thanks for the PR, the retry mechanism itself and the implementation are ok for me code wise.
But, here I read that we are ok with the fact that the system remains in a non-functional state for up to 10 seconds, is it the intended behavior? Do you have a link to the official documentation showing that this is expected? Alternatively can you, please, add a comment with a link to a relevant ticket?

Nope I don't have ticket. 10s is the worst case, not sure if retry should be without delay.

From my POV the user will not hit this. Especially when they will set ACLs through UI, it will take some time until the producer/consumer will be created etc. This "issue" is more likely oriented to API e2e tests where this use case is more relevant than in the case of UI.

Kafka is a distributed system using an eventually consistent model.  Just because the ACL rule has been accepted doesn't necessarily mean that all brokers know it right away. The test will need to be prepared to wait/retry until it works.


Switch MARC Button style

What style should this button be switched to?

The style that the red arrow is pointing to. You should find other example of this in the app.


Remove monkeys.rb

Currently, in community this kind of monkey-patching is considered a bad practice. And, in fact, [1,2,3].to_dv is not THAT shorter than Vector.new([1,2,3]), while the latter is definitely clearer.

@zverok : I would like to do this.


Add Left/Right/Inner join

@sebastienros its helpful to add different types of joins. I modified ISqlBuilder but added SqlBuilderExtensions to ensure no one gets compiling error.


Scroll the list of locations into view when the filter state changes.

But don't autoscroll there on page load so users get to see the top of
the page first.

This addresses https://github.com/r-pop/findthemasks/issues/71 but I have some reservations about whether it's a good idea - in particular it makes selecting multiple states with the UI annoying because it scrolls away each time. It's fine if we think making single-state selection easy is the more important use case though.

Yeah, this behavior is kind of obnoxious, especially when trying to select multiple items from the states and/or accepted items filters.


docs: update command component examples to use value prop

Issue Addressed
This Pull Request addresses an issue found in the Command components of the shadcnui library, specifically related to input filtering not updating displayed items as expected. This bug leads to items disappearing from the display when additional characters are typed and not reappearing unless the input field is cleared. This issue has been documented in Issue #2259 and is further illustrated in the provided video demonstration.
Issue Demonstration Video
Changes Made
To address this issue, the Command component examples have been updated to include a value prop in each CommandItem. This prop is synchronized with the string content inside the corresponding span, improving the functionality and clarity of the component's usage.
Steps to Reproduce the Original Issue

Focus on the input field and type "c".
Observe the "calendar" option appearing correctly.
Add another "c" to make the input "cc".
Notice that no items are displayed, which is unexpected.
Remove one "c" to revert back to just "c" in the input field.
Observe that no items are displayed still, which is unexpected.
Clear the input field completely.
Notice that the suggestions and input work as expected again.

Expected vs Actual Behavior
Expected: The filtered list of command items should update and display correctly as the input changes, showing and hiding items based on the current filter.
Actual: The command items disappear when additional characters are typed and do not reappear when characters are removed, only when the input field is completely cleared.
Development Process
Following the repository's contributing guidelines, I forked the repo, cloned it to my local machine, and created a new branch for these changes.
Additional Notes
These changes are confined to documentation updates; no modifications were made to the core code of the library.

The issue has been fixed and is no longer reproduced, so I am closing this.


pinocchio.XYZQUATToSE3(np.array([ ]) takes in any size of the array

Hi.
Apparently, as I understand, the function pinocchio.XYZQUATToSE3(np.array([ ]) should take in only numpy.array which has a shape of (7, ), but strangely it returns regardless of the numpy.array input.
An error should be given when the shape of the array is incorrect. I suppose it could be fixed in pinocchio_pywrap
Python 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pinocchio as pin
pin.XYZQUATToSE3(np.array([1])))
print(pin.XYZQUATToSE3(np.array([1, 2, 3])))
print(pin.XYZQUATToSE3(np.array([1, 2, 3, 4, 5])))>>> import numpy as np
>>>
>>> print(pin.XYZQUATToSE3(np.array([1])))
  R =
         -inf  4.74124e-127  1.05712e+181
 4.74124e-127             1  1.72355e-141
-1.05712e+181  1.72355e-141          -inf
  p =            1            0 1.42202e-319

>>> print(pin.XYZQUATToSE3(np.array([1, 2, 3])))
  R =
 -9 -12   6
 12  -7   4
 -6   4  -1
  p = 1 2 3

>>> print(pin.XYZQUATToSE3(np.array([1, 2, 3, 4, 5])))
  R =
-49 -28  46
 52 -39   4
-14  44 -25
  p = 1 2 3

@jorisv When you have time, it would be nice to look at this issue.

Solved via #2073


Set default pipeline for activator templates

Create a default flow for activator templates so they are available out of the box.

pull request is here https://github.com/paypal/activator-squbs-scala/pull/8


Load all Mails

For display correct number of unread emails, its necassary to fetch all mails.

[ ]  Load all mails from server
[ ] Add a loading animation for this (its not a good to be unresponsible for ages without loading animation)
[ ]  Figure out a smart mechanism for update flags and load new mails.

Depends on #108.

Small Update: We implemented #110, but it contained a few bugs so we first should fix that: #133.

We decided to not load all mails for the moment, because retriving 1000+ mails was very slow. :D

What about users with gigabytes of mails in their inbox? As we will store them in the image prospectively, we decided that this feature is not to be considered anymore.


Incremental Tye Improvements

Purpose

Updates the Dev Container definition to use "Docker in Docker" to avoid quirks of Docker networks and host names when using Dapr and make use more consistent with "bare metal" use.
Updates the Go service to allow use of a dynamic port via the PORT environment variable.
Defines an ingress service when using Tye to make finding the frontend port easier.
Updates Tye service definitions to use dynamic application ports.

NOTE: Ideally the Dapr HTTP ports would be dynamic as well, but that requires later (as yet unreleased) builds of Tye.

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

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

How to Test

Create a Codespace
NPM install the Node service
PIP install the Python service
Run Tye (tye run)

What to Check
Verify that the following are valid

The application starts and all operations (create order, get order status, get inventory status) succeed

@philliphoff seriously this is amazing - thanks for taking the time here. Just tested in a codespace and worked great


Document how to integrate with vim

Document the key binding to put in your .vimrc that is required to put the mock representation of the interface under the cursor in the default register by hitting (for example) <leader>m.

Meh, let's be real, vim users can probably figure out how to do this on their own.


layer.conf: declare compatibility with rocko and sumo

Signed-off-by: Andreas Oberritter<EMAIL_ADDRESS>

Thanks!


Text color Support for custom (non-stock, non-AppCompat) TextView subclasses

Hi, first thanks for this lib.
I have a CustomTextView that I'm using to change fonts and it simply doesn't respond to any color changes in textColor. Works perfectly when I remove the CustomTextView and use a normal TextView.
As a temp workaround, I am using another library by chrisjenx called Calligraphy to have fonts as an xml attribute.

Well, that's because Aesthetic replaces views with its own during inflation.
I'll think of ways to support custom views.

In release 0.3.1, I've made Aesthetic's custom views public. You can extend AestheticTextView instead of TextView in your custom view class. Checkout Custom View Subclasses.
Otherwise, I'd recommend subscribing to properties and manually updating the text color or whatever else.


Remember column width and sort order for a project

Testing #10170
When the Variables view is closed, user modified column widths and sort order are lost.
I suggest to remember column width and sort order for a project (folder).

Variable viewer will become built-in https://github.com/microsoft/vscode/issues/165445


Archive repo

W-6508845 Audit Repos for Python 2
This Python repo is no longer in use and is being archived.

I would say delete this one instead of archiving.

It has no stars, and the only watchers are Krazies, so this sounds reasonable.


Update Autorest C#

Major changes

Required properties for input-output models are settable to allow for Read-Modify-Write scenarios.
Rest clients are renamed along with main ones

This is a departure from previous conversations with @KrzysztofCwalina. I see the point, but then how do we validate required parameters are provided, especially if they end up being required path parameters? Some are, and if not provided could cause issues (think back to the problem I demonstrated with path separator canonicalization and getting different response models with Key Vault).
Also, is this going to respect your new attributes for collection properties? I see setters were added to some models that only had a get accessor, though I hadn't customized yet. When I do, will this respect not wanting a setter (per guidelines)?

This is a departure from previous conversations with @KrzysztofCwalina. I see the point, but then how do we validate required parameters are provided, especially if they end up being required path parameters? Some are, and if not provided could cause issues (think back to the problem I demonstrated with path separator canonicalization and getting different response models with Key Vault).

Maybe we would have to generate setters that validate the value being not null the same way we do in constructors. And models can easily be customized to remove the public setters where appropriate.
The current pattern causes huge problems for largish models with a few required properties that could be update:
var properties = xxxClient.Get();
var updatedProperties = new VaultProperties(properties.TenantId, Sku.Standard)
{
AccessPolicies = properties.accessPolicies;
VaultUri = properties.vaultUri;
EnabledForDeployment = properties.enabledForDeployment;
EnabledForDiskEncryption = properties.enabledForDiskEncryption;
EnabledForTemplateDeployment = properties.enabledForTemplateDeployment;
EnableSoftDelete = properties.enableSoftDelete;
SoftDeleteRetentionInDays = properties.softDeleteRetentionInDays;
EnableRbacAuthorization = properties.enableRbacAuthorization;
CreateMode = properties.createMode;
EnablePurgeProtection = properties.enablePurgeProtection;
NetworkAcls = properties.networkAcls;
PrivateEndpointConnections = properties.privateEndpointConnections;

}
xxxClient.Update(updatedProperties);

I'll make sure to follow up with @KrzysztofCwalina

Also, is this going to respect your new attributes for collection properties? I see setters were added to some models that only had a get accessor, though I hadn't customized yet. When I do, will this respect not wanting a setter (per guidelines)?

Just the fact that you would redefine a property without a public setter would be enough for generated code not to have public setter defined. The initialization attributes would work fine as well.

Chatted with  @KrzysztofCwalina he's fine with the change.

Okay. I agree with the concept, certainly. Can we (perhaps follow-up PRs) get valudating properties then? I like that idea. Otherwise, looks good.

Filed https://github.com/Azure/autorest.csharp/issues/707 to follow up.


pkg/repro: don't double-reverse log entries

For extractProgSingle() lastEntries are already reversed, so no need to
call reverseEntries().
Also for extractProgBisect() there's no point in reversing the entries,
as the idea is to try connecting multiple programs in chronological order.
Fixes #1197

Codecov Report

Merging #1200 into master will increase coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1200      +/-   ##
==========================================
+ Coverage   67.66%   67.68%   +0.01%
==========================================
  Files         120      120
  Lines       20871    20866       -5
==========================================
  Hits        14123    14123
+ Misses       6083     6078       -5
  Partials      665      665

Impacted Files
Coverage Δ

pkg/repro/repro.go
24.82% <0%> (+0.21%)
:arrow_up:

Continue to review full report at Codecov.

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


Eloquent isDirty() & getDirty() doesn't work as intended with tiny int (AKA boolean)

Laravel Version: 5.3.28
PHP Version: 7.1.0
Database Driver & Version: SQLite 3

Description:
I've a table with boolean column is_robot generated with a migration as $table->boolean('is_robot')->default(false);.
And in Database GUI, is declared as integer (SQLite connection).
The problem is when i want update an existed record with eloquent model (i use the $casts to convert is_robot as boolean):
Session {#630 ▼
  ...
  #attributes: array:13 [▼
    "id" => "4"
    ...
    "is_robot" => false
    ...
  ]
  #original: array:13 [▼
    "id" => "4"
    ...
    "is_robot" => "0"
    ...
  ]
  ...
}

This is after i fill() the is_robot attribute with false (it was "0" on retrieve).

Steps To Reproduce:
So when i use fill method and check if the model was changed with isDirty():
$session->fill([
    'is_robot' => false,
]);

if ($session->isDirty()) {
    $session->save();
    // Other stuff...
}

The isDirty() method always return true when is_robot in the $original array equals to "0" (string zero) and in the $attributes array equals to false.
I think the getDirty() doesn't check if the attribute has a cast.

I didn't test this issue with a mysql database (for the time being)

Best regards,

Thanks, but this has come up before, and is the expected behaviour. I don't know if there's a proposal issue on the internals tracker - feel free to check.

Duplicate: https://github.com/laravel/framework/issues/15060


New name for getting started guide

Create a new name for getting started guide. New member guide?

@jjscheel I like "New member guide".  How much input do we need for this decision?

42

Technical member on-boarding guide it is then...

@rpsene likes names.  Perhaps his insight would be good?

I like "New Member Guide" personally.  Or even just "Member Guide" so as
not to dissuade old members from looking at it.
On Wed, Aug 7, 2024 at 8:04 AM Jeff Scheel @.***> wrote:

@rpsene https://github.com/rpsene likes names. Perhaps his insight
would be good?
—
Reply to this email directly, view it on GitHub
https://github.com/riscv-admin/riscv-getting-started-guide/issues/2#issuecomment-2273308704,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAN6ZEUWSKKQ7DRCVGNE6DZQIELBAVCNFSM6AAAAABLY57LGSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZTGMYDQNZQGQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***
com>

RISC-V Technical Member Guide

@kersten1 what kind of getting started are we promoting?

[ ]  Getting started writing specs?
[ ] Getting started with tools?
[ ] Getting started with Asciidoc?
[ ] Other

@rpsene This is the onboarding guide that we have for the technical members. Trying to come up with different name rather than using Getting started or onboarding. Because the guide is useful to existing members as well and should be used as a reference for all.

I generally like New Member Guide name BUT would like to add something to describe that it's for engagement.   Perhaps we call it the New Member Guide for Technical Collaboration?

That is a mouthful! I do like Bill's point about dropping the "new" though. It should be considered a reference for technical collaboration, IMHO. However, I will of course cave on this one. Also need to consider what the short name will be - Member Guide? Are there other member guides out there to be aware of?

Looks like we have an opportunity to create something considering Ops, Tech and Markerting/Market.

There was another "Getting Started Guide" we've since renamed to something very specific...

making a judge's ruling here and going with "Member's Guide for Technical Collaboration"


Not able to use alternate forms of MFA besides Okta Verify

We have several employees who do not want to use their personal mobile devices for work, so we have provided them with yubikey's for 2fa which work as expected with okta, however when we try to register the key or an alternate form of 2 factor besides Okta Verrify App, we get an error:
Using password from keyring for<EMAIL_ADDRESS>Multi-factor Authentication required.
Pick a factor:
[ 0 ] Unknown MFA type: email
[ 1 ] Unknown MFA type: u2f
[ 2 ] Okta Verify App: SmartPhone_IPhone: Dennis' iphone
[ 3 ] token:software:totp( OKTA<EMAIL_ADDRESS>[ 4 ] Unknown MFA type: token:hardware
Selection: 1
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.7/bin/gimme-aws-creds", line 17, in <module>
    GimmeAWSCreds().run()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gimme_aws_creds/main.py", line 385, in run
    auth_result = okta.auth_session()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gimme_aws_creds/okta.py", line 134, in auth_session
    login_response = self.auth()
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/gimme_aws_creds/okta.py", line 126, in auth
    while flow_state.get('apiResponse').get('status') != 'SUCCESS':
AttributeError: 'NoneType' object has no attribute 'get'
~$

The same error occurs when I test with
Pick a factor:
[ 0 ] Unknown MFA type: email
[ 1 ] Unknown MFA type: u2f
[ 3 ] token:software:totp( OKTA<EMAIL_ADDRESS>[ 4 ] Unknown MFA type: token:hardware

[ 2 ] Okta Verify App: SmartPhone_IPhone: Dennis' iphone

works as expected.  Some help would be greatly appreciated.
Thanks!

It would also be nice to support Duo as an MFA option. As a reference, this tool supports DUO and works properly with Okta and Duo, but is written in Go. https://github.com/Versent/saml2aws

If you're interested, I've implemented for my specific needs U2F  support in my branch https://github.com/mdu42/gimme-aws-creds/tree/WebAuthN
It works either with FIDO1 enabled okta orgs or WebAuthN enabled orgs.
Tested successfully on MacOS and Windows 10
As it uses yubico low-level lib (fido2), it will only works with USB security keys such as yubikeys or any FIDO2 compatible USB security keys.
For WebAuthN configuration, for moment, it won't work with Authenticators like TouchID or Windows Hello until someone implement them ...
Support for DUO is another bunch of work. I ll look at it if I have time.
Note that this branch probably brakes pipe to shell.
I'm interested in your feedbacks if you test this out :)
And hopefully if everything is stable, planning to make a pull request.

And Duo support added in v2.2.0.  I think we've covered this issue pretty thoroughly!


Update tdr-metadata-validation to 0.0.42 in scala-steward-dependencies

About this PR
📦 Updates uk.gov.nationalarchives:tdr-metadata-validation from 0.0.36 to 0.0.42
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "uk.gov.nationalarchives", artifactId = "tdr-metadata-validation" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "uk.gov.nationalarchives", artifactId = "tdr-metadata-validation" }
}]

labels: library-update, early-semver-major, semver-spec-patch, commit-count:1

Superseded