Fixed a typo in the docs.

In the basic mapping doc, in the @Entity subsection, right after the first code sample: “there are any options…” – it should be " “there are many options…”.

I think I was going from a repository that was out of date.


Swap Storybook with Docz

Since Storybook and Vite don't play well with each other due largely to Storybook requiring Webpack, and Vite using the new javascript module metadata syntax import.meta. Until larger support is added to Storybook, I'm going to try an alternative called Docz which is a product built by the Gatsby team. It uses MDX for building documentation, and interactive testing to any react components.

This experienced the same issues that I ran into with Storybook. I've reopened #26.


Restructured Kubeflow Pipelines docs

Resolves https://github.com/kubeflow/website/issues/3716.
This PR:

Restructures the Kubeflow Pipelines documentation accordingly to https://github.com/kubeflow/website/issues/3716#issuecomment-2107564488.
Updates existing links with the new location of moved pages.
Adds the new links to _redirects.
Creates a new "Build a more advanced ML pipeline" page with content from https://www.kubeflow.org/docs/components/pipelines/v2/installation/quickstart/
Removes https://www.kubeflow.org/docs/components/pipelines/v2/installation/quickstart/, which duplicates https://www.kubeflow.org/docs/components/pipelines/v2/run-a-pipeline/.
Doesn't intend to update any page contents, except those mentioned above, which are part of this restructuration.

cc @StefanoFioravanzo @diegolovison @milosjava

@hbelmiro  Awesome work!
I have just a few comments:

Let's rename How-to/User guides to User guides
Thanks for moving content to Build a More Advanced ML Pipeline. I think it's a good temporary measure. For longer terms, it seems like this is not exactly a "how to guide", but rather an "Advanced" quickstart. Each bullet in this guide could reference to its own how to guide, while this example serves as an advanced tutorial/quickstart. If you agree we can have a separation issue describing the desired end state.
Now that we have a solid structure in place, we should start building a "feature map" to understand what are the features that need documentation, the ones that are already documented but need improvement, and the ones that are green. I can see us doing this with a table like this

Feature
Status
Type

feat A
Missing
User guide

feat A
Partial
Reference

feat B
Done
User guide

feat B
Missing
Reference

...
...
...

WDYT?

/hold for review

@StefanoFioravanzo

Let's rename How-to/User guides to User guides

Done.

Thanks for moving content to Build a More Advanced ML Pipeline. I think it's a good temporary measure. For longer term, it seems like this is not exactly a "how to guide", but rather an "Advanced" quickstart. Each bullet in this guide could reference to its own how to guide, while this example serves as an advanced tutorial/quickstart. If you agree, we can have a separation issue describing the desired end state.
Now that we have a solid structure in place we should start building a "feature map" to understand what are the features that need documentation, the ones that are already documented but need improvement, and the ones that are green. I can see us doing this with a table like this

Sounds good. I created two issues for that:

https://github.com/kubeflow/website/issues/3741
https://github.com/kubeflow/website/issues/3742

Should we add them (and new ones that may arise) to https://github.com/kubeflow/website/issues/3712 even if they may not be completed on time for 1.9?

/unhold ready for review

/unhold
ready for review

@thesuperzapper @rimolive @HumairAK @milosjava
Can you guys take another look?

@thesuperzapper I addressed all your suggestions.

May I ask one more thing? This setion should be part of the v2 docs too if we can to make v2 the default structure.
https://www.kubeflow.org/docs/components/pipelines/v1/concepts/

May I ask one more thing? This setion should be part of the v2 docs too if we can to make v2 the default structure.
https://www.kubeflow.org/docs/components/pipelines/v1/concepts/

@thesuperzapper suggested the same and I forgot that one. Thank you @rimolive.

May I ask one more thing? This setion should be part of the v2 docs too if we can to make v2 the default structure.
https://www.kubeflow.org/docs/components/pipelines/v1/concepts/

Done @rimolive.

/lgtm

@thesuperzapper

I think a few more pages can be moved out of the legacy section because they also apply to V2 (and having them in V2 will encourage people to update them):
* `/pipelines/legacy-v1/reference/component-spec/` -> `/pipelines/reference/component-spec/`

  * The component spec is still the same, but we have no reference to it on the V2 section.
  * We can put it under the "Reference" section of V2.

* `/pipelines/legacy-v1/overview/interfaces/` -> `/pipelines/interfaces/`

  * It's nice to have an overview of the interfaces of KFP.
  * We can put it directly under "Getting Started" at the top level.

* `/pipelines/legacy-v1/overview/multi-user/` -> `/pipelines/operator-guides/multi-user/`

  * This will need some small updates, but is still mostly correct for v2.
  * We can put it under the "operator guides" section.

* `/pipelines/legacy-v1/overview/pipeline-root/` -> `/pipelines/concepts/pipeline-root/`

  * This is a very important concept (which is actually exclusive to V2).
  * I think it makes sense to put it under "Concepts", probably directly under "Pipeline", in the second position.

Moved, except /pipelines/legacy-v1/overview/multi-user/, which I created an issue to move in a follow PR.

There are also a few pages in the "Legacy (v1)" section which will need updating but are critical to move/copy (we should probably do them in a separate PR).
Here is the list of "Legacy (v1)" pages which we need to move to top of "user guides":
* `Introduction to the Pipelines SDK`

  * Once updated, I think this one can go at the top of the "User Guides" section.

* `Install the Kubeflow Pipelines SDK`

  * THis is relly just explaining how to pip install `kfp` and use a conda env, we can update it and put it second under the "User Guides" section.

Here is the list of "Legacy (v1)" pages which we need to move to the "user guides" under "core functions":
* `Pipeline Parameters`

* `Visualize Results in the Pipelines UI`

  * This ones is critical, because it currently includes V2 docs under a separate heading, despite living in the V1 section.

Here is the list of "Legacy (v1)" pages which we need to move to the "user guides" under "create components":
* `Building Components`

* `Best Practices for Designing Components`

Let's do that in a follow PR too. Issue: https://github.com/kubeflow/website/issues/3750.

@thesuperzapper

@hbelmiro I am pretty much happy with this now, just a small number of comments left.
We also need to create an issue about populating the "Install Kubeflow Pipelines" page rather than redirecting to the V1 docs.

We already have one.

Also, I see a random diff in content/en/docs/images/kubeflow-getting-started-diagram.svg, which is not part of the KFP docs, so please remove it.

Removed. Thank you.

@StefanoFioravanzo @rimolive @milosjava @thesuperzapper @HumairAK
I think this is ready to get merged. Can you guys take a final look?

I agree. Since we had a recent issue with the DCO plugin, can you force push to make it check again?

All green @rimolive.

Thank you!
cc @StefanoFioravanzo @milosjava @thesuperzapper @HumairAK

I can't comment on them, because you are not actually updating the file, but I will list the links here:
* `[Kubeflow Pipelines SDK v2](https://www.kubeflow.org/docs/components/pipelines/sdk-v2/)` just remove this link (keep the text only)

* `[Kubeflow Pipelines deployment guide](/docs/components/pipelines/installation/)` should be updated to `/docs/components/pipelines/operator-guides/installation/`

* `[building pipelines](https://www.kubeflow.org/docs/components/pipelines/sdk-v2/build-pipeline/#build-your-pipeline)` should be replaced with `/docs/components/pipelines/user-guides/core-functions/build-advanced-pipeline/`

@thesuperzapper I updated the link to Kubeflow Pipelines deployment guide and created an issue for sdk-v2, since it will require more than just remove the link.

I will make a separate PR to add detailed instructions on how to leverage pipeline root and path prefixes once the UI portion is merged in.

@HumairAK I created an issue for that.

@hbelmiro We talked in the last relese meeting that we should create follow-up issues for the missing changes in this PR and merge as-is. Is there a reason you marked the PR as draft?

@rimolive as I said in https://github.com/kubeflow/website/pull/3737#pullrequestreview-2108440509, we can merge once we fix the 404 errors, and @hbelmiro seems to be working on in his latest commits.
We also need to make a tracking issue for all the other issues we raised during the creation of this PR.

@rimolive yeah, I was just fixing the 404s. This PR introduced them and if we had merged it with them we would be actually making the docs worse.
Anyway, they are all fixed now.
Tomorrow I'll create a new epic to track all the latest issues we found.

@hbelmiro Open the follow-up issues and let's merge this PR. Currently this work is silo'd in your PR and only in you, having the other issues opened, we can span to multiple contributors and then work faster on restructuring the pipeline docs. You did a great job, but also we are 3 weeks away from final release and we need to start moving faster to meet the final release date.

Ok @rimolive, let's get this merged. I'm opening the issues.
@thesuperzapper what are you using to check 404s?

@rimolive First I really want to stress that 404s are NOT something we can fix later, having a 404 effectively gives away the SEO for that page. Google will de-index any page that becomes a 404, however, a redirect will give all of that SEO to whatever the new page is.
Second, it's by the nature of significant refactors that they happen all at the same time (in one PR, with one person taking charge), It's just not possible to do any other way. I understand that it blocks other updates to the content, but that was the decision the pipelines people made when they decided to refactor this section again.

@hbelmiro the redirect testing can be done by going to the demo version of the site for this PR, and manually pasting the target of the redirect after the site URL.
Note, even if there aren't any pages that reference a specific redirect, it doesn't mean that that redirect isn't used by an external website (e.g. Google or other docs) pointing at the original page.
Also, for those 2 wildcard redirects, it's just safer if we redirect them to the specific root pages for the sections that they redirect to (E.g. redirecting the concepts overview page rather than using :splat)

/lgtm

@hbelmiro once you fix the redirects I listed in https://github.com/kubeflow/website/pull/3737#pullrequestreview-2111822549, we can merge.

@hbelmiro do you think you can address these redirects quickly to unblock this PR? I have never looked into how this indexing works, but I trust what Mathew is saying.
In the context of unblocking subsequent work and merging this one as quickly as possible, please let us know if you can look in to adding the redirect soon, or if you need any help doing that

@hbelmiro do you think you can address these redirects quickly to unblock this PR? I have never looked into how this indexing works, but I trust what Mathew is saying.
In the context of unblocking subsequent work and merging this one as quickly as possible, please let us know if you can look in to adding the redirect soon, or if you need any help doing that

@StefanoFioravanzo I can do it today.

@rimolive @StefanoFioravanzo @thesuperzapper 404s from https://github.com/kubeflow/website/pull/3737#pullrequestreview-2111822549 fixed.

@thesuperzapper @StefanoFioravanzo Can you please verify if there are other 404s remaining?

These we'll fix in a follow PR:

https://github.com/kubeflow/website/issues/3756

@hbelmiro it was very hard to review because the ordering was random, so I sorted them alphabetically and went through each one to ensure its source and target were correct and that no pages were missing.
Here is the fixed copy, please update the PR to replace the redirects you added to end of the _redirects file as follows:
(NOTE: leave the redirects you added in the previous sections, as they are still needed).
# Restructured the pipeline docs (https://github.com/kubeflow/website/issues/3716)
/docs/components/pipelines/overview/quickstart/                             /docs/components/pipelines/overview/
/docs/components/pipelines/v1/                                              /docs/components/pipelines/legacy-v1/
/docs/components/pipelines/v1/concepts/                                     /docs/components/pipelines/concepts/
/docs/components/pipelines/v1/concepts/component/                           /docs/components/pipelines/concepts/component/
/docs/components/pipelines/v1/concepts/experiment/                          /docs/components/pipelines/concepts/experiment/
/docs/components/pipelines/v1/concepts/graph/                               /docs/components/pipelines/concepts/graph/
/docs/components/pipelines/v1/concepts/metadata/                            /docs/components/pipelines/concepts/metadata/
/docs/components/pipelines/v1/concepts/output-artifact/                     /docs/components/pipelines/concepts/output-artifact/
/docs/components/pipelines/v1/concepts/pipeline/                            /docs/components/pipelines/concepts/pipeline/
/docs/components/pipelines/v1/concepts/run-trigger/                         /docs/components/pipelines/concepts/run-trigger/
/docs/components/pipelines/v1/concepts/run/                                 /docs/components/pipelines/concepts/run/
/docs/components/pipelines/v1/concepts/step/                                /docs/components/pipelines/concepts/step/
/docs/components/pipelines/v1/installation/                                 /docs/components/pipelines/legacy-v1/installation/
/docs/components/pipelines/v1/installation/choose-executor/                 /docs/components/pipelines/legacy-v1/installation/choose-executor/
/docs/components/pipelines/v1/installation/compatibility-matrix/            /docs/components/pipelines/legacy-v1/installation/compatibility-matrix/
/docs/components/pipelines/v1/installation/localcluster-deployment/         /docs/components/pipelines/legacy-v1/installation/localcluster-deployment/
/docs/components/pipelines/v1/installation/overview/                        /docs/components/pipelines/legacy-v1/installation/overview/
/docs/components/pipelines/v1/installation/standalone-deployment/           /docs/components/pipelines/legacy-v1/installation/standalone-deployment/
/docs/components/pipelines/v1/installation/upgrade/                         /docs/components/pipelines/legacy-v1/installation/upgrade/
/docs/components/pipelines/v1/introduction/                                 /docs/components/pipelines/legacy-v1/introduction/
/docs/components/pipelines/v1/overview/                                     /docs/components/pipelines/legacy-v1/overview/
/docs/components/pipelines/v1/overview/caching/                             /docs/components/pipelines/legacy-v1/overview/caching/
/docs/components/pipelines/v1/overview/interfaces/                          /docs/components/pipelines/interfaces/
/docs/components/pipelines/v1/overview/multi-user/                          /docs/components/pipelines/legacy-v1/overview/multi-user/
/docs/components/pipelines/v1/overview/pipeline-root/                       /docs/components/pipelines/concepts/pipeline-root/
/docs/components/pipelines/v1/overview/quickstart/                          /docs/components/pipelines/legacy-v1/overview/quickstart/
/docs/components/pipelines/v1/reference/                                    /docs/components/pipelines/legacy-v1/reference/
/docs/components/pipelines/v1/reference/api/kubeflow-pipeline-api-spec/     /docs/components/pipelines/legacy-v1/reference/api/kubeflow-pipeline-api-spec/
/docs/components/pipelines/v1/reference/component-spec/                     /docs/components/pipelines/reference/component-spec/
/docs/components/pipelines/v1/reference/sdk/                                /docs/components/pipelines/legacy-v1/reference/sdk/
/docs/components/pipelines/v1/sdk/                                          /docs/components/pipelines/legacy-v1/sdk/
/docs/components/pipelines/v1/sdk/best-practices/                           /docs/components/pipelines/legacy-v1/sdk/best-practices/
/docs/components/pipelines/v1/sdk/build-pipeline/                           /docs/components/pipelines/legacy-v1/sdk/build-pipeline/
/docs/components/pipelines/v1/sdk/component-development/                    /docs/components/pipelines/legacy-v1/sdk/component-development/
/docs/components/pipelines/v1/sdk/connect-api/                              /docs/components/pipelines/user-guides/core-functions/connect-api/
/docs/components/pipelines/v1/sdk/dsl-recursion/                            /docs/components/pipelines/legacy-v1/sdk/dsl-recursion/
/docs/components/pipelines/v1/sdk/enviroment_variables/                     /docs/components/pipelines/legacy-v1/sdk/enviroment_variables/
/docs/components/pipelines/v1/sdk/gcp/                                      /docs/components/pipelines/legacy-v1/sdk/gcp/
/docs/components/pipelines/v1/sdk/install-sdk/                              /docs/components/pipelines/legacy-v1/sdk/install-sdk/
/docs/components/pipelines/v1/sdk/manipulate-resources/                     /docs/components/pipelines/legacy-v1/sdk/manipulate-resources/
/docs/components/pipelines/v1/sdk/output-viewer/                            /docs/components/pipelines/legacy-v1/sdk/output-viewer/
/docs/components/pipelines/v1/sdk/parameters/                               /docs/components/pipelines/legacy-v1/sdk/parameters/
/docs/components/pipelines/v1/sdk/pipelines-with-tekton/                    /docs/components/pipelines/legacy-v1/sdk/pipelines-with-tekton/
/docs/components/pipelines/v1/sdk/python-based-visualizations/              /docs/components/pipelines/legacy-v1/sdk/python-based-visualizations/
/docs/components/pipelines/v1/sdk/python-function-components/               /docs/components/pipelines/legacy-v1/sdk/python-function-components/
/docs/components/pipelines/v1/sdk/sdk-overview/                             /docs/components/pipelines/legacy-v1/sdk/sdk-overview/
/docs/components/pipelines/v1/sdk/static-type-checking/                     /docs/components/pipelines/legacy-v1/sdk/static-type-checking/
/docs/components/pipelines/v1/troubleshooting/                              /docs/components/pipelines/legacy-v1/troubleshooting/
/docs/components/pipelines/v1/tutorials/                                    /docs/components/pipelines/legacy-v1/tutorials/
/docs/components/pipelines/v1/tutorials/api-pipelines/                      /docs/components/pipelines/legacy-v1/tutorials/api-pipelines/
/docs/components/pipelines/v1/tutorials/benchmark-examples/                 /docs/components/pipelines/legacy-v1/tutorials/benchmark-examples/
/docs/components/pipelines/v1/tutorials/build-pipeline/                     /docs/components/pipelines/legacy-v1/tutorials/build-pipeline/
/docs/components/pipelines/v1/tutorials/cloud-tutorials/                    /docs/components/pipelines/legacy-v1/tutorials/cloud-tutorials/
/docs/components/pipelines/v1/tutorials/sdk-examples/                       /docs/components/pipelines/legacy-v1/tutorials/sdk-examples/
/docs/components/pipelines/v2/                                              /docs/components/pipelines/
/docs/components/pipelines/v2/administration/                               /docs/components/pipelines/operator-guides/
/docs/components/pipelines/v2/administration/server-config/                 /docs/components/pipelines/operator-guides/server-config/
/docs/components/pipelines/v2/caching/                                      /docs/components/pipelines/user-guides/core-functions/caching/
/docs/components/pipelines/v2/cli/                                          /docs/components/pipelines/user-guides/core-functions/cli/
/docs/components/pipelines/v2/community-and-support/                        /docs/components/pipelines/reference/community-and-support/
/docs/components/pipelines/v2/compile-a-pipeline/                           /docs/components/pipelines/user-guides/core-functions/compile-a-pipeline/
/docs/components/pipelines/v2/components/                                   /docs/components/pipelines/user-guides/components/
/docs/components/pipelines/v2/components/additional-functionality/          /docs/components/pipelines/user-guides/components/additional-functionality/
/docs/components/pipelines/v2/components/container-components/              /docs/components/pipelines/user-guides/components/container-components/
/docs/components/pipelines/v2/components/containerized-python-components/   /docs/components/pipelines/user-guides/components/containerized-python-components/
/docs/components/pipelines/v2/components/importer-component/                /docs/components/pipelines/user-guides/components/importer-component/
/docs/components/pipelines/v2/components/lightweight-python-components/     /docs/components/pipelines/user-guides/components/lightweight-python-components/
/docs/components/pipelines/v2/data-types/                                   /docs/components/pipelines/user-guides/data-handling/data-types/
/docs/components/pipelines/v2/data-types/artifacts/                         /docs/components/pipelines/user-guides/data-handling/artifacts/
/docs/components/pipelines/v2/data-types/parameters/                        /docs/components/pipelines/user-guides/data-handling/parameters/
/docs/components/pipelines/v2/hello-world/                                  /docs/components/pipelines/getting-started/
/docs/components/pipelines/v2/installation/                                 /docs/components/pipelines/operator-guides/installation/
/docs/components/pipelines/v2/installation/quickstart/                      /docs/components/pipelines/operator-guides/installation/
/docs/components/pipelines/v2/introduction/                                 /docs/components/pipelines/overview/
/docs/components/pipelines/v2/load-and-share-components/                    /docs/components/pipelines/user-guides/components/load-and-share-components/
/docs/components/pipelines/v2/local-execution/                              /docs/components/pipelines/user-guides/core-functions/execute-kfp-pipelines-locally/
/docs/components/pipelines/v2/migration/                                    /docs/components/pipelines/user-guides/migration/
/docs/components/pipelines/v2/pipelines/                                    /docs/components/pipelines/user-guides/core-functions/
/docs/components/pipelines/v2/pipelines/control-flow/                       /docs/components/pipelines/user-guides/core-functions/control-flow/
/docs/components/pipelines/v2/pipelines/pipeline-basics/                    /docs/components/pipelines/user-guides/components/compose-components-into-pipelines/
/docs/components/pipelines/v2/platform-specific-features/                   /docs/components/pipelines/user-guides/core-functions/platform-specific-features/
/docs/components/pipelines/v2/reference/                                    /docs/components/pipelines/reference/
/docs/components/pipelines/v2/reference/api/kubeflow-pipeline-api-spec/     /docs/components/pipelines/reference/api/kubeflow-pipeline-api-spec/
/docs/components/pipelines/v2/reference/sdk/                                /docs/components/pipelines/reference/sdk/
/docs/components/pipelines/v2/run-a-pipeline/                               /docs/components/pipelines/user-guides/core-functions/run-a-pipeline/
/docs/components/pipelines/v2/version-compatibility/                        /docs/components/pipelines/reference/version-compatibility/

After that I can LGTM.

@thesuperzapper done.

@hbelmiro thanks for your work on this, I think its ok to merge now.
/lgtm
Note, we will still get 404 for all the pre-v1/v2 split pages, but since we didn't want to make a new "component" path (e.g. rename the root prefix from /docs/components/pipelines/, there is no avoiding this.

@james-jwu or @zijianjoy can you please approve this significant refactor of the Kubeflow Pipelines docs if you agree?
We need a root approver because we are updating the redirects.

It contains a huge change in website architecture, including @connor-mccarthy who originally introduced the current structure to take a look.

@chensun @connor-mccarthy @zijianjoy
This week's meeting has been canceled. We can't wait until the next one to have this merged. We have several other issues planned for the 1.9 KF release that depend on this PR.
Can we get this merged or do you have any other suggestions?

My 2c: with the removal of the quickstart page and the new structure, some very basic usage patterns (e.g., define and compile a component) are deeply nested on the documentation site. I would consider restoring a quickstart guide.
A typical and critical reason for reviewing the docs is to determine whether to use Pipelines or some other ML orchestration system. A key input to this choice is often the SDK authoring experience. With the current restructuring, "Run a pipeline" is quite deep in the tree.

I wont block on this, but want to raise it for consideration before merging.

@connor-mccarthy the "Getting Started"` guide actually gives an example of running a pipeline:
https://deploy-preview-3737--competent-brattain-de2d6d.netlify.app/docs/components/pipelines/getting-started/
But it probably needs to be updated for "Kubeflow Platform" deployments, which need special steps to submit pipelines from outside the cluster, probably by linking to the "Connect the Pipelines SDK to Kubeflow Pipelines" guide:
https://deploy-preview-3737--competent-brattain-de2d6d.netlify.app/docs/components/pipelines/user-guides/core-functions/connect-api/
However, I agree that we should link users from the "Getting Started" page to the new "User Guides" section, and point them at the most important topics in a logical order that "reads like a story" for new users.

@connor-mccarthy @thesuperzapper
Thank you for the suggestions.
I created a new issue and added it to the follow-up tasks we need to address.

I agree on those points, especially providing links in the Getting Started section. As Helber mentioned, this is something we can work on right after merging this PR. @connor-mccarthy It's important we proceed quickly so that we can start working independently on several improvements, including what you suggested, in time for the Kubeflow 1.9 release.
If you don't have other concerns, could you approve? We will prfioritize addressing your concerns right after.

/lgtm
/approve
Thanks everyone for the effort and discussion on this!

@zijianjoy we still need your approval to get this merged.

James Liu is OOO. I will approve on his behalf.
/lgtm
/approve


WIP: Install extensions

Adds a php script to enable extensions that have already been installed but not enabled. We add the extensions directives into /opt/php/lib/conf.d/extensions.ini (a folder where php looks for additional ini files).
We look in the composer.json for requires "ext-[extension name]" and enable them if they are available. This runs after we've installed the correct php version but before we try and run composer install (it will fail for missing extensions).
Also adds some unit tests for detecting php versions and detecting extensions to install.

If we don't have the requested extension installed, the install script silently fails. The next step in the build is to run composer install which fails with a message like:
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested PHP extension ext-phalcon * is missing from your system. Install or enable PHP's phalcon extension.

If a user already had a custom php.ini file and ext requires in the composer.json, they will see additional warnings in the logs about already loading extension-name.so.

@chingor13

If a user already had a custom php.ini file and ext requires in the composer.json, they will see additional warnings in the logs about already loading extension-name.so.

Is it possible for the script to detect if it's already loaded, and if it's loaded, it can stop processing the extension in question?

@tmatsuo Not at this time. The user's php.ini config isn't put into place until entrypoint.sh. When we move this config to build-time, we could check if it's already configured.

@chingor13

@tmatsuo Not at this time. The user's php.ini config isn't put into place until entrypoint.sh. When we move this config to build-time, we could check if it's already configured.

Sounds good

@tmatsuo Fixed the supported extension list. PTAL when you get a chance.


Q about Paper

@geyang  @dcharatan
Thank you for your excellent work. Has your work been accepted by any journals or conferences yet?

Not yet!


deployment

Deploy app med cron jobs til hvert job

Fixed api_requests.
Frontdesk added -> updated image to support prophet.
Changed job names.
Deployed to prototypes


outdated images on docker hub

The latest tag(s) is/are (as of today) 7 months old and especially there is a newer version of Java 11 available:
[jboss@aab3f924e4d2 ~]$ java --version
openjdk 11.0.4 2019-07-16 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.4+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.4+11-LTS, mixed mode, sharing)

build fresh image:
[jboss@8114089c81e5 ~]$ java -version
openjdk version "11.0.6" 2020-01-14 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.6+10-LTS, mixed mode, sharing)

It would be great to update the repository by the PRs and trigger a new build to update the images on docker hub.
@rhuss let me know if you need some help

I'm on it. I just released an update to run-java.sh and will make a new release of this images later today.

Great news @rhuss

Just updated and pushed a 3.1.0 release of the s2i images (with updated deps and updated run-java.sh)

Thank you @rhuss. Tomorrow morning I'll try the new image.

Work's great, thanks again @rhuss.


Add notes on server-side pagination for Firestore

Marking as draft since the feature is not on prod yet.


Add support for log compression

Fixes https://github.com/scionproto/scion/issues/1924.

This change is

go/lib/log/log.go, line 57 at r2 (raw file):
Previously, karampok (Konstantinos) wrote…
more than three arguments, should be a struct.  But not important.
Another golang stylish comment
func SetupLogFile( name, dir, level string, size,age int)

This is something I was also thinking about; the refactor was unnecessarily painful due to this not taking a struct.
Added to https://github.com/scionproto/scion/issues/3594.

go/lib/log/flags.go, line 31 at r2 (raw file):
Previously, karampok (Konstantinos) wrote…
having inside log package a variable starting with logX seems redundant.
(log.logX)

This is a good point, added to https://github.com/scionproto/scion/issues/3594.


Make it super easy for a user to report a bug

I'm thinking a link in the bottom right which links to https://github.com/weaveworks/scope/issues/new

Oh we could use https://gitreports.com/ so users don't need to be logged in to github....


Success State Tool

Implement the success state tool:

Click the icon to activate the tool:

icon graphically shows to be active
mouse turns into a small success state with a even small plus sign (+) at the lower right corner

Click as often as you need into the plan editor field:

creates a success state with member variables set to some default each time

Click the icon to deactivate the tool:

icon gets deactivated
mouse turns back to normal

geht


[Bug]: GraphQL: fix background color

Is there an existing issue for this?

[X] I have searched the existing issues

Description
The visual design of the query editor  in body seems inconsistent. Specifically the grey BG behind ‘Query’ and ‘Query Variables’. Screenshot attached.

Ref: https://theappsmith.slack.com/archives/CGBPVEJ5C/p1655885054803919?thread_ts=1655821041.009059&cid=CGBPVEJ5C
Steps To Reproduce
https://theappsmith.slack.com/archives/CGBPVEJ5C/p1655885054803919?thread_ts=1655821041.009059&cid=CGBPVEJ5C
Public Sample App
No response
Version
self hosted

Verified on the DP and works well


Add update instructions to docs/v6_upgrade.md for asset_pack_path

Summary
Since v6.0.0-rc.7 (https://github.com/shakacode/shakapacker/commit/b64434d784257cb9c9b40969d17ac0aa3dc6e73d) the static file path has been updated from media/ to static/, added update instructions to docs/v6_upgrade.md.
Pull Request checklist

[x] ~Add/update test to cover these changes~
[x] Update documentation
[x] ~Update CHANGELOG file
Add the CHANGELOG entry at the top of the file.~

thanks @ryu-sato


Adding validation_steps and batch_size to VaidationMonitor

This allows to do less frequent and mini batch evaluation while training.
Ref https://github.com/tensorflow/skflow/issues/133

thar be conflicts, please update!

Ping @ilblackdragon. Is this still relevant?


Extensive analogRead() Operations while Stepper is Running Lead to Erratic Movement

I use this fantastic library to run three stepper motors in parallel. The micro-controller I use is an ESP32 Wrover-B, the stepper drivers are TMC2209, and the motors are of standard Nema 11 Bipolar 1.8deg type. I apply 256x microstepping and the steppers rotate about 13000 steps (~90°) in approx. 1 s in one direction and then in the other.
In my setup, I have a MCP3008 ADC and I'd basically want to read several analog signals at every step of the three steppers to obtain the information "analog sensor value x while stepper n was at position p".
Conceptually, my code works as follows:
steppers[0]->moveTo(pos0);
steppers[1]->moveTo(pos1);
steppers[2]->moveTo(pos2);

while (steppers[0]->isRunning() || steppers[1]->isRunning() || steppers[2]->isRunning())
{
    // stepper loop
    for (int i = 0; i < 3; i++)
    {
        // sensor loop
        int nSensors = 4;
        for (int f = 0; f < nSensors ;  f ++) {

            // read analog signal
            int val = analogRead(pin);
            int stepperPos = steppers[i]->getCurrentPosition();

            // store data
            // ...

        }
    }
}

(I actually don't call analogRead() but use the Adafruit_MCP3008 library, but I don't think that's crucial.)
Judging from the README, this seems to be a bad idea in general, since long interrupts should be kept at a minimum for a smooth stepper movement, right?
In my case, every analog read takes about 15 us. My setup works great with nSensors = 2. However, when I increase it to nSensors = 4, the movement of the steppers becomes erratic, that is, sometimes they move smoothly, and sometimes they make a lot of unhealthy noise and seem to skip steps or even freeze.
I'm rather a newbie in stepper motors and micro-controllers, so my basic question is: Is there any way to get around the problem of making extensive analog reads while the steppers are running? Since the ESP32 is a dual-core, could it be possible to run the steppers on one core and do the analog read on the other core? Is there another conceptual approach I'm overlooking?
Or do you think I have a bug in my code or electronics and what I'm experiencing should not happen at all? Again - with the little knowledge I have - I think it is not surprising that I'm running into problems and I don't expect an issue with the FastAccelStepper library but with my setup.

Thanks for the feedback and extensive problem description. Before I dig into the analogRead() topic on esp32, could you please firstly run two tests and check for the result ?

In order to ensure, that FastAccelStepper alone is OK:

while (steppers[0]->isRunning() || steppers[1]->isRunning() || steppers[2]->isRunning())
{
    // stepper loop
    for (int i = 0; i < 3; i++)
    {
        // sensor loop
        int nSensors = 4;
        for (int f = 0; f < nSensors ;  f ++) {
            int stepperPos = steppers[i]->getCurrentPosition();
        }
    }
}

If first test is OK, perhaps the reason is related to the storage:

while (steppers[0]->isRunning() || steppers[1]->isRunning() || steppers[2]->isRunning())
{
    // stepper loop
    for (int i = 0; i < 3; i++)
    {
        // sensor loop
        int nSensors = 4;
        for (int f = 0; f < nSensors ;  f ++) {

            // fake analog signal read
            int val = f;
            int stepperPos = steppers[i]->getCurrentPosition();

            // store data
            // ...

        }
    }
}

Thanks for your quick reply! I ran both the suggested tests and the steppers moved perfectly smooth. In the innermost loop, I actually call readADC  of the Adafruit_MCP3008 lib twice since I have two ADCs connected. I looked a bit closer into the wiring of the ADCs and their SPI interface and found out that I wired them wrong (they have to share 3 of the 4 SPI pins). After I fixed this mistake, the steppers move smoothly again! I have no idea why it had an influence on the steppers, but who knows ...
I'm so impressed with your library, as I can run crazy commands while the stepper is operating. That's amazing!
Thank you for pointing me in the right direction, and sorry for the fuss!

good to hear, that you have fixed the problem.
Nice, that you like FastAccelStepper


Not properly working checkbox label in "Run and Debug" "Breakpoints"

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.96.0-insider
OS Version: Ubuntu 24.10 x86_64

Steps to Reproduce:

Add a breakpoint to any file at any line
Open Run and Debug panel and open Breakpoint menu
Click on previously added breakpoint label

Current result: checkbox don't change state (checked/unchecked)
Desired result: checkbox change state (checked/unchecked)
Additional informations:

Screencast of actual behaviour https://github.com/user-attachments/assets/00ececaa-31ba-4832-a037-8d4409adf6f8
As far as I remember this is not an regression - this was working always as that

Thanks for the PR, but sorry, I disagree that it should work this way. Clicking the breakpoint row opens the file and navigates to that breakpoint. That's really important functionality for navigating and it shouldn't also toggle the breakpoint.


Not compatible with Django 1.9

In Django 1.9 when I do
python manage.py migrate

I get the following error
django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet.

django-registration seems to have had the same issue http://stackoverflow.com/questions/25537905/django-1-7-throws-django-core-exceptions-appregistrynotready-models-arent-load
It relates to using auto.get_user_model()

We're in the process of taking DOAC offline and building migration documentation for Django OAuth Toolkit. At this point, I would highly recommend looking at that project instead of going with DOAC, which is not maintained.

Interesting to hear. I'm already using Django OAuth Toolkit as a provider, but there doesn't seem to be any information on using it as a client/consumer.


How to obtain broker test API key and secret?

Hello,
I've been using the Binace Postman collection from this repository and it has been very helpful for my development work. However, I'm currently facing an issue related to obtaining the broker test API key and secret.
After going through the available methods in the collection, I couldn't find any specific instructions on how to retrieve the broker test API key and secret. I would greatly appreciate it if someone could guide me on how to obtain these credentials.
I have checked the documentation and explored the code, but I couldn't find any relevant information. It would be helpful if the repository's maintainers or anyone with knowledge about the process could provide some guidance.
Any additional details or code snippets related to retrieving the broker test API key and secret would be highly appreciated. I believe that updating the documentation or providing an example in the codebase would benefit other users as well.
Thank you in advance for your assistance!
Best regards,
Enkh-Amar

Sorry for the late response.
The broker program has been rebanded to Link program: https://www.binance.com/en/link, and the API is for entities that join this program.  Please feel free to view it's details from above link and contact the team via Email<EMAIL_ADDRESS>if you are interested.
thanks


Sidenav fixed/non-fixed example from the documentation does not work on Safari

Bug, feature request, or proposal:
If you run this example of sidenav on Safari, it does not render the same way as Chrome.
What is the expected behavior?
Chrome's behavior
What is the current behavior?
Not fullscreen (from header to footer)
What are the steps to reproduce?
https://stackblitz.com/angular/ynoqqoybbnj?file=app%2Fsidenav-fixed-example.css

Any updates or workarounds for this issue?


/hunt name display error

Instead of displaying a username correctly, this shows up

Fixed from the next reboot, thank you for the report :)


Odd behavior with nested Custom Elements

This is a weird one, I hope I can explain what is going on.
I'm creating some custom Elements on top of Bootstrap, among them is a tab custom elements. To create a new tabs you would do something like this:
<tab-set>
   <tab>...</tab>
   <tab>...</tab>
</tab-set>

Behind the scenes the tab custom element register itself with the tab-set custom element.
To do this the tab injects a reference to the tab-set and then calls a register method passing this as an argument. The register method basically just adds the reference to the tab to an array. And finally the tab-set view iterates over the tabs array to display the tab navigation.
Here is the interesting part, if I call the register method in the attached() method of the tab custom element, for reasons I cannot explain, when the tab-set renders the view iterating over the tabs array, I end up with twice as many elements. But the extra elements don't have the right 'value reference' so I just end up with undefined stuff.
Now, if I call the register method in the constructor() of my tab custom element, then everything works as expected.
I believe this is some sort of regression. It was working just fine until I updated the project today.
I created a gist run  with a simplified example, and it is working just fine there since I couldn't find a newer Aurelia bundle.
So, maybe we are not supposed to do such things in the attached() method, but since it was working before I thought I should report it.
Regards.

I wouldn't do this in attached. In fact, I would take a different approach and use the @children decorator. However, I'm concern about the regression. I don't think we changed anything that would affect this recently. What version were you updating from?

The problem with @children is that it doesn't work with @containerless and unfortunately  bootstrap is so picky about the html hierarchy.
I'm sorry,  I don't really know the version I was updating from, I  need to pay more attention to that. I can tell you I wrote this code in August 24 and it was working, and I come back to it Monday and did the update and then it wasn't.
Thank you Rob

I was able to reproduce the same issue using @children.
It seems the problem is when the parent custom element uses the array populated by @children on a repeat.for on its view.
Once again I created a gist run, but it works as expected there because it has an older version of Aurelia. But when running locally with the up to date ESNext navigation skeleton it fails in the same way I described before.
Here is the gist run, if you run this locally with the up to date framework it should show you the error https://gist.run/?id=c091747d47f9acc263174751a529c880
Thanks

I went back to my code and cleaned up my dependencies, it seems that I had some dependencies mismatches, some parts of the frameworks had newer versions but other parts had old version. I'm assuming that is what caused the odd behaviors. After cleaning it up and making sure all the parts are up to date the error went away. My apologies for raising a false alarm.
Thanks.


ResolveCSharpTypeName return invalid class name?

I call RunCompie with modelType are System.Linq.Enumerable.WhereSelectEnumerableIterator<string> .
But generated code inherits from TemplateBase<System.Linq.WhereSelectEnumerableIterator<string>> .
CSharpGetRawTypeName is greate generate type name.
            return type.Namespace
                  + "."
                  + type.Name.Substring(0, type.Name.IndexOf('`'))
                  + "<"
                  + string.Join(", ", type.GetGenericArguments().Select(ResolveCSharpTypeName))
                  + ">";

            return type.FullName.Substring(0, type.FullName.IndexOf('`')).Replace("+", ".")
                  + "<"
                  + string.Join(", ", type.GetGenericArguments().Select(ResolveCSharpTypeName))
                  + ">";

How about this?

You are right there is a bug (I will release a fix soon).
However your code will not work anyway because WhereSelectEnumerableIterator is an internal class and therefore not accessible by the compiler (even after the type-name is correct). You need to use typeof(IEnumerable<string>) as your model type (which will work for the current version as well).

Thanks matthid.
I wrote LINQ result model set RunCompile.
And you are correct! WhereSelectEnumerableIterator is internal.
This is my my code sample.
IEnumerable<T> GetData(){  return list.Where(...).Select(...); }

But this result is WhereSelectEnumerableIterator instance...
I rewrite this code, with your advice!
IEnumerable<T> GetData(){  return list.Where(...).Select(...).ToArray(); }

ok 3.6.1 fixes the typename-generation bug.
BTW you don't need to change your GetData code:
Engine.Razor.RunCompile(key,writer, typeof(IEnumerable<T>),data);

would also work.

Awesome!
Thank you, fast fixed and sample code.


Content: CPU Scheduling Algorithm - SRTF

Description
Add the article for SRTF Scheduling algorithm. Use the following structure:

Introduction
Explanation
Algorithm
Code
Sample I/O
Complexity Analysis

@HarshCasper I would love to work in this Issue Please Assign this to me


Python dependencies incompatibility

Bug description
Python dependencies like django-auditlog 0.4.7 and django-overextends 0.4.3 have other dependencies. However, the incompatible versions of other dependencies are already installed which leads to a error message during installation.
Steps to reproduce
Steps to reproduce the behavior:
$ sudo mkdir /opt/dojo
$ cd /opt/dojo
$ sudo git clone https://github.com/DefectDojo/django-DefectDojo --depth 1
$ cd django-DefectDojo
$ sudo ./setup/setup.bash

...
Select install type: (1) Single-Server, (2) Dev Install or (3) Stand-alone: 1
...
Select database type: (1) SQLite, (2) MySQL or (3) PostgreSQL: 2
...
Select (1) Remote, (2) Local: 2
...
Select (1) Install of MySQL required, (2) MySQL server already exists/is running: 1
...
Select (1) Drop existing database, (2) Keep existing database & exit: 1
...
Current MySQL database install config includes:
Do you want to change any of these values? Select (1) Yes, (2) No: 2
...
Current OS install config includes:
Do you want to change any of these values? Select (1) Yes, (2) No: 2
...
Current admin user config for DefectDojo:
Do you want to change any of these values? Select (1) Yes, (2) No: 2
...
...
Python dependencies error

Expected behavior
The dependencies should be compatible.
Deployment method (select with an X)

[ ] Kubernetes
[ ] Docker
[x] setup.bash / legacy-setup.bash

Environment information

Operating System: Ubuntu 18.04
DefectDojo Commit Message: 027d879: Fixes to plantuml action [2020-05-09 06:50:52 +0200]

django-auditlog 0.4.7 was introduced by #1763

If the dependency errors doesnt break anything then please close the issue. If possible add it to the documentation.

There no newer versions of those libraries available, so I guess we'll have to stop using them or just hope they don't brake anything. I think we are not using django-overtends ourselves, so we could maybe remove it from requirements.txt?

That would work.

https://github.com/jjkester/django-auditlog/issues/250

overextends is needed by the survey part of DD, to be merged into here.
https://github.com/DefectDojo/django-DefectDojo/pull/2334

For now going to close this one as either it's been raised in other tickets or we can't do anything about it currently. Dependabot will warn is if newer versions are available.


Light and Dark Mode UI handling

Hello! Happy Hacktoberfest 🎃  !
This PR is in response to issue #9.
I was tasked with the following by @Jakub-Vacek ...

[x] Color of TextField text, labels and icons should be more contrasting (black).

[ ] Text in TextField after saving configuration should disappear.

[x] Background color should be white

[x] Save button should have label.

Currently my build loads as such:

state
dark
light

proposed

🙋♀  I need help with :

[ ] handling UI settings on State change

[ ] running a example case on my build

[ ] Text in TextField after saving configuration should disappear.

Before submission please... 🙏 🎃
As a maintainer, please have this PR count in accordance with the latest update, please opt-in by...

[x] assigning @jamie-brannan to PR

[x] Add the label hacktoberfest-accepted to the PR

Thank you for the opportunity to participate and build things together 🎉

Hi nice job 👍 To your questions:

Why do you need to change on UI settings on State change?
What do you mean by running an example case on my build?
You can set text in textfield in action in Button component.

Also, can you please resolve conflict in Pipeliner/ContentView.swift? 🙂
Thank you 🤩

Hi @Jakub-Vacek 👋
Why do you need to change on UI settings on State change?
I have the following UI state change with the form that I don't understand, because oddly enough, I do not have the same visibility issue in dark mode

What do you mean by running an example case on my build?
I mean are there specific case examples of pipelines that you use to save as configurations in order to test the detail view ui?
This is what's slowing me down from :

verifying that my light mode UI changes render as I imagined
figuring out how to work the last Issue criteria "Text in TextField after saving configuration should disappear" is validated

You can set text in textfield in action in Button component.
I'm not sure what you mean by this? I have set text as the button, would you like me to change where I added the text?

Well that is interesting. It looks like bug 🤷 Does order of filling-in the form change render behavior?
To test functionality I usually use some private repo. We don't have any specific case examples.
You can set projectName,projectId and token somewhere around the line 112 in Pipeliner/ContentView.swift  that should clean the TextFields

Hi @Jakub-Vacek ,
I'll have to double check but it I don't believe so, considering the forms accepted I type anything. In terms of security it may be a good idea to add parameters limiting certain formats in each field.
Noted for the test cases.
And it looks like I'll need to resolve some conflicts again before checking this so I'll find another time when I can carve out time to manage to implement changes 👍
Thank you!


[BUG] Support Email credentials from Alerting

Describe the bug
Notification does not support retrieving email username and password from keystore using the Alerting plugin's path that is shown here.
To Reproduce
N/A
Expected behavior
Support retrieving credentials from there as a fallback
Plugins
N/A
Screenshots
N/A
Host/Environment (please complete the following information):
N/A
Additional context
Add any other context about the problem here.

This task has the following change to make

[ ] 1. In common-utls, update notification SmtpAccount model to have credentials
[ ] 2. In notification SPI:

[ ] 2.1 update destination model and add logic to EmailClient which loads the credentials when setting up client to send mail
[ ] 2.2 Add username and password as plugin setting.

[ ] 3. Notificaiton main project: Update the send notification transport action handler to parse and pass the credentials


Test failures due to new cargo warning

cargo-hack supports cargo 1.26+, so our test crates usually don't set the edition. (edition field requires 1.31+)
The new cargo warning for the unset edition (https://github.com/rust-lang/cargo/pull/13505, I think the warning itself is a good idea, except for a few problems) pollutes the logs, and it confuses assertions.
I think a reasonable workaround is to check while excluding warnings. The potentially difficult part is that in some cases we want to check the content of warnings as well.
Ideally, I would like to see cargo provide a way to opt out of this warning, but I don't think that is realistic as I think cargo has never provided such a way in the past.
thread 'short_flag' panicked at tests/test.rs:1317:10:
assertion failed: `!self.stderr.contains(..)`:

EXPECTED:
------------------------------------------------------------
member2
------------------------------------------------------------

ACTUAL:
------------------------------------------------------------
info: running `/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo check -v --manifest-path member1/Cargo.toml` (1/1)
warning: /tmp/.tmp6qlpGb/dir/not_find_manifest/Cargo.toml: no edition set: defaulting to the 2015 edition
warning: /tmp/.tmp6qlpGb/member2/Cargo.toml: no edition set: defaulting to the 2015 edition
warning: /tmp/.tmp6qlpGb/member1/Cargo.toml: no edition set: defaulting to the 2015 edition
    Checking member1 v0.0.0 (/tmp/.tmp6qlpGb/member1)
     Running `/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name member1 --edition=2015 member1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="a"' --cfg 'feature="default"' -C metadata=154f9d0d15063b83 -C extra-filename=-154f9d0d15063b83 --out-dir /tmp/.tmp6qlpGb/target/debug/deps -L dependency=/tmp/.tmp6qlpGb/target/debug/deps`
     Running `/home/runner/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/rustc --crate-name member1 --edition=2015 member1/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="a"' --cfg 'feature="default"' -C metadata=ccedeb65f0fb4624 -C extra-filename=-ccedeb65f0fb4624 --out-dir /tmp/.tmp6qlpGb/target/debug/deps -L dependency=/tmp/.tmp6qlpGb/target/debug/deps --extern member1=/tmp/.tmp6qlpGb/target/debug/deps/libmember1-154f9d0d15063b83.rmeta`
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.06s

I think a reasonable workaround is to check while excluding warnings. The potentially difficult part is that in some cases we want to check the content of warnings as well.

This could probably be handled well if implemented to always ignore only warnings containing specific patterns ("no edition set: defaulting to the 2015 edition" in this case).


update go module org to migtools

Signed-off-by: Tiger Kaovilai<EMAIL_ADDRESS>

Looks like prior token do not work here for my labeler action which adds /ok-to-test label to pull requests on comment.. but can be ignored for now. labels can be added manually to trigger e2e

Looks good to me!
Assume we need this then we can update to openshift/docker-distribution

There are some other places to references to your fork (like README, to check them all grep -Iinr 'kaovilai' .), but none of them look like code, so I believe is safe to merge :smile:


Support Blitz.js

It would be great if this library would work with Blitz.js.
Currently I get the following error:
/Users/bjoern/projects/myproject/node_modules/@salesforce/lazy-require/lib/LazyLoader.js:187
                    throw err;
                    ^

Error: ENOENT: no such file or directory, scandir '/Users/bjoern/projects/myproject/pages'
    at Object.readdirSync (fs.js:872:3)
    at nextTranslate (/Users/bjoern/projects/myproject/node_modules/next-translate/lib/cjs/plugin/index.js:51:10)
    at Object.apply (/Users/bjoern/projects/myproject/node_modules/@salesforce/lazy-require/lib/LazyLoader.js:183:36)
    at Object.<anonymous> (/Users/bjoern/projects/myproject/blitz.config.js:5:18)
    at Module._compile (/Users/bjoern/projects/myproject/node_modules/v8-compile-cache/v8-compile-cache.js:192:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10)
    at Module.load (internal/modules/cjs/loader.js:977:32)
    at Module._load (internal/modules/cjs/loader.js:877:14)
    at Function._load (/Users/bjoern/projects/myproject/node_modules/@salesforce/lazy-require/lib/LazyLoader.js:99:24)
    at Module.require (internal/modules/cjs/loader.js:1019:19) {
  errno: -2,
  syscall: 'scandir',
  code: 'ENOENT',
  path: '/Users/bjoern/projects/myproject/pages'
}

Looks like it should work by setting NEXT_TRANSLATE_PATH env
For dev build: NEXT_TRANSLATE_PATH='.blitz/caches/dev' For production build: NEXT_TRANSLATE_PATH='.blitz/caches/build'
But it could be zero-config if by changing this: https://github.com/vinissimus/next-translate/blob/master/src/plugin/index.ts#L9-L11
  const dir = path.resolve(
--    path.relative(process.cwd(), process.env.NEXT_TRANSLATE_PATH || '.')
++    path.relative(require('pkg-dir').sync() || process.cwd(), process.env.NEXT_TRANSLATE_PATH || '.')
  )

That would first try to find the location of next package.json up in the tree, otherwise fall back to process.cwd(). So then in dev that will resolve to .blitz/caches/dev/package.json and in prod build to .blitz/caches/build/package.json

@flybayer I did a PR with your proposal

Awesome. After that landed I will try to do a blitz recipe for it :)

Already prereleased on 1.0.3-canary.2. I close the issue, if you have any comments please let me know and we will reopen it @flybayer @BjoernRave


Filter nulls in expected cols

Changes in this PR include:

Generalized idea of a "key date" for each event. Each event loader must define an event date column which corresponds to this key date. The event loader filters out any rows where this event date is null in the incoming raw data.

Changes to test mechanics - changing to a more efficient pandas function and vectorizing date range calculations to speed up tests.

Coverage increased (+0.006%) to 84.269% when pulling a845b103e5f5a249db14fc64198b6f8dc4af7caa on filter-nulls-in-expected-cols into 19128fa5a34c2bd7ee0c22cb6b6b53de87f94da3 on master.


Add simple TPC reading test

This adds a test that checks the value of TPC after completing the execution of a micro subroutine. The value must be multiplied by 8 to get the byte address of the program counter in VU micro memory.

Thanks!


fix: workspace name not shown in invoice preview

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/43759
PROPOSAL: https://github.com/Expensify/App/issues/43759#issuecomment-2231312908
Tests

Sign in with a new Gmail account
Create a workspace
Click on the FAB and select "Send Invoice."
Add an amount
Select a random user
Verify that: the first workspace's display name is shown in invoice preview

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Sign in with a new Gmail account
Create a workspace
Click on the FAB and select "Send Invoice."
Add an amount
Select a random user
Verify that: the first workspace's display name is shown in invoice preview

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/896274fd-c7c2-43f1-9721-7b376a4928d2

Android: mWeb Chrome
https://github.com/user-attachments/assets/125664b5-9bf2-4542-afce-3a89099b1658

iOS: Native
https://github.com/user-attachments/assets/387217d7-40fe-48f5-a95a-306f4dfa4b62

iOS: mWeb Safari
https://github.com/user-attachments/assets/6ebbeb01-3b96-4eba-80c9-7d7a116f2382

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/aa07f992-8872-4836-90ef-232b5eaf44b7

MacOS: Desktop
https://github.com/user-attachments/assets/242957e9-e678-4298-bdea-40b5caebb628

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/6aef9f3e-d1dd-4bfc-9f6b-2d38d2fe46f3

Android: mWeb Chrome

https://github.com/user-attachments/assets/aeb4e264-6ae2-4caf-add2-deaffdf23161

iOS: Native

https://github.com/user-attachments/assets/3374b07f-819d-4d46-a600-56b3c8edd62d

iOS: mWeb Safari

https://github.com/user-attachments/assets/fccc24b0-6eff-4520-95eb-7f540712c357

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/aeecaeab-7ae0-4e9e-9f3f-8a758c99b77f

MacOS: Desktop

https://github.com/user-attachments/assets/af29c1d6-e9f9-4042-bd67-c1d49b7e8c6a

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/carlosmiceli in version: 9.0.10-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Cherry-picked to staging by https://github.com/mountiny in version: 9.0.10-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/mountiny in version: 9.0.10-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/francoisl in version: 9.0.11-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Notification badge resetting

Notification counter badge doesn't reset when clicking the app icon.

Notification count badge resetting issue has been resolved on v.1.0.1 update


Optimize drawing tiles

Static tiles shouldn't be drawn one by one.

So, does it mean we would store the whole map as one picture?

No, it's more about creating one big surface of the static tiles at the loading time and moving it with the camera and drawing.

The image with tiles could be another solution for static tiles, though.
Dynamic tiles should use some batch system.

Should this really be our goal for Demo 2?
At this point, it's not really a performance issue that static tiles are drown separately.


mac-26 lost external connection phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-26 lost external connection phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting machine to restore connection.


Table border missing on last row

Colspan needs to be updated on this one

Seems fixed already. Closing


Fix panic error when file is not found

I added a condition to check if the file exist and exit if it doesn't.

Thanks you for your review,
Your right it is a better way to do this, i will apply the changes with what you said :)


Added a placeholder into the create field of the token window

Resolves #164.
Adds a default placeholder value into the create field of the token window. If the stage has been saved, this will be the filename of the USD. If the stage hasn't been saved, this will be the anon: string set automatically when the stage is created.
@r-veenstra, I'm wondering if you have any opinion on including the anon: value? My initial reaction was to just not set the placeholder in that case, but I relented and decided to include it.
Stage Unsaved

Stage Saved

Discussion about the anon: prefix aside - this works well for me


Emacs 23 Fixups

Fix #27 as follows:

Fix the character quote handling to work on emacs 23
Fix the method chains to work on emacs 23
Update the ERT section of the README to show how to get ERT for emacs 23 (and to reflect #21)
Re-enable emacs 23 on travis, now that all the tests pass again

Also fixes #28, which was present in all emacs versions (I happened on it while fixing doing the rest of this, then saw that it had been filed as #28 in the meantime.)

r? @nikomatsakis
(rust_highfive has picked a reviewer for you, use r? to override)

@MicahChalmer commit 6b57bbf52530acdfdd9cc4b6c2ec198d0ac57e22 from this PR broken indentation for me (emacs 25) to a completely unusable state.

@vhbit do you have a sample of code that breaks?  There is #36 which I had trouble reproducing, and I don't know if this is related.

I found case where the current code has non-deterministic behavior even in batch mode when running the tests!  I'll open another issue with the details rather than posting it at the bottom of this one.  But there is definitely a problem here.


Improve completion of cfg attributes

This will close #5398 and it also adds some completion for cfg options.

looks great to me now, thanks @JamieCunliffe!
bors r+

Seems like this needs to rebase, I should've reviewed this earlier :(
Let me to
bors delegate+
to not block you!

Rebased
bors r+


fix detection of websocket close event

“bits” field is not a bitmask so "&" comparison is incorrect, compare for equality instead

See https://github.com/pfalcon/mongoose-mit/pull/1

Also see https://github.com/civetweb/civetweb


DocumentationL Custom Mapper

dart_mappable: ^0.9.1
Hi there, writing my own CustomMapper I have a suggestion for the documentation.
Maybe something along the lines below, demonstrating the handling of a slightly more complex situation involving custom objects and not just a String.
The current example shows decode: return (value as String) which may be outdated?
--------------------------------------------------

@CustomMapper()
class ItemRefMapper extends SimpleMapper<ItemRef> {
  ItemRefMapper();
  final String key = 'aSuperJsonKey';

  @override
  ItemRef decode(dynamic value) {
    return ItemRef(value[key]);
  }

  @override
  dynamic encode(ItemRef self) {
    return {key: self.val};
  }
}

class ItemRef {
  String val;
  ItemRef(this.val);

  @override
  String toString() {
    return val;
  }
}

@MappableClass(discriminatorKey: 'type')
abstract class Data {
  ItemRef itemRef;
  Data(this.itemRef);
}

@MappableClass()
class DataImpl extends Data {
  DataImpl(ItemRef itemRef) : super(itemRef);
}

Sure! Showing that a HashMap may be returned in decode would be helpful. I was not so sure what to expect and how to make it work in the beginning.
Thanks!


Cannot build gui on RPi4 Ubuntu 20.04 RCS>=0.2.3

Raspberry pi 4, 8GB RAM running Arm64 and Ubuntu 20.04
Having a lot of trouble trying to get the electron build to work.
I have tried nuking my nodejs libs, which included reinstalling various versions of  Nodejs v12. As well as nuking the directory and recloning, resetting to master/origin etc. Any suggestions?
Full log/stack trace from debug.log:
0 info it worked if it ends with ok
1 verbose cli [ '/usr/bin/node', '/usr/bin/npm', 'run', 'electron' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'preelectron', 'electron', 'postelectron' ]
5 info lifecycle chia-blockchain@~preelectron: chia-blockchain@
6 info lifecycle chia-blockchain@~electron: chia-blockchain@
7 verbose lifecycle chia-blockchain@~electron: unsafe-perm in lifecycle true
8 verbose lifecycle chia-blockchain@~electron: PATH: /usr/share/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/user/chia-blockchain/chia-blockchain-gui/node_modules/.bin:/home/user/chia-blockchain/venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle chia-blockchain@~electron: CWD: /home/user/chia-blockchain/chia-blockchain-gui
10 silly lifecycle chia-blockchain@~electron: Args: [ '-c', 'electron .' ]
11 silly lifecycle chia-blockchain@~electron: Returned: code: 1  signal: null
12 info lifecycle chia-blockchain@~electron: Failed to exec electron script
13 verbose stack Error: chia-blockchain@ electron: `electron .`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/usr/share/npm/node_modules/npm-lifecycle/index.js:332:16)
13 verbose stack     at EventEmitter.emit (events.js:315:20)
13 verbose stack     at ChildProcess.<anonymous> (/usr/share/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:315:20)
13 verbose stack     at maybeClose (internal/child_process.js:1021:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
14 verbose pkgid chia-blockchain@
15 verbose cwd /home/user/chia-blockchain/chia-blockchain-gui
16 verbose Linux 5.8.0-1016-raspi
17 verbose argv "/usr/bin/node" "/usr/bin/npm" "run" "electron"
18 verbose node v12.18.2
19 verbose npm  v6.14.8
20 error code ELIFECYCLE
21 error errno 1
22 error chia-blockchain@ electron: `electron .`
22 error Exit status 1
23 error Failed at the chia-blockchain@ electron script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

CLI display:
(venv) user@user-pi4:~/chia-blockchain/chia-blockchain-gui$ npm run electron &
[2] 172590
(venv) user@user-pi4:~/chia-blockchain/chia-blockchain-gui$
> chia-blockchain@ electron /home/user/chia-blockchain/chia-blockchain-gui
> electron .

The futex facility returned an unexpected error code.
/home/user/chia-blockchain/chia-blockchain-gui/node_modules/electron/dist/electron exited with signal SIGABRT
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! chia-blockchain@ electron: `electron .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the chia-blockchain@ electron script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/user/.npm/_logs/2021-02-26T23_24_31_264Z-debug.log

to note: I have tried MANY different solutions. First of which were of course the rm -rf node_modules package-lock.json , a reinstall of the gui, then running electron. But I continuously get this failed build error.

I just upgraded my Pi 4 8GB RAM Ubuntu 20.04 - and though slow - it works for me...
I did need to delete my .chia directory and manually chia init'ed but that's because I set $CHIA_ROOT.
Not sure where to go next for you since I can't replicate.

Relevent packages from my Pi:
uname -a = Linux ubuntu 5.4-01029-rspi #32-Ubuntu SMP PREEMPT Thu Feb 4 23:00:55 UTC 2021 aarch64 aarch64 GNU/Linux
lsb_release -d = Ubuntu 20.04.2 LTS
node --version = v10.19.0
npm --version = 6.14.4
python --version = 3.8.5
git status inside chia-blockchain-gui is HEAD detached at 55a5221

Hmm interesting, I'll try digging into it deeper tomorrow. Thanks for giving it a try

I got it working.
So I guess there was some weird things happening with my Nodejs install. I decided to download and install nvm and then installed Node.js 12. Then wiped the node_modules and packages-lock.json, and ran the gui scripts. It works now, so env build on my end was funky. Thanks for the help.

I got it working.
So I guess there was some weird things happening with my Nodejs install. I decided to download and install nvm and then installed Node.js 12. Then wiped the node_modules and packages-lock.json, and ran the gui scripts. It works now, so env build on my end was funky. Thanks for the help.

how i do this? i have a rpi with raspbian base, and i get the same error.electron doesn't works..
my npm version is v16
thanks!!

Look up nvm and install nodejs v12 (sorry on mobile right now won't be by
computer for a while). There are some guides out there. I look dup Ubuntu
stuff, but this may help you cause it's rpi related
https://linuxize.com/post/how-to-install-node-js-on-raspberry-pi/
On Mon, Apr 26, 2021, 17:48 krtpowa @.***> wrote:

I got it working.
So I guess there was some weird things happening with my Nodejs install. I
decided to download and install nvm and then installed Node.js 12. Then
wiped the node_modules and packages-lock.json, and ran the gui scripts.
It works now, so env build on my end was funky. Thanks for the help.
how i do this? i have a rpi with raspbian base, and i get the same
error.electron doesn't works..
my npm version is v16
thanks!!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/Chia-Network/chia-blockchain-gui/issues/105#issuecomment-827230836,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABYLDAMHFBQC3PBOVRI7ESLTKYCUJANCNFSM4YJIY4ZA
.


extension doesn't work if html_context["css_files"] is modified.

After a few hours of hair pulling debugging I found that this extension does not work if html_context["css_files"] in conf.py is set at all. The 3d view is not visible and it seems some click event on the page get swallowed.
So in conf.py the following works:
html_context = {
    # 'css_files': [ ]
}

But the following does not work:
html_context = {
    'css_files': [ ]
}

For some reason the <link rel="stylesheet" href="_static/sphinxcadquerystatic/main.css" type="text/css"> is not included in the header in the broken version.

If I use html_css_files to add my own css it works.

@rowanG077 Thanks for reporting!
Should it work with html_context["css_files"] too? What is the preferred way with the latest Sphinx version?
If this should be supported in the latest version and is preferred over html_css_files, leave this open and/or feel free to contribute a fix! :stuck_out_tongue:

No using the html_context like that is undefined behaviour. I didn't know this. See https://github.com/sphinx-doc/sphinx/issues/2442


update github.com/ncw/swift package in vendor to avoid potential memo…

This PR is try to solve this issue. The purpose is to void potential memory leaks caused by the github.com/ncw/swift package.

Hey @mlmhl
Can you rebase this?
Thanks.

@mlmhl Is this backwards compatible with existing swift deployments?

@stevvooe  yeah, this is backwards compatible.

@cquon want to carry this one through?

Fixed with #2698 (which carries this over)
Thanks @mlmhl for this!


fix deprecation of deliver in exception notification

This must be fixed before moving to rails 5:
DEPRECATION WARNING: `#deliver` is deprecated and will be removed in Rails 5. Use `#deliver_now` to deliver immediately or `#deliver_later` to deliver through Active Job. (called from call at /Users/bart/.rvm/gems/ruby-2.2.2/bundler/gems/exception_notification-8ee5ae59b0bf/lib/exception_notifier/email_notifier.rb:148)

Original issue by @bmesuere on Mon Jun 06 2016 at 18:44.
Closed by @bmesuere on Thu Aug 17 2017 at 15:56.

This was fixed in https://github.com/unipept/exception_notification/commit/db4f0f37d07ee2962e17773111f7f4e171f89f81
Original comment by @bmesuere on Thu Aug 17 2017 at 15:56.


[OpenAPI Bug] Golang generated code does not return an expect array

Describe the Bug
The golang generated code has a header that only returns an error like so: func (c *Client) PocketGatewayGatewayAll(ctx context.Context, request *poktroll.PocketGatewayGatewayAllRequest) error { even though the endpoint contains an array like so:
responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              application:
                type: array

What is the source of the issue?
Information to Reproduce
CLI Version
{
    "organization": "olshansk",
    "version": "0.16.36"
}

Generator Config
default-group: local
groups:
  local:
    generators:
      - name: fernapi/fern-typescript-node-sdk
        version: 0.7.2
        output:
          location: local-file-system
          path: ../sdk/typescript
      - name: fernapi/fern-go-sdk
        version: 0.9.4
        config:
          module:
            path: github.com/pokt-network/poktroll
            version: "1.19"
        output:
          location: local-file-system
          path: ../sdk/go

Actual OpenAPI
  /pocket/application/application:
    get:
      operationId: PocketApplicationApplicationAll
      responses:
        "200":
          description: A successful response.
          schema:
            type: object
            properties:
              application:
                type: array
                items:
                  type: object
                  properties:
                    address:
                      type: string
                      title: >-
                        The Bech32 address of the application using cosmos'
                        ScalarDescriptor to ensure deterministic encoding
                    stake:
                      title: The total amount of uPOKT the application has staked
                      type: object
                      properties:
                        denom:
                          type: string
                        amount:
                          type: string
                      description: >-
                        Coin defines a token with a denomination and an amount.

                        NOTE: The amount field is an Int which implements the
                        custom method

                        signatures required by gogoproto.
                    service_configs:
                      type: array
                      items:
                        type: object
                        properties:
                          service:
                            title: >-
                              The Service for which the application is
                              configured
                            type: object
                            properties:
                              id:
                                type: string
                                description: Unique identifier for the service
                                title: >-
                                  For example, what if we want to request a
                                  session for a certain service but with some
                                  additional configs that identify it?
                              name:
                                type: string
                                description: >-
                                  (Optional) Semantic human readable name for
                                  the service
                                title: >-
                                  TODO_TECHDEBT: Name is currently unused but
                                  acts as a reminder than an optional onchain
                                  representation of the service is necessary
                        title: >-
                          ApplicationServiceConfig holds the service
                          configuration the application stakes for
                      title: >-
                        The list of services this appliccation is configured to
                        request service for
                    delegatee_gateway_addresses:
                      type: array
                      items:
                        type: string
                      title: >-
                        The Bech32 encoded addresses for all delegatee Gateways,
                        in a non-nullable slice
                  title: >-
                    Application defines the type used to store an on-chain
                    definition and state for an application
              pagination:
                type: object
                properties:
                  next_key:
                    type: string
                    format: byte
                    description: |-
                      next_key is the key to be passed to PageRequest.key to
                      query the next page most efficiently. It will be empty if
                      there are no more results.
                  total:
                    type: string
                    format: uint64
                    title: >-
                      total is total number of results available if
                      PageRequest.count_total

                      was set, its value is undefined otherwise
                description: >-
                  PageResponse is to be embedded in gRPC response messages where
                  the

                  corresponding request message has used PageRequest.

                   message SomeResponse {
                           repeated Bar results = 1;
                           PageResponse page = 2;
                   }
        default:
          description: An unexpected error response.
          schema:
            type: object
            properties:
              code:
                type: integer
                format: int32
              message:
                type: string
              details:
                type: array
                items:
                  type: object
                  properties:
                    "@type":
                      type: string
                  additionalProperties: {}
      parameters:
        - name: pagination.key
          description: |-
            key is a value returned in PageResponse.next_key to begin
            querying the next page most efficiently. Only one of offset or key
            should be set.
          in: query
          required: false
          type: string
          format: byte
        - name: pagination.offset
          description: >-
            offset is a numeric offset that can be used when key is unavailable.

            It is less efficient than using key. Only one of offset or key
            should

            be set.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.limit
          description: >-
            limit is the total number of results to be returned in the result
            page.

            If left empty it will default to a value to be set by each app.
          in: query
          required: false
          type: string
          format: uint64
        - name: pagination.count_total
          description: >-
            count_total is set to true  to indicate that the result set should
            include

            a count of the total number of items available for pagination in
            UIs.

            count_total is only respected when offset is used. It is ignored
            when key

            is set.
          in: query
          required: false
          type: boolean
        - name: pagination.reverse
          description: >-
            reverse is set to true if results are to be returned in the
            descending order.

            Since: cosmos-sdk 0.43
          in: query
          required: false
          type: boolean
      tags:
        - Query

Golang Generated Code
func (c *Client) PocketGatewayGatewayAll(ctx context.Context, request *poktroll.PocketGatewayGatewayAllRequest) error {
    baseURL := ""
    if c.baseURL != "" {
        baseURL = c.baseURL
    }
    endpointURL := baseURL + "/" + "pocket/gateway/gateway"

    queryParams := make(url.Values)
    if request.PaginationKey != nil {
        queryParams.Add("pagination.key", fmt.Sprintf("%v", *request.PaginationKey))
    }
    if request.PaginationOffset != nil {
        queryParams.Add("pagination.offset", fmt.Sprintf("%v", *request.PaginationOffset))
    }
    if request.PaginationLimit != nil {
        queryParams.Add("pagination.limit", fmt.Sprintf("%v", *request.PaginationLimit))
    }
    if request.PaginationCountTotal != nil {
        queryParams.Add("pagination.count_total", fmt.Sprintf("%v", *request.PaginationCountTotal))
    }
    if request.PaginationReverse != nil {
        queryParams.Add("pagination.reverse", fmt.Sprintf("%v", *request.PaginationReverse))
    }
    if len(queryParams) > 0 {
        endpointURL += "?" + queryParams.Encode()
    }

    if err := c.caller.Call(
        ctx,
        &core.CallParams{
            URL:     endpointURL,
            Method:  http.MethodGet,
            Headers: c.header,
        },
    ); err != nil {
        return err
    }
    return nil
}

Got feedback from Oleg that You need to specify items field with data's types of array's elements. Looking into that now.

Based on the description here as well as the referenced issue, it looks like this is caused by a bug in the OpenAPI generator you are using.
I'll follow-up in your most recent related issue, and we can continue the conversation there - I think I have a solution for you!


Search with sorting by timestamp returns different results

Describe the bug
When searching by a query string, the number of estimated total hits found is different if a sorting attribute is passed, in my case, the publishing timestamp (descending order). It seems only to happen if I set, in the ranking rules, the "order" rule in first place in the order of importance. If the rule is set in second place, for example, this bug doesn't occur, however, the results will not be correctly ordered by date.
This bug seems to be related to issue #3657.
To Reproduce
Steps to reproduce the behavior:

To reproduce this bug, it is necessary to have at least 100 indexed documents, that include the term.
Update the ranking rules of the index to the following array:
["sort", "words", "typo", "proximity", "attribute", "exactness"]
Perform a search with no sorting attributes passed and observe the number of estimatedTotalHits returned.
Repeat the same search, but now with a sorting timestamp attribute passed, and observe the number of estimatedTotalHits.

Expected behavior
The number of estimatedTotalHits should be the same, in both cases, given that the sorting attribute should only impact the order of the results returned and not the number.
Screenshots
In this example, I've used Postman to do search in an index with a POST route:

It only has one attribute, the query string.

The estimated total hits is 83.
If I then add, the sorting attribute, which in my case is the publishingTimestamp, which is a Unix timestamp,

the estimated total hits is 194. It seems that 111 more hits that were found.

Meilisearch version:
v1.1.0
Additional context

Meilisearch instance running in a Azure Web App
Requests made in Postman

Also, is this the best way to order search results by most recent?