(core.extension) Path gets cut into half when parsing

I'm creating a chocolatey package with an optional parameter to change the installation path. Because the installer itself has no support for that, I'm parsing the path as a PackageParameter and put it into the registry, where the installer gets it's default path from. However, when parsing the path, I run into an issue where the path seems to correctly get into my script, but nevertheless is stored wrong into the PackageParameter-Hastable.
Here is the log of my package.
At line 1, you can see I'm using the correct quoting pattern of parsing paths with spaces.
At line 5 you can see that the path survived with full quotes. The same thing with line 24.
However, when accessing the resulting PackageParameter variable, the path got cut into half.
I have discussed this at the chocolatey google groups with Rob and he told me it's likely a bug and asked me to report hit here.

@Schroedingers-Cat Could you please try something for me.
try calling the --packageParameters with '""/Vst2x86Path:C:\Program Files (x86)\Common Files\VST2\Voxengo""'
I doubt this changes anything, but just want to make sure.
It's possible that the regex used in the parsing the package parameters don't account for spaces.
Trying the mentioned call would make sure if that is the case.

Yes, that didn't change anything.

@Schroedingers-Cat Yeah, I figured. Just wanted to make sure.
I'll assign it as a bug, a PR to fix this would be appreciated though.

@majkinetor any thoughts on this?

Its a bug:
23  17-03-17 22.38.23  C:\Users\majkinetor\go\bin
> import-module C:\ProgramData\chocolatey\extensions\chocolatey-core\chocolatey-core.psm1
> Get-PackageParameters -Parameters '/Vst2x86Path:"C:\Program Files (x86)\Common Files\VST2\Voxengo"'

Name                           Value
----                           -----
Vst2x86Path                    "C:\Program Files

Braces do this and now I see that many other funky chars in paths will do this such as $
This re is problematic: https://github.com/chocolatey/chocolatey-coreteampackages/blob/master/extensions/chocolatey-core.extension/extensions/Get-PackageParameters.ps1#L24
Adding braces fixes this problem but not other funky chars:
$re = "\/([a-zA-Z0-9]+)(:([`"'])?([a-zA-Z0-9- _\\:\.()]+)([`"'])?)?"

We need to find some good $re for this. This is however problematic as additional params may follow that are not part of the path.
I think braces should be added to RE nevertheless because (86) is every day folder.

This function would require test cases tho, due to its usage in bunch of packages.

I came up with this RE:
$re = "\/([a-zA-Z0-9]+)(:[`"'].+?[`"']|[^ ]+)?"

In other words, if there is value for parameter, after : its either one of the quotes and whatever until the other quote OR whatever but no spaces allowed
Complete function:

function Get-PackageParameters {
    [CmdletBinding()]
    param(
       [string] $Parameters = $Env:ChocolateyPackageParameters,
       # Allows splatting with arguments that do not apply and future expansion. Do not use directly.
       [parameter(ValueFromRemainingArguments = $true)]
       [Object[]] $IgnoredArguments
    )

    $res = @{}

    $re = "\/([a-zA-Z0-9]+)(:[`"'].+?[`"']|[^ ]+)?"
    $results = $Parameters | Select-String $re -AllMatches | select -Expand Matches
    foreach ($m in $results) {
        if (!$m) { continue } # must because of posh 2.0 bug: https://github.com/chocolatey/chocolatey-coreteampackages/issues/465

        $a = $m.Value -split ':'
        $opt = $a[0].Substring(1); $val = $a[1..100] -join ':'
        if ($val -match '^(".+")|(''.+'')$') {$val = $val -replace '^.|.$'}
        $res[ $opt ] = if ($val) { $val } else { $true }
    }
    $res
}

It looks better then before
> Get-PackageParameters -Parameters "/c: meh /Vst2x86Path:'C:\@Program Files (x861 $)\Common Files\VST2\Voxengo' /v2 /use:no /2 /2:'123 123' \invalid"

Name                           Value
----                           -----
2                              123 123
v2                             True
use                            no
Vst2x86Path                    C:\@Program Files (x861 $)\Common Files\VST2\Voxengo
c                              True

Oh, and looking forward to this package @Schroedingers-Cat :)

I commited this, so lets hope for the best :) I don't think it will make any problems for existing packages but  lets keep any eye on this.
I didn't PUSH the new version, if others agree to this somebody should [PUSH chocolatey-core.extension].

Some third party testing might not be bad idea before pushing.

Awesome! When can I work with this? :)

I will push this in Wednesday (in 2 days) if nobody provides any feedback.

That sounds great!
If you want, I could test it before. Just tell me what I have to do so it's on my chocolatey installation.

@majkinetor I had a quick look at it, and think it looks good. feel free to push it whenever you want.

Quick look is not enough, this should be tested as it is core functionality.
Pushing it anyway

Thank you. That makes parsing the the path via -packageParameters '/Vst2x86Path:""C:\Program Files (x86)\Common Files\Target""' work flawlessly!
Now how to parse that path but using an environment variable instead? When I do one of these:
-packageParameters '/Vst2x86Path:""${env:CommonProgramFiles(x86)}\Target""'
-packageParameters '/Vst2x86Path:"${env:CommonProgramFiles(x86)}\Target"'
-packageParameters '/Vst2x86Path:${env:CommonProgramFiles(x86)}\Target'

The result is always PackageParameters='/Vst2x86Path:${env:CommonProgramFiles(x86)}\Target'|. How can I get the variables path instead?

-packageParameters "/Vst2x86Path:'${env:CommonProgramFiles(x86)}\Target'"

Ok, that makes chocolatey work at the start of the script:
PackageParameters='/Vst2x86Path:'C:\Program Files (x86)\Common Files\Target''|

However using that variable fails. Esp. this sounds like the same bug again.

You can't use single quote ' but double quote ". WIth double quotes, Powershell will then replace environment variable and that has nothing to do with choco as it will get expanded version (and contrary, with single quotes it doesn't get replaced). Inside dobule quote string use single quote for path.

I think, there is a misunderstanding.
I used the quotes exactly as you were explaining:
-packageParameters "/Vst2x86Path:'${env:CommonProgramFiles(x86)}\Target'"

This is the debug output.
At what step did I use the wrong quotes?
I think the problem happens when the variable gets replaced with text containing spaces. env:CommonProgramFiles(x86) becomes C:\Program Files (x86)\ in most cases. But paths with spaces have to be quoted with two ". You see the problem here?

@Schroedingers-Cat  Have you read through this?
https://chocolatey.org/docs/commands-reference#how-to-pass-options-switches
I suspect that you are going to need to introduce the backtick `

Works for me:
PS C:\> import-module C:\ProgramData\chocolatey\extensions\chocolatey-core\chocolatey-core.psm1
PS C:\> Get-PackageParameters  "/Vst2x86Path:'${env:CommonProgramFiles(x86)}\Target'"

Name                           Value
----                           -----
Vst2x86Path                    C:\Program Files (x86)\Common Files\Target

@majkinetor
Your example works for me too. Do you have an idea why it fails nevertheless when accessing the package parameter during install?
@gep13
Yes, I've read that document. As it states "value" is the same as 'value', I just stick to 'value' and try to make it work with that. Or do you think "value" may work better in this scenario?

I tried some variations with
`"value`"

This pattern works (added spaces to improve readability):
-packageParameters "/InstallPath: ""`"${env:CommonProgramFiles(x86)}\Target`""" "

After that, I wanted to test if it really is the same as:
-packageParameters "/InstallPath: ""'${env:CommonProgramFiles(x86)}\Target'"" "

But that fails like before.
I think both points should get a bit more attention at the docs. It would be nice to give an example for how to pass environment variables containing spaces. With no example at the wiki it will be a lot of trial and error until you got the right combination.
Also, it will be more trial and error when the docs tell you that one quoting pattern is essentially the same as another only to find out it isn't.

Your example works for me too. Do you have an idea why it fails nevertheless when accessing the package parameter during install?

No, I have no idea. It is exactly the same as not using environment variable as Powershell itself does the translation of env. var before calling choco.


Bug: submessage failures

Currently investigating submessage failures in larger CW contracts

Clearly we need to get this fixed on mainnet. This could be a reasonable temporary solution, but of course those more knowledgeable feel free to weigh in.
cc @giansalex @faddat

also cc @JakeHartnell

Confirmed working without a downgrade. @giansalex found the issue.


Refine use of certain terms to better match expectations

Since Sui doesn't have a concept of "account" natively, it might make sense to consistently use "address" in docs and possibly other places to avoid confusion.

Thanks so much, Emma! Let me take first run at fixing this.

Hi @emmazzz , I am attaching a text file containing all of the references to all forms of "account" in docs.sui.io.
account-refs.txt
Please take a look and let me know if you have guidance for which references should remain. If not, I will use my own judgement and get plenty of review. Thanks!

I am making this issue more general to also take on related work. In addition to:

the Use "address" instead of "account" in docs issue reported here
we're also addressing the claims Sam indicated needing toning down in the Learn section as reported in Discord here:
https://discord.com/channels/916379725201563759/955861929346355290/994891241324019752
See the attached "most" references as a starting point.
finally, I am trying to standardize on *net capitalization throughout the site in:
https://github.com/MystenLabs/sui/pull/3085
https://github.com/MystenLabs/sui/pull/3086
https://github.com/MystenLabs/sui/pull/3087
https://github.com/MystenLabs/sui/pull/3088
https://github.com/MystenLabs/sui/pull/3089
https://github.com/MystenLabs/sui/pull/3090
https://github.com/MystenLabs/sui/pull/3091
https://github.com/MystenLabs/sui/pull/3092

most-refs.txt

And "common" for "simple" too
common-refs.txt
.

Reopening since we did not address the original request in #1, Use "address" instead of "account" in docs issue reported here

Asking @randall-Mysten to help with the outlier in #1 above.

Hi Emma,
I have finally gotten around to tackling the original account > address swap you requested in:
https://github.com/MystenLabs/sui/pull/4108
Please note, this change should get careful review so I don't unintentionally change the meaning of our docs. I've added numerous folks to the PR to help.
Finally, please note I left many seemingly relevant references to accounts in many pages, most notably:
https://docs.sui.io/build/devnet
https://docs.sui.io/build/devnet
This is required because we have output like this in our code:
Owner: Account Address ( 9E9A9D406961E478AA80F4A6B2B167673F3DF8BA )
So some concept of account exists. :-) That said, I reduced many references of "account address" to "address" per your recommendation. Please take a look. Thanks!


refactor(ui): cleaned up privacy settings

Corrected punctuation
Aligned style
Improved style for mobile; closes #3938

:tada: This PR is included in version 8.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Test private repo with apikey gives NameError

In #286 support for authenticated requests to the source code platform are added. However setting the apikey and running howfairis on a private repo now gives unexpected error:
Traceback (most recent call last):
  File "/home/verhoes/git/fair-software/howfairis/venv3/bin/howfairis", line 11, in <module>
    load_entry_point('howfairis', 'console_scripts', 'howfairis')()
  File "/home/verhoes/git/fair-software/howfairis/venv3/lib/python3.8/site-packages/click/core.py", line 829, in __call__
    return self.main(*args, **kwargs)
  File "/home/verhoes/git/fair-software/howfairis/venv3/lib/python3.8/site-packages/click/core.py", line 782, in main
    rv = self.invoke(ctx)
  File "/home/verhoes/git/fair-software/howfairis/venv3/lib/python3.8/site-packages/click/core.py", line 1066, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/verhoes/git/fair-software/howfairis/venv3/lib/python3.8/site-packages/click/core.py", line 610, in invoke
    return callback(*args, **kwargs)
  File "/home/verhoes/git/fair-software/howfairis/howfairis/cli/cli.py", line 66, in cli
    repo = Repo(url, branch, path)
  File "/home/verhoes/git/fair-software/howfairis/howfairis/repo.py", line 42, in __init__
    self._apikeys = get_apikeys_from_env_vars()
  File "/home/verhoes/git/fair-software/howfairis/howfairis/get_apikeys_from_env_vars.py", line 8, in get_apikeys_from_env_vars
    if apikey_github is None:
NameError: name 'apikey_github' is not defined

Nevermind random clipboard paste corrupted code.


Error: ENOENT: no such file or directory, open '/...broccoli_merge_trees/assets/assetMap.js'

I'm running into an issue using this addon with Fastboot, whereby I'm getting the following error:
Error: ENOENT: no such file or directory, open '/var/folders/5t/y4lxls052bn3ty70r4n7t5b00000gn/T/broccoli-36766MWDqPCH7NGuv/out-1103-broccoli_merge_trees/assets/assetMap.js'
    at Object.openSync (fs.js:440:3)
    at Object.readFileSync (fs.js:342:35)
    at /Users/adam/Projects/tutors/frontend/node_modules/fastboot/src/ember-app.js:189:27
    at Array.forEach (<anonymous>)
    at EmberApp.loadAppFiles (/Users/adam/Projects/tutors/frontend/node_modules/fastboot/src/ember-app.js:187:21)
    at EmberApp.retrieveSandboxedApp (/Users/adam/Projects/tutors/frontend/node_modules/fastboot/src/ember-app.js:235:10)
    at new EmberApp (/Users/adam/Projects/tutors/frontend/node_modules/fastboot/src/ember-app.js:61:21)
    at FastBoot._buildEmberApp (/Users/adam/Projects/tutors/frontend/node_modules/fastboot/src/index.js:114:17)
    at new FastBoot (/Users/adam/Projects/tutors/frontend/node_modules/fastboot/src/index.js:52:10)
    at /Users/adam/Projects/tutors/frontend/node_modules/ember-cli-fastboot/index.js:335:29
    at Layer.handle [as handle_request] (/Users/adam/Projects/tutors/frontend/node_modules/express/lib/router/layer.js:95:5)
    at trim_prefix (/Users/adam/Projects/tutors/frontend/node_modules/express/lib/router/index.js:317:13)
    at /Users/adam/Projects/tutors/frontend/node_modules/express/lib/router/index.js:284:7
    at Function.process_params (/Users/adam/Projects/tutors/frontend/node_modules/express/lib/router/index.js:335:12)
    at next (/Users/adam/Projects/tutors/frontend/node_modules/express/lib/router/index.js:275:10)
    at /Users/adam/Projects/tutors/frontend/node_modules/ember-cli/lib/tasks/server/middleware/broccoli-watcher/index.js:54:11
    at watcher.then.errorHandler.buildError (/Users/adam/Projects/tutors/frontend/node_modules/broccoli-middleware/lib/watcher-middleware.js:35:7)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

In environment.js, we have:
ifa: {
      enabled: false,
      inline: true
    }

And in ember-cli-build.js, we have:
fingerprint: {
      prepend: 'https://cdn.tutorspot.co.uk/',
      extensions: [...],
      exclude: [...],
      generateAssetMap: true,
      fingerprintAssetMap: true
    },

This error is only showing up in Fastboot. Everything works fine running locally with Fastboot disabled.
Any guidance would be greatly appreciated!

Hello @adambedford, do you found a solution for this?


Add 'Valid' annotation to all properties of type list.

I encountered a problem with the Java code generated by v1.8 of this (otherwise excellent) plugin, for an XSD schema containing list elements.
An example XSD file was GuiaRemision_V1.0.0.xsd.txt
The Java generated was GuiaRemision.java.txt
Of particular note was the list properties, e.g.
    public static class Destinatarios {

        @XmlElement(required = true)
        @NotNull(message = "Destinatarios.destinatario {javax.validation.constraints.NotNull.message}")
        @Size(min = 1)
        protected List<Destinatario> destinatario;

Performing validation of this class using hibernate-validator:6.2.4.Final did not detect any validation errors for elements of the "destinatario" list property.
However, modifying the Java code to add a '@Valid' annotation to the property, as per:
    public static class Destinatarios {

        @XmlElement(required = true)
        @Valid
        @NotNull(message = "Destinatarios.destinatario {javax.validation.constraints.NotNull.message}")
        @Size(min = 1)
        protected List<Destinatario> destinatario;

changed this behaviour such that the validation annotations on list elements did result in validation errors. (See suggestion also via https://stackoverflow.com/a/44652479)
Therefore, this patch adds a @Valid annotation to any and all list properties.
In my case, the resultant (working) Java code was GuiaRemision.java.txt

Commentary on code changes:

main change is JaxbValidationPlugins.java lines 201 and 434, with accompanying unit test change in ListsTest.java
however, I also encountered errors with the cast to ElementDecl in JaxbValidationPlugins.java line 184. (The WSDL I was processing - see above - resulted in processElement being called with a ModelGroupImpl element, and so the cast failed.)
in pom.xml, the hibernate-validator groupId was out-of-date.

... merged recent changes from master.
Note: during the merge, I reverted the change to 'hibernate-validator' groupId in pom.xml. This can be re-instated in a separate pull request.

@fillumina : any thoughts on this? I can resolve conflicts from recent changes, but will only do so if you are considering accepting the patch.


Improved algorithm reaching 32k tile

This PR improves the algorithm, so that it consistently reaches 32k tile. Here (https://www.dropbox.com/s/9463l6ztznj3zy0/2048.png) is a "Game over" screenshot of one of the best games I've seen it play.
First there are couple of minor code tweaks. I have also moved caching and search termination code to score_tilechoose_node method. Imho, it makes more sense to use it after player's deterministic move, instead of after random computer move, although the benchmarking I tried did not show significant improvements. The two most important commits are new heuristic scoring and adaptive search depth limit.
New heuristic scoring
It uses a combination of three factors - number of empty tiles, number of available merge moves and monotonicity of the row/column.
An empty tile is in fact as important as the ability to create it by merging tiles of the same value.
The monotonicity of the row/column enforces generally good position for building up higher and higher tiles. Look at the code for more details, it's pretty self-explanatory. The calculation uses third powers of tile values, so that higher tiles get more severe penalty if they are moved in the middle of the board.
Adaptive search depth limit
This gives a huge speed boost, especially early in the game. The idea is that you need to search the game tree really deep only if the board gets complicated. A good measure of the board complexity is the number of distinct tiles. With this patch AI alternates between extremely fast segments (right after it builds a new highest tile) and slow segments (right before it builds a new highest tile).
I've measured a time it took to get to a certain tile for the original algorithm and the new one, here is how much time this patch saves:
2k: 50%
4k: 45%
8k: 30%
16k:  5%
As you can see, the time to reach winning 2k tile was cut in half and it stays faster roughly up to a point when it builds 16k tile.
Benchmark results
(for final results see the last post)
There is ceratinly a room for tweaking the code, but I doubt it will be possible to get another significant improvement while keeping the computational cost at a sane level.

We've used MS-TD learning and TD(lambda) to improve our 2048 AI.
The performance, source codes and papers references can be found here:
https://github.com/CGI-LAB/Taiwan_Bot_Tournament_2048
https://github.com/tnmichael309/2048AI
though codes are ugly....
we can have performance around
Average	        446116
Max	                833300
32768 rate	33.5%
Speed	        500 moves/sec
similar to the results with a slightly better avg/max/32768 rate, but large speed boost.

That's very impressive! Clearly the heuristics are very strong.
How well can it perform with deeper searching? If you make it work harder (maybe to 20 moves/sec) then can it get to 65536 sometimes?

Also, I see that there was a Threes! bot developed. I wonder if my threes bot (https://github.com/nneonneo/threes-ai) would have performed better or not. It is based on the same kind of deep search + heuristic approach, plus a bit of heuristic optimization with CMA-ES.

Hi, @nneonneo
Well, the bot for threes we developed did not further trained with TD(lambda)., but still trained with ms-td learning we proposed on TAAI. (Papers on Springer:  http://download-v2.springer.com/static/pdf/229/chp%253A10.1007%252F978-3-319-13987-6_34.pdf?token2=exp=1432349702~acl=%2Fstatic%2Fpdf%2F229%2Fchp%25253A10.1007%25252F978-3-319-13987-6_34.pdf*~hmac=a1b5d1ef89c00ffbfdecc464bf9f5a3e82d53c420b4961a10b41242991e48a7c)
current result for threes (the source code is not updated yet)
Reaching rate	         1-ply	2-ply	        3-ply (Search depth)
1536	                 28.4%	93.8%	97.4%
3072	                 0.8%	48.5%	65.8%
6144	                 0.0%	1.0%	9.0%
Maximum score	 207096	709,341	771,108
Average score	         35,763	158,151	221,326
Speed (moves/sec)	  21,537	14,099	298
For 2048, we run 10 thousands of games,
using 3-ply expectimax search (actually: play -> rand -> play -> rand -> play -> leaf, 2.5-ply...)
and we can have one 65536-tile(The score was 1064160)
Yet since I used bitboard with 'f' representing 32768,
I did not have much time to make further revision for it to show 65536.
and I did not run deeper search.
If we want to have 32768-tile, we should keep adding more stages to MS-TD learning to have 65536-tile(as mentioned in the paper), and then we can try to have deeper search.
Thank you.

I just used the trick of having F+F=F in my AI, so that if two 32768 are
touching, it merges them.
Very cool that you got 65536. That's a big achievement.
On Fri, May 22, 2015, 19:55 Kun-Hao Yeh<EMAIL_ADDRESS>wrote:

Hi, @nneonneo https://github.com/nneonneo
Well, the bot for threes we developed did not further trained with
TD(lambda)., but still trained with ms-td learning we proposed on TAAI.
(Papers on Springer:
http://download-v2.springer.com/static/pdf/229/chp%253A10.1007%252F978-3-319-13987-6_34.pdf?token2=exp=1432349702~acl=%2Fstatic%2Fpdf%2F229%2Fchp%25253A10.1007%25252F978-3-319-13987-6_34.pdf*~hmac=a1b5d1ef89c00ffbfdecc464bf9f5a3e82d53c420b4961a10b41242991e48a7c
http://download-v2.springer.com/static/pdf/229/chp%253A10.1007%252F978-3-319-13987-6_34.pdf?token2=exp=1432349702~acl=%2Fstatic%2Fpdf%2F229%2Fchp%25253A10.1007%25252F978-3-319-13987-6_34.pdf*~hmac=a1b5d1ef89c00ffbfdecc464bf9f5a3e82d53c420b4961a10b41242991e48a7c
)
current result for threes (the source code is not updated yet)
Reaching rate 1-ply 2-ply 3-ply (Search depth)
1536 28.4% 93.8% 97.4%
3072 0.8% 48.5% 65.8%
6144 0.0% 1.0% 9.0%
Maximum score 207096 709,341 771,108
Average score 35,763 158,151 221,326
Speed (moves/sec) 21,537 14,099 298
For 2048, we run 10 thousands of games,
using 3-ply expectimax search (actually: play -> rand -> play -> rand ->
play -> leaf, 2.5-ply...)
and we can have one 65536-tile(The score was 1064160)
Yet since I used bitboard with 'f' representing 32768,
I did not have much time to make further revision for it to show 65536.
and I did not run deeper search.
If we want to have 32768-tile, we should keep adding more stages to MS-TD
learning to have 65536-tile(as mentioned in the paper), and then we can try
to have deeper search.
Thank you.
—
Reply to this email directly or view it on GitHub
https://github.com/nneonneo/2048-ai/pull/27#issuecomment-104822904.

We've put our AI on the website: http://2048.aigames.nctu.edu.tw/
This is the record of 65536.

And thanks for the trick sharing :)


Exercise: Send your code

Closed #113

I see that conflicts may occur with you branch hello-world
Could I ask you to merge nesterone:nervebassmaster to nervebassmaster:hello-world ?


Add error support when RustCrypto doesn't

After #174 the hash API doesn't support returning errors because the RustCrypto API for digest (e.g. Update, FixedOutput) don't return a Result. We should somehow add the possibility to report errors in those operations, for example using a side channel that may be checked. This could be a LastError trait that would be used after each operation to check for error.
trait LastError {
    type Error: Copy;
    fn last_error(&self) -> Option<Error>;
}

Hi, Could you assign this issue to me? Thanks.

Could you give an example on when a hash API should return an error? Thanks.
For example, when should this call of Update return an error?
https://github.com/zhouwfang/wasefire/blob/9888e8fd20018d0e5f55275a9b559bfdfa8d3db6/crates/scheduler/src/call/crypto/hash.rs#L86

Actually, all those functions should return an error for both hash and hmac: initialization, update, finalization.
One solution I see is to make the board::crypto::Hmac trait FixedOutputReset like it is for board::crypto::Hash (not sure if it will break something), and add for both traits the new LastError trait I described above. Then in the scheduler as you pointed out, we will need to call context.last_error() to access the error after each operation that uses the RustCrypto API (which doesn't return errors). So in your case, each branch needs to call context.last_error() after calling context.update(data).
Actually if LastError returns Result<(), Error> this is easier, but that's going to be directly the result for update and finalize. For initialize, it's going to be Result::map first to get the handler.
use wasefire_error::Error;
trait LastError {
    fn last_error(&self) -> Result<(), Error>;
}

Thanks for the explanation! Still wanted to get more contexts:

The original question was more about: under what condition, a operation that uses the RustCrypto API would produce an error. In RustCrypto/KDFs#80, you mentioned the errors could result from hardware failure. How could we detect and get access to hardware failure? Basically, where does the error returned from last_error come from specifically?

I could understand we should use LastError for update, and finalize (since it happens after update). Why do we need to use it for initialize? Initializing a HashContext does not seem to use RustCrypto API.

Basically, where does the error returned from last_error come from specifically?

This will come from the board implementation (so it won't be implemented as part of this issue). Platforms where crypto may fail at any time would have to handle an error state on their side. When an error happens during some call (e.g. initialize, update, finalize), they would need to return a dummy result (for unit-returning function it's easy) and store the error somewhere. There is a guarantee that after each function, last_error is called, which is when the error is read.
Actually, this guarantee does not exactly hold when using a software HMAC on top of a hardware hash, because multiple operations may be called before last_error is called at the HMAC level (the software HMAC implementation calls last_error on the hash to implement its own last_error). So the guarantee is more that last_error is eventually called and so before the result is used by the end user.

Why do we need to use it for initialize? Initializing a HashContext does not seem to use RustCrypto API.

The Default trait is an assumption of RustCrypto for the default implementation of Digest. So it's true we could have our own initialization function that may fail, but then we would still need to implement Default which cannot fail to be able to compose the hash API with the HMAC API.
The reason we don't create our own API instead of using RustCrypto, is precisely to be able to have a software implementation of HMAC done by RustCrypto. The only crypto implementation at the moment is HKDF because we can't use RustCrypto, see https://github.com/RustCrypto/KDFs/issues/80.


added domino cloud environment

added domino cloud environment for running data science project on cloud

Looks great 😍
Hope you are enjoying your journey 🚆  with OpenGenus


Handle GitHub renamed and moved orgs/repos/issues

This will be an ongoing effort, but wherever possible, start to use lookups on external_id instead of names (orgs/repos) and numbers (issues) to support moved resources.
If we encounter a resource that has been moved on GitHub's side of things, also move it on our side.

[x] Renamed organizations
[x] Renamed repositories
[x] Moved repositories (new organization as owner). It's possible for an existing repository (in our DB) to be moved away from an installation to an org that doesn't have the Polar app installed, and vice versa.
[x] Moved issues (new repo/organization as owner). When an issue is moved between repositories, the issues #number changes.

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog :^)

I've started to work on this in the context of sync_external_org_with_repo_and_issue. Will be part of the fix for #877.

The problem was encountered by a user who reported it on Discord (https://discord.com/channels/1078611507115470849/1109142435981967360/1153512562537812071).
I'll start to work on this today. Objectives:

Handle webhook events for Renamed Organization / Transferred Repository / Transferred Issue (Renamed Repository is already handled).
Create a migration script to fix outdated data

I propose to close this for now. We have the basic bricks to handle this correctly. There are probably lot of corner cases we didn't think about, but I think they can be handled on case-by-case basis with a dedicated bug report.


BUG Report

Describe the bug
Error after starting attack. I think python script has a code bug. Method: DGB (DDoS Guard Bypass)
Version
Cloned last version
Code
python3 start.py DGB someurl.com 1 1000 socks5.txt 100 1000
Output
Proxy Count: 56
Traceback (most recent call last):
File "/home/sigolaev_egor/MHDDoS/start.py", line 796, in
HttpFlood(url, method, rpc, event, uagents, referers, proxies).start()
File "/home/sigolaev_egor/MHDDoS/start.py", line 224, in init
self._raw_target = (gethostbyname(self._target.host), (self._target.port or 80))
socket.gaierror: [Errno -3] Temporary failure in name resolution
Screenshots

python3 start.py DGB http://aworkingurl.com 1 1000 socks5.txt 100 1000
Add http:// or https://


XF view activation is fundamentally broken

The XF activation-for-view-fetcher attempts to support:

ICanActivate (as of a recent PR)
Pages
Cells
Views

The views bit is totally busted. It currently hooks into IsVisible on the view, because that totally worked Once Upon A Time. However, IsVisible no longer changes to false when the view's page disappears.
I figured the best way around this is to get ahold of the view's Page and hook into its Appeared and Disappeared events. If we combine that stream with another stream of IsVisible changes, we could totally support view activation.
Alas, getting ahold of a view's Page is impossible. More accurately, knowing when to get ahold of a view's Page is impossible. We can always traverse up the UI tree to find the Page, but we have no hook telling us when we should do this. There's no PageChanged event, for example. I tried everything I could think of as an alternative. The most promising options were:

hook into PropertyChanged where the property name is "Parent". Do this recursively all the way up the chain so that if any parent changes, we can re-determine the Page. No dice because it doesn't always fire (seemingly when deserializing XAML).
override OnParentChanged and forward the event. Same problem as above.

Even if we could get one of these options to work, I suspect the performance would be woeful. What we really need is to hook into whatever mechanism it is that XF itself uses to tear down bindings. Or maybe the bindings are weak and it doesn't tear them down at all - not sure.
So for my particular use case (an app I'm trying to get into production), I had to throw my hands in the air and change view activations to be manual. That is, the containing Page forwards activation calls onto the child view. It was ugly and time-consuming, but it worked.
Longer term I think we're going to need XF to support some kind of mechanism that tells us when a view is re-housed in a different Page, then update our XF activation-for-view-fetcher accordingly.

See also: https://forums.xamarin.com/discussion/84510/proposal-improved-life-cycle-support

I've just come across this as a giant memory leak in our application, are there any possible workarounds we can use to get the view deactivation to happen when using a ReactiveContentView?

@kentcb
What if change the activation paradigm to use ViewModel based activation?
We know what vm should be shown in our app and Views will subscribe on Activated status of a vm?
RoutedViewHost will activate VM and VM will activate View.

We ended up fixing it generally using a platform effect to hook into the lifetime of the view renderer and routing that through to the view to be used by the IActivationForViewFetcher
We only implemented for UWP and Android, but this approach would work on iOS and WPF without an issue (and likely the rest)
In our case we subclassed ReactiveView and added the effect/ICanActivate there (to avoid unintended regressions) but ideally we would have modified the ActivationForViewFetcher
I'll try to remember to post some code samples tomorrow when I'm at work

@rbev can you provide some sample code? Tks in advance.

@gsgou
I can't find the guide i originally used that this code largely came from, but create a routing effect & singleton registration logic

    public class ViewLifecycleEffect : RoutingEffect
    {
        public event EventHandler<EventArgs> Loaded;
        public event EventHandler<EventArgs> Unloaded;

        private ViewLifecycleEffect() : base($"myeffectnamespace.{nameof(ViewLifecycleEffect)}") { }
        public bool IsLoaded { get; set; }

        public void RaiseLoaded(Element element) => Loaded?.Invoke(element, EventArgs.Empty);
        public void RaiseUnloaded(Element element) => Unloaded?.Invoke(element, EventArgs.Empty);

        /// <summary>
        /// Registers or returns an existing instance of the effect on the specified element.
        /// This is because the limitations of the routed effect means that we have to only have a single instance registered or we can't raise
        /// the events for all of them without causing duplicate events to be raised.
        /// </summary>
        public static ViewLifecycleEffect Register(VisualElement element)
        {
            var effect = element.Effects.OfType<ViewLifecycleEffect>().FirstOrDefault();
            if (effect == null)
            {
                effect = new ViewLifecycleEffect();
                element.Effects.Add(effect);
            }
            return effect;
        }
}

Then in the platform implementation you just need to do something simliar to this (iOS):
        protected override void OnAttached()
        {
            _viewLifecycleEffect = Element.Effects.OfType<ViewLifecycleEffect>().FirstOrDefault();

            UIView nativeView = Control ?? Container;
            _isLoadedObserverDisposable = nativeView?.AddObserver("superview", ObservingOptions, IsViewLoadedObserver);
        }

        protected override void OnDetached()
        {
            _viewLifecycleEffect.RaiseUnloaded(Element);
            _isLoadedObserverDisposable.Dispose();
        }

        private void IsViewLoadedObserver(NSObservedChange nsObservedChange)
        {
            if (!nsObservedChange.NewValue.Equals(NSNull.Null))
            {
                 _viewLifecycleEffect.IsLoaded = true;
                 _viewLifecycleEffect?.RaiseLoaded(Element);
            }
            else if (!nsObservedChange.OldValue.Equals(NSNull.Null))
            {
                 _viewLifecycleEffect.IsLoaded = false;
                 _viewLifecycleEffect?.RaiseUnloaded(Element);
            }
        }

and android use these events to do the same thing.....
            _nativeView = Control ?? Container;
            _nativeView.ViewAttachedToWindow += OnViewAttachedToWindow;
            _nativeView.ViewDetachedFromWindow += OnViewDetachedFromWindow;

then register this to integrate it into the XF platform!
    public class ViewLifecycleEffectActivationFetcher : IActivationForViewFetcher
    {
        public int GetAffinityForView(Type view)
        {
            //ignored items (handled acceptably in default handler)
            if (view.IsAssignableTo<ICanActivate>()) return 0;
            if (view.IsAssignableTo<Page>()) return 0;
            if (view.IsAssignableTo<Cell>()) return 0;

            //catch all the things we want to override
            if (view.IsAssignableTo<VisualElement>()) return 20;

            //ignore everything else
            return  0;
        }

        public IObservable<bool> GetActivationForView(IActivatableView view)
        {
            if (view is VisualElement element)
            {
                return Observable.Create<bool>(o =>
                {
                    var effect = ViewLifecycleEffect.Register(element);

                    void OnEffectOnLoaded(object s, EventArgs a) => o.OnNext(true);
                    void OnEffectOnUnloaded(object s, EventArgs a) => o.OnNext(false);

                    effect.Loaded += OnEffectOnLoaded;
                    effect.Unloaded += OnEffectOnUnloaded;
                    element.Effects.Add(effect);
                    return new CompositeDisposable()
                    {
                        Disposable.Create(() =>
                        {
                            effect.Loaded -= OnEffectOnLoaded;
                            effect.Unloaded -= OnEffectOnUnloaded;
                        }),
                    };
                }).DistinctUntilChanged();
            }
            return null;
        }
    }

We also use this effect to allow view activation when binding to a data template using an attached property - this is primarily used to allow list binding UI controls to handle lifecycle of data templates (and virtualisation) rather than forcing it to go through the full view locator system.
While you lose the nicites of reactiveBinding it increases performance significantly without losing viewmodel activation logic.


emacs  path.c assertion "length2 > 0" failed

Warning: no reproduction yet
[ ] - bisect packages to identify package triggering paths.c
[ ] - create minimal repro with emacs -Q
Using my quite large emacs config i get the following error.
./path/path.c:547: Comparison compare_paths2(const char *, size_t, const char *, size_t): assertion "length2 > 0" failed
  proot warning: signal 6 received from process 5597

Putting this here in this pre repro state in case others want to see state of emacs support or someone recognizes that error.
I'll debug this further as time allows.

I encounter the same issue in my fairly vanilla Spacemacs config but only when I try to C-x C-f/SPC f f (handled by HELM in my case).

Could you post your minimal config and exact instructions on how to reproduce this error?

.spacemacs from atemu/dotfiles@ac526f496eccda63ebacacf77fc356651756ed31
.emacs.d is syl20bnr/spacemacs@d95d41f55ba074128b3ed8f0eedcdc3c31b52e42

Run emacs
Let it install all the packages (I needed to set the elpa timeout to something higher than 5s, YMMV)
C-x C-f

I ran into the same issue. Using ivy instead of helm doesn't trigger this bug.
There seems to be a fix in https://github.com/0pq76r/proot/commit/7d7479c490de083729253f120a5e9a9c5bd47d0c but it's not yet upstream.

I am finally able to reproduce it:
emacs -Q --batch --eval '(directory-files-and-attributes "/data/data/com.termux.nix/files/usr/bin" nil "\\`[^.]" t (quote string))'

Nice, i can confirm to get the same error. But could you explain, what this does and what similar commands you tried that worked? I'm asking for so many details because I have neither used emacs nor came in touch with the nix expression of emacs and its dependencies.

I basically opened an eshell within emacs and did an ls in the usr/bin directory and that crashed, other directories work just fine. Afterwards I stepped through the callstack and ended up in the function mentioned above. Said function is implemented in C which makes debugging much harder. Currently, I'm trying to extract a single C function that triggers the bug, based on this source: https://github.com/emacs-mirror/emacs/blob/c70a3a41630a39283f10f183cefb4643a6d424cc/src/dired.c#L166

Just tried again, a simple ls -a in my $HOME from within eshell does also crash. That means, it's not specific to the directory but its contents somehow. Doing the same things using the real ls and not the emacs version, works in all cases.

It seems to be the link to /nix, i.e. the .nix-profile. I tried the following steps:
emacs -Q
M-x eshell
mkdir tmp
cd tmp
ls
# ok
ln -s /nix .
ls
# bam

Does it fail the same with other proot-rerouted locations like /tmp or /usr?
Should we incorporate the fix linked above in advance into our proot build?

Funny, /tmp is ok, /etc /bin are not.

Hi, how can I get a custom version of proot into my nix-on-droid installation? I'm still a noob regarding nix :(
Btw. the issue is reproducible on my laptop as well, but I didn't have time to figure out which syscall fails in proot. My goal is to have a unit test along with a fix for proot.
Is there an irc (or similar) channel for nix-on-droid?

It's not a particularly simple process, as it can't be built on-device (refer to https://gist.github.com/t184256/c79d270498e8441d0f4e3c9be7acad18 if you want an overview of how the building happens and how to start with your own channels and bootstrap zipballs).
Meanwhile, you can try bootstrapping from https://nix-on-droid.unboiled.info/bootstrap-proot-fix (corresponds to proot-fix branch, where I've applied patch mentioned above to proot) and verify whether it fixes the issue.
As for a support chat, we don't have any, though maybe we should have one. Got any specific suggestions?

The fix seems to work. I replaced my proot-static binary with the one from your package and emacs does not crash anymore.

I've merged the fix (9b4fb44) into the master branch then.


fixed Visual Studio Code branding

LGTM. This is ready to be merged. And good catch on the misspelling of dependencies.


Create a new module std::primitives

Move functions from  core::num over to the new module.

Requires std to be imported into core which is not currently possible therefore blocked.


azure-ai-ml: Submitting 2 jobs at exactly the same time fails with error "Blob already exists"

Package Name: azure-ai-ml
Package Version: 1.5.0
Operating System: Ubuntu
Python Version: 3.7

Describe the bug
When attempting to submit 2 jobs to a workspace at the same time, job submission fails saying The specified blob already exists.
This frequently breaks our unit test pipelines that submit several jobs in parallel.
To Reproduce
Start two consoles, submit a job via the SDK at exactly the same time.
Expected behavior
I would expect that each job works with a unique ID for uploading the snapshot in the back-end, and hence that submitting at the same time is permitted.
Screenshots
Example from our CI pipeline: 2 legs of the pipeline submit jobs at 2023-04-28T18:49:12Z:
job 1 and job 2
Stack trace:
Uploading *** (8.78 MBs):   0%|          | 0/8778337 [00:00<?, ?it/s]
Uploading *** (8.78 MBs):   0%|          | 3941/8778337 [00:00<06:53, 21203.33it/s]
Uploading *** (8.78 MBs):   0%|          | 4973/8778337 [00:00<10:42, 13653.22it/s]
Traceback (most recent call last):
  File "src/health_ml/runner.py", line 407, in <module>
    main()
  File "src/health_ml/runner.py", line 403, in main
    run_with_logging(project_root)
  File "src/health_ml/runner.py", line 398, in run_with_logging
    return run(project_root)
  File "src/health_ml/runner.py", line 350, in run
    return Runner(project_root).run()
  File "src/health_ml/runner.py", line 205, in run
    azure_run_info = self.submit_to_azureml_if_needed()
  File "src/health_ml/runner.py", line 278, in submit_to_azureml_if_needed
    identity_based_auth=self.experiment_config.identity_based_auth,
  File "/home/runner/work/***/***/***-azure/src/health_azure/himl.py", line 994, in submit_to_azure_if_needed
    pytorch_processes_per_node=pytorch_processes_per_node_v2,
  File "/home/runner/work/***/***/***-azure/src/health_azure/himl.py", line 573, in submit_run_v2
    returned_job = ml_client.jobs.create_or_update(job_to_submit)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/core/tracing/decorator.py", line 76, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_telemetry/activity.py", line 337, in wrapper
    return_value = f(*args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_job_operations.py", line 593, in create_or_update
    raise ex
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_job_operations.py", line 529, in create_or_update
    self._resolve_arm_id_or_upload_dependencies(job)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_job_operations.py", line 874, in _resolve_arm_id_or_upload_dependencies
    self._resolve_arm_id_or_azureml_id(job, self._orchestrators.get_asset_arm_id)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_job_operations.py", line 1087, in _resolve_arm_id_or_azureml_id
    job = self._resolve_arm_id_for_command_job(job, resolver)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_job_operations.py", line 1126, in _resolve_arm_id_for_command_job
    azureml_type=AzureMLResourceType.CODE,
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_operation_orchestrator.py", line 218, in get_asset_arm_id
    result = self._get_code_asset_arm_id(asset, register_asset=register_asset)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_operation_orchestrator.py", line 275, in _get_code_asset_arm_id
    raise e
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_operation_orchestrator.py", line 259, in _get_code_asset_arm_id
    code_asset = self._code_assets.create_or_update(code_asset)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_telemetry/activity.py", line 263, in wrapper
    return f(*args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_code_operations.py", line 142, in create_or_update
    raise ex
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/operations/_code_operations.py", line 96, in create_or_update
    artifact=code, asset_operations=self, sas_uri=sas_uri, artifact_type=ErrorTarget.CODE
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_artifacts/_artifact_utilities.py", line 409, in _check_and_upload_path
    ignore_file=getattr(artifact, "_ignore_file", None),
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_artifacts/_artifact_utilities.py", line 307, in _upload_to_datastore
    sas_uri=sas_uri,
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_artifacts/_artifact_utilities.py", line 184, in upload_artifact
    ignore_file=ignore_file,
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_artifacts/_blob_storage_helper.py", line 109, in upload
    ignore_file=ignore_file,
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_utils/_asset_utils.py", line 636, in upload_directory
    future.result()  # access result to propagate any exceptions
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/concurrent/futures/_base.py", line 428, in result
    return self.__get_result()
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/ai/ml/_utils/_asset_utils.py", line 534, in upload_file
    connection_timeout=DEFAULT_CONNECTION_TIMEOUT,
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/core/tracing/decorator.py", line 76, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/storage/blob/_container_client.py", line 985, in upload_blob
    **kwargs
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/core/tracing/decorator.py", line 76, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/storage/blob/_blob_client.py", line 716, in upload_blob
    return upload_block_blob(**options)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/storage/blob/_upload_helpers.py", line 168, in upload_block_blob
    process_storage_error(error)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/storage/blob/_shared/response_handlers.py", line 181, in process_storage_error
    exec("raise error from None")   # pylint: disable=exec-used # nosec
  File "<string>", line 1, in <module>
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/storage/blob/_upload_helpers.py", line 113, in upload_block_blob
    **kwargs)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/storage/blob/_generated/operations/_block_blob_operations.py", line 245, in upload
    map_error(status_code=response.status_code, response=response, error_map=error_map)
  File "/opt/hostedtoolcache/Python/3.7.16/x64/lib/python3.7/site-packages/azure/core/exceptions.py", line 109, in map_error
    raise error
azure.core.exceptions.ResourceExistsError: The specified blob already exists.
RequestId:d8bd2f94-201e-0057-0b02-7acedb000000
Time:2023-04-28T18:49:15.10[47](https://github.com/microsoft/hi-ml/actions/runs/4833782799/jobs/8614211590#step:4:48)344Z
ErrorCode:BlobAlreadyExists
Content: <?xml version="1.0" encoding="utf-8"?><Error>BlobAlreadyExists<Message>The specified blob already exists.
RequestId:d8bd2f94-201e-0057-0b02-7acedb000000
Time:2023-04-28T18:[49](https://github.com/microsoft/hi-ml/actions/runs/4833782799/jobs/8614211590#step:4:50):15.104[73](https://github.com/microsoft/hi-ml/actions/runs/4833782799/jobs/8614211590#step:4:74)44Z</Message></Error>

we exactly have the same problem. We can't parallelize our unit tests in our pipeline because of this, and it takes 5x more time than with parallelization. Would be nice to fix.

@thierryherrmann , I've gotten a message from @luigiw that setting the job name could maybe solve the problem. When your job submission code calls the command function from the API, are you supplying the name argument? If not, can you try setting that to a GUID or some other random ID?
I've tried the same on my codebase, but since the problem does not always occur in my test suite, I'm not sure if that has made any difference.

@ant0nsc thanks for the suggestion. Just like you, it never failed when using a uuid as the job name, but without this fix failures are not frequent enough to conclude that the fix is effective. I'll keep the fix and if the error reappears, I'll mention it here. Thanks.

@ant0nsc, @luigiw today the workaround failed. I had used this:
job_name = str(uuid.uuid4())
from azure.ai.ml.entities._job.job_name_generator import generate_job_name
display_name = generate_job_name() # the human-friendly name

but it failed at least one. I'll remove the workaround as the human-friendly name is friendlier to use with az ml commands than a uuid... Thank you both for the suggestions/support.
I hope this issue will be addressed.

@ant0nsc yes. In the attempted workaround (that doesn't work), I just give job_name to the command() method. Continuing from my previous snippet:
cmd = command(
    name=job_name,
    display_name=display_name,
    environment=environment,
    #...etc...
)
job = ml_client.jobs.create_or_update(cmd)

closing as obsolete


Guidelines typos and formatting

Inconsistent use of // and /* */ for CSS comments
Some lines are missing or have improper punctuation
Should use hex instead of named values for colors (to follow our guidelines)
use scss instead of sass for CSS blocks. Formats better in vscode.

:tada: This issue has been resolved in version 2.6.11 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Pager does not allow pulling usage information for views.get()

The Pager generator takes in RequestOptions, but usage information for views.get() requires another parameter to be passed in. Currently, we cannot use Pager to get all views WITH usage information.

Actually, we do!
Sorta.
Pager accepts any callable, so you can just pass in a partial.
from functools import partial
usage_pager = partial(server.views.get, usage=True)
views = TSC.Pager(usage_pager)

for view in views:
    # do something

It could probably be a little cleaner but not sure how yet. We could have Pager take in *args and just blindly pass them to the callable, which works. Or we can document you should use a partial.

Solved!


VSCODE - not working in js files

Just installed in vscode and not working in js files. But it's ok in sass files.
Why?

This extension is enabled only for certain languages. I agree it would be useful to allow for a lot more languages, if not any file you're editing (#26).
But this repo looks dead ¯_(ツ)_/¯

I think vscode has this functionality baked in already.
I just uninstalled this and my JavaScript /** */s started to work fine.

Yes, uninstall it.
I ran into this issue when trying to get various JSDoc extensions working. I didn't realize you don't either a JSdoc plugin or multiline line comment plugin anymore, because they are baked in VScode now See https://code.visualstudio.com/docs/languages/javascript#_jsdoc-support.

Because this extension is now not maintained, I've created a new extension as a fork from this one.
This issue is resolved in my forked repo and you can install the plugin here https://marketplace.visualstudio.com/items?itemName=yCodeTech.automatic-comment-blocks
I'm in the process of going through all these issues, and trying to rectify them in my extension.


add bin_search

binary search recursive and using while

Well done! But there are some things to correct:

use .py extension for Python files
move testing logic to test

And will be wonderful 🤩


do you continue the project?

are you going to continue to improve the project?

well, i was planning to install it to test it, but I lack java skills. When I realized they had closed the source code I uploaded the version i had cloned. Do you have any information to help me getting this started? is it broken?

any news about this? it gives me mojofailure error (webpack.js) and can't get it installed. Both on linux (debian) and MacOS

in ubuntu there is a formatting problem, since the source was loaded on
windows and then put on githib. you have to modify the file .eslintrc.js
"linebreak-style": with windows
Il Ven 2 Nov 2018, 10:47 lorenzoromani1983<EMAIL_ADDRESS>ha
scritto:

any news about this? it gives me mojofailure error (webpack.js) and can't
get it installed. Both on linux (debian) and MacOS
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/unwashed-and-dazed/visallo/issues/1#issuecomment-435325458,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVy7jzQGu-_yBzC9sU5fJz1MRZ90V97fks5urBSvgaJpZM4S5qaP
.

Yes I acknowledged! I have been able to build and run on kali Linux, now I wonder if the sw is still fully customizable as open source....

Il giorno ven 2 nov 2018 alle ore 22:15 lorenzoromani1983 <
<EMAIL_ADDRESS>ha scritto:

Yes I acknowledged! I have been able to build and run on kali Linux, now I
wonder if the sw is still fully customizable as open source....
—I think so surely changing the name in all its parts.
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/unwashed-and-dazed/visallo/issues/1#issuecomment-435510150,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVy7jy_h4arrCstwqypzox3RWSugW3M8ks5urLXbgaJpZM4S5qaP
.

Il giorno ven 2 nov 2018 alle ore 22:15 lorenzoromani1983 <
<EMAIL_ADDRESS>ha scritto:

Yes I acknowledged! I have been able to build and run on kali Linux, now I
wonder if the sw is still fully customizable as open source....
—is there a way to contact you?
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/unwashed-and-dazed/visallo/issues/1#issuecomment-435510150,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AVy7jy_h4arrCstwqypzox3RWSugW3M8ks5urLXbgaJpZM4S5qaP
.


bug: Windows Phone not correctly detected via ionic.Platform.isWindowsPhone()

Type: bug
Platform: mobile webview
I am working on getting my App ported to the wp8. However when trying to debug a Windows Phone specific issue I tried to use the ionic.Platform.isWindowsPhone() function.
However this returns false, and actually returns true for isAndroid. The Cordova device.platform reports as "android" as well.
Looking at the code:
https://github.com/driftyco/ionic/blob/master/js/utils/platform.js#L247
And the User Agent string the device is reporting:
Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 735) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537
I see the problem. My Lumia 735 is claiming its ALL three devices.  Any chances you could make the "Windows Phone" check the first in the list?

Greetings @PhilHannent!
My sensors indicate that you need to update your issue through our custom issue form. We are now requiring all issues to be submitted this way, to ensure that we have all of the information necessary to fix them as quickly as possible.
Click Here To Update Your Issue
I will have no choice but to close this issue if it is not resubmitted through the form. Please fill out the rest of the form, so that I may use my friendly robot powers to assist you.
Thank you!

Hmm, so even using the raw cordova plugin returns android?

On Lumia 735 the device.platform returns Win32NT

Greetings @PhilHannent!
I've closed this issue because my sensors indicated it was old and inactive, and may have already been fixed in recent versions of Ionic. However, if you are still experiencing this issue, please feel free to reopen this issue by creating a new one, and include any examples and other necessary information, so that we can look into it further.
Thank you for allowing me to assist you.


Review and update website page

https://www.tdwg.org/community/cd/

This is the IG Charter essentially. Am I right @stanblum @baskaufs?
Am I correct in that this page is:

[ ] generated from the gh-pages branch
[ ] i can clone the gh-pages repo and then edit and make a pull request

If I remember correctly, this is the page where the IG members can craft and finalize, then once it's ready, the web maintainers can copy this text and put it into place on the website.  So, this is not live to the website, but can be copied to the website when ready.  If that's too much trouble for the current state of affairs (only minor edits needed), those can be made directly on the website by creating a fork, editing, and then making a pull request to have those edits merged into the website master branch.  See the "edit this page" link on the CD landing page (https://www.tdwg.org/community/cd/), and also the website-faq page under TDWG / About (https://www.tdwg.org/about/website-faq/

Yes, I am going to do the latter on the interest of time. We have consensus on what we want / need to do.
Thanks Stan, Deb


feat(execution): pending support for ExecutionStateReader::get_nonce

This change is

crates/papyrus_execution/src/state_reader.rs line 60 at r1 (raw file):
Previously, yair-starkware (Yair) wrote…
There's a ? operator

Yes, but then I have to return Ok(....?.unwrap_or_default)
Do you think it's cleaner?

crates/papyrus_execution/src/state_reader.rs line 60 at r1 (raw file):
Previously, ShahakShama wrote…
Yes, but then I have to return Ok(....?.unwrap_or_default)
Do you think it's cleaner?

I do


Publish thrax to Sonatype

The thrax jar artifact should exist on the OSSRH Central such that it is fed into Maven central and available for general, widespread download and use.
Right now Thrax is actually imported as a submodule within Joshua... it would be much easier if we were able to just use a release artifact available within OSSRH and/or Maven Central.

We can track this here
https://issues.sonatype.org/browse/OSSRH-22441

@jganitkevitch I noticed that you wrote the edu.jhu.thrax.hadoop.distributional.ContextWritable. I see the following lines of code
slsh.updateSignature(this_signature, that_signature);
...
 slsh.initializeSignature(signature);
...

      slsh.updateSignature(signature, ((Text) feature_name).toString(),
          ((IntWritable) map.get(feature_name)).get(), 1);

The slsh.updateSignature and slsh.initializeSignature methods no longer exist within Jerboa available within Maven Central.
I've looked at the Jeboa API (built Javadoc locally) and I am confused about how to implement an update to a signature.
Can you possibly take a look at the PR and advise as to what the updated API calls should be?
Thanks in advance if this is possible.

I've updated this PR so that all Hadoop MR deprecation is removed.

@mjpost @jganitkevitch once this PR is merged and the Maven build is in place we are able to push artifacts to Maven Central
https://issues.sonatype.org/browse/OSSRH-22441

@mjpost this can also be closed and we can work on the code over @ Apache Joshua repos


Documentation for port mapping

Hi,
How does the "Internal Port Mapping" and "External Port Mapping" work?  Would be good to have examples and limitations.
Regards,
Bragi

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

ID: 1130e194-0e0f-d7e9-1f5f-2101a173f9ff
Version Independent ID: 1f8e045c-4c83-f414-08aa-d68352e6abec
Content: Configure NAT on Azure VPN Gateway - Azure VPN Gateway
Content Source: articles/vpn-gateway/nat-howto.md
Service: vpn-gateway
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@bragig, Azure VPN gateway does not have Port NAT feature.
Are you talking about Internal External IP NAT?

@KapilAnanth-MSFT
Can you do port mapping by using Internal/External Port mapping?  How does it work? It's not mentioned in the documentation.  See picture, last two columns:

@bragig, I am assigning this thread to the author for further review.
@cherylmc, It appears we lack documentation on how Internal/External Port mapping works.
Kindly add the required sections.

#reassign:radwiv

The lack of documentation is a blocker on implementation.

#reassign:deeharris-23

Same on our end, documentation would be highly appreciated 👋🏻

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We will create an internal tracking work item to address this issue. For now, we are closing this issue. If you have any additional information you would like to provide, please respond to this issue with any additional details.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Package Version Upgrades

To allow us to bring in Microsoft.VisualStudio.LanguageServer.Client.Implementation
With this package we'll be able to access the Implementation types for the Client.Implementation and take out a bunch of reflection we do in the DefaultLSPRequestInvoker.
Thanks @ajaybhargavb!

Dope! Did you run through some scenarios in VS with the new versions? When I've experimented with new versions of packages in these areas there were a lot of pitfalls that the tests weren't catching, and in the instances where we use reflection to call methods the existing reflection code failed after update (because our reflection filtering didn't capture the method anymore).

I ran through some basic editing in the old/new editor (completions, highlights, hovers, signature help, colorization) and played around with it a bit. Didn't notice any issues, but I recognize the scope of these version upgrades could lead to regressions/other issues as you mentioned.
Are we okay with merging in for now, and then resolving any issues should they come up in the future? Sooner or later we may need to go through with these upgrades. If we merge now we'll have about a week of internal testing to iron out any of these issues which may appear.

Haven't tested that last commit. Will do a final round of testing after CTI passes.

Looks good 👍 . We may need to update a few more things though. Windows build is failing with some warnings like,
##[error]src\Razor\test\Microsoft.VisualStudio.LanguageServerClient.Razor.Test\Microsoft.VisualStudio.LanguageServerClient.Razor.Test.csproj(0,0): error NU1603: (NETCORE_ENGINEERING_TELEMETRY=Restore) Microsoft.VisualStudio.LanguageServer.Client.Implementation 16.7.33 depends on Microsoft.VisualStudio.Language.Intellisense (>= 16.6.138) but Microsoft.VisualStudio.Language.Intellisense 16.6.138 was not found. An approximate best match of Microsoft.VisualStudio.Language.Intellisense 16.6.249 was resolved.

Yeah I'm not sure what's wrong with that error. Microsoft.VisualStudio.Language.Intellisense is set as 16.6.249 already: https://github.com/dotnet/aspnetcore-tooling/pull/2078/commits/d9b12b8ab7b9354a9dbf8bae2184fff67006f0f3#diff-8b8f08ffbf7b863fb3700c1718eeb4cbR104

Maybe try 16.6.255? I don't see 16.6.249 on NuGet, https://www.nuget.org/packages/Microsoft.VisualStudio.Language.Intellisense/

Closing this out in favor of https://github.com/dotnet/aspnetcore-tooling/pull/2081


Marriage abroad changes Dominican Republic

Pivotal Tracker: https://www.pivotaltracker.com/projects/1270592/stories/109437774

Replace contact details with appointment booking link.

Factcheck
https://smart-answers-pr-109437774.herokuapp.com/marriage-abroad/y/dominican-republic/ceremony_country/partner_local/same_sex
https://smart-answers-pr-109437774.herokuapp.com/marriage-abroad/y/dominican-republic/uk/partner_local/same_sex
https://smart-answers-pr-109437774.herokuapp.com/marriage-abroad/y/dominican-republic/third_country/partner_local/same_sex
Expected Changes
URL
* Changed Contact details to appointment link.

Apart from my all minor comments, this looks good to me. :+1:

@floehopper Changes made.. waiting on the factcheck to come through..

:+1:

Given we've added Dominican Republic to the regression tests in this commit it would be great to add a set of expected responses and outcomes to this file.

@erikse Done

Is there anything stopping this PR from being merged?

@floehopper it has changed seem your last review.. do take a look

I've removed the LGTM label from this PR, because @ikennaokpala says it has changed significantly since it was originally reviewed.

I found this PR quite hard to follow for the following reasons:

Some of the earlier commits are too small so that a coherent set of changes is spread over multiple commits which is hard to follow.
I always try to make all the tests pass after each commit unless that's particularly awkward. I'm not convinced that that would be true of all the commits in this branch.
Quite a few of the later commits look like fixup commits, but are not marked as such. Do you plan to turn them into fixup commits?
While I understand the idea of introducing a country-specific outcome, I think the commit where it is introduced is a big jump - I don't really understand where all the code in that template has come from.

In writing some of the above I realise our approach of curating the commits in a PR to look as if we'd done the right thing the first time isn't really documented anywhere. Likewise the idea of trying to have the tests all passing after each commit isn't really explained. I plan to update CONTRIBUTING.md and/or the Git style guide to address this.
I wonder if the following sequence of commits might be easier to understand:

Add dominican-republic to marriage-abroad-questions-and-responses.yml, generate the corresponding additions to marriage-abroad-responses-and-expected-results.yml, generate the corresponding additions to the regression test artefacts. All in a single commit.
Introduce a country-specific outcome for dominican-republic without changing the behaviour i.e. ensure that the regression tests still pass with no changes to the artefacts. Update the regression test checksums accordingly. All in a single commit.
A series of commits making any required changes to the behaviour for the Dominican Republic. If these are small enough, you could update the regression test artefacts & checksums within each commit.
If necessary, have a single commit at the end which updates the regression test artefacts.
If necessary, have a single commit at the end which updates the regression test checksums.

Since @chrisroos is refactoring marriage-abroad, I think it would be useful to him to comment on this - if only to see whether the country-specific outcome fits with the direction he's heading in.
Lastly, I think it's really confusing to keep rebasing and force-pushing to a single PR. I think it's better to either (a) non-force-push fixup or squash commits to the existing PR with a final rebase and force-push after review and just before merging; or (b) create a new branch based on the original one and open a new PR to supersede the original one. The advantage of both of these approaches is that the reviewer's comments remain easily accessible. I'll try to write this up somewhere so we're all on the same page.
Sorry I've written loads here. It's just that a few things reminded me of stuff I've been meaning to explain for a while.

@floehopper

This PR is my longest running one, thus far, I believe its my first.
Yes a majority of commits I plan to fixup..
I will be creating a new PR that supersedes this.

Ah. I hadn't realised it had been around so long. New PR sounds like a good plan.

This PR is now superseded by #2406

Since @chrisroos is refactoring marriage-abroad, I think it would be useful to him to comment on this - if only to see whether the country-specific outcome fits with the direction he's heading in.

@floehopper / @ikennaokpala. Country specific outcomes sound good to me. I've introduced some more of these in a local branch that I'll create a PR for soon.

@chrisroos great.. looking forward to that.. BTW Compliments of the season guys


Do this lib support animate tag of SVG standart?

SVG has standard tag animate that can animate anything in SVG. It usage is like this:
<Rect x="25" y="0" width="750" height="290" stroke="url(#Gradient)" strokeWidth="50" fill="transparent">
  <animate attributeType="XML" attributeName="y" from="0" to="50" dur="2s" repeatCount="indefinite" />
</Rect>

Does this lib support this tag (animate)?

Hello @psnet,
Unfortunately, we don't support that tag, maybe in the future we will add that feature but now we haven't.


Add an API to get basic stats around mediaStream.

Relates to #610
Description
Reference issue
Fixes #...
Description
Reference issue
Fixes #...

Looks like this stats object is now obsolete https://www.w3.org/TR/webrtc-stats/#obsolete-rtcmediastreamstats-members
I think we can remove it completely


weave releases: provide signed checksums

Feature request
Cannot find any checksums for weave releases. Where are those located?
If they don't exist please provide a pgp signed checksums file for all releases and fingerprints for the signing key. If possible include checksums for https://cloud.weave.works/k8s/net?k8s-version=$kubeversion as well.

Sorry, but we currently don't sign any release artifacts.


Set version and sha256 for Mailpile Beta II

Seeing as url doesn’t point to a specific version, this cask should continue to use version :latest and sha256 :no_check, or else it’ll break every time the file is updated upstream.

https://github.com/mailpile/Mailpile/releases
https://www.mailpile.is/files/releases/Mailpile-Installer-Beta-II.dmg.sha256
Beta II = 0.4.2

Thank you for pointing it out.


fix backwards-compatibility for node < 4, fix test pollution

I'm still getting two test failures in the function loader test (& the sync version) where it's reporting an extra function being loaded. Since I just upgraded my system to 9.5, I suspect that's probably the cause -- I'd appreciate it if someone else could pull it down and confirm, juggling versions with homebrew is no fun at all.

Thought I'd let Travis take it but it's not -- @robconery did you enable the build from that side? Step 2 in https://docs.travis-ci.com/user/getting-started/#To-get-started-with-Travis-CI%3A


install via conda-forge

Is your feature request related to a problem? Please describe.
no
Describe the solution you'd like
would like xmake to be installed via conda-forge:
conda install xmake

or other tools that could install package from conda-forge:
mamba install xmake

pixi install xmake

Describe alternatives you've considered
no
Additional context
no

you can make package and push to these repositories.

you can make package and push to these repositories.

I mean offical xmake package, not provided/uploaded by someone (not trusted)

There's no time to pack and maintain them in over here. Currently, packages for arch, debian, nix, fedora and other distributions are maintained and packaged by other people.


Ruin II-weaving rotation for SMN.

Summoner rotation that includes the utilization of Ruin II to weave in off-GCD abilities, with Energy Drain to keep MP up.
If it's agreed that this is a better rotation (it looks better here, for certain), then this would also address Issue #27.

Sorry for the delay. I'll try to get to testing / merging this tonight.

Yep. Thanks!


Files in menu items (such as explorer) are opened on mouseup, not onclick

Hi!
When I select a line in the editor I often start my selection from the end of the line, pressing the mouse left button and go to the beginning of the line and release the mouse button. However I go further than the beginning of the line to be quick and my cursor is on the left panel (ex: Explorer).
When I release the mouse button this triggers a mouseup event in the panel, for example an extension, which causes it to open in the editor (thus switching the active file being edited).
Example with this code:
/**
 * @class mynamespace.Component class
 */
mynamespace.Component = function () {

};

/**
 * Fires a onComponentTitleChanged event on all registered listeners.
 * @private
 */
mynamespace.Component.prototype._fireTitleChanged = function () {
	this._listeners.forEach(l => {
		if (l.onComponentTitleChanged) {
			l.onComponentTitleChanged(this, this._title);
		}
	});
};

/**
 * Fires a onComponentIconChanged event on all registered listeners.
 * @private
 */
mynamespace.Component.prototype._fireIconChanged = function () {
	this._listeners.forEach(l => {
		if (l.onComponentIconChanged) {
			l.onComponentIconChanged(this, this._icon);
		}
	});
};

/**
 * Fires a onComponentResized event on all registered listeners.
 * @private
 */
mynamespace.Component.prototype._fireResized = function () {
	this._listeners.forEach(l => {
		if (l.onComponentResized) {
			l.onComponentResized(this);
		}
	});
};

/**
 * Fires a onComponentMinimized event on all registered listeners.
 * @private
 */
mynamespace.Component.prototype._fireMinimized = function () {
	this._listeners.forEach(l => {
		if (l.onComponentMinimized) {
			l.onComponentMinimized(this, this._isMinimized);
		}
	});
};

/**
 * Fires a onComponentMaximized event on all registered listeners.
 * @private
 */
mynamespace.Component.prototype._fireMaximized = function () {
	this._listeners.forEach(l => {
		if (l.onComponentMaximized) {
			l.onComponentMaximized(this, this._isMaximized);
		}
	});
};

/**
 * Fires a onComponentClosed event on all registered listeners.
 * @private
 */
mynamespace.Component.prototype._fireClosed = function () {
	for (var i = this._listeners.length - 1; i >= 0; --i) {
		var l = this._listeners[i];
		if (l.onComponentClosed) {
			l.onComponentClosed(this);
		}
	}
};

See this gif: I select some code then release the mouse button over the "Jupyter" item in the extensions panel, which opens it on the right side.

This only happens in vscode.dev (or other web versions of it), not the desktop vscode app.
(Initially opened in https://github.com/gitpod-io/gitpod/issues/10559)
Version: 1.77.3
Commit: 704ed70d4fd1c6bd6342c436f1ede30d1cff4710
User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0
Embedder: vscode.dev

I can't repro this on macOS/Safari. On what browsers can you repro this?

Hi,
in Firefox (the user-agent was provided (User Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/113.0) but that happens in several versions of it.

Can you repro on a Chromium based browser?

No I do not.

It actually triggers a click event when releasing mouse click.

Hi, I am looking into this issue with @JoelSon1014
It looks like this happens when the following steps are done

open in Firefox
start at any draggable object (text selection, scrollbar, minimap to the right)
release the mouse while on top of most sidebar buttons, status bar buttons (bottom), action view items (top right), and also the command center input

I am currently working on a solution that tracks whether the button's mouseOver event was activated. It seems that the mouseOver event does not occur while a draggable object is selected, so we can use this to ensure that buttons are only clicked when not dragging (when the mouseOver event did occur).
I will submit a pull request soon. I've gotten the correct functionality working for almost all of the buttons, with a few exceptions

Can someone please review the open PR that fixes this? I curse VS Code dozens of times a day because of this bug.


server/proxy: Add external filters support

This PR adds external filters support.

one more thing: maybe we want to add some markdown doc for filter developers, including API docs how to run, how to debug etc..

rebase of feat/proxy

one more thing: maybe we want to add some markdown doc for filter developers, including API docs how to run, how to debug etc..

Done


REFACTOR: do not require auth file if env variables are set

Small suggestion to avoid requiring the
conf/authdata.json file if custom credentials have
been set as container environment variables.

Rebased and checks passed. Thanks @LaurenSpiegel


Typescript fixes

What does this implement/fix? Explain your changes.
Fixes issues introduced with the new TSX language and typescript-formatter.
...
Does this close any currently open issues?
...
Any other comments?
...
Checklist
Check all those that are applicable and complete.

[X] Merged with latest master branch
[ ] Regenerate documentation with npm run docs
[ ] Add change details to CHANGELOG.md under "Next" section
[X] Added examples for testing to examples/ directory
[X] Travis CI passes (Mac support)
[X] AppVeyor passes (Windows support)

Awesome!!! Thanks @szeck87


IPv6 issue

FYI: TL/DR: there is a bug in DNS resolution inside AKS control plane and/or the extension of the VM ("node" of AKS) that prevents the communication between nodes and the control plane.
So at the time being IPv6 resolution needs to be enabled for all DNS queries mentioned in the article.
Description of the bug:
Either the VM extension (customscript) or other parts of the control plane is unable to resolve AKS API url {AKSclusterName}-dns-{randomPostfix}.hcp.westeurope.azmk8s.io (provided by Azure to locate control plane of respective AKS cluster, e.g. akclustername01-dns-12aaaa11.hcp.westeurope.azmk8s.io) and/or other urls. For some reason the script/app is asking for AAAA (IPv6) type of records. This record does not exist though. While resolution of the DNS is working fine for NOERROR (with expected empty result), when the DNS server returns other code, such as REFUSED, the whole resolution of the DNS fails.
In other words, the VM extension and/or other control plane mechanism fails when IPv6 record for AKS API (xxx.hcp.westeurope.azmk8s.io) fails even it can safely resolve the IPv4 record.
Yet in other words: the DNS resolution is not written in defensive programming way.
How to reproduce the bug:

setup AKS with node pool in VMSS in a VNET, that have a custom DNS server configured (e.g. with <IP_ADDRESS> IP)

configure blocking for IPv6, e.g. run this on the DNS server

Add-DnsServerQueryResolutionPolicy -Name "BlockRecursionOfAAAA" -ApplyOnRecursion -Action Deny -QType "EQ,AAAA"

run nslookup agains the DNS server to ensure the DNS IPv6 is refused

PS > nslookup
> server <IP_ADDRESS> #IP of the custom DNS server
> SET TYPE=AAAA
> nameofcluster-dns-postfix.hcp.westeurope.azmk8s.io #AKS API url
Server: [<IP_ADDRESS>]
Address: <IP_ADDRESS>
*** [<IP_ADDRESS>] can't find akstestwe03-dns-11a0b089.hcp.westeurope.azmk8s.io: Query refused
>

wait at least 5 minutes (at the current time TTL of the record), better more
try to scale up/down the node pool. And/or check the overall health status and witnesss, how the AKS node pool is going to errornous state with error "52: DNS resolution fails"

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

ID: a38439d0-0125-3445-1c0a-a03b940e315d
Version Independent ID: c6436a35-94b9-6396-3b13-9291f0a17b21
Content: Restrict egress traffic in Azure Kubernetes Service (AKS) - Azure Kubernetes Service
Content Source: articles/aks/limit-egress-traffic.md
Service: container-service
GitHub Login: @palma21
Microsoft Alias: jpalma

Sure, feel free to submit a PR

This is addressed in #82533
#please-close


Drawing undirected graphs

This change facilitates the drawing of undirected graphs. Note this is a visual change only.  The underlying graph remains a directed graph.
Usage: g.setEdge(x, y, {arrowhead: 'undirected'});

Thanks!


fix: decode router base to support unicode characters

Types of changes

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

Description
Resolves #4948
Checklist:

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly. (PR: #)
[ ] I have added tests to cover my changes (if not applicable, please state why)
[ ] All new and existing tests are passing.

How about test ? :)

@aldarund 	WIP ;)

Codecov Report

Merging #5297 into dev will decrease coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             dev    #5297      +/-   ##
=========================================
- Coverage   95.7%   95.66%   -0.04%
=========================================
  Files         74       74
  Lines       2513     2513
  Branches     639      639
=========================================
- Hits        2405     2404       -1
- Misses        91       92       +1
  Partials      17       17

Impacted Files
Coverage Δ

packages/vue-renderer/src/renderer.js
91.58% <0%> (-0.5%)
:arrow_down:

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 60e9f78...1236878. Read the comment docs.

What if they specify base: '/öl' - will it work?
Also what if they specify non decodable uri base? How graceful error will be?

What if they specify base: '/öl' - will it work?

It will. I can change the test to it if you want :relaxed:

Also what if they specify non decodable uri base? How graceful error will be?

If you specify an URL base that's non-decodable, you should receive errors way earlier, as it has to go through the server first.


Preferences (site-wide)

Common Questions page

combine Order Specific and Preferences
"We're happy to refer to a specific image..."
"If you have a specific image you'd like us to refer to as we process your order..."

Branding

brand it gently?
change to Reference Images at least
ColorPac but not lol
One time Em had toyed with "My Vision" but maybe that's too close to "Maria's Vision" (which we use for Instagram takeovers)

Push harder that they're FREE to upload, to change any time, etc.
Add stock image option (and show it?) i.e. the creamy peachy one (make it an option so they don't think they have to upload one before they send film) this disclaimer needs to go in lots of places (common questions, etc.)
Make it more seamless to go from Create Account to immediately Upload Preferences form, instead of just link (more Em's idea) ?

Ideas for branding Preferences:
Look
Color Impression
Color Traits
Photographic Voice
Photographic Style
Photographic Tendency
Visual Treatment
I like the idea of sending users straight to the Preferences page after creating an account. Another option: Incorporate the Preferences form into the Create Account form, so it's an all-in-one process for new customers?

Common questions were edited by em with this wording:
Preferences (the overarching term)
Reference Images (the particular term for images only)
Written Preferences (the optional words people give us to describe their overall ideal image)
It sounds like Stephen likes to call it what it is, vs. using a branded term
Yes I like idea of sending users straight to Preferences after creating account!

what's left:
@digijim need to change "preference images" to "reference images" on all your forms. also, send users straight to preferences after they create an account.


Clarify clipboard_get_image()

See #94094

This could be more obvious by rewording the original description to be more explicit instead of adding a band-aid note.

Feel free to suggest it.

Thanks!


[Feature Request] Easter Egg Decorating

What's Easter without decorated Easter Eggs? Implement a command takes a color palette as an argument and returns a newly "painted" Easter Egg with a nice pattern/design in the specified colors.
Seasonal bot already has Pillow installed as a dependency, so try using that to manipulate your images. One possible implementation idea is to create bunch of template image files with very well defined color areas/patterns. You could then replace the colored areas in the image array by the colors specified in the command and send the result back to the channel.
Implementation details:

[ ] Create a command that takes a couple of colors as arguments
[ ] "Paint" a random egg design based off of those provided colors
[ ] Post the resulting Easter Egg, along with the user's nickname, in an embed to the channel

I'll work on this


Completion insertText for static member should use class name or 'this'?

TypeScript Version:  master
Code
class C {
    static m() {
        /**/
    }
}

Current behavior:
Type m, get completion for this.m
Potential behavior:
Type m, get completion for C.m
@DanielRosenwasser @amcasey @mhegazy Opinions?

this is fine. the distinction is a subtle, and from our type system perspective they are both identical (Since this in a static context is not polymorphic). So my vote is to leave it as is.


Default value for parameters with a class type hint can only be NULL

Laravel 5.4 Php 5.6
$user = User::first();
$google2fa = new Google2FA();
$code_from_app = "332117";
$valid = $google2fa->verifyKey($user->google2fa_secret, $code_from_app);
Throwing error : Default value for parameters with a class type hint can only be NULL

I had some search and found that php-cs-fixer issue it requires PHP 7.1  but i haven't used that and for this library min PHP version require is 5.4 So, please look into this issue.
Thanks

Any update on this? I have the same problem but working locally with php  v5.6.25 work perfect but on production server, same php version I get the same error:
(1/1) FatalErrorExceptionDefault value for parameters with a class type hint can only be NULL
in Base32.php (line 43)
I'm using laravel 5.4...

I need more information on this, because there are no type hints, code has 100% tests coverage and is passing even on PHP 5.4:

Got this error too :  Default value for parameters with a class type hint can only be NULL in vendor\paragonie\constant_time_encoding\src\Base32.php on line 43
PHP 5.5
Anyone got a fix ?


[PE-D][Tester A] Searching bug #3

Related to #1.
For some reason searching "search t/fr" gives result even if it is invalid tag. Maybe it is suppose to be able to find all tag that contains the word "fr" but it is not written in UG. But even if that is true, I'm not sure why "family" tag is inside.
Your browser does not support the video tag.video:https://raw.githubusercontent.com/LolfoollorS/ped/main/files/50d00bc9-68cf-4ed4-aef8-961114337cc3.mp4

Labels: severity.Medium type.FunctionalityBug
original: LolfoollorS/ped#5

Bug source identified: same as the previous thread of the reduction that happens in containsSomeKeywordsIgnoreCase before making sure that NONE of the contacts contain that.


Fixing the capitalization of a PowerShell comment

Something about this single character in the PowerShell comment being lowercase really bugged me. Updated the comment in the "Authenticate access with system-assigned managed identity" section where the PowerShell code lies. Specifically, updated the s to S (capitalized) on line 311 in the comment.

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

File
Status
Preview URL
Details

articles/automation/enable-managed-identity-for-automation.md
:white_check_mark:Succeeded

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

@SnehaSudhirG,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Adding field access to function calls gets ignored by SQL parser

For some reason, when we pass a query like SELECT func(a).x FROM t, the tokens . and x are ignored and it just parses as func(a) into a DataFusion expression. I couldn't reproduce with basic sqlparser. I think something is messed up with our dialect implementation.
This means in particular that array_element(list_struct, 1).y gets parsed into array_element(list_struct, 1), dropping the .y.
In #2966 we work around this by supporting field access by ['y'] instead.

Did you try encapsulating it with backticks?


Glow not working

I dont really know why the script isn't working, i'm using Unity 2018.2.13f1:
The sprite:

Configurations on inspector:

HDR in graphics is checked:

Camera also have checked Allow HDR:

Can you also share your bloom settings please?

Try playing with bloom and outline params to make the outline less visible.


yapa2: Add version 2.0.190

Closes #10369

[x] I have read the Contributing Guide.

/verify

@HUMORCE done


Add pickle support to custom return types

In recent releases we have started to add custom return types instead of
returning lists of of objects to avoid the overhead of converting large
lists from rust to python. However, these custom return types were
missing support for pickling, which was causing issue for places where
they were being used with Python's multiprocessing or deepcopy. This has
caused issues in places where a list was returned before. This commit
fixes this by adding the necessary methods to the custom return classes
to enable python to pickle them so they can avoid these issues.

Once this PR merges I'm planning to push out a 0.7.1 release to fix this. I bumped the version strings as part of this PR to save time.

Pull Request Test Coverage Report for Build 399262884

41 of 41 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.07%) to 94.85%

Totals

Change from base Build 398407714:
0.07%

Covered Lines:
3094

Relevant Lines:
3262

💛  - Coveralls


Gracefully handle errors and aborted computation for the different Krylov decompositions / linear solvers.

The way we currently handle input args errors or aborted computation is very crude and simplistic. We should probably make use of the utilities available in the stdlib_error module. We also need to make the info code somewhat consistent across the different subroutines.

Maybe we could also change info to ierr and dedicate the name info for a new type where we could store information about the computation (e.g. number of matrix-vector products, elapsed time, etc) which might be useful for users who want to benchmark their implementations/calculations. This should probably be addressed in a separate issue and branch.


EDrives introduced but never defined

Reported by sjoelund.se on 3 Jan 2014 08:58 UTC
The following references to EDrives exist in MSL trunk and the package is not defined anywhere. I guess the functions need to be ported to MSL. The changes were made in 3cfd14d5f1894be8fb17f98c47b637368440f4cd (I guess there exists a package called EDrives loaded in the author's Dymola copy and since MSL is not an encapsulated package, the error was not found).
Modelica/Electrical/QuasiStationary/Machines.mo:        parameter Modelica.SIunits.Angle phi[m]=EDrives.Blocks.Functions.symmetricOrientation(
Modelica/Electrical/QuasiStationary/Machines.mo:        parameter Modelica.SIunits.Angle phi[m]=EDrives.Blocks.Functions.symmetricOrientation(
Modelica/Electrical/Machines.mo:        parameter Modelica.SIunits.Angle phi[m]=EDrives.Blocks.Functions.symmetricOrientation(m);
Modelica/Electrical/Machines.mo:        parameter Modelica.SIunits.Angle phi[m]=EDrives.Blocks.Functions.symmetricOrientation(
Modelica/Electrical/Machines.mo:        parameter Modelica.SIunits.Angle phi[m]=EDrives.Blocks.Functions.symmetricOrientation(m);
Modelica/Electrical/Machines.mo:        parameter Modelica.SIunits.Angle phi[m]=EDrives.Blocks.Functions.symmetricOrientation(m);
Modelica/Electrical/Machines.mo:      EDrives.Blocks.MultiPhase.ToSpacePhasor toSpacePhasor(final m=m)
Modelica/Electrical/Machines.mo:      EDrives.Blocks.MultiPhase.FromSpacePhasor fromSpacePhasor(final m=m)

Migrated-From: https://trac.modelica.org/Modelica/ticket/1389

Modified by sjoelund.se on 3 Jan 2014 09:05 UTC

Comment by christiankral on 3 Jan 2014 10:01 UTC
Just fixed the issue. The correct instance name was fixed in 06e171a0d55cca5dc650fb1886265a3fae3faaca and 4c466e02a10558d43c4b9f119c13b113183711ba

Modified by beutlich on 28 Sep 2015 11:41 UTC

Comment by beutlich on 29 Oct 2015 15:19 UTC
Do no longer hide development tickets. Instead leave the Release Notes empty.


Error out if multiple pipelineruns with same name are found

if there are multiple pipelineruns with sama name in .tekton directory then return an error.
Closes #1192

Changes

Submitter Checklist

[ ] ♽  Run make test lint before submitting a PR (ie: with pre-commit, no need to waste CPU cycle on CI
[ ] 📖 If you are adding a user facing feature or make a change of the behavior, please verify that you have documented it
[ ] 🧪 100% coverage is not a target but most of the time we would rather have a unit test if you make a code change.
[ ] 🎁 If that's something that is possible to do please ensure to check if we can add a e2e test.
[ ] 🔎 If there is a flakiness in the CI tests then don't necessary ignore it, better get the flakyness fixed before merging or if that's not possible there is a good reason to bypass it. (token rate limitation may be a good reason to skip).

very cool!!
we'll need to add you in the OWNER list

i think the e2e error is relevant, (can you see them)?
and we need somewhere in the doc mentioning this

Yeah I am guessing that we use the same pipelinerun template to create pr for the failing test. Due to which it is failing. Will take a look tomorrow. :)

/retest

i fixed the git.io thing, updated your pr and let see how it goes..

haha i didn't wrote those strings, but it could have be me....

haha i didn't wrote those strings, but it could have be me.... 😅
it's still a bit buggy, it's go coverage being buggy generating the bug report...

lol I thought it was you! :D
Now CI should pass 🤞

the last e2e passed. @chmouel take a look, this should be good to go! https://github.com/openshift-pipelines/pipelines-as-code/actions/runs/4544257389

/retest

congrats on your first review 😝

we maybe should have had this specified in the doc, i can add that or feel free to send a pr 🙇🏻♂

congrats on your first contribution 😝

Thank you! 😄 finally have a commit \o/
can you take care of the doc, i can create PR but not sure today or tomorrow

sure will do