daemon: fix bluestore wal and db partition ownership

Fixes: https://github.com/ceph/ceph-docker/issues/614
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

One comment I have on this fix is that I'm not sure the dependence on a partition name of "ceph block.wal" is a good idea. I say this because I am going to place wal and db devices for multiple OSDs on a single NVMe device. For ease of management I'm going to put the OSD ID in the partition name like "osd_0_block.wal". Obviously when the wal and db are on the OSD this is would not be a consideration.

I think it might be best the follow the example set by the udev rules in a non-dockerized environment.
Those rules check the typecode of the partitions and then chown the dev devices accordingly. By following that example you would be doing not more harm that udev normally does if someone were to pass you in the wrong device.
So in our case, I'd suggest identifying block.db by the typecode 30cd0809-c2b2-499c-8879-2d6b78529876, and the clock.wal by the typecode 5ce17fce-4087-4169-b7ff-056cc58473f9.
What do you think?

I just found a fly in the ointment. When I reboot by Ubuntu Xenial host system, it comes back with my block.wal and block.db partitions owned by root. Consequently my dockerized OSDs won't start.
Looking in osd_disk_activate.sh, I see that a workaround that fixes the journal is already in place:
  if [[ -n "${OSD_JOURNAL}" ]]; then
    wait_for_file ${OSD_DEVICE}
    chown ceph. ${OSD_JOURNAL}
  else
    wait_for_file $(dev_part ${OSD_DEVICE} 1)
    chown ceph. $JOURNAL_PART
  fi

It looks like we need the same thing for the block.wal and block.db.

Using typecode is fine for me too, and yes this is only valid when
You're right ceph-disk already applies typecode for these partitions:

block.wal: 5ce17fce-4087-4169-b7ff-056cc58472be
block.db: 30cd0809-c2b2-499c-8879-2d6b785292be

Let me re-work the patch for this.

@netservers new version, I also added other commits too.

jenkins test  ceph_ansible-kraken-xenial_cluster

jenkins test ceph_ansible-kraken-centos7_cluster

OK, I'm testing and it's not sorting out permissions when my OSD containers start.
I've not really looked too closely, but I suspect that $OSD_BLUESTORE_BLOCK_WAL and $OSD_BLUESTORE_BLOCK_DB are undefined. They are normally only defined during prepare. If they are undefined, I suppose they should be initialised by reading the symlink in the OSD folder.

Oh right I haven't tested the activation, only the prepare which went well.
You're right OSD_BLUESTORE_BLOCK_DB and OSD_BLUESTORE_BLOCK_WAL will only exist if you do prepare and activate at the same time which is not recommended.
Worst in the case, the activate you will, OSD_DEVICE will exist but OSD_BLUESTORE_BLOCK_WAL and OSD_BLUESTORE_BLOCK_DB won't be declared and point to OSD_DEVICE.
This bluestore activation is going to be though...

Actually the activation won't rework only after a reboot.

I'm getting close here, but I think I see a problem with the typecodes you're matching against. My WAL and DB partitions have typecodes as follows:
DB: 30cd0809-c2b2-499c-8879-2d6b78529876
WAL: 5ce17fce-4087-4169-b7ff-056cc58473f9
I think that the typecodes you're matching against are the precursors to those typecodes. See here:
https://raw.githubusercontent.com/ceph/ceph/72f0b2aa1eb4b7b2a2222c2847d26f99400a8374/src/ceph-disk/ceph_disk/main.py
Codes ending 2be are marked as "tobe", and the forms I'm using are marked as "ready".
Arguably all of these typecodes are candidates for chowning, and they are all ceph paritions.

@netservers I think I only looked at one of the two, since the beginning is same I didn't pay attention. Resending a new version right away.

@netservers the re-activation after a server reboot should be not be a problem if we pass the OSD_BLUESTORE_BLOCK_DB  and OSD_BLUESTORE_BLOCK_WAL during the activation container. Then once the machine is up, a simple docker start should work.

@leseb I did a bit more work on this last night and my modified version is now working for me. As I'm unsure how to create a pull request for a pull request, I'll just paste my patch here.
I decided against passing-in the OSD_BLUE... variables again, as it struck me that it's superfluous and potentially contradictory information. We already know which devices we need to chown, as they're symlinked from the OSD directory.
Although this modification does what it sets out to do and perfectly chmods the device, I've still got a (probably unrelated) problem whereby the OSDs don't come "up" when I reboot the host system. The OSD daemons are running without any error output, but according to the mons they are "down". Like I say this is probably unrelated, but I thought I should mention it..
index 6cd13f6..2329986 100755                                                                                │···························
--- a/ceph-releases/luminous/ubuntu/16.04/daemon/common_functions.sh                                                                                │···························
+++ b/ceph-releases/luminous/ubuntu/16.04/daemon/common_functions.sh                                                                                │···························
@@ -255,15 +255,15 @@ function apply_ceph_ownership_to_disks {                                                                                │···························
     wait_for_file ${OSD_JOURNAL}                                                                                │···························
     chown --verbose ceph. ${OSD_JOURNAL}                                                                                │···························
   elif [[ ${OSD_BLUESTORE} -eq 1 ]]; then                                                                                │···························
-    dev_real_path=$(resolve_symlink $OSD_BLUESTORE_BLOCK_WAL $OSD_BLUESTORE_BLOCK_DB $OSD_DEVICE)                                                                                │···························
-    for partition in $(list_dev_partitions $dev_real_path); do                                                                                │···························
-      if [[ "$(get_part_typecode $partition)" == "5ce17fce-4087-4169-b7ff-056cc58472be" ]]; then                                                                                │···························
-        chown --verbose ceph. $partition                                                                                │···························
-      fi                                                                                │···························
-      if [[ "$(get_part_typecode $partition)" == "30cd0809-c2b2-499c-8879-2d6b785292be" ]]; then                                                                                │···························
-        chown --verbose ceph. $partition                                                                                │···························
-      fi                                                                                │···························
-      if [[ "$(get_part_typecode $partition)" == "89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be" || "$(get_part_typecode $partition)" == "cafecafe-9b03-4f30-b4c6-b4b80ceff106" ]]; then                                                                              │···························
+    dev_real_path=$(resolve_symlink $OSD_BLUESTORE_BLOCK_WAL $OSD_BLUESTORE_BLOCK_DB)                                                                                │···························
+    for partition in $(list_dev_partitions $OSD_DEVICE) $dev_real_path; do                                                                                │···························
+      part_code="$(get_part_typecode $partition)"                                                                                │···························
+      if [[ "$part_code" == "5ce17fce-4087-4169-b7ff-056cc58472be"  ||                                                                                │···························
+            "$part_code" == "5ce17fce-4087-4169-b7ff-056cc58473f9"  ||                                                                                │···························
+            "$part_code" == "30cd0809-c2b2-499c-8879-2d6b785292be"  ||                                                                                │···························
+            "$part_code" == "30cd0809-c2b2-499c-8879-2d6b78529876"  ||                                                                                │···························
+            "$part_code" == "89c57f98-2fe5-4dc0-89c1-f3ad0ceff2be"  ||                                                                                │···························
+            "$part_code" == "cafecafe-9b03-4f30-b4c6-b4b80ceff106" ]]; then                                                                                │···························
         chown --verbose ceph. $partition                                                                                │···························
       fi                                                                                │···························
     done                                                                                │···························
diff --git a/ceph-releases/luminous/ubuntu/16.04/daemon/osd_scenarios/osd_disk_activate.sh b/ceph-releases/luminous/ubuntu/16.04/daemon/osd_scenarios/osd_disk_activate.sh                                                                                │···························
index 8e52971..7427e88 100644                                                                                │···························
--- a/ceph-releases/luminous/ubuntu/16.04/daemon/osd_scenarios/osd_disk_activate.sh                                                                                │···························
+++ b/ceph-releases/luminous/ubuntu/16.04/daemon/osd_scenarios/osd_disk_activate.sh                                                                                │···························
@@ -15,8 +15,6 @@ function osd_activate {                                                                                │···························
   # watch the udev event queue, and exit if all current events are handled                                                                                │···························
   udevadm settle --timeout=600                                                                                │···························
                                                                                │···························
-  apply_ceph_ownership_to_disks                                                                                │···························
-                                                                                │···························
   DATA_PART=$(dev_part ${OSD_DEVICE} 1)                                                                                │···························
   MOUNTED_PART=${DATA_PART}                                                                                │···························
                                                                                │···························
@@ -36,6 +34,11 @@ function osd_activate {                                                                                │···························
   OSD_PATH=$(get_osd_path $OSD_ID)                                                                                │···························
   OSD_KEYRING="$OSD_PATH/keyring"                                                                                │···························
   OSD_WEIGHT=$(df -P -k $OSD_PATH | tail -1 | awk '{ d= $2/1073741824 ; r = sprintf("%.2f", d); print r }')                                                                                │···························
+  OSD_BLUESTORE_BLOCK_DB=$(resolve_symlink "${OSD_PATH}block.db")                                                                                │···························
+  OSD_BLUESTORE_BLOCK_WAL=$(resolve_symlink "${OSD_PATH}block.wal")                                                                                │···························
+  apply_ceph_ownership_to_disks                                                                                │···························
+                                                                                │···························
   ceph ${CLI_OPTS} --name=osd.${OSD_ID} --keyring=$OSD_KEYRING osd crush create-or-move -- ${OSD_ID} ${OSD_WEIGHT} ${CRUSH_LOCATION}                                                                                │···························
                                                                                │···························
   log "SUCCESS"

@netservers I just pushed a neww version based on your patch, I added you as a Co-Author on the last commit. Can I get a proper sign-off from you? (couldn't find one so I just used your github profile page...).
I added a small change on the activate to make sure the readlink does not fail if not using bluestore.

@netservers I have the last version working, do you mind testing again?
Thanks!

@leseb I've not tested this yet, but I see an error that I had corrected in my patch. This line:
for partition in $(list_dev_partitions $OSD_DEVICE $dev_real_path); do
Should really be:
for partition in $(list_dev_partitions $OSD_DEVICE) $dev_real_path; do
You don't want to pass the wal and db devices into list_dev_partitions. If I remember right that function enumerates partitions within the devices that it's passed. "$dev_real_path" is already a set of partitions.

@netservers hum I remember having issues with this line, that's why I changed it this way. Any chance to give this PR a try?

@netservers Alright I'm resurrecting this one, as I need some commits for other PRs.

OK - ceph_ansible-jewel-xenial-cluster

OK - ceph_ansible-kraken-xenial-cluster

CI issue is the race condition again... Moving ahead with this one.


Version and publish the TS rewrite

The last version of snabbdom was published 2 months ago.
It would be good to have the current master published to npm so that we can do things like import vnode from 'snabbdom/vnode' for instance. The package.json probably need updating (main)

Also be nice if it compiled for everyone.
https://gitter.im/paldepind/snabbdom?at=5850495e7a58ca60554a9c93
I would like to contribute.

Fixing the tsc compilation error is easy; but I think only @paldepind  can publish?

@paldepind Could you add cycle here? https://www.npmjs.com/package/snabbdom/access

I wouldn't mind contributor rights too

I've added "cycle" as a contributor to npm. What is your username on npm AlexGalays?
#212 fixes the compile issues.
Are there anything else we should get fixed before doing a release?

My username is "boubiyeah".

I've added you :smile:

I've added you :smile:

Issue seems done. Thanks !


Getting the following issues

[Wed Mar 18 13:49:55 2015] [error] [client <IP_ADDRESS>] PHP Warning:  DOMDocument::loadXML(): Empty string supplied as input in /home/test/public_html/converse_test/prebind/lib/XmppPrebind.php on line 590
[Wed Mar 18 13:49:55 2015] [error] [client <IP_ADDRESS>] PHP Fatal error:  Call to a member function getAttribute() on a non-object in /home/test/public_html/converse_test/prebind/lib/XmppPrebind.php on line 126

we need a bit more info then this


Packet leaks

May as well add an issue so i don't forget again.
fix packet leak in libvulpes/AR:
[Netty Server IO #1/ERROR] [FML]: Detected ongoing potential memory leak. 100 packets have leaked. Top offenders
[16:44:41] [Netty Server IO #1/ERROR] [FML]: libVulpes : 99

Narrowed it down to PacketChangeKeyState

only appears to happen in single player, packet registration issue?


Failed to install Sileo

Describe the bug
Sileo does not install through uncover dark. There’s only a fatal error being displayed. More below.
To Reproduce
Steps to reproduce the behavior:

Enable “Install Sileo”
Click on 'Jailbreak or Re-Jailbreak'
See error “Error (Fatal) Errno 2”

Screenshots
No screenshots.
Device

iOS Version: iOS 12.1.2

iOS Device: iPhone 6

unc0ver Version: 3.0.1

unc0ver Dark Version: 1.0b1

[x] this is a bug others will be able to reproduce

[ ] this issue is present with all tweaks uninstalled(except for default packages) or disabled

[ ] this issue is present after a rootfs restore

[x] this issue is present on the latest version of unc0ver

Logs
Error message:
Error (Fatal)
Errno: 2
Test: aptInstall(@[sileoDeb])
Filename: JailbreakViewController.m
Line: 2199
Function: jailbreak
Description: Failed to install Sileo.
Logs: https://pastebin.com/F7UcC2va

Fixed in 1.1.1


Remote context in unexpected state

I cannot seem to run some commands via "exec" that I can run on the server directly. For example, when I run a command like this...
remote.exec("npm install")
I am getting a "bash: npm: command not found" error, while running the command via ssh works fine.
Another clue, is that running node -v indicates the version of Node that was installed by default on the system, as opposed to the NVM installed version I get when ssh'ing in.
Also, FWIW, "sudo" is not necessary to run these command on the server, and I am using flightplan with the same user I ssh in with.
Any idea if this a bug or a step I am missing?

Hello @mattfordham ,
I have a exact same problem. I need a run nvm use default command before I install dependencies. How did you solve it?

@zolzaya take a look at my answer on SO.


Create repo services_catalog_configuration

Type of repository request
Create repo.
Will be used to configure Automation Service Catalog - A part of AAP.
Requested name for the repository
services_catalog_configuration
Repository Description
This ansible collection includes a number of roles and modules which can be used to configure and manage Ansible Automation Services Catalog as code.
Associated CoP
automation-cop
Admin Access
automation-cop-tower-mgrs
automation-cop-mgrs
Write Access
automation-cop-members
Read Access
All
Additional details
Also would like the galaxy credential that is in the other controller_configuration, ah_configuration added to this repo as well.
See #413 for previous request doing the same thing.

Review request:
cc: @redhat-cop/container-cop-core

Seconded

Galaxy token added to repository. Once #490 is integrated, it should be good to go


Examples of Miden projects in Rust

Besides the developer's guide/book it is essential to provide some examples of Miden projects (accounts, note scripts, etc.) written in Rust.
I'd like to create a separate repo for them (rust-examples?). So that users could clone the repository, run the examples, tinker with them and use them as a starting point in their own projects.
The README in the new repo will provide an entry point starting with prerequisites, a list of examples, and how to build and run them. Plus, the links to the guide/book in the compiler repo.
Each example should be a standalone Rust project in its own folder. The folder should contain a README.md file with a brief description of the example, and instructions on how to build and run it.

@bitwalker @bobbinth What do think?

I think that's a great idea! I'm guessing these would be different from rust-templates - right?
Regarding the name: I wonder if rust-examples is too generic for this. Maybe something like contract-examples would be better?
Btw, as the first example, we could probably put a Rust equivalent of BasicWallet in there.

I'm guessing these would be different from rust-templates - right?

Yes, that's correct. rust-templates is intended to be a collection of templates for creating new Miden projects via the cargo miden new command. So when user runs cargo miden new my_wallet our extension downloads the folder from the repo and fills my_wallet in the Cargo.toml.
We provide a hello-world type of source code in the src/lib.rs file, so in a way this is also an example, and I'm intended to use as an entry point into our ecosystem by heavy use of comments with links, extra source code, etc. But the new repo would be a collection of more complex examples that demonstrate how to use the Miden SDK in Rust.

Regarding the name: I wonder if rust-examples is too generic for this. Maybe something like contract-examples would be better?

Sounds great! contract here is more specific and gives a better idea of what the examples are about. I was thinking that we would want to also put the non rollup specific examples in the future as well, but we can always create a new repo for that. Omitting the rust prefix also makes sense, since the Rust is the only high-level language we support at the moment.

Btw, as the first example, we could probably put a Rust equivalent of BasicWallet in there.

Yep, my thoughts exactly, it would be the first one. Here is how BasicWallet Rust code curruntly looks like in tests - https://github.com/0xPolygonMiden/compiler/blob/581f639c6bf0bc8f6f508d970ee799f135b5798f/tests/rust-apps-wasm/wit-sdk/basic-wallet/src/lib.rs#L20-L29
It would look be a bit different for Alpha (no mod bindings, explicit #[no_mangle] attributes, etc.) since we will not have WIT support until the Beta release.

contract-examples repo created!

Here is how BasicWallet Rust code currently looks like in tests

Looks great! We may want to hide things like setting the allocator, panic handler etc. behind some macro. Similarly, we may want to shorten import paths - e.g., miden::tx::create_note instead of bindings::miden::base::tx::create_note. But no need to do this now - we can do it further down the road.


Any plan to implement this in Angular2?

Once there is a more stable version of it.

Nice. Looking forward to that.

Now that Angular2 is in RC do you have a timeline for implementing this in Angular2?

working on it, I would sat couple weeks.

Awesome, thanks!

Hi,
Any planned releases for Angular2?

Yes I have been working on it, hopefully in 1-2 weeks.
It is almost half way done and it needs a restructuring of the code and port it to TypeScript. If you are willing to contribute I could create a branch that you could work on but since it is 3/4th done it might be just easier to wait.

@danialfarid did you make any progress on this?

Yea it's mostly done, you can checkout the code in branch ng2. Expected time would be in December.

awesome!

Done yet?  KIDDING!!!!

Hey, First of all, thanks a lot for this awesome library in AngularJs. Loved it! But can you tell me whats the status on releasing it for Angular 2 (or 4) ? Would really love it in angular 2. I am sure many others are waiting for it. :)


ECDSASignature.ToDER() makes invalid DER from some r, s values

For example, given the raw 64 byte r|s signature E1AC191AA300507C6EB94A0F77717E6523FA523CE06F19904C970F4F1B1167AA6FC193416BF35B38EFA47EBDA9BB93681206BC7B6FFF49BC045B2D7491EFD394
such that bytes 0-31 are r and 32-63 are s
var realSig = "E1AC191AA300507C6EB94A0F77717E6523FA523CE06F19904C970F4F1B1167AA6FC193416BF35B38EFA47EBDA9BB93681206BC7B6FFF49BC045B2D7491EFD394";
var r = new NBitcoin.BouncyCastle.Math.BigInteger(StringToByteArray(realSig.Substring(0, 64)));
var s = new NBitcoin.BouncyCastle.Math.BigInteger(StringToByteArray(realSig.Substring(64)));
var ecdsa = new ECDSASignature(r, s).MakeCanonical();
Assert.True(ECDSASignature.IsValidDER(ecdsa)); // false
var der = new ECDSASignature(ecdsa.ToDER());
Assert.True(ECDSASIgnature.IsValidDER(der)); // false

// ...
// The above relies on the following helper:
public static byte[] StringToByteArray(string hex)
{
	return Enumerable.Range(0, hex.Length)
		 .Where(x => x % 2 == 0)
		 .Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
		 .ToArray();
}

Because both r and s's top bytes 0xE1 and 0x6F begin with 1, for them to be valid DER a 0x00 byte must be appended to the front. They pass the IsValidDER tests if imported as follows:
var r = new NBitcoin.BouncyCastle.Math.BigInteger(StringToByteArray("00" + realSig.Substring(0, 64)));
var s = new NBitcoin.BouncyCastle.Math.BigInteger(StringToByteArray("00" + realSig.Substring(64)));

but isn't the whole point of ToDER() or MakeCanonical() to right these wrongs and make a valid DER? Happy to PR to add this check if my understanding of these methods is in line with NBitcoin's intention for them.

Unless I am missing something, that example does not compile.
MakeCanonical only affects the S value, per the method's comment.

You're missing
public static byte[] StringToByteArray(string hex)
{
	return Enumerable.Range(0, hex.Length)
					 .Where(x => x % 2 == 0)
					 .Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
					 .ToArray();
}

which I will add to the original.
I suppose the crux of this issue is ToDer (https://github.com/MetacoSA/NBitcoin/blob/a615d201aff38b55e954fa3a184a0a439f202b12/NBitcoin/Crypto/ECDSASignature.cs#L78) rather than MakeCanonical. I will update the title as well

@DanGould I am unsure how this can be the case, NBitcoin is signing tons of transaction with this ToDer.
How could you come across this issue?

The realSig I listed is the sig for this transaction. I got the output in 64 byte r|s format from Unbound's CASP  which I returns an ECDSA signature from what I believe to be OpenSSL. Is it possible the other working applications of ToDER are all getting 0-prefixed values? Most crypto coin libraries (and bitcoin core) will give signatures in the correct DER format. I'm not sure why CASP is returning this format of signature instead of DER, but it is for sure a valid signature when prefixed and formatted to DER correctly.

Are you sure you are converting the HEX correctly? in the method StringToByteArray

@dangershony Yes. The above code with the "00" append results in ecdsa.ToDER()).Replace("-", string.Empty) evaluating to:<PHONE_NUMBER>E1AC191AA300507C6EB94A0F77717E6523FA523CE06F19904C970F4F1B1167AA02206FC193416BF35B38EFA47EBDA9BB93681206BC7B6FFF49BC045B2D7491EFD394
Serialized canonical DER:

30 - DER prefix
45 - Length of rest of Signature
02 - Marker for r value
21 - Length of r value
00E1...AA - r value, Big Endian
02 - Marker for s value
20 - Length of s value
`6FC1...94 - s value, Big Endian

without "00", ecdsa.ToDER()).Replace("-", string.Empty) evaluates to: 30440220E1AC191AA300507C6EB94A0F77717E6523FA523CE06F19904C970F4F1B1167AA02206FC193416BF35B38EFA47EBDA9BB93681206BC7B6FFF49BC045B2D7491EFD394
Serialized non-canonical DER:

30 - DER prefix
44 - Length of rest of Signature
02 - Marker for r value
20 - Length of r value
E1AC...AA - r value, Big Endian THIS IS NON-CANONICAL DER
02 - Marker for s value
20 - Length of s value
`6FC1...94 - s value, Big Endian

According to the Strict DER Signatures (BIP66) outlined here "the DER standard does not allow r,s values with first byte values of >0x7F, whilst this is ignored by the OpenSSL implementation."
NBitcoin's implementation is also ignoring this on executing ToDER as shown by the serialized non-Canonical DER, but Bitcoin Core, thanks to BIP66 requires this since v0.8.0 as mentioned in the compatibility section of the BIP writeup.
The DER function should have a check for >0x7F and prepend a 0-byte if that is the case

This here is a minefield, so I don't want to fix until it is clear I am wrong.
It seems to me this is wrong.
var r = new NBitcoin.BouncyCastle.Math.BigInteger(StringToByteArray(realSig.Substring(0, 64)));
var s = new NBitcoin.BouncyCastle.Math.BigInteger(StringToByteArray(realSig.Substring(64)));

The BigInteger has another ctor with the sign parameter. Which point that you are converting realSig into the wrong integer. (effectively inversing the sign)

The MakeCanonical is only meant for the S value.

@NicolasDorier By adding zero manually you invert your bug, making it right. You caught me right here. I constructed my exponents incorrectly by not specifying they were positive in the constructor and so they were interpreted as negative.
As far as the issue is concerned, ToDER still silently and happily makes an invalid DER from some r, s values even if they should be invalid inputs. If passing negative R is a bug and R should *never* be negative, does it make sense to throw an exception? Or auto convert to positive?

I don't want to auto convert, I don't know what kind of non obvious side effect it can have.

@DanGould are there some tests from a widely used library to demonstrate invalid DER fails there and passes here?

@dangershony Yes, I found this test in Bitcoin Core & BitcoinJ: Their DER Encoding functions make r and s values positive and fail negative exponent DER.
Relevant Test in BitcoinJ:
https://github.com/bitcoinj/bitcoinj/blob/73ddffb38f0a4c5eaee78b57d43d3892dc394438/core/src/test/resources/org/bitcoinj/script/script_tests.json#L1237
The same test is included in Bitcoin Core:
https://github.com/bitcoin/bitcoin/blob/feb162d500273040c8a2e5cdd3393edf34dff45b/src/test/data/script_tests.json#L1265
When I run the following NBitcoin code to test DER sig Bitcoin Core & BitcoinJ invalidates, it passes:
var invalidStrictDER = "302402107777777777777777777777777777777702108777777777777777777777777777777701";
var der = new ECDSASignature(StringToByteArray(invalidStrictDER));
Console.WriteLine(BitConverter.ToString(der.ToDER()).Replace("-", string.Empty));
Console.WriteLine("IsValid? " + ECDSASignature.IsValidDER(der.ToDER()).ToString());

the output is
3024021077777777777777777777777777777777021087777777777777777777777777777777
IsValid? True

This to me confirms NBitcoin allows a user, given a properly encoded r|s signature , to create an improperly encoded BIP66 strict-DER
Here is the relevant bit of IsValidSignatureEncoding in Bitcoin Core's interpreter.cpp also stating r & s should never be negative:
https://github.com/bitcoin/bitcoin/blob/69a6f1ad1f7ca52b2524ab8322bfa89a9b0ee61b/src/script/interpreter.cpp#L149-L150
https://github.com/bitcoin/bitcoin/blob/69a6f1ad1f7ca52b2524ab8322bfa89a9b0ee61b/src/script/interpreter.cpp#L162-L163
Decode from DER stating the same in BitcoinJ:
https://github.com/bitcoinj/bitcoinj/blob/7629677103dbdd80f14c63b066ed27e1fad47014/core/src/main/java/org/bitcoinj/core/ECKey.java#L559-L589

Here is the relevant bit of IsValidSignatureEncoding in Bitcoin Core's interpreter.cpp also stating r & s should never be negative:
This mean Bitcoin Core does not allow negative R signature, not that this is an invalid though Der Signature in the strict mathematical sense.

NBItcoin already enforces that (similar to core)
https://github.com/MetacoSA/NBitcoin/blob/a615d201aff38b55e954fa3a184a0a439f202b12/NBitcoin/ScriptEvaluationContext.cs#L1833
ECDSASignature is a citizen of BC it makes less sense to enforce it there, if anything if make the method IsValidSignatureEncoding more accessible (currently private)

This mean Bitcoin Core does not allow negative R signature, not that this is an invalid though Der Signature in the strict mathematical sense.

Agreed, current NBitcoin DER are always valid ASN.1 DER. The issue is that they don't follow the additional, stricter BIP66 standard. This means when importing valid, unsigned R and S exponents from for example OpenSSL results in invalid BIP66 DER output from NBitcoin which is outright rejected as improperly formatted when passed onto a full node and not formatted the same way other reference implementations do. ASN.1 DER is an insufficient standard for Bitcoin after Core v0.10.0.
If I'm understanding Dan Gershony's comment correctly, even if the aforementioned example DER was output from NBitcoin and handed to ScriptEvaluationContext, it would be invalid due to negative exponent.
The stricter BIP66 implementation is a stricter valid ASN.1 DER encoding with restrictions relevant to digital asset signatures. Why would we not follow those rules and continue with this headache?

@dangershony I misread BC as Bitcoin Core instead of Bouncy Castle. Agreed it makes sense to either make IsValidSignaturreEncoding accessable or some method to output BIP66DER/strictDER rather than change ECDSASignature. Maybe sign coercion could happen in TransactionSignature construction?

Maybe sign coercion could happen in TransactionSignature

Yes, that would be ok

the new Secp256k1 implementation of ECDSASignature appears to fix this. what was an invalid strict bip 66 der:<PHONE_NUMBER>777777777777777777777777777777021087777777777777777777777777777777
is now the valid, positive sign coerced  "302502107777777777777777777777777777777702110087777777777777777777777777777777"
when passed to new ECDSASignature(derBytes) as a byte[]
Awesome to see secp included in this lib :> Merci

I forgot about the issue. I guess I will never understand the underlying issue, but I am glad this is fixed :)
Indeed, I am using now same code as bitcoin core or secp256k1 for parsing, so it may have fixed some bugs.

@DanGould can you write a test about it?


Boost disabled as soon as you save for the process

Brief description of your issue
When you click save for boost on a process, it disables it.
This feature:  https://github.com/winsiderss/systeminformer/issues/1244
Steps to reproduce (optional)

Right-click > Boost > Set boost, the 'Priority boost" column correctly says YES.
Right-click > Boost > SAVE, boost is now disabled and says NO in the boost column.

Expected behavior (optional)
No response
Actual behavior (optional)
No response
Environment (optional)
Windows 10 and 11, latest builds
System Informer 3.0.7645 Canary and the last build before that.  Didnt check older.

Fixed in latest nightly

Thanks!    Although I see SAVE FOR PROCESS.EXE checkbox doesnt 'stick' in the right click menu?


Upgrade package, fix vulnerbility, and fix unit test

Issue:
i have found 7 vulnerabilities (3 low, 1 moderate, 3 high)
Environment:

Windows 11
node JS v20.18.0

Tested:

lint
unit test

Do not bump cookie from 0.7.1 to 1.0.x
See: https://github.com/expressjs/express/pull/6017#issuecomment-2403262847
Please don't just bump things without checking release notes for breaking changes.
https://github.com/expressjs/express/pull/6017#issuecomment-2405808198

Hi @UlisesGascon , these pr upgrade package, i have splited it
please review and merge, Thank you

upgrade supertest : https://github.com/expressjs/express/pull/6112
upgrade connect redis : https://github.com/expressjs/express/pull/6114
upgrade cookie : https://github.com/expressjs/express/pull/6113
upgrade content type : https://github.com/expressjs/express/pull/6115
upgrade debug : https://github.com/expressjs/express/pull/6116
upgrade ejs : https://github.com/expressjs/express/pull/6117
upgrade eslint : https://github.com/expressjs/express/pull/6118
upgrade express session : https://github.com/expressjs/express/pull/6119
upgrade marked : https://github.com/expressjs/express/pull/6120
upgrade mocha : https://github.com/expressjs/express/pull/6121
upgrade nyc : https://github.com/expressjs/express/pull/6122

Thanks for doing this work @agungjati! I will close this PR now, and we can discuss on each one if needed ;-)


You can delete other people's post. That shouldn't happen.

Only a bug in posts_management, which isnt a necessary feature


Birdseye tap to full screen individual cameras

Currently I have 4 cameras that I'm feeding into an HA dashboard from Frigate.  This dashboard is displayed on a FireHD tablet and just shows the 4 cameras.  I have set the double tap action of each camera to show it full screen.
The problem I have is that the FireHD is not quite up to the task of displaying 4 cameras at once.
What I'd prefer to do is to show the birdseye view on the dashboard which would require less processing from the tablet.
I'd still like to be able to double tap on each camera to show an individual camera stream in full screen though.  As far as I know, this is not currently possible (tap action based on where you tap on the image).

Hi @jameseck , thank you for the feedback!
I think you want it such that when you click on the part of the birdseye frame that represents each camera, for that to take you to a full view of that camera.
If that's right, I don't think there's any way to do that. The position of the cameras in the birdseye frame may change based on what's happening, but that's completely invisible to the card -- it has no way of knowing if the top-left is camera A or B. Nor whether there's a quadrant of cameras, or a single camera. It can't know.
The new codebase (v4.1.0 -- not yet released) has some functionality that may help though:

Use a different live_provider. I bet the FireHD is up to the task of using the new image live_provider, this is simply a refreshing image of the camera -- and you can figure the refresh period.
Use the new 'low' profile performance mode to try to make the card run better on lower end devices.
Use dependent cameras to list other cameras as depending upon the birdseye camera. This will give you a new menu that lets you choose between a configurable set of cameras (this isn't that big a deal, since you can already presumably use the camera selection menu to do similar).

Other ideas would be to render custom elements on the card that takes the user to each camera, and only has those icons show up when the camera is on the birdseye view. You don't need the new code base to do something like this.

Unless... Frigate could have an API like get_camera_by_birdseye_pixel_location that the card could use to fetch information of which camera to go to.
But I believe it's not worth the effort of implementing such thing.

Unless... Frigate could have an API like get_camera_by_birdseye_pixel_location that the card could use to fetch information of which camera to go to.

Yes! It's technically implementable, just unlikely to be worth it given that it's probably a non-trivial amount of work across the card, the integration and the backend.

Going to close this as I do not believe it is worth the work involved. I hope one of the workarounds will suffice. Feel free to continue the discussion if anyone has a better idea.


horusecCliFilesOrPathsToIgnore apparently being ignored in vscode extension and CI

What happened: I have configured the horusecCliFilesOrPathsToIgnore option to ignore some folders and files.
How to reproduce it (as minimally and precisely as possible):
NodeJS project with a package-lock.json with pgpass installed.
Horusec-config:
{
  "horusecCliCertInsecureSkipVerify": false,
  "horusecCliFilesOrPathsToIgnore": [
    "*tmp*",
    "**/.vscode/**",
    "docker-compose.yml",
    ".env.sample",
    "package-lock.json",
    "**/.dist/**",
    "**/.coverage/**",
    "**/.coverage-e2e/**"
  ],
  "horusecCliReturnErrorIfFoundVulnerability": false,
  "horusecCliRiskAcceptHashes": null,
  "horusecCliSeveritiesToIgnore": [
    "INFO"
  ],
  "horusecCliShowVulnerabilitiesTypes": [
    "Vulnerability"
  ],
  "horusecCliTimeoutInSecondsAnalysis": 600,
  "horusecCliTimeoutInSecondsRequest": 300,
  "horusecCliFalsePositiveHashes": [
  ]
}

Expected result: package-lock.json is ignored on the scan
Actual result: package-lock.json is scanned by horusec
Column: 11
SecurityTool: HorusecEngine
Confidence: MEDIUM
File: /runner/_work/FeeRavManagerAPI/FeeRavManagerAPI/package-lock.json
Code: "pgpass": "1.x"
RuleID: HS-LEAKS-26
Type: Vulnerability
ReferenceHash: dce09eb1eb793933fbfe57a3088b23d04e9a760c5d8fbddf6f1e9a95e222f71e
Details: (1/1) * Possible vulnerability detected: Hard-coded password
The software contains hard-coded credentials, such as a password or cryptographic key, which it uses for its own inbound authentication, outbound communication to external components, or encryption of internal data. For more information checkout the CWE-798 (https://cwe.mitre.org/data/definitions/798.html) advisory.

Also using the VsCode addon with the above horusec-config the folders like distare still being scanned.
Anything else we need to know?:
Environment:

Horusec version (use horusec version):
In the CI I use the config from de docs:  curl -fsSL https://raw.githubusercontent.com/ZupIT/horusec/main/deployments/scripts/install.sh
Operating System:  In the CI Ubuntu, my machine: Arch Linux
Others: VsCode: v2.2.8

Same thing here with horusecCliJsonOutputFilepath. It's being completely ignored by the plugin-launched docker process.
Environment:

Horusec version: v2.8.0 (RPM version)
OS: Fedora 38 64-bit
VSCODE version: 1.82.3
Docker version: 24.0.6


Terragrunt 0.53.6, S3 Remote State with assume_role throws error "Missing close bracket on index"

After upgrading to 0.53.6 and applying the new assume_role S3 configuration block, I get the following error:
 Error: Missing close bracket on index
│
│   on -backend-config="assume_role=map[role_arn:arn:aws:iam::111111111111:role/Administrator]" line 1:
│   (source code not available)
│
│ The index operator must end with a closing bracket ("]").

Here's my terragrunt.hcl:
# terragrunt.hcl
remote_state {
  backend = "s3"
  config = {
    bucket                = "xxx"
    key                   = "${path_relative_to_include()}/terraform.tfstate"
    region                = "eu-central-1"
    # role_arn              = "arn:aws:iam::${get_env("TG_AWS_ACCT", "${get_aws_account_id()}")}:role/Administrator"
    assume_role = {
      role_arn            = "arn:aws:iam::${get_env("TG_AWS_ACCT", "${get_aws_account_id()}")}:role/Administrator"
    }
    encrypt               = true
    dynamodb_table        = "admin-terraform-lock"
    disable_bucket_update = true
    s3_bucket_tags = {
      owner = "terragrunt"
      name  = "Terraform state storage"
    }
    dynamodb_table_tags = {
      owner = "terragrunt"
      name  = "Terraform lock table"
    }
  }
}

terraform_version_constraint = "~>1.6.4"
terragrunt_version_constraint = "~>0.53.6"

Continuing to use role_arn as previously still works. I looked into the changes of #2800 but can't find one that would explain this error.
Versions

Terragrunt version: 0.53.6 (installed via Homebrew)
Terraform version: 1.6.4 (installed via Hashicorp's Homebrew Tap)
MacOS Sonoma (14.1.1 (23B81))

Hmm, looks like it is an issue with type conversion... will take a look soon

Fix included in https://github.com/gruntwork-io/terragrunt/releases/tag/v0.53.8

Thank you!


Close documentation issues for MEI2012

From andrew.hankinson on September 10, 2012 14:13:02
I propose that we close the guidelines issues filed for the MEI2012 release. We can open new ones for the next release.
Original issue: http://code.google.com/p/music-encoding/issues/detail?id=105

From<EMAIL_ADDRESS>on September 10, 2012 11:23:59
Fine with me, but we need to make sure that any "releaseNext" issues get carried forward.

From<EMAIL_ADDRESS>on September 10, 2012 11:24:44
Doh! I meant release2013 issues.

From<EMAIL_ADDRESS>on September 17, 2012 12:42:52
Done
Status: Fixed


perf: Add List performance example

Add performance test for List component.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS


set JSON/htmlTable as Tooltip content

IN Grid:
In a Column, each row has a JSON data. when mouse is hovered, that JSON has to be displayed as a table   for few seconds. It can be shown as a tooltip or by any other means.
Right now the contents of 'title' attribute is shown as  tooltip. Please help me on how to set the tooltip as htmltable.

Please try slickgrid examples


Remove any reference to httplib2 when pycurl is used

Spawn from https://github.com/dmwm/WMCore/pull/6742
This is a requirement for having a crabclient that cleanly works in the CMSSW environment without creating conflicts.
Basically Service.py and Requests.py imports httplib2, but the package is not needed if you configure the packages to work with pycurl.

As discussed in the PR mentioned above, in the context of the "pycurl defaultization" (https://github.com/dmwm/WMCore/pull/6360/files) we should try to get rid of the unrecommended import httplib2 inside a function, or even get rid of httplib2 completely


Configure Azure Pipelines

This pipeline configuration builds the application and produces a build for the Release configuration.

this was wrong


Added support for DataType::Map and MapArray

physical and logical type
FFI consume and produce
IPC consume and produce
integration tests unskipped

Thank you very much, @nevi-me for your review (great to see you :D)


Add request examples for API docs, improve examples usability

Solves https://github.com/giantswarm/giantswarm/issues/3619
This should add request examples to all operations that have a request body.
Note:
The x-examples key is a vendor extension introduced by ReDoc, the tool we use for rendering our docs. Swagger/OpenAPI 2.0 does not yet support request examples. This solves a problem we had with request examples being auto-generated and pretty much meaningless.
Also made the displayed size_gb value in an example a float instead of an integer, to show that floating point values might occur.
In addition, renamed tag auth-tokens to auth tokens, to align with key pairs.

Thanks! Not aware of a way to expand by default.


Describe clusters/production/infrastructure.yaml

Have cloned this repo and bootstrapped flux using the getting started guide:
2024-01-16T08:08:35.453Z info Kustomization/apps.flux-system - Dependencies do not meet ready condition, retrying in 30s
2024-01-16T08:08:35.459Z info Kustomization/infra-configs.flux-system - Dependencies do not meet ready condition, retrying in 30s
Issue is brought about by existence of clusters/production/infrastructure.yaml. If i remove it seems to work just fine.

Yeah this example needs some improvements...

flux get all -A will tell you which things are failing.

For those on the fence between Flux and Argo, Flux is often presented as the easier option. For beginners, it would really help if the quick start documentation and repo was robust, detailed, and most of all tested to make sure it all still works. Even as a beginner to k8s and Helm, Flux is simple enough that it's a really good place to get started. Speaking from experience! It's great there is a lot of development and serveral advancements in the application itself, but for the success of the project maintaining a low barrier of entry should not be forgotten as a priority. Thank you for all your hard work!


Fix flaky IT: ITPerfectRollupParallelBatchIndexTest

Partially fixes #12692
Description
Due to the race conditions described in this comment,
the ITPerfectRollupParallelBatchIndexTest and possibly other ITs can exhibit flaky behaviour.
This typically happens when the middle manager/indexer cleans up the partitions of a
supervisor task while a different peon is trying to list those partitions (to account for remaining
space in a storage location).
This PR tries to eliminate this behaviour by increasing the partition timeout, so that partitions are
effectively not cleaned up during the course of the test, but only after.
This is not a permanent fix and a better fix would be improving the way the cleanup is handled
between the peons and the middle manager.
Changes

Add druid_worker_intermediaryPartitionTimeout = PT30M in integration-test env configs

This PR has:

[x] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[ ] added documentation for new or modified features or behaviors.
[ ] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added or updated version, license, or notice information in licenses.yaml
[ ] added comments explaining the "why" and the intent of the code wherever would not be obvious for an unfamiliar reader.
[ ] added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
[ ] added integration tests.
[ ] been tested in a test Druid cluster.

First build passed without incident.
Re-triggered a second build.

First build failed on "indexing module test (jdk11)" but the failure does not seem related.
Re-triggering.

Some tests failed in second build, due to an unrelated download issue.
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://security.debian.org/debian-security buster/updates/main amd64 Packages [334 kB]
Err:3 http://deb.debian.org/debian buster InRelease
  Could not connect to deb.debian.org:80 (<IP_ADDRESS>), connection timed out
Err:4 http://deb.debian.org/debian buster-updates InRelease
  Unable to connect to deb.debian.org:http:
Fetched 399 kB in 30s (13.2 kB/s)
Reading package lists...
W: Failed to fetch http://deb.debian.org/debian/dists/buster/InRelease  Could not connect to deb.debian.org:80 (<IP_ADDRESS>), connection timed out
W: Failed to fetch http://deb.debian.org/debian/dists/buster-updates/InRelease  Unable to connect to deb.debian.org:http:
W: Some index files failed to download. They have been ignored, or old ones used instead.
Reading package lists...
Building dependency tree...
Reading state information...
E: Unable to locate package wget
The command '/bin/sh -c APACHE_ARCHIVE_MIRROR_HOST=${APACHE_ARCHIVE_MIRROR_HOST} /root/base-setup.sh && rm -f /root/base-setup.sh' returned a non-zero code: 100
[ERROR] Command execution failed.

Build failed on "indexing modules test (sql compatibility) (jdk11)"

oops. Forgot to approve before merging. It was a +1 from me. The failures are unrelated.


[ISSUE #3523] add aop for grpc-example

grpc-client works fine when users use AOP.

Make sure that:

[x] You have read the contribution guidelines.
[x] You submit test cases (unit or integration tests) that back your changes.
[x] Your local test passed ./mvnw clean install -Dmaven.javadoc.skip=true.

Codecov Report

Merging #3532 (f3ce9c4) into master (152e482) will decrease coverage by 0.41%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #3532      +/-   ##
============================================
- Coverage     62.81%   62.40%   -0.42%
+ Complexity     5569     5532      -37
============================================
  Files           842      842
  Lines         23351    23343       -8
  Branches       2118     2115       -3
============================================
- Hits          14668    14567     -101
- Misses         7335     7421      +86
- Partials       1348     1355       +7

Impacted Files
Coverage Δ

...plugin/logging/rocketmq/LoggingRocketMQPlugin.java
22.72% <0.00%> (-72.73%)
:arrow_down:

...ache/shenyu/plugin/grpc/cache/GrpcClientCache.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...ogging/rocketmq/body/LoggingServerHttpRequest.java
0.00% <0.00%> (-20.00%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
70.40% <0.00%> (-19.39%)
:arrow_down:

...yu/sync/data/http/refresh/AbstractDataRefresh.java
68.96% <0.00%> (-13.80%)
:arrow_down:

...a/org/apache/shenyu/common/utils/VersionUtils.java
67.85% <0.00%> (-10.72%)
:arrow_down:

.../apache/shenyu/admin/model/dto/BatchCommonDTO.java
50.00% <0.00%> (-7.15%)
:arrow_down:

...apache/shenyu/admin/model/dto/AuthPathWarpDTO.java
57.14% <0.00%> (-7.15%)
:arrow_down:

...henyu/plugin/grpc/resolver/ShenyuNameResolver.java
57.44% <0.00%> (-6.39%)
:arrow_down:

...org/apache/shenyu/admin/model/dto/AuthPathDTO.java
58.82% <0.00%> (-5.89%)
:arrow_down:

... and 36 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 152e482...f3ce9c4. Read the comment docs.


Add documentation for testing bot

I would like to add some documentation on how new contributors can test out the bot while they work on it.

Go for it mate.


cask/utils: Make more noise when encountering undefined methods

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.

[x] Have you successfully run brew typecheck with your changes locally?
[x] Have you successfully run brew tests with your changes locally?

https://github.com/Homebrew/homebrew-cask/actions/runs/4608585102/jobs/8144571098 introduced syntax errors for the mattermost cask (autoupdates instead of auto_updates), but CI didn't fail so we didn't notice until it shipped to users and broke brew update.

Does this now fail for casks that are already installed? We don't want to fail reading installed casks.
For example, if we remove appcast eventually, installed casks should not fail with a unknown method error when we upgrade them.

No, it should work the same as odisabled which is also a no-op for installed formulae and casks but fails otherwise.

@reitermarkus Agreed!
@issyl0 @p-linnane thoughts?

That's fine with me.


FUSETOOLS2-627 - upgrade one test stage on Travis from Java 14 to Java

15
replacing Java 14 as it is not a LTS (Long Term Support)

seems it requires jacoco upgrade to have a clean log:
https://github.com/camel-tooling/camel-language-server/pull/457
https://travis-ci.org/github/camel-tooling/camel-language-server/jobs/727638151#L2749-L2750


pyyaml 6.0

closes https://github.com/autogluon/autogluon-cloud/issues/90
Description of changes:

Set pyyaml to ~=6.0
readme update for correct python major versions.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

The only failure is the same one presently failing all recent CI/CD.


Set up multi-platform (linux/amd64, linux/arm64) docker builds in GitHub Actions workflows

Using https://docs.docker.com/build/ci/github-actions/push-multi-registries/ as a base, updates the dev.yml, latest.yml, and version.yml workflows to build and push multi-platform docker images for the linux/amd64 and linux/arm64 platforms.
Implementation details:

Adds platforms: linux/amd64,linux/arm64 to each Build and push step, leveraging the docker/build-push-action@v5 action's ability to build for multiple platforms at once.
Adds the Set up QEMU and Set up Docker Buildx steps (pre-requisite for multi-platform builds)
Cleans up definition of the Checkout step (Adds a missing name in dev.yml and latest workflows)
Adds a Login to GitHub Container Registry step to each workflow
Consolidates the GitHub Container Registry build + push into the existing Build and push step, leveraging the docker/build-push-action@v5 action's ability to push to multiple registries at once.

Thank you so much for helping out with this. this was a bit of a mess to get working. Not very familiar with any of this :)


Update VoidWSL links

The glibc and musl variants have been consolidated into the VoidWSL repo 🎉

Thank you!


Fixing Maximized State Resizing Issue

Description
The following changes add a margin to the main window when in maximized state.
Testing
Application build was successful and was running as expected.

Sometime later we need to fix the issue without hardcoding.


settings.gradle is ignored when a custom build file is called using the -b switch on command line

Current Behavior
I have two gradle scripts in the same folder both building the same project, one is called build.gradle and the other one is called build_jdk8.gradle. There's a settings.gradle file in which I set the project name.
When I build the project using the default build file calling:
./gradlew clean build
The project has the right name defined in the settings.gradle
When I build the project using the custom build calling:
./gradlew -b build_jdk8.gradle
or
./gradlew -c settings.gradle -b build_jdk8.gradle
The project's name is the name of the root directory (as if the config file were ignored)
Expected Behavior
I would have expected that any custom gradle script would use the settings file (at least when you force point it using the command line option)
Context
I need to compile the project using various kind of bytecode level

Hi, any changes on this issue? I also have the problem that I have to create a custom buildfile, which should use settings.gradle. But even when I tell gradle with --settings-file to use the settings file it fails with an error bla.gradle is not part of the build defined by settings file settings.gradle.If this is an unrelated build, it must have its own settings file. Can I somehow work around this?

The problem is still relevant. Has anyone found a solution in the last year? In the last three years? Nobody?

Same here

Same problem:
I have this structure:
.
├── myProject
│   ├── build.gradle
│   ├── real-build.gradle
│   └── settings.gradle
└── myUtil
├── build.gradle
└── settings.gradle
myProject/build.gradle is a copy of myProject/real-build.gradle (the important one), only for this example.
myProject/settings.gradle is this:
rootProject.name = 'myProject'
include 'myUtil'
project(':myUtil').projectDir = file('../myUtil')
In terminal, on ./myProject folder, I try these commands:
gradle build -> OK
gradle -b build.gradle build -> OK
gradle -b real-build.gradle build -> ERROR: Project with path ':myUtil' could not be found in root project 'myProject'.
gradle -b real-build.gradle -c settings.gradle build -> ERROR: Build file './real-build.gradle' is not part of the build defined by settings file './settings.gradle'. If this is an unrelated build, it must have its own settings file.
Please help!!!

Exact same problem, and this bug was filed more than three years ago.
Is there a workaround? For example, some way to perhaps make a copy of the settings.gradle and modify it to make Gradle happy?

settings_ignore.gradle :
#new line
rootProject.buildFileName = 'build_ignore.gradle'
rootProject.name = 'myProject'
include 'myUtil'
project(':myUtil').projectDir = file('../myUtil')
gradle -b build_ignore.gradle -c settings_ignore.gradle bootRun -> OK

Very nice! I didn't know about setting the buildFileName.
https://stackoverflow.com/questions/12246215/gradle-multi-project-change-default-build-filename-build-gradle
It turns out I also need to use a non-default gradle.properties file. Is there some way to do that?

Given we're about to deprecate -b, I'll close this bug as wontfix. See #16402 for details


Cannot find name 'require'.

Hi, I'm trying to use typedoc in my project, and i use require a lot, i have typedefs for require (@types/webpack-env) and this works perfectly, but typedoc for some reason doesn't see this defs, and i got errors:
 Cannot find name 'require

any tips? (i use both cli and webpack-plugin)
    "typedoc": "^0.5.5",
    "typedoc-webpack-plugin": "^1.1.3",

Make sure you're using at least typedoc 0.5.6; 0.5.5 had an issue that prevented it from automatically loading things in @types. If you're on 0.5.6 and still seeing the issue, try explicitly including the index.d.ts file from @types/webpack-env in your tsconfig (not ideal, but it might indicate that automatic type loading is still broken in some cases).

My bad, i updated to 0.5.6 and now issue gone, thanks!


Re-enabled Travis-CI

I managed to re-enable our Travis-CI builds for Alamofire. This is really my first trial with Travis-CI so I'd appreciate it if others could look this over for me. Here's a list of changes that I made.

Switched to the latest osx_image which is beta-code6.3
Added xcodebuild phase for the OS X tests which are now passing
Added a gem install cocoapods to make sure we're linting with the latest version
Added a CocoaPods Compatible tag to the top of the README
Added a Carthage Compatible tag to the top of the README

cc @kcharwood, @kylef, @mattt

:+1:


Document how to set time beg/end of an event

There is actually no way to directly set the end time of an event - it works with a start date (variable date) and a variable duration (now described in the documentation). Would it be a feature request?

Here is a more detailed proposal.
The user could either

set the start and end variables in the frontmatter, and those variables would allow for HTML date-time formats.  When no time is given for start or end, fall back on defaultStartTime (e.g. 10:00 or 10:00:00 or 10:00:00-02:00) and defaultEndTime;
set the date and no duration for one-day events, and rely on defaultStartTime and defaultEndTime;
set the date or a date-time and a duration in number of days; e.g. date: 2023-10-16 and duration: 4 would mean an event of 4 days, starting on Oct 16h, with a starting time of defaultStartTime, etc.  If a date-time is given, use the time as defaultStartTime and fall back on defaultEndTime for the end time of the last day.

WDYT?

After rethinking this, I propose we accept three cases:

date: 2023-10-16 for an all day event on Oct. 16th.
start: 2023-10-16 and end: 2023-10-19 for a three days events.
start: 2023-10-16T10:00:00 and end: 2023-10-16T12:00:00 for a 2h event on Oct. 16th.

In the .ics file this will translate respectively as:

DTSTART=;VALUE=DATE:20231016 and DTEND=;VALUE=DATE:20231017 (DTEND is non-inclusive.)
DTSTART=;VALUE=DATE:20231016 and DTEND=;VALUE=DATE:20231020.
DTSTART:20231016T100000Z and DTEND:20231016T120000Z.

A variation of the third case could be:

start: 2023-10-16T10:00:00 and end: 2023-10-19T12:00:00 for an event start at 10am on Oct 16h and finishing at 12am on Oct 19th.

I suggest we simply forget about defaults, as users won't probably use them. WDY?

It should be solved in the last version (3.0.2) and explained in the documentation.
Defaults have indeed been removed for datetimes (but kept for organizer and location).
duration property has finally been kept to allow user use either end (preferred) or duration.


conc: fix build on macOS

On macOS, IntPtr (aka intptr_t) is defined as long, but int64_t is defined as long long, and so they are incompatible.

Ah OK. But both long and long long are 64 bits , right?

both long and long long are 64-bit, but they are two distinct integer
types, so incompatible.

Thank you for the fix!


Plat 10564

Ticket
[Ticket number](link to ticket)
Description
Please put here the intent of your pull request.
Dependencies
List the other pull requests that should be merged before/along this one.
Checklist

[ ] Referenced a ticket in the PR title and in the corresponding section
[ ] Filled properly the description and dependencies, if any
[ ] Unit tests updated or added
[ ] Docstrings added or updated
[ ] Updated the documentation in docs folder

@reedvfeldman the PR probably needs to be opened against the 2.0 branch ;)


How to integrate HTML5 templates with Blazor

Applying HTML 5 templates in a Blazor Server-App
I'm building a Blog management system using Blazor, I have started and everything is working fine but when i tried to integrate the template that i have purchased for my system, a lot of features is not working, I know that Blazor handles the DOM in a different way but what is the perfect solution for this issue, and at the same time I don't like to use any framework other than Blazor

I have found a solution by calling the JQuery function using IJSRuntime and OnAfterRenderAsync function
But the task is a little hard especially a large scale real world application
But anyway thanks a lot I'm enjoying every line of code i write with Blazor


[srpl] implement new peer ID and dataset ID management mechanism

This commit contains the following:

Implement new peer ID assignment mechanism (64-bit ID randomly
chosen by each peer, new nodes indicate they are "new" in Session
request message
Implements dataset ID and Thread Network Data DNS/SRP Anycast
seq number management model.
Adds new test-cases:

Test to cover dataset ID and seq number mgmnt.
Test to cover node removal (re-add and  timeout).
Test to cover simultaneous restart of all SRPL peers (power
outage).

This PR adds a commit on top of commits from  PR:

https://github.com/openthread/openthread/pull/7257
We may later squash and combine all the commits into one for merging.

The implementation in this PR follows the ideas/definitions from:

https://gist.github.com/abtink/4af4fb4f47f439a3b07b617ffe990228

New push adds a new commit:
    (to squash) SRPL: adding test API and new test-cases

    - test-460-srp-replication-dataset-id-conflict.py
    - test-461-srp-replication-new-peer-with-a-misbehaving-peer.py
    - test-462-srp-replication-peer-id-conflict.py
    - test-463-srp-replication-reconnect-on-failure.py

Closing this PR in fovor of rebased and updated PR  https://github.com/openthread/openthread/pull/8403.


Revert "fix(ci): remove warnings due to deprecated action"

Reverts datahub-project/datahub#6735 as that is causing problem of head tag not being published

@pedro93 I tried updating this action. But the docs were not super clear. This one does make changes in tags so seems to be the culprit.


DEPRECATION: Action handlers contained in an events object are deprecated in favor of putting them in an actions object

I'm using your ember-cli-es6 branch and this's what I receive when I create leaflet-map component:
DEPRECATION: Action handlers contained in an `events` object are deprecated in favor of putting them in an `actions` object

it happens because of using field name events as a list of supported events, I can renamed it and it usages to events_ and this problem disappeared and leaflet-component started to work fine.
I can make pull request if you'll tell me how you want to name this field

I think that leafletEvents makes sense.
A PR would be great!

Here it is: #116


switch back does not work

v2.1.1 fabric.  I have disabled switch back, however it continues to work. keep selected slot disabled.

I found some missing checks for switchBack so this should be resolved in the next update


create a separated debuggable scheduler container

What type of PR is this?

/area simulator
/kind cleanup
What this PR does / why we need it:
I try to Separate API endpoints and Scheduler.
This PR can build debuggablescheduler Pod.
(But still not work. Only build)
After this PR I try to delete scheduler functions from Server and change endpoints functions to operate scheduler Pod.
Which issue(s) this PR fixes:

Fixes https://github.com/kubernetes-sigs/kube-scheduler-simulator/issues/318
Special notes for your reviewer:
/label tide/merge-method-squash

/kind feature


RabbitMQ source connection retry is not working when no exchange and queue at startup + connection leak + log leak

Describe the bug
When rabbitmq does not have exchange and does not have queue, newest rabbitmqsource tries to reconnect, but at the rate that fills up logs very quickly
"Log leak" - there are alot of log messages
When there is no exchange and queue:
Rabbitmq knative source logs
{"level":"error","ts":"2022-10-06T06:56:03.518Z","caller":"adapter/adapter.go:174","msg":"Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"","commit":"b4d2f33-dirty","stacktrace":"knative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).PollForMessages\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:174\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:113\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).Start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:99\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapterWithContext\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:120\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapter\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:45\nmain.main\n\tknative.dev/eventing-rabbitmq/cmd/receive_adapter/main.go:26\nruntime.main\n\truntime/proc.go:250"}
{"level":"warn","ts":"2022-10-06T06:56:03.519Z","caller":"rabbit/setup.go:155","msg":"Lost connection to RabbitMQ, reconnecting. Error: %v{error 26 0  Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"}","commit":"b4d2f33-dirty"}
{"level":"error","ts":"2022-10-06T06:56:03.531Z","caller":"adapter/adapter.go:174","msg":"Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"","commit":"b4d2f33-dirty","stacktrace":"knative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).PollForMessages\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:174\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:113\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).Start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:99\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapterWithContext\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:120\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapter\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:45\nmain.main\n\tknative.dev/eventing-rabbitmq/cmd/receive_adapter/main.go:26\nruntime.main\n\truntime/proc.go:250"}
{"level":"warn","ts":"2022-10-06T06:56:03.531Z","caller":"rabbit/setup.go:155","msg":"Lost connection to RabbitMQ, reconnecting. Error: %v{error 26 0  Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"}","commit":"b4d2f33-dirty"}
{"level":"error","ts":"2022-10-06T06:56:03.538Z","caller":"adapter/adapter.go:174","msg":"Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"","commit":"b4d2f33-dirty","stacktrace":"knative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).PollForMessages\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:174\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:113\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).Start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:99\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapterWithContext\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:120\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapter\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:45\nmain.main\n\tknative.dev/eventing-rabbitmq/cmd/receive_adapter/main.go:26\nruntime.main\n\truntime/proc.go:250"}
{"level":"warn","ts":"2022-10-06T06:56:03.539Z","caller":"rabbit/setup.go:155","msg":"Lost connection to RabbitMQ, reconnecting. Error: %v{error 26 0  Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"}","commit":"b4d2f33-dirty"}
{"level":"error","ts":"2022-10-06T06:56:03.557Z","caller":"adapter/adapter.go:174","msg":"Exception (404) Reason: \"NOT_FOUND - no queue 'my-queue' in vhost '/'\"","commit":"b4d2f33-dirty","stacktrace":"knative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).PollForMessages\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:174\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:113\nknative.dev/eventing-rabbitmq/pkg/adapter.(*Adapter).Start\n\tknative.dev/eventing-rabbitmq/pkg/adapter/adapter.go:99\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapterWithContext\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:120\nknative.dev/eventing/pkg/adapter/v2.MainMessageAdapter\n\tknative.dev/eventing@v0.34.1/pkg/adapter/v2/main_message.go:45\nmain.main\n\tknative.dev/eventing-rabbitmq/cmd/receive_adapter/main.go:26\nruntime.main\n\truntime/proc.go:250"}

Rabbitmq logs
2022-10-06 06:56:32.747816+00:00 [info] <0.29836.50> connection <0.29836.50> (<IP_ADDRESS>:56058 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:32.787006+00:00 [error] <0.29845.50> Channel error on connection <0.29836.50> (<IP_ADDRESS>:56058 -> <IP_ADDRESS>:5672, vhost: '/', user: 'rmquser'), channel 1:
2022-10-06 06:56:32.787006+00:00 [error] <0.29845.50> operation queue.declare caused a channel exception not_found: no queue 'my-queue' in vhost '/'
2022-10-06 06:56:32.807100+00:00 [info] <0.29851.50> accepting AMQP connection <0.29851.50> (<IP_ADDRESS>:56060 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:32.827926+00:00 [info] <0.29851.50> connection <0.29851.50> (<IP_ADDRESS>:56060 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:32.846415+00:00 [error] <0.29860.50> Channel error on connection <0.29851.50> (<IP_ADDRESS>:56060 -> <IP_ADDRESS>:5672, vhost: '/', user: 'rmquser'), channel 1:
2022-10-06 06:56:32.846415+00:00 [error] <0.29860.50> operation queue.declare caused a channel exception not_found: no queue 'my-queue' in vhost '/'
2022-10-06 06:56:32.891315+00:00 [info] <0.29864.50> accepting AMQP connection <0.29864.50> (<IP_ADDRESS>:56070 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:32.910111+00:00 [info] <0.29864.50> connection <0.29864.50> (<IP_ADDRESS>:56070 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:32.913678+00:00 [error] <0.29882.50> Channel error on connection <0.29864.50> (<IP_ADDRESS>:56070 -> <IP_ADDRESS>:5672, vhost: '/', user: 'rmquser'), channel 1:
2022-10-06 06:56:32.913678+00:00 [error] <0.29882.50> operation queue.declare caused a channel exception not_found: no queue 'my-queue' in vhost '/'

After queue and exchange is created
Rabbitmq knative event source logs
{"level":"warn","ts":"2022-10-06T06:56:37.715Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.727Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.734Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.745Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.754Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.770Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.780Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.793Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.807Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.827Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.841Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.869Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}
{"level":"warn","ts":"2022-10-06T06:56:37.898Z","caller":"adapter/adapter.go:187","msg":"recreating RabbitMQ resources","commit":"b4d2f33-dirty"}

Rabbitmq logs
2022-10-06 06:56:32.917025+00:00 [info] <0.29886.50> accepting AMQP connection <0.29886.50> (<IP_ADDRESS>:56076 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:32.922075+00:00 [info] <0.29886.50> connection <0.29886.50> (<IP_ADDRESS>:56076 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:32.955752+00:00 [info] <0.29906.50> accepting AMQP connection <0.29906.50> (<IP_ADDRESS>:56078 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:32.957966+00:00 [info] <0.29906.50> connection <0.29906.50> (<IP_ADDRESS>:56078 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:32.972521+00:00 [info] <0.29918.50> accepting AMQP connection <0.29918.50> (<IP_ADDRESS>:56080 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:32.974916+00:00 [info] <0.29918.50> connection <0.29918.50> (<IP_ADDRESS>:56080 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:32.987584+00:00 [info] <0.29930.50> accepting AMQP connection <0.29930.50> (<IP_ADDRESS>:56082 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:32.991870+00:00 [info] <0.29930.50> connection <0.29930.50> (<IP_ADDRESS>:56082 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:33.014265+00:00 [info] <0.29947.50> accepting AMQP connection <0.29947.50> (<IP_ADDRESS>:56084 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:33.022254+00:00 [info] <0.29947.50> connection <0.29947.50> (<IP_ADDRESS>:56084 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:33.026864+00:00 [info] <0.29958.50> accepting AMQP connection <0.29958.50> (<IP_ADDRESS>:56086 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:33.028876+00:00 [info] <0.29958.50> connection <0.29958.50> (<IP_ADDRESS>:56086 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:33.038468+00:00 [info] <0.29973.50> accepting AMQP connection <0.29973.50> (<IP_ADDRESS>:56088 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:33.040078+00:00 [info] <0.29973.50> connection <0.29973.50> (<IP_ADDRESS>:56088 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:33.053219+00:00 [info] <0.29980.50> accepting AMQP connection <0.29980.50> (<IP_ADDRESS>:56090 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:33.060891+00:00 [info] <0.29980.50> connection <0.29980.50> (<IP_ADDRESS>:56090 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:33.077405+00:00 [info] <0.29999.50> accepting AMQP connection <0.29999.50> (<IP_ADDRESS>:56092 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:33.087446+00:00 [info] <0.29999.50> connection <0.29999.50> (<IP_ADDRESS>:56092 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'
2022-10-06 06:56:33.111576+00:00 [info] <0.30010.50> accepting AMQP connection <0.30010.50> (<IP_ADDRESS>:56094 -> <IP_ADDRESS>:5672)
2022-10-06 06:56:33.113902+00:00 [info] <0.30010.50> connection <0.30010.50> (<IP_ADDRESS>:56094 -> <IP_ADDRESS>:5672): user 'rmquser' authenticated and granted access to vhost '/'

There are a lot of consumers (and count growing) in rabbitmq, probably rabbitmq is overwhelmed by consumers and does not want to accept new connections from other services to publish messages in queue.

Expected behavior
There could be some timeout, maybe configurable timeout, where after timeout connection is retried. For example 1 second.
To Reproduce
Set rabbitmq knative source queue config to predeclared = true
Motivation to not use predeclared = false:

in previous rabbitmq knative source versions, when you delete rabbitmq source, queue also is deleted. Thats bad when queue contains data. knativesource needs to be deleted for example when migrating to new knative version which contains immutable fields
queue and exchange is created with unwanted configuration (headers insted of fanout exchange etc. ...)

apiVersion: sources.knative.dev/v1alpha1
kind: RabbitmqSource
metadata:
  name: my-source
  namespace: default
spec:
  rabbitmqClusterReference:
    # name: rabbitmq
    namespace: default
    connectionSecret:
      name: rabbitmq
  rabbitmqResourcesConfig:
    predeclared: true
    exchangeName: "my-queue"
    queueName: "my-queue"
    parallelism: 1
  delivery:
    retry: 2592000
    backoffPolicy: "linear"
    backoffDelay: "PT1000S"
  sink:
    ref:
      apiVersion: v1
      kind: Service
      name: my-service
      namespace: default

Knative release version
Knative - v1.7.3
Knative rabbitmq source - v1.7.1
Additional context
Seems like a priority issue.

Hey @gunpuz thanks for the detailed issue! I'll be tackling it this week 💪🏼 !

@gabo1208 is this issue fixed in v1.8.1?
Seems that there is problem that rabbitmq source does not see fanout exchange and queue is also not recognized.
Describe from rabbitmq source:

Rabbitmq management

Should this issue be reopened @gabo1208 ?

Hey @gunpuz Hmmm yeah definitely a regression, I'll be working on a fix and a test thanks for the report!

This also made me consider exposing some auto delete option for queues I'll talk with the team to see if it makes sense for them too (to avoid upgrades deletions), I'll tag you when we create the issue =)

Yes autodelete is the primary issue why predefined = false is not really usable

It would be also nice if exchange type and other info could be configurable.

For the exchange type, we need the headers one to keep it simple for users to adopt the Knative eventing way. But if you want leave your use case here to see if it makes sense to expose some other config params

btw, for starters it would be awesome and this issue could be resolved if rabbitmq source would:

not leak connections if there is no queue and exchange.
not leak logs if there is no queue and exchange.
support fanout exchange type with predeclared = true

Hey @gunpuz, sorry for the delay! but https://github.com/knative-sandbox/eventing-rabbitmq/pull/1002 is aiming for that, I'm testing those edge cases today and plan to unhold it afterwards =)

@gabo1208 in witch release version this could be included. These are bigger changes right?

Yeah since they are pretty big it's going to be up in the next release (v1.9) since the release cadence changed, we'll need to wait a bit more for them to be ready


Some applications crash upon start

Firefox reported that several times it was closed unexpectedly. Same happened to Spotify.
Probably it caused by some wrong event handlers.

Fixed. Described in #11


googleauth does not compile

examples/googleauth/googleauth.go does not compile as oauth2.Endpoint does not set AuthStyle.
https://github.com/googleapis/gnostic-go-generator/blob/a592d983eb00c28fd43be606731198a708929617/examples/googleauth/googleauth.go#L120

Closing issue.


Add more quotes

Added 20 more quotes.
Relted to #3

data/008.json already exists. I will resolve the file name conflict. Next time be careful with this. :smile:

Oh! Sorry, I couldn't find any 008.json file while I was working on it.
BTW Thanks,:smile: :heart:


Happy Number Added

PR for issue #312
Happy Number program added.

Please star this repository to show your support, in the meantime I am reviewing your code.

Ok, Done.


[BUG] ImportError: cannot import name 'V4L2_CID_MPEG_VIDEO_H264_MAX_QP' from 'v4l2'

Describe the bug
Cannot import picamera2 after upgrade of RPi OS
To Reproduce
If you have the same issue
$python3

import picamera2

Expected behavior
No error when importing picamera2
Console Output, Screenshots
When importing picamera2 after OS upgrade with
$python3

import picamera2
Traceback (most recent call last):
File "", line 1, in
File "/usr/lib/python3/dist-packages/picamera2/init.py", line 7, in
from .picamera2 import Picamera2, Preview
File "/usr/lib/python3/dist-packages/picamera2/picamera2.py", line 23, in
from picamera2.encoders import Encoder, H264Encoder, MJPEGEncoder, Quality
File "/usr/lib/python3/dist-packages/picamera2/encoders/init.py", line 2, in
from .h264_encoder import H264Encoder
File "/usr/lib/python3/dist-packages/picamera2/encoders/h264_encoder.py", line 5, in
from v4l2 import (V4L2_CID_MPEG_VIDEO_H264_I_PERIOD,
ImportError: cannot import name 'V4L2_CID_MPEG_VIDEO_H264_MAX_QP' from 'v4l2' (/home/fredrik/.local/lib/python3.9/site-packages/v4l2.py)

Hardware :
Please state what kind of Pi you are using, and what camera is attached.
Rpi 3B+
Raspberry Pi Camera v2.1
Additional context
The error came after I recently updated the os
$sudo apt update
$sudo apt upgrade
The upgrade was successful with no errors
$sudo reboot
$cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
$uname -m
aarch64
$pip3 show picamera2
Name: picamera2
Version: 0.3.9
Summary: The libcamera-based Python interface to Raspberry Pi cameras, based on the original Picamera library
Home-page: https://github.com/RaspberryPi/picamera2
Author: Raspberry Pi & Raspberry Pi Foundation
Author-email<EMAIL_ADDRESS>License: BSD 2-Clause License
Location: /usr/lib/python3/dist-packages
Requires:
Required-by:
Thanks for your support!

Thanks jenyak for your fast response.
I solved the problem by removing the old v4l2.py from the local python installation so the system-wide installation path was used instead.


Handle multi-scramArch in LogCollect

And that's why LogCollect is failing everywhere. I thought it was the usual castor issue that we have from time to time.
Still needs to be tested, but it's probably good for review.

I approve of moving that function.

So the log collect job currently failing due to this? Production agent need to be patched?

That's right! And it will only work for new requests being acquired by the agent (new sandbox).
I'll create the wmagent branch PR once I'm sure this works Ok.

Looks good to me.

Patch works fine. However, I'll try to fix the exit code 0 issue as well (when it fails).

Actually, I'll fix that in another PR not to keep holding this one. That will likely require more testing anyways. @ticoann please merge. I'm creating the wmagent branch version soon.


Can't find URL for 'nextSelector'

I am not sure if this is plugin issue. But anyway something is wrong.
I am using ASP MVC with this plugin (I started discussion here also http://stackoverflow.com/questions/9352251/relative-path-issue-in-razor)
When I put :
< nav id="page_nav" style="display: none; ">
< a href="http://localhost:xxxx/home/moredata">MoreData.cshtml
...
It works. No problem but this is full URL path in my code.
So if I try to create it in asp mvc normal way for creating  tags It doesn't work anymore:
< nav id="page_nav" style="display: none; ">
@Html.ActionLink(" ", "MoreData", "Home")
...
Href in this case is: /Home/MoreData
Error that I get:
["Sorry, we couldn't parse your Next (Previous Posts) URL. Verify your the css selector points to the correct A tag. If you still get this error: yell, scream, and kindly ask for help at infinite-scroll.com."] jquery.infinitescroll.min.js:29["determinePath", "/Home/MoreData"] jquery.infinitescroll.min.js:29["Binding", "bind"]

@vladakg85 The easiest way to make it work is to ensure your next link is in the format /home/moredata/2/
The 2 bit is important the parser looks for it as the next page (and increments it for subsequent pages).
Alternatively you can define the path manually but that may take away from your MVC style.


SEO option: Limit the length of event content that can list in the sitemap.

Most metadata search engines are reluctant to list pages with minimal content, however in social media short text notes are base.
So I think, it may be better to limit the number of words (content length) that can be listed in the sitemap for an event. A lot of "GM" doesn't make much sense not only for humans, but for robots as well. Of course I can only assume that sitemap is only for metadata search engines, so for newer like Kagi, our proactive SEO is still important.
And more: https://github.com/fiatjaf/njump/issues/31 https://github.com/fiatjaf/njump/issues/59

Of course, for SEO purposes it's possible to display more complete threads on a page to provide more content, but njump does a disservice to client-side developers by doing so. So filter content that has at least some length advantage is a more SEO-friendly approach, without breaking the existing page design.


Translations update from Hosted Weblate

Translations update from Hosted Weblate for raspiblitz-web/translations.
Current translation status:

Thank you @beeffectiveinnovator @vv01f @bitpaint Fernando Serer @foxikk @softsimon ! :)


MS SQL - Devportal API v1 /applications GET limit parameter is not working

Description:
When APIM 3.1.0 setup with MS SQL as database and invoke the GET API api/am/store/v1/applications with limit parameter, getting all the applications in the response without respecting the limit parameter. Also in the UI when there are applications more than 9 pagination is not coming.
Steps to reproduce:

Setup APIM with MS SQL database.
Invoke api/am/store/v1/applications API with setting limit parameter

Affected Product Version:
APIM 3.1.0

Fixed with https://github.com/wso2-support/carbon-apimgt/pull/2148

Fixed in the public branch with https://github.com/wso2/carbon-apimgt/pull/8854


Can't GET a Wallet with ID

Hey, Berk from plentific here.
I can't get a resource using our forked mangopay python SDK. The resource I've been trying to get is a confirmed wallet resource by your customer service agents. They've asked to raise the issue here.
Our forked mangopay sdk; https://github.com/plentific/mangopay2-python-sdk
The error I am getting at our production env shell;

from mangopay.resources import Wallet as MPWallet
w = MPWallet.get(XXX)
Traceback (most recent call last):
File "/usr/local/lib/python3.6/code.py", line 91, in runcode
exec(code, self.locals)
File "", line 1, in
File "/opt/venv/src/mangopaysdk/mangopay/resources.py", line 239, in get
return super(Wallet, cls).get(*args, **kwargs)
File "/opt/venv/src/mangopaysdk/mangopay/base.py", line 249, in get
return cls.select().get(*args, **kwargs)
File "/opt/venv/src/mangopaysdk/mangopay/query.py", line 61, in get
reference))
mangopay.base.WalletDoesNotExist: instance Wallet matching reference XXX does not exist

Hi Berk @berkkarahan
We're looking into it
Max

Hi @berkkarahan ,
The forked SDK is very behind our version,
could we ask you to update to the latest version on our side?
Regards,
Max

hi @berkkarahan
Did you manage to update the version? Does the error persist

sorry. couldn't get back to you. We seem to have solved the issue, we can close this.

cool


Unable to place offhand items while holding Atomic Disassembler

This is mainly an issue with torches.  This is likely because the AD has right-click functions such as tilling soil, but it shouldn't try to perform any of those actions on blocks it can't (like stone), which would then allow you to use your offhand item without switching away from the AD in mainhand. Potentially it should only try to do right-click actions when you click on the correct side of the block (such as the top of dirt to till it), allowing you to still place offhand torches on the side of dirt without switching to a different mainhand item.
Minecraft: 1.10.2
Forge: <IP_ADDRESS>4
Mekanism: 9.2.0

I'd like to second this. Now I'm used to caving with a stack of torches in my off hand, going back to the old way is a struggle.

Can confirm this in latest version.
Code analysis:
ItemAtomicDisassembler always returns an ActionResult of SUCCESS even if there isn't anything to do.

Fixed!

Uhm... Think this isn't fixed. Now it always places items of the offhand and tilling soil doesn't work anymore.

Actually fixed :)


Unit tests configurations for emp_games

Hello Facebook team,
I am attempting to run the unit tests within the repo using CLion IDE. To be more specific, I am trying to setting up pcf2's unit tests by extending the CMakeLists.txt file under fbpcs/docker/emp_games. Currently, I can successfully load CMakeLists.txt but keep having a linker error below. My understanding is the complier complains about the missing dependency of folly package within the fbpcf.
====================[ Build | pcf2_attribution_calculator_test | Debug - pcs ]====
/usr/bin/cmake --build /root/snap-int-fbpcs/cmake-build-debug---pcs --target pcf2_attribution_calculator_test -- -j 8
[ 13%] Built target empgamecommon
[ 33%] Built target gtest
[ 40%] Built target perftools
[ 53%] Built target gtest_main
[ 60%] Linking CXX executable bin/pcf2_attribution_calculator_test
/usr/bin/ld: /usr/local/lib/libfbpcf.a(S3Util.cpp.o): in function `fbpcf::aws::uriToObjectReference(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
S3Util.cpp:(.text+0x87d): undefined reference to `folly::Uri::Uri(folly::Range<char const*>)'
/usr/bin/ld: /usr/local/lib/libfbpcf.a(GCSUtil.cpp.o): in function `fbpcf::gcp::uriToObjectReference(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
GCSUtil.cpp:(.text+0x1dd): undefined reference to `folly::Uri::Uri(folly::Range<char const*>)'
/usr/bin/ld: CMakeFiles/pcf2_attribution_calculator_test.dir/fbpcs/emp_games/pcf2_attribution/test/AttributionAppTest.cpp.o: in function `pcf2_attribution::verifyOutput(pcf2_attribution::AttributionOutputMetrics, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
/root/snap-int-fbpcs/fbpcs/emp_games/pcf2_attribution/test/AttributionTestUtils.h:31: undefined reference to `folly::compareJson(folly::Range<char const*>, folly::Range<char const*>)'
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/pcf2_attribution_calculator_test.dir/build.make:222: bin/pcf2_attribution_calculator_test] Error 1
make[2]: *** [CMakeFiles/Makefile2:226: CMakeFiles/pcf2_attribution_calculator_test.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:233: CMakeFiles/pcf2_attribution_calculator_test.dir/rule] Error 2
make: *** [Makefile:201: pcf2_attribution_calculator_test] Error 2

However, when I looked over this website and double-checked the common.cmake within the fbpcs repo, I believe the folly package has been already included in the common cmake. Furthermore, since the CMakeLists.txt I am using now has already include("common.cmake"), the Uri should have been included. Please feel free to correct me if I am wrong.
I also try copying the following block of code into the CMakeLists.txt but the same linker error still show up:
find_package(folly REQUIRED)
set_and_check(FOLLY_INCLUDE_DIR /usr/local/include/folly)
set_and_check(FOLLY_CMAKE_DIR /usr/local/lib/cmake/folly)
if(NOT TARGET Folly::folly)
    include("${FOLLY_CMAKE_DIR}/folly-targets.cmake")
endif()
if(NOT folly_FIND_QUIETLY)
    message(STATUS "Found folly: ${PACKAGE_PREFIX_DIR}")
endif()

The following represents my sample code for building a gtest target:
# Test - pcf2_aggregation_test
file(GLOB pcf2_aggregation_test_src
        "fbpcs/emp_games/pcf2_aggregation/**.h"
        "fbpcs/emp_games/pcf2_aggregation/**.cpp"
        "fbpcs/emp_games/pcf2_aggregation/test/**.h"
        "fbpcs/emp_games/pcf2_aggregation/test/**.cpp"
        "fbpcs/emp_games/common/TestUtil.**"
)
add_executable(
        pcf2_aggregation_calculator_test
        ${pcf2_aggregation_test_src})
target_link_libraries(
        pcf2_aggregation_calculator_test
        empgamecommon
        perftools
        gtest_main
        Folly:folly
)
install(TARGETS pcf2_aggregation_calculator_test DESTINATION bin)

Could you please share any advice with me on how to proceed with setting up unit tests? Many thanks in advance!
Context:

I  copy-paste the CMakeLists.txt file under fbpcs/docker/emp_games to the root directory and then try extending files upon that.
I also have fbpcf repo under the same directory as fbpcs.

Best regards,
Hokssey

I was able to figure out this issue by my own. Thanks for your consideration!