Add Composer scripts for code sniffing and autofixing

There now are the following new Composer scripts:

ci: run all CI-related Composer scripts
ci:static run the static code analysis
ci:php:sniff run PHP_CodeSniffer
fix:php fix the autofixable PHP code warnings
fix:php:sniff fix the autofixable PHP_CodeSniffer warnings

For starters, we have a sniff that checks that all files are in
PHP strict mode. (The CI builds do not run this check as the files
are not strict yet at this point.)
The PHP_CodeSniffer autofixer cannot make files strict, though
(as this is a non-autofixable code sniff). It will be able to
autofix other things we'll add later, though.

Some background on PHIVE:
PHIVE is a package manager for PHP development tools that installs the tools as stand-alone, GPG-signed PHARs (i.e., a PHAR contains the corresponding tool with all its dependencies). This helps avoiding dependency hell - both inter-tools as well as between a tool and the project in which it is used. (Dependency hell is e.g., when package A requires package X in version < 3, while package B requires package X in version >= 3.) (This was a real problem in some of my projects.)
In addition, this allows tools like PHPStan to be used in their current version (which requires PHP >= 7.1) without breaking Composer-installability of the project in lower PHP versions. (This also is a real problem in some of my projects.)
PHIVE is intended to be used for development tools only, and the PHIVE-installed tools are not expected to be shipped with the library package (hence the entries in the `.gitattributes), and they are also not expected to be deployed to production systems.
Dependabot currently does not update the PHIVE-installed tools yet.

I'm not sure how would I use it. Does it mean I have to have ./tools/phpcs.phar in my local clone?

@Danon You'll need PHIVE on your local machine. You then can run phive install in your project to install the tools.

@oliverklee Wouldn't it be better if phive was in devDependencies?

@Danon AFAIK, PHIVE is only available as a stand-alone PHAR, not as a Composer package (probably because it's a package manager itself).

I'm not sure about it.
If it was a devDependency, nobody would have to worry about it again.
With phive being something separate, when a build/sniffer fails; one to work on it, would have to go in, perhaps learn about phive for the first time.
It seems like too much complication to get a sniffer. Isn't there some other way to run the sniffer, something that could be a composer dependency?

@Danon Thanks for the feedback! I've now changed this from a PHIVE-installed PHAR to a Composer dependency.

@oliverklee Would it be possible to only run the sniffer for the declare(strict_types) and for nothing else?
Remember, that we try to make this sniffer, so that we can introduce declare(strict_types) convention.

@Danon Currently, the sniffer indeed only sniffs for the strict types, and for nothing else. :-)
So after this PR and #16 are merged, I can add the sniffer to the CI build.
(I'll add sniffing for PSR-12 later when all PSR-12 issues are resolved.)

@Danon Is this ready to review, or do you still need anything from me for this PR?

@oliverklee I will review this today afternoon. Thank you for your help. If I don't find anything, I'll rebase the PR, if I do i'll write in this PR :)

@Danon Do you still need anything from me so you can merge this PR? (I'd like to reduce the number of open PRs as I rebase all of them after one has been merged, and some PRs also depend on other PRs.)

@oliverklee I only have one question.
Why do we need two tools? Php_CodeSniffer and PhpStan?
Couldn't all our needs be solved by just one of them?

Why do we need two tools? Php_CodeSniffer and PhpStan?
Couldn't all our needs be solved by just one of them?

No, they focus on different things and have only a very small overlap concerning the issues each tool can find.
For example, PSR-12 style checking is a CodeSniffer-only thing, while data flow analysis with type compatibility check is a PHPStan-only thing. (And checking for the strict types declaration at the top of each PHP file also is a CodeSniffer-only thing.)

@oliverklee ok, so can we do the PhpSniffer for strict types first? And we leave PhpStan for the second step? :)

Yes, we can do it in that order. (This first step is what this PR is about.)

I've pushed the commit into master


Lifetime issue when using async methods in callbacks

Problem
In the file explorer example, I have changed methods in Files structure to all be async. And I use those async functions in those on_click callbacks like:
i { class: "material-icons", onclick: move |_| async {files.write().go_up().await}, "logout" }

It will report following error:
fn app(cx: Scope) -> Element {
   |        -- has type `&'1 Scoped<'1>`
...
40 |                                 onclick: move |_| async {files.write().go_up().await},
   |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ returning this value requires that `'1` must outlive `'static`

So I'm not sure how to safely use async methods according to above issue.
Steps To Reproduce
Steps to reproduce the behavior:

Clone file explorer example.
Change methods in Files structure to async like:

async fn go_up(&mut self) {
        if self.path_stack.len() > 1 {
            self.path_stack.pop();
        }
        self.reload_path_list().await;
    }

Use those methods in on_click.

Expected behavior
As the async example in dioxus documentation, async functions should work normally.
When it comes to async methods, lifetime issue will occur.
Screenshots
Environment:

Dioxus version: 0.4
Rust version:1.73
OS info: Windows11
App platform: desktop

Questionnaire

[ ] I'm interested in fixing this myself but don't know where to start
[ ] I would like to fix and I have a solution
[ ] I don't have time to fix this right now, but maybe later

👋 If you want to use state in a 'static future in dioxus, you will need to clone the state first (this is cloning an Rc, not the underlying data so it is cheap) and then move it into the closure.
onclick: move |_| {
    // This clones files to make it 'static
    to_owned![files];
    async move {
        files.write().go_up().await
    }
}

In the 0.5 release, we are introducing signals which will automatically copy into the future. If you use signals, the example code you posted will just work automatically

Wow, thank you for solutions, very looking forward for the 0.5 release.


Extend quoting functionality to include polyvariant keywords

Hey,
Following up #870, we have now extended the functionality to also wrap polyvariant keywords with quotes.

Maybe we could use https://github.com/rescript-lang/rescript-vscode/blob/0d8fbc3b49e9f3dedd119968781b29ee925ee103/analysis/src/Utils.ml#L225

Great stuff! Can you add a changelog?

@zth Done :)
Just thinking about it, we could use fileNameHasUnallowedChars to detect if we have to wrap exotic polyvariant, wyt ?

@zth Done :) Just thinking about it, we could use fileNameHasUnallowedChars to detect if we have to wrap exotic polyvariant, wyt ?

I don't think that's equivalent to what we do, right? Doesn't that check that the string is capitalized etc?

I don't think that's equivalent to what we do, right? Doesn't that check that the string is capitalized etc?

Seems like it match the same things after testing these cases :
let printMaybeExoticIdent txt =
  (* fileNameHasUnallowedChars "not good" (* => true *); *)
  (* fileNameHasUnallowedChars "not-good" (* => true *); *)
  (* fileNameHasUnallowedChars "good"(* => false *); *)
  (* fileNameHasUnallowedChars "Good"(* => false *); *)
  (* fileNameHasUnallowedChars "123"(* => false *); *)
  match (Res_token.isKeywordTxt txt, fileNameHasUnallowedChars txt) with
  | true, _ | _, true -> "\"" ^ txt ^ "\""
  | _ -> txt

test are unchanged with this, but nevermind


[GAWB-2648] Leo call sam to create pet service account at cluster creation time

Removed serviceAccount from ClusterRequest
Leo now calls sam via HttpSamDAO at cluster creation time to obtain a pet service account for the user
Leo also adds/removes the Dataproc Worker role to the SA, which is needed to create the cluster

This is all working for me in a FiaB. Testing notes: https://docs.google.com/document/d/1sVU3KEnJuut-_k58K2yqjAC4zlUXFAfN0Sv35cLxN34/edit?ts=59ea31d7
I'd like to ask reviewers to try and follow the steps in that Google doc to make sure everything works.
Have you read CONTRIBUTING.md lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] I've documented my API changes in Swagger

In all cases:

[ ] Get two thumbsworth of review and PO signoff if necessary
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this
[ ] Test this change deployed correctly and works on dev environment after deployment

@helgridly @jmthibault79 @ansingh7115 this is ready to re-review (and test!) My testing steps are working for me in fiab-rtitle-close-collie.

Tested via https://docs.google.com/document/d/1sVU3KEnJuut-_k58K2yqjAC4zlUXFAfN0Sv35cLxN34/edit?ts=59f0cd4c#

Thanks all, I just need Sam approval now :)


Update README.md

Related Issue

#35

Proposed Changes

Change 1
Chnage 2

Additional Info

Any additional information or context

Checklist

[ ] ✅ My code follows the code style of this project.
[ ] 📝 My change requires a change to the documentation.
[ ] 🎀 I have updated the documentation accordingly.
[ ] 👀 I have read the CONTRIBUTING document.
[ ] ✨ I have added tests to cover my changes.
[ ] 🚩 All new and existing tests passed.
[ ] 🌟 ed the repo

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

Output Screenshots

Screenshot #1
Screenshot #2

Title goes here
Title goes here

Image goes here
Image goes here

close #35

close #35

resolve #35


Add Auto Dark Mode

Microsoft Reviewers: Open in CodeFlow

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: javiergualix sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Bug: Non-interactive authentication is required

What happened?
When using k8s-deploy@v4, it is asking for non-interactive authentication:
asking me: "To sign in, use a web browser to open the page https://microsoft.com/devicelogin" and to authenticate with code, because of that the pipeline fails. Please see details in log attached below.
Did anyone already encounter that before, if yes, what is a workaround?
This issue is also described here by me: https://stackoverflow.com/questions/73744666/aks-deployment-pipeline-azure-k8s-deployv4
Version

[X] I am using the latest version

Runner
Self-hosted on AKS (running on the same AKS, to which I'm trying to deploy to)
Relevant log output
Run Azure/k8s-deploy@v4
  with:
    action: deploy
    force: true
    strategy: basic
    namespace: actions-runner-system
    manifests: deployment.yaml

    images: ***.azurecr.io/github-runner-linux/github-runner-eph:latest
    pull-images: true
    route-method: service
    version-switch-buffer: 0
    traffic-split-method: pod
    baseline-and-canary-replicas: 0
    percentage: 0
    token: ***
    annotate-namespace: true
    private-cluster: false
  env:
    AZURE_HTTP_USER_AGENT:
    AZUREPS_HOST_ENVIRONMENT:
    KUBECONFIG: /runner/_work/_temp/kubeconfig_1663326539890

Deploying manifests
  /opt/hostedtoolcache/kubectl/1.25.1/x64/kubectl apply -f /tmp/deployment.yaml --force --insecure-skip-tls-verify --namespace *******
  W0916 11:09:01.696594    2327 azure.go:92] WARNING: the azure auth plugin is deprecated in v1.22+, unavailable in v1.26+; use https://github.com/Azure/kubelogin instead.
  To learn more, consult https://kubernetes.io/docs/reference/access-authn-authz/authentication/#client-go-credential-plugins
  **To sign in, use a web browser to open the page https://microsoft.com/devicelogin and enter the code RG****Q to authenticate.**
  E0916 11:24:03.590914    2327 azure.go:162] Failed to acquire a token: failed acquiring new token: waiting for device code authentication to complete: autorest/adal/devicetoken: Error while retrieving OAuth token: Code Expired

Would you post the rest of your workflow? I'm curious about how you are setting your kubeconfig in particular.
k8s-deploy simply auths with the kubeconfig so it's likely an earlier step that's being done incorrectly.

@OliverMKing
I'm not sure about that, because it is working the same way on another cluster, something with the cluster perhaps might be set differently, but I can't figure out what it is.
The pipeline for build and deploy:
name: build_deploy_aks
on:
  workflow_dispatch:
  push:
    branches-ignore:
      - 'dependabot/**'

jobs:
  build:
    runs-on: platform-aks-runner-noneph
    steps:
      - name: Checkout source code
        uses: actions/checkout@v3
      - name: ACR build
        id: build-push-acr
        uses: azure/acr-build@v1
        with:
          service_principal: ${{ secrets.SERVICE_PRINCIPAL }}
          service_principal_password: ${{ secrets.SERVICE_PRINCIPAL_PASSWORD }}
          tenant: ${{ secrets.TENANTID }}
          registry: ${{ secrets.REGISTRY }}
          git_access_token: ${{ secrets.GIT_ACCESS_TOKEN }}
          repository: github-runner-linux
          #folder: ./
          #dockerfile: ./Dockerfile
          image:  github-runner-linux
          branch: main
          #tag: ${{ github.sha }}
          tag: latest
      - name: Azure login
        id: login
        uses<EMAIL_ADDRESS>        with:
          creds: ${{ secrets.AZURE_CREDENTIALS }}
      - name: Set AKS context
        id: set-context
        uses: azure/aks-set-context@v3
        with:
          resource-group: '${{ secrets.RESOURCE_GROUP }}'
          cluster-name: '${{ secrets.CLUSTER }}'
      - name: Setup kubectl
        id: install-kubectl
        uses: azure/setup-kubectl@v3
      - name: Deploy to AKS
        id: deploy-aks
        uses: Azure/k8s-deploy@v4
        with:
          resource-group: '${{ secrets.RESOURCE_GROUP }}'
          name: '${{ secrets.CLUSTER }}'
          private-cluster: false
          action: deploy
          force: true
          strategy: basic
          namespace: 'actions-runner-system'
          manifests: |
             lx-runner-deployment.yaml
          images: '${{ secrets.registry }}.azurecr.io/github-runner-linux/github-runner-linux:latest'

My guess is you aren't a cluster admin and need to use this approach in aks-set-context.
https://github.com/Azure/aks-set-context#kubelogin
Add the install kubelogin step then turn on the
     admin: 'false'
     use-kubelogin: 'true'

options for set context

@OliverMKing thank you very much, you've helped me to resolve this issue.


🔥 Remove curator.add_validated_from

Can you please add comprehensive documentation to every PR? This is a big breaking change. Users need a migration guide and a rationale for why they need to deal with this change.


docs: fix typos and improve language coherence

Hi,
This pull request addresses minor issues in the documentation by fixing typos and enhancing language coherence. The changes aim to improve the overall clarity and readability of the documentation for a better user experience.
Please review my PR. Thank you for your time and consideration.

Thanks!


AttributeError: Method ImageInput is not a registered operator. Did you mean: []

I install Caffe2 on the Centos7.1 OS successful.
[root@dl3 build]# python -c 'from caffe2.python import core' 2>/dev/null && echo "Success" || echo "Failure"
Success
python -m caffe2.python.operator_test.relu_op_test
Trying example: test_relu(self=<main.TestRelu testMethod=test_relu>, X=array([[[[-0.63784701,  0.91697848,  0.79409802,  0.66860247]],
    [[-0.1668209 ,  0.48904067,  0.99884295,  0.454514  ]],

......
Ran 1 test in 2.305s
OK
while I run the example resnet50_trainer.py, the problem is following:
INFO:resnet50_trainer:Running on GPUs: [0]
INFO:resnet50_trainer:Using epoch size: 1500000
INFO:data_parallel_model:Parallelizing model for devices: [0]
INFO:data_parallel_model:Create input and model training operators
INFO:data_parallel_model:Model for GPU : 0
Traceback (most recent call last):
File "/usr/local/caffe2/python/examples/resnet50_trainer.py", line 528, in
main()
File "/usr/local/caffe2/python/examples/resnet50_trainer.py", line 524, in main
Train(args)
File "/usr/local/caffe2/python/examples/resnet50_trainer.py", line 364, in Train
cpu_device=args.use_cpu,
File "/usr/local/caffe2/python/data_parallel_model.py", line 169, in Parallelize
input_builder_fun(model_helper_obj)
File "/usr/local/caffe2/python/examples/resnet50_trainer.py", line 342, in add_image_input
dtype=args.dtype,
File "/usr/local/caffe2/python/examples/resnet50_trainer.py", line 64, in AddImageInput
mirror=1
File "/usr/local/caffe2/python/brew.py", line 101, in scope_wrapper
return func(*args, **new_kwargs)
File "/usr/local/caffe2/python/helpers/tools.py", line 16, in image_input
outputs = model.net.ImageInput(blob_in, blob_out, **kwargs)
File "/usr/local/caffe2/python/core.py", line 1975, in getattr
",".join(workspace.C.nearby_opnames(op_type)) + ']'
AttributeError: Method ImageInput is not a registered operator. Did you mean: []
I replace the commit to Caffe2-master, 0.7 ,0.8. All the commits are the same problem. Any method to solve the problem? Thanks a lot!

Hello @Sampson1107 , You need to compile Caffe2 with opencv to fix this.

Hello @Sampson1107 , You need to compile Caffe2 with opencv to fix this.

Caffe2 is in pytorch now. I have installed pytorch.
Did I need to recompile caffe2 to use caffe2?

@WormCoder you are right - PyTorch and Caffe2 have merged and now use the same build and install system. However, PyTorch by default doesn't use OpenCV or ffmpeg. In order to use operators that require those (including the one above) you'll need to install those libraries and then compile from source with
# Install OpenCV and ffmpeg first via apt-get, conda, etc.
cd <pytorch/pytorch checkout location>
USE_OPENCV=1 USE_FFMPEG=1 python setup.py install

You can also confirm in the setup.py output that OpenCV and ffmpeg were found.
Hope that helps.

@WormCoder you are right - PyTorch and Caffe2 have merged and now use the same build and install system. However, PyTorch by default doesn't use OpenCV or ffmpeg. In order to use operators that require those (including the one above) you'll need to install those libraries and then compile from source with
# Install OpenCV and ffmpeg first via apt-get, conda, etc.
cd <pytorch/pytorch checkout location>
USE_OPENCV=1 USE_FFMPEG=1 python setup.py install

You can also confirm in the setup.py output that OpenCV and ffmpeg were found.
Hope that helps.

that helps. Thanks a lot.


Hover information without Syntax Highlighting

It is not a critical issue, however this worked before! The hover-information is not showing syntax highlighting for the variable type:

Thanks for the report. Are you using VSCode? If so, this was actually a bug with the extension for that editor, see #21.

Yes, I am using VSCode! OK thanks, I should have checked the other issues first. Can be closed then and I am waiting for the next patch :-)

All good! Thanks!


You cannot eval completion scripts for multiple binaries.

When you try to eval two different completion scripts for two different binaries only the last one is working correctly.
e.g.
Evalutuating the folowing code will result in completion working properly only for the binary2
eval "$(binary1 --completion-script-zsh)"
eval "$(binary2 --completion-script-zsh)"

The issue seems to be caused by running compinit again, which resets completion module and removes previously added autocompletion scripts.
I propose to remove calls to compinit and bashcompinit and leave this responsibility to the user.

Temporary solution for those of you who encountered this problem.
You can use the following snippet to evaluate multiple completion scripts correctly in .zshrc:
eval "$(binary1 --completion-script-zsh | sed '/^#/d;  /^autoload/d')"
eval "$(binary2 --completion-script-zsh | sed '/^#/d;  /^autoload/d')"


fluid-player can support caption (subtitle) and playlist?

I think player support Caption and playlist is very well!
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

@tuannvbg  - Could you please elaborate on the problem for the dev team to look into it.
Thanks

I like watching movies but I don't any more with english then player examples Jwplayer, mediaelement.js support caption

@tuannvbg Fluid player has support for Subtitles, you can check it on https://docs.fluidplayer.com/docs/configuration/subtitles/
As for the playlist, it's out of the scope of the project, but you can implement your own solution, I recommend checking issue #33 for this.

Closing since it's related to the user implementation, @tuannvbg please open a new issue if there is any other problem.


Add support for authentication oauth2

Right now MyWins only supports request to the api provided without an authentication system.
As a result, not only the access would be opened to whoever is able to make a request to the app, opening the door to posible bot-request, DDoS Attacks (security issues) but also It does not provide support for different users, as they are sharing the same resource.
By adding oauth2 authentication we want to provide the authentication of the current user given a previous login through a request into the API from the current client.
As a result of the login, a token will be generated to provide API visibility and user data while attaching it into the headers of every request to the endpoints of the API.
For now let's statically register users within the server and build the whole login and oauth2 implementation. Registration will come after.

@MarcosSegovia will you elaborate on this. Do you want to create an oauth service that other applications can connect to? Or do you want to connect to existing oauth services for users to login to?

updated !

@MarcosSegovia this Issue should be split into two maybe three issues. 1 for allowing different users to use the app, 2 Authentication for authenticating a request, 3 Authorization to say the authenticated user has these rights.

This is up and running since https://github.com/MarcosSegovia/MyWins/releases/tag/v0.2


Function/element to resolve relative to root fragment/page

This will allow use of relative URLs inside shared fragments and layouts. Once implemented, it should be used for SiteNav.html in the documentation.

This is being implemented by extending the anchor element ( tag) to specify how to resolve the href value.

Implemented with 7f3ff3fcc74eaf9222140c9ea50140cfb6005df7, b7acb7ebafc8f347d2861a72bd1916837b3b57a8, ca8b22605a08a61162c899169a24f3fe94531c2a, and 3e8010e1476e848141a6fc5c64e21fc0df3732c3.


[Guide] Added Alternative Code Solution - Use Multiple Conditional (T…

…ernary) Operators
Added Alternative Code Solution - Use Multiple Conditional (Ternary) Operators

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Thank you for opening this pull request.
This is a standard message notifying you that we’ve reviewed your pull request and have decided not to merge it. We would welcome future pull requests from you.
Reason:  Since the overall logic is the same and the only difference is the use of ternary vs if/else, this change seems unnecessary.
Thank you and happy coding.


Outdated best practices

The best practices clash with the recommendations on this page https://docs.microsoft.com/en-us/deployoffice/overview-update-channels.
The page I linked to is what I consider the latest best practice recommendations

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

ID: e56455cc-de1d-7daa-bae1-8a344625bc71
Version Independent ID: 8bafdb99-1562-bc9d-c27b-596250dee4e2
Content: Deploy Microsoft 365 Apps from the cloud - Deploy Office
Content Source: DeployOffice/deploy-microsoft-365-apps-cloud.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT
Microsoft Alias: danbrown

Ok
في الثلاثاء، ١ فبراير ٢٠٢٢ ٢:٠٠ م Thom McKiernan @.***>
كتب:

The best practices clash with the recommendations on this page
https://docs.microsoft.com/en-us/deployoffice/overview-update-channels.
The page I linked to is what I consider the latest best practice
recommendations
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com
http://docs.microsoft.com ➟ GitHub issue linking.

ID: e56455cc-de1d-7daa-bae1-8a344625bc71
Version Independent ID: 8bafdb99-1562-bc9d-c27b-596250dee4e2
Content: Deploy Microsoft 365 Apps from the cloud - Deploy Office
https://docs.microsoft.com/en-us/deployoffice/deploy-microsoft-365-apps-cloud
Content Source: DeployOffice/deploy-microsoft-365-apps-cloud.md
https://github.com/MicrosoftDocs/OfficeDocs-DeployOffice/blob/live/DeployOffice/deploy-microsoft-365-apps-cloud.md
Service: o365-proplus-itpro
GitHub Login: @DHB-MSFT https://github.com/DHB-MSFT
Microsoft Alias: danbrown

—
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/OfficeDocs-DeployOffice/issues/1055,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWPXUAHYQGYF2FL25QGLJADUY64OHANCNFSM5NIZTJCQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

To make it easier for you to submit feedback on articles on learn.microsoft.com, we're transitioning our feedback system from GitHub Issues to a new experience.
As part of the transition, this GitHub Issue will be moved to a private repository. We're moving Issues to another repository so we can continue working on Issues that were open at the time of the transition. When this Issue is moved, you'll no longer be able to access it.
If you want to provide additional information before this Issue is moved, please update this Issue before December 15th, 2023.
With the new experience, you no longer need to sign in to GitHub to enter and submit your feedback. Instead, you can choose directly on each article's page whether the article was helpful. Then you can then choose one or more reasons for your feedback and optionally provide additional context before you select Submit.
Here's what the new experience looks like.
Note: The new experience is being rolled out across learn.microsoft.com in phases. If you don't see the new experience on an article, please check back later.
First, select whether the article was helpful:

Then, choose at least one reason for your feedback and optionally provide additional details about your feedback:

Article was helpful
Article was unhelpful

Finally, select Submit and you're done!


Add network_manager setup to tox ci job

Please regen the XML

Closing in favor of disabling the sanity_checks in tox test.


Change jnr-fuse version to 0.5.5

because the older version was only available on bintray, and bintray/jcenter is no longer available starting may 1

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.4 please

alluxio-bot, cherry-pick this to branch-2.3 please


GD32F4xx Project build fail

The project AliOS-Things\projects\Keil\GD32F4xx\alink_sample\GD32450Z_EVAL.uvprojx build fail:
I found, in this project, there are many included files is too old. Even those files didn't exist.

@leek3 Would you please help to comment in case any code or files missing or out-dated?

Please refer to pic as above, and those just only a part of.

Maybe you can open the project and have a re-build to confirm it. Thx.


[dv, spi] Add smaller delay for spinwait on busy bit

Sometimes SPI busy bit pulse might be smaller than the default spinwait interval so it can be missed.

@rswarbrick and I had a quick look at this, and don't quite follow the reasoning for the change.
https://github.com/lowRISC/opentitan/blob/9af9cadd1e40013845c232eee762e1933d9a9289/hw/top_earlgrey/dv/env/seq_lib/chip_sw_spi_passthrough_collision_vseq.sv#L121-L124
The test goes into this routine only if the busy bit is active (m_spi_host_seq.rsp.payload_q[0][0] != 0) when read by the previous upstream spi_agent 'SpiFlashReadSts1' transfer.
The routine spi_host_wait_on_busy() then spawns more 'SpiFlashReadSts1' transfers (with the configurable delay/timeout) from the upstream spi_agent that check the value of the busy bit, and returns as soon as the busy bit is read back as 0.
Even if the busy bit was only pulsed high for a very short time the first time it was read, by the time it is read again by the wait_on_busy() routine it will be read as zero. And then will remain at zero, as there is only the single thread of execution working through all the opcodes in the test.
Shortening the interval between reads then doesn't make sense to me in this context, as I don't think there is anything to 'miss'?

Thank you @hcallahan-lowrisc for the review. Maybe I don't understand spi_host_wait_on_busy() and the polarity of m_spi_host_seq.rsp.payload_q[0][0].  m_spi_host_seq.rsp.payload_q[0][0] != 0 means SPI bus is busy, meaning there is a transaction on SPI bus? If yes, why spi_host_wait_on_busy() sends another transaction during this time?

Hi @sha-ron, thanks for your message. The busy bit (read back as m_spi_host_seq.rsp.payload_q[0][0]) is a typical spi-flash feature which means that a (slow) internal write operation is in progress. The user of the flash (the upstream spi_host agent in this test) can then poll this bit to determine the current status of the flash, awaiting it to become ready for the next operation.
The spi_host_wait_on_busy() is doing this polling operation. Reading back the bit as 1 means that the block is busy, and it needs to poll again to find out when this bit becomes 0. So it's not that the SPI bus is busy, but that write-opcodes in this test cause the OpenTitan SPI device block to automatically sets the busy bit, which remains set until OT software processes the uploaded command and then clears the busy bit.

Closing this PR since it doesn't solve the issue.


.parameters.json would be nice to have back

A few of the investments we're thinking of making on the .NET side would lend themselves very-very well to having support for individual module parameter JSON files added back in. Take a complex app with 5 container apps in it, for example, but with only 2-3 variations per app in terms of their settings or environment variables. If customers could have the JSON approach to editing these settings and having single-project capabilities for editing variables, it could be a lot less daunting for developers who don't-yet-know Bicep but want to take advantage of it.
CC @jongio, with whom I met today on this, as he'll have more context for the team.

Was also chatting with @bradygaster today about some of these scenarios. @rajeshkamal5050 would be good to prioritize smoothing this out next iteration.

Thanks @savannahostrowski - @rajeshkamal5050 we essentially have some plans we're trying to shore up for November, and one of the things we want to invest in is a tighter integration option between .NET and AZD, and if it's possible that we could get these JSON files back in, or, be updated on how individual modules can be parameterized via JSON, it'd be super-helpful as we're creating click-throughs and mock-ups.

I do wonder how much of this you could build outside of azd today.  Bicep already has a loadJsonContent feature that allows you to load and use a JSON document as part of your template.  It seems like you could use that to get most of the way to what you want, without having to involve azd at all.
azd does allow you to do replacements, based on values in the environment, in our .parameters.json files (as well as some other intrinsics, like looking up a secret from KeyVault or generating a new one if it didn't exist), and you wouldn't be able to leverage that with the above approach, because this whole scheme would be transparent to azd.  I could imagine some hacks there (like using a pre-provisioning hook to modify the .prameters.json files) but that's definitely a place where doing some azd specific work could yield improvements.

I specifically tried using <modulename>.parameters.json to no avail. It seems as if the per-module parms files was recently deprecated or something. Apologies if I'm using it wrong [open to feedback/guidance].

I specifically tried using .parameters.json to no avail. It seems as if the per-module parms files was recently deprecated or something. Apologies if I'm using it wrong [open to feedback/guidance].

IIRC, We only ever supported using a .parameters.json for the top level template (i.e. main.parameters.json corresponding to main.bicep).
What I envisioned is doing something more in the template itself, as you could do with any bicep template.
https://github.com/Azure-Samples/todo-nodejs-mongo/compare/main...ellismg:todo-nodejs-mongo:ellismg/use-json-file-with-modules
Has a little sketch of what I was thinking you could do today, with the released version of azd by just using the loadJsonContent feature in bicep to read api.settings.json (you can name this file whatever you want, I used .settings.json instead of .parameters.json to make it clear it need not be an ARM Template Parameters file) and then use that value if it is set.
This file can only contain fixed strings, not replacements like ${AZURE_ENV_NAME}, but I wonder how far you can with that today.

Let's get @wbreza input as he implemented the module.parameters.json initially and then recently removed it.  He'll have more insight.

This file can only contain fixed strings, not replacements like ${AZURE_ENV_NAME},

That's unfortunate and would mitigate me wanting to try that route. I'd be giving up the ability to read environment variables generated by main.bicep and the provisioning process. That's one of the key features of AZD I'd want.

Let's get @wbreza input as he implemented the module.parameters.json initially and then recently removed it. He'll have more insight.

Ahh - this makes me better understand what the request was here.  This support was only for container apps and was tied to how we did Azure Container App deployments when we first added the feature.  In that world, deploy for an ACA app would end up doing a bicep deployment to deploy a module that represented just the service itself.
Since this was a top level deployment, we were able to use api.parameters.json to control the parameters that were passed to the the api.bicep module.  Changed to this api.parameters.json file were not used however for the initial azd provision, only on azd deploy.
Initially I thought this was about using a parameters file to control the parameters for any arbitrary module used from the root deployment.  I see now that this is perhaps specific to ACA.
We removed the api.parameters.json support because we shifted to a world where deploy for container apps meant "just go update the image ID on the existing resource" and once we did that there was no longer an ARM deployment to configure.
Somewhat related to this was the work we were thinking about with container apps to use a yaml based file to explain the deployment instead of doing all this stuff in bicep.  I had sketched out what that might mean here.  In this world, instead of authoring bicep for each container app you want to deploy, you'd instead write a yaml file that describes your app, similar to a k8s manifest and then azd would do replacements in that yaml template and push it to the container apps control plane to have the app created. It may be more palatable to edit this file vs a bicep template, and the fact that we had separate ones per container app could be helpful.  There are probably many properties of this yaml we could have azd default if the are not set before it is pushed to the control plane, so things could be even simpler.

@bradygaster closing this one. Given the integrations happening on the .NET side which is tracked here - https://github.com/Azure/azure-dev-pr/issues/1579


Updated Nokogiri gem to fix vulnerability

the current version of nokogiri has a serious vulnerability and must be upgraded.
https://nvd.nist.gov/vuln/detail/CVE-2022-29181

@RailsCod3rFuture looking at Gemfile.lock I think the issue is wrong platform:
nokogiri (1.13.6-x86_64-darwin)

Darwin is OSX and Github actions will be something else. Please see https://nokogiri.org/tutorials/installing_nokogiri.html#supported-platforms for more details. It will need running bundle lock --add-platform x86_64-linux or similar to allow resolution for gem on compatible platform

thanks @tomdracz | made the change

Thanks @RailsCod3rFuture I will get this running on my machines and will merge if all good 👍


Update bookings-overview.md

Added steps to connect bookings to Facebook as the Bookings Page redirects users to this document when they are trying to connect to Facebook

@JohanFreelancer9 Please copy review

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/3029

@msbemba Please look at the rich diff. The numbering is not formatted correctly.

@kwekuako Gentle reminder please merge this PR. Thanks.


Activating extension 'kiteco.kite' failed

I have installed kite with the .dmg installer found on the website and followed the steps from there. Now I have problem with running the extension on VSCode, When I have toggled developer tools, it showed me the following error 👇.
Activating extension 'kiteco.kite' failed: Cannot find module '/Users/mohamedluay/.vscode/extensions/kiteco.kite-0.98.0/dist/kite-extension'.
Activating extension kiteco.kite failed:  Cannot find module '/Users/mohamedluay/.vscode/extensions/kiteco.kite-0.98.0/dist/kite-extension'
I did cd to the path and looked myself for the mentioned file and as expected, it didn't exist, only kite-extension.js.map file is found.
N.B
My OS: Mac Os Catalina Version 10.15
Vscode Version: 1.38.1

Closed due to age. This should hopefully no longer be an issue.


Asynchronous Collection

This is the first PR for 'asynchronous' collection of traces

Hi,
So I actually think we need more info before @rajulkumar and I start to do code review. What is the scope of this PR?

@shwsun
Hi Jethro, I think it's a valid point. I didn't write code this with an intent to submit a PR to upstream (openstack/osprofiler) but the idea is to eventually do that. My code is not of an appropriate quality right now and my implementation is not optimal in terms of speed.
I think we would need to show interesting use cases for this collection mechanism and figure out what is the overall design we want for our tracing system first.
So what does this PR actually do? This PR adds another driver for OSprofiler that sends tracepoints to another process on the same node. This process buffers tracepoints and then sends tracepoints to MongoDB. Why not to send directly to MongoDB? First, we don't want to do this on critical path. Second, we need this buffer to implement some other our ideas, like tail-based sampling or some intelligent selection of traces.

I think that is a valid point, but I would not worry too much for now.
In my point of view, the PR would be able to put the pieces of trace collection off the critical path, which means that we will have a per node agent be responsible to collect the local pieces and send them to the collector/backend later. Things that are missing here are:

how will the agents communicate with the tracepoint?
how will the agents communicate with the backend (mongodb)?
did you test it on a multi-node openstack environment and can be positive about the implementation?

Thanks for the comments.
how will the agents communicate with the tracepoints?
The file /drivers/ipc.py is used to send messages to an agent (or perform any other IPC communication).
It uses ZeroMQ to make IPC communications reliable, efficient and off critical path. You might want to read about ZeroMQ a little bit. In short, if you don't care about persistence of messages it's the best and wildly used solution to make things fast and reliable.
The file /drivers/ipc.py is just another driver and a clear way way to send traces in OSprofiler. BTW, OSprofiler has already a driver for MongoDB, Radis, Ceilometer and other databases under /drivers/.
Check the file /drivers/ipc.py and check first few steps in /agent/README.rst
how will the agents communicate with the backend (mongodb)?
Agents that are started by /agent/agent.py script just transfer all tracepoints they receive to MongoDB exactly the same way it happens if you use /drivers/mongodb.py directly from servers (Cinder, Nova, etc) right now.
Generally, I think that the design I used for /agent/agent.py is one possible way to design and built our intelligent tracing system in the future. You just spawn more green thread and add synchronization mechanism if necessary.
did you test it on a multi-node openstack environment and can be positive about the implementation?
No, I tested it only a singe node. For a multi-node environment agents just send tracepoints to remote MongoDB. So it's just a question of how you communicate with MongoDB on a remote node. MongoDB (not my code) is responsible for this part. In my code I literally do a call to MongoDB in one line.

Hi
I think adding this change will make more sense if we could actually use this with OSProfiler. As of now the agent part lies isolated i.e. initialization part is not attached to a service or an independent service.
I'll suggest we should have a per-service agent as of now because OSProfiler is initialized for every service. Later we could move to have a single agent when we have agent as part of an independent service.
This will also help to move the changes upstream.
If we want to have this as per service, I would suggest to move the agent initialization code to osprofiler/initializer.py so that an agent for each service is initialized when a service starts.
It could use the osprofiler/drivers/mongodb.py driver rather than having another one for the agent. I think this should be made configurable as well.
Also, sending the trace to the agent part should be moved to osprofiler/profiler.py
And, all these new params introduced should be added to the conf file.

@rajulkumar
Agreed.
But also this agent process is indeed just a stand alone service independent from OSprofiler. May be we can start this process when OSprofiler initializes itself.
Feel free to rework my code or let me know what my commits you want to keep. I'm busy with some other work ATM.

Agents that are started by /agent/agent.py script just transfer all tracepoints they receive to MongoDB exactly the same way it happens if you use /drivers/mongodb.py to send messages directly to MondoDB from services (Cinder, Nova, etc) right now.

This doesn't seem like the async feature we want.

For a multi-node environment agents just send tracepoints to remote MongoDB. So it's just a question of how you communicate with MongoDB that sits on a remote node. MongoDB (not my code) is responsible for this part. In my code I literally do a call to MongoDB in one line. In the same line I could send tracepoints to anywhere on the Internet.

I wouldn't not be so confident about it. Anything should be tested.

Hi guys,
I’m really confused by the “not the async feature we want” comment here?  Also, do agree we should test.
Raja
On Aug 3, 2017, at 9:49 AM, (Jethro) Shuwen Sun <notifications<EMAIL_ADDRESS>wrote:
Agents that are started by /agent/agent.py script just transfer all tracepoints they receive to MongoDB exactly the same way it happens if you use /drivers/mongodb.py to send messages directly to MondoDB from services (Cinder, Nova, etc) right now.
This doesn't seem like the async feature we want.
For a multi-node environment agents just send tracepoints to remote MongoDB. So it's just a question of how you communicate with MongoDB that sits on a remote node. MongoDB (not my code) is responsible for this part. In my code I literally do a call to MongoDB in one line. In the same line I could send tracepoints to anywhere on the Internet.
I wouldn't not be so confident about it. Anything should be tested.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://github.com/CCI-MOC/osprofiler/pull/1#issuecomment-319974196, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA1FI-jNUTJTXgvJFxQ-V0zRufh4TwMTks5sUc_agaJpZM4Ob15N.


Can't build autaxx (no alphabeta/sorter.hpp)

I'm trying to build using the instructions. I built libataxx succesfully, but I can't build autaxx. I get this error:
autaxx/tests/alphabeta_sorter.cpp:6:10: fatal error: ../src/search/alphabeta/sorter.hpp: No such file     6 | #include "../src/search/alphabeta/sorter.hpp"       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [CMakeFiles/autaxx-test.dir/build.make:199: CMakeFiles/autaxx-test.dir/tests/alphabeta_sorter.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:97: CMakeFiles/autaxx-test.dir/all] Error 2 make: *** [Makefile:103: all] Error 2
Then I commented out tests/alphabeta_sorter.cpp to ignore the test, but I got this error:
In file included from /home/jacek/ataxx/autaxx/src/options.cpp:1: /home/jacek/ataxx/autaxx/src/options.hpp:55:32: error: ‘string’ in namespace ‘std’ does not name a type    55 |     explicit String(const std::string &d) : default_(d) {       |                                ^~~~~~ /home/jacek/ataxx/autaxx/src/options.hpp:6:1: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?     5 | #include <vector>   +++ |+#include <string>     6 |  /home/jacek/ataxx/autaxx/src/options.hpp:58:25: error: ‘string’ in namespace ‘std’ does not name a type    58 |     void set(const std::string &n) {       |                         ^~~~~~ /home/jacek/ataxx/autaxx/src/options.hpp:58:20: note: ‘std::string’ is defined in header ‘<string>’; did you forget to ‘#include <string>’?    58 |     void set(const std::string &n) {       |                    ^~~ /home/jacek/ataxx/autaxx/src/options.hpp:61:10: error: ‘string’ in namespace ‘std’ does not name a type    61 |     std::string get() const { ......
I use Arch Linux.

Thanks a lot for bringing this to my attention, it should now be fixed. The missing file was because I renamed the "alphabeta" search to "tryhard" at some point in time, but I never built the test executable to check that it still compiled.
Now that the test executable does compile, I realise one of the tests fails - thankfully that test is insignificant, but I will fix it shortly.

Thanks a lot for bringing this to my attention, it should now be fixed. The missing file was because I renamed the "alphabeta" search to "tryhard" at some point in time, but I never built the test executable to check that it still compiled.
Now that the test executable does compile, I realise one of the tests fails - thankfully that test is insignificant, but I will fix it shortly.

Now that the test executable does compile, I realise one of the tests fails - thankfully that test is insignificant, but I will fix it shortly.

A libataxx FEN parsing issue has been fixed in this commit, and the libataxx version in Autaxx has been updated in this commit. All Autaxx tests should now pass.
Please let me know if you have an other issues, questions, or comments in general. Thanks.

Now that the test executable does compile, I realise one of the tests fails - thankfully that test is insignificant, but I will fix it shortly.

A libataxx FEN parsing issue has been fixed in this commit, and the libataxx version in Autaxx has been updated in this commit. All Autaxx tests should now pass.
Please let me know if you have an other issues, questions, or comments in general. Thanks.


Only copy coverage if tests were ran

Was getting build failures if the tests weren't ran https://mssqltools.visualstudio.com/CrossPlatBuildScripts/_build/results?buildId=75407&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=113d799d-a361-55ff-50d8-9c14ded0c900

Pull Request Test Coverage Report for Build 233378839

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

Totals

Change from base Build 233365281:
0.0%

Covered Lines:
18908

Relevant Lines:
44262

💛  - Coveralls


Private registry nitpicking

Rename registryCredenatial.storagePoolId -> registryId
{registryCredential,registry} should be DELETE-able (resourceMethod "DELETE" in schema)
registryCredential.{publicValue,privateValue,email} seem like they should be editable

@ibuildthecloud Comments before i start?

Based on discussions in past with @ibuildthecloud and @cjellick

registryCredential should not be editable like and ssh key. You just delete and make a new one.

I agree, do that :)

I don't know if the API framework easily allows all these, but in the response to GET /v1/registries/:id/credentials:

The resourceType should be registryCredential, not credential
createTypes should only contain registryCredential
createDefaults should be populated with registryId: ":id"

Also GET /v1/registries/:id/credentials doesn't appear to actually work, though GET /v1/registries?include=credentials does.

Ping @hibooboo2 can you look at the outstanding parts of this?  The resourceType/createTypes/createDefault ones aren't that important, but GET /v1/registries/:id/credentials should really be fixed.

I think GET /v1/registries/:id/credentials is probably the same as #395..


Maximize and size limits don't play nice together

On Windows, setting maximum window size via glfwSetWindowSizeLimits also enforces the limit when the window is maximized. This also isn't consistent with glfwSetWindowAspectRatio because the maximized window will ignore the requested aspect ratio.
This may be intended, and Aero will also preview the restricted in size window when snapping it to the top, but is not acceptable in my case, and I can't currently find workaround for it.
Maybe we could have an attribute saying whether maximized window should ignore size limits. In this case we might have to handle the size limits in WM_SIZING instead of WM_GETMINMAXINFO, but I'm not sure about further consequences.

This is inconsistent between platforms. The aspect ratio is applied on macOS but not Windows or X11 (tested with Marco).
I won't have time for this in 3.3. If anyone wants to work on it in the meantime, please leave a comment.

It's good that we found a bug in glfwSetWindowAspectRatio. However, this only makes my case even worse. I'm try to make a window respect aspect ratio, but stretch to all sides, when maximized, and have possible black bars either on left and right or top and bottom.
If maximized window is to respect both size limits and aspect ratio, it's not possible to implement what I have in my mind, because there is no MAXIMIZING (or similar) event to catch, to be able to drop the size limits and aspect ratio.
I still wish we could have an attribute, which would dictate whether a maximized window should ignore size limits and aspect ratio.

@elmindreda So what do you think about introducing an attribute that would allow to ignore size limits and aspect ratio for maximized/snapped windows?

Can we forbid maximizing the window when a maximum size limit is set? Some people might want to keep the maximizing feature, so probably a feature to switch the maximizing button's enability would be fine.


filter per project feature

@alexkovalevych i guess we forgot about this one, we can have a .gush.yml to configure for the project no? i assume this is a filter in the request of getIssues right?
Sent using Gush

ping @AlexKovalevych let's write something here of what you still remember before it gets too dark in our memories please.


Unset provisioning in progress when provisioning throws exception

If an exception will be thrown when provisioning the class instance, the
injector won't clear the inProgressMake flag for this class, causing
cyclic dependency exception when the instance for this class will be
requested again.

Could do us a favour and run the benchmarks for performance on this change and against master on a non-shared machine?
The reason I didn't fix this originally was I was scared of a slow down by having another try/catch in a hot code path. The performance report in the travis ci build.......show making this change makes the code faster which is :spocks_eyebrow.gif:

I find these benchmark quite useless - results sometimes vary vastly on consecutive runs.
Nevertheless, here you are:
https://gist.github.com/Furgas/d57d0658de87aff74e078623105841c7
Can also be of use:
https://gist.github.com/Furgas/d19ca419969337a341b58a3d6eb7b9ce

I intend to merge this, regardless of any performance benchmark, because it's a bug that should be fixed.
We could probably move the code inside make into an internal doMake method, so we only have one try / catch around the top-most make instead of every nested make.
@Danack @trowski Opinions?

I've found benchmarks on Travis to be dubious at best, the try/catch is definitely slower, but not enough that it's even worth discussing.
As for an internal doMake function, maybe it's something to look at when I (or someone else) migrates this lib to 7.1+.


add better support for Apple Silicon macs

Closing due to issues on non-macOS platforms. This PR will be rolled into a more a complete PR for third party module support to be submitted later.


Enhancement/model service cleanup

Closing because I expect this to conflict heavily with Shubham's ID->UUID work. Will revisit after we merge his changes.


fixed typo in README

Fixed a small typo in the README: psuedo -> pseudo

kind of a wash of a PR but okay. Done.


Support for IPython Audio

shinywidgets version: 0.2.4
Python version: 3.10.13
Operating System: macOS 14.1.2

Description
I was trying to insert_ui for an Audio IPython widget by doing something like
from IPython.display import display, Audio
ui.insert_ui(ui.tags.html(display(Audio(audio_file, **kwargs))))

My expectation was that this would recognize the generated IPython HTML and render it. It neither rendered not did it throw any error. I have played with output_widget and register_widget but it seems there is no audio support (or at least not one I am aware of) in ipywidgets. The end goal would be to have something like streamlit's audio UI but with autoplay, a feature they still lack
Thanks,
NelsonGon

The Audio class doesn't inherit from the ipywidgets's Widget class, so it won't be compatible with {shinywidgets}, but since it has a _repr_html_ method, you can render it this way (this requires the development version of {htmltools}):
from IPython.display import Audio

from shiny import App, render, ui

app_ui = ui.page_fluid(
    ui.output_ui("my_audio"),
)

def server(input, output, session):

    @render.ui
    def my_audio():
        return Audio("http://www.nch.com.au/acm/8k16bitpcm.wav")

app = App(app_ui, server)

Or if using the new shiny express mode, this just becomes:
from IPython.display import Audio

import shiny
import shiny.express

Audio("http://www.nch.com.au/acm/8k16bitpcm.wav")


Issue Fetching ICLOUD_Family.ics

I apologize but I am very very new to all of this and I was looking for a little guidance on syncing with my Apple Calendar using MMM-CalDAV. The issue I am running into is that in the [LOG] it is showing [CALDAV] /MagicMirror/modules/MMM-CalDAV/service/.ICLOUD_family.ics is not found. This is cascading into a lot of issues which results in the fetch of the family calendar isn't happening. I am sure I am missing something simple but I can't for the life of me find it out. Would it be possible to get some help and which direction could I investigate? Thank you all in advance.

Maybe this issue? Could you show me the full log?

I have waited and tried multiple times but that doesn't seem to be the issue. I fear that it is something really small that I am missing. Please see the Log file

The error message says you failed to login CalDAV Server (apple icloud?). Maybe there would be fails in your .env file.

Thank you for your help and I noticed that as well. So I went in and corrected the login issue but this is now showing. Thank you again for your time and help!

I seem to have the fetching issue solved by moving the base directory but I am experiencing a new issue. This new issue appears to be that the CalendarExt3 module is not loading. and the only error I am seeing in the log is:

Any ideas on how to correct this issue? I know this probably isn't the same issue any longer but any help would be greatly appreciated.


New version: VSCodium.VSCodium version <IP_ADDRESS>95

Pull request has been created with WinGet Releaser v2 :rocket:
Microsoft Reviewers: Open in CodeFlow

@wingetbot run


Support non-constant arbitrary functions

This PR adds support for better Arbitrary[FunctionN[...]] instances. It does a few things:

Removes most use of scala.util.Random.
Implement a simple linear-congruent RNG (Knuth's MMIX), that uses 64-bits of state.
Change Gen methods to explicitly receive (and pass) RNG seeds (Long values)
Introduce Cogen type to permutate RNG seed states.

Use codegen to wire up new Gen and Arbitrary instances for functions
Add a line to build.sbt to get tests running faster for ScalaJS.

There is a bit of sketchiness in Gen due to its use of Option[A] instead of A. I was forced to use .get (like a few other existing methods do) which is not ideal. I can't tell if you'd expect this to be a major problem for ScalaCheck users.
We should also add a bunch more Cogen instances. I chose not to do this until I got a sense of whether this PR was going in the right direction.
Finally, while I bet most people using arbitrary functions would use primitive types, there is a bunch of work around updating documentation to explain this approach (and how to define custom Cogen instances).
Fixes #136

Argh! Tests passed locally -- will investigate why they are failing for Travis.

Oh, OK. These are all MIMA failures.
This change is definitely not binary-compatible.

awesome! But maybe there is a same issue as my library.
https://github.com/scalaprops/scalaprops/issues/6
scala> org.scalacheck.Gen.listOfN(10, implicitly[Arbitrary[Int => Int]].arbitrary).sample.get.map((1 to 10).map(_)) foreach println
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)
Vector(-2147483648, 1, -2147483648, 205452885,<PHONE_NUMBER>, 1, -1632521114, 1, -2147483648, 243620675)

Ouch! Good catch. Yes, that's definitely a bug.

following expression should returns List((false,false), (false,true), (true,false), (true,true))
scala> org.scalacheck.Gen.listOfN(100000, implicitly[Arbitrary[Boolean => Boolean]].arbitrary).sample.get.map{f => (f(true), f(false))}.distinct.sorted
res0: List[(Boolean, Boolean)] = List((false,true), (true,false))

scala> org.scalacheck.Gen.listOfN(100000, implicitly[Arbitrary[Boolean => Boolean]].arbitrary).sample.get.map{f => (f(true), f(false))}.distinct.sorted
res1: List[(Boolean, Boolean)] = List((false,true), (true,false))

scala> org.scalacheck.Gen.listOfN(100000, implicitly[Arbitrary[Boolean => Boolean]].arbitrary).sample.get.map{f => (f(true), f(false))}.distinct.sorted
res2: List[(Boolean, Boolean)] = List((false,true), (true,false))

@non This is great stuff! I have worked in a similar direction in the scalacheck2 branch, but there I've made even more changes to Gen to also support finite generators. Due to lack of time, lots of stuff remains to be done there, though.
So the question is how to go forward. The realistic approach is probably to try to get the immutable gen and cogen into a 1.13 release, and keep my other changes for 2.0.
I'll make an attempt to dig into your solution as soon as possible.

There does seem to be a problem with Gen.oneOf combined with functions, which is demonstrated by @xuwei-k's second issue. I'm looking into it.
@rickynils that sounds fine. Let me know if you see any issues or want me to make any changes.

@non If you rebase this PR, you can bump versionNumber in build.sbt to 1.13.0, and set previousArtifact to None. That should take care of the failing Travis tests.

Alright, I just did what you suggested: I rebased against upstream/master and edited build.sbt.
I'm still working on the issue that @xuwei-k noticed with Arbitrary[Boolean => Boolean. I'll push a commit and comment here once I have that issue fixed.

These last commits fix the issue that @xuwei-k found. At this point I consider this PR feature complete.
@rickynils is there anything else you'd like me to do? Scalacheck probably needs documentation explaining how Cogen[A] works but I wasn't sure if you wanted me to tackle that in this PR or not.

:+1:

This is awesome!

Now that snapshots are published automatically, you can try out this in 1.13.0-ea2bbe6-SNAPSHOT

I found this page while looking for documentation on the topic of Cogen. I don't think there is such a thing at the moment, but you can check this Haskell blog post to get the gist of it.


iframe crashes

First of all, this might not be the right repo for this error report - apologies if I've gotten it wrong, there's a lot of stuff going in in the code 😅
I'm running mdx-bundler on Next.js, and I'm getting crashes when I have embedded Codepen iframes in my MDX files. I think it has to do with how Codepen has text within the iframe - they look something like this:

  See the Pen{" "}

    Extend Background Color
  {" "}
  by Ian Mitchell (@IanMitchell) on{" "}
  CodePen.

If I remove all of the inner content of the iframe and make it a self-closing tag, things work perfectly. When there is content between the tags though, I get the following error:
node_modules/mdast-util-from-markdown/dist/index.js:419:12: error: [inMemory] Cannot close `paragraph` (22:3-22:20): a different token (`mdxJsxTextTag`, 22:17-22:20) is open

The problem you are running into is that we need to differentiate between blocks and inline, similar to how markdown parses code:
```js
this is block level code
```

```this is inline code```

Yields:
this is block level code

this is inline code

To differentiate, we look for whether tags are on their own line:

^-- that looks like a block!
But when we see {" "}, that can’t be a block, so there’s a mismatch!
To fix that, place text together with tags:
Extend Background Color

Note also that you’re in markdown between tags, no need for {" "} hacks!:

  See the Pen
  Extend Background Color
  by Ian Mitchell (@IanMitchell) on
  CodePen.

And, you don’t need to use tags at all:

  See the Pen
  [Extend Background Color](https://codepen.io/IanMitchell/pen/BJRzML/)
  by IanMitchell ([@IanMitchell](https://codepen.io/IanMitchell)) on
  [CodePen](https://codepen.io).

I'm little confused, sorry - my understanding of Markdown is that since there's no extra linebreaks between the tag and content, the entire block should be treated as HTML and not as parsed as Markdown. This for instance would be markdown:

See the Pen [Extend Background Color](https://codepen.io/IanMitchell/pen/BJRzML) by Ian Mitchell ([@IanMitchell](https://codepen.io/IanMitchell))

But this would be HTML and remain unparsed:

See the Pen [Extend Background Color](https://codepen.io/IanMitchell/pen/BJRzML) by Ian Mitchell ([@IanMitchell](https://codepen.io/IanMitchell))

Would this just be a difference between markdown and mdx? (Commonmark ref)

You are correct, that's how it works in markdown!
But there were a lot of issues about how react developers don't expect that behavior, and requested to remove that blank line requirement, to immediately "enter" markdown again after a tag.
That does mean a different rule to differentiate is needed though. A tag on its own line seems most straight forward to me, but I'd love to hear other ideas!

Makes sense! I'm well out of my depth here so I doubt I'll be able to come up with an idea you haven't already considered, but if I think of something I'll let you know! 😄 thanks for the replies!

Looking for a little bit of direction if you don't mind - I'm thinking of writing a plugin to only apply transformations for the double newlines, but have very little experience in the area and with ASTs. Would a remark plugin be able to accomplish this? Don't want to dive into docs for a few hours or days just to find out it isn't possible 😅 . I thought that an outside plugin might be an elegant way of accomplishing this though - have the default be people expect, and something sticklers like my users and I can easily include.

to find out it isn't possible

It’s not possible on the AST level: what this is about comes before ASTs.
It would be the responsibility of micromark/micromark-extension-mdx-jsx (tokenizer). However, I don’t see it working there either.
The behavior that markdown and mdx-js/mdx@1 follow, is to search for things that “look like HTML”: strings that looks like tags but might be broken, and passing that through untouched.
We’re now actually parsing those things. Everything is available in the syntax tree. Which allows all those plugins to do their thing (see Architecture in readme).

sticklers like my users and I can easily include.

Can you expand on the difficulties your users and you are experiencing?

Heh, glad I checked - thank you! For difficulties, I'm running into problems with content creators who initially write their docs in markdown using a variety of third party applications, and then pull in and include a small subset of MDX enhancements before publishing. Since the text editors use double line breaks in their draft previews to separate HTML and Markdown, it's what they tend to use - they can visualize it "working".
I think this is pretty squarely a me problem though! I had been hoping I could maybe write a plugin to get around it, but it makes sense why it wouldn't work. Again, really appreciate the walkthrough there - thanks!

Some more ideas:
a) For plain markdown as input, pass format: 'md'
b) If you want (users) to copy/paste raw JSX into MDX, you might consider using braces:
This is MDX

{
  // This is JS(X)
}

c) If your editors aren’t React developers, you might also consider using format: md with directives. It’s not the prettiest syntax but I’ve found it easier for editors to reason about. Then you could use a remark plugin to turn the AST structure of the directives into MDX JSX nodes.

I'll take a look at those! Thanks for the ideas 😄


[backport] Fix Parameter.dtype for uninitialized parameter

Backport of #7735

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit afff85143115d5b118769d20157454e8d6aa6cbb, target branch v6) failed with status FAILURE.

CI errors unrelated

CI errors unrelated

Confirmed.


[]

I just found that you have uploaded sourcecode for the OpenGL tutorial series, why not do it in different branches, which will be much more compact and organized?


pull request for e2e test at 02/02/2017 07:15:11

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


Find the sum of all the divisors of a number

I am a gssoc21 participant. Please assign this to me. I would like to work on this in c++.

I am a gssoc21 participant. Please assign this to me. I would like to work on this in c++/c/python.

I am a gssoc21 participant. Please assign this to me. I would like to work on this and provide a detailed description of the function in C/C++/Python/Java.

I would like to work on this issue in java and python

I am a GSSoC'21 Participant,
Its my request that you please assign this issue to me.
I ensure you efficient and neat code in C++.


Change to SGCls and PredCls

Hi,
On the Visual Genome Dataset, I see that the current code will be trained in the SGDet (Scene Graph Detection) setting by default. I am wondering where I can make changes to train the model in the SGCls (Scene Graph Classification) setting and/or PredCls (Predicate Classification) setting? I am assuming that somewhere in some config file should set some related flags, but I can not find them...
Thanks!

Hi,
Since we use the DETR as a detector, the ROI align is not supported naturally.
For mimic SGCls or PredCls, you may add the extra ROI align in the model. However, it may break the architecture of SGTR and lead to sub-optimal performance.
Good luck!


Frontend not starting

Description of the issue
Since upgrading to 1.39.0-1 I cannot access Zigbee2MQTT's frontend, getting "502: Bad Gateway" instead. Other addon frontends are accessible via ingress. There's nothing interesting in logs either:
[09:16:27] INFO: Preparing to start...
[09:16:28] INFO: Socat not enabled
[09:16:28] INFO: Enabled Zigbee2MQTT watchdog with value 'default'
[09:16:28] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT with watchdog (60000,300000,900000,1800000,3600000).
This is my configuration file:
external_converters:
  - external_converters/ZigUSB.js
devices:
  - devices.yaml
groups:
  - groups.yaml
homeassistant:
  status_topic: homeassistant/status
permit_join: false
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://core-mosquitto:1883
  user: [redacted]
  password: [redacted]
  keepalive: 60
  reject_unauthorized: true
  version: 4
  force_disable_retain: false
  include_device_information: true
serial:
  port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
advanced:
  log_level: error
  pan_id: 6754
  channel: 26
  network_key: [redacted]
  availability_blocklist: []
  availability_passlist: []
  report: true
device_options: {}
blocklist: []
passlist: []
queue: {}
frontend:
  port: 8099
experimental: {}
availability: true
zigbee_herdsman_debug: false

And this is the add-on configuration:
data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/dev/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial:
  port: /dev/serial/by-id/usb-1a86_USB_Serial-if00-port0
watchdog: default

I also tried uninstalling and reinstalling the addon. The addon itself is working, I can control Zigbee devices and I get sensor data into HomeAssistant. What can I do further to debug the issue?
edit: comparing with the logs from the edge version I already had installed, I see that in the logs there should be a line Started frontend on port 8099, so the frontend is clearly not starting. Any reason for that?
Thanks.
Addon version
1.39.0-1
Platform
Core 2024.6.4
Supervisor 2024.06.2
Operating System 12.4
Frontend 20240610.1
Logs of the issue (if applicable)
[09:26:07] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT with watchdog (60000,300000,900000,1800000,3600000).
[09:27:53] INFO: Preparing to start...
[09:27:54] INFO: Socat not enabled
[09:27:54] INFO: Enabled Zigbee2MQTT watchdog with value 'default'
[09:27:54] INFO: Starting Zigbee2MQTT...
Starting Zigbee2MQTT with watchdog (60000,300000,900000,1800000,3600000).
[2024-07-02 09:27:56] info: 	z2m: Logging to console, file (filename: log.log)
[2024-07-02 09:27:57] info: 	z2m: Starting Zigbee2MQTT version 1.39.0 (commit #unknown)
[2024-07-02 09:27:57] info: 	z2m: Starting zigbee-herdsman (0.50.1)
[2024-07-02 09:27:57] info: 	zh:zstack:znp: Opening SerialPort with {"path":"/dev/serial/by-id/usb-1a86_USB_Serial-if00-port0","baudRate":115200,"rtscts":false,"autoOpen":false}
[2024-07-02 09:27:57] info: 	zh:zstack:znp: Serialport opened
[2024-07-02 09:27:57] info: 	z2m: zigbee-herdsman started (resumed)
[2024-07-02 09:27:57] info: 	z2m: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20221226,"transportrev":2},"type":"zStack3x0"}'
[2024-07-02 09:27:57] info: 	z2m: Currently 75 devices are joined:
[2024-07-02 09:27:57] info: 	z2m: living_sofa (0xa4c13894ade4c5dc): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: tradfri_remote (0xbc33acfffe0f09a9): E1524/E1810 - IKEA TRADFRI remote control (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: zigbee_repeater (0x588e81fffe0167a1): E1746 - IKEA TRADFRI signal repeater (Router)
[2024-07-02 09:27:57] info: 	z2m: cube_ovidiu (0x00158d00029ba400): MFKZQ01LM - Aqara Cube (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: cube_oana (0x00158d0002a66d07): MFKZQ01LM - Aqara Cube (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: balcony_door (0xbc33acfffe4f662d): HG06336 - Lidl Silvercrest smart window and door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: hallway (0x00124b002174e9b9): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_switch (0x00124b001832513d): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: balcony (0x00124b001800d470): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom (0x00124b002174e1e8): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bathroom (0x00124b001803b759): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: leaksensor_kitchen (0x00158d00049bb672): SJCGQ11LM - Aqara Water leak sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: kitchen (0x00124b001802b8cd): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: balcony_sensor (0x00158d0001d931a2): WSDCGQ11LM - Aqara Temperature and humidity sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bathroom_window (0xbc33acfffe516051): HG06336 - Lidl Silvercrest smart window and door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom_powerstrip (0xa4c13833b3ca0642): SM-0306E-2W - UseeLink 4 gang switch, with USB (Router)
[2024-07-02 09:27:57] info: 	z2m: litter_sensor (0x842e14fffe4365da): E1525/E1745 - IKEA TRADFRI motion sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_lamp_1 (0x2c1165fffed484d8): LED1924G9 - IKEA TRADFRI bulb E26/E27, color/white spectrum, globe, opal, 800/806/810 lm (Router)
[2024-07-02 09:27:57] info: 	z2m: leaksensor_bathroom (0x00158d00042d0c64): SJCGQ11LM - Aqara Water leak sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: outside_sensor_1 (0x00158d0005371607): WSDCGQ01LM - Xiaomi Mi temperature and humidity sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: wiswitch_oana (0x00158d00057ad98f): WXKG01LM - Xiaomi Mi wireless switch (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: wiswitch_ovidiu (0x00158d000548cf32): WXKG01LM - Xiaomi Mi wireless switch (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: outside_sensor_2 (0x00158d0005880d90): WSDCGQ01LM - Xiaomi Mi temperature and humidity sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: entrance_door_sensor (0xa4c138b45753ca4b): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: danalock (0xd0cf5efffe0399c8): V3-BTZB/V3-BTZBE - Danalock BT/ZB smartlock (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: zigbee_repeater_2 (0x84fd27fffe76e6a4): E1746 - IKEA TRADFRI signal repeater (Router)
[2024-07-02 09:27:57] info: 	z2m: kitchen_led_switch (0x588e81fffe4d59cb): E1743 - IKEA TRADFRI on/off switch (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: dorm_balcony_window_side (0xa4c138d79d4f0dc3): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: 0xa4c138f0a38bbacd (0xa4c138f0a38bbacd): TS0001_fingerbot - Tuya Zigbee fingerbot plus (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: water_fountain_general (0x00124b001001ad2b): ZigUSB - xyzroe.cc [Configurable firmware](https://ptvo.info/zigbee-configurable-firmware-features/) (Router)
[2024-07-02 09:27:57] info: 	z2m: gas_sensor (0x5c0272fffec3648f): TS0601_gas_sensor_1 - Tuya Gas sensor (Router)
[2024-07-02 09:27:57] info: 	z2m: fluffy_heated_bed_button (0x2c1165fffe027f22): E1743 - IKEA TRADFRI on/off switch (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: desk_lamp_switch (0x2c1165fffe027ec5): E1743 - IKEA TRADFRI on/off switch (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bathroom_thermostat (0x804b50fffee0f8ff): TS0601_thermostat - Tuya Radiator valve with thermostat (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: lightbar_bedroom (0xa4c138ea59863ae3): GL-LB-001P - Gledopto Zigbee USB LED bar RGB+CCT (pro) (Router)
[2024-07-02 09:27:57] info: 	z2m: bathroom_spray_button (0x8cf681fffe2bc694): E1812 - IKEA TRADFRI shortcut button (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_lamp_2 (0x2c1165fffeb96125): LED1924G9 - IKEA TRADFRI bulb E26/E27, color/white spectrum, globe, opal, 800/806/810 lm (Router)
[2024-07-02 09:27:57] info: 	z2m: dorm_lamp (0x187a3efffe60dd48): LED1924G9 - IKEA TRADFRI bulb E26/E27, color/white spectrum, globe, opal, 800/806/810 lm (Router)
[2024-07-02 09:27:57] info: 	z2m: kitchen_temp (0xa4c1383ef0baa1f3): TS0601_temperature_humidity_sensor_1 - Tuya Temperature & humidity sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_systems_cabinet (0xa4c138c52630ab41): TS0503B - Tuya Zigbee RGB light (Router)
[2024-07-02 09:27:57] info: 	z2m: living_smoke_alarm (0xa4c1389c6b2d506f): TS0601_smoke_6 - Tuya Smoke sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: hallway_light_sensor (0x54ef441000b8c979): GZCGQ11LM - Aqara Light sensor T1 (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: dorm_smoke_alarm (0xa4c138b0753fa5b3): TS0601_smoke_6 - Tuya Smoke sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_curtain_motor_left (0x54ef4410004eec00): ZNCLBL01LM - Aqara Curtain driver E1 (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_curtain_motor_right (0x54ef4410004eea6f): ZNCLBL01LM - Aqara Curtain driver E1 (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: living_curtains_button (0x04cd15fffe7fdff2): E1812 - IKEA TRADFRI shortcut button (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: fluffy_light (0x00124b0023a8bbe9): Not supported (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom_curtain_motor_left (0x54ef4410004ee9c4): ZNCLBL01LM - Aqara Curtain driver E1 (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom_curtain_motor_right (0x54ef4410004ee60f): ZNCLBL01LM - Aqara Curtain driver E1 (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom_curtains_button (0x04cd15fffe6a7b80): E1812 - IKEA TRADFRI shortcut button (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom_tv_speakers (0x842e14fffe65bbf2): E1603/E1702/E1708 - IKEA TRADFRI control outlet (Router)
[2024-07-02 09:27:57] info: 	z2m: water_fountain_motion_sensor (0x00124b002511c962): SNZB-03 - SONOFF Motion sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: desk_plug (0x00124b001b79a492): BASICZBR3 - SONOFF Zigbee smart switch (Router)
[2024-07-02 09:27:57] info: 	z2m: living_light_sensor (0x54ef4410001ff2e1): GZCGQ01LM - Xiaomi Mi light sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: rangehood_temp (0x60a423fffe44df5f): TT001ZAV20 - Tuya Temperature & humidity sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bedroom_door (0xa4c138cf4cdb5dfb): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: power_meter (0x70ac08fffe18d974): PJ-MGW1203 - Tuya Clamp meter (Router)
[2024-07-02 09:27:57] info: 	z2m: dorm_balcony_door (0xa4c138ede407f61d): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: dorm_balcony_window_top (0xa4c13844ee45fc3c): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bathroom_motion_sensor (0x00158d000942380e): RTCGQ11LM - Aqara Motion sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: water_dispenser (0x00124b0023a8bbb0): ptvo.switch - Custom devices (DiY) Multi-functional device (Router)
[2024-07-02 09:27:57] info: 	z2m: bathroom_triswitch (0x943469fffeb7a553): TS0043 - Tuya Wireless switch with 3 buttons (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: dorm_lamp_secondary (0x2c1165fffe2cbcb5): LED1925G6 - IKEA TRADFRI bulb E12/E14/E17, color/white spectrum, globe, opal, 440/450/470 lm (Router)
[2024-07-02 09:27:57] info: 	z2m: bedroom_led_strip (0xa4c1384664612ea1): GL-C-003P - Gledopto Zigbee LED Controller RGB (pro) (Router)
[2024-07-02 09:27:57] info: 	z2m: 0xa4c1380b84e05152 (0xa4c1380b84e05152): TS0201 - Tuya Temperature & humidity sensor with display (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: plant_watering_system (0x00124b0023a8be99): ptvo.switch - Custom devices (DiY) Multi-functional device (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: bathroom_door (0xa4c13826934d99a3): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: portable_lamp (0x00212effff0c73df): Hive - Phoscon Battery powered smart LED light (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: dorm_balcony (0x00124b001800ecb3): TI0001 - Livolo Zigbee switch (1, 2, 3, 4 gang) (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: goodbye_button (0x00158d000acaecef): WXKG11LM - Aqara Wireless mini switch (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: kitchen_island_led (0xa4c138b9ac052aa0): GL-C-003P - Gledopto Zigbee LED Controller RGB (pro) (Router)
[2024-07-02 09:27:57] info: 	z2m: headphones_lights (0x00124b002a554024): ZigUSB - xyzroe.cc [Configurable firmware](https://ptvo.info/zigbee-configurable-firmware-features/) (Router)
[2024-07-02 09:27:57] info: 	z2m: litter (0xa4c1381a495cc41e): TS0203 - Tuya Door sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: fluffy_heated_bed (0xa4c1389782d8b904): TS011F_plug_1 - Tuya Smart plug (with power monitoring) (Router)
[2024-07-02 09:27:57] info: 	z2m: leaksensor_centrala (0x00158d000af06fc0): SJCGQ11LM - Aqara Water leak sensor (EndDevice)
[2024-07-02 09:27:57] info: 	z2m: Zigbee: disabling joining new devices.
[2024-07-02 09:27:57] info: 	z2m: Connecting to MQTT server at mqtt://core-mosquitto:1883
[2024-07-02 09:27:57] info: 	z2m: Connected to MQTT server
[2024-07-02 09:27:57] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
[2024-07-02 09:28:02] info: 	z2m: Adding 'tradfri_remote' to group 'living_remote_lamp'
[2024-07-02 09:28:04] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/kitchen_temp', payload '{"battery":100,"humidity":47.5,"linkquality":120,"temperature":25.6}'
[2024-07-02 09:28:05] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/fluffy_heated_bed', payload '{"child_lock":"UNLOCK","countdown":0,"current":0,"energy":6.32,"indicator_mode":"off","linkquality":47,"power":0,"power_outage_memory":"restore","state":"OFF","update":{"installed_version":192,"latest_version":192,"state":"idle"},"update_available":false,"voltage":222}'
[2024-07-02 09:28:07] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/living_curtain_motor_left', payload '{"battery":46,"charging":false,"device_temperature":30,"hand_open":false,"hooks_lock":"LOCK","hooks_state":"locked","illuminance_lux":100,"linkquality":218,"motor_state":"stopped","position":97,"power_outage_count":5,"power_source":"battery","running":false,"state":"OPEN","target_position":97,"update":{"installed_version":6168,"latest_version":6168,"state":"idle"},"update_available":false,"voltage":3000}'
[2024-07-02 09:28:07] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/power_meter', payload '{"current":1.88,"energy":0.12,"linkquality":21,"power":385.8,"voltage":219.2}'
[2024-07-02 09:28:07] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/power_meter', payload '{"current":1.88,"energy":0.12,"linkquality":25,"power":385.8,"voltage":221.5}'
[2024-07-02 09:28:07] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/power_meter', payload '{"current":1.88,"energy":0.12,"linkquality":32,"power":382.1,"voltage":221.5}'

I got the same issue

For me it was the groups:
'1':
  friendly_name: living_lamp
  retain: false
  devices:
    - 0x2c1165fffeb96125/1
    - 0x2c1165fffed484d8/1
'2':
  friendly_name: desk_lamp
  retain: false
  devices:
    - 0x00124b001b79a492/1
'901':
  friendly_name: default_bind_group
  retain: false
  devices: []
'65289':
  friendly_name: living_remote_lamp
  retain: false
  devices:
    - 0xbc33acfffe0f09a9/1
    - 0x2c1165fffeb96125/1
    - 0x2c1165fffed484d8/1
'65290':
  friendly_name: fluffy_bed
  retain: false
  devices:
    - 0xa4c1389782d8b904/1

I removed the one under '65289' and everything started. Not sure how and why this impacted the startup.

I dont have a group with those high IDs. I have up to 11 groups

I don't think the high ID number was the issue. I had to recreate the group (because it was appearing in the UI but I could not delete it) with empty devices array and Zigbee2MQTT was still booting, so probably the issue lies somewhere regarding devices in a group.

I removed the contents of my groups.yaml file, and restartet zigbee2mqtt. It now starts the frontend, and I will recreate the groups.
Renaming them gives errors, but doing it anyways, and restarting seems to make it work.

I have it when i enable the availability in the frontend config. Once restarted the plugin i just get the error 502. When i remove the availability config it just works fine..

For me removing the groups section of the config file did not help, but like @jvleeuwen removing the "availability" section of my config file solved it and I can now access the zigbee2mqtt dashboard again.

Can confirm, removing “availability: true” from configuration.yaml solves it. Changing it to false still makes it not start. Re-adding it from the gui also make it not start.

I confirm as well, I commented out availabilty section in the config and the interface is now working again.

For the people here whose problem was fixed by removing the "availability: true"
Seems like there is a fix on the dev branch.
https://github.com/Koenkk/zigbee2mqtt/pull/23316
Other thread with what I believe is the same problem we had:
https://github.com/Koenkk/zigbee2mqtt/issues/23266

I have the same issue but I do not see were i can make the changes to availability.
Can some help me please?
homeassistant: true
advanced:
network_key:
- 229
- 151
- 212
- 201
- 137
- 64
- 136
- 134
- 179
- 144
- 132
- 236
- 148
- 99
- 4
- 45
pan_id: 60986
ext_pan_id:
- 217
- 16
- 140
- 125
- 64
- 233
- 74
- 71
homeassistant_legacy_entity_attributes: false
legacy_api: false
legacy_availability_payload: false
log_level: debug
mqtt:
server: mqtt://core-mosquitto
user: xxxxx
password: xxxx
keepalive: 60
reject_unauthorized: true
version: 4
serial:
port: tcp://<IP_ADDRESS>:6638
frontend:
port: 8099
device_options:
legacy: false
devices:
'0x00178801089f31cd':
friendly_name: TV meubel lamp
'0x5cc7c1fffe3ee1d8':
friendly_name: Dex Remote Control Bureau
'0xf082c0fffe215394':
friendly_name: Fenna Remote Controle
'0xf082c0fffe4a1f7c':
friendly_name: Dex Remote Control
'0x00158d0006e13fcc':
friendly_name: Dex Terrarium Warmtelamp
'0x70b3d52b60024064':
friendly_name: Combimagnetron
'0xa4c138bc652a2270':
friendly_name: Seat Leon
'0x00124b00232078f0':
friendly_name: Dex Terrarium
'0x90fd9ffffe151cbb':
friendly_name: Dock Four 2
'0x90fd9ffffe724563':
friendly_name: Dock Four 1

I deleted the 2 entries I had in groups from the UI before updating, and it has fixed it for me.

Same issue here on 1.40, nothing in the logs. Deleting the groups from configuration.yaml fixed it.

Same issue here on 1.40.1-1
Nothing in the logs.
Can confirm, removing “availability: true” from (Zigbee2MQTT) - configuration.yaml
fixed this.

Same issue here on 1.40.1-1

i've the same problem..
has anyone solved the issue?
After removing the group from configuration.yaml (because WebUI doesn't want to delete), the WebUI doesn't start anymore :(

mám stejný problém.. vyřešil to někdo?
Po odebrání skupiny z configuration.yaml (protože WebUI nechce smazat) se WebUI již nespustí :(

i reverted to version 1.39 and it works

I still have this issue, any extra info I can provide?

I tried removing the availability setting, setting it to true and false. I've tried removing all groups, etc.
In no situation I get the frontend running, I've put logging to 'info' and I don't see anything frontend related.
The only error I see is on stop:
^C[2024-11-10 12:56:47] error:  z2m: Failed to call 'Frontend' 'stop' (TypeError: Cannot read properties
 of undefined (reading 'clients')
    at Frontend.stop (/app/lib/extension/frontend.ts:114:18)
    at Controller.callExtensions (/app/lib/controller.ts:399:17)
    at Controller.stop (/app/lib/controller.ts:265:9)
    at stop (/app/index.js:165:5)
    at process.handleQuit (/app/index.js:173:13))

Any news. The same for me. Running on docker in Proxmox.


Refactor: Configuration

Refactors the way that configuration is handled so that configuration that was previously in the SDK is now in the integration.
Important: This may only be merged once there is a new release for the stormpath module that contains the changes from PR https://github.com/stormpath/stormpath-sdk-node/pull/213.
What this fixes

Integration config now in integration instead of SDK.
Social providers now enriched automatically instead of relying on hard-coded defaults in config. Because of this we now have to check if the provider exists before using it. See: https://github.com/stormpath/express-stormpath/compare/refactor-client-config?expand=1#diff-ef4e9b51bbe32bc78fc66cfd8d410182R127.

(additional)

SDK errors are now emitted through express app channel stormpath.error.

How to verify

Run $ npm test.
Either create a new, or use an existing express-stormpath app.
Assert that both configuration options website and api enable the correct endpoints for those options.
Assert that social providers are being populated by social provider directories mapped to your application.

I was reviewing this PR, and I'm happy with what I'm seeing.  I updated the Node SDK dependency and merged in master.  The get-user test is going to need to be fixed, it is depending on the old way of loading a default configuration

There is one dilemma I’d like to point out.  With this PR, we don’t bind express routes until after the configuration is resolved, which is async.  This is annoying if you’re using a live-reload environment, because a route will return 404 before the configuration is loaded, but then return our framework response once the configuration is loaded.
We should decide if we care about this use-case.  But I’ll stay that as developer who supports our Angular SDK (and the related example application) I’m frustrated by this break in my live-reload workflow.
If we were to support this use case, we’d have to synchronously load the basic configuration that tells us which routes we want to bind to.  We would then eagerly bind to the routes, then assume that any calls to the underlying SDK will be deferred until the client is actually ready (the config has been resolved).  This appears to be the case with the 0.13.0 release of the Node SDK.

@robertjd Could you explain what you mean with that the "get-user test needs to be fixed"?
Also, when it comes to live-reload, what we could do is do so that the middleware blocks until the SDK is ready. I.e. we inject the middleware, but does not continue until the middleware is ready.
I'll start working on a fix for this and let you know when you can review it :)

@robertjd Could you explain what you mean with that the "get-user test needs to be fixed"?

These tests are failing right now, because they're trying to require the old config.json:
https://github.com/stormpath/express-stormpath/blob/master/test/helpers/test-get-user.js
I love fixing tests, so I will fix those.

Also, when it comes to live-reload, what we could do is do so that the middleware waits until the SDK is ready. I.e. we inject the middleware, but doesn't let the middleware continue until the SDK is ready.

That is what I was thinking.  Do you have an idea of how you'll go about it?  It seems that we'd have to do some synchronous loading of any provided configuration files.

These tests are failing right now, because they're trying to require the old config.json. I love fixing tests, so I will fix those.

I hate fixing tests:) But awesome, I'll do my things and if you get time to fix them then please do. Else I'll just do it:)

That is what I was thinking. Do you have an idea of how you'll go about it? It seems that we'd have to do some synchronous loading of any provided configuration files.

We can still do everything async. All we need to do is that if the SDK isn't ready, then await the ready event before calling next on our middleware. I.e. so that all requests that use our middleware will queue until we get our ready event.

I want to review this but won't have time tonight, will pickup tomorrow.

I have now updated so that the new Stormpath module v0.13.2 is in use. Just noticed that I had a typo in my commit message saying version 0.13.1, but it should be 0.13.2 :)

I like the YAML file, that is a lot easier to read than JSON.. :)
There is a failing case for the unerlying option parser, can you take a look at this case I wrote?
https://github.com/stormpath/stormpath-node-config/commit/a955f6bd9670c8a0c338ca6df7875558ec9f0862
Thanks!

Yeah, I also like it a lot more :) Ah, this is related to this issue: https://github.com/stormpath/express-stormpath/issues/106
Right?

Yes!  I was trying to find that.. but my mind knew it existed, hence the test :)

Awesome! I have an idea on how to fix that, so will look into it :)

I merged https://github.com/stormpath/stormpath-node-config/pull/3 - do we need to do much here?

@typerandom please merge in master to handle conflicts, then ping me for one last review before we merge this

@robertjd It's merged in:) Please review.

So close!  I'm signing off on the code quality (disclaimer: I'm ignoring all the declared but un-used variables, but only because we haven't yet merged our eslint config :) )
But now I've got an error, @typerandom can you help me reproduce?   I'm getting an error from the extend library, using my demo angular application.
Please clone this repo and enter this folder and follow the instructions to setup this demo application:
https://github.com/stormpath/stormpath-sdk-angularjs/tree/master/example/dashboard-app
Then use npm link express-stormpath to link that demo to this branch.
When I run grunt serve, I'm getting this error:
/Users/robert/projects/express-stormpath/node_modules/stormpath-config/node_modules/cloneextend/index.js:48
 b_pos=context.indexOf(b);
               ^
TypeError: undefined is not a function
    at extend (/Users/robert/projects/express-stormpath/node_modules/stormpath-config/node_modules/cloneextend/index.js:48:16)
    at /Users/robert/projects/express-stormpath/node_modules/stormpath-config/lib/strategy/EnrichIntegrationFromRemoteConfigStrategy.js:83:15
    at Object.wrapGetResourceResponse [as _wrapGetResourceResponse] (/Users/robert/projects/express-stormpath/node_modules/stormpath/lib/ds/DataStore.js:89:12)
    at onGetResourceRequestResult (/Users/robert/projects/express-stormpath/node_modules/stormpath/lib/ds/DataStore.js:278:13)
    at Request.onRequestResult [as _callback] (/Users/robert/projects/express-stormpath/node_modules/stormpath/lib/ds/RequestExecutor.js:110:7)
    at Request.self.callback (/Users/robert/projects/express-stormpath/node_modules/stormpath/node_modules/request/request.js:123:22)
    at Request.emit (events.js:110:17)
    at Request.<anonymous> (/Users/robert/projects/express-stormpath/node_modules/stormpath/node_modules/request/request.js:1047:14)
    at Request.emit (events.js:129:20)
    at IncomingMessage.<anonymous> (/Users/robert/projects/express-stormpath/node_modules/stormpath/node_modules/request/request.js:998:12)

@robertjd I'm looking into this right now.

@robertjd This issue is now fixed:)
Btw, the un-used variables, I guess you referring to things in tests? Because everywhere else we should use strict mode and and I haven't seen those warnings. Or how are you seeing these, did you run eslint over or are you using something else?

Awesome, thanks!  We can merge this PR after we fix this issue:
https://github.com/stormpath/stormpath-sdk-node/pull/253
Regarding un-used vars, there are some in lib/stormpath.js.  I've taken the .eslintrc from the eslint branch and put it in my home folder, so it's being used by default now in my sublime :)

@typerandom woot!