Sprint 2 Review

Assignment
Points
Grade
Evidence

Pull Request (Integration)
2
1.7

Relevancy Checklist (Peer)
2
2*(78.5/90)= 1.7444
See below- graded by Tarun Jaikumar.

Lesson (Group)
1
0.92

Homework, Popcorn Hacks
1 x 8
0.9005
(0.92+0.9+0.9125+0.88+0.89)/5 = 0.9005, only 5 graded

Individual Contribution
1
0.9
  Also helped edit others lessons (see above) to add more images, memes, and emojis to make it more interactive :)

Personal Notebooks / Blogs
1
0.92
https://rahulverma13.github.io/rahul_2025/csa/ I added some quick notes for each unit, which allow me to quickly recollect the units without going into full depth. Furthermore, I also created a grade tracker for college students which shows off the hardest concepts from Units 1 - 9, which may be something our group expands on in Sprint 3 👀

Total
12

Skill
Points
Grade
Evidence

Work Habits (Analytics)
1
0.9

Team Planning (Issue)
1
0.92
https://github.com/orgs/Crusaders-of-FreeBSD/projects/1 - we did a good job in using a monitor to plan out the Scrum Board. Originally we were using the website taiga.io, but we switched to including this on Github directly to better integrate with our project.

Presentation Memories
1
0.9
I really liked the basketball which we did in class. Sure, a few people got hurt while dunking, but it created a really fun atmosphere 😄. Furthermore, when making the lessons, I enjoyed adding memes to my lesson. I think these memes made the lessons easier to follow and understand. Below are the few that I really liked :)   Also, I really liked working with Shuban, Eric, and Aadit. We have known each other for some time and it was fun engaging in this project together. Below is a picture taken of us :)

Grading and Feedback
1
0.92
First group in class to show grading spreadsheet with detailed overview of grades. Our format for grading gave everyone detailed feedback and is something that all the other groups piggybacked on (using the same format) after our lesson.

Beyond Perfunctory
1
0.9
In regards to Beyond Perfunctory, I think the part that comes the most to this was our basketball game. It was the first in the class to give some sort of incentive to participate, and the dunking despite the bloodshed was really fun: people learned that shots were not the best option but rather dunking. It even came down to the last shot in a final shoot out. There were definitely places where we could have improved--I think we should have divided it into more groups to have everyone be more engaged, and also optimized for time so everyone wasn't halfway out the door when the final shootout was going on. Despite this, I think this part brought a really fun aspect to our lesson :)

Total
5
4.54

Peer Grade by Tarun Jaikumar

Assignment
Weightage
Grade
Comments

College Board Coverage
20
18
Seems to pretty well cover all the college board topics for wrapper classes

Java Examples
30
26
Has good short examples however for double wrapper you can be more clear with an example and this could improve teaching more

Popcorn Hack Usage
10
8.5
Had good short practice exercises(around 3 I believe) however could improve with more optional exercises if students want to practice more

Homework
10
9
The homework seemed to be pretty reflective of the topics and was simple and made it easy to understand/remember the topics

Grading Plan
10
9
Was clear on weigthings for each thing

Original an Creative
10
8
I liked the use of images and emojis to captivate  student attnetion however you could still improve on making it more interactive in another way

Total
90
78.5
Overall great job on this section, although you can improve, I think your page for it is very well for teaching

Skill
Points
Grade
Evidence

Work Habits (Analytics)
1
0.91

Team Planning (Issue)
1
0.91

Presentation Memories
1
1

Grading and Feedback
1
0.87

Beyond Perfunctory
1
0.93
Came together and made a joint lesson that we feel modeled the future  of may other lessons,

Total
5

Hmmm basketball?   I like summary you have in blog.  Saw something about grade tracker that looked interesting.

Was honest about their time management in their team tech
Concise descriptions
Including "something funny" to ensure memory of all units

Concise descriptions of the lessons. I really like all of the memes that you had for each of the units to remember the topics.

I like how you are using visuals that help you remember key concepts, you have great descriptions and highlights

I liked your visuals that really helped us understand what you are talking about.

Explained well and it was memorable.  Seems to work well with teammates and made some important memories.

I loved the memes you had for each unit, it really helps make things memorable. I also liked how you made a final project to test your own knowledge of the concepts.

I like that your page is organized and that you included memes to help you remember the content

Presentation helped as a review for what happened in the past 2 weeks and how you learned from it.

I like how you included a meme from each unit to help you remember them. I also liked how you used all of the topics to create a project.

I like how your personal examples includes information from all the units, showing you have a strong understanding

Overall, it is solid work and then the blog and the issue are very organized as well. The issue included images and good summaries.

Blog - in association with Units and Teaching
Memory - something to recall your individual presentation
Relevancy - something impactful you learned
Beyond Perfunctory - something that shows you want to learn
Unit 2 using object was lesson.  Praised team members.  Did short description of unit with meme.   He has very unique blog.

included memes and images to go alongside side his work he did in sprint 1 during team teaches. He made references to his team's teaching and showed how his lesson was memorable and important to him.

I like the idea of having short descriptions with a meme to help you remember it and understand the different units.  I also like your final code example that included different units.

Images were very good. I like the idea of short and concise, and the final hack is good for combining all of the lessons learnt.

Overall blog is well organized and makes everything easy to review in the future if needed.

I like the visual aspect of your project and how you added something funny to make the specific lessons more memorable. Also, the notes were super concise which allows for very quick reviewing.


Document: constructor (...args) { super(...args);

// Always pass all arguments received into the super. These are required by some Polyfills.
constructor (...args) {
super(...args);

This requirement is for an outdated polifill.
No need to update the doc.


Validate VM creation using --nics

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az vm create
Errors:
When specifying an existing NIC, do not specify NSG, public IP, ASGs, VNet or subnet.

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az vm create -g {} -l {} --name {} --image {} --size {} --nics {} --public-ip-address {} --public-ip-sku {} --subnet {} --nsg {} --nsg-rule {} --admin-username {} --authentication-type {} --ssh-key-values {} {} --validate

Expected Behavior
Validation successful since the nic doesn't exist yet
Environment Summary
Linux-5.4.0-54-generic-x86_64-with-debian-buster-sid
Python 3.6.10
Installer: DEB

azure-cli 2.15.1

Extensions:
aks-preview 0.4.66
azure-firewall 0.7.0

Additional Context

hi @devcovato could you pls share the command you're running? from the error, after specifying NIC, no need to specify NSG, public IP, ASGs, VNet or subnet.

hi @yungezz,
The command is the one reported using az feedback with argument values redacted.
In my opinion, the error message is misleading. I tried to validate the command before executing it, and the NIC with other resources didn't exist yet. From the behaviour, it seems the validation is checking the syntax and not the status of the actual resources. From the documentation https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az_vm_create:

--validate
Generate and validate the ARM template without creating any resources.

Again, I assume the validation is checking the syntax. Is it correct?

@devcovato  --nics should pass an existing NIC(s). And you do not need to provide NSG, public IP, ASGs, VNet or subnet.

@qwordy, from documentation https://docs.microsoft.com/en-us/cli/azure/vm?view=azure-cli-latest#az_vm_create:

--nics
Names or IDs of existing NICs to attach to the VM. The first NIC will be designated as primary. If omitted, a new NIC will be created. If an existing NIC is specified, do not specify subnet, VNet, public IP or NSG.

In bold the interesting part, in my case, the specified nic didn't exist yet and so, I set the other parameters. Is that wrong?
Reading the documentation I got the impression I can pass all parameter using the naming convention I like, instead of relying on name generation. Moreover, to me, it seems a good entry point to create all resource in one place than creating separately and link later. Creating the nic separately doesn't offer the same capabilities for NSG, for example.

If nic does not exist, then you can't specify it. I understand your request. You want to name the new nic. Mark it as a feature request.

@devcovato, If nic does not exist, then you can't specify it. I understand your request. You want to name the new nic. Mark it as a feature request.

You mean like Azure cmdlets already support?
New-AzResourceGroupDeployment [bla bla] -nicName $nicName
What voodoo magic is being used in this case to make it work and how can we replicate this using azure-cli?


Connecting with MQ Explorer via SSL

Hi,
I haven been trying to use the same helm chart example for OPenShiftNativeHA.
In the end i have 2 routes: web and qm route.
Connecting to the cluster using a nodePort (non SSL), works fine.
Now i want to try out the connection via SSL, but i always get SSL errors and i dont reach the MQ LOgs (yet).
I got "application.jks" file into a folder and configure MQ Explorer to use "application.jks".
qm: mqdev
chanel: MTLSQMCHL
mq route:           https://mqdev-ibm-mq-qm-mqdev.apps
mq web route:   https://mqdev-ibm-mq-web-mqdev.apps
Queue manager mqdev is not available for client connection due to an SSL configuration error. (AMQ4199)
Queue manager mqdev is not available for client connection due to an SSL configuration error. (AMQ4199)
Severity: 30 (Severe Error)
Explanation: The user is trying to connect to a remote queue manager using a secure connection.
Response: Check the SSL configuration of the target queue manager and the local SSL trust store.
{
"channel": [
{
"name": "MTLSQMCHL",
"clientConnection": {
"connection": [
{
"host": "mqdev-ibm-mq-qm-mqdev.apps",
"port": 443
}
],
"queueManager": "mqdev"
},
"transmissionSecurity": {
"cipherSpecification": "ANY_TLS12_OR_HIGHER"
},
"type": "clientConnection"
}
]
}
An again, im not see any logs on. ONly if i go to a brownser and do: https://mqdev-ibm-mq-qm-mqdev.apps
The data received from host '<IP_ADDRESS>' on channel '????' is not valid. [CommentInsert1(<IP_ADDRESS>), CommentInsert2(TCP/IP), CommentInsert3(????)]
2023-02-23T14:58:20.900Z AMQ9999E: Channel '????' to host '<IP_ADDRESS>' ended abnormally. [CommentInsert1(????), CommentInsert2(688), CommentInsert3(<IP_ADDRESS>)]

HI,
From the ./sendMessage.sh i always get the same error:
Starting amqsphac mqdev
Sample AMQSPHAC start
MQCONNX ended with reason code 2393
Sample AMQSPHAC end
Client is a linux machine.
mqclient.ini in the same folder directory than sendMessage.sh has:
SSL:
OutboundSNI=HOSTNAME
also tried:
SSL:
OutboundSNI=mqdev-ibm-mq-qm-mqdev.apps
Unfortunatelly i cant see any log errors on both client and server.

Can you confirm what version of the IBM MQ client you have installed on your machine?

This is the version im using:
<IP_ADDRESS>-IBM-MQC-Redist-LinuxX64.tar.gz
Name:        IBM MQ
Version:     <IP_ADDRESS>
Level:       p920-007-221118
BuildType:   IKAP - (Production)
Platform:    IBM MQ for Linux (x86-64 platform)
Mode:        64-bit
O/S:         Linux <IP_ADDRESS>-microsoft-standard-WSL2
O/S Details: Ubuntu 20.04.4 LTS (Focal Fossa)
InstName:    MQNI92L22111800P
InstDesc:    IBM MQ V<IP_ADDRESS> (Redistributable)
Primary:     N/A

I think that’s the issue, your client version is <IP_ADDRESS> and you need at least 9.2.1. Could you upgrade the MQ version - maybe to 9.3.x then hopefully when you try the sample it will work.

Thanks, but still not working when i upgrade it:
ame:        IBM MQ
Version:     <IP_ADDRESS>
Level:       p932-L230207
BuildType:   IKAP - (Production)
Platform:    IBM MQ for Linux (x86-64 platform)
What do you mean with "you may need to create a new OpenShift Route for the MQ Explorer communication.?". is there any specifications for a route used for MQ?
ALl works for me, except SSL communciation.

Let me explain the previous comments about the OpenShift Route.
If you are using the sample programs sendMessage.sh and getMessage.sh that should now be working (it’s unclear if your above comment is for the sample or MQ explorer). If things are not working can you send the content of the mqclient.ini file, MQ client error log, yaml used to deploy the helm chart, the steps you are following to test and I’ll take a look to see if there is anything obviously wrong.
With MQ Explorer it will always be sending the default SNI header which is built based on the logic here: https://www.ibm.com/support/pages/ibm-websphere-mq-how-does-mq-provide-multiple-certificates-certlabl-capability
And referenced in the document I previously mentioned. To get MQ Explorer working you will need to define another OpenShift Route to allow the communication through, but before we look at that let’s get the sample program working.

HI, i could send you the files but:
mqclient.ini is the one of the "test" folder.
yaml, queues, etc are the same than your example.
One thing, i dont think the client is getting the config of mqclient.ini. I edit the file with an unexisteng key "SSLxxx:" and the ./sendMessage.sh didnt fail.
I would say the problem is from client using SNI.
mqclient.ini (allocated on OpenShiftNativaHA/test)
`##
# Notes      :                                                            #
# 1) This file defines the configuration of a client                      #
# #
##
SSL:
OutboundSNI=HOSTNAME`
ccdt file:
{     "channel":     [         {             "name": "MTLSQMCHL",             "clientConnection":             {                 "connection":                 [                     {                         "host": "mqdev-ibm-mq-qm-mqdev.apps",                         "port": 443                     }                 ],                 "queueManager": "mqdev"             },             "transmissionSecurity":             {               "cipherSpecification": "ANY_TLS12_OR_HIGHER",               "certificateLabel": "aceclient"             },             "type": "clientConnection"         }    ] }
To avoid problems with environment, etc, i move all the certs to the "test" folder, so ./sendMessage.sh looks like:
`
export MQCCDTURL="ccdt_generated.json"
export MQSSLKEYR="application"
export MQCLNTCF=/mnt/c/Temp/mq-helm-main/samples/OpenShiftNativeHA-Development/test
echo "Starting amqsphac" mqdev
/opt/mqm/samp/bin/amqsphac  APPQ mqdev
`
Errors on the mq client are empty:
root@MIS3749:/var/mqm/errors# ls -l
total 0
-rw-rw-r-- 1 mqm mqm 0 Jan 12 14:40 AMQERR01.LOG
-rw-rw-r-- 1 mqm mqm 0 Jan 12 14:40 AMQERR02.LOG
-rw-rw-r-- 1 mqm mqm 0 Jan 12 14:40 AMQERR03.LOG
Something i dont understand is when you do in the test:
export MQCCDTURL="${DIR}/ccdt_generated.json"
export MQSSLKEYR="${DIR}/../../genericresources/createcerts/application"
what file are you pointing? all of them? only kdb?

Hi - let me try and answer your questions above:

The MQ client logic for searching for a mqclient.ini file is document here. As you can see the second check will be A file called mqclient.ini in the present working directory of the application. Assuming you are running the script while within the test directory it should be picked up. One possible issue could be if you are setting the MQCLNTCF environment variable as shown above. As mentioned in the link this should be an absolute file location, and it appears to be pointing to a directory instead of a file.
The MQCCDTURL points to the CCDT file that is generated by the script file, details of this property can be found here. As the URL is environment dependant the sendMessage.sh generates this file automatically for you.
The MQSSLKEYR points to the key store. As outline here you don't add the .kdb extension, this is completed for you automatically. Placing this in a different directory may be causing some of the issues.

Hope the above helps

I think the problem im having is with my own network and certificate inspection.
So let me understand what certs i need and how to use them:

Internal CA . So i can communicate to LDAP (added to /etc/pki/trust )
Native HA Certificate: Server.key and server.crt
Certificate for web route (issued with our internal pki): example: web.mqdev-ibm-mq-qm-mqdev.apps
certificate for qm route: qm.mqdev-ibm-mq-qm-mqdev.apps
App certificate, should be issued to our intenal pki, i guess.

can i just add all those certs like this?
pki:
keys:
- name: default
secret:
secretName: helmsecure
items:
- tls.key
- tls.crt
- mqweb.key
- mqweb.crt
trust:
- name: default
secret:
secretName: user-ca-bundle
items:
- user-ca-bundle.crt
- app.crt
Note: the Route for "web console" is taking the cert "tls.crt", which is issued for the example "mq queuemanager")

If I'm understanding correctly you want different certificates for:

LDAP communication
Internal NativeHA communication
MQ Web console
MQ Data traffic

If I understand correctly, then that configuration will not do what you hope. Also did you get the basics working? This appears to be a slightly different issue than originally mentioned.

we can close this, one  i believe the problems to connect via TLS is due to proxy/certificate inspection.
the rest  works fine on my setup using helm chart (LDAP, internal native HA, etc).


Decouple admin server from plugins startup, add proxy status endpoint

The Travis build has started failing. I assume you are still working on this PR?
There are three failing e2e tests in OriginsReloadRepetitionSpec and OriginsReloadSpec test suites. All of them show similar symptoms:
  The code passed to eventually never returned normally. Attempted 60 times over 1.00299402 seconds. Last failure message: "{"appOne":{"appId":"appOne","activeOrigins":[],"inactiveOrigins":[],"disabledOrigins":[]}}" did not include substring "localhost:41693". (OriginsReloadSpec.scala:73)
- should reflect origin removal in origins status page *** FAILED ***

That is, no origins are shown in the origin status response.

An update on failures - I cannot reproduce this failure locally, making it difficult to diagnose. I am going to try increasing timeouts on the tests in OriginsReloadSpec to see if it makes a difference. I will likely also add extra logging as I cannot see any difference in the logs when the tests pass compared to these failures.

Looks like the test OriginsReloadSpec causes two OriginsSnapshots to be sent when it changes the backends. First to remove the old origins, then to add the new ones.
For some reason, on travis, the snapshot from the removal is being received later than the snapshot from the addition, i.e. out of order.

This is being postpone until required improvements are made separately.

Closing as this is dependent on other work, and the codebase has changed since it was opened. It will probably be done after Styx 1.0 is released.


pcs login command fails

Type of issue

[ ] Bug
[ ] New feature
[ ] Improvement

Description
I am following the instructions at Getting Started / Setup section to proceed to a basic deployment but the pcs login command fails. The output is:
Screenshot
C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli>pcs login
To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code C75HJNRLC to authenticate.
TypeError: Reflect.apply: argument is not an array or array-like object
at ensureStackTrace (Unknown script code:234:9)
at stackGetter (Unknown script code:244:9)
at Logger.prototype.log (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\adal-node\lib\log.js:156:7)
at Logger.prototype.error (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\adal-node\lib\log.js:168:3)
at Logger.prototype.createError (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\adal-node\lib\log.js:202:3)
at Anonymous function (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\adal-node\lib\util.js:130:7)
at self.callback (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\request\request.js:186:7)
at emitTwo (events.js:106:5)
at emit (events.js:191:7)
at Anonymous function (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\request\request.js:1163:5)
at emitOne (events.js:96:5)
at emit (events.js:188:7)
at Anonymous function (C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli\node_modules\request\request.js:1085:7)
at g (events.js:286:7)
at emitNone (events.js:91:7)
at emit (events.js:185:7)
C:\Users\mtheo\source\repos\azure-iot-pcs-remote-monitoring-dotnet\cli>pcs
Please run pcs login
Steps to reproduce

[First step]
[Second step]
[and so on...]

Expected behavior
...
Current behavior
I am following the https://microsoft.com/devicelogin and I am "successfully" authenticated  with the provided code but I can't proceed to the next step "pcs" (basic deployment)
Known workarounds
...
Possible solution
...
Context and Environment

Operating System: ...
GitHub branch: ...
.NET Runtime: ...

I found the problem and resolved it. I uninstalled node chakra and installed the latest release of node.js. Thus I managed to proceed to a local deployment. Please close the issue.


Package Rename bug fix

Requirements

Filling out the template is required.

All new code requires tests to ensure against regressions.

However, if your PR contains zero code changes, feel free to select the checkmark below to indicate so.

[X] Have you ran tests against this code?

[ ] This PR contains zero code changes.

Description of the Change
As helpfully discovered by @savetheclocktower we currently, mistakenly check for the truthy return of db.packageNameAvailability to fail on a package rename, when we need to check it's falsey return.

I just observed the effects — you found the bug :)

If it's alright with everybody, I'll wait on this to land before approving https://github.com/pulsar-edit/ppm/pull/135, since as it is right now I can't end-to-end test that that ppm fix is working, whereas this one appears if I'm following conversation correctly to be the real root-cause issue, and the ppm one is a more superficial one (or at least a client bug rather than infra bug).
Maybe that rounds down to my having one reason: I'd like to be able to test better, heh.

Thanks a ton for the reviews @savetheclocktower & @DeeDeeG I'll get this one merged and deployed


Websocket streams

Adding a websocket link that conforms to the multiplex websocket protocol detailed here:
https://docs.google.com/document/d/1-vkl6o5PjdgsPACXEo80-sF9gPkK9JNIGKxZ8G-2rtM

Currently this branch will not allow you to subscribe to _peer/connect and _peer/disconnect events.

Fixt ^^

This is really cool stuff.  Is any of this functionality exposed to the Zetta runtime or is it all C2Z/Z2Z API?  To enable this inside apps and scouts, we could probably do something like:
module.exports = function(server) {
  var stream = server.createReadStream('*/led/*/state', { limit: 100 });
  stream.on('data', function(msg) {
    // awesome!
  });
};

@kevinswiber Currently no, this PR just focuses on the ws side of things. But yes that would be great in the app.


Minor: Typo fix "Communcation" => "Communication"

Hi @Rick-Anderson, appreciate if you can review. Thanks!

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

@jaliyaudagedara Thank you for your contribution!


Only one facet menu should expand at a time

If we have multi-column facet menus, then they're going to start overlapping. JS hook to close others when one is expanded?

@mccalluc: Yes, this sounds good to me.

Closing in favor of #87 after thinking it over.


Bug: equal sign in path breaks lambda dynamic URL paths

Expected Behaviour
When having an path like: /token/bXl0b2tlbg==
And a decorator like:
@app_rest.post("/token/")
def post_token(token: str):
..
The resolve should find this function and token parameter should be populated with "bXl0b2tlbg=="
Current Behaviour
When having an path like: /token/bXl0b2tlbg==
And a decorator like:
@app_rest.post("/token/")
def post_token(token: str):
..
The resolve returns 404.
Code snippet
from aws_lambda_powertools.event_handler import APIGatewayRestResolver

app = APIGatewayRestResolver()

minimal_event = {
    "path": "/token/bXl0b2tlbg==",
    "httpMethod": "POST"
}

@app.post("/token/<token>")
def post_token(token: str):
    return {"token": token}

def lambda_handler(event, context):
    return app.resolve(event, context)

if __name__ == "__main__":
    print(lambda_handler(minimal_event, None))

Possible Solution
Didn't test it but maybe the equal sign is missing from:
SAFE_URI = "-.~()'!*:@,;"  # https://www.ietf.org/rfc/rfc3986.txt
https://github.com/awslabs/aws-lambda-powertools-python/blob/118f3e995f35808cc3e4edbc70c33e6769e2506e/aws_lambda_powertools/event_handler/api_gateway.py#L43
Steps to Reproduce
Run the snipper code.
returns 404 instead of 200
AWS Lambda Powertools for Python version
latest
AWS Lambda function runtime
3.9
Packaging format used
PyPi
Debugging logs
No response

@baraksalomon thank you for flagging it - I've just tested an exact route and works (API GW decodes the =) but fails as a dynamic argument.
Creating a test and a fix shortly.
Thanks!

Done - triple tested with an endpoint deployed with the fix just in case. Waiting CI to complete and will kick off a patch release to unblock you and prevent others from failures.
Endpoint - GET: https://p7bquief72.execute-api.eu-west-1.amazonaws.com/Prod/token/bXl0b2tlbg==
Snippet
from aws_lambda_powertools.event_handler import APIGatewayRestResolver
from aws_lambda_powertools.utilities.typing import LambdaContext

app = APIGatewayRestResolver()

@app.get("/token/<token>")
def get_token(token: str):
    return {"received": f"{token}"}

def lambda_handler(event: dict, context: LambdaContext) -> dict:
    return app.resolve(event, context)

Wow, that was super fast.
Thanks you!

Fix available as 2.3.1 in PyPi - Compiling Lambda Layer and deploying the next version (15) across all regions.

All complete now (PyPi+Layers+Docs) - let us know if this somehow doesn't fix it for you @baraksalomon.
Thank you for the great bug report one more time ;)


I will reopen this once its ready


Disable incorrect MN signature ban

There is a bug in MN signatures, ignore such MN but do not ban the peer we got this signature from. Bug will be fixed in 0.12.1.x via #836

ACK


simpleui: Add query, parent fields.

Adds fields for linking to Record parents and query field for filtering
results.
This is what I've been using for demos. Committing so it's upstream for other people to try out!

/lgtm

/lgtm


Stop disabling buffering by default

Eclipse/Smarthome has just implemented the change the SSE headers which means we don't need to turn off proxy_buffering.
In testing, responses were only slightly faster using RPi 3 with this change.
This shouldn't effect the bash script because no line has moved and the uncomment/comment functions do not touch 25.

Thanks!

"from BClark09:patch-2" ... cheater >.< ;P

I'll do things probably soon! Promise! ;)

Out of curiosity: I saw that you created a new fork of this repo. Are you working on something specific?

Not right now, just been following your crash course in git. ;)

Ah okay ;) Did you see the latest improvements?
https://github.com/ThomDietrich/openhabian/commit/d496ca8e2fad9acb320dcbd1eec131a4934e3363
https://github.com/ThomDietrich/openhabian/commit/eae7af6549eeec64011926ba15c3364e92e1e792

Would you like to take on one of the open issues? You could tackle issues 28
Apart from what's propsed there I thought it would be nice to have something like RPi-Monitor. The documentation says "RPi-Monitor  is designed to be customisable to fit you specific needs. You will for instance found in this blog soem tutorial explaining how to...", maybe we could use this to give users a nice overview AND log data in one frontend. Who knows :)


Feature Request: Enhanced Grid

The results grid needs to be more friendly post query. Having the ability to Sort, Filter, Rearrange, and Show/Hide Columns is useful anyone querying in production, and trying to reduce my impact.

Here are some additional suggestions from https://github.com/Microsoft/azuredatastudio/issues/3591
"Issue Type: Feature Request
As a data analyst i would be highly useful to make the results grid more interactive.
Allow Column Sorting
Allow Column Filtering (Think Excel)
All user to select a column to remove (I dont need that after all)
Allow Aggregation of Results, that are only client side and dont effect the sql query.
4.1 Allow user to click a column and select SUM, COUNT, AVG, etc... and see the results at the bottom of the results
4.2 Allow user to move column to "top" of results grid, resulting in a "group by'ing" of the results
Azure Data Studio version: azuredatastudio 1.2.4 (1ebfd02, 2018-11-02T21:50:52.634Z)
OS version: Windows_NT x64 10.0.15063"

Hi. I was about to suggest these features, and I found the issue, it would be great to have it, it is the only reason I used the Oracle client. thanks for everything.

This would be very useful for me as I often have to analyse data outside of normal user tools. I used this feature in an old product called Apex SQL Edit years ago before they canned the product.

It would also be great to highlight the entire result row whenever any cell is clicked in result grid. This will be very useful if you have too many columns and scroll.

And sorting/filtering should change the SQL in the editor - fast way to build queries.

Closing based on #14589.  Please open specific issues for any additional results grid suggestions you may have.  Thanks!


HDDS-4178. SCM Finalize client command implementation

What changes were proposed in this pull request?
SCM Finalize client command implementation
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4178
How was this patch tested?
UT. I will fix CI failures.

acceptance failure is unrelated.

thanks @fapifta @avijayanhwx for the review.

Merging this since CI failure is unrelated.


Add text-to-embed.py

This adds an endpoint modeled on text-to-db-similar.py, only returning the embedding instead of the related incidents. The same format from #20 is used, including a vector and from_text_hash field in the response body.
I've only tested this locally using a mock event argument, but I expect that it would work on AWS given its similarity to text-to-db-similar.py.

Same as #20, this seems to all make sense and work!


[Nette] Fix Scope check on NetteInjectPropertyAnalyzer

Fixes https://github.com/rectorphp/rector/issues/7086

All checks have passed 🎉 @TomasVotruba it is ready for review.

Thanks :+1:


ASN Lookup on RFC1918 IPs fails

Found that doing an GeoIP lookup on a private IP against the ASN database causes Logstash to hang, requiring a SIGKILL.
# cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)
# /opt/logstash/bin/logstash -V
logstash 1.5.0
GeoIP database is latest as of this filing
# md5sum  /usr/local/share/GeoIP/GeoIPASNum.dat
d5672dde5cd81286aaaf87ab7defc690  /usr/local/share/GeoIP/GeoIPASNum.dat
Configuration (distilled down from production configuration)
https://gist.github.com/philhagen/5f6d1df7fb32a958d523
Input samples (only differences between these are the actual SRC and DST IP addresses - embedded ICMP message fields are not parsed):
Jun  8 11:23:34 fw_ids kernel: FW DENY_OUTPUT: IN= OUT=eth0 SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=265 TOS=0x00 PREC=0xC0 TTL=64 ID=41078 PROTO=ICMP TYPE=3 CODE=1 [SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=237 TOS=0x00 PREC=0x00 TTL=127 ID=180 DF PROTO=UDP SPT=52091 DPT=514 LEN=217 ]
Jun  8 11:23:34 fw_ids kernel: FW DENY_OUTPUT: IN= OUT=eth0 SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=265 TOS=0x00 PREC=0xC0 TTL=64 ID=41078 PROTO=ICMP TYPE=3 CODE=1 [SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=237 TOS=0x00 PREC=0x00 TTL=127 ID=180 DF PROTO=UDP SPT=52091 DPT=514 LEN=217 ]
Jun  8 11:23:34 fw_ids kernel: FW DENY_OUTPUT: IN= OUT=eth0 SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=265 TOS=0x00 PREC=0xC0 TTL=64 ID=41078 PROTO=ICMP TYPE=3 CODE=1 [SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=237 TOS=0x00 PREC=0x00 TTL=127 ID=180 DF PROTO=UDP SPT=52091 DPT=514 LEN=217 ]
Jun  8 11:23:34 fw_ids kernel: FW DENY_OUTPUT: IN= OUT=eth0 SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=265 TOS=0x00 PREC=0xC0 TTL=64 ID=41078 PROTO=ICMP TYPE=3 CODE=1 [SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=237 TOS=0x00 PREC=0x00 TTL=127 ID=180 DF PROTO=UDP SPT=52091 DPT=514 LEN=217 ]
Results:
Samples 1-3 result in the following:
Exception in filterworker {"exception"=>#<NoMethodError: undefined method `to_hash' for "*AS18144 Energia Communications,Inc.":String>, "backtrace"=>["/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-geoip-0.1.9/lib/logstash/filters/geoip.rb:119:in `filter'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.0-java/lib/logstash/filters/base.rb:162:in `multi_filter'", "org/jruby/RubyArray.java:1613:in `each'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.0-java/lib/logstash/filters/base.rb:159:in `multi_filter'", "(eval):1468:in `cond_func_65'", "org/jruby/RubyArray.java:1613:in `each'", "(eval):1465:in `cond_func_65'", "(eval):482:in `filter_func'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.0-java/lib/logstash/pipeline.rb:221:in `filterworker'", "/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.0-java/lib/logstash/pipeline.rb:157:in `start_filters'"], :level=>:error}

When the filter fails, Logstash cannot be stopped with a SIGTERM - only a SIGKILL.
Sample 4 (which contains two non-RFC1918 IPs) parses fine:
{
        "message" => "Jun  8 11:23:34 fw_ids kernel: FW DENY_OUTPUT: IN= OUT=eth0 SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=265 TOS=0x00 PREC=0xC0 TTL=64 ID=41078 PROTO=ICMP TYPE=3 CODE=1 [SRC=<IP_ADDRESS> DST=<IP_ADDRESS> LEN=237 TOS=0x00 PREC=0x00 TTL=127 ID=180 DF PROTO=UDP SPT=52091 DPT=514 LEN=217 ]",
       "@version" => "1",
     "@timestamp" => "2015-06-12T20:40:21.165Z",
           "type" => "archive-syslog",
           "host" => "logstash2.identityvector.com",
            "ips" => [
        [0] "<IP_ADDRESS>",
        [1] "<IP_ADDRESS>"
    ],
      "ipt_label" => "Jun  8 11:23:34 fw_ids kernel: FW DENY_OUTPUT",
     "ipt_outdev" => "eth0",
      "ipt_srcip" => "<IP_ADDRESS>",
      "ipt_dstip" => "<IP_ADDRESS>",
        "ipt_ttl" => "127",
      "ipt_proto" => "UDP",
    "ipt_srcport" => "52091",
    "ipt_dstport" => "514",
           "tags" => [
        [0] "got_iptables",
        [1] "parse_done"
    ],
     "ipt_srcgeo" => {
                  "number" => "AS15169",
                     "asn" => "Google Inc.",
           "country_code2" => "US",
           "country_code3" => "USA",
            "country_name" => "United States",
          "continent_code" => "NA",
             "region_name" => "WA",
               "city_name" => "Mukilteo",
             "postal_code" => "98275",
                "latitude" => 47.91300000000001,
               "longitude" => -122.30420000000001,
                "dma_code" => 819,
               "area_code" => 425,
                "timezone" => "America/Los_Angeles",
        "real_region_name" => "Washington",
                "location" => [
            [0] -122.30420000000001,
            [1] 47.91300000000001
        ]
    },
     "ipt_dstgeo" => {
                  "number" => "AS15169",
                     "asn" => "Google Inc.",
           "country_code2" => "US",
           "country_code3" => "USA",
            "country_name" => "United States",
          "continent_code" => "NA",
             "region_name" => "CA",
               "city_name" => "Mountain View",
             "postal_code" => "94040",
                "latitude" => 37.385999999999996,
               "longitude" => -122.0838,
                "dma_code" => 807,
               "area_code" => 650,
                "timezone" => "America/Los_Angeles",
        "real_region_name" => "California",
                "location" => [
            [0] -122.0838,
            [1] 37.385999999999996
        ]
    }
}

It should also be noted that the same IP lookups work fine against the latest GeoLiteCity database - only the ASNs fail.

This may be related to Issue #25.

Well that was silly of me.  Sorry to waste time - this is all fixed with version 0.1.10 of the plugin, in #24.
Carry on - hope filing this helps someone else avoid the headache someday...


snakemake

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (d99731f) 95.13% compared to head (79d9870) 95.13%.
Report is 6 commits behind head on master.

:exclamation: Current head 79d9870 differs from pull request most recent head 3d90b67. Consider uploading reports for the commit 3d90b67 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #760   +/-   ##
=======================================
  Coverage   95.13%   95.13%
=======================================
  Files         126      126
  Lines        4913     4913
=======================================
  Hits         4674     4674
  Misses        239      239

Flag
Coverage Δ

unittests
95.13% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Enable WinUI 3 builds in Azure DevOps

The Azure DevOps agents now have VS2019 16.10 installed, so the WinUI3 build step can be uncommented. Confirmation can be found here https://github.com/actions/virtual-environments/blob/main/images/win/Windows2019-Readme.md#visual-studio-enterprise-2019.

Both Windows builds are failing due to an AppxManifest validation error: attribute 'Notification' is missing
Partial output:
  HelloMauiWinUI3 (Package) -> D:\a\1\s\HelloMauiWinUI3\HelloMauiWinUI3 (Package)\bin\x64\Debug\AppxManifest.xml
##[error]HelloMauiWinUI3\HelloMauiWinUI3 (Package)\bin\x64\Debug\AppxManifest.xml(0,0): Error APPX0501: Validation error. error C00CE020: App manifest validation error: The app manifest must be valid as per schema: Line 31, Column 10, Reason: Required attribute 'Notification' is missing.
D:\a\1\s\HelloMauiWinUI3\HelloMauiWinUI3 (Package)\bin\x64\Debug\AppxManifest.xml : error APPX0501: Validation error. error C00CE020: App manifest validation error: The app manifest must be valid as per schema: Line 31, Column 10, Reason: Required attribute 'Notification' is missing

@PureWeen or @mattleibow would you know what we're missing here in the WinUI app's manifest?

aha, I opened in in the manifest editor and the UI called out the missing node:

What is weird is that it's actually the validator that is broken.. because having not set is an acceptable option.

@jonathanpeppers All set :) I thought it would be best to just enable the setting instead of removing assets.


Cubemap renderTexture support

refactoring - move everything out ArrayResource to parent abstract class
handle baseTexture binds differently in ArrayResource/CubeResource
check for parentTextureArray when we bind a texture or framebuffer to texture.

Should help @GoodBoyDigital for his cases.

oh! excite! will test...

Codecov Report

Merging #6435 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev    #6435   +/-   ##
=======================================
  Coverage   78.33%   78.33%
=======================================
  Files          57       57
  Lines        2820     2820
=======================================
  Hits         2209     2209
  Misses        611      611

Continue to review full report at Codecov.

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

I can live with this, but I'm not a huge fan of introducing another abstraction layer. I already feel classes like BaseImageResource overly complicate an otherwise simple resource system and this adds yet another layer. Is there an easier way to achieve the same thing on the resources-side? Either with some static util functions, or having CubeResource override ArrayResource methods?

Hey this is cool! Thanks @ivanpopelyshev. We are going to roll this is as it adds a new useful feature 👍
We discussed and do feel that the resource manager has grown in complexity over time and would definitely benefit from a bit of a refactor, potentially using composition rather than inheritance!
watch this space!

Codecov Report

Merging #6435 into dev will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##               dev     #6435   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        15
  Lines          671       671
=========================================
  Hits           671       671

Continue to review full report at Codecov.

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


Showing contracted speeds as a line across the dashboard chart

At some point I think we had discussed adding a grey line or something across the chart to indicate contracted speeds as entered in the Library Network details:

Did we decide to not include that?

I don't see anything in the wireframes, but if you could send an example of what you're thinking that'll probably be a quick fix! Here's the wireframes I have: https://www.figma.com/file/nNKQWi4GYuiU8RZdMEGQ8s/MLab-Murakami-Vis?node-id=358%3A2


cmd/cue: fmt -s does not preserve the scope of comments which is important for tool files

What version of CUE are you using (cue version)?

$ cue version
cue version v0.6.0

go version go1.20.7
      -buildmode exe
       -compiler gc
       -trimpath true
     CGO_ENABLED 1
          GOARCH arm64
            GOOS darwin

Does this issue reproduce with the latest stable release?
Yes.
What did you do?
Wrote a tool file and ran cue fmt -s on it. While the output of the formatting is correct, it changes the behavior of the tool file by changing the scope of the comment attached to the command.
$ cat make_tool.cue
package make_tool

import (
	"tool/exec"
)

// displays help for available commands
command: help: {
	show: exec.Run & {cmd: [ "sh", "-c", "cue help cmd | grep -A2 'Available Commands:'"]}
}

$ cue cmd help
Available Commands:
  help        displays help for available commands

$ cue fmt -s make_tool.cue

# note that the help text is gone
$ cue cmd help
Available Commands:
  help

# that's because the comment is now scoped to command: help: show instead of command: help
$ cat make_tool.cue
package make_tool

import (
	"tool/exec"
)

// displays help for available commands
command: help: show: exec.Run & {cmd: [ "sh", "-c", "cue help cmd | grep -A2 'Available Commands:'"]}

What did you expect to see?
No change to the behavior of the cue cmd help output after simplification
What did you see instead?
The help text disappears because of the scope change of the comment

Thanks for the report - agreed that cue fmt, even with the -s flag, should not lead to changes in the output of cue cmd help.


Shebang

Hi,
I'm on Arch Linux using Kotlin 1.4.0.
If I run ./gradlekotlinconverter.kts I get this error message:
usr/bin/env: 'kotlinc -script': No such file or directory
/usr/bin/env: use -[v]S to pass options in shebang lines

But if I change the first line in gradlekotlinconverter.kts from this:
#!/usr/bin/env kotlinc -script

to this:
#!/usr/bin/kotlinc -script

it works!

uh oh! I guess it is something from the OS? macOS needs to run the 1st one. :(

It also works here with:
#!/usr/bin/env -S kotlinc --script

Does that also work on macOS?

Yes! That's weird, what that -S is supposed to do?

It splits up the string so that env doesn't look for an executable that is named kotlinc -script (including the space), but rather looks for an executable named kotlinc together with an argument that is -script.

Closed with https://github.com/bernaferrari/GradleKotlinConverter/commit/24614a839defe5c494a3a9904abd40e3d8da0d94. Thanks!


Bump Go version used in v0.34.x to v1.20

Follows from the govulncheck failure in #1342, since Go v1.19 has reached EOL.

PR checklist

[ ] Tests written/updated
[x] Changelog entry added in .changelog (we use unclog to manage our changelog)
[x] Updated relevant documentation (docs/ or spec/) and code comments

In order to get the linter to actually work on v0.34.x, I had to update the v0.34.x CI and code to use the latest golangci-lint, update the linter config, and add some ignores for specific lints in certain places.
If we're going to maintain the v0.34.x branch for much longer, we should possibly consider re-enabling some of the linters I've disabled and fix the lints (a trivial, but time-consuming and low-impact job).


Redefine range() in Python 2

xrange() was removed in Python 3 in favor of a re-worked version of range().  This PR assures equivalent functionality in both Python 2 and Python 3.  Fixes #130

Hi, per branching strategy, please merge to "develop" branch (not "master")

Jenkins please retry a build


refactor(app): update directory structure

Introduction
The proposed directory structure is as follows:
.
├── LICENSE
├── README.md
├── appveyor.yml
├── gulpfile.ts
├── karma.conf.js
├── package.json
├── protractor.conf.js
├── src
│   └── client
│       ├── app
│       │   ├── +about
│       │   │   ├── components
│       │   │   └── index.ts
│       │   ├── +home
│       │   │   ├── components
│       │   │   └── index.ts
│       │   ├── components
│       │   └── shared
│       │       ├── index.ts
│       │       └── services
│       │           ├── name-list.service.spec.ts
│       │           └── name-list.service.ts
│       ├── assets
│       │   └── svg
│       │       └── more.svg
│       ├── css
│       │   └── main.css
│       ├── hot_loader_main.ts
│       ├── index.html
│       ├── main.ts
│       ├── sw.js
│       └── tsconfig.json
├── test-main.js
└── tools

Properties

With the new directory structure, inside src we can place an application server, NativeScript app, ReactNative app, etc.
CSS and assets are in different directories. This keeps the paths between development and production.
The directories which can be considered lazy-loading boundaries (bounded contexts) are prefixed with +, which brings extra semantics.
Introduces a facades with index.ts files inside of each bounded context as well as in shared.

Resolves #749
I'd love feedback.
// cc @ludohenin @d3viant0ne

//cc @NathanWalker
I'm assuming the additional level of nesting is to facilitate a "server"
Are we intending on supporting the server builds via the "project" section of the tools?
If so, it will probably be a good idea to think about and document an high level answer as the question issues will come.
Also, this may be the right time to add a dev-upstream branch and start targeting that for PRs. It will help extended fork maintainers get ready for changes coming in a pending release. I purposefully picked an name !== develop to avoid conflicts with extended repos already using some sort of "git flow"

@mgechev - I'm all about using bounded context. I'm wondering if " + " is the best way to convey that idea or is this a standard convention and I simply didn't know.
I read your blog post before looking at the associated repo. Looking at the repo, the first thing that popped into my head was, "wtf is the + all about" when looking at the directory structure.

I really like this. It would make it possible to bring the {N} app directory here:
https://github.com/NathanWalker/angular2-seed-advanced/tree/master/nativescript
Inside src and make it easier to incorporate into the seed build.
Worth mentioning that {N} has it's own build system with TypeScript (https://github.com/NativeScript/nativescript-dev-typescript) and maybe there's some interesting integration points we can build into the tools to work it into the seed build as well with this restructure in mind.
I also really like the +folder convention to denote lazy-loading boundaries. I haven't seen it before, but I like it.
I never had an issue with css being inside assets and actually have a large private project fork where I'm using .LESS inside assets and it works well.
Lastly maybe it's just personal preference, but I've never seen much value to having:
about/components, home/components, etc.
+
components
For simplicity, it would seem to be cleaner to just have the sample components under components and not scattered throughout src/client/app. I've taken this approach here:
https://github.com/NathanWalker/angular2-seed-advanced/tree/master/src
Top level components (nested in the top level components folder there) to me are essentially the primary pages/components of the app. Those primary pages/components may be made up of dozens to hundreds of other components pulled from (in the advanced seed case) frameworks, however here they could come from shared or just in the nested feature folders about, home, etc.
To me, just more clear. Allows one to go to a single folder components to deal with the primary (master level if you will) components that are wired usually in with the router (lazy loaded or not). Then those reference their pieces from the infinitely scalable shared, frameworks (advanced seed), or any other folder that makes sense to grow the component tree in.

I agree with @NathanWalker about the scattered component structure.
Is it such a good idea to tight naming to implementation/configuration for lazy-loaded context ? But I like the naming though

What if we renamed the css folder to styles? This allows us to keep styles written in css, scss, less or whatever else in this folder. Granted that angular-seed focuses on css only, but other extensions like angular2-seed-sass now have a good home for sass files. If yes, we should also change variables like CSS_SRC to STYLES_SRC.

@nareshbhatia - Solid idea. In reality, the list of people that are going to build with generic css is going to be small. This rather benign change will save everyone else a bunch of refactoring / merge conflict headaches when pulling from upstream.

While on this topic I have a question about this code in seed.config.ts:
// Declare local files that needs to be injected
APP_ASSETS: InjectableDependency[] = [
  { src: `${this.CSS_SRC}/main.css`, inject: true, vendor: false }
];

Is APP_ASSETS meant for injecting CSS only? If yes, we should change the name to APP_STYLES.
In addition, we should probably document InjectableDependency interface properly. It can be pretty confusing. For example, what does vendor = true mean? Does it mean that we are automatically going to look for it in node_modules? Similarly what does inject = true mean vs. some string?

@nareshbhatia

Is APP_ASSETS meant for injecting CSS only?

No, this is also for JS files to be loaded using the script tag.

In addition, we should probably document InjectableDependency interface properly [...]

This is slightly out-of-date but there is something here: https://github.com/mgechev/angular2-seed/wiki/Add-external-scripts-and-styles

@ludohenin, thanks for the reference.  It may be useful to write this doc from the perspective of the interface rather than the use case of external scripts and styles. I think the former will allow us to document every possibility exhaustively. Just a thought.


Issue with training using gpu on docker (slow to start and in general as well I believe, same speed as CPU)

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
NO, stock example script: tensorflow-tutorials/basic_classification.ipynb (in docker)
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): not installed (docker)
TensorFlow version (use command below): b'v1.13.0-rc1-0-g54c5616308' 1.13.0-rc1 (in docker)
Python version: N/A I believe
Bazel version (if compiling from source): N/a
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version:

== cuda libs  ===================================================
/usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudart.so.10.0.130
/usr/local/cuda-10.0/targets/x86_64-linux/lib/libcudart_static.a

GPU model and memory:
== nvidia-smi ===================================================
Thu Feb 21 00:47:44 2019
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.78       Driver Version: 410.78       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro M1200        Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   34C    P0    N/A /  N/A |    518MiB /  4043MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

You can collect some of this information using our environment capture script
You can also obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the current behavior
In the introductory script model.fit(train_images, train_labels, epochs=5) begins training 4 minutes after it is run with this log tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally
It also only trained at a rate of 60 us/sample which was equal to the speed of training using my CPU (different docker image)
Describe the expected behavior
model.fit(train_images, train_labels, epochs=5) begins training when it is run and trains at a faster speed
Code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate the problem.
sudo docker run --name tensor-flow -it -u $(id -u):$(id -g) --runtime=nvidia -v $(realpath ~/notebooks):/tf/notebooks -p 8888:8888 tensorflow/tensorflow:latest-py3-jupyter bash

in docker bash - 'jupyter notebook --ip <IP_ADDRESS>'
Then, run the notebook in tensorflow-tutorials/basic_classification.ipynb
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
latest-gpu-py3-jupyter
Started running
[I 05:40:40.213 NotebookApp] Adapting to protocol v5.1 for kernel b722a15a-97d0-4d5e-8a53-553c8fb58065
2019-02-20 05:41:18.670612: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-02-20 05:41:18.800083: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-02-20 05:41:18.800916: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5b93e80 executing computations on platform CUDA. Devices:
2019-02-20 05:41:18.800955: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): Quadro M1200, Compute Capability 5.0
2019-02-20 05:41:18.819111: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2019-02-20 05:41:18.819805: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5bfdc50 executing computations on platform Host. Devices:
2019-02-20 05:41:18.819834: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): <undefined>, <undefined>
2019-02-20 05:41:18.820045: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: Quadro M1200 major: 5 minor: 0 memoryClockRate(GHz): 1.148
pciBusID: 0000:01:00.0
totalMemory: 3.95GiB freeMemory: 3.27GiB
2019-02-20 05:41:18.820069: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-02-20 05:41:18.820972: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-02-20 05:41:18.820986: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-02-20 05:41:18.820993: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-02-20 05:41:18.821119: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 3053 MB memory) -> physical GPU (device: 0, name: Quadro M1200, pci bus id: 0000:01:00.0, compute capability: 5.0)
2019-02-20 05:45:22.499611: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally

Took this long to start model.fit, but cpu was on high loads for those 4 minutes (gpu memory was being used by python but utilization was low until it started training when utilization went to 50%), kernel then freezes on shut down (need to ctrl-c twice, this happens for all kernels including cpu only)
latest-gpu-jupyter does the same thing
Adapting to protocol v5.1 for kernel 0d53ac42-e696-4671-8595-c884aa8088d3
2019-02-20 05:53:49.471477: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-02-20 05:53:49.535506: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:998] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-02-20 05:53:49.536440: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x64416f0 executing computations on platform CUDA. Devices:
2019-02-20 05:53:49.536467: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): Quadro M1200, Compute Capability 5.0
2019-02-20 05:53:49.554965: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2019-02-20 05:53:49.555436: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x64ab4a0 executing computations on platform Host. Devices:
2019-02-20 05:53:49.555454: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): <undefined>, <undefined>
2019-02-20 05:53:49.555645: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1433] Found device 0 with properties:
name: Quadro M1200 major: 5 minor: 0 memoryClockRate(GHz): 1.148
pciBusID: 0000:01:00.0
totalMemory: 3.95GiB freeMemory: 3.25GiB
2019-02-20 05:53:49.555663: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1512] Adding visible gpu devices: 0
2019-02-20 05:53:49.556601: I tensorflow/core/common_runtime/gpu/gpu_device.cc:984] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-02-20 05:53:49.556620: I tensorflow/core/common_runtime/gpu/gpu_device.cc:990]      0
2019-02-20 05:53:49.556629: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1003] 0:   N
2019-02-20 05:53:49.556768: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1115] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 3031 MB memory) -> physical GPU (device: 0, name: Quadro M1200, pci bus id: 0000:01:00.0, compute capability: 5.0)
2019-02-20 05:57:51.253642: I tensorflow/stream_executor/dso_loader.cc:152] successfully opened CUDA library libcublas.so.10.0 locally

latest-py3-jupyter is just as fast as gpu versions (60 us/sample) Quadro M1200 vs intel 7700HQ, it is possible that the GPU is not working in the above examples (there is some other reason for the increase in GPU utilisation) or maybe the speed really is just equivalent
[I 05:59:23.763 NotebookApp] Adapting to protocol v5.1 for kernel 02073f3e-f863-42c8-9454-4596c4f0e382
2019-02-20 06:00:03.976951: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-02-20 06:00:03.998969: I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU Frequency:<PHONE_NUMBER> Hz
2019-02-20 06:00:03.999527: I tensorflow/compiler/xla/service/service.cc:150] XLA service 0x5391b50 executing computations on platform Host. Devices:
2019-02-20 06:00:03.999549: I tensorflow/compiler/xla/service/service.cc:158]   StreamExecutor device (0): <undefined>, <undefined>

How can you solved this issue? I have similar problem when train keras model on google colab gpu.

I had the same problem and, in my case, it depends on how I run docker:

if I run it indicating the user, then there is a very long delay before training starts
if I run it without indicating the user, then the delay before training happens only at the first launch, while it starts immediately in the subsequent launches

Slow
If i run the container indicating the user:
docker run -u $(id -u):$(id -g) --rm --name tf13_container --runtime=nvidia -it -v /home/user/project:/opt/project tensorflow/tensorflow:1.13.1-gpu bash
Very long delay before training, every time:
docker exec -it -w /opt/project tf13_container python -u -m trainer/task
Fast
If i run the container without indicating the user:
docker run --rm --name tf13_container --runtime=nvidia -it -v /home/user/project:/opt/project tensorflow/tensorflow:1.13.1-gpu bash
Very long delay before training, just the first time:
docker exec -it -w /opt/project tf13_container python -u -m trainer/task
Immediate start of training in the case of subsequent launches (without stopping the container):
docker exec -it -w /opt/project tf13_container python -u -m trainer/task
The trick of reusing the same container without turning it off is shown in the official documentation but it works only if the container is launched without indicating the user.


minor edits in the heading of a section

A long section heading changed to a crispy one

What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind user-interface

/kind content

/kind translation

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area blog

/area documentation

/area videos

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Changed a heading to a crispy one
Special notes for your reviewer:

Thanks for your pull request. Before we can look at it, you'll need to add a 'DCO signoff' to your commits.
:memo: Please follow instructions in the contributing guide to update your commits with the DCO
Full details of the Developer Certificate of Origin can be found at developercertificate.org.
The list of commits missing DCO signoff:

5490c52 minor edits in the heading of a section

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: radhikapc
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [radhikapc]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

missed the doc sign off


LIFEWISE project

Here is a pull request with the LIFEWISE project made by Kateryna Pantiukh (as a Final HW project).

@Chartiza do you mind moving this to https://github.com/onefact/blog.datathinking.org/pulls please? Thank you!


Update cloud download to dmg from zip

Official download link changed format, fixes #9757

Speedy!  I go to read one email...


Write Profiles blog

Let's write a blog that explains the why and vision of profiles.
The blog would complement the documentation that focuses on 'how to use profiles'.
Assigning to December so we have the two quiet milestones to work on this.

Did not have time in this short iteration. Moving to March.
What will happen in February are Copilot docs.

We instead decided to focus on Docs instead. No blog planned. Closing.
https://code.visualstudio.com/docs/editor/profiles


[Enhancement Request] Option to ignore specific games for 'Most Played.'

I have an incremental/clicker game that I often like to leave running in the background. Unfortunately, this results in it dominating the most-played game slots on the start page. I'd appreciate an option to specifically ignore that game so it can show something different there.
It would also let me get rid of Windows Solitaire for the most-played of all-time, lol.
Thank you.

done via 68c970ec4432f27d5c0499107970357172ff79fe


Feature request: Nord Pool integration get data from within HA

Since there is a Nord Pool integration for Home Assistant is it possible to use this data to load in Emhass?
Instead of doing this:
Example using the Nordpool integration
The Nordpool integration provides spot market electricity prices (consumption and production) for the Nordic, Baltic and part of Western Europe. An integration for Home Assistant can be found here: https://github.com/custom-components/nordpool
After setup the sensors should appear in Home Assistant for raw today and tomorrow values.
The subsequent shell command to concatenate today and tomorrow values can be for example:
shell_command:
trigger_nordpool_forecast: "curl -i -H "Content-Type: application/json" -X POST -d '{"load_cost_forecast":{{((state_attr('sensor.nordpool', 'raw_today') | map(attribute='value') | list  + state_attr('sensor.nordpool', 'raw_tomorrow') | map(attribute='value') | list))[now().hour:][:24] }},"prod_price_forecast":{{((state_attr('sensor.nordpool', 'raw_today') | map(attribute='value') | list  + state_attr('sensor.nordpool', 'raw_tomorrow') | map(attribute='value') | list))[now().hour:][:24]}}}' http://localhost:5000/action/dayahead-optim"

Hi and sorry but I don't understand your feature request. Isn't that shell command that you are posting good enough? What is the new feature that you are seeking? That is how it works, you pass the data available from the many different providers out there as argument data in a shell command.

What I want to say now that Home Assistant has added Nord Pool as an integration.

Is it possible to automatically retrieve the Nord Pool data contained in Home Assistant? So that you no longer have to use the shell command? But only have to indicate e.g. in the config file that you use Nord Pool data available in Home Assistant?

I understand that it can be even easier to just tell EMHASS to use Nordpool and it connects directly with HA and retrieves the data.
But in reality this is not a smart move because each integration is unique, so if we do this for Nordpool then we need to do it for Amber, etc. The same principle for the many options to provide solar forecasts for example. The approach that we took is that data coming from an external provider should passed to EMHASS at runtime. So possibly we need to focus on how to ease in the setup of shell commands. The blueprints are a good option, provide a blueprint for each external data provider. Open to contributions on this.

Closing as not planned

A think I understand what you mean, the blueprint in HomeAssistant then acts as a software connector to let the HA integration exchange data with Emhass. Is this correct?


Option to ignore missing files

What should restic do differently? Which functionality do you think we should add?
It would be really nice to have an option E.g. --ignore-missing-files which would allow the backup job to complete.
What are you trying to do? What problem would this solve?
I am trying to use restic to backup a splunk server. I am doing this this by building a list of files (only selecting raw data and skipping metadata) and then use restic to backup the files:
restic backup --files-from backupset.txt'
This works great, but the volumes are big and it takes hours to complete a backup, and during this time, splunk can rotate some files and then restic breaks and says a file does not exist and abort the job.
Did restic help you today? Did it make you happy in any way?
Overall, restic is a very nice backup tool. Good job!

Closing this as it's practically a duplicate of #3098. Please comment in there on the options of using a snapshot to have a consistent, non-changing set of files to back up, or use exclude files or similar. There were three other options mentioned in #3098.


RFC: Rework version_manifest.json update function

RFC: Rework the version_manifest.json update function so that we only try to download the file once each time the script is executed. Prior to this change the update code would run multiples times per execution of the script -- subsequent downloads would be skipped if the file was new enough (defined by VERSIONS_DURATION), but was a hacky solution.
Not all command line options require the version_manifest.json file to exist, so we might want to move the call to the new update function updateVersionsJSON elsewhere.
I also reduced the default duration of this file to to 30 minutes.
This does not cover all of the requests in Issue #164, but it is a start.

Could we use a global variable that is set to TRUE when version_manifest.json is updated? Then subsequent runs of updateVersionsJSON can check this variable and the last update time and skip if needed.

Wait, I see that updateVersionsJSON is now only ran once, nevermind my suggestion.

I'm going to go ahead and merge these changes.  I've tested it fairly well and don't see any new issues.  Hopefully I didn't miss something.

👍


ISPN-9830 ClassWhiteList loads jboss marshalling despite being optional

https://issues.jboss.org/browse/ISPN-9830

Integrated, thanks Will!


Guide content needs help

http://www.freecodecamp.com/field-guide/what-is-pair-programming-and-why-is-it-special
Second paragraph seems off. Suggest rewrite.

Hey @ScottPesetsky
Long time no see! Hope all is well.
We have since moved our field guides to github wiki
You can edit them as well. Check out this one here https://github.com/FreeCodeCamp/FreeCodeCamp/wiki/What-pair-programming-is-and-why-it-is-special
Is this version still off?

Hey @BerkeleyTrue ,
That version is good! When will the website point here?
Good to see you're on-board here. Hope to hang out soon.
-Scott

Hopefully Tonight!


proposal: affected/package: context

Improve performance of the close function of cancelCtx,
by adding a condition to check if it has been closed, before entering the lock.
if err == nil {
	panic("context: internal error: missing cancel error")
}
**_if c.err != nil {
	return // already canceled
}_**
c.mu.Lock()
if c.err != nil {
	c.mu.Unlock()
	return // already canceled
}
c.err = err
if c.done == nil {
	c.done = closedchan
} else {
	close(c.done)
}

I’m afraid that will not work, the double check lock idiom died with the introduction of SMP hardware.


Si_LAMMPS example not working

Hi
I am trying to run the Si_LAMMPS example calculation provided in the example/Si_LAMMPS directory. The step "Estimate force constants by fitting" does not work. The error also occurs after I adjusted all the paths in the run_all.sh script and executing it.
Below you find the last few lines of the output of alm. Do you have any idea what could cause this? Any help is greatly appreciated.
 OPTIMIZATION
 ============

  LMODEL = least-squares

  Training data file (DFSET) : displace/DFSET_harmonic

  NSTART = 1; NEND = 1
  1 entries will be used for training.

  Total Number of Parameters : 7
  Total Number of Free Parameters : 6

  Entering fitting routine: SVD with constraints considered algebraically.
Illegal instruction

I was able to solve the Problem. It only occurs on the login nodes of our cluster, on the compute nodes the program the error does not occur.


fn *intra_pred_dsp_init*: Cleanup and make safe

I think it would be wise to delete all uses of bd_fn and similar macros. It optimizes for code compactness instead of readability which I think is the wrong tradeoff. We can simply have:
dsp_init_fn(...)

match bitdepth {
    8 => { init all the 8bpc stuff here }
    16 => { init all the 16bpc stuff here }
}

This of course makes the code twice as long but more than twice as readable. I don't have to read the bd_fn macro figure out what is going on, I can just see what function is being called directly and I can click on the function name to see what is being called. Constructing the function name in a macro is just not worth the mental overhead and hassle IMO.

I think it would be wise to delete all uses of bd_fn and similar macros. It optimizes for code compactness instead of readability which I think is the wrong tradeoff. We can simply have:
dsp_init_fn(...)

match bitdepth {
    8 => { init all the 8bpc stuff here }
    16 => { init all the 16bpc stuff here }
}

This of course makes the code twice as long but more than twice as readable. I don't have to read the bd_fn macro figure out what is going on, I can just see what function is being called directly and I can click on the function name in my IDE to go to the callee. Constructing the function name in a macro is just not worth the mental overhead and hassle IMO.

I respectfully disagree, and I feel like we've (including @randomPoison) discussed it before.  The bd_fn! way is significantly more readable to me, and C is using a similar macro here, too.  If they're all fully expanded, you're never going to notice if one of them is subtly different, but you would if you couldn't use bd_fn! and the difference is glaringly obvious.  Hence why I feel it's more readable.  It's a consistent, single pattern used throughout the codebase.  It's hiding the redundant information that obscures the important information, making it much more readable.  And our main focus is safety, performance, and making things safe as fast as possible, not focusing on readability and ergonomics yet.  Porting it to use bd_fn! has been much faster for me with much fewer subtle bugs, which I made accidentally more often when I expanded the macro on my initial attempt before adding bd_fn!.

we've (including @randomPoison) discussed it before

Yes, we struck a reasonable compromise in PR #322 .
Since then, it seems bd_fn and wrap_fn_ptr got added so now the reader has to parse through to figure out what is happening.
We should not spend our time compactifying the code by wrapping macros in other macros. Readers that aren't you are not going to find it as readable as you do; I'm among them. That said, I acknowledge your point that the C code uses macros here. I'll let @randomPoison decide what is the best way forward.

We've discussed the macros and function pointer wrapping. While there may have been other ways to do this with less complexity or effort, I think that what we have now is usable (now that it's documented) and I don't think we should spend any more time here in either refining or removing the current implementation.
This PR LGTM, the discussion here is not actually relevant for this PR itself, more of a meta-discussion. I would suggest we merge this and the previous changes and move on with what we have here.


 BlockHeader has several of them for instance, each should be a newtype. We can probably provide interesting methods e.g. for version - is_signalling_soft_fork or such.
Having so many types is a lot of work but IMO in security-critical applications like Bitcoin this is justified.

concept ACK, though I may argue individual cases


⚠ SceneTime has degraded performance

In 263c03b, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1758 ms

Resolved: SceneTime performance has improved in 05c922a after 6 minutes.


NPM/Yarn is downloaded from the default registry if npmVersion or yarnVersion is set

If you have this in your Gradle script:
node {
    npmVersion = '5.0.1'
    download = true
}

Or this:
node {
    yarnVersion = '0.23.4'
    download = true
}

Then NPM/Yarn will be downloaded from registry.npmjs.org, rather than from the mirror site I set in <PROJECT_DIR>/.npmrc.
The reason is, when installing a global package (npm install -g --prefix=<PROJECT_DIR>/.gradle/npm/... npm@<VERSION>), the registry setting in <PROJECT_DIR>/.npmrc is not used.
So far I know the followings:

What works:
** Set registry=http://my-registry.com:1234/repository/ in ~/.npmrc. (A project-level setting would be more ideal for my company though.)
What does not work:
** npmSetup.args += ['--registry=http://my-registry.com:1234/repository/'] yarnSetup.args += ['--registry=http://my-registry.com:1234/repository/'] (In those tasks, args is write-only, according to Gradle.

Ah, right. The args should be modified to allow to be added too. Will mark this as a bug.

How is this supposed to be used?  (Not a Gradle expert, so bear with me).  The plugin apply()  does:
        this.project.afterEvaluate {
            this.config.variant = new VariantBuilder( this.config ).build()
            configureSetupTask()
            configureNpmSetupTask()
            configureYarnSetupTask()
        }

and configureNpmSetupTask calls npmSetupTask.configureVersion, which set the args:
    void configureVersion( String npmVersion )
    {
        if ( !npmVersion.isEmpty() )
        {
            logger.debug( "Setting npmVersion to ${npmVersion}" )
            setArgs( ['install', '--global', '--no-save', '--prefix', getVariant().npmDir, "npm@${npmVersion}"] )
            enabled = true
        }
    }

This  apparently overwrites them if I try do do npmSetup.arg += ..., as indicated by @rkrisztian:
It does seem to work if I do this in an afterEvaluate, but that seems an odd way to define that, and I'm not sure if its guaranteed who comes first, project or plugin.

I use it like this:
afterEvaluate() {
    npmSetup.args += ['--registry=https://some.url/here/']
}

But I agree that the plugin shouldn't be using {{afterEvaluate}} to initialize the arguments, as that is a bad design that also forces us have to use {{afterEvaluate}} as well.


Move s3 unit tests into correct package

Unit tests should be in the same package as the units they are testing
so that they can reach into internals without having to expose those
internals to the world.
Master issue: #1511

@zhaijack @sijie @merlimat
Need to fix something in BlockAwareSegmentInputStream, and the test needs to touch an internal, so moving files first.

retest this please // ReplicatorTest.testCloseReplicatorStartProducer


feat: Implement --use-index & SPA flags

Implemented the --use-index flag. If the path matches a directory and an index.html is found inside, the index.html gets sent instead of the explorer of the directory.
Implemented the --spa flag. If a file/directory is not found, the index.html in the root gets sent. The existence of index.html in the root is also checked at startup. An error is thrown otherwise:
        if config.spa() {
            let mut index_html = config.root_dir();
            index_html.push("index.html");

            if !index_html.exists() {
                eprintln!(
                    "{}",
                    "SPA flag is enabled, but index.html in root does not exist. Quitting...".red()
                );
                exit(1);
            }
        }

The docs were updated to match the new changes

@Antosser can we have 2 PRs for this? And tests as well please?
Its easier to review and to ensure everything is working as expected.

@Antosser can we have 2 PRs for this? And tests as well please?
Its easier to review and to ensure everything is working as expected.

To split this up into 2 PRs, the second will need to come after the first one. They cannot coexist, because of potential merge conflicts. I would be faster to leave this PR as is. I can write test though.

Why do the integration tests not get ran?

An integration test is the right type of test to test the --spa and --use-index flag. However, I do not understand why they do not get run if you do cargo test. Also, given from what I've read, the #[cfg(test)] and the module, seem unnecessary, see the docs

I still need an answer

An integration test is the right type of test to test the --spa and --use-index flag. However, I do not understand why they do not get run if you do cargo test. Also, given from what I've read, the #[cfg(test)], the mod ... {, and the mod.rs file inside tests, seem unnecessary, see the docs

Hey @Antosser!
I recommend reading the workflow files to understand how every test is executed.
With regards to the organization of tests, I suggest leaving them as they are and discuss about them separately.
Lately, for E2E testing I would use something like Bats. I could set in up for you and leave a couple examples for you to follow and apply on this PR.

I recommend reading the workflow files to understand how every test is executed.

Do you mean the GitHub workflow files or the scripts?

Lately, for E2E testing I would use something like Bats

Bats, as in .bat files? Couldn't finds anything else with this name

Hey @Antosser can you rebase please? I would like to merge this once approved!

I love git

I love git

LOL

@Antosser can we have workflow changes in a separato PR please?

I never changed any of the workflow files, but it still looks like I changed them in this PR

I never changed any of the workflow files, but it still looks like I changed them in this PR

I think it has a couple issues while rebasing!

Perhaphs you can delete those workflow files from your PR?

Perhaphs you can delete those workflow files from your PR?

If I delete them, and you merge the PR, they will also disappear in the main branch.
At this point, I have no idea how to fix this PR. I'll just copy/paste the changes I actually made into a new PR

@EstebanBorai Can I make the --index flag the default and replace it with a --explorer flag? Better to know now before making changes I would have to change again later

@EstebanBorai Can I make the --index flag the default and replace it with a --explorer flag? Better to know now before making changes I would have to change again later

I would stick to current approach for now. I dont want to introduce unexpected changes for v0.
I have plans to move into Axum for a v1. I think this change of behavior will fit just fine when on Axum!

Perhaphs you can delete those workflow files from your PR?

If I delete them, and you merge the PR, they will also disappear in the main branch. At this point, I have no idea how to fix this PR. I'll just copy/paste the changes I actually made into a new PR

SGTM

@EstebanBorai Can I make the --index flag the default and replace it with a --explorer flag? Better to know now before making changes I would have to change again later

I would stick to current approach for now. I dont want to introduce unexpected changes for v0.
I have plans to move into Axum for a v1. I think this change of behavior will fit just fine when on Axum!

aight


feat(mantine): pass down row object to getRow* props

Proposed Changes
Adjusting Table's getRowAttributes and getExpandChildren props so that they all match the same arguments signature. I chose the signature of the existing getRowId prop, which is the following:
getRowId?: (originalRow: TData, index: number, parent?: Row<TData>) => string;

Doing so has a few benefits:

It gives more flexibility to the Table implementer. For instance since you have access to the row object (3rd param) you can gain access to tanstack table's row API. So you can do stuff like

<Table
    getExpandChildren={(rowData, index, row) => row.getIsExpanded()
        ? <ExpensiveContentOnlyFetchedWhenExpanded id={rowData.id} />
        : <Loader />
    }
/>

It brings consistency to the table props get*

Potential Breaking Changes
It can break custom layout implementations because the layout props now expect 3 arguments to be passed down the affected props.
Acceptance Criteria

[ ] The proposed changes are covered by unit tests
[ ] The potential breaking changes are clearly identified
[ ] README.md is adjusted to reflect the proposed changes (if relevant)

I crammed in another small fix while at it. It removes the inconsistency between non-sortable and sortable headers. Sortable headers would wrap its children into a Group and non-sortable header would not. Example:


support for django2.0

there is an error like :
user=user if (user and user.is_authenticated()) else None
TypeError: 'bool' object is not callable
'TypeError: 'bool' object is not callable'
Of course the problem could be solved by changing the following line :
user=user if (user and user.is_authenticated()) else None
to:
user=user if (user and user.is_authenticated) else None
but I wanted to know if there is a way like new version or new package to solve this problem. I'm using this package django-channels-presence==0.0.7

The version of Django you are using (something greater than 2.0, which removed support for is_authenticated() as a method) is not supported by django-channels-presence v0.0.7.
The latest version of django-channels-presence is v1.0.0; however this version targets django-channels v2.4, which is backwards-incompatible with django-channels v1.
If you are using Django > 2.0, but django-channels < 2.0, you will need to fork django-channels-presence to add compatibility for the newer Django but older channels.


std.experimental.allocator.make does not respect private class constructors

joeyemmons reported this on 2016-06-14T10:53:32Z
Transfered from https://issues.dlang.org/show_bug.cgi?id=16171
Description
Allocator make with no extra args works on classes even when default construction is not available.

import other;
import std.experimental.allocator;
import std.experimental.allocator.mallocator;
void main(){
	// auto t1 = new test(); // Error
	auto t = Mallocator.instance.make!test(); // Works
}

...

module other;
class test{
	private this(){
	}
}

Worse even is it will still work even if class test does not have a default constructor at all.

module other;
class test{
	private this(int i){
             // No default constructor...
	}
}

joeyemmons commented on 2016-06-14T13:04:46Z
(In reply to b2.temp from comment #1)
> please make another report for this one. This is another issue.

Issue 16172

b2.temp commented on 2016-06-14T12:23:18Z
(In reply to joeyemmons from comment #0)
>
> Worse even is it will still work even if class test does not have a default
> constructor at all.
>
> module other;
> class test{
> 	private this(int i){
>              // No default constructor...
> 	}
> }

please make another report for this one. This is another issue.


Design an logo for the app

Sure go ahead

Thanks for assigning the issue. May I know what kind of logo are you looking for? Do you have any special vision regarding it?

I currently dont have anything in my mind as of now. Whatever comes in you mind with the app theme. You can make a logo with that and post in discord channel. And we all can discuss on that. What do u think about this ?

Yaa, sure we can do that!
Will be sharing the logo on the discord channel

can u assign me trhis issue

@Akansha3001 Its a medium issue, for which I can only provide you 2-3 days. It has been 4 days since I assigned you this issue.
Please make an PR by tonight or I have to assign to someone else.

@Akansha3001 Its a medium issue, for which I can only provide you 2-3 days. It has been 4 days since I assigned you this issue. Please make an PR by tonight or I have to assign to someone else.

Hi! I'm so sorry for the inconvenience caused. I have made the pull request. I've designed 6 logos, you can choose the most appropriate one. Also, shall I share those designs on Discord as well for others to review?

Yeah sure @Akansha3001

@XxThunderBlastxX Shared the designs on discord!

I am ready to work on this issue. I can go ahead on designing the logo

@sagnik-sanyal @Gun2902 Its respective PR is already made. You still look into other issue.


API unbound dns override

Hi,
i come here to know if there is a solution about the opnsense's api on unbound dns services, particularly to post override host to the firewall.
Is there a functionnality to post an override host in unbound dns service via api rest ?
Is there an alternative ? Via config xml with a reboot to push the modifications ?
Best regards,
Thibaut.

I am also very interested in this. In fact i think it is a very common use case (automatic provisioning machines, and creating 'dns records' for them.
I tried to debug the GUI, adding the record should be doable (post with some data, do a second APPLY post. Biggest challenge will be avoiding the CSRF.
Removing it is almost impossible since it uses an ID that can only be found in a table in the HTML.

@Thibaut833 @tabnul This is now merged in master: https://github.com/opnsense/core/pull/5488.


[Android] Shadow issue on Expo

On latest version getting error at <ShadowView />  component.
Location - /node_modules/react-native-curved-bottom-bar/src/CurvedBottomBar/components/ShadowView/index.tsx
export const CurvedBottomBarView =
  Platform.OS === 'android'
    ? UIManager.getViewManagerConfig(ComponentName) != null
      ? requireNativeComponent<CurvedBottomBarProps>(ComponentName)
      : () => {
          throw new Error(LINKING_ERROR);
        }
    : View;

If I am replacing the error return part with simple View. The error is being resolved but shadows are not working on android.

+1

If you're on expo, you should be using the expo component. CurvedBottomBarExpo

In that case my shadowStyle property does not recognize on Android

+1


How to build same model using drag and drop feature in UI

Hi
I would like to know how can I build same graph using drag and drop.
Basically this library gives the preview of existing model and My requirement is to create new model from scratch using drag and drop layers in UI. Any guidance would help. Thank you.

Duplicate of #275


Load configuration from XML

I have a XML with the definition of the SAML endpoint, how can I use it to get the configuration for php-saml?

Read the XML of the IdP and  configure the settings as described in the documentation:
https://github.com/onelogin/php-saml#settings


Add BoundBbsTermwiseSignature2022

Description

[x] Tests for the changes have been added (for bug fixes / features)
[x] The commit message(s) follow conventional commits
[x] Documentation has been added / updated (for bug fixes / features)
[x] Changes follow the contributing document.

Motivation and Context

I added BoundBbsTermwiseSignature2022 suite for bound signature.
Does this PR introduce a breaking change?

[x] Yes
[ ] No

Which merge strategy will you use?

[ ] Squash
[ ] Rebase (REVIEW COMMITS)

All tests are passed after https://github.com/zkp-ld/bbs-signatures/pull/1 and https://github.com/zkp-ld/bls12381-key-pair/pull/1 are merged.


minor: Injecting CompPowerTrader into walls throws out of bounds error on connection check.

Not sure this one is fixable, as it would require a specific catch for injecting power comps into things that are outside of the normally buildable region. Either way, here goes;

Got ThingsListAt out of bounds: (250, 0, 83)

I don't think we need to fix this one as it's only purpose is to demonstrate how to inject ThingComps.
It's the xml that's important, not it's functionality.


Can i use it without pip?

Sorry, this may be a silly question. I am a beginner in micropython and I am using a development board customized based on micropython1.12 without upip or mip. Can I use the source code to call this library?

Hey yes mostly you need to embed it into the kernel configuration anyhow as you need to disable the boards native mdns support.
In theory you could just take the code from the micropython_mdns folder and copy it into your source directory. As long as native mdns is disabled you'll be able to import and run the code as it would be with mip or upip.

Sorry to be precise you need the folder mdns_client from:
https://github.com/cbrand/micropython-mdns/tree/main/src
That is all you need to copy onto your board to have the complete functionality.


Hashset to bitmap

Description
Fixes # (issue)

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?

Test A - lind_project/tests/test_cases/test_a.c
Test B - lind_project/tests/test_cases/test_b.c

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] Any dependent changes have been added to a pull request and/or merged in other modules (native-client, lind-glibc, lind-project)

dummy PR to domain socket branch, looks good on my own review, will open up full branch to group review


ReadOnly Properties

Hi,
I saw there was a issue created about potentially adding an attribute that could
prevent this package from exposing a certain property, this was turned down because
simply making the property internal would fix this.
In my use case, we have a readonly public property, implemented as
public string CoolProperty => "Some Cool Property";

I cannot work out why this property would show up on the generated ui?
This property cannot be made internal, as it is from an external library;

If you look at the generated Swagger (e.g. /swagger/v1/swagger.json), you should see that the corresponding Schema property has the "readOnly" flag set. Unfortunately though, the swagger-ui doesn't render these properties any differently. It's really a limitation with that tool and so you should post your issue in their repo.

I made a filter for this that adds support for ReadOnlyAttribute: https://github.com/domaindrivendev/Swashbuckle/issues/138


giphy 0.1.1

Hi guys,
I'm submitting a new version for the Giphy step, allowing users to have spaces in their gifs suggestions (See https://github.com/Almouro/bitrise-giphy-step/commit/0492814eef11db70ed8c0dc98eeefce2bf751afd).
Thanks!
New Pull Request Checklist
Please mark the points which you did / accept.

[x] I read the Step Development Guideline
[x] I have a test for my Step, which can be run with bitrise run test (in the step's repository)
[x] I did run bitrise run audit-this-step (in the step's repository - note, if you don't have this workflow in your bitrise.yml, you can copy it from the step template.)
[x] I read and accept the Abandoned Step policy

Hi @Almouro , thanks for the contribution! 🚀


feat: Onnx-runtime embedding function

Closes #17
feat: Onnx-runtime embedding function
docs: Updated docs

#19  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @tazarov and the rest of your teammates on  Graphite


[operator] Test Aqua CSP scanner with container runtimes other than Docker

Runtime	Path to Unix domain socket
Docker	/var/run/docker.sock
containerd	/run/containerd/containerd.sock
CRI-O	/var/run/crio/crio.sock

I'm going to close this one for now. We're going to focus on Trivy in standalone and client-server modes.