RFC: add assertion utility to test if a value is an arrow function

Checklist

Please ensure the following tasks are completed before filing an issue.

[x] Read and understood the Code of Conduct.
[x] Searched for existing issues and pull requests.
[x] If this is a general question, searched the FAQ for an existing answer.
[x] If this is a feature request, the issue name begins with RFC:.

Description

Description of the issue (or feature request).

This RFC proposes adding an assertion utility to test if a value is an ES6 arrow function.
Package: @stdlib/assert/is-arrow-function
Alias: isArrowFunction
Related Issues

Does this issue (or feature request) have any related issues?

No.
Questions

Any questions for reviewers?

No.
Other

Any other information relevant to this issue (or feature request)? This may include screenshots, references, stack traces, sample output, and/or implementation notes.

Prior art:

is-arrow-function: depends on isCallable (see https://github.com/stdlib-js/stdlib/issues/160).

Added per https://github.com/stdlib-js/stdlib/commit/d1d583aad5860282e602ca82ca72c82e482f7b6a.


Different CSS for each choices?

Hi!
First of all I want to say that you did amazing job with Kirki. Bravo!
I want ask about radio-buttonset . In my case below I have buttonset with two choices. Is there any way do add different CSS values for each choice, but not for thoses selectors in output array? For example, I add "row-reverse" for "div.l-article-page" and then other CSS is applied to container or other selector.
Kirki::add_field( 'universal', [
	'type'        => 'radio-buttonset',
	'settings'    => 'single_pages_posts_sidebar_align',
	'label'       => esc_html__( 'Pokazuj pasek boczny po stronie', 'kirki' ),
	'section'     => 'single_pages_posts',
	'default'     => 'row',
	'priority'    => 10,
	'choices'     => [
		'row-reverse'   => esc_html__( 'lewej', 'kirki' ),
		'row' => esc_html__( 'prawej', 'kirki' ),
	],
    'transport'   => 'auto',
    'output'    => array(
		array(
			'element'         => 'div.l-article-page',
			'property'        => 'flex-direction',
			'media_query'     => '@media (min-width: 1024px)',
			),
		),
] );

Thanks!

You can add multiple output items and then use the exclude argument on each of them.
Example:
'output' => [
	[
		...
		'exclude' => [ 'row' ], // makes the css applu ONLY if value is NOT "row".
	],
	[
		...
		'exclude' => [ 'row-reverse' ], // makes the css applu ONLY if value is NOT "row-reverse".
	],
]

I see, but I think this is not what I'm looking for. For example, if I choose 'row-reverse' option, then for example I want add background-color: red for body tag.

Then you can also add the value_pattern argument :smile:
'output' => [
	[
		'element'       => '.something',
		'property'      => 'background-color',
		'exclude'       => [ 'row' ], // Makes the css apply ONLY if value is NOT "row".
		'value_pattern' => 'red',
	],
	[
		...
		'exclude' => [ 'row-reverse' ], // Makes the css apply ONLY if value is NOT "row-reverse".
	],
]

value_pattern allows you to define a custom value, and you can use the dollar ($) character as a placeholder. It's on https://aristath.github.io/kirki/docs/modules/css.html#value_pattern right below the exclude` argument

Great! I did what I need, thanks!


docs: fix typo

Ups, in my last merge I introduced typo.
Sorry for the trouble.

Not a problem, thanks for your PRs 😃


Add cart page and placeholder checkout page.

Resolves: #140
Impact: minor
Summary
Adds the shopping cart page and cart items related components including a list of items in the cart, a cart summary and checkout button.
Testing

Verify page is responsive across desktop and mobile devices
Verify styles and layout match designs.

@nnnnat ready for another review.


rad should validate that the AWS region specified (in the flag or interactive) is a valid region

Overview of feature request

Since rad doesn't do this at the moment, if the user makes a mistake they will need to reinstall the radius control plane which is not a great user experience. Preferably instead of statically whitelisting the values we should fetch them from AWS API (as new regions can and will be added over time)
Use the equivalent REST API to get the following (reference https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeRegions.html)
aws ec2 describe-regions --all-regions --output json | jq ".Regions[].RegionName"
"af-south-1"
"eu-north-1"
"ap-south-1"
"eu-west-3"
"eu-west-2"
"eu-south-1"
"eu-west-1"
"ap-northeast-3"
"ap-northeast-2"
"me-south-1"
"ap-northeast-1"
"me-central-1"
"sa-east-1"
"ca-central-1"
"ap-east-1"
"ap-southeast-1"
"ap-southeast-2"
"ap-southeast-3"
"eu-central-1"
"us-east-1"
"us-east-2"
"us-west-1"
"us-west-2"

Definition of done:

[x] radius-project/radius#3922
[ ] https://github.com/project-radius/radius/issues/5155
[ ]  For flags we should validate that the value provided belongs to the set
[ ]  Add unit tests

This is fixed by listing the available AWS regions and prompting the user to pick one from the list.


feat: mangle property name with quote chars

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[x] N
[ ] Y

feat: mangle property name with quote chars

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

17 of 17 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 67.794%

Totals

Change from base Build<PHONE_NUMBER>5:
0.08%

Covered Lines:
2164

Relevant Lines:
3192

💛  - Coveralls


Response message is not adequate for getPolicyByVersion operation

Steps To Recreate:

Invoke getPolicyByVersion operation in the EntitlementPolicyAdminService giving non-existing version or policyId

Actual Result:
for both the cases: non-existing version and non-existing policy, the response message is "Invalid policy version". Please see the img.

Expected Result
It is better giving a message like "Policy version does not exist" rather claiming invalid policy version; this is ok in a scenario where user inserts unsupported data type for the version.
And also the response code is 500, this is not correct and should return correct response code(ex:-404)

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


AI Face SDK update

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.AI.Vision.Face

Got approval for beta2 release from Krzysztof in email thread. Merging the PR.


Can't find my service

I registered my own service, I can see it on the database and can also remove it, but when I query about it, I get an empty response:
`New POST request at: http://<IP_ADDRESS>:80/serviceregistry/register
{
"providedService" : {
"serviceDefinition" : "myService",
"interfaces" : [ "JSON" ],
"serviceMetadata" : { }
},
"provider" : {
"systemName" : "MySystemName",
"address" : "<IP_ADDRESS>",
"port" : 8089
},
"port" : 8090,
"serviceURI" : "MYServiceURI",
"version" : 1,
"udp" : false,
"ttl" : 5
}
Response to the request at: http://<IP_ADDRESS>:80/serviceregistry/register
{
"id" : 28,
"providedService" : {
"serviceDefinition" : "myService",
"interfaces" : [ "JSON" ]
},
"provider" : {
"id" : 27,
"systemName" : "MySystemName",
"address" : "<IP_ADDRESS>",
"port" : 8089
},
"serviceUri" : "MYServiceURI",
"udp" : false,
"version" : 1
}

New PUT request at: http://<IP_ADDRESS>:80/serviceregistry/query
{
"service" : {
"serviceDefinition" : "myService",
"interfaces" : [ "JSON" ],
"serviceMetadata" : { }
},
"metadataSearch" : false,
"pingProviders" : true,
"version" : 1
}
Response to the request at: http://<IP_ADDRESS>:80/serviceregistry/query
{
"serviceQueryData" : [ ]
}
`
but querying InsecureOrchestrationService works fine. Is there some typo that I cannot see or what am I doing wrong?

Does your provider listen at <IP_ADDRESS>:8090? Because the ServiceRegistry thinks it listens on <IP_ADDRESS>:8089, and I assume when it tries to ping it (because pingProviders is true in the query payload), it will not get a response, and the provider will be filtered from the response list. The payload changed slightly since the 4.0 release, and the port is now inside the arrowhead system class.
I could write a long paragraph about why exactly the ServiceRegistryEntry payload looks like as it is right now (https://github.com/arrowhead-f/core-java/blob/develop/common/src/main/java/eu/arrowhead/common/database/ServiceRegistryEntry.java), if you're interested. But the short answer is, that if you send this, up-to-date registering payload (when using the develop branch):
{
"providedService" : {
"serviceDefinition" : "myService",
"interfaces" : [ "JSON" ]
},
"provider" : {
"systemName" : "MySystemName",
"address" : "<IP_ADDRESS>",
"port" : 8090
},
"serviceURI" : "MYServiceURI",
"endOfValidity" : "2018-10-16 15:00:00"
}
then I think your query will be successful.

I don't have the resources to keep all available documentation up to date, but recently I added swagger UI (https://swagger.io/tools/swagger-ui/) to each core system.
If you go to http://<IP_ADDRESS>:80/api/ you will get a basic description of the service registry API with all of its available endpoints. If you open an endpoint, it even shows example, full request bodies (meaning it contains all the fields, not just the mandatory ones).

Thanks for the help. The problem was indeed the non-listening port (inside the system). I kept the other port (a wrong one) and I still could query. Some hint: I have to use <IP_ADDRESS> as address, since it didn't work with <IP_ADDRESS>.
Regarding the register message, I assume that the extra port should be deleted from https://github.com/arrowhead-f/core-java/blob/master/documentation/ServiceRegistry/Arrowhead ServiceDiscovery Service G4.0 SD.docx? what about the ttl field?

Yes, as I said, the manually created documentations are still on the 4.0 release version (in the master branch too, which is almost identical to the release/4.0 branch).
The TTL field was a "leftover" from the DNS-SD version of the SR, it stands for Time To Live, and it contained  the time in seconds, until the given service should be considered valid/active. At some point, the idea was that both versions of the SR would have the same exact interface, but the DNS-SD version had a few heavy requirements, and its hard to use.
I replaced this TTL field with the more descriptive endOfValidity, which is of type LocalDateTime.
The address problem: I guess this depends on the app.conf of your provider. If the "address" field in the app.conf is <IP_ADDRESS>, then it will bind to every available ethernet interface (127.0.X.X, localhost, <IP_ADDRESS>, local IP). If the address is on the local IP, then only local IP will work, same with the loopback interface. I'm not sure if I understand where did you had to change the address though.

For testing/prototyping, you can send actual requests directly from the swagger UI, or using a REST client with a nice UI like Postman.


[FlutterQuill] How to custom style Cursor

On TextField or TextFormField, we can set color, cursorWidth/Height ... But flutter_quill can't custom.

Had to change cursor color too.
Try to override textSelectionTheme
```
themeData = themeData.copyWith(
textSelectionTheme: themeData.textSelectionTheme.copyWith(
cursorColor: accentColor,
),
);


Add a seed parameter for repeatability

It would be great to add seed parameter for repeatability, the way how scikit-learn does it.

I agree, that would make a lot of sense. Ideally it isn't too hard, but has some quirks given how I am currently handling random number generation. It is certainly on my list of things to do (which is unfortunately long).

It might be a good idea to publish roadmap, community will be able to contribute!

Sounds like a good plan -- any suggestions for where and how best to do that?

Well, an issue on github will do. People will add comments, and you will be able to update the issue after each release.

Basic random seed support is now in place via the random_seed parameter which takes an int. Ideally things would work a little differently as per standard sklearn with a random_state that supports more input types (e.g. numpy random states) but that will take a little thought as to the best way to do that.

Okay, that helps more. I have a nagging feeling there will be more minor things like the eigenvector solver to track down if I want to truly eliminate variability.

Well that was a lot more work than I intended. For the record (since others may face this, and so I will remember in the future) the issue is that numba very cleverly swaps out np.random calls for something lower level (to avoid roundtrips back to python I presume), and this does (may?) not play nice with setting a random seed for numpy. Once I worked out what the issue was and rewrote everything to deal with that the issue resolved itself nicely and we get something repeatable. I believe setting random_state now works and should provide consistent embeddings (with a consistent random state).


Creating a PostgreSQL/MySQL read replica with Aiven Terraform provider

https://help.aiven.io/en/articles/5721139-creating-a-postgresql-mysql-read-replica-with-aiven-terraform-provider

Maybe this should go to Terraform session, wdyt @dewan-ahmed?

Hi @laysauchoa I have a similar article as part of this Epic. I wonder if I can merge two articles into one migrated Terraform recipe. Looking for some PG/MySQL expertise here.

Hey, yes! I will sign to terraform then cause I think it makes sense.

Closed as it is replicated and no longer from mysql but from terraform topics.

Thanks @laysauchoa
https://github.com/aiven/devportal/issues/1035 is the issue to track the future work.


Upgrade safe-deployments 1.5.0

What it solves
The interface was using an older version (0xa25b3579a295be016de5eb5F082b54B12d45F72C) of safe-deployments, it doesn't have any drawbacks but this version was meant to be used. The reason for that is that we forgot to release safe-deployments with the updated address (0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2).
How this PR fixes it
By updating safe-deployments to version 1.5.0 that uses the new address
How to test it
connect the safe to https://example.walletconnect.org/ and click use eth_sign button, the transaction pop up should call 0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 32.466%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
3086

Relevant Lines:
8467

💛  - Coveralls

What's up with the tests?

We are on top of it and have been fixing them but some fixes were not merged yet so the GitHub action is running still broken tests.


Fixed some minor problems

Fixed Input message size after clear TextEditor with text
Added ability send a message to correspondeceScene on CTRL+ENTER

CR Done


GKE upgrade tests

GKE node (#7914) and master (#8081) upgrade tests. Adds support for running cluster_upgrade.go with the GKE provider.
Final TODOs after this to close those issues are:

verify software version really changed after upgrade
setup jenkins jobs to run all of these; ensure they're green

After that, our next TODOs are:

test volumes, persistent volumes, and secrets
some refactoring, cleanup, and consistency (I sprinkled TODOs in the code for these things)

+cc @mikedanese @zmerlynn @quinton-hoole @ixdy

Handful of comments. Overall looks good.

Thanks—all comments addressed. Should have fixed Shippable too. PTAL.

Well, shippable seems permanently dead and won't show the logs. Hmm. Ugh.

LGTM once jenkins builder passes.

Weekend merging for increased GKE test coverage.


bumped to tailwindcss v3 (all passing)

Hey, can you revert package-lock.json and yarn.lock?

why?

oh wait, you mae changes to packages my bad 🤦♂

Need to delete one file, sorry. Thanks for contributing!


fix: MsgBeginUnlocking bug

Closes: #XXX
What is the purpose of the change
As discovered on the v12 integrator testnet, attempting a begin-unlock-by-id (MsgBeginUnlocking) results in an error. This is because we pass a nil Coins object to MsgBeginUnlocking when we unlock by id, and the newly added ValidateBasic requires a length of 1 (which would be used if we are unlocking a specific subset of the lock)
Testing and Verifying
This change is already covered by existing tests
Documentation and Release Note

Does this pull request introduce a new feature or user-facing behavior changes? no
Is a relevant changelog entry added to the Unreleased section in CHANGELOG.md? no
How is the feature or change documented? not applicable

Err, I don't think we should have merged this yet.
I don't think this state break is quite right, how are we getting locks with 0 coins in them

Ah I see, good fix! Concerning we d9nt have tests at the message layer that would've caught this


Add Copyright for ticket: ZQS-1162

Description
This PR updates the missing copyright notices.

Codecov Report

Merging #24 (e9d6283) into main (2ade45c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #24   +/-   ##
=======================================
  Coverage   95.55%   95.55%
=======================================
  Files          25       25
  Lines        1529     1529
=======================================
  Hits         1461     1461
  Misses         68       68

Impacted Files
Coverage Δ

.../orquestra/vqa/openfermion/_openfermion_adapter.py
94.44% <ø> (ø)

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


Forward port from devel to master

I have been following practice of rebasing the master branch with devel whenever it's ready for a release. Merge commits introduces new hash which makes it difficult to track.

Hmm we can do that but that means we need to directly push the code. Which introduces risk.
Am I missing something ?

Hmm we can do that but that means we need to directly push the code. Which introduces risk.
Am I missing something ?

Master will not have any new feature in it that is not in devel, so no risk. Think of master as a copy of devel which is stable at any given moment. We can disable creating PR against master if that is possible?


Dump the final secor configuration on the 'debug' log level

Fixes #465

Actually I think it made sense to apply both suggestions:

Using the template string looks cleaner than the string concatenation, and seems to be a "best practice" for logging
The most important cost of dumping the configuration isn't in that string concatenation, but rather in building the string in the first place. Now this code is only run once, but it still seems prudent to avoid wasting cycles here.


Understand xxx.osrm.ebg_nodes file structure and contents

See introduction in https://github.com/Project-OSRM/osrm-backend/wiki/Toolchain-file-overview.
This task is one of the breakdown of #115

https://github.com/Telenav/open-source-spec/blob/master/osrm/doc/osrm-toolchain-files/map.osrm.ebg_nodes.md


npt_threaded_rod:  reverse orientation for internal threads?  Add pipe option?

As I said in the chat, I think it might be better if internal threaded rods, which are differenced from objects, should appear by default in the correct orientation to be differenced, namely orient=DOWN, anchor=TOP.  As it stands, if you just naively make an object and use
 diff("remove")
 object()
    attach(location) npt_threaded_rod(....,internal=true, $tags="remove");

then the difference will be upside-down, which won't really be obvious until the screw doesn't mate with the fabricated part due to the reversed taper.   Basically all the normal use cases with attach will require orient=DOWN, anchor=TOP.   Another issue is positioning so that the difference works properly without a slight offset.  I think this should be built in, rather than me having to shift it up.
My other thought is that maybe there should be a pipe option to make the npt threaded rod (for external threads) hollow, so that it's easy to make a pipe.  I know in theory you can subtract a cylinder, but it's not obvious what the diameter should be to obtain a desired wall thickness.

Regarding the internal pipe diameter, isn't that by definition the pipe size?  ie: 1/4" for 1/4 NPT?


Add MIT License to project

Thanks for being willing to add an MIT license to your project. I have listed your name in the license. Certainly check to make sure it is spelled the way you would like it.
Thanks!

Thanks @dhill2522


chore(Travis): Update api key

Replacing the Travis API Key now it has been regenerated.
Summary

Result

Trying to figure out the bulk-require problem :)

It's all 💚  now :D @PLNech

thx guys!


Update community-operators/special-resource-operator CSV with bundle …

Thanks submitting your Operator. Please check below list before you create your Pull Request.
Updates to existing Operators

[ x ] Did you create a ci.yaml file according to the update instructions?
[ ] Is your new CSV pointing to the previous version with the replaces property if you chose replaces-mode via the updateGraph property in ci.yaml?
[ x ] Is your new CSV referenced in the appropriate channel defined in the package.yaml or annotations.yaml ?
[ x ] Have you tested an update to your Operator when deployed via OLM?
[ x ] Is your submission signed?

Your submission should not

[ x ] Modify more than one operator
[ x ] Modify an Operator you don't own
[ x ] Rename an operator - please remove and add with a different name instead
[ x ] Submit operators to both upstream-community-operators and community-operators at once
[ x ] Modify any files outside the above mentioned folders
[ x ] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[ x ] Description about the managed Application and where to find more information
[ x ] Features and capabilities of your Operator and how to use it
[ x ] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[ x ] Human readable name and 1-liner description about your Operator
[ x ] Valid category name1
[ x ] One of the pre-defined capability levels2
[ x ] Links to the maintainer, source code and documentation
[ x ] Example templates for all Custom Resource Definitions intended to be used
[ x ] A quadratic logo

@dagrayvid, default channel is missing:
Required operator bundle annotation(s) not found:  operators.operatorframework.io.bundle.channel.default.v1

@dagrayvid, default channel is missing:
Required operator bundle annotation(s) not found:  operators.operatorframework.io.bundle.channel.default.v1

@J0zi can we please overwrite the version 0.0.1, as mentioned in the error message of the failing tests.

@J0zi can we please overwrite the version 0.0.1, as mentioned in the error message of the failing tests.

/ok-to-test

/ok-to-test

@dagrayvid, also discussed over chat.
oc describe csvs
No resources found in ci-op-pdipvz4z namespace

oc get subs special-resource-operator -n test-operators -o=yaml
        status: "False"
        type: CatalogSourcesUnhealthy

oc get catalogsource test-operators-ocs -n openshift-marketplace -o=yaml
        lastObservedState: READY
      registryService:
        createdAt: "2021-01-26T20:42:51Z"
        port: "50051"
        protocol: grpc
        serviceName: test-operators-ocs
        serviceNamespace: openshift-marketplace

@dagrayvid, also discussed over chat.
oc describe csvs
No resources found in ci-op-pdipvz4z namespace

oc get subs special-resource-operator -n test-operators -o=yaml
        status: "False"
        type: CatalogSourcesUnhealthy

oc get catalogsource test-operators-ocs -n openshift-marketplace -o=yaml
        lastObservedState: READY
      registryService:
        createdAt: "2021-01-26T20:42:51Z"
        port: "50051"
        protocol: grpc
        serviceName: test-operators-ocs
        serviceNamespace: openshift-marketplace

dependent on NFD operator

dependent on NFD operator


Add support for credentials flag

I've seen several people ask for this (myself included) so that one doesn't have to have two different clones for two different accounts.
I've read the discussion on a previous PR that it's out of scope of this project and I'm okay with that, it's up to you, I'm just pushing this for others to use.

Seems like I just didn't like the solution in #14, but yours is laconic and I love it.


react-reveal throwing console PropTypes warning on import

Hey guys,
Love react-reveal and using it on sweetlightstudios website.
When I import react-reveal via:
import Reveal from 'react-reveal';
The console throws a warning:
proxyConsole.js:56 Warning: Accessing PropTypes via the main React package is deprecated. Use the prop-types package from npm instead.
Best,
b0ts

Should be fixed by 8781e9588cfb5b547e3cae1ead862622d78a536d commit. Upgrade your react-reveal version to ^0.2.0


Submodule tests are not run automatically, failure in CalibrationsTest

Describe the bug

When running Tests in Xcode, expect submodule tests to run automatically
The CalibrationsTests in FreeAPSTest is failing and should be fixed

To Reproduce
Steps to reproduce the behavior:

Open Xcode
Build to a simulator
Run Tests

Expected behavior

All tests should run (including submodules.
All tests should pass

The 4 XCTAssert line that fail are: lines 34, 36, 38 and 42 for FreeAPSTests/CalibrationsTests.swift

I kept meaning to test this but life got in the way.
This was fixed with PR #206
I confirmed once again that automatic tests are working just fine; they all passed.

Marking as completed based on Marion’s test.


Add SHAP support

@kmike @lopuhin Hi eli5 community,
I'm interested in working on the eli5 project. Specifically on the task of adding the SHAP support.
How should I start?

Hi @asperaa adding SHAP support is one of proposed Google Summer of Code projects, would you like to do it as a GSoC student, or independently?
In any case, I think a good way to start would be checking some existing small issues https://github.com/TeamHG-Memex/eli5/issues?q=is%3Aissue+is%3Aopen+label%3A"help+wanted" to get to know eli5 better.
Also there is already an issue about adding SHAP support here https://github.com/TeamHG-Memex/eli5/issues/240 - I think it's better to move any SHAP-specific discussion there

I would like to do it as a GSoC student.

Also, I will move the SHAP support discussions to #240.Much excited.

@asperaa great, thank you!
In order to get accepted, one needs

a good proposal, and
contribution to a project.

(1) is needed to make sure you understand the project well, and have a concrete plan on how to implement it.
We ask for (2) to figure out how does it feel to work with you, and to ensure you're comfortable with the development process.
To write a good proposal I think you need to understand

what is eli5 library about, how it is used, how the code is organized, etc.;
SHAP algorithm (https://arxiv.org/abs/1802.03888) - what are its applications, how it works, what are its limitations;

So we suggest to try using eli5 for some problems, read its source code, check what's implemented, to understand where SHAP fits in - and also read SHAP paper, as well as try using https://github.com/slundberg/shap package.
After that it makes sense to check https://github.com/TeamHG-Memex/eli5 issue tracker (especially
https://github.com/TeamHG-Memex/eli5/issues?q=is%3Aissue+is%3Aopen+label%3A"help+wanted%2 but feel free to tackle any other issues you find), and try to fix some of the problems there, to get a contribution. You may also fix something which is not currently on the issue tracker, if you've found something when trying eli5.

Hi , I also want to join . Can more than person join. I am already using eli5  and shap for the production purpose. But would like to combine them in one.

@Sanyam07 I’m sorry, the student application deadline has passed already. See https://developers.google.com/open-source/gsoc/timeline
Maybe you can apply next year?


Permission denied

Hello I am trying to run infer and getting this error
infer -- ./gradlew build
Traceback (most recent call last):
File "/Users/user/1-Programming/4-Infer/infer-osx-v0.1.0/infer/infer/bin/infer", line 142, in
main()
File "/Users/user/1-Programming/4-Infer/infer-osx-v0.1.0/infer/infer/bin/infer", line 119, in main
capture_exitcode = imported_module.gen_instance(args, cmd).capture()
File "/Users/user/1-Programming/4-Infer/infer-osx-v0.1.0/infer/infer/bin/../lib/capture/gradle.py", line 41, in capture
cmds = self.get_inferJ_commands(util.get_build_output(self.build_cmd))
File "/Users/user/1-Programming/4-Infer/infer-osx-v0.1.0/infer/infer/bin/../lib/capture/util.py", line 24, in get_build_output
proc = subprocess.Popen(build_cmd, stdout=subprocess.PIPE)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 709, in init
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1326, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied
I have installed
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
javac 1.8.0_31
python --version
Python 2.7.6
P.S. I am able to run Infer infer -- ./gradlew build in ther sample directory which comes with it.

chmod a+x gradlew should do it.
https://github.com/facebook/infer/issues/61

Ok, I done that. Now i get this:
env: bash\r: No such file or directory

thanks for your reply akotulski
I try it, now i get this:
env: bash\r: No such file or directory

Hello @MrThiago,
Could you please try running ./gradlew only?

same thing.
./gradlew build
env: bash\r: No such file or directory
I will try to restore my project...

ok, I just restored my project - now i get = gradlew: Permission denied
./gradlew build
-bash: ./gradlew: Permission denied

The problem is related with permission on your gradlew script.
Have you tried giving it permission like @akotulski suggested?

yes,
chmod +x gradlew
./gradlew build
env: bash\r: No such file or directory
and
chmod a+x gradlew
env: bash\r: No such file or directory

Is this the gradle example from the infer release, or a different project? First try to see if you can build it with "./gradlew build". If it doesn't build infer won't be able to analyze it.

does this looks right ?
ls -l
total 96
-rw-r--r--@ 1 thiago  staff    929 Jun 15 14:44 Rokki.iml
drwx------  9 thiago  staff    306 Jun 15 14:44 app
-rw-r--r--@ 1 thiago  staff    627 Jun 15 14:44 build.gradle
drwx------  3 thiago  staff    102 Jun 15 14:44 gradle
-rw-r--r--@ 1 thiago  staff    872 Jun 15 14:44 gradle.properties
-rwxr-xr-x@ 1 thiago  staff   5244 Jun 15 14:44 gradlew
-rw-r--r--@ 1 thiago  staff   2404 Jun 15 14:44 gradlew.bat
-rw-r--r--@ 1 thiago  staff  14430 Jun 15 14:44 import-summary.txt
drwx------  5 thiago  staff    170 Jun 15 14:44 library
drwx------  7 thiago  staff    238 Jun 15 14:44 library_AndroidAsync
-rw-r--r--@ 1 thiago  staff    492 Jun 15 14:44 local.properties
-rw-r--r--@ 1 thiago  staff     63 Jun 15 14:44 settings.gradle

@irpap hi.
If I run Infer on the example project that came with infer release it works fine.
Now I am trying to run on my own project.

@MrThiago these failures have nothing to do with infer - they are related to gradle since it works on our example.
Quick googling gave me this, maybe it applies to you as well:
http://stackoverflow.com/questions/22301956/error-with-gradlew-usr-bin-env-bash-no-such-file-or-directory

@MrThiago how do you normally build your project?

@irpap  using Android Studio
@akotulski Thank you for your info. I try it. also no hope. I will google more for help on my MAC.

@akotulski @irpap @martinoluca Thank you very much for all your help...
Apologies to discover the problem was with my gradlew and not Infer.
Thanks agian.
P.S, I fixed gradle, had to install in on my mac. My project was built on a Windows. I guess that was the problem. I can now run INFER ;-))

Thanks for the update @MrThiago!


move serializer

Signed-off-by: Ke Xu<EMAIL_ADDRESS>

Approving with the assumption that these comments will be addressed in a followup PR 🙂


Need unit tests with analytic solutions

The current unit testing structure was aimed mainly at testing all possible combinations {f, G, IA} where f is the integral function name/alias, G is a Meshes.Geometry sub-type, and IA is an integration algorithm. In hindsight, the system I wrote for batching these tests was perhaps a little bit too clever for its own good. It also relies on Meshes.measure to produce correct answers for a unit-valued integrand.
As of 7-Sep-2024, we’re currently at about 77% code coverage per the Codecov report. Most of the gaps seem to be related to wrapper/convenience methods, i.e. ones that simply batch out to the core integration methods.
Ideas for a more robust test system:

Define more interesting test geometries with analytic solutions to check against
Evaluate whether TestItems.jl could be helpful here

I just merged #68 beginning an effort to restructure unit tests.

#73 continues this effort.

#78 implements a TestItems.jl workflow.

Status Update as of v0.14.0
Code coverage is "officially" up to 100% as of the v0.14.0 release. However, this only verifies that all lines of code within this package are exercised during the tests, not that all possible combinations of integral argument types produce correct results.
Work is still ongoing to convert old-style generated @testset's to new-style (combinations.jl) @testitem's.

Status Update
As of #100 merging, the previous automatic test generation system (auto-tests.jl) has been completely removed in favor of a collection of TestItems.jl @testitems (combinations.jl).
Remaining work on this Issue:

Some @testitems still use a unit integrand (I.e. f(p) = 1.0) and fairly simple geometry constructions with benchmark integral value provided by Meshes.measure. These should be updated with more interesting functions and geometries with known analytics solutions.

Status of Unit Tests with Analytic Solutions

[ ]

[ ]

I have an idea for implementing analytical tests for Triangle and Tetrahedron, but it would require some modification/bypassing of the current test/combinations.jl infrastructure:

Use the appropriately-dimensioned Box tests as a starting point.
Define multiple Triangle/Tetrahedrons that collectively span the entire Box domain.
Check the sum of these integrals against the correct solution.


Make fixints usable through serde field attributes instead of wrappers

This changes the (thankfully not public, by shear accident), fixint module to be usable through the #[serde(with = ...)] field attribute instead of wrappers.
For example:
#[derive(Serialize, Deserialize)]
pub struct DefinitelyBE {
    #[serde(with = "crate::fixint::be")]
    x: u16,
}

Awesome, thanks @lachlansneff-parallel!


Confused about the StackSlot, when should we use it?

After reading the Overall Structure section in IR, I found the sum variable is explicitly placed in the stack with ss0 = explicit_slot 32. However, the loop induction variable i is not placed explicitly placed in the stack.  The document said:

Such variables can also be presented to Cranelift as [stack slot]s. Stack slots are accessed with the stack_store and stack_load instructions, and can have their address taken with stack_addr, which supports C-like programming languages where local variables can have their address taken.

I am confused about when should we create a StackSlot. What is the advantage of StackSlot over Variable like i in the above?  In my view, all of them are in the stack, there is no difference here. I searched a lot and did not find the answer. Could anyone explain it?
Thanks in advance.

I think the main point of confusion is

In my view, all of them are in the stack

which is not quite true: in the example you linked, i is never stored on the stack; it exists only as SSA values. That is exactly the difference: StackSlot is an allocation of memory, and you can load and store to it whenever you like; Variable is an abstraction in cranelift_frontend that builds Values, which are values computed in your program that may only live in registers. You can load a stack-slot to get a value, and you can store a value to a stack-slot; but a stack-slot itself is not a value.


Sphinx documentation revision

Description

This PR comprises modifications to the sphinx documentation (used for generating http://www.qiskit.org/documentation/), aimed for gathering feedback and iterating further. The core of the changes are:

general structure: instead of a single page, the documentation has been split in several sections. Please note the actual contents have not been changed - only reorganized. The purpose is to ease the exposure of the user to the SDK, trying to guide new users gently and at the same time allow expert users to jump directly to the sections that are relevant to his needs. It also allows for expanding the documentation in the future easily without requiring to change the overall structure, having a valid Table of Contents in the process.
index page (ie. the top-level page): in the spirit of other packages using sphinx documentation, it has been keep relatively light of content on purpose, acting as a table of contents with some quick links to the modules, following the same rationale as used for the splitting of the documentation in chapters.
automatic API documentation (renamed to SDK Reference): the autodocs now only include the "Public" methods (those imported from the main module), after a discussion with other members of the team based on the impression that advanced users would jump straight into the code if needed. A friendlier view that uses autosummary to display the contents of each page, and a summary of each class methods, has been included replacing the full list of raw contents.

The output of the changes on this PR can be found at https://diego-plan9.github.io/doc/ for convenience (will be updated when new commits are added to this PR).
Motivation and Context

This PR is an attempt to make the documentation friendlier to both new SDK users and developers interested in exploring the SDK, and achieve the right balance.
Issues still to be discussed/fixed:

personally, I feel there is a slightly bigger than expected gap between the first example (quickstart) and the information about the SDK from a developer perspective. Perhaps it would be a good idea to devote a chapter (or add some content after the first example) including more information about the usual QuantumProgram usage/worfklow/operations (ie. build, compile, results, etc)?
the automatic API docs currently do not include enough information about the simulator package, in part due to the auto-discovery mechanism. I still need to investigate the issue: a short-term backup solution would be to hard-code the name of the simulators.
the style and visual aspects of the theme have not been considered a priority for this PR - however, in the future it might be beneficial to switch to a more designer-friendly Sphinx theme, as the current one might be a bit unflexible for certain types of changes.
the generation of the automatic API docs is a bit convoluted internally (made in two passes), mostly due to the handling of private vs public members. Long-term it might be a good idea to invest some time clarifying a bit the SDK concept of public vs private.

How Has This Been Tested?
make doc

Screenshots (if appropriate):

Types of changes

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

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

I noticed that the module level documentation seemed to get cut from autoapi generated documentation. For instance the class LocalSimulator is described but not how the module works which describes how to add new backend modules. Is this information elsewhere or can we return it?

Thanks, Erick - it is a byproduct of some of the issues mentioned on the "Motivation and context" paragraph on the PR, but I fully agree the documentation about the simulators is very relevant and something that should be addressed.
In this case, the absence of that text it is a combination of:

all the simulators (except LocalSimulator) being "private" (by our current lax definition of private and current conventions). This means that they are not reachable by the imports chains, and the auto documentation does not pick them by default.
more importantly, the way the simulators are "auto discovered" now. The current mechanism (from ._localsimulator import * on __init__ and the populating of _simulator_classes makes it difficult for sphinx to automatically inspect the simulators using the standard tools, as it relies mostly on the standard import mechanism.

As a matter of fact, could you let me know the rationale for using the simulator auto-discovery mechanism instead of a more traditional (ie. imports and maybe subclasses) approach? It seems very useful for extending the SDK in the case there are a lot of simulators and they are constantly changing, but at the moment it seems to be adding quite a complexity to the code and friction with existing tools (sphinx, the IDEs, etc) that seems a candidate for refactoring a bit.
Shorter term, I will make some changes for including the documentation about the simulators - which probably will involve manually hard-coding the files to be included for the moment.

I think the The motivation for the discovery mechanism was to allow people to easily add their own simulator backends by just dropping in the module. Previously it was necessary for the specific module to be imported into _quantumprogram and for the simulation developer to call their module by name there. By having QuantumProgram only having to "know" about LocalSimulator it doesn't have to change just because a new backend was introduced.  It should be possible, however, to let the modules themselves appear as a part of the import. I am working on an abstract base class for backends at the moment so maybe I can revisit this.

Hmm, with the current setup, the docstrings for the modules (ie. the one at the top of each something.py file, except for __init__.py) should be included in the final result - could it be a case that we actually do not have public modules (and with this PR, only public entities are included)? At the moment most of the items on this PR's docs are either classes (which will only contain docstrings from inside the class) or packages (which will include docstrings from __init__.py), as a side effect of only documenting the "public" ones.
With the latest couple of commits the documentation for the simulator modules is included, though (and hence catching the missing docstrings at the top of each file!), as shown here. This is done via manually specifying which private modules/classes are included - if there are other important ones that might be missing, could you point me to those? It's not the ideal approach, but one that would work until we revise a bit more the decision of public vs private in general.

I'm not sure it makes sense to document a class inside a private module but not the private module itself. I think many modules include docstrings but often they repeat the docstrings of their primary class. Never the less I think we should support it. It seems like the autodoc module you're using should have an option that allows that.
Maybe we can put this off for now until we address public vs private modules.

It is certainly a bit counter-intuitive indeed, but the reason for having a "private" class documented and not its "private" module is indeed heavy related to the way we are handling the imports (and the public vs private distinction).
Currently, we allow (and encourage in the examples and documentation) the user to import QuantumProgram using:
from qiskit import QuantumProgram

due to the  from ._quantumprogram import QuantumProgram line   quiskit/__init__.py. Perhaps a better word would be "exposed" classes: we are exposing to the user just the classes imported in __init__.py, and not the modules (qiskit._quantumprogram, in the example); and the autodoc on this PR is picking up only those exposed items.
On the conversations shortly before starting the PR, the general feeling was that documenting all the private classes and modules was very verbose and confusing for the expected user (and assuming the advanced users, at least at this stage, would end up inspecting the code directly), but would be happy to revisit the decision or include any specific docstrings/classes/modules that might have been overlooked (as done with the simulators package)!

Maybe we can put this off for now until we address public vs private modules.

That is my feeling as well - I think both the discussion and the documentation details would be much more straight forward to decide once we address the public vs private issue as a whole :+1:


Area and plane collision shape signal not working

Operating system or device, Godot version, GPU Model and driver (if graphics related):
Windows 10
Godot 3.0
Nvidia Gtx 660
Issue description:

Area3d did not send signal when other body object passed through the collision shape set as plane. I expected for the signal to be work when a object passed through it.
Steps to reproduce:
add Area3d
attach collision shape
set collision to plane
set signal for Area3d to body entered
Have a different Physics object touch the Area3d
Link to minimal example project:

Can anyone still reproduce this bug in Godot 3.2.1 or 3.2.2beta4?

Closing due to lack of response. Please comment if you can still reproduce this bug.
PS: If no minimal reproduction project was included in the original bug report, please upload one as well to ease troubleshooting.


keep scroll position on resize

I use bricklayer for a very long feed of social media posts and as soon as bricklayer needs to recalculate the columns (resize or change the orientation) it jumps to the top of the page, which is very bad for the user experience. It would be nice to include an option to prevent this and stay at the last scrollposition on resize/orientation change.

We need to calculate which element is close to the top scroll position, store it and rescroll to it after redraw.
I'm going to think about it.


ci: switch to GitHub Actions

Closes: #307
Signed-off-by: Troy Ronda<EMAIL_ADDRESS>

Codecov Report

Merging #308 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #308   +/-   ##
=======================================
  Coverage   88.75%   88.75%
=======================================
  Files          39       39
  Lines        1975     1975
=======================================
  Hits         1753     1753
  Misses        122      122
  Partials      100      100

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 38abe42...c5c690b. Read the comment docs.


Incompatible with JupyterLab 4.1.5

When trying to run jupyterlab-blockly on JupyterLab 4.1.5 (current latest, didn't work with previous 4 versions either) the following errors are printed in the Browser's Javascript console:

jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1 Plugin 'jupyterlab-blocky:plugin' failed to activate.
(anonymous) @ jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1
jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1 TypeError: mainMenu.kernelMenu.kernelUsers.add is not a function
    at activate (index.js:163:1)
    at jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1715670
    at async Promise.all (index 164)
(anonymous) @ jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1
jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1 TypeError: Cannot read properties of undefined (reading 'createCellHeader')
    at $e.initializeDOM (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:246971)
    at $e.initializeDOM (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:250923)
    at set placeholder (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:243844)
    at $e.onBeforeAttach (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:247939)
    at $e.processMessage (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1781568)
    at b (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1753611)
    at Object.o [as sendMessage] (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1752442)
    at BlocklyLayout.onBeforeAttach (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1787213)
    at BlocklyLayout.onBeforeAttach (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1795177)
    at BlocklyLayout.processParentMessage (jlab_core.23e8a6b191d1fa15c1b7.js?v=23e8a6b191d1fa15c1b7:1:1786612)

None are shown server-side (I assume because the instructions never reach it due to the browser errors, probably due to interface changes?)
In the browser the blockly interface can be used properly but neither running it nor the code preview screen shows. (It simply stays empty I assume because the JavaScripts fails)
(Using it with JupyterLab 3.16 as indicated by the readme works fine though but being able to use an up to date JupyterLab version would be nice and I didn't find an issue regarding this yet)

Thanks for opening this issue!
As you discovered, the errors were coming from the extension's incompatibility with  v4 of JupyterLab.
A new release was made of jupyterlab-blockly, v0.3.2, and is compatible with the latest JupyterLab, namely v4.2.4.


Nativemem profiling fails when used with option --fdtransfer

Team we are trying to identify the leak candidates of an off heap netty memory issue using async-profiler. Since our container doesn't have the perf events installed we have to rely on the option fdtransfer to generate the required profiles.
Since its an off heap allocation we tried with option nativemem but we got a different message while invoking the command
./profiler.sh --fdtransfer -e nativemem -d 100
[ERROR] Unsupported event type
We did a LD_PRELOAD of the required library both on the host and container
export LD_PRELOAD=/opt/async-profiler-2.8-linux-x64/build/libasyncProfiler.so
we used the latest version 2.8 of async-profiler.
Thanks

I already answered the same question in #482:

nativemem option is available only in a special version built from malloc branch;
--fdtransfer does not have effect for nativemem.

Sorry for the repeat question. My apologies


Remove lib/ and Makefile, webpack config from .npmignore

Ignoring these files prevents the ability to use custom branches of react-grid-layout via a GitHub url, like this: https://github.com/ccnmtl/juxtapose/blob/master/package.json#L30
Without lib/ and Makefile and webpack.config.js, the custom build fails.

This makes sense to me, but it also kind of breaks the whole point of .npmignore. Looking for a solution. I'm on vacation now so if you have the time, please let me know if you find a way to make this work properly while still keeping the bundle size down for npm consumers, which is 99% of regular use.

Yeah, I understand. I'll let you know if I find some best practices / what other npm packages do.


Add option to refresh scroll for a particular link when using morph/preserve scroll otherwise

We are using Turbo refresh with morph and scroll preserve with turbo action "replace" on an index view page that allows filtering and search. It works really well, except that we have some pagination links at the bottom of the page that we would like to drop the scroll preserve, so that the scroll moves up to the top of the search results instead of staying at the bottom of the page. Is this possible? Google's AI helpfully(?) told me:

Yes, with Turbo (a JavaScript framework for fast web interactions), you can configure individual links to either "reset" or "preserve" the scroll position when navigating, meaning some links can jump to the top of the page while others maintain the current scroll position upon clicking, using the data-turbo-refresh-scroll attribute with values "reset" or "preserve" respectively.
Key points about using data-turbo-refresh-scroll:
How to implement: Add the data-turbo-refresh-scroll attribute directly to the anchor tag () with either "preserve" to maintain the scroll position or "reset" (default) to jump to the top on navigation.

I tried removing the scroll preserve directive from the meta tag, and adding data-turbo-refresh-scroll='preserve' to the form, and data-turbo-refresh-scroll='reset' to the pagination links, but this did not work and I could not find any solution otherwise.
I ended up adding some custom JavaScript with a data-turbo-refresh-scroll attribute in a similar vein to https://github.com/hotwired/turbo/issues/37#issuecomment-751523976, but it is a little convoluted since we are trying to scroll to an anchor. It would be great if we could just add an attribute to the link to drop the scroll preserve.

Can't you control this with the meta tag from the server side depending on the URL?

Do you mean modifying the meta tag from the server side when someone clicks a pagination link? We have this set up roughly using turbo-rails gem (using Stimulus to submit the form automatically when filters are selected):
<% content_for :head do %>
  <%= turbo_refreshes_with method: :morph, scroll: :preserve %>
<% end %>

<%= form_with(url: some_path, method: :get, data: {controller: "form", turbo_action: "replace"}) do |f| %>
  ... search box ...
  ... filter checkboxes ...

  <div id="record-count">
     <% @pagy.count %>
     <% .. sort_by form field .. %>
  </div>
  <% render "results"%>
<% end %>
<%== pagy_nav(@pagy, anchor_string: "data-turbo-action='replace'", fragment: "#record-count") %>

This works really well in that scroll is preserved when the user selects different filters. However, when they click a pagination link, we'd like to remove the scroll preservation. If we modify the meta tag when a pagination link is clicked, then we would have the opposite problem that then the filters wouldn't have scroll preserve. Or am I misunderstanding your suggestion?
If we don't use data-turbo-action='replace' on the pagy links, then our accordion javascript that is part of how we display the search results breaks on subsequent pages.

You can change the value of the meta tag dynamically when you want the scroll to be preserved. For example, you could add a parameter to the filters form that indicates that the request is coming from that form, and if so, you make the scroll preserved using the meta tag.

Ah yeah, I see, that works, and is probably nicer than my convoluted JS override. Though it would be nice to have a solution that doesn't involve passing a parameter through the URL.

We don't plan to increase the scope of the API yet, but I understand the use case, so I'll leave it open for now!

Great, thank you! I ended up using the turbo:morph event in my Stimulus controller to avoid passing a parameter through the URL. Thanks for pointing out that I could dynamically change the meta tag.
import { Controller } from '@hotwired/stimulus';

export default class extends Controller {
  static targets = ['resetScroll'];

  connect() {
    let resetScroll = false;
    this.element.addEventListener('turbo:before-fetch-request', (event) => {
      if (this.resetScrollTargets.includes(event.target)) {
        resetScroll = true;
      }
    });

    document.addEventListener('turbo:morph', () => {
      if (resetScroll) {
        const metaTurboRefreshScroll = document.querySelector('meta[name="turbo-refresh-scroll"]');
        metaTurboRefreshScroll.content = 'reset';
        resetScroll = false;
      }
    });
  }

  submit() {
    this.element.requestSubmit();
  }
}


Server dashboard backup widget shows old results

SQL Operations Studio Version: April insiders build 0.28.5
Steps to Reproduce:

Open a server dashboard
Close SQL Ops Studio and reopen it
Open the same server dashboard again and observe that the "Last updated" time for the backup widget is from at least the first time you opened the dashboard, if not earlier

Expected behavior: The widget refreshes automatically when the dashboard is opened for the first time in a session, if not every time the dashboard is opened.
Depending on when you first opened the dashboard for the given server and when you last refreshed, the results may be very out of date, as in the below screenshot:

Closing older issues.


Parse IP & port when connect

CI seems to be failing on main, I'll investigate why

I think the better approach to this is to access the .socket property like shown in https://github.com/PondWader/node-socks5-server/issues/1#issuecomment-2114511347, any opinions?


Tweak names

Renaming the fw_rules* to firewall_rules* for clarity.
Also fixed a typo in the forwarding rules tests.

Thanks for the review!


All demos crashing on OSX 14.0

Related to https://github.com/gkjohnson/three-gpu-pathtracer/pull/457#issuecomment-1763429214
The basic and beauty renders demos work - but the primitives demo does not.

hi, I pulled the latest changes, and, to be sure, tried on a just restarted machine (2021 Macbook M1 Pro with M1 Max, 32 Gb, 24 cores GPU). I am using the latest OS (Sonoma 14.0), Safari 17.0, Chrome Version 118.0.5993.70.
On Chrome, if I load index.html, it hangs for a while, and then crashes, strangely leaving the standard three.js rendering "on". But the path-tracer shaders fail to compile, the webgl context is lost, the browser hangs and is irresponsive.
On Safari, I get no errors, but a grey-black grid (see screenshot), except when I rotate the model, where I get standard three.js rendering.

As I said in another issue, disabling MIS makes it work on both browsers. Examples that do not use MIS (e.g. aoRender.html) work without modification.

I'm on OSX 13.5 so let me upgrade and see what happens 😓

no pressure :)  btw, great work!

wow, I don't have that. Safari fails quite gracefully, only Chrome is
kinda frozen (the whole browser, not just the tab). Anyway, maybe it's
possible to check for macos and disable MIS as a temporary workaround? I
am also trying to make it work on iOS, and, besides disabling MIS, I had
some success by substituting the env maps lookups to a fixed color (i.e.
a white dome), I think it's related with the fact that iOS devices,
despite nominally supporting Float32 textures in WebGL, actually behave
nicely only with Float16 ...
On October 17, 2023, "dependabot[bot]" @.***> wrote:

Yeah I just upgraded and the crash is worse than ever, now, and hangs
the browser and stalls the OS...

disabling MIS makes it work on both browsers

In terms of disabling MIS - as I mention in #456
https://github.com/gkjohnson/three-gpu-pathtracer/issues/456 this
really just removes a large swath of code from the shader. It
unfortunately doesn't tell us a lot about what the issue might be.

—
Reply to this email directly, view it on GitHub
<https://github.com/gkjohnson/three-gpu-
pathtracer/issues/463#issuecomment-1766021689>, or unsubscribe
<https://github.com/notifications/unsubscribe-
auth/ABROD32DEXABYMSK3Y5XVSTX7ZFCDAVCNFSM6AAAAAA6DEEZOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRWGAZDCNRYHE>.
You are receiving this because you commented.Message ID:
@.***>

Looks like this is possibly an OSX compiler issue:
https://twitter.com/gfxprogrammer/status/1715963911416258769

Anyway, maybe it's possible to check for macos and disable MIS as a temporary workaround?

Disabling MIS will only really work with a really simple env map so the functionality isn't really equivalent. If users are set up to use a simple map then they should disable MIS. Other than that I'd prefer to see what happens with this on the browser / OS side.

I think it's related with the fact that iOS devices, despite nominally supporting Float32 textures in WebGL, actually behave nicely only with Float16 ...

Do you know any more about this or have any references? Have you tried substituting the float32 textures for float16 to see if it fixes other issues?

Hi, sorry for the delay, I don't have references, but I've seen it reported multiple times. iOS devices do not handle float32 textures correctly in webgl. The problem with substituting with a float16 is that you read the texture back from gpu after e.g. blurring it, and the read operation fills a buffer of float32, so I guess I have to change a bit of code to make it work with float16, e.g. in BlurredEnvMapGenerator:
`// read the data back
const buffer = new Float32Array( width * height * 4 );
renderer.readRenderTargetPixels( renderTarget, 0, 0, width, height, buffer );
	const result = new DataTexture( buffer, width, height, RGBAFormat, FloatType );`

btw, why are you loading the texture back from gpu memory? why not directly use a render target texture?

why are you loading the texture back from gpu memory? why not directly use a render target texture?

The distribution of intensity across pixels is calculated on the pixels on the CPU so we know which pixels will to sample from with a higher frequency since brighter pixels will have a higher contribution to the final image.

The problem with substituting with a float16 is that you read the texture back from gpu after e.g. blurring it, and the read operation fills a buffer of float32, so I guess I have to change a bit of code to make it work with float16, e.g. in BlurredEnvMapGenerator:

There's no need to use a BlurredEnvMapGenerator. If you load an HDR map you can use it directly then everything should still work - you could even copy any loaded float32 buffers to float16 for use with the pathtracer. Finding at which stage a failure occurs. From your first comment it's not clear what kind of problems you're seeing.

I'll open a specific issue on iOS and describe the problem

Fixed in #483


docs.dask.org Dask Bag correction

On the Dask Bag page the mathematical description of a bag is discussed in comparison to a list and a set. See highlight.
However, the bullet-pointed descriptions of list, set and bag are, to my understanding, inverted in terms of whether they are ordered or unordered, and the descriptions do not match the given examples.
Original:

list: ordered collection with repeats, [1, 2, 3, 2]
set: unordered collection without repeats, {1, 2, 3}
bag: unordered collection with repeats, {1, 2, 2, 3}

Should read:

list: unordered collection with repeats, [1, 2, 3, 2]
set: ordered collection without repeats, {1, 2, 3}
bag: ordered collection with repeats, {1, 2, 2, 3}

My definition of ordeed is that elements have a place or index.  The order matters.  In this sense, lists are ordered and sets/bags are not (order does not matter for them).  Does that seem sensible to you?  Maybe there is a better term to use here?

Ah, I understand. I think having this statement alongside the particular examples given is confusing (to me) because it seems to imply numerical order.
Maybe this should be "indexed" or "iterable"?

I think that ordered is still probably the best term.  Typing "set vs list"
into Google I get:
The main difference between List and Set is that Set is unordered and
contains different elements, whereas the list is ordered and can contain
the same elements in it.
On Thu, Jan 5, 2023 at 11:31 PM Dave McKay @.***> wrote:

Ah, I understand. I think having this statement alongside the particular
examples given is confusing (to me) because it seems to imply numerical
order.
Maybe this should be "indexed" or "iterable"?
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/9806#issuecomment-1373262545, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTC7G2DD6G5UOU7JX73WQ7C4TANCNFSM6AAAAAATRYKCME
.
You are receiving this because you commented.Message ID:
@.***>

Hi, ok, cool, I'm happy with that. Thanks for clarifying this for me.

I'm also in favor of sticking with the term "ordered". Thanks for the issue @davedavemckay and for clarifying @mrocklin


Surface Duo 2 screen detection does not work

Preparation

[X] I tested the latest release
[X] I looked at other issues (even the closed ones)
[X] I read the Troubleshooting Guide

FGO server
NA
FGA build number
1781
Describe the bug
Nothing happens after clicking  play and selecting a battle config. App also does not automatically detect support screen to allow me to take screen shots of CEs.
Video
For some reason screen recording fails, it says 'failed to start recording: prepare failed'
Here is a screen shot of the debug areas

Device model
Surface Duo 2
Android version
11
Screen size
2688 x 1892
RAM
8GB

Did you configure the Surface Duo Game Area Mode in the settings?

Did you configure the Surface Duo Game Area Mode in the settings?

Yes I did.  Here are my advanced options.

Surface Duo was added a while back when I first tried to use fga on my SD1. I now have a duo 2 which has a different screen size. I'm hoping that the fix is to adjust for the new resolution and that it's not too much work as I'm likely the only duo user of this app.

Please test https://github.com/Fate-Grand-Automata/FGA/suites/7968417259/artifacts/340680930
Use Duo mode with Custom offsets set to 0 on all sides.

Surface Duo 1 should still work with left and right set to 192, btw.

Please test https://github.com/Fate-Grand-Automata/FGA/suites/7968417259/artifacts/340680930
Use Duo mode with Custom offsets set to 0 on all sides.

Using build 1788, here are my advanced settings

I can confirm that the support image maker does detect correctly and does work.

However, the detect area appears to have moved to the left center of the app. Running it does not work for battling or for claiming boxes.

Thank you for the work you put into this and for the quick response.

Another try: https://github.com/Fate-Grand-Automata/FGA/suites/7984284131/artifacts/341765642

Another try: https://github.com/Fate-Grand-Automata/FGA/suites/7984284131/artifacts/341765642

I wish I could figure out why I can't use this app to record the screen on my duo 2. The detect area is really far to the right, I believe half way off the screen. It does not work for detection.

Original resolution for all screen shots is 2754x1892 - I believe this to be the actual screen resolution of the phone, the number I have listed above is not accurate when you span an app across both screens since the phone adds in the 'missing' pixels that would be the gap.
I did use the right offset, set to 999 - perhaps allow these values to go higher

And was able to get the detect area to be kind of close to where it probably needs to be.

Before, I thought that width was reported as half, that's why I doubled it.
Now, width seems to be the normal value, so FGA treats it as too wide.
To avoid giving you more experimental apps, can you please run
adb shell
dumpsys window windows | toybox sed -n '/Window .*mathewsachin.*:/,/Window .*:/p'| grep -o 'mAppBounds=.*)'

There should be 2 lines of output. Please post them here.

Here is the output:
mAppBounds=Rect(0, 0 - 1344, 1832) mMaxBounds=Rect(0, 0 - 1344, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)

It pretty much states that one of the FGA windows is covering the left screen and one is covering the right screen. Both are 1892 pixels high.
One of the windows is the app, the other one is the overlay. Since the play button is on the right side of your screenshots, I assume you can't move it to the left side.
I think I have to install the Surface Duo emulator and test it myself, if possible.

It pretty much states that one of the FGA windows is covering the left screen and one is covering the right screen. Both are 1892 pixels high.
One of the windows is the app, the other one is the overlay. Since the play button is on the right side of your screenshots, I assume you can't move it to the left side.
I think I have to install the Surface Duo emulator and test it myself, if possible.

That's interesting. I've been spanning the FGA app across both screens when I start the service, just like we'd talked about for the duo1.
The output changes depending on whether I have the service running or not, and whether I have the app on right, left, or spanned across both screens or not. I hadn't thought to try the command with the app in different places, or with the service running vs not.

App on right side, service running output
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
App on right side, service not running output:
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)

App on left side, service running output
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 1344, 1832) mMaxBounds=Rect(0, 0 - 1344, 1892)
mAppBounds=Rect(0, 0 - 1344, 1832) mMaxBounds=Rect(0, 0 - 1344, 1892)
App on left side, service not running output:
mAppBounds=Rect(0, 0 - 1344, 1832) mMaxBounds=Rect(0, 0 - 1344, 1892)
mAppBounds=Rect(0, 0 - 1344, 1832) mMaxBounds=Rect(0, 0 - 1344, 1892)

App spanned across both screens, service running output:
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(1410, 0 - 2754, 1832) mMaxBounds=Rect(1410, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
App spanned across both screens, service not running output:
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)
mAppBounds=Rect(0, 0 - 2754, 1832) mMaxBounds=Rect(0, 0 - 2754, 1892)

I thought of two more orientations to try with the phone turned sideways.
With FGA on top, service running output:

mAppBounds=Rect(0, 0 - 1832, 2754) mMaxBounds=Rect(0, 0 - 1892, 2754)
mAppBounds=Rect(0, 0 - 1832, 2754) mMaxBounds=Rect(0, 0 - 1892, 2754)
mAppBounds=Rect(0, 0 - 1832, 1344) mMaxBounds=Rect(0, 0 - 1892, 1344)
mAppBounds=Rect(0, 0 - 1832, 1344) mMaxBounds=Rect(0, 0 - 1892, 1344)
mAppBounds=Rect(0, 0 - 1832, 1344) mMaxBounds=Rect(0, 0 - 1892, 1344)
mAppBounds=Rect(0, 0 - 1832, 1344) mMaxBounds=Rect(0, 0 - 1892, 1344)
FGA on top, service not running output:
mAppBounds=Rect(0, 0 - 1832, 1344) mMaxBounds=Rect(0, 0 - 1892, 1344)
mAppBounds=Rect(0, 0 - 1832, 1344) mMaxBounds=Rect(0, 0 - 1892, 1344)
If I fold the bottom screen back so only one screen is on the output is the same.
Here is the output, service not running, with the app on the bottom:
mAppBounds=Rect(0, 1410 - 1832, 2754) mMaxBounds=Rect(0, 1410 - 1892, 2754)
mAppBounds=Rect(0, 1410 - 1832, 2754) mMaxBounds=Rect(0, 1410 - 1892, 2754)


Setting basicAuthPassword in provisioned datasource.yaml doesn't work

What happened:
I'm trying to configure a datasource for opensource from the provisioning folder in the same way, I did before with the Elasticsearch provider. In the datasources.yaml I have the following configuration
- name: BU-ELK
  type: grafana-opensearch-datasource
  access: proxy
  url: "https:/....."
  basicAuth: true
  basicAuthUser: "grafana"
  basicAuthPassword: "mypassword"
  jsonData:
    database: "[bu-k8s-logs-]YYYY.MM.DD"
    interval: Daily
    timeField: "@timestamp"
    version: "1.0.0"
    flavor: "opensearch"

The datasource with all fields will be read correctly except basicAuthPassword. This field will be shown empty in the configuration editor and that's why the connection test fails. Since the connection was created automatically, I can not change the password. When I configure a datasource manually with a password, the connection works fine.
What you expected to happen: The predefined password should be used and the connection should work.
Anything else we need to know?:
I also tried to move the basicAuthPassword to the jsonData but with the same result.
Environment:

Grafana version: 9.5.15
OpenSearch version: 2.11.1
Plugin version: 2.14.3

I found the configuration hint here: https://grafana.com/docs/grafana/latest/administration/provisioning/
The basicAuthPassword has to be configured in the secureJsonData section.


A big maintenance PR

Hi there!
This is a big maintenance PR :

drop support of Rails 4.x
drop support of Ruby 2.2.x
add support of Rails 5.x
add support of Ruby 2.5.x
coding style
improve lib loading
improve tests
fix auto create roles / schema loading
tests with different versions of Rails

You can create a 1.0.7 tag with this commit : https://github.com/MartinJNash/Royce/pull/16/commits/3c38e0e736fb3b6cdd62efb0d38758da94e62fa6
The 1.0.7 is the last version that support Rails 4.x.
Commits after https://github.com/MartinJNash/Royce/pull/16/commits/3c38e0e736fb3b6cdd62efb0d38758da94e62fa6 are for a 1.1.0 release.

Hi there!  Any news?


autosave without autosaveInterval

Is it possible to have autosave enabled so that the database gets saved on close, but no autosaveInterval? I want to save the DB only when idle (which I have a idle handler for which calls saveDatabase), or when it's closed, but for the latter, I need autosave to be on.

I'm asking because autosaveInterval is set to 5000 unless overridden, and there's no way to override it with a value that says "don't enable interval saves"

Maybe either tap into the 'close' event like :
db.on("close", function() {
  db.saveDatabase(function(err) {
     console.log(err?"error saving":"saved");
  });
});

Or set the autosaveInterval really high like Math.pow(2,31) - 1

I'll go toy with the close event.

This is super old, but if anybody is looking for this today, I think you can just use Number.MAX_VALUE or Infinity for the interval value.
Note that I'm writing up an issue now about saving and the close event.  The short version is that if you call process.exit during an event listener for close, your database won't save, but it will if you call it from a callback passed to the db.close() call instead.


Refresh issues

A very nice tool, and very intuitive, thank you for that!
Now the issue:
When I change a method name, the only way i found to reflect it in the graph is to close the tab and start over.
I would really like to see either immediate name changing in the graph, or at least a way to refresh the whole thing.

if not - then maybe a way to refresh the window without having to recreate it?

You'd have the same problem. You click on a node to expand it - I can record that node's identity - but if the identity has changed and I have no way to track it, then I can't re-expand it. I'll have a think :)


The column strings overlaps if narrow them horizontally

Storage Explorer Version: 1.33.0-dev (96)
Build Number: 20240201.15
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 22.04/MacOS Sonoma 14.3(Apple M1 Pro)
Architecture: x64/x64/x64
How Found: exploratory testing
Regression From: Previous release (1.32.1)
Steps to Reproduce

Expand one storage account -> Blob Containers.
Create a blob container -> Upload one blob.
Select 'Name' column -> Narrow the name column horizontally.
Check whether the sort icon does not overlap the 'Name' string.

Expected Experience
The sort icon does not overlap the 'Name' string.

Actual Experience
The sort icon overlaps the 'Name' string.

Additional Context
If narrow columns from the last one, the column strings will overlap.

Verified this issue on the main build 20240208.4. Reproduce. So, we are going to reopen it.

There seems to have been a mishap when updating the necessary packages, because the UI package containing the fix wasn't updated. I'm making new packages, so please try again with a later build.

Verified this issue on the main build 20240209.3. Fixed.


New user troubles

Hello,
I realize this plugin may be deprecated, so I'm hoping that some of the users might be able to offer me some guidance.
I bought 4 LED RGB WIZ high hat downlights for my living room from HomeDepot. I set them up in the WIZ app, and I paired them to my google account. The google nest I have controls these lights fine. But I have an iPhone, then I got an Apple watch, and found that using Siri would be pretty useful, but WIZ isn't HomeKit approved. So, all new to me, I bought my first Raspberry Pi (Zero WH), and installed homebridge, then installed this homebridge-wiz-lan plugin. After that I was able to add the bridge to Homekit on my phone. However, in HomeKit when I go to "home settings" and select the pi homebridge, unlike my philips Hue bridge which has several lights connected to it, the pi homebridge has no lights attached to it. So nothing shows up in HomeKit.  Also, when I go to http://homebridge.local/accessories there are no detected bulbs. I made sure that the lights were on, and set to cool white, and tried rechecking my steps, but I don't see why the bulbs aren't just 'there'.
I thought the bulbs would just be detected, either in homebridge, or in HomeKit when I add the homebridge. I'm wondering if I'm missing an obvious step or if this just requires higher-level troubleshooting? While I am happy to tinker to make things work, I don't have an abundance of patience, nor do I expect it from the community if the developer has already moved on. I would have been happy if WIZ lights would work, but perhaps I'll just have to stick with HUE.
If anyone has any tips or suggestions for me as a noob, please post, and thanks for your time.

Hey there,
Unfortunately it does appear that some software update from Wiz broke this plugin a while.
My best suggestion is to look into setting up homeassistant instead; they have an actively supported wiz implementation https://github.com/sbidy/wiz_light
Alternatively, it seems there exist a couple forks of this project that seem to work.
https://github.com/chrisbl01/homebridge-wiz-lan


How to load multiple reward videos or interstitials

Hi,
so this is a question more then it is an issue
I am targeting android using godot 3.2
As i want to use different rewarded videos for different parts of my app, I created different scripts for each video rewarded, but apparently this can't work since the admob is a singleton, and when I initialize the banner, interstitials and reward videos the callbacks fire inside the last script and therefor always the last reward video is showed and that seems logical to me.
So what should I do in order to load multiple reward videos(or interstitials), load them in advance and show them in the right moment?

As you stated, the Godot modules are a singleton, so you can't.

so I must use only one video rewarded and one interstitial in order for it to work?

Indeed, the idea is show an ad, reload, when ready, show again.

ok, thanks


Test GH package installation for validation

Given that admiral.test is in the pharmaverse org, simply use the Remotes field in the DESCRIPTION to install so that the validation reports pass.

Thanks @dinakar29! I approved the GH actions runs. Please note that we submitted {admiral.test} to CRAN (along with {admiral} itself) which is why I removed the Remotes field which CRAN does not allow.

Thanks @dinakar29! I approved the GH actions runs. Please note that we submitted {admiral.test} to CRAN (along with {admiral} itself) which is why I removed the Remotes field which CRAN does not allow.

Noted. Thanks, I'll remove that field altogether.


LOCALIZATION

Localization of:
child-info-box
create-application
person-card
bug fixes for:
https://github.com/ita-social-projects/OoS-Frontend/issues/1958
https://github.com/ita-social-projects/OoS-Frontend/issues/1980

@koliapatskal everything is done! Thank you for your comments!!


Intermittent Client AttributeError with Django integration

Describe the bug:
We are sometimes seeing this traceback via Sentry coming from the elasticapm agent with the Django integration:
AttributeError: 'Client' object has no attribute 'get_data_from_request'
  File "elasticapm/contrib/django/middleware/__init__.py", line 179, in process_response
    elasticapm.set_context(
  File "elasticapm/traces.py", line 848, in set_context
    data = data()
  File "elasticapm/contrib/django/middleware/__init__.py", line 180, in <lambda>
    lambda: self.client.get_data_from_request(request, constants.TRANSACTION), "request"

To Reproduce
Environment (please complete the following information)

OS: Linux
Python version: 3.8.9
Framework and version [e.g. Django 2.1]: Django 3.1.7
APM Server version: 7.6
Agent version: 6.1.1

Additional context
There is nothing else in the Sentry exception that gives more context - from the exception and a quick look at the agent code, I imagine there must be some code path that allows the base Client object to be passed through instead of DjangoClient when using the Django integration?
Most of these exceptions (according to Sentry) are coming from requests to a container health check endpoint, which doesn't make any DB connections or do anything with models, it's just a simple view that returns a string to confirm that Gunicorn is up and running and can serve requests.

From reviewing the Sentry data, this only started after we upgraded the ElasticAPM Python client from 6.0.0 to 6.1.0.

I got the same error.
Current setup
OS: Linux Container
Python version: 3.7.7
Framework and version [e.g. Django 2.1]: Django 2.2.16
APM Server version: 7.9.1
Agent version: 6.1.2
Additionally, Transaction metadata doesn't show service.framework.name and service.framework.version and User and etc.
Working setup (before upgrading to 6.1.2)
I was using agent 5.8.0. it worked fine. except
# this isn't working, only email is updated. user_id, username is missing.
elasticapm.set_user_context(username=user.name, email=user.email, user_id=user.id)
# the URL is called from third party, and called without authorization header. So, I manually get user info from post data, and wanted to inject into elasticapm.

So, I upgraded to 6.1.2

My suspicion is that the changes in https://github.com/elastic/apm-agent-python/pull/1043 are the root cause of this bug.
The old implementation of elasticapm.contrib.django.get_client() before this change was much more defensive, and would check if the cached object was of the expected type passed in (i.e. DjangoClient), and replace it if it was not.
In the PR above, that has been refactored so if there is any cached client object, the code always returns that - even if somehow the Client object has been instantiated incorrectly with the base 'Client' object and not DjangoClient (which is presumably happening somehow).
@basepi Can you comment on the above? I think the code before your PR was handling a case where somehow the global client object is being instantiated or changed to the wrong type. On our environments here, we are seeing huge numbers of the stack trace above since we deployed 6.1.1 with your change.

Hey @ccorbacho and @myrodgkim, thanks for reporting this issue, and sorry about the slow reply! I think your analysis is spot on!
One of the places where we may instantiate another agent is elasticapm.handlers.logging.LoggingHandler and elasticapm.contrib.django.handlers.LoggingHandler. Are you per chance using one of those in your logging setup? If yes, would you mind posting your (redacted) logging configuration here?

I pushed a small change to a branch (#1158) that logs the stack trace when the client is set more than once. This could help debugging where the "naked" Client instance is created. You can install it by running something like
pip install https://github.com/beniwohli/apm-agent-python/archive/refs/heads/log-set_client-with-stack.zip\#egg\=elastic-apm\=\=100

It's logged at DEBUG level, using the elasticapm logger, so you might have to update your logging configuration to see the message.
If you could try to run this in a dev environment and report back any stack traces, that would help a lot!

@beniwohli I got to the bottom of this on our side, using your debug package to find the problem.
It was a bug in our code - we had a decorator for non-Django code, that instantiated a Client object, and that wasn't checking that the global ElasticAPM Client object existed. With the old version of ElasticAPM, this was just working because the old get_client() behaviour would see the wrong type and reset it. We've fixed it to not do this now, and it seems the error has stopped completely.
I'm going to close this (as clearly the bug is on our side), but I think it would be a good idea to change the debug about re-initializing the Client object to a warning level message, and add the stack trace by default, so that any client code can spot and fix this (I'm guessing eventually this should raise an exception in a future release, as I can't see why client code should be trying to re-initialize the Client object).

@ccorbacho thanks for the update! I opened a PR to bump the log level (#1164).

Note : In Elastic APM, framework integrations like Django and Flask instantiate the client automatically.
and onwards agent 6.1 > , there are restrictions to initalize the client twice.
If you have given settings ELASTIC_APM = { service_name : "" , service_token : ""} in settings file or like
ELASTIC_APM_SERVICE_NAME in settings file.
you can directly get the client using :
apm = elasticapm.get_client()


Patch 2

Spelling and grammar changes

Hi @BitBlocks368,
I believe you wish to contribute to @rickymac68's CPS-???? | Governance Security, opening a pull request here is the incorrect method to collaborate.
Instead of opening a pull request on this repository you could:

Leave comments with amendments on Rick's CPS PR for him to make updates.
OR
Fork Rick's fork of CIPs, from here, then make your changes. Following this make a pull request from your fork of Rick's into Rick's fork (rather than a pull request into this repository). Rick can then merge in changes to the CPS.

For now I will close this PR.


Working with mongo and modular-odm

A note that wasn't clear from the examples:
If you are using Flask, In order to use PyMongo and also include your db logic in a models file, you must use the app context to initialize the database, so:
with app.app_context():
    Text.set_storage(storage.MongoStorage(mongo.db, 'text'))

Might be obvious to more experienced uses of Flask, but wasn't to me initially :).

This is only the case if the model's logic relies on the Flask environment to be present. As it's adequately covered in the Flask docs, I'd rather not include it in the top-level Modular-ODM docs.
That said, we have a FlaskStoredObject in the OSF that would be a great place to document this sort of thing should it ever be rolled into Modular-ODM.


quota limit error

Hello
The library was working fine, but then ...it stopped. I didn't do anything. That's the error I was getting :

I decide to open the file where the error originated from (node_modules/got/index.js:123:13) and saw this code:

The HTTP response code was 302, so I altered it this way:

Then I executed the code again. That's the output:

I clicked on that long link and the following page opened:

It looks like I hit the quota limit. I think that README.md should clearly inform about this and the library should handle such situation gracefully.

Thank you for report this, I have not meet this yet, I think because this translate API is not the Google offical API, so there are some limit by Google, I will note this in README.md file soon, and so sorry for this.


rocsparse-test spgemm_bsr.extra: Assertion `format == rocsparse_format_csc' failed.

What is the expected behavior

Test pass

What actually happens
/clients/tests/../include/utility.hpp:484: rocsparse_local_spmat::rocsparse_local_spmat(int64_t, int64_t, int64_t, void *, void *, void *, rocsparse_indextype, rocsparse_indextype, rocsparse_index_base, rocsparse_datatype, rocsparse_format): Assertion `format == rocsparse_format_csc' failed.

By backtracing, it seems that  https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/rocm-5.7.1/clients/testings/testing_spgemm_bsr.cpp#L76 is calling https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/rocm-5.7.1/clients/include/utility.hpp#L455, but not https://github.com/ROCmSoftwarePlatform/rocSPARSE/blob/rocm-5.7.1/clients/include/utility.hpp#L520, which I cannot understand
The full build and test log (Gentoo rocSPARSE package) is attached:
build.log.gz
How to reproduce

Run ./rocsparse-test --gtest_filter=*pre_checkin/spgemm_bsr.extra/i32_i32_f32_r_bad_arg*

Environment

Hardware
description

GPU
AMD Instinct MI210

CPU
AMD EPYC 7763 64-Core Processor

Software
version

ROCK
linux-6.1 (Debian 6.1.27-1)

ROCR
rocm-5.7.1

HIP
rocm-5.7.1

Library
rocm-5.7.1

@littlewu2508 Thank you. This is indeed a bug. It will be fixed as soon as possible.

@YvanMokwinski Is this fixed in the latest ROCm 6.1.2? Thanks

Closing as this is fixed in 6.1.2.


Unable to close accounts owned by a PDA

Problem
When a Mango account is created and owned by a Program Derived Address (PDA), it is unable to be closed using the following mango client function:
await mangoClient.closeMangoAccount(mg, ma, mangoAccountOwner);

where mangoAccountOwner is a PDA.
Steps to Reproduce

Create a PDA which is supposed to represent the account owner.
Create a Mango account and specify the PDA as the owner (in this case, I did this using a CPI call).
Attempt to close the account by specifying the PDA as the owner.

Error (transaction):
> Program log: Mango: CloseMangoAccount
> Program log: MangoErrorCode::InvalidOwner; src/processor.rs:225
> Program 4skJ85cdxQAFVKbcGgfun8iZPL7BadVYXG3kGEGkufqA consumed 2700 of 1400000 compute units
> Program returned error: custom program error: 0x1
> Runtime error: custom program error: 1

Close account instruction should also be called using CPI as the PDA needs to sign...

Close account instruction should also be called using CPI as the PDA needs to sign...

Thank you for this, the PR can be closed.


Push gem to RubyGems.org

Hello,
I'm one of the developers of pwntools-ruby and we use crabstone as dependency.
Could you push crabstone to RubyGems.org? Seems all gems on RubyGems.org can only have dependencies that also available on it.
Thanks a lot!

Or may I push it to RubyGems.org 😕  ?

@david942j @bnagy I'd love to see this up on rubygems.org, too. I also have a project that makes use of the bindings, and it's a shame I won't be able to just tell users to run bundle install.

I have pushed the latest version of crabstone to rubygems.org link ;)


Add linear search (c)

Linear Search is an algorithm used to efficiently find an element in array of objects.
The working branch should be c
The branch can be found here
The changes should be in /Searching/Linear Search
The file should be named linearSearch.c
Happy Open-Sourcing!

assign me this would love addding it

#51 please do check this PR for linear serach in c

#53 please.... check this out

if it is open then please assign it to me

As it has been resolved, closing the issue


mbtiles metadata bounds not in WGS84 after passing through tile-join

wget https://www.mapbox.com/help/data/trails.mbtiles

mapbox upload username.trails trails.mbtiles
Upload works

tile-join -f -o trails-join.mbtiles trails.mbtiles

mapbox upload username.trailsjoin trails-join.mbtiles
Upload fails with bounds west value must be between -360 and 360

sqlite3 trails.mbtiles 'select name,value from metadata'
no bounds

sqlite3 trails-join.mbtiles 'select name,value from metadata'
bounds is "2147483647.000000,2147483647.000000,-2147483648.000000,-2147483648.000000"

According to the mbtiles spec bounds must be in WGS 84.

Thanks for the report! It looks like this is because the original mbtiles doesn't declare a bounding box, and tile-join isn't properly checking for its absence. I'll fix it.

This will be fixed in https://github.com/mapbox/tippecanoe/pull/416

Merged. Thanks again for the bug report!


Use config library and file to configure Factories and their settings

Now that we have an adapter based library it is necessary to have a more flexible configuration system.
Suggest we use typesafe (lightbend) config library to spec which adapter the library uses and to configure it params.
This supersedes  #126 and removes the burden of modifying and testing this config/options system.

Closed by #149


Gcl use my username as host in includes

Minimal .gitlab-ci.yml illustrating the issue
include:
  - project: 'myrepo/myapp'
    ref: 'master'
    file:
      - 'config.yml'

Expected behavior
GCL download config.yml from Gitlab and use it.
Actual behavior
GCL use my username as remote.host and failed with error
Project include could not be fetched
fatal: unable to access 'https://p.shorokhov/myrepo/myapp.git/': Could not resolve host: p.shorokhov

Host information
Macos
gitlab-ci-local 4.47.0
Containerd binary
Docker
Gcl failed in this git clone command: https://github.com/firecow/gitlab-ci-local/blob/c6d78471ca2b4305572cc31b131f96cb6416bd5e/src/parser-includes.ts#L190

Paste your ~/.gitlab-ci-local/variables.yml, env | grep GCL_ and <project>/.gitlab-ci-local-env (Mask your secrets)

~/.gitlab-ci-local not exists
env | grep GCL_ empty
$project/.gitlab-ci-local-env: VARIABLE="CI_JOB_TOKEN=... CI_PIPELINE_SOURCE=merge_request_event CI_MERGE_REQUEST_ID=1"
git remote -v:
origin  ssh://git@gitlab.mydomain.ru:5555/myrepo/myapp.git (fetch)
origin  ssh://git@gitlab.mydomain.ru:5555/myrepo/myapp.git (push)

You must have some setting somewhere in the <project>/.git, global git settings, or gitlab-ci-local variables or env settings, that makes gitlab-ci-local resolves https://p.shorokhov as being the place to go.

I have User p.shorokhov in .ssh/config in gitlab host. Can't find any other entries.

@comm1x
Are you showing your full git remote -v ?
Is this the error you're seeing?

https://github.com/firecow/gitlab-ci-local/blob/master/src/git-data.ts#L85
@firecow
instead of git remote -v shall we hard-codegit remote get-url origin

@ANGkeith  thanks for you comment, I posted wrong data from .git/config above.
The problem related with usage https in origin configuration in .git/config:
[remote "origin"]
    # This is not working
    url =<EMAIL_ADDRESS>
    # This is work correctly
    url = ssh://git@gitlab.mydomain.ru:5555/myrepo/myproject.git

@comm1x
Are you showing your full git remote -v ?
Is this the error you're seeing?

Yes, this is equal error.

https://github.com/firecow/gitlab-ci-local/blob/03879cdb17c66fe602f20e6e2bc6e0651861efc3/src/git-data.ts#L85
@firecow instead of git remote -v shall we hard-codegit remote get-url origin

If this command works better, sure :smile:

https://github.com/firecow/gitlab-ci-local/pull/1202 should fix this problem
also note that you can now customize the remote-url via git remote add-url gcl-origin


Create Topic if not exist

Summary
Add the option to the framework to Create a Topic if not exist when a Cluster is configured.
Background and Motivation
In scenarios like demos or coding samples, it simplifies the author's life.
Proposed Feature
                kafka => kafka
                    .UseConsoleLog()
                    .AddCluster(
                        cluster => cluster
                            .WithBrokers(new[] { "localhost:9092" })
                            .CreateTopicIfNotExists("my-topic-name", 1, 1)
                            .AddProducer(
                            ...

Add to the ClusterConfiguration an option CreateTopicIfNotExists(string topicName), int numberOfPartitions, int numberOfReplicas)

Open questions

Where's the best place to perform the task? Should we do it on KafkaConfigurationBuilder.Build()?

Where's the best place to perform the task? Should we do it on KafkaConfigurationBuilder.Build()?
Yes, I think it can be a good place.

Perfect. I can peek up this one and open a PR.


[Enhancement] introduce jemalloc

What type of PR is this：

[ ] bug
[ ] feature
[x] enhancement
[x] others

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Introduce jemalloc as a new memory allocator for BE, which can be specified by the --use-jemalloc parameter in the build stage. At this stage, tcmalloc is still used by default, and it will be switched after full testing.
In multi-core and high-concurrency scenarios, jemalloc performs better than tcmalloc.

[FE PR Coverage check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage check]
:heart_eyes: pass : 0 / 0 (0%)

Jemalloc only alleviates this problem, but does not completely solve the problem. To solve it completely, we still need to limit the way it is used.

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

Can't set status; build failed.

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_fe_unittest

run starrocks_be_unittest

run starrocks_be_build

run starrocks_be_build

run starrocks_be_build

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_admit_test

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_fe_unittest

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

run starrocks_fe_unittest

run starrocks_admit_test

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

run starrocks_fe_unittest

@silverbullet233  Hi, the config switch and macro USE_JEMALLOC seems cannot be turned off, or I have done it incorrectly, how to disable USE_JEMALLOC when doing cmake build?

test CI