Fix HEEx and Surface filetypes

These were added in 428058ab3213e81531cbd7989f4267870f35d52e.

Can you please explain what you are fixing?  Are "heex" and "surface" files actually exactly the same syntax as Elixir files?
If yes, then why do they use a different file extension?

HEEx (HTML EEx) and Surface templates are extensions to EEx (Embedded Elixir) which is extensible by design.
vim-elixir treats regular EEx, HTML EEx, Live EEx and Surface as eelixir and uses b:eelixir_subtype to differentiate between them.

Thank you! <3

@brammool @aptinio I think this patch should be reverted.
HEEx and Surface are distinct tempting languages compared to LEEx and EEx (they use different compilers) and should be considered different file types so the corresponding tooling can handle their differences.
The consequence of this patch is now downstream tooling that does not use the vim-elixir plugin is breaking (for example, nvim-treesitter which uses different tree-sitter parsers for eex, heex, and surface). If vim-elixir does not make a distinction between heex, surface, and eex, resulting in issues with highlighting, then I think that is a bug in that plugin, not Vim itself.
A suggestion: consider .eex and .leex extensions as eelixir, but restore the new file types heex and surface that were recently added and fix how vim-elixir handles those file types.

@connorlay, I didn't realize that there are other downstream tooling affected by this. To be clear, I requested this PR to get vim-elixir, which I use, working again.
I agree that HEEx and Surface are distinct templating languages. If that means they should have their own file types, which does makes sense to me, then I think you're right: vim-elixir should be updated to rely on the new file types.
Sorry for the trouble, @brammool, and thanks for all your work on Vim.

@brammool @aptinio I think this patch should be reverted.
HEEx and Surface are distinct tempting languages compared to LEEx and
EEx (they use different compilers) and should be considered different
file types so the corresponding tooling can handle their differences.
The consequence of this patch is now downstream tooling that does not
use the vim-elixir plugin is breaking (for example,
nvim-treesitter which uses different tree-sitter parsers for eex,
heex, and surface). If vim-elixir does not make a distinction
between heex, surface, and eex, resulting in issues with
highlighting, then I think that is a bug in that plugin, not Vim
itself.
A suggestion: consider .eex and .leex extensions as eelixir, but
restore the new file types heex and surface that were recently
added and fix how vim-elixir handles those file types.

So you do not agree with the previous remark by user aptinio.
I do not know these filetypes, thus I can't really say what is the best
way.
The principle is that we have a different filetype for each kind of file
syntax.  If several syntaxes are similar or have parts in common, then
the syntax/indent/filetype plugins can source the right one, possibly
using "syn include" or setting a variable before sourcing another file.
That is better than having one filetype where each plugin file then
figures out the details, because this quickly gets complicated.  And it
makes it harder for a user to override the default plugins.
Thus it would be possible to have separate "heex" and "surface"
filetypes, and the plugins can use the elixir files, possibly by passing
a flag to have it behave a little bit differently.
  With the
addition of .eex and .leex as you mentioned.
--
DENNIS: Oh, very nice. King, eh!  I expect you've got a palace and fine
clothes and courtiers and plenty of food.  And how d'you get that?  By
exploiting the workers! By hanging on to outdated imperialist dogma
which perpetuates the social and economic differences in our society!
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- @.*** -- http://www.Moolenaar.net   \
///                                                                      \
\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

The principle is that we have a different filetype for each kind of file syntax. If several syntaxes are similar or have parts in common, then the syntax/indent/filetype plugins can source the right one, possibly using "syn include" or setting a variable before sourcing another file.
That is better than having one filetype where each plugin file then figures out the details, because this quickly gets complicated. And it makes it harder for a user to override the default plugins.
Thus it would be possible to have separate "heex" and "surface" filetypes, and the plugins can use the elixir files, possibly by passing a flag to have it behave a little bit differently.

Thanks for the explanation, @brammool. I created #10147, which reverts this PR. It is what @connorlay suggests.


Add ability to use challenges other than Route53 DNS

🗣 Description

Add the ability to use other Certbot challenges other than the default Route53.
Upstream changes to implement ghcr.io container repository.

By adding the --no-dns-route53 as the first parameter to the container, it will disable the default Route53 challenge.
This allows other challenges to be used.  e.g.; --manual
💭 Motivation and context

We have a use case where we need to get certificates for domains that are not (yet) hosted in Route53.
🧪 Testing

@dav3r is testing this with an external domain.

[x] @dav3r says "it's gud".

Tested in CI.
📷 Screenshots (if appropriate)

✅ Checklist

[x] This PR has an informative and human-readable title.
[x] Changes are limited to a single goal - eschew scope creep!
[x] All relevant type-of-change labels have been added.
[x] I have read the CONTRIBUTING document.
[x] These code changes follow cisagov code standards.
[x] All relevant repo and/or project documentation has been updated
to reflect the changes in this PR.
[x] All new and existing tests pass.

 Note that you might be
asked to create multiple distinct TXT records with the same name. This is
permitted by DNS standards.)

 Note that you might be
asked to create multiple distinct TXT records with the same name. This is
permitted by DNS standards.)

Before continuing, verify the TXT record has been deployed. Depending on the DNS
provider, this may take some time, from a few seconds to multiple minutes. You can
check if it has finished deploying with aid of online tools, such as the Google
Admin Toolbox: https://toolbox.googleapps.com/apps/dig/#TXT/_acme-challenge.www.mysuperfakedomain.gov.
Look for one or more bolded line(s) below the line ';ANSWER'. It should show the
value(s) you've just added.

Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/mysuperfakedomain.gov/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/mysuperfakedomain.gov/privkey.pem
   Your certificate will expire on 2021-08-11. To obtain a new or
   tweaked version of this certificate in the future, simply run
   certbot again. To non-interactively renew *all* of your
   certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Syncing certbot configs to my-certificates-bucket
upload: ../../etc/letsencrypt/archive/mysuperfakedomain.gov/cert1.pem to s3://my-certificates-bucket/archive/mysuperfakedomain.gov/cert1.pem
upload: ../../etc/letsencrypt/archive/mysuperfakedomain.gov/chain1.pem to s3://my-certificates-bucket/archive/mysuperfakedomain.gov/chain1.pem
upload: ../../etc/letsencrypt/archive/mysuperfakedomain.gov/privkey1.pem to s3://my-certificates-bucket/archive/mysuperfakedomain.gov/privkey1.pem
upload: ../../etc/letsencrypt/archive/mysuperfakedomain.gov/fullchain1.pem to s3://my-certificates-bucket/archive/mysuperfakedomain.gov/fullchain1.pem
upload: ../../etc/letsencrypt/csr/0203_csr-certbot.pem to s3://my-certificates-bucket/csr/0203_csr-certbot.pem
upload: ../../etc/letsencrypt/keys/0203_key-certbot.pem to s3://my-certificates-bucket/keys/0203_key-certbot.pem
upload: ../../etc/letsencrypt/live/mysuperfakedomain.gov/fullchain.pem to s3://my-certificates-bucket/live/mysuperfakedomain.gov/fullchain.pem
upload: ../../etc/letsencrypt/live/mysuperfakedomain.gov/chain.pem to s3://my-certificates-bucket/live/mysuperfakedomain.gov/chain.pem
upload: ../../etc/letsencrypt/live/mysuperfakedomain.gov/privkey.pem to s3://my-certificates-bucket/live/mysuperfakedomain.gov/privkey.pem
upload: ../../etc/letsencrypt/live/mysuperfakedomain.gov/cert.pem to s3://my-certificates-bucket/live/mysuperfakedomain.gov/cert.pem
upload: ../../etc/letsencrypt/renewal/mysuperfakedomain.gov.conf to s3://my-certificates-bucket/renewal/mysuperfakedomain.gov.conf
upload: ../../etc/letsencrypt/live/mysuperfakedomain.gov/README to s3://my-certificates-bucket/live/mysuperfakedomain.gov/README

@dav3r : Just saw mysuperfakedomain  teehee


flux_bootstrap_git do not deploy resources in cluster

Hey Flux team 👋
I tried to migrate Flux tf provider to 1.1.2 following the migration guide, and I updated the flux version to 2.0.0-rc5 but I have a weird issue: the manifests get pushed to the repo as expected, however I don't see any pods in the flux-system namespace anymore.
The terraform apply do not fail, and I've tried to rerun the bootstrap several times by updating the flux version (so that a change gets detected and the bootstrap rerun). So everytime the manifests get pushed to the repo, but no reconciliation is done because there's no pod to perform it.
At some point I thought maybe the use of provider.flux.kubernetes.token was the issue, so I tried as well with provider.flux.kubernetes.exec but it's the same result.
provider "flux" {
  kubernetes = {
    host                   = data.aws_eks_cluster.cluster.endpoint
    cluster_ca_certificate = base64decode(data.aws_eks_cluster.cluster.certificate_authority[0].data)
    exec = {
      api_version = "client.authentication.k8s.io/v1beta1"
      command     = "aws"
      args        = ["eks", "get-token", "--cluster-name", data.aws_eks_cluster.cluster.id]
    }
  }
  git = {
    url =<EMAIL_ADDRESS>    ssh = {
      username    = "git"
      private_key = try(tls_private_key.identity[0].private_key_pem, null)
    }
  }
}

I'm currently blocked at "dev" upgrade, but I can't really move to my other clusters if I don't understand this :(
I tried to look into the issues here, didn't find something similar. Any chance anyone could help with this please ?
The iam_role assumed to run the apply is part of "system:masters" and didn't change during migration.
Below the resource in the terraform state (remove most of the content for kustomization_override, repository_files.gotk-components.yaml and repository_files.gotk-sync.yaml for brevity):
{
      "mode": "managed",
      "type": "flux_bootstrap_git",
      "name": "flux",
      "provider": "provider[\"registry.terraform.io/fluxcd/flux\"]",
      "instances": [
        {
          "index_key": 0,
          "schema_version": 0,
          "attributes": {
            "cluster_domain": "cluster.local",
            "components": [
              "helm-controller",
              "kustomize-controller",
              "notification-controller",
              "source-controller"
            ],
            "components_extra": [
              "image-automation-controller",
              "image-reflector-controller"
            ],
            "disable_secret_creation": null,
            "id": "flux-system",
            "image_pull_secret": null,
            "interval": "1m0s",
            "kustomization_override": "apiVersion: kustomize.config.k8s.io/v1beta1\nkind: Kustomization\nresources:\n- gotk-components.yaml\n- gotk-sync.yaml\npatches:\n- patch: |-\n    apiVersion: kustomize.toolkit.fluxcd.io/v1\n    kind: Kustomization\n",
            "log_level": "info",
            "namespace": "flux-system",
            "network_policy": true,
            "path": "clusters/dev/aws-dev-us-east-1",
            "recurse_submodules": null,
            "registry": "ghcr.io/fluxcd",
            "repository_files": {
              "clusters/dev/aws-dev-us-east-1/flux-system/gotk-components.yaml": "---\n# This manifest was generated by flux. DO NOT EDIT.\n# Flux Version: v2.0.1\n# Components: helm-controller,kustomize-controller,notification-controller,source-controller,image-automation-controller,image-reflector-controller\n",
              "clusters/dev/aws-dev-us-east-1/flux-system/gotk-sync.yaml": "# This manifest was generated by flux. DO NOT EDIT.\n---"
            },
            "secret_name": "flux-system",
            "timeouts": null,
            "toleration_keys": null,
            "version": "v2.0.1",
            "watch_all_namespaces": true
          },
          "sensitive_attributes": [],
          "dependencies": [
            "data.aws_eks_cluster.cluster",
            "data.aws_eks_cluster_auth.cluster",
            "data.github_repository.main",
            "github_repository.main",
            "github_repository_deploy_key.main",
            "kubernetes_namespace.flux2",
            "tls_private_key.identity"
          ]
        }
      ]
    }

Thanks.

I had same problem and this what I did to workaround. I deleted the flux-system folder created by previous (or failed) bootstrap from the repository and reran the terraform to make it work.

I had same problem and this is what I did to workaround. I deleted the flux-system folder created by previous (or failed) bootstrap from the repository and reran the terraform to make it work.
Flux Team - is it the expected behaviour? don't they need to bootstrap if the controllers not exists?

@gopisaba This is how I have managed the process in the past.


deploy.yml

Testing a build system that automatically updates whenever we merge changes to our GitHub repository.

 this file doesn't seem to contain any configuration for yet, maybe add required fields before merging with main branch. create separate branch for this issue and test it locally before merging

it does contain configuration if you look again. It needs to be merged to be tested, it’s not an issue, it’s a workflow that runs every time we make changes to our repo so it does reflect on our app. I am just testing it to see if it works.


copy tests from caja into SES repo

@erights, do you know off-hand whether we’ve already done this?

We have not. It is still a good idea.


russian

is it ok that symbol : missing after Hardware VP9 support?

Yes because it's in YTUHD code already.


[HUDI-2761] Fixing unnecessary refreshing of timeline in Timelineserver

What is the purpose of the pull request
Timeline server when serving remote requests, has a logic to refresh its local view of the timeline based on timeline hash. Client sends a timeline hash and timeline server compares with its local timeline hash and if they differ, a refresh of timeline happens before serving the request. But this refresh gets triggered even if the client is behind, but the server is already caught up. This could have severe perf impact with async table services and spark streaming pipeline use-cases where commit throughput is high. So, adding a new value to be maintained by the timeline for lastUpdatedTime. and the same will be sent as param with remote request as well.
Fix: So, the fix ensures that timeline server triggers a refresh of local timeline only if its lastUpdatedTime < client's lastUpdatedTime.
To discuss:
Clocks could differ in timeline server compared to that of the executor (client) and there could be drift as well. So, not very sure if we can rely on the exact comparison of last updated time between client and server.
Another option: I am wondering if we can rely on lastKnownInstant(HoodieInstant) from client and compare it w/ that of timeline in timeline server and decide whether to refresh or not instead of the lastUpdatedTime.
Brief change log

Added lastUpdatedTime to HoodieTimeline which gets refreshed whenever the timeline is updated. The same value is sent via remote requests to Timeline server.
Timeline server triggers a refresh of its local timeline only if its lastUpdatedTime < client's lastUpdatedTime in addition to  timeline hash mismatch.

Thanks to guanziyue who helped us with the fix.
Verify this pull request

Couple of users in the community actually tested this and contributed the patch.

Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@bvaradar @xushiyan @n3nash @vinothchandar : Would appreciate if you folks can review this patch. We are making some tweaks to how we refresh local view in timeline server. Wanted to ensure I am not missing anything and there are no gaps.

@nsivabalan Thanks for the fix. Quick comment before reviewing the diff: Is there a particular reason for choosing lastUpdatedTime instead of the HoodieInstant itself like you pointed out in your proposal ? To reduce complexity of understanding, I feel comparing HoodieInstants choice is better but I'd like to understand your reasoning.

@bvaradar @xushiyan @n3nash @vinothchandar : Would appreciate if you folks can review this patch. We are making some tweaks to how we refresh local view in timeline server. Wanted to ensure I am not missing anything and there are no gaps.

Generally i think the hoodie instant time should be the only truth for timeline versioning. In the before, i found that the timeline service refresh frequently if there are async table services to change the timeline metadata, such as cleaning and compaction,
for compaction the refresh is valid and necessary, but for cleaning, most of the refresh are invalid/unnecessary, wondering whether we can resolve this issue in the PR.

@nsivabalan Thanks for the fix. Quick comment before reviewing the diff: Is there a particular reason for choosing lastUpdatedTime instead of the HoodieInstant itself like you pointed out in your proposal ? To reduce complexity of understanding, I feel comparing HoodieInstants choice is better but I'd like to understand your reasoning.

@nsivabalan I had similar view to what @n3nash was asking here. The problem boils down to a cache invalidation issue: the local timeline view is a cache and we need to compare some timestamps to decide whether to invalidate the cache and reload the timeline view or not. So to avoid unnecessary complexity, is there any strong reason why instant time can't be used here?

Closing this in favor of https://github.com/apache/hudi/pull/4812


package python modules together

Can codon package codon files and dependent python modules (using from python import) in the same standalone executable binary like nuitka, rather than the executable binary needing to look for specially configured python modules in the machine environment?

Oh, this would be a great thing to have. I am not sure how hard it would be, though---if anybody has any ideas or is interested in doing this, I'd be happy to take a look.


[CARBONDATA-2819] Fixed cannot drop preagg datamap on table if the tab…

1.Use "SET carbon.datamap.visible.{dbName}.{mainTable}.{datamapName} = {true or false}",if datamap provider is 'preagg',block this configuration.
2.When create preagg datamap, now also create its datamap schema file in system folder.
3.Use command "show datamap on table {tableName}" will get its all datamaps from datamap schema files
Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed? No

[ ] Any backward compatibility impacted? No

[ ] Document update required? No

[ ] Testing done NA
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Can one of the admins verify this patch?


[3pts] Draw Maps of Directions to each food station

Fill in the blanks:
As a student, I would like to be able to visualize how to get to the the food I want to eat, so that I can be most efficient when I get to the DCT.
Definition of Done - Check as you go!

[ ] Tasks have been implemented
[ ] Documented
[ ] Passing Tests for each task
[ ] Pull Request made
[ ] Code Reviewed

Can I get some feedback?

@brendacano, I like the station coloring! It was hard for me to figure out what station was where. Can you label major points like stations, entrance, bathroom, exit

Updated maps:

dct map with everything

dct map with only the stations

dct map with only the sections

dct map no labels

dct map with only section 1 (I can isolate each section or anything we need)

@Foxworth22 Please let me know what you think and if this fits with out product and with anything else you wanted to add to the maps

@brendacano nice work on this! They will be helpful for each scenario

@brendacano nice work on this! They will be helpful for each scenario

I appreciate your feedback. I am slightly worried about how it will look in the app and if it will be user-friendly or not.

@brendacano this looks great! I love the simplicity,  it makes it really easy to understand!
Since the map is color-coded instead of overlapping the text over the station, maybe you could do a key instead.

Wow! I never realized how complex DCT was until I looked at this map. Nice job so far!

The dessert section seems a little small to me...

Also I think there's a divider somewhere between sections 3 & 5.

Also I think there's a divider somewhere between sections 3 & 5.

Thanks for your feedback Miles, especially since you go to the DCT more often. I will work on making any changes today.

So I addressed the comments you all left.

@brendacano this looks great! I love the simplicity, it makes it really easy to understand!
Since the map is color-coded instead of overlapping the text over the station, maybe you could do a key instead.

^ For @MimiOlayeye I like the idea of a key however I do think we should keep the name of the section on the color. I know it looks a bit busy but I think keeping the name on the color would make it more inclusive for people who are color blind.

The dessert section seems a little small to me...

^ For @Foxworth22 I talked with other people who go to the DCT and they agreed it was small so I enlarged it

Also I think there's a divider somewhere between sections 3 & 5.

^ There isn't a divider there.

Here are some of the updated graphs. I can isolate anything we need. I can also upload them to our google drive.

@brendacano LGTM (Looks good to me)

All the images are uploaded to our Google Drive in a folder called DCT Maps


Update README.md

This addresses the Issue #4 without major changes to the API.

@weatherapicom Sorry, but merging both this PR and #5 effectively broke things again — the change in #5 meant that the egg is no longer called swagger-client, so this PR un-fixed the instructions in the README. The two PRs were alternatives to each other.
(Merging this without #5 would've been correct (though confusing, because "swagger-client" is a weird name for a weatherapi.com package), but after merging #5 this PR was no longer needed/accurate.)

No problem! PR #5 is a much more elegant solution. Thank you for responding and for fixing the library!


online deployment failed - cannot import name 'json' from 'itsdangerous'

I'm consistently getting an error when deploying my online endpoint. I can reproduce it using both the cli and arm templates. For example: az ml online-deployment create -f 41_deploy_pretrained.yml -e ${ENDPOINT_NAME} --set environment=${environment} --all-traffic. The error is shown in the deployment logs of the deployed endpoint in the aml workspace:
..
File "/var/azureml-server/aml_framework.py", line 9, in
from synchronous.framework import *
File "/var/azureml-server/synchronous/framework.py", line 3, in
from flask import Flask, request, g, Request, Response, Blueprint
File "/azureml-envs/azureml_7efde0279491eb9584fda4142caa94af/lib/python3.7/site-packages/flask/init.py", line 21, in
from .app import Flask, Request, Response
File "/azureml-envs/azureml_7efde0279491eb9584fda4142caa94af/lib/python3.7/site-packages/flask/app.py", line 26, in
from . import cli, json
File "/azureml-envs/azureml_7efde0279491eb9584fda4142caa94af/lib/python3.7/site-packages/flask/json/init.py", line 21, in
from itsdangerous import json as _json
ImportError: cannot import name 'json' from 'itsdangerous' (/azureml-envs/azureml_7efde0279491eb9584fda4142caa94af/lib/python3.7/site-packages/itsdangerous/init.py)
Worker exiting (pid: 37)
Shutting down: Master
Reason: Worker failed to boot.
2022-02-19T02:55:15,265990495+00:00 - gunicorn/finish 3 0
2022-02-19T02:55:15,268212063+00:00 - Exit code 3 is not normal. Killing image.
I'm reasonable sure it's related to issues such as the one mentioned here . From what I read, the resolution is "Either update Flask to 1.1.4, or fix itsdangerous version to 2.0.1"
I'm not sure how to file this bug with aml, but believe this is something AML needed to fix ASAP
FWIW, below are what the environment and conda yamls looks like, but I don't think this part matters:
$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: aml_energy_km_env_non_nlp
version: 1
image: mcr.microsoft.com/azureml/openmpi3.1.2-cuda10.2-cudnn8-ubuntu18.04:20210507.v1
conda_file: conda_geolocation.yml

channels:
  - conda-forge
dependencies:
  - python==3.7.7
  - pip>=19.0.3
  - pip:
      - 'azureml-sdk[notebooks,contrib]==1.32.0'
      - azureml-defaults==1.32.0
      - spacy==3.0.4
      - joblib==1.1.0

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

ID: 03c0bed2-1b0d-41e2-bf86-5a8c0956469e
Version Independent ID: 0f9fc0b8-ea87-ceb4-bdac-fc079d0463e9
Content: az ml online-deployment
Content Source: latest/docs-ref-autogen/ml/online-deployment.yml
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

route to CXP team

@roalexan Apologies for the late reply. Could you please test the deployment again and let me know if you are still facing the issue ? Awaiting your reply.

@roalexan Could you please update the azureml-defaults to version 1.38.0? This should fix your problem.
channels:
  - conda-forge
dependencies:
  - python==3.7.7
  - pip>=19.0.3
  - pip:
      - 'azureml-sdk[notebooks,contrib]==1.32.0'
      - azureml-defaults==1.38.0
      - spacy==3.0.4
      - joblib==1.1.0

I have the same problem as well, I try the solution above, but it doesn't work. I tried deploying my model before with a different yml file and it works, but I deleted some dependencies in yml file yesterday for a nice looking, and I got this error now.

out for afternoon - will test when back this evening.

operation.log - link here - shows a pip error:
...
Pip subprocess error:
ERROR: Cannot install -r /azureml-environment-setup/condaenv.oi9s838c.requirements.txt (line 2) and azureml-sdk[contrib,notebooks]==1.32.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts
CondaEnvException: Pip failed
The command '/bin/sh -c ldconfig /usr/local/cuda/lib64/stubs && conda env create -p /azureml-envs/azureml_aedc9ab9f824c610cb68a40af0619900 -f azureml-environment-setup/mutated_conda_dependencies.yml && rm -rf "$HOME/.cache/pip" && conda clean -aqy && CONDA_ROOT_DIR=$(conda info --root) && rm -rf "$CONDA_ROOT_DIR/pkgs" && find "$CONDA_ROOT_DIR" -type d -name pycache -exec rm -rf {} + && ldconfig' returned a non-zero code: 1
2022/02/21 22:58:41 Container failed during run: acb_step_0. No retries remaining.
failed to run step ID: acb_step_0: exit status 1
Run ID: ca1 failed after 3m0s. Error: failed during run, err: exit status 1

maybe 'azureml-sdk[notebooks,contrib]==1.32.0' needs to be increased to 1.38.0? I'm going to try that.

think that got further, but now see this error:
...
main_module_spec.loader.exec_module(main)
File "/var/azureml-app/src/score_pretrained.py", line 9, in
from utils import get_matches_dict, get_entity_counts, get_loc_selected, get_coordinates
File "/var/azureml-app/src/utils.py", line 10, in
import pandas as pd
ModuleNotFoundError: No module named 'pandas'
Worker exiting (pid: 40)
Shutting down: Master
Reason: Worker failed to boot.
2022-02-21T23:31:30,621868765+00:00 - gunicorn/finish 3 0
2022-02-21T23:31:30,623743794+00:00 - Exit code 3 is not normal. Killing image.
Well, at least this seems to be in the source code of our scoring script, so I will confer with the author of this tomorrow and report back.

@roalexan Thanks for getting back and sharing the error details. The workspace link you had shared is not accessible to me due to permission issue. Moreover the error message is from your script due to the missing Pandas module.
There are similar issues reported for the same. You can share this and this article with the script author if that helps.

I'm dealing with the same situation myself. Any formal feedback & position from Microsoft would be great here.
So far I've been downgrading to itsdangerous==2.0.1 to resolve the new bug. The release notes  for 2.1.0 seem pretty minor, and don't seem to meaningfully modify the core package. However the tweak around importing JSON is obviously causing issues for AML. I would be very surprised if Flask needs 2.1.0 for anything

Can someone explain how to downgrade to "itsdangerous==2.0.1"? I started using AzureML this week and can't even complete trainings. I've tried creating an environment and putting the value in a yaml file. I've also tried to do the CondaDependencies add_conda_package as well as add_pip_package. It still always fails and in the deployment logs I see the PIP Dependencies still show "itsdangerous=2.1.0".

temporary conda env workaround I'm using (bolded line added):
            - pip:
                - 'azureml-sdk[notebooks,contrib]==1.32.0'
                - azureml-defaults==1.32.0
                - spacy==3.0.4
                - joblib==1.1.0
                - **itsdangerous==2.0.1**

This problem should be fixed already, could you please use the the latest version of python packages ?
The version of azureml-defaults package in your conda file should be - azureml-defaults=1.38.0
Also please make sure you are using a newly created environment instead of reusing the old before the fix. Also refer this. Hope this helps.

Yes, I agree that updating from 1.32.0 to 1.38.0 fixes this particular problem, and perhaps you can close this bug.
Just please be aware that this approach, in my environment, introduces another error in that 'pandas' cannot be found. I can probably get that to work, but for now have opted to stick with 1.32.0 and add 'itsdangerous==2.0.1' until I have more time to fully figure this out.

@roalexan Thanks for getting back. We will now proceed with closure of this github issue. If this issue resurfaces in future, Please let us know. We would be happy to help.


Update nullptr usage for c++11

Minor changes to prefer to use nullptr

Can I get rid of -Wno-zero-as-null-pointer-constant on my bots after this?

Can I get rid of -Wno-zero-as-null-pointer-constant on my bots after this?

I would hope so.

I've removed -Wno-zero-as-null-pointer-constant on my TSan bot... let's see tomorrow...

@hjmjohnson look like there are a number of such warnings: https://open.cdash.org/viewBuildError.php?type=1&buildid=7689549  want to tackle them?

Actually, it looks like just two: itkThreadSupport.h:52 and itkThreadSupport.h:57.  I don't understand the comment about NULL being required for the second... it's C++ not C...


Syntax fixes

Q
A

Bug fix?
yes

New feature?
no

BC breaks?
no

Deprecations?
no

Has tests?
no

Fixed tickets
n/a

Markdown syntax fixes for the readme.

Thanks!


Jumping Versions with regex

Can you please point me to documentation on ow to write regex for detecting versions?
It is great feature, but I can't make it to for for typical folder structrures like:
foo/shot_v001/shot_v001.1001.exr
foo/shot_v002/shot_v002.1001.exr
or
bar/shot/v001/shot_v001.1001.exr
bar/shot/v002/shot_v002.1001.exr
Thank you

In principle, the default of _v should have worked for your first example (and I just checked it works me):
foo/shot_v001/shot_v001.1001.exr
foo/shot_v002/shot_v002.1001.exr

The actual regex that is created when you have "_v" is the following:
 ([\w:/]*?[/\._]_v)(\d+)([%\w\d\./]*)
You need to make the regex match three groups: a prefix ([\w:/]?[/._]_v), the actual version (\d+) and the suffix ([%\w\d./]).
I think for your second example, the regex you may need might be:
([\w:/]*?[/\._]v)(\d+)([%\w\d\./]*)

In principle, the default of _v should have worked for your first example (and I just checked it works me):

it doesn't work for me (Windows 10, UNC path)

following: ([\w:/]?[/._]_v)(\d+)([%\w\d./])
Not sure what regex flavor is used, but it looks like some slashes need to be escaped? When I use this regex, or _v, mrv2 doesn't even show top menu Image item.

When I add (.*_v)(\d+)([%\w\d\.\/]*) instead, I see this in the log:

When I try simple (.*_v)(\d+)(.*) that should match the first occurence of the _v in the path foo/shot_v001/shot_v001.1001.exr, the log is the same.
Maybe the regex is not counting with backslashes on Windows?

Ah!  UNC paths... I hadn't considered that.  Can you post the full path as it is in Windows, then I'll build a regex for both "_v" and for other structures?


[BACKLOG-2444] - including a larger warning image

@bytekast @tgf @pamval please review

@kurtwalker - please merge this into the future develop branch as well

won't Nick's auto scripts do that?

@kurtwalker - yes but I don't know when the next time it will run. This might break the data-refinery project in the future develop branch.. we might want to do a pre-emptive strike

ok, are we just cherry-picking?

i think that’s okay for now.

On Mar 9, 2015, at 4:05 PM, Kurtis Walker<EMAIL_ADDRESS>wrote:
ok, are we just cherry-picking?
—
Reply to this email directly or view it on GitHub https://github.com/pentaho/pentaho-kettle/pull/1080#issuecomment-77930784.


Chat gets stuck in replying mode

I have not nailed down the reliable reproduction yet. I did something like

Send message
Disable context (maybe while it was streaming)
Enable context
Send message

The bug was observable by the fact that the "stop generating" button was visible even if Cody wasn't generating a reply. The fix could be to automatically "stop" the message if we restart the agent.


Enable instance and custom credential provider for glue

Add two configs for glue credential provider
Use instance credential(glue configuration property)
hive.metastore.glue.use-instance-credentials=true
Use custom credential class(hdfs configuration)
presto.glue.credentials-provider
where value is fully qualified class name of
custom aws credential provider implementation

I just submitted CLA to<EMAIL_ADDRESS>

@sopel39 ready for review.

@sopel39 ready for review.

We should think about adding similar property for S3.
We might want to change useInstanceCredentials default to true as for S3
We might want to check if custom AWS credentials providider


'axes do not match array' during quick demo on RGB images

I was able to successfully run the 2D segmentation demo, but when I swapped out the images for my own RGB histology images, I get an error during the random_fliprot function.  I assume the demo is written for grayscale images but how do I adapt it for color?  Or should I just convert to grayscale before using the stardist?
 in random_fliprot(img, mask)
3     perm = np.random.permutation(axes)
4     img = img.transpose(perm)
----> 5     mask = mask.transpose(perm)
6     for ax in axes:
7         if np.random.rand() > 0.5:
ValueError: axes don't match array

When I used grayscale images I got a different error during .optimizethresholds:
~/tensor_env/lib/python3.6/site-packages/stardist/models/base.py in _guess_n_tiles(self, img)
471
472     def _guess_n_tiles(self, img):
--> 473         axes = self._normalize_axes(img, axes=None)
474         shape = list(img.shape)
475         if 'C' in axes:
~/tensor_env/lib/python3.6/site-packages/stardist/models/base.py in _normalize_axes(self, img, axes)
489                 # img has no dedicated channel axis, but 'C' always part of config axes
490                 axes = axes.replace('C','')
--> 491         return axes_check_and_normalize(axes, img.ndim)
492
493
~/tensor_env/lib/python3.6/site-packages/csbdeep/utils/utils.py in axes_check_and_normalize(axes, length, disallowed, return_allowed)
193     disallowed is None or consume(a not in disallowed or _raise(ValueError("disallowed axis '%s'."%a)) for a in axes)
194     consume(axes.count(a)==1 or _raise(ValueError("axis '%s' occurs more than once."%a)) for a in axes)
--> 195     length is None or len(axes)==length or _raise(ValueError('axes (%s) must be of length %d.' % (axes,length)))
196     return (axes,allowed) if return_allowed else axes
197
~/tensor_env/lib/python3.6/site-packages/csbdeep/utils/utils.py in _raise(e)
86
87 def _raise(e):
---> 88     raise e
89
90
ValueError: axes (YXC) must be of length 2.

I assume the demo is written for grayscale images but how do I adapt it for color?

yes, we only recently adapted the notebooks to work with RGB/multi-channel images as well. This is currently available only in the dev branch, so you can use the respective training notebook (or just checkout the branch).


Looks broken with ansible <IP_ADDRESS>

I have it in /ansible/connection_plugins/
> ansible-playbook -vvvv -l<EMAIL_ADDRESS>site.yml
Using /ansible/ansible.cfg as config file
Loaded callback default of type stdout, v2.0
3 plays in site.yml
 _______________________________
< PLAY [main playbook] >
 -------------------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

 ______________
< TASK [setup] >
 --------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

An exception occurred during task execution. The full traceback is:
Traceback (most recent call last):
  File "/ansible/venv/local/lib/python2.7/site-packages/ansible/executor/process/worker.py", line 114, in run
    self._shared_loader_obj,
  File "/ansible/venv/local/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 119, in run
    res = self._execute()
  File "/ansible/venv/local/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 366, in _execute
    self._connection = self._get_connection(variables=variables, templar=templar)
  File "/ansible/venv/local/lib/python2.7/site-packages/ansible/executor/task_executor.py", line 582, in _get_connection
    connection = self._shared_loader_obj.connection_loader.get(conn_type, self._play_context, self._new_stdin)
  File "/ansible/venv/local/lib/python2.7/site-packages/ansible/plugins/__init__.py", line 326, in get
    self._module_cache[path] = self._load_module_source('.'.join([self.package, name]), path)
  File "/ansible/venv/local/lib/python2.7/site-packages/ansible/plugins/__init__.py", line 313, in _load_module_source
    module = imp.load_source(name, path, module_file)
  File "/ansible/connection_plugins/sshjail.py", line 9, in <module>
    from ansible.callbacks import vvv
ImportError: No module named callbacks

fatal<EMAIL_ADDRESS>FAILED! => {"failed": true, "stdout": ""}
 ______

Hi, this is correct. Ansible changed much of their plugin architecture for 2.0. @BigJ64 and I are fixing this for 2.0 and 2.1 compatibility in PR #7.
If you're only concerned with 2.0 and depend on this plugin for real work, you can pull down the dev_ansible_v2 branch from this repo, and my ansible plugin-subclass-checks branch, then use that Ansible checkout as any other Ansible source checkout.
If that's not feasible, I have a workaround in mind that I was hoping to not have to resort to, but I can implement it if you really need it.
It's also worth noting that the 2.0 version of the sshjail plugin is NOT backwards compatible with 1.9, so until 1.9 hits end of life, I'll probably continue to keep master tracking Ansible 1.9, and 2.0+ in its own branch.

Sorry for the late update, just realized I forgot to let you know: I've updated the dev_ansible_v2 branch to work regardless of whether the aforementioned PR is accepted into mainstream Ansible.


A different scale option?

Hello @davemorrissey ,
I have a list of images, each one's width is larger than its height , so I made the Activity landscape and used scale option SCALE_TYPE_CENTER_CROP, users can swipe right or left to see the whole image.
My problem is that when a image's height is much smaller than screen's, the image would be too large and become blurred.
So I think I need a way to use SCALE_TYPE_CENTER_CROP when image's height is larger than screen's, and remain image's original height when it is smaller than screen's.

Try this:
setMinimumScaleType(SCALE_TYPE_CUSTOM);
setMinScale(1f);
(I haven't tried it but I think this might be what you need)

This will remain image's original height when it is smaller than screen's.
But when image's height is larger than screen's, "setMinScale(1f)" will  forbid the behavior like SCALE_TYPE_CENTER_CROP.

Good point. You could implement behaviour like this with a subclass, or possibly just by passing an initial state that centres the image, provided you know its width and height, and the dimensions of the view.

I got a plan:
Get image's sWidth and view's vWidth,
    if (sWidth > vWidth){
        view.setMinScale( (float)(vWidth/sWidth) );
    }else {
        view.setMinScale(1f);
    }

I learned how to get a image's dimensions before loading it into memory from stackoverflow.
But if I try to get view's dimensions before view.setMinScale() using methods view.getWidth() and view.getHeight(), the returned values are both 0. Is there any solution for this?

I changed the source code:
public static final int SCALE_TYPE_CENTER_INSIDE = 1;
public static final int SCALE_TYPE_CENTER_CROP = 2;
public static final int SCALE_TYPE_CUSTOM = 3;
public static final int SCALE_TYPE_CENTER_CROP_CUSTOM= 4;
private static final List<Integer> VALID_SCALE_TYPES = Arrays.asList(SCALE_TYPE_CENTER_CROP,
 SCALE_TYPE_CENTER_INSIDE, SCALE_TYPE_CUSTOM, SCALE_TYPE_CENTER_CROP_CUSTOM);

...

private float minScale() {
	int vPadding = getPaddingBottom() + getPaddingTop();
	int hPadding = getPaddingLeft() + getPaddingRight();
	if (minimumScaleType == SCALE_TYPE_CENTER_CROP) {
		return Math.max((getWidth() - hPadding) / (float) sWidth(), (getHeight() - vPadding) / (float) sHeight());
	} else if (minimumScaleType == SCALE_TYPE_CUSTOM && minScale > 0) {
		return minScale;
	} else if (minimumScaleType == SCALE_TYPE_CENTER_CROP_CUSTOM){
		return Math.min( Math.max((getWidth() - hPadding) / (float) sWidth(), (getHeight() - vPadding) / (float) sHeight()), 1f);
	} else {
		return Math.min((getWidth() - hPadding) / (float) sWidth(), (getHeight() - vPadding) / (float) sHeight());
	}
}

Many thanks for your help!

Awesome, looks good! If I could decide what this should be named I would add it as another scale option.

Fine, I am looking forward to it :-)


fix: Table reverts column positions on sorting if columns returned differ

Description

Table V2 will now maintain the original order of the columns even if some of the columns returned change
The new columns will show up at the end

Fixes #13979
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Manually tested

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=1baa7f0

/ok-to-test sha=6ecd2d5

/ok-to-test sha=4908ecb


"KeyStoreException: Keystore not specified" when only truststore is configured in config client configuration.

I have TLS enabled eureka server. Microservice is trying to fetch configuration from config server throws "KeyStoreException: Keystore not specified" when only truststore is configured. should be able to trust server certificate by truststore configuration. There is no mutual authentication.
Following is micro-service configuration

It seems that there is no way to configure truststore without configuring the keystore even when mutual authentication is not required.
org.springframework.cloud.configuration.SSLContextFactory

Spring Config Client Version : 4.1.3

Is that because builder.loadKeyMaterial throws an exception and we never call builder.loadTrustMaterial?  Can you provide a sample to reproduce the error?

Here is a minimal sample to reproduce the error.
https://github.com/KrishnaST/Config-Client-TLS-Issue


Data not shown

Hey,
Your app is amazing, but....

As you can see I can't see the data.
Tested on :
OS : Android 10, Windows11,
Browser : Edge, Chrome. (Both are up-to-date to latest version)

The website is now updated with the current API, You can visit it now.


How to get percentage effect?

Have been using dowhy and usually my target is att - this gives incremental value - however how would I change this to show a % increase/decrease?
Is there a way i can use the the values from the weighted outcomes table to calculate this? I am using propensity scoring stratification and it would be helpful to understand how i can calculate the ATT as a relative change.

Since this is the average effect on the treated, you can simply compute the average outcome (Ymean) for the treated units in your dataset. This represents the observed outcome for the treated. Now if the ATT is a, then this means that the average outcome without treatment is estimated to be  d=Ymean-a. The % effect will a/Ymean.
Is this what you are looking for?

would the % effect from 'control' or counteractial be:
 x = (weighted_outcomes['d_y_mean'] * weighted_outcomes[treatment_sum_name]).sum()/ total_treatment_population
   y = (weighted_outcomes['dbar_y_mean'] * weighted_outcomes[treatment_sum_name]).sum()/ total_treatment_population

(x-y)/y * 100 ?

@zahs123 yes, that is the correct expression. For reference, the variables used are in this file.


Remove examples/coupling_functions

This folder and its content should be removed once the project is cleaner

Solved in #35


pkg/p2p: make p2p client thread-safe

What problem does this PR solve?
Issue Number: close #5162
What is changed and how it works?

Made MessageClient safe to be used by multiple goroutines to write to the same p2p topic (writing to different topics has always been thread-safe).

BenchmarkSendChanSendAsyncSPSC-24     	  365936	      3632 ns/op
BenchmarkSendChanSendSyncSPSC-24      	     968	   1283211 ns/op
BenchmarkSendChanSendAsyncMPSC8-24    	   32914	     45926 ns/op
BenchmarkSendChanSendSyncMPSC8-24     	     824	   1461099 ns/op

Note that the MPSC8 cases actually send b.N * 8 messages.
Performance benchmark (indicating the best p2p performance limited by the client's implementation). Note that currently TiCDC's production code only covers the case BenchmarkSendChanSendAsyncSPSC. This means a throughput of 275330 messages per second, which is more than enough.
Check List
Tests

Unit test
Integration test

Release note
None

/run-integration-tests

/run-leak-tests
/run-integration-tests

lgtm for current code, I'll take a look why old code is not thread-safe. I'll be grateful if you could explain it here.

The old code is not thread-safe because if you use a Go chan, there will be no way to increment the seq and enqueue the event as an atomic operation.

Codecov Report

Merging #5161 (3fd222d) into master (687e248) will decrease coverage by 0.1048%.
The diff coverage is 57.0335%.

:exclamation: Current head 3fd222d differs from pull request most recent head e26280e. Consider uploading reports for the commit e26280e to get more accurate results

Flag
Coverage Δ

cdc
60.8664% <52.4531%> (+0.2677%)
:arrow_up:

dm
52.1670% <77.3162%> (-0.3025%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #5161        +/-   ##
================================================
- Coverage   56.1240%   56.0191%   -0.1049%
================================================
  Files           522        527         +5
  Lines         65325      68241      +2916
================================================
+ Hits          36663      38228      +1565
- Misses        25094      26269      +1175
- Partials       3568       3744       +176


use script setup

just use script setup and fix some margins
Read more: https://vuejs.org/api/sfc-script-setup.html

Merged


is .tool-versions necessary?

There is an asdf .tool-versions file in the repository. It encodes the following versions:
erlang 21.1
elixir 1.7.4-otp-21
both of which are somewhat old by now. More annoyingly, it means that if using asdf (as I do :), unless those exact versions are installed on the system it will not build. I am not sure if those versions are meant as a minimum version of erlang/elixir that must be supported, or if it was merely added as part of a git add * type thing.
If it is not intentional, it would be nice to remove that file. If it is intentional, I suppose I can continue to work around it as I currently do :)

It can be removed and placed in .gitignore


Many difficulties to use RainMaker with basic examples (MEGH-4382)

Answers checklist.

[X] I have read the Rainmaker documentation and the issue is not addressed there.
[X] I have updated my IDF branch (release/vX.Y) to the latest version and checked that the issue is present there. This is not applicable if you are using Rainmaker with Arduino.
[X] I have searched the Rainmaker forum and issue tracker for a similar issue and not found a similar issue.

General issue report
Hi!
I have found many difficulties to make RainMaker APP  (V 2.10.1)  connect to an ESP32-Wroover IE running the RMakerSwitch and RMakerSonoffDualR3 examples available in Arduino esp32 core 2.0.6.
Using a Galaxy J7 with Android 6.0.1 and switch example. Scan without reset immediately before recording and connection via BLE with reset in the middle:
https://user-images.githubusercontent.com/2778501/221967175-ac8aaec5-d370-4348-8736-c4371d15c180.mp4
I will add more information later.
Best regards

Galaxy Tab A8 with android 13 and RainMaker App V2.10.1 and ESP332 with switch example and Arduino ESP32 core 2.0.6
https://user-images.githubusercontent.com/2778501/221997649-a1fffaf4-a74e-447b-b308-ae8fba146d8f.mp4
Here the QR code scan doesn't not worked. The WiFi scan when connected through BLE neither.
Placing the SSD and password manually in this video doesn't worked and  I was getting the error 204 on serial monitor.
After watch the video above I have noticed an extra space at the end of SSID name and after remove the extra space it worked.

Yup! The extra space makes all the difference. I discussed this in some
early videos
https://youtube.com/playlist?list=PL4Um4E3Og2S8It9Dyhdvf3ScvuTA_Tp-i
Hope they help reduce your frustration going forward 😊
On Tue, 28 Feb 2023 at 17:44, Fernando Garcia @.***>
wrote:

Galaxy Tab A8 with android 13 and RainMaker App V2.10.1 and ESP332 with
switch example and Arduino ESP32 core 2.0.6
https://user-images.githubusercontent.com/2778501/221997649-a1fffaf4-a74e-447b-b308-ae8fba146d8f.mp4
Here the QR code scan doesn't not worked. The WiFi scan when connected
through BLE neither.
Placing the SSD and password manually in this video doesn't worked and I
was getting the error 204 on serial monitor.
After watch the video above I have noticed an extra space at the end of
SSID name and after remove the extra space it worked.
—
Reply to this email directly, view it on GitHub
https://github.com/espressif/esp-rainmaker/issues/247#issuecomment-1449040424,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADHTIDPP5MJBA5A3UL67HYTWZZ5VPANCNFSM6AAAAAAVLFVS74
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Kind Regards
John

Hi @JohnMacrae !
This type of error is very common since the people is always using auto complete from keyboard.
The APP should make this type of  filter to avoid users pull out some hair.
Best regards.

Hi @FernandoGarcia ,
have you check your WiFi connection? and which ESP you are using?
also which ESP-IDF version you are using?

Yes, with WiFi scan example the board can find dozens of networks around.
I'm using Arduino esp32 core 2.0.6 with Esp32-wrover IE.

yes make sure when you send credentials at a time ESP connect with your mobile and you are providing right credentials else this is not generated my our end.

What I'm showing here's that the App or framework are not working properly at Android 6.0.1.
App almost always can't find network with scan even with dozes of network around.
App doesn't make basic filter as remove extra space at the end of SSID before send data to ESP.

idf.py menuconfig -> Serial flasher config -> Enable Octal Flash on this it will help you to generate QR smoothly

Another issue:
https://user-images.githubusercontent.com/2778501/222162449-4bbb1107-4cc0-4809-b1ce-b0461440af08.mov
What's the  reason to a reset result in AUTH_FAIL using the code bellow?
After this error I have to make a factory reset and restart the configuration because I can't find any option on APP to fix it.
#include "RMaker.h"
#include "WiFi.h"
#include "WiFiProv.h"
#include <Bounce2.h>

#define NUM_RELAYS 16

#if CONFIG_IDF_TARGET_ESP32C3
const byte resetPin = 9;
#else
const byte resetPin = 0;
#endif

const char nodeName[] = "ESP32_Relay_16";
const char *service_name = "PROV_1234";
const char *pop = "abcd1234";

Bounce2::Button resetButton = Bounce2::Button();

static Switch my_switch[NUM_RELAYS];

struct INFOS {
  const char *deviceName;
  uint8_t relayPin;
  bool relayState;
};

INFOS info[NUM_RELAYS] = {
  { "Relay1", 4, LOW },  // Initial state = HIGH to active LOW relay model.
  { "Relay2", 5, LOW },
  { "Relay3", 18, LOW },
  { "Relay4", 19, LOW },
  { "Relay5", 21, LOW },
  { "Relay6", 22, LOW },
  { "Relay7", 23, LOW },
  { "Relay8", 25, LOW },
  { "Relay9", 26, LOW },
  { "Relay10", 27, LOW },
  { "Relay11", 32, LOW },
  { "Relay12", 33, LOW },
  { "Relay13", 13, LOW },
  { "Relay14", 12, LOW },
  { "Relay15", 14, LOW },
  { "Relay16", 15, LOW }
};

void sysProvEvent(arduino_event_t *sys_event) {
  switch (sys_event->event_id) {
    case ARDUINO_EVENT_PROV_START:
#if CONFIG_IDF_TARGET_ESP32S2
      Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop);
      printQR(service_name, pop, "softap");
#else
      Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop);
      printQR(service_name, pop, "ble");
#endif
      break;
    case ARDUINO_EVENT_PROV_INIT:
      wifi_prov_mgr_disable_auto_stop(10000);
      break;
    case ARDUINO_EVENT_PROV_CRED_SUCCESS:
      wifi_prov_mgr_stop_provisioning();
      break;
    default:
      break;
  }
}

void write_callback(Device *device, Param *param, const param_val_t val, void *priv_data, write_ctx_t *ctx) {
  const char *device_name = device->getDeviceName();
  const char *param_name = param->getParamName();

  for (byte i = 0; i < NUM_RELAYS; i++) {
    if (strcmp(device_name, info[i].deviceName) == 0) {
      if (strcmp(param_name, "Power") == 0) {
        Serial.printf("Received value = %s for %s - %s\n", val.val.b ? "true" : "false", device_name, param_name);
        info[i].relayState = val.val.b;
        digitalWrite(info[i].relayPin, info[i].relayState);
        param->updateAndReport(val);
      }
    }
  }
}
void read_callback(Device *device, Param *param, void *priv_data, read_ctx_t *ctx) {
  const char *device_name = device->getDeviceName();
  const char *param_name = param->getParamName();
  Serial.printf("Received for %s - %s\n", device_name, param_name);
}

void setup() {
  Serial.begin(115200);

  resetButton.attach(resetPin, INPUT);
  resetButton.interval(5);
  resetButton.setPressedState(LOW);

  Node my_node;
  my_node = RMaker.initNode(nodeName);

  for (byte i = 0; i < NUM_RELAYS; i++) {
    pinMode(info[i].relayPin, OUTPUT);
    digitalWrite(info[i].relayPin, info[i].relayState);

    my_switch[i] = Switch(info[i].deviceName, &info[i].relayPin);
    my_switch[i].addCb(write_callback, read_callback);
    my_node.addDevice(my_switch[i]);
  }

  //This is optional
  RMaker.enableOTA(OTA_USING_TOPICS);
  //If you want to enable scheduling, set time zone for your region using setTimeZone().
  //The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html
  // RMaker.setTimeZone("Asia/Shanghai");
  // Alternatively, enable the Timezone service and let the phone apps set the appropriate timezone
  RMaker.enableTZService();

  RMaker.enableSchedule();

  RMaker.enableScenes();

  RMaker.start();

  WiFi.onEvent(sysProvEvent);
#if CONFIG_IDF_TARGET_ESP32S2
  WiFiProv.beginProvision(WIFI_PROV_SCHEME_SOFTAP, WIFI_PROV_SCHEME_HANDLER_NONE, WIFI_PROV_SECURITY_1, pop, service_name);
#else
  WiFiProv.beginProvision(WIFI_PROV_SCHEME_BLE, WIFI_PROV_SCHEME_HANDLER_FREE_BTDM, WIFI_PROV_SECURITY_1, pop, service_name);
#endif
}

void loop() {
  resetButton.update();

  if (resetButton.read() == LOW) {
    if (resetButton.currentDuration() > 10000UL) {
      // If key pressed for more than 10secs, reset all
      Serial.printf("Reset to factory.\n");
      RMakerFactoryReset(2);
    } else if (resetButton.currentDuration() > 3000UL) {
      Serial.printf("Reset Wi-Fi.\n");
      // If key pressed for more than 3secs, but less than 10, reset Wi-Fi
      RMakerWiFiReset(2);
    }
  }
  delay(100);
}

Another issue:
What's the reason to a reset result in AUTH_FAIL using the code below?
After this error I have to make a factory reset and restart the configuration because I can't find any option on APP to fix it.
#include "RMaker.h"
#include "WiFi.h"
#include "WiFiProv.h"
#include <Bounce2.h>

#define NUM_RELAYS 16

#if CONFIG_IDF_TARGET_ESP32C3
const byte resetPin = 9;
#else
const byte resetPin = 0;
#endif

const char nodeName[] = "ESP32_Relay_16";
const char *service_name = "PROV_1234";
const char *pop = "abcd1234";

Bounce2::Button resetButton = Bounce2::Button();

static Switch my_switch[NUM_RELAYS];

struct INFOS {
  const char *deviceName;
  uint8_t relayPin;
  bool relayState;
};

INFOS info[NUM_RELAYS] = {
  { "Relay1", 4, LOW },  // Initial state = HIGH to active LOW relay model.
  { "Relay2", 5, LOW },
  { "Relay3", 18, LOW },
  { "Relay4", 19, LOW },
  { "Relay5", 21, LOW },
  { "Relay6", 22, LOW },
  { "Relay7", 23, LOW },
  { "Relay8", 25, LOW },
  { "Relay9", 26, LOW },
  { "Relay10", 27, LOW },
  { "Relay11", 32, LOW },
  { "Relay12", 33, LOW },
  { "Relay13", 13, LOW },
  { "Relay14", 12, LOW },
  { "Relay15", 14, LOW },
  { "Relay16", 15, LOW }
};

void sysProvEvent(arduino_event_t *sys_event) {
  switch (sys_event->event_id) {
    case ARDUINO_EVENT_PROV_START:
#if CONFIG_IDF_TARGET_ESP32S2
      Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on SoftAP\n", service_name, pop);
      printQR(service_name, pop, "softap");
#else
      Serial.printf("\nProvisioning Started with name \"%s\" and PoP \"%s\" on BLE\n", service_name, pop);
      printQR(service_name, pop, "ble");
#endif
      break;
    case ARDUINO_EVENT_PROV_INIT:
      wifi_prov_mgr_disable_auto_stop(10000);
      break;
    case ARDUINO_EVENT_PROV_CRED_SUCCESS:
      wifi_prov_mgr_stop_provisioning();
      break;
    default:
      break;
  }
}

void write_callback(Device *device, Param *param, const param_val_t val, void *priv_data, write_ctx_t *ctx) {
  const char *device_name = device->getDeviceName();
  const char *param_name = param->getParamName();

  for (byte i = 0; i < NUM_RELAYS; i++) {
    if (strcmp(device_name, info[i].deviceName) == 0) {
      if (strcmp(param_name, "Power") == 0) {
        Serial.printf("Received value = %s for %s - %s\n", val.val.b ? "true" : "false", device_name, param_name);
        info[i].relayState = val.val.b;
        digitalWrite(info[i].relayPin, info[i].relayState);
        param->updateAndReport(val);
      }
    }
  }
}
void read_callback(Device *device, Param *param, void *priv_data, read_ctx_t *ctx) {
  const char *device_name = device->getDeviceName();
  const char *param_name = param->getParamName();
  Serial.printf("Received for %s - %s\n", device_name, param_name);
}

void setup() {
  Serial.begin(115200);

  resetButton.attach(resetPin, INPUT);
  resetButton.interval(5);
  resetButton.setPressedState(LOW);

  Node my_node;
  my_node = RMaker.initNode(nodeName);

  for (byte i = 0; i < NUM_RELAYS; i++) {
    pinMode(info[i].relayPin, OUTPUT);
    digitalWrite(info[i].relayPin, info[i].relayState);

    my_switch[i] = Switch(info[i].deviceName, &info[i].relayPin);
    my_switch[i].addCb(write_callback, read_callback);
    my_node.addDevice(my_switch[i]);
  }

  //This is optional
  RMaker.enableOTA(OTA_USING_TOPICS);
  //If you want to enable scheduling, set time zone for your region using setTimeZone().
  //The list of available values are provided here https://rainmaker.espressif.com/docs/time-service.html
  // RMaker.setTimeZone("Asia/Shanghai");
  // Alternatively, enable the Timezone service and let the phone apps set the appropriate timezone
  RMaker.enableTZService();

  RMaker.enableSchedule();

  RMaker.enableScenes();

  RMaker.start();

  WiFi.onEvent(sysProvEvent);
#if CONFIG_IDF_TARGET_ESP32S2
  WiFiProv.beginProvision(WIFI_PROV_SCHEME_SOFTAP, WIFI_PROV_SCHEME_HANDLER_NONE, WIFI_PROV_SECURITY_1, pop, service_name);
#else
  WiFiProv.beginProvision(WIFI_PROV_SCHEME_BLE, WIFI_PROV_SCHEME_HANDLER_FREE_BTDM, WIFI_PROV_SECURITY_1, pop, service_name);
#endif
}

void loop() {
  resetButton.update();

  if (resetButton.read() == LOW) {
    if (resetButton.currentDuration() > 10000UL) {
      // If key pressed for more than 10secs, reset all
      Serial.printf("Reset to factory.\n");
      RMakerFactoryReset(2);
    } else if (resetButton.currentDuration() > 3000UL) {
      Serial.printf("Reset Wi-Fi.\n");
      // If key pressed for more than 3secs, but less than 10, reset Wi-Fi
      RMakerWiFiReset(2);
    }
  }
  delay(100);
}

The result after try update the code:
[    88][I][RMaker.cpp:17] event_handler(): RainMaker Initialised.
[   115][I][WiFiProv.cpp:149] beginProvision(): Already Provisioned
[   115][I][WiFiProv.cpp:153] beginProvision(): Attempting connect to AP: Nossarede

[   231][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 202 - AUTH_FAIL

@FernandoGarcia Can you try the WiFiProv example and see if the same issue exists there?

Yes, but it was connected at a second attempt.
Connected IP address : <IP_ADDRESS>

Provisioning Successful

Provisioning Ends
ets Jul 29 2019 12:21:46

rst:0x1 (POWERON_RESET),boot:0x12 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1344
load:0x40078000,len:13836
load:0x40080400,len:3608
entry 0x400805f0
[    84][I][WiFiProv.cpp:149] beginProvision(): Already Provisioned
[    84][I][WiFiProv.cpp:153] beginProvision(): Attempting connect to AP: Nossarede

[   202][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 202 - AUTH_FAIL

Disconnected. Connecting to the AP again...

Connected IP address : <IP_ADDRESS>

With the code above there's no connection at all after reset.

As mentioned here, the Arduino WiFi library will try to reconnect only once if the connection failure reason is WIFI_REASON_AUTH_FAIL. You can manually check the WiFi connection status in loop() and reconnect to WiFi if status==WL_CONNECT_FAILED

This issue was supposed to be fixed at #7343
Moreover the code above has different behaviour from WiFiProv example.
Look for this:

 if (WiFi.status() == WL_CONNECT_FAILED) never become true.

As told before after this error the board never will come on again and only a factory reset will solve.
https://user-images.githubusercontent.com/2778501/222556424-819b7e29-f4ab-44db-a334-e1f4e81437b4.mov

Can you attach the WiFi event callback from the WiFiProv example in your sketch, so that you can see the logs of which events are generated by the underlying WiFi layer?

Using the SysProvEvent function from WiFiProv example the connection at second attempt is done.
[    89][I][RMaker.cpp:17] event_handler(): RainMaker Initialised.
[   117][I][WiFiProv.cpp:149] beginProvision(): Already Provisioned
[   117][I][WiFiProv.cpp:153] beginProvision(): Attempting connect to AP: Nossarede

[   304][W][WiFiGeneric.cpp:955] _eventCallback(): Reason: 202 - AUTH_FAIL

Disconnected. Connecting to the AP again...

Connected IP address : <IP_ADDRESS>
Received value = false for Relay2 - Power
Received value = true for Relay2 - Power

So the SysProvEvent function in switch example is incomplete.


[#22737] Re-write Go SDK data plane to support timers.

Support receiving and directing timers to the *exec.DataSource from the DataManager.
This doesn't fully implement timers for #22737, and only comprises the required data plane changes. This unblocks their development however, though it includes an untested TimerWriter path, and unused callback invocations in the DataSource to support this later.
The FnAPI Data Stream multiplexes all data for all instructions onto a single channel from the Runner harness. Each message may contain Data or Timers bytes for one or more instructions executing on the SDK harness, to be decoded by the execution plane's DataSource. The Data or Timers are directed to a specfic PTransform.
The data and timers may arrive before or after the associated instruction begins execution. This means that the Data and Timers must be buffered in the SDK, until they are consumed, or their associated instruction is marked as ended.  Since a single instruction may have more than one consuming PTransform it's important to track the wanted number of "islast" signals, to compare against the number received, and only signal that all byte streams for this instruction are complete when they match.
Specific things to note:

In elementChan we use a mutex as well as the channel to avoid concurrent changes to the "want" and "got", but use an atomic to check if elementChan is closed. This is lighterweight than using the mutex to check the condition all the time.
The channel index in DataSource now defaults to 0 instead of -1, and we now do a "post processing check" to validate if a split has occurred. This ensures that the expected primary and residuals are respected in the same way they were before.

Unit tests were updated to match the current possible cases, and validate the above mentioned semantics. A "read" benchmark was added as well. Additional larger scale testing was also done to ensure continued correctness of the data plane's behavior.
Also Closes #21164, ensuring that the last element is always consumed.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Jenkins is currently down, so I'm going to wait till at most tomorrow before merging, to get those runs in.

Run GoPortable PreCommit

Run Go PostCommit


www.ccn.com

This is a crypto news site
They post news articles about cryptocurrency

@funilrys  @Phishing.Database Thanks 👍

/move to mitchellkrogza/Phishing.Database


Unable to resolve module react-dom

What version of React, ReactDOM/React Native, Redux, and React Redux are you using?

React: 18.2.0
React Native: 0.72.6
Redux: 5.0.0
React Redux: 9.0.0

What is the current behavior?
Unable to resolve module react-dom
What is the expected behavior?
No react-dom in react-native
Which browser and OS are affected by this issue?
No response
Did this work in previous versions of React Redux?

[X] Yes

This is probably a result of the ESM packaging updates. We used to have separate batchedUpdates.js and batchedUpdates.native.js files, and now that we pre-bundle those aren't there.
Looking into this, but I don't use RN myself - may need some help testing out fixes!

@talaikis can you provide a repo project that reproduces this issue?

I was able to repro the issue and the (hopeful) fix is live in 9.0.1.
Can you let us know if that works?

https://github.com/reduxjs/react-redux/releases/tag/v9.0.1

Hi @markerikson, this issue occurs for me when testing (my React Native project) via jest. Since jest needs CJS, it ignores react-redux.react-native.js and rather uses crs/react-redux.development.cjs. Do you have any idea how to solve this?

@TheWirv : not immediately. Going to need some time to think through the possible ramifications here, unfortunately :(

No problem at all, I didn't really expect you to automagically come up with a solution. Thank you very much for reopening.

That PR actually fixes my issues completely. The app works perfectly fine, and the tests are all green. 👌🏼

Good morning. I got confirmation that this problem has been solved by newly released v9.0.3. Thanks so much for the fix on such short notice. :)


Allow configuring cgroup2 path

Description
Currently, the mount-bpffs init container tries to create the folder /run/calico/cgroup for mounting the cgroupv2 fs
This causes issues on distros like Talos Linux as described in the issue https://github.com/projectcalico/calico/issues/7892
This can be a configurable path instead

For PR author

[ ] Tests for change.
[ ] If changing pkg/apis/, run make gen-files
[ ] If changing versions, run make gen-versions

For PR reviewers
A note for code reviewers - all pull requests must have the following:

[ ] Milestone set according to targeted release.
[ ] Appropriate labels:

kind/bug if this is a bugfix.
kind/enhancement if this is a a new feature.
enterprise if this PR applies to Calico Enterprise only.

superseded by https://github.com/tigera/operator/pull/3235


Big Logout Suggestion - Extend world switcher logout button

Hopping among worlds in the wilderness is common but it makes it more difficult to log out by moving the logout button to the corner.
A potential solution could be extending it across the favorite world area next to the button, perhaps with an option to hide/show the favorite worlds somehow, or only extending when there are no favorite worlds set.

This sounds useful, thanks for the suggestion.


Sass shared

@SMahil Please take a look at this :-) I documented the rules in the README.

As this is needed for the overall build I'm merging it.


Boost - failing when streaming is disabled in the Open WebUI

Disable streaming in the Open WebUI
Use external models via boost
?

Was fixed in the v0.1.31


SmsReceiver is not defined

I have installed the plugin in my ionic project but SmsReceiver is not defined. Any help is highly appreciated.

same issue.


Allow specifying if crater or extreme height mountains can be generated in the planetdef.xml

It seems that right now they are generated everywhere

Number of craters generated are a function of atmosphere density already and should spawn more frequently on planets with low pressure atmospheres and should never spawn on planets with atmospheres higher than 75.  Is there any reason you'd want to specify craters independant of atmosphere density on a per-planet basis?
As for the exteme height mountains I'll look into why they're spawning so frequently.  I feel like they might be disabled in vanilla for some reason so their weights may have never been set.

Extreme height biomes can already be determined via the XML because they are all biomes of some type.  As for the craters, I'm probably not going to add that as an option due to the fact they can already be controlled by the atmosphere amounts.


For the video its impossibel to view it, it says "This video is privat"

[Enter feedback here]

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

ID: 36ce5dc9-69a4-9264-d9ec-fe55866906aa
Version Independent ID: 36ce5dc9-69a4-9264-d9ec-fe55866906aa
Content: How it works - Mixed Reality Capture Studios - Mixed Reality
Content Source: mixed-reality-docs/mr-dev-docs/develop/advanced-concepts/how-it-works-mixed-reality-capture-studios.md
Product: mixed-reality
Technology: mr-dev
GitHub Login: @mattzmsft
Microsoft Alias: mazeller

Duplicate of #642


SDL_WINDOW_ALWAYS_ON_TOP undeclared error

While executing ninja command, though build is successful, it stops by giving this error.
[2/4] Compiling C object 'app/a172ced<EMAIL_ADDRESS>FAILED: cc -Iapp/a172ced@@scrcpy@exe -Iapp -I../app -I../app/src -I/usr/include/x86_64-linux-gnu -I/usr/include/SDL2 -flto -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c11 -O3 -D_REENTRANT  -MD -MQ 'app/a172ced<EMAIL_ADDRESS>-MF 'app/a172ced<EMAIL_ADDRESS>-o 'app/a172ced<EMAIL_ADDRESS>-c ../app/src/screen.c ../app/src/screen.c: In function ‘screen_init_rendering’: ../app/src/screen.c:159:25: error: ‘SDL_WINDOW_ALWAYS_ON_TOP’ undeclared (first use in this function)          window_flags |= SDL_WINDOW_ALWAYS_ON_TOP;

Thank you for your report. It is available only since SDL 2.0.5: https://wiki.libsdl.org/SDL_WindowFlags
So we need to use ifdefs to disable the feature completely if SDL <= 2.0.5.

It's weird though, because you compile for Windows, libSDL should be up to date (either in MSYS2 or when you cross-compile from Linux).
Do you compile from MSYS2?

No.  I use an Ubuntu machine, 16.04. I followed the steps for that only.

Oh, ok, sorry, scrcpy@exe was misleading, I thought it was on Windows :smile:
Then it's ok. :wink:
What is the output of apt-get show libsdl2-2.0-0?

Am not able to get any output!

Sorry, apt-cache show libsdl2-2.0-0.

Got it. There is a lot of information. Shall i paste it here?
Or are you looking at some specific information?

If there was only one SDL flag used, i would have commented it out. But i can find few others as well. That's why made an issue. Anyways, i will try removing it. :blush:

Commenting out worked actually. 'ninja install' command is failing with a file not found exception. But am able to use without installing.
Thank you for the quick support. :smiley:

Fixed on master.

Thank you for your quick fixing for this regression.


Is there a way to position the popover with left and top instead of using translate ?

Thanks for making this awesome plugin.
Recently I have migrated from v4 to v7, I have made all the necessary code changes to make it work, but during render the popup is positioning itself with CSS translate property which makes components inside the popover position differently. As the popover content is dynamic in our project it is not possible to change all the content components. So is there a way to use CSS left and top property to position the popover?
Thanks in advance.

'translate' property makes it very problematic with some resolution on chrome because it moves all the time and it rerenders itself constantly. I resolved it locally by overriding translate property with top and left. Can you consider fixing this chrome bug in future releases, please?

@hu1da how did you resolved it locally with overriding the translate property? can you provide an example

Ditto on the issue experienced. Upgraded from v4 to v7 and the new translate positioning is causing positional rendering errors.
FYI for those investigating at home, this change was made during the switch to v6 (present in the earliest beta 6.0.0-beta release).
Will try to patch locally translate into top/left in a fork.
@tudor2004 The code for translate is here and here, presumably just replace it with top and left and that should work 🤷🏼♂ .


Migrate to WEPP v20230117

It seems like we are getting very close to jumping to WEPP version 20230117.  The 2012 input files appear to be compatible, but we are doing more testing to understand quantitative output differences between the two versions.

This is completed.

Oops, actually need to migrate regression testing.


tenancy()->initialized not recognized in Nova when overwriting resources

Describe the bug
When trying to get a different Nova-resources list for Landlord and Tenant connection, I only get the Tenant and Domain Nova resources visible.
Expected was the following: accessing Nova via a Subdomain, then show the resources defined in the if-statement (tenancy()->initialized).  But output was that it goes to the else-part.
Steps to reproduce
    protected function resources()
    {
        if (tenancy()->initialized) {
            Nova::resources([
                User::class,
            ]);
        } else {
            Nova::resources([
                Tenant::class,
                Domain::class,
            ]);
        }
    }

Expected behavior
A clear and concise description of what you expected to happen.
Your setup

Laravel version: v8.37.0
@stancl /tenancy version: v3.4.3

Had to move the priority in the Middleware


Check that Substrate/Polkadot fully compiles using distributed compilation

The whole point of this PoC/fork is to speed up the Substrate/Polkadot builds, so we need to ensure that those project builds using sccache first.
Substrate compilation is blocked on #51 and on the following patch to the libp2p-wasm-ext crate:
diff --git a/transports/wasm-ext/src/lib.rs b/transports/wasm-ext/src/lib.rs
index 8c0e5012..f5be31f4 100644
--- a/transports/wasm-ext/src/lib.rs
+++ b/transports/wasm-ext/src/lib.rs
@@ -136,6 +136,11 @@ pub mod ffi {
     }
 }

+// Include the file in the dep-info, so that build accelerators such as sccache
+// can correctly prepare the required input files in order to compile the crate.
+#[cfg(feature = "websocket")]
+const _: &'static str = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/src/websockets.js"));
+
 /// Implementation of `Transport` whose implementation is handled by some FFI.
 pub struct ExtTransport {
     inner: SendWrapper<ffi::Transport>,

In general, we need a mechanism to track required files in the dep-info directly (https://github.com/rust-lang/rust/pull/84029) but the diff above works around that by using an include_str hack.

:tada:


Install Terra under conda environment for Windows CI

Summary
Details and comments

Yes, the issue #241 is random. Even though the CI was wrong, the change didn't fix the issue.


Webpack Dev Server HMR --> Duplicate Element Issue

Hello all, so I have recently moved over to a webpack build pipeline for purposes of building, transpiling, and using this guy WorkerPlugin. All that being said, Hot Module Replacement does not work due to the fact that when it replaces the module, the browser sees this as an element re-registry...
The folks over at Skate JS baked in a solution
Same issue with Solution
Exact Issue
Final Change
-- where they have been able to make it to work.
I am looking to see if there is any way to build in a similar solution into the @customElement decorator.
Would love to know thoughts. This could affect a lot of people.

Might also be a good question for the folks over at @polymer slack open-wc
channel.

I am experiencing the same issue with fuse-box bundler HMR. I'm currently looking into writing custom HMR driver to resolve this.

Hot module loading is not, in general, a really workable system. All kinds of state will be confused by reloading modules, including module variables, event listeners, and the custom elements registry.
I don't think generating a new element name is useful, as other logic and CSS may depend on that name. More likely is that we can find a way to patch CustomElementRegistry.define so that we can redefine an element and re-render all instances.

We created custom elements hmr polyfill here:

https://github.com/vegarringdal/custom-elements-hmr-polyfill
Readme contains a very simple sample on codesandbox

This adds a proxy around CustomElementRegistry.define.
Yesterday we also found a workaround to observedAttributes by using mutationObserver. (not updated npm yet)
If you have suggestion of callbacks that would be useful to have then create issue.
Currently I use it with the fusebox bundler v4-(next).

@rictic could you take a look at custom-elements-hmr-polyfill?

The HMR solution I've been playing with looks for a static callback on custom element classes, called notifyOnHotModuleReload. If it's present, then when a custom element is redefined we assume that it's a hot reload, and call originalClassObject.notifyOnHotModuleReload(newClassObject, tagName).
It also patches LitElement to add this callback. The LitElement implementation of the callback recreates styles, copies values off of the new prototype back onto the old, and then walks the document for elements with the given tagName and asks them to rerender.
This way each custom element class (or base class) has the option to participate in hot reloading, and they can control how they rerender, rather than having a single strategy (which it looks like custom-elements-hmr-polyfill appears to do).
(I'd also hesitate to call a hot module reloading system a polyfill, as there's no standard that it's implementing. IMO that makes it a library, not a polyfill)
I'd like to clean up and release the hot module code I've been tinkering with. The main thing that I'm unsure of is a robust method for including code that should be compiled out of production builds and that will work both unmodified in browsers as well as in rollup, webpack, closure compiler, etc
(I'd also like to use proxies, as you do in custom-elements-hmr-polyfill, to ensure that element creation works as expected)

Hi @rictic

(I'd also hesitate to call a hot module reloading system a polyfill, as there's no standard that it's implementing. IMO that makes it a library, not a polyfill)

Called it polyfill since it implements a feature that browsers do not support. No its not a standard, but we would like it to be. But if you want to call it a library then that is ok 😄

This way each custom element class (or base class) has the option to participate in hot reloading, and they can control how they rerender, rather than having a single strategy (which it looks like custom-elements-hmr-polyfill appears to do).

It has only 1 "auto" strategy, if you want to use it or walk the DOM tree in callback is really up to you.
We did walk the DOM tree in the beginning, but figured it would be best to let user define how they wanted to do this. Manually replacing just part of the DOM can be very hard, since you never know what any of the parent element does. Or how the users bundler work on HMR event.
Some elements might also be dynamically loaded by parent element, like a router. And then that file might never run unless parent loads it again.
import { applyPolyfill, ReflowStrategy, rerenderInnerHTML } from 'custom-elements-hmr-polyfill';

applyPolyfill(
    /* no auto-reflow */ ReflowStrategy.NONE,
    /* ignored, because reflowing is disabled */ 0,
    /* gets called for every re-definition of a web component */
    (elementName: string, impl: any, options: ElementDefinitionOptions) => {

        // manually reflow using rerenderInnerHTML strategy without any buffering
        rerenderInnerHTML(); //<- you could skip this and walk the dom tree, call something on a timeout

    }
);

I'd like to clean up and release the hot module code I've been tinkering with. The main thing that I'm unsure of is a robust method for including code that should be compiled out of production builds and that will work both unmodified in browsers as well as in rollup, webpack, closure compiler, etc

I really do not know. there is a few bundler out there now. I use fuse-box :-)

(I'd also like to use proxies, as you do in custom-elements-hmr-polyfill, to ensure that element creation works as expected)

Then why not just use it as it is ? If you use ReflowStrategy.NONE, it wont really do anything before you recreate the element.  😄
I been using lit-html lately, re-rendering of the page is pretty fast and I really would not know if it was a node that got replaced or entire page (unless something is loaded with delay..)
But it will just work with most element if they have a callback attached or not.
If you have any idea on other callback we should add that could help you then please create a issue.

I'm currently working on a PR for HMR in system js https://github.com/systemjs/systemjs/pull/2014 and integrating it into es-dev-server.
I've been testing it with LitElement and https://github.com/vegarringdal/custom-elements-hmr-polyfill, a lot of things work pretty well but I'm running into a few issues such as styles not being correctly updated. @rictic I'm very interested in how you tackled this if you're able to share it

@LarsDenBakker sure thing, I pushed a draft of what I have so far to https://github.com/Polymer/lit-element/pull/802

btw, the ability to call a custom event handler like notifyOnHotModuleReload on each web component instance is only a few commits and a push away. It could be realized as another ReflowStrategy  of our polyfill.
@LarsDenBakker would that be of any use for you?

Yeah, I think it will be good to settle on a common callback for handling reloads.

@LarsDenBakker With ReflowStrategy.CustomEventHandler, we'd call this callback on every instance of a Web Component. You could hook this callback in lit-element for sure - but also components could implement it and decide for themselves what they want to do on HMR. In case developers want to reset some states in component A but not in B, they can do so and decide on their own.
I like this approach because taking general decisions on state reset seems likely to become problematic given the fact that we have no convention on where the states are defined. Also, states could point to DOM elements which might be lost after a HMR event occurred. These might be  conditions only the developer of a component may know.


include LICENSE file in published crates

The MIT license requires that published / redistributed sources include a copy of the license text. This isn't the case for source code of the k9 crate that is published / redistributed via https://crates.io.
This PR adds a symlink in the k9 directory that points at the LICENSE file in the repository root, which makes cargo include the file when packaging / publishing the crate.
Note that if you are publishing this crate from an operating system which doesn't support symbolic links (Windows, I'm looking at you), a full copy of the file might be needed in the k9 directory, instead, to have cargo pick it up correctly.

thank you!
(sorry i totally missed the email notification)


[Bug]: disableColor option is ignored

Replication of the Problem
import { Listr } from "listr2";

new Listr(
  [
    {
      title: "foo",
      task: (ctx, task) => {
        task.output = "bar";
      },
    },
  ],
  { disableColor: true },
).run();

Problem
Even if disableColor option of listr is enabled, it is ignored and the output is colored.
The reason is that createColors({ useColor: !process.env["LISTR_DISABLE_COLOR"]}) is called before evaluating disableColor.
Environment

macOS Ventura
Node.js: v20.5.1
listr2: v4.2.0

Log Output
No response
Preflight

[X] Read/Search existing issues and the provided documentation.
[X] Be sure to not open an issue in the looking for contributions section.
[X] Checking the latest version of the software to confirm it has not been fixed already.

Dear @teppeis,
This will be fixed on the next release and any option that uses this environment variable functionality is also not working properly, so I have to rethink how we can save this without doing a breaking change and turning the color into a function that gets called while listr class is constructing.

No problem, thank you very much for reporting this.
It is always these "cute" things that I have not tested properly causes some problems :D


The implementation of default__list_schema results in double-quoting if databse quoting is true

Describe the bug
When the quoting config database: true is set, and a plugin doesn't override list_schema, the list_schemas adapter method ends up double-quoting the database name (once in-method, once in the macro).
Steps To Reproduce

Create a plugin
set the default database quoting to true or set it in your project
get errors about double-quoting the name (""memory"".INFORMATION_SCHEMA, in the case of local testing on presto)

Expected behavior
I expect this to work! We should remove the quoting call from default__information_schema_name, at least!
System information
Which database are you using dbt with?

[ ] postgres
[ ] redshift
[ ] bigquery
[ ] snowflake
[X] other (specify: presto 0.16.x)

The output of dbt --version:
dbt==0.16.0

The operating system you're using:
N/A
The output of python --version:
N/A
Additional context
The workaround is to implement presto__information_schema_name with a macro that doesn't quote.

fixed in #2281

I'm using 0.16.1rc1 and still having a quoting issue with list_schema. When I run with the default database quoting (database: True), it looks like the where clause still uses the quoted value.
If I turn off database quoting it seems to work fine.
Debug output (quoting: database: True):
On list_MY_SCHEMA: /* {"app": "dbt", "dbt_version": "0.16.1rc1", "profile_name": "myprofile", "target_name": "mytarget", "connection_name": "list_MY_SCHEMA"} */

    select distinct schema_name
    from "MY_SCHEMA".INFORMATION_SCHEMA.SCHEMATA
    where catalog_name ilike '"MY_SCHEMA"'

Debug output (quoting: database: False):
On list_MY_SCHEMA: /* {"app": "dbt", "dbt_version": "0.16.1rc1", "profile_name": "myprofile", "target_name": "mytarget", "connection_name": "list_MY_SCHEMA"} */

    select distinct schema_name
    from MY_SCHEMA.INFORMATION_SCHEMA.SCHEMATA
    where catalog_name ilike 'MY_SCHEMA'

Thanks for letting us know @joemirizio! @beckjake can you check this one out?

Yeah, this is a real issue. I will have to consider how we're going to approach this, but it's going to require a change to how we call list_schemas. A bad temporary workaround is to override {adapter_name}__list_schemas to strip the quotes off database in the ilike.

Ok - in that case, do you mind making a new issue for the change and linking it here? I'd like to leave this one closed insofar as it resulted in a code change that's going out for 0.16.1, even if it's imperfect.
@joemirizio the path of least resistance here is indeed going to be to overrride the list_schemas macro with a database-specific implementation! The full change here will be a good one to make, but we're not going to be able to do it for 0.16.1 :/


OSSM-1949: Workaround xns-informers bad behavior

In some cases, it is possible that xns-informer reports true in its HasSynced() method when in fact it isn't. This might happen when a new namespace is added after it was initially sync. It now depends on the new informer to be synced so it can properly respond to queries like List(). When List() is invoked, because the new informer isn't ready yet, the xns-informer returns an empty list.
We workaround this by querying inidividual namespaces instead of querying All ("") namespaces. This bypass the xsn-informer and queries directly the namespace informer.

/retest