Cl 937 bedrock

Description
Added the bedrock-flowalias.go module for deleting bedrock flow-alias resources.
Added the bedrock-agentalias.go module for deleting bedrock agent-alias resources.
Observation
Note: Attempting to cleanup these resources in aws-nuke with their cloud control resource will result in the following errors:

Missing or invalid ResourceModel property in AWS::Bedrock::FlowAlias list handler request input.Required property:  (#: required key [FlowArn] not found)"
Missing or invalid ResourceModel property in AWS::Bedrock::AgentAlias list handler request input.Required property:  (#: required key [AgentId] not found)

Filters
By default, aws has a few test aliases already in place. These can be filtered out:
BedrockFlowAlias:
- type: regex
value: ^TSTALIASID$

BedrockAgentAlias:
 - type: regex
value: ^AgentTestAlias$

Testing
you can use the bedrock.sh from the companion PR to create the flow and agent resources. It also might be helpful to comment out the other bedrock resources in the script unless they are already included in your cleanup config.
Output
Removal requested: 2 waiting, 0 failed, 1 skipped, 0 finished

us-east-1 - BedrockAgentAlias - test-alias - removed
us-east-1 - BedrockFlowAlias - test-aliast - removed

Removal requested: 0 waiting, 0 failed, 1 skipped, 2 finished

Nuke complete: 0 failed, 1 skipped, 2 finished.

By default, aws has a few test aliases already in place. These can be filtered out:

Curious about this. If we already know the pattern, wouldn't we filter them out in this module like other modules do?

@corybekk something is wrong with the filtering as well, when I run nuke all resources are successful except for that alias.
us-east-1 - EC2DHCPOption - dopt-0c2bec040a523efd8 - [DefaultVPC: "true", OwnerID: "645924726894"] - failed
us-east-1 - EC2InternetGatewayAttachment - igw-03982505ddea1cafd -> vpc-03d495391e21bf4b5 - [DefaultVPC: "true", igw:OwnerID: "645924726894", vpc:OwnerID: "645924726894"] - triggered remove
us-east-1 - S3Bucket - s3://knowledge-base-bucket-ded926be3ee04e8e4434 - [CreationDate: "2024-09-10T17:49:08Z", Name: "knowledge-base-bucket-ded926be3ee04e8e4434"] - triggered remove
us-east-1 - S3Bucket - s3://knowledge-base-bucket-eb61941722fad76591a6 - [CreationDate: "2024-09-10T17:41:45Z", Name: "knowledge-base-bucket-eb61941722fad76591a6"] - triggered remove
us-east-1 - S3Bucket - s3://knowledgebase-atewqtawert - [CreationDate: "2024-09-10T16:59:31Z", Name: "knowledgebase-atewqtawert"] - triggered remove
us-east-1 - EC2InternetGateway - igw-03982505ddea1cafd - [DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
us-east-1 - EC2VPC - vpc-03d495391e21bf4b5 - [ID: "vpc-03d495391e21bf4b5", IsDefault: "true", OwnerID: "645924726894"] - failed
us-east-1 - BedrockAgentAlias - agent-2747f634555dd7e6a46f - triggered remove
us-east-1 - BedrockAgentAlias - AgentTestAlias - triggered remove
us-east-1 - BedrockAgentAlias - AgentTestAlias - triggered remove
us-east-1 - BedrockAgentAlias - agent-713d2e64207434d23887 - triggered remove
us-east-1 - BedrockFlowAlias - TSTALIASID - failed
us-east-1 - BedrockFlowAlias - flow-2747f634555dd7e6a46f - triggered remove
us-east-1 - EC2Subnet - subnet-0a2327abbf2d7a28c - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
us-east-1 - EC2Subnet - subnet-0b7cc4e152fda9aa1 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
us-east-1 - EC2Subnet - subnet-0d322b63b0ee3a648 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
us-east-1 - EC2Subnet - subnet-034f280eaa14af773 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
us-east-1 - EC2Subnet - subnet-03e9fab2b89928e47 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
us-east-1 - EC2Subnet - subnet-0e605d1258955a2fd - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - triggered remove
global - IAMUserPolicy - user-hykjvesjmxyj -> default - triggered remove
global - IAMUser - user-hykjvesjmxyj - [CreateDate: "2024-09-16T14:22:38Z", Name: "user-hykjvesjmxyj", tag:owner: "oreilly-cloudlabs"] - failed
global - IAMLoginProfile - user-hykjvesjmxyj - [UserName: "user-hykjvesjmxyj"] - triggered remove
global - IAMUserAccessKey - user-hykjvesjmxyj -> AKIAZMZA5FBXB6WA6Y56 - [AccessKeyID: "AKIAZMZA5FBXB6WA6Y56", CreateDate: "2024-09-16T14:22:39Z", UserName: "user-hykjvesjmxyj", tag:owner: "oreilly-cloudlabs"] - triggered remove
global - IAMRole - bedrock-agent-role-2747f634555dd7e6a46f - [CreateDate: "2024-09-16T14:32:36Z", LastUsedDate: "2024-09-16T14:32:36Z", Name: "bedrock-agent-role-2747f634555dd7e6a46f", Path: "/"] - triggered remove
global - IAMRole - bedrock-agent-role-713d2e64207434d23887 - [CreateDate: "2024-09-16T14:23:39Z", LastUsedDate: "2024-09-16T14:23:39Z", Name: "bedrock-agent-role-713d2e64207434d23887", Path: "/"] - triggered remove

Removal requested: 21 waiting, 4 failed, 469 skipped, 0 finished

us-east-1 - EC2DHCPOption - dopt-0c2bec040a523efd8 - [DefaultVPC: "true", OwnerID: "645924726894"] - failed
us-east-1 - EC2InternetGatewayAttachment - igw-03982505ddea1cafd -> vpc-03d495391e21bf4b5 - [DefaultVPC: "true", igw:OwnerID: "645924726894", vpc:OwnerID: "645924726894"] - waiting
us-east-1 - S3Bucket - s3://knowledge-base-bucket-ded926be3ee04e8e4434 - [CreationDate: "2024-09-10T17:49:08Z", Name: "knowledge-base-bucket-ded926be3ee04e8e4434"] - waiting
us-east-1 - S3Bucket - s3://knowledge-base-bucket-eb61941722fad76591a6 - [CreationDate: "2024-09-10T17:41:45Z", Name: "knowledge-base-bucket-eb61941722fad76591a6"] - waiting
us-east-1 - S3Bucket - s3://knowledgebase-atewqtawert - [CreationDate: "2024-09-10T16:59:31Z", Name: "knowledgebase-atewqtawert"] - waiting
us-east-1 - EC2InternetGateway - igw-03982505ddea1cafd - [DefaultVPC: "true", OwnerID: "645924726894"] - waiting
us-east-1 - EC2VPC - vpc-03d495391e21bf4b5 - [ID: "vpc-03d495391e21bf4b5", IsDefault: "true", OwnerID: "645924726894"] - removed
us-east-1 - BedrockAgentAlias - agent-2747f634555dd7e6a46f - waiting
us-east-1 - BedrockAgentAlias - AgentTestAlias - waiting
us-east-1 - BedrockAgentAlias - AgentTestAlias - waiting
us-east-1 - BedrockAgentAlias - agent-713d2e64207434d23887 - waiting
us-east-1 - BedrockFlowAlias - TSTALIASID - failed
us-east-1 - BedrockFlowAlias - flow-2747f634555dd7e6a46f - waiting
us-east-1 - EC2Subnet - subnet-0a2327abbf2d7a28c - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - waiting
us-east-1 - EC2Subnet - subnet-0b7cc4e152fda9aa1 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - waiting
us-east-1 - EC2Subnet - subnet-0d322b63b0ee3a648 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - waiting
us-east-1 - EC2Subnet - subnet-034f280eaa14af773 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - waiting
us-east-1 - EC2Subnet - subnet-03e9fab2b89928e47 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - waiting
us-east-1 - EC2Subnet - subnet-0e605d1258955a2fd - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - waiting
global - IAMUserPolicy - user-hykjvesjmxyj -> default - waiting
global - IAMUser - user-hykjvesjmxyj - [CreateDate: "2024-09-16T14:22:38Z", Name: "user-hykjvesjmxyj", tag:owner: "oreilly-cloudlabs"] - removed
global - IAMLoginProfile - user-hykjvesjmxyj - [UserName: "user-hykjvesjmxyj"] - waiting
global - IAMUserAccessKey - user-hykjvesjmxyj -> AKIAZMZA5FBXB6WA6Y56 - [AccessKeyID: "AKIAZMZA5FBXB6WA6Y56", CreateDate: "2024-09-16T14:22:39Z", UserName: "user-hykjvesjmxyj", tag:owner: "oreilly-cloudlabs"] - waiting
global - IAMRole - bedrock-agent-role-2747f634555dd7e6a46f - [CreateDate: "2024-09-16T14:32:36Z", LastUsedDate: "2024-09-16T14:32:36Z", Name: "bedrock-agent-role-2747f634555dd7e6a46f", Path: "/"] - waiting
global - IAMRole - bedrock-agent-role-713d2e64207434d23887 - [CreateDate: "2024-09-16T14:23:39Z", LastUsedDate: "2024-09-16T14:23:39Z", Name: "bedrock-agent-role-713d2e64207434d23887", Path: "/"] - waiting

Removal requested: 21 waiting, 2 failed, 469 skipped, 2 finished

us-east-1 - EC2DHCPOption - dopt-0c2bec040a523efd8 - [DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - EC2InternetGatewayAttachment - igw-03982505ddea1cafd -> vpc-03d495391e21bf4b5 - [DefaultVPC: "true", igw:OwnerID: "645924726894", vpc:OwnerID: "645924726894"] - removed
us-east-1 - S3Bucket - s3://knowledge-base-bucket-ded926be3ee04e8e4434 - [CreationDate: "2024-09-10T17:49:08Z", Name: "knowledge-base-bucket-ded926be3ee04e8e4434"] - removed
us-east-1 - S3Bucket - s3://knowledge-base-bucket-eb61941722fad76591a6 - [CreationDate: "2024-09-10T17:41:45Z", Name: "knowledge-base-bucket-eb61941722fad76591a6"] - removed
us-east-1 - S3Bucket - s3://knowledgebase-atewqtawert - [CreationDate: "2024-09-10T16:59:31Z", Name: "knowledgebase-atewqtawert"] - removed
us-east-1 - EC2InternetGateway - igw-03982505ddea1cafd - [DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - BedrockAgentAlias - agent-2747f634555dd7e6a46f - removed
us-east-1 - BedrockAgentAlias - AgentTestAlias - removed
us-east-1 - BedrockAgentAlias - AgentTestAlias - removed
us-east-1 - BedrockAgentAlias - agent-713d2e64207434d23887 - removed
us-east-1 - BedrockFlowAlias - TSTALIASID - failed
us-east-1 - BedrockFlowAlias - flow-2747f634555dd7e6a46f - removed
us-east-1 - EC2Subnet - subnet-0a2327abbf2d7a28c - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - EC2Subnet - subnet-0b7cc4e152fda9aa1 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - EC2Subnet - subnet-0d322b63b0ee3a648 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - EC2Subnet - subnet-034f280eaa14af773 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - EC2Subnet - subnet-03e9fab2b89928e47 - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - removed
us-east-1 - EC2Subnet - subnet-0e605d1258955a2fd - [DefaultForAz: "true", DefaultVPC: "true", OwnerID: "645924726894"] - removed
global - IAMUserPolicy - user-hykjvesjmxyj -> default - removed
global - IAMLoginProfile - user-hykjvesjmxyj - [UserName: "user-hykjvesjmxyj"] - removed
global - IAMUserAccessKey - user-hykjvesjmxyj -> AKIAZMZA5FBXB6WA6Y56 - [AccessKeyID: "AKIAZMZA5FBXB6WA6Y56", CreateDate: "2024-09-16T14:22:39Z", UserName: "user-hykjvesjmxyj", tag:owner: "oreilly-cloudlabs"] - removed
global - IAMRole - bedrock-agent-role-2747f634555dd7e6a46f - [CreateDate: "2024-09-16T14:32:36Z", LastUsedDate: "2024-09-16T14:32:36Z", Name: "bedrock-agent-role-2747f634555dd7e6a46f", Path: "/"] - removed
global - IAMRole - bedrock-agent-role-713d2e64207434d23887 - [CreateDate: "2024-09-16T14:23:39Z", LastUsedDate: "2024-09-16T14:23:39Z", Name: "bedrock-agent-role-713d2e64207434d23887", Path: "/"] - removed

Removal requested: 0 waiting, 1 failed, 469 skipped, 24 finished

us-east-1 - BedrockFlowAlias - TSTALIASID - failed

Removal requested: 0 waiting, 1 failed, 469 skipped, 24 finished

us-east-1 - BedrockFlowAlias - TSTALIASID - failed

Removal requested: 0 waiting, 1 failed, 469 skipped, 24 finished

ERRO[0146] There are resources in failed state, but none are ready for deletion, anymore.

us-east-1 - BedrockFlowAlias - TSTALIASID - failed
ERRO[0146] ValidationException: The test alias TSTALIASID can't be updated. Retry your request with a valid alias ID.
{
  RespMetadata: {
    StatusCode: 400,
    RequestID: "21b8f644-77d7-463a-a0ab-a1187f68eb29"
  },
  Message_: "The test alias TSTALIASID can't be updated. Retry your request with a valid alias ID."
}
Error: failed

By default, aws has a few test aliases already in place. These can be filtered out:

Curious about this. If we already know the pattern, wouldn't we filter them out in this module like other modules do?

Thanks for pointing that out! I didn't realize there was an optional filter function being used in the pattern. Ive added it https://github.com/oreillymedia/aws-nuke/pull/33/commits/5ea0b67aff036a46f0afa7d1a3dc8899771c7e6e and will remove the settings.py filter that is in the companion PR.
here is the updated output.
aws-nuke version unknown - unknown - unknown
Do you really want to nuke the account with the ID<PHONE_NUMBER>85 and the alias 'alias-620827644785'?
Waiting 3s before continuing.
us-east-1 - BedrockAgentAlias - agent-f94292b06d0cafe49a13 - would remove
us-east-1 - BedrockAgentAlias - AgentTestAlias - cannot delete AWS managed Agent Alias
us-east-1 - BedrockFlowAlias - TSTALIASID - cannot delete AWS managed Flow Alias
us-east-1 - BedrockFlowAlias - flow-f94292b06d0cafe49a13 - would remove
Scan complete: 4 total, 2 nukeable, 2 filtered.

Do you really want to nuke these resources on the account with the ID<PHONE_NUMBER>85 and the alias 'alias-

us-east-1 - BedrockAgentAlias - agent-f94292b06d0cafe49a13 - removed
us-east-1 - BedrockFlowAlias - flow-f94292b06d0cafe49a13 - removed

Removal requested: 0 waiting, 0 failed, 2 skipped, 2 finished

Nuke complete: 0 failed, 2 skipped, 2 finished.

@corybekk something is wrong with the filtering as well, when I run nuke all resources are successful except for that alias.

@swhite-oreilly it looks like you weren't filtering out the alias. It needs to be added to config.yml. Nonetheless, as per Seans comment, I have added filtering here: https://github.com/oreillymedia/aws-nuke/pull/33/commits/5ea0b67aff036a46f0afa7d1a3dc8899771c7e6e.  You should now get this as output:
us-east-1 - BedrockFlowAlias - TSTALIASID - cannot delete AWS managed Flow Alias

I also removed the agent alias because it looks like in your example you had no issues with it. I also tested locally and didn't see the alias pop up. I'm doing a little more research on this alias. Just to make sure we really don't need it.


interleukin-25

Perhaps add this cytokine to our list of abnormal, increased, decreased, circulating, secreted etc. J:158594 uses it as a phenotype.
Reported by: jbubier
Original Ticket: obo/mammalian-phenotype-requests/635

doesn't seem needed currently


nuttx-gdbinit uses symbol from unrelated application

When trying to use nuttx-gdbinit, it complains that g_statenames is not defined. I found this symbol in note_main.c from note app. nuttx-gdbinit facility should not depend an a symbol from an unrelated app. The symbol should either by defined in nuttx itself or inside nuttx-gdbinit.

Actually, this array is static so I'm not even sure if this is the place where it is supposed to be defined. Also, this same information is defined in three places:
nuttx/fs/procfs/fs_procfsproc.c:static FAR const char *g_statenames[] =
apps/examples/thttpd/content/tasks/tasks.c:static const char *g_statenames[] =
apps/system/sched_note/note_main.c:static FAR const char *g_statenames[] =

I think the best is to define this information in one place, which will make it available to all required places, including openocd which can be made to retrieve it instead of define it itself.

@masayuki2009 it seems you authored this file. Where is this variable defined for you?

I think procfs is where is was supposed to be pulled from which is used by the ps command.

But it is static there as well

Ah, the symbol is still visible. I assumed it wouldn't. So maybe this place isn't such a bad place to have it defined I guess.
I will document that PROCFS needs to be enabled for this to work. Also, I would update openocd to use this then.


Add missing Gatekeepers

Need to add:

Nidum
Pandora
Bastion
Tech Hunter
Mediator
Echo

Nidum is now complete.

This is now done.


ZeroMorph: Implement U_n function

Section 2.5 from ZeroMorph paper describes function U_n which is responsible for mapping multilinear polynomials into univariate polynomials. Shortly, given the input multilinear polynomial coefficients, we need to evaluate it over each integer in the range [0, 2ˆn). These evaluations will become the coefficients of the output polynomial. Note this map is a homomorphism, which can be properly tested in the implementation.

This isn't singled out in https://github.com/lurk-lab/arecibo/tree/zeromorph (that is, the mapping exists, but inline in the def. of the opening's f).
I'm not opposed to the idea of making it its own function & testing the homomorphism. Please transfer to arecibo repo if you think it's still relevant.


Remove unnecessary space added when edge attributes is empty.

Resolves #29
This resolves an issue which causes printed output to contain an unneeded space if edge attributes are empty. I've adjusted the relevant test output to account for the change.
The difference is subtle, but it's both visible below and in the changes.
Before change  vv {a2 -> b2 }, aaa -> bbb }:
strict digraph t {aa[color=green]subgraph v {aa[shape=square]subgraph vv {a2 -> b2 }aaa[color=red]aaa -> bbb }aa -> be -> subgraph v {d -> aaa }aa -> aaa -> v}

After change  vv {a2 -> b2}, aaa -> bbb}:
strict digraph t {aa[color=green]subgraph v {aa[shape=square]subgraph vv {a2 -> b2}aaa[color=red]aaa -> bbb}aa -> be -> subgraph v {d -> aaa}aa -> aaa -> v}

Thank you for the pr.


Add imagearray node

As previously discussed, this PR adds a new <imagearray> node.  It behaves very similarly to the <image> node but  accepts an array of filenames, instead of a single file.  The index integer input is used to select which filename from the array of filenames is used.
This PR adds shader gen and render support for both MSL and GLSL.  Both MSL and GLSL use texture arrays to implement the <imagearray> node.
I attempted an OSL implementation, but the texture filename in OSL uses a struct (textureresource).
struct textureresource { string filename; string colorspace; }

In order to support <imagearray> in OSL we would need an array of this texture resource struct.  Unfortunately arrays of structs are not supported as OSL parameters.
I believe we should be able to refactor how filenames and colorspaces are managed in OSL, and thus allow <imagearray> to be supported in OSL, but I'm opting to leave this to a follow up PR, as its likely to be a more invasive change.

This is a neat idea! One question/concern I have, would this require having array-flavors of every current/future texture-map related shader (triplanar, hextiled)?
What if there was a shader node, that takes an array of filepaths, and has an integer input to select one of the filepath outputs? This could then be connected to ,  or any other texture node. Or does that cause problems with the various shading languages/rendering targets?

@lgritz - I posted this issue to the OSL project, as a response to your comment above.  If there's a good reason things are the way they are feel free to close.
@crydalch - This is not an array of filenames, but instead a MaterialX realization of the hardware shading concept of texture arrays, where a number of images are bound to a single texture unit and then selected by index.  So you read the texel from an  by providing a UV value and an integer index, and then get back the color(?) value.
I guess we could provide a nodegraph fallback implementation that works the way you describe - but for the hardware languages I think we would likely want to directly use the hardware support.  This nodegraph idea might work around the current complexities in the OSL implementation.
I don't think this proposal necessarily infers array versions of other nodes, at least not yet, and certainly not necessarily.  Though I can see a world where one might want to add an image-array version of something like hextile for instance, and then randomly selecting an index to use to increase variation in the generated texture.


Motivation and Context
Having the PR checks failing because one of the commits is not conventional is annoying for contributors. Original feedback: https://github.com/orhun/git-cliff/pull/613#issuecomment-2059908791

How Has This Been Tested?
I pushed fc58c87 to this PR. It's not a conventional commit and the tests still work.

Screenshots / Logs (if applicable)
Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (no code change)
[ ] Refactor (refactoring production code)
[x] Other

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.
[x] I have formatted the code with rustfmt.
[x] I checked the lints with clippy.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

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

Project coverage is 41.52%. Comparing base (d53b905) to head (c0434bd).
 Consider uploading reports for the commit fc58c87 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #619   +/-   ##
=======================================
  Coverage   41.52%   41.52%
=======================================
  Files          15       15
  Lines        1072     1072
=======================================
  Hits          445      445
  Misses        627      627

Flag
Coverage Δ

unit-tests
41.52% <ø> (ø)

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

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

I strongly disagree that this should become default behaviour. In my organization, we want to enforce sticking to standards at all times. Every commit will at some point no longer be the latest and having the checks fail at that stage is more annoying that doing it right from the start.
Instead the controls on how to handle non-conventional commits should be more fine grained:

Ignore non-conventional commits
git-cliff silently ignores all non-conventional commits.

Warn non-conventional commits
git-cliff emits a warning for each non-conventional commit it encountered.

Enforce conventional commits
git-cliff fails generating a changelog if it encounters any non-conventional commits. Every non-conventional commit is emitted as an error.


fix(#1980): Support data types in Kamelets

Adds input/output/error data type spec to Kamelet CRD. The data type specifications provides additional information to the user such as what kind of input is required to use a Kamelet and what output is produced by the Kamelet.
The data type specifications can be used by tooling and data type converters to improve the overall usability of Kamelets
Deprecate former types field and EventTypeSpec

Fixes #1980
Sample source Kamelet using the new dataTypes structure:
apiVersion: camel.apache.org/v1alpha1
kind: Kamelet
metadata:
  name: event-source
  labels:
    camel.apache.org/kamelet.type: "source"
spec:
  definition:
    title: "Event"
    description: "Source uses different output data types"
    required:
      - token
    properties:
      token:
        title: Token
        description: The authentication token
        type: string
  dataTypes:
    out:
      headers:
        eventId:
          title: "Event Id"
          description: "The id of the event"
          type: string
        eventSubject:
          title: "Event Subject"
          description: "The event subject"
          type: string
      types:
        json:
          mediaType: application/json
          dependencies:
            - camel:jackson
          schema:
            # the JSON schema
        binary:
          mediaType: application/octet-stream
          headers:
            compressed:
              title: Data Compression
              type: boolean
              default: false
      default: json
  template:
    from:
      uri: "kamelet:source"
      steps:
        [...]

The dataTypes section may define message headers that the Kamelet produces. Also the section defines one to many supported data types for in/out/error. In the sample two data types are defined for the source Kamelet as an output (json and binary). Each data type specification is able to define a mediaType, additional dependencies, headers and a schema.
In a KameletBinding users may choose the output data type when referencing the Kamelet:
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: event-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: event-source
      dataTypes:
        out:
          format: binary
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: event-sink

The binding explicitly defines the output data type on the event-source Kamelet reference. The Kamelet source produces the output as binary accordingly.
Same applies for input data types where the Kamelet reference in a binding may choose from different supported input types of a Kamelet.
Release Note
feat: Support data types in Kamelets

Completely unrelated to your PR @christophd but how did you re-generate this?
I couldn't get it to generate with make generate on my PR.

@manstis I called
make clean
make generate
make build
make images

One of them did the trick for me 😅

One of them did the trick for me

LOL.. None of them re-generated it for me.. oh well... the mystery deepens.

make generate is the one in charge to refresh autogenerated code (which include deepcopies)

@squakez thanks for the questions

What is be the default behavior when the data type is not selected?

Each Kamelet has a default behavior. There is a default field in the dataTypes section for in/out/error and this should reflect the default behavior. Only when users define some data type in the binding additional logic will be applied.

Would it be possible to include some E2E test covering the new scenario? Ie, creating a Kamelet that has some customized data type.

Yes, of course. Many Kamelets being used in the e2e tests already use the dataTypes section (they have been using the old types section and I refactored the Kamelets to use the new structure). For the KameletBinding adding some e2e tests regarding data types will be a future task when the actual implementation follows. This PR only adds the data type specifications to the CRDs. I am going to work on the implementation in the binding as soon as this has been accepted and merged

Okey, then, if I understand correctly, this PR only set the specification, but it would not yet be usable, waiting for the implementation in Kamelets/Camel code. Is that right?

@squakez yes, right adding data types information to a Kamelet is just informational for now. Using a data type in a KameletBinding does not have any affect at the moment.

Okey, then, IMO we can leave this on hold while the development is not ready. I don't like have things that have no real usage as they can confuse customers trying to use it. However the spec configuration will be good to go for me once the business logic will be implemented. I will mark this as WIP if it's okey for you.

Added the implementation of the data types support in KameletBindings.
The idea is to allow the user to specify the data types for output/input on Kamelet references in a binding (see source and sink Kamelets in example below).
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: event-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: event-source
    dataTypes:
      out:
        format: cloudevents
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: event-sink
    dataTypes:
      in:
        format: binary

Once the user explicitly defines the data types in the binding Camel K automatically adds respective steps (using the data-type-action Kamelet) in order to apply the data types for input/output (see generated template-flow.yaml below).
from:
  uri: kamelet:event-source/source
  steps:
    - kamelet:
        name: data-type-action/source-out
    - kamelet:
        name: data-type-action/sink-in
    - to: kamelet:event-sink/sink

This is for data types being set on source and sink Kamelet references in a binding. Also, the user is able to add data types to Kamelet reference used in the steps section of a binding:
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
  name: event-binding
spec:
  source:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: event-source
  steps:
    - ref:
        kind: Kamelet
        apiVersion: camel.apache.org/v1alpha1
        name: log-action
      dataTypes:
        out:
          format: binary
  sink:
    ref:
      kind: Kamelet
      apiVersion: camel.apache.org/v1alpha1
      name: event-sink

This time the generated template-flow.yaml looks like this:
from:
  uri: kamelet:event-source/source
  steps:
    - pipeline:
        id: action-0-pipeline
        steps:
          - kamelet:
              name: log-action/action-0
          - kamelet:
              name: data-type-action/action-0-out
    - to: kamelet:event-sink/sink

Camel K uses a pipeline step in order to apply the data type action as an output of the log-action step.
The automatically added data type-action Kamelet steps will apply the given data format using the format name and an optional component scheme. At the moment the data type conversion logic is loaded from the camel-kamelet-utils library that holds some default data type implementations for AWS-S3, AWS-DDB and common String and binary data types (see https://github.com/apache/camel-kamelets/tree/main/library/camel-kamelets-utils/src/main/java/org/apache/camel/kamelets/utils/format/converter).

👀 @oscerd @lburgazzoli please have a look, too 🙏

FYI the YAKS tests failing because I need to release a new YAKS version supporting Kamelet data types first. This is being addressed in https://github.com/citrusframework/yaks/pull/469


Touch: true isn't triggering after_touch callback

We have the following setup to run a job via a callback when any save is made to a Profile and want to be able to include saves made to our accepted_count counter_culture field which are not picked up with the normal after_save.
We tried using touch: true and an after_touch callback but this doesn't run as expected.
class Profile < ApplicationRecord
  has_many :profile_requests, dependent: :destroy

  after_save :run_job
  after_touch :run_job
end

class ProfileRequest < ApplicationRecord
  belongs_to :profile

  enum status: { pending: 0, accepted: 1, declined: 2, expired: 3, withdrawn: 4 }

  counter_culture :profile,
    column_name: proc { |profile_request| profile_request.accepted? ? :accepted_count : nil },
    column_names: -> { { ProfileRequest.accepted => :accepted_count } },
    touch: true

We're looking into an alternative setup to run the callback but are curious why the touch: true doesn't trigger it, if this is a bug, and if there's a known way of triggering a callback after a counter_culture update.
The callback does trigger when we tried Profile.first.touch in the console

Unfortunately I don't have a good solution for you here. It's intentional that counter_culture doesn't trigger further callbacks. This runs the risk of a heavy chain of updates running when, really, we should just be updating the counter cache column. This should be as lightweight as possible an operation. The touch: true option just adds a way to bump the updated_at timestamp, it's not a "full touch" in the sense it doesn't call model.touch
You could probably add an after_save callback on ProfileRequest in your example, and then call run_job from there, but it's a bit janky as you're duplicating some of the logic in counter_culture to determine whether to update the counter or not.


Change price of your NFTs under one collection

Mass adjust the price in your collection, i.e. set a new LIST price
Spec

select which NFTs, with preview + name
select ALL
add price per selected NFT
add price for whole selected NFTs together

@yangwao I can pick this issue, need to clarify two things

Do we have some designs for this, or I can add any UI for this according to me.
What are the API's for updating single selected NFT price or whole selected NFTs together.

🤔

#6941


elab2ARC tool

Added an article about the elab2ARC tool.
@Brilator please check whether the article is in the correct place.

Might also want to add a sidebar badge via yaml:
sidebar:
    badge:
        text: new
        variant: tip


[website] Landing page design upgrade

Still a work in progress (i.e. not ready for a full code review) but this PR is aimed at doing some design upgrades to the page to mostly support the Beta launch. Additionally, I think we can also use it to close the following issues:

Closes #904
Closes #2235
Closes #2335

https://deploy-preview-2266--mui-toolpad-docs.netlify.app/toolpad/
To be fixed:

[x] The code in the hero section is currently hidden, that needs to be shown
[x] In the "Use cases" section, handle the scenario when all accordions are closed
[x] Add the GitHub star counter

I'm working on the "use cases" section and thought about doing something different, given it was previously a grid of cards with tiny images. Thought about having an accordion on one side and an image on the other. The first accordion would be open by default and then, as you open the one in the middle, the first closes, and the image changes to match the content. Not sure how to pull this off engineering-wise, so would love to get some guidance here 😬
From an interaction standpoint, it's super similar to what we have on several pages ⎯ the "ProductSwitcher" component. But thought we could experiment with a different interaction/vision spin here given each section has somewhat of a long description.

For the accordion, I believe this demo does what you describe: https://mui.com/material-ui/react-accordion/#controlled-accordion.
For the image we can select a url based on that same expanded variable like:
const USE_CASE_IMAGES = new Map([
  [ 'panel1', '/use/case/1.png' ],
  [ 'panel2', '/use/case/2.png' ],
  [ 'panel3', '/use/case/3.png' ]
])

// ...

  // in the component
  <img src={USE_CASE_IMAGES.get(expanded)} />

One drawback of this design is that all 3 sections (hero, features and usecases) are going to have a redundant pattern; some text on the left and some media on the right.

Looks great @danilo-leal! Quick suggestions (I can send a commit if you think this makes sense)

Play the typing animation words sequentially instead of randomising the order (since that could cause repetition)

Autoplay the hero demo video?

@bharatkashyap yeah, love these! Feel free to push it!

@bharatkashyap yeah, love these! Feel free to push it!

Added

Play the typing animation words sequentially instead of randomising the order (since that could cause repetition

but skipped autoplaying the hero video since its moved back down to a section below the immediate landing, where I feel it's more okay to let users click if they want to play it.

The new use case design looks good.
In the grooming call, for the hero section, we discussed that it would be a good idea to have the code and UI snippet on the hero section (like we were exploring here). The reason is that the ideal video viewing experience should be in a big frame as there are so many elements in Toolpad UI.
In the meeting notes, we also explored how GitHub star button could be added.

Added a few commits (to revert if we don't want to go in this direction) which do the following:

Added the code snippet back to the landing page. I was struggling with placing the image and the code together in a way that neither one would obscure the other. In the end, I decided to try this approach:

(This seemed to allow both to have undivided attention and represent the idea of "turn your" API into UI well)

The same experience follows on mobile devices, but medium sized viewports see a slightly different view with a more traditional side-by-side hero image:

Also adds a traditional GitHub stars count+button with a link to the repo:

I think the choices are great overall! The toggle seems like a good trade-off 👍 Some observations:

Users would be more likely to click on the count of stars which will take them to the stargazers view. Is it possible to use this variant that uses the word 'Star' next to the GitHub icon?
The video is cropped in full-screen view. I think many users would want to see it in full screen. Can we fix it?

Users would be more likely to click on the count of stars which will take them to the stargazers view. Is it possible to use this variant that uses the word 'Star' next to the GitHub icon?

Added a "Star" call to action next to the button:

The video is cropped in full-screen view. I think many users would want to see it in full screen. Can we fix it?

Added a "request full-screen" button to the video:

Quick question for y'all: should we make the copy on this section focused on only collecting emails? The "import in your codebase" and "using a simple command..." sounds a bit off, especially given... we're not displaying the said simple command 😅  We could just have the "sign up..." as the main heading.

Quick question for y'all: should we make the copy on this section focused on only collecting emails? The "import in your codebase" and "using a simple command..." sounds a bit off, especially given... we're not displaying the said simple command 😅 We could just have the "sign up..." as the main heading.

I agree about the mismatch between sign up and bringing Toolpad to your own codebase messaging, but this looks a little bit off as well:

Iterated with something like this but I'm also a bit confused/wondering because: on the Hero section, there's a button with an installation command, right? Then, this very last section talks about "ahead of the official release"/"early access". If I can already install it, what more would I get with the release? Like, why do I need to sign up if the installation command is right over there?
Another possibility would be having the hero section buttons again here ("Get started" & install).

About the darker dark mode, it's not an error! We recently published a design facelift on the Core repo ⎯ Toolpad should be updated once it gets aligned with what is on the Core!

About the darker dark mode, it's not an error! We recently published a design facelift on the Core repo ⎯ Toolpad should be updated once it gets aligned with what is on the Core!

Sorry, I meant that in the light mode, it should come like:

which is not the case in the preview.

Nice!
Few remarks from my side:

noticed this section doesn't have a light mode:

The switcher is very nice, but I don't find it very discoverable. Would it make sense to:

Make the screenshot clickable as well to toggle the switch
Animate it automatically (when not being hovered)

Would it make sense to make the whole GitHub button clickable?

No real hard blockers though

I have 2 concerns related to the video:

Currently (even in production), the width gets trimmed on the screens where the height exceeds 16:9 ratio. Like my Mac is 16:10 and to fit the height, the video is zoomed in and the sides overflow. Can we fix it?
What should be the ideal size of the video? Currently, it is 16MB, do we have room to increase it to support better quality of the video?

The last section not having a light mode is intentional! Not only is consistent with other pages throughout the website, but it also gives some visual break on the white background when in light mode (though it is not as good as the inverse because there would then be a section that out of nowhere hurts the eye 😬).
Love the idea of having the switch turn automatically! I wonder if using a switch would be the best way if we move that way ⎯ maybe tabs where you can see a progress line that signals it is going to swap to the next? Anyhow, added labels to it so it is a bit more predictable.
@prakhargupta1 what do you mean about the first point regarding the video? 🤔 I wasn't able to figure out/reproduce the video behaving that way...

@prakhargupta1 what do you mean about the first point regarding the video? 🤔 I wasn't able to figure out/reproduce the video behaving that way...

When I play video from https://mui.com/toolpad in fullscreen on my Mac. It shows as below (notice the left side)

Hopefully, the logo layout shift is better now! Also made the typing animation slightly faster so the time to see "API", and therefore have the sentence make sense, is much shorter ⎯ but if we want to have API just render by default and then run the animation, might need some engineering support there to tweak the function! (cc @bharatkashyap 😬)

but if we want to have API just render by default and then run the animation, might need some engineering support there to tweak the function! (cc @bharatkashyap 😬)

Added that!

Experimenting with auto-switch (paused on hover):
https://github.com/mui/mui-toolpad/assets/19550456/5366f428-18bf-4831-8464-140c37970525

If it's not too late to edit the video, could we find some music that doesn't jump part way through (around the 54 second mark)? Also, it might be nice to use the same font for the text overlays as the website.

Agree with this, the music and the font definitely seems a bit out of place.
Also added examples to demonstrate all three types, and synced the text animation with that of the hero image/code:
(Increased the delay a bit since I thought that helped actually focus on each of them for a bit, but open to correcting this)
https://github.com/mui/mui-toolpad/assets/19550456/0b9e8f03-baa8-43a2-99f2-bc6823408061

If it's not too late to edit the video, could we find some music that doesn't jump part way through (around the 54 second mark)? Also, it might be nice to use the same font for the text overlays as the website.

Yeah, that's where the music fell short, and I had to reuse part of it. This one was free to use in the public domain. I am looking for better tracks that can be used for commercial use. Found: https://www.storyblocks.com/audio/stock/unstoppable-inspiration-347570992.html (but the licensing process 'For business' seems time-consuming as they'll send the quote)

If it's not too late to edit the video, could we find some music that doesn't jump part way through (around the 54 second mark)? Also, it might be nice to use the same font for the text overlays as the website.

Yeah, that's where the music fell short, and I had to reuse part of it. This one was free to use in the public domain. I am looking for better tracks that can be used for commercial use. Found: https://www.storyblocks.com/audio/stock/unstoppable-inspiration-347570992.html (but the licensing process 'For business' seems time-consuming as they'll send the quote)

I imagine something like this is the benchmark: https://twitter.com/shadcn/status/1673690479349895169 (He mentions Screenflow with Video Action, I’m sure exploration can reveal other free tools which can achieve something similar.)

No copy right sounds might be helpful here: https://ncs.io/music-search?q=&genre=&mood=5&version=instrumental

Thanks for sharing this. For now, I have used https://pixabay.com/music/corporate-motivational-day-112790/ (with a license certificate, it is free to use) Kept it mellow as the video content requires focus.

One thing I found to be a bit confusing on this current iteration of the hero animation is that even though the Code <> UI flip animation stops when I hover them, the code files keep switching... So, if I hovered to see the code in a bit more detail, and scroll it down, it suddenly scrolls me back up because the file/code all changed. I wonder if we should maybe put some tabs in the code block, which clearly shows we're displaying multiple files?!
https://github.com/mui/mui-toolpad/assets/67129314/414d909c-7534-43d6-9367-db3125667049

One thing I found to be a bit confusing on this current iteration of the hero animation is that even though the Code <> UI flip animation stops when I hover them, the code files keep switching... So, if I hovered to see the code in a bit more detail, and scroll it down, it suddenly scrolls me back up because the file/code all changed. I wonder if we should maybe put some tabs in the code block, which clearly shows we're displaying multiple files?!
Screen.Recording.2023-07-21.at.07.48.05.mov

Agreed on the tabs, also this behaviour is unintended - I'll look into why it changes file if focused. Regardless, we should have the tabs anyway. I'll add them

I've added the tabs as well, here's a quick peak:

Also have fixed the file changing when hovering over it, that should be better.
Pending sanity checks by everyone on the deploy preview, this should be okay to merge.

Pending sanity checks by everyone on the deploy preview, this should be okay to merge.

I can't switch tabs at all by clicking them, is that intentional?
Other than that LGTM.

@bharatkashyap running the risk of complicating things a bit even more 😬 but I think it would be nice to be able to click on the tabs and then have the images be changed, in the background, according to the tab.

Got this to work! (The issue was that the bundled logic of the Tabs component doesn't expect the elements to be flipped 180° when calculating where to position the tabs indicator. Had to wrest control of the indicator position and override - took some effort and resulted in not the cleanest code, but it works for now.
On the video, @prakhargupta1 do you think it's possible to make the text align with the landing page theme? The same fonts and colours? Given that we usually only get one shot to make a user watch our video, I think it matters to do it well the first time.

On the video, @prakhargupta1 do you think it's possible to make it align more with the rest of the landing page? I feel that there is a divergence in two areas:

The emphasis on "use your own code" isn't nearly the same. The hero section demonstrates this primarily, whereas using code comes in as the last feature being covered in the video. If I came on to this landing page, I would be interested to see the complete story after looking at the hero demo, only to feel a bit lost 20 seconds into the video.

(Smaller) It'd be great if the video could use the same fonts and colours as the rest of the page.

Given that we usually only get one shot to make a user watch our video, I think it matters to do it well the first time.

I have used Helvetica Neue as it was there in the font family of the hero copy.
I think the video is fine as it sequentially takes a user from adding an API, to adding a custom component, to adding a code query and then finishing the app. It should give a brief overview in 2 mins.


fix: update checks for updating the login source on successful authentication

Description

Login source of users is not tagged properly, if they are invited and then directly login using an OAuth2 mechanism.
With the change in checks post successful authentication, the users will have the correct login source.

PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/26519
Media

A video or a GIF is preferred. when using Loom, don’t embed because it looks like it’s a GIF. instead, just link to the video

Type of change

Bug fix (non-breaking change which fixes an issue)

Testing

How Has This Been Tested?

[x] Manual

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test


Fix build bug introduced with nats consumer tests

Still get the timing issue. Puh. I dunno.

finally multiple sequential tests do work


visualize maps

Hi sir, it's great works.And can you share the script of visualization of feature maps.

Updated the script under ./src/visualization/visualize.py, you can simply run
python ./src/visualization/visualize.py --model resnet to generate the visualizations of feature maps


Error in Readme

The readme contains an error
This line need to be change
  -v $(pwd)/sonar-runner.properties:/root/sonar-scanner/conf/sonar-runner.properties \
to
  -v $(pwd)/sonar-runner.properties:/root/sonar-scanner/conf/sonar-scanner.properties \
With this change, the sonar-runner.properties will be taken with good properties

Fixed in PR #17 - thanks for the help there!


feat(Spanner): Add foreign key delete cascade samples

Spanner team said its in production, re running the tests.


Return an error when trying to decompose a node with html tag

Hello, I believe it would be beneficial to generate an error message when we execute the command node.decompose() on a node that has the html tag. Currently, the procedure freezes and does not produce any error messages.
When dealing with a large number of HTML files, there are often some atypical ones containing an attribute we want to remove nodes with directly in the main HTML node. However, without any error messages, it is challenging to identify the source of the problem, making debugging a difficult process.

Please provide an example that hangs.
import selectolax.parser

html = "

"
html_parser = selectolax.parser.HTMLParser(html)
print(html_parser.root.decompose())

Works fine for me.

Sure, here is my example that results in an infinite loop
from selectolax.parser import HTMLParser

html_str = """
<!DOCTYPE html>

"""

def _remove_nodes_matching_css_rules(selectolax_tree):
    modification = True
    while modification:
        found_a_node = False
        for node in selectolax_tree.css("[class~='site-info']"):
            node.decompose()
            found_a_node = True
            break
        if not found_a_node:
            modification = False
    return selectolax_tree

selectolax_tree = HTMLParser(html_str)

selectolax_tree = _remove_nodes_matching_css_rules(
    selectolax_tree=selectolax_tree,
)

Actually you're right that we can decompose the html node, but then there is an infinite loop because I think the attributes of the html node are kept after calling the decompose operation

Your code will work if you switch to lexbor backed.
Why do you need to remove the html tag? It's essential for any document and gets automatically created even if you don't provide it.
@lexborisov What's the best way to handle this? I'm using myhtml_tree_node_remove. Can I just set myhtml_tree_t->node_html manually? The result of remove is not propagated to the myhtml_tree_t structure because we are trying to remove the root node and myhtml_tree_t points to the root node already.

@rushter

What's the best way to handle this?

I don't understand why I have to remove the html node at all?
But never mind.

Can I just set myhtml_tree_t->node_html manually?

Yes, you can.


remove arguments from once callback

Fixes https://github.com/6eDesign/svelte-calendar/issues/72

I think this is a great idea!
On Sun, 8 Mar 2020 at 04:14, Jonathan Greenemeier<EMAIL_ADDRESS>wrote:

@6eDesign commented on this pull request.
In src/Components/Popover.svelte
https://github.com/6eDesign/svelte-calendar/pull/73#discussion_r389333623
:

function handler () {

 cb();

⬇ Suggested change

function handler () {

 cb();

function handler (...args) {

 cb.apply(this, args);

Maybe this could fix your problem while maintaining the original
functionality of this function. I can't guarantee that I'll never use
arguments again in this repository, but perhaps its a good stop-gap.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/6eDesign/svelte-calendar/pull/73?email_source=notifications&email_token=AABVORJ34B6VFRXZVEDR6BTRGMLRFA5CNFSM4K7QOWJ2YY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCYNAGCY#pullrequestreview-370803467,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABVORIBGXTK574FTDDEQCDRGMLRFANCNFSM4K7QOWJQ
.

--

ꜽ . antony jones . http://www.enzy.org

Alright @6eDesign - taken your suggestion :)

Hey @antony - was this change still needed?  It seems from the referenced issue that you were able to solve the issue by updating various dependencies?

@6eDesign Ah sorry - yeah I don't think it is. It seems to have been caused by Svelte 3.20.1 and has been fixed subsequently.
I can't 100% guarantee this, but it seems to be the culprit.


[a11y tool] discoverability

We need to somehow alert the user that the tool is available.
Maybe role=application helps (though @zorkow had problems with it in the past). Otheriwse, we could add a label. I'm thinking it might be something equivalent to role=math, i.e., something that will make AT indicate there's some math.

See #48

PR #52 adds an initial announcement.

Initial announcement does not work with NVDA. Maybe we are too polite.

Closed by #52


Roles for targets via notary CLI

Adds --roles flags to notary add/notary remove/notary list to allow for adding to specific delegations.  The --roles flag takes a list of roles.
I used this for testing end-to-end delegation publishing with notary, and there's an integration test that does a publish to targets/releases after removing the targets key and copying over the delegation private key to private/tuf_keys.  This private key needs either the name format of canonicalID_releases or a role in the PEM headers.
Closes #511

LGTM!  Thank you for fixing this!  This makes the complete delegation add/publishing targets/etc. workflow much easier!


[PE-D][Tester A] Duplicate prefix for different meanings

The prefix for tag attached to patient and appointment type are both the same(both are t/), would it be better to distinguish the prefixes of these two parameters in order to avoid user comprehension issues? For example change the prefix of appointment type to type/ instead of t/

Labels: type.FeatureFlaw severity.Low
original: FangRuoqing/ped#7

Won't Fix as intended behaviour. Both parameters have similar function of categorising a patient or appointment.
Updated FAQ in UG.


[Dep] Update requirement to PHP 8.1

it seems re-usable workflow needs update
rectorphp/reusable-workflows/.github/workflows/code_analysis.yaml@main

Close-reopen to restart build.

All checks have passed 🎉 @TomasVotruba I think it is ready.

Thank you :+1:


[GLUTEN-2491][CH] Fix sequence with null value as argument

What changes were proposed in this pull request?
Fix sequence with null value as argument and move the convert implemention of sequence to function parser of ch backend.
(Fixes: #2491)
How was this patch tested?
UT

@rui-mo Could you help trigger the failed CI job? Thanks!

@rui-mo Could you help trigger the failed CI job? Thanks!

@exmy Retriggered, thanks.

 ** Velox backend / velox-ubuntu2004-test-spark33-slow (pull_request) **

There is another one Velox backend / velox-ubuntu2004-test-spark33-slow (pull_request)  also needs to be retriggered @rui-mo


include-cleaner doesn't understand templated forward declaration

This my might be a very special case to how I built my project, but nevertheless I see it as a bug in clangd:
Using GoogleMock, there's an *_mock.h for each interface (pure virtual class in another header) defined. To speed up compilation, I am using forward declarations of types passed to mocked methods, which GoogleMock doesn't really like. I implemented a work-around with enable_if in another header, including this implementation statisfies GoogleMock until it finally sees the definition of those forward-declared types in the test files where they are actually used. clangd marks the header with the enable_if magic unused: "Included header MockForwardDeclarationUtil.h is not used directly (fix available)", but removing the include results in multiple compile errors from gmock: invalid application of 'sizeof' to incomplete type 'OneOfMyForwardDeclaredTypes'.
Example, my project reproduces the issue with these simple files (edited):
// IExample.h

class OtherType;

class IExample {
 public:
  virtual ~IExample() = default;
  virtual OtherType& getRef() = 0;
};

// MockExample.h

#include <gmock/gmock.h>

#include "IExample.h"
#include "GMockForwardDeclarationUtil_mock.h"

class MockExample : public IExample {
 public:
  MOCK_METHOD(OtherType&, getRef, ());
};

// ExampleTest.cpp
#include "MockExample.h"

#include <gtest/gtest.h>

class ExampleTest : public ::testing::Test {
 protected:
  MockExample me;
};

This is the exact content from my magic header, where the printing will actually never happen, it's just an error-checking mechanism:
// GMockForwardDeclarationUtil_mock.h

#include <ostream>
#include <type_traits>

// IsDefined differentiates defined and forward declared types
template <class, class = void>
struct IsDefined : std::false_type {};

template <class T>
struct IsDefined<
    T, std::enable_if_t<std::is_object<T>::value &&
                        !std::is_pointer<T>::value && (sizeof(T) > 0)>>
    : std::true_type {};

template <typename T, typename = std::enable_if_t<!IsDefined<T>::value &&
                                                  !std::is_pointer<T>::value &&
                                                  std::is_object<T>::value>>
std::ostream& operator<<(std::ostream& os, const T& ref) {
  os << "Forward declared ref: " << static_cast<const void*>(&ref);
  return os;
}

System information
Output of clangd --version:
clangd version 15.0.0 (git://code.qt.io/clang/llvm-project.git 218224bce00c69b6f8a396e681c51256fc6f1b99)
Features: linux
Platform: x86_64-unknown-linux-gnu
Editor/LSP plugin:
Qt Creator 9.0.2
Operating system:
Ubuntu 22.04.2 LTS

Could you give a complete code example please? The snippets you posted are missing e.g. the declaration of MyInterface.

Sorry for the confusion, the type in the error message is OtherType,
which is returned by reference in a mock but only forward declared up until
that point.
My project is 40k lines, so I tried to extract a minimal example of what
should repro the issue. Thanks for confirming it doesn't in the current
form. I will come back soon with a refined example.
On Tue, 28 Mar 2023, 09:30 Haojian Wu, @.***> wrote:

I don't get any compiler errors in this file if I remove the header.
+1, I didn't reproduce the issue either.
Perhaps there is other code in the file that you're not showing that is
triggering the errors?
I guess so. From the pasted error message invalid application of 'sizeof'
to incomplete type 'OneOfMyForwardDeclaredTypes'., it seems to be caused
by the OneOfMyForwardDeclaredTypes, which is not declared in any of the
provided files.
—
Reply to this email directly, view it on GitHub
https://github.com/clangd/clangd/issues/1556#issuecomment-1486435293,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZ2Q7X4EMNQBPTRFTDWOILW6KORJANCNFSM6AAAAAAWGM2HJY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hey,
I managed to build a minimalistic example reproducing the issue. I edited my first comment to keep the code blocks in one place. The example as-is builds successfully, but clangd wants to remove the #include GMockForwardDeclarationUtil_mock.h in MockExample.h. If I remove the include, I get the compile error from gmock. The important aspect that was missing from my previous code sample is instatiating the mock class which has a method returning a forward declared type by reference. I see the same scenario (clangd wants to remove the include, but there's a compile error without it) if I place the #include GMockForwardDeclarationUtil_mock.h into ExampleTest.cpp.

Here's https://pastecode.io/s/2segtb6f showing the complete error from gmock. It may be interesting that I have a precompiled header in the project, which includes <gmock/gmock.h>, and <gtest/gtest.h>.

I tried your updated files. I can reproduce the diagnostic (with #pragma once added to GMockForwardDeclarationUtil_mock.h, this seems to be important for triggering the diagnostic), but after commenting out the #include I still do not get a diagnostic.
Could you specify the googletest version/revision you're using as well? I looked at your paste to try and figure out why you're getting the error and I'm seeing things there that don't match my copy of googletest, for example in my copy there is no testing::internal2 namespace.

My googletest is at the tag "release-1.10.0", which should be the release
1.10.0
On Sun, 2 Apr 2023 at 07:41, Nathan Ridge @.***> wrote:

I tried your updated files. I can reproduce the diagnostic (with #pragma
once added to GMockForwardDeclarationUtil_mock.h, this seems to be
important for triggering the diagnostic), but after commenting out the
#include I still do not get a diagnostic.
Could you specify the googletest version/revision you're using as well? I
looked at your paste to try and figure out why you're getting the error and
I'm seeing things there that don't match my copy of googletest, for example
in my copy there is no testing::internal2 namespace.
—
Reply to this email directly, view it on GitHub
https://github.com/clangd/clangd/issues/1556#issuecomment-1493246108,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADZ2Q7XIBKEJZ5V7HZE4673W7ENSLANCNFSM6AAAAAAWGM2HJY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thanks! I can reproduce the compiler error with googletest v1.10.0.

The error message is a bit weird because it doesn't actually indicate which line of your code is the original trigger, but experimentation shows it's the MOCK_METHOD(OtherType&, getRef, ()); line.

Mostly reduced testcase (only depends on <ostream> and <type_traits>):
ExampleTest.cpp:
#include <ostream>

namespace internal {
template <typename Char, typename CharTraits, typename T>
void operator<<(std::basic_ostream<Char, CharTraits>&, const T& x) {
  sizeof(x);
}
}  // namespace internal

template <typename T>
struct C {
  C() {
    using namespace internal;
    getOS() << getT();
  }
  static std::ostream& getOS();
  static T& getT();
};

#include "GMockForwardDeclarationUtil_mock.h"

class FwdOnly;

int main() {
  C<FwdOnly> obj;
}

GMockForwardDeclarationUtil_mock.h:
#pragma once

#include <ostream>
#include <type_traits>

// IsDefined differentiates defined and forward declared types
template <class, class = void>
struct IsDefined : std::false_type {};

template <class T>
struct IsDefined<
    T, std::enable_if_t<(sizeof(T) > 0)>>
    : std::true_type {};

template <typename T, typename = std::enable_if_t<!IsDefined<T>::value>>
std::ostream& operator<<(std::ostream& os, const T& ref);

Further reduced:
ostream.h:
#pragma once
template <typename> struct basic_ostream;
using ostream = basic_ostream<char>;

mock.h:
#pragma once
#include "ostream.h"

template <typename T>
ostream& operator<<(ostream& os, const T& ref);

ExampleTest.cpp:
#include "ostream.h"

namespace internal {
template <typename C, typename T>
void operator<<(basic_ostream<C>&, const T& x) {
  sizeof(x);
}
}  // namespace internal

template <typename T>
struct C {
  C() {
    using namespace internal;
    getOS() << getT();
  }
  static ostream& getOS();
  static T& getT();
};

#include "mock.h"

class FwdOnly;
int main() {
  C<FwdOnly> obj;
}

The error message is a bit weird because it doesn't actually indicate which line of your code is the original trigger, but experimentation shows it's the MOCK_METHOD(OtherType&, getRef, ()); line.

(This is actually only the case when the error is produced by gcc, not clang. I filed it as https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109382.)

Thanks @HighCommander4 for reducing the testcase! Confirmed it in include-cleaner library.
It is related to the operator call <<. In include-cleaner, operators are always considered as ADL extension points, thus by designed references to them don't count as uses.
The current implementation is to drop them entirely, the ongoing https://reviews.llvm.org/D147144 is the fix (to prevent false positives of the unused-include diagnostic).
But the fix is probably not enough for the case here. The operator << call inside the template class, we only traverse the primary template body, thus the operator << call is a dependent type (it is a UnresolvedLookupExpr node), we can't get a particular NamedDecl, we should consider all candidates for unresolved overloads as uses.

I updated my tools, and noticed the commit Add support for printing incomplete types in the universal printer highlighted in GoogleTest release 1.11. I was previously using GoogleTest 1.10. I removed GMockForwardDeclarationUtil_mock.h from my project after integrating GoogleTest 1.13, and still everything compiles. So it seems like the root cause for me was actually GoogleTest not (yet) accepting forward declared types in its printing system.
I understand clangd's issue with the use case, and the importance of << here, but my use case is now obsolete, at least in this instance of << not counting as a usage.


Callback function type checks don't work with overloads

TypeScript Version:
master
Code
interface F {
  (g: () => void): number; // if this line is removed, tsc gives a correct error.
  (g: (i: (p: number) => number) => void): number;
}
var f: F;
f(g => h(g));
function h(i: (p: string) => string): string {
  return i('');
}

Expected behavior:
index.ts(6,10): error TS2345: Argument of type '(p: number) => number' is not as signable to parameter of type '(p: string) => string'.
  Types of parameters 'p' and 'p' are incompatible.
    Type 'string' is not assignable to type 'number'.

Actual behavior:
pass

I believe this is a duplicate of #598

I think this is a different case because if finished callback returns a not void type, tsc throws an error correctly.
interface KnockoutElement<T> {
  // Getter
  (): T;
  // Setter
  (value: T): void;
}

function readFile(finished: (contents: string) => string) { /*... */ }
var ko: KnockoutElement<number>;
readFile(ko); // throw an error correctly.

Additionally, my filed case doesn't depend parameter types.
interface F {
  (g: () => void): number; // if this line is removed, tsc gives a correct error.
  (g: (i: () => number) => void): number;
}
var f: F;
f(g => h(g));
function h(i: () => string): string {
  return i();
}

So I think TypeScript should add a test of this case when fix this issue.

You're right, this is different. The problem is that this code appears to be valid and it's not at all clear how to make it invalid.
interface F {
  (g: () => void): number;
  (g: (i: (p: number) => number) => void): number;
}
var f: F;
f(g => h(g));
function h(i: (p: string) => string): string {
  return i('');
}

The code says that h takes a parameter i and invokes it with a string. f has two overloads -- either taking a callback of zero arguments, or a callback of one argument. It's valid to ignore parameters (i.e. accept fewer arguments than are provided), so the first overload we try is the one that works -- in fact, we never even typecheck against the second overload at all!
This code should really be written as
interface F {
  (g: (i: (p: number) => number) => void): number;
}

or at the very least
interface F {
  (g: (i: () => number) => void): number;
  (g: () => void): number; // if this line is removed, tsc gives a correct error.
}

but it's unclear how we even detect these problems.

I fixed my code a little.
- f(g => h(g));
+ f(i => h(i));

@RyanCavanaugh Could you fix this?

@falsandtru I'm not sure what you mean?

@RyanCavanaugh Could you fix this problem? I feel this is a bug.

Unfortunately it's a design limitation (we choose the first available overload successfully) with no clear fix.
There's no reason to write a set of overloads that way, though, so the fix on your end should just be to do one of the suggested rewrites. Some advanced linting rule might be able to detect a set of "bad" signatures.

I see, thanks for the answer...


Automatically install local cert

What is your feature idea?
Now that mkcert step is needed no matter if you use the CLI or the UI to create a new cluster, the CLI should do the execution itself, and yes, it means asking for sudo password.
Why is it needed?
It is written in the documentation, but it seems it's often a step that is missed, or not read, and it brings some fundamental errors of not being able to access the console on k3d install or for UI installation on browser not letting HTTP connection or untrusted certificates be used.
Is this missing feature preventing you from using kubefirst?

[ ] Yes

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Someone created a duplicate issue with #2273, but since there are discussion there, I'll close this one even if it's older.


Browser-only applications shouldn't have their async components eagerly loaded by the helper.

This type of behaviour is only required on the server.

Closed by 244136387fe8f52e7eef2a5a1b34411752b474d2


Guard clause

Fixes #132
Fixes #133
Fixes #138

Current coverage is 98.00% (diff: 100%)

No coverage report found for develop at ba3270c.

Powered by Codecov. Last update ba3270c...ab35843


how to optimize the HBase CPU, IO use.

When I use pinpoint to monitor other systems, I found that the HBase resource consumption is relatively large, I would like to ask how to optimize the HBase CPU, IO use.

We do not support hbase tuning.
Ask the hbase community.


List array passed by props

Hello,
I have a list of data passed by props, when I accessed the table component I ended up receiving this data and doing a "for" within the "v2-table-column" element, eg:
<v2-table-column v-for="coluna in colunas" :label="coluna.label" :prop="coluna.prop" sortable width="200"></v2-table-column>
where "coluna " receives an array of categories, for example: list[0].departamentos[0].nome
How do I list these arrays within the current column?
Another question, why is the table not 100% wide?

You mean custom columns?
What's mean of 100% wide?


⚠ GitLab Server has degraded performance

In b29475c, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6043 ms

Resolved: GitLab Server performance has improved in 3bb95e2.


Added external hdd

aded a role to format, mount and share through nfs a hard drive connected to master node

Thank you for your work, but formating and exposing a drive through nfs is not in the scope of this project. Your role can definitely be useful, but this does not belong in the k3s-ansible repo.


How can I get recorder collisions images/videos

According by python_api_tutorial, we can get collisions  info by client.replay_file("col2.log", 13, 0, 122), and it will print info about collisions (I use jupyter notebook), but how can I get the collision image or video, such as

Following the tutorial the steps are:

Find the time that you are interested in. For that you can use the 'client.show_recorder_actors_blocked()' API to find when the vehicle got blocked, for example.

Then with that time you can start the replayer at that exact moment and capture the images you need from the simulation, using any screen capture or similar software.

That is how it was done in the tutorial.

@bernatx  Thanks！ But... How can I start the replayer at that exact moment "? Which API can do this or command?

The command you wrote from the tutorial ("client.replay_file("col2.log", 13, 0, 122)") means to start replaying the file 'col2.log' at time 13 (seconds), until the end of the replay, and following the vehicle with id.122. So, the second parameter is the time to start replaying.

@bernatx Thanks very much! I know the mean of these params, but how can I get the images/vews when cilent.repaly_file()? when I run the code client.replay_file, it just prints info on terminal, and the pygame windows keep no change...

Which info do you get from terminal?
It should say it is replaying the file, and then the server starts replaying the simulation.

@bernatx  Thanks, I solved it. When I run CarlaUE4 it start a window 1,  then I run manual_control.py it start  window 2. when I run the code  client.replay_file , the replaying video running in the window 1.... I just focus on windows 2.
And I have another problem, when I run CarlaUE4, my mouse blocked in the window 1, I have to get the mouse point by use Win+D, it's not convenient， Do you have any advice？


Deception IV: The Nightmare Princess [PCSE00743]

Game summary

Game name: Deception IV: The Nightmare Princess
Game serial: PCSE00743
Game version: 01.00

Vita3K summary

Version: v0.1
Build number: 1316
Commit hash: https://github.com/vita3k/vita3k/commit/d5378b8

Test environment summary

Tested by: IllusionMan1212
OS: Windows 10 Pro
CPU: AMD Ryzen 5 1600
GPU: NVIDIA GTX 1050Ti
RAM: 8 GB

Issues

|E| [init_texture_base]: Initialized texture with unsupported texture format: 0x15000000
Crashes after a few unimplemented sceGxm calls and _sceFiberInitializeWithInternalOptionImpl

Screenshots
None at the moment
Log
vita3k.log

Vita3K v0.1.5 2688-6ec6eddd
crashes out nearly straight away
vita3k.log

Vita3K summary

Version: v0.1.8
Build number: 3150
Commit hash: https://github.com/vita3k/vita3k/commit/1b7e038d
CPU backend: Dynarmic

Test environment summary

Tested by: othmanead
OS: Windows 11
CPU: Intel i5-10300H
GPU: RTX 3060 mobile
RAM: 16 GB

Issue:
Game plays with audio bugs and minor graphical bugs
Screenshots:

Log
vita3k.log
Recommended labels

Ingame +
Audio Bug
Graphics Bug


net: lib: zperf: Add support to disable Nagle's algorithm

This helps in benchmarking smaller packets, esp. as this is the default behaviour of iperf.

Any objections to enable of Nagle's algo by default?

@sachinthegreen FYI.

Any objections to disable of Nagle's algo by default? This matches with Iperf behaviour.

How does it work in iperf then, as there seem to be a switch to disable Nagle?

   -N, --nodelay
        set TCP no delay, disabling Nagle's Algorithm

Anyway, I'd rather avoid that, for the case with offloaded ifaces.

Any objections to disable of Nagle's algo by default? This matches with Iperf behaviour.

How does it work in iperf then, as there seem to be a switch to disable Nagle?

   -N, --nodelay
        set TCP no delay, disabling Nagle's Algorithm

I was mistaken, the default TCP MSS is 0, so, that is how the Nagle's algo is being disabled.


[Docs] - Update README with new categories

What changes would you like to make in the documentation?
We recently added some new quiz categories which means our README needs to be updated.
Here is the README file: https://github.com/freeCodeCamp/Developer_Quiz_Site/blob/main/README.md
Here is what the current README categories section looks like
- HTML 🖊
- CSS 🎨
- JavaScript ⚙
- Linux 🐧
- Python 🐍
- Git 📁
- SQL 📊
- IT 🖥
- and Computer Science Concepts 🤖

Please update the categories section of the README to include these new categories:

Quality Assurance
Agile
Security

You don't need to worry about adding emojis next to these new categories.
If you are interested in working on this issue, then please comment below and it will be assigned to you.

hello sir/mam, i want to contribute to it, can you assign me this issue and i am completely new to open source

Hi @Mustafa-Azad025 !
I have assigned it to you since you replied first.

HI @codewithnadeem14502 !
This issue has been assigned.
But we do have 8 other issues open, that are very beginner friendly if you are still interested in contributing.

but mam , i have raise the PR please check it

@codewithnadeem14502
I understand and have seen your PR but @Mustafa-Azad025 did reply first and was assigned this issue.
There will be more beginner issues added later on plus we do have 8 beginner friendly issues already open that will remain open for multiple contributors.

Thanks mam , i will update and raise PR till night and
will you merge at 1st oct to avail benifit of hacktoberfest?

@Mustafa-Azad025
If you add the DO NOT MERGE  label on your PR, and leave a comment on your PR about hacktoberfest then I can wait to merge it till October 1st.

oh ,
i haven't read it 😥

I added the label for you

Hey @jdwilkin4 ,
Please Merge Pull Request Of This .


RS-261: Describe each_n and each_s parameters

Re-write the "Query Parameters" section in the data querying guide
Add each_n and each_s parameters in the HTTP API  Reference and the guide.

@atimin I found small things to change and then it's all good to be merged :)


Promises & futures for Predis pipelines

One technique we've used with some success involves a miniature library I developed on top of Predis called Deferred.  I demonstrated this library at RedisConf 2018.
Deferred formalizes a promises/futures model that use Predis pipelines (transaction, pipeline, and atomic pipeline) under-the-covers.  It's a more object-oriented approach to pipelining, and improves encapsulation both for assembling commands and processing the responses.
In particular, it allows for responses to be bound directly to PHP variables, to automatically transform values and merge them into complex data structures, and provides notifications for logging/statistics.
My proposal is for this library (or its approach) to became a standard part of Predis, since I think there's a lot of common ground between the two.  I'd be happy to help transition the existing code to Predis, or to assist in building a sub-module that follows Deferred's model.
More information can be found in Deferred's README.

I'm finally testing with actual code a new approach for the pipeline abstraction's internals in v2.0 using generators (yay for dropping old PHP versions!) and in my various tests to verify if the new design is actually practical and consistent (while giving more flexibility than before) I also tried to emulate the basic idea behind Deferred and in the end I think, unless I missed something along the way, that something like Deferred could be indeed plugged into the new design easily by extending the base Pipeline class (yeah we'll have just on class) and override 2 or 3 methods. I say "emulate" because I did not use promises / futures to keep my test simple, don't have time ATM, I'll try in the next few days or maybe I'll leave it up to you as soon as I'll push a draft PR 😉

Alright I'm tentatively adding this feature for v2.0, at least for pipelines. To be honest I can't say for plain transactions yet, ideally Predis\Transaction\MultiExec should be re-implemented from the ground up based on an internal design similar to what I envisioned for pipelines, that's what I was planning to do anyway so we'll see.
For now I'm targeting a more lightweight approach compared to Deferred (no reduce(), no raw values, ...) but binding, listeners and trasformers are supported. We will have a Predis\Pipeline\DeferredPipeline returning Predis\Response\FutureResponse instances. DeferredPipeline::execute() will not return anything, values read from the pipeline will be accessible only by FutureResponse. Ideally DeferredPipeline should be easily extended by third parties so that they can plug whatever response wrapper or logic to populate values. It should be possible to rewrite the full-fledged Deferred library on top of this.
My proposed implementation will follow.

Just a heads-up: I'm late on my plans as I was busy last week, nevertheless while I'm adding the last touches and polishing code for pipelines (almost ready to push a draft PR but still missing tests as they will require a ton of time and work) I started experimenting with transactions and at this point I think it will be indeed possible to share the same approach so we will probably have a Predis\Transaction\DeferredMultiExec returning Predis\Response\FutureResponse instances.
By the way Predis\Transaction\MultiExec will reuse a new underlying component created for pipelines meaning that transactions will be pipelined internally (outside of check-and-set operations, obviously) just like it happens with atomic pipelines. Having two separate abstractions still makes sense to me as they have a few key differences.

The new pipeline abstraction is live on #663.
I'm going to post a gist with my proof of concept for Predis\Pipeline\DeferredPipeline tomorrow (an actual and more curated PR will follow when #663 will be considered stable enough in terms of both code and internal design) but at least we can start playing with stuff and see how far we can take this.
I still have to find some common grounds between pipelines and transactions to share some exceptions, especially in case of aborted transactions, and make both truly (as we discussed in other issues/pr) but I guess this will be possible only once we actuallt start re-implementing transactions (I have a local branch but it's a mess and incomplete, so it doesn't count yet).

Just posted my proof of concept on this gist, see also the included README file. It is far from being definitive but it's a starting point at least, I avoided a full-fledged repository because I just wanted to share the code and give everyone an idea of what I'm planning, ideally this will become a proper PR in the future. I'll keep the gist updated if breaking changes are pushed on the development branch tracked by #663.

Apologies for not getting a chance to study your gist sooner.  I'm happy to see most of the features I implemented in Deferred are present in your proof-of-concept.
From my casual glance-over, I'm unsure why asArray() and asGenerator() require special treatment.  Couldn't they simply register themselves as transformers directly, rather than setting internal flags and adding them during finalize?    Just thinking of simplicity here.


Changing between installed versions of this package fails to update the associated native node module

When changing between installed versions of node-bbs-signatures it appears that the native node module './index.node' is not always being downloaded and updated by node-pre-gyp leading to issues, especially when changing between versions of the library that feature breaking API changes.
How to reproduce
Start with new empty project and install node-bbs-signatures
yarn add<EMAIL_ADDRESS>
Then run the following
node
<EMAIL_ADDRESS>
Which will output
{ bls_generate_blinded_g2_key: [Function],
  bls_generate_blinded_g1_key: [Function],
  bls_generate_g2_key: [Function],
  bls_generate_g1_key: [Function],
  bls_secret_key_to_bbs_key: [Function],
  bls_public_key_to_bbs_key: [Function],
  bbs_sign: [Function],
  bbs_verify: [Function],
  bbs_blind_signature_commitment: [Function],
  bbs_verify_blind_signature_proof: [Function],
  bbs_blind_sign: [Function],
  bbs_get_unblinded_signature: [Function],
  bbs_create_proof: [Function],
  bbs_verify_proof: [Function],
  bls_verify_proof: [Function] }

Now change the installed version of the package
yarn add<EMAIL_ADDRESS>
And run
node
<EMAIL_ADDRESS>
Note the output
{ bls_generate_blinded_g2_key: [Function],
  bls_generate_blinded_g1_key: [Function],
  bls_generate_g2_key: [Function],
  bls_generate_g1_key: [Function],
  bls_secret_key_to_bbs_key: [Function],
  bls_public_key_to_bbs_key: [Function],
  bbs_sign: [Function],
  bbs_verify: [Function],
  bbs_blind_signature_commitment: [Function],
  bbs_verify_blind_signature_proof: [Function],
  bbs_blind_sign: [Function],
  bbs_get_unblinded_signature: [Function],
  bbs_create_proof: [Function],
  bbs_verify_proof: [Function],
  bls_verify_proof: [Function] }

Which is incorrect for the 0.9.0 package which did not feature blinded key generation support and the function bls_generate_g2_key was instead called bls_generate_key
Intermediary Solution
It is recommended when changing between installed versions of the library to uninstall and reinstall the library at the new targeted version to ensure the correct native node module is downloaded.

cc @colinyip who observed and documented this issue.


after upgrade from debian 11 to debian 12

if update from debian 11.7 to debian 12
do a "apt autoremove" for all in the log given not used programms
error:
debian-01:~/wgdashboard/src# ./wgd.sh start
| Starting WGDashboard with Gunicorn in the background.    |
Failed to read config file: /root/wgdashboard/src/gunicorn.conf.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 111, in get_config_from_filename
spec.loader.exec_module(mod)
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/root/wgdashboard/src/gunicorn.conf.py", line 2, in
import dashboard
File "/root/wgdashboard/src/dashboard.py", line 23, in
import ifcfg
ModuleNotFoundError: No module named 'ifcfg'

Log files is under log/

Did you fine a resolution to the problem?

Hi Donald,
I run back to Debian 11.7.
because I not a programmer or expert Unix user.
I hope you find a reason zu Update
Am 15. Juni 2023 20:29:30 schrieb davtalor @.***>:

Did you fine a resolution to the problem?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID:
@.***>

hi
run
sudo apt remove python3-blinker
and after uninstall python-blinker run :
pip install -r requirements.txt
and after install requirements just start server ;).

Did you fine a resolution to the problem?

Hi, you have to use venv.
You can use my script to install
https://gitlab.com/xxx.mailg/wg-db

Hi Donald, I run back to Debian 11.7. because I not a programmer or expert Unix user. I hope you find a reason zu Update Am 15. Juni 2023 20:29:30 schrieb davtalor @.>:
…
Did you fine a resolution to the problem? — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.>

Worked Perfectly!!! Thank you

hi run sudo apt remove python3-blinker and after uninstall python-blinker run : pip install -r requirements.txt  and after install requirements just start server ;).

This worked perfectly!!!! Thank you.

Also works for Ubuntu 20 LTS to 22 LTS update with the error:
Traceback (most recent call last):
File "/root/wireguard-dashboard/src/dashboard.py", line 9, in
from flask import Flask, request, render_template, redirect, url_for, session, abort, jsonify
ModuleNotFoundError: No module named 'flask'

use pip install flask flask-qrcode --break-system-packages
it work for me on Debian 12

Close due to inactivity.


fix: Clearing value in FluentCombobox when items change.

🐛 Bug Report
I have a combobox that I want to clear its selected value and changes its items. If I do those at the same time, then the value isn't cleared.
💻 Repro or Code Sample
There is a FluentSelect and a FluentCombobox. The combox is dependent on the select. That means when the FluentSelect value changes, the combox box value is cleared - _formModel.Value = ""; - and bound items are changed - ValueChanged();.
However, if both of those things happen at the same time then the value in the UI isn't cleared. I worked around this by adding a Task.Delay between clearing the value and then changing the items.
private async Task ParameterChangedAsync()
{
    UpdateParameterFieldValues();

    _formModel.Value = "";
    StateHasChanged();

    // Clearing the selected value and the combo box items together wasn't correctly clearing the selected value.
    // This is hacky, but adding a delay between the two operations puts the combo box in the right state.
    await Task.Delay(100);
    ValueChanged();
}

PR with changes: https://github.com/dotnet/aspire/pull/5762
🤔 Expected Behavior
Value should be cleared when both of things happen at the same time.
😯 Current Behavior
Value isn't cleared.
💁 Possible Solution
Adding a hacky Task.Delay between the two actions fixes the problem.
🔦 Context

🌍 Your Environment

OS & Device: [e.g. MacOS, iOS, Windows, Linux] on [iPhone 7, PC]
Browser [e.g. Microsoft Edge, Google Chrome, Apple Safari, Mozilla FireFox]
.NET and Fluent UI Blazor library Version [e.g. 8.0.2 and 4.4.1]

Adding the Task.Delay is currently the only way to make this work. The Blazor components need time to 'catch up' with the changes that are being done in the web components with JS. There is nothing we can do about that with the current version of the web components.
A delay of just 5 (and sometimes even less) milliseconds is already enough in most cases.
Closing this as it is unfortunately not actionable from our side at the moment


Update HostingWithHostFxr to 3.1

Also small changes to the readme

The failure occurs because this sample requires native compilers to be available (C++ compiler) on the machine and for the build to run from Visual Studio Developer environment (so that the compilers are accessible).
I guess this won't work in the CI build system - is there a way to tell the CI to not build a specific project?

Add a file named snippets.5000.json as peer to the solution file you want to compile with visual studio and put this inside of it:
{
    "host": "visualstudio"
}

This forces the build system to run the vs dev prompt and msbuild instead of dotnet.

How much config changes do you expect users to do when they download the sample?

Ideally none - it should just work.
I'm following @elinor-fung advice and porting over the native build from the marshalling sample. That should be buildable without issues and without environment (basically the same as marshalling sample)

Finally reworked it so that it should not need any special treatment. Works both from command line and VS, also works on Linux.
Ready for review.


Crash on server

Still?

Wait, can you say what version of minecraft do you use? Because only 1.19.3 and 1.19.4 have the 0.8.5 Update with the server fix, and I've tested the mod on 1.19.4 and 1.19.3 server.

0.8.5 was released maybe half an hour ago. With a Server fix. Currently, for 1.19.3 and 1.19.4. I've tested these version and the server and client have work.

I use 1.19.2. anything newer is a snapshot

Okay, only for you, I will release the 0.8.5 for 1.19 to 1.19.2.
I always release my mods for the 1.19.4 and 1.19.3 because the versions are similar, but for 1.19 to 1.19.2 I need to change more. That's why updates for lower versions don't come that often.

I finally uploaded the files. You can maybe download them in 10 to 25 minutes.

Thank you :)
On Sun, May 14, 2023, 3:59 AM Craftjakob @.***> wrote:

I finally uploaded the files. You can maybe download them in 10 to 25
minutes.
—
Reply to this email directly, view it on GitHub
https://github.com/Craftjakob/Enderite-CJ-Edition/issues/1#issuecomment-1546834784,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALRNBYASECJOQLWHL4O4OUTXGCGFJANCNFSM6AAAAAAYAUSGXI
.
You are receiving this because you authored the thread.Message ID:
@.***>


Print Fibonacci Series in Ruby

I have implemented the Ruby code for the fibonacci series in Ruby Language. I have requested changes with pull request. Please Consider it. Thanks!!

Hey @SiddharthBihola !
Great Work!
You can follow me and star this repository for further updates.
Have fun  🙌🏼


lib: libc: common: Export z_malloc_heap

The heap used by malloc/free is a static, private to the malloc implementation.  Unfortunately, this makes it impossible to use tools like sys_heap_runtime_stats_get(), as they need access to the heap variable.
Remedy this by removing the static from this declaration.
Other options are to add an additional API to make the desired queries.

Personally, I would like to see mallinfo() implemented in Zephyr (and it has been attempted previously).
Would that help?

Personally, I would like to see mallinfo() implemented in Zephyr (and it has been attempted previously).
Would that help?

Having mallinfo() would definitely work for my purposes. I think you might only be able to fill in some of the fields, though.

Having mallinfo() would definitely work for my purposes. I think you might only be able to fill in some of the fields, though.

I'll whip up a PR

a discord conversation concluded that mallinfo is not sufficient for David's purposes, so I'll stamp this as well.

The problem with mallinfo is that is basically a dump of glibc malloc internals. I think we're better of just providing the Zephyr heap stats. Exporting this allows someone to do that on their own, or we could write wrappers. But, the symbol already has the prefix.

With the heap listener API, I think the last time I looked at it, it only allowed for one listener.
If that limitation weren't present, there could be any number of decent frontends for getting allocation info (for various definitions of decent).

The problem with mallinfo is that is basically a dump of glibc malloc internals. I think we're better of just providing the Zephyr heap stats.

@d3zd3z What prevents us from defining our own struct mallinfo with the exact fields we need? It is a non-standard function after all -- we do not need to align with the Linux struct mallinfo and there is nothing preventing us from defining Zephyr-flavoured mallinfo().

What prevents us from defining our own struct mallinfo with the exact fields we need? It is a non-standard function after all -- we do not need to align with the Linux struct mallinfo and there is nothing preventing us from defining Zephyr-flavoured mallinfo().

Technically, we could also make accessor functions to abstract things, removing the need for duplicatw code code everywhere. E.g.
// struct mallinfo could have custom fields appended (e.g. uintptr_t).

// These could all be either real functions or inline

size_t mallinfo_get_avail_buckets(const struct mallinfo *info);
size_t mallinfo_get_free_bytes(const struct mallinfo *info);
size_t mallinfo_get_allocated_bytes(const struct mallinfo *info);
size_t mallinfo_get_max_allocated_bytes(const struct mallinfo *info);

// maybe a bucket accessor for testing or debug?
struct z_heap_bucket* mallinfo_get_bucket(can nst struct mallinfo *info, size_t index);

I don't see a lot of benefit to adding the accessors. @cfriedt what do you think of pushing your mallinfo change, but just with fields that make sense for us (I'm even ok with the ifdefs, especially since it will make it clear to someone using the header what features they need to be able to get the information).

I don't see a lot of benefit to adding the accessors. @cfriedt what do you think of pushing your mallinfo change, but just with fields that make sense for us

@d3zd3z let's start with what you need here in order to for you to make progress.
What fields make sense / are important for you to see?

I don't see a lot of benefit to adding the accessors. @cfriedt what do you think of pushing your mallinfo change, but just with fields that make sense for us

@d3zd3z let's start with what you need here in order to for you to make progress.
What fields make sense / are important for you to see?

Well, to "make progress", I just remove the 'static', but I'd rather not keep that patch locally. I'm inclined to define our own mallinfo. The main problem with separate accessors is that they aren't atomic, and might return inconsistent data if there are allocation operations between the calls (say between threads).

Frankly, I'd like to see a general migration from custom malloc implementations to the common one. In that case, exposing the fact that it uses the standard Zephyr heap manager seems completely reasonable to me. Trying to construct new interfaces to hide the implementation doesn't seem valuable for the long term. Do we need patches that replace the newlib allocator with the common one? Are there other C library allocators in common use?

What fields make sense / are important for you to see?

Well, to "make progress", I just remove the 'static', but I'd rather not keep that patch locally but I'd rather not keep that patch locally

Stephanos wouldn't approve that though, so let's find the next best compromise.

The main problem with separate accessors is that they aren't atomic

Accessors to a copy of a mallinfo on the stack don't need to be atomic but, in retrospect, that would be kind of annoying anyway to have one accessor per field. Not a great suggestion. My bad.

I'm inclined to define our own mallinfo.

Let's start there - think that would make sense as long as there isn't a naming conflict. We don't need to support the GNU interface, but if someone else wants to implement it, they can in the future.
What about this?
// return a copy of the heap on the stack.
// copy is made atomically.
// mallinfoZ == z_heap, or some other derivative
struct mallinfoZ mallinfoZ(void);

I'm not crazy about giving users all of the heap bucket pointers. Ideally, we could minimize the surface that footgun points at.
Would it make sense to provide a subset of z_heap? Like the info from CONFIG_SYS_HEAP_RUNTIME_STATS? Maybe the heap size, additionally?
struct mallinfoZ {
  size_t size_bytes;
	size_t free_bytes;
	size_t allocated_bytes;
	size_t max_allocated_bytes;
};

If users want something similar to the gnu mallinfo2, it's more of a future problem. As long as there is separation, it's fine.

What about this?

I'm not particularly fond of mallinfoZ, maybe z_mallinfo? I do like having readable field names, though.
My usage is pretty simple. I have something that every 10 minutes or so prints out the malloc infomation, namely to make sure I don't have memory leaks.

That works for me.


Add information related to Exit codes of Sqlpackage

Could you please add information related to Exit Codes of the sqlpackage to this document?
Thanks,
Pranav

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

ID: ac30c0d5-990b-1114-cb66-d6bbb789b698
Version Independent ID: 9432dace-7676-2a86-485a-dd5bc6568e86
Content: SqlPackage.exe - SQL Server
Content Source: docs/tools/sqlpackage.md
Product: sql
Technology: ssdt
GitHub Login: @pensivebrian
Microsoft Alias: broneill

It follows the standard convention as most command line tools:
0 = success
non-zero = failure

@markingmyname Hi Mark, Maybe you can update the article, with the info Brian gave about ==0 return code etc.  Then Close this Issue 2273.
@pensivebrian Brian, Thanks much for supply the needed info here so quickly.

Thanks!

Thank you, @pensivebrian.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue.