MSID: 96591 Version: 1 DOI: 10.1101/2<IP_ADDRESS>1036

MSID: 96591
Version: 1
Preprint DOI: https://doi.org/10.1101/2<IP_ADDRESS>1036
Step 1. Awaiting reviews
Editorial to post reviews via hypothesis
Useful links:

DocMap: https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=96591
New model tracking: https://docs.google.com/spreadsheets/d/1_fHaoOy7hjyocptKtVJRijeNpUY4hBS7Ck_aVmx6ZJk/
Reviews on sciety: https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>1036

For trouble shooting (e.g. no Docmaps available):

DocMap issue addressing: https://miro.com/app/board/uXjVNCwK6EI=/
Explore DataHub DocMaps API: https://lookerstudio.google.com/reporting/4c2f0368-babb-4beb-b5b3-497e7e7b0f08/page/ejphD
Unmatched submissions and preprints: https://lookerstudio.google.com/u/0/reporting/9f86204f-3bf7-477c-9b18-5c5ef141bf69/page/p_gxi57ha93c
Unmatched manuscripts spreadsheet: https://docs.google.com/spreadsheets/d/15QcK8w-ssB7109RQEDtFpJPZ0J5HTGxoHa_2TtpMBbg/edit#gid=1336081641

Step 2. Preview reviewed preprint
Production QC content ahead of publication
Instructions:

QC preview: https://prod--epp.elifesciences.org/previews/96591v1
Update ticket with any problems (add blocked label)
When QC OK, add QC OK label to ticket and add publication date and time to https://docs.google.com/spreadsheets/d/1amAlKvdLcaDp5W8Z8g77NmkwbMF5n_u89ArSqPMO8jg
Move card to next column
(At end of the day post link in #enhanced-preprint and ask for PDF to be generated)

Useful links:

Preprint DOI :  https://doi.org/10.1101/2<IP_ADDRESS>1036
Confirm reviews returned by EPP: https://prod--epp.elifesciences.org/api/reviewed-preprints/96591/v1/reviews
To update the MECA path in the docmap: https://docs.google.com/spreadsheets/d/1mctCQuNFBjSn97Lihy7_vBO6z7-N-oqyLv4clyi6zHg

Step 3: Awaiting search reindex
This step adds the reviewed preprint to the homepage: https://elifesciences.org
The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.
Useful links:

Jenkins pipeline to reindex search can be triggered sooner or monitored here: https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 4: Published! PDF requested
Waiting for PDF to be generated
Useful links:

PDF tracking: https://docs.google.com/spreadsheets/d/106_XeDjmuBae7gexOTNzg60lapeqjl2aRn9DzupGyS8/

Step 5: Introduce PDF to data folder and git repo
Upload PDF to relevent folder in git repo https://github.com/elifesciences/enhanced-preprints-data/
Step 6: Done!

[ ] Kettle is on!

Reviews attached to the v2 which was posted byt he authors 1 day after the v1. Looks like bioRxiv never created a MECA package for the v2. The revision summary is "Supplemental files and figures are now provided.".
I think we can use the v1 and either add the downloadable file in, or add in the figures proper, depending on how they've been captured.

We don't have access to any MECA package:
https://api.biorxiv.org/meca_index/elife/10.1101/2<IP_ADDRESS>1036
{
  "status": [
    {
      "count": 0,
      "messages": "none found"
    }
  ]
}

I'm going to move the reviews over to the v1 in the hope that this will somehow make the v1 meca package available to us. Won't know if this will have any effect until tomorrow. If this doesn't work, we'll need to reach out to biorxiv to ask for the whichever meca package they have.

Still no MECA. I've contacted bioRxiv

MECA package loaded. Ready to check


Bytecode cache (pycache) should be precompiled for standard library

Python images do not have bytecode cache (__pycache__) for the Python standard library. The following command outputs nothing:
docker run --rm python:3.9 ls /usr/local/lib/python3.9/__pycache__/

This means that Python compiles bytecode when run for the first time. For Docker images, it effectively means that the bytecode has to be compiled on every execution. When I run Docker containers as a non-root user, this fails because of unsufficient permissions.
The performance impact of this is negligible and difficult to measure, but others (Debian, pip) precompile Python bytecode, so I assume that it has some positive impact.

We currently intentionally remove the .pyc files because when we leave them in, the image is ~30MB larger (and they regenerate very quickly, as you've noted). :grimacing: :sweat_smile:

OK, good to know. Thanks!


[SPARK-37550][SQL][DOCS] Add an example of parsing jsonStr with complex types for from_json

What changes were proposed in this pull request?

Adding an additional example to demonstrate how to parse jsonStr with nested types including ArrayType and StructType.
Why are the changes needed?

The documentation for from_json currently contains only examples of getting struct value from jsonStr with simple schema. It can take a lot of time to figure out how to parse jsonStr with complex types, especially for beginners. This change can make the documentation more intuitive.
Does this PR introduce any user-facing change?

It will enrich the documentation of Spark SQL, Built-in Functions.
How was this patch tested?

The added example shows the real query result.

Can one of the admins verify this patch?

Jenkins test this please

ok to test

Test build #145934 has started for PR 34809 at commit 4a314cd.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50410/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50410/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50410/

Test build #145934 has finished for PR 34809 at commit 4a314cd.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145934/

Test build #145937 has started for PR 34809 at commit 27a355e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50413/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50413/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50413/

Merged to master.

Test build #145937 has finished for PR 34809 at commit 27a355e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145937/


Adding support for roles

We should add support for user roles to this library soon. A list of available roles can be hard-coded and could look like this:
final class Role {

	const ADMIN = 1;
	const AUTHOR = 2;
	const COLLABORATOR = 4;
	const CONSULTANT = 8;
	const CONSUMER = 16;
	const CONTRIBUTOR = 32;
	const COORDINATOR = 64;
	const CREATOR = 128;
	const DEVELOPER = 256;
	const DIRECTOR = 512;
	const EDITOR = 1024;
	const EMPLOYEE = 2048;
	const MAINTAINER = 4096;
	const MANAGER = 8192;
	const MODERATOR = 16384;
	const PUBLISHER = 32768;
	const REVIEWER = 65536;
	const SUBSCRIBER = 131072;
	const SUPER_ADMIN = 262144;
	const SUPER_EDITOR = 524288;
	const SUPER_MODERATOR = 1048576;
	const TRANSLATOR = 2097152;

	private function __construct() {}

}

You can then use any of these roles and ignore those that you don't need, and you can even combine these roles as you like. Thus a user may have none of these rules, one role or any other arbitrary subset.
Although a fixed set of roles is hard-coded in this implementation, the set of roles should include identifiers for most use cases. And if you really can't work with these roles, you can alias them using your own role identifiers:
final class MyRole {

	const CUSTOMER_SERVICE_AGENT = Role::REVIEWER;
	const FINANCIAL_DIRECTOR = Role::COORDINATOR;

	private function __construct() {}

}

That, for example, would allow you to use MyRole::FINANCIAL_DIRECTOR instead of Role::COORDINATOR.
Checking for roles that the current user has might then be done like this:
/** @var Auth $auth */

if ($auth->hasRole(Role::ADMIN)) {
	// ...
}

// or

if ($auth->hasAnyRole(Role::MODERATOR, Role::SUPER_MODERATOR, Role::ADMIN)) {
	// ...
}

// or

if ($auth->hasAllRoles(Role::TRANSLATOR, Role::REVIEWER)) {
	// ...
}

This feature would not include support for permissions, capabilities, access rights or privileges. These could be added with custom solutions in user code or one could go entirely without them. As can be seen above, it's possible to implement access restrictions using roles only. The privileges are then encoded in the conditions that specify the required roles.
Since the roles require database changes (at least one new column in the users table) that must be applied manually, this is a breaking change that can only be in a new major release. The next one would currently be v5.0.0.
Feedback, requests for additions/changes and criticism is welcome!

May I ask when this feature will be available?

Well, the idea was that we would gather some more feedback on this.
We better implement something that everyone finds helpful late than implement something that turns out to be the wrong feature early. The worst case would be if it later turned out that we did the feature the wrong way.
As you seem to be interested in this feature, why not discuss the implementation suggested above. Specifically, the proposal does include groups or roles only, but no individual rights or permissions. Are you fine with that? Additionally, it does not allow for custom roles, but only provides a hard-coded set of pre-defined roles. Is that okay as well? (As shown above, it would be possible to alias the roles with custom names, though.)

Sorry for the late response.
Rather than hard coding roles, how about a simple permission system like the one from TeamSpeak 3?
Because I needed something like that, I created a users_permissions table with the columns user and value. User is the ID from the user and value is the permission value.
Let's say i have a page for administrators to manage accounts, i run a function called hasPermission(75), which returns true if the user has a value the same or greater than the given one. Now if the user has a permission value over 75, he is able to access the site.
Like that, everyone is able to "set his own roles", without having hard coded roles which can not really be changed. Roles could be defined like that:
define("OPERATOR", 60);
define("ADMINISTRATOR", 70);

then the function looks like:
hasPermission(OPERATOR);
(Sorry for any spelling mistakes, english isn't my native language.)

Thanks for explaining how you have implemented this!
Since your solution does not differentiate between "permissions", "groups" and "roles" – they're all the same, just as in the idea outlined above – our two ideas seem to be more similar than one might think at first.
In order to represent rights that multiple roles have, your solution lets roles with higher numbers do everything that roles with lower numbers can do. That's fine, but it doesn't allow a "manager" to do some things the "editor" can do and some things the "moderator" can do.
In the solution above, this is implemented in a way that is a little more flexible: First, some right can be granted to multiple roles, as in your case. But these roles can be chosen accurately – "higher" roles don't inherit everything that "lower" roles can do. Second, a user may have multiple roles instead of only one.
That being said, your solution definitely isn't a bad one and I'm sure it works fine for your use case. But for this library, I haven't really decided yet how to implement this so that it works for as many people as possible.

Just a thought.
I've been trying to use your script in one of my project. I've currently used my own authentication system, which I find its not secure. But, in my system, I've used three roles, admin, teacher and part_time. Which I would love to see implemented in this script of yours. It seems @Furentes solution is a more flexible one that we can tweak to our own needs rather than hard code it.

Thanks for your feedback, @fdiengdoh!
I see that @Furentes' solution appears to be more flexible at first. But that seemingly higher flexibility is just the freedom to use custom labels for the roles, isn't it? That advantage is made up for in the first solution proposed above by the possibility to alias any roles with custom names (see above).
If it were only that small difference, I'd say it doesn't matter. But in @Furentes' solution, there are two things that aren't really perfect for a general-purpose solution in my opinion:

Users can't have more than a single role.
Roles with higher numbers always inherit all rights that every role with a lower number has.

Thanks for the clarification, I'm not an expert in these stuff though. Looking forward for a proper implementation in up coming updates.
Just a thought, how long will it take to add this enhancement? If its not going to be long then, I can wait for it, or may have to do something in my project till the enhancement is available.

Hey, @fdiengdoh! As @ocram already stated:

Well, the idea was that we would gather some more feedback on this.

So this could take a while.
Now I'm getting the exact problem @ocram stated, with my own implementation.

Users can't have more than a single role

So I got an idea.
Back in the "old days", where i played Minecraft, I used a plugin called PermissionEX to handle groups and permissions on my server. Now that I think of it, we could use a similar approach.
Let's say we can create on our own groups in in an table manually or with an function to insert them automatically. Also there is an permission table, where name and a value (if needed) is stored. With an function, we can check, if someone has specific groups or specific permissions. (e.g. hasGroup($array) or hasPermission($array))
The §array could look like this:
(I created a JSON and used json_decode($json, true) to get this array)
Array
(
    [permissions] => Array
        (
            [0] => Array
                (
                    [name] => edit.blog.entry
                    [value] => 10
                )

            [1] => Array
                (
                    [name] => edit.news.entry
                    [value] => 25
                )

            [2] => Array
                (
                    [name] => edit.users
                    [value] => 12
                )
        )
)

Like that everyone is able to create his own groups and permission, and also give them a custom name.

Thanks for your additional feedback, @fdiengdoh and @Furentes!
I have evaluated the possible solutions again, checked them against our requirements and examined how easy to use and flexible they are. Having done that, I decided I will implement the first solution that I proposed here. This will be done shortly.
Some people put a layer of permissions, activities, capabilities, abilities, access rights or privileges on top of the roles. You then don't check for role or group membership in your business logic, but you check for individual permissions. This has some advantages: If you want to know who can edit articles, for example, you don't have to check your business logic in various places, but you only have to look where the permission is defined.  But this comes with slightly more overhead when implementing the access restrictions the first time. For lots of use cases, and especially for smaller projects, the advantages are not really significant, however.
So that's why we go without an additional system of permissions first. If you need that additional abstraction, you can implement it in your own code, e.g. like this:
function canEditArticle(\Delight\Auth\Auth $auth) {
	return $auth->hasAnyRole(
		\Delight\Auth\Role::MODERATOR,
		\Delight\Auth\Role::SUPER_MODERATOR,
		\Delight\Auth\Role::ADMIN,
		\Delight\Auth\Role::SUPER_ADMIN
	);
}

// ...

if (canEditArticle($app->auth())) {
	// ...
}

// ...

if (canEditArticle($app->auth())) {
	// ...
}

// ...

if (canEditArticle($app->auth())) {
	// ...
}

Development has started here: https://github.com/delight-im/PHP-Auth/tree/roles

Implemented in:

https://github.com/delight-im/PHP-Auth/commit/63734fc5ee90cca27fc95a2b233c02822beb6793
https://github.com/delight-im/PHP-Auth/commit/8c2c32f9dc362155d6a21fa959a9806a1f7f78e8
https://github.com/delight-im/PHP-Auth/commit/6cf955ed52b8420b83e2021187a3a500be1e0eaf
https://github.com/delight-im/PHP-Auth/commit/b577322939be4cffd58a5eea87114cb4d4fc82b7
https://github.com/delight-im/PHP-Auth/commit/d6bc8c64921fb5a3c49012cfd980c3c803b155e0
https://github.com/delight-im/PHP-Auth/commit/2278b86fbaafd6555cdfb53fdb3a47140d1a8b28
https://github.com/delight-im/PHP-Auth/commit/c25b74d405bb9d2b0b296e6e2ef8a59a9bd6039d
https://github.com/delight-im/PHP-Auth/commit/23b172055bc8e2c95e71d77d3542185d30094eea
https://github.com/delight-im/PHP-Auth/commit/8a1140a485b0ac6dfb4718f09a13ba929081c738
https://github.com/delight-im/PHP-Auth/commit/9c63c30cd9bc928632092ddfeb25af298f6a85a1
https://github.com/delight-im/PHP-Auth/commit/f2074e153796cb2bac9bd246c91063161bcd4701
https://github.com/delight-im/PHP-Auth/commit/b7e6ca6dee04a0fd3d58e5946b80327601becc23
https://github.com/delight-im/PHP-Auth/commit/1a4041ea6028cbf9a25dad9d5b3bce90a4a530f3
https://github.com/delight-im/PHP-Auth/commit/8ff4242f8ffc8f3ecbdbdacd4f687d3c4071272f
https://github.com/delight-im/PHP-Auth/commit/bc44a08b1b3a71ca5fb356d0036fbcb68660bd93
https://github.com/delight-im/PHP-Auth/commit/cd3469c137ff1938b7d7e70293e9db5112323ba5
https://github.com/delight-im/PHP-Auth/commit/7b6287a7dc47e7f2d6da9016053536be8c6e9016
https://github.com/delight-im/PHP-Auth/commit/0af55ad77c2a8ff3b2ffaec423091f60d71b4574
https://github.com/delight-im/PHP-Auth/commit/b93d9616d00914745acb225dd2ef0872e6c51001

This is available in a new major version, v6.0.0, which comes with a few breaking changes. For a guide on how to upgrade, please see the migration notes in Migration.md.


Added a few more talks from co-located events to KCCN NA 2024 event page

Added a few more talks from co-located events to KCCN NA 2024 event page + booth schedule and location.
Related to #509

@leonardpahlke minor addition to the KCCN NA event page if you can maybe review this one as well if you can 💚


Make selection in pivpn -on/-off unique

so far the client names have been evaluated as patterns.
E.g. theese clients were defined:

Test
test-min
test-max

Disabling (pivpn -off) and selecting 1 from menu, also disables Test-min and Test-max.
This is fixed by this PR.

Hi, thank you for your pull request.
Please read https://github.com/pivpn/pivpn#pull-requests and update the pull request  to follow the guidelines.
Let me know if you have any questions.


feat(dialog): add non-dismissive attribute (VIV-1351)

adds non-dismissible attribute

consumers may need to fully disable dismissing, not just on clicking scrim
having non-dismissible be the default would be a breaking change
other components follow the convention of a removable prop so we could call it non-removable instead. However I prefer non-dismissible because:

tag/banner do actually remove themselves from the DOM (alert does not)
removable is not correct language to use with dialog

fixes focus style. This is because Chrome decides to show focus when pressing esc on non-dismissible dialog
try to make docs clearer

@rinaok Copying your comment here for completeness:

The native dialog does not close when the Scrim is clicked, but in vivid it does by design: https://jira.vonage.com/browse/VIV-1186
All dialogs have a close button by default.
In my opinion, the fix should be as follows:
Using the Scrim button will not close the dialog - it will not be a breaking change since users still have the option to close it using the X button.
When dismissible attribute (as in other vivid components) is true, the dialog will be closed (even the regular dialog and not just the one with the scrim).

So, I've done some more research:
Vivid conventions

tag, banner:

removable: adds X button which removes the element from the DOM

alert:

removable: adds X button which closes the alert

popup (internal component):

dismissible: adds X button which closes the popup

attribute is internal (and unused), so not actually part of our API

menu:

auto-dismiss: closes on click outside

Other libraries

Library
Close on scrim by default
scrim API
close button

Microsoft FluentUI
✅
isBlocking
unremovable

Atlassian
✅
shouldCloseOnOverlayClick, shouldCloseOnEscapePress
no close button

Ant
✅
maskClosable
closeIcon=null

AWS Cloudscape
✅
no
unremovable

Adobe Spectrum React
🚫
isDismissible
isDismissible

Github Primer
🚫
no
unremovable

MDC2 (vivid 2)
✅
scrimClickAction: "close" | "", escapeKeyAction: "close" | ""
closeButton

Questions

Should dismiss-on-scrim be default? Yes

In VIV-1186 Ayala said it was by design.
Most other libraries have it as default
It would be a change in behaviour. Maybe not breaking

Should we support the ability to remove close button and dismiss-on-esc? Yes

I know that this is at least used by dashboard in one place

API
We cannot use removable, dismissible or auto-dismiss as they are the default behaviour.
In Vivid, generally removable refers to removing from DOM, dismiss refers to closing something. (Except alert which is a mistake). Additionally, removing is not a word associated with closing a dialog. So we should stay with dismiss.
Let's consider use cases for light dismiss (default), no dismiss and explicit dismiss.

Current

<vwc-dialog>
<vwc-dialog non-dismissible>
<vwc-dialog non-dismissible="scrim">

Rachel but inverted

<vwc-dialog>
<vwc-dialog non-removable non-dismissible>
<vwc-dialog non-dismissible>

New idea

<vwc-dialog> <!-- defaults to dismissible="light" -->
<vwc-dialog dismissible="false"> <!-- maybe instead dismissible="non-dismissable" dismissible="blocking" -->
<vwc-dialog dismissible="explicit">

Separate

<vwc-dialog>
<vwc-dialog no-close-button no-auto-dismiss no-dismiss-on-esc>
<vwc-dialog no-auto-dismiss>

Of the three I think 1. is the clearest so I would like to keep the PR as is. I don't think the space separation is an issue because:

This will be a rare use case
Space separation is the idiomatic way to provide a list in html, see class attribute

Please let me know what you think.

I think the main purpose of this task was so the a modal dialog (opened with dialog.showModal()) can behave as per the WC3 recommendation, which means:

It does not close when the scrim is clicked (light-dismiss)
ESC key press does close the dialog (I don't think we should disable this in any situation)

You might want to hide the close button if you are providing another button to close the dialog (eg a Cancel button) but I don't see a problem with having both. Or we could provide a separate prop for this purpose (no-close-button for eg).
I think I'd rather a no-light-dismiss prop which just disables the click on the scrim and an update to the docs outlining the differences between a normal dialog and a modal dialog (from an a11y POV).

I think the main purpose of this task was so the a modal dialog (opened with dialog.showModal()) can behave as per the WC3 recommendation, which means:

It does not close when the scrim is clicked (light-dismiss)
ESC key press does close the dialog (I don't think we should disable this in any situation)

You might want to hide the close button if you are providing another button to close the dialog (eg a Cancel button) but I don't see a problem with having both. Or we could provide a separate prop for this purpose (no-close-button for eg).
I think I'd rather a no-light-dismiss prop which just disables the click on the scrim and an update to the docs outlining the differences between a normal dialog and a modal dialog (from an a11y POV).

Agree with @TaylorJ76 ,

According to the html spec Modal dialogs can also be closed by pressing the Esc key. I don't see a reason to disable it.
no-light-dismiss is a better naming.

Also, the regular modal dialog stopped working: https://vivid-kwej0wcb2jt7.deno.dev/components/dialog#modal-dialog

I know that we have a non-dismissible dialog in dashboard. It's used to collect some required data before the user can continue. So we need that functionality.
In that case, close by ESC needs to be disabled as well.
The APG does not recommend explicit dismiss, it states:

in some implementations, attempts to interact with the inert content cause the dialog to close.

So you're proposing the following, which is actually option 2 with different names.
<vwc-dialog>
<vwc-dialog no-close-button no-light-dismiss>
<vwc-dialog no-light-dismiss>

Should no-close-button then also disable ESC and light dismiss?

I know that we have a non-dismissible dialog in dashboard. It's used to collect some required data before the user can continue. So we need that functionality.
In that case, close by ESC needs to be disabled as well.
The APG does not recommend explicit dismiss, it states:

in some implementations, attempts to interact with the inert content cause the dialog to close.

So you're proposing the following, which is actually option 2 with different names.
<vwc-dialog>
<vwc-dialog no-close-button no-light-dismiss>
<vwc-dialog no-light-dismiss>

Should no-close-button then also disable ESC and light dismiss?

I think not having any method to close a dialog is an accessibility concern.

I know that we have a non-dismissible dialog in dashboard. It's used to collect some required data before the user can continue. So we need that functionality.
In that case, close by ESC needs to be disabled as well.
The APG does not recommend explicit dismiss, it states:

in some implementations, attempts to interact with the inert content cause the dialog to close.

So you're proposing the following, which is actually option 2 with different names.
<vwc-dialog>
<vwc-dialog no-close-button no-light-dismiss>
<vwc-dialog no-light-dismiss>

Should no-close-button then also disable ESC and light dismiss?

No, I think if we were to have a no-close-button prop, it would just hide the close button. And I would state in the docs that when set, another method of closing the dialog (a button) should be provided.
I think not having any method to close a dialog is probably an accessibility issue.

I think not having any method to close a dialog is probably an accessibility issue.

Sure, but in the case of dashboard there is (by entering the required data). We can highlight that in the docs though.

I think the main purpose of this task was so the a modal dialog (opened with dialog.showModal()) can behave as per the WC3 recommendation, which means:

It does not close when the scrim is clicked (light-dismiss)
ESC key press does close the dialog (I don't think we should disable this in any situation)

You might want to hide the close button if you are providing another button to close the dialog (eg a Cancel button) but I don't see a problem with having both. Or we could provide a separate prop for this purpose (no-close-button for eg).
I think I'd rather a no-light-dismiss prop which just disables the click on the scrim and an update to the docs outlining the differences between a normal dialog and a modal dialog (from an a11y POV).

I also agree with @TaylorJ76 , but I don't like the negative properties we are creating (also very long names) :(
I'm aware of the problem we have - that the both light-dismiss and the close-button are true by default, but I think we need to think this over again with the names.
<vwc-dialog removable light-dismiss>
looks much nicer IMO then this:
<vwc-dialog no-close-button no-light-dismiss>

@rachelbt: Sure it looks nicer, but defaults are also important. Even if we could do this, it would make non-dismissible dialog the default, which is undesirable.
To continue the discussion, it seems we have two options:

Current:

<vwc-dialog>
<vwc-dialog non-dismissible>
<vwc-dialog non-dismissible="scrim">

Seperate (names tbd):

<vwc-dialog>
<vwc-dialog no-x no-y no-z>
<vwc-dialog no-x>

Of which all three of you prefer 2. which I am fine with. So let's choose good names for it:

close button: no-close-button, no-dismiss-button

the button is referred to as "dismiss button" already (dismiss-button-aria-label), so I guess it should be no-dismiss-button

esc: no-close-on-esc, no-esc-action

I think no-close-on-esc is more clear

scrim: no-light-dismiss, no-auto-dismiss, no-close-on-scrim-click, no-close-on-click-outside

I'm happy with no-light-dismiss

Please let me know what you think.

@TaylorJ76 and I have decided for now to just add the no-light-dismiss functionality.


feat: add support to run jest tests

Jest tests are not as commonly used for LWCs, just because they're not required, but they're heavily recommended by Salesforce. VSCode has some functionality to run jests, though more in depth debugging and such require other plugins.
This offers a very basic functionality to get us started on offering jest runs, by simply exposing the two more common commands to run jests in the sf terminal.
There's lots of room for improvement on this (e.g.: use treesitter to run a single command), but I think this gets out off the start line.

I don't have much LWC development on-going at the moment.
It seems to be a good feature to embrace.
Thanks for the PR as always!

In my last project, we set ourselves to add solid jest tests to all of our lwcs, and gotta say, people should do it more. I think at least exposing a basic functionality for now would help that


How to install 3.0?

How to install jekyll-assets 3.0? By default it installs 2.4.0.

Hey @Kuzirashi, sorry I lost my laptop yesterday and had to setup an old one so I'm a day behind.
You can install the alpha with:
gem "jekyll-assets", git: "https://github.com/jekyll/jekyll-assets.git", group: :jekyll_plugins

Thank you 👍  :)
And thank you for work on this project! It's rock solid! : )


Linguist still not acknowledging .pl as Perl scripts also

Perl scripts is not being acknowledged as .pl but when the extension is changed it is then acknowledged as Perl.  I don't have any Prolog scripts.  What about creating a module that looks into the files to determine the language based on syntax and other certain characteristics that languages have that others don't.

Hello @wboswall,
The issue is that you have two files which don't look like typical Perl files.  Linguist mistakenly thinks they are Prolog files.
A quick fix for you would be to override the language detection.

@larsbrinkhoff Thanks for replying but I don't know nor use Prolog. I was reading a perl book when I created the .pl files and I checked and Perl's extension for the script files uses .pl.....Which is really confusing.  Don't know why they had an alternate file extension like the other programming languages such as php-it uses php, php5,php7 etc.  I tried renaming .pl to .perl but won't compile and rename every time committing from .pl to perl would just suck.  So right now it's just really annoying.  Other people are saying the same thing such as this person: https://github.com/github/linguist/issues/435.  Hopefully there will be a solution to this bug soon.

@wboswall In your case, these files are detected as Prolog because the smiley in these lines matches our heuristic. It's kind of a corner case, so I don't think we should make the regular expression more complicated to fix it (the heuristic will never be perfect anyway).
I would recommend you use the Linguist overrides in this case, as @larsbrinkhoff suggested.

It didn't work. So just hunted up other perl extensions and changed the ones in question with the new extension.  Thank you for all of your help @larsbrinkhoff and @pchaigno Much appreciated!!!!!!!:-D

It didn't work. So just hunted up other perl extensions and changed the ones in question with the new extension. Thank you for all of your help @larsbrinkhoff and @pchaigno Much appreciated!!!!!!!:-D


Chat assistant response slow

Describe your problem
I deploy ragflow (infiniflow/ragflow:v0.9.0) on aws eks. I have two nodes to run all the dependencies ( redis, mysql, minio, elasticsearch)
Nodes  detail:
RAM: 64 GB
CPU: 8
GPU: 0
Disk: 100 GB
Physical Processor: Intel Xeon Platinum 8175:
Locally host ollama which has llama3:latest as chat model and mxbai-embed-large as embeded model. I have one node for it
Nodes  detail:
RAM: 64 GB
CPU: 8
GPU: 0
Disk: 100 GB
Physical Processor: Intel Xeon 8375C (Ice Lake)
GHZ: 3.5
The parsing document workwell, It tooks around 5 mins for large document. but the chat assistant is very slow, I only say "hi" and it tooks 1 mins to search and reponse to me. Do you have any idea why It is slow like that, even my compute resource is big ?s

It might be caused by searching from ES whoes performance is highly related to RAM and docs it indexed.
One PDF can generate thousands of docs into ES.

我检查了 ES 资源消耗，它只使用了 8GB 的 RAM。它仍然有很多可用的资源。在我的情况下，您有什么想法可以优化助手的性能吗（一个简单的问题需要 2 分钟，复杂的问题不需要回答）

metoo,did you solve it? if this ,what do you make it?

Click the lamp and check the time elapsed down there.


Bugfix/dbass update

Requirements

Filling out the template is required. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion;
Review the contributing guidelines for this repository; remember in particular:

do not modify code without testing for regression
provide simple unit tests to test the changes
if you change the schema you must patch the test databases as well, see Updating the schema
the PR must not fail unit testing

Description
Update DBASSParser and associated test cases for new DBASS file format
Use case
The files provided by DBASS have changed location and format. The parser has been updated to match the new format.
Benefits
This code update ensures we can keep on parsing the data provided by DBASS.
Possible Drawbacks
NA
Testing
Have you added/modified unit tests to test the changes?
Yes
If so, do the tests pass/fail?
Yes
Have you run the entire test suite and no regression was detected?
Yes

Coverage decreased (-0.05%) to 82.318% when pulling 8e0d8d91ea3b162a14d0bbb21c532334e09b556a on bugfix/dbass_update into d8ae3f8b6e2ab8dfd4908f31340ac49d71744888 on master.


Feature/Request

onEdit onAdd onDelete functions should also receive the (full JSON object) with the change applied.
Currently, it only supplies src (the old object) and newValue, oldValue, depth.
{     "newValue": "hello",     "oldValue": 7,     "depth": 1,     "src": [         {             "id": 0         }     ],     "indexOrName": "x",     "parentType": "object" }
By providing the new object, we can pass that to a JSON Schema and have it automatically validated.

src is the modified json object. So this feature already exists.


remove inlline css

Hey @DushanSenadheera
I would love to work over this issue
Please elaborate where these changes are required


[Tabs] Support "auto" as "scrollable" value

When using <Tabs scrollable> with few tabs, the first tab seems not properly aligned to the left. I need the ability to auto-set the scrollable behavior based on the screen width and the number of tabs.

[x] This is a v1.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
I would like tabs that are scrollable when there isn't enough width, but not scrollable otherwise. The scrollable prop should be automatically enabled based on whether the screen is large enough to display all the tabs or not. Therefore, setting scrollable to true or false doesn't work - I'd need an auto value.
I know I can use withWidth to do that in userland, but it's just such a common need that I believe it should be implemented in core.
Current Behavior
scrollable can only be set to true or false, so the tabs always look bad:

if I have scrollable but a very large screen, the first tab isn't properly aligned
if I have scrollable=false but a narrow screen, I can't get to the last tab

Context
I'm developing a component that can contain an arbitrary number of tabs - from a few to many. In the latter case, the scrollable option is a must. But when enabled in the first case, the first tab isn't properly aligned on the left:

@fzaninotto I'm personally using scrollable={true} scrollButtons="off". Do you need to display the scroll buttons?

IMO It's not ideal on desktop screens to hide buttons, but I can live with that. Thanks for your answer.

how to you scroll the tabs?

@MikeSuiter It depends on the platform, on Windows you have a scrollbar, on MacOs you can use two fingers in the trackpad.
The first issue was closed because it's pretty much the same pain point than here. So better group the discussion.

@oliviertassinari This screenshot is from Chrome 69 on Windows 10 and once a tab is completely off screen there is no way to get back to it. Should I have a scrollbar here? I tried click dragging and that doesn't work.

Here is the same screenshot with wider browser - you can see the Home tab here which you can't get back to when browser is narrower.

This is using these props:
<Tabs value={selected} onChange={onTabSelect} scrollable scrollButtons="off">
Thanks for reopening this as I think others will benefit from it and I agree consolidating my request into this one.

IMO this is still an issue from a UX perspective, since without any affordance indicating the tabs are scrollable, users have no reliable way to know there are more tabs off screen. and the additional space mentioned by the OP required with scroll="auto" makes desktop UIs look broken. Could this issue be reopened so it can be revisited?
In the meantime, here's a hacky workaround I came up with to hide/show the scroll buttons when the tab width exceeds that of the container:
https://codesandbox.io/s/q34yxjkmwj
Maybe this could be added to the Tabs impl, controlled by a prop like scrollHide="auto|on|off", for ex?

@gino-m This is a good workaround, thanks!

Not to be nitpicking nor criticizing but why the 'scrollable'=auto doesn't detect and compare the widths of scroll container and its parent width based on which the buttons would appear? And to take it further, based on the x scroll value to display hide the scroll buttons.
I just don't think that having either a blank, padded space or an actual button or no scroll functionality is a good UI. Thanks for the great library btw.

IMO this is still an issue from a UX perspective, since without any affordance indicating the tabs are scrollable, users have no reliable way to know there are more tabs off screen. On the other hand, the additional space mentioned by the OP required with scroll="auto" makes desktop UIs look broken. Could this issue be reopened so it can be revisited?

It seems this is still an issue. We now are able to show or hide scroll buttons, but if we hide the scroll buttons, there's no indicator that there are more buttons, or that the buttons are scrollable. What I find interesting is that Google Maps appears to have a different tab behavior, where as you click tabs, it scrolls the container to show there are more tabs:
https://user-images.githubusercontent.com/66479/192386597-58a47512-b5b4-4b7f-b6ac-9e5a8801231b.mov
Is this something that could be implemented in the Tabs component? Is this part of the Material spec?

@genepaul we're only using MUI's Tab component here. I suggest you open an issue about it on their repository.

IMO this is still an issue from a UX perspective, since without any affordance indicating the tabs are scrollable, users have no reliable way to know there are more tabs off screen. On the other hand, the additional space mentioned by the OP required with scroll="auto" makes desktop UIs look broken. Could this issue be reopened so it can be revisited?

It seems this is still an issue. We now are able to show or hide scroll buttons, but if we hide the scroll buttons, there's no indicator that there are more buttons, or that the buttons are scrollable. What I find interesting is that Google Maps appears to have a different tab behavior, where as you click tabs, it scrolls the container to show there are more tabs:
Is this something that could be implemented in the Tabs component? Is this part of the Material spec?
Edited to add: Here's an example from the MUI documentation that shows the issue:

When you click the last visible tab, it scrolls only that tab into view. I had to shift+mouse wheel to scroll the container to see that there were more tabs. There's absolutely no way a user would know to do that.

const tabs = useRef()
useEffect(()=>{
    if (tab === 0 ){
        tabs.current.children[1].children[0].scrollLeft = 0
    }if (tab === 1 ){
        tabs.current.children[1].children[0].scrollLeft = -50
    }if (tab === 2 ){
        tabs.current.children[1].children[0].scrollLeft = -100
    }if (tab === 3 ){
        tabs.current.children[1].children[0].scrollLeft = -150
    }if (tab === 4 || tab === 5){
        tabs.current.children[1].children[0].scrollLeft = -200
    }
},[tab])

I found this solution for MUI tabs

IMO 从用户体验的角度来看，这仍然是一个问题，因为没有任何指示选项卡可滚动的功能，用户没有可靠的方法来知道屏幕外还有更多选项卡。另一方面，OP 提到的scroll="auto" 所需的额外空间使桌面用户界面看起来很糟糕。这个问题可以重新讨论吗？

看来这仍然是一个问题。现在，我们可以显示或隐藏滚动按钮，但如果我们隐藏滚动按钮，则不会有任何指示符表明有更多按钮或按钮可滚动。我发现有趣的是，Google 地图似乎有不同的选项卡行为，当您单击选项卡时，它会滚动容器以显示更多选项卡：
这是可以在 Tabs 组件中实现的东西吗？这是材料规范的一部分吗？
编辑添加：以下是 MUI 文档中显示问题的示例：

    [

        ![选项卡2](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)
      ](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)

      [

      ](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)

   [ ![选项卡2](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif) ](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)

    [

        ![选项卡2](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)
      ](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)

      [

      ](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)

   [ ](https://user-images.githubusercontent.com/66479/192387078-bd211d30-09bb-4f2f-9d2f-8cf05b00e9c7.gif)

当您单击最后一个可见选项卡时，它只会将该选项卡滚动到视图中。我必须按住 Shift+鼠标滚轮来滚动容器才能看到有更多选项卡。用户绝对不可能知道要这样做。

常量选项卡 = useRef()
useEffect(()=>{
    if (tab === 0 ){
        tabs.current.children[1].children[0].scrollLeft = 0
    }if (tab === 1 ){
        tabs.current.children[1].children[0].scrollLeft = -50
    }if (tab === 2 ){
        tabs.current.children[1].children[0].scrollLeft = -100
    }if (tab === 3 ){
        tabs.current.children[1].children[0].scrollLeft = -150
    }if (tab === 4 || tab === 5){
        tabs.current.children[1].children[0].scrollLeft = -200
    }
},[tab])

我找到了 MUI 选项卡的解决方案

Why not use scrollIntoView()

The arrow button is still visible even though the corresponding items are disabled, as their opacity is set to 0. You can add a CSS that hides the button to fix this issue. Example:
.MuiTabScrollButton-root.Mui-disabled {
  display: none;
}


Add functionality for add operation

The scope of this issue is simple - complete the logic for performing add operation on calling a POST request at /math/add
Add relevant tests under test/test_app.py

Can you provide information about the input?

It could be an array of numbers in a json

can you give the sample JSON please

and can you assign this to me if no one is working on this please, can I take this up?

Can I work on this?

I am interested in working on this, thats y asked for input information. I hope I wont miss out on contributing to it just because I didnt explicitly asked

Hi! Thank you for showing interest. I have opened a new issue. Please do check it out - https://github.com/IEEE-VIT/SimpleMath-Flask/issues/15


Split CI into system categories

Currently there are two GitHub Actions/Workflows: Once general "CI" and one "MSYS2".
Is there a way to have multiple, separate actions for each system while still having one place where we define the various build configurations (matrix) etc?
Personally I'd like to have the following actins/workflows:

Windows (MSVC, MSYS2)
Linux (Ubuntu, other distributions, ...)
BSD (FreeBSD, other distributions, ...)

I understand that this is possible by just having separate files. However, I would like to have all configuration releveant options in one file and then include that in each specific workflow.
@0x00002a would you happen to have any experience on this?

Unfortunately I don't know a way this can be done without a file per one. The name of it is defined at the top of the file and is the general name for the workflow. It should be possible to move the msys one into the "CI" file but afaik splitting them would require duplication of configuration, or maybe using a preprocessor to generate them or something equally as nasty

I read through the docs and yeah... :/
I assumed they wouldn't support proper templates but I hoped that one could do by including files containing variables like in a Makefile or similar style.
Well then... Still hoping to at one point get some time to start writing a CI matching my requirements from scratch :)


Drag and drop functionality

Do you know if it's possible to drag and drop tags on the calendar and trigger an event to add this tag's datas to the calendar ?

Oops, I never saw this issue come in. Sorry for not giving an answer. But yes, of course you can register drag and drop handlers and response to dropped "tags". Such handlers can be registered in various places and I think you need to investigate where it makes the most sense for your application.


meteor: enable on darwin

Motivation for this change

enable on darwin
add --no-wasm-code-gc node flag (Fix fatal error with wasm gc and node-fibers in node 12.11+)

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[x] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)

$ ./result/bin/meteor create --react test-app
$ cd test-app
$ ../result/bin/meteor run

[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/330

Merge conflict.

Merge conflict.

Merge conflict.

Resolved.

Merge conflict.

Resolved.

Result of nixpkgs-review pr 93615 run on x86_64-darwin 1

1 package built:

meteor


[3.2] TextDocuments is no longer compatible with NotebookDocument

in our dsl we also support notebook.
in order to achive that we do something like this in our module
createXxxxxSharedModule(
.....
workspace: {
    NotebookDocument: services => new NotebookDocumentsImpl(new NotebookDocuments(services.workspace.TextDocuments))
}

this does not compile anymore
Argument of type 'TextDocumentProvider & TextDocuments<TextDocument>' is not assignable to parameter of type 'TextDocumentsConfiguration<TextDocument> | TextDocuments<TextDocument>'.
  Type 'TextDocumentProvider & TextDocuments<TextDocument>' is missing the following properties from type 'TextDocuments<TextDocument>': _configuration, _syncedDocuments, _onDidChangeContent, _onDidOpen, and 4 more.

casting fails at runtime
Could not find service instance for uri: 'vscode-notebook-cell:/Users/xxxx/zzz/test.ournb#W2sZmlsZQ%3D%3D'
we did not debug the 2nd part yet.
assume we need to debug that one though.
maybe the uri conversion needs to happen at more places

i assume that the
shared.workspace.NotebookDocument.listen(connection)
we do completely bypasses normalization and uses the original test documents

I believe it would be best if we were to implement our own NotebookDocuments service similar to the TextDocuments. I'm not a big fan of how the NotebookDocumentsImpl is implemented, given that it directly targets a class (and not an interface).


Update Flax annotated MNIST with Optax, TrainState

Quick update
https://github.com/google/flax/issues/1357
https://github.com/google/flax/issues/659
https://github.com/google/flax/issues/1053
@avital @marcvanzee @andsteing
Updated as per @mtthss' https://github.com/google/flax/commit/44ee6f2f4130856d47159dc58981fb26ea2240f4#

Codecov Report

Merging #1366 (76561fc) into master (70d6840) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1366   +/-   ##
=======================================
  Coverage   82.34%   82.34%
=======================================
  Files          65       65
  Lines        5318     5318
=======================================
  Hits         4379     4379
  Misses        939      939

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 70d6840...76561fc. Read the comment docs.

I think this is already covered in #1358
Feel free to comment on that PR. Once merged we can still see if this is needed.


Unable to see Incremental refresh options in Dynamic365 Customer Insights

Hi
We are trying to set up incremental refresh as per Microsoft documentations, but we did not see these option being enabled in Dynamic365 Customer Insights Business Applications.
Below is screenshot from Production Environment:

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

ID: e5948445-354f-bafe-52f5-c2f0913bc8b2
Version Independent ID: e5948445-354f-bafe-52f5-c2f0913bc8b2
Content: Enrichment for data sources (preview) - Dynamics 365 Customer Insights
Content Source: ci-docs/data-sources-enrichment.md
Service: customer-insights
Sub-service: audience-insights
GitHub Login: @NimrodMagen
Microsoft Alias: nimagen

Thanks for your comment, @kulbhushankatoch. This issue has been assigned to the doc author for review.

@kulbhushankatoch thanks for submitting the issue. I reached out to the product team for clarification. To confirm, the data source is of type Power Query of Azure Data Lake?
Thanks,
Michael

@kulbhushankatoch  - is this still an issue? you likely encountered while this was being rolled out to all the regions. if you still see the option for incremental data ingestion missing, pls log a support ticket http://aka.ms/cisupport


feat: http proxy support for oidc

Description
Add http proxy support for oidc
Category
Enhancement
Why these changes are required?
Users of OpenSearch Dashboards in Companies which require use of http proxy struggle to implement OIDC.
What is the old behavior before changes and new behavior after changes?
ODIC http requests now support proxies.
Issues Resolved
Resolves: #911
Testing
Starting OpenSearch and OpenSearch Dashboards locally. Configure OIDC and set https_proxy variable. Then validate that requests are sent to proxy.
Check List

[ ] New functionality includes testing
[ ] New functionality has been documented
[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@Manuelraa Can you change the base branch of this PR to main? After merge into main it can be backports to the 2.x release branch through a label.

The changes in this PR look ok to me. Wdyt about filing an issue about adding a functional test that covers a setup with an OIDC IdP behind a proxy?

The changes in this PR look ok to me. Wdyt about filing an issue about adding a functional test that covers a setup with an OIDC IdP behind a proxy?

Sure #2043 created

+1 to @cwperks comment. Let's rebase this main and then backport it using backport 2.x label.

Rebased to main. Could you add the required label please?


Better struct names in reflect_value_refs.rs

This is sort of an advice. I'm not sure if this is just for me or for anyone else.
While reading the code from bevy_mod_js_scripting that references this repo, I found the struct names hard to understand.
I followed the definitions here and found the xxRef quite frequently used. Since Rust also got the defined name reference, this names confused me a bit.
Also, there are names like EcsBase which from the name only without context that you might think that is the base for ECS or something.
Since those structs are public, we might need better names so their semantics can be more clear.

Yeah, it'd take some thought to come up with better names for them I think.
The xxRef types actually do refer ( aka. reference ) to values stored in the world, so they very much do act like a kind of reference.
I admit some of the names seemed a little ambiguous, but for a lot of them, I couldn't come up with anything that was necessarily better.


🐛 Bug Report: HTTP 500 when clicking on Hub to view public chatbots

📜 Description
HTTP 500 when clicking on Hub to view public chatbots
👟 Reproduction steps
Go to Hub menu
👍 Expected behavior
No error
👎 Actual Behavior with Screenshots
NA
💻 Operating system
Windows
What browsers are you seeing the problem on?
Chrome
📃 Provide any additional context for the Bug.

📷 Relevant Screenshots (Links)
No response
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🔗 Are you willing to submit PR?
Yes, I am willing to submit a PR!
🧑⚖ Code of Conduct

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

Ok solve it then

@kom-senapati : Works fine after applying new db migrations


agent sampling config option sample_n_per_3_secs

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[ ] Requirement
[x] Feature or performance improvement

Question

What do you want to know?
SAMPLE_N_PER_3_SECS is -1 by default which means sampling N TraceSegment in 3 seconds tops in the document.

I have two questions:

What's the max value? N means unlimited？
What is the reasonable range?  Many documents suggest it is in 500~1500, and is it right?

Bug

Which version of SkyWalking, OS, and JRE?
v8.3.0
Which company or project?
Inspur
What happened?
If possible, provide a way to reproduce the error. e.g. demo application, component version.

Requirement or improvement

Please describe your requirements or improvement suggestions.

What's the max value? N means unlimited？
What is the reasonable range? Many documents suggest it is in 500~1500, and is it right?

No recommendation. SkyWalking Java agent could work in 100% sampling in 5000 tps only with 10% extra CPU. We designed this years ago to support large scale distributed system.


python312Packages.pylutron-caseta: 0.21.1 -> 0.22.0

Diff: https://github.com/gurumitts/pylutron-caseta/compare/refs/tags/v0.21.1...v0.22.0
Changelog: https://github.com/gurumitts/pylutron-caseta/blob/v0.22.0/CHANGELOG.md

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

5 packages built:

home-assistant-component-tests.lutron_caseta
python311Packages.pylutron-caseta
python311Packages.pylutron-caseta.dist
python312Packages.pylutron-caseta
python312Packages.pylutron-caseta.dist


Music player text should respect light/dark switch

Acceptance Criteria

[ ] As a NewSpring music connoisseur, I'd love it if the text on the music player was easy to read on all background colors, not just dark backgrounds.

Context
Given that someone is using the music player when an album is loaded then the text in the player should switch between light and dark depending on a light/dark switch.
UI Screenshot or Wireframe (optional)

So this is why this is broken https://github.com/NewSpring/Apollos/blob/alpha/src/music/Player/FullScreenControls/index.js#L57


fix: fixed db race condition when getting blocks from two tables

Dag blocks are stored in column dag_blocks when non executed but once executed they are deleted from that column and added to period_data column. When retrieving blocks there was a bug that we first checked in period_data column and if they are missing then in dag_blocks column. It was possible that between those two db get operations data was deleted from dag_blocks and written to period_data and we would not retrieve the dag block.
Reversing the get order is the fix.

prnet cleaned-up successfully


DeprecationWarning in compat.py

I'm getting deprecation warnings from jsonschema.compat. This would be a pretty quick fix, i.e. just import from collections.abs instead of collections.
This can be reproduced by running:
python3.8 -Wall -c "import jsonschema.compat"

jsonschema/compat.py:6: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working

Never mind.. I just realized it's already taken care of. Closing.


Add --no-track to cargo invocation

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

This prevents cargo from adding .crates.toml and .crates2.json files in the install root.

@conda-forge-admin, please rerender


[CSM-328] Wallet restore is not working

Wallet itself has been created deterministically from backup phrase, but underlying account and addresses were for some reason generated using random seed, which is completely wrong. This PR fixes it.

@akegalj and @Martoon-00: Is this now fixed? Can you do your reviews and verify that the bug is fixed?


request to a partial matching resource results in Errno::ENOENT

Given I have a published file named _site/test/test.html and I request to URI /t then an Errno::ENOENT will be raised.
The reason is that in jekyll.rb the member @files is a string representation of all files and in line 67 a partial matching path_info results in true. But that's wrong: the string may contain path_info but this does not mean that the file exists(!)
I would suggest to check rather if the requested file exists…

duplicate of #23.

Yes is a duplication. Thanks for your effort!


Arabic Text not printing correctly

I have:

[x] searched open and closed issues for duplicates

Bug description
•• Arabic Text not printing correctly:
• when testing this code:
from escpos import printer
x = printer.Network("<IP_ADDRESS>")
text = "عصير"
x.text(text)
x.cut()
It printed the text reversed "from left to right like that" and each character separated from the other. It printed like this: "ر ي ص ع"
• Then I tested using the code page "CP864" like this:
from escpos import printer
x = printer.Network("<IP_ADDRESS>")
x.charcode(code="CP864")
text = "عصير"
x.text(text)
x.cut()
It printed question marks instead of the Arabic characters. I tried using "CP720" and the result was similar to the first case, printed reversed and separated.
• Then I tried using _raw() to print instead of text() like this:
from escpos import printer
x = printer.Network("<IP_ADDRESS>")
x.charcode(code="CP864")
text = عصير"
def print_arabic_text(text):
reversed_text = text[::-1]
return reversed_text
x._raw(f"{print_arabic_text(text)}".encode("Arabic"))
x.cut()
exit()
The result was close to correct Arabic text, but not good enough.
•• How to print correct Arabic text?
Steps to reproduce

Tested to print Arabic text without selecting a code page.
Used code page "CP864" and "CP720".
Used _raw() to print instead of text().

Device info

Printer: Epson TM-T20III

python version: 3.12.2
operating system: Windows 11

Hi @BaselAbdallah and welcome to python-escpos!
You can add the profile=’TM-T20II’ parameter to the printer's instance. It will instruct python-escpos which charcode sets are supported by your printer and encode your text string properly.
You can then force your printer to select an specific charcode set, but keep in mind that your printer must support that charcode set.
from escpos import printer
x = printer.Network("<IP_ADDRESS>", profile=’TM-T20II’)
x.charcode(code="CP864")
text = "عصير"
x.textln(text)
x.cut()

Does this work for your printer?

Hi @BaselAbdallah !
I had some time to take a second look at your issue.
It looks like "CP720" is the correct charcode and it is also supported by your printer. You only have to pass the profile="TM-T20II" parameter when instancing the connector and let the magicencode feature auto-detect the string encoding.
It works with the Dummy connector so it should do with the other connectors.
In response to the alignment of the text, python-escpos defaults to left aligned text. Did you try to set the printer to right align the characters?
from escpos import printer

x = printer.Network("<IP_ADDRESS>", profile=’TM-T20II’)
x.charcode(code="CP720")  # Surely you can omit this command
x.set(align="right")
text = "عصير"
x.textln(text)
x.cut()
x.close()

Please, let us know if this works as many users would find this information useful.


[GLE] Explicitly build the training client using the GLE server handle

A graph object is returned after the GLE servers are launched, which is further used to build the client that the training worker uses to communicate with the GLE servers. While in distributed training（multiple training workers), we need to first get the handle of the graph (including the schema info,  service IP and port), and use these information to build client in the training side. This issue is to add APIs and implementations to ease the process of explicitly building the training client using the GLE server handle.

See also:

https://github.com/alibaba/GraphScope/blob/main/python/graphscope/client/session.py#L1186


Include woodstox to distributions

Purpose

Ballerina unit tests were executed with "woodstox" dependencies in place and the correct expected behavior was observed with "woodstox". However, since this dependency was not included in the distribution, run-time behavior was different from behavior during test execution.

Goals

Make sure Ballerina unit tests and distributions are consistent during XML parsing.

Approach

Added "woodstox" dependency to distributions and included XML security related tests. Issue #5087 was created to track the future removal of the dependency.

User stories

N/A

Release note

N/A

Documentation

N/A

Training

N/A

Certification

N/A

Marketing

N/A

Automation tests

Unit tests

Yes

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? ye
Ran FindSecurityBugs plugin and verified report? no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes

Samples

N/A

Related PRs

N/A

Migrations (if applicable)

N/A

Test environment

N/A

Learning

N/A

Agreed. However, should not we address the issue of tests and runtimes behaving differently, as early as possible. All tests are written to match with the behavior of woodstox parser. However, we are using a different parser all together in the runtime.

Closing this PR, since parser inconsistency will be addressed separately by removing woorstox also from unit tests and making required core level changes to address end-tag issue. This will be tricked with issue #5087.


New Rule: endermanDontTakeExplosionDamageFix

I gave issue #123 a shot and implemented a new rule "endermanDontTakeExplosionDamageFix" that fixes https://bugs.mojang.com/browse/MC-258561 by using the same behavior as Minecraft 1.19.4.
This is my first time with fabric, please don't hesitate to tell me if things should be done differently, I am happy to fix any mistakes I made.
That said, I am confident that this is a pretty decent implementation of this fix.

Sorry for not responding earlier, been pretty busy. Looks good enough for me


Avoid failure indicator showing up upon entering page

As I step through the wizard, error markers are shortly flashing up. A bit like some kind of "unstyled content on load" behavior.

Pending PR #185 - addresses brief flashing of alerts and error indicator on filters page.  Now showing spinners during operations in-progress

Pr merged, closing this.


pull request for e2e test at 11/15/2016 10:45:09

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

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


Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier

Describe the bug
Hello! First of all, thanks for the great library 👍 It's very cool!
But now I'm trying to update wonka from 6.2.5 to 6.2.6 or 6.3.0 on one of my projects and typescript gives me the following error:
node_modules/wonka/dist/wonka.d.ts:9:1 - error TS1046: Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier.

9 enum TalkbackKind {
  ~~~~

Found 1 error in node_modules/wonka/dist/wonka.d.ts:9

I tried to build it locally, but I installed deps using yarn instead of pnpm, so effectively all the latest, and it outputs declare for enums correctly. But on published version on npm there's no declare keywords before enums. So I assume it may be a problem with some of the dependencies.
I created a repo with simple reproduction, just in case. It has<EMAIL_ADDRESS>and gives an error. But if you change it to<EMAIL_ADDRESS>there will be no errors.
Reproduction
https://github.com/faergeek/wonka-tsc-issue-reproduction
Package version
<EMAIL_ADDRESS>Validations

[X] I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which GitHub Discussions should be used
[X] Follow our Code of Conduct

Hiya :wave:
Seems like I missed a declare keyword on the internal enums. Rest assured that this shouldn’t cause the library’s types to fail and if you enable skipLibCheck this will continue working as usual. However, I'll of course get a patch released ✌

Wow, that was quick, thanks a lot! 👍


Allow xdebug auto-connect to listener feature

👋
I always prefer using Start listening for PHP Debug connections for debugging - it allows you to debug any CLI (no need to cal sail debug anymore) / browser / external App calling API requests (it can't be done with current setup).
This small improvments enables using the PHPStorm function (and probably other IDEs).
We need to 2 ENV VARIABLES:

PHP_IDE_CONFIG - setups which mapping the PHPStorm will use
XDEBUG_SESSION - starts the xdebug session

xdebug.log_level=0 removes any Xdebug: [Step Debug] Could not connect to debugging client. Tried: host.docker.internal:9003 (through xdebug.client_host/xdebug.client_port) :-( messages.
XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal xdebug.log_level=0}' in docker-compose.yml did not work.
Of course we can make it optional but by my point of usage there are no performance issues. It just works and its perfect :) (using daily).
This PR requires Laravel PR.
Documentation how to setup

Create run configuration and add PHP Web page. Add server configuration

Add server configuration with name app - must be same as PHP_IDE_CONFIG. Set <IP_ADDRESS> to server address, set mapping to /var/www/html

Start debuging :)

FYI  Laravel PR merged

I'll be honest I have no idea about any of this and therefore can't confidently merge any of it. All of Sail's stuff is publishable so that you can make the changes you need for your own application.

Np, maybe just update docs? My intention it was to make it easiest possible way how to encourage others to use XDEBUG. Our docker files allows this from the start so any developer can start debugging with "ease".
Only downside is the "warning" - im unable to pass it via XDEBUG_CONFIG.
Thanks for your time.


Fix unit tests to wrok with refactored dedupe implementation

Overview
Fix tests and remove unused code
Connects #2148
Demo
----------------------------------------------------------------------
Ran 361 tests in 297.576s

OK (skipped=1)

Notes
Tests that interact with dedupe or FacilityMatch need a trained model to be available in the database.
Prior to the dedupe refactoring all of the canonical records were indexed as part of the model training process that ran each time time test were run. Since we are now loading a pre-trained model, the dedupe matching tests need to explicitly index the canonical records.
While fixing tests we identified and removed code that is no longer used.
Testing Instructions

Verify that the unit tests pass.

Checklist

[x] fixup! commits have been squashed
[x] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines
[x] This PR is targeted at the correct branch (develop vs. ogr/develop)
[x] If this PR applies to both OAR and OGR a companion PR has been created

Thanks for the review.


Issue firebase init

How to make init firebase in compose multiplatform

I'm facing the same problem

https://github.com/GitLiveApp/firebase-kotlin-sdk/issues/396#issuecomment-1708852016

in my case I'm getting a java.lang.NoClassDefFoundError: Failed resolution of: Ldev/gitlive/firebase/Firebase; when calling Firebase.initialize(this)

Here is an example using a jetbrains example + gitlive implementation.
https://github.com/Reedyuk/KMP-Compose-Firebase-App-Template
Has init on both ios and android

Why this package is very bad in init firebase are u see how impl it in flutter or any another sdk

Why this package is very bad in init firebase are u see how impl it in flutter or any another sdk  , or not?

This 'package' is a wrapper, any complications are with firebase itself.
Flutter only has to support one platform, kmm has to support many and with different init methods for each platform


Make emoji style optional style

Implements #12 .
Looking forward to your review. Thanks for the implementation outline.

thanks for this, looks great!


Add option to select the reduction function for "histogram" of scatter plot

Merge PR #2912 first!
This PR adds the option to select the reduction function (mean, count, sum for now) for the histogramming visualization of the scatter plot.
This PR also renames the "histogram" visualization mode to "binned_statistic" which is more generic.

Fixed conflict.

Rebased to master after merge of PR #2912 and to fix conflicts, ready for review.

works well here.
Maybe an interesting improvement for the future would be to get Information from gui to know the active visualization mode (irregular grid, binned statistics / mean ...)
We could change selected QAction background color or name (adding a tick) or the QMenu tooltip (not a big fan of this one but can be an idea)

Thanks for the review/merge!
@payno, I wanted to do that, but it breaks the "genericity" of the actions, because there can be more than one scatter in the plot and they can have different visualization mode... So the action is setting all scatter to a particular mode but cannot provide the information...
That being said, it should be possible to do so for the ScatterView widget where there should not be many scatters...


Is this project dead?

There haven't been commits for over a year...?

?

It appears so. It's a nice app, but no updates in almost two years.


(Refactor) Documentation of changes that will be made to the elements used in the frontend.

Description
This task entails creating comprehensive documentation that outlines the updates being made to the UI components within the FertiScan app. The objective is to provide a clear description of each change, particularly where 'OldElement' components are being refactored to the new 'MaterialUiElement'. The documentation should capture the rationale behind the change, the benefits it brings (such as improved performance, consistency, or maintainability), and any potential impact on the existing frontend functionality. It will serve as an essential guide for developers to understand the modifications and for future reference when maintaining or enhancing the application.
Task

[ ] Creation of a new file in the project documentation.
[ ] Documentation of each element, detailing what it does, what it will become, and its methods.
[ ] Each element must include reasons why it will be changed.

Parent task
Ensure that all prerequisite or parent tasks are completed before commencing this task.
#187
Child tasks
Next task to do
#189

Documentation about the migration of current component to Material UI component : Documentation


doc: fix small issues & typos

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

Project coverage is 81.67%. Comparing base (702de0f) to head (53923eb).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #162      +/-   ##
==========================================
- Coverage   81.68%   81.67%   -0.01%
==========================================
  Files          32       32
  Lines        4537     4535       -2
==========================================
- Hits         3706     3704       -2
  Misses        831      831

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


Synthesis failed for sphinx-docfx-yaml

Hello! Autosynth couldn't regenerate sphinx-docfx-yaml. :broken_heart:
Please investigate and fix this issue within 5 business days.  While it remains broken,
this library cannot be updated with changes to the sphinx-docfx-yaml API, and the library grows
stale.
See https://github.com/googleapis/synthtool/blob/master/autosynth/TroubleShooting.md
for trouble shooting tips.
Here's the output from running synth.py:
dic.cfg
.kokoro/samples/python3.6/presubmit.cfg
.kokoro/samples/python3.7/common.cfg
.kokoro/samples/python3.7/continuous.cfg
.kokoro/samples/python3.7/periodic-head.cfg
.kokoro/samples/python3.7/periodic.cfg
.kokoro/samples/python3.7/presubmit.cfg
.kokoro/samples/python3.8/common.cfg
.kokoro/samples/python3.8/continuous.cfg
.kokoro/samples/python3.8/periodic-head.cfg
.kokoro/samples/python3.8/periodic.cfg
.kokoro/samples/python3.8/presubmit.cfg
.kokoro/test-samples-against-head.sh
.kokoro/test-samples-impl.sh
.kokoro/test-samples.sh
.kokoro/trampoline.sh
.kokoro/trampoline_v2.sh
.pre-commit-config.yaml
.trampolinerc
CODE_OF_CONDUCT.md
CONTRIBUTING.rst
LICENSE
MANIFEST.in
docs/_static/custom.css
docs/_templates/layout.html
docs/conf.py.j2
docs/multiprocessing.rst
noxfile.py.j2
renovate.json
Skipping: samples/AUTHORING_GUIDE.md
Skipping: samples/CONTRIBUTING.md
scripts/decrypt-secrets.sh
scripts/readme-gen/readme_gen.py.j2
scripts/readme-gen/templates/README.tmpl.rst
scripts/readme-gen/templates/auth.tmpl.rst
scripts/readme-gen/templates/auth_api_key.tmpl.rst
scripts/readme-gen/templates/install_deps.tmpl.rst
scripts/readme-gen/templates/install_portaudio.tmpl.rst
setup.cfg
testing/.gitignore
2021-03-25 03:05:10,502 synthtool [DEBUG] > Wrote metadata to synth.metadata.
2021-03-25 03:05:10,551 autosynth [INFO] > Changed files:
2021-03-25 03:05:10,551 autosynth [INFO] > M .github/ISSUE_TEMPLATE/bug_report.md
 M synth.metadata
2021-03-25 03:05:10,552 autosynth [DEBUG] > Running: git log 1ba47b5ee5876d71f42d19b39ef94e7aa9295f4d -1 --no-decorate --pretty=%s
2021-03-25 03:05:10,555 autosynth [DEBUG] > Running: git log 1ba47b5ee5876d71f42d19b39ef94e7aa9295f4d -1 --no-decorate --pretty=%b%n%nSource-Author: %an <%ae>%nSource-Date: %ad
2021-03-25 03:05:10,559 autosynth [DEBUG] > Running: git add -A
2021-03-25 03:05:10,563 autosynth [DEBUG] > Running: git status --porcelain
2021-03-25 03:05:10,567 autosynth [DEBUG] > Running: git commit -m chore: fix distribution name to match setup.py

Source-Author: Bu Sun Kim<EMAIL_ADDRESS>Source-Date: Wed Mar 24 17:45:35 2021 -0600
Source-Repo: googleapis/sphinx-docfx-yaml
Source-Sha: 1ba47b5ee5876d71f42d19b39ef94e7aa9295f4d
Source-Link: https://github.com/googleapis/sphinx-docfx-yaml/commit/1ba47b5ee5876d71f42d19b39ef94e7aa9295f4d
[autosynth-self-0 14608c0] chore: fix distribution name to match setup.py
 2 files changed, 38 insertions(+), 3 deletions(-)
2021-03-25 03:05:10,574 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 14608c0 chore: fix distribution name to match setup.py
2021-03-25 03:05:10,578 autosynth [DEBUG] > Running: git checkout autosynth-self
Switched to branch 'autosynth-self'
2021-03-25 03:05:10,583 autosynth [DEBUG] > Running: git diff --binary HEAD..autosynth-self-0 -- . :(exclude)synth.metadata
2021-03-25 03:05:10,587 autosynth [DEBUG] > Running: git diff --binary HEAD autosynth-self-0
2021-03-25 03:05:10,591 autosynth [DEBUG] > Running: git apply /tmpfs/tmp/tmpgczmp14n/autosynth-self-0.patch
2021-03-25 03:05:10,594 autosynth [DEBUG] > Running: git add -A
2021-03-25 03:05:10,598 autosynth [DEBUG] > Running: git status --porcelain
2021-03-25 03:05:10,603 autosynth [DEBUG] > Running: git commit -m changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.
[autosynth-self 86386e8] changes without context
 2 files changed, 38 insertions(+), 3 deletions(-)
2021-03-25 03:05:10,610 autosynth [DEBUG] > Running: git diff --binary HEAD..autosynth-self-1 -- . :(exclude)synth.metadata
2021-03-25 03:05:10,614 autosynth [DEBUG] > Running: git diff HEAD..autosynth-self-1 -- synth.metadata
2021-03-25 03:05:10,617 autosynth [DEBUG] > Running: git push --force origin autosynth-self
remote: Permission to googleapis/sphinx-docfx-yaml.git denied to yoshi-automation.
fatal: unable to access 'https://github.com/googleapis/sphinx-docfx-yaml.git/': The requested URL returned error: 403
2021-03-25 03:05:11,007 autosynth [ERROR] > Command '['git', 'push', '--force', 'origin', 'autosynth-self']' returned non-zero exit status 128.
2021-03-25 03:05:11,146 autosynth [DEBUG] > Running: git checkout 1ba47b5ee5876d71f42d19b39ef94e7aa9295f4d
Note: checking out '1ba47b5ee5876d71f42d19b39ef94e7aa9295f4d'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 1ba47b5 chore: fix distribution name to match setup.py (#4)
2021-03-25 03:05:11,152 autosynth [DEBUG] > Running: git checkout bb854b6c048619e3be4e8b8ce8ed10aa74ea78ef
HEAD is now at bb854b6 chore(java): detect sample-secrets in build.sh (#998)
2021-03-25 03:05:11,160 autosynth [DEBUG] > Running: git branch -f autosynth-0
2021-03-25 03:05:11,164 autosynth [DEBUG] > Running: git checkout autosynth-0
Switched to branch 'autosynth-0'
2021-03-25 03:05:11,168 autosynth [DEBUG] > Running: git merge --ff-only autosynth-self-0
Updating 1ba47b5..14608c0
Fast-forward
 .github/ISSUE_TEMPLATE/bug_report.md |  2 +-
 synth.metadata                       | 39 ++++++++++++++++++++++++++++++++++--
 2 files changed, 38 insertions(+), 3 deletions(-)
2021-03-25 03:05:11,192 autosynth [DEBUG] > Running: git reset --hard HEAD
HEAD is now at 14608c0 chore: fix distribution name to match setup.py
2021-03-25 03:05:11,197 autosynth [DEBUG] > Running: git checkout autosynth
Switched to branch 'autosynth'
2021-03-25 03:05:11,202 autosynth [DEBUG] > Running: git diff --binary HEAD..autosynth-0 -- . :(exclude)synth.metadata
2021-03-25 03:05:11,207 autosynth [DEBUG] > Running: git diff --binary HEAD autosynth-0
2021-03-25 03:05:11,211 autosynth [DEBUG] > Running: git apply /tmpfs/tmp/tmpgczmp14n/autosynth-0.patch
2021-03-25 03:05:11,214 autosynth [DEBUG] > Running: git add -A
2021-03-25 03:05:11,218 autosynth [DEBUG] > Running: git status --porcelain
2021-03-25 03:05:11,223 autosynth [DEBUG] > Running: git commit -m changes without context

        autosynth cannot find the source of changes triggered by earlier changes in this
        repository, or by version upgrades to tools such as linters.
[autosynth 540d9af] changes without context
 2 files changed, 38 insertions(+), 3 deletions(-)
2021-03-25 03:05:11,230 autosynth [DEBUG] > Running: git diff --binary HEAD..autosynth-1 -- . :(exclude)synth.metadata
2021-03-25 03:05:11,233 autosynth [DEBUG] > Running: git diff HEAD..autosynth-1 -- synth.metadata
2021-03-25 03:05:11,237 autosynth [DEBUG] > Running: git push --force origin autosynth
remote: Permission to googleapis/sphinx-docfx-yaml.git denied to yoshi-automation.
fatal: unable to access 'https://github.com/googleapis/sphinx-docfx-yaml.git/': The requested URL returned error: 403
2021-03-25 03:05:11,672 autosynth [DEBUG] > Running: git clean -fdx
Removing __pycache__/
Traceback (most recent call last):
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 95, in synthesize_loop
    fork.push_changes(change_pusher)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 290, in push_changes
    pr = change_pusher.push_changes(self.commit_count, self.branch, pr_title)
  File "/tmpfs/src/github/synthtool/autosynth/change_pusher.py", line 92, in push_changes
    git.push_changes(branch)
  File "/tmpfs/src/github/synthtool/autosynth/git.py", line 108, in push_changes
    executor.check_call(["git", "push", "--force", "origin", branch])
  File "/tmpfs/src/github/synthtool/autosynth/executor.py", line 29, in check_call
    subprocess.check_call(command, **args)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'push', '--force', 'origin', 'autosynth-self']' returned non-zero exit status 128.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 354, in <module>
    main()
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 189, in main
    return _inner_main(temp_dir)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 334, in _inner_main
    commit_count = synthesize_loop(x, multiple_prs, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 100, in synthesize_loop
    synthesize_loop_single_pr(toolbox, change_pusher, synthesizer)
  File "/tmpfs/src/github/synthtool/autosynth/synth.py", line 127, in synthesize_loop_single_pr
    toolbox.push_changes(change_pusher)
  File "/tmpfs/src/github/synthtool/autosynth/synth_toolbox.py", line 290, in push_changes
    pr = change_pusher.push_changes(self.commit_count, self.branch, pr_title)
  File "/tmpfs/src/github/synthtool/autosynth/change_pusher.py", line 92, in push_changes
    git.push_changes(branch)
  File "/tmpfs/src/github/synthtool/autosynth/git.py", line 108, in push_changes
    executor.check_call(["git", "push", "--force", "origin", branch])
  File "/tmpfs/src/github/synthtool/autosynth/executor.py", line 29, in check_call
    subprocess.check_call(command, **args)
  File "/home/kbuilder/.pyenv/versions/3.6.9/lib/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['git', 'push', '--force', 'origin', 'autosynth']' returned non-zero exit status 128.

Google internal developers can see the full log here.

Added Yoshi-Admins to this repo as admin to address this.


Make automatic gh-pages deploy work

mkdocs gh-deploy is not working from Github Action workflow.
ERROR   -  Config value 'markdown_extensions': Failed to load extension 'markdown_include.include'.

Another issue could be read and write permission error.

Adding markdown_include to requirements.txt solves this error. But, there is a new error.
DEBUG   -  Copying media file: 'reference/DFD_Shrestha.png'
FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/clm-workflow/clm-workflow/docs/reference/DFD_Shrestha.png'
Error: Process completed with exit code 1.

Changed absolute paths in DFD and pseudocode symlinks to relative paths. https://github.com/amansnama/clm-workflow/commit/d6bc47a9413e850b0916f0db915445f855073ec9
Deploy workflow runs successfully.


Looking back multiple zooms for fill tile

The fillzoom capability of tilelive-vector works well for a tileset with one consistent effective maxzoom, where a fillzoom tile should exist for all child tiles at higher zooms. However, for a "bumpy maxzoom topography" -- where the effective maxzoom of existing tiles is spatially variable -- the ability to load the highest existing parent zoom tile  (within a reasonable threshold) would be useful.
A lookback, when specified in the info for a given tileset, would describe the number of zooms that should be looked for, and the highest zoom of these used to overzoom and fill in the missing tile.
For example, when trying to load a z19 tile, where a z17 tile exists, and the lookback is 3:

Z19 tile attempts to load, but is not found
Z18, Z17, Z16 tiles all all attempted to load
The highest zoom found is overzoomed

cc @yhahn

Working on this here: https://github.com/mapbox/tilelive-vector/pull/127


EKF Enhancments: LP filters on rates and covariance added to logging

Hi Lorenz,
here are two of the discussed estimator enhancements:

Added LP filters with 10Hz to the angular rates published to vehicle_attitude

Added the diagonal elements of the covariance matrix to estimator_status and logging.

Cheers!
Youssef

Thanks!


Build the basic Projectstructure

Create the basic architecture for this project.

dbaccess
manager (services for dependency injection)
models

fixxed issue within the following commit:
e47d3ea419e14d8d73b04d4628e9cdc584586ab4


Deprecate blosc helper functions

As a pre-requisite for depending on pre-built blosc wheels (see https://github.com/zarr-developers/numcodecs/pull/571, https://github.com/zarr-developers/numcodecs/issues/262, https://github.com/zarr-developers/numcodecs/issues/464), this deprecates several functions. The idea would be to have one deprecation cycle (say numdocecs 0.14), then remove the public functions in the next release (say numcodecs 0.15).
This uses the deprecated library to handle the deprecations, which does add a nother dependency, but it is quite lightweight.

Last call for comments - if no-one objects, I'll merge this in a couple of weeks.


cast non vararg to object & reduce score client size

2 potential changes id like to discuss

Removing inheritance for scoreClientInterfaces and such removing need for the orginal interfaces to be deployed
Casting arrays into Object to differentiate between varArg and array methods.

I starting to regret removing inheritance since it can come in handy for casting.


Improve styling of wide tables

Description of proposed changes
Allows tables to expand with the viewport instead of staying confined within the main content column.  See a more detailed description of the behaviour in my added comments.
Also adds a bunch of demo documentation so it's easy to see the effect of this change (and others in the future).
Related issue(s)
Discussion in Slack recently and a bit longer ago.
Testing
Lots of visual inspection and testing of scrolling behaviour in a local build in Firefox.
Preview build with the demo tables.

Looks great on Nextclade, much appreciated!


Bounty Proposal: Surrender Funds

Describe the background or context

https://github.com/ubiquity/ubiquibot/issues/439
I think it would be a very interesting future if projects pay the debt of the bounty hunter (to the future project it shouldn't make any economic difference.)
This will make claw-backs seamless for projects that received bogus work.
This proposal will allow the claw-backs to be global (instead of limiting on the repository level!)

Describe the solution
If there is a disagreement between the bounty hunter and the project review board related to the delivery of the work, we should allow for the bounty hunter to "surrender" the bounty they earned. This way, they can get off the hook and start on their next bounty with no debt.
I think that getting to this situation in the first place is somewhat exceptional (poor QA is the responsibility of the partners after all) and the bounty hunter already did real work leading up to that point. So perhaps the surrender rate can be the entire bounty BUT exclude comment incentives (not sure if we should use that repository's configured rates or if we should have a standard global rate to calculate this, in case a partner has comment incentives disabled for some reason.)
Normally bounty hunters are not eligible for comment incentives, but this could provide a reward for extra effort (e.g. ideas, research) being put in to the bounty only for when there was a disagreement.
Examples
"Good" Bounty Hunter

The disputed bounty was for 500 USD.
The bounty hunter contributed plenty of research/ideas/conversation in the thread (comment incentives earned of 100 USD)
Project and bounty hunter disagree about the quality of the deliverable and bounty hunter refuses to continue working with Project.
Bounty hunter uses /surrender command to send back ( 500 USD - 100 USD =  400 USD )
In this scenario, the bounty hunter still made it out with 100 USD and returned 400 USD

"Bad" Bounty Hunter

The disputed bounty was for 500 USD.
Minimal comment incentives (e.g. 5 USD)
Disagreement
Bounty hunter surrenders 500 USD - 5 USD = 495 USD

We might need to think of a way to proactively protect Partners if they spot a bad bounty hunter early on leaving a lot of bogus comments and working on bogus work. Maybe the partner can delete or mark as spam the bogus comments, invalidating those as countable. I think there is a feature to ban a contributor from a repository and automatically delete their comments as well which should solve for this exploit vector.

@rndquu @Draeieg @sergfeldman rfc

Bounty hunter uses /surrender command to send back ( 500 USD - 100 USD =  400 USD )

By "send back" you mean penalty applied on the next generated permit? How exactly a bounty hunter should send back the reward?

Minutes from research call

enable opt-out for clawbacks on repo level

By "send back" you mean penalty applied on the next generated permit? How exactly a bounty hunter should send back the reward?

I think this is a rough proposal that can benefit from refinement:
We can parse an onchain transaction e.g.
/surrender 0x6cea3b8812043a38418cd75e8411de0cf8401ba2c575e44e5f34dfd9947bb1cd

Where the argument is a transfer from the hunter's registered wallet back to the permit wallet.

We need to ensure that we save-and-check the surrendered transaction hash so that it isn't double surrendered.
We need to verify it is from the registered wallet of the bounty hunter.
We also need to verify the amount is equal to the bounty, minus the comment incentives.

@rndquu @Draeieg @sergfeldman rfc

@pavlovcik
I thought thoroughly about this idea and for now I suggest

Focus all interactions with bounty hunters more on positive incentives than punishments.

Clearer define incentive types and decide whether a bounty hunter will have separate "balances" or single "balance" for incentives.
For example, we have bounties that are incentives for completing tasks, and incentives for comments that is a different incentive type.
Some time ago, se gave a bug bounty, and potentially can give incentives for helping with new tasks description.

For the future I propose

If the negative case with bounty reopening will be repeated often, then consider a compensation mechanism with the insurance logic.
The same or similar mechanism can help for the reputation system.

The insurance logic: the less productive experience a bounty hunter has, the higher his deductions to the insurance fund should be. For bounty hunters with a long productive experience, the insurance system will make additional incentives instead of deductions.

for helping with new tasks description, which can be a third incentive type.

This is all simplified and calculated as "comment incentives" which is applicable for 1. filing a new issue and writing its description 2. contributing comments to the issue conversation 3. pull request reviewers leaving comments.
However I imagine that they might be calculated at different rates. For example, the original comment used to open an issue will receive more credit per word when compared to other commenters in the issue conversation.

insurance fund

I'm unsure if I fully understand your idea.  Who's funding this?

If it is us, then this doesn't solve the problem because we're spending money on non-performance.
If its the bounty hunters, then this is the same as my proposal with extra steps.

Who's funding this?
If it is us, then this doesn't solve the problem because we're spending money on non-performance.
If its the bounty hunters, then this is the same as my proposal with extra steps.

I meant bounty hunters are funding the insurance deductions.
A general approach can be like for social insurance
https://www.investopedia.com/social-insurance-definition-5214692
The specific logic with criteria and calculations can be developed if the problem with surrenders will happen often.

I meant bounty hunters are funding the insurance deductions.

If its the bounty hunters, then this is the same as my proposal with extra steps.

Who's funding this?
If it is us, then this doesn't solve the problem because we're spending money on non-performance.
If its the bounty hunters, then this is the same as my proposal with extra steps.

I meant bounty hunters are funding the insurance deductions.
A general approach can be like for social insurance https://www.investopedia.com/social-insurance-definition-5214692
The specific logic with criteria and calculations can be developed if the problem with surrenders will happen often.

the overall idea for insurance has been talked already as tricky and more expensive, we should stick to solutions that are simpler/capital efficient
if anything we can do that social insurance thing as an opt in, but id wager most people in crypto would percieve anything taxlike as a scam
Since this scenario would happen if a partner does bad QA or is acting in bad faith and changes the specs we can brand /surrender a "protection against bad clients" and incentivize QA best practices (maybe make QA incentives?)
other options are

gating /surrender behind levels and reputation (like we talked about gating comment incentives
this will prevent bad hunters from accessing the features to begin with, and incentivize new hunters to level up and pick reputable partners instead of the typical freelance dilemma where a new freelancer with 0 reputation in the platform has to pick other 0 reputation clients making their first experiences bad
doing the communist debt system where they have a negative balance effectively and some other project  "pays" the missing funds

Since this scenario would happen if a partner does bad QA or is acting in bad faith and changes the specs we can brand /surrender a "protection against bad clients" and incentivize QA best practices (maybe make QA incentives?)

/eject lol

gating /surrender behind levels and reputation (like we talked about gating comment incentives
this will prevent bad hunters from accessing the features to begin with

Imagine leveling up your stats to buy perks at the UbiquiStore

@rndquu perhaps we can complete the technical spec to turn this into a bounty? https://github.com/ubiquity/ubiquibot/issues/441#issuecomment-1611846103

@rndquu perhaps we can complete the technical spec to turn this into a bounty? #441 (comment)

Let's wait for https://github.com/ubiquity/ubiquibot/issues/439


can't import npm package

Description
When I use react native 0.38.0 to init a new project. I find that I can't use npm to install some packages, such as react-native-drawer.
After import react-native-drawer. It will show unnamed module react-native-drawer
Additional Information

React Native version: 0.38
Platform: [Android]
Operating System: [ Windows10]

Hey, thanks for reporting this issue!
What's the exact error? How exactly (what command) did you install packages?
It looks like your description is missing some necessary information. Can you please add all the details specified in the template? This is necessary for people to be able to understand and reproduce the issue being reported.
I am going to close this, but we can reopen if additional information is provided. Thanks!