Add character: Hector

Hero Description
Hector is a cursed warrior, who after facing and defeating a demon, gained his physical characteristics and powers. Having an excellent physique and great durability in fights.
Concept Art

For your concept art, I relied on Pokemons with samurai armor, and I kept shaping their appearance until it was pleasant and compatible with their lore.

Inspiration
Crude characters and with great physical resistance, his armor was inspired by the armor of the protagonist of Berseker, and also in RPG games like Dark Souls 3.
Moves
Idle
The character holds his sword, resting it on his back.

[STICK] Walk
With the sword resting on his back, the character runs.

[LEFT] Piercing Attack Gust
Description Hector casts briefly to hit his sword on the ground, after hitting, the impact of the sword is so strong that it creates a wave of wind in front of him, shaped like a cone, enemies hit by this "wave" are stunned.
[MIDDLE] Mass destruction
Description Hector jumps, when he falls, deals great area damage.
[RIGHT] Destructive Combo
Description The character performs a 3-cut combo with the sword in front of him. The combo is slow, but does a lot of damage.
[Q] Ultimate: Uncontrollable Demon
Description A demon icon appears above your head, after that, the character is immune to group control for 5 seconds, being able to use his abilities normally. During his ultimate, the demon icons are spinning around him.
[E] TAUNT
Description The character shows his angelic form, and then returns to his normal form.
Tasks

[x] Idle
[x] Walk
[x] [LEFT] Piercing Attack Gust
[x] [MIDDLE] Mass destruction
[x] [RIGHT] Destructive Combo
[ ] [Q] Ultimate: Uncontrollable Demon
[ ] [E] Taunt

Issue created, together with the concept art and the initial model, so far, were 5 hours and 17 minutes of work.
At the moment, I'm waiting for Alexandre's approval.
After the character's Assigment, I will start Idle and Walk.
Is it approved? @MaisaMilena

06/09

Resume (Updates in the main Post)

Posing + Idle
Hours Worked 4:26

06/10

Resume (Updates in the main Post)

Walk
Hours Worked 6:45

06/11

Resume (Updates in the main Post)

Mass Destruction (Cast + Effect)
Hours Worked 8:50

06/15

Resume (Updates in the main Post)

Walk (Remake) + Destructive Combo
Hours Worked 6:09

06/15

Resume (Updates in the main Post)

Mass Destruction
Hours Worked 6:55

06/17

Resume (Updates in the main Post)

Taunt + Ultimate
Hours Worked 6:53


Replace hard-coded pnpm version with the value from package.json

Problem

The pnpm version is hard-coded in the workflows. Keeping it updated manually will be tedious.
Description

We can, instead, get it from the package.json as in the frontend repository's Playwright Docker setup:
https://github.com/WordPress/openverse-frontend/blob/3baca4c90b1f3912bbd8058fb316e416d522a94a/Dockerfile.playwright#L6

@obulat Could you specify which are the workflows affected?

@obulat Could you please confirm where the hardcoded version in the workflow that you are referring to is? I'm wondering if you meant to explicitly define pnpm version in the frontend Dockerfile.

I should have added a link when creating the issue...
I think @dhruvkb has updated the Dockerfile that had a hard-coded pnpm version. As for the frontend Dockerfile, I am not sure why there is no pnpm version there.

I think the original issue no longer applies. The reason we had hardcoded the pnpm version in the workflows was because the package.json file was in a subfolder.
The pnpm setup action is capable of automatically determining and setting up the right version of pnpm if there is a root package.json file with the packageManager field set. Since we moved to a monorepo, that is indeed the case and so we no longer hardcode the pnpm version in our workflows.


Formatting for union types needs improvements

type T = A
       | B
       | C;

If I try adding another union arm to the RHS of T, formatting ruins everything.

What's the expected result?

@DanielRosenwasser i believe this is handled by #4442.

I'd expect the |s to stay aligned to each other - if #4442 doesn't handle that, it doesn't have to be done there, but it would be great for us to have it eventually.

#4442 doesn't handle that. Maybe a new indentation style will give the better result, like the one discussed in #3781.

looks fixed now.


Remove NodePool Status Updates from Cloud Manager

This update removes node pool status updates from the Cloud Manager to maintain a clear separation of responsibilities: the Cloud Manager exclusively updates spec fields, while the hwMgr plugin is responsible for status fields.
The hwMgr plugin uses the ObservedGeneration status field to detect changes in the node pool spec and adjust its operations accordingly, without needing to modify spec fields. This design strengthens single-responsibility principles, reducing potential update conflicts.

/approve

/override ci/prow/scorecard


Update the kernel to 6.12-rc4

Closes #32 . This is including the zlib patch. ISO hash has not been computed yet.

Thanks!
Just tested, it boots, I am writing this comment from this kernel.
Could you please include the ISO hash?

Will do, am building on an amd64 computer... Will take a while to get back to you on that.

Done, commit has the sha256.


📃: Add Tic-Tac-Toe Project in React

:red_circle: Tic Tac Toe Game :
:red_circle: Aim :
:red_circle: React JS :
Screenshots 📷

:white_check_mark: To be Mentioned while taking the issue :

Full name : Diksha Jain
What is your participant role?
GSSOC-EXT, HACKTOBERFEST

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

@iAmDiksha i would like to work on issue.

No games allowed.


MySQL Client fails to retry when using connector

Bug Description
Connecting to CloudSQL MySQL using the connector does not work with connCheck() in go-sql-driver/mysql. This results in the driver not emitting driver.ErrBadConn, leading to no retry on bad connections.
connCheck() uses implementation details for unix socket to check if connection is alive by reading 1 byte from the tcp connection. This works when the connection is in plain text with underlying unix socket (syscall.Conn). They also have special handling for their built-in tls.
The connector returns instrumentedConn on Dial. There is no handling for this type in the driver, so the driver skips the connection check.
Example code (or command)
db := // connect to mysql db with the connector

db.SetMaxOpenConns(1)
db.SetMaxIdleConns(1)

for i := 0; i < 100; i++ {
	var value string
	err = db.QueryRow("SELECT 'thing' as value").Scan(&value)
	if err != nil {
		panic(err)
	}

	log.Info().Msg("ok")
	time.Sleep(10 * time.Second)
}

Stacktrace
11:32AM INF ok
11:32AM INF ok
{"level":"debug","time":"2022-06-13T11:32:24-04:00","caller":"/<path>/vendor/github.com/go-sql-driver/mysql/packets.go:37","message":"unexpected EOF"}
panic: invalid connection

How to reproduce

start the polling script
kill the sql connection (connection closes on the server side, e.g. wait_timeout)

SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST WHERE USER='<the-db-user>';
KILL <process-id>

Expected behaviour
(works when running ./cloud_sql_proxy separately)
11:39AM INF ok
{"level":"debug","time":"2022-06-13T11:39:30-04:00","caller":"/<path>/vendor/github.com/go-sql-driver/mysql/packets.go:123","message":"closing bad idle connection: EOF"}
11:39AM INF ok

Workaround
Keep no open idle connection to avoid server side disconnects db.SetMaxIdleConns(0)
Environment

OS type and version: macOS 12.4, and build from golang:1.18-alpine
Go version: go version go1.18 darwin/amd64
Connector version: v0.4.0
go-sql-driver/mysql version: v1.6.0

Thanks, @Gentoli. I'll work on a fix for this.

This might require a change to the Go MySQL driver.
Right now the driver gates connection checking with CheckConnLiveliness:
https://github.com/go-sql-driver/mysql/blob/ad9fa14acdcf7d0533e7fbe58728f3d216213ade/packets.go#L113-L120

pgxv5 uses the SyscallConn interface now: https://github.com/jackc/pgx/blob/fbfafb3edfc378681c2bad91b1a126e7e6df3f5b/internal/nbconn/nbconn.go#L95-L99.
When I try to use pgxv5 with the connector, the connection hangs and never completes a read. It's not clear to me if that's a problem with the implementation here or not.

Re-closing this. pgxv5 support isn't coming any time soon since we support Go 1.16 and 1.17 and it doesn't. We'll have to re-address this then. Until then, I re-confirmed that our patch does in fact work. And note: checkConn doesn't actually read from the connection so we're good.


Replace Group Encryption with ECIES Poseidon

Motivation
This PR replaces the group encryption in DPC with field encryption (ECIES Poseidon here).
It also fixes an issue that ConditionalEqGadget did not check the length and that nonnative did not truncate the bits properly.
Test Plan
The code should pass the tests after a resampling of parameters.
Related PRs
This closes #304

LGTM pending CI checks


Resolve-DnsName returns more than 25 A and AAAA records

When I use the Resolve-DnsName cmdlet I get a lot more than 25 records in response. In the doc it is mentioned that the max records returned is 25. I may have misunderstood this note, but I thought I would bring it to your attention.

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

ID: 014fb5df-2480-2136-1257-2aade82e4c4a
Version Independent ID: 38c0b3be-3aa8-7926-716c-aa28367d6df7
Content: Resolve-DnsName (dnsclient)
Content Source: docset/windows/dnsclient/Resolve-DnsName.md
Product: powershell
Technology: powershell
GitHub Login: @andreabarr
Microsoft Alias: v-anbarr

Checked and confirmed, there is no limit for 25 records


Helm upgrade fails on kubernetes v1.25+ due to PodSecurityPolicy dependency

Hi Grafana Dev Team.
I'm unable to upgrade the grafana/k8s-monitoring Helm chart on Kubernetes v1.25.11. The upgrade process fails with an error indicating a dependency on the PodSecurityPolicy resource, which is no longer supported in Kubernetes 1.25+.
Environment:
Kubernetes Version: v1.25.11
Steps to Reproduce:

Add the Grafana Helm chart repository: helm repo add grafana https://grafana.github.io/helm-charts
Update Helm repositories: helm repo update
Attempt the upgrade: helm upgrade --install --atomic --timeout 300s grafana-k8s-monitoring grafana/k8s-monitoring -n grafana-agent --create-namespace -f values.yaml

Expected Behavior:
Helm chart to deploy successfully on Kubernetes versions where PodSecurityPolicies have been removed.  Please update the chart to address this incompatibility.
Cheers

closing posted in wrong repository.
Here is a the solution if anyone comes across this
https://github.com/grafana/helm-charts/blob/grafana-6.36.1/charts/grafana/templates/podsecuritypolicy.yaml
{{- if .Values.rbac.pspEnabled }}

@scottnimos, how did you modify that grafana chart before deploying this chart? Little confused on how to implement the solution for this.

Hi @acmacalister apologies, I was really confused the other day. Though that led me down that something was up on my end because the chart did have code to recognise if the PodSecurityPolicy is available. (confirmed from the link I provided)
After trying to uninstall grafana/k8s-montioring chart, helm spitted out uninstall error. I had to manually delete the resources on the cluster as helm no longer had a reference to a chart being installed. I then proceeded to install the chart again and it worked as expected.

@scottnimos no worries at all. I appreciate the reply.
I ended up having to delete/uninstall the helm chart and reinstall as well.
tldr, this seem to only effect users upgrading their k8s-monitoring deployment as older version had grafana-k8s-monitoring-prometheus-node-exporter which still had definitions for PodSecurityPolicy resources, which were removed in k8 1.25+. Since the resource no longer exists, it will cause upgrades to fail. I tried this plugin:
https://github.com/helm/helm-mapkubeapis
helm mapkubeapis grafana-k8s-monitoring
and it successfully allowed me to do the upgrade, but kept timing out.
helm upgrade --install --atomic --timeout 300s grafana-k8s-monitoring grafana/k8s-monitoring --values values.yml
I tried deleting the secrets as others suggested:
k delete secrets/sh.helm.release.v1.grafana-k8s-monitoring.v1
but that still failed. I removed the install and just install again and that got everything kosher again.


Feature: Add support for multi-project setup

Fixes https://github.com/grafana/google-bigquery-datasource/issues/104

Amazing progress @oscarkilhed & @zoltanbedi. Before jumping to code review I did couple of tests given different JWT and GCP scenarios. Along the way I have encountered few issues:

In order for the project selector to work the Resource Manager API needs to be enabled in GCP project. But users wouldn't know about that given we are not showing any feedback about projects request failing due to that. I suggest incorporating Resource Manager API check in the data source health check. And - since some people will try to update their data source to the version with the Resource Manager API requirement I suggest releasing this change as 2.0.0 and providing an error message in the query editor, if the Resource Manager API is not enabled. The error returned from the API call contains a link that takes the user to the cloud console directly to enable the missing API, so let's use that link in the alert/error message so that the configuration is as simple as possible.

https://user-images.githubusercontent.com/2376619/164689550-cdbb436d-11ee-4bd6-b70f-af86c7d2f5e9.mov

VQB does not respect the project used in the builer. Instead it falls back to a default project from the data source configuration. This is the JWT scenario.

https://user-images.githubusercontent.com/2376619/164691340-95fb9fb6-3c22-43f2-b46b-8bbfe81adc3b.mov

There is some issue with connection caching. Apparently, when changing the data source in panel edit, the connection is not being updated, resulting in the previous data source's projects retrieval:

https://user-images.githubusercontent.com/2376619/164691870-fccd2cde-982c-4704-8c5c-251fc51663c5.mov

Tables are not auto-suggested as they were prior to these changes:

https://user-images.githubusercontent.com/2376619/164692538-528b18d8-4f47-445e-8564-8e6cb5c7f11a.mov

I think we might need to update the documentation to describe this error.

I've noticed that there is a failing /schema request happening now as well as the suggestions after the table are broken (LIMIT, GROUP, WHERE etc suggestions are no longer available):
https://user-images.githubusercontent.com/2376619/165473580-9c728e67-bb54-4c63-bd85-cac1e10b8a19.mov

Should we show an error message like this @dprokop

Should we show an error message like this @dprokop

@zoltanbedi yeah, this looks legit. If we can make the tooltip actionable - as described in https://github.com/grafana/google-bigquery-datasource/pull/112#issuecomment-1110684477 - that would be even better!

Alright, we should be getting a bit better error messages now. Unfortunately we also get the error popup/toaster in the right corner when it fails, not sure if it's possible to opt out of that.


Is it possible to clear service_principal_entries.json secrets from cli?

Related command

Is your feature request related to a problem? Please describe.
I notice in .azure/service_principal_entries.json that the service principal clientId and clientSecrets are stored there.
Is there a command to discard these entries after a certain period?
e.g. drop after 5 days etc..
or should we just manually rm ~/.azure/service_principal_entries.json  when cleaning up our workspace.
Describe the solution you'd like

I see here https://github.com/Azure/azure-cli/blob/0459b95edb485459d5ce1c9cd053fb1b37cd9a33/src/azure-cli-core/azure/cli/core/auth/identity.py#L126 it being used
i see the logout call happening here
https://github.com/Azure/azure-cli/blob/0459b95edb485459d5ce1c9cd053fb1b37cd9a33/src/azure-cli-core/azure/cli/core/_profile.py#L292
but when i do az login followed by az logout it does not erase/clear the file
Describe alternatives you've considered

Additional context

AzCli V 2.44.0

~/.azure/service_principal_entries.json is the container for Service Principal entries. az logout only deletes the entry within service_principal_entries.json, but not service_principal_entries.json itself.
To fully delete service_principal_entries.json, run az account clear:
https://github.com/Azure/azure-cli/blob/f0c87ca820e0bd3f9dd403ef96c21ed49b734d16/src/azure-cli-core/azure/cli/core/auth/identity.py#L215-L218

thank you az account clear has removed the service_principal_entries.json file.


fix: set correct schema for all datasets

Description
This PR corrects the schema of all datasets to use the available settings

Thanks for the pull request, @Ian2012! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
Please let us know once your PR is ready for our review and all tests are green.

@Ian2012 🎉 Your pull request was merged!  Please take a moment  to answer a two question survey so we can improve your experience in the future.


Double fixes

This uses a new emscripten API to properly print doubles with full precision - since JS engines have that ability, it just hands off the problem to them.
This does not solve the problem when running the unpacker natively. See #5 for discussion.

LOL, I tried using %g in the first JS ("Mocha") implementation, it didn't work then and it doesn't now. The dtoa.c code from David M. Gay (on ftplib in old days) lives on!
/be

Heh, funny that this issue goes so far back.
Emscripten's JS AST printer uses this code which tries a few snprintf approaches and picks the smallest out of the fully accurate. It's mostly pretty good, but not always the smallest. We should probably just import dtoa.c. Over 3,000 lines though...

Heh, yeah, I knew this was cheating :)


Setup script

Setup script to perform the following actions:

Install npm packages
Remove the original Git repo
Prompt the user to update package.json where appriopriate
Remove the tools/setup folder containing the script when finished

I did add two devDependencies in package.json: prompt and replace, for handling the package.json updates. If you would prefer that I not save them as dependencies, I could look at having the script just manually install then uninstall them.
Let me know if you have any questions or issues.
Thanks,
Gabe

Coverage remained the same at 98.904% when pulling 1023302f0c37aa3078cf3d88a43cd23aa8c011b4 on gargrave:setup-script into 586c9c8ae2747cc2648abfdf261f58184f98957c on coryhouse:master.

This is awesome! Brilliant work! 💯
I'm making a few tweaks and will get this merged today. Thanks so much! You nailed it! 👍

I made some tweaks:

Converted to ES6
Fixed linting issues
Tweaked messaging to use chalkConfig

I'm torn on whether to remove the git repo. It actually bit me as I was trying your PR. I had made some tweaks and then wiping out the repo removed my changes.
I'm also trying to remove the keywords from package.json, but am struggling with the proper regex (not my strongsuit). Certainly open to a suggestion there!
Thanks again!

Yeah, I feel you on the Git issue--I can safely say I have never had to try to deal with writing a script that deletes Git and itself--it certainly made for an interesting time trying to keep it tracked. It seems like the only time it would really be an issue is for someone who is planning on contributing, and thus needs to keep the original repo--otherwise, I think it's a really handy feature to have in there. (Maybe just adding a cautionary note to the relevant line in the README file would be enough?)
Keywords: I started looking at that as well, and felt like it was probably more effort than it was worth in that case--mostly, like you said, because it doesn't use the same simple regex that the other prompts do. Are you thinking you would like to prompt the user for new keywords, or just clean it out and leave an empty array for the user to populate manually?

I was just going to clean out the existing keywords, or, if easier, remove the keywords section altogether.

Cool, that should be easy enough. I think I have it already, but I just need to test a full run of it when I have a minute. I'll send another PR later today.

Hey Cory,
One quick thing I noticed in trying to re-clone from scratch and run this. Maybe it's something wrong on my end, but when I am starting from a clean clone of the repo, the script won't run using babel-node. I ran into this before, and it's why I was originally sticking with mostly ES5 syntax that "vanilla Node" will run, since the npm script itself is actually launched before the babel tools are installed locally.
Am I maybe missing a global install that is causing this, or do we need to switch it back to the original ES5-ish syntax, since the assumption will be that anyone running this is starting from a clean clone with no packages installed?
I do fully admit that this could be user error on my part, but I just wanted to check before proceeding with anything.
Thanks again!

Ah! Great point. I didn't consider that. Since babel-node isn't installed until npm install is run, it indeed needs to be in ES5. If your next PR has it back in ES5, I'll just merge it in to complete the rollback of my mistake. 👍

Ok, cool. I will send a PR later on today. (Incidentally, this is the same reason I didn't use chalk in the initial setupMessage.js file.)

Yep, that makes sense.
I also realized we need a bit of validation on the project name. No spaces are allowed.

Yeah, I had considered that possibility as well. It's actually pretty trivial to add regex checking to user input with prompt, so it shouldn't be too big of a deal to enforce npm's naming conventions. Pretty confident I can work it in!


Initial Content

Not sure if I want to drop gomnd and wsl in this PR or a follow up, I think follow up...?

@mmlb, would prefer if this was based this off https://github.com/metal-toolbox/mctl/blob/main/.golangci.yml#L1-L90
since we've been curating it for a while and theres a bunch of autofixes included.

Alright @joelrebel, @DoctorVin I've updated the config file to be based off of mctl's. There were some invalid configs, cargo culted settings and unnecessary disables that I've removed/tweaked. Both mctl and ironlib will need some tweaks to pass with this config but imo they are worth doing. mctl is pretty good, ironlib needs the most work (mostly mechanical). I'll post a PR to each with the changes necessary to work with this config in a little bit.
It would probably be easier to review each commit on its own, I made it so it would be easier to trust the changes/diff if reviewed that way.

mctl: https://github.com/metal-toolbox/mctl/pull/108


These templates are really good, but any templates for Red hat Enterprise

Thanks for a nice comment. I'm afraid I don't have a plan to add templates Red Hat Enterprise Linux since I don't have licenses for RHEL.


Add sso.Group, context.Auth, context.APIAuth to allow auth special routes

This PR is only a refactor, but it makes auth according different routes possible.

I think we should just move modules/auth/sso to services/auth.

I think we should just move modules/auth/sso to services/auth.

I think we should just move modules/auth/sso to services/auth.

Done.


Assignment 11- 6ITA - Deep

For  #630
📋 Description
JavaScript All Task Done
📸 Screenshots

Next time onwards, preferably squash multiple commits into one!


Identifiers validation failed for dataset FLOR - Herbário do Departamento de Botânica da Universidade Federal de Santa Catarina

Identifier validation failed for the dataset FLOR - Herbário do Departamento de Botânica da Universidade Federal de Santa Catarina:

Crawler attempt: 440
Publishing organization: Universidade Federal de Santa Catarina
Publishing country: BRAZIL
Installation: speciesLink Network / INCT-HVFF IPT
Number of occurrences indexed for this dataset at the time of the issue: 76064
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 76735 total records; 76735 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/4165429/step

New IDs sample:

Old IDs sample:

BRA:UFSC:FLOR:76986
BRA:UFSC:FLOR:77961
BRA:UFSC:FLOR:77962
BRA:UFSC:FLOR:77963
BRA:UFSC:FLOR:77964
BRA:UFSC:FLOR:77965
BRA:UFSC:FLOR:77966
BRA:UFSC:FLOR:77967
BRA:UFSC:FLOR:77958
BRA:UFSC:FLOR:77968

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the FLOR - Herbário do Departamento de Botânica da Universidade Federal de Santa Catarina : https://doi.org/10.15468/yaie53.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.

Identifier validation still  failing for the dataset FLOR - Herbário do Departamento de Botânica da Universidade Federal de Santa Catarina:

Crawler attempt: 441
Publishing organization: Universidade Federal de Santa Catarina
Publishing country: BRAZIL
Installation: speciesLink Network / INCT-HVFF IPT
Number of occurrences indexed for this dataset at the time of the issue: 76064
Cause: GBIF ID problems exceed 50% threshold: 100% duplicates; 76735 total records; 76735 absent records
Pipelines execution steps: http://api.gbif.org/v1/pipelines/history/execution/4184608/step

New IDs sample:

Old IDs sample:

BRA:UFSC:FLOR:76986
BRA:UFSC:FLOR:77961
BRA:UFSC:FLOR:77962
BRA:UFSC:FLOR:77963
BRA:UFSC:FLOR:77964
BRA:UFSC:FLOR:77965
BRA:UFSC:FLOR:77966
BRA:UFSC:FLOR:77967
BRA:UFSC:FLOR:77958
BRA:UFSC:FLOR:77968

Publisher email
Hello,
I am contacting you from the GBIF Secretariat about a dataset published by the FLOR - Herbário do Departamento de Botânica da Universidade Federal de Santa Catarina : https://doi.org/10.15468/yaie53.
We noticed that the occurrenceIDs were changed. We have temporarily paused the ingestions of this dataset.
As you might already know, when an occurrence record has a new occurrenceID for a given dataset, our system considers it to be a new occurrence.
This means that it will be given a new gbifid and a new occurrence URL (like this one: https://www.gbif.org/occurrence/1252968762) and the old gbifid and URL will be deprecated.
In this case, this means that the occurrence URLs would be deprecated when ingesting the newest versions of these datasets.
We would like to check with you if those changes were intentional. Do you know if this is the case?
Please let us know, thanks! We are happy to resume the dataset ingestion.
Note that some users rely on those occurrence URLs and gbifids (like https://bionomia.net for example). In an attempt to improve
the stability of the occurrence URLs and gbifids, we have implemented a warning system to detect these type of changes in datasets (see this news item).
If the data publisher can provide us with a list of old and new occurrenceIDs per record, we can avoid the identifier and URL changes. Could that be an option?
Please let us know if you have any question. Thanks!
All the best,

You can skip/fix identifier validation using the registry UI.


Bug when starting release branch 0.7.3

I am on Windows with Python 3.7.
I did pip install<EMAIL_ADDRESS>but got the error below
>label-studio start my_labeling_project --init
c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\site-pac
kages\label_studio\examples\image_polygons\config.xml label config copied to .\m
y_labeling_project\config.xml
.\my_labeling_project\completions output dir has been created.

Label Studio has been successfully initialized. Check project states in .\my_lab
eling_project
Start the server: label-studio start .\my_labeling_project
Start browser at URL: http://localhost:8080/welcome
 * Serving Flask app "label_studio.server" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployme
nt.
   Use a production WSGI server instead.
 * Debug mode: off
Traceback (most recent call last):
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\phmay\AppData\Local\Continuum\miniconda3\envs\label-studio\Scri
pts\label-studio.exe\__main__.py", line 7, in <module>
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
site-packages\label_studio\server.py", line 1012, in main
    app.run(host=host, port=port, debug=input_args.debug)
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
site-packages\flask\app.py", line 990, in run
    run_simple(host, port, self, **options)
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
site-packages\werkzeug\serving.py", line 1010, in run_simple
    inner()
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
site-packages\werkzeug\serving.py", line 963, in inner
    fd=fd,
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
site-packages\werkzeug\serving.py", line 806, in make_server
    host, port, app, request_handler, passthrough_errors, ssl_context, fd=fd
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
site-packages\werkzeug\serving.py", line 699, in __init__
    HTTPServer.__init__(self, server_address, handler)
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
socketserver.py", line 452, in __init__
    self.server_bind()
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
http\server.py", line 137, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "c:\users\phmay\appdata\local\continuum\miniconda3\envs\label-studio\lib\
socketserver.py", line 466, in server_bind
    self.socket.bind(self.server_address)
socket.gaierror: [Errno 11004] getaddrinfo failed

What host name and port do you use to start LS?

Please, check my latest commit on release/0.7.3 branch (Fix with sockeraddr on windows).

@RasmusEdvardsen have you the same issue with socket bind?

@makseq Yes, I do

@makseq
The issue is in app.run(host=host,...) where host now has the protocol prepended to the address (http://localhost), whereas it was just the path previously (localhost)
Also, this is a problem, when the config file is generated by the init script from the cli.
0.7.2:
"host": "<IP_ADDRESS>",
0.7.3-rc:
"host": "http://<IP_ADDRESS>",
https://github.com/heartexlabs/label-studio/blob/20d0612a596b5f2656f12fe4b73f5ce561cde657/label_studio/server.py#L998

@RasmusEdvardsen check the latest commit now

@makseq perfect!
(lblstd) PS C:\ai\labelstudio> label-studio start poc-front
Chick host & port is available localhost:8080
Start browser at URL: http://localhost:8080/welcome
 * Serving Flask app "label_studio.server" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
[2020-07-08 17:43:22,672] [INFO] [werkzeug::_log::122]  * Running on http://<IP_ADDRESS>:8080/ (Press CTRL+C to quit)
[2020-07-08 17:43:25,912] [INFO] [werkzeug::_log::122] <IP_ADDRESS> - - [08/Jul/2020 17:43:25] "GET /welcome HTTP/1.1" 200 -

And config.json:
{
  "title": "Label Studio",
  "protocol": "http://",
  "host": "<IP_ADDRESS>",
  "port": 8080,
  "debug": false,
  "label_config": "config.xml",
  "input_path": "tasks.json",
  "output_dir": "completions",
  "instruction": "Type some <b>hypertext</b> for label experts!",
  "allow_delete_completions": true,
  "templates_dir": "examples",
  "editor": {
    "debug": false
  },
  "sampling": "sequential",
  "ml_backends": [],
  "source": {
    "name": "Tasks",
    "type": "tasks-json",
    "path": "C:\\ai\\labelstudio\\poc-front\\tasks.json"
  },
  "target": {
    "name": "Completions",
    "type": "completions-dir",
    "path": "C:\\ai\\labelstudio\\poc-front\\completions"
  }
}

Thanks for fixing this.


Expired discord invite

Hi there! This project looks very interesting and I'd like to join the discord server to know more. But the invite seems to have expired.

I just updated the link, give it a try,   https://discord.gg/mzDD5JtYRp


Update Cargo.toml

Updates dependency to the patch version of 0.3.17
Advisory

We can merge this but because cargo picks up the latest version I am not gonna rush to get this out into a release. (Also the original bug was uh a bit extreme for a CVE IMHO).


issue #129 multiple trackers

2 talking points I have are:

Would an array of trackers for each event be desirable?
Taking the comments and backwards compatibility into consideration, I allowed for using customTrackerId or tracker. Not sure if it should have just been customTrackerId.

This is great @WushuDan!
Umm...It looks like Google Analytics's API only supports sending an event to one tracker at a time. So if we wanted to provide support for an array of trackers per event we would have to duplicate each event and create a ga(${tracker}.send, 'pageview') call for each. Which is very possible and not super hard to do.
But, the original issue was to add support to specify a custom tracker. Let's be lean about this, what do you think about adding support for the single custom tracker (like you've done in this PR). Then later, if people request it, we can make a non-breaking change to support an array of trackers.
So, in short:

Would an array of trackers for each event be desirable?

Not now, but maybe in the future? It won't be hard to add later. @oldo can you confirm this?

Taking the comments and backwards compatibility into consideration, I allowed for using customTrackerId or tracker. Not sure if it should have just been customTrackerId.

Hmm...This is a good question. I forgot we had snuck in support for custom trackers when we added support for the GA ecommerce plugin. My initial thought on this is that I prefer the name tracker to customTrackingId. Mostly because the Google Analytics docs often refer to it as a "Tracker", or the "Tracker Name", and not "Tracking ID". This is also how @oldo referred to it in his issue (#129). My second thought is that the next Redux Beacon release will probably be bumped upped by a major version (i.e. v2.0.0). So, if we wanted to change it to just tracker that wouldn't hurt those that are using customTrackerId. Thoughts @riavalon?
A few things about your PR.
a) You're awesome. :1st_place_medal:
b) CI failed, but it looks to only be eslint errors. Don't worry about this, I can fix it later.
c) You mentioned that you were having trouble running the test suite, I'll run it locally later this afternoon. If there are no regressions I'll merge this.

Wow, that's really nice of you to reference me @ttmarek considering I just ghosted out the room and dropped off the radar after our initial couple of messages! :-)
I like you suggestion of just specifying a single tracker at this stage and then in the future opening up the ability to pass an array of tracker names. Very cool 💯
Nice work @WushuDan 👍

@WushuDan I confirmed that the only failing checks were linter errors (for trailing spaces). Other than that everything passes. 🎉
I'll merge this and take care of the linter errors in a separate PR.


unsafe: document if syscall.Syscall exemption to unsafe.Pointer rules also applies to other assembly functions

Go version
1.22.5 (this is from pkg.go.dev)
Output of go env in your module/workspace:
N/A (this is from viewing the docs online on pkg.go.dev)

What did you do?
Looked at the docs for unsafe.Pointer
What did you see happen?
Point 4 in the list of allowed uses for unsafe.Pointer states:

Conversion of a Pointer to a uintptr when calling syscall.Syscall.

but the subsequent explanation implies that any function written in assembly can be used, including syscall.Syscall as a special case.
What did you expect to see?
Consistent documentation

Related Issues

proposal: unsafe: clarify unsafe.Pointer rules for package syscall #34684
cmd/compile: mishandling of Pointer-to-uintptr conversion for Syscall #23051 (closed)
x/sys: invalid use of unsafe.Pointer in ioctl arg parameters #44834 (closed)
unsafe: allow conversion of uintptr to unsafe.Pointer when it points to non-Go memory #58625
x/sys/windows: uintptr(unsafe.Pointer) calls outside of syscalls #67437 (closed)
syscall,x/sys/unix: ptrace wrappers erroneously pass Go pointers as type uintptr #58387 (closed)

(Emoji vote if this was helpful or unhelpful; more detailed feedback welcome in this discussion.)

A typical function written in assembler should know which parameters are pointers and which are not.  syscall.Syscall is a special case because we don't want to have to write every possible variant.  Still, I tweaked it to "functions like syscall.Syscall" in https://go.dev/cl/596936.  Thanks.


为什么代码没写完就跳到当前行的末尾了

VSCode Version: Code 1.12.1 (f6868fce3eeb16663840eb82123369dec6077a9b, 2017-05-04T21:26:50.689Z)
OS Version: Windows_NT ia32 6.1.7601
Extensions:

Extension
Author
Version

html-class-suggestions
AndersEAndersen
1.0.7

vscode-icontheme-nomo-dark
be5invis
1.2.6

open-html-in-browser
coderfee
0.0.9

vscode-html-css
ecmel
0.1.2

live-html-previewer
hdg
0.0.1

html-tag-wrapper
hwencc
0.1.2

vscode-JS-CSS-HTML-formatter
lonefy
0.2.3

Steps to Reproduce:

Can you provide more details or repro steps or even better a gif to help troubleshoot?

Translation of the issue's title: the cursor jumps to the end of the current line before finishing coding.
Comment: honestly I don't understand this issue, either.

@Leedehai 没必要翻译，人家看得懂的😅

I suspect this is caused by an extension, can you please try to reproduce with all extension disabled.
See Submitting-Bugs-and-Suggestions.

Closing the issue for now, pls reopen with additional information.


newFeature: Add configuration option to control case-insensitive under oracle tenant

Summary

close #64
Solution Description

This issue only exists under oracle tenant
There are no integration tests in the code since OceanBase enterprise version doesn't seem to provide a docker image.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.yuanoOo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for your contribution! I left some comments.
Before merging this pr, you also need to sign the CLA following the CLAassistant's comment above. And it's also necessary to add an integrated test case for the new introcuded option.

Thanks for your contribution! I left some comments.
Before merging this pr, you also need to sign the CLA following the CLAassistant's comment above. And it's also necessary to add an integrated test case for the new introcuded option.

1、I have already signed the CLA, but the page keeps showing that I have not signed it...
2、About integration testing, the oceanbase community version does not support Oracle tenants, and the enterprise version does not seem to provide docker images. Do you have any advice。

Thanks for your contribution! I left some comments.
Before merging this pr, you also need to sign the CLA following the CLAassistant's comment above. And it's also necessary to add an integrated test case for the new introcuded option.

1、I have already signed the CLA, but the page keeps showing that I have not signed it...
2、About integration testing, the oceanbase community version does not support Oracle tenants, and the enterprise version does not seem to provide docker images. Do you have any advice。

The CLA check is passed now. For testing part, you can add a test case, execute it locally but skip it in GitHub CI, just like OceanBaseOracleDynamicTableSinkITCase.


All versioning related features

All updates made and merged in the last PR (#56) in this nested chain of collection execution PRs


Implement component "aliases"

I have a component in https://github.com/OddBloke/distro-info-rs which is pretty long ("ubuntu-distro-info").  Using a short-hand ("udi") saves space, but also means that my changelog entries are rather cryptic.
I would like to be able to use the short-hand "udi" in my commit messages but configure clog-cli to expand that out to something more readable ("ubuntu-distro-info") for my changelog readers.

This is really a clog-lib request, so track it over there.


[loc][Query][VSCode] Please clarify translatability

Hi, we have a question from our translator. Can you help please? Thanks!
Source:
No CHANGELOG available.
File Name:
src\vs\workbench\parts\extensions\electron-browser\extensionEditor.nls.resx
Resource ID:
".resx", 0; "noChangelog"
Query:
Is CHANGELOG translatable?	Cristina Carrasco	9/29/2016 10:19:21 AM

@joaomoreno fyi you merged this line in https://github.com/Microsoft/vscode/pull/12035

@mkyjakova No, let's not translate Changelog.


Write to closed pipe in CI

Is the helper dying? What pipe is getting closed? I only saw this once, as a flake. https://app.circleci.com/jobs/github/CodaProtocol/coda/332190

Here's the log when I saw this error locally. Unfortunately I lost coda.log. This is from stdout that has info ,warn and error logs
closed_pipe_error_local.txt

Saw this in the bootstrap test in CI:
[2020-3-9 21:38:05.157692]Coda_net2: error sending message on stream 2: $error
$error = "RPC #65 failed: \"only wrote 0 out of 9 bytes error: libp2p error error: cannot write to closed stream\""
[2020-3-9 21:38:06.074972]Coda_net2: error sending message on stream 4: $error
$error = "RPC #68 failed: \"only wrote 0 out of 9 bytes error: libp2p error error: cannot write to closed stream\""
[2020-3-9 21:38:06.332569]Coda_net2: error sending message on stream 5: $error
$error = "RPC #70 failed: \"only wrote 0 out of 9 bytes error: libp2p error error: cannot write to closed stream\""


Line endings

Is there a way to force what kind of line endings this will format the code into ?
If not, is that something that can be added.
I think if I am using this plugin for all the formatting, having consistent line-endings is something that would be vital to the formatting task.
I know there are ways to enforce line endings at git , and at user level configuration, but if this plugin supports that, it would be one stop solution to all my formatting needs.

I've never looked at which file ending is used. I suspect it probably always uses UNIX line endings? I don't have access to a PC to test if the line endings change depending on the platform.
Please give it a try, the line endings should be consistent no matter the platform.
They will not however be configurable.

It would be great to have an option to to format/check that line endings are native. Without this option, fmt-maven-plugin running on Travis CI does not detect GitHub pull requests that attempt to change line endings from LF to CRLF, typically from misconfigured git clients.

Yeah, just verified , it does not do anything towards line-endings.

This would be an issue for the underlying google-java-format


[HIGH] Functionalities_Cartography_Table_EditFolder

Edit folder (Save)

[ ] Add functionality in ARA
[ ] Add NRT

Moved to another project


Support RN > 0.47

Due to a breaking change in RN we must remove a method (or remove override on it). Change commit is at https://github.com/facebook/react-native/commit/ce6fb337a146e6f261f2afb564aa19363774a7a8

Can we please get fix and latest version of geocoder asap

If you can build your own branch you can use this commit: https://github.com/rknell/react-native-geocoder/commit/339d3e1aa0e6f75016635a123f66766b0f14dcb1

@devfd is there any plan to fix this issue?

Please!


openvpn configures multiple accounts to log in at the same time

My softether version is Version 4.38 Build 9760. I can only log in to one account at a time when using openvpn. How do I configure multiple accounts to log in at the same time? thanks

Go to policy setting,

enable policy setting
set Mulit User login to more than 1, e.g 2

this is by default enabled unless you limited the user login count in your virtual hub properties

I can't reproduce the issue.


refactor(@vtmn/css): keyboard focus a11y dropdown

Changes description

On the summary, an arrow down key will lead you directly to the first item element.
On the summary, a Tab key will lead you to the group item element.
On the group item, a Tab key leads you to the next interactive element of the page
You navigate across the items with the arrow keys
A Tab key on an item focuses the group item

Context

The previous keyboard behavior wasn't accessible, a focus trap could occur with the Tab key. It has been rework so that a focus trap can't happen.
Checklist

[x] Make sure you are requesting to pull a topic/feature/bugfix branch. Please, don't request directly from your main!
[x] Check commits & PR names matches our requested structure. It must follow the https://www.conventionalcommits.org pattern.
[x] Check your code additions will fail neither code linting checks.
[x] I have reviewed the submitted code.
[x] I have tested on related showcases.
[x] If it includes design changes, please ask for a review with a core team designer.

Does this introduce a breaking change?

No

Other information

The expected behavior is that we can navigate in the item list with the arrow keys. Once on the last element, we go back to the first.

Close #1266

@GaspardMathon I convert your PR as a draft again as there are still issues.
Thanks!

@lauthieb fixes made. Can you check again and resolve your requested changes please ?

@thibault-mahe is it ok for you please? :)


Content Scale Factor / Resolution

Hi, I've noticed that the display is much lower resolution on Google Pixel 2 than Android S9, even when considering the difference in physical screens.
Is it possible to set the (virtual) render resolution of the AR Fragment across all devices?  Something equivalent to ARKit Scene View's contentScaleFactor, or Unreal engine's mobileContentScaleFactor  which increases the detail of objects and reduces aliasing.

Sceneform uses a dynamic resolution system to hit a target framerate (it can decrease but also increase the resolution). The difference in resolution here would be explained by one device not being able to render as fast as the other device.

Ok thanks.  Are there any plans to allow users to set a fixed resolution?  It would be useful in cases for when the scene is really simple (e.g. a single cube), or when taking a photo.

Being able to use a fixed resolution for screenshots would be great. But in the case of a simple scene dynamic resolution shouldn't kick in if the GPU can keep up. Bad framerate is definitely something to avoid in AR.


Fast performance degradation

As https://github.com/hsutter/gcpp/pull/26 shows there is no clear correlation between number of inserted elements and performance of std::vector::push_back.
This is not the case for deferred_vector.  More elements inserted - more time it will take to insert another one. For example, when there are 25 (cell A2) elements inserted, it is only 36 (cell C2) times slower than insertion into vector<scoped_ptr>, but if there are 4975 (cell A200) elements, it is 1498 (cell C200) times slower.
Inserting 1 million elements into deferred_vector will probably take N days.

Right, this is a proof of concept at smaller scale and not a production-quality scalable library. I invite people who write scalable GC arenas to use this interface as a starting point to experiment with a C++ opt-in GC heap.


A temporary workaround for start time of the headunit and reconnect of BT/wifi

First of all, Nisarg thanks, thanks a lot for your work. Finally I get that my hunday can connect android auto and the usb memory thanks to the MTP profile, as the car only have one usb port. No other device in the market allow me this.
I have a crude external workaroud for these issue, the initial connection and reconecttion until a more sophisticated solution is available.
This consist in two families of script, the (1) is for wait and restart until headunit and mobile is full available to connect
(2) is for reconnect after wifi or bluetooth loss.
In both cases this scripts avoid the restart or reconnect of the usb dongle (raspberry pi zero w in my case)
The four files need chmod +x for they will convert in executables
-------------------------- /usr/bin/checkaa1 :
#!/bin/sh
b='00:00:00'
c=0
while true
do
sleep 1
a=cat /var/lib/misc/messages | grep 'buildroot user.info aawgd' | awk '{print $3}' | tail -1 |  tr -d '\n'
if [[ $a = $b ]]
then
let c=c+10
sleep 10
else
let c=0
fi
#echo $a $b $c
b=$a
if [[ $c -eq '30' ]]
then
/etc/init.d/S92usb_gadget restart
/etc/init.d/S93aawgd restart
let c=0
fi
done
--------------------- /usr/bin/checkaa2
#!/bin/sh
while true
do
a=cat /var/lib/misc/messages | tail -50 | grep '39 bytes' | wc -l
if [[ $a = '50' ]]
then
#/etc/init.d/S92usb_gadget restart
/etc/init.d/S93aawgd restart
fi
sleep 20
done
-------------------------------- /etc/init.d/S94checkaa1
#!/bin/sh
DAEMON="checkaa1"
PIDFILE="/var/run/$DAEMON.pid"
RETVAL=0
case "$1" in
start)
printf "Starting $DAEMON: "
start-stop-daemon -S -b -q -m -p "$PIDFILE" -x "/usr/bin/$DAEMON"
RETVAL=$?
[ $RETVAL = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping $DAEMON: "
start-stop-daemon -K -q -p "$PIDFILE"
RETVAL=$?
[ $RETVAL = 0 ] && echo "OK" || echo "FAIL"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
exit $RETVAL
----------------------- /etc/init.d/S94checkaa2
#!/bin/sh
DAEMON="checkaa2"
PIDFILE="/var/run/$DAEMON.pid"
RETVAL=0
case "$1" in
start)
printf "Starting $DAEMON: "
start-stop-daemon -S -b -q -m -p "$PIDFILE" -x "/usr/bin/$DAEMON"
RETVAL=$?
[ $RETVAL = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping $DAEMON: "
start-stop-daemon -K -q -p "$PIDFILE"
RETVAL=$?
[ $RETVAL = 0 ] && echo "OK" || echo "FAIL"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop}"
;;
esac
exit $RETVAL

files.zip


Project maintenance and health

Hi @futagoza!
During the last week I was tagged in multiple issues by @StoneCypher, who expressed his worries about PEG.js maintenance and project health (he also contacted me about this privately by email). I haven’t followed PEG.js development much since I transferred the maintenance to you, but his actions made me have a look.
I have to admit the current state of the project made me sad. There are tons of changes in the code, but the last release is still 0.10.0 which I did back in 2016 (!). Apparently, you were on track to release 0.11.0 back in 2018, but that never happened. Your last comment in the issue talks about rewriting PEG.js in TypeScript instead (?). There are also multiple other, less glaring problems.
While I don’t approve @StoneCypher’s way of expression, I understand and share his concerns. At this point, I wouldn’t recommend PEG.js as a basis of any project.
As you know, when I transferred PEG.js to you, I deliberately cut all my ties to it. I wanted it to be developing independently, without my direct or indirect involvement, and without my spectre hanging over it. I no longer have any rights to PEG.js's website, GitHub, or npm package. But I feel I have to speak up now. I’d like to ask you to consider the current state of PEG.js, its future, and to think about changes to make the project healthy again.
I’m pretty sure PEG.js community shares the concerns expressed above and would appreciate an honest answer. And while I don’t want to suggest any particular course of action, I believe the community may be the key to resolving project’s current problems.
I hope you won’t take my message in a bad way. I know very well that maintaining a project like PEG.js is hard and one can’t satisfy everyone all the time. It’s just that I felt my word may prompt you to think about these issues and that PEG.js community deserves an answer.
Thanks for listening.

I despair that I have to fork this library, meaning none of the existing consumers will ever get help, and one of the most important libraries on the internet has died

RIP
On Tue, Feb 18, 2020 at 5:59 AM John Haugeland<EMAIL_ADDRESS>wrote:

I despair that I have to fork this library, meaning none of the existing
consumers will ever get help, and one of the most important libraries on
the internet has died
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pegjs/pegjs/issues/639?email_source=notifications&email_token=AAAETTRJGY4Q5AWE76RBM2DRDPSURA5CNFSM4KSDGYBKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEMCCBUA#issuecomment-587473104,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAETTRC57XZWSLTNS3VLL3RDPSURANCNFSM4KSDGYBA
.

I used this library 5 years ago when I still learning to code JS. I made a language that render to HTML that is more expressive than any Markdown dialets I knew. Today, I reconsidered that language to be further evolved, but to find out this library is not as healthy as I'd expected. Just feel sad.

My company uses this package as well and very much like to see the ES module feature and the TypeScript language feature released soon.
If @futagoza can't maintain this package anymore, he should let somebody else take over.

I’m pretty sure PEG.js community shares the concerns expressed above and would appreciate an honest answer.

More than two months, and still no answer?

It looks to me like @futagoza has fallen: all activity on the various communities his linked homepage links to stop at about the same time.  Sad.

you can still see activity in the last seven days on side channels

I've reached out over e-mail to see if @futagoza could use some help with community management. I think it would be best if we could find some folks who are interested in doing maintenance releases on v0.10 and a few folks to work towards v0.11.

Please remember to be kind and let's all do what we can to help out. If anyone has other ways to get in touch, please take some time to reach out and let's see if we can lift the burden and work together.

This request to @futagoza for community help has beed raised may times, but we got no response on that matter.
We can only assume this project as abandoned, and together decide on a fork to work from there.

I got a response to e-mail. I'll follow up as soon as I have more info to share.

dude i emailed him a dozen times in really polite and kind ways :(

We shouldn't release 0.10.  It's been put onto really weird isolated tools, the development methodology has been changed to something bizarre and niche, it's been moved onto failing build systems, &c.
We really need to go back to 0.9 and cherry pick PRs in their original state, and keep David's original clean system.  We can't let Futagoza skip versions for three years because he's created a mess, then hold out for someone who's willing to keep his approach and try to release it
This needs to be turned into a standard node system now.  It's needed it for years and all the active users have been asking for this forever

@StoneCypher I think you may have missed something or it may just be a typo - we already have a 0.10 release. So you meant the 0.11 release?

oh, my mistake, 0.10.0 is david's 4 year old release, you're right

@tilgovi Any news to share?
In general: is there another parser library anyone can recommend?

https://tomassetti.me/parsing-in-javascript/

Frankly none of those are usable.
None of those except canopy and ohm have an in-browser version
Waxeye slows down dramatically under even light use, as does apg
Jison's grammars are a puzzle from Vulcan, set to drive any human that isn't Lex Luthor stark raving
ANTLR is like eating broken glass that is somehow also bees
Nearly is fun and interesting and I just cannot get the promises that Early parses give.  I recognize that I should be able to.  I've been trying for years.
Ohm is super powerful and fun and an entirely different way of looking at the problem and not a reasonable substitute.  It's like recommending a replacement of lisp with prolog.  Peg and Ohm only just barely technically apply to the same problem domains.  It's almost guaranteed that at least one of them will be a bad fit.
Bennu is buggy and produces incorrect results.
Parsimmon is interesting and powerful but I don't enjoy parser combinators and it's pretty verbose.
Par.js took the first ten lines of my PEG and turned them into 200 lines of code.  Ouch
Chervotain made them 1900 lines.  I actually wrote a peg to translate my peg to Chervotain.  Admittedly, it's blazing fast, but the last thing I want to do is transcompile a grammar, and the second to last thing I want to do is maintain Chervotain.  Even the XML guys would call this verbose.
The reason PEG has persisted despite rotting on the vine half a decade is that nothing currently alive can possibly replace it.

I initially got a very thoughtful response when I reached out over e-mail. I suggested ways I could help the community get started maintaining a 0.10.x branch and offered to work on reviewing and managing contributors. It's now been weeks since I last received a response.

Ya'll i think it's time we stop grumbling in the issue tracker here. I also want to see the project move forward but Maintainers don't owe us anything. The better approach would be for someone to fork and maintain in the way they feel is best. We need to show up or move on though, there isn't much value in grumbling about other's free work. Clearly they don't have the time, energy, or desire to keep the project moving, and that's fine!

i'd be all for a new maintained fork under fresh administration -- it should be called POG.js
am i right fellow kids?

I also want to see the project move forward but Maintainers don't owe us anything. The better approach would be for someone to fork and maintain in the way they feel is best.

Normally I'd agree, but in this case the request is coming from the original author of PEG.js who handed over maintainer rights to someone who offered to step up and has now seemingly abandoned the project, leaving everyone else in limbo. It's fine for the new maintainer to say "actually, this wasn't a good project for me, someone else have a go", but instead it's just silence.  If I were @dmajda I'd be pretty upset to be honest.

If I were @dmajda I'd be pretty upset to be honest.

I’m not really upset, but I regret not doing two things:

Not waiting longer before handing PEG.js over to a new maintainer. Maybe I should have waited for multiple candidates to appear and choose between them, require contributions first, or something similar.

Not keeping the “keys” to the project (access to PEG.js website, GitHub, and npm package).

Any of these may have prevented the current situation. Unfortunately, this is obvious only in retrospect.
Anyway, it’s quite clear from his non-reaction that @futagoza is not interested in PEG.js anymore. I didn’t watch the JavaScript parser generator space in the last few years so I don’t know whether a good replacement of PEG.js exists. But if not, I would welcome if someone sufficiently interested and motivated picked up PEG.js code and continued development under a new name. I believe this would be the best course at this point. The only issue to decide is whether to continue from the current state or from the state before changes made by @futagoza.
I think that changing the name is a good idea in order to prevent confusion, at least if the original website and repo is still up. Also, it is possible that multiple people will appear, each wanting to take PEG.js in a different direction. In such case, it would be unfortunate to have “Joe’s PEG.js fork”, “John’s PEG.js fork”, etc.
I feel sorry for this situation. If I ever do an open source project again and end up handing it over to someone, I will definitely do it differently.

Thanks @dmajda for your support.

skin in the game is also a factor I think, @futagoza goes by a pseudonym and so the cost of them dropping out and abandoning the project is pretty low for them personally - they can just spin up another pseudonym and get on with their life without the reputational damage this behaviour would cause to someone who uses their real name.  I reached out to @futagoza a few days ago via email but received no response, and I see that they have been active on github since them so I think it's fair to say that they are completely ignoring this issue.
I have forked the project to https://github.com/codemix/pegjs and reverted to the last commit before @futagoza took over, updating dependencies so that they work on newer versions of node but otherwise keeping changes to a minimum. I've not yet published a release and would appreciate the help of anyone interested in contributing in cherry picking appropriate commits so that we can move forward. I've set up travis-ci but it is probably better to use github actions at this point.
I can't guarantee that codemix can maintain this fork forever but I will guarantee that if the community steps up and contributes there then we will make sure that we don't get into this same situation where one person is blocking future development again.

Not keeping the “keys” to the project (access to PEG.js website, GitHub, and npm package).

Hello.
I don't know about the website and github access, however,
npm has a process to resolve conflicts on package names.

https://www.npmjs.com/policies/disputes

So that is one item that can be retrieved.
Who is paying for https://pegjs.org DNS name?
If I understand correctly the domain name will expire in ~1 week so dependent on the grace period
it may be possible to repurchase pegjs.org in 1-2 months.

@bd82 - we cannot dispute this because there is no cause.  dmajda chose to give the project to someone who's never done anything, and that person has absconded.
@phpnode - I have a significant modernization of the project underway

@StoneCypher sounds good! Is this on your fork at https://github.com/StoneCypher/pegjs ?
I've contacted the owner of the https://www.npmjs.com/package/peggy package which hasn't been updated in 9 years and they've agreed to give us the name. I've created a new github org and moved the repo here: https://github.com/peggyjs/peggy I'd be happy to add you to the organisation if you'd like?

I would enjoy to join your org.
No, that's not the one I'm talking about; that's just a bugfix fork for the main project.  I already have a domain and package name :)
My goals are to modernize the output and editor, to fix a lot of long standing bugs, to radically improve testability, and to fix the enormous !#%%#& binaries I get unnecessarily

You can dispute whatever you want with npm, they are usually very helpful, you don't need "cause" to contact support over package ownership, it's not a legal proceeding

The NPM people have clear guidelines on when a repo can be contested, and this unfortunately does not fit.
Listen, think about it.  If every time a repo went dark, any rando could come take it over, you'd be looking at an extreme security nightmare, where any time someone wanted to attack people, they'd just pick some random supporting library that was cold and be like "I want to be the new maintainer"
Their process is for things like abuse, trademark control, and things of that nature

if you say it's useless before trying that's fine guy. I don't care. I've had luck talking to them about conflicts and they have been very helpful without it having anything to do with trademark issues or things of that nature, if @dmajda would like to try, it's just firing off an email. The worst case is they say no and you lost 5min of time.

The npm name disputes policy explicity states that the process may be used to:

Adopt an "abandoned" package

https://www.npmjs.com/policies/disputes

I would recommend attempting this process, there is enough proof that the package has been abandoned...

maybe
i'm actually really concerned now that I see bd82's note that the domain's about to expire.  That could be catastrophic
@futagoza , please let one of us fix this.  It's been years

Hi, have been watching this conversation for a while. I don't care what pegjs is called, it will be awesome to see it actively maintained, there are no parsers as easy to use.
Regarding the domain, it was renewed but it was probably an automatic thing from looking at the created date. I'm not sure how the expiration would have been catastrophic? I would say it being renewed is a worse problem.

It's because we don't want to lose the SEO.  Twelve years of rank.
I've acquired pegjs.com .  If you guys could set your fork up for that, we can sitemap it, and Google can have a fallback ready.

I've had luck talking to them about conflicts and they have been very helpful without it having anything to do with trademark issues or things of that nature, if @dmajda would like to try, it's just firing off an email. The worst case is they say no and you lost 5min of time.

I’m sorry, but I won’t contact npm support regarding package dispute. I feel this is not something up to me, but up to the community interested in developing PEG.js further. If such community forms (and judging by the comments above I think it is forming already), it should be its members who try to get the rights, not me. And if it doesn’t form, it makes no sense to get the rights.
More importantly, I think if makes no sense to get the package rights and still not own the GitHub organization and website. This would only lead to confusion for users. I would strongly encourage the community to start with a new, previously unused name.

It's because we don't want to lose the SEO. Twelve years of rank.

This is exactly the reason why I think it makes no sense to continue the development under the name PEG.js while the current website and GitHub organization are up.
There were many examples of well-known projects which forked with a new name. This is a perfectly viable path. The users will learn eventually.

I've acquired pegjs.com . If you guys could set your fork up for that, we can sitemap it, and Google can have a fallback ready.

I’m sorry, but this is exactly the example of confusion I’m talking about. As a user I would wonder what the relation between .org and .com is, maybe thinking whether the latter is some commercial version of PEG.js.
Just think about these issues. Thanks.

More importantly, I think if makes no sense to get the package rights and still not own the GitHub organization and website.

It's not really up to you anymore, David.  You bowed out.
If anyone chooses to reach out to NPM, they'll reach out to Github too.  They're both Microsoft, and they're both acting under identical policy.
At that point, the website will no longer be pegjs.org, because you gave that website to someone who wouldn't even renew the domain, and you absolutely refuse to talk to them about it, despite that you know that you're the only person he'll listen to.

This is exactly the reason why I think it makes no sense to continue the development under the name PEG.js while the current website and GitHub organization are up.

David, they're talking about taking the Github org away, and I'm talking about replacing the website, then forking the library under a new name.
The protests you're making are incorrect.  We're talking about strategies to work around these things, because we've been asking for your help handling it the way you imagine for a year, and you have steadfastly refused to get involved.
Instead you're holding out for a community to do it, when what the community is actually saying is "we need your help breaking the stranglehold one person has that's keeping the community out."
Because you would not do that, we're literally forced to replace everything you're talking about needing to maintain.
This is a hostile fork, David.  It doesn't have to be, but Futagoza is pretending to be a ghost, and you, the only person who can get responses from him, won't ask him to do the common sense right thing
The library name you created?  It has to go away now, because you won't help fix the problem
The org you created?  It has to go away now, because you won't help fix the problem
The website you created?  It has to go away now, because you won't help fix the problem
No community exists, because you gave this library to the wrong person, and you won't get involved in his refusal to give it to the community you pretend needs to fix this
.

I've acquired pegjs.com . If you guys could set your fork up for that, we can sitemap it, and Google can have a fallback ready.

I’m sorry, but this is exactly the example of confusion I’m talking about. As a user I would wonder what the relation between .org and .com is, maybe thinking whether the latter is some commercial version of PEG.js.

Nobody thinks .com means commercial.
We're going to put a big banner at the top that says "the temporary holder of the old domain let it die.  This is the free old pegjs from pegjs.org, and we're putting the modern stuff that you can use in modern tooling over here instead."
If you're not willing to help retain the domain, this is the choice we're left with.
You're both saying the community needs to handle it then say "the community isn't handling it right," and also refusing to do
anything yourself
I have thought about these issues extensively, and since you're unwilling to participate, this is the way I'm going to prevent this problem.  If you have a better idea, start doing it, or at least tell us what it is.
It is dramatically better for pegjs to have a dot-com than no website at all.  Every other piece of JS tooling has a dot-com.  This will not confuse anyone.
.

Just think about these issues. Thanks.

We wrote out that this was going to happen a year ago.
This has been well thought through.  This is not the first critical library that has disappeared because the author handed it over to the wrong person, then tried to get people with no control to fix it
.

I’m sorry, but I won’t contact npm support regarding package dispute.

You're not being asked to.  You aren't involved anymore.

I mean I even offered to pay for it.  I offered to pay Futagoza $200 to just register one domain
I also reached out to the registrar to see if I can pay for someone else's domain without taking it over, but I expect a "no" to that
This is 100% because David gave the keys to someone negligent, won't ask for the keys back, and wants people without the keys to stop breaking windows to get inside the house
If you want your old domain name to be recognized, we do too!  You have 36 hours to convince Futagoza to get off of his ass

Failing that, we'll stay on .com for about two months, and then it'll be both .com and .org once both re-registration periods have expired
One thing a lot of people forget about domains is that you can't just snap them up after they've expired.  The registrar holds them at regular price for two weeks, then at inflated price for six weeks.
That domain's SEO will be completely destroyed at the end of day 4.
At that point, the .org will largely be an historic curiosity.
David, if it makes you feel better, nobody thinks React is commercial despite that it has a .com.  Something like half of javascript tools have .coms, and they're nearly all free.  I was actually really angry at ExtJS when I learned it was paid; it has a .com
If your question isn't "how do we keep it from going offline," or "how do we retain the seo," but rather "will the TLD confuse people," I guess my opinion is that you're worried about the little problems when there are some really big problems coming
Please consider reaching out to Futagoza and encouraging him to renew the domain.  I'll be happy to pay him to get this trivial task done, so that the rest of us don't suffer.
We're all pretty frustrated that you've sat by the sidelines watching this happen for years.  You can fix this and the rest of us can't.  This is the only thing we can do.  You're the only one who can accomplish the strategy you're trying to get us to take.
You have written more to us than it would take to write to Futagoza.  Two sentences from you to him in one email, and this is over.
At this point, you've waited so long that even if you did the right thing, he might not see it in time

For that matter, nobody was ever confused into thinking PegJS was a non-profit, either
The actual correct TLD for something like this is .net

There were many examples of well-known projects which forked with a new name. This is a perfectly viable path. The users will learn eventually.

Yes, David, that's what I already said I was doing.  I've already paid for 10-year registrations on the domains for the new org and library.  I already announced that, in this thread.
But also, they need a place to learn that an option exists, and they need to know that they aren't starting over from scratch.
We are doing a fork.  We know how forks work.
However we also understand the damage that's coming, and we're trying to prevent it.

I said in February that I despaired that this was going to be the outcome.
That word "despair" was used strictly correctly.  We all saw this coming, we all know what immense damage it's going to cause, we all know it's easy to prevent, but there are only two people who are able to affect the outcome.  One doesn't respond and the other one only responds to say "I won't ask for help, the powerless community that's been asking him for a year should do it"
We're two days from the deadline, David.  Stop pretending we need to do something.  We've done everything that is possible.  We've spent a thousand dollars trying to work around your unwillingness to ask Futagoza to do the right thing.
It costs you two $0 to act.  We literally cannot take this away from him, and you know that.
The only way any sensible change can happen here is for you to send him an email.  That is the only thing that can work that hasn't been tried repeatedly.

Honestly we'll be lucky if we can even capture the domain before a spammer pushing viruses puts up a fake
You're not just letting a website die, David.  You're putting your old users at the risk of compromise
This is actually really serious

@StoneCypher Let me make one thing clear: my involvement with PEG.js ended in 2017. I don’t want to get involved again. I created this issue only because moths ago you tagged me multiple times in multiple issues in this repo and then wrote me an email asking for help, which I eventually agreed to, because I felt my word could carry some weight and push things forward. Please don’t make me regret that.
I don’t remember you ever asking me to contact @futagoza directly or help in any way after creating this issue. However, I remember writing me that you won’t ”lean on me again” after I created it. In that regard, I view your multiple accusations as false, your tone as insulting, and your pleas for help as highly inappropriate given all the other things you’ve just thrown at me.
As for me writing to @futagoza, I don’t believe it makes any sense. This is an open source project, things should be resolved in the open, not in private emails. And multiple people apparently already wrote him, so he is likely aware what is going on.
As for the npm package, I only talked about it because @jquense suggested I write to npm support. I just wanted to clarify my view on this.
As for the pegjs.org domain, I misunderstood the comment by @AlansCodeLog to mean the domain was renewed already. Apparently it wasn’t. This makes my point regarding .org vs .com more or less invalid.
Anyway, I guess I’ve been involved in this disucssion more than I should have been, so I am unsubscribing from this issue. Everyone, please don’t take any of my opinions as more than just opinions and feel free to do as you wish.
Good luck!

We need to leave the name behind if we don't control the accounts associated with it, anything less is just too confusing for anyone who doesn't know the background, whereas "this is project is a backwards compatible fork of PEG.js" is easily understandable to anyone already using PEG.js and doesn't matter to anyone who's new to the project.
I'm going to stick with the name "peggy" and proceed with my fork at https://github.com/peggyjs/peggy
Let's not put any more energy in trying to convince @futagoza to do the right thing, hopefully they'll come to their senses eventually and we can become PEG.js again. Until then let's make some progress towards an initial release!

I don’t remember you ever asking me to contact @futagoza directly or help in any way after creating this issue.

I've asked you five times now, @dmajda

I'm going to stick with the name "peggy" and proceed with my fork at https://github.com/peggyjs/peggy

If you want, but letting you know, I've already got a lot of work done, and I'd enjoy your participation.  I also hold relevant domains that will mop up most of the relevant SEO, and have a Monarch implementation largely done, plus the direct embedding of most of the tools directly in the IDE.

@StoneCypher I'm keen to see what you've come up with, is this work public anywhere yet and did you fork from the latest release or the latest commit?
My philosophy with the fork is to do a very small initial release using the last known good point as a base, pulling in only a few of the bugfix PRs but nothing that touches the build system or the test rewrite etc. When we're happy with that we'll publish and try and come up with a plan for the bigger goals, but as you said somewhere else - we need to keep releases small, incremental and manageable.
With a codebase like this, which predates a lot of the more modern tooling, it is very tempting to dive in and change quite a lot of stuff in one go. Especially the codegen stuff. I am trying very hard to resist this temptation because I believe this excess ambition is what got @futagoza stuck in the mud for so long. The big problem I have with their work is that so much has changed since the last release that it's difficult to have confidence that everything works as expected and that there aren't massive, terrifying bugs lurking somewhere in part of the codebase that we just don't know about.

It's not public yet because I'm waiting on external project authorization from my employer.  I asked for it three days ago when I learned about the domain name problem.  Rule of thumb is two weeks but it's the holidays.
I can definitely add you to the org, where you can see the issue tracker and therefore what we plan.  Whether you want to make your own or join ours, you're welcome in our group (as is David, as are any of the others.)

That's actually why I asked other people to point their fork at pegjs.com, is that until I have that authorization I actually cannot do it myself, and the domain deadline is before I can practically receive that authorization

@StoneCypher yes please, I'd be happy to be added to the org. I'm hoping we can work together as splitting the community would be really unfortunate.

C'est fantastique.  I agree that a splitting would be strongly undesirable, and I really want other people to help.  My understanding of David's work is ... modest, at best 😀
I've invited you to six repositories with write access.  Please check your email.
The code isn't up yet, pending that authorization.  Please look in the issues repository's issue tracker

As for the pegjs.org domain, I misunderstood the comment by @AlansCodeLog to mean the domain was renewed already. Apparently it wasn’t. This makes my point regarding .org vs .com more or less invalid.

It has been renewed (look at the year):

Registry Expiration: 2021-11-28 14:31:06 UTC
Updated: 2020-11-26 01:41:16 UTC
Created: 2014-11-28 14:31:06 UTC

Also, just want to say from my point of view as a user, name, seo, etc, don't really matter in the grand scheme. People who used or are interested in peg.js will eventually stumble onto this issue and find alternatives, if the alternative is good it'll make a name for itself.
Also for those creating forks I would consider carefully using a github fork. Forks do not appear in github search by default (unless they have more stars, quite a high bar to beat).  On the other hand if you use a regular repo and put "peg.js" in the description it should appear. Also a fork's code cannot be searched from the search bar, and possibly there might be other limitations. I personally think these are more valuable than appearing in the list of forks. Alternatively I think one could keep both a fork (e.g. name/peg-js-fork) and a repo (org/peg-js) in sync, and set the fork to a dummy branch with a notice.

It is a regular repo, for exactly that reason ❤
I'm glad to see the SEO isn't being destroyed

@StoneCypher - Has there been any movement in opening up the project from your employer?

@StoneCypher - Has there been any movement in opening up the project from your employer?

Yes.  I believe I'll have authorization soon.

Yes.  I believe I'll have authorization soon.

@StoneCypher monthly ping for status? :)

I got tangled in some corporate details.  I think it's almost there.  I apologize

I'm willing to start helping whichever of @phpnode or @StoneCypher cuts a release of any kind first.  It doesn't have to have the final name for me, it just needs to respond to npm install with a non-github checkout.
Its a race!!!

I will release as soon as my employer signs off.  🤷♂

another month passed, any update? @StoneCypher

I basically ran out of time / capacity and I'm not working on anything that needs a parser at this moment sadly, so peggy died as soon as it was born, sorry about that :(

I basically ran out of time / capacity and I'm not working on anything that needs a parser at this moment sadly, so peggy died as soon as it was born, sorry about that :(

@phpnode Would you be open to someone else taking over the peggy org?  I can at least push out a release and start taking PRs if you help hand off the relationship with the owners of the existing peggy package.

@hildjj absolutely, yes please! If you open a/some PRs to the peggy repo I'll add you to the npm package and github org. My github notifications are a horror show so please email me at<EMAIL_ADDRESS>if it takes me more than 24hrs to respond

Trivial but opinionated PR: https://github.com/peggyjs/peggy/pull/3

We just did a pre-release version of peggy, 1.0.0-rc.0.  Can a few of you try this out in your existing projects, please?  We'll do a full release as soon as we have a few data points.

Peggy rc2 is up on unpkg and jsDelivr.  Full 1.0 release expected today.

Peggy v1.0.0 is out.  Please start re-opening issues there that you want us to track.
IMO this bug should be closed if this project had a maintainer.

It's not worth a community split and I still don't have the okay from my employer, and Joe is the Web Sequence Diagrams guy, so, I'm just going to close my fork.
LMK if contributions are welcome, especially regarding typescript, automation, and reducing output size


differentiable graph creation

Hello I have a task to create a graph from the output of the convolutional neural network that then will be used in graph neural network.
I have a cost function that can tell wheather graph was well created.
My main problem is that graph by its nature is discrete hence constructing graph creation algorithm in a way that will enable back propagation is problematic (as you see in my architecture gradients need to pass from graph neural networks to CNN)
Can it be potentially possible to use your package for differentiable graph creation from 3D array?

Depending on how the graph edge is represented, a gumble softmax is the usual thing to do in that case to differentiate through your graph edge predictions.

thank You !! I will investigate this path!


Added Countdown Timer issue number #703

Description
Added Countdown Timer in Javascript

Merged

This is an automated message from Fork, Commit, Merge [BOT].

Thank you for your contribution! Your pull request has been merged. The files have been reset for the next contributor.
What's next?
If you're looking for more ways to contribute, I invite you to check out my other projects. Just click here to find more. These projects contain real issues that you can help resolve. You can also check out the Influences section in the README to find more projects similar to this one.
Also please leave a star to this project if you feel it helped you, i would really appreciate it.
I look forward to seeing your contributions!


question: does this host the tz data in the project or is it hosted outside, looks like npm hosted static file?

Does this have all the data in it or is it dependent on an outside resource?
https://github.com/kevmo314/browser-geo-tz/blob/d21ca482e75fb3150dea1b7ca8ce794aafe2819f/src/find.ts#L10C6-L10C84
Im not complaining, just wondering.  It looks like it's getting the geo data (a protobuf file?) hosted on npm?  What would I do if I wanted to host that myself?  Should I download the file and change the source?   Do you have a reference for how to produce the file?

It references the node-geo-tz file hosted on a CDN. If you'd like to host that yourself we probably can update the library to accept a path that can be configured, that seems pretty reasonable and would also address the versioning issue #1


Getting double notification for the split bill for an individual user

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to mweb/web and login with User A
Login with User B on android
From User's A account on Mweb , Click on + icon below and click on split bill. Add a amount and split it with a single user B
Notice that on android for the split bill, we get two notifications for the same amount. Whereas, if you try the same process for send money and receive money, then we don’t get such double notification. It happens only for split bill.

Expected Result:
Only one notification should be there for split bill like that of send  and receive money
Actual Result:
We get double notification for split bill
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.2.88-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/227241744-fe042418-7ffd-4884-bd21-d7a726f12cf9.mp4

Expensify/Expensify Issue URL:
Issue reported by: @priya-zha
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1679546804409669
View all open jobs on GitHub

Triggered auto assignment to @abekkala (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

I'm ooo until Tuesday April 04 - reassigning this

Triggered auto assignment to @stephanieelliott (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

@stephanieelliott Whoops! This issue is 2 days overdue. Let's get this updated quick!

Job added to Upwork: https://www.upwork.com/jobs/~01c643a620417327e3

Triggered auto assignment to Contributor-plus team member for initial proposal review - @aimane-chnaif (External)

Proposal
Please re-state the problem that we are trying to solve in this issue.
Two notifications are received when we split bill
What is the root cause of that problem?
We create the first IOUReportAction for the group chat Here
https://github.com/Expensify/App/blob/3a9ce6fc59bb54d25749579be9b082c7600b235b/src/libs/actions/IOU.js#L241-L247
And then we create another 1 on 1 IOUReportAction for each participant here
https://github.com/Expensify/App/blob/3a9ce6fc59bb54d25749579be9b082c7600b235b/src/libs/actions/IOU.js#L352-L361
For each IOUReportAction the participant will receive a notification.
So each participant will receive 2 notifications, one for the group chat and one for the 1 on 1 chat.
What changes do you think we should make in order to solve the problem?
If there is only one participant and the request was initiated from the global create menu, the group chat is the same as the 1 on 1 chat so maybe we can remove the second IOUReportAction
Note:
By doing that, if there are multiple participants or the request to split was initiated from a group chat, the participants will keep receiving two notifications: one for the group chat and one for the 1 on 1 chat. Is that a problem ?
What alternative solutions did you explore? (Optional)

@robertjchen, @stephanieelliott, @aimane-chnaif Whoops! This issue is 2 days overdue. Let's get this updated quick!

Hello @aimane-chnaif , even if the issue title indicate "individual user" and the steps only make it possible to select one user ?
If we do it also for multiple users, there is a notification for the 1v1 report and a notification for the group, which one should I remove ?

@aimane-chnaif Last precision just in case it was missed,  with multiple participants the two notifications look the same but when we click on them, one open the group chat and one the 1v1 report. That's why I was asking which one should be removed, of course the IOU message in the channels should be kept.

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

But it's weird to show double push notifications (which are exactly same) for one IOU request.

@aimane-chnaif My note might have been misleading but as you can see when there are multiple participants the two notifications are not the same and I think they both have value so my proposal might still be good, what do you think  ?

I tried it and this is the result

In that case the message is also different for the two notifications

@robertjchen @stephanieelliott @aimane-chnaif this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

Proposal
Updated

@aimane-chnaif I think we should keep two notifications so that all the split have the same number of notifications . I think the problem is that the notifications have the same text when we choose 1 user from global menu. I updated my proposal to correct that problem.

I think we should keep two notifications so that all the split have the same number of notifications

Agreed!

I think the problem is that the notifications have the same text when we choose 1 user from global menu.

This sounds right to me, any remaining concerns with the updated proposal  @aimane-chnaif ?

I tried it... In the step by step debuger I see that it's doing what we expect compare to before. But the text of the notifications stays the same. I even changed "Requested from" by something else and the notifications keep being "Requested from" So it looks like you were right @aimane-chnaif about something happening in the backend.

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@robertjchen, @stephanieelliott, @aimane-chnaif Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

Wow, thanks for this thorough testing @aimane-chnaif! Very clear and easy to follow.

I think Case 3 is perfect: receive both notifications, show split message on group chat, request message on 1:1 chat

Agree, this would be the desired behavior.
For Case 5, IMO we should be mirroring the split behavior of the Group case for the 1:1 case, so  option 2 would be my choice.  What are your thoughts @robertjchen?

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

Thanks for the detailed illustration of all potential flows! 🙇 For Case 5, I would agree that the second option would be the best experience. Going to take this internal to handle 👍

Current assignee @aimane-chnaif is eligible for the Internal assigner, not assigning anyone new.

I think this was the PR on the backend that introduced this: https://github.com/Expensify/Web-Expensify/pull/36629 and the duplicate notifications issue was mentioned there.

Draft PR with potential solution linked, testing it out!

PR under review

Changes on the way out, potentially by early week.

Should be going out this week 🙏

Changes went live!

@robertjchen I'm the external reporter. I haven't been paid yet. Thanks.

Sorry, my mistake!
@stephanieelliott Could you please handle the reporting payment for @priya-zha

Makes sense, thanks for the assist! 🙇  cc: @stephanieelliott on the above as well ^ 🙏

reporting @priya-zha https://www.upwork.com/jobs/~01113647340240b3ad
C+ @aimane-chnaif https://www.upwork.com/jobs/~01e995ff4af1ce81f6

This was merged on May 4 so subject to 7-day hold, will pay on May 11

@stephanieelliott Submitted the proposal. Thanks

Paid @aimane-chnaif!
@priya-zha just waiting for you to accept the offer in Upwork

@stephanieelliott Accepted the offer. thank you

Looks like we're done here 👍


project directory, with workbook and slides

Hi,
Is it possible to have a directory structure like this:
source/conf.py
source/index.rst
source/labs/
source/slides/
so if I execute make html & make latexpdf, it's using the labs directory,
and make revealjs, it's going to use the slides directory ?

Sphinx can split source directory and conf directory.
If you place slide resources on only slides, you can do it by editing Makefile.
revealjs: Makefile
    @$(SPHINXBUILD) -M revealjs slides "$(BUILDDIR)" -c $(SOURCEDIR) $(SPHINXOPTS) $(O)


feat 2.6.0 complex consts

#596

This change is

@enitrat  not sure that mentioning complex consts (struct enum, fixed size array) in data types chapter is ideal, what do you think? It might be good though, as it is just a small quotation that is it possible to do that


x509 Authentication handler does not check for revocation

The x509 authentication handler does not check the revocation status of a certificate (neither internal nor external ones).

Implemented in new auth layer


Issue 923

Adding attributes on TR - HxGrid.TableRowAdditionalAttributes + splatting

For testing, I have created the following components, but I am not sure whether they are worth including in the documentation.
HxGrid_Attributes_Demo.razor.txt
HxGrid_Demo_DragDrop.razor.txt