[Proposal]: make state key prefix configrable

Current Design
In state api (both grpc and http) of dapr runtime, dapr will add a prefix in the key for all state operations like get/save/delete.
req := state.GetRequest{
	Key:      a.getModifiedStateKey(param.(string)),
	Metadata: in.Metadata,
}

const  daprSeparator        = "||"
func (a *api) getModifiedStateKey(key string) string {
	if a.id != "" {
		return fmt.Sprintf("%s%s%s", a.id, daprSeparator, key)
	}
	return key
}

This feature make all the states within the app (with same app id) can be seperated from other app, even their key is the same. This feature works well in this case.
Requirement Backgroup
Yet we have some others user case:

We need to share states between some apps which are dapr enabled, this key prefix is not needed or should be set to a fixed one (not appid)
We need to share states between apps: some are dapr enabled and others are NOT, especaillay for the legecy apps, the key scheme of the state are widely used and can't change to add appid (like dapr)

Now we are blocked for this key perfix strategy which is hard code in dapr runtime code.
In fact, in a mature destributed state system, the keys are always designed to have their schema which are much complecated then a simgle appid.
Proposal
Can we make the  state key prefix  configrable ?
It means that we can add a configuration (or metadata) somewhere, by default it will add appid as key prefix, but we can change this configuration to disable key prefix or set a fix value as prefix.
We need a more flexible state sharing strategy for different user cases:

Sharing states in globle scope:  no prefix for state key
Sharing states in specified scope: uses a fix value as prefix
Sharing states only in current app: uses app-id as prefix

Implementation Proposal
Where and how to configure this key perfix strategy?  The simplest solution is in state component yaml file: we can add metadata named like "keyPrefix":
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
  name: statestore
spec:
  type: state.redis
  metadata:
  - name: redisHost
    secretKeyRef:
      name: redissecret
      key: host
  - name: redisPassword
    value: ""
  - name: actorStateStore
    value: true
  - name: keyPrefix
    value: ""

The value of keyPrefix can be:

"" or not set : no prefix (defalut case)
"app-id": uses app-id as prefix
"some-other-value": uses this configure value as prefix

or if we want to defalut to use app-id as prefix:

"" or not set : uses app-id as prefix (defalut case)
"none": no prefix
"some-other-value": uses this configure value as prefix

@yaron2 how about this proposal? We need this feature now. If OK, I will summit PR soon.

@yaron2 how about this proposal? We need this feature now. If OK, I will summit PR soon.

This is a good feature to have, it was requested before. It needs to be opt in. Please submit a design proposal here before a PR so we can discuss.

Where should we set this configuration for "stateKeyPrefix"? I checked the configuration and relasted spec, I think they are some global configerations which will be applied in all the dapr runtime for all the applications.
But for state key strategy, this configuration should not be global but set on different level. So I prefer to add this configuration into state component yaml file as a metadata.
I will commit a PR for this proposal soon.

@yaron2 I raised a PR now, please help to review this solution which uses components yaml to implment this proposal. If OK, I will continue to add more unit test.

@yaron2 Help to review this proposal in the PR.

key-prefixing should be opt-in, not opt-out. That is, no prefixing by default.

key-prefixing should be opt-in, not opt-out. That is, no prefixing by default.

We kept the existing behavior as default


feat: Support aws_elasticache_user_group_association.timeouts and aws_elasticache_replication_group.cluster_mode

Description

aws_elasticache_replication_group.cluster_mode
aws_elasticache_user_group_association.timeouts
other enhancements/bugfixes included up to v5.71

Motivation and Context
Main:

https://github.com/hashicorp/terraform-provider-aws/issues/35636
https://github.com/hashicorp/terraform-provider-aws/pull/38559

Other (just from version updates):

https://github.com/hashicorp/terraform-provider-aws/issues/39591
https://github.com/hashicorp/terraform-provider-aws/issues/38797
https://github.com/hashicorp/terraform-provider-aws/issues/38396
https://github.com/hashicorp/terraform-provider-aws/issues/38269

Breaking Changes
No.
How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects

[x] I have executed pre-commit run -a on my pull request

This PR is included in version 1.3.0 :tada:


Focus event is not working as expected in the Menu component test

Which package has an issue?
@yamada-ui/react
Package Version
1.1.4
Description
When I execute the component test on main branch, some of the Menu component tests that use keyboard events fail.
(There's a high possibility that the failure happens only in my environment as it's on main branch.)

packages/components/menu/tests/menu.test.tsx >  > keydown events for Enter
packages/components/menu/tests/menu.test.tsx >  > keydown events for ArrowUp
packages/components/menu/tests/menu.test.tsx >  > keydown events for ArrowDown

Link to Reproduction
No response
Steps to Reproduce

Go to './'
execute pnpm install
execute pnpm test menu

Browser
None
Operating System

[X] macOS
[ ] Windows
[ ] Linux

Do you know how to fix the issue?
Still investigating
Are you willing to participate in fixing this issue and create a pull request with the fix?
Yep, if it is a bug.
Additional Information
As additional information, I got menuButton focused at least when I used menuButton.focus() instead of using fireEvent in the above code, like so: (If fireEvent.focus(menuButton) is used, even menuButton won't be considered as focused by Vitest.)
  test("keydown events for ArrowDown", async () => {
    const { getByRole } = render(
      <Menu>
        <MenuButton>Menu</MenuButton>
        <MenuList>
          <MenuItem>Add item</MenuItem>
          <MenuItem>Edit item</MenuItem>
        </MenuList>
      </Menu>,
    )

    const menuButton = getByRole("button", { name: "Menu" })

    // instead of fireEvent.focus(menuButton),
    menuButton.focus()
    await act(() => fireEvent.keyDown(menuButton, { key: "ArrowDown" }))
    expect(screen.getByText("Add item")).toHaveFocus()
  })

However, I also could clarify that the focus event is happening as expected in browser, like so:
https://github.com/yamada-ui/yamada-ui/assets/74392116/993abffe-f6c9-4f6b-9193-45a46037fc20
Anyhow, I'm still investigating why this happens at least in my environment though, it should be because of how we're testing, not because of the production code.
I'm still not fully confident that this happens to everyone, so it'd be awesome if someone gives information in this issue.

After some investigations, I sorted out that tab-index=-1 is gonna be focusable when we do element.focus(); or focus comes from fireEvent. Therefore, I, instead, would like to use @testing-library/user-event to implement keyboard event.
This is going to be fixed by #1606

To sum up, @testing-library/user-event is better to simulate DOM updates made across the entire tree of DOM nodes more accurately.
fireEvent does not account for side effects caused by event handlers or other code that modifies the DOM elements or event objects themselves.In contrast, @testing-library/user-event handles updates made to event objects by event handlers maintaining consistency with browser behavior.  Therefore, @testing-library/user-event is more likely to catch intended consequences caused by event handlers or code that modifies the DOM.
So, the DOM's tab-index will be correctly updated in this case.
Thanks to:
https://testing-library.com/docs/user-event/intro/#differences-from-fireevent
https://ph-fritsche.github.io/blog/post/why-userevent


qcachegrind: Fix build for Linux

Closes #852.
See https://gist.github.com/rwhogg/f6d505a1a8712c4be9b9
Message:

g++: error: unrecognized command line option '-h'
Makefile:224: recipe for target 'qcachegrind.app/Contents/MacOS/qcachegrind' failed
make: *** [qcachegrind.app/Contents/MacOS/qcachegrind] Error 1

Note that there is currently no test for this formula, but IMO that should be fixed upstream first and then patched for Linux as appropriate.

Merged. Thanks again for your contribution, Bob!


what is the disposition of the "Zk" extension in RVA22U64

it is only listed in the end complete list but not with the others.

Commentary added in https://github.com/riscv/riscv-profiles/commit/8525de8e97911398a6750cc9489a2c295f91b6df


Unable to build project

Issue:
Currently anyone new working on this project is building this repo we get
Downloading from snapshot-repo: http://artifactory-sdc.onsdigital.uk/artifactory/libs-snapshot-local/uk/gov/service/notify/notifications-java-client/3.3.1-RELEASE/notifications-java-client-3.3.1-RELEASE.pom
Could not resolve dependencies for project uk.gov.ons.ctp.product:notifygatewaysvc:jar:10.49.10-SNAPSHOT: Failed to collect dependencies at uk.gov.service.notify:notifications-java-client:jar:3.3.1-RELEASE: Failed to read artifact descriptor for uk.gov.service.notify:notifications-java-client:jar:3.3.1-RELEASE: Could not transfer artifact uk.gov.service.notify:notifications-java-client:pom:3.3.1-RELEASE from/to snapshot-repo (http://artifactory-sdc.onsdigital.uk/artifactory/libs-snapshot-local/): Failed to transfer file: http://artifactory-sdc.onsdigital.uk/artifactory/libs-snapshot-local/uk/gov/service/notify/notifications-java-client/3.3.1-RELEASE/notifications-java-client-3.3.1-RELEASE.pom. Return code is: 409 , ReasonPhrase:Conflict. ->
Which is probably due to anyone new not having a working version of that artefact pulled down locally on there machine.
Potential Fix:
Someone with access to artifactory can upload there working version of that artifact i.e. the gov service notify one

Looks like it's trying to resolve it from a repo that isn't there. I think it should be resolving it from the Gov-uk-notify-bintray-cache repo. See https://github.com/ONSdigital/rm-notify-gateway/blob/master/.maven.settings.xml#L22


[RESOLVED] High ICMP ping response time

Problem started at 11:06:14 on 2023.07.08
Problem name: High ICMP ping response time
Host: MF-FG
Severity: Warning
Operational data: Value: 25ms
Original problem ID: 32017
Event details in Zabbix: http://<IP_ADDRESS>/tr_events.php?triggerid=23132&eventid=32017

Problem has been resolved in 3m 0s at 11:09:14 on 2023.07.08
Problem name: High ICMP ping response time
Host: MF-FG
Severity: Warning
Original problem ID: 32017


GEODE-1882: Added foreground parameter

* servers and locators can be started with a --foreground parameter
* this will make the process to run in foreground and the gfsh command will not return till the process is alive.

Thank you for submitting a contribution to Apache Geode.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced in the commit message?

[ ] Has your PR been rebased against the latest commit within the target branch (typically develop)?

[ ] Is your initial contribution a single, squashed commit?

[ ] Does gradlew build run cleanly?

[ ] Have you written or updated unit tests to verify your changes?

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and
submit an update to your PR as soon as possible. If you need help, please send an
email to<EMAIL_ADDRESS>

@jdeppe-pivotal mentioned few other changes to this.

Make it more UNIX like. Ctrl+c should kill the process.
instead of just the printing the uptime , print out the logs

@nabarunnag, what's the status here?  I see you still need review, to investigate your precheckin failure, and now to resolve merge conflicts.  We're about two and a half months stale at this point and we should either get this change pushed through or close this PR in favor or a new one in the future.

Closing, presuming work has stalled. Please open a new PR when the work is brought up-to-date.


Updates with side-loaded information

E.g. factors in low-rank updates, indices/values in sparse updates... should be generic.

Breakdown of the cases/results for update types we talked about on Friday.
Input Cases:

The original model parameters and PEM-parameters are saved in the model checkpoint together.
The PEM-parameters have been "applied" to the original model parameters, yields the same model tree as the original model
The PEM-parameters are saved disjointly from the original model parameters, probably in some model tree that have a similar shape to the original parameters

Output Cases:
a. The smudged checkpoint has the original parameters and the PEM-parameters in a unified model tree
b. The smudged checkpoint has the PEM-parameters "applied" to the model weights.
Implementations and Pros/Cons

1 $\rightarrow$ a: This is already supported using dense updates. This is efficient in git-theta because we snapshot the parameters so only changed things (the PEM-parameters) are changed. This is inefficient in training code as the whole model is serialized each step (even the unchanging base parameters) so save during training can be slow.
2 $\rightarrow$ b: This is mostly supported using special update types. The "applied" updates are back-filled based on the different between the current parameter and the previous parameter value. This results in efficient storage in git-theta, but can lead to some numerical weirdness and requires computation on git-theta. It also requires the end user to fold the PEM update into the original parameter. This could also be extended to 2 $\rightarrow$ a by changing how we write things
3 $\rightarrow$ a: This can be implemented pretty easy. Update classes can basically be removed as method as we just need to do a union on the model trees. There may also be edge cases around needing to accept 2 checkpoints (one with the original parameters to verify that they aren't using a modified checkpoint and one with the PEM-parameters).

From the "collaborative model building" aspect, the setup produces a model + PEM-parameters to do task A, it doesn't produce a model to do task A. So users have to have code that combines the model + PEM-parameters themselves. In a case where someone is distributing just model checkpoints, a user could checkout the newest version and (if they don't have the combine parameter code) essentially use a checkpoint from a previous commit instead of the new one.
If the user is already only writing the small parameter efficient parameters it can also reduce some of the gains git-theta brings wrt storage.

3 $\rightarrow$ b: This can be implemented pretty easy, Update classes need to be update to know the mapping between parameter names and PEM names (i.e. it knows to grab .../param_name/lora_A and .../param_name/lora_B to update .../param_name) and the apply update method uses these values to calculate the new parameter value. This can have issues where the application of the PEM parameters can have hyper parameters that you can't tune once the model is committed.

So we should decide exactly what we want to support. Another question is how to people normally write out their parameters? In t5x you always have at least one full parameter write for preemption recovery and it is a lot easier to just dump out the whole model so I feel like a lot of people just do option 1, but t-few does option 3 so we want to be able to support that efficiently while still having a large value add from git-theta.

Sketch of implementation
Consider 3 possible efficient updates: sparse, low-rank, or quantization.

If a user wants to perform a dense update (entirely new set of values for a given parameter group), they can just run git add model.pt as normal.
If a user wants to perform an efficient update, they need to run git theta add model.pt --update-type=sparse --update-data=update.pt.
a. Here is the list of allowable updates to provide here; this should be auto-populated based on the registered plugins
b. We assume that the --update-data argument uses the same checkpoint format as model.pt; we could consider adding another argument to allow for a different format later.
git-theta will look for the side-loaded information in update.pt based on registered data keys in the corresponding IncrementalUpdate class (we need to change the IncrementalUpdate classes so that they specifically register data keys as class attributes or something). We assume that they have the naming convention .../param_name/data_key_name where data_key_name is one of the registered data keys in the IncrementalUpdate class. For now, we also assume that all of the metadata/hyperparameters/data (e.g. low-rank factors, quantization level) needed to specify the update can be provided in this way. If git-theta encounters .../param_name/data_key_name where data_key_name is not a valid key for the specified update type for some parameter group, it will throw an informative error.
The updated model.pt file should be written back to disk.

If we want to support a case where different update types are used for different parameter groups, the user would just save out different update.pt files and run git theta add multiple times.
As part of doing this, we'll remove the calculate_update functions from the IncrementalUpdate classes.

As part of doing this, we'll remove the calculate_update functions from the IncrementalUpdate classes.

I think the IncrementalUpdate class could support both the inferred version and the sideloaded version if we dispatch between 2 functions based on if update-data was supplied or not. Or we can remove parameter inference (and probably the LSH?)

When we discussed this a few weeks back, the consensus was that calculate_update would usually involve weird/hacky stuff that we don't want to encourage, like:

Having to pick a threshold for what zero is when building a sparse update
Having to pick a singular value threshold for determining the rank of an update
Having to decide what to round when doing an IA3-style update
Having to try to guess the quantization level for quantization updates
etc. I'm not sure what you mean by "remove parameter inference". I think we still need the LSH because of the nondeterminism of applying updates.

I've been working on this, one issue I have been having is that model.pt is unchanged. This means that 1) our checks for if a parameter is unchanged are always true so the update code is never actually run.
I have a decent solution to the first issue, not sure what to do about the second.

Wouldn't we be adding a side-loaded update via git theta add, in which case we don't need git to be aware that an update has taken place? It's not a great UI but maybe that's the best we can do?

Good point, I'll look into changing the mtime in git theta add so the inner call to git add works.

https://github.com/r-three/git-theta/pull/201 has a version of this up and running for sparse updates.

We currently have support for sparse, lowrank, and ia3 updates


link in readme does not work anymore

https://asciinema.org/a/8863

Thank you @DanielRuf . I've changed it for now but maybe the best thing to do is create a better video showing the latest features.


You do not have permission to view this directory or page

I succesfully deployed the hello-world application as is, downloaded from the git repo linked above (the deploy page says "Deployment successful.").
When I attempt to browse the app, the page displays "You do not have permission to view this directory or page".
URL: https://gthello.azurewebsites.net/

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

ID: 4b0165d7-6462-842c-76ec-1a1f344fa51a
Version Independent ID: 3b2c77ed-d9eb-cf20-0ace-908b88927e54
Content: Create Node.js web app - Azure App Service
Content Source: articles/app-service/app-service-web-get-started-nodejs.md
Service: app-service-web
GitHub Login: @cephalin
Microsoft Alias: cephalin

@gtrevi Thank you for your feedback! We will review and provide an update as appropriate.

@gtrevi The downloaded zip file doesn't work as is. You need to follow the steps in the article to unzip and then zip again without including the top-level directory.

@cephalin correct, that is exactly what I did.

@gtrevi We will close this out but if you feel you need more information please just let us know.

@SnehaAgrawal-MSFT why are you closing this without a solution?

Reopening on customer's request. This is customer's verbatim from https://github.com/MicrosoftDocs/azure-docs/issues/29727
I succesfully deployed the hello-world application as is, downloaded from the git repo linked above (without including the top-level directory), ad the deploy page says "Deployment successful.".
When I attempt to browse the app, the page displays "You do not have permission to view this directory or page".
URL: https://gthello.azurewebsites.net/
CC: @KetanChawda-MSFT @SnehaAgrawal-MSFT

Thank you @Karishma-Tiwari-MSFT
The documentation at:
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-nodejs#deploy-zip-file

lacks an additional step to add "index.js" in the "Default documents" list, as "index.js" is not in az's web-app template when newly created.

Adding "index.js" to the "Default Documents" also did not work for me.
Our team did this exercise together and one teammate deployed to Linux without error. His deployment created a webconfig file that was needed and not created when deploying to Windows.

CC: @SnehaAgrawal-MSFT

@gtrevi Thanks again for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@gtrevi, i got the same error when i didn't have any file published:

Drag the zip file to the zipdeployui space and it will automatically decompress and publish it

This step should definitely be added to that tutorial.

From: Eddy Nakamura<EMAIL_ADDRESS>Sent: Wednesday, July 24, 2019 7:45 AM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: phoenixfangor<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] You do not have permission to view this directory or page (#29343)
@gtrevihttps://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgtrevi&data=02|01||82cb5af5673f4b84616f08d71034cfa5|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636995691315733436&sdata=QETYF%2BDQm0F8QhrID6vFrRU%2FH3WzB6A%2FmeBTqlf62aI%3D&reserved=0, i got the same error when i didn't have any file published:
[image]https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F16199012%2F61794385-7a2fef80-adf7-11e9-9dbe-f682be7dcd69.png&data=02|01||82cb5af5673f4b84616f08d71034cfa5|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636995691315733436&sdata=C%2FJZpUS7VD8hQ9DMo%2BcGY7K0%2F1eOky7pD9sL75wg2Hw%3D&reserved=0
Drag the zip file to the zipdeployui space and it will automatically decompress and publish it
[image]https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F16199012%2F61794471-a3508000-adf7-11e9-8fac-abe358c7e55a.png&data=02|01||82cb5af5673f4b84616f08d71034cfa5|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636995691315743449&sdata=IVM354jYsGWgi08lCAVVWBJW2x5gW241PCZGRib2oow%3D&reserved=0
—
You are receiving this because you commented.
 The quickstart and the sample work as is with no issues. The most common error in this case is that people are zipping up a folder instead of just the contents of the folder. When you create the zip, there shouldn't be any folder in your zip file: the package.json and index.js files should be at the root of the zip file you create.
As we still cannot reproduce the error, I will close this issue.
#please-close

I am facing the same issue on https://fuldag4team.azurewebsites.net/

I am facing the same issue after following the exact steps above.  Please advise.

@rajan-chawla @mruptown The quickstart has changed substantially since this issue was last closed.
@kraigb Can you take a look to see if anything in VSCode is causing the issue?

I think I have seen that particular error on occasion, and if memory serves, redeploying cleared it up.
If it persists, though, the best place to resolve it is to file an issue on https://github.com/Microsoft/vscode-azureappservice/issues.

I also got the same issue on "Windows" web app services.

I also face the same issue, even after adding web.config. Can anyone please suggest what are the other alternatives to resolve this issue.

I also have the same problem, also added web.config file.

we are also facing similar issue with no clue..

and me also.. trying to do it from vscode


maxsize support for AsyncTTL

is it possible to set maxsize for AsyncTTL as for AsyncLRU?

@kamikaze, maxsize is currently only supported for AsyncLRU, but I agree it might also be useful with AsyncTTL.

then it will be obvious that it os enough with a single decorator with many options :)

@kamikaze released async-cache 1.1.0 with maxsize support for AsyncTTL.


Small QoL Suggestion: Quick Clear Button in Crew Stats Search Bar

I have no programming experience at all and have no idea how easy/hard this would be, but would it be possible to add a 'Clear' or 'X' button next to the search bar on the Crew Stats window to allow a quick clear of any typed information in the search bar?
Currently, the site keeps the most recent search information in the bar (even after leaving the site and coming back to it later).  While a user can just highlight and delete the existing entry, a button of some sort would allow a 1-click clear and speed up searches a bit. 👍
Thanks for reviewing my suggestion.

Fix should appear within ~1 hour once cache expires

This is perfect!  Great work! 👍


Decrease size of libvcx image

We should not keep ~/.cargo in the final image
Find if we can optimize/delete something else to decrease the image size

Related to #49 .

https://github.com/hyperledger/aries-vcx/pull/474


[Net] Fix WebSocketClient path parsing.

Recent changes to parse_url (#48205) caused the client to make invalid HTTP requests if no path was specified.

Thanks!

Cherry-picked for 3.4.

Cherry-picked for 3.3.3.


AdMob stopped working for ios

Describe the bug
I have no code changes but all of a sudden ads does not show on ios. The ads are rewarded ads. they work just fine on android.
the error come is "reward Video is not ready yet"
This has been coming consistently for all the users of my app. And more a few days now. So it is for sure failing across the entire ios devices.
What i am using is:
"@capacitor-community/admob": "^1.3.1"
"@ionic/react": "^5.5.0",
"@capacitor/ios": "^2.4.6",
The code looks like below:
const optionsIos: AdOptions = {
        adId: 'myadd id', //ad of type rewarded
      };

if(isPlatform('ios') == false)
        await AdMob.prepareRewardVideoAd(options).catch((err:any) => alert(err))
      else
        await AdMob.prepareRewardVideoAd(optionsIos).catch((err:any) => alert(err))
 try{
          await AdMob.showRewardVideoAd().catch((err:any) => alert(err))
        }catch(err){
          console.log("MIT::: ad not loaded yet", err)
        }

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

You should update plugin's version. Current is https://github.com/capacitor-community/admob/releases/tag/v3.2.0

whats the easiest way to update plugins on capacitor ionic?

Please check this: https://capacitorjs.com/docs/updating/3-0


Transformation on the date being shown

I do not see it in the docs or demo but @fengyuanchen do you think its possible to use the default format but when showing the date in the input we can do a transformation?

Init the datepicker in a hidden input and sync the picked date to a visible input with transformed format.


Improved accuracy of IconProps interface

Use the IconName and IconPrefix types provided by FontAwesome.
Define a ResolvedIconProps interface, for specific usages where we know iconName and prefix have been applied and will be present.

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

I started looking at this due to warnings being thrown around icons that turned out were actually caused by https://github.com/xh/hoist-react/commit/9435122c610de16e770ffb644cce9b83b14f8b3a
But I had started tightening things up and still there is some utility in taking these changes.  My only concern is that the use of the IconName exported type from FA might flag false-positive warnings of some kind, or require apps that are passing icon names as vars to more precisely type them.  Not sure that would happen in practice though, or be a blocker - could be helpful...

I am for getting this merged -- seems like a nice pickups to get a list of all of the available names. Very easy to cast as IconName for any problematic usages.


runtime: document the behaviour of Caller and Callers when used in deferred functions

What version of Go are you using (go version)?
go version go1.10 linux/amd64

Does this issue reproduce with the latest release?
Yes, I've tried on b001ffb.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ainar/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ainar/go"
GORACE=""
GOROOT="/home/ainar/go/go1.10"
GOTMPDIR=""
GOTOOLDIR="/home/ainar/go/go1.10/pkg/tool/linux_amd64"
GCCGO="/usr/bin/gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build197597232=/tmp/go-build -gno-record-gcc-switches"

What did you do?
https://play.golang.org/p/Jz6y0GkqTNW
What did you expect to see?
Either
    direct: main.go:11
  deferred: main.go:10

Or the documentation of runtime.Caller mentioning that deferred functions have line numbers that point to the line after return.
What did you see instead?
    direct: main.go:11
  deferred: main.go:12

And no mention of defer in runtime.Caller or runtime.Callers docs.
I understand why it's that way, and I've even created a wonky workaround (on Russian SO, on Playground). But I think that it would be good to mention this behaviour and basic reasoning behind it in the functions' docs.

Documenting this briefly is fine.  I just want to comment that I think the current behavior makes sense.  The deferred function is not called at the point of the defer statement.  That is where the call is deferred, not where it is made.  The deferred function is actually called at the point where the deferring function returns.  And that is what runtime.Caller reports.

@ianlancetaylor What about panic? E.g. https://play.golang.org/p/LcG_3IOEyr7. I would expect that deferred prints the line where panic was called, similar to return. Instead it prints asm_amd64.s:459, which doesn't seem helpful.
Is the behaviour for Caller even defined here? Should I report a separate issue about it?

I have to agree that printing asm_amd64.s:459 is pointless.  We should fix that if we can.

Filed #26320 about the panic one.


Update docs for maxNoOfPodsToEvictPerNamespace

In #658, maxNoOfPodsToEvictPerNamespace policy was added, but it is not documented. This PR adds it.

/lgtm

/retest


135 add stack account self service features

Things to update locally once this is merged:

Add the new config key and values to the config

Gophercloud package does not seem to have a good way to get the ID of the member role so I decided that the ID of the member role shall be provided in the config. I will do more investigating on this eventually but I did go pretty deep in the rabbit hole and came out of it with nothing.

I did see there is a way to get a list of roles which you could query through in order to find the ID. You may also be able to specify the role name instead of the ID. I know with both Terraform and the Openstack CLI that those are interchangeable. I'm not sure if that's because of the Openstack API itself or just because of how Terraform and the CLI are implemented.
Either way though, specifying it as a config option is a great solution

I did see there is a way to get a list of roles which you could query through in order to find the ID. You may also be able to specify the role name instead of the ID. I know with both Terraform and the Openstack CLI that those are interchangeable. I'm not sure if that's because of the Openstack API itself or just because of how Terraform and the CLI are implemented.
Either way though, specifying it as a config option is a great solution

Yes, I actually did try the ones listed in the docs.

It actually grabs the ID of the domain "default" instead of the member role. The ID for the member is not even listed. The name of the role which is "member" is only listed. The actual member role ID in the terminal is hard coded for comparison.
But, again, I will look into it.

Huh. Yeah, I see what you mean. That's weird

Not gonna merge yet, might do some last minute considerations for timeout to prevent reset spamming as well as a new command to allow members to add their email to the database as running /member again does not really give you that option.

Reset spamming prevention and a verification that is separate from /member are fully implemented now. But I am considering refactoring /member to have the mechanisms of the /verify.


panic: sync: WaitGroup is reused before previous Wait has returned

Error from the extension:
panic: sync: WaitGroup is reused before previous Wait has returned
goroutine 1 [running]:
sync.(*WaitGroup).Wait(0xc0001a3f10)
/usr/local/go/src/sync/waitgroup.go:132 +0xa5
main.main()
main.go:197 +0x87e

We'll have to revisit our use of a waitgroup to allow the send to the apm server to complete before the extension is frozen. Added in https://github.com/elastic/apm-aws-lambda/pull/106

Current reproduction results
Repro 1 : main branch, Ruby Runtime, function EmilyTestRepro
With a lambda function similar to the one used by Emily, the error is successfully reproduced. I added additional to the extension to monitor the behavior of backgroundDataSendWg, which is the WaitGroup triggering the panic. The complete logs are available here. The most relevant excerpt is below :
START RequestId: 757912f1-8f13-4a2e-bb3a-a28619dd6b28 Version: $LATEST
2022/02/24 13:26:40 546ab00f-33b1-4915-ad6b-bb8d45ca5f37
2022/02/24 13:26:40 Register response: {
	"functionName": "EmilyTestRepro",
	"functionVersion": "$LATEST",
	"handler": "lambda_function.lambda_handler"
}
2022/02/24 13:26:40 Could not read ELASTIC_APM_DATA_RECEIVER_TIMEOUT_SECONDS, defaulting to 15: strconv.Atoi: parsing "": invalid syntax
2022/02/24 13:26:40 Extension listening for apm data on :8200
LOGS	Name: extension-dev-linux-amd64	State: Subscribed	Types: [platform]
2022/02/24 13:26:40 Waiting for next event...
2022/02/24 13:26:40 Server listening for logs data from AWS Logs API on sandbox:1234
I, [2022-02-24T13:26:41.218545 #17]  INFO  -- : [4.4.0] Starting agent, reporting to http://localhost:8200EXTENSION	Name: extension-dev-linux-amd64	State: Ready	Events: [INVOKE,SHUTDOWN]
2022/02/24 13:26:41 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>255,
	"requestId": "757912f1-8f13-4a2e-bb3a-a28619dd6b28",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:EmilyTestRepro",
	"tracing": {
		"type": "X-Amzn-Trace-Id",
		"value": "Root=1-62178790-41bd206a7002d2993498774a;Parent=61bd78a6009931ae;Sampled=0"
	}
}
2022/02/24 13:26:41 Checking for agent data
2022/02/24 13:26:41 No agent data on buffer
2022/02/24 13:26:41 Received log event platform.logsSubscription
first transaction
2022/02/24 13:26:41 Received log event platform.start
2022/02/24 13:26:41 Received log event platform.extension
second transaction
third transaction
2022/02/24 13:26:45 Adding agent data to buffer to be sent to apm server
2022/02/24 13:26:45 ADDING TO WAITGROUP
2022/02/24 13:26:45 Adding agent data to buffer to be sent to apm server
2022/02/24 13:26:45 Received log event platform.runtimeDone
2022/02/24 13:26:45 Received runtimeDone event for this function invocation
2022/02/24 13:26:45 Received runtimeDone signal
2022/02/24 13:26:45 WAITGROUP WAITING
2022/02/24 13:26:45 APM server response body:
2022/02/24 13:26:45 APM server response status code: 202
2022/02/24 13:26:45 WAITGROUP DONE
2022/02/24 13:26:45 ADDING TO WAITGROUP
panic: sync: WaitGroup is reused before previous Wait has returned

goroutine 1 [running]:
sync.(*WaitGroup).Wait(0xc0001a7f10)
	/usr/local/go/src/sync/waitgroup.go:132 +0xa5
main.main()
	/Users/jlvoiseux/Documents/github/apm/apm-aws-lambda/apm-lambda-extension/main.go:200 +0x8da
END RequestId: 757912f1-8f13-4a2e-bb3a-a28619dd6b28
REPORT RequestId: 757912f1-8f13-4a2e-bb3a-a28619dd6b28	Duration: 4558.98 ms	Billed Duration: 4559 ms	Memory Size: 128 MB	Max Memory Used: 80 MB	Init Duration: 715.76 ms
RequestId: 757912f1-8f13-4a2e-bb3a-a28619dd6b28 Error: exit status 2
Extension.Crash

Another call to backgroundDataSendWg.Add(1) seems to be done before the Waitgroup ends its wait, which is illegal.
Repro 2 : main branch, Python Runtime, function lambda-sample-dev-jlvoiseux
Here, I tried to manually instrument a Python lambda handler to get as close as possible to translating the original Ruby function. Everything seems to work fine, and I cannot reproduce the issue - the wait group behaves as expected. Full logs are available here
START RequestId: 27fe85f4-7f49-4e82-9c77-ae9d4479d00b Version: $LATEST
2022/02/24 14:19:14 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>347,
	"requestId": "27fe85f4-7f49-4e82-9c77-ae9d4479d00b",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:lambda-sample-dev-jlvoiseux",
	"tracing": {
		"type": "X-Amzn-Trace-Id",
		"value": "Root=1-621793e2-75b7dcad54c5cdb6504dcbc7;Parent=71703f007d5f1ea3;Sampled=0"
	}
}
2022/02/24 14:19:14 Checking for agent data
2022/02/24 14:19:14 No agent data on buffer
2022/02/24 14:19:14 Received log event platform.end
2022/02/24 14:19:14 Received log event platform.report
2022/02/24 14:19:14 Received log event platform.start
first transaction
second transaction
third transaction
2022/02/24 14:19:18 Adding agent data to buffer to be sent to apm server
2022/02/24 14:19:18 ADDING TO WAITGROUP
2022/02/24 14:19:18 Received log event platform.runtimeDone
2022/02/24 14:19:18 Received runtimeDone event for this function invocation
2022/02/24 14:19:18 Received runtimeDone signal
2022/02/24 14:19:18 WAITGROUP WAITING
2022/02/24 14:19:18 APM server response body:
2022/02/24 14:19:18 APM server response status code: 202
2022/02/24 14:19:18 WAITGROUP DONE
2022/02/24 14:19:18 WAITGROUP RELEASED MAIN THREAD
2022/02/24 14:19:18 Checking for agent data
2022/02/24 14:19:18 No agent data on buffer
2022/02/24 14:19:18 Waiting for next event...
2022/02/24 14:19:18 funcDone signal received, not processing any more agent data
END RequestId: 27fe85f4-7f49-4e82-9c77-ae9d4479d00b
REPORT RequestId: 27fe85f4-7f49-4e82-9c77-ae9d4479d00b	Duration: 4175.15 ms	Billed Duration: 4176 ms	Memory Size: 128 MB	Max Memory Used: 67 MB

@estolfo , when comparing your Ruby handler with my Python handler, do you observe any major difference ? If not, the issue might possibly be due to the way the Ruby agent sends its data ?

A attempt at solving this issue was pushed on fix-waitgroups : (164a82a42aba041a4f9f6c8b30081ccc07fb2ed1).
While this solves the panic described above, this introduces a new issue, which is a lost race against the closure of the funcDone channel. In other words, the channel funcDone is closed before the extension gets to process APM data, resulting in the following patterns :
1st invocation (cold start) - normal behavior : APM data sent
START RequestId: a4a1105e-0586-40c4-a217-dc60107baad0 Version: $LATEST
2022/02/28 11:13:45 c5e1588f-5cfc-4b74-b1b8-87b83131e41f
2022/02/28 11:13:45 Register response: {
	"functionName": "EmilyTestRepro",
	"functionVersion": "$LATEST",
	"handler": "lambda_function.lambda_handler"
}
2022/02/28 11:13:45 Could not read ELASTIC_APM_DATA_RECEIVER_TIMEOUT_SECONDS, defaulting to 15: strconv.Atoi: parsing "": invalid syntax
2022/02/28 11:13:45 Extension listening for apm data on :8200
LOGS	Name: extension-dev-linux-amd64	State: Subscribed	Types: [platform]
2022/02/28 11:13:45 Waiting for next event...
2022/02/28 11:13:45 Server listening for logs data from AWS Logs API on sandbox:1234
I, [2022-02-28T11:13:46.269972 #17]  INFO  -- : [4.4.0] Starting agent, reporting to http://localhost:8200EXTENSION	Name: extension-dev-linux-amd64	State: Ready	Events: [INVOKE,SHUTDOWN]
2022/02/28 11:13:46 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>303,
	"requestId": "a4a1105e-0586-40c4-a217-dc60107baad0",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:EmilyTestRepro",
	"tracing": {
		"type": "X-Amzn-Trace-Id",
		"value": "Root=1-621cae68-64511bb15e2fd76d0dc633a4;Parent=3b1afcf07a05927c;Sampled=0"
	}
}
2022/02/28 11:13:46 Checking for agent data
2022/02/28 11:13:46 No agent data on buffer
2022/02/28 11:13:46 Received log event platform.logsSubscription
2022/02/28 11:13:46 Received log event platform.start
2022/02/28 11:13:46 Received log event platform.extension
first transaction
2022/02/28 11:13:46 Adding agent data to buffer to be sent to apm server
2022/02/28 11:13:46 Received log event platform.runtimeDone
2022/02/28 11:13:46 Received runtimeDone event for this function invocation
2022/02/28 11:13:46 Received runtimeDone signal
2022/02/28 11:13:46 Checking for agent data
2022/02/28 11:13:46 No agent data on buffer
2022/02/28 11:13:46 {"metadata":{"service":{"name":"LambdaRepro","environment":null,"version":null,"agent":{"name":"ruby","version":"4.4.0"},"framework":{"name":null,"version":null},"language":{"name":"ruby","version":"2.7.5"},"runtime":{"name":"ruby","version":"2.7.5"}},"process":{"pid":17,"title":"/var/runtime/lib/runtime.rb","argv":[]},"system":{"configured_hostname":null,"architecture":"x86_64","platform":"linux","kubernetes":{"namespace":null,"node":{"name":null},"pod":{"name":null,"uid":null}},"container":null,"detected_hostname":"<IP_ADDRESS>"},"labels":null}}
{"metricset":{"timestamp":1646046826280243,"samples":{"system.cpu.total.norm.pct":{"value":1.0},"system.memory.actual.free":{"value":130961408},"system.memory.total":{"value":196698112},"system.process.cpu.total.norm.pct":{"value":1.0},"system.process.memory.size":{"value":577310720},"system.process.memory.rss.bytes":{"value":35106816}}}}

2022/02/28 11:13:46 Adding agent data to buffer to be sent to apm server
2022/02/28 11:13:47 APM server response body:
2022/02/28 11:13:47 APM server response status code: 202
2022/02/28 11:13:47 funcDone signal received, not processing any more agent data
2022/02/28 11:13:47 Waiting for next event...
END RequestId: a4a1105e-0586-40c4-a217-dc60107baad0
REPORT RequestId: a4a1105e-0586-40c4-a217-dc60107baad0	Duration: 723.44 ms	Billed Duration: 724 ms	Memory Size: 128 MB	Max Memory Used: 80 MB	Init Duration: 716.12 ms

2nd invocation - race lost : no APM data sent
START RequestId: cb46eb4b-28e7-40fb-afa1-86b8b9f1dd15 Version: $LATEST
2022/02/28 11:14:03 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>804,
	"requestId": "cb46eb4b-28e7-40fb-afa1-86b8b9f1dd15",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:EmilyTestRepro",
	"tracing": {
		"type": "X-Amzn-Trace-Id",
		"value": "Root=1-621cae7b-4b4277603baab37e2d598014;Parent=67578c530c50ee78;Sampled=0"
	}
}
2022/02/28 11:14:03 Checking for agent data
2022/02/28 11:14:03 Processing agent data
first transaction
2022/02/28 11:14:03 APM server response body:
2022/02/28 11:14:03 APM server response status code: 202
2022/02/28 11:14:03 No agent data on buffer
2022/02/28 11:14:03 Received log event platform.end
2022/02/28 11:14:03 Received log event platform.report
2022/02/28 11:14:03 Received log event platform.start
2022/02/28 11:14:03 Received log event platform.runtimeDone
2022/02/28 11:14:03 Received runtimeDone event for this function invocation
2022/02/28 11:14:03 Received runtimeDone signal
2022/02/28 11:14:03 Checking for agent data
2022/02/28 11:14:03 No agent data on buffer
2022/02/28 11:14:03 funcDone signal received, not processing any more agent data
2022/02/28 11:14:03 Waiting for next event...
END RequestId: cb46eb4b-28e7-40fb-afa1-86b8b9f1dd15
REPORT RequestId: cb46eb4b-28e7-40fb-afa1-86b8b9f1dd15	Duration: 153.65 ms	Billed Duration: 154 ms	Memory Size: 128 MB	Max Memory Used: 81 MB

3rd invocation - behavior impacted by previous race lost, and APM server error
START RequestId: caf29878-ae6e-40fc-bf64-1e9b01ae40ce Version: $LATEST
E, [2022-02-28T11:15:26.751218 #17] ERROR cc141bb4-f5ca-498a-a94b-d5046a89cfeb -- : [ElasticAPM] [THREAD:540]: APM Server not responding in time, terminating requestE, [2022-02-28T11:15:26.752061 #17] ERROR cc141bb4-f5ca-498a-a94b-d5046a89cfeb -- : [ElasticAPM] [THREAD:560]: APM Server not responding in time, terminating request2022/02/28 11:15:26 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>753,
	"requestId": "caf29878-ae6e-40fc-bf64-1e9b01ae40ce",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:EmilyTestRepro",
	"tracing": {
		"type": "X-Amzn-Trace-Id",
		"value": "Root=1-621caece-6281dda53cace0cd52488344;Parent=120eb7f02d0462a7;Sampled=0"
	}
}
2022/02/28 11:15:26 Checking for agent data
2022/02/28 11:15:26 No agent data on buffer
2022/02/28 11:15:26 Received log event platform.end
2022/02/28 11:15:26 Received log event platform.report
2022/02/28 11:15:26 Received log event platform.start
first transaction
2022/02/28 11:15:27 Received log event platform.runtimeDone
2022/02/28 11:15:27 Received runtimeDone event for this function invocation
2022/02/28 11:15:27 Received runtimeDone signal
2022/02/28 11:15:27 Checking for agent data
2022/02/28 11:15:27 No agent data on buffer
2022/02/28 11:15:27 funcDone signal received, not processing any more agent data
2022/02/28 11:15:27 Waiting for next event...
END RequestId: caf29878-ae6e-40fc-bf64-1e9b01ae40ce
REPORT RequestId: caf29878-ae6e-40fc-bf64-1e9b01ae40ce	Duration: 305.29 ms	Billed Duration: 306 ms	Memory Size: 128 MB	Max Memory Used: 82 MB

4th invocation - race won : the extension sends the accumulated data at once to the APM server
START RequestId: 67b59410-36ff-4777-ab0b-d7d145bfbf30 Version: $LATEST
2022/02/28 11:16:03 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>297,
	"requestId": "67b59410-36ff-4777-ab0b-d7d145bfbf30",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:EmilyTestRepro",
	"tracing": {
		"type": "X-Amzn-Trace-Id",
		"value": "Root=1-621caef3-0576a4cc6272c3c1585cf425;Parent=408dbdd76b1b1ab0;Sampled=0"
	}
}
2022/02/28 11:16:03 Checking for agent data
2022/02/28 11:16:03 No agent data on buffer
2022/02/28 11:16:03 Received log event platform.end
2022/02/28 11:16:03 Received log event platform.report
first transaction
2022/02/28 11:16:03 Received log event platform.start
2022/02/28 11:16:03 Adding agent data to buffer to be sent to apm server
2022/02/28 11:16:03 {"metadata":{"service":{"name":"LambdaRepro","environment":null,"version":null,"agent":{"name":"ruby","version":"4.4.0"},"framework":{"name":null,"version":null},"language":{"name":"ruby","version":"2.7.5"},"runtime":{"name":"ruby","version":"2.7.5"}},"process":{"pid":17,"title":"/var/runtime/lib/runtime.rb","argv":[]},"system":{"configured_hostname":null,"architecture":"x86_64","platform":"linux","kubernetes":{"namespace":null,"node":{"name":null},"pod":{"name":null,"uid":null}},"container":null,"detected_hostname":"<IP_ADDRESS>"},"labels":null}}
{"span":{"id":"d69c9c8167bd5a60","transaction_id":"9b82eef6fd0c4350","parent_id":"9b82eef6fd0c4350","name":"first","type":"custom","duration":0.061,"context":{},"stacktrace":[],"timestamp":1646046956299514,"trace_id":"a6f19ded8987ba90999506035ad11d87","sample_rate":1.0,"outcome":"success"}}
{"span":{"id":"3ddb9455fc7294dc","transaction_id":"00671997b65b9d8e","parent_id":"00671997b65b9d8e","name":"first","type":"custom","duration":0.066,"context":{},"stacktrace":[],"timestamp":1646046961998614,"trace_id":"e85895b335d5b56d387826f8dfa3926a","sample_rate":1.0,"outcome":"success"}}
{"transaction":{"id":"00671997b65b9d8e","trace_id":"e85895b335d5b56d387826f8dfa3926a","parent_id":null,"name":"test-1","type":"custom","result":"","outcome":"success","duration":79.926,"timestamp":1646046961918841,"sampled":true,"sample_rate":1.0,"context":null,"span_count":{"started":1,"dropped":0}}}

2022/02/28 11:16:03 Received log event platform.runtimeDone
2022/02/28 11:16:03 Received runtimeDone event for this function invocation
2022/02/28 11:16:03 Received runtimeDone signal
2022/02/28 11:16:03 Checking for agent data
2022/02/28 11:16:03 No agent data on buffer
2022/02/28 11:16:03 APM server response body:
2022/02/28 11:16:03 APM server response status code: 202
2022/02/28 11:16:03 funcDone signal received, not processing any more agent data
2022/02/28 11:16:03 Waiting for next event...
END RequestId: 67b59410-36ff-4777-ab0b-d7d145bfbf30
REPORT RequestId: 67b59410-36ff-4777-ab0b-d7d145bfbf30	Duration: 302.19 ms	Billed Duration: 303 ms	Memory Size: 128 MB	Max Memory Used: 82 MB

Next Steps

[ ] Improve Unit Testing on main.go to detect the mentioned behavior
[ ] Simplify the agent data processing logic by using other patterns


Repeated enqueuing on a single node?

Repro:
# Terminal 1
LOG_LEVEL=debug go run . devstack --nodes 1

# Terminal 2
# Take BACALHAU_API_PORT from first window and make it an env variable
LOG_LEVEL=debug go run . docker run ubuntu /bin/true

See:
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock
15:19:50.316 | DBG computenode/computenode.go:175 > [QmbdB3Cp] starting controlLoopBidOnJobs because job enqueud, acq lock

That seems like a lot of repeated queuing. Is this to be expected?

maybe related to #523 ? although this seemed to happen before that landed?


How can I list connected devices?

Question
How can I list the connected devices?
Steps:

I start the device scan
I find the device by name and connect to it to check the services and characteristics
I make some changes on the app and run it again
This time the scan doesn't include my device, as it says on the introduction: "However when device is connected it won't broadcast and needs to be disconnected from central to be scanned again."
Ok, so how can I find the connected device so I can disconnect it, or use it?

I tried
let connectedDevices = await manager.connectedDevices(null) or () - gives an error - Attempt to invoke interface method 'int.com.facebook.react.bridge.ReadableArray.size()' on a null object reference
let connectedDevices = await manager.connectedDevices([]) - gives an empty array
The connectedDevices method needs a serviceUUIDs parameter but how can I get the connected devices regardless of their serviceUUIDs?

I'm still trying to get this method working but it doesn't give any results:
let connectedDevices = await manager.connectedDevices([config.serviceUUID]);
There is one device connected with that serviceUUID but the result is allways an empty array.
Is this a Bug?

As I know the connectedDeivces func will only retrieve devices which are connnected to the manager not the android/iOS devices. So if you want to retrieve bonded peripherals, you have to use react-native-ble-manager and it would only work on android.

@nbastoWM Did u ever solve this? I'm getting the same error "Attempt to invoke interface method 'int com.facebook.react.bridge.ReadableArray.size()' on a null object reference". However only on android, on iOS it works fine.

@nbastoWM
I was just having this problem, and the issue was that the serviceUUIDs var I was passing into connectedDevices was null. That must be the null that the error is referring to.
It was happening because I was assigning serviceUUIDs as a class variable in the class definition, then calling it from a class method.  Instead I needed to assign it as this.serviceUUIDs in a class init/constructor function that is called first.
My code works fine in iOS and older Android versions, so there must be something new about the way classes are interpreted.

This is still an issue: I specifically run into it during development all the time with the following set up on Android:

use react-native-ble-plx to discover and connect to my BLE device.
As a developer using Metro for react native, press 'r' to reload my app.
Now the app has lost the connection state normally returned by 'connectedDevices()'. I get 0 devices listed even though my BLE device is happily still connected to my Android phone.

I can verify this is the problem because I use this (unacceptable for production) quick workaround:
if you disable and enable Bluetooth on your Android phone, that will disconnect from your BLE hardware, and now your app state will match the hardware.
While dev mode is the easiest to reproduce this in, it's relatively easy to see how this would happen in production: literally any crash in your app or killing of your app by a 3rd party service or Android OS will cause this state to exist
Since reliable connectivity reporting is important to my app, until this issue is resolved I have resorted to a dual- library approach: using this library and ALSO react-native-ble-manager  together. Is that annoying? yes. Is it the only solution as of December 2021 that doesn't require a user to disable and enable Bluetooth on Android? Also yes.
My shim:
`import BleManager from 'react-native-ble-manager'
import { NativeModules, NativeEventEmitter } from 'react-native'
const BleManagerModule = NativeModules.BleManager
// This shim replaces react-native-ble-plx's BleManager.connectedDevices because the latter does not return devices connected that
// might have been connected before the app was started (or, more likely, before the app was crashed and restarted.)
// This functionality means that we can't use the react-native-ble-plx's BleManager.connectedDevices because our connected device
// won't show up on it.
const getConnectedDeviceIds = async (serviceUUIDs) => {
const connectedPeripherals = await BleManager.getConnectedPeripherals(serviceUUIDs)
return connectedPeripherals.map(peripheral => peripheral.id)
}
export { getConnectedDeviceIds }`
And an excerpt of how I use it (in my React Native provider load function):
`
// SHIM: Sync the PLX bleManager wearables list with the devices connected in hardware
// since the PLX bleManager doesn't return them right now.
const ids = await getConnectedDeviceIds([SILVERTREE_SERVICE_UUID])
for (id of ids){
// Sync up PLX's state with the hardware state:
const connectedDevice = await bleManager.connectToDevice(id, { refreshGatt: 'OnConnected',  autoConnect: false });
  }
  // Now our app state should match the hardware state.

`

@abursztynowska
Is this issue resolved with new version?
If it is what is solution?

@abursztynowska Could this issue potentially be re-opened? I'm facing the same issue that the plx-state isn't in sync with the (android)-device's state. I can't find any information in the documentation regarding this issue.

I also wonder why such universal requirements are not supported.

I also had this problem on iOS, so what is the new solution?


Use triple equals

Current coverage is 100% (diff: 100%)

Merging #792 into v2.x will not change coverage

@@           v2.x   #792   diff @@
==================================
  Files         4      4
  Lines       415    415
  Methods      80     80
  Messages      0      0
  Branches    100    100
==================================
  Hits        415    415
  Misses        0      0
  Partials      0      0

Powered by Codecov. Last update 742a675...b877ffd

Should include this https://github.com/koajs/koa/blob/v2.x/.eslintrc.yml#L14

style changes aren't accepted with rules to enforce them. you'll also have to go through the gauntlet of all contributors to judge whether such a change is worth it :)

-1 :D haha typeof is always a string blah blah usual speech

I'd like this change, if only for the fact that we could enforce it with eslint.

:-1:  for this. typeof may be a String.
Force JSers to use static type is not good idea, thought.

👍 for this.
Why not?

Express.js does it. https://github.com/expressjs/express/blob/master/lib/request.js#L64

Lints or Styles recommend it. https://github.com/airbnb/javascript#comparison-operators--equality

I counter the "why not?" with a "why?" haha. I won't bother bikeshedding, but since we're not going to bikeshed there's no point to change it IMO, it doesn't harm anything but pull-requests like this are kind of just noise

@tj Thank you for your detailed explanation.


Fix:rollback to 1.1.0 (#20)

Signed-off-by: jtcheng<EMAIL_ADDRESS>

Next iteration PR is https://github.com/alauda/alauda-pipeline-plugin/pull/21


How to apply usage in metadata.rb file?

Cookbook version
7.0.1
Platform Details
RHEL
Scenario:
i am trying to install mysql  7.0.1 but  it showed " compile error".I also  tried  to get the metadata.rb file within the cookbook but not found.then how to apply usage.
Steps to Reproduce:
just download and extracted mysql cookbook
Expected Result:
installed successfully
Actual Result:
compile error

If still having problems, please open a new issue with complete stacktrace. Closing given lack of detail and age.


Blog: redirect old posts to its Medium page directly

This is an alternative to #1091
Contributes to #845

Preview:

Blog: https://deploy-preview-1092--opentelemetry.netlify.app/blog
Notice that you see the v1.0-trio entry, but if you click on any link to that page, it'll send you directly to the Medium page.
You can test the link here too: https://deploy-preview-1092--opentelemetry.netlify.app/blog/2022/v1.0-trio-redirect

@tedsuo @austinlparker : PTAL. I think that this works as @tedsuo wanted.
There is one "glitch", which we may or may not want to live with. Follow these steps:

Visit https://deploy-preview-1092--opentelemetry.netlify.app/blog/2022/welcome/
Click on the Next button at the bottom of the page.
You'll be directed to the Medium post. This isn't ideal, but might be acceptable.

IMHO, #1091 is the simplest solution that requires no magic. It does require that folks click twice to get to the actual article. @tedsuo @austinlparker - it's your call. Let me know which PR you prefer.

The 'click next' behavior feels kinda awkward to me. I think I prefer #1901 because yeah, its an extra click, but it doesn't break you out of your 'place' in the page.

I agree with @austinlparker. I'd rather keep the UX consistent even at the cost of an extra click. Let's keep in mind that we'll only need this for about 10 posts whose importance will presumably diminish over the lifetime of the project. Thoughts @tedsuo?

Yeah that's kind of a weird side effect. Ok fine, let's go with #1091

Thanks for the feedback @tedsuo!


Fix for crashing with duplicate email in signup - #22

Related Issues
Related to issue #22
Describe the Changes
Added a check to see whether a user's email is already in the database, if so then the user is redirected back to the sign up page, prompting them to use another email.
Still To Do
The fundamental problem should be solved, just the way it is coded could potentially be better.
Problems
Not sure if generating the same query twice in a row is the best way to go about checking for existing users, I'll have to look into how returning values work in this environment.
Acknowledgements
@rushsteve1 for referencing #5, which provided a good example that helped to tackle this issue.

I also want to add that this is a model example of how to fill out the pull request template. Fully explains what was done and everything relevant.
Since we don't have CI setup yet I'm going to manually test this and then merge it. Amazing job, and a great first contribution!


Failed Startup

------------------------------ START ------------------------------

2024-07-05T12:23:50.853+00:00 - [    INFO] - Connecting to database... (SQLite <IP_ADDRESS>)
2024-07-05T12:23:50.855+00:00 - [   DEBUG] - Creating connection to `/data/counterparty/counterparty.testnet.db`...
2024-07-05T12:23:50.871+00:00 - [   DEBUG] - Checking database version...
2024-07-05T12:23:50.871+00:00 - [    INFO] - Running PRAGMA optimize...
2024-07-05T12:23:50.878+00:00 - [   DEBUG] - PRAGMA optimize completed.
2024-07-05T12:23:50.879+00:00 - [   DEBUG] - Checking Counterparty version...
2024-07-05T12:23:51.395+00:00 - [   DEBUG] - Version check passed.
2024-07-05T12:23:51.414+00:00 - [    INFO] - Telemetry enabled.
2024-07-05T12:23:51.415+00:00 - [   DEBUG] - Creating connection to `/data/counterparty/counterparty.testnet.db`...
2024-07-05T12:23:51.448+00:00 - [   DEBUG] - Starting API Status Poller...
2024-07-05T12:23:51.452+00:00 - [   DEBUG] - Creating connection to `/data/counterparty/counterparty.testnet.api.db`...
ERROR:root:SQLITE_LOG: recovered 32 frames from WAL file /data/counterparty/counterparty.testnet.api.db-wal (283) SQLITE_NOTICE_RECOVER_WAL
2024-07-05T12:23:51.467+00:00 - [   DEBUG] - Creating connection to `/data/counterparty/counterparty.testnet.db`...
2024-07-05T12:23:51.480+00:00 - [    INFO] - Starting API Server v1...
2024-07-05T12:23:52.348+00:00 - [   DEBUG] - Starting Prefetcher...
2024-07-05T12:23:52.353+00:00 - [    INFO] - RS Fetcher - Indexer initializing...
2024-07-05T12:23:52.363+00:00 - [   DEBUG] - RS Fetcher - 2 BitcoinClient workers started
2024-07-05T12:23:52.365+00:00 - [    INFO] - RS Fetcher - Connecting to database: /data/counterparty/fetcherdb.testnet
2024-07-05T12:23:52.419+00:00 - [    INFO] - RS Fetcher - Connected
2024-07-05T12:23:52.419+00:00 - [    INFO] - RS Fetcher - Initialized
2024-07-05T12:23:52.419+00:00 - [   DEBUG] - Current Fetcher version: 10.3.0-rc.1
2024-07-05T12:23:52.421+00:00 - [    INFO] - RS Fetcher - First database op: GetMaxBlockHeight...
2024-07-05T12:23:52.422+00:00 - [    INFO] - RS Fetcher - First database op: GetMaxBlockHeight took 83.717µs
2024-07-05T12:23:52.422+00:00 - [    INFO] - RS Fetcher - First Bitcoin client op: GetBlockchainHeight...
2024-07-05T12:23:52.426+00:00 - [    INFO] - RS Fetcher - First Bitcoin client op: GetBlockchainHeight took 3.926144ms
2024-07-05T12:23:52.426+00:00 - [    INFO] - RS Fetcher - Starting at block height: 2866280
2024-07-05T12:23:52.426+00:00 - [    INFO] - RS Fetcher - Targeting block height: 2866279
2024-07-05T12:23:52.426+00:00 - [   DEBUG] - RS Fetcher - 1 Producer workers started
2024-07-05T12:23:52.426+00:00 - [   DEBUG] - RS Fetcher - 2 Fetcher workers started
2024-07-05T12:23:52.426+00:00 - [   DEBUG] - RS Fetcher - 1 Extractor workers started
2024-07-05T12:23:52.427+00:00 - [   DEBUG] - RS Fetcher - 1 Orderer workers started
2024-07-05T12:23:52.427+00:00 - [   DEBUG] - RS Fetcher - 1 Writer workers started
2024-07-05T12:23:52.427+00:00 - [   DEBUG] - RS Fetcher - 1 Reporter workers started
2024-07-05T12:23:52.427+00:00 - [    INFO] - RS Fetcher - Fetcher started
2024-07-05T12:23:52.430+00:00 - [   DEBUG] - Starting prefetching blocks...
2024-07-05T12:23:52.431+00:00 - [    INFO] - Stopping prefetcher...
2024-07-05T12:23:52.433+00:00 - [   DEBUG] - No block fetched. Waiting before next fetch.
2024-07-05T12:23:52.435+00:00 - [   DEBUG] - Prefetch task cancelled.
[...]

done here https://github.com/CounterpartyXCP/counterparty-core/pull/2028/files


Issue with HTMLElement in IE8

Component stops working due to missing HTMLElement in IE8. Basically HTMLElement should be Element  for IE8.

Fixed by #249.


Add support for Remotion v4

Cheers. :)

Cheers. :)

Hi, can you please update npm package as well?


Update image.py

expose GPU for image.extend function
Describe your changes

expose the gpu parameter for image.extend similar to image.pip_install

Backward/forward compatibility checks
Check these boxes or delete any item (or this section) if not relevant for this PR.

[x] Client+Server: this change is compatible with old servers
[x] Client forward compatibility: this change ensures client can accept data intended for later versions of itself

Changelog

Let's a user enable a gpu when extending

Hey @NicholasKao1029 thanks for the PR!
Layers defined through Image.extend already can be run with a GPU, ala the following example:
import modal

image = (
    modal.Image.from_registry("nvcr.io/nvidia/pytorch:22.12-py3")
    .extend(dockerfile_commands=["FROM base", "RUN nvidia-smi"], gpu_config=modal.gpu.parse_gpu_config("T4"))
)
stub = modal.Stub(image=image)

@stub.function()
def f():
    pass

Unlike most of the Image convenience method, gpu_config is narrowly typed as a modal_proto.api_pb2.GPUConfig object. But Image.extend is a low-level command so that makes sense.
I'm curious if there's a specific usecase that's required you to drop down to using extend directly. Is there something we could support better with a convenience method?

@mwaskom Thanks this makes sense. No we use extend because for a portion of our install commands we use docker definitions already. Appreciate the explanation!

Would `Image.dockerfile_commands' work for you here?
def run_commands(
    self,
    *commands: Union[str, List[str]],
    secrets: Sequence[_Secret] = [],
    gpu: GPU_T = None,
    force_build: bool = False,
) -> "_Image":
"""Extend an image with arbitrary Dockerfile-like commands."""

We're discussing making Image.extend private as it doesn't really have a user-friendly public interface and we can't think of any usecases for running it directly that aren't currently satisfied by the higher-level Image methods.

I think this could work and better!


image_types_ostree: set version metadata field

OSTree uses the "version" metadata field in various places, e.g. in
ostree admin status. Use DISTRO_VERSION as default version number
source. This gives a more human readable version number to a
particular OSTree:
$ ostree admin status

torizon f1825d8a8f89c48cc0915ea059bd23463a97655757a53ae0ab0fe7a97e1ebeb2.0
Version: 3.0+snapshot-20200128
origin refspec: f1825d8a8f89c48cc0915ea059bd23463a97655757a53ae0ab0fe7a97e1ebeb

Signed-off-by: Stefan Agner<EMAIL_ADDRESS>

This is a backport of pull request #670.
@patrickvacek we plan to do a release towards the end of month based on zeus branch, so I thought better to send a backport pull request right now. Applied cleanly and works in our case, so should all be fine.


Du command shows incorrect size

Hi,
When using the du command (-sh option ) I get some very inaccurate outputs.
My specs:

Your Windows build number: Version 10.0.15063

What you're doing and what's happening:
/mnt/d/ebooks$ du -sh *
149M    000_553_s

What's wrong / what should be happening instead:
000_553_s is a directory which contains a single pdf which is, according to windows explorer, only 293KB
So the 149MB being displayed is incorrect

Fixed in Insider Preview.

Fix incorrect block count in "stat" for DrvFs (and LxFs) [GH 1894]
https://msdn.microsoft.com/en-us/commandline/wsl/release_notes#build-16237


Dev Container Can't Find Spark 3.3.1

When building the dev container we are seeing 404 errors during the Docker build step.
This is because version 3.3.1 of the spark download is no longer present on Apache's downloads site.
As of 15th Feb a new version (3.3.2) has bumped 3.3.1 to the archive location.
Given that 3.3.1 is the supported version for Databricks on Azure, the fix is to use the archives URL instead. i.e.
Current:
https://downloads.apache.org/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop3.tgz
Suggested change:
https://archive.apache.org/dist/spark/spark-${SPARK_VERSION}/spark-${SPARK_VERSION}-bin-hadoop3.tgz
In fact, the archives location is better generally as it contains the latest version and all previous versions, so breaks like this won't be as likely.

fixed in https://github.com/UCLH-Foundry/FlowEHR/pull/80


Dist File?

I'm trying to install with bower, and the readme references dist/acorn.js which doesn't appear to be there in source.  Is there a build step missing or something?

This is only available from an npm release.

The build step is node bin/build-acorn.js

What you could do @buob is setup a postinstall hook in bower to emulate installing from a built source https://github.com/bower/bower/blob/master/HOOKS.md#configuring
So on bower install success it would build the acord dist for you.
¯_(ツ)_/¯

There should not be a build step with libraries served up with Bower. If you're not willing to include the distributed files would you be amiable to a separate repo for serving the distributed content through Bower?

I am not willing to put in extra energy for the sake of Bower, which I consider a somewhat superfluous tool. If someone else feels so inclined, they can to set up an automated system that listens for new npm versions and updates some github repo somewhere with the built Acorn files.

which I consider a somewhat superfluous tool

rough http://bower.io/stats/


StackOverflowError when trying to MatchRegex strings of long lengths

Bug Report
Steps to Reproduce:
1.run the following three scenarios in the cucumber file MatchingRegex.feature using full generation
Scenario: Running a 'matchingRegex' for a minimum length of < 8000 should be successful      Given foo is matching regex /[a]{7999}/      Then the following data should be generated:
'Scenario: Running a 'matchingRegex' for a minimum length of = 8000 should be successful
Given foo is matching regex /[a]{8000}/
Then the following data should be generated:'
'Scenario: Running a 'matchingRegex' for a minimum length of > 8000 should be successful
Given foo is matching regex /[a]{8001}/
Then the following data should be generated:'
Expected Result:
Expected result would be:
` | foo              |
| null             |
| aaa..(8000)  |
NB THE TEST PASSES WHEN RUN IN INTERESTING MODE
Actual Result:
The following error message is presented:
java.lang.StackOverflowError 	at java.util.HashMap.putVal(HashMap.java:664) 	at java.util.HashMap.put(HashMap.java:612) 	at java.util.HashSet.add(HashSet.java:220) 	at dk.brics.automaton.SpecialOperations.isFinite(Unknown Source) 	at dk.brics.automaton.SpecialOperations.isFinite(Unknown Source) 	at dk.brics.automaton.SpecialOperations.isFinite(Unknown Source)
Environment:
Run in full generation mode. Test passes when run in interesting mode

Could be related to #549

What happens when we have a regex that says length is between 1-8000?

Will be covered by #848, #849 and #833


feat(collapsible-container-connected): add optional onClick prop

Proposed Changes
Jira: https://coveord.atlassian.net/browse/SPAAS-1164
This update is simply to add the onClick property to the CollapsibleContainerConnected component, so it can be passed to the CollapsibleConnected connected after.
Potential Breaking Changes
Because it's an optional property, I don't think it can create a breaking change.
Acceptance Criteria

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

Add a test? :eyes:


Show publish plug-in attributes based on families instead of only productType

Changelog Description
Show publish plug-in attributes based on families instead of only productType
This PR can be tested together with https://github.com/ynput/ayon-houdini/pull/144
This PR split off from this one https://github.com/ynput/ayon-core/pull/973 so it only contains the tiny change.
Additional info
This commit https://github.com/ynput/ayon-core/commit/8208bef6f31933a1b0aef5151dc2b957e712fe03 allows to show publish plugin attributes also based on the created instance families data instead of only the product type. As such, if the Creator defines extra families - then the Pyblish plug-ins for which it will run will now also show their publisher attributes.
This is a required change to easily start supporting a workflow where we can target particular instances from plug-ins without having to target the product type itself. This opens the door to allow say, five different creators, to each produce a model family but with e.g. a different representation - like a USD model, groom, look, etc.
📔 ✏ Houdini (and Maya) currently exposes a get_publish_families method on the Creators - we may want to move that to the base creator plug-in in core by default because it'll greatly simplify the implementation of defining more families than just the product type from a creator across all the DCCs.
Why?
1. Product type versus families
Also see explanation on product type versus families.
The idea is that a product type should not be 1:1 tightly coupled to a particular node or export method inside the DCC, so that technically any amount of export methods could publish a product type like model or pointcache which only consider the product type's validations (like a model must be static) but not care at all about e.g. Alembic properties being set up correctly on the Alembic ROP.
Imagine an instance with families

pointcache
extractor.AbcExport

And an instance:

model
extractor.AbcExport

The intent is very clear - these instances have different product types but use the same means of exporting, triggering an Alembic exporter. It now becomes very easy to preserve the model logic for validations but just add a different means of extraction, like extractor.fbx, extractor.maya_usd or extractor.multiverse_usd, etc.
It should be much easier to without conflict add many creators with the same product type while avoiding 'collisions' on how to trigger only the relevant exporters or plug-ins.
Vice versa as well, it should be easy to add a file format (representation) to any amount of existing creators without needing to target model or pointcache.
Also, Explicit is better than Implicit.
2. Type hints and autocomplete for instances. (Less unknown dicts!)
Type Hinting: Preferably we can get to a point where if a certain family applies we can be sure certain data is present. For example:
from typing import TypedDict

class FrameRangeData(TypedDict):
    frameStart: int
    frameEnd: int
    handleStart: int
    handleEnd: int

class FrameRangeInstance:
    data: FrameRangeData

if is_family(instance, "framerange"):
    instance: FrameRangeInstance

Take this random example above.
My IDE now autocompletes for me:

And type hints:

3. Ensured data types (continuation of typed instances)
This could even be taken a step further to also be used for validation - using e.g. pydantic. If an instance says it has a frame range using a family - then we can even apply a dedicated validation plug-in validating whether the instance adheres to the type hint of that dataclass or type hint.
And of course mypy and other tooling can validate more things in a modern IDE due to the strictness in the typing if e.g. an int is accidentally used in a string operation, etc.
4. Correctly use the pyblish ecosystem
By avoiding using custom metadata like if instance.data["review"]: process_review() type of logic and instead tagging whether something say, has a reviewable or a certain type of media file, or certain type of representation through families means that ALSO the publishing system only ever considers it for processing for a plug-in if it has it. Instead of needing to know how a review product type differs in maya, to houdini, to blender, etc.
Similarly with all of the above steps it also means it's much clearer from e.g. a standalone studio addon to target e.g. family file.usd or alike that we KNOW there will at least be a USD file generated - and hence can basically add a stack of pre-integration file processors of that instead of targeting ALL instances and needing to search manually for representations, etc.

Testing notes:

Use together with PR here: https://github.com/ynput/ayon-houdini/pull/144
In Houdini, start publishing USD model, groom and look products, each should work with their own validations but also with the asset contribution workflow. Each product should also have different defaults and target the right 'default layer'
Regular model publish in Houdini should also still work.

We may need to do a quick simple test across different DCCs that may define families data (at Creation, during publishing shouldn't make a difference) on the instance to see whether they still behave as intended. As far as I know that logic currently only exists inside Houdini and Maya.

Ready for merge @iLLiCiTiT ?


NFS support

Please enable NFS support by default.
All it needs is nfs-common deb installed. And maybe some UI...

Duplicate of #138.


OPEN-32: Add a new setter and getter name to map to the right field

Fixed on SAGA side, no need for fix this


Consider aligning naming of "batch windowing"

Apache Beam as well as Apache Flink refer to what we named Batch and Batch.BatchWindow as GlobalWindows and GlobalWindow respectively. I think the term "global" makes more sense. 1) Windowing is a separate concept/value to "batch/stream processing". 2) By aligning the names we create less confusion for new users.
In particular, I'd like to propose renaming:

Batch => GlobalWindowing
Batch.BatchWindow => GlobalWindowing.GlobalWindow or just GlobalWindowing.Window

Please comment if renaming doesn't make sense to you.

+1
A little remark about the relationship between the windowing and batch/streaming processing - the batch or global windowing makes no sense in case of stream processing, so maybe this a little better guides the user about when to use it, but I agree that this is just a little difference and the term global window might play the same role as well.

i agree, "global windowing" doesn't make sense on streams. maybe an "early triggered global window on streams" (which we do not support at the moment) could find a (limited) use-case, though, i see it rather problematic in regards to the ever growing window state and key base.


Code to replicate performance metrics

Hi,
This is a compelling library, do you have any of the code used to generate the reported performance increases over various frameworks mentioned here? I'm particularly curious about the tensorflow benchmark.

+1, the more easily reproducible the performance numbers the better (e.g. providing a Dockerfile would be ideal). This way users can validate performance on various hardware configurations
I also recommend for a project like this to do continuous performance testing. We use ASV, a Python library, in pandas to track operation microperformance so that we can catch performance regressions sooner.

It would be interesting to see the steps taken for the spark integration.

Duplicate of #351


update proxy of release-7.1 to raftstore-proxy

What problem does this PR solve?
Issue Number: ref #4982 close #7726
Problem Summary:
update proxy to raftstore-proxy
We have to pick some TiFlash commits to make it cowork with proxy.
Proxy PR:
Including:\nSubmodule contrib/tiflash-proxy 601d803562..7aed51bfdf:

diagnostic: fix index out of bounds error in sysinfo (#333)
Add debug utils for tablet snapshot (#331)
Support replace url with a host string (#337)
Use addr's ip if status_addr's is is empty (#334)
Get raftstore version of cluster by requesting TiKV's status server (#332)

What is changed and how it works?
Check List
Tests

[ ] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/merge

/run-unit-test


[Feature] "Better" previous next

I would like to see a feature that would mimic the  "previous/next" icons like the following ui frameworks:
http://element.eleme.io/#/en-US/component/tabs
http://jqwidgets.com/jquery-widgets-demo/demos/jqxtabs/index.htm
http://examples.sencha.com/extjs/6.5.0/examples/kitchensink/?classic#basic-tabs

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Sorry, I don't get this. This plugin actually has next and prev functionality. What do you mean with mimic the "previous/next" icons like in that ui frameworks??

BTW, the next and prev tabs styling and icons are up to you. This plugin has the next and prev actions as API actions, so you can define them as you want.

In some of the other example I showed you, "Previous/Next" show up as left right arrows on the left and right side of the tab bar. Also the icons don't show up until the tab bar goes into overflow.

As I answered before in https://github.com/elboletaire/tabbedcontent/issues/19, as you can style the tabs as you want, is up to you if you wanna add some king of tabs overflow/pagination/scroll plugin to the tabs.
Adding #35 and #36 will be enough to get something similar to the examples you paste (obviously you'll need to select and add your own plugin for the tabs overflow).
I don't want to have this in this plugin, as it would heavily increase the library size and isn't something anyone wants. You better add the plugin you want and style the tabs as required.


Custom row component inside a GridTable?

Brief backstory: My goal is to make an editable grid. Initially I thought I could do so by just adding a custom column through columnMetadata, but the custom column components that get created only have access to the column data and the row data (https://github.com/DynamicTyped/Griddle/blob/master/scripts/gridRow.jsx#L57). I would like to provide my EditableColumn with a save function and, ideally, have it wrap any other custom component that was defined in columnMetadata which would at least require access to the columnMetadata.
I thought I could just use a custom row component to replace GridRow and give my custom column access to the data it needs, but I realized that Griddle uses custom rows for non-tables (https://github.com/DynamicTyped/Griddle/blob/master/scripts/griddle.jsx#L497).
Questions:

Any thoughts on the best way to accomplish this? My quickest option now that duplicates the least amount of code seems to be: just use a custom EditableColumn, ignore the nice-to-have feature of wrapping other custom column components with an EditableColumn, and hack in a save handler function as part of my data. Not exactly ideal but maybe there's a better solution I'm missing?

It seems like custom rows (customRowComponent) and custom grids (customGridComponent) achieve very similar levels of customization and that there's room for having a custom row that is still within a GridTable. For instance, it seems to me that custom rows would make sense to replace GridRow here: https://github.com/DynamicTyped/Griddle/blob/master/scripts/gridRowContainer.jsx#L45 or maybe replace the row container one layer up in GridTable. Thoughts? I'm sure there would be other implications here I'm not seeing, but at first glance it seems like it would be an easy customization to add. If there's interest, I could put it in a PR for discussion.

Thanks! And just as a side note: this seems like a great project. I'm impressed that it's so fleshed out and with such good docs given that React is so relatively new.

Also for what it's worth, I figured out I couldn't easily do the EditableColumn approach because the custom column component does not know which field of the row it is editing. I would have to change each field of the row's data to be an object containing the key and value to make that approach work.
Instead, I added a custom grid row option in my own fork: https://github.com/nathanwelch/Griddle/compare/custom-grid-row . Do you guys see any problems with this approach of optionally replacing GridRow with a custom component? If not, I could add docs and put it in a PR.

Hey @nathanwelch -- so sorry about the delay in getting back with you. I had started a longer response to your first post earlier on and got side-tracked.
Unfortunately, you are dead-on the EditableColumn approach will be a bit difficult. The solution you have implemented seems great and is actually very similar to something we were hoping to implement in the future for this very scenario (we're hoping to have a prop corresponding to all the default Griddle components so any of them can be overwritten). A pull request would be much appreciated! :+1:

:+1: I would love to see this implemented! I was trying to do something similar in a current project, glad I stumbled on to this.

+1 for this.. I came here looking for exactly this functionality

@srconklin If you have any luck getting @nathanwelch's fork to run please let me know!

+1, this is exactly what I need.
Let me know if you need any help with this.

+1

@ohana54 I have been trying to get the fork to run but have been running into the problems I listed in this issue -- if you can help address any of the problems I am facing it'd be a huge help towards getting this feature in a working state.

@FoxxMD Unfortunately I have some bad news, we're probably replacing Griddle with something else.
I found out it has a major performance issue since it re-renders all the rows whenever any state in the application changes.
I have an example here: http://jsfiddle.net/u0ue24ea/
Open the console and click on the "inc" button. I print to the console the DOM changes and you can see that all the rows are being replaced.
This is due to a new unique key that's being generated every time a row is rendered, so react thinks it's a new row every time and replaces everything.
We had other several issues and it all added up to the decision to try something else.
Nevertheless I will try to open a new issue about the performance problem, hopefully it will be fixed for everyone else.

@ohana54 What alternatives are you considering?

@FoxxMD I couldn't find an adequate react grid, so I'm thinking of wrapping slick-grid.
It seems that the project is abandoned but we've worked with it before on some very large enterprise applications and it proved to be very good.
We're in the POC stage so I'll have a more educated answer in a month or so.

RE: performance issues with all the rows are being replaced
@ohana54 please do open an issue with your findings/fiddle-- I think it is something to be addressed and I have some thoughts to add regarding that.

@FoxxMD @scvnc Opened #104

@ohana54 Thanks for opening the other issue!
@nathanwelch Is this something you're working on? If not I'll pick it up.

All, I have added a customTableRowComponent to the source. It's not in npm but will be available once we get the docs updated among some other things.
Please take a look at the PR for a brief example on how to use this.
It should be noted that the names on some of the custom component things will likely change before the 1.0 release to be less confusing but there should be a clean upgrade path (aka customRowComponent / customTableRowComponent is a bit confusing).
I'm going to close this one for now but please let us know of any trouble you may encounter with this addition.

:+1: thank you @ryanlanciaux !

This was never documented, users are unaware of the customTableRowComponent .

@ryanlanciaux I would be happy to add an example of a customRowComponentExample in the docs of Griddle, since it will be a bit easy for all the people.

That would be really helpful!


[FEA] expose resize method for MONAI transform

Is your feature request related to a problem? Please describe.
resize with antialiasing is a popular method used in Digital Pathology image processing.
It would be nice if the method is exposed through cuCIM's core transform method so that MONAI can use it through CuCIM Adaptor.
Describe the solution you'd like
Expose cuCIM's resize method through another interface:
Reference:

https://scikit-image.org/docs/stable/auto_examples/transform/plot_rescale.html
https://github.com/rapidsai/cucim/wiki/release_notes_v21.10.00#1-add-high-performance-transforms-for-digital-pathology-100

/cc @drbeh


Add Let's Encrypt support

It would be highly desirable to have Let's Encrypt support. I've done some preliminary work in #44, but more work is needed.
To leverage from the existing Let's Encrypt playbooks (such as this one), we first need to upgrade to Ansible 2 (#16).

Preliminary work solved in #52.


Remove Events article

:warning: Validation status: warnings

File
Status
Preview URL
Details

LauragraDocset0317235153/TOC.md
:warning:Warning

Details

LauragraDocset0317235153/excel/excel-add-ins-events.md
:white_check_mark:Succeeded

LauragraDocset0317235153/TOC.md

[Warning] Invalid file link:(~/excel/excel-add-ins-cf.md).
[Warning] Invalid file link:(~/project.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-style.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-perf.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-format.md).
[Warning] Invalid file link:(~/get-started.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-datavalidation.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-error.md).
[Warning] Invalid file link:(~/overview.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-protect.md).
[Warning] Invalid file link:(~/access.md).
[Warning] Invalid file link:(~/onenote.md).
[Warning] Invalid file link:(~/testing.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-cxp.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-calc.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-dp.md).
[Warning] Invalid file link:(~/develop.md).
[Warning] Invalid file link:(~/testing/sideload-outlook-add-ins-for-testing.md).
[Warning] Invalid file link:(~/excel/excel-add-ins-sortfilter.md).

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Incompatibility with prototype.js

If you include prototype.js
https://ajax.googleapis.com/ajax/libs/prototype/<IP_ADDRESS>/prototype.js
This overrides Array.prototype.filter
NodeParser.prototype.getChildren has an issue calling prototype's implementation of [].filter on a NodeList.
I suppose this could be considered a bug in prototype.js, but it might be a good idea to modify NodeParser.prototype.getChildren to use a different way to filter the array.

Here is one way to fix it
NodeParser.prototype.getChildren = function(parentContainer) {
return flatten((function(fn){
    var arr = [];
    for (var i=0, len=this.length; i<len; i++) {
        var val = this[i];
        if (fn(val)) {
            arr.push(val);
        }
    }
    return arr;
}).call(parentContainer.node.childNodes, renderableNode).map(function(node) {
    var container = [node.nodeType === Node.TEXT_NODE ? new TextContainer(node, parentContainer) : new NodeContainer(node, parentContainer)].filter(nonIgnoredElement);
    return node.nodeType === Node.ELEMENT_NODE && container.length && node.tagName !== "TEXTAREA" ? (container[0].isElementVisible() ? container.concat(this.getChildren(container[0])) : []) : container;
}, this));
};

The resulting behavior is that the callback is never called, an exception is thrown, and the iframe html2canvas creates is left in the document.

I found another incompatibility with Array.prototype.map - I have created 2 bugs in prototype
https://github.com/sstephenson/prototype/issues/293
https://github.com/sstephenson/prototype/issues/292

This incompatibility occurs only on version <IP_ADDRESS>. To resolve, you can put the function "each" on the prototype.js.

Object.extend(Array.prototype, {
// Extract from version 1.7
each: function (iterator, context) {
for (var i = 0, length = this.length >>> 0; i < length; i++) {
if (i in this) iterator.call(context, this[i], i, this);
}
},

I'm using JSF richfaces 3.3.3... In my case, is impossible to solve by this way (can't update prototype).
Please, if possible, solve this incompatibility on next build =)
Thks all.

I appear to be running into the same incompatibility issue with Prototype in a more legacy application and using html2canvas getting Uncaught (in promise) TypeError: this.each is not a function


Add README for CRC local development

This PR refers to the JIRA subtask : https://issues.redhat.com/browse/CFE-162
Verified on CRC version crc-linux-1.33.1-amd64

/lgtm


Query: Issue propert client eval warning for Last & LastOrDefault

Resolves #6929
Issue: we always set ClientEval as false even though it was required. Added proper handling.
Rules:
Last with order by can always be translated to Sql. Do not log warning.
LastOrDefault with order by gets translated but we still do client eval for the exception (just like FirstOrDefault), Do not log warning.
Warn when LastOrDefault is used inside subquery.
Warn when Last is used without order by because we need to evaluate on client to find the last record.

:shipit:

@maumar @divega - I updated PR. There was small error which I corrected.
Current behavior is this:
If there is no order by then it will issue warning since we need to do client eval only.
If there is order by then

LastOrDefault does not issue any warning.
Last issues warning if its inside subquery. Top level Last does not issue warning.

I have updated test accordingly.


setMultiStateLegacy function breaks Sulion FanLight

Checklist

[ X] I have read the common issues wiki page
[ X] I have checked to make sure the plugin is up to date

Describe the bug
When upgrading to the latest release and checking the configured DPs, I noticed that I was not able to ever turn the fan off, it would always revert to speed 1 when switched off.
To Reproduce
Switch fan off in apple home..... slide down the fan control to 0, but fan always stays at speed 1 (or whatever you have defaultFanSpeed set to).
Expected behavior
Fan to go off....
Environment (please complete the following information):

OS:  Ubuntu 22.04 LTS
iOS version: 17.5
Node Version:  v20.11.0
Plugin Version: 3.1.1
Accessory Type SimpleFanLight Accessory

Additional context
I found the issue... the setMultiStateLegacy breaks my fan device....
After some debugging i discovered that setting multiple DPS in a single call to the device doesn't work , my Fan only processes the last DP sent... so in my case, when the FanActive DP was sent (set to false when swtiching fan off) and the FanRotationSpeed set to the deffault (1 in my case), the fan would only process the last DP, speed 1, so the fan was active with speed 1, which explains why I could never turn it off via homebridge.
return this.setMultiStateLegacy({[this.dpFanOn]: value, [this.dpRotationSpeed]: this.fanDefaultSpeed}, callback);
I tested this extensively by reading back the DPs from the device and when using setMultiStateLegacy the FanActive DP was never set. If I switched the order of the DPs above, then dpFanOn was set correctly, but dpRotationSpeed not.
By reverting the code to call setMultiState instead (which generates a call per DP to be set), the Fan started to work again.
return this.setMultiState({[this.dpFanOn]: value, [this.dpRotationSpeed]: this.fanDefaultSpeed}, callback);
I think we should have an option to use setMultiStateLegacy or setMultiState somewhere so I don't have to edit code with every upgrade etc.
Many thanks,
Adam

Additional info:
I just tested the above with the remote control that came with the device and I can contend that when you switch the fan on for example, it sends two commands, one to set dpFanActive and the other dpRotationSpeed, so the remote sends each DP call in a separate message too.