Could you extent the PhyDrvNo-Parameter?

 Great work!
But before being successful I had some trouble, because I was trying it on a remote test machine. I thought it already was upgraded with NVME but it still was on SATA :-)
So I always got the error
PS C:\Users\SCAN> get-command-supported -PhyDrvNo 0 -Verbose
[E] DeviceIoControl() failed: System.ComponentModel.Win32Exception (0x80004005): Die Anforderung konnte wegen eines E/A-Gerätefehlers nicht ausgeführt werden

After playing around and checking on other machines, I thought it would be great, the script automatically show the available NVME drives. So this would help:
$nvmeDrives=Get-PnpDevice | where { $_.InstanceId -like "SCSI\DISK&VEN_NVME&*"}
$physdisks = gwmi win32_diskdrive| where {$nvmeDrives.deviceid -Contains $_.pnpdeviceid}

# $physdisks.deviceid returns \\.\PHYSICALDRIVE0

It is not perfect, but I think you get the idea.
Please feel free to close this issue right away, because I just wanted to document the error I got for later reference.

Hi @Delapro,
Thank you for your feedback!
I agree that the behavior (showing only error message of DeviceIoControl) isn't friendly for users who are trying to retrieve the information of remote drive...

It is not perfect, but I think you get the idea.
Yes! your code provides me a concrete idea to check that the specified drive is really NVMe drive or not!
With this check, more friendly message can be provided when user specifies wrong drive no. (not NVMe drive)

I will prepare a machine with multiple NVMe drives and test the procedure.
And if it's fine, it will be merged.
Again, thank you for your feedback, and hope your happy playing!
Ken

I close this ticket and I'll post a new ticket for it, thanks.


Complement "readthedocs" style API documentation for the CEA

The new read the docs documentation needs to migrate work from gitbook + other fixes to be discussed

copied form issue #439 as issues that the documentation should have
what does the tool do?
what modules are included?
what is the method used by these modules?
related papers / research / standards / equations
diagram of how different parts connect to each other (workflow flowchart)
Teaching material should be included in the documentation
Video tutorials
talking about which technologies (systems) are included and how they are modeled
problem we're trying to solve: make it really easy for researchers to discover our tool and decide whether it will help them.
An inline example showing the workflow, equations, input / output files. WALKTHROUGH.
salib is an model example of how we want to document our stuff. pymc3.

@JIMENOFONSECA who should be working on this?

@JIMENOFONSECA how far is this issue completed? It's not really a S.M.A.R.T. goal and contains a lot of separate tasks... Maybe we can clean this up a bit?

@daren-thomas we can talk about this after group meeting


Update Packaging and Installation

This should finalize packaging and ease of installation now fully closing both #9 and #15. The README was also updated in order to provide instructions on how to install using pip/pypi as well as dev install which should take care of #20.

Approved! Thanks.


[SMALLFIX]Deprecate Throwables.propagate with RuntimeException in CommonTestUtils.java #41

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17290/
Test PASSed.


server-wallet-stress-test failure

https://app.circleci.com/pipelines/github/statechannels/statechannels/8688/workflows/8deee198-2b9b-4872-be7e-0e4ac1f9475a/jobs/40954
E: Failed to fetch http://security.debian.org/debian-security/pool/updates/main/p/postgresql-9.6/postgresql-client-9.6_9.6.17-0+deb9u1_amd64.deb  404  Not Found

If I navigate to http://security.debian.org/debian-security/pool/updates/main/p/postgresql-9.6, then I see postgresql-client-9.6_9.6.19-0+deb9u1_amd64.deb.
sudo apt install -y postgresql-client || true is not trying to get this latest version of postgresql-client.

When I re-ran the job the first time, it failed.
However, re-running with ssh seemed to work: https://app.circleci.com/pipelines/github/statechannels/statechannels/8688/workflows/8deee198-2b9b-4872-be7e-0e4ac1f9475a/jobs/40969

This is fixed


How can I create event on DblClick?

Is this functionality not yet implemented?

Is there a recommended workaround for something like onRowDblClick? Is this coming in 1.x.x?

It will be possible in 1.0. If someone wanted to add it for 0.x, would love that but I've mostly been focusing on 1.0 right now. 👍

Thanks for the quick response! Not sure if I'll have time to contribute but here's my new workaround...
_onRowDblClick(e) {
    let element = e.path.filter(el => el.nodeName === 'TR')[0],
        index = this.rows.findIndex(row => row === element),
        data = this.props.results[index]

    this.props.onRowDblClick(data)
}

That's the method I use in my GriddleWrapper and I bind it to the dblclick event for each row in componentDidMount and componentDidUpdate. (Don't forget to unbind in componentWillUnmount.
Prior to this I was accessing data I need through the DOM which was really miserable. Glad to hear this is planned for 1.0. Thanks for your work on this @ryanlanciaux, it's a great library!!!
P.S. Once I have more time on my hands I would be interested in contributing


What about a Services section?

I have noticed that some elements that are actually paid-services, are marked as "Apps" or even "tools", but those are nor apps nor tools, but Services (mostly paid).
Should we consider adding a new Services section?

@koalalorenzo it seems some people agree with this. Shall we?

+1 to services... there will only continue to be more of them!
On Fri, Jul 5, 2019 at 8:18 AM Henrique Dias<EMAIL_ADDRESS>wrote:

@koalalorenzo https://github.com/koalalorenzo it seems some people
agree with this. Shall we?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ipfs/awesome-ipfs/issues/168?email_source=notifications&email_token=AAAMHN3XYQXDT25SQ4EGYVTP55Q33A5CNFSM4FMYBKB2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODZJYVPA#issuecomment-508791484,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAMHN3ZAZHIAYUVCGBCV3LP55Q33ANCNFSM4FMYBKBQ
.

Just added a category for services and added Pinata there. If there is any other that you think that qualifies as service, please move it there 😃


Multi-user subject authorization

To use NATS within multi-tenant environments or within security constraints of enterprise environments requires the ability to authorize users to perform actions on potentially sensitive or privileged objects.
In the current NATS implementation, the authorizable actions include:

Connect to a node/cluster
Publish to a subject
Subscribe to a subject

Authorization can be based on a number of factors, individually or in combination, for example:

Distinguished name (LDAP DN)
Common Name (SSL CN)
Simple username
IP address (or network)
Role
Access Control Lists (ACLs)

An extensible authorization interface will provide an easy mechanism for implementing, adding or integrating authorization services, contexts, and access control lists (ACLs).
EDIT: See also #182 regarding multiple admin user stanzas (for rolling upgrade use case)
/cc @nats-io/dev

See also #122 -- need to clean up references to Authorization in gnatsd that actually mean Authentication

It'd be useful to also authorize on the client TLS x509 cert - for example, based on the cert serial number or values of certain cert extensions

This is an area I'm interested in as well. It's a little more complex, but you might find trapperkeeper-authorization an interesting example of authorization rules.

This was closed in large part by #300. The "extensible" part will be addressed via #428 / #434


Create the Locks Review Team

Currently we are hardcoding the "touched locks" review team
https://github.com/paritytech/pr-custom-review/blob/2c4afa8463f9d96d17a73cc7071a9aafe42ce5a4/src/main.ts#L212
That has been made configurable with #31 which has not yet landed on master.
https://github.com/joao-paulo-parity/pr-custom-review/blob/8ecb5a1c513f1627c7675a511255157cea32613e/src/core.ts#L57
We are not able to install the action in the real repositories in case this team does not exist. In https://github.com/tripleightech/pr-custom-review-test it works because the Locks Review Team already exists.
From https://github.com/paritytech/ci_cd/issues/233

must have approvals from at least one team lead as well as either the CTO or the CEO

I suppose @TriplEight would be the one to create those teams, hence why I am assigning the task to him

Created a new team, added it in the config.


Bug: Copy-paste doesn't work correctly with line break.

Copy-pasting text containing line-break nodes will cause text to insert incorrectly.
Lexical version: v0.6
Steps To Reproduce

Copy the following text and paste into the playground:
This is the first line.
And this is the second line.
And this is the third line.

Select the second line by double clicking on it.

Copy.

Click on the end of the first line to move the caret there.

Hit enter to create a new line.

Paste.

The current behavior
Text is pasted at the end of the document.
https://user-images.githubusercontent.com/6975606/199627667-ff544948-dd55-4ddf-89d7-323aa408ab18.mov
The expected behavior
Text is pasted where the caret is.

I'm unable to reproduce this bug. Can you confirm this on your side too?

Yes, can be reproduced in the playground following the steps.

Are you trying on https://playground.lexical.dev/? Also what OS/Browser are you using?

Yes. Chrome 107, Mac OS.


build error when compiling wg-portal

[16:27:12] $ make
build github.com/h44z/wg-portal/cmd/wg-portal: cannot load embed: malformed module path "embed": missing dot in first path element
go mod download
GOOS=linux GOARCH=amd64 go build -ldflags "-X github.com/h44z/wg-portal/internal/server.Version=-" -o dist/wg-portal-amd64 cmd/wg-portal/main.go
build command-line-arguments: cannot load embed: malformed module path "embed": missing dot in first path element
make: *** [Makefile:59: dist/wg-portal-amd64] Error 1

[16:27:50] $ go version
go version go1.13.6 linux/amd64

wg-portal needs at least go version 1.16, the embed feature was added in that version.

thanks @h44z can you point somewhere that is the minimum version to compile this? thanks


README.md: fix link to the SEGGER SDK license

Fix the internal link to the SEGGER SDK license.
Fixes #2.

@SeppoTakalo @carlescufi Can't add assignee's myself


Update rdf4j-model, rdf4j-query, ... to 4.3.2

About this PR
📦 Updates

org.eclipse.rdf4j:rdf4j-model
org.eclipse.rdf4j:rdf4j-query
org.eclipse.rdf4j:rdf4j-queryalgebra-evaluation
org.eclipse.rdf4j:rdf4j-queryalgebra-model
org.eclipse.rdf4j:rdf4j-queryparser-sparql
org.eclipse.rdf4j:rdf4j-rio-rdfxml
org.eclipse.rdf4j:rdf4j-storage

from 3.7.7 to 4.3.2 ⚠
📜 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 = "org.eclipse.rdf4j" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.eclipse.rdf4j" }
}]

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

Superseded by #91.


add postgres privatelink page

What are you changing in this pull request and why?
Added a page to the PrivateLink setup guides for Postgres PL setup and linked it from the About PrivateLink page. Also added a role that can now be used for granting our account access.
Checklist

[ ] Review for style, grammar, etc

Adding new pages (delete if not applicable):

[X] Add page to website/sidebars.js
[X] Provide a unique filename for the new page

I am not in the reviewer list but it looks good to me. Thanks for adding this!
I just have a question about: arn:aws:iam::346425330055:role/MTPL_Admin (or arn:aws:iam::346425330055:root).
When do we need to use one or the other? Is there any difference?

I am not in the reviewer list but it looks good to me. Thanks for adding this!
I just have a question about: arn:aws:iam::346425330055:role/MTPL_Admin (or arn:aws:iam::346425330055:root).
When do we need to use one or the other? Is there any difference?

i have the same question!

lgtm! merging!


Merge remote-tracking branch 'refs/remotes/IdentityServer/dev' into dev

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


ImportError: cannot import name 'ccfDisableAutoLoading' from 'vapoursynth'

C:\WINDOWS\system32>python -m vsdpir
Traceback (most recent call last):
  File "<frozen runpy>", line 189, in _run_module_as_main
  File "<frozen runpy>", line 148, in _get_module_details
  File "<frozen runpy>", line 112, in _get_module_details
  File "C:\Program Files\Python312\Lib\site-packages\vsdpir\__init__.py", line 12, in <module>
    from vstools import check_variable, fallback, vs
  File "C:\Program Files\Python312\Lib\site-packages\vstools\__init__.py", line 5, in <module>
    from .utils import *  # noqa: F401, F403
    ^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\Python312\Lib\site-packages\vstools\utils\__init__.py", line 1, in <module>
    from . import vs_proxy as vapoursynth
  File "C:\Program Files\Python312\Lib\site-packages\vstools\utils\vs_proxy.py", line 17, in <module>
    from vapoursynth import (
ImportError: cannot import name 'ccfDisableAutoLoading' from 'vapoursynth' (C:\Program Files\Python312\Lib\site-packages\vapoursynth.cp312-win_amd64.pyd)

Ah my apologies, I saw it was addressed here https://github.com/HolyWu/vs-dpir/issues/41
However even reinstalling vsdpir hasn't changed the error

Ah managed to get it to work now.


Data Structure writeup

My project was a Flappy Bird-inspired twist, featuring my very own Flappy Scientist as the star. Using a suite of industry-standard tools like Python, SQLite3, Flask, and JavaScript, I crafted an interactive experience centered around a scientist trying to collect the elements. To make the game sound more appealing and to add a level of stress I added music that changes depending on the point of time in the game. To bring Flappy Scientist to life, I developed a Python API using Flask. This API enabled me to handle player inputs, update high scores, and manage game progress. Leveraging Postman, I tested my API with various requests (GET, POST) to ensure smooth communication and reliable data processing. This also helped with the login and making sure that it worked. Using the login the game would automatically save the highest score of the player.

Collections
Blog Python Model code and SQLite Database:
From VSCode using SQLite3 Editor, show your unique collection/table in database, display rows and columns in the table of the SQLite database.

we all have our own user name and password that gets added on as we sign up for the login page

-From VSCode model, show your unique code that was created to initialize table and create test data.

this uses our username, password and date of birth

Lists and Dictionaries
Blog Python API code and use of List and Dictionaries.
In VSCode using Debugger, show a list as extracted from database as Python objects.

APIs and JSON
Blog Python API code and use of Postman to request and respond with JSON.
In VSCode, show Python API code definition for request and response using GET, POST, UPDATE methods. Discuss algorithmic condition used to direct request to appropriate Python method based on request method.
POST:

this code says that if the user authentification fails than the page will show an error otherwise it will get the cookie and give it.

Get:

Put:

In Postman, show URL request and Body requirements for GET, POST, and UPDATE methods.
POST:

GET:

Frontend
Blog JavaScript API fetch code and formatting code to display JSON.
This code sets up a simple Flappy Bird game using HTML5 canvas and JavaScript. It defines constants like RAD for converting degrees to radians, initializes the canvas and its context, and sets up event listeners for mouse clicks and key presses. The game loop continuously updates and redraws the game elements, including the background, pipes, bird, ground, and UI components like score and game states. It utilizes animations for the bird's flight and collision detection for gameplay mechanics, along with sound effects for various events like flapping, scoring, hitting obstacles, and game over. Overall, it's a concise implementation showcasing the basics of creating an interactive game in the browser.

Grading for Sreeja, Nupur, Isabelle

Collections- 1/1
Lists and Dictionaries - 1/1
APIs and JSON- 1/1
Frontend - 0.9/1
Optional/Extra, Algorithm Analysis - 1
TOTAL SCORE: 0.99/1
Your blog was well done, and I liked your explanations for all of the screenshots. I think all of your CPT features are really cool and I enjoyed reading your post; it was well-crafted, and it provided a comprehensive understanding of the content. Good job!


Support validation of cluster resource in cli

I would like to use the monokle cli to validate resources in my cluster - using something like
monokle validate --cluster [-n <namespace> -c <context> -n <objectName> -t <list of kinds>]

I think it would be nice to pipe resources to monokle over stdin instead. The benefit is that it's more flexible for other filters or ways of achieving the cluster resources and it reduces complexity of the CLI drastically.
kubectl get services,deployments -o yaml | monokle validate -

To support this kind of operations Monokle CLI needs to become intelligent enough to split the Kubernetes Lists.


🐛 Bug Report: Alert API shows incorrect message on multiple alerts

📜 Description
Minor bug with alertApi.
When multiple alerts (errors) stack, the alert message says "(X older messages)" even though the message doesn't actually update. In other words, the alert should either say "(X newer messages)" or otherwise update to display the latest message on top rather than the oldest message.
👍 Expected behavior
It should either update the topmost alert to show the latest alert or append "(X newer messages)" to the first message shown.
👎 Actual Behavior with Screenshots
This is a screenshot demonstrating the bug. Clicking "In Progress" on a completed job shows the "not in pending state" error. However, when trying to fail the job, it adds the text "1 older message" even though the oldest message was the "not in pending state" error message, and the latest message was queued.

👟 Reproduction steps
I can't think of an example off the top of my head, but anything using alertApi.post() should trigger it.
This is a code snippet of what I'm doing in my custom plugin component:
const discoveryApi = useApi(discoveryApiRef);
const { fetch } = useApi(fetchApiRef);
const alertApi = useApi(alertApiRef);
const handleJobStatusSwitch = async (jobId: string, status: JobStatus) => {
  const statusToEndpointMap: Record<JobStatus, string> = {
    [JobStatus.PENDING]: 'pending',
    [JobStatus.IN_PROGRESS]: 'start',
    [JobStatus.COMPLETED]: 'complete',
    [JobStatus.FAILED]: 'fail',
  };

  try {
    const url = `${await discoveryApi.getBaseUrl('my-custom')}/jobs/${statusToEndpointMap[status]}/${jobId}`;

    const response = await fetch(url, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
    });

    const responseJson = await response.json();
    if (!response.ok) throw new Error(responseJson.message);
    alertApi.post({ message: 'Job status updated successfully!', severity: 'success' });

    setTimeout(() => window.location.reload(), 1000);
  } catch (e: any) {
    alertApi.post({ message: `Failed to update job status: ${e}`, severity: 'error', display: 'transient' });
  }
};

📃 Provide the context for the Bug.
This bug confuses users regarding the order of error/success messages. By default, the AlertMessage display property is set to permanent making it very noticeable for users as they have to manually close the alert.
🖥 Your Environment
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

@jescalada yep, either of the options that you mentioned seem good to me. Do you want to raise a PR with a suggestion? :pray:

@benjdlambert, Can I work on this issue?


Isolate dialects are also isolates

For future CLDF-releases of Glottolog, could dialects of isolates also be tagged as TRUE for "Is_isolate" in the LanguageTable?
Please and thank you.

Isn't "isolate" a property that only applies to languages? So tagging dialects as isolates could be misleading. E.g. right now you can count the number of isolates by counting rows in LanguageTable where "Is_Isolate" is True.

See also https://github.com/glottolog/glottolog/issues/1015#issuecomment-1695713132

I don't think it's misleading, but it seems like it's against yours, @xflr6  and @d97hah set-up so no worries. all good.


[ROCKETMQ-83] Fix quick start, annotate setNamesrvAddr

Fix quick start, annotate setNamesrvAddr
@zhouxinyu please have a review

Hi, quickStart.Consumer also has the same issue, could you please fix it.

Yes, both quickstart.Consumer and quickstart.Producer should have xxx.setNamesrv("XXX") as part of documentation, showing how to set name server list programmatically. My fault to leave them as code.

@zhouxinyu Consumer is also ok now

Could you relocate the line properly and wrap the code using appropriate javadoc, say {@code Code is here;} http://stackoverflow.com/questions/541920/multiple-line-code-example-in-javadoc-comment

It works fine. Thanks!

@lizhanhui This problem let me feel a bit awkward when we double-check the 4.0.0 vote checklist. May be, we need to let example module into integration test

@vongosling  I have created a new JIRA issue for it: https://issues.apache.org/jira/browse/ROCKETMQ-84

Agree. All directly executable code should be part of the e2e tests.

BTW, should we remove example.transaction.* as this feature is not fully implemented in current release. It does not make sense having orphan examples alone.

Agree

How about make a new PR for https://issues.apache.org/jira/browse/ROCKETMQ-84 and update this one? Becuase title is for ROCKETMQ-83, somebody would be confused.

Coverage increased (+0.3%) to 31.586% when pulling b271e30a2da3e0972f95d6c3b29e05f89584a71c on dongeforever:ROCKETMQ-83 into e6aaedcf4d23f95791c51fb510baf369c8b1f5c1 on apache:master.

Coverage increased (+0.2%) to 31.488% when pulling b271e30a2da3e0972f95d6c3b29e05f89584a71c on dongeforever:ROCKETMQ-83 into e6aaedcf4d23f95791c51fb510baf369c8b1f5c1 on apache:master.

Coverage decreased (-0.005%) to 31.311% when pulling b271e30a2da3e0972f95d6c3b29e05f89584a71c on dongeforever:ROCKETMQ-83 into e6aaedcf4d23f95791c51fb510baf369c8b1f5c1 on apache:master.

Coverage decreased (-0.005%) to 31.311% when pulling b271e30a2da3e0972f95d6c3b29e05f89584a71c on dongeforever:ROCKETMQ-83 into e6aaedcf4d23f95791c51fb510baf369c8b1f5c1 on apache:master.

Coverage decreased (-0.005%) to 31.311% when pulling b271e30a2da3e0972f95d6c3b29e05f89584a71c on dongeforever:ROCKETMQ-83 into e6aaedcf4d23f95791c51fb510baf369c8b1f5c1 on apache:master.


Share corona-warn-app usage by Twitter, Instagram, Facebook WhatsApp Status

There should be a option to share that "I'm" using the Corona-Warn-App to protect us from Lockdown 2 and stop corona.
In case the button is pressed, you can select on which channel (like twitter, facebook, instagram, Whats App Status) you want to tell others, that you are using the app and the others should follow.
When installing the app, this window should appear automatically.
The reason for this feature is, that we need more users of the Corona-Warn-App and we need  to let everyone know, that it's no risk to use this app.

I have to say, I like the idea. Seems like a low-cost measure to let users easily promote the app


Testing of all of the features implemented

The issues in this Epic have been all solved. This Epic with be closed as completed.


Update MOM - 20220719.md

replaced Broadpeak with Orange for myself (Alexandru Ciinaru)

It is chages. Sorry for the mistake.

no worries. thanks


Resolve ip to ASN

Hi @dmachard
First of all, I would like to say: thank you for this wonderful new collector, it works really well and collector has really good performance.
I would like to ask you about new feature, which probably is not related exactly to collector directly, but really useful for us to develop new feature for block dns attach from some specific ASN.
It will be really useful to have some additional information about top source ip requesters which will include also subnet range from whois and asn information as additional labels:
https://github.com/ammario/ipisp
also, I guess it will raise a performance issue and probably one of the solution will be integrate go-dnscollector with redis db for some cache options.

this project can help too https://github.com/jedisct1/iptoasn-webservice

What do you think about the GeoLite2-ASN database ?
I ask that because it's easy to integrate.

I am totally fine,
just need to get info, which will give possibility to block bot net requests.
It's really cool, when it possible to have statistics not only for ips, but also for ASN number and ASN owner.

It's also will be helpful to have top ASN requesters with top ASN owners  to get over /metrics

A new beta is available with the docker tag 0.14.0-b.
Any feedback will be appreciated regarding performance and the GeoIP feature.
A new feature is available with Loki+Grafana, if you are interested I will appreciate returns

thank you for this new wonderful changes, I see some changes, but doesn't see something like: top ASN requestors
I see new metrics, like:
dnscollector_as_numbers_total{stream="global"} 1
dnscollector_as_numbers_top_total{stream="global",domain="-"} 119771
dnscollector_as_owners_total{stream="global"} 1
dnscollector_as_owners_top_total{stream="global",domain="-"} 119771
dnscollector_as_numbers_total{stream="dns-cache01"} 1
dnscollector_as_numbers_top_total{stream="dns-cache01",domain="-"} 104004
dnscollector_as_owners_total{stream="dns-cache01"} 1
dnscollector_as_owners_top_total{stream="dns-cache01",domain="-"} 104004
dnscollector_as_numbers_total{stream="dns-cache02"} 1
dnscollector_as_numbers_top_total{stream="dns-cache02",domain="-"} 15767
dnscollector_as_owners_total{stream="dns-cache02"} 1
dnscollector_as_owners_top_total{stream="dns-cache02",domain="-"} 15767

A new beta is available with the docker tag 0.14.0-b1. Any feedback will be appreciated regarding performance and the GeoIP feature.
A new feature is available with Loki+Grafana, if you are interested I will appreciate returns

this is really good, because before I used store logs in memory drive and grafana-agent to with promtail to read logs and push them to loki
I will try to use directly push logs to loki

this magic project will be similar to: https://fastnetmon.com/
just need to implement ML and notifications to detect attacks
after that, you will be sell this project to big companies
really good job

thank you for this new wonderful changes, I see some changes, but doesn't see something like: top ASN requestors I see new metrics, like:
dnscollector_as_numbers_total{stream="global"} 1
dnscollector_as_numbers_top_total{stream="global",domain="-"} 11977

I pushed a fix on metrics. But just to be sure, the GeoIP was enabled ?
I ask that because the value "-" is the default one when no value are returned from geoip lookup.

I think AS db was loaded
probably it will be useful also to have output with number of loaded objects

@dmachard
is it possible to get a new docker image with bug fix?

of course => the tag v0.14.0-b2 is available.

it works  😊

Regarding performance (cpu and memory), have you observe some differences?

The release 0.14.0 is available.


Respect scaling_reserved_ram feature flag

The amount of RAM given to the CodeQL evaluator is the machine's total memory size, minus a reserved amount.
Currently, the reserved amount is fixed at 1 GB (or 1.5 GB on Windows). When the scaling_reserved_ram feature flag is enabled, we also add 2% of the total memory size to the reserved amount. This allows for the fact that the kernel will consume more RAM (e.g. for page tables) on machines with more physical RAM, so we should see fewer analyses getting killed by the OOM killer.
N.B. This is my first time working on the Action, or even writing TypeScript. I hope my uses of async/await make sense.
Merge / deployment checklist

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.
[ ] Confirm the changelog has been updated if necessary.

Oh, do add a changelog note too!  The one from 24th May is a good example.

I see the new integration test is running with --ram=5769, while the multi-language autodetection test runs with --ram=5769, so I think it's working.


Not receiving scans from the Traefik plugin catalog in custom plugin

I am not receiving more scans from the Traefik plugin catalog in the repository. I received the first one very quickly when it was ready and added the topic, but after closing the issue I have not received any more scans. Do you know what could be happening?
repository: https://github.com/amj1985/traefik-unleash-plugin
fixed and closed issue: https://github.com/amj1985/traefik-unleash-plugin/issues/11

Hello @amj1985,
That's because the New func is blocking.
In order to avoid adding plugin which are not starting, piceus tries to call New, see here. I invite you to fix it and it should be indexed a few hours laters

Thanks to this issue, we have improved piceus to open an issue in this case (see #73).
So, I'm closing this one.
Feel free to re-open it if we missed something.


Add step to constant number and fix typo

Other nodes have a step of 0.01 so I also added it to the constant number, unless there was a reason it wasn't there.
I also noticed an unreachable elif in the same node so I'm assuming that was a typo.

I am not sure the step was even a thing when the node was made. Can't think of why I wouldn't have added it. Thank you.


Please explain 'net' in this sentence

Hello,
would you kindly explain the meaning of 'net' in this sentence: "If instances are in any other states such as creating, running, updating, etc., the scale set will default to net new virtual machine creation."
Kind regards,
Anne H., QC

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

ID: bad3804a-42c1-6294-9ab1-030be1478b3c
Version Independent ID: 48e7d709-127c-592a-2f9a-dcb20ed0349d
Content: Frequently asked questions about standby pools for Virtual Machine Scale Sets - Azure Virtual Machine Scale Sets
Content Source: articles/virtual-machine-scale-sets/standby-pools-faq.md
Service: virtual-machine-scale-sets
GitHub Login: @mimckitt
Microsoft Alias: mimckitt

@QueryCoordinator
Thanks for your feedback! We will investigate and update as appropriate.

@QueryCoordinator thanks for the question. I can see how that might come off as confusing. I will be sure to update the documentation.
When I say net, I just mean brand new VMs created from scratch.
If the scale set need to scale out any number of instances and the pool no longer has any instances ready to be given to the scale set, the scale set will then default to the standard scale out method which is simply creating a new VM in the scale set (instead of pulling one from the standby pool).

#reassign: @mimckitt

I have updated the documentation to remove the mention of "net". I will close this out for now but if you have additional questions, please feel free to mention me :)
#please-close


UDP redirection changes source port when passing packet to pod.

We are using Calico under Canal with Rancher environment. We serve a video through RTSP and we want to serve the video specifically on UDP instead of TCP. We recently updated our Rancher and Calico version bumped from 3.4.0 to 3.13.4. This caused a change in UDP redirection. When NodePort is used, source port is changed in redirection.
Expected Behavior

Incoming UDP packets should be redirected from same source port. Pseudo tcpdump output:

client.23020 > host1.30610: UDP, length 12
host1.23020 > pod.30610: UDP, length 12
client.23021 > host1.30611: UDP, length 8
host1.23021 > pod.30611: UDP, length 8

This was the behaviour with 3.4.0.
Current Behavior

Intermediate redirection uses random ports.

client.23020 > host1.30610: UDP, length 12
host1.(any random port) > pod.30610: UDP, length 12
client.23021 > host1.30611: UDP, length 8
host1.(any random port-2) > pod.30611: UDP, length 8

This is the new behaviour in version 3.13.4.
Possible Solution

We think there should be configuration option that changes this behaviour but we were unable to find such option.
Steps to Reproduce (for bugs)

Create a deployment with UDP NodePort under rancher.
Publish a udp stream to this port.
Run tcpdump on host machine and see output.

Context

Packets coming into RTCP should come from same port as reported in RTSP request. For example, if client reported they would use ports 23020 and 23021 for RTP and RTCP, packets should come from these ports. If this does not happen, client gives UDP timeout and tries to get the stream through TCP
Your Environment

Calico version: 3.13.4
Orchestrator version (e.g. kubernetes, mesos, rkt): Kubernetes 1.18.6
Operating System and version: CentOS 7.6.1810
Link to your project (optional):

Interesting - I'm not aware of any changes to Calico that would have caused such a change in behavior. My understanding is that the rules Calico programs will attempt to maintain the original source port, but that it is not always possible.
For example, if you have two clients accessing the same pod via the NodePort using the same source port, one of them will need to be modified in order to properly track the connection, otherwise the two connections will appear to be the same after the NAT. Does that makes sense?
I'm not sure if that is what you're seeing here, but I think independent of that there will always be a chance that the source port changes when going through a NodePort.
you might want to consider using externalTrafficPolicy: Local on your services to prevent the SNAT from occurring at all, so that original lP and port can be maintained.
CC @fasaxc in case he knows something I don't!

Actually we had only one client accessing to the server at that moment. So, your first guess is not valid in our situation. But changing externalTrafficPolicy: Local gave us a hint. When we did this, we managed to watch the stream but our external incoming traffic started to act like HostPort (only directed to the host the pod is running on), with the same source port. And in the old versions, nodeport was configured as externalTrafficPolicy: Cluster. So, we are going to focus our research on NodePorts specifically. in the meantime I am keeping this issue open because problem is not solved completely.

Canal is flannel networking + calico policy.  Are you in a position to try Calico networking instead?  With Calico, you can control whether we set the --random-fully setting on the SNAT rule, which may help.  Or, you could try our eBPF dataplane, which preserves source IP in all cases.  Hard to help you with flannel, the project lost a lot of momentum after CoreOS was acquired so there aren't many people working on it any more.

Actually I am working on an old version of both kernal (3.10) and calico(3.13.4) which makes both your suggestions impossible for me. The setting came with 3.16 and eBPF came with kernel 5.x. So, any other suggestion? :) Because I just want to maintain the earlier behaviour

Did you also upgrade kube-proxy, kube-proxy has a similar option?
Why not upgrade your OS.  It's fun :-)

Looks like --random-fully was added in the flannel 0.11 https://github.com/coreos/flannel/commit/0d7b99460b81f98df43da183258edf56c4abf854

Did you also upgrade kube-proxy, kube-proxy has a similar option?

Which option are you referring to?

Why not upgrade your OS. It's fun :-)

This is a nearly completed project. I will suggest updating but configuration would be less pain of course.

Looks like --random-fully was added in the flannel 0.11 coreos/flannel@0d7b994

Yes, that is the problem. It is not configurable. If iptables supports it, flannel just uses random-fully.

kube-proxy also adds masquerade rules and it also uses random-fully if available.  Traffic from outside the cluster would normally be masqueraded by kube-proxy, not the CNI plugin.

Why don't you check which rule is masquerading your traffic in iptables?
iptables-save -t nat -c | grep -e SNAT -e MASQ

should show the rule counts on the relevant rules.

Why don't you check which rule is masquerading your traffic in iptables?
iptables-save -t nat -c | grep -e SNAT -e MASQ

should show the rule counts on the relevant rules.

I think we are getting closer. It gave extra rule
[0:0] -A KUBE-SEP-<hash> -s <IP_ADDRESS>/32 -m comment --comment "<namespace>/<pod name>-nodeport:<portname>" -j KUBE-MASK-MASQ

for each nodeport in new configuration. I still have one Rancher cluster with older versions and this is the only difference in iptables output. There are also
[x:y different than 0] -A KUBE-NODEPORTS -p udp -m comment --comment "<namespace>/<pod name>-nodeport:<portname>" -m udp --dport <port> -j KUBE-MARK-MASQ
[0:0] -A KUBE-SERVICES ! -s <IP_ADDRESS>/16 -d <pod ip> -p udp -m comment --comment  "<namespace>/<pod name>-nodeport:<portname> cluster IP" -m udp --dport <port> -j KUBE-MARK-MASQ

in both clusters.

Those rules only mark the packet for masquerade, what about the rule that actually does the masquerading?

Those were the only rules that the command gave. I traced the packets and also seen another mark 0x10000 rule in chain cali-pri-kns.default different than older version. Is this something relative?

I think I have found the rule.
KUBE-POSTROUTING -m comment --comment "kubernetes service traffic requiring SNAT" -j MASQUERADE

And I found a possibly relative issue in stackoverflow. https://stackoverflow.com/questions/48059269/how-to-avoid-snat-when-using-service-type-clusterip-on-kubernetes.  It says:

The kube-proxy cluster-cidr needs to match the one used on the controller manager, also the one used by calico.

How can I check the relative cidr's?

How can I check the relative cidr's?

These depend on how you have installed those components. They can either be command-line arguments to those components, or set via a configuration file passed to those components.

After a long day I found another problem. Calico gives warning

Failed to query VXLAN device error=Link not found

and I found a possible solution but cannot really understand how to do this in calico or flannel. I tried to create the file in worker node but did not work. https://github.com/rancher/rke/issues/2270#issuecomment-710435248

Failed to query VXLAN device error=Link not found

Seeing that error once or twice is expected.  It should stop once the device is created.

Failed to query VXLAN device error=Link not found

Seeing that error once or twice is expected. It should stop once the device is created.

It is persistent on every redeploy.

How many times do you see that log in one instance of calico-node?

Thanks for replying so fast. I only see it once but I am using calico over Rancher and kubernetes by the way. But it happens every time. Frankly, my main problem is port redirection as I mentioned. And with iptables TRACE rules today I have seen packets go directly to cali... instead of flannel1, which was the behaviour with older version. So I thought maybe flannel is not working in canal and when I saw this message I thought flannel is somehow not working but I am not sure.

@bkahveci FYI, the VXLAN warning is suppresed in v3.16.

Hi @bkahveci -- Can you try using the latest Calico? Calico v3.13 is an older release at this point.


Keyboad shortcuts broken

In all previous versions of winfile.exe, CTRL-C, CTRL-D, CTRL-E, CTRL-F, etc... would take you to that drive letter. Now they appear to be Office-style shortcuts where, for example, CTRL-F is a search dialog.  Why would these be changed?  I just tested this on an NT 4.0 VM and confirmed that the CTRL-x combinations do work as I remembered.

Please read the readme, it explains everything.
Answer: You are using the wrong branch.

This is the content of the readme file:
WinFile release v10.0.  See readme.md for changes.
Files:
winfile.exe, winfile.pdb: release build for x86 (32bit)
winfile.chm: copied from help directory
Hash:
winfile.exe sha1 D9D9D15B6EF0FC483417461A1844AB6C2A532656
Runtime:
Winfile.exe depends on the VS 2015 C++ runtime; you can download that from
https://www.microsoft.com/en-us/download/details.aspx?id=48145

Ok, so "control characters (e.g., ctrl+C) map to current short cut (e.g., ctrl+c -> copy) instead of changing drives" but that's just crazy.  That'd be like re-releasing Donkey Kong with 2018 graphics.
You say I'm on the wrong branch, is there one that keeps all the features of the old winfile.exe without the changes that really make it far less functional?

Yes it would be good to have an 'untouched' branch so we can:
A: see what's changed
B: compile this on/for Win3x

I just don't see the purpose to modernize File Manager.  All the tools they've added to it here are already available in File Explorer so leave File Manager alone.  I always made the bet that for $100, I could do 100 file management operations faster than anyone at Microsoft could do in Explorer but no one in Redmond ever took me up on it.  I still can do it using XP/2003 up against anyone on 10/2016 but with this build so much of the functionality has been dummied down it's now just fun to look at, it's not really a functional tool.

You can find the original source with minimal changes (and which retains the original shortcuts) in the release: https://github.com/Microsoft/winfile/releases/tag/original_plus.  I even created a binary for you.
Have fun!


[docs] Added pytorch installation recommendation for CPU deployments

Description of changes:
Documentations changes with instructions how to install pytorch CPU version
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-1387-1 is done.
Docs are uploaded to http://autogluon-staging.s3-website-us-west-2.amazonaws.com/PR-1387/1/index.html


Integration Test - Release - 2020/01/10 18:46:26

Auto create for integration test. IssueCommandFlow

@PRMergerTest3 : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Set -erroraction stop instead of continue

w.r.t https://github.com/chef/chef/issues/4534

The warning specified in https://github.com/chef/chef/issues/4534 is being raised from this line: https://github.com/chef/chef/blob/master/lib/chef/util/dsc/local_configuration_manager.rb#L107
But we can't raise this as an error here as this method is returning an array which is expected by some methods.
Exception should be caught here: https://github.com/chef/chef/blob/master/lib/chef/provider/dsc_script.rb#L101, but the previous line is not raising any exception even though the PS command fails because -erroraction was continue

I'm 👍 on this but please fix style (might just be a matter of rebasing)

Rebased and signed off.


Add nextpnr-xilinx as a submodule, so it can be part of the initial repository clone.

Second pull request for #18

Should we add https://github.com/kintex-chatter/prjxray.git as a submodule too?  Then it will be in the known place for the Makefile to reference.


Use React for the front end

Hey I'd like to work on this can you give me more details and assign this to me?


fix: externalId requirement for add account form

Issue #, if available:
externalId not being stored in DDB when required.
Description of changes:
Adding externalId form field for aws accounts.
Checklist:

[x] Have you successfully deployed to an AWS account with your changes?
[x] Have you written new tests for your core changes, as applicable?
[ ] Have you successfully tested with your changes locally? [WIP]

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

Are we not going to add a note that it cannot be changed in the CloudFormation stack input part or things would not work? I don't know if this is that important but Jeet had mentioned providing a warning.

I'm going to test this out. I have a feeling we may not need to since it will be updated in both places (CFN stack and DDB entry) at once.

Doesn't SWB automatically set the externalId to be workbench? Given that if a user sets a value besides workbench, the code will not work, should we not allow them to change this value?
We could either have the UI automatically send a default value for externalId or on the API side we set it to be workbench for externalId

Doesn't SWB automatically set the externalId to be workbench? Given that if a user sets a value besides workbench, the code will not work, should we not allow them to change this value?
We could either have the UI automatically send a default value for externalId or on the API side we set it to be workbench for externalId

No, the externalId value was not retrieved from the form which is why it's never entered in the DDB entry (you'll get undefined if you try to get from the DDB entity), while it's read as the string "undefined" on the CfN stack that add account process creates.
No matter what the user changes the external ID to in their CfN stack parameters, the cfn status check role cannot be assumed since the externalId does not match.


Feature to support propagation with models outputting matrix

Expect matrix columns to correspond to different quantities of interest (QoI).
Model should output as (N, p) array where N is the number of evaluation points and p is the number of QoI.

Pull Request Test Coverage Report for Build 436

128 of 131 (97.71%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.08%) to 97.625%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pymcmcstat/propagation.py
128
131
97.71%

Totals

Change from base Build 434:
-0.08%

Covered Lines:
2590

Relevant Lines:
2653

💛  - Coveralls


aarch64: mmu: Change init priority for MMU

The current init priority for the MMU code is CONFIG_KERNEL_INIT_PRIORITY_DEVICE. This is the same priority of other
modules or drivers (for example the GIC driver or the mem domain module) that actually need the page tables to be in place before correctly working.
To avoid the race problem this patch increases the priority of the MMU initialization code by setting the priority to CONFIG_KERNEL_INIT_PRIORITY_OBJECTS.
This became an actual problem after the merge of #30627

Closing this for now. This will be part of a later more complete PR.


Is there any other way of downloading the docker image for the GUI? Progress bar stuck at ~25%

Hello, I was trying to run BiaPy GUI on MacOS (14.1.1). However the GUI starts at ~25% progress and the progress bar doesn't move (I have been running for almost an hour or so, I don't think this is internet issue) - see attached image

Is there any other way I can pull the BiaPy image and copy it to the relevant location?
Thank you and I am excited to use the GUI!

Hello!
Can you check via command line that you have already donwloaded the container? With docker image lscommand you can see it. Maybe it has been downloaded correctly but something strange happened in the GUI after that. If you have the container already rerun the GUI and it will detect automatically the container whe reaching that point. If you don't have it you can manually download it with docker pull biapyx/biapy:latest-11.8 command.

I could not see it using the docker image ls command so I ran docker pull biapyx/biapy:latest-11.8, and it shows up on terminal. However when I run the GUI it is stuck on the same state again - see both images

Hello,
It's strange that it's crashing after downloading the container manually and rerunning the GUI. I will try to make some comprobations but seems that the containers are not going to run well due to your chip as stated here.

Hello,
I seem to be running into the same problem, I have downloaded the biapyx/biapy:latest-11.8 image and can see this in my docker dashboard but the BiaPy GUI can't detect this and is hanging at the same point as @naterials when trying to download. Is there any update on this?
Thank you!

I've just finished updating the GUI and correcting a few errors. Can you please try again?
If still have issues I would be glad if you can post here or send me<EMAIL_ADDRESS>the log file that is created in every execution of the GUI so I can check possible errors. You can find them in the default temp folder of your PC, for instance, in Linux it should be "/tmp/BiaPy/" and in Windows it's something like C:\Users\username\AppData\Local\Temp (help to open ir here).

Thank to the feedback provided by @llwiggins through mail I could catch the error in macOS binary. I've just updated the GUI (v1.0.8) fixing that error when pulling the container. Please, check it out and tell me if it works. Thank you so much!

Thank you so much for resolving these errors so quickly, all working now! Really looking forward to using this tool 😄

Awesome! I'm closing this then!


module EEx.Tokenizer is not available

When running with elixir 1.12.2 I got an error:
mix deps.get
mix escript.build
./eextoheex check ../myapp/lib/myapp_web/templates

** (UndefinedFunctionError) function EEx.Tokenizer.tokenize/4 is undefined (module EEx.Tokenizer is not available)
    EEx.Tokenizer.tokenize("
my template
", 1, 0, %{indentation: 0, trim: false})
    (eextoheex 0.1.0) lib/eextoheex.ex:30: EexToHeex.eex_to_heex/1
    (eextoheex 0.1.0) lib/eextoheex_cli.ex:66: anonymous fn/2 in EexToHeex.CLI.templates_helper/2
    (elixir 1.12.2) lib/enum.ex:1582: Enum."-map/2-lists^map/1-0-"/2
    (eextoheex 0.1.0) lib/eextoheex_cli.ex:65: EexToHeex.CLI.templates_helper/2
    (elixir 1.12.2) lib/kernel/cli.ex:124: anonymous fn/3 in Kernel.CLI.exec_fun/2

I fixed it by adding the :eex application to mix.exs
  def application do
    [
      extra_applications: [:logger, :briefly, :eex]
    ]
  end

Thanks for the report!
I've pushed a commit with the suggested fix.

I still get this error even after performing the above fix, which is weird.

Fix found. EEx API had changed.
Change the EEx.Tokenizer.tokenize line to: EEx.tokenize(str, [start_line: 1, start_col: 0, trim: false, indentation: 0]) do and it should work.


App: character intro shaders

When a user joins in multiplayer, we would like to play a short animation with the user's avatar, their name and title, and an interesting background shader, which fits with our style. We could even animate the mouth flaps as the user speaks.
Similar to https://github.com/webaverse/app/issues/1381, it would a cut-in box in screen space on top of the main game UI.

But it would look more like a character intro, and be relatively short-lived (3s tops):

There should be a slot for 2-3 lines of text for the name and a quick description of the character (player) being introduced.
It seems the phases would be something like:
Phase 1: shader design
Design a cool animated shader and processing stack for rendering the desired effect. In case we want to do outlines, which I think is a good idea, this is not 100% trivial if we are using multiple passes.
Phase 2: hook up and animate the avatar on top
Use our rigging/animation system to render the avatar and text overtop of the background shader, completing the effect.
Phase 3: integrate to UI.
Pack the rendered shader into a quad that we can render at a position on the screen.
A test scene with an animated background shader is available with the dev server  at https://local.webaverse.com/?src=.%2Fscenes%2Ftitle-card-character.scn

https://github.com/webaverse/app/issues/1381 is a separate issue and we should still do it. It could be based on the code we develop here.

Done.


⚠ Bofrost.lu has degraded performance

In 96a64ab, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2414 ms

Resolved: Bofrost.lu performance has improved in e670c80 after 38 minutes.


Fix issue that SOURCEKITLSP_LOG_LEVEL environment variable was not honored

The initializer of NonDarwinLogLevel always returned nil, even if a valid value was passed. Thus, the log level was always default, independent of the value passed to SOURCEKITLSP_LOG_LEVEL.
While at it, change the default log level to be debug (opposed to default) when sourcekit-lsp is built in debug mode. That way you get full log output when running tests on Linux by default, which makes debugging easier.

@swift-ci Please test

@swift-ci Please test


Spell longivew correctly

Coverage remained the same at 82.347% when pulling 5f965396bba3e97c9ad197dcb7bf25eb6e059f8d on eatonphil-patch-2 into d6fcf5445d304374dea0e3106cb86cb514a6e79d on master.

thanks!


Not working translator.

After updating zf2 stopped translating error messages
In bootstrap I used
$translator = $sm->get('translator');
$translator->addTranslationFile(
            'phpArray',
            'vendor/zendframework/zendframework/resources/languages/ru/Zend_Validate.php',
        );
$translator->setLocale($lang);
\Zend\Validator\AbstractValidator::setDefaultTranslator($translator);

check https://github.com/zendframework/zend-i18n-resources

Note that the provided example won't work, I submitted a PR to correct it https://github.com/zendframework/zend-i18n-resources/pull/3/files

I don't know if it's a correct solution but after the split exists a new component zendframework/zend-i18n-resources.. Can you try to download it with composer and include new path..
$translator = $sm->get('translator');
$translator->addTranslationFile(
            'phpArray',
            'vendor/zendframework/zend-i18n-resources/languages/ru/Zend_Validate.php',
        );
$translator->setLocale($lang);
\Zend\Validator\AbstractValidator::setDefaultTranslator($translator);

Thanks

Received an error
Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for TranslatorDelegator

When I use this, receive warning

'delegators' => [
	'MvcTranslator' => 'TranslatorDelegator',
],

Warning: Invalid argument supplied for foreach() in ..\vendor\zendframework\zend-servicemanager\src\Config.php on line 161

Should use

'delegators' => [
	'MvcTranslator' => ['TranslatorDelegator'],
],

Yes, the example is unfortunately wrong, I had submitted a PR for correction : https://github.com/zendframework/zend-i18n-resources/pull/3/files

It didn't help

Thanks. Sloved a problem


Minor refactoring Testing util.

Test expected output even in failure case.
Make 'unchanged' assertion explicit.
https://github.com/GoogleContainerTools/kpt/issues/583

/lgtm If I understand correctly, the main change allows configs to be expected to be undefined.


Secrets and multi threading bug

YAY Multi threading bug is fixed now! :-))))
Tested and succeeded 15 times (previously failed every 4-6th time ).
Currently, to be 100% sure the bug is indeed solved I am running a bash script that executes the program 100 times so we can discover a threading bug if it exists💃

UPDATE:
After I have diagnosed the 100 runs I have found 4 of these exceptions  :O
Seems like the variable locking have helped since it changed the probability of this exception from 0.16-0.25 to 0.04...
I will keep looking on that..


Use flushWebpackRequireWeakIds from latest react-loadable

Coverage remained the same at 98.551% when pulling 0725555ec8883bbd279bd3e30065a48cbb7ef9b9 on loadable into 2b209b9913cc655cffa746cd95bb164195ff9d44 on master.


Partial Monitoring

BREAKING CHANGE

Second argument of listen_to expects a map {exclusive: , timeout: } instead of a boolean.

@adityagodbole this is ready to be merged. Just go through it and let me know.


test-branch/execute-job/quoted-authorization/5beda0c3-7155-4e09-b158-3cd5587e0e10

PR for testing 4f28f6b7c80a193e92ce78e880885bb967942283

/canonical/self-hosted-runners/run-workflows 4f28f6b7c80a193e92ce78e880885bb967942283


TypeError: Cannot read property 'key' of undefined

TypeError: Cannot read property 'key' of undefined
simple-encryptor/index.js:15
var key = opts.key;
Can you please resolve it ?

You're likely invoking the initialization function with something other than a string or object.
If you think you've encountered a real issue, please create a self-contained example to reproduce it.


reverse nightlies list (newest first)

see lineageos-infra/updater#10

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


Add validation to vn.train() inputs

This PR adds another input argument checking to vn.train(). If more than one one input is used (question and sql, documentation, ddl, plan), a validation error will be raised that notifies the user.
The Problem

If more than one argument is sent to vn.train(), only one item will be sent to the database for later referencing
The user wont know which one did, and since no warning is raised, won't know their mistake.

Context

vn.train() accepts multiple kwargs for each training item, which are by default None. (question and sql, documentation, ddl, plan).
If sql and question are not both None, or not None, a ValidationError exception is raised.
If (sql, question) and any other of documentation, ddl, plan, are given, only one will be added, in this order: documentation, sql & question, ddl, plan (which allows for all or some).

vn = VannaDefault()
vn.train(ddl="[EmployeeId] INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                      [LastName] NVARCHAR(20)  NOT NULL,",
         documentation="The 'employees' table contains the FirstName and LastName of employees")
# only documentation would be added

The solution

Refactored out the current Validation, and added another check for when more than one is not None.

class VannaBase:
    ...
    @staticmethod
    def _validate_train_args(
        question: Optional[str] = None,
        sql: Optional[str] = None,
        ddl: Optional[str] = None,
        documentation: Optional[str] = None,
        plan: Optional[TrainingPlan] = None,
    ) -> None:
    # Implementation here ...
    ...
    def train(
        self,
        question: str = None,
        sql: str = None,
        ddl: str = None,
        documentation: str = None,
        plan: TrainingPlan = None,
    ) -> str:
    ...
        self._validate_train_args(question, sql, ddl, documentation, plan)

Tests;

Followed steps as per CONTRIBUTING.md. Tests pass.

Unfortunately this has become somewhat stale -- I like the core concept though. Feel free to open a new PR with updates. Closing for now.


fix(search): hides search icon when search field is active

Fixes the clear button position to discard false clicks
Closes #3046

For searching user is required to hit the search icon 🔍.
And to clear the input field he is required to hit the ✖.
Hence both button needs to be visible simultaneously.

@anshumanv  have a look at the new changes.

Thanks! Great catch


Optimize snippet details and options

The details and options of a snippet need a visual refacotring as it currently increased in height:

Some of the details can be grouped (By, Created, Last updated) and some details may be dispalyed as an icon (Visibility)

New implementation:


Bugfix/home page typo

 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.:x: 7mako sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Getting 403 Forbidden response while running with storage account's connection string with docker

Hi,
I'm running the monitor with docker to try to connect the service which I deployed in azure.
After run
docker run -p 7072:80 -e AzureWebJobsStorage="connection string" -e DFM_NONCE="i_sure_know_what_i_am_doing" scaletone/durablefunctionsmonitor:6.2
I got this error:

Is there any setting I missed?

Hi @JonnyyJ , your command line seems correct.
But what Storage Provider your service is using? Default, Netherite or MSSQL?
Does that connection string contain a key? Can you try to connect to the Storage with it via e.g. Storage Explorer?
Is there any special about that Storage account your service is using (like firewall rules etc.)?

Hi @scale-tone
We are using the default Provider, the connection string is correct, it works with storage explorer, we do have firewall rules, this is the failed infor I got:
fail: Function.DfmGetTaskHubNamesFunction.User[0]       DFM failed       Microsoft.WindowsAzure.Storage.StorageException: Forbidden          at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsyncInternal[T](RESTCommand1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
         at Microsoft.WindowsAzure.Storage.Table.CloudTableClient.ListTablesSegmentedAsync(String prefix, Nullable1 maxResults, TableContinuationToken currentToken, TableRequestOptions requestOptions, OperationContext operationContext, CancellationToken cancellationToken)          at DurableFunctionsMonitor.DotNetBackend.TableClient.ListTableNamesAsync() in /src/dotnet-function-app/Common/TableClient.cs:line 86          at DurableFunctionsMonitor.DotNetBackend.Auth.GetTaskHubNamesFromStorage(String connStringName) in /src/dotnet-function-app/Common/Auth.cs:line 172          at DurableFunctionsMonitor.DotNetBackend.TaskHubNames.<>c.<<DfmGetTaskHubNamesFunction>b__0_0>d.MoveNext() in /src/dotnet-function-app/Functions/TaskHubNames.cs:line 33       --- End of stack trace from previous location ---          at DurableFunctionsMonitor.DotNetBackend.Globals.<>c__DisplayClass19_0.<<HandleAuthAndErrors>b__0>d.MoveNext() in /src/dotnet-function-app/Common/Globals.cs:line 114       --- End of stack trace from previous location ---          at DurableFunctionsMonitor.DotNetBackend.Globals.HandleErrors(HttpRequest req, ILogger log, Func1 todo) in /src/dotnet-function-app/Common/Globals.cs:line 123
      Request Information
      RequestID:1abd2ed7-d002-0007-587b-780275000000
      RequestDate:Wed, 26 Apr 2023 20:14:03 GMT
      StatusMessage:Forbidden
      ErrorCode:
      ErrorMessage:This request is not authorized to perform this operation.
      RequestId:1abd2ed7-d002-0007-587b-780275000000
      Time:2023-04-26T20:14:03.2090270Z`

The error is straightforward - StorageException: Forbidden when DfMon tries to list tables in your storage account using that connection string. But so far I don't have a clue of what might be causing this...
@JonnyyJ , can you try to navigate to your Task Hub directly by appending its name to DfMon's URL (e.g. http://localhost:7072/MyTaskHub) and see whether you get further errors?
Also, does it happen with just this storage account or with others as well? Can you try another connection string?

The error is straightforward - StorageException: Forbidden when DfMon tries to list tables in your storage account using that connection string. But so far I don't have a clue of what might be causing this...
@JonnyyJ , can you try to navigate to your Task Hub directly by appending its name to DfMon's URL (e.g. http://localhost:7072/MyTaskHub) and see whether you get further errors?
Also, does it happen with just this storage account or with others as well? Can you try another connection string?

I tried that path, and I'm getting a 443, is this a firewall issue?
Load failed. One or more errors occurred.(Name or service not know xxxxx.blob.core.windows.net:443)

@scale-tone

Name or service not know xxxxx.blob.core.windows.net

Looks like your storage account URL (xxxxx.blob.core.windows.net) cannot be resolved from inside a docker container. This is definitely a connectivity issue, but on what side - that is yet to be discovered.
Actually, the first thing I'd do is restarting Docker Desktop (or, preferably, the whole devbox). Docker has a known issue, whereas after your laptop goes to sleep, clock shifts inside running containers, which causes TLS failures and other crazy errors.
If that doesn't help, then the next step would be to try running DfMon locally not as a container, but e.g. as a VsCode extension or by just starting it as a Function App. And see if you get same errors.
Can you try those things?

@scale-tone
It's working with vscode extension, thanks!


Cannot read the provided documents

Hello,
... after 3 years I would like to renew my knowledge about OpenMBEE. However my attempt to read in the browser the documents listed under https://github.com/Open-MBEE/OpenSE-Cookbook/tree/master/Documents has failed; a Github page is opening and the content cannot be displayed. Also opening the downloaded file with Adobe Acrobat fails due to some decoding error.

might be a browser issue.
I just downloaded and opened the pdfs fine with Chrome.
On Tue, Jul 14, 2020 at 4:51 AM odungern<EMAIL_ADDRESS>wrote:

Hello,
... after 3 years I would like to renew my knowledge about OpenMBEE.
However my attempt to read in the browser the documents listed under
https://github.com/Open-MBEE/OpenSE-Cookbook/tree/master/Documents has
failed; a Github page is opening and the content cannot be displayed. Also
opening the downloaded file with Adobe Acrobat fails due to some decoding
error.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Open-MBEE/OpenSE-Cookbook/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEAP3Z32L3BBOG4PMSDLMVTR3RBFXANCNFSM4OZOBRTQ
.

thanks a lot for your response. I have tried with different browsers. Was able to open it within the browser (a Github framed PDF viewer opens) with FF, Chrome and new Edge. Downloading and opening with Adobe PDF-Reader does not work; I guess some header information is wrong or missing.
But I can now read somehow, that's most important. Thanks a lot for all your work!


Error: EACCES: permission denied on running the command docker-compose up

I am stuck in the docker-compose up command, which is throwing the following error:-
Starting node-red-tutorials_node-red_1 ... done
Attaching to node-red-tutorials_node-red_1
node-red_1  | npm info it worked if it ends with ok
node-red_1  | npm info using<EMAIL_ADDRESS>node-red_1  | npm info using<EMAIL_ADDRESS>node-red_1  | npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>node-red_1  | npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>node-red_1  |
node-red_1  | ><EMAIL_ADDRESS>start /usr/src/node-red
node-red_1  | > node $NODE_OPTIONS node_modules/node-red/red.js -v $FLOWS "--userDir" "/data"
node-red_1  |
node-red_1  | 22 May 12:43:49 - [error] Failed to start server:
node-red_1  | 22 May 12:43:49 - [error] Error: EACCES: permission denied, mkdir '/data/lib'
node-red_1  |     at Error (native)
node-red_1  | npm info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>node-red_1  | npm info ok
node-red-tutorials_node-red_1 exited with code 0

I googled for this, and reinstalled node with nvm(which is the standard solution for the EACCES error. However, the error is still unresolved.
Can someone point me to a relevant direction on how to resolve this?

@parthsharma1996 That error is saying that the permissions on the data directory data/ aren't allowing the app to make a directory in there.
Which operating system are you on?   If a unix/linux what is the 'ls -la data'?

@parthsharma1996 Hmm ok...
(given that I get fuzzy on the specific rules for UID translation on docker) could you open the permissions wide-open on the data directory (chmod -R a+rw data) , re-run node-red docker (which hopefully will then work) and give me a new ls -la data.
I suspect that the docker container is accessing your directory as a non-root user thats not yours (but there could be other problems as well, so this will help sort out which problem we are dealing with)
Also could you confirm your specific OS (if linux which distro/version)?

Running chmod -R a+rw data does indeed work. It's running now.
Here is the new output of ls -la data
(rasa_env) ❯ ls -la data
total 56
drwxrwxrwx 3 parth users  4096 May 23 20:15 .
drwxr-xr-x 4 parth users  4096 May 22 17:08 ..
-rw-rw-rw- 1 parth users 16798 May 23 20:15 .config.json
-rw-rw-rw- 1 parth users  4843 May 22 17:08 flows.json
drwxr-xr-x 3 play  play   4096 May 23 20:15 lib
-rw-rw-rw- 1 parth users   193 May 22 17:08 package.json
-rw-rw-rw- 1 parth users 10500 May 22 17:08 settings.js

I suspect that the docker container is accessing your directory as a non-root user thats not yours (but there could be other problems as well, so this will help sort out which problem we are dealing with)

I am not sure I understand this. Can you please elaborate? Sorry I am inexperienced with docker.
I am running Arch Linux.
Linux hal9000 4.12.8-2-ARCH #1 SMP PREEMPT Fri Aug 18 14:08:02 UTC 2017 x86_64 GNU/Linux

@parthsharma1996 said:
I am not sure I understand this. Can you please elaborate? Sorry I am inexperienced with docker.

Docker is a kinda strange beast - Let me try explain, but let me know if the description doesn't make sense.
Docker (AKA containers) are kinda-like mini virtual machines.
This means that Docker images contain all their own libraries, and run processes under there own users/UIDs (the real way to say this is that containers virtualize user-space).
They are different then normal virtual machines in that they share the kernel (so they are much smaller then real VMs) and that (if configured to) they can share the host filesystem (literally mounting host directories in the container, for the docker process to operate on them.
A side effect of this is that the user/UID that the process runs in the container - in the virtual environment will be the UID it attempts to write onto the host filesystem via. (I just looked it up - in our container we have a "node-red" user that is UID 1001)
So if you do a ls -n data it should show you the UID that the files were written with - that is the UID that our node-red docker is using internally (so I'm expecting you'll see 1001).
Docker definitely has some tools to clean up this UID mapping stuff, and on the Mac version of Docker it just magically maps everything to the user that ran docker.
I'll have research those tools and see if we can make it easier for people running natively on linux
That explain it?

Thanks! That was a perfect explanation. It's rare to find people here who are willing to explain things in such a comprehensive manner.
Interestingly enough the uid I see is 1000 not 1001. Here's the output
(rasa_env) ❯ ls -n data
total 24
-rw-r--r-- 1 1000 100  4843 May 24 17:26 flows.json
-rw-r--r-- 1 1000 100   193 May 24 17:26 package.json
-rw-r--r-- 1 1000 100 10500 May 24 17:26 settings.js

Hmm ok, I'm going to have to read some docs.  I know uid 1000 is the default but I though the container UID took precedence.  I’ll read a bit and update today.
@parthsharma1996 given that your up and running (or let me know if you are aren't!) are you good with me closing this issue?

@parthsharma1996 said:

Interestingly enough the uid I see is 1000 not 1001. Here's the output

I just realized when I re-read your ls that it doesn't show the files created when the docker runs (the lib directory) - so I think that would show UID 1001 in the original example, where you ls shows the user "play".
You do have me a bit stumped with your comment of:

P.S What is baffling is that I am able to run docker-compose up in the rasa-tutorials with no problem.

I'll have to dig through that to see if something forces the UID to remap.
I'm also a bit unsure what magic happens on the Mac that avoids this problem in the first place.
Anyway - Good with me closing the issue?

P.S What is baffling is that I am able to run docker-compose up in the rasa-tutorials with no problem.

I'll have to dig through that to see if something forces the UID to remap.
I'm also a bit unsure what magic happens on the Mac that avoids this problem in the first place.

I still don't understand why that is happening. Though I am able to run the tutorial now, and closing the issue should be okay.

There's a UID mis-match between the user running in the container and your user id. You can see when I use this same container in my Rasa Tutorial repo I explicility set user:1000 to fix this problem. https://github.com/samtecspg/rasa-tutorials/blob/master/docker-compose.yml#L12


Tool to generate Swagger spec from JAR

I'm trying to write a simple Maven plugin that will inspect a JAR file and generate a Swagger spec based on the Spring MVC endpoints in the JAR file.  That way, our team can generate the Swagger file at build time.  Springfox looks like it would be very useful for this, but I'm having a hard time getting it to work.  My biggest hurdle is that Maven plugins are not Spring containers, so I cannot count of all of the dependencies beign @Autowired.  Do you feel that this an appropriate use of Springfox?  If so, can you provide some guidance on how to get started?  Thanks.

@packleader, take a look at swagger-maven-plugin

We were able to get build time generation working by using a test with Spring's mocks.
@RunWith(SpringRunner.class)
@SpringBootTest
public class GenerateSwagger {

    @Autowired
    WebApplicationContext context;

    @Test
    public void generateSwagger() throws Exception {
        MockMvc mockMvc = MockMvcBuilders.webAppContextSetup(context).build();
        mockMvc.perform(MockMvcRequestBuilders.get("/v2/api-docs").accept(MediaType.APPLICATION_JSON))
                .andDo((result) -> {
                    FileUtils.writeStringToFile(new File("swagger.json"), result.getResponse().getContentAsString());
                });

    }
}

This assumes that you have SpringFox set to generate the spec at runtime at the /v2/api-docs path, e.g. with the following config:
@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.any())
                .build();
    }
}

Perhaps a slight abuse of tests, but we couldn't see another easy way to get this to work.

@yissachar that is totally a valid technique. Infact it is the basis for how swagger2markup generates documentation and how http://www.jhipster.tech uses it.


[Android] Fresco initialized multiple times

W/unknown:Fresco: Fresco has already been initialized! Fresco.initialize(...) should only be called 1 single time to avoid memory leaks!
If Android has already used Fresco in its native codes, which means we have already done
Fresco.initialize(this, config);

in our application.
The FrescoModule will still initialize Fresco, which causes fresco initialized twice.
  @Override
  public void initialize() {
    super.initialize();
    // Make sure the SoLoaderShim is configured to use our loader for native libraries.
    // This code can be removed if using Fresco from Maven rather than from source
    SoLoaderShim.setHandler(new FrescoHandler());

    Context context = getReactApplicationContext().getApplicationContext();
    Fresco.initialize(context, mConfig);
    mConfig = null;
  }

We should be able to disable the second initialize.
react-native 0.31, Mac, Android.

Yeah, we are investigating this. I have added this warning for Fresco and we're currently figuring out how this can be fixed in RN.

My team also hit this and created a fix. See PR #9606 for details.

This should now be fixed.

@facebook-github-bot label Icebox

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/android-fresco-initialized-multiple-times-
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.

@facebook-github-bot close

I am getting this issue in 0.53
Fresco has already been initialized!Fresco.initialize(...) should only be called 1 single time to avoid memory leaks!

I am too getting this issue in android.
This is occuring again recently after I have updated my fresco to 1.8.1


Improvded GLUE2 information provider

The previous previous pull request did not work as anticipated. The renaming was done but the old code was used.

I hope that I have done what was asked. Let me know if there is anything else.


Move medication notification to 0 in advance

@ReallyLiri what did you mean by that?

don't remember. closing


glog doesn't like it when non-standard flag package is used

Note the ERROR: logging before flag.Parse:
client-gen \
>         --input-base "github.com/atlassian/smith/pkg/apis/" \
>         --input "smith/v1" \
>         --clientset-path "github.com/atlassian/smith/pkg/client/clientset_generated/" \
>         --clientset-name "clientset"

ERROR: logging before flag.Parse: F1029 14:26:52.019063   88249 client_generator.go:312] Failed loading boilerplate: open /Users/ash2k/gopath/src/k8s.io/kubernetes/hack/boilerplate/boilerplate.go.txt: no such file or directory
goroutine 1 [running]:
github.com/golang/glog.stacks(0xc42000e000, 0xc4264e8c60, 0xc1, 0x109)
        vendor/github.com/golang/glog/glog.go:769 +0xcf
github.com/golang/glog.(*loggingT).output(0x148ffa0, 0xc400000003, 0xc4253b5ce0, 0x146030e, 0x13, 0x138, 0x0)
        vendor/github.com/golang/glog/glog.go:720 +0x345
github.com/golang/glog.(*loggingT).printf(0x148ffa0, 0xc400000003, 0x1306ffd, 0x1e, 0xc42ad21928, 0x1, 0x1)
        vendor/github.com/golang/glog/glog.go:655 +0x14c
github.com/golang/glog.Fatalf(0x1306ffd, 0x1e, 0xc42ad21928, 0x1, 0x1)
        vendor/github.com/golang/glog/glog.go:1148 +0x67
k8s.io/code-generator/cmd/client-gen/generators.Packages(0xc424dfc2a0, 0xc420010240, 0x12ff74b, 0x6, 0xc424dfc2a0)
        vendor/k8s.io/code-generator/cmd/client-gen/generators/client_generator.go:312 +0xdf
k8s.io/gengo/args.(*GeneratorArgs).Execute(0xc420010240, 0xc420080f00, 0x12ff74b, 0x6, 0x13151b8, 0x1, 0x4)
        vendor/k8s.io/gengo/args/args.go:176 +0x1d4
main.main()
        vendor/k8s.io/code-generator/cmd/client-gen/main.go:199 +0x65e

I just encountered this as well
/remove-lifecycle stale

/reopen
/remove-lifecycle rotten
/lifecycle frozen

@ash2k Is this still relevant with klog?

I haven't tested but I guess it is not. Worth testing before closing I think. I haven't updated all our stuff to use 1.13/klog libraries - this is in progress. Once we are there, I can see it this issue still exists.


Experiment with use of templates for individual types in simple evaluator

Implemented new, simpler, more efficient Individual model.


Async smoltcp effort

I'm starting an effort to make polling invisible for the user and implement tokio AsyncWrite and AsyncRead into smoltcp, so it can be used with libraries that use tokio for tcp. It's a new crate with smoltcp as a dependency, not a modification of smoltcp.
It's in the very early stages and it's based on unmerged work from @Dirbaio (that adds ethernet support). When it merges I'll make it work here. (are there estimates on when it will be merged?)
Since the smoltcp project is low level in relation to polling because it's intended for microcontrollers, I'm bringing smoltcp for general usage. The idea is to be able to share a stack with multiple threads and not worry about polling or anything, just pass the socket for something that expects AsyncRead and AsyncWrite. I'm using dynamically allocated buffers because I need to share the stack with multiple threads anyway so references would not work.
I also made an effort to make one single struct to support tap, tun and virtual tun.
It's not working yet but I expect it to work soon. I'll add an example using hypervpn that I already made work.
It'd be nice if someone could help, there are lots of things to do specially with preventing memory copy on socket data arrival and also pick the best polling method

I'm doing my own async async wrapper, with a bit of challanges.
The biggest problem is SocketHandle. I need to own at least Arc<TcpChannel>(instead of the whole SocketSet and SocketHandle) and read_buffer, write_buffer. However, current model does not allow me to do that, so I have to change the source code to acheive have Arc<TcpChannel>.
Ideally I prefer shared memory for states and buffers in TcpChannel, so unsafe is involved.
I think the cause is the goal behind smoltcp: simple and without heap. When we have heal alloc, we can do much better.

Wow, so many people are doing the same thing! Including me.
Here is my version of async smoltcp.
https://github.com/spacemeowx2/tokio-smoltcp
You can try with the pcap example:
cargo build --example pcap && sudo ./target/debug/examples/pcap -h

@qiujiangkun forgot to answer, sorry. Did you finish your version by modifying the source code of smoltcp? I'd prefer not to modify it but I'd like to take a look at yours. Maybe the modifications are good enough that they could fit in smoltcp.
@spacemeowx2 I've just took a superfical read of yours. It looks like you have a thread that polls the stack (actually the run function is async, I don't know why a thread isn't used). Anyways, it looks like this 'thread' and the sockets share the sockets set. That is, they both fight over the sockets lock. I thought of something like this but my main concern was that each socket must be polled every time something happens (in/out of data, etc). That is, when some data is received/sent over the wire, all the sockets should be polled immediately. I think it's possible that there's a situation where data is received in some socket and its AsyncRead does not call it fast enough, making the next data that arrives in the socket overwrite what was already there.
Did you think of this while designing your solution? Do you think I'm right?
On my approach I'm making the stack poll every time it's needed. That is, at every operation, all sockets are polled. When a socket has data, it immediately sends this data over a channel to the socket on the other side, so if more data arrives, there's no problem of it being overriden. I'm not happy about this solution because it does an extra copy before the data arrives on the AsyncRead but I couldn't think of anything better. I see that your solution immediately copies from the rx buffer to the AsyncRead's buf, which is better in terms of not doing unnecessary copies.

@lucaszanella

I don't know why a thread isn't used

Because I want to async as much as possible, the raw socket could also be async:
https://github.com/spacemeowx2/tokio-smoltcp/blob/ad7f043a07841961d2b9ff9bb3785e7111b220fc/src/util/unix.rs#L22

making the next data that arrives in the socket overwrite what was already there

This can't happen. TcpSocket has an internal buffer. If the buffer is full, the underlying protocol(TCP) will not send an ACK to the other side, so the other side will not send more data than the buffer size. So overwriting will not happen.

@qiujiangkun forgot to answer, sorry. Did you finish your version by modifying the source code of smoltcp? I'd prefer not to modify it but I'd like to take a look at yours. Maybe the modifications are good enough that they could fit in smoltcp.

Yes I have finished my version. It barely works but the speed is depressing(even with only smoltcp). I used a channel to communicate with smoltcp, which works fine.

#[derive(Clone)]
pub struct TcpChannelBuilder {
    stub: SmoltcpController,
    pub addr: String,
    pub port: u16,
}

impl Debug for TcpChannelBuilder {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        f.debug_struct("TcpBuilder")
            .field("addr", &self.addr)
            .field("port", &self.port)
            .finish_non_exhaustive()
    }
}

impl TcpChannelBuilder {
    pub fn connect_to(addr: &str, port: u16) -> Self {
        let stub = get_global_stub();
        Self::with_controller(stub, addr, port)
    }
    pub fn new(addr: &str, port: u16) -> Self {
        let stub = get_global_stub();
        Self::with_controller(stub, addr, port)
    }
    pub fn with_controller(stub: SmoltcpController, addr: &str, port: u16) -> Self {
        Self {
            stub,
            addr: addr.to_owned(),
            port,
        }
    }
}

impl AsyncChannelBuilder for TcpChannelBuilder {
    type Channel = TcpChannel;

    fn connect(&self) -> BoxFuture<'static, Result<Self::Channel>> {
        let addr = self.addr.to_owned();
        let port = self.port;
        let stub = self.stub.clone();
        let command = SmoltcpTcpRequest::Connect(self.addr.to_owned(), self.port);
        Box::pin(async move {
            let channel = stub
                .send_wait_command(command.into())
                .await
                .into_tcp_channel_result()?;
            let local_port = channel.get_socket_mut().local_endpoint().port;
            let timeout = std::time::Instant::now();
            loop {
                if std::time::Instant::now() - timeout > std::time::Duration::from_secs(5) {
                    break Err(std::io::Error::new(
                        ErrorKind::TimedOut,
                        format!("Could not connect to {}:{} in time", addr, port),
                    ));
                }
                match channel.get_socket_mut().state() {
                    TcpState::Closed => {
                        break Err(std::io::Error::new(
                            ErrorKind::ConnectionAborted,
                            format!(
                                "Could not connect from {} to {}:{}. state: {}",
                                local_port,
                                addr,
                                port,
                                channel.get_socket_mut().state()
                            ),
                        ));
                    }
                    TcpState::Listen => unreachable!(),
                    TcpState::SynSent => yield_now().await,
                    TcpState::SynReceived | TcpState::Established => break Ok(channel),
                    _ => {
                        break Err(std::io::Error::new(
                            ErrorKind::ConnectionAborted,
                            format!(
                                "Could not connect from {} to {}:{}. state: {}",
                                local_port,
                                addr,
                                port,
                                channel.get_socket_mut().state()
                            ),
                        ));
                    }
                }
            }
        })
    }
}

pub struct TcpChannel {
    handle: SocketHandle,
    socket_set: WriteArc<ManagedSocketSet>,
    #[allow(dead_code)]
    stub: SmoltcpController,
}

unsafe impl Send for TcpChannel {}

unsafe impl Sync for TcpChannel {}

impl Debug for TcpChannel {
    fn fmt(&self, f: &mut Formatter<'_>) -> std::fmt::Result {
        f.write_str("TcpChannel")
    }
}

impl TcpChannel {
    pub(crate) fn new(
        handle: SocketHandle,
        socket_set: WriteArc<ManagedSocketSet>,
        stub: SmoltcpController,
    ) -> TcpChannel {
        TcpChannel {
            handle,
            socket_set,
            stub,
        }
    }

    pub fn is_open(&self) -> bool {
        self.get_socket_mut().is_open()
    }

    pub fn get_local_port(&self) -> u16 {
        self.get_socket_mut().local_endpoint().port
    }

    pub(crate) fn get_socket_mut(&self) -> &mut TcpSocket<'static> {
        unsafe {
            let socket = self
                .socket_set
                .get_mut_unsafe()
                .socket_set
                .get::<TcpSocket>(self.handle);
            SocketRef::into_inner(socket)
        }
    }
}
impl Write for TcpChannel {
    fn write(&mut self, buf: &[u8]) -> Result<usize> {
        let socket = self.get_socket_mut();
        match socket.send_slice(buf) {
            Ok(0) => Err(std::io::Error::from(ErrorKind::WouldBlock)),
            Ok(ok) => Ok(ok),
            Err(Error::Finished) => Ok(0),
            Err(Error::Illegal) if !socket.is_open() => {
                Err(std::io::Error::from(ErrorKind::ConnectionReset))
            }
            Err(Error::Illegal) => Err(std::io::Error::from(ErrorKind::WouldBlock)),
            Err(err) => Err(err.into_std_io_err()),
        }
    }

    fn flush(&mut self) -> Result<()> {
        Ok(())
    }
}
impl Read for TcpChannel {
    fn read(&mut self, buf: &mut [u8]) -> Result<usize> {
        let ptr = self as *mut Self;
        let socket = self.get_socket_mut();
        match socket.recv_slice(buf) {
            Ok(0) => Err(std::io::Error::from(ErrorKind::WouldBlock)),
            Ok(ok) => {
                trace!("{:?} Received {} bytes", ptr, ok);
                Ok(ok)
            }
            Err(Error::Finished) => Ok(0),
            Err(Error::Illegal) if !socket.is_open() => {
                Err(std::io::Error::from(ErrorKind::ConnectionReset))
            }

            Err(Error::Illegal) => Err(std::io::Error::from(ErrorKind::WouldBlock)),
            Err(err) => Err(err.into_std_io_err()),
        }
    }
}
impl Drop for TcpChannel {
    fn drop(&mut self) {
        self.socket_set.decr_socket_count(self.handle);
        self.get_socket_mut().close();
    }
}

impl AsyncRead for TcpChannel {
    fn poll_read(
        mut self: Pin<&mut Self>,
        cx: &mut Context<'_>,
        buf: &mut [u8],
    ) -> Poll<Result<usize>> {
        map_non_block(self.read(buf), cx)
    }
}

impl AsyncWrite for TcpChannel {
    fn poll_write(
        mut self: Pin<&mut Self>,
        cx: &mut Context<'_>,
        buf: &[u8],
    ) -> Poll<Result<usize>> {
        map_non_block(self.write(buf), cx)
    }

    fn poll_flush(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Result<()>> {
        Poll::Ready(Ok(()))
    }

    fn poll_close(self: Pin<&mut Self>, _cx: &mut Context<'_>) -> Poll<Result<()>> {
        self.get_socket_mut().close();
        Poll::Ready(Ok(()))
    }
}

impl Unpin for TcpChannel {}

@spacemeowx2 I understand what you said but what if the rx buffer is smaller than an entire tcp packet? The tcp packet would arrive in chunks so it should be consumed lots of times before an ACK is sent, I guess. I'm not an expert in smoltcp internals. For example, it looks like it's here that a packet is written to rx_buffer:
https://github.com/smoltcp-rs/smoltcp/blob/e4241510337e095b9d21136c5f58b2eaa1b78479/src/socket/tcp.rs#L1564
I don't see any logic that makes the packet be held in case rx_buffer is full. I think that your logic works if rx_buffer is bigger than an entire tcp packet. This way, every time it's filled, it's going to be with an entire tcp packet. I'm also assuming that the ACK is only sent after the data is taken off of the socket, I don't see where it happens, I'm assuming since you said. Also, what about UDP packets or RAW packets? They would be overriden some times since they have no ACK.

Finally, my version works normally. With dpdk device, it even reading faster several times than linux's TCP stack. I use channels to make an local RPC to communicate with smoltcp. I use Vec<u8> channels to pass tcp data around, which is not optimal but at least thread-safe.

@qiujiangkun can I see it? Does it need source code modification on smoltcp?

It's in a private repo so I'm afraid not. It doesn't need modifications on smoltcp
---Original---
From: "Lucas @.>
Date: Fri, Jun 18, 2021 09:41 AM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [smoltcp-rs/smoltcp] Async smoltcp effort (#474)
@qiujiangkun can I see it? Does it need source code modification on smoltcp?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

https://github.com/lucaszanella/async_smoltcp
works but polling is inneficient (big inneficient loop for now). It works with my OpenVPN client. Still gotta test tun/tap but it should work.
Gonna work on polling by making it poll onyl when necessary, then gonna fix error handling, currently it has some unwraps.

Closing due to inactivity. If you have more questions, feel free to open new issues!


Use symlinks in broccoli-filter output.

This is a bit of a smaller change to introduce symlinking initially, before the additional optimization that #11 introduces.

@rwjblue also, having a hook to say whether you are going to mutate the content would speed up initial builds

@rwjblue I see it has a canProcessFile, but the else should be a symlink https://github.com/broccolijs/broccoli-filter/blob/master/index.js#L44

@krisselden - That line is changed to symlink in this pull request.

I've merged the latest with the branch if that helps anyone: https://github.com/broccolijs/broccoli-filter/compare/64631520a78bbf74ab277172aaaad559fd8542ac...timmfin:make-filter-emit-symlinks

I was trying to hold this off until the rebuild API lands, so that we can do some even-slicker optimizations: leaving output files in place between rebuilds. But I was a bit too optimistic on how soon the rebuild API would land (it's still evolving a bit). So, now I did what I should've done half a year ago:
Merged this and released in 0.1.14.
Thanks @rwjblue for the PR, and thanks @stefanpenner for reminding me :)

Thanks @joliss!

@timmfin got time to submit your tests to this project? I would love to have your energy directed to this project rather then your fork.

I resolved conflicts in #13 and pushed them into #22. Will defer to Stef as to what he wants merged in.

@stefanpenner, I was about to make a PR based off of https://github.com/broccolijs/broccoli-filter/compare/master...timmfin:add-tests, but just noticed @joliss's PR from above. I can wait until that is merged (or planned to be merged) and then rework some of my tests on top of that.

I took the liberty to create a PR at #23 just so we have it. Stef can pick and choose I guess, or I'll pull them in at some point in the future :)


⚠ Fortnite has degraded performance

In 11e3d6b, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1705 ms

Resolved: Fortnite performance has improved in 61020da.


Not able to compile Dr. Elephant using compile.sh

Hi,
I am trying to compile Dr. Elephant on RHEL6 (offline machine). Hadoop, Spark are already installed and configured. MySql also already setup. When I try to compile it , it gives me following exception. We do have space (>1TB) on the machine and in the installation location.
Checking for required programs...
Program requirement is fulfilled!
Using the default configuration
Hadoop Version : 2.3.0
Spark Version  : 1.6.3
Other opts set :

Thanks

Take a look at the exception : java.io.IOException: No space left on device speaks pretty clear.

@gaurs21 I am closing the ticket hoping the issue is resolved, if this is not the case then feel free to re-open the ticket.


Chaos Mode

User story.
As a client developer, I can enable chaos mode, which will make the mock act like an unstable server. Latency will vary, sometimes 50X errors will come back, and things will generally be a mess.
Is your feature request related to a problem?
Production APIs trip, stumble, or fall over entirely, and we need to help clients get ready for that.
Clients can set up toxiproxy for their mocks to enable this functionality, and maybe we can work with that, but maybe we can implement something a bit more simplistic that does not require running a toxiproxy server.
Describe the solution you'd like
TBD
Additional context
Similar implementations...

Not just unstable, but also hyper-diverse withing the spectrum of possible replies
Firstly that the specification defines,
empty arrays,
single item arrays,
huge volume arrays,
empty properties,
long properties

Secondly that the unspecified implicit contract defines (maybe using custom extensions?)
paged data, one and many pages,

random DNS addresses for hypermedia unrelated to base address of service,

random auth token length (if prism mocks oauth too, or maybe require certain lookahead on expiry time if not?)

random authZ roles required,

random refusing of query param combos or query param values.

Not sure 'random' really means 'random' in those phrases above.

Mockit has a boolean for Monkey Mode https://mockit.netlify.com/docs/features/chaos-monkey

Yeah, this is really a cool feature we could develop and bring a lot of value.
We probably just need to define what "chaos" mean; returning errors (which is ok) but which errors? 404? 500? According to the ones defined in the document? Or even return 200 with a different payload? Missing fields?

I was sharing mockit as an example to help define that :)

We're considering recommending something like this to our users for testing. +1 for chaos mode!