#544: Shortcut icon visibility issue on N_MR1 (25) powered devices is fixed

:loudspeaker: Type of change

[ x] Bugfix
[ ] New feature
[ ] Enhancement
[] Refactoring

:scroll: Description

ic_app_shortcut_background.xml drawable moved from drawable-v26 to drawable. It was only available in drawable-v26 because of which shortcut icon was not visible on N_MR1(25) powered devices.
As there is no api specific difference in this file so its better to move it in drawable directory rather than creating another file with same name in drawable.
:bulb: Motivation and Context

Shortcut icon was not visible on N_MR1(25 powered devices.)
#544
:green_heart: How did you test it?
I ran application on two different simulators one with Android 9 (28) and other one with Android 7.1.1(25).
:pencil: Checklist

[x] I ran ./gradlew spotlessApply before submitting the PR
[x] I reviewed submitted code
[ ] I added tests to verify changes
[ ] All tests passing

:crystal_ball: Next steps
:camera_flash: Screenshots / GIFs

Thanks for your pull request. It looks like this may be your first contribution to a Google open source project (if not, look below for help). Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).
📝 Please visit https://cla.developers.google.com/ to sign.
Once you've signed (or fixed any issues), please reply here (e.g. I signed it!) and we'll verify it.
What to do if you already signed the CLA
Individual signers

It's possible we don't have your GitHub username or you're using a different email address on your commit. Check your existing CLA data and verify that your email is set on your git commits.

Corporate signers

Your company has a Point of Contact who decides which employees are authorized to participate. Ask your POC to be added to the group of authorized contributors. If you don't know who your Point of Contact is, direct the Google project maintainer to go/cla#troubleshoot (Public version).
The email used to register you as an authorized contributor must be the email used for the Git commit. Check your existing CLA data and verify that your email is set on your git commits.
The email used to register you as an authorized contributor must also be attached to your GitHub account.

ℹ Googlers: Go here for more info.

I signed it!

I signed it!

We found a Contributor License Agreement for you (the sender of this pull request), but were unable to find agreements for all the commit author(s) or Co-authors. If you authored these, maybe you used a different email address in the git commits than was used to sign the CLA (login here to double check)? If these were authored by someone else, then they will need to sign a CLA as well, and confirm that they're okay with these being contributed to Google.
In order to pass this check, please resolve this problem and have the pull request author add another comment and the bot will run again. If the bot doesn't comment, it means it doesn't think anything has changed.
ℹ Googlers: Go here for more info.

I signed it!

I signed it!

I signed it!

I signed it!

I signed it!

The problem with the CLA resides around the last three commits of this PR.
Have you used a different email for pushing these? If so, can you link that to your GitHub account?

The problem with the CLA resides around the last three commits of this PR.
Have you used a different email for pushing these? If so, can you link that to your GitHub account?

I linked it.

I signed it!


Generating reports in Cucumber is too long

bundle exec cucumber features takes 35m26.729s
And if I run the same tests wit Allure formatter
bundle exec cucumber features -f AllureCucumber::Formatter
real	676m5.260s
user	3m3.384s
sys	3m7.436s
This is the console output
17:34:26 Starting case_or_suite Публичная часть. Поиск. Новый дизайн with labels {:severity=>:normal}
17:34:26 Starting test Публичная часть.
  # a lot of information from Allure formatter
04:46:08 Stopping case_or_suite Публичная часть. Поиск. Новый дизайн
04:46:08 Writing file 'gen/allure-results/a824fa50-87d2-0132-ffc1-02deadbeef05-testsuite.xml'...
04:46:09 Build step 'Execute shell' marked build as failure
04:46:09 Allure Report Generation: started
04:46:09 Allure Report Generation: find directories by mask [**/allure-results]
04:46:09 Allure Report Generation: found allure result directories [/var/jenkins/workspace/autotests-RealtyAutotests/gen/allure-results]
04:46:09 Allure Report Generation: copy founded directories in directory [/var/jenkins/workspace/autotests-RealtyAutotests/allure6222696439890247726.tmp/results]
04:46:09 Allure Report Generation: generate report from directory [/var/jenkins/workspace/autotests-RealtyAutotests/allure6222696439890247726.tmp]
04:46:09 Allure Report Generation: proxy settings [active:'false', host:'null', port:'0', username:'null', password: '']
04:46:29 Allure Report Generation: attach report link to build and project
04:46:30 Allure Report Generation: completed

Any suggestions why it takes so long from execution?

@gabyshev report generation takes 21s. Seems like its cucumberJVM issue.

@baev sorry issue was on our side. Closing


Update gettingstarted.md

Docs needed an update to run the tests

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the catch! This was failing due to travis config problem, should be green if you rebase onto master.

Sure sir


feat: refactor

drop python 3.8 and before version support
add PEP517 and PEP518 support
API changed
add multiple sender and recever

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@30d1f71). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage        ?   98.11%
=======================================
  Files           ?        3
  Lines           ?      106
  Branches        ?        0
=======================================
  Hits            ?      104
  Misses          ?        2
  Partials        ?        0

Flag
Coverage Δ

unittests
98.11% <0.00%> (?)

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

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 30d1f71...fca1e6a. Read the comment docs.


[HUDI-4614] fix primary key extract of delete_record when complexKeyGen configured and ChangeLogDisabled

Change Logs
fix primary key extract of delete_record when complexKeyGen configured and ChangeLogDisabled
Impact
when complexKeyGen configured and ChangeLogDisabled, the primary key output is not correct
Contributor's checklist

[ ] Read through contributor's guide
[ ] Change Logs and Impact were stated clearly
[ ] Adequate tests were added if applicable
[ ] CI passed

@garyli1019 @danny0405 can you help review it, thx

@hudi-bot run azure


How are subscriptions stopped?

I'm probably just very confused right now. To track down some subscription issue I've narrowed it down to this:
<script>
  import { Meteor } from 'meteor/meteor';
  Meteor.subscribe('contacts');
</script>

If I render this component conditionally (toggling a checkbox) it will subscribe / unsubscribe from contacts. How? There is no $m or Tracker. I also can't see an onDestroy being generated for this component. What is this magic and how do I disable it? Does melte somehow globally wrap every component in a Tracker?
Edit: I need this because I want certain subscriptions to be subscribed to lazily (once needed) but then keep them open forever. I had this abstracted away and wondered why it was unsubscribing.

Is rdb:svelte-meteor-data in .meteor/versions? It modifies Meteor.subscribe to automatically unsubscribe when the component is destroyed.

Thank you very much, it is indeed! I was using the official Svelte skeleton and it includes both packages (https://github.com/meteor/meteor/blob/de41620db3ebd68e223fb1ae0a0eba9fd91cc700/tools/static-assets/skel-svelte/.meteor/packages).
I see value in both packages, but I like how unobtrusive this package is. I'll stick with it, thanks for creating it.


difference in the  pitch and speed

When replay the recorded speech, it would be lower in the pitch or (when I use headphone, it would higher and resultin like Donald duck sound).
I have no idea why it would be like this, I compare using webAPI to record and replay the same sound (pronounce by myself with same headphone), webAPI is normal.
Anyone experience the same issue?

1+


SCM should close associated editors when associated resources are committed or discarded

One of my biggest SCM papercut issues is that the diff editors I had opened when reviewing an outgoing change remain open even after I committed the changes or discarded them. That makes my quick open history picker get polluted with diff editors that are no longer valid.
Would be great if any editor that was opened from a change get's discarded when done.

/duplicate https://github.com/microsoft/vscode/issues/18651

I left a comment in the other thread about this. I love VS Code but this bugs me a lot, every day. At its most basic surely this could be accomplished with a command palette action to close any tabs with (Working Tree) in their title. I don't mind doing it once. It's the messing around with X number of tabs in no coherent order after reviewing big changes that really annoys me.


Kafka Framework fails when running on a GKE cluster

The current version of Kafka we use in our framework won't work with GKE:
small-kafka-0   0/1       Pending   0         0s
small-kafka-0   0/1       Pending   0         0s
small-kafka-0   0/1       Pending   0         3s
small-kafka-0   0/1       ContainerCreating   0         3s
small-kafka-0   0/1       Running   0         15s
small-kafka-0   0/1       Error     0         17s
small-kafka-0   0/1       Running   1         18s
small-kafka-0   0/1       Error     1         20s
small-kafka-0   0/1       CrashLoopBackOff   1         33s
small-kafka-0   0/1       Running   2         34s
small-kafka-0   0/1       Error     2         36s

The exact error message is:
[2019-01-23 01:16:07,655] INFO Loading logs. (kafka.log.LogManager)
[2019-01-23 01:16:07,663] ERROR There was an error in one of the threads during logs loading: kafka.common.KafkaException: Found directory /var/lib/kafka/lost+found, 'lost+found' is not in the form of topic-partition
If a directory does not contain Kafka topic data it should not exist in Kafka's log directory (kafka.log.LogManager)
[2019-01-23 01:16:07,664] FATAL [Kafka Server 0], Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka.common.KafkaException: Found directory /var/lib/kafka/lost+found, 'lost+found' is not in the form of topic-partition
If a directory does not contain Kafka topic data it should not exist in Kafka's log directory
	at kafka.log.Log$.exception$1(Log.scala:1131)
	at kafka.log.Log$.parseTopicPartitionName(Log.scala:1139)
	at kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$3$$anonfun$apply$10$$anonfun$apply$1.apply$mcV$sp(LogManager.scala:153)
	at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:57)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2019-01-23 01:16:07,667] INFO [Kafka Server 0], shutting down (kafka.server.KafkaServer)
[2019-01-23 01:16:07,670] INFO Terminate ZkClient event thread. (org.I0Itec.zkclient.ZkEventThread)
[2019-01-23 01:16:07,677] INFO EventThread shut down for session: 0x268784681130001 (org.apache.zookeeper.ClientCnxn)
[2019-01-23 01:16:07,677] INFO Session: 0x268784681130001 closed (org.apache.zookeeper.ZooKeeper)
[2019-01-23 01:16:07,681] INFO [Kafka Server 0], shut down completed (kafka.server.KafkaServer)
[2019-01-23 01:16:07,682] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
kafka.common.KafkaException: Found directory /var/lib/kafka/lost+found, 'lost+found' is not in the form of topic-partition
If a directory does not contain Kafka topic data it should not exist in Kafka's log directory
	at kafka.log.Log$.exception$1(Log.scala:1131)
	at kafka.log.Log$.parseTopicPartitionName(Log.scala:1139)
	at kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$3$$anonfun$apply$10$$anonfun$apply$1.apply$mcV$sp(LogManager.scala:153)
	at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:57)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
[2019-01-23 01:16:07,685] INFO [Kafka Server 0], shutting down (kafka.server.KafkaServer)

Which is a known problem, e.g. see here: https://github.com/kubeless/kubeless/issues/460
The only workaround I see is

A clean-up step as also stated in the referenced kubeless issue above
Using confluentinc/cp-kafka which is used by https://github.com/helm/charts/tree/master/incubator/kafka

See also Slack conversation: https://kubernetes.slack.com/archives/C09NXKJKA/p1548207090459900

https://github.com/maestrosdk/frameworks/blob/master/repo/stable/kafka/versions/0/kafka-frameworkversion.yaml#L281

Similiar comment to https://github.com/maestrosdk/maestro/issues/90#issuecomment-461383910

There was a lot of work on Kafka since, closing as we can reopen if it's still true

cc. @zmalik


Mocha Test id depends on the file path

When running javascript unit test via Mocha on a TFS build, TFS is not able to detect that the test was failing in a previous build and tag as failing in the current build
Expected Behavior
same test failing in consecutive build should be detected as failing in the first build.
Actual Behavior
same test failing in consecutive build is not detected as failed in the first build
Steps to Reproduce
My assumption about this issue is about the test having some file path in its ID. the file path depends on the workspace location and is different between build agents:
Build A :

Build A + 1

Which seems to be related to the fully qualified name : https://github.com/Microsoft/nodejstools/blob/master/Nodejs/Product/TestAdapter/TestFrameworks/NodejsTestInfo.cs#L42
On regular C# unit tests, you can see the ID seems to not only include the file name but the class name which should be the unique ID

Update to confirm when the test can be find in previous build :

Which version of VS and the Node Tools for VS are you using?

TFS 2015 build agent with VS 2015, NTVS tools is based on 1.3 plus private changes done by @ozyx  and pushed to you already.

@fforjan  Any progress on this work? i.e. should I push out a new 1.3 drop, or wait for this?

@ozyx was away and should be back tomorrow, I will discuss with him and give you a status

@paulvanbrenk Currently working on this now, will have a PR for you either today or tomorrow.

Awesome, going to take a look tomorrow. @billti feel free to swipe this from me

This is now also fixed in VS 2017


MobileAds cause ios 9 devices to crash...

So MobileAds work fine on the latest version of ios, but on our ios 9 test device (an ipad mini 1) the app crashes after an admob banner is created but before it is shown. I can confirm that if i remove admob from the app everything works correctly, and I have tried a few different versions and all seem to have this issue atm.
Last tested on version 7.66.0
The device log doesnt give any real information, it just seems to crash, below is what i have managed to extract:
Time	Device Name	Type	PID	Tag	Message
Aug 13 16:12:07	iPad	Warning	48	SpringBoard	Application 'UIKitApplication:com.MyApp[0x1c6]' crashed.
Aug 13 16:12:10	iPad	Error	505	ReportCrash	assertion failed: 13G36: libsystem_trace.dylib + 15927 [E82A6F2D-873A-39AD-8014-EDEB52248157]: 0x0

Note: This was actually caused by the facebookadapter, reverting to an earlier version of the adapter or calling disablemediation at startup fixed things


Support plantuml.include.path configuration

Hey,
I would like to use plantuml.include.path in order to specify some base directories for my plantuml libraries.
Given in every puml file I need to consider the directory structure like !include ../../mylib/mylib.iuml
When plantuml.include.path="./mylib/" is applied
Then in every puml file I can simple do this !include mylib.iuml
Is this option somehow available via maven to set the java-property?
If not can this be added to the configuration?
Thanks :)

Found one option: Simple add it to the mvn command:
mvn -Dplantuml.include.path="./mylib" com.github.davidmoten:plantuml-maven-plugin:generate

Ok, nice to have a record of that here in the issues. Anything else you'd like?


Split up a cli export and a main export

This allows the module to be consumed programatically and from a cli

!merge


Add tests for cakephp-ex repository.

Add tests for cakephp-ex repository.
The tested matrix is:
7.4, to 8.0 branch "4.X" is used
8.1, 8.2, and above "5.X" branch is used
the rest is master

[test]

[test]


redirect to app if app has been installed already

hey, I successfully implemented ngx-smart-banner into a webapplication. When opening the website the smart banner shows up and redirects me to the store. But if the app is installed already and open the website (history and cookies cleared) the banner still shows up and again redirects me to the store.
I wonder why

it shows up in the first place
and if show up why does it not open the app itself ?

Can you give me a hint here? thx

Hi @gutisalex ,
The smart banner you're probably taking about is the native smart banner of safari, this only works for IOS apps and safari, android never released a native one.
What this package does is check local storage if you've seen it, if not it wil inject a component which are styled to look "some what" native.
The amount of time it doesn't show up is depending on if user click to close banner, or chooses to go the store, these are configurable.
I might look into https://web.dev/get-installed-related-apps/ to see if I can implement something like that, but that would likely only be for hiding the banner when application is installed.


1

Can this project be used for 2D medical image segmentation?

Yes, TFCNs can be used for 2D medical image segmentation. And you should take the regular image in 2D as the slice image in 3D.


Design user profile UX

As a user, I want to login to my account so I can manage my gardens and information associated with me.
Assumptions

We don't have user profiles currently, so you'll be designing these pages from scratch
We're using Globus Auth for login, so understand what that looks like so you can consider the globus pages in your flow
Users need to view and edit their profile information and see what gardens they own ("my gardens").

Design the first draft of this flow, get feedback from the Garden team, incorporate feedback into the next draft, meet with the backend team to scope what they need to do and/or what we need to cut for the first iteration of this feature.

@jamies31 I see that I did include editing a profile in the original story for this issue! Sorry for the confusion about that on my end.

Jamie to present this work at next Garden internal team meeting 6/19


Fix wouter link to prevent crash without href/to

<Link /> components are mainly used together with href and/or to attributes, but there are cases where you'd only rely on the onClick property to navigate. In these cases, wouter crashes when it tries to check for absolute paths.
This PR fixes it by making sure the absolute path test is pointed against a string and not undefined.

(Context: I noticed this issue when using wouter together with plasmic. Plasmic allows to specify the link component being used to take advantage of client-side navigation. In some cases though you'd use the interactions (which is triggered inside onClick) to navigate in response to e.g. an API call. In these cases, wouter crashed).

Released in v3.3.5


BZ 1310039: add reproducer

Added reproducer for BZ 1310039 - kie-aries-blueprint fails to create a KieBase when a rule imports a class that is exported by another bundle.

Added reproducer for BZ 1312285 as well.
Sorry for putting them both into one PR, I wanted to avoid possible merge conflicts.

I fixed BZ-1310039 with this PR https://github.com/droolsjbpm/droolsjbpm-integration/pull/373
I needed to remove the tests related with BZ-1312285 and BZ-1316966. Please open 2 more PRs with those test cases.


espflash 1.3.0+ doesn't not work under WSL with usbipd

As the title suggests, commits post 1.2.0 break compatibility with WSL and usbipd.
Connecting to the device over uart with the usual Python IDF utilities works fine.
Narrowing down the issue, it appears it started with commit https://github.com/esp-rs/espflash/commit/85c8eb84db7f0a534d73772069f864475ff4dfe6 .
The error shows as below:
Error: espflash::serial_not_found

  × The serial port '/dev/ttyUSB0' could not be found
  help: Make sure the correct device is connected to the host system

However the device is definitely connected and is listed under /dev/, as well as works with the Python IDF utilities.
espflash 1.4.1 works fine under a Linux host, and on Windows itself as expected.

same here, wsl, espflash v1.4.1
minicom can see the board perfeclty
Compiled on Dec 23 2019, 02:06:26.
Port /dev/ttyUSB0, 13:35:04

Press CTRL-A Z for help on special keys

ESP-ROM:esp32c3-api1-20210207
Build:Feb  7 2021
rst:0xf (BROWNOUT_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3fcd6100,len:0x147c
load:0x403ce000,len:0x91c
load:0x403d0000,len:0x2838
entry 0x403ce000

################################################
arch:ESP32C3, 3
compile_time:Ai-Thinker|B&T
ble_mac:34B4724c46DA
wifi_mac:34B4724c46D8
sdk_version:v4.3-beta3-195-g6be10fab0
firmware_version:2.2.0
compile_time:Jul  5 2021 13:46:35

ready

################################################

I don't use Windows, so unfortunately I can't make any suggestions. It's possible this may be an issue with the serialport library, but again I have no way to verify.

I am also seeing this same behavior. screen can read from the serial port and I've had no trouble working on rp2040 boards through usbipd.

@JurajSadel whenever you get a chance would you be able to take a look at this please?

It's possible this may be an issue with the serialport library

I tested this out and I'm able to interact with /dev/ttyUSB0 using the latest version of the serialport library without issue. Also worth noting the v1.2.0 release uses the same serialport version, though I wasn't able to get it compiling to test.
I'm not sure but judging by my output the problem is that the port type is considered "unknown" rather than "usb". Adding a flag to allow SerialPortType::Unknown types wherever SerialPortType::UsbPort is explicitly allowed might fix this.

It's possible this may be an issue with the serialport library

Kind of, but not quite. I think the true reason for this is that Ubuntu's usbip database of USB hardware identifiers does not have this kind of device (which is true for all new devices until the drivers update anyway), so the serialport crate honestly describes this port as Unknown. The question is - how should we react on that. Theoretically it should be enough to just add our port data into ~/.config/espflash/espflash.toml like so
[connection]
serial = "/dev/ttyUSB0"

[[usb_device]]
vid = "1a86"
pid = "7523"

but for whatever reason it didn't work for me. The port still could not be found despite the crate reads the conf 100% (if I make an intentional mistake there - it would yell at me). I'm not saying it's a bug, I might have missed something from the description.
However this issue will end, the error message The serial port '/dev/ttyUSB0' could not be found is very misleading, that's why it took me that much time to figure it out. The port not "could not be found", it could be found perfectly and even communicated with, but its type is unknown because it is reported as such by another crate "serialport" so please add VID and PID manually.

guys, for those who need to work with espflash on wsl NOW (me) I've created a really quick fix here https://github.com/andywswan/espflash that works like so:
Running `target/debug/espflash board-info`

Ports found by serialport crate: [SerialPortInfo { port_name: "/dev/ttyUSB0", po
rt_type: Unknown }]

Port name from espflash.toml: /dev/ttyUSB0

Adding VID and PID from conf file: SerialPortInfo { port_name: "/dev/ttyUSB0", p
ort_type: UsbPort(UsbPortInfo { vid: 6790, pid: 29987, serial_number: None, manu
facturer: None, product: None }) }

Serial port: /dev/ttyUSB0
Connecting...

Chip type:         ESP32-C3 (revision 3)
Crystal frequency: 40MHz
Flash size:        4MB
Features:          WiFi
MAC address:       34:b4:72:4c:46:d8

it is not a solution to the problem though as it just gets port data from espflash.toml and ignores all the previous logic completely

I'm sorry for the delay, can you guys test #179 if it resolves issues with wsl2, please?
@Verequies, @andywswan,  @KorvinSzanto


 The Protoc generated changes are source code compatible and should ignore these errors in our generated code.
See this doc for more information. After adding all the Clirr checks exemptions in this PR to the downstream handwritten libraries, we are no longer seeing an Clirr failures.

The content LGTM, but I'm not sure how/if this change is going to propagated to each library. For example, we are triggering a regeneration in this PR, but there is no generation change detected for java-common-protos and java-iam.
@diegomarquezp @JoeWang1127 Do you know if this template is used at all?

Oh, I see. If these templates are not being used, then I can also manually make these changes in each handwritten library.

Looking at code in library_generation/owlbot/bin/write_clirr_ignore.sh:
# restore default clirr-ignored-differences.xml for protos if the file does not exist
for dir in `ls -d proto-google-*`
do
  if [ ! -f "${dir}/clirr-ignored-differences.xml" ]
  then
    tmp_dir=$(mktemp -d -t ci-XXXXXXXXXX)
    pushd ${dir}
    pushd src/main/java
    find * -name *OrBuilder.java | xargs dirname | sort -u | jq -Rns ' (inputs | rtrimstr("\n") | split("\n") ) as $data | {proto_paths: $data}' > ${tmp_dir}/paths.json
    popd
    python3 "${scripts_root}/owlbot/src/gen-template.py" --data=${tmp_dir}/paths.json --folder=${templates_dir}
    popd
  fi
done

The clirr file will be generated if only didn't exist before.

Hmm, thanks for the link above. I guess it does make sense to only generate if the clirr file doesn't exist. I guess it is possible for new changes to overwrite the existing clirr configurations that handwritten teams may have added.
@blakeli0 @JoeWang1127 @diegomarquezp Do you have any concerns if we merge this in so that new libraries won't have any Clirr issues when generated with Protoc 3.25.x and Runtime 4.27.4+. I can go through all our handwritten (and potentially existing gapic libraries) and add these new clirr exemptions?

Do you have any concerns if we merge this in so that new libraries won't have any Clirr issues when generated with Protoc 3.25.x and Runtime 4.27.4+.

LGTM.
However, do we need to revert the change when updating protoc to 4.x?

I don't think so. IIUC, Clirr runs against the previous released versions and these exemptions are for runtime upgrade from 3 -> 4 and I think they can continue to stay. I think when we do update from protoc 3.x to 4.x, we may need to include a new set of clirr exemption rules though.

Do you have any concerns if we merge this in so that new libraries won't have any Clirr issues when generated with Protoc 3.25.x and Runtime 4.27.4+

SGTM. We definitely need it for new libraries in google-cloud-java. FYI, @JoeWang1127 is looking into maybe always generate this file in the future.

Can you add a comment to remind us to revert the PR if, after protoc major version updates, the build succeeds without the change.

Do old Clirr exemptions need to be removed for clirr to run properly? Can this just live inside the template even if it's not relevant any more.
Or is this mostly just a cleanup for the clirr file?


Site Support Request: Ars Technica

Running the latest 2015.09.09 version, I get this result:
$ youtube-dl -v -j "http://arstechnica.com/gadgets/2015/09/smart-rifle-company-trackingpoint-restructures-and-relaunches/"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'-j', u'http://arstechnica.com/gadgets/2015/09/smart-rifle-company-trackingpoint-restructures-and-relaunches/']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.09.09
[debug] Python version 2.7.6 - Linux-4.1.0-x86_64-linode59-x86_64-with-Ubuntu-14.04-trusty
[debug] exe versions: avconv 9.18-6, avprobe 9.18-6, rtmpdump 2.4
[debug] Proxy map: {}
WARNING: Falling back on generic information extractor.
ERROR: Unsupported URL: http://arstechnica.com/gadgets/2015/09/smart-rifle-company-trackingpoint-restructures-and-relaunches/
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1222, in _real_extract
    doc = parse_xml(webpage)
  File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1656, in parse_xml
    tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/usr/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: mismatched tag: line 76, column 6
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 660, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 287, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1820, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://arstechnica.com/gadgets/2015/09/smart-rifle-company-trackingpoint-restructures-and-relaunches/

Notably if I inspect the video element on that page, it appears to be a simple MP4 file hosted on Cloudfront. Any chance this can be more readily integrated into youtube-dl than your average hosting service? :-)

I can't find any video on that webpage, can you check it and post a screenshot if it displays it for you?

Crap, I am so sorry! I was messing with a couple of different URLs on that site today and ended up pasting in the wrong one. Let's do it again:
$ youtube-dl -v -j "http://arstechnica.com/security/2015/09/video-3d-printed-tsa-travel-sentry-keys-really-do-open-tsa-locks/"
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'-j', u'http://arstechnica.com/security/2015/09/video-3d-printed-tsa-travel-sentry-keys-really-do-open-tsa-locks/']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2015.08.23
[debug] Python version 2.7.10 - Darwin-14.5.0-x86_64-i386-64bit
[debug] exe versions: none
[debug] Proxy map: {}
WARNING: Falling back on generic information extractor.
ERROR: Unsupported URL: http://arstechnica.com/security/2015/09/video-3d-printed-tsa-travel-sentry-keys-really-do-open-tsa-locks/
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1211, in _real_extract
    doc = parse_xml(webpage)
  File "/usr/local/bin/youtube-dl/youtube_dl/utils.py", line 1594, in parse_xml
    tree = xml.etree.ElementTree.XML(s.encode('utf-8'), **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1300, in XML
    parser.feed(text)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1642, in feed
    self._raiseerror(v)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror
    raise err
ParseError: mismatched tag: line 78, column 6
Traceback (most recent call last):
  File "/usr/local/bin/youtube-dl/youtube_dl/YoutubeDL.py", line 655, in extract_info
    ie_result = ie.extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/common.py", line 287, in extract
    return self._real_extract(url)
  File "/usr/local/bin/youtube-dl/youtube_dl/extractor/generic.py", line 1804, in _real_extract
    raise UnsupportedError(url)
UnsupportedError: Unsupported URL: http://arstechnica.com/security/2015/09/video-3d-printed-tsa-travel-sentry-keys-really-do-open-tsa-locks/

@dstftw Oops, thanks - hadn't seen it was covered elsewhere. The CN extractor doesn't seem to work/match for the supplied URL though?


[DEVOPS-949] nix: Support building from git worktrees

Description
Previously it would fail to get the gitrev value:
error: illegal name: '.git'
(use '--show-trace' to show detailed location information)

You would have to supply a --argstr gitrev NNN manually to get it to work.
Linked issue
https://iohk.myjetbrains.com/youtrack/issue/DEVOPS-949
Type of change

Bug fix to build system and dev environment.

QA Steps
git checkout develop
git worktree add ../csl/devops-949 devops-949-nix-git-worktree
cd ../csl/devops-949
nix-build -A cardano-sl-wallet-new-static
./result/bin/cardano-node --version

I'm not so happy about the amount of nix glue code we keep adding...

Me neither. We could move the problem into nixpkgs by upstreaming the fix. :-) Or add a nix builtin.
It will be good to delete this code, but in the meantime this will solve a usability bug.


Put try, except around OAuth2Token init

Put try, except around OAuth2Token.init so NoneType scopes don't raise errors.
Fix for issue #296

This pull request doesn't actually fix the problems people are having with google oauth2. #323 does.


Need to copy files using Deployment groups

LINK: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/deploy/windows-machine-file-copy?view=vsts#q--a
Do you have anything that i can use to copy files to remote machines using a deployment group?

Hi @PillaiOEC, did you find any solution to do that?.
I want to copy files to the remote machines that match the tag from the deployment group.


if: branching behavior?

This came up while thinking about #241
openeo-processes defines the if process as:

if(boolean|null value, any accept, ?any reject) : any
If the value passed is true, returns the value of the accept parameter, otherwise returns the value of the reject parameter.
This is basically an if-then-else construct as in other programming languages.

However, it is defined as a regular process (think "function"), and not as a control structure as in other programming languages. The difference is subtle but can have large impact.
In a traditional "if" control structure you have something like an "if" expression and an "else" expression, and only one of these expressions is evaluated, depending on the condition.
As a regular a function however, you have no expressions, but an "if" value and and "else" value. In a straightforward or naive implementation of evaluating functions or processes, you implicitly assume that both values are calculated before you apply the function itself. In case of "if" this is probably not what a user expects or wants.
For example in #241, the "if" would be used to convert a given value in different ways, depending on it's type. In this case you first want to pick the desired conversion approach and apply it to the input. Not the other way around: first apply all conversion approaches and then pick the desired output.

The if process indeed is a special case that process graph parsers should consider and run just what is required to run. We don't have control structures in openEO and thus this depends on the back-end implementation. The back-ends probably want to implement this to stay competitive wrt costs...
Alternative would be to put everything in callbacks, but that seems to make things more complex then they need to be from the user perspective....

FYI: the VITO backend currently does not give if special treatment at the moment, so both the "if" and "else" value are calculated regardless of the condition.
In principle it should be feasible to add it as a special case, but things might get complicated because when we process a process graph we first do a dry run before the real wet run to extract information that could be relevant for load_collection nodes. In the dry run we would not have a concrete value for the condition, so we would be forced to follow both the "if" and "else" branches. However, if the dry run and wet run are different we might in get trouble elsewhere.
It would be interesting to know how other backends handle if in this regard. @lforesta  @aljacob ?

I see a couple of paths to close this case:

don't change anything. This would implicitly mean that it's up to the backend to interpret how if should be implemented
don't change behavior but explicitly mention in docs that it's up to the backend to choose how it's handled (calculate both branches naively or calculate only the relevant branch)
specify that a backend implementation should only calculate the branch that corresponds with the condition
specify that a backend implementation should always calculate both branches

I'm not sure what's the best option at the moment

I'd say it's either 2 or 3.
1 is basically 2, but I don't see why adding a clarification is bad. So I see no point in choosing 1.
2 is easy to do, but bad for comparability/reproducibility.
3 is more complex to implement.
4 doesn't make much sense to force back-ends to compute not needed data.

An implementation guide has been added.


Canonical classifiers may help with conflicting dependency versions

I have an issue where adding a library requires something like the following:
<dependency>
    <groupId>org.mvnpm</groupId>
    <artifactId>swagger-ui-react</artifactId>
    <version>5.11.0</version>
    <exclusions>
        <exclusion>
            <!-- [2.0.1,3)-->
            <!-- [1.0.10,2) -->
            <groupId>org.mvnpm</groupId>
            <artifactId>argparse</artifactId>
        </exclusion>
        <exclusion>
            <!-- [8.0.0,9) -->
            <!-- [7.4.3,8) -->
            <groupId>org.mvnpm</groupId>
            <artifactId>minimatch</artifactId>
        </exclusion>
    </exclusions>
</dependency>

This accomodates the minimatch and argparse libraries having different parent dependency trees from the same library. I was thinking that if "canonical"/"dependable" classifiers were used we could work around this and potentially give the compliers in use both versions.
Right now the output GAV for minimatch is something like org.mvnpm:minimatch:8.0.4:jar. If we added classifiers for the 8 series and 8.0 series we could have GAVs like ``org.mvnpm:minimatch:8.0.4:8:jarandorg.mvnpm:minimatch:8.0.4:8.0:jar`. This somewhat aligns to the idea of the baseVersion for snapshot builds but not really. These classifiers would just be an alias for the original jar but would allow MVNPM to work around dependency trees that converge on two different versions of the same groupId and artifactId pair as well as allow end-users the capability of something like the following:
<dependency>
  <!-- [8.0.0,9) -->
  <groupId>org.mvnpm</groupId>
  <artifactId>minimatch</artifactId>
  <version>[8.0.0,9)</version>
  <classifier>8</classifier>
</dependency>

<dependency>
  <!-- [7.4.3,8) -->
  <groupId>org.mvnpm</groupId>
  <artifactId>minimatch</artifactId>
  <version>[7.4.3,8)</version>
  <classifier>7</classifier>
</dependency>

I realize that this is not to-spec and, in fact, abuses it a little but what I'd really like to do is solicit discussion and see what the general sentiment for this type of behavior would be in the developer/user community.

Have you looked at the locker (https://github.com/mvnpm/locker) ? That might solve your problem ?


Better error handling - panic instead of "failing up"

If the gotestsum isn't installed or your $GOPATH isn't in your $PATH, you'll fail to call gotestsum after querying your model.
Here is an example output. The part that's actually relevant is marked as bold and it's kind of in the middle of the other "spam" that's not really relevant.
Another standard error close to this position was, that my generated program tried to include libs that I don't have installed.

GOROOT=/usr/lib/go #gosetup
GOPATH=/usr/lib/go/bin #gosetup
/usr/lib/go/bin/go build -o /home/m/.cache/JetBrains/IntelliJIdea2023.2/tmp/GoLand/___2codegemma_7b github.com/symflower/eval-dev-quality/cmd/eval-dev-quality #gosetup
/home/m/.cache/JetBrains/IntelliJIdea2023.2/tmp/GoLand/___2codegemma_7b evaluate --model ollama/codegemma:7b
2024/04/11 13:02:26 Checking that models and languages can be used for evaluation
2024/04/11 13:02:26 Evaluating model "ollama/codegemma:7b" using language "golang" and repository "/home/m/IdeaProjects/eval-dev-quality/testdata/golang/plain"
2024/04/11 13:02:30 Model "ollama/codegemma:7b" responded to query      Given the following Go code file "plain.go" with package "plain", provide a test file with the same structure and package="plain" for this code.
The tests should produce 100 percent code coverage and must compile.
The response must contain only the raw test code and nothing else.
    ```golang
    package plain

    func plain() {
            return // This does not do anything but it gives us a line to cover.
    }
    ```

       Start your answer with tripple backticks.

with:  ```go
package plain
    import "testing"

    func TestPlain(t *testing.T) {
            plain()
    }
    ```

2024/04/11 13:02:30 $ gotestsum --format standard-verbose --hide-summary skipped -- -cover -v -vet=off ./...
2024/04/11 13:02:30 Evaluated model "ollama/codegemma:7b" using language "golang" and repository "/home/m/IdeaProjects/eval-dev-quality/testdata/golang/plain": encountered 1 problems
2024/04/11 13:02:30 Excluding model "ollama/codegemma:7b" since it was not able to solve the "plain" repository for language "golang": [exec: "gotestsum": executable file not found in $PATH
github.com/symflower/eval-dev-quality/language.(*LanguageGolang).Execute
/home/m/IdeaProjects/eval-dev-quality/language/golang.go:82
github.com/symflower/eval-dev-quality/evaluate.EvaluateRepository
/home/m/IdeaProjects/eval-dev-quality/evaluate/repository.go:55
github.com/symflower/eval-dev-quality/cmd/eval-dev-quality/cmd.(*Evaluate).Execute
/home/m/IdeaProjects/eval-dev-quality/cmd/eval-dev-quality/cmd/evaluate.go:117
github.com/jessevdk/go-flags.(*Parser).ParseArgs
/usr/lib/go/bin/pkg/mod/github.com/jessevdk/go-flags@v1.5.1-0.20210607101731-3927b71304df/parser.go:335
github.com/jessevdk/go-flags.(*Parser).Parse
/usr/lib/go/bin/pkg/mod/github.com/jessevdk/go-flags@v1.5.1-0.20210607101731-3927b71304df/parser.go:191
github.com/symflower/eval-dev-quality/cmd/eval-dev-quality/cmd.Execute
/home/m/IdeaProjects/eval-dev-quality/cmd/eval-dev-quality/cmd/command.go:26
main.main
/home/m/IdeaProjects/eval-dev-quality/cmd/eval-dev-quality/main.go:8
runtime.main
/usr/lib/go/src/runtime/proc.go:271
runtime.goexit
/usr/lib/go/src/runtime/asm_amd64.s:1695
plain.go]
2024/04/11 13:02:30 Evaluating models and languages
2024/04/11 13:02:30 Evaluation score for "ollama/codegemma:7b": #executed=0.0%(0/1), #problems=100.0%(1/1), average statement coverage=0.0%

Calling with a symflower model when you don't have the symflower stuff installed also doesn't fail very gracefully.

There are two parts to this issue:

[x] Doing panics instead of using os.Exit for when we want to fail hard. Because the later does not allow for good testing.
[ ] Dong a "tool check" for every language to make sure that tools are installed and working before doing the evaluation.

This has been implemented and with the container image all problems should be gone anyway.


[Backport 2.x] Bump gradle-info-plugin from 7.1.3 to 12.0.0

Signed-off-by: Rishikesh1159<EMAIL_ADDRESS>
Description
Backport of PR #5600
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #5684 (4bbf168) into 2.x (934600f) will increase coverage by 0.05%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##                2.x    #5684      +/-   ##
============================================
+ Coverage     70.57%   70.62%   +0.05%
- Complexity    58615    58632      +17
============================================
  Files          4740     4740
  Lines        280522   280522
  Branches      40883    40883
============================================
+ Hits         197982   198128     +146
+ Misses        66113    65907     -206
- Partials      16427    16487      +60

Impacted Files
Coverage Δ

...va/org/opensearch/gradle/OpenSearchJavaPlugin.java
61.32% <100.00%> (ø)

...port/ResponseHandlerFailureTransportException.java
0.00% <0.00%> (-60.00%)
:arrow_down:

...a/org/opensearch/tasks/TaskCancelledException.java
50.00% <0.00%> (-50.00%)
:arrow_down:

...opensearch/persistent/PersistentTasksExecutor.java
22.22% <0.00%> (-44.45%)
:arrow_down:

...nsearch/rest/action/cat/RestCatRecoveryAction.java
43.61% <0.00%> (-42.56%)
:arrow_down:

...cluster/coordination/PublishClusterStateStats.java
33.33% <0.00%> (-37.51%)
:arrow_down:

...ion/admin/cluster/node/info/PluginsAndModules.java
53.12% <0.00%> (-34.38%)
:arrow_down:

...min/cluster/snapshots/get/GetSnapshotsRequest.java
52.63% <0.00%> (-31.58%)
:arrow_down:

...opensearch/snapshots/SnapshotMissingException.java
28.57% <0.00%> (-28.58%)
:arrow_down:

...rc/main/java/org/opensearch/ingest/IngestInfo.java
51.72% <0.00%> (-27.59%)
:arrow_down:

... and 498 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Extra table rows for Returns when empty lines start with spaces

Describe the bug
When there are lines in the docstring that are not completely empty (but have spaces or tabs in it) between the end of the Returns block and the next block (in my case Example) extra table rows are added.
To Reproduce
Steps to reproduce the behavior:

Write the following in a docstring:def test():
    """Test docstring with 2 extra empty parameters.

    Returns:
        str: TEST

    Example:
        ```pycon
        >>> test()
        ```
    """

A similar output should be shown:

This however does not happen if there are no spaces (only empty lines) between the last parameter and the next block (in this case Example)
def test():
    """Test docstring with 2 extra empty parameters.

    Returns:
        str: TEST

    Example:
        ```pycon
        >>> test()
        ```
    """

System information

griffe version: 0.25.4
Python version: 3.9
OS: Windows

I think this may be related to something going on in these lines:
https://github.com/mkdocstrings/griffe/blob/1ff091890f4ebdf11709326028ef9bc74f1f1455/src/griffe/docstrings/google.py#L667-L682

Solution (?)
I made some progress...
I found that the filtering on docstring.lines did not work because the function _read_returns_section (which is responsible for the creation of the returns section) read directly from the original docstring.
I solved temporarily by changing this line:
https://github.com/mkdocstrings/griffe/blob/1ff091890f4ebdf11709326028ef9bc74f1f1455/src/griffe/docstrings/google.py#L393
To:
if name is not None:
    returns.append(DocstringReturn(name=name or "", annotation=annotation, description=description))

This way the bug seems fixed:

Considerations

It would be better to move the check at the start, instead of right before the assignment (maybe something like if _is_empty_line(return_lines[0]): continue)
Should the other _read_*section functions be "patched" as well?

Hello, thanks for the report and investigation!
I've looked at it and the bug actually comes from the function that splits blocks of text (sections). If you look at this:
https://github.com/mkdocstrings/griffe/blob/1ff091890f4ebdf11709326028ef9bc74f1f1455/src/griffe/docstrings/google.py#L112-L119
...you might notice that the first condition does not check if the line is "empty" (just whitespace). So the solution would simply be to check that, and update the rest of the checks accordingly.
I should be able to push a fix tonight :slightly_smiling_face:

Thank you @pawamoy for the quick fix!
Do you know when will this fix be available in a release?

Just released 0.25.5 :slightly_smiling_face:


Add package gamepad

The package has been added already. No need to publish packages when the version is updated, which is handled automatically as long as the tag is updated correctly.

Sorry, new to nim.


Generic client

Hi Elmer,
I just realized some of these commits were on a generic-client branch.  Is your intention to create a full PHP client for the SendGrid API ver. 3?  If so, I had started a similar project on github.  I had wanted to use the Template and Subuser functions of the API but the master branch of this repo didn't provide access to that so I started my own repo with the intent of (eventually) implementing the whole API.  I started with the very basics of the API (i.e. HTTP requests, SendGrid responses and authentication) and implemented some classes and tests for those basic concepts.  You can see my progress at https://github.com/idimensionz/sendgrid-webapi-v3-php . If your intention is to create a full PHP client for the API as well, it might be worth us having a discussion about how to collaborate.  Let me know what you think.
Best regards,
Jim Mullen

Hello Jim,
Yes, it is our attention to create a full PHP client for the SendGrid v3 API. It is our hope to achieve some level of consistency across all of our libraries. To that end, these updates are being modeled on the Web API v3 work being done on the Python library.
It should not be too long before I merge the v3_beta branch into master (probably no more than a week). I will next implement the remaining v3 endpoints to achieve parity with the Python library (just a handful) then I'll be writing the tests and probably refactoring them.
I'm interested to hear your thoughts about collaboration. Thanks!
With Best Regards,
Elmer


Memory leak

After fixing the issue in #263, I think there is still a memory leak. After running in a relatively active rocketchat instance, the bot dies after about a day, after using a lot of memory, and a CPU profile shows that it is spending most of its time garbage collecting.
I took some heap snapshots and tried to find objects that didn't look like they should have been hanging around.
It's hard for me to work out exactly what's going on, but rocketchat_driver.coffee line 162 looks a bit suspicious. It is calling @messages.reactiveQuery every time it gets a message. This calls Asteroid's Set.filter function, which attaches two event handlers "put", and "del" to the Set, which I suspect it never cleans up.

Definitely had not been optimized for memory.  Might also be LRU..  but yeah I'm guessing we're defining variables and leaving them hanging

I am facing same problem. Upgrading to node 8 might solve the problem. It is supposed to be much better than node 4.
When trying to upgrade to node 8 I am getting the following error

@geekgonecrazy  please help

I'm using Node 9 and it seems to work fine.

@jarro2783 can you show me the changes you did to Dockerfile to make it run on node 9 ?

I'm not using the Dockerfile in the repository. I just added it to a minimal Node package with hubot and ran npm install.

I'm happy to help, I'll be in contact.

Please test this with current develop branch. It's working with Hubot v3 and we've put up a demo here: https://github.com/RocketChat/hubot-rocketchat-boilerplate
Most of the code is rewritten and using updated dependencies so hopefully we got rid of the memory leaks along the way.

Will do. I did mean to contact you on open.rocket.chat, but I've had a lot of other more important things to do.

So far the only problem I've had is that robot.messageRoom fails with:
[Wed Apr 18 2018 15:25:33 GMT+1000 (AEST)] ERROR while invoking error handler: TypeError: Cannot read property 'roomID' of undefined
TypeError: Cannot read property 'roomID' of undefined
  at strings.map (/home/jarryd/src/freelancer/chatbot/node_modules/hubot-rocketchat/index.js:155:25)
  at Array.map (<anonymous>:null:null)
  at Robot.send (/home/jarryd/src/freelancer/chatbot/node_modules/hubot-rocketchat/index.js:154:20)
  at Robot.messageRoom (/home/jarryd/src/freelancer/chatbot/node_modules/hubot/src/robot.js:608:23)
  at robot.error (/home/jarryd/src/freelancer/chatbot/src/scripts/error-handler.js:17:13)


Update wording for whitelist/blacklist precedence

What does this PR do?
With this PR - https://github.com/DataDog/integrations-core/pull/2174. The behavior is now to have blacklist take precedence over whitelists. This PR just updates the function doc string to reflect that.
Motivation
Keep docs/comments up to date.
Review checklist

[ ] PR has a meaningful title or PR has the no-changelog label attached
[ ] Feature or bugfix has tests
[ ] Git history is clean
[ ] If PR impacts documentation, docs team has been notified or an issue has been opened on the documentation repo

Additional Notes
Anything else we should know when reviewing?

Codecov Report

Merging #2429 into master will decrease coverage by 10.32%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #2429       +/-   ##
===========================================
- Coverage    83.9%   73.58%   -10.33%
===========================================
  Files         566       45      -521
  Lines       34111     3210    -30901
  Branches     4144      376     -3768
===========================================
- Hits        28622     2362    -26260
+ Misses       4251      755     -3496
+ Partials     1238       93     -1145


[stable/artifactory-ha] Support for configMap to bootstrap Artifactory

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:

/assign

/ok-to-test

/lgtm


Create cookiecutter project templates in the separated repo

Duplicate of #746

We are going to do this next week

Available at https://github.com/airtai/cookiecutter-faststream


feat(git-source): Add support for custom SSH user for GitLab self-hosted

This PR aims to fix #803 by adding a field to change the SSH user used to clone repositories from a self-hosted GitLab instance.
I am not 100% confident on my implementation as I am not very familiar with Svelte and Prisma.

Thanks for the PR! 💜
It`` looks fine, except for a small typo that I fixed here.


master ghc901

As a Hackage Trustee, I made a revision allowing time-1.12: https://hackage.haskell.org/package/hslogger-<IP_ADDRESS>/revisions/

Thanks for the PR, @yaitskov, I'll integrate these version bumps.


start/_index.md translated to Chinese

What changes were proposed in this pull request?
start/_index.md translated to Chinese
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-2725
How was this patch tested?
hugo server -D

@timmylicheng @cxorm @xiaoyuyao Please help review if you are available, thanks. PS: Are there more contributors who speak Chinese ?

Thanks @iamabug for the PR.
For translation, overall LGTM, one suggestions be inline.

Thanks for the suggestions @cxorm @xiaoyuyao , they have been applied in the newest commit.

Thanks @iamabug  for the update. Latest change LGTM, +1. I will merge it shortly.


Add Huld PV model

- [ ] Closes #xxxx

[x] I am familiar with the contributing guidelines
[x] Tests added
[x] Updates entries in docs/sphinx/source/reference for API changes.
[x] Adds description and name entries in the appropriate "what's new" file in docs/sphinx/source/whatsnew for all changes. Includes link to the GitHub Issue with :issue:`num` or this Pull Request with :pull:`num`. Includes contributor name and/or GitHub username (link with :ghuser:`user`).
[x] New code is fully documented. Includes numpydoc compliant docstrings, examples, and comments where necessary.
[x] Pull request is nearly complete and ready for detailed review.
[x] Maintainer: Appropriate GitHub Labels (including remote-data) and Milestone are assigned to the Pull Request and linked Issue.

Adds Huld's model for DC power. This model is used in PVGIS.

FYI: This and other efficiency models are also available in https://github.com/adriesse/pvpltools-python.

Would pvsystem.pvgis be more widely recognized that huld?

Would pvsystem.pvgis be more widely recognized that huld?

I’m not fan of pvgis as a subheading, module, subpackage, namespace.
also sometimes I use $25^{\circ}$

Would pvsystem.pvgis be more widely recognized that huld?

I think so, in the same way pvsyst is more recognizable than... what's his name again?

Would pvsystem.pvgis be more widely recognized that huld?

I think so, in the same way pvsyst is more recognizable than... what's his name again?

I'm inclined to disagree as I wouldn't be surprised if pvgis one day switched to another PV performance model.

 Mermoud is a man

@cwhanse I noticed that the current implementation doesn't exhibit the temperature dependence that I expect.  Here's the temperature coefficient of power at STC:
pdc0 = 300
dT = 0.1
gamma = (huld(1000, 25 + dT/2, pdc0, cell_type='cSi') - huld(1000, 25 - dT/2, pdc0, cell_type='cSi')) / dT / pdc0
print(gamma)  # -1.56733e-05

I think this is because the k coefficient values from the PVGIS website are for a different form of Huld's equation which uses them differently from the 2011 paper.  Compare:

PVGIS website: $P(G, T) = G' \cdot A \cdot \text{eff}_\text{nom} \cdot (1 + k_1 \log G' + k_2 \log^2 G' + ...)$
Huld et al. 2011: $P(G, T) = G' \cdot (P_\text{stc} + k_1 \log G' + k_2 \log^2 G' + ...)$

The two versions of $k_n$ differ by a factor of $P_\text{stc} = A \cdot \text{eff}_\text{nom}$.  Right now we're using the website's coefficients with the paper's equation, thus the strange behavior.  We need to choose which of the two forms to adopt here.  Not sure which one is better.

It would be nice, as a minimum, to be able to replace the website/API calculations.

The two versions of $k_n$ differ by a factor of $P_\text{stc} = A \cdot \text{eff}_\text{nom}$.

Good catch. I noticed the notation difference $k$ and $k'$ in the paper but overlooked what it meant.

Not sure which one is better.

I prefer Huld's paper, since the PVGIS technical document is harder to locate.

It would be nice, as a minimum, to be able to replace the PVGIS website/API calculations.

I agree, and my attempt fails. I don't know how to go about diagnosing where this code diverges from PVGIS.
from pvlib.iotools import pvgis
from pvarray import huld
from pvlib.temperature import faiman

res = pvgis.get_pvgis_hourly(45, 2, components=False, surface_tilt=35,
                             usehorizon=False, pvcalculation=True,
                             peakpower=1, pvtechchoice='crystSi')

data = res[0]

geff = data['poa_global']
ta = data['temp_air']
ws = data['wind_speed']
pdc = data['P']

tmod = faiman(geff, ta, ws, u0=26.9, u1=6.2)
expected = huld(geff, tmod, 1000, cell_type='csi')

print(pdc[:16])
print(expected[:16])

IAM and SMM, I'm guessing?  Their docs say PVGIS uses Martin-Ruiz for IAM, so at least that is easily recreated.  However, the spectral model (SPECMAGIC?) looks decidedly nontrivial to recreate, at least from a quick skim.  https://doi.org/10.3390/rs4030622

Indeed including IAM gets a lot closer:

Code:

Click to expand!
from pvlib.iotools import pvgis
from pvarray import huld
from pvlib.temperature import faiman
from pvlib.iam import martin_ruiz
import matplotlib.pyplot as plt

# use surface_tilt = 0 so that zenith = aoi.  Means we don't have to compute solar position for IAM
df, _, meta = pvgis.get_pvgis_hourly(45, 2, components=True, surface_tilt=0,
                                     usehorizon=False, pvcalculation=True,
                                     peakpower=1, pvtechchoice='crystSi')

# %%

fig, axes = plt.subplots(1, 2, sharex=True, sharey=True, figsize=(8, 4))

for (iam, label), ax in zip([(1, "no IAM"),
                             (martin_ruiz(90 - df['solar_elevation']), "with Martin-Ruiz")], axes):
    smm = 1
    geff = smm * (iam * df['poa_direct'] + df['poa_sky_diffuse'] + df['poa_ground_diffuse'])
    ta = df['temp_air']
    ws = df['wind_speed']
    pdc = df['P']

    tmod = faiman(geff, ta, ws, u0=26.9, u1=6.2)
    expected = huld(geff, tmod, 1000, cell_type='csi')

    ax.scatter(expected, pdc, s=1)
    ax.axline((0, 0), slope=1, c='k', ls=':')
    ax.set_title(label)

axes[0].set_xlim(0, 1000)
axes[0].set_ylim(0, 1000)
axes[0].set_ylabel('PVGIS $P_{dc}$')
for ax in axes:
    ax.set_xlabel('pvlib $P_{dc}$')

fig.tight_layout()

The reference (Huld's 2010 paper) defines G as "in-plane irradiance W/m2" and later, in its discussion of differences between model and measurement, discusses reflections ("the irradiance should be corrected for this effect before applying it to the power model") and spectral effects (no recommendation given). The paper states that the irradiance values used to derive the k' values for cSi modules (Table 7 in the paper, same as in the PVGIS documentation) are from a cSi reference cell. So, I agree - in this model, "G" is effective irradiance, not POA irradiance which is what I assumed, and what I believe the PVGIS API is returning.

@AdamRJensen I don't think we can reproduce the PVGIS API's results, since the spectral adjustment is not exposed nor documented in detail (it appears that PVGIS has an internal look-up table of sorts for spectral adjustment factors). The scope of pvarray.huld is only the conversion of effective_irradiance and cell_temp to pdc. Perhaps a full replication of PVGIS could be realized later, with something like ModelChain.with_pvwatts. Agree?

@AdamRJensen I don't think we can reproduce the PVGIS API's results, since the spectral adjustment is not exposed nor documented in detail (it appears that PVGIS has an internal look-up table of sorts for spectral adjustment factors). The scope of pvarray.huld is only the conversion of effective_irradiance and cell_temp to pdc. Perhaps a full replication of PVGIS could be realized later, with something like ModelChain.with_pvwatts. Agree?

Agreed! I imagine that some future users will ask why they don't match. So I suggest adding an admonition stating that the PVGIS API also applies a spectral correction.

A thought for consideration:  As Huld notes in his paper, the model can also be expressed as an efficiency model.  A function pvefficiency_huld() would be a nice complement to the existing functions

I notice that small but nonzero irradiance results in negative power values:

I'm not immediately seeing any provision for handling this in the reference.  We could constrain the output to be non-negative.  Either way I think it deserves a docstring note.

Discussion has died down, so I assume no further changes are needed.  Thanks @cwhanse and reviewers!


Caterpillar cmd "./caterpillar" is not recognized in command prompt

Error
C:\Users\Hervinder1\caterpillar>./caterpillar.py
'.' is not recognized as an internal or external command,
operable program or batch file.

处理


Missing pyparsing in moto dependencies

Hello,
I am working in Python=3.9.18 and moto=4.2.11 and I am unable to use the Glue mocking service because of the following error below, full traceback at the bottom.
tests/unit/test_service/test_APIService.py:18: in <module>
    from tests.MockGlue import MockGlue
tests/MockGlue.py:12: in <module>
    class MockGlue(unittest.TestCase):
tests/MockGlue.py:14: in MockGlue
    def __init__(self, *args, **kwargs):
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/__init__.py:45: in f
    module = importlib.import_module(module_name, "moto")
/opt/homebrew/Cellar/python@3.9/3.9.18_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/glue/__init__.py:2: in <module>
    from .models import glue_backends
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/glue/models.py:60: in <module>
    from .utils import PartitionFilter
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/glue/utils.py:8: in <module>
    from pyparsing import (
E   ModuleNotFoundError: No module named 'pyparsing'

Even when I check run pipenv graph it does not show 'pyparsing'.
moto==4.2.11
  - boto3 [required: >=1.9.201, installed: 1.33.6]
    - botocore [required: >=1.33.6,<1.34.0, installed: 1.33.6]
      - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
      - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
        - six [required: >=1.5, installed: 1.16.0]
      - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.18]
    - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
    - s3transfer [required: >=0.8.2,<0.9.0, installed: 0.8.2]
      - botocore [required: >=1.33.2,<2.0a.0, installed: 1.33.6]
        - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
        - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
          - six [required: >=1.5, installed: 1.16.0]
        - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.18]
  - botocore [required: >=1.12.201, installed: 1.33.6]
    - jmespath [required: >=0.7.1,<2.0.0, installed: 1.0.1]
    - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
      - six [required: >=1.5, installed: 1.16.0]
    - urllib3 [required: >=1.25.4,<1.27, installed: 1.26.18]
  - cryptography [required: >=3.3.1, installed: 41.0.7]
    - cffi [required: >=1.12, installed: 1.16.0]
      - pycparser [required: Any, installed: 2.21]
  - Jinja2 [required: >=2.10.1, installed: 3.1.2]
    - MarkupSafe [required: >=2.0, installed: 2.1.3]
  - python-dateutil [required: >=2.1,<3.0.0, installed: 2.8.2]
    - six [required: >=1.5, installed: 1.16.0]
  - requests [required: >=2.5, installed: 2.31.0]
    - certifi [required: >=2017.4.17, installed: 2023.11.17]
    - charset-normalizer [required: >=2,<4, installed: 3.3.2]
    - idna [required: >=2.5,<4, installed: 3.6]
    - urllib3 [required: >=1.21.1,<3, installed: 1.26.18]
  - responses [required: >=0.13.0, installed: 0.24.1]
    - pyyaml [required: Any, installed: 6.0.1]
    - requests [required: >=2.30.0,<3.0, installed: 2.31.0]
      - certifi [required: >=2017.4.17, installed: 2023.11.17]
      - charset-normalizer [required: >=2,<4, installed: 3.3.2]
      - idna [required: >=2.5,<4, installed: 3.6]
      - urllib3 [required: >=1.21.1,<3, installed: 1.26.18]
    - urllib3 [required: >=1.25.10,<3.0, installed: 1.26.18]
  - werkzeug [required: >=0.5,!=2.2.1,!=2.2.0, installed: 3.0.1]
    - MarkupSafe [required: >=2.1.1, installed: 2.1.3]
  - xmltodict [required: Any, installed: 0.13.0]

I believe this is a missing dependency that should be fixed, but please let me know if I am missing something.

Full Traceback
Traceback:
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/_pytest/python.py:617: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/_pytest/pathlib.py:567: in import_path
    importlib.import_module(module_name)
/opt/homebrew/Cellar/python@3.9/3.9.18_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1030: in _gcd_import
    ???
<frozen importlib._bootstrap>:1007: in _find_and_load
    ???
<frozen importlib._bootstrap>:986: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:680: in _load_unlocked
    ???
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/_pytest/assertion/rewrite.py:186: in exec_module
    exec(co, module.__dict__)
tests/unit/test_service/test_APIService.py:18: in <module>
    from tests.MockGlue import MockGlue
tests/MockGlue.py:12: in <module>
    class MockGlue(unittest.TestCase):
tests/MockGlue.py:14: in MockGlue
    def __init__(self, *args, **kwargs):
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/__init__.py:45: in f
    module = importlib.import_module(module_name, "moto")
/opt/homebrew/Cellar/python@3.9/3.9.18_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/importlib/__init__.py:127: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/glue/__init__.py:2: in <module>
    from .models import glue_backends
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/glue/models.py:60: in <module>
    from .utils import PartitionFilter
../../.local/share/virtualenvs/campaign-scheduler-lambda-ow-ESZmh/lib/python3.9/site-packages/moto/glue/utils.py:8: in <module>
    from pyparsing import (
E   ModuleNotFoundError: No module named 'pyparsing'

Optional dependencies like pyparsing are only installed if you specify the required services during installation.
This was done to reduce the number of download/installation time for people, as we have a lot of dependencies that are not required by everyone.
In your case you would use:
pip install moto[glue]
You can combine multiple services:
pip install moto[s3,glue,ec2]
Or if you have too many services to list:
pip install moto[all]
See the docs:
http://docs.getmoto.org/en/latest/docs/getting_started.html


Save placed benches/bins for the scenario

It would be nice, if the plugin can remember which bench type and bin type was placed before and if the checkbox is ticked or not.
As an example:
You build 1000 paths, place banks and bins, and build another 1000 paths, but then you forget to select the banks and bins you have chosen before, then all existing banks and bins are overwritten with new ones.

The chosen bench is the third entry in the dropdown list, and the chosen bin is the second one.
When I add them and open the plugin again, it shows the first entrys of the list on both lists:

Also the checkbox isn't checked anymore.
It would be nice, when the plugin could remember those settings at least for this session. If it is possible to save this settings in the savegame, it would be even better. But I don't know, if the savegame makes these plugin saves possible.

If anyone is looking to contribute, this doesn't seem very difficult to do :)

Unfortunately I don't know Javascript, otherwise I would have submitted a PR directly. :-D
It would be great if someone could program this. :-)


Partial backup doesn't work when LSN is exactly at WAL segment start

Found errors like this in the logs:
starting upload PartialRemoteSegment { status: InProgress, name: "000000010000000000000002_103_0000000002000000_0000000002000000_sk347.partial", commit_lsn: 0/2000000, flush_lsn: 0/2000000, term: 103 }
failed to upload<PHONE_NUMBER>00000000000002_103_0000000002000000_0000000002000000_sk347.partial: Failed to open file "/storage/safekeeper/data/XXX/YYY/000000010000000000000002.partial" for wal backup: No such file or directory (os error 2)

The fix is to skip upload in such cases, when LSN offset in segment is exactly zero. Partial backup doesn't work in this case because WAL removal deletes old segment before uploader can read it.
Context: https://neondb.slack.com/archives/C0706FMFRJ7/p1717698384241649?thread_ts=1717549440.269089&cid=C0706FMFRJ7

Impact: generates errors in logs, but no other impact because what we would have uploaded would have been empty.


Could not find a declaration file for module 'vue-clamp'

I get this error when trying to import (import VClamp from 'vue-clamp';)
TS7016: Could not find a declaration file for module 'vue-clamp'. 'C:/Users/csl/Documents/Arbejde/ERST/erst/virksomhedsguiden/frontend-components/node_modules/vue-clamp/dist/vue-clamp.js' implicitly has an 'any' type.   Try npm install @types/vue-clamp if it exists or add a new declaration (.d.ts) file containing declare module 'vue-clamp';
I have added transpileDependencies: ['vue-clamp', 'resize-detector'] to my vue.config.js.

@nc-csl just add next line to your declare.d.ts
declare module 'vue-clamp';


small typo in npm command for nextjs on workers

Existing documentation URL(s)
https://developers.cloudflare.com/workers/frameworks/framework-guides/nextjs/
What changes are you suggesting?
the npm create command npm create cloudflare@latest my-next-app -- --framework=next --experimental
should be
npm create cloudflare@latest my-next-app --framework=next --experimental
(removed extra dashes - the cli doesnt initialize nextjs for workers properly if included)
Additional information
No response

Hi @amxv 👋
Thanks for the issue 🙂
However I don't think that the extra -- are incorrect, I think that they are actually very necessary in npm
For example, running npm create cloudflare@latest my-next-app -- --framework=next --experimental does provide the expected behavior:

While omitting the extra -- makes it so that npm ignores the framework and experimental arguments, meaning that running npm create cloudflare@latest my-next-app --framework=next --experimental ends up behaving like so:

(do notice how the cli is asking you what type of application you want to create instead of going straight into next.js)
So again I don't think we have a real typo/issue here, unless I am missing something? 🙂

Given @dario-piotrowicz's notes, I'm going to close this out for now. @amxv if you'd like us to reopen, please go ahead and provide some more context. Thanks so much!


failover peer invalid argument in dhcpd.log

OPNSense version: 17.1.6 (installed)
https://<IP_ADDRESS>/services_dhcp.php
CARP VIP resides on OPT2 interface
OPT2 Interface name renamed from original
XMLRPC Sync - all set
DHCP only enabled on this opt interface
When Failover Peer is configured, DHCP peers always remain in unknown state.
(Workaround: static ARP enabled and leases are visible on both)
I think the ports on both machines need to be different, however they are mixed up.
Primary never choosen, although carp skew seems to be ok.
192.168.x.254/24 (vhid 4 , freq. 1 / 0 )  - primary
192.168.x.254/24 (vhid 4 , freq. 1 / 100 )  - backup
failover peer "dhcp_opt2" {
secondary;
address 192.168.x.252;
port 520;
peer address 192.168.x.253;
peer port 519;
max-response-delay 10;
max-unacked-updates 10;
load balance max seconds 3;
}
failover peer "dhcp_opt2" {
secondary;
address 192.168.x.253;
port 520;
peer address 192.168.x.252;
peer port 519;
max-response-delay 10;
max-unacked-updates 10;
load balance max seconds 3;
}

Apologies CARP Netmask was wrong.

no worries, thanks for reporting back :)


virtio-win: rename from win-virtio

Description of changes
I suggest renaming the win-virtio package to virtio-win in order to:

be consistent with the upstream package name
be consistent with the other distributions and repology:

other distributions: https://repology.org/project/virtio-win/versions
nixpkgs: https://repology.org/project/win-virtio/versions

What do you think?
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

So the commit message should be virtio-win: rename from win-virtio instead?

So the commit message should be virtio-win: rename from win-virtio instead?

@wegank Oops thanks for the review! I fixed the commit message :)


chore(test) Adjust tests for latest template library

Signed-off-by: Jerome Simeon<EMAIL_ADDRESS>

Coverage remained the same at 96.455% when pulling cb54b2a05cb2d22ebe05ad3f594c13ab7502f9d0 on jeromesimeon:js-fix-library-tests into 0a1480b43828df9efe38016bd80df7f615dfc75f on accordproject:master.


Provide easy conversions from common key types to AccountId32

Forgive me if this is philosophically objectionable for some reason, if it is please enlighten me. After I made the change from old AnySignature to the new MultiSignature I found myself needing to do this in my rust client code quite a bit, and this change would avoid newtype wrappers or ugly .0.into() conversions.

Forgive me if this is philosophically objectionable for some reason, if it is please enlighten me. After I made the change from old AnySignature to the new MultiSignature I found myself needing to do this in my rust client code quite a bit, and this change would avoid newtype wrappers or ugly .0.into() conversions.

Ahh, I just read your description. When you want to convert from MultiSigner to AccountId32, you need to use IdentifyAccount.

Forgive me if this is philosophically objectionable for some reason, if it is please enlighten me. After I made the change from old AnySignature to the new MultiSignature I found myself needing to do this in my rust client code quite a bit, and this change would avoid newtype wrappers or ugly .0.into() conversions.

Ahh, I just read your description. When you want to convert from MultiSigner to AccountId32, you need to use IdentifyAccount.

I don't actually want to convert from a MultiSigner though - I want to convert from a sr25519::Public, hence this conversion. I looked at IdentifyAccount and it didn't really seem to help for that.

Okay, sorry. Please fix the whitespaces.

And then I merge it


[Task]: Add new Python SchemaTransform multi-language documentation

What needs to happen?
Based on https://docs.google.com/document/d/1_embA3pGwoYG7sbHaYzAkg3hNxjTughhFCY8ThcoK_Q/edit?tab=t.0
Full PR is #33348, but will break it down to separate PRs.
Issue Priority
Priority: 2 (default / most normal work should be filed as P2)
Issue Components

[X] Component: Python SDK
[ ] Component: Java SDK
[ ] Component: Go SDK
[ ] Component: Typescript SDK
[ ] Component: IO connector
[ ] Component: Beam YAML
[ ] Component: Beam examples
[ ] Component: Beam playground
[ ] Component: Beam katas
[ ] Component: Website
[ ] Component: Infrastructure
[ ] Component: Spark Runner
[ ] Component: Flink Runner
[ ] Component: Samza Runner
[ ] Component: Twister2 Runner
[ ] Component: Hazelcast Jet Runner
[ ] Component: Google Cloud Dataflow Runner

@chamikaramj
@robertwb
@Polber
@damondouglas
CC'ing y'all as people who frequently interact with the cross-language interface. I believe we don't have any public documentation on SchemaTransforms yet, so would love some feedback on these new docs and examples before they go out.


Fixes issues 245, 242, & 240; removes deprecated syntax in all files

Newer versions of sklearn will not permit sknn to run without throwing a fatal error due to the sklearn team deprecating a core import that sknn needs for its wrapper functions.
This request fixes the issues raised in issue numbers 245, 242, and 240.
Moreover, it fixes a problem identified in pull request number 243.
The code and documentation files have been changed to reflect the syntax changes that the sklearn team made to their code.
Please let me know if there are any issues with this pull request.

sklearn version in travis.yml was not changed before pull request made


Yolox load master map unit test

Added outstanding unit test for YoloX to test loading of master map file.

The other functions at L91, L100, L109, L120, and L140 are only tested on model.yolo. Is it necessary to also implement those tests for model.yolox?
If it's necessary, consider using a fixture that gives model.yolo and model.yolox instead of just duplicating the tests. I think using a fixture for these 2 models is also consistent with how they share the same map_yolo key in the master_mapping.yml.

I think there is no need because of the following reason:
The diagram below shows the added "Translation Layer" that converts class name to object ID and reads each object detection model's mapping system.
The unit tests are designed to test this translation layer, not model operation (which are handled by another set of unit tests).
The red tests check that each of the 3 model's mapping system is loaded correctly: here we need to test all 3 models.
The blue tests check for different translation cases: but they need a model to run and Yolo was just chosen out of the 3.
We could duplicate the blue tests for YoloX (and EfficientDet) but then we would just be testing the translation layer 2 (or 3) times.

Maybe the blue test names create some doubts due to the "yolo" within them. I could remove "yolo" from the test names, to have just test_config_loader_change_class_name_to_id_all_text, etc...
Perhaps this would be clearer?

I see, it's much clearer now, thanks for the explanation. Perhaps just a comment or docstring somewhere to explicitly mention that those tests don't have to be repeated for efficientdet and yolox.
Because it initially looked like missed test cases/branches with efficientdet, yolo, and yolox tested above but only yolo tested below.

Updated unit test code with comments/docstrings to explain what is being tested and removed yolo from some test names to avoid confusion.


Last 2 hours recording

Hi Team,
We need last 2 hours recording only. Currently, it is streaming the entire stream active session. Please share the configuration setup for last 2 hours playback
Thanks

Hi @bhuvanesh-optisol, thank you for opening this issue!
The ability to support playback of the last 2 hours of a stream session would require significant re-architecting of the backend, as it would change the way in which we save and retain recorded content in the S3 bucket. Such a feature is unfortunately out of scope for this proof of concept demo.


Build JavaScript using Pacel

This speeds up the loading time by tree-shaking and prebuilding CoffeeScript

This does not work yet because of https://github.com/prebuild/node-gyp-build/issues/22

I fixed the problem by setting the dist as the root folder.

I wonder if using the parcel library is not needed, if we convert the coffee (only one main file) to js.
The other changes in the PR like babel, shx, cross-env are certainly fine.

The main benefit of using this is to use Parcel to tree-shake the dependencies. We don't use all of the original fuzzaldrin-plus. This bundles and minifies the whole thing which loads much faster.
This is a typical performance improvement pattern we have found by testing many packages in our organization.

All the tests pass. I will merge this!


Optimize postgres startup

Part of https://github.com/neondatabase/cloud/issues/5315
Postgres startup takes 180ms on average in prod, but 20-30ms on my laptop (emulating latency changes nothing). So we can do a lot better.
Evidence that postgres startup is 180ms: Currently on the free tier the config_ms metric shows about 180ms p50. This metric effectively measures startup time of postgres itself (see https://github.com/neondatabase/neon/pull/4608 for why it's called config_ms). I'm looking at p50, not p90 because p90 is skewed by first starts of projects, where the actual config time takes a lot.
So what could be the difference between my fast laptop and the slow prod startups? My first theory was about difference in allocated CPUs, so I ran an experiment with different vCPU configs on staging and measured the time spent on postgres startup during cold start. Results are strange:
1/4 vCPU: 187ms
1/2 vCPU: 184ms
1 vCPU: 55ms
2 vCPU: 78ms
3 vCPU: 102ms

It's not surprising to see 1 vCPU is faster than 1/2 vCPU, but why is it faster than 3 vCPU? Maybe postgres notices and starts more threads, which takes time? I don't know. These numbers make no sense to me so I ran each test a few times to confirm, but there isn't much noise.
So I guess we can win 130ms of startup time by giving the pod 1vCPU for the first 100ms, regardless of compute budget. But maybe this is worth investigating? And still, my laptop starts postgres in 20-30ms, so there's room for something better.
cc @hlinnaka @sharnoff is there an obvious explanation I'm missing?

but why is it faster than 3 vCPU?
Is there the same amount of memory or it is proportional to number of CPUs?
Postgres doesn't somehow take in account number of available core  and do not start threads at all (only backends).
And number of spawned process is the same. May be spawned processes compete with each other and it cause larger time on host with more vCPUs, but I do not think that it can explain such difference.

In any case 20msec or 180msec are much smaller than total time of spawning new compute. As fas as I understand even with all this VM pools and other optimisations is it still seconds and not milliseconds.

As fas as I understand even with all this VM pools and other optimisations is it still seconds and not milliseconds

Non-first starts are about 800ms with pools if you ignore the bug with sni routher (or maybe it's something else).

Some logs with ms timestamps:
2023-07-05 01:17:39.371 GMT [18] LOG:  [NEON_SMGR] using storage auth token from NEON_AUTH_TOKEN environment variable
2023-07-05 01:17:39.562 GMT [18] LOG:  starting PostgreSQL 15.3 on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-07-05 01:17:39.562 GMT [18] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
2023-07-05 01:17:39.562 GMT [18] LOG:  listening on IPv6 address "::", port 5432
2023-07-05 01:17:39.563 GMT [18] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2023-07-05 01:17:39.564 GMT [22] LOG:  [ZENITH] found 'zenith.signal' file. setting prev LSN to 0/3F4C760

It's not surprising to see 1 vCPU is faster than 1/2 vCPU, but why is it faster than 3 vCPU? Maybe postgres notices and starts more threads, which takes time? I don't know. These numbers make no sense to me so I ran each test a few times to confirm, but there isn't much noise.

Weird. There are no per-CPU structures in PostgreSQL, it doesn't even know how many CPUs you have.

Btw basebackup time also drops from 100ms to 50ms when I increase CPUs from 0.25 to 1

Yeah I'd guess it's either one of the extensions, or just memory allocation.
@hlinnaka I'm not sure what's our process for patching postgres.. would it be feasible to add these logs to staging for a week so we can collect some data? I think they'd be enough since they cover everything that looks important between the two log lines that currently have a 200ms gap.
Also, turns out that as a side effect of the interaction of pooling and vms, we'll get 1 vCPU during startup for all pods, so runtime will drop to 55ms. But still, it can probably be even lower, and p90 might still be large so it's worth investigating.

@hlinnaka I'm not sure what's our process for patching postgres.. would it be feasible to add these logs to staging for a week so we can collect some data? I think they'd be enough since they cover everything that looks important between the two log lines that currently have a 200ms gap.

Sure.

If yes, which branch should I send to?

Open a PR in neondatabase/postgres against REL_15_STABLE_neon branch
Open another PR in neondatabase/neon against main branch, for the submodule update.
Merge both PRs.


include support for grafana agent cli

Signed-off-by: Nitishkumar Singh<EMAIL_ADDRESS>
Description

Included support for https://github.com/grafana/agent
Motivation and Context

[x] I have raised an issue to propose this change, which has been given a label of design/approved by a maintainer (required)
Closes #812

How Has This Been Tested?

Install grafana agent using command ./arkade get grafana-agent
Output produced

Downloading: grafana-agent
2022/11/13 18:26:28 Looking up version for grafana-agent
2022/11/13 18:26:29 Found: v0.29.0
Downloading: https://github.com/grafana/agent/releases/download/v0.29.0/agent-linux-amd64.zip
41.42 MiB / 41.42 MiB [--------------------------------------------------------------------------------------------------------------------------------------------------------] 100.00%
/tmp/agent-linux-amd64.zip written.
2022/11/13 18:26:37 Looking up version for grafana-agent
2022/11/13 18:26:37 Found: v0.29.0
Name: agent-linux-amd64.zip, size:<PHONE_NUMBER>22/11/13 18:26:39 Extracted: /tmp/agent-linux-amd64
2022/11/13 18:26:39 Copying /tmp/agent-linux-amd64 to /home/nitishkumar/.arkade/bin/grafana-agent

Wrote: /home/nitishkumar/.arkade/bin/grafana-agent (150.3MB)

# Add arkade binary directory to your PATH variable
export PATH=$PATH:$HOME/.arkade/bin/

# Test the binary:
/home/nitishkumar/.arkade/bin/grafana-agent

# Or install with:
sudo mv /home/nitishkumar/.arkade/bin/grafana-agent /usr/local/bin/

Are you a GitHub Sponsor yet (Yes/No?)

[ ] Yes
[x] No

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Documentation

[x] I have updated the list of tools in README.md if (required) with ./arkade get -o markdown
[ ] I have updated the list of apps in README.md if (required) with ./arkade install --help

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s

[ ] I have tested this on arm, or have added code to prevent deployment

Thank you @nitishkumar71 :1st_place_medal:


Rework configuration to use LittleFS

Recalibrate your IMUs! :D

will this migrate existing on-flash configuration to littlefs on first run? (i.e. if flash is not already formatted as littlefs, check for existing configuration, then migrate?)

no, but this could be added in the future

Don't see the reason, jsut re-calibrate :P

As I realized a couple hours ago: not even possible, LittleFS is in the exact same space as the EEPROM, so formatting the LittleFS basically wipes the existing configuration from existance.

As I realized a couple hours ago: not even possible, LittleFS is in the exact same space as the EEPROM, so formatting for LittleFS wipes the existing configuration from existance. 🤷♀

That's whyvyou check for the pre-existing config before formatting.
that said, Eiren isn't concerned, so meh.

This really solved the problem of my 9250 : a certain probability that it will not work on startup( not sending data)
Thanks guys


[Cloudflare Pages] The 'cache' field on 'RequestInitializerDict' is not implemented.

On certain edge runtimes like Cloudflare (possibly others too), fetch() doesn't implement the cache field. As such, it produces an error:
// POST https://redacted.pages.dev/api/login
  "logs": [
    {
      "message": [
        {
          "code": "INTERNAL_ERROR",
          "message": "Internal error: The 'cache' field on 'RequestInitializerDict' is not implemented."
        }
      ],
      "level": "error",
      "timestamp":<PHONE_NUMBER>063
    }
  ],

See: https://github.com/cloudflare/workerd/issues/698

Temporarily, can we add the feature to pass a custom fetch() function? Similar to: https://github.com/cloudflare/workerd/issues/698#issuecomment-2027798656

Linking this PR thats in flight by James for next-on-pages https://github.com/cloudflare/next-on-pages/pull/771

Hey!
Thanks for reporting @samiy803.
I've released a fix/workaround in<EMAIL_ADDRESS>More details about 1.5 can be found in https://github.com/awinogrodzki/next-firebase-auth-edge/pull/186
Could you test it and let me know if it works?

Hi @awinogrodzki, I have a question about this update. Does it revert the changes required for this issue to be fixed https://github.com/awinogrodzki/next-firebase-auth-edge/issues/159. We didn't bumped the lib to the last version yet 😄.

Hey @asaroukou,
Yes, I've described the issue in this PR: https://github.com/awinogrodzki/next-firebase-auth-edge/pull/187

This PR removes the usages of cache fetch option
Due to above, it's recommended to update Next.js to v14 along with the upgrade to<EMAIL_ADDRESS>to avoid caching issues

You need to update Next.js to version 14 before updating next-firebase-auth-edge to 1.5

You need to update Next.js to version 14 before updating next-firebase-auth-edge to 1.5

Ok so if I understand correctly the caching issue was only related to next 13. Since we already have the 14.x installed it should be fine to bump the lib to his last version.

Ok so if I understand correctly the caching issue was only related to next 13. Since we already have the 14.x installed it should be fine to bump the lib to his last version.

yes, exactly. The issue you faced in https://github.com/awinogrodzki/next-firebase-auth-edge/issues/159 was no longer reproducible in Next.js 14


lib/math/implement_rectangle_test failing in NNBD strong mode

lib/math/implement_rectangle_test is failing in strong mode. It looks like some sort of type inference issue in the CFE. T is declared as T extends num, but these errors say Error: A value of type 'num' can't be assigned to a variable of type 'T'. It doesn't seem to be a nullability issue, because when I tried adding a ! after some of these variables in case that was the issue, I got a bunch of warnings saying that T can't be null.
Logs:
https://dart-ci.appspot.com/log/vm-kernel-nnbd-linux-debug-x64/dartk-weak-asserts-linux-debug-x64/1064/lib/math/implement_rectangle_test

Fixing, using the same code that is used in math.Rectangle implementation.
Even though int + int => int and double + double => double, there is no support for saying that for all T extends num, T + T => T, even though it is in fact the case.  So we need to add the cast.
https://dart-review.googlesource.com/c/sdk/+/144942