[Question] zref-clever and cousins as replacement for cleveref

Sorry that this is a very soft question, probably better suited as an e-mail or message, but I haven't found a better way to do this, so here goes:
How bad of an idea is it to just take my existing LaTeX project (PhD thesis) that uses hyperref, bookmark, nameref, and cleveref, and

lose nameref (functionality is included in zref, I think)
replace cleveref with  zref-clever
replace all \labels with \zlabel, all \cref with \zcref, \lcnamecref with \zlabel[noref], etc.?

I just tried this out (I originally thought about redefining \label to \zlabel, etc., to save some work, but this would probably be a terrible idea, so did some searching & replacing, instead [EDIT: using zref-user seems to do just that, so maybe the idea wasn't that bad, after all…]) in a new git-branch, and to my great surprise, despite your warning in the documentation: not a single issue (after I fixed some incorrect usage of \zcref on my part).
I probably don't need any of the additional functionality that zref provides, but changing over resolved a bug with a \label that didn't work with pdfTeX and cleveref (but did with luaTeX and cleveref, so probably some weird encoding issue in a label name, or something), so it seems that zref is more robust, somehow… :thinking:
I also have a bit of a hard time in general finding a non-technical write-up about the usage of zref vs the traditional system (advantages, disadvantages, etc., especially for users as opposed to developers), and zref seems to live in the shadow somewhat, so I hope you have some insight into this.

How bad of an idea is it to just take my existing LaTeX project (PhD thesis) that uses hyperref, bookmark, nameref, and cleveref, and

lose nameref (functionality is included in zref, I think)

replace cleveref with  zref-clever

replace all \labels with \zlabel, all \cref with \zcref, \lcnamecref with \zlabel[noref], etc.?

I'd expect it not to be a bad idea at all. Indeed, zref-clever (plus zref-vario) aim at porting much of the functionality offered by the most prominent packages for the standard referencing system. And I think it's fair to say that it does cover the bulk of what cleveref, and varioref can do, and offers some spice of its own. nameref is covered by zref-titleref which integrates well. But I believe, and understand why it is so, that this is not really your main concern.

I just tried this out (I originally thought about redefining \label to \zlabel, etc., to save some work, but this would probably be a terrible idea, so did some searching & replacing, instead [EDIT: using zref-user seems to do just that, so maybe the idea wasn't that bad, after all…]) in a new git-branch, and to my great surprise, despite your warning in the documentation: not a single issue (after I fixed some incorrect usage of \zcref on my part).

I'm actually very glad to hear your experience with it went so smoothly.  :-)
But a comment/recommendation in that regard. It is indeed not a good idea to simply \let\label\zlabel. Because there are places where you'll need \label and no other. Prominent example are amsmath math environments, but other corners may arise.

I probably don't need any of the additional functionality that zref provides, but changing over resolved a bug with a \label that didn't work with pdfTeX and cleveref (but did with luaTeX and cleveref, so probably some weird encoding issue in a label name, or something), so it seems that zref is more robust, somehow… thinking

Curious that you mention not needing zref additional functionality and gives an example of concrete problem you are facing for which the difference probably stems from zref's capacities. cleveref does not support labels with babel active characters (I'm supposing this is the reason of the problem you are facing), zref does, and zref-clever benefits from it.
But there are other user facing features that zref-clever provides which would be difficult to offer in the absence of the data flexibility of zref. For example, if you are using subcaption, you can just \zcref[ref=subref]{fig:1} to get a reference to the subfigure. This can also be used to build fancy ranges without the need to process the references to "strip the common prefix", and so on.
Regarding "robustness", zref is by Heiko Oberdiek, and currently maintained by the LaTeX Team, mainly Ulrike Fischer, as far as I get. It doesn't get any better than that. You cannot say the same of zref-clever though.  ;-)  But I'm working on a solid base, which is something.
There are also things that zref-clever provides, which are actually quite independent of zref, that may or may not be important to you. If you write in German, there's noun declension support. For languages which have inflected articles and passing prepositions (e.g. European languages of Latin origin), there's also some support for avoiding being tripped by automation regarding the reference's surrounding material.

I also have a bit of a hard time in general finding a non-technical write-up about the usage of zref vs the traditional system (advantages, disadvantages, etc., especially for users as opposed to developers), and zref seems to live in the shadow somewhat, so I hope you have some insight into this.

Unfortunately, this is a little hard. The difference is either stated quite trivially, or quite technically. The trivial version is that the standard referencing system only allows for a hard-coded number of "fields" to be stored in a label, originally two, extended to five by hyperref. cleveref extends it further. zref works with the concept of a label being an extensible property list, to which you can add properties at will, and without fuss.
But well, you ask me, if hyperref and cleveref did extend the number of fields, what is the big deal? And that's where it gets technical. hyperref and cleveref can only do so by redefining core kernel commands, such as \label, \refstepcounter and so on. And the problem arises because these changes have to be somehow coordinated for different packages which want "a piece of the pie", and may break yet other ones which expect different definitions of these commands. So that's where much of the load order requirements and compatibility issues from these packages come from. zref-clever does not need to touch any of zref's or kernel commands, because zref is extensible out of the box.
But, back to what I think is your main concern. zref, and thus zref-clever, are arguably less subject to compatibility issues resulting from these technical issues. On the other hand, the fact that the standard referencing system is, well, standard, means you can expect pretty much any package or document class which needs special handling of labels and references to support it. Unfortunately, you not expect the same for zref. So there's "less compatibility issues" for one cause, and "more compatibility issues" from the other. Unfortunately, I don't know well the actual limits of compatibility of zref, a lot of work went on so that is "wide enough", but I don't expect to be unrestricted. cleveref has documented a number of known limitations. zref-clever is not old enough to know them, it depends on people trying it out and testing stuff that I could not conceive.
Whether you should change to using zref-clever is really a question only you can answer, it depends on your requirements, your outlook, etc. Some things I think you should consider though:

Some things may work better, and some things may work worse. You have to ponder the trade-offs. You should check if all packages you consider critical do work well. You can also take into consideration that zref-clever can be used in parallel with the standard referencing system, they are independent (technically, even with cleveref, you just have to disable the amsmath compatibility module for that). So if it "mostly works" and lets you down in just a few non-essential cases, you can fall back to \label and \ref with no problem.
You mentioned the "despite your warning" in the docs, and I think you should ponder that carefully too. As I've written there, the experimental status of the package doesn't mean I expect it to be "edgy". If you take a look of how thorough the regression test suite is, you'll find out why your experiment went well. But I do not consider the package to be yet "settled", user interface included. That means breaking changes, which require you adjust your document may well occur, and you should be comfortable, or at least willing, to handle this kind of episode occasionally. cleveref, varioref and hyperref/nameref on the other hand are old an established packages. So, if stability is of paramount concern to you, you should ponder this sternly.
Know why your are changing, if you do. If you have concrete problems, or aims at new functionality, or are just plain curious or adventurous, its fine. If it is simply to handle a weird character in a label, I'd recommend you to rename the label instead.

That said, I do hope zref-clever and "cousins" are useful to you. :-)

I'd expect it not to be a bad idea at all. Indeed, zref-clever (plus zref-vario) aim at porting much of the functionality offered by the most prominent packages for the standard referencing system. And I think it's fair to say that it does cover the bulk of what cleveref, and varioref can do, and offers some spice of its own. nameref is covered by zref-titleref which integrates well. But I believe, and understand why it is so, that this is not really your main concern.

Ah, nice! I somehow expected things to be more delicate, so to speak. :smile:

I'm actually very glad to hear your experience with it went so smoothly. :-)

I hope this didn't come over as something like ‘I'm surprised this works, at all’. I think I just misinterpreted the warning to mean that it might not be a good idea to use the package specifically as a drop-in replacement, yet.

But a comment/recommendation in that regard. It is indeed not a good idea to simply \let\label\zlabel. Because there are places where you'll need \label and no other. Prominent example are amsmath math environments, but other corners may arise.

Okay, it seems I was a bit misinformed, then. I somehow also thought that using zref with the user option actually redefined \label to use \zlabel (probably in some clever way to avoid mishaps), but apparently it explicitly doesn't do that, so I don't know where I got that from…
By the way, do you have a reference for the amsmath problems? I couldn't find anything in the zref manual, except for a bug fix concerning amstext from 2022-03-08. Are these issues of the ‘it usually works, but in rare cases it might not’ kind? :grinning:

Curious that you mention not needing zref additional functionality and gives an example of concrete problem you are facing for which the difference probably stems from zref's capacities. cleveref does not support labels with babel active characters (I'm supposing this is the reason of the problem you are facing), zref does, and zref-clever benefits from it.

:D I guess I thought about something else when I wrote ‘additional functionality’, like absolute page numbers, and so on (which I don't really have a use case for, yet). The issue you describe seemed more like a bug fix to me.
I'm also not really sure what my problem was, exactly. I don't think I'm using any active characters in my labels (I think this usually happens with french and colons, right?), because I only use ngerman and british for babel, and I'm pretty sure I'm not using any of the German active characters (and AFAIK british doesn't define any). A sneaky Č sneaked in somewhere, though, but using luatex seems to have fixed that (which I only switched to because I didn't notice the Unicode in this one label). The error I got didn't seem to point there, though, but it's possible that's just a result of LaTeX's error messages not being terribly helpful all the time… Nonetheless, something like luatex or xetex is probably the future, anyway, so I don't mind using it, although I've fixed the label, already (, I think).

But there are other user facing features that zref-clever provides which would be difficult to offer in the absence of the data flexibility of zref. For example, if you are using subcaption, you can just \zcref[ref=subref]{fig:1} to get a reference to the subfigure. This can also be used to build fancy ranges without the need to process the references to "strip the common prefix", and so on.
There are also things that zref-clever provides, which are actually quite independent of zref, that may or may not be important to you. If you write in German, there's noun declension support. For languages which have inflected articles and passing prepositions (e.g. European languages of Latin origin), there's also some support for avoiding being tripped by automation regarding the reference's surrounding material.

 I've just been using my current set of packages with all their limitations for so long, that a lot of things just don't come to mind. I'm probably not going to use much German in my document, but the features you mention might still come in handy at some point. :+1:
I also think that cleveref had a problem with the british option in babel (that is, not recognising it, I think, so I have to tell cleveref to use US(?)-english instead), that, AFAIR, didn't occur with zref-clever, so another advantage. :)

Unfortunately, this is a little hard. The difference is either stated quite trivially, or quite technically. The trivial version is that the standard referencing system only allows for a hard-coded number of "fields" to be stored in a label, originally two, extended to five by hyperref. cleveref extends it further. zref works with the concept of a label being an extensible property list, to which you can add properties at will, and without fuss.
But well, you ask me, if hyperref and cleveref did extend the number of fields, what is the big deal? And that's where it gets technical. hyperref and cleveref can only do so by redefining core kernel commands, such as \label, \refstepcounter and so on. And the problem arises because these changes have to be somehow coordinated for different packages which want "a piece of the pie", and may break yet other ones which expect different definitions of these commands. So that's where much of the load order requirements and compatibility issues from these packages come from. zref-clever does not need to touch any of zref's or kernel commands, because zref is extensible out of the box.

Thanks for the write-up! To me as a non-programmer, whenever I read the documentations of (and the occasional tex.stackexchange.com post about) cleveref and friends, especially when it came to limitations, the packages always kind of seemed like ‘hacks’ to me (very well-made ones, of course, but still…), so I think I get what you mean. :D

Regarding "robustness" and "living in the shadow", zref is by Heiko Oberdiek, and currently maintained by the LaTeX Team, mainly Ulrike Fischer, as far as I get. It doesn't get any better than that (you cannot say the same of zref-clever though, but I'm working on a solid base, which is something). And this is quite the contrary of "shadow". True, despite the top-notch infrastructure, zref's user interface is spartan, to say the least. And that probably is a big factor in explaining why its user base is relatively small, and normally relegated to uses of one or another of its specialized features. But I hope zref-clever improves the situation in this area, and makes it more accessible and interesting to a wider audience.

The ‘living in the shadow’ part was actually aimed more at utilisation by users (or the [perceived?] lack thereof), not so much at the quality of the package. I was actually very surprised when I first stumbled upon the package (by chance!), not only by how old it already was, who its author is, but also that you basically never see it mentioned anywhere (at least I don't). But maybe that's just a kind of core LaTeX problem. Users often seem to lack behind a lot when it comes to adopting new stuff and changing their ways. Case in point: you often still see people use $$ $$ for displaymath/\[ \], although LaTeX is almost 40 years old, now.

But, back to what I think is your main concern. zref, and thus zref-clever, are arguably less subject to compatibility issues resulting from the technical issues mentioned above. On the other hand, the fact that the standard referencing system is, well, standard, means you can expect pretty much any package or document class which needs special handling of labels and references to support it. Unfortunately, you not expect the same for zref. So there's "less compatibility issues" for one cause, and "more compatibility issues" from the other. Unfortunately, I don't know well the actual limits of compatibility of zref, a lot of work went on so that is "wide enough", but I don't expect to be unrestricted. cleveref has documented a number of known limitations. zref-clever is not old enough to know them, it depends on people trying it out and testing stuff that I could not conceive.
Whether you should change to using zref-clever is really a question only you can answer, it depends on your requirements, your outlook, etc. Some things I think you should consider though:

Some things may work better, and some things may work worse. You have to ponder the trade-offs. You should check if all packages you consider critical do work well. You can also take into consideration that zref-clever can be used in parallel with the standard referencing system, they are independent (technically, even with cleveref, you just have to disable the amsmath compatibility module for that). So if it "mostly works" and lets you down in just a few non-essential cases, you can fall back to \label and \ref with no problem.

You mentioned the "despite your warning" in the docs, and I think you should consider that carefully too. As I've written there, the experimental status of the package doesn't mean I expect it to be "edgy". If you take a look of how thorough the regression test suite is, you'll find out one reason why your experiment went well. But I do not consider the package to be yet "settled", user interface included. That means breaking changes, which require you adjust your document may well occur, and you should be comfortable, or at least willing, to handle this kind of episode occasionally. cleveref, varioref and nameref (part of hyperref) on the other hand, are old an established packages, and excellent ones. So, if stability is of paramount concern to you, you should ponder this sternly.

Know why your are changing, if you do. If you have concrete problems, or aims at new functionality, or are just plain curious or adventurous, its fine. If it is simply to handle a weird character in a label, I'd recommend you to rename the label instead.

That said, I do hope zref-clever and "cousins" are useful to you. :-)

Thanks again for your detailed response! I'm pretty sure now that I'm going to switch to zref and zref-clever, after all. As a user of a ‘rolling release Linux’ I'm kind of used to stuff occasionally ‘breaking a bit’, and I usually try to ‘keep up with the times’ when it comes to software (although that doesn't seem to be the mentality of the typical LaTeX user :laughing:), so I guess this is a good fit. Switching back and forth also doesn't seem to be particularly difficult (mostly a bit of [regex-powered] search and replace), so the ‘danger’ is probably non-existent, anyway.
I'll try to report any problems I encounter in the future! And I'm very sorry for the late response!

I'm actually very glad to hear your experience with it went so smoothly. :-)

I hope this didn't come over as something like ‘I'm surprised this works, at all’.

Not at all, I really meant it.

Okay, it seems I was a bit misinformed, then. I somehow also thought that using zref with the user option actually redefined \label to use \zlabel (probably in some clever way to avoid mishaps), but apparently it explicitly doesn't do that, so I don't know where I got that from…

No, zref is really an independent system. I'm not sure where from you got the idea that zref-user redefines \label, and I was wondering if you had taken a look at its definition:
\newcommand*\zlabel{%
  \ifx\label\ltx@gobble
    \expandafter\ltx@gobble
  \else
    \expandafter\zref@wrapper@babel\expandafter\zref@label
  \fi
}%

What is actually going on there is Oberdiek being smart. There are several places in the "ecosystem" in which \label should not do anything for one reason or another. So, instead of waiting for all packages to do the same for \zlabel, he handles by making \zlabel get a "ride", it essentially says "if \label is disabled, disable \zlabel as well, otherwise, run \zref@label" which is the internal version of it.

By the way, do you have a reference for the amsmath problems? I couldn't find anything in the zref manual, except for a bug fix concerning amstext from 2022-03-08. Are these issues of the ‘it usually works, but in rare cases it might not’ kind? grinning

From zref, the closest to an "official statement" I think is: https://tex.stackexchange.com/a/402297. Which essentially says "amsmath does not support \zlabel", and it is true. This because amsmath has a lot of work to do to get this working for \label in the multiple passes the equations must go through, and it is highly unlikely that this will ever be made for \zlabel too, considering the stability requirements of the package.
What zref-clever does is make \label used inside an amsmath environment set both a \label and a \zlabel with the same name. The basic concept used by zref-clever is in my answer to the same question: https://tex.stackexchange.com/a/618438. The method is general, so it should work reliably (hopefully, that is, and do so as far as my testing went), you just have to use a \label there. Then you can make a \zref or \zcref reference to that label (or a \ref).
You have info about this in zref-clever's manual. Some examples in the how-tos section and the discussion about the amsmath compatibility module. And more details in the code documentation, if you so fancy.

Thanks for the write-up! To me as a non-programmer, whenever I read the documentations of (and the occasional tex.stackexchange.com post about) cleveref and friends, especially when it came to limitations, the packages always kind of seemed like ‘hacks’ to me (very well-made ones, of course, but still…), so I think I get what you mean. :D

It's really "the only way to do it". If you look at hyperref and cleveref source, you'll find that they redefine a lot of stuff from a lot of packages. The core of zref is made into an independent system, but even some of its modules have no alternative, for example zref-titleref has to do a similar work as nameref has to for captions, sections and so on.

Thanks again for your detailed response! I'm pretty sure now that I'm going to switch to zref and zref-clever, after all.

Welcome!  :smile:

As a user of a ‘rolling release Linux’ I'm kind of used to stuff occasionally ‘breaking a bit’, and I usually try to ‘keep up with the times’ when it comes to software (although that doesn't seem to be the mentality of the typical LaTeX user laughing), so I guess this is a good fit. Switching back and forth also doesn't seem to be particularly difficult (mostly a bit of [regex-powered] search and replace), so the ‘danger’ is probably non-existent, anyway.

That's my view too. It should be reasonably safe and straightforward, as long as the user is competent enough (and willing) to handle these kinds of adjustments. Which, of course, as you certainly know, is frequently not the case, and it is these whom the warning is really meant to safeguard.

I'll try to report any problems I encounter in the future!

Please do!


Fix security protocol configuration problem

Description
Fix for security protocol not honoured problem
Type of change

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

Testing steps
Please describe how the change was tested locally. If, for some reason, the testing was not done or not done fully, please describe what are the testing steps.
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

ah, copy & paste missfire :)

The problem is if I used this as source of truth for other copy&pastes.... I have to check


enable short test name to be printed for TC and ARM figures

Closes #557

Hey @tomvothecoder, the CI/CD Build workflow failed in the pre-commit stage, I'm trying to exclude example/e3sm_diags_for_cmip/ from pre-commit hooks, would you advice how to modify .pre-commit-config.yaml for this case? Thank you.

Hi @chengzhuzhang, I updated the global exclude argument in .pre-commit-config.yaml to exclude examples.
The pre-commit-hooks check is now passing.

Thank you @tomvothecoder!


Can't initialize wallet from script via lnd_grpc: mnemonic phrase checksum doesn't match

Background
I'm trying to create a Python script to launch multiple independent LND instances in separate directories. As a minimal example, I've written a script which is supposed to launch BTCD, then launch LND, then initialize a wallet, then kill everything.
Doing it manually works:
btcd --txindex --simnet --rpcuser=kek --rpcpass=kek
lnd --bitcoin.active --bitcoin.simnet --btcd.rpcuser=kek --btcd.rpcpass=kek --no-macaroons --rpclisten=localhost:10001 --listen=localhost:10011 --datadir=data --logdir=log --tlscertpath=tls.cert --tlskeypath=tls.key
lncli --lnddir . --network simnet --no-macaroons --rpcserver localhost:10001 create

Your environment

lnd version 0.6.1-beta commit=v0.6.1-beta-84-gaf3b04e53f7cc2198ac41a7b6590018a2b21a599
Linux 4.15.0-50-generic #54-Ubuntu SMP Mon May 6 18:46:08 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
btcd version 0.12.0-beta
Python 3.6.5, lnd_grpc f5df6d920eb700c22d89c40e58c1ecd6571e4de0

Steps to reproduce
python3 script.py the following:
from lnd_grpc import lnd_grpc
from time import sleep
import sys
import os
import subprocess
import signal

# start BTCD
cmd = "btcd --txindex --simnet --rpcuser=kek --rpcpass=kek"
btcProcess = subprocess.Popen([cmd],shell=True, stdout=sys.stdout, stderr=sys.stderr, preexec_fn=os.setsid)
sleep(10)

# create a test directory
test_dir = os.path.join(os.getcwd(), 'test', '') # require trailing slash
os.mkdir(test_dir)
os.chdir(test_dir)

# start LND
lnd_command = "lnd --bitcoin.active --bitcoin.simnet --btcd.rpcuser=kek --btcd.rpcpass=kek --no-macaroons " + \
    "--rpclisten=localhost:10001 --listen=localhost:10011" + \
    " --datadir=data --logdir=log --tlscertpath=tls.cert --tlskeypath=tls.key"
lndProcess = subprocess.Popen([lnd_command], shell=True, stdout=sys.stdout, stderr=sys.stderr, preexec_fn=os.setsid)
sleep(10)

# initialize Lightning wallet
try:
    lnd_rpc = lnd_grpc.Client(
        lnd_dir=test_dir,
        network='simnet',
        grpc_host='localhost',
        grpc_port='10001'
        )
    lnd_rpc.gen_seed()
    lnd_rpc.init_wallet(wallet_password="123456789")
except Exception as e:
    print(e)
finally:
    # kill BTC and LND processes
    print("killing...")
    os.killpg(os.getpgid(btcProcess.pid), signal.SIGTERM)
    os.killpg(os.getpgid(lndProcess.pid), signal.SIGTERM)
    print("killed")

Expected behaviour
A new wallet initialized, then both daemons killed.
Actual behaviour
The script exits with error:
<_Rendezvous of RPC that terminated with:
	status = StatusCode.UNKNOWN
	details = "mnemonic phrase checksum doesn't match"
	debug_error_string = "{"created":"@1558974002.624020765","description":"Error received from peer ipv4:<IP_ADDRESS>:10001","file":"src/core/lib/surface/call.cc","file_line":1041,"grpc_message":"mnemonic phrase checksum doesn't match","grpc_status":2}"
>

Looks like it expects me to  enter a mnemonic phrase, but why? No wallet has been initialized yet.

You need to pass the seed mac into InitWallet, check out the documentation here: https://api.lightning.community/

Just to clarify: in the examples on the website, the RPC libraries are imported as import rpc_pb2 as ln, rpc_pb2_grpc as lnrpc, but I've been trying to use lnd_grpc (from lnd_grpc import lnd_grpc). Are those different things? (Well, the function names are different: InitWallet vs init_wallet, etc.) Should I switch?

@s-tikhomirov Yeah they are different. You can file the issue on the lnd_grpc repo.


Support multiple databases in source connector

Some data is partitioned across multiple cloudant databases, eg time series with one database per month or week etc.
We could support ingesting all of this data onto one kafka topic by allowing a list of databases to be configured.
Issues to be addressed:

Do we add a new a property, eg cloudant.dbs with a comma separated list
If so, how does it interact with the existing cloudant.db
These databases should be partitioned across tasks (analogous to how the JDBC adaptor partitions across tables

In retrospect I think we decided that configuring multiple connectors was a suitable workaround for this that keeps the code simpler. @tomblench do you agree, shall we close?

Agreed - we can always reopen if there is some demand for this, but multiple connector instances should be sufficient.


feat(tangle-dapp): Withdraw Unbonded Token Flow, UI Changes & Minor Fixes

Summary of changes

Adds withdraw unbonded tokens flow.
Removes account address displays from all the flows.
Updates all flows related container's width and padding.
Adds unbonding and unbonded token balance in rebond flow.

Note

When the user successfully withdraws the unbonded tokens, the wallet balance is not updated in real-time. The user has to reconnect the wallet to the dapp to see the balance change. This is a major UX issue. We're using viem to fetch the wallet balance, and I've spent some time trying to find solutions—polling, listening to token balance changes, etc. Unfortunately, I could not find anything. I'll keep looking and address this in future PRs. Issue created here #1943

Proposed area of change

[ ] apps/bridge-dapp
[ ] apps/hubble-stats
[ ] apps/stats-dapp
[x] apps/tangle-dapp
[ ] apps/testnet-leaderboard
[ ] apps/faucet
[ ] libs/webb-ui-components

Reference issue to close (if applicable)

Closes #1927

Screen Recordings
https://github.com/webb-tools/webb-dapp/assets/53374218/5c85e231-eb0f-41b9-85e9-23a7f3afb608
https://github.com/webb-tools/webb-dapp/assets/53374218/e5af524e-e878-493f-ae49-dc0f565231a8

@vutuanlinh2k2, it was removed because it's a copy of [PresetTypedChainId.TangleTestnet]. Additionally, [PresetTypedChainId.TangleTestnet] is configured in a way that it returns a local endpoint and a testnet RPC endpoint based on the USING_LOCAL_TANGLE environment variable.

Fixes/Changes

🚧 WIP: This PR will be ready for review once I push inflation fix.

Preview
https://deploy-preview-1944--tangle-dapp.netlify.app/


:sparkles: Add 'metrics-viewer' user to ClusterRoleBinding in metrics-viewer battery

Summary
I've been thinking about how to get metrics out of kcp for the Helm chart. The metrics-viewer battery is a great starting point, but requires you to extract the service account token out of kcp, which seems hard to do.
This PR adds another entity to the ClusterRoleBinding subjects: A metrics-viewer user. In the Helm chart, we can create a certificate for that user entity and then pass that certificate as credentials to e.g. a ServiceMonitor for prometheus-operator. That seems to be the smoothest course of action to me.
Related issue(s)
Fixes #
Release Notes
Add a `metrics-viewer` user subject to the ClusterRoleBinding created by the battery `metrics-viewer`, for which credentials can be generated outside of kcp

/lgtm
/approve
nice one :) I was missing this part :D

/kind feature


alpha matching: ensure that extracted header values are not reused between streams

Fixes an issue where the extracted header value would be persisted between streams, resulting in incorrect
matching results. Streams that should not match would match due to the previous stream having a header
set that matches the result.
Risk Level: Medium, change to alpha feature
Testing: UT test case
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: n/a

I think perhaps later on it would make sense to have the API return a implementable interface so that we can use that to wrap various string storage objects to avoid unnecessary copies, but this should fix the immediate issue.

Could you also add a test for Matcher::DataInputGetResult get when there's no requested header in the data? (to verify we get absl::nullopt here: https://github.com/envoyproxy/envoy/pull/16721/files#diff-2df46d0706764a215b8c3bf412d40761a2f7c02f8abb798aa929cad394e721b7R44)

LMK when CI issues are resolved.
/wait

/retest


Fix codecs

Issue discussed here https://github.com/scrapinghub/frontera/issues/211#issuecomment-251931413
Todo List

[X] Fix msgpack codec
[x] Fix json codec
[x] Integration test with Hbase backend(manually)

This PR fixes #211
Other things done in this besides the todo list:

Added two methods _convert and reconvert in json codec. These are needed as JSONEncoder accepts strings only as unicode. Method convert converts objects recursively to unicode and saves their type.
made the requirement of msgpack >=0.4 as only versions greater than 0.4 support the changes made in this PR.
fixed a buggy test case in test_message_bus_backend which got exposed after fixing the codecs.

Build is still failing. need https://github.com/scrapinghub/frontera/pull/235 to fix the build error.

Current coverage is 70.25% (diff: 98.27%)

Merging #233 into master will decrease coverage by 0.05%

@@             master       #233   diff @@
==========================================
  Files            68         68
  Lines          4699       4703     +4
  Methods           0          0
  Messages          0          0
  Branches        635        580    -55
==========================================
  Hits           3304       3304
- Misses         1252       1261     +9
+ Partials        143        138     -5

Powered by Codecov. Last update 9e94fc9...25deae3

managed to get the build passing by temporarily merging #235. Here is the build https://travis-ci.org/scrapinghub/frontera/builds/183326040
The msg-pack and json codecs have been fixed. What is remaining now is to run an integration test manually on the Hbase Backend.

also @Preetwinder please have a look. Your opinion would much appreciated.

@Preetwinder Since this PR overwrites some of your changes, your input here would be highly appreciated.

@voith Thanks for your hard work! I've reviewed the code and it looks good, like the idea of using tuples for the encoding to reduce the payload size as opposed to a dict (or at least that's what I think you're doing).

@chuckus Thanks for your feedback. My idea to use tuples was to create a generator, But unfortunately, JSONEncoder  doesn't support generators, so I had to use lists in some places. So the code doesn't really achieve the desired optimization.

rebased. @sibiryakov Can I get a second review? I have still not implemented your suggestion for optimization. I'm waiting for your reply on the comments that I have left behind in the code review

otherwise looks good!

LGTM.

@Preetwinder Thanks for your review. @sibiryakov Is there anything else that needs to be done to get this merged?

@Preetwinder thank you for your review. I will address your concerns tonight

sorry for keeping this PR on hold. Have been a little busy lately

NP, I had vacations too ;)

I've also tested this PR manually with the Hbase backend and it works fine for me

@sibiryakov Please don't merge this. I have to apply kmikes suggestion

I think we're close. Let's clarify all the issues and try to merge it.

@sibiryakov you're concerns are real. I try to address these issues when I get some more time. Finding it hard to manage time! But i'll get back to this as soon as possible

@sibiryakov I have tried my best to address your comments as Best as I possibly could. Please let me know if there's still any doubt. A a bit late here now(IST), so can't apply kmikes suggestion. But I hope I have atleast addressed your concerns.

Have you tried the crawling in distributed backends mode with Json codec @voith ?

@sibiryakov No I haven't. I only checked that its not blowing up anything. But I have tested msg-pack in distributed mode. I will let you know when I finish testing the json codec in distributed mode

I have changed the names of the methods _encode_recursively and  _decode_recursively as pointed out by @kmike. I have also added a docstring explaining in brief  the purpose of these methods and their design considerations.
But I didn't really get the time to test json-codec with the distributed backend. If anyone in the community could help me test it than it would be great. In any case it'll take some more time to test this thoroughly.

OK. Finall call before I merge it. @voith please rename the revert_* method name.
Anyone here has any ideas what it could break @lopuhin @kmike @Preetwinder ?

@sibiryakov Here's a suspicious line I found out. I haven't really tested it, but I have a feeling that this will break. I think as part of this PR some clean up is also needed. All strings related to scrapy should be native strings.
Also I did try to test json codec with the distributed backend. But I was having some problems with my hbase setup. I have recently shifted to mac and hbase-docker doesn't seem to work well with it. Allow me some time to work on this. But I can't promise anything. Or if anyone else has the time than fell free to continue this PR.

Yeah @voith I noticed that. But that was broken before you, and I don't see how it is connected to this PR.

@sibiryakov You're probably right. I wasn't entirely sure. But give me a day to manually test everything. I managed to setup hbase locally. I will verify and let you know

Sure @voith

@sibiryakov I have finished testing json codec in distributed mode. I can confirm that everything works. The only error I was getting has been fixed in #252. If i apply that patch to this branch than everything works fine. Also that patch has nothing to do with this PR. That bug existed before I made this PR. This PR should be merged after #252 is merged.

I expect some merge conflicts in this branch if #252 gets merged first. I will resolve them later

ok, rebase it pls.

@sibiryakov I have rebased the PR and fixed merge conflicts.
I have also squashed the commits into two: one for msg-pack and the other for json

Congratulations and thank you @voith @Preetwinder and others! 🍺 🍺 🍕

Thanks to everyone who reviewed this PR and helped me make the code better! :)

thank you for bearing all this!

No problem @sibiryakov. I personally learnt a lot from this PR.
In fact if any further issues arise due to this PR, I will fix them myself.


Assets testing

Added an even more type-safe approach to images, fonts and licenses;
Added a generic test for all assets in folder, meaning that we won't have runtime issues with all assets used;
Added tests for non-standard assets, meaning, the collections, resources and memos, so we can check out any inconsistency in all of our versioned models, meaning resources, collections and memos.

Codecov Report

Merging #82 (e0cc10c) into 0.1.0-rc.1 (57b9995) will increase coverage by 0.24%.
The diff coverage is 72.72%.

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

@@              Coverage Diff               @@
##           0.1.0-rc.1      #82      +/-   ##
==============================================
+ Coverage       73.78%   74.03%   +0.24%
==============================================
  Files              26       29       +3
  Lines             473      516      +43
==============================================
+ Hits              349      382      +33
- Misses            124      134      +10

Impacted Files
Coverage Δ

lib/application/theme/material_theme_data.dart
0.00% <0.00%> (ø)

lib/application/theme/theme_controller.dart
56.25% <0.00%> (-1.82%)
:arrow_down:

lib/application/constants/images.dart
69.23% <69.23%> (ø)

lib/application/constants/fonts.dart
75.00% <75.00%> (ø)

lib/application/utils/license_update.dart
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 57b9995...5381676. Read the comment docs.


Error when compiling shader from example #9 with shaderc on Windows

Hello!
I'm trying to compile fs_hdr_tonemap.sc from example #9 (hdr) —  with shaderc.
Everything is ok on OS X, but I have an error on Windows (see attached pictures).
Parameters:
   -f C:\bgfx\examples\09-hdr\fs_hdr_tonemap.sc
   -i C:\bgfx\src -o C:\bgfx\examples\09-hdr\fs_hdr_tonemap.bin
   --type f
   --platform windows

System: Windows 7 x64; NVIDIA GeForce GTX 750; driver <IP_ADDRESS>30; Visual Studio Community 2013 Update 4
What can be wrong?

I can't reproduce this issue.

You need the profile parameter. -p ps_3_0 for DX9, -p ps_4_0 for DX11. See the shader makefile.

Ah, I was just running make rebuild... Yeah, prefer makefile over calling directly shaderc.

Thanks. All successful when I added parameter -p ps_4_0


Number#humanize and Int#humanize_bytes should separate number and unit by a space

Discussion
Number#humanize and Int#humanize_bytes should separate the numerical value and unit by a space, according to international standards.
The kind of space should be passed as an argument.
Examples of what you may want to pass as a space argument (non-exhaustive):

nil - nothing, for the current behavior
'\u0020' resp. ' ' – a plain space, might be the most compatible space character
'\u00A0' – a non-breaking space
'\u2009' – a thin space
'\u202F' – a thin non-breaking space

References:
https://en.wikipedia.org/w/index.php?title=Space_(punctuation)&oldid=1211874527#Unit_symbols_and_numbers

The International System of Units (SI) prescribes inserting a space between a number and a unit of measurement […]

https://en.wikipedia.org/w/index.php?title=ISO_31-0&oldid=1193092792#Expressions

Numerical value and unit symbol are separated by a space. […]

Adding an option to configure a space between value and unit sounds like a good idea.
There are good practical reasons to skip the space in an environment where machine readability matters. Grepping formatted numbers is much easier if you don't have to account for whitespace, for example.
So I'd prefer to leave the current behaviour as default. Also to avoid disruptions.


Is it possible to expand node resolutions of bare module specifiers to include export conditions? While some packages are finally moving into using the technology they aren't always placing their best build in the default specifier and there is need to either point to --conditions="production" or --conditions="development" to correct this. If this is already possible, I'm likely just doing it wrong and it would be great to get some documentation added to clarify this support.

Is it possible to expand node resolutions of bare module specifiers to include export conditions? While some packages are finally moving into using the technology they aren't always placing their best build in the default specifier and there is need to either point to --conditions="production" or --conditions="development" to correct this. If this is already possible, I'm likely just doing it wrong and it would be great to get some documentation added to clarify this support.

Originally posted by @Eldeloro1 in https://github.com/Polymer/tachometer/issues/231#issuecomment-1193193204

https://github.com/Polymer/tachometer/issues/231#issue-1111577967

This, and your other comments look a good bit like spam, copy-pasting content from other users


Apostrophes are not permitted in test attributes

Aim
#[test(should_fail_with = "this can't compile")]
fn test_speech_mark_gets_escaped() {
    assert_eq(0, 1, "this can't compile");
}

Expected Behavior
It to compile the test
Bug
We get "Malformed function attribute" due to the ' (apostrophe) being used.
To Reproduce

Installation Method
None
Nargo Version
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

not too important but i found this is also the case with some of these characters .!?%^ so i assume its only spaces & alnum supported rn
error: Malformed function attribute
   ┌─ /home/sam/dev/noir-by-example/circuits/examples/assert/src/main.nr:18:1
   │
18 │ #[test(should_fail_with = "Must sum to three.")]
   │ ------------------------------------------------  test(should_fail_with = "Must sum to three.") is not a valid attribute
   │

Aborting due to 1 previous error

not too important but i found this is also the case with some of these characters .!?%^
happy to pr for some of the common punctuation if yall are open to it
error: Malformed function attribute
   ┌─ /home/sam/dev/noir-by-example/circuits/examples/assert/src/main.nr:18:1
   │
18 │ #[test(should_fail_with = "Must sum to three.")]
   │ ------------------------------------------------  test(should_fail_with = "Must sum to three.") is not a valid attribute
   │

Aborting due to 1 previous error

edit: im on 0.19.4 currently

Great catch -- Please feel free to make a PR!


⚠ ClamAV has degraded performance

In fd4b839, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 68 ms

Resolved: ClamAV performance has improved in 33727cf.


Add and display tabs

@phoniks: Jrob and I worked on setting up the tabs to be viewable on our site. We want your input on it, check it out.

Looks good to me. Merging now.


Jekyll - can we run postCreateCommand: bundle install by default?

Right now, users have to run bundle install manually.
Can we uncomment this line so it runs automatically?
https://github.com/microsoft/vscode-dev-containers/blob/v0.128.0/containers/jekyll/.devcontainer/devcontainer.json#L17
This is what I have:
"postCreateCommand": "bundle install",
Not sure you need "input.projectName"
@cmendible

Running bundle install without a Gemfile will result in: Could not locate Gemfile on startup which would be the case if you are starting a new project or you are still learning the ways of jekyll without plugins.
I'll remove the cd ${input:projectName} && but leave the comments. Thoughts?

Okay, thanks.    I was also thinking...what if we also add the serve command, so when the container loads the site is all ready to be hit.  I like that.

@cmendible Let me know your thoughts here - I'll wait on merging to avoid another update if you think this makes sense.

@jongio can you confirm that the PR can be merged? I know it's working for your usecase 😉

Merged for now. Feel free to reopen if more discussion is required.

I proposed some changes in #661 that would automatically run bundle install if a Gemfile is present. @jongio can you take a look too and let me know your thoughts?


Skip potentially flaky tests in address registration tests

Skip a potentially flaky test in the patch build. The test is still in dev branch. If it continues to be a problem in dev, then we'll look for a better solution.
Close https://github.com/aspnet/KestrelHttpServer/issues/1729

How would we detect that? We don't bind to hostnames. We rely on DNS settings to redirect requests to the machines IPv6Any endpoint

Bind to IPv4Any using a managed socket, then try to connect to the given host name from the client.

Bind to IPv4Any using a managed socket, then try to connect to the given host name from the client.

This assumes too much about how DNS is configured. What we're actually trying to test here is binding to IPv4Any and dynamic ports, not that hostname resolution is working.

It doesn't assume anything. That's why we test that it could work using a managed socket.

Maybe we're talking about different things...but the socket we open in HttpClientSlim to test this still attempts DNS resolution. The DNS resolution is the flaky part, and what I'm trying to remove from our tests. See #1729 and #1734

I'll backport https://github.com/aspnet/KestrelHttpServer/pull/1751 instead of doing this.


Blank lookup in a search should produce error

Example
search
  lookup[]

Will produce error
Searching a lookup requires at least one of record, attribute, value, or node to be present

(text may need a proofreading, since I'm not a native English speaker)
I'll probably send another PR tomorrow to fix lookup to work with partially missing variables (related  https://github.com/witheve/Eve/pull/611#issuecomment-263498342).

This change is

Oops, changes in join.ts and shared_functions.ts were incidentally in this commit. Seems like when I've decided to re-push commit with amended title, I've accidentally added a few extra things.
All fixed now, thank you!

Thanks!


5.2.2 - CrudSaga does not appear to be picking up actions

Fetch action fires, but afterwards nothing happens. I see no request in my network tab, and no subsequent actions fire. I am struggling to debug given the lib is transpiled.
redux 3.7
redux-crud-store 5.2.2
redux-saga 0.15.3
Downgrading to 5.2.1 seems to fix it, however.
My Code:
dispatched action
meta: Object,
type: 'redux-crud-store/crud/FETCH',
payload: {
  method: 'get',
  path: '/materials',
  ...
}

store.js
/* global __DEV__ */
import { createStore, applyMiddleware, compose } from 'redux';
import createSagaMiddleware from 'redux-saga';
import { routerMiddleware } from 'react-router-redux';
import { createLogger } from 'redux-logger';
import { crudSaga, ApiClient } from 'redux-crud-store'
import createHistory from 'history/createBrowserHistory';
import rootReducer from './reducer';

const client = new ApiClient({ basePath: 'http://localhost:8080' });
const crudMiddleware = createSagaMiddleware();

const history = createHistory();
const initialState = {};
const enhancers = [];

const middleware = [
  routerMiddleware(history),
  crudMiddleware
];

// add dev logging/dev tools in dev
if (__DEV__) {
  const __REDUX_DEVTOOLS_EXTENSION__ = window.__REDUX_DEVTOOLS_EXTENSION__;

  if (typeof devToolsExtension === 'function') {
    enhancers.push(__REDUX_DEVTOOLS_EXTENSION__())
  }

  const logger = createLogger({
    stateTransformer: state => ({ ...state, models: state.models.toJSON() })
  });

  middleware.push(logger)
}

const composedEnhancers = compose(
  applyMiddleware(...middleware),
  ...enhancers
);

const store = createStore(
  rootReducer,
  initialState,
  composedEnhancers
);

crudMiddleware.run(crudSaga(client));

export {
  store,
  history,
}

component
import React, { PureComponent } from 'react';
import { connect } from 'react-redux';

import { select } from 'redux-crud-store'

import { fetchMaterials } from '../../redux/modules/materials'

import './MyComponent.css';

class MyComponent extends PureComponent {
  componentWillMount() {
    const { materials, dispatch } = this.props

    if (materials.needsFetch) {
      dispatch(materials.fetch);
    }
  }

  render() {
    return (...jsx stuff)

  }
}

function mapStateToProps(state, ownProps) {
  return { materials: select(fetchMaterials(), state.models) };
}

export default connect(mapStateToProps)(DataTable)

action
const MODEL = 'materials';
const PATH = '/materials';

export function fetchMaterials(params = {}) {
  return fetchCollection(MODEL, PATH, params);
}

Ah! Excellent. Thanks a lot for reporting this. I experienced this too, and this report is super helpful.  I'll aim to push a fix for this this week, provided I get time. I  the meantime, definitely switch back to 5.2.1.

No problem. Now that I have it working, I am loving the library!

Glad to hear it! The goal of the library is to save you time, so if you find anything repetitive or have other feature requests definitely let me know and I'll see if we can add those things in a future release!
Also, if any aspect was confusing to set up let me know and I'll see if we can rework the docs.

Thanks again for reporting! This is fixed (at least on my machine) as of v5.2.3
Please test it out and re-open this issue if it still doesn't work.


Meshgrid does not work with tf.function

The following code fails at runtime:
import tensorflow as tf

def f(x, y):
    return tf.meshgrid(x, y)

@tf.function
def g(x, y):
    return tf.meshgrid(x, y)

def main():
    print(f"tensorflow version: {tf.version.VERSION}")
    all_values = tf.range(0.0, 1.0, .1)
    x = y = tf.expand_dims(all_values, -1)

    print(f(x, y))  # This works
    print(g(x, y)) # This fails

if __name__ == '__main__':
    main()

The output:
2021-10-14 12:51:02.388948: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
2021-10-14 12:51:03.952753: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcuda.so.1
2021-10-14 12:51:04.028174: E tensorflow/stream_executor/cuda/cuda_driver.cc:328] failed call to cuInit: CUDA_ERROR_NO_DEVICE: no CUDA-capable device is detected
2021-10-14 12:51:04.028234: I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:156] kernel driver does not appear to be running on this host (removed): /proc/driver/nvidia/version does not exist
2021-10-14 12:51:04.028962: I tensorflow/core/platform/cpu_feature_guard.cc:142] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 AVX512F FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
tensorflow version: 2.5.1
[<tf.Tensor: shape=(10, 10), dtype=float32, numpy=
array([[0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ],
       [0.        , 0.1       , 0.2       , 0.3       , 0.4       ,
        0.5       , 0.6       , 0.70000005, 0.8000001 , 0.9000001 ]],
      dtype=float32)>, <tf.Tensor: shape=(10, 10), dtype=float32, numpy=
array([[0.        , 0.        , 0.        , 0.        , 0.        ,
        0.        , 0.        , 0.        , 0.        , 0.        ],
       [0.1       , 0.1       , 0.1       , 0.1       , 0.1       ,
        0.1       , 0.1       , 0.1       , 0.1       , 0.1       ],
       [0.2       , 0.2       , 0.2       , 0.2       , 0.2       ,
        0.2       , 0.2       , 0.2       , 0.2       , 0.2       ],
       [0.3       , 0.3       , 0.3       , 0.3       , 0.3       ,
        0.3       , 0.3       , 0.3       , 0.3       , 0.3       ],
       [0.4       , 0.4       , 0.4       , 0.4       , 0.4       ,
        0.4       , 0.4       , 0.4       , 0.4       , 0.4       ],
       [0.5       , 0.5       , 0.5       , 0.5       , 0.5       ,
        0.5       , 0.5       , 0.5       , 0.5       , 0.5       ],
       [0.6       , 0.6       , 0.6       , 0.6       , 0.6       ,
        0.6       , 0.6       , 0.6       , 0.6       , 0.6       ],
       [0.70000005, 0.70000005, 0.70000005, 0.70000005, 0.70000005,
        0.70000005, 0.70000005, 0.70000005, 0.70000005, 0.70000005],
       [0.8000001 , 0.8000001 , 0.8000001 , 0.8000001 , 0.8000001 ,
        0.8000001 , 0.8000001 , 0.8000001 , 0.8000001 , 0.8000001 ],
       [0.9000001 , 0.9000001 , 0.9000001 , 0.9000001 , 0.9000001 ,
        0.9000001 , 0.9000001 , 0.9000001 , 0.9000001 , 0.9000001 ]],
      dtype=float32)>]
Traceback (most recent call last):
  File "/mnt/workspace/tmp/pycharm_project_951/python_gamma/meshgrid_bug.py", line 23, in <module>
    main()
  File "/mnt/workspace/tmp/pycharm_project_951/python_gamma/meshgrid_bug.py", line 19, in main
    print(g(x, y))
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 889, in __call__
    result = self._call(*args, **kwds)
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 933, in _call
    self._initialize(args, kwds, add_initializers_to=initializers)
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 764, in _initialize
    *args, **kwds))
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/function.py", line 3050, in _get_concrete_function_internal_garbage_collected
    graph_function, _ = self._maybe_define_function(args, kwargs)
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/function.py", line 3444, in _maybe_define_function
    graph_function = self._create_graph_function(args, kwargs)
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/function.py", line 3289, in _create_graph_function
    capture_by_value=self._capture_by_value),
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 999, in func_graph_from_py_func
    func_outputs = python_func(*func_args, **func_kwargs)
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/eager/def_function.py", line 672, in wrapped_fn
    out = weak_wrapped_fn().__wrapped__(*args, **kwds)
  File "/usr/local/lib64/python3.7/site-packages/tensorflow/python/framework/func_graph.py", line 986, in wrapper
    raise e.ag_error_metadata.to_exception(e)
NotImplementedError: in user code:

    /mnt/workspace/tmp/pycharm_project_951/python_gamma/meshgrid_bug.py:11 g  *
        return tf.meshgrid(x, y)
    /usr/local/lib64/python3.7/site-packages/tensorflow/python/util/dispatch.py:206 wrapper  **
        return target(*args, **kwargs)
    /usr/local/lib64/python3.7/site-packages/tensorflow/python/ops/array_ops.py:3644 meshgrid
        mult_fact = ones(shapes, output_dtype)
    /usr/local/lib64/python3.7/site-packages/tensorflow/python/util/dispatch.py:206 wrapper
        return target(*args, **kwargs)
    /usr/local/lib64/python3.7/site-packages/tensorflow/python/ops/array_ops.py:3212 ones
        output = _constant_if_small(one, shape, dtype, name)
    /usr/local/lib64/python3.7/site-packages/tensorflow/python/ops/array_ops.py:2896 _constant_if_small
        if np.prod(shape) < 1000:
    <__array_function__ internals>:6 prod

    /mnt/workspace/python/numpy/core/fromnumeric.py:3052 prod
        keepdims=keepdims, initial=initial, where=where)
    /mnt/workspace/python/numpy/core/fromnumeric.py:86 _wrapreduction
        return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
    /usr/local/lib64/python3.7/site-packages/tensorflow/python/framework/ops.py:870 __array__
        " a NumPy call, which is not supported".format(self.name))

    NotImplementedError: Cannot convert a symbolic Tensor (meshgrid/Size_1:0) to a numpy array. This error may indicate that you're trying to pass a Tensor to a NumPy call, which is not supported

This is running the AWS DLAMI for TF 2.5.1 using the following AMI: ami-09ddcd88a97c092e5. The EC2 instance type is a t3.small.

Ok! Closing this issue as it seems to be resolved ! Thanks !


Interface function of arity of zero gets inferred as having two different method signatures

Bug Report
🔎 Search Terms
overloads, infer, interfaces, arity
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about overloads

⏯ Playground Link
Playground link with relevant code
💻 Code
type Overloads<T> = T extends {
    (...args: infer A1): infer R1;
    (...args: infer A2): infer R2;
  }
  ? [(...args: A1) => R1, (...args: A2) => R2]
  : T extends {
      (...args: infer A1): infer R1;
    }
    ? [(...args: A1) => R1]
    : any;

interface A {
  hello(str: string): string
}
type HelloOverloadsOfA = Overloads<A['hello']>; // GOOD [(str: string) => string]

interface B {
  hello(): number
  hello(str: string): string
}
type HelloOverloadsOfB = Overloads<B['hello']>; // GOOD [() => number, (str: string) => string]

interface C {
  hello(): number
}
type HelloOverloadsOfC = Overloads<C['hello']>; // BAD [(...args: unknown[]) => unknown, () => number]

🙁 Actual behavior
When the interface in question contains a single implementation of a function, having arity zero, the Overloads utility type infers it as two different functions:

(...args: unknown[]) => unknown, and
() => number

🙂 Expected behavior
I expected Typescript to infer it as () => number alone. This would be consistent with how this utility type infers other methods having a single implementation, but arity > 0.

FWIW trying to do this (inferring from an overload set) in the first place is probably a very bad idea; I don't think anyone has ever done this before and it's really never been considered as a way someone might use infer.
Anyway this inference follows from the inference algorithm: It's correct for C["hello"] to match against the 2-overload variant, since it can accept some possible instantiation of both overloads. It's correct to assign all of the candidates to A1 and R1, leaving zero candidates to assign to A2 and R2 (or vice versa), and at that point the other parametrs have zero candidates so fall back to unknown, and since C['hello'] has no parameters, it correctly can accept an unknown[]. The only plausible tweak would be to say that for overloads, the candidate-splitting logic shouldn't apply, but then you'd just get [() => number, () => number] which isn't really desirable in this type either.
It's definitely undesirable but I don't see a way to change the rules here without breaking something else much more badly. If someone wants to put together a PR that shows otherwise, happy to review it, but I think the algorithm is broadly working as designed here.

While we're showing-and-telling, here's my use case in case it inspires anything.
I parse out overloads, like this, then using them like this.

…since C['hello'] has no parameters, it correctly can accept an unknown[].

Can you explain this to me, @RyanCavanaugh? Normally, if I take a function that has no parameters (arity zero) and I try to call it with any parameters at all, that's a type error.
function noArgs() {}

noArgs(); // OK

noArgs(123); // ERROR: Expected 0 arguments but got 1
noArgs.call(undefined, 123); // ERROR Expected 1 argument but got 2

noArgs(...([] as unknown[])); // ERROR A spread argument must either have a tuple type or be passed to a rest parameter.
noArgs.apply(undefined, [] as unknown[]); // Target allows only 0 element(s) but source may have more

Playground link.

I think that what @RyanCavanaugh meant here is that:
type Zero = () => void
type UnknownArgs = (...args: unknown[]) => void

type Test = Zero extends UnknownArgs ? 1 : 0 // 1

const fn: (arg: number) => void = () => {}

// this call is OK, the type expects a number, and this is satisfied
// it doesn't matter if the implementation uses this param or not
// it won't crash on the surplus of arguments
fn(100)

OK. I think I see what's going on here.
Fact 1; we all agree on arity being enforced at the call level
Nobody here disagrees that this should be a type error, because a call is being made that violates the arity of this function:
function noArgs() {}
noArgs(123); // ERROR: Expected 0 arguments but got 1

Fact #2; assignability does not concern itself with arity
Whether it's proper to call a function with a given number of arguments is one thing, but whether it should be assignable to a type is quite another. Just because this function only cares about one argument doesn't mean it shouldn't be assignable to a type that provides for more.
function reportError(errorName: string) {}
function logStuff(onError: (errorName: string, errorCode: number) => void) {
  onError('bad thing', 500);
}

logStuff(reportError); // OK. The callback will only make use of the `errorName`, but that's fine.

Conclusion
So given that everything is working, as designed, the upshot is that I'm just hosed unless #29732 gets implemented. Ultimately the reason that I've built this overload-inferring utility type is because I need to map over every overload to modify the return type of each. In short, what I want to accomplish is this:
interface ThingDoer {
  doThing(): void;
  doThing(num: number): string;
  doThing(str: string): bigint;
}

type AsycThingDoer = Asyncify<ThingDoer>;
// Produces:
// {
//  doThing(): Promise<void>;
//  doThing(num: number): Promise<string>;
//   doThing(str: string): Promise<bigint>;
// }

type Asyncify = // Impossible with Typescript as it is designed, currently.

FWIW trying to do this (inferring from an overload set) in the first place is probably a very bad idea; I don't think anyone has ever done this before and it's really never been considered as a way someone might use infer.

I'm not sure if this is the first test time that a test case like this is being introduced to the codebase but at the very least this PR "codifies" this as something that is being considered and one that should have some reliable semantics behind it.


[Bug]: WinGet Releaser action tries to modify a different PR

Is there an existing issue for this?

[X] I have searched the existing issues

Project Name
WinGet Releaser Action
What happened?
When running WinGet Releaser on the latest release for my application, it tries to access the wrong pull request.
Installer Entry #1:

	InstallerLocale: en-US
	Architecture: x64
	InstallerType: wix

Yaml file created: D:\a\HashHash\HashHash\winget-pkgs-automation\winget-pkgs\manifests\r\RussellBanks\HashHash\1.3.0\RussellBanks.HashHash.locale.en-US.yaml

Yaml file created: D:\a\HashHash\HashHash\winget-pkgs-automation\winget-pkgs\manifests\r\RussellBanks\HashHash\1.3.0\RussellBanks.HashHash.installer.yaml

Yaml file created: D:\a\HashHash\HashHash\winget-pkgs-automation\winget-pkgs\manifests\r\RussellBanks\HashHash\1.3.0\RussellBanks.HashHash.yaml
Manifest validation succeeded.
Found draft PR #59866 -> New version: Microsoft.OneDrive.Insiders version 22.093.0501.0001
API call failed: Message: russellbanks does not have the correct permissions to execute `MarkPullRequestReadyForReview`, Locations: [{Line:1 Column:80}]
error: pathspec 'Microsoft.OneDrive.Insiders-22.093.0501.0001-DBA531166B0BB5' did not match any file(s) known to git
HEAD is now at 07ea6446cd New version: SlackTechnologies.Slack version 4.26.2 (#60942)
[master 2bfa008179] New version: RussellBanks.HashHash version 1.3.0
 Date: Mon May 16 21:54:44 2022 +0000
 3 files changed, 6 insertions(+), 6 deletions(-)
 rename manifests/r/RussellBanks/HashHash/{1.2.0 => 1.3.0}/RussellBanks.HashHash.installer.yaml (68%)
 rename manifests/r/RussellBanks/HashHash/{1.2.0 => 1.3.0}/RussellBanks.HashHash.locale.en-US.yaml (96%)
 rename manifests/r/RussellBanks/HashHash/{1.2.0 => 1.3.0}/RussellBanks.HashHash.yaml (92%)
remote: Permission to microsoft/winget-pkgs.git denied to russellbanks.
fatal: unable to access 'https://github.com/microsoft/winget-pkgs/': The requested URL returned error: 403
Message: russellbanks does not have the correct permissions to execute `UpdatePullRequest`, Locations: [{Line:1 Column:60}]

It classes as a success despite not actually creating a pull request and showing an error in the logs.
logs_529.zip - The logs for the workflow

I ran this workflow several times yesterday and received the same error. Re-running the workflow today has successfully created the pull request on winget-pkgs. Therefore, it might be worth looking into the logs and seeing what went wrong here.


[vili] fix typo

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

@autoantwort Why is the bot red ?

@autoantwort Why is the bot red ?

Because the exit code from grep when it doesn't find the bad thing is 1 😳


Bump main to 5.0.0~pre1

Branch ign-launch4 has been created for the Edifice release and 4.0.0 released from that.
The main branch now corresponds to version 5.0.0~pre1, and nightlies will soon be created from this branch.
https://github.com/ignition-tooling/release-tools/issues/421

All CI is :green_circle: , this is ready to go!


Lovelace page does not render when DarkSky is unavailable

I have an issue with my Lovelace interface. I have your weather card on my main page showing data from DarkSky. But as soon as DarkSky is unavailable the Lovelace page won’t render at all.
This occurs on all devices and on every page with this card.
When DarkSky is not available. The weather.darksky sensor state is unavailable and it has only a friendly name as attribute.

This also occurs if you have a misconfigured weather entity. E.g. I made a typo when typing in my weather station, and the entire page went away.
I love the card though :)


hostname should be graft.dev instead of graft

I noticed that when I try to access graft.dev I get an error from my browser (collision error). Looking at my /etc/hosts file, I got:
<IP_ADDRESS>  graft # VAGRANT: xxx (default) / xxx

I guess it should be replaced by:
<IP_ADDRESS>  graft.dev # VAGRANT: xxx (default) / xxx

by changing this line?

Yeah, you're probably right. Not sure why I left off the .dev. I'll have it fixed in the next update.

Fixed in latest version!


versions update kernel to 4.19.52

Fixes: #1816
Signed-off-by: Eric Ernst<EMAIL_ADDRESS>

/cc @gnawux

/test

@Pennyzct  Can you PTAL and fix-up the ARM patch?

Hi~ @egernst should be late for you, so working 12/12/7 like @gnawux 😎🤐
I‘ll try it locally and do the fix-up asap.;)
BTW, you may need to add commit body to pass the static check.😜

@egernst try with @Pennyzct 's patch in kata-containers/packaging#592

/test

/test

/test

Hi~ @grahamwhaley
08:30:09 Install chronic
08:30:09
08:30:09 WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
08:30:09
08:30:09 E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarily unavailable)
08:30:09 E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
08:30:09 Failed at 18: sudo -E apt install -y moreutils

It again failed at the error which I said in tests/#1720. I will log into ARM CI node to check if there existed hanging apt process and give it back a clean environment, Then I will follow you suggestion to check whether it has auto update services running in the background.

I have cleaned up the environment and I will restart ARM CI again. ;)

almost done, could this be backported to stable branches, @bergwolf? (I think you are out of the office today, right?)

@gnawux I'm leaving in the afternoon. I can backport this once it's merged. Do you think it is ready now?

@bergwolf I think so, all the CIs are passed except the running ARM one and @Pennyzct is actively working on it.

As I commented in kata-containers/packaging#592 (here), the failure in the ARM test is caused by lacking ptp0 device, however, looks the fix in kata-containers/osbuilder#265 won't be merged soon. I'd like to merge this patch and kata-containers/packaging#592 once the required test in 592 is passed.

kata-containers/packaging#592 landed, let's merge this. And @bergwolf, please help backport to stable once you have time.


[Doc Improvement][bot-mex-sso]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
92
7
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit af1cb20:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
92
7
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 71c7e97:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
92
7
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit d22e354:
:warning: Validation status: warnings

File
Status
Preview URL
Details

msteams-platform/messaging-extensions/how-to/add-authentication.md
:warning:Warning
View
Details

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:warning:Warning
n/a (file deleted or renamed)
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md

Line 144, Column 1: [Warning: file-not-found - See documentation] Invalid file link: '~/messaging-extensions/how-to/enable-sso-auth-me.md'.

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md

[Warning: file-not-redirected - See documentation] File msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md was deleted without redirection. To avoid broken links, add a redirection.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
92
7
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
89
9
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 5b84aed:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
92
7
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
89
9
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 84d941f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-code.md
96
7
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
100
0
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
93
7
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
99
8
link
:white_check_mark:

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
95
8
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
89
9
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit e5ae15b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
:white_check_mark:Succeeded
View

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-code.md
96
7
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
100
0
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
94
6
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
99
8
link
:white_check_mark:

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
95
8
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
89
9
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/bot-sso-code.md
96
7
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
100
0
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
94
6
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
99
8
link
:white_check_mark:

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
95
8
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
89
9
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 4250758:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
:white_check_mark:Succeeded
View

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 6c2d132:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
:white_check_mark:Succeeded
View

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit a582429:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
:white_check_mark:Succeeded
View

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/add-authentication.md
89
62
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-code.md
96
7
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
100
0
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
94
6
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
99
8
link
:white_check_mark:

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
95
8
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
89
9
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit c8bb03f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
:white_check_mark:Succeeded
View

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/how-to/authentication/add-authentication.md
91
58
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-code.md
96
7
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
100
0
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
94
6
link
:white_check_mark:

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
99
8
link
:white_check_mark:

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
95
8
link
:white_check_mark:

msteams-platform/messaging-extensions/how-to/add-authentication.md
91
7
link
:white_check_mark:

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
100
2
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit be56210:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/bots/how-to/authentication/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/auth-aad-sso-bots.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/auth-flow-bot.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/bots/how-to/authentication/bot-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-manifest.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-overview.md
:white_check_mark:Succeeded
View

msteams-platform/bots/how-to/authentication/bot-sso-register-aad.md
:white_check_mark:Succeeded
View

msteams-platform/includes/messaging-extensions/msgex-sso-code.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/add-authentication.md
:white_check_mark:Succeeded
View

msteams-platform/messaging-extensions/how-to/enable-SSO-auth-me.md
:white_check_mark:Succeeded
n/a (file deleted or renamed)

msteams-platform/tabs/how-to/authentication/tab-sso-troubleshooting.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Azdev sponser link not working

Description
currently the sponser link of azdev community isn't working.Would like to fix this issue
Screenshots

Could you assign this issue to me ?