Supporting multi-dimensional arrays for type creation

I have a solidity contract with the below definition
contract Test {
    function test( bytes32[3][] len)
     public
    {

    }
}

Running
graph init --from-contract 0xe6A... --network kovan --abi ./test.json test/test-subgraph

generates the below error
Failed to generate types for contract ABIs: Failed to generate types for contract ABI: Conversion from 'EthereumValue' to 'AssemblyScript' for source type 'bytes32[3][]' is not supported
error Command failed with exit code 1.

Hey @samparsky ,
Yes we don't support this yet. We need to add in support for dimensional arrays to graph-cli. We will talk about it in the next team meeting and determine when we can add support! In the mean time if you must move forward, I suggest leaving out these types if possible from your subgraph.

Justin from synthetix has also ran into this

Took the liberty of pre-assigning @fordN who knows more about this. @Jannis lets try to triage this on our next planning meeting.

Any update on this one? I was working on a graph as well that requires multi-dimensional arrays (uint256[][]).

My problem is the same but also adds another case, the return position
    function getUpgrades()
        public
        view
        returns (DarkForestTypes.Upgrade[4][3] memory)
    {
...
    }

For anyone reading this now...
Make sure you remove the section with the 2d array from your ABI before you run yarn codegen.
As long as you do not use the function, event, etc. in your Subgraph mapping handlers, you will be fine.
Cheers!

Any solution if I do need an event that has an array of structs?

Any update on this?

graph init --from-contract 0x472b5B62d5F27668952a7Da55F57F4004699ae9D --protocol ethereum \ --network rinkeby --contract-name ERC721 --index-events
When I run this, I get this error message
Failed to create subgraph scaffold: Conversion from 'AssemblyScript' to 'Value' for source type 'Array<ethereum.Tuple>' is not supported
When will this be supported?
or is there any way to avoid this error?

Hi @sw0714 I think this was fixed here? https://github.com/graphprotocol/graph-cli/issues/862
cc @evaporei

@azf20 Getting Failed to generate types for contract ABIs: Failed to generate types for contract ABI: Conversion from 'ethereum' to 'AssemblyScript' for source type 'address[][]' is not supported on 0.33.0

any progress on this?
would it be reasonable to allow typing these as unknown and writing a custom parser in mappings?

My current (terrible) workaround is to abi encode the internal array i.e. Address[][] -> Bytes[], and decode it in the subgraph

My current (terrible) workaround is to abi encode the internal array i.e. Address[][] -> Bytes[], and decode it in the subgraph. @peripheralist at least this would allow a workaround without require contract-level changes

yeah, i'll probably end up doing something like that. though it'd be nice to avoid making contract-level changes based on off-chain infrastructure 😑

My current (terrible) workaround is to abi encode the internal array i.e. Address[][] -> Bytes[], and decode it in the subgraph. @peripheralist at least this would allow a workaround without require contract-level changes

Could you give an example snippet of how you do it?

I'm currently working/implementing this 😊

I'm getting closer to the testing phase 🎉  if possible could any of you please give example contract addresses so I can test it? 🙂

I'm getting closer to the testing phase 🎉  if possible could any of you please give example contract addresses so I can test it? 🙂
@samparsky @wslyvh @jacobrosenthal @liaopeiyuan @alphak3y @manumonti @hbriese @peripheralist @mbartn

Hey @evaporei 0x9008D19f58AAbD9eD0D60971565AA8510560ab41 this address contains a tuple[][3] that prevents to index the settle contract call.
This address is deployed both on mainnet and gnosis chain.

Hi @evaporei
I found this multi-dimensional array limitation with this contract:
https://github.com/nucypher/nucypher-contracts/blob/710b68713b5b8fece0d0b1c5de376dba1d7d68e7/contracts/contracts/SimplePREApplication.sol#L114
Deployed on mainnet: "address": "0x7E01c9c03FD3737294dbD7630a34845B0F70E5Dd"

@evaporei The CowSwap contract (0x9008d19f58aabd9ed0d60971565aa8510560ab41) has one

Hey folks I just released an alpha version of each project (CLI and TS) that I'm testing with those contracts, if you guys want to check them out too and bring any possible problems that you've faced with it:

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Hey @evaporei !
I've been trying to index 0x9008D19f58AAbD9eD0D60971565AA8510560ab41 settle call that includes tuple[][3]
The code (where it's just counting calls) is already deployed here and unfortunately there's no call indexed.
Please let me know if I'm missing something or if I'm doing something wrong.

thanks @evaporei!
@GabrielCamba can you share a link to a transaction including a settle call which we can take a look at?

This is now done and available at these CLI and TS versions 😉 🎉

<EMAIL_ADDRESS><EMAIL_ADDRESS>

Hi @evaporei looks like I'm running into an issue.
I'm successfully able to use codegen and write my handlers fine, but getting an error on build specifically on the multidimensional arrays. Typescript is showing the error for the generated schema as well.
ERROR TS2339: Property 'fromStringMatrix' does not exist on type '~lib/@graphprotocol/graph-ts/common/value/Value'.

     this.set("values", Value.fromStringMatrix(value));
                              ~~~~~~~~~~~~~~~~
 in generated/schema.ts(1300,30)

ERROR TS2339: Property 'fromBigIntMatrix' does not exist on type '~lib/@graphprotocol/graph-ts/common/value/Value'.

     this.set("valuesChance", Value.fromBigIntMatrix(value));
                                    ~~~~~~~~~~~~~~~~
 in generated/schema.ts(1318,36)

Here's the generated code snippet:
get values(): Array<Array<string>> {
    let value = this.get("values");
    return value!.toStringArray();
  }

  set values(value: Array<Array<string>>) {
    this.set("values", Value.fromStringMatrix(value));
  }

I was able to compile & build by copying the matrix functions from ethereum.ts to value.ts - I believe these functions should exist in value.ts?
Now I'm facing a runtime issue:
Entity Canvas[1]: field valuesis of type [[String!]!]!, but the value[[Elevated, Sublime, Majestic, Royal, Utopian, Psychedelic, Divine]] contains a [String] at index 0 wasm backtrace: 0: 0x3429
Is this the correct syntax to support a multi-dimensional array within the schema?

@illestrater are you sure you did an upgrade to your graph-ts library? Since the Matrix functions are not being found, this means you're using an older version which didn't include those.

Hi @evaporei it seems like the matrix functions are indeed missing in the graph-ts library: https://github.com/graphprotocol/graph-ts/blob/main/common/value.ts
Codegen created dependencies for common/value.ts rather than chain/ethereum.ts where the matrix functions live

I'll take a look at this over this weekend 🙂

@illestrater you're right, I'll do a patch with those functions, thanks for the report!
@anxolin do you know a transaction for this contract where a settle call happens so we can debug it?

@illestrater can you please try again with versions 0.28.1 and 0.34.1 please?

@anxolin do you know a transaction for this contract where a settle call happens so we can debug it?

Same as what @GabrielCamba shared before:
https://github.com/graphprotocol/graph-cli/issues/342#issuecomment-1242533424
https://github.com/graphprotocol/graph-cli/issues/342#issuecomment-1245488571
For a more recent tx, see here https://etherscan.io/tx/0x37d02419e8466e64c9dc60dc67fde2ecfe21ae872e814d7992d5ff128a30f74f
For reference of the events emitted https://github.com/cowprotocol/contracts/blob/main/src/contracts/GPv2Settlement.sol#L50-L68

Hello @alfetopito ! I've made a fork of @GabrielCamba 's subgraph to Ethereum mainnet, and set the startBlock at the transaction you've sent and my local graph-node at master processed it correctly 🎉
Oct 21 14:03:33.767 INFO Done processing trigger, gas_used: 172528289, data_source: GPv2Settlement, handler: handleSettle, total_ms: 33, transaction: 0x3092…38bc, to: 0x9008…ab41, function: settle(address[],uint256[],(uint256,uint256,address,uint256,uint256,uint32,bytes32,uint256,uint256,uint256,bytes)[],(address,uint256,bytes)[][3]), sgd: 16, subgraph_id: QmXqo5ojpVnkWNVnf3z5q5J17hrbogz6hZF1oZGq6kv3x7, component: SubgraphInstanceManager
Oct 21 14:03:33.773 INFO Applying 2 entity operation(s), block_hash: 0x98b9ca11d873416ce6f805b9a3e05bbd6d2fbf678b68a45257c4b0f46301303a, block_number: 15775739, sgd: 16, subgraph_id: QmXqo5ojpVnkWNVnf3z5q5J17hrbogz6hZF1oZGq6kv3x7, component: SubgraphInstanceManager

So it should be working normally at the Hosted Service, are you use that you're using the most recent graph-cli and graph-ts?

Thanks for your reply, @evaporei
We've tried last with:
"dependencies": {
    "@graphprotocol/graph-cli": "0.34.0",
    "@graphprotocol/graph-ts": "0.28.0"
  },

While you tested with:
  "dependencies": {
    "@graphprotocol/graph-cli": "0.35.0",
    "@graphprotocol/graph-ts": "0.28.1"
  },

We'll try with graph-cli 0.35.0 and graph-ts 0.28.1 and report back

I have this problem!
Any updates?

Entity Canvas[1]: field values is of type [[String!]!]!, but the value [[Elevated, Sublime, Majestic, Royal, Utopian, Psychedelic, Divine]] contains a [String] at index 0 wasm backtrace: 0: 0x3429

Having this issue also, did you find a solution?
fieldbarrelsis of type [[BigInt!]!]!, but the value[[1, 2, 0, 3, 3, 2, 3, 1, 3, 3, 2, 3, 2, 3, 3], [2, 3, 1, 2, 3, 3, 3, 3, 1, 3, 2, 0, 3, 2, 3], [1, 3, 2, 3, 2, 3, 3, 1, 3, 2, 3, 2, 3, 0, 3]]contains a [BigInt] at index 0 wasm

Entity Canvas[1]: field values is of type [[String!]!]!, but the value [[Elevated, Sublime, Majestic, Royal, Utopian, Psychedelic, Divine]] contains a [String] at index 0 wasm backtrace: 0: 0x3429

Having this issue also, did you find a solution?
fieldbarrelsis of type [[BigInt!]!]!, but the value[[1, 2, 0, 3, 3, 2, 3, 1, 3, 3, 2, 3, 2, 3, 3], [2, 3, 1, 2, 3, 3, 3, 3, 1, 3, 2, 0, 3, 2, 3], [1, 3, 2, 3, 2, 3, 3, 1, 3, 2, 3, 2, 3, 0, 3]]contains a [BigInt] at index 0 wasm

Having the same issue than you. Any solution to this?


[documentation] undef codeContainer

I'm trying to implement your plugin, but right from the start of the docs you write:
new EthereumQRPlugin(codeContainer);
However, this codeContainer is undefined, so I'm very confused what to feed in there...
import EthereumQRPlugin from 'ethereum-qr-code';

// later in code
const qr = new EthereumQRPlugin(codeContainer);
const qrCode = qr.toCanvas({
    selector: '#my-qr-code',
    to,
    gas
});

Hey dude
EthereumQRPlugin doesn't require any constructor parameters.
README.md was updated.

awesome! Thanks!!!


Added PreventEncryptionScopeOverride to DataLakeFileSystemEncryptionS…

…copeOptions

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.Storage.Files.DataLake


sqlfluff: 0.12.0 -> 0.13.0

Description of changes
https://github.com/sqlfluff/sqlfluff/releases/tag/0.13.0

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 169987 run on x86_64-linux 1

1 package built:

sqlfluff


Apply hotfix to support SSR (Fixes #92)

Added this direct hotfix for window not being available server-sided. It's been 9 months since the PR for this has been proposed, so I think that 'temporary' fix in the readme should be implemented directly for the time being.
Functionally, this does the same as the proposed readme fix:

Puts the Hammer.js import in a try/catch block
If an error occurs (-> window is not defined), it assigns an empty stub to Hammer instead

It's not the most beautiful fix, but better than workarounds with webpack that don't work on certain setups.

+1

+1

+1

+1


add permissioned cranking

This is for upcoming serum-dex release with permissioned-cranking. This now works with latest serum-dex master.

Add support for crank-authority.
Add consume-events and consume-events-permissioned middleware
Add spl-token revoke instruction
Add post_callbacks to the context and invoke in the market proxy.
Make dex instructions mutable inside middleware

Note that the permissioned market code is being moved into the serum-dex repo https://github.com/project-serum/anchor/pull/962 for the next release.
I'll make sure to move these changes over.

sounds good. we also need to make changes to instruction data in the middleware. i am thinking of the following:
fn instruction(&mut self, _data: &mut &mut[u8])
fn new_order_v3(&self, _ctx: &mut Context, _ix: &mut NewOrderInstructionV3)
what do you think?

sounds good. we also need to make changes to instruction data in the middleware. i am thinking of the following: fn instruction(&mut self, _data: &mut &mut[u8]) fn new_order_v3(&self, _ctx: &mut Context, _ix: &mut NewOrderInstructionV3) what do you think?

Sounds good to me! Happy to make those fields mutable.

@armaniferrante
can you do me a favor? if you can change serum-dex version to 0.4.1 on this pr, that'd be great. i was having some issues changing the version number.

Would love to see this merged. It appears that at least some of the tests are failing because the serum version referenced doesn't have the new permissioned crank code. Should the PR also include a CPI function for consume events?

The SPL related changes are being added in this PR https://github.com/project-serum/anchor/pull/1089.
Breaking it out into a separate PR to avoid merge conflict nastiness and the fact that most of the changes here need to be moved to the serum-dex repo.

The middleware related changes are being added here https://github.com/project-serum/serum-dex/pull/197.

Many of these dex CPI functions didn't make it into the latest dex.rs update


Partial clean up of test_compiler_defines_for_extensions

Replace repetitions of extensions_supported[num_of_supported_extensions] with a single pointer variable.
Replace character-by-character comparisons with a new string_has_prefix function.
Signed-off-by: Stuart Brady<EMAIL_ADDRESS>

I am of the opinion that this should code should be converted over to use C++ strings, vectors, etc. in due course, and that the log messages could be improved, but I have decided to limit this change to making better use of C strings for now, so that it is easier to review.

Note that the strictly speaking, the comparison memcmp(extensions_supported[num_of_supported_extensions], "cles_khr_", 9) could go out of bounds, if the extension name is allocated towards the the end of a page and is shorter than "cles_khr_" – this is very unlikely, to the point of being mostly theoretical, so I have chosen not to mention this in the commit message.

Qualcomm would like some more time to review this change.

Merging as discussed in the December 13th teleconference.


feat: Support VZEFIBootLoader

This pull requests add a support of VZEFIBootLoader.
refs: https://developer.apple.com/documentation/virtualization/vzefibootloader?language=objc

@siketyan
Thanks you for support VZEFIBootLoader. It looks fine, so I have merged it.


var form tracking

The linter only supports the x := T{..} form of structs.
It may be possible to also track var form:
var x T
x.Foo = a
x.Bar = b
dostuff(x)

This will likely need to account for control flow:
if cond {
  x.Foo = whatever
}
dostuff(x)
// ERROR: required field may be unset: Foo

From cursory research, this will likely need to inspect the SSA IR.

I think maybe var form tracking isn't worth the cost of SSA.


Open generic registration with HierarchicalLifetimeManager

I have found a problem: when register open generic type in parent container with HierarchicalLifetimeManager and resolve with child container, then first resolution result is stored in parent container but all following second in child.
var parent = new UnityContainer();
parent.RegisterType(typeof(GenericType<>), new HierarchicalLifetimeManager());
var child = parent.CreateChildContainer();

var first = child.Resolve<GenericType<int>>(); // first is stored in parent.lifetimeContainer
var second = child.Resolve<GenericType<int>>(); // second is stored in child.lifetimeContainer
var third = child.Resolve<GenericType<int>>(); // the same as second (by reference)

For example correct behavior when registered type is not open generic:
var parent = new UnityContainer();
parent.RegisterType(typeof(GenericType<int>), new HierarchicalLifetimeManager());
var child = parent.CreateChildContainer();

var first = child.Resolve<GenericType<int>>(); // first is stored in child.lifetimeContainer
var second = child.Resolve<GenericType<int>>(); // the same as first (by reference)
var third = child.Resolve<GenericType<int>>(); // the same as second (by reference)

Fixed

Unity 5.0.0 uses ConcurrentDictionary in its implementation. This should solve the issue.


Stencil-react-ssr-output-target does not bring the dist files

Hi I'm trying to use this output stencil-react-ssr-output-target to study about how I can use stencil.js web components with next.js! But when I tried to generate output, the output generation did not come with these files (files in the root of dist), Can you help me? How can I make this work?

Hi @gabrielleacuba,
Just wanted to apologize for the delayed response. I was on a 4-month vacation and completely disconnected!
In the meantime Stencil has worked on @stencil/react-output-target and finally creates components that work seamlessly with Next.js. They use the DSD approach, which is supported in all major browsers. That's why I'm going to archive this project soon. 😇
Let me know if you have any questions or if there's anything else I can help you with.


Improve handling of trusted fact hash

This improves the way trusted extensions are handled, as well as adding support for trusted external data.

Hey @garrettrowell I've modified the rake task to allow for tagging tests with a minimum version. This seems to fix the tests. Are you okay with a merge?


Request external whois/geoip services if search in Netbox failed for IP address or prefix

Environment

Python version:  3.5.4
NetBox version:  2.4.4

Proposed Functionality
That is a really convenient feature in some IPAM solutions.
It would be cool to see it in NetBox.
When you search for IP address or IP prefix and there is no such entry in NetBox DB we could request external services for information about IP/Prefix.

Use Case
You can forget about the services like whois and use IPAM to resolve any external and internal IP addresses.

Database Changes
None

External Dependencies
https://ipwhois.readthedocs.io/en/latest/

This strikes me as an extraneous feature that's going to be much more work to maintain than it's worth. In general you should already know whether an IP address is part of your assigned space or not, and if not, performing a manual WHOIS lookup is trivial. Additionally, many users run NetBox in an isolated environment, rendering such a feature useless and necessitating the need for yet another configuration option. It's a neat idea, but we have too much in the backlog right now for extra features.


Add gcc-multilib as eBPF pre-requisite for Ubuntu

What kind of PR is this?

Documentation
Why this PR is needed / What does this PR do?

I had a little trouble compiling the eBPF program in Ubuntu:
$ make bytecode
...
bpf2go -cc clang -cflags -O2 -g -Wall -Werror -I./libbpf/include -I./libbpf/src bpf ./bpf/cgroup_connect4.c
In file included from /home/joao/Github/kpng/backends/ebpf/bpf/cgroup_connect4.c:3:
In file included from ./libbpf/include/uapi/linux/bpf.h:11:
/usr/include/linux/types.h:5:10: fatal error: 'asm/types.h' file not found
#include <asm/types.h>
         ^~~~~~~~~~~~~
1 error generated.
Error: can't execute clang: exit status 1
ebpf.go:45: running "bpf2go": exit status 1
make: *** [Makefile:24: bytecode] Error 1

Looking for a fix, I found https://github.com/xdp-project/xdp-tools/issues/4, that points to https://github.com/xdp-project/xdp-tutorial/issues/44, which then proceeds to recommend the installation of gcc-multilib.
This extra requirement may save someone else's time futurely.

/lgtm
/approve

@jaehnri can you look at https://github.com/kubernetes-sigs/kpng/actions/runs/5067777691/jobs/9099251795
the ci is unable to install gcc-multilib and breaking the tests.

@aroradaman this is very weird. gcc-multilib has always been an eBPF dependency, this is just a docs change:
https://github.com/kubernetes-sigs/kpng/blame/master/.github/workflows/e2e_tests.yaml#L61
Retesting/forcing the pipeline didn't help? Can't look at it right now...


The latest version vscode1.93.0 cannot display preview

I think zenuml is very good, is it possible for the author to take the time to fix it?

Hi @gnakilgnoh, are you also using ZenUML on other platforms?

Hi @gnakilgnoh, are you also using ZenUML on other platforms?

Yes. I downloaded the windows version of the software so it can be used normally.


Spec clarification: data type 'unknown' vs 'any'

I wonder what's the difference between 'unknown' data type and 'any'.
Example:
For CompletionItem:
...
         /**
	 * A data entry field that is preserved on a completion item between
	 * a completion and a completion resolve request.
	 */
	data?: any;
...

For Diagnostic:
...
        /**
	 * A data entry field that is preserved between a
	 * `textDocument/publishDiagnostics` notification and
	 * `textDocument/codeAction` request.
	 *
	 * @since 3.16.0
	 */
	data?: unknown;
...

Duplicate of #1235
In the context of the spec, there is nothing different. These are top types in TypeScript.

Dups #1235.


Using a custom shelf server

Add customization capability of shelf http server by a custom function created by user.
How to

Make a file lib/shelf_custom.dart
Make a function named shelfServer, this function receive three parameters

FunctionConfig config: Environment configuration
Handler handler: the functions framework handler.

Run selected function by FUNCTION_TARGET argument
or default function in lib/functions.dart

FutureOr shutdownSignal: Is a signal for shutdownSignal server
used by default shelf server.

In a shelfServer function add your self code, example bellow
Run build runner

import 'dart:async';
import 'dart:io';
import 'package:functions_framework/functions_framework.dart';
import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart';

void shelfServer(FunctionConfig config, Handler handler,
    FutureOr<bool> shutdownSignal) async {
  final pipeline = const Pipeline()
      .addMiddleware(logRequests())
      .addHandler(handler);

  final server = await serve(
    pipeline,
    InternetAddress.anyIPv4,
    config.port,
  );

  print('Listening on ${server.address.host}:${server.port}');

  final force = await shutdownSignal;
  await server.close(force: force);
}

@skay1994 – would you file an issue describing what you want to do here?
Thanks!

@kevmoo hey good nigth, i'm tried use same packages for shelf, like a shelf_cookie, i realized that the use from another packages becomes impossible because a shelf instance it's locked in functions_framework package

@kevmoo hey good nigth, i'm tried use same packages for shelf, like a shelf_cookie, i realized that the use from another packages becomes impossible because a shelf instance it's locked in functions_framework package

That doesn't matter, @skay1994 . The framework just spins up the server. You can import any package you want and use it in your handler.

That doesn't matter, @skay1994 . The framework just spins up the server. You can import any package you want and use it in your handler.

And for packages or a custom handle to applie in Pipeline, like a custom addMiddleware handle?

That doesn't matter, @skay1994 . The framework just spins up the server. You can import any package you want and use it in your handler.

And for packages or a custom handle to applie in Pipeline, like a custom addMiddleware handle?

Yup. You can invoke whatever you want in your function definition. As long as it returns a Response (or Future<Response>) etc

I understand, I'm going to do some tests, thanks!

I'm going to close this out for now, @skay1994  – let us know how you want to follow-up.


dont obsolete context menu apis.

What does the pull request do?

What is the current behavior?

What is the updated/expected behavior with this PR?

How was the solution implemented (if it's not obvious)?

Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/Avaloniaui.net with user documentation

Breaking changes

Fixed issues

ContextFlyout is the superset and should more than likely replace ContextMenu as in WinUI. Is there a reason you don´t want to do this? Will you still remove ContextMenu in the future?

We can't do that in a maintenance release

I'm also not sure how you are doing branches but was expecting mainline to accept even breaking changes (let alone obsolete) and be the main branch for 0.11. The standard is backport to a 0.10 branch those changes that are necessary and compatible (usually bug fixes). I'm not understanding why there are a lot of 'breaking changes' being held. The current strategy, as I understand it, isn't scalable.

We were just holding off breaking changes in master for as long as possible to avoid porting every PR between 2 branches. Now we've done 0.10.1 master will be tracking the next major release so breaking changes are now allowed.


Rename panels

Send an issue and you are part of this great tool :)
Please describe the scenario you stuck in:

Panels have a service name crmp.{entity}.panel.{related_entity}
and an ID with some other value.

What do you expect to happen?

The service name should contain the bundle crmp.{bundle_short}.{entity}.panel.{related_entity}.
ID and service name should be the same.
Maybe the get ID method can be dropped.

The panel_group aliases also could have a nicer name or just no name / refer to the service name.


(feature) basic styling for dev legibility

Little changes so things don't look so fugly :japanese_ogre:

this looks FRESH :bowtie:


Data sync failure - DLRS - Account Trigger -error ID:<PHONE_NUMBER>-24822<PHONE_NUMBER>)"

We are experiencing data sync issues: I receive the message "Got an unexpected error while processing BULK-API. Contact support with error ID:<PHONE_NUMBER>-24822<PHONE_NUMBER>)".
Same thing was seen in the debug log when we tried to update the owner of the Account record which  I inserted.  When we compare the debug logs and the error that salesforce is getting in server logs, the issue seems to be coming from package 'Declarative Lookup Rollup Summaries Tool' which has a Trigger on Account object.
Can you please look into the issue. In the same vein, salesforce support is asking for permission to enable managed package logs for DLRS.
Please help look into the issue. Current version we are running on is  2.9.

@cnwufo I'm not going to have the specific details of your situation. Most of the time we see issues like this when a child is updated and the system attempts to rollup to the parent record but that parent record isn't compatible with all the validation rules currently active in the org.
My recommendation is to do some testing in a sandbox and try to update to the latest version. 2.9 is many years old and lots of improvements for failure modes have been implemented over time.
If you're still having issues with the latest release then please let me know and we an work more to dig down to the root cause.
Thanks!


fields_for and prepopulate problem

I have a form like
class ClientQuestionnaireForm < Reform::Form
  property :client_id
  property :consultant_id

  collection :question_answer_pairs, prepopulate: ->(*) { [QuestionAnswerPair.new, QuestionAnswerPair.new] } do
    property :question
  end
end

When I render this form for the first time I prepopulate empty fields like this
form = ClientQuestionnaireForm.new(OpenStruct.new(client_id: current_user.id, consultant_id: consultant.id))
    form.prepopulate!

now form has 2 question_answer_pair objects but when I am trying to render it, there is only one input field in the nested block, but should be two
view

= f.fields_for :answer_question_pairs do |s|
    = s.text_field :question

Can you paste this:
# .. your setup code
form.prepopulate!

puts form.answer_question_pairs.inspect

[#<#<Class:0x7a8ec00>:0x7b14790 @model=#<QuestionAnswerPair id: nil, questionnaire_id: nil, question: nil, answer: nil, created_at: nil, updated_at: nil>, @fields=#<Reform::Contract::Fields question=nil>>, #<#<Class:0x7a8ec00>:0x7b1dd78 @model=#<QuestionAnswerPair id: nil, questionnaire_id: nil, question: nil, answer: nil, created_at: nil, updated_at: nil>, @fields=#<Reform::Contract::Fields question=nil>>]

That's two nested forms, exactly as you specified in the :prepopulate lambda. You might have to look into fields_for to see why it doesn't render two forms. But Reform's behaviour looks correct from here.


Improve coin selection unit tests

Fixes https://github.com/lightninglabs/taproot-assets/issues/124.

Found some issues (in the unit tests) revealed by these test changes.
Put up a branch that could get pulled into this PR: https://github.com/lightninglabs/taproot-assets/tree/coin-selection-test-fixes

Thanks for the review and the fixes. I took over the commit with the group anchor improvement.

IIUC the timeout would occur for any signal since the method call was complete.

That was kind of on purpose. We explicitly expect the LeaseCoins method not to be called. I agree that the timeout would occur on any other channel as well. But IMO selecting on the listSignals a second time doesn't really change that?

That was kind of on purpose. We explicitly expect the LeaseCoins method not to be called. I agree that the timeout would occur on any other channel as well. But IMO selecting on the listSignals a second time doesn't really change that?

Ah, fair enough - so any of the 3 calls timing out is sufficient.


Move DNS name mapping from endpoint to report

Fixes #3058
If the probe sees many TCP sockets on a host, it will repeat the same address information on each endpoint.  Moving it to report level saves all this repetition.  Also Sets is an expensive data structure; for the DNS mapping I used a straightforward map, similar to Topology.Nodes.
I see about a 6% reduction in JSON file size, on Weave Cloud production reports.
The mapping is used as a mapping from IP address to name, and the current implementation encodes it the same way, but to me it seems more logical to send it as a mapping from name to address.  Probably that doesn't matter.
~I considered moving DNSFirstMatch from render to report, to collect all the behaviour together.  However the decisions made are somewhat related to rendering, so I left it.~

This is supposed to fix #3058, right?

@rade yes, I forgot I'd filed an issue.

I made the requested changes and rebased.  Also moved DNSFirstMatch since it looks a lot more like a method on DNSRecords now.


Unable to save Lora Finetuned model

I'm able to finetune Mochi 1 using the provided script, but currently its failing whenever I attempt to save the model. I get the following error:
AttributeError: type object 'MochiPipeline' has no attribute 'save_lora_weights'

I'm able to generate with the base model and the training works just fine. Its just unable to find the function 'save_lora_weights'

Can you try it again? #97

Thanks it worked I was able to save the lora layers.

@jzhang38 for inference would  i merge it into the FastVideo/FastMochi-diffusers or the genmo/mochi-1-preview which was used in the finetuning? Also would I need to run the distilling processing again?


[Enhancement] add session variable default_table_compression

Signed-off-by: Murphy<EMAIL_ADDRESS>What type of PR is this：

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

Which issues of this PR fixes ：

Fixes #17642
Problem Summary(Required) ：

Add a session variable default_table_compression to choose default compression algorithm when creating table.
Checklist:

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

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

Bugfix cherry-pick branch check:

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

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

[FE PR Coverage Check]
:disappointed: fail : 14 / 20 (70.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/util/CompressionUtils.java
0
1
00.00%
[74]

:large_blue_circle:
com/starrocks/sql/analyzer/SetStmtAnalyzer.java
1
6
16.67%
[180, 181, 182, 183, 184]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/common/util/PropertyAnalyzer.java
9
9
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 14 / 20 (70.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/util/CompressionUtils.java
0
1
00.00%
[74]

:large_blue_circle:
com/starrocks/sql/analyzer/SetStmtAnalyzer.java
1
6
16.67%
[180, 181, 182, 183, 184]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/common/util/PropertyAnalyzer.java
9
9
100.00%
[]

run starrocks_admit_test

@Mergifyio rebase

[FE PR Coverage Check]
:disappointed: fail : 14 / 20 (70.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/util/CompressionUtils.java
0
1
00.00%
[74]

:large_blue_circle:
com/starrocks/sql/analyzer/SetStmtAnalyzer.java
1
6
16.67%
[180, 181, 182, 183, 184]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/common/util/PropertyAnalyzer.java
9
9
100.00%
[]

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 14 / 20 (70.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/util/CompressionUtils.java
0
1
00.00%
[74]

:large_blue_circle:
com/starrocks/sql/analyzer/SetStmtAnalyzer.java
1
6
16.67%
[180, 181, 182, 183, 184]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/common/util/PropertyAnalyzer.java
9
9
100.00%
[]

[FE PR Coverage Check]
:disappointed: fail : 14 / 20 (70.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/util/CompressionUtils.java
0
1
00.00%
[74]

:large_blue_circle:
com/starrocks/sql/analyzer/SetStmtAnalyzer.java
1
6
16.67%
[180, 181, 182, 183, 184]

:large_blue_circle:
com/starrocks/qe/SessionVariable.java
4
4
100.00%
[]

:large_blue_circle:
com/starrocks/common/util/PropertyAnalyzer.java
9
9
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test


Missing PartialEq implementations

I've been experimenting with upgrading rkyv from 0.7 to 0.8 and I have two issues in regards to comparisons, that while aren't complete showstoppers, would be nice to have working.
Both have to do with deriving compare(PartialEq) implementations across Archived and non-archived types.
Option<Tuple<(f32, f32>)
I have a struct with the following field: pub(crate) coordinates: Option<(f32, f32)>
And I am not able to derive the compare, due to the following error.
can't compare `ArchivedTuple2<f32_le, f32_le>` with `(f32, f32)`
  --> locoder/src/location.rs:11:5
   |
11 |     rkyv::Archive,
   |     ^^^^^^^^^^^^^ no implementation for `ArchivedTuple2<f32_le, f32_le> == (f32, f32)`
   |
   = help: the trait `PartialEq<(f32, f32)>` is not implemented for `ArchivedTuple2<f32_le, f32_le>`, which is required by `ArchivedOption<ArchivedTuple2<f32_le, f32_le>>: PartialEq<std::option::Option<(f32, f32)>>`
   = help: the trait `PartialEq` is implemented for `ArchivedTuple2<f32_le, f32_le>`
   = help: for that trait implementation, expected `ArchivedTuple2<f32_le, f32_le>`, found `(f32, f32)`
   = note: required for `ArchivedOption<ArchivedTuple2<f32_le, f32_le>>` to implement `PartialEq<std::option::Option<(f32, f32)>>`
   = help: see issue #48214
   = note: this error originates in the derive macro `rkyv::Archive` (in Nightly builds, run with -Z macro-backtrace for more info)

ArchivedRc<ArchivedString, InternFlavour>
This might be a little more niche, but using rkyv_intern I am also unable to generate a PartialEq for String fields due to the following error:
error[E0277]: can't compare `ArchivedRc<ArchivedString, InternFlavor>` with `std::string::String`
  --> entropy-types/src/entry.rs:42:5
   |
42 |     rkyv::Archive,
   |     ^^^^^^^^^^^^^ no implementation for `ArchivedRc<ArchivedString, InternFlavor> == std::string::String`
   |
   = help: the trait `PartialEq<std::string::String>` is not implemented for `ArchivedRc<ArchivedString, InternFlavor>`
   = help: the following other types implement trait `PartialEq<Rhs>`:
             `ArchivedRc<T, ArcFlavor>` implements `PartialEq<Arc<U>>`
             `ArchivedRc<T, RcFlavor>` implements `PartialEq<Rc<U>>`
             `ArchivedRc<T, TF>` implements `PartialEq<ArchivedRc<U, UF>>`
   = help: see issue #48214
   = note: this error originates in the derive macro `rkyv::Archive` (in Nightly builds, run with -Z macro-backtrace for more info)

The missing tuple PartialEq impls have been added in 7c58a49c7630b925f9dddc5c7f26388c635c0e4c and released in 0.8.9.
The missing ArchivedRc impls aren't possible right now. To compare ArchivedRc<T> and U, we'd need to write an impl like impl<T, U> PartialEq<U> for ArchivedRc<T> { ... }. We already have an impl <T, U> PartialEq<ArchivedRc<U>> for ArchivedRc<T> { ... }, which would conflict with the prospective impl. I assume you're using #[rkyv(compare(PartialEq))] to generate this impl, in which case it might be possible to modify the derive macro and add a custom comparison operation between the fields. Something like #[rkyv(compare_with = my_func)] seems possible, but would be a decent amount of effort.

Yay about PartialEq.
No worries about the ArchivedRc - that was from a previous attempt to get rkyv_intern to work using an Rc instead of the crate. I don't have a strong need for it anymore, so if you want, feel free to close the issue as solved :)


LSPI of NXP i.MX RT timing and interrupt issue

Describe the bug

Zephyr Can't update DBT/SCKPCS/PCSSCK to nxp_hal according to spi rate， cause spi transfer slow.
The delay time calculated by nxp_hal has an overflow problem，will casue no update  DBT/SCKPCS/PCSSCK,cause spi transfer slow.
Other interrupts are treated as transfer completion interrupts ,Causes spi_write to return immediately

I submitted 2 pr to solve these problems：
https://github.com/zephyrproject-rtos/hal_nxp/pull/36
https://github.com/zephyrproject-rtos/zephyr/pull/23918

@MaureenHelm could you please take a look?

@lgl88911 will you please split this into two separate GitHub issues:

Configure/optimize the delay time. This is an enhancement. The overflow can be addressed as part of the enhancement, since it's not a problem otherwise.
Other interrupts treated as transfer completion. This is a bug. Can you elaborate on how to reproduce this, and the priority?

@MaureenHelm  Thanks for your reply

for delay time:When the spi speed is configured to be relatively high, the delay calculated by 500K will greatly reduce the transmission rate. The following is an example of 5M. Looking at the overall transmission at a time, the actual transmission speed is only slightly higher than 500K, but far below 5M .

After the master transfer is completed,if the sr flag is not clear, the callback of the transfer
completion will be called again in other interrupts. You can use the following method to reproduce：
Call spi_wirte about 150K Byte , Measure the time used by spi_write, under normal circumstances it will take some time, this time will become 0 once issue occur. The occurrence of issues is random and cannot be recovered once it occur. The speed of SPI is set between 20M ~ 25M, which is relatively easy to copy.

@MaureenHelm
I raise https://github.com/zephyrproject-rtos/zephyr/issues/25566 to tracking interrupt issue. This issue to keep tracking time delay issue


Failure to resolve genjavadoc-plugin

(See the guidelines for contributing, linked above)
steps

clone git@github.com:akka/akka
set project/build.properties to 1.0.3
rm -r /home/aengelen/.ivy2/local/com.typesafe.genjavadoc/genjavadoc-plugin_2.12.4
rm -r /home/aengelen/.ivy2/cache/com.typesafe.genjavadoc/genjavadoc-plugin_2.12.4
sbt -Dakka.genjavadoc.enabled=true ++2.12.4 compile

problem
sbt fails to download com.typesafe.genjavadoc/genjavadoc-plugin_2.12.4
expectation
no failure
notes
sbt version: 1.0.3 (1.0.2 appears to work)

https://github.com/sbt/sbt/issues/3684#issuecomment-340142250 ?

Looks like it! Sorry didn't find it before...


chore: OWNERS + hicaistar and sinksmell

What this PR does / why we need it:
Add your description
Which issue(s) this PR is related to (optional, link to 3rd issue(s)):
Fixes #
Reference to #

Special notes for your reviewer:
/cc @whalecold @hicaistar

Release note:

NONE

/lgtm


Implement webservice API

Provide an API based on the same code as the web interface to enrich a PICA+ record. Query parameters:

ppn: list of PPNs separated by |
dbkey: unAPI database key (opac-de-627 by default)
.Additional keys to control enrichment algorithm, not implemented yet:

partOf and creator (see https://github.com/gbv/jskos-server#get-mappings)
...

Return format:

https://pro4bib.github.io/pica/#/formate?id=Änderungsformat

Requires #10

Wouldn't this mean that the loadRecord method in PicaEditor should be moved to somewhere in lib as well? The backend needs to load the record too, as far as I understand.

No, the PicaEditor should become stand-alone and loading a pica record via unAPI is only two lines of code anyway.


Add missing setuptools dependency. This should fix JupyterLite issue.

See https://github.com/jupyterlite/jupyterlite/issues/818
Note that I bumped the minimum Python version to 3.8 because SciPy would not install without that change.

Thanks!

Hi @jmshea !
Seems like the setuptools approach was causing some problems with GoogleColab:
https://github.com/Octoframes/jupyter_compare_view/issues/47
I saw that you got an alternativ solution in https://github.com/jupyterlite/jupyterlite/issues/818#issuecomment-1464936869, the question:
Would you have some free minutes to implement the importlib.resources instead of setuptools approach here as well?
That would be an amazing contribution!
I removed the setuptools dependency already.

Sure, I can do it


Replace old ipaddr Python package with ipaddress

Use of ipaddr has been replaced with ipaddress in behavioral-model and p4c repos now.  Seems reasonable to do so here as well.

Codecov Report

Merging #116 (b5b4647) into main (6dab467) will not change coverage.
The diff coverage is 100.00%.

:exclamation: Current head b5b4647 differs from pull request most recent head 2142cb5. Consider uploading reports for the commit 2142cb5 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #116   +/-   ##
=======================================
  Coverage   68.35%   68.35%
=======================================
  Files           8        8
  Lines        2588     2588
=======================================
  Hits         1769     1769
  Misses        819      819

Impacted Files
Coverage Δ

p4runtime_sh/bytes_utils.py
68.67% <100.00%> (ø)


Work around presubmit tests timeout problems

What this PR does / why we need it:
debug presubmit tests timeout problems.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

This change is

Current found: If I commented below cases, the presubmit can be finished normally. Will do more to reduce scope.
test_job_submission_gkebackend_gcs_access_with_default_namespace
test_job_submission_gkebackend_gcs_access_with_kubeflow_namespace
test_xgboost_highlevel_apis
test_lightgbm
test_job_pvc_mounting_without_path
test_serving_pvc_mounting
test_serving_pvc_mounting_without_path

/assign @karthikv2k
/assign @abhi-g
After investigation, there are 2 cases that will cause presubmit hangs.
test_xgboost_highlevel_apis
test_lightgbm

I commented the test_xgboost_highlevel_apis and test_lightgbm by adding pass_, since the roor cuase is not clear now.
There are two cases will cause presubnmit running long time, since waiting for serving started, in fact the case just development attaching with pvc, no need service start, just updated service type to work around.
test_serving_pvc_mounting
test_serving_pvc_mounting_without_path

And I rollbacked the changes in #343 , that's OK now.
Could please take a look with high priority and let check-in so that avoiding block PR merging. Thanks.

I found that the timeout issue was due to lack of garbage collection on  resources like load balancer that exceeded project quota . I cleared everything manually and tests pass as usual for now until we hit the limit again. Closing this PR as we don't need to comment out any tests.

@karthikv2k Got that, Thanks a lot!

Thanks for debugging Karthik! Similar to kf/kf we'd want these resources to be gced automatically if possible.


Improve asset cache handling for python3 in our pipeline.

In https://github.com/microsoft/vcpkg/pull/42375 I moved the initial vcpkg fetch python3 into the has-asset-caching block, but I did so after test-modified-ports.ps1, meaning that it didn't run if there were failures. Example: https://dev.azure.com/vcpkg/public/_build/results?buildId=110068&view=logs&j=878666d5-db33-5b27-9e7d-b0c7ee352005&t=69176ca8-c93b-5311-0f74-6cb12a2b3f92

Thanks for the review!


Crash on back

When I press the back button the app crashes.
I'm using jetpack navigation.

Fragment A open fragment B (this is the fragment with the barcode viewer)
from fragment B I press back button,

Expected behavior
the app back to fragment A, but it close, I can't see any log on logcat, it just crash with no reason and no messages
this is the only log I found but I'm not sure it's releated:

2021-10-28 17:20:29.917 3144-4100/swaix.dev.xxxxxxx E/BufferQueueProducer: [ImageReader-4000x3000f23m3-3144-1](id:c4800000001,api:4,p:1129,c:3144) dequeueBuffer: BufferQueue has been abandoned

    --------- beginning of crash
2021-10-28 17:20:29.917 3144-3918/swaix.dev.xxxxxxx A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7bbc626f2d in tid 3918 (pool-3-thread-1), pid 3144 (dev.xxxxxxx )
2021-10-28 17:20:29.997 3144-3166/swaix.dev.xxxxxxx  E/BufferQueueProducer: [ImageReader-4000x3000f23m3-3144-1](id:c4800000001,api:4,p:1129,c:3144) queueBuffer: BufferQueue has been abandoned
2021-10-28 17:20:30.031 3144-3144/swaix.dev.xxxxxxx E/BufferQueueProducer: [ImageReader-4000x3000f23m3-3144-1](id:c4800000001,api:4,p:1129,c:3144) cancelBuffer: BufferQueue has been abandoned
2021-10-28 17:20:30.032 3144-3144/swaix.dev.xxxxxxx E/BufferQueueProducer: [ImageReader-4000x3000f23m3-3144-1](id:c4800000001,api:4,p:1129,c:3144) cancelBuffer: BufferQueue has been abandoned
2021-10-28 17:20:30.226 3144-3144/swaix.dev.xxxxxxx E/BarcodeImageProcessor: Barcode processing error
    kotlinx.coroutines.JobCancellationException: StandaloneCoroutine was cancelled; job=StandaloneCoroutine{Cancelling}@d2bd765
2021-10-28 17:20:31.148 3144-3144/swaix.dev.xxxxxxx E/BarcodeReaderFragment: *****---- ON PAUSE BARCODE

it looks like it crashes after on pause.
Smartphone (please complete the following information):

Device: Pixel 2xl, Samsung a50
OS: Android 11

Additional context
it works fine on emulator :|

@alistairsykes
I have the same issue, causes a lot of crashes.
2021-11-09 15:48:44.233 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:44.349 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:44.449 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:44.550 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:44.667 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:44.800 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:44.918 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:45.067 V/BarcodeScanner$barcodesObserver: No barcodes found
2021-11-09 15:48:45.139 V/BarcodeScanner: minWidthForBarcodes() = 1666
2021-11-09 15:48:45.167 E/BufferQueueProducer: [ImageReader-1920x1440f23m3-25581-4](id:63ed0000000a,api:4,p:1284,c:25581) dequeueBuffer: BufferQueue has been abandoned
2021-11-09 15:48:45.190 E/BufferQueueProducer: [ImageReader-1920x1440f23m3-25581-4](id:63ed0000000a,api:4,p:1284,c:25581) cancelBuffer: BufferQueue has been abandoned
2021-11-09 15:48:45.288 A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x721516c000 in tid 25915 (pool-17-thread-), pid 25581 (com.package.beta)
2021-11-09 15:48:45.420 E/BarcodeImageProcessor: Barcode processing error
    kotlinx.coroutines.JobCancellationException: StandaloneCoroutine was cancelled; job=StandaloneCoroutine{Cancelling}@cb976bc

Sometimes it's possible to go back without crash, but most of the time app crashes.
Device: Pixel, Pixel 4, Samsung Galaxy S7.
OS: Android 8, 10, 11, 12

Thanks for this issue. Sorry but this library is no longer maintained. Closing and marking wontfix.


Make cli anon db setup faster

Use --depth=1 because we don't need version history for the db

mint


Register v0.4.1

@JuliaRegistrator register
Release notes:

LongwaveModePropagator.defaultmesh now has different default behavior for transmitter frequencies below 12 kHz.

The previous default used the internal trianglemesh function and searched for eigenangles in the region of the lower right complex quadrant near the positive real and negative imaginary axes. At low frequencies the eigenangles can have large real and large negative imaginary components, which were not contained in the trianglemesh. Now RootsAndPoles.rectanglemesh is used for these lower frequencies.
Fixed #68

Registration pull request created: JuliaRegistries/General/103956
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.4.1 -m "<description of version>" 9231e40d86c201944d08a9100c927bf3ca985105
git push origin v0.4.1


Search Editor: Support different lengths for beforeContext and afterContext

In the Search Editor in the contextLinesInput you can enter the amount of context lines to show around the matches of the search. It ends up as value both for beforeContext and afterContext.
Please make it possible to specify different values for beforeContext and afterContext. Maybe separated by : or sth. like-5+10.
For e.g. ReactComponents often the afterContext is much more interesting than the beforeContext.

This is a followup to #59458

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


fix: supply proper location for GitHub Action format

This fixes the issue in #1071 with the GitHub Action output using the wrong location values. It's in two commits. The first exposes lint.FileLocationFromPBLocation as a public method, and adds tests for it. The second uses that method to remove the conversion logic from the GitHub Action formatter and fixes the tests that had the file locations specified.

cc @achew22 author of the original change for github_actions format

CLA signed and check re-run.
Definitely open to whatever feedback here. Like I mentioned on #1071, there's a more-focused path that only fixes the Span-reading logic in the github formatter, though it seems like centralizing that logic is a more future-proof solution. There are certainly other ways to do that.

Thanks for opening this PR (and the issue that I never responded too 😅)

As a fellow OSS maintainer, I share your 😅 . Thanks for this tool, it's hugely helpful!


[release-4.10] OCPBUGS-3288: set TLS cipher suites in Kube RBAC sidecars

/hold for https://github.com/openshift/library-go/pull/1416
I need to bump library-go once that merges.

/jira refresh

/jira refresh

library-go merged and bumped
/unhold
/jira refresh
/cc @openshift/storage

/label backport-risk-assessed
/assign @duanwei33
for cherry-pick-approved

/label cherry-pick-approved

Pre-merge verified pass with https://issues.redhat.com/browse/OCPBUGS-3288?focusedCommentId=21279193&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-21279193
/label qe-approved

/lgtm


increase the duration to 15m

This is a small change to the list load test.
It changes the duration from 5m to 15m to give it a bit more time to exercise and allow more time to see potential memory usage increase.

/assign @hakuna-matatah

/lgtm
Thanks for following up on this David.
May be in future we could parameterize wait time of this test and leave it to enduser to choose it how much time they would want to run it.

/assign @shyamjvs

/approve


Use Flyway to manage database changes

Currently teams uses it's own sql files to manages the database migrations. Scripts need to be
executes manually. This is error-prone and does not play nicely with automating the installs.

Implemented


Learning rate is zero for first epoch in transchex_openi_multilabel_classification notebook

Describe the bug
A clear and concise description of what the bug is.
Please only create issues here relating to the functioning of the tutorials. For all other questions/problems/bugs, please refer to MONAI's main repository. For MONAI bugs (not just a problem in the notebook), please create an issue. For questions, please use the Discussions tab.
To Reproduce
Run tutorial and print learning rate in first epoch.
Expected behavior
See MONAI issue.
Environment (please complete the following information):

OS ubuntu 20.04.04
Python version 3.8
MONAI version 0.8.1

This is true. I verified it. Learning rate is zero for first epoch when using WarmupCosineSchedule

https://github.com/Project-MONAI/tutorials/pull/932 revise the scheduler usage.


A Social Account Recovery Pallet

Recovery Pallet
Overview
The Recovery pallet is an M-of-N social recovery tool for users to gain
access to their accounts if the private key or other authentication mechanism
is lost. Through this pallet, a user is able to make calls on-behalf-of another
account which they have recovered. The recovery process is protected by trusted
"friends" whom the original account owner chooses. A threshold (M) out of N
friends are needed to give another account access to the recoverable account.
Recovery Configuration
The recovery process for each recoverable account can be configured by the account owner.
They are able to choose:

friends - The list of friends that the account owner trusts to protect the
recovery process for their account.
threshold - The number of friends that need to approve a recovery process for
the account to be successfully recovered.
delay_period - The minimum number of blocks after the beginning of the recovery
process that need to pass before the account can be successfully recovered.
There is a configurable deposit that all users need to pay to create a recovery
configuration. This deposit is composed of a base deposit plus a multiplier for
the number of friends chosen. This deposit is returned in full when the account
owner removes their recovery configuration.

Recovery Lifecycle
The intended lifecycle of a successful recovery takes the following steps:

The account owner calls create_recovery to set up a recovery configuration
for their account.
At some later time, the account owner loses access to their account and wants
to recover it. Likely, they will need to create a new account and fund it with
enough balance to support the transaction fees and the deposit for the
recovery process.
Using this new account, they call initiate_recovery.
Then the account owner would contact their configured friends to vouch for
the recovery attempt. The account owner would provide their old account id
and the new account id, and friends would call vouch_recovery with those
parameters.
Once a threshold number of friends have vouched for the recovery attempt,
the account owner needs to wait until the delay period has passed, starting
when they initiated the recovery process.
Now the account owner is able to call claim_recovery, which subsequently
allows them to call as_recovered and directly make calls on-behalf-of the lost
account.
Using the now recovered account, the account owner can call close_recovery
on the recovery process they opened, reclaiming the recovery deposit they
placed.
Then the account owner should then call remove_recovery to remove the recovery
configuration on the recovered account and reclaim the recovery configuration
deposit they placed.
Using as_recovered, the account owner is able to call any other pallets
to clean up their state and reclaim any reserved or locked funds. They
can then transfer all funds from the recovered account to the new account.
When the recovered account becomes reaped (i.e. its free and reserved
balance drops to zero), the final recovery link is removed.

Malicious Recovery Attempts
Initializing a the recovery process for a recoverable account is open and
permissionless. However, the recovery deposit is an economic deterrent that
should disincentivize would-be attackers from trying to maliciously recover
accounts.
The recovery deposit can always be claimed by the account which is trying to
to be recovered. In the case of a malicious recovery attempt, the account
owner who still has access to their account can claim the deposit and
essentially punish the malicious user.
Furthermore, the malicious recovery attempt can only be successful if the
attacker is also able to get enough friends to vouch for the recovery attempt.
In the case where the account owner prevents a malicious recovery process,
this pallet makes it near-zero cost to re-configure the recovery settings and
remove/replace friends who are acting inappropriately.
Safety Considerations
It is important to note that this is a powerful pallet that can compromise the
security of an account if used incorrectly. Some recommended practices for users
of this pallet are:

Configure a significant delay_period for your recovery process: As long as you
have access to your recoverable account, you need only check the blockchain once
every delay_period blocks to ensure that no recovery attempt is successful
against your account. Using off-chain notification systems can help with this,
but ultimately, setting a large delay_period means that even the most skilled
attacker will need to wait this long before they can access your account.
Use a high threshold of approvals: Setting a value of 1 for the threshold means
that any of your friends would be able to recover your account. They would
simply need to start a recovery process and approve their own process. Similarly,
a threshold of 2 would mean that any 2 friends could work together to gain
access to your account. The only way to prevent against these kinds of attacks
is to choose a high threshold of approvals and select from a diverse friend
group that would not be able to reasonably coordinate with one another.
Reset your configuration over time: Since the entire deposit of creating a
recovery configuration is returned to the user, the only cost of updating
your recovery configuration is the transaction fees for the calls. Thus,
it is strongly encouraged to regularly update your recovery configuration
as your life changes and your relationship with new and existing friends
change as well.

Interface
Dispatchable Functions
For General Users

create_recovery - Create a recovery configuration for your account and make it recoverable.
initiate_recovery - Start the recovery process for a recoverable account.

For Friends of a Recoverable Account

vouch_recovery - As a friend of a recoverable account, vouch for a recovery attempt on the account.

For a User Who Successfully Recovered an Account

claim_recovery - Claim access to the account that you have successfully completed the recovery process for.
as_recovered - Send a transaction as an account that you have recovered. See other functions below.

For the Recoverable Account

close_recovery - Close an active recovery process for your account and reclaim the recovery deposit.
remove_recovery - Remove the recovery configuration from the account, making it un-recoverable.

For Super Users

set_recovered - The ROOT origin is able to skip the recovery process and directly allow
one account to access another.

If people wanted to review the end to end life cycle tests, now would be a good time to give feedback on the design. Otherwise, will keep this mostly on the back burner since I don't want to get too heavily involved before getting some initial feedback.

This should be totally done and ready for review + merge :)

Needs to have master merged and fixed.

Hey Shawn, thanks for the intro at tonights's meetup, I couldn't make, it but watched it on the train.
Is there some explanation how calling on behalf of another account works? I remember that consensus on substrate is decoupled from payments (which are just an "app") and thought this might be the reason, or am I wrong? Also I did not really understand what pallets are (a concept in rust?), I could not find a good intro in the devhub.

Just fyi..
It appears custody solutions denominated in euros are required to provide account recovery using the users identity.  There was one grant application to solve this without completely centralizing.
I'd kinda like us to fund it so we can make them use Rogaway's Adept Secret Sharing whenever he releases it, instead of their home brewed thing.  We do not however have enough interest from custody solutions to justify funding it though, but maybe useful here too.
RustySecrets should eventually implement Rogaway's Adept Secret Sharing, btw.
This would not impact this pull request, merely pointing this out.

@marceljay All the magic around calling on behalf of another account comes from the as_recovered function:
#[weight = <Passthrough<T::AccountId, <T as Trait>::Call>>::new()]
fn as_recovered(origin,
	account: T::AccountId,
	call: Box<<T as Trait>::Call>
) -> DispatchResult {
	let who = ensure_signed(origin)?;
	// Check `who` is allowed to make a call on behalf of `account`
	ensure!(Self::recovered_account(&account) == Some(who), Error::<T>::NotAllowed);
	call.dispatch(frame_system::RawOrigin::Signed(account).into())
}

Specifically the fact that we are able to create a new origin from within the runtime logic:
frame_system::RawOrigin::Signed(account)

The ability to do this is an extremely privileged action, but since we are runtime developers, we are allowed to do it. The only sense of identity that our runtime logic cares about is this origin, so we are essentially able to make any other pallet believe the call is coming from our lost account rather than the one we have access to.
The pallet term is relatively new, but means the same thing that "runtime module" did before. Check out this https://github.com/paritytech/substrate/pull/4182

FRAME is our framework for developing new Substrate pallets. Pallets are a special kind of Rust module from which Substrate runtimes can be composed. Each pallet has its own discrete logic which can modify the features and functionality of your blockchain's state transition function.

Okay there was definitely some confusion on my side due to the changed wording.
FRAME = SRML
Pallet = Module
(tbh, i liked the original names much better)
Regarding the code: my rust knowledge is too basic to understand the code. But I think my questions was rather how consensus is made based on certain function calls. Would definitely like to understand this in the future.

Hey everybody, I am suggesting a notable individual in my life whom I recruited his administration to erase my criminal record in New York. He is an expert programmer. contact: (wisetechhacker gmail com) OR WhatsApp +1<PHONE_NUMBER>
him for versatile hack, informal community hack, interpersonal organization check (blue identification) ledger hack and assets move, dmv hack, overhaul school results, charge card hack,
redesign and eradicate terrible FICO ratings


GadgetBridge sends mixed up info.

I understand that this has little to do with bangle.js and is Gadgetbridge's issue, I just want to report that Gadgetbridge version 0.47 sends mixed up call event info.
Incoming call event sends cmd accept
Outgoing call event sends cmd Incoming
Start call event sends cmd reject
End call event sends cmd start
also the id that is send on notify- when a notification is read on the phone, does not match the id of the initial event, so there is no way to know which notifiction was read on the phone.
ps. Also the weather info is comming in strange. Description in Txt field and Hum is ok, Wind is allways zero and Temp seems to be the day's max instead of current.

Thanks! I guess they changed the enumeration numbers for call states and then Bangle.js didn't get updated :(
https://codeberg.org/Freeyourgadget/Gadgetbridge/src/branch/master/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java#L328
Very odd about the notification removal though - that definitely used to work. Also the weather must be a Gadgetbridge thing since we seem to be copying across the correct info: https://codeberg.org/Freeyourgadget/Gadgetbridge/src/branch/master/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java#L500

Ok, just fixed the call reporting issue anyway

Nice :)
On the notification removal, I am not sure I understand what the id is supposed to do. I assumed that one can dismissmis/get informed about dismissal on all or speciefic notification. All works, specific one does not, as the id that is send on notify- , does not match any previouly send with notify. Maybe I got it wrong and the id is not event assosiated.

Yes, the notification ID should be the same for each notification, so you can see if a specific notification was dismissed.

ok, I will check again to be sure.

I did some more testing, GadgetbriDge 0.47.1, android 7.1.1.
The nofication ID is working one way, the watch can dismiss a notification. But when a notification is dismissed on the phone, the id that is transmited on the dismissal is not the same as he one that was send on the arrival, it is on a different counter.
So it is a problem only if one wants to keep syncronization, no big deal, I was just playing and noticed it.
//notification 1 arrives
line:  GB({"t":"notify","id":1601425625,"src":"Hangouts","title":"xxx","body":"test"})
gb cmd in
//notification dismissed from watch
>gbSend({t:"notify", id:1601425625, n:"DISMISS"})
=undefined
//reply from phone
line:  GB({"t":"notify-","id":-287904279})
gb cmd in
//notification 2 arrives- dismissed on the phone
line:  GB({"t":"notify","id":1601425626,"src":"Hangouts","title":"xxx","body":"test2"})
gb cmd in
//send from phone on dismiss action, the ID is not the one that just arrived.
line:  GB({"t":"notify-","id":-287881850})
gb cmd in

Also, the calls are broken further than just mixed up info. I could not ignore or answer an incomming call, it seems that only reject works. A lot of things are not working and I am not sure if it is in my side.

Do you think 47.1 would have the changes I put in in it? Otherwise you'd expect the cmd to be wrong still.
Very annoying about the ID changing though - those numbers come direct from Gadgetbridge, and I'm pretty sure they worked in the past. I did spot a lot of refactoring having gone on though (which caused the cmd regression) so maybe something else got broken

your changes are on the 47.2. not yet realeased but they are on the change log, so I will wait a bit to test them.
I was hopping muting or aswering an incomming call whould work, even if I had to send something else. Will test again when 47.2 is released :)

The 0.47.2 release is up so I tested the changes, call info is now fixed, thank you. :)
I followed the info on this page on sending from watch to phone:
https://www.espruino.com/Gadgetbridge
and out of those options:
t:"call", n:"ACCEPT/END/INCOMING/OUTGOING/REJECT/START/IGNORE"

it seems that I am only able to reject or end an incoming call. Answer or Ignore, seems to not work. Also I don't understand what incoming or outgoing is for when the message if from bangle to phone, maybe I am doing something wrong. Do you know if there is a bangle. js app that can uses gb call features so that I can see If I am missing something?

Ahh, it could be the docs are wrong there - it allows you to specify any enum that's defined in https://codeberg.org/Freeyourgadget/Gadgetbridge/src/branch/master/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/devices/banglejs/BangleJSDeviceSupport.java#L187 but probably some of those aren't handled in Gadgetbridge
It seems like START should work though:
https://codeberg.org/Freeyourgadget/Gadgetbridge/src/branch/master/app/src/main/java/nodomain/freeyourgadget/gadgetbridge/service/receivers/GBCallControlReceiver.java#L63

accept works on a xiaomi m11, thanks for the link.  :)

accept/ignore works after all it seems on laterst android versions, it may be something on my phone that is wrong. Also the temperature send by weather is correct, it is in kelvin, my mistake. I havent tested the notifications id on a new android version phone, maybe they are working too, if I see that the don't I will make a comment later.
So the gadgetbridge support is very nice, thanks. :)

Great, thanks for letting me know! Closing this then...


Feature: adresse.Ortsteil

adresse.Ortsteil is already part of the .NET BO4E library: Adresse.cs, line 98.
To be consistent with other optional string values like Adresszusatz and CoErgaenzung, it is a string, not a pointer to a string.
In addition, a 404 link in the documentation was changed.
Also in addition, the test that verifies that the country code is not marshaled as an integer now checks against the numeric value of the constant instead of a hardcoded value. There already was a mismatch (check was against 61, but DE country code is 62).

part of https://github.com/Hochfrequenz/go-bo4e/releases/tag/v0.6.6


On teardown, close all sails-oracle-db connections automatically.

Upon sails.lower, the following error occurs:
TypeError: Cannot read property 'connection' of undefined
at Object.module.exports.adapter.teardown (/home/ec2-user/.jenkins/workspace/efs-logs-activity-service/node_modules/sails-oracledb/index.js:134:51)
Apparently, the tearDown() method is being called with a null. Created a patch to automatically look for adapter "sails-oracledb" connections.

didn't see anything talking about null in tearDown method in documentation,looks like a bug in sails or waterline,... https://github.com/balderdashy/waterline/issues/697 ???

Still happening.


Update Post “aws-certified-developer-associate-studying-iam”

Automatically generated by Netlify CMS

👷 Deploy Preview for dazzling-dieffenbachia-448a02 processing.

Name
Link

🔨 Latest commit
71e84cf34f55ff0527f86861e5d07ef7281c64d5

🔍 Latest deploy log
https://app.netlify.com/sites/dazzling-dieffenbachia-448a02/deploys/62c4537dc88c1e0009e5b24c


x/net/http2: slow streams can potentially block other faster streams

What version of Go are you using (go version)?

$ go version
go version go1.18.3 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/ronakj/Library/Caches/go-build"
GOENV="/Users/ronakj/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/ronakj/gocode/pkg/mod"
GONOPROXY="none"
GONOSUMDB="*"
GOOS="darwin"
GOPATH="/Users/ronakj/gocode"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/ronakj/project/http2-issue-repro/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/4d/2jw_2tc15x339gr53x6k64hm0000gn/T/go-build1453600270=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
I'm using a Go HTTP2 (h2c) server as an Echo server, where the handler writes the request body in the response immediately for requests with the priority header request-type=priority otherwise delays the response by 5s. I use the HTTP2 client to dispatch two concurrent requests with a 2MB payload each, and one of them has a priority header set.
What did you expect to see?
Priority response must arrive immediately. The non-priority response must arrive after a 5s delay.
According to the RFC, one stream must not block another stream on the same connection.
What did you see instead?
Both non-priority and priority responses arrived after 5s. This should not have happened as HTTP2 streams on the same connections must not interfere with each other.
Repro-

Playground
Detailed repository

Root Cause
Go HTTP2 server returns client connection flow control bytes back only after the application handler has read the body bytes. This blocks the client from writing the data frame of streams due to a lack of flow control window when a few slow/inactive streams consume the entire window size.

@neild

HTTP/2 has both per-connection and per-stream flow control. The behavior you're seeing is because the slow stream has consumed not just its own flow-control tokens, but the connection tokens as well. To ensure that a single stream can't consume the connection tokens, you can configure the per-stream limit to something lower than the per-connection limit.
The relevant knobs are MaxUploadBufferPerConnection and MaxUploadBufferPerStream on http2.Server.
Here's your example modified to set a higher per-connection limit:
https://go.dev/play/p/6H7_E1f7yrH
H2c Server starting on :8081
high priority req response time: 0s
low priority req response time: 5s

Thanks for the reply!
That's correct, connection tokens got exhausted which stalled other streams on the same connection. While the approach you suggested definitely works, this limit is almost always easy to exhaust when the server has a high number of concurrent requests. I have an L7 proxy which forwards requests received to different destinations. When one of the destinations A is unhealthy or slow, the request bound to that dest A starts backing up in the client connection pipeline and consumes the connection flow control tokens. Since connection flow control tokens are low, other requests bound for different destinations start starving for the connection flow control tokens.
The example you shared can be updated to handle a concurrent number of streams to reproduce the issue again.
Surprisingly, we didn't face this issue while using gRPC-go server and after diving in I found gRPC-go HTTP2 server returns connection flow control tokens immediately on receiving Data frame. Source.

If that's what you want, then you can set MaxUploadBufferPerConnection to MaxUploadBufferPerStream*MaxConcurrentStreams, which will effectively disable connection-level flow control.
I don't understand what purpose connection-level flow control is supposed to serve if tokens are returned immediately without any pushback mechanism. Perhaps I'm missing something.


Get rid of interfaces/

Interfaces should live in their relevant directories

We need the interfaces/ directory to avoid cyclic dependencies.


How to build locally?

I'd like to build locally but just get compile errors:
C:\Users\Tom\.nuget\packages\msbuild.sdk.extras\3.0.44\Build\LanguageTargets\CheckMissing.targets(44,5): error : The sp
ecified language targets for uap10.0.16299 is missing. Ensure correct tooling is installed for 'uap'. Missing: 'C:\Prog
ram Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\WindowsXaml\v17.0\Microsoft.Windows.UI.Xaml.CSharp.t
argets' [C:\git\testfx\src\TestFramework\TestFramework.Extensions\TestFramework.Extensions.csproj::TargetFramework=uap1
0.0.16299]

C:\Users\Tom\.nuget\packages\msbuild.sdk.extras\3.0.44\Build\LanguageTargets\CheckMissing.targets(44,5): error : The sp
ecified language targets for uap10.0.16299 is missing. Ensure correct tooling is installed for 'uap'. Missing: 'C:\Prog
ram Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\WindowsXaml\v17.0\Microsoft.Windows.UI.Xaml.CSharp.t
argets' [C:\git\testfx\src\Adapter\MSTest.TestAdapter\MSTest.TestAdapter.csproj::TargetFramework=uap10.0.16299]

C:\Users\Tom\.nuget\packages\msbuild.sdk.extras\3.0.44\Build\LanguageTargets\CheckMissing.targets(44,5): error : The sp
ecified language targets for uap10.0.16299 is missing. Ensure correct tooling is installed for 'uap'. Missing: 'C:\Prog
ram Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\WindowsXaml\v17.0\Microsoft.Windows.UI.Xaml.CSharp.t
argets' [C:\git\testfx\src\Adapter\MSTestAdapter.PlatformServices\MSTestAdapter.PlatformServices.csproj::TargetFramewor
k=uap10.0.16299]

Hi @thomhurst,
It's probably easier for you not to install UWP on your machine (required to build MSTest) so I'd recommend you to use  .\Build.cmd /p:ProductsToBuild=testing-platform

Wonder if it's worth splitting mstest and testing platform into different solutions?
I'll give that build command a go, but doesn't solve my IDE not being able to build it properly :(

There are different slnf you can use already: https://github.com/microsoft/testfx/blob/main/Microsoft.Testing.Platform.slnf

Ah yeah I missed that one. That builds for me, thanks!


Time Series: Fix dependencies, explicitly using pandas==2.0.*

About
On resolving dependency issues with the time series notebook(s), @wierdvanderhaar suggested to add these dependencies. They seem to specifically be needed to satisfy Google Colab?

Using pandas 2.x is not an option, at least not for the exploratory_data_analysis.ipynb notebook in the same folder.

GH-387
GH-430


Feature Request: Spontaneous casters using higher level slots for lower level spells

There has been a clarification in the Remaster that states the following:

As a spontaneous caster, you can also choose to cast a lower-rank spell using a higher-rank spell slot without heightening it or knowing it at a higher rank. This casts the spell at the rank you know the spell, not the rank of the higher slot. The spell doesn’t have any heightened effects, so it’s usually not a very efficient use of your magic outside of highly specific circumstances. For instance, if your party was having trouble with an invisible enemy, and you had revealing light in your repertoire but had already spent all of your 2nd-rank spell slots, it might be worth it to use a 3rd-rank spell slot to cast the spell, even though it’d have no heightened benefit.

Currently there doesn't seem to be a graceful way to handle this in the system as the button to cast a lower level spell is "greyed out".  I'm wondering if it makes sense to have logic where this button is still able to be pressed, but then asks what level spell slot they want to use to cast this spell, decrementing that spell slot but casting the spell at the lower level.

This issue is already being discussed and we’re trying to figure out a way to handle it that doesn’t involve really bad UI/UX :)


tag extraction: remove duplicate names for response code class metrics

Description:
All stats that end with *rq_5xx and *rq_500 (for example) were being mapped to the same tag_extracted_name: *rq, which is expected to be a unique identifier for a particular stat in order for downstream systems to take advantage of tag extraction.  Since two logical stats were being collapsed to the same name, this uniqueness was violated (see #2141 for details).  This change updates the mapped name and tag value of the *rq_5xx case.  The tag value becomes 5 rather than 5xx and the tag_extracted_name becomes *rq_xx (these choices are due to the current limitations of the regex extraction system).
Future work: add some complexity to the tag extraction regex system to allow the user to inject strings that are not present in the canonical string name into the tag_extracted_name.  However, this fix should be good for differentiating these two sets of stats for the time being.
Fixes #2141
Risk Level: Low
Testing:
Updated existing tag extraction tests to ensure that updated regexes work as expected.

cc @JonathanO @ggreenway @mattklein123


Minor edits

A few nits, and also deleting a couple of scratch text files.

Okay, this is due to dependence on minisat in some of the book code. Will merge this then, with a note that we will modify regression tests to use internal SAT solver instead of calling out to minisat.


VPCEndpointServices permissions for Hypershift private hosted clusters

As part of APPSRE-4240 and within the context of SDE-1601, AppSRE wants to prepare the hypershift operator to be able to provision private hypershift clusters. The hypershift operator requires permissions to manage VPCEndpointServices within the RH AWS account of a Hypershift management cluster it is running on.
"ec2:CreateVpcEndpointServiceConfiguration"
"ec2:DescribeVpcEndpointServiceConfigurations"
"ec2:DeleteVpcEndpointServiceConfigurations"
"elasticloadbalancing:DescribeLoadBalancers"

More details can be found here https://hypershift-docs.netlify.app/how-to/deploy-aws-private-clusters/ and here https://github.com/openshift/hypershift/blob/main/hypershift-operator/controllers/platform/aws/controller.go
This PR introduces those permissions to AWSFederatedRole network-mgmt
Ref: https://issues.redhat.com/browse/OSD-9926
Signed-off-by: Gerd Oberlechner<EMAIL_ADDRESS>

Codecov Report

Merging #673 (6233700) into master (1fd83f8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #673   +/-   ##
=======================================
  Coverage   31.54%   31.54%
=======================================
  Files          47       47
  Lines        4650     4650
=======================================
  Hits         1467     1467
  Misses       3085     3085
  Partials       98       98

/hold
Ongoing discussion about whether the network-mgmt role is the correct place for this or if it makes more sense to put it in a different role.

/hold

This has been given the go ahead by the BU and cleanup code has been added.  I'm going to approve this.
@jharrington22 please open a revert PR if this still needs to be held up so that we can quickly undo.
@geoberle Is it possible to create a staging cluster and validate this role has all of the functionality you need before we roll out to prod?
/lgtm
/hold cancel