LUSERS out of sync on the testnet

@time=2020-08-05T17:34:47.029Z :oragono.test 253 bbbb -1 :unregistered connections

In theory we have the tools to figure out what happened.

https://gist.github.com/slingamn/0eddcca6e203c43fcafb06c94c3c4e5d
This is some kind of disconnection during hostname lookup?

The test__ nickname is in a stuck state, which is fairly alarming:
@time=2020-08-05T18:14:41.471Z :oragono.test 311 b test__ ~a 92khidu795qaw.oragono * d
@time=2020-08-05T18:14:41.471Z :oragono.test 317 b test__<PHONE_NUMBER>000730 :seconds idle, signon time
@time=2020-08-05T18:14:41.471Z :oragono.test 318 b test__ :End of /WHOIS list

I tried to reproduce this by replacing hostname lookup with a time.Sleep call and disconnecting during the mock lookup. That didn't work; the disconnect got registered immediately after the end of registration and the client was disconnected as expected.
It's not clear to me what can cause a destroy of an unregistered client in the middle of command execution.

Although it's not what happened in this case, this can likely be caused by the registration timeout firing during the hostname lookup (or anything else during the processing of the last command before registration).

I just can't read, apparently! This is in fact the registration timeout, since there's an entire minute in between initial connection and the destroy call:
Jul 29 05:32:10 oragono-testnet oragono[27806]: 2020-07-29T05:32:10.878Z : info  : connect-ip : Client connecting: real IP [redacted], proxied IP <nil>
Jul 29 05:32:10 oragono-testnet oragono[27806]: 2020-07-29T05:32:10.880Z : debug : useroutput : * :  -> : :oragono.test NOTICE * :*** Looking up your username
Jul 29 05:32:12 oragono-testnet oragono[27806]: 2020-07-29T05:32:12.380Z : debug : useroutput : * :  -> : :oragono.test NOTICE * :*** Could not find your username
Jul 29 05:32:31 oragono-testnet oragono[27806]: 2020-07-29T05:32:31.034Z : debug : userinput  : * : <-  : @label=a CAP REQ :batch labeled-response
Jul 29 05:32:31 oragono-testnet oragono[27806]: 2020-07-29T05:32:31.035Z : debug : useroutput : * :  -> : @label=a :oragono.test CAP * ACK :batch labeled-response
Jul 29 05:32:47 oragono-testnet oragono[27806]: 2020-07-29T05:32:47.394Z : debug : userinput  : * : <-  : @label=c USER a b c d
Jul 29 05:32:47 oragono-testnet oragono[27806]: 2020-07-29T05:32:47.396Z : debug : useroutput : * :  -> : @label=c :oragono.test ACK
Jul 29 05:32:55 oragono-testnet oragono[27806]: 2020-07-29T05:32:55.866Z : debug : userinput  : * : <-  : @label=d NICK test__
Jul 29 05:32:55 oragono-testnet oragono[27806]: 2020-07-29T05:32:55.867Z : debug : useroutput : * :  -> : @label=d :oragono.test ACK
Jul 29 05:33:07 oragono-testnet oragono[27806]: 2020-07-29T05:33:07.251Z : debug : userinput  : * : <-  : @label=e CAP END
Jul 29 05:33:07 oragono-testnet oragono[27806]: 2020-07-29T05:33:07.252Z : debug : useroutput : * :  -> : @label=e :oragono.test ACK
Jul 29 05:33:07 oragono-testnet oragono[27806]: 2020-07-29T05:33:07.252Z : debug : useroutput : * :  -> : :oragono.test NOTICE * :*** Looking up your hostname...
Jul 29 05:33:10 oragono-testnet oragono[27806]: 2020-07-29T05:33:10.880Z : info  : connect-ip : disconnecting session of * from [redacted]
Jul 29 05:33:10 oragono-testnet oragono[27806]: 2020-07-29T05:33:10.882Z : debug : quit       : * is no longer on the server
Jul 29 05:33:11 oragono-testnet oragono[27806]: 2020-07-29T05:33:11.903Z : debug : useroutput : * :  -> : :oragono.test NOTICE * :*** Found your hostname
Jul 29 05:33:11 oragono-testnet oragono[27806]: 2020-07-29T05:33:11.905Z : debug : nick       : * changed nickname to test__ [test__]
Jul 29 05:33:11 oragono-testnet oragono[27806]: 2020-07-29T05:33:11.905Z : info  : connect    : Client connected [test__] [u:~a] [r:d]
Jul 29 05:33:11 oragono-testnet oragono[27806]: 2020-07-29T05:33:11.905Z : debug : useroutput : test__ :  -> : :oragono.test 001 test__ :Welcome to the Internet Relay Network test__

Compare #772; hostname lookup can't be the root cause of a race condition, but it can definitely exacerbate one.

This is also similar in interesting ways to #1166. In both cases, (*Client).destroy was racing against something that attached a global resource to the client (there a channel membership, here ownership of a nickname). If destroy won the race, then it wouldn't see the client's ownership of that resource and wouldn't clean it up, hence it would never be cleaned up.

See also this check:
https://github.com/oragono/oragono/blob/7b28fc73e63f50a1615afe01c14668cbdcda4a76/irc/getters.go#L106-L109
There may be more operations that need to be gated on !client.destroyed.


Multi-GPU Support

Wonder will it be possible to support multi-gpu?

No plans for multi-gpu img2vec


[WIP] Adding verbose output for validate command

What this PR does / why we need it:
Adds functionality for getting more verbose output from the validate command. Specifically, output will include output regarding:

What sections and their subsections/items are missing?
Reason: What might be missing could be later used for themes to show what data might be filled out.

What additional data is in the resume file, but not in the default schema?
Reason: We are not perfectly strict on the schema and therefore having the ability to see how a data file differs from the actual schema might be helpful for the user and later for us. When someone creates a patch and want to upstream, they can easily showcase the use case by sending us the diff)

fixes #91

@stp-ip, what do you envision exactly for the verbose output on validate? I'm tinkering around with the error details, and there's a lot of stuff that could be displayed, but I'm not sure what your vision is for it. Right now, the error messages when you have non-specified fields are pretty explicit, telling you where the error is and what type it is. Would we want something more than that?

Generally I had a diff like output in mind, but not sure, if that works perfectly.
Basically it would show your resume data with green text for correct and red for error and orange for recommended.
If anything is recommended, but not currently set within the specific resume it could add the structure within this diff and display it as orange saying recommended, but not set/filled or so.
But that was a really really broad idea. So happy to go a first step with error based output and then maybe render that error based output into a visual representation later on. Both are valid representations and good to keep for accessibility reasons.
Hope that helps :)

Oh ok gotcha! The errors currently are pretty verbose about telling you exactly where at what the problems are (ie you're missing a required field or you have an additional field that isn't allowed), so I'll go ahead and start working on the diff view!

Happy to split the PR. One for the verbose error reporting and one adding a visual representation. Don't want to hold up code, that is already available.

That might be a better strategy. As far as verbose output (not visual diff) goes, did you want anything more than what the errors give now? They currently give a pretty detailed description, telling you what parts of the schema you either forgot to include or where you've added in extra stuff that doesn't belong.

I only see you adding the verbose flag, but not any code to make it verbose or am I missing something?

Haha, that was my bad for not explaining. The code in this branch right now is just me experimenting with adding flags, not actually adding any additional verbosity to the error messages.
When I referred to

That might be a better strategy. As far as verbose output (not visual diff) goes, did you want anything more than what the errors give now? They currently give a pretty detailed description, telling you what parts of the schema you either forgot to include or where you've added in extra stuff that doesn't belong.

I meant what the errors given by the code without any change to them.

Thanks for clarifying. So I would consider this branch as still WIP.
Happy to close this, if you feel the current verbosity is enough and we can open a visual one separately.

I think the current verbosity is pretty good; @ArmanMazdaee what's your opinion?
If we all agree, I'm down to close and open up a new issue targeting a visual diff.

Closing for now and we can always reiterate, if @ArmanMazdaee or someone else feels differently.


Panic: hashes must be unique in memory_state

Version
zebrad main branch, 19 October 2020.
Platform
Linux ... 5.4.68 #1-NixOS SMP Sat Sep 26 16:03:16 UTC 2020 x86_64 GNU/Linux
Description
While syncing blocks, zebrad panicked with a "hashes must be unique" error in memory_state, inside the span zebra_state::service::queue_and_commit_non_finalized_blocks.
I tried this:
Partially syncing mainnet, a sync hang (#1181), then restarting zebrad so sync could continue.
I expected to see this happen:
A successful sync to the tip.
Instead, this happened: [explanation]
A block timeout error, followed by a state panic.
Metadata

key
value

version
3.0.0-alpha.0

Block Download Error
Error:
   0: failed to verify block
   1: request timed out

SpanTrace

SpanTrace:
   0: zebrad::components::sync::block_fetch_verify
           with hash=00000000024f9794d9cfe1d7ab6e7e23e7fa68dbc00316ea6e9a0c96358f73b4
             at zebrad/src/components/sync.rs:615
   1: zebrad::components::sync::extend_tips
             at zebrad/src/components/sync.rs:434
   2: zebrad::components::sync::sync
             at zebrad/src/components/sync.rs:169

State Error
hashes must be unique

SpanTrace

SpanTrace:
   0: zebra_state::service::queue_and_commit_non_finalized_blocks
             at zebra-state/src/service.rs:76
   1: zebrad::components::sync::block_fetch_verify
           with hash=000000000166f4b01559db2831189c088a99943ba2db2b40b4d068412ea16454
             at zebrad/src/components/sync.rs:615
   2: zebrad::components::sync::obtain_tips
             at zebrad/src/components/sync.rs:314
   3: zebrad::components::sync::sync
             at zebrad/src/components/sync.rs:169

@yaahc I think you might have a better idea of what is going on with this state panic?

It's implying that the same block was inserted twice into the memory state I think, looking into it. I thought we already added the duplicate block handling but I might be misremembering.


⚠ Topfarmacia has degraded performance

In f837d00, Topfarmacia (https://www.topfarmacia.it) experienced degraded performance:

HTTP code: 200
Response time: 26900 ms

Resolved: Topfarmacia performance has improved in e32f6b5.


Reconcile master and v0.3.0

v0.3.0 was released but I failed to do the final push to master (slipped out of the copy/pasted commands), this PR reconciles master putting the v0.3.0 tag among the ancestors of master.

Specs should be green now if you want to re-run them


[BUG] Upsert action requires existing document in OpenSearch

Describe the bug
The upsert action is supposed to insert a document if it does not exist, and update a document if it does exist. However, the upsert action as part of a bulk request from the opensearch sink receives a document not found error from OpenSearch.
To Reproduce
Steps to reproduce the behavior:

Configure and start a pipeline with an opensearch sink with action: upsert
Send an Event that does not have an existing document_id for that document in the OpenSearch index
Observe the error

WARN  org.opensearch.dataprepper.plugins.sink.opensearch.BulkRetryStrategy - operation
= Update, error = [2]: document missing

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: [e.g. Ubuntu 20.04 LTS]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

This is related to #3988.
@graytaylor0 , Is it a duplicate as well?

It is not the same as #3988. #3988 is might be consolidated with #3933 .
However, this one is completely different, and it is strictly focused on upsert not inserting documents when they don't exist


[issue#2180]:convert wind direction to degrees

added new program that convert wind direction in degree to compass direction.
below ss shows how program takes input and gives output:-

All good.

Thanks for your contribution. keep contributing. All the best.

okk sure


Inline Date time picker alignment

The alignment of the ":" seems off. Its too close to the last number (the minutes)

Where do you see this?

I guess it is Chrome with emulation of iPhone? :) It displays it wrong, look on real iPhone or in Chrome without iPhone emulation

Yes it was chrome Iphone emulator. I will check more soon.

I think we can close it for now


Add s.Database to semanticdb.proto, fixes #943.

This commit changes the persistence format of .semanticdb files from
s.Attributes to s.Database. Along the way, some changes had to fixed

refactor Paths.* methods from string manipulation to use nio.Path.
more robust testing of semanticdb with expect tests.
more efficient serialization of semanticdbs by avoiding an
intermediary Array[Byte], using input/output streams. This
made v.Database.save() unnecessary.

Looks like a legit failure:

[info] SemanticdbExpectSuite:
[info] - semanticdb.expect *** FAILED ***
[info]   =======
[info]   => Diff
[info]   =======
[info]    Dialect:
[info]   -Scala212
[info]   +Scala211 (SemanticdbExpectSuite.scala:18)

Superseded by #988


Update deploy docs workflow and codeowners

Removes Manoel from both, adds Imamichi-san to codeowners and to deploy docs users allowed to run it.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
645

Relevant Lines:
851

💛  - Coveralls


Generated models do not use the right using statement for Kentico required by latest SDK

The Kentico Kontent model generator v 5.0.0 generates models using Kentico.Kontent.Delivery statement in however the latest SDK (v13) requires Kentico.Kontent.Delivery.Abstractions to be used.
Also I have installed the generator locally in visual studio code with the following manifest:
{   "version": 1,   "isRoot": true,   "tools": {     "kentico.kontent.modelgenerator": {       "version": "5.0.0",       "commands": [         "KontentModelGenerator"       ]     }   } }
Generated sample:
using System; using System.Collections.Generic; using Kentico.Kontent.Delivery;
Downloading the standalone generator on Windows does generate the right header.

Hi @vletierce ,
thanks for the feedback. Are you 100% sure about this? I tested it and it works fine for me.
These models were generated by the 5.0.0 version of the .NET tool generator and they contain Kentico.Kontent.Delivery.Abstractions;.
Can you please check %userprofile%\.nuget\packages\kentico.kontent.modelgenerator if the 5.0.0 package was restored correctly?

Hi @petrsvihlik,
I have deleted the content from the nugget folder (which was 5.0.0) and re-install the tool and it seems to work now.
Thanks for comming back quickly.
Regards,
Vincent

no problem ;) glad to help


[Identity] Release date for 2.0.2

I’m thinking on releasing v2.0.2 of Identity today, early enough before we begin to add beta features.
Here’s the changelog: https://github.com/Azure/azure-sdk-for-js/blob/main/sdk/identity/identity/CHANGELOG.md#202-unreleased
Feedback appreciated 🙂

Rebased on top of the latest main, hoping that CI would get fixed 🤔


[SPARK-23861][SQL][Doc] Clarify default window frame with and without orderBy clause

What changes were proposed in this pull request?
Add docstring to clarify default window frame boundaries with and without orderBy clause
How was this patch tested?
Manually generate doc and check.

Test build #88956 has started for PR 20978 at commit 8fb7527.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2015/
Test PASSed.

@felixcheung Thanks much for the tips! I was able to generate scaladoc using sbt unidoc but for some reason my local changes are not reflected in the generated doc (I tried deleted the generated do and regenerate, but still no luck). I wonder I am missing sth?

Test build #88956 has finished for PR 20978 at commit 8fb7527.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88956/
Test FAILed.

jenkins retest please

retest please please

retest this please

Test build #88981 has started for PR 20978 at commit 8fb7527.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2038/
Test PASSed.

Test build #88981 has finished for PR 20978 at commit 8fb7527.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88981/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

it makes very little sense that this keeps failing

Test build #88983 has started for PR 20978 at commit 8fb7527.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2040/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/2041/
Test PASSed.

Merged build finished. Test PASSed.

@hvanhovell @HyukjinKwon thanks for helping with the build! I think this PR is ready except for that I still couldn't figure out why sbt unidoc isn't producing the updated the doc. I could be reading wrong but it seems like it uses the github as source to build docs:
https://github.com/apache/spark/blob/master/project/SparkBuild.scala#L727
Do you have suggestion how do I build the doc from local source?

Test build #88983 has finished for PR 20978 at commit 8fb7527.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88983/
Test PASSed.

Merging to master. Thanks!

LGTM :)

and .. I guess @hvanhovell is hitting a network issue? I just merged it into master.

Yeah, I got distracted. Thanks for merging.

Thanks all!


pylance unable to recognize property render by another class

Environment data

Pylance version: v2024.8.1
OS and version: Windows 10
Python version (& distribution if applicable, e.g. Anaconda): python 3.10.13 from anaconda

Code Snippet

from typing import Callable, Literal, TypeVar

class Pair:
    T = Literal["ref", "query"]
    FT = TypeVar("FT")
    CLS = TypeVar("CLS", type, type)

    def __init__(self, f: Callable[[CLS, T, T], FT]):
        self.f = f

    def __call__(self, cls: CLS):
        self.cls = cls
        return self

    def switch(self, this: T):
        if this == self.T.__args__[0]:
            return self.T.__args__[1]
        if this == self.T.__args__[1]:
            return self.T.__args__[0]
        raise ValueError("not in switch")

    def __getitem__(self, this: T):
        return self.f(self.cls, this, self.switch(this))

class Test:
    @property
    @Pair
    def l(self, this: "Pair.T", other: "Pair.T"):
        return other[::-1]

t = Test()
l = t.l["ref"]

Repro Steps

move mouse over the last l = t.l["ref"], the left, variable l

Expected behavior
l should be recognize as type 'str'
Actual behavior
cannot determin type of l, however, property l of class Test was recognize as str, however, it is actually a Pair object
Logs

None

You have a few bugs in your code. If you enable type checking (i.e. set typeCheckingMode to "basic" or "standard"), pylance will help you find these bugs.
The first issue is that the type variable CLS is defined incorrectly. It should not be a value-constrained type variable. Simply delete the "type, type" value constraints. The second issue is it appears that you intend Pair to be a generic class, but the way you've defined it, it's a non-generic class with generic methods. To make it a generic class, you need to move the TypeVar definitions outside of the class and have the class derive from Generic.
FT = TypeVar("FT")
CLS = TypeVar("CLS")

class Pair(Generic[FT, CLS]): ...

Or if you're using Python 3.12, you can make use of the new generics syntax:
class Pair[FT, CLS]: ...

With those two bug fixes, your code will work as you expect.
Code sample in pyright playground

Thanks for your kind advice! it helps me a lot!
While mypy still not support PEP 695, I have to use Generic. The behavior is almost the same, but I've found that in vscode, adding CLS in class Pair(Generic[FT, CLS]): ... will disable pylance to report the correct type.

Mypy 1.11 does support PEP 695 as an experimental feature.
I presume you're using mypy in your CI pipeline? If you switch from mypy to pyright (which is the type checker that pylance is built upon), you'll see consistent type checking results between your editor and your CI. Plus, pyright has more up-to-date features and conforms more closely to the Python typing spec.

That's great! I'd like to try it when I need type check for a whole project. (I'm enjoying Pylance extention in vscode now, it seems that pyright is included by Pylance, and the Pyright extension is redundant? If so, I'm already using pyright (inside pylance) to check my codes.)
Thanks!


Potential secutiry vulnerabilities in the shared library which cognitive-services-speech-sdk depends on. Can you help upgrade to patch versions?

Hi, @Mahesh-MSFT , @pandeyp-dev , I'd like to report a vulnerability issue in com.microsoft.cognitiveservices.speech:client-jar-sdk:1.14.0.
Issue Description
com.microsoft.cognitiveservices.speech:client-jar-sdk:1.14.0 directly or transitively depends on 12 C libraries (.so) cross many platforms(such as x86-64, x86, arm64, armhf). However, I noticed that one shared library is vulnerable, containing the following CVEs:
libMicrosoft.CognitiveServices.Speech.core.so  from C project openssl(version:1.1.1b) exposed 5 vulnerabilities:
CVE-2021-3711, CVE-2021-3712, CVE-2019-1549, CVE-2019-1543, CVE-2019-1552
Suggested Vulnerability Patch Versions
openssl has fixed the vulnerabilities in versions >=1.1.1l
Java build tools cannot report vulnerable C libraries, which may induce potential security issues to many downstream Java projects.
Could you please upgrade the above shared libraries to their patch versions?
Thanks for your help~
Best regards,
Helen Parr

@HelenParr Thanks for the report. These vulnerabilities have been resolved in the v1.19.0 of Speech SDK for Java https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/releasenotes?tabs=speech-sdk#speech-sdk-1190-2021-nov-release. I recommend upgrading to the latest version, which is 1.21.0.

Closed as resolved in the latest Speech SDK version, please open a new issue if more support is needed.


Fix typo in typings

Refs: https://github.com/metarhia/impress/pull/1583

Landed in https://github.com/metarhia/impress/commit/6938bf2d9aea2bc112f691da2c14d5e10cc2c5ce


Implement Centralized Logging

It would be beneficial to have centralized logging in our stack to speed up debugging and development. We can look into the ELK stack or something less complicated.

Closed by #11


How Do I Operate the Alluxio on the Remote Server on the Local IDEA Through the Java API?

How Do I Operate the Alluxio on the Remote Server on the Local IDEA Through the Java API?

https://docs.alluxio.io/os/user/stable/en/api/Java-API.html

Why does http://*** not exist when the web is configured as the UFS?

How did you configure UFS?


Consider using ClassVar for schema versioning

Is your feature request related to a problem? Please describe.
There is currently no easy way to get a version of a schema without instantiating a model. This is a bit annoying as models are difficult to fully build to get validation. I suggest that we change the pattern to keep track of schema versions, eg:
https://github.com/AllenNeuralDynamics/aind-data-schema/blob/2c66f2e8a2f89a6b21caa86eb7377ab5aef88280/src/aind_data_schema/base.py#L25C1-L28C1
and instead, make the version of the schema also a class variable. This allows the value to be queried before the instance is created and will not change any of the serialization behavior.
Describe the solution you'd like
Here's a quick example:
from typing import Literal, ClassVar, get_args

from pydantic import BaseModel

_version = Literal["0.1.0"]

class Baz(BaseModel):
    """Example Foo task."""
    version_class: ClassVar[_version] = get_args(_version)[0]
    version: _version = get_args(_version)[0]

print(Baz.version_class)
#0.1.0
print(Baz.model_json_schema())
#{'description': 'Example Foo task.', 'properties': {'version': {'const': '0.1.0', 'default': '0.1.0', 'title': 'Version'}}, 'title': 'Baz', 'type': 'object'}

More investigation needs to be done to verify that this doesn't cause any issues. Warnings are usually raised when using references to Literal types.


Allow skipping of MN payments with zero duffs

In case a MNO uses an operator reward of 100%, the normal reward will be 0
duffs. It doesn't make sense to enforce these payments.
This will cause a fork when miners start to mine with the new version, but
only for nodes that didn't upgrade.

utACK


Polygon from Geojson file

I'd like to add polygons from geojson file to QuadTree. But there is no coordinates for them. Instead they have coordinates array. How to add them to QuadTree? Any advice?

Possibly calculate the center or average of the coordinates array, then use that as the coordinate for storage inside the quad tree. Depending on how much scale variance there is in the geoJSON objects, quadtrees may not be a good data structure for holding your data.


New line needed in can-age-data

@cgrandin should there be a new line here after 81?
https://github.com/pacific-hake/hake-assessment/blob/7778ebbe55758557bbbbe9c9dcbb3c5136c1394a/data/can-age-data.csv#L111

Yep! Thanks


BlockParser: allow hyphen in fenced code block language name

I ran into a situation where a programming language name contained a hyphen, like foo-bar. Other Markdown parsers allow the - character in a fenced code block, but the haxe-markdown parser currently fails to recognize the name because it searches for [\w]* only, which doesn't include -.
Example:
```foo-bar
```

Interestingly, the dart-markdown library that haxe-markdown is based on has a much more flexible definition of a fenced code block these days. I assume that it used to be closer to haxe-markdown, but it was expanded to conform to the CommonMark spec.
https://github.com/dart-lang/markdown/blob/417747fcfb2b58f14cd727fc1e0cc7c96560e3bb/lib/src/patterns.dart#L26
A few highlights:

It allows 3 or more ` characters (instead of exactly 3)
It allows using ~ characters instead of `
It uses .* for the language name (which would include more than [\w\-]*, such as whitespace to allow multiple words, and it later calls trim() to remove the whitespace at the beginning and end).


fastlane notarize fails during staple even though the package is approved

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
When I run the fastlane notarize command to upload my .zip file for notarization, notarization succeeds, but fastlane fails with the error "FastlaneCore::Interface::FastlaneShellError: [!] Shell command exited with exit status 66 instead of 0."
Unfortunately, this bug makes it impossible for me to use Fastlane's notarize action for my macOS app. :o(
It looks like xcrun stapler staple fails, or that sh_control_output is trying to invoke a missing method. Just to verify the Xcode version (11.3) is not a problem, I ran xcrun stapler staple, and that appears to work nominally.
One point: I'm uploading a .zip file, which cannot be stapled. Perhaps that is the problem?
Would it make sense to add a skip_staple parameter to the notarize options?
(A larger feature request for another time would be to unzip the .zip file, staple any bundles within it, and re-zip it.)
Command(s) executed
source ~/.bash_profile # add ruby 2.7.x to the PATH
bundle install
notarization_apple_id=${AppleID}
notarization_team_shortname=${TeamShortname}
archive_bundle_id=com.mycompany.SDK-$(cat version.txt).zip
archive_filepath=$(\ls -1 ./artifacts/mycompany-sdk-*-macos.zip | head -1)
export FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD=${NOTARIZATION_APP_SPECIFIC_PASSWORD}
bundle exec fastlane run notarize package:${archive_filepath} asc_provider:${notarization_team_shortname} username:${notarization_apple_id} bundle_id:${archive_bundle_id} print_log:true

Complete output when running fastlane, including the stack trace and command used
Fastlane would exit immediately if I specified --capture_output. Hopefully, --verbose provides some useful information, though.

[✔] 🚀
DEBUG [2020-11-24 17:46:42.56]: Checking if there are any plugins that should be loaded...
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
DEBUG [2020-11-24 17:46:42.67]: Using package: /Users/user1/Downloads/mycompany-sdk-<IP_ADDRESS>807.73d42bff-macos.zip
DEBUG [2020-11-24 17:46:42.67]: Using asc_provider: Redacted
DEBUG [2020-11-24 17:46:42.67]: Using username<EMAIL_ADDRESS>DEBUG [2020-11-24 17:46:42.67]: Using bundle_id: com.mycompany.SDK.5.14.0.zip
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
Successfully loaded Appfile at path '/Users/user1/Projects/sdk/fastlane/Appfile'
-------
INFO [2020-11-24 17:46:42.69]: ----------------------
INFO [2020-11-24 17:46:42.69]: --- Step: notarize ---
INFO [2020-11-24 17:46:42.69]: ----------------------
INFO [2020-11-24 17:46:42.69]: Uploading package to notarization service, might take a while
INFO [2020-11-24 17:47:52.02]: Successfully uploaded package to notarization service with request identifier [redacted-please DM for a sample; upload and notarization were successful]
INFO [2020-11-24 17:47:52.02]: Waiting to query request status
INFO [2020-11-24 17:48:22.02]: Querying request status
INFO [2020-11-24 17:48:53.19]: Querying request status
INFO [2020-11-24 17:49:24.48]: Querying request status
INFO [2020-11-24 17:49:26.07]: Stapling package
Looking for related GitHub issues on fastlane/fastlane...
Search query: Shell command exited with exit status 66 instead of 0.
URL: https://api.github.com/search/issues?q=Shell command exited with exit status 66 instead of 0.+repo:fastlane/fastlane
➡  Promo codes
https://github.com/fastlane/fastlane/issues/66 [closed] 4 💬
26 Sep 2016
➡  build_android_app gradle step signingConfigWriterStagingRelease fails after upgrade to React Native 0.60.5
https://github.com/fastlane/fastlane/issues/15233 [closed] 20 💬
19 Dec 2019
➡  Instead of FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD, fastlane asks for FASTLANE_PASSWORD
https://github.com/fastlane/fastlane/issues/15038 [closed] 2 💬
21 Sep 2019
and 17 more at: https://github.com/fastlane/fastlane/search?q=Shell command exited with exit status 66 instead of 0.&type=Issues&utf8=✓
🔗  You can ⌘ + double-click on links to open them directly in your browser.
Traceback (most recent call last):
26: from /Users/user1/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in <main>' 	25: from /Users/user1/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in eval'
24: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/bin/fastlane:23:in <main>' 	23: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/bin/fastlane:23:in load'
22: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/bin/fastlane:23:in <top (required)>' 	21: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in take_off'
20: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/commands_generator.rb:41:in start' 	19: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/commands_generator.rb:352:in run'
18: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run!' 	17: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'
16: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command' 	15: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run'
14: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call' 	13: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/commands_generator.rb:224:in block (2 levels) in run'
12: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/one_off.rb:22:in execute' 	11: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/one_off.rb:42:in run'
10: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:229:in execute_action' 	 9: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:229:in chdir'
8: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action' 	 7: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action'
6: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action' 	 5: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/actions/notarize.rb:107:in run'
4: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/actions/notarize.rb:120:in staple' 	 3: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/helper/sh_helper.rb:12:in sh'
2: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/helper/sh_helper.rb:80:in sh_control_output' 	 1: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in method_missing'
/Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in shell_error!': Shell command exited with exit status 66 instead of 0. (FastlaneCore::Interface::FastlaneShellError) 	26: from /Users/user1/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in '
25: from /Users/user1/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in eval' 	24: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/bin/fastlane:23:in '
23: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/bin/fastlane:23:in load' 	22: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/bin/fastlane:23:in <top (required)>'
21: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/cli_tools_distributor.rb:119:in take_off' 	20: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/commands_generator.rb:41:in start'
19: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/commands_generator.rb:352:in run' 	18: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/delegates.rb:15:in run!'
17: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!' 	16: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/runner.rb:476:in run_active_command'
15: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:153:in run' 	14: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/commander-fastlane-4.4.6/lib/commander/command.rb:178:in call'
13: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/commands_generator.rb:224:in block (2 levels) in run' 	12: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/one_off.rb:22:in execute'
11: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/one_off.rb:42:in run' 	10: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:229:in execute_action'
9: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:229:in chdir' 	 8: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action'
7: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action' 	 6: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action'
5: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/actions/notarize.rb:107:in run' 	 4: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/actions/notarize.rb:120:in staple'
3: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/helper/sh_helper.rb:12:in sh' 	 2: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane/lib/fastlane/helper/sh_helper.rb:80:in sh_control_output'
1: from /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in method_missing' /Users/user1/Projects/sdk/.gems/bundle/ruby/2.6.0/gems/fastlane-2.168.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in shell_error!': [!] Shell command exited with exit status 66 instead of 0. (FastlaneCore::Interface::FastlaneShellError)

Environment
✅ fastlane environment ✅
Stack

Key
Value

OS
10.15.7

Ruby
2.6.3

Bundler?
true

Git
git version 2.24.3 (Apple Git-128)

Installation Source
~/Projects/sdk/.gems/bundle/ruby/2.6.0/bin/fastlane

Host
Mac OS X 10.15.7 (19H15)

Ruby Lib Dir
~/.rvm/rubies/ruby-2.6.3/lib

OpenSSL Version
OpenSSL 1.1.1d  10 Sep 2019

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
11.6

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL
en_US.UTF-8
✅

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# This file contains the fastlane.tools configuration
# You can find the documentation at https://docs.fastlane.tools
#
# For a list of all available actions, check out
#
#     https://docs.fastlane.tools/actions
#
# For a list of all available plugins, check out
#
#     https://docs.fastlane.tools/plugins/available-plugins
#

platform :ios do
  before_all do
    update_fastlane
    ensure_bundle_exec
  end

  after_all do
    # N/A
  end

  desc "Install certificates and provisioning profiles for iOS code signing."
  lane :install_certs do
    match
  end
end

platform :mac do
  before_all do
    update_fastlane
    ensure_bundle_exec
  end

  after_all do
    # N/A
  end

  desc "Install certificates necessary for macOS code signing."
  lane :install_certs do
    match(type: "developer_id", skip_provisioning_profiles: true)
  end

  desc "Notarize macOS package with Apple"
  lane :notarize_build do |options|
    notarize(package: options[:package], )
  end
end

`./fastlane/Appfile`
# app_identifier("[[APP_IDENTIFIER]]") # The bundle identifier of your app
# apple_id("[[APPLE_ID]]") # Your Apple email address

# For more information about the Appfile, see:
#     https://docs.fastlane.tools/advanced/#appfile

fastlane gems

Gem
Version
Update-Status

fastlane
2.168.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.3.0

rake
13.0.1

CFPropertyList
3.0.2

public_suffix
4.0.6

addressable
2.7.0

atomos
0.1.3

aws-eventstream
1.1.0

aws-partitions
1.399.0

aws-sigv4
1.2.2

jmespath
1.4.0

aws-sdk-core
3.109.3

aws-sdk-kms
1.39.0

aws-sdk-s3
1.85.0

babosa
1.0.4

bundler
2.1.4

claide
1.0.3

colored
1.2

colored2
3.1.2

highline
1.7.10

commander-fastlane
4.4.6

declarative
0.0.20

declarative-option
0.1.0

digest-crc
0.6.1

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20190701

dotenv
2.7.6

emoji_regex
3.2.1

excon
0.78.0

multipart-post
2.0.0

ruby2_keywords
0.0.2

faraday
1.1.0

http-cookie
1.0.3

faraday-cookie_jar
0.0.7

faraday_middleware
1.0.0

fastimage
2.2.0

gh_inspector
1.1.3

jwt
2.2.2

memoist
0.16.2

multi_json
1.15.0

os
1.1.1

signet
0.14.0

googleauth
0.14.0

httpclient
2.8.3

mini_mime
1.0.2

uber
0.1.0

representable
3.0.4

retriable
3.1.2

google-api-client
0.38.0

google-cloud-env
1.4.0

google-cloud-errors
1.0.1

google-cloud-core
1.5.0

google-cloud-storage
1.29.1

json
2.3.1

mini_magick
4.11.0

plist
3.5.0

rubyzip
2.3.0

security
0.1.3

naturally
2.2.0

simctl
1.6.8

slack-notifier
2.3.2

terminal-notifier
2.0.0

unicode-display_width
1.7.0

terminal-table
1.8.0

tty-screen
0.8.1

tty-cursor
0.7.1

tty-spinner
0.9.3

word_wrap
1.0.0

nanaimo
0.3.0

xcodeproj
1.19.0

rouge
2.0.7

xcpretty
0.3.0

xcpretty-travis-formatter
1.0.0

generated on: 2020-11-24

Additional details
The package was successfully notarized, despite the fastlane failure! (So re-attempting with the same bundle_id would fail.)
altool output

$ xcrun altool --notarization-info redacted --username<EMAIL_ADDRESS>--password "@keychain:Notarization Password"
No errors getting notarization info.
      Date: 2020-11-24 22:47:51 +0000
      Hash: 62d33fc72d7abd9d6f22b90c4cca2121a13c25564ad8d90f456c01c691c24378
LogFileURL: redacted

RequestUUID: redacted-please DM for a sample
Status: success
Status Code: 0
Status Message: Package Approved

🔨 Xcode version info

Selected Xcode: /Applications/Xcode11.3.app
Xcode : 11C29

$ xcodebuild -showsdks
iOS SDKs:
	iOS 13.2                      	-sdk iphoneos13.2
iOS Simulator SDKs:
	Simulator - iOS 13.2          	-sdk iphonesimulator13.2
macOS SDKs:
	DriverKit 19.0                	-sdk driverkit.macosx19.0
	macOS 10.15                   	-sdk macosx10.15
tvOS SDKs:
	tvOS 13.2                     	-sdk appletvos13.2
tvOS Simulator SDKs:
	Simulator - tvOS 13.2         	-sdk appletvsimulator13.2
watchOS SDKs:
	watchOS 6.1                   	-sdk watchos6.1
watchOS Simulator SDKs:
	Simulator - watchOS 6.1       	-sdk watchsimulator6.1

@joshdholtz, I see you recently edited notarize.rb. Would you have a moment to look at this bug to see what may be happening here?
notarize doesn't need to (cannot) staple a .zip. Do you think that is why sh_control_output tries to invoke a missing method?
Thank you for your time and consideration.

Pinging @joshdholtz. I would appreciate your input on this ticket before it is automatically closed. Thank you! :o)

Pinging @joshdholtz. I would appreciate your input on this ticket before it is automatically closed. Thank you! :o)

Note: notarize.rb has not changed since 31b45cf on Jul 7, 2020, so I doubt a newer version of Fastlane would have addressed this problem by chance.

Note: notarize.rb has not changed since 31b45cf on Jul 7, 2020, so I doubt a newer version of Fastlane would have addressed this problem by chance.

Hello @joshdholtz, If you are busy with other priorities, would you mind suggesting someone else who can look into this problem in notarize.rb? Thank you.
Note: As of this writing, notarize.rb has not changed since 31b45cf on Jul 7, 2020, so it is unlikely that a newer version of Fastlane will have addressed this problem by chance.

Bot please don't close. fastlane/lib/fastlane/actions/notarize.rb has not changed since July 2020, and I am awaiting some response from a developer.
@joshdholtz, could you direct me to someone who can help? Thank you.

Added to my queue!

Fastlane-bot don't close. @joshdholtz has this in his queue. 🙂 🙏
(BTW, it looks like vx8's mention of this ticket was unintentional. I don't see a relation.)

I ran fastlane notarize with print_log:true verbose:true, and got this output. It is definitely trying to staple the .zip file, which is not valid.
So my original diagnosis is correct. The fastlane notarize command is broken for .zip files--it successfully uploads and notarizes them, but then exits with nonzero status because it incorrectly tries to staple the notarization ticket to a .zip file. I presume it works for .pkg and .dmg files then?
The simplest solution is to make the notarize command smarter so it does not try (and fail) to staple a .zip file.
A more advanced solution would be to add an option to unzip the .zip file, search for and staple all of the bundles within, and then re-zip the contents. (I imagine some users would not want their .zip file altered, while others would find it convenient to re-zip with stapled tickets in place.)
`fastlane notarize` output 🪵

$ bundle exec fastlane run notarize package:artifacts/mypackage.zip asc_provider:provider_redacted username:AppleID_redacted bundle_id:com.mycopmany.mypackage-1.0.zip print_log:true verbose:true
[✔] 🚀
[15:39:13]: ----------------------
[15:39:13]: --- Step: notarize ---
[15:39:13]: ----------------------
[15:39:13]: Uploading package to notarization service, might take a while
[15:39:13]: $ xcrun altool --notarize-app -t osx -f "artifacts/mypackage.zip" --primary-bundle-id com.mycopmany.mypackage-1.0.zip --output-format xml --asc-provider "provider_redacted" -u AppleID_redacted -p @env:FL_NOTARIZE_PASSWORD
[15:39:14]: ▸ 2021-07-13 15:39:14.003 altool[89629:22915987] CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: no longer implemented and should not be called
[15:40:28]: ▸
[15:40:28]: ▸
[15:40:28]: ▸
[15:40:28]: ▸
[15:40:28]: ▸ notarization-upload
[15:40:28]: ▸
[15:40:28]: ▸ RequestUUID
[15:40:28]: ▸ UUID_redacted
[15:40:28]: ▸
[15:40:28]: ▸ os-version
[15:40:28]: ▸ 10.16.0
[15:40:28]: ▸ success-message
[15:40:28]: ▸ No errors uploading 'artifacts/mypackage.zip'.
[15:40:28]: ▸ tool-path
[15:40:28]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[15:40:28]: ▸ tool-version
[15:40:28]: ▸ 4.01.1182
[15:40:28]: ▸
[15:40:28]: ▸
[15:40:28]: Successfully uploaded package to notarization service with request identifier UUID_redacted
[15:40:28]: Waiting to query request status
[15:40:58]: Querying request status
[15:40:58]: $ xcrun altool --notarization-info UUID_redacted --output-format xml -u AppleID_redacted -p @env:FL_NOTARIZE_PASSWORD
[15:40:59]: ▸ 2021-07-13 15:40:59.091 altool[89720:22917699] CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: no longer implemented and should not be called
[15:41:00]: ▸
[15:41:00]: ▸
[15:41:00]: ▸
[15:41:00]: ▸
[15:41:00]: ▸ notarization-info
[15:41:00]: ▸
[15:41:00]: ▸ Date
[15:41:00]: ▸ 2021-07-13T19:40:29Z
[15:41:00]: ▸ Hash
[15:41:00]: ▸ hash_redacted
[15:41:00]: ▸ RequestUUID
[15:41:00]: ▸ UUID_redacted
[15:41:00]: ▸ Status
[15:41:00]: ▸ in progress
[15:41:00]: ▸
[15:41:00]: ▸ os-version
[15:41:00]: ▸ 10.16.0
[15:41:00]: ▸ success-message
[15:41:00]: ▸ No errors getting notarization info.
[15:41:00]: ▸ tool-path
[15:41:00]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[15:41:00]: ▸ tool-version
[15:41:00]: ▸ 4.01.1182
[15:41:00]: ▸
[15:41:00]: ▸
[15:41:30]: Querying request status
[15:41:30]: $ xcrun altool --notarization-info UUID_redacted --output-format xml -u AppleID_redacted -p @env:FL_NOTARIZE_PASSWORD
[15:41:30]: ▸ 2021-07-13 15:41:30.216 altool[89724:22917907] CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: no longer implemented and should not be called
[15:41:31]: ▸
[15:41:31]: ▸
[15:41:31]: ▸
[15:41:31]: ▸
[15:41:31]: ▸ notarization-info
[15:41:31]: ▸
[15:41:31]: ▸ Date
[15:41:31]: ▸ 2021-07-13T19:40:29Z
[15:41:31]: ▸ Hash
[15:41:31]: ▸ hash_redacted
[15:41:31]: ▸ RequestUUID
[15:41:31]: ▸ UUID_redacted
[15:41:31]: ▸ Status
[15:41:31]: ▸ in progress
[15:41:31]: ▸
[15:41:31]: ▸ os-version
[15:41:31]: ▸ 10.16.0
[15:41:31]: ▸ success-message
[15:41:31]: ▸ No errors getting notarization info.
[15:41:31]: ▸ tool-path
[15:41:31]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[15:41:31]: ▸ tool-version
[15:41:31]: ▸ 4.01.1182
[15:41:31]: ▸
[15:41:31]: ▸
[15:42:01]: Querying request status
[15:42:01]: $ xcrun altool --notarization-info UUID_redacted --output-format xml -u AppleID_redacted -p @env:FL_NOTARIZE_PASSWORD
[15:42:01]: ▸ 2021-07-13 15:42:01.286 altool[89738:22918296] CFURLRequestSetHTTPCookieStorageAcceptPolicy_block_invoke: no longer implemented and should not be called
[15:42:02]: ▸
[15:42:02]: ▸
[15:42:02]: ▸
[15:42:02]: ▸
[15:42:02]: ▸ notarization-info
[15:42:02]: ▸
[15:42:02]: ▸ Date
[15:42:02]: ▸ 2021-07-13T19:40:29Z
[15:42:02]: ▸ Hash
[15:42:02]: ▸ hash_redacted
[15:42:02]: ▸ LogFileURL
[15:42:02]: ▸ URL_redacted
[15:42:02]: ▸ RequestUUID
[15:42:02]: ▸ UUID_redacted
[15:42:02]: ▸ Status
[15:42:02]: ▸ success
[15:42:02]: ▸ Status Code
[15:42:02]: ▸ 0
[15:42:02]: ▸ Status Message
[15:42:02]: ▸ Package Approved
[15:42:02]: ▸
[15:42:02]: ▸ os-version
[15:42:02]: ▸ 10.16.0
[15:42:02]: ▸ success-message
[15:42:02]: ▸ No errors getting notarization info.
[15:42:02]: ▸ tool-path
[15:42:02]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[15:42:02]: ▸ tool-version
[15:42:02]: ▸ 4.01.1182
[15:42:02]: ▸
[15:42:02]: ▸
[15:42:02]: Stapling package
[15:42:02]: $ xcrun stapler staple "artifacts/mypackage.zip"
[15:42:05]: ▸ Processing: /absolute/path/to/artifacts/mypackage.zip
[15:42:05]: ▸ Stapler is incapable of working with ZIP archive files.
Looking for related GitHub issues on fastlane/fastlane...
bundler: failed to load command: fastlane (/absolute/path/to/.gems/bundle/ruby/2.6.0/bin/fastlane)
FastlaneCore::Interface::FastlaneShellError: [!] Exit status of command 'xcrun stapler staple "artifacts/mypackage.zip"' was 66 instead of 0.
Processing: /absolute/path/to/artifacts/mypackage.zip
Stapler is incapable of working with ZIP archive files.
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in shell_error!'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in method_missing'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/helper/sh_helper.rb:80:in sh_control_output'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/helper/sh_helper.rb:12:in sh'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/actions/notarize.rb:127:in staple'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/actions/notarize.rb:114:in run'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/runner.rb:229:in chdir'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/runner.rb:229:in execute_action'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/one_off.rb:42:in run'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/one_off.rb:22:in execute'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/commands_generator.rb:225:in block (2 levels) in run'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:76:in run!'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/commands_generator.rb:353:in run'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/commands_generator.rb:42:in start'   /absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in take_off'
/absolute/path/to/.gems/bundle/ruby/2.6.0/gems/fastlane-2.187.0/bin/fastlane:23:in <top (required)>'   /absolute/path/to/.gems/bundle/ruby/2.6.0/bin/fastlane:23:in load'
/absolute/path/to/.gems/bundle/ruby/2.6.0/bin/fastlane:23:in `<top (required)>'

The above was tested with Fastlane 2.187.0, Xcode 12.5.1, and Ruby 3.0.0.

Seeing further changes have been made to fastlane notarize to support Xcode 13's notarytool, among other things, I updated Fastlane and ran notarize afresh and included the output below.
notarize still spuriously fails when it erroneously tries to staple a .zip file.
I used Fastlane 2.195.0, Xcode 12.5.1, and Ruby 3.0.0 on macOS 11.6 Big Sur:
`fastlane notarize` output 🪵

$ fastlane --env ci run notarize package:./artifacts/file_to_notarize.zip asc_provider:MY_PROVIDER_NAME username:MY_APPLE_ID bundle_id:MY_BUNDLE_ID print_log:true verbose:true
[✔] 🚀
[14:30:42]: Loading from './fastlane/.env.ci'
[14:30:43]: ----------------------
[14:30:43]: --- Step: notarize ---
[14:30:43]: ----------------------
[14:30:43]: Uploading package to notarization service, might take a while
[14:30:43]: $ xcrun altool --notarize-app -t osx -f "./artifacts/file_to_notarize.zip" --primary-bundle-id MY_BUNDLE_ID --output-format xml --asc-provider "MY_PROVIDER_NAME" -u MY_APPLE_ID -p @env:FL_NOTARIZE_PASSWORD
[14:32:39]: ▸
[14:32:39]: ▸
[14:32:39]: ▸
[14:32:39]: ▸
[14:32:39]: ▸ notarization-upload
[14:32:39]: ▸
[14:32:39]: ▸ RequestUUID
[14:32:39]: ▸ MY_REQ_UUID
[14:32:39]: ▸
[14:32:39]: ▸ os-version
[14:32:39]: ▸ 11.6.0
[14:32:39]: ▸ success-message
[14:32:39]: ▸ No errors uploading './artifacts/file_to_notarize.zip'.
[14:32:39]: ▸ tool-path
[14:32:39]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[14:32:39]: ▸ tool-version
[14:32:39]: ▸ 4.050.1210
[14:32:39]: ▸
[14:32:39]: ▸
[14:32:39]: Successfully uploaded package to notarization service with request identifier MY_REQ_UUID
[14:32:39]: Waiting to query request status
[14:33:09]: Querying request status
[14:33:09]: $ xcrun altool --notarization-info MY_REQ_UUID --output-format xml -u MY_APPLE_ID -p @env:FL_NOTARIZE_PASSWORD
[14:33:11]: ▸
[14:33:11]: ▸
[14:33:11]: ▸
[14:33:11]: ▸
[14:33:11]: ▸ notarization-info
[14:33:11]: ▸
[14:33:11]: ▸ Date
[14:33:11]: ▸ 2021-09-27T18:32:39Z
[14:33:11]: ▸ RequestUUID
[14:33:11]: ▸ MY_REQ_UUID
[14:33:11]: ▸ Status
[14:33:11]: ▸ in progress
[14:33:11]: ▸
[14:33:11]: ▸ os-version
[14:33:11]: ▸ 11.6.0
[14:33:11]: ▸ success-message
[14:33:11]: ▸ No errors getting notarization info.
[14:33:11]: ▸ tool-path
[14:33:11]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[14:33:11]: ▸ tool-version
[14:33:11]: ▸ 4.050.1210
[14:33:11]: ▸
[14:33:11]: ▸
[14:33:41]: Querying request status
[14:33:41]: $ xcrun altool --notarization-info MY_REQ_UUID --output-format xml -u MY_APPLE_ID -p @env:FL_NOTARIZE_PASSWORD
[14:33:42]: ▸
[14:33:42]: ▸
[14:33:42]: ▸
[14:33:42]: ▸
[14:33:42]: ▸ notarization-info
[14:33:42]: ▸
[14:33:42]: ▸ Date
[14:33:42]: ▸ 2021-09-27T18:32:39Z
[14:33:42]: ▸ Hash
[14:33:42]: ▸ MY_HASH
[14:33:42]: ▸ RequestUUID
[14:33:42]: ▸ MY_REQ_UUID
[14:33:42]: ▸ Status
[14:33:42]: ▸ in progress
[14:33:42]: ▸
[14:33:42]: ▸ os-version
[14:33:42]: ▸ 11.6.0
[14:33:42]: ▸ success-message
[14:33:42]: ▸ No errors getting notarization info.
[14:33:42]: ▸ tool-path
[14:33:42]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[14:33:42]: ▸ tool-version
[14:33:42]: ▸ 4.050.1210
[14:33:42]: ▸
[14:33:42]: ▸
[14:34:12]: Querying request status
[14:34:12]: $ xcrun altool --notarization-info MY_REQ_UUID --output-format xml -u MY_APPLE_ID -p @env:FL_NOTARIZE_PASSWORD
[14:34:14]: ▸
[14:34:14]: ▸
[14:34:14]: ▸
[14:34:14]: ▸
[14:34:14]: ▸ notarization-info
[14:34:14]: ▸
[14:34:14]: ▸ Date
[14:34:14]: ▸ 2021-09-27T18:32:39Z
[14:34:14]: ▸ Hash
[14:34:14]: ▸ MY_HASH
[14:34:14]: ▸ RequestUUID
[14:34:14]: ▸ MY_REQ_UUID
[14:34:14]: ▸ Status
[14:34:14]: ▸ in progress
[14:34:14]: ▸
[14:34:14]: ▸ os-version
[14:34:14]: ▸ 11.6.0
[14:34:14]: ▸ success-message
[14:34:14]: ▸ No errors getting notarization info.
[14:34:14]: ▸ tool-path
[14:34:14]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[14:34:14]: ▸ tool-version
[14:34:14]: ▸ 4.050.1210
[14:34:14]: ▸
[14:34:14]: ▸
[14:34:44]: Querying request status
[14:34:44]: $ xcrun altool --notarization-info MY_REQ_UUID --output-format xml -u MY_APPLE_ID -p @env:FL_NOTARIZE_PASSWORD
[14:34:46]: ▸
[14:34:46]: ▸
[14:34:46]: ▸
[14:34:46]: ▸
[14:34:46]: ▸ notarization-info
[14:34:46]: ▸
[14:34:46]: ▸ Date
[14:34:46]: ▸ 2021-09-27T18:32:39Z
[14:34:46]: ▸ Hash
[14:34:46]: ▸ MY_HASH
[14:34:46]: ▸ LogFileURL
[14:34:46]: ▸ https://osxapps-ssl.itunes.apple.com/itunes-assets/Enigma115/v4/62/a7/67/62a767ef-fee3-dac6-e2df-0689186c358c/developer_log.json?accessKey=1632962086_4267913386978883675_pPlTWxpJYgpjvOa6LhGcLXa0vPiqhW0EKUgk6TBgXrwVnLjHrHC3QcWQCggSd1s79YlKv3Ao8QOoF4HytwHVX0OvbX3PXj0RMfvwGZnfeMTxA1wclEiEbEmtHvZgNVtKa1QmmvSmPYdcLkZMR2WMZElbiCJyKA3%2BTgsscJRs%2BTI%3D
[14:34:46]: ▸ RequestUUID
[14:34:46]: ▸ MY_REQ_UUID
[14:34:46]: ▸ Status
[14:34:46]: ▸ success
[14:34:46]: ▸ Status Code
[14:34:46]: ▸ 0
[14:34:46]: ▸ Status Message
[14:34:46]: ▸ Package Approved
[14:34:46]: ▸
[14:34:46]: ▸ os-version
[14:34:46]: ▸ 11.6.0
[14:34:46]: ▸ success-message
[14:34:46]: ▸ No errors getting notarization info.
[14:34:46]: ▸ tool-path
[14:34:46]: ▸ /Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework
[14:34:46]: ▸ tool-version
[14:34:46]: ▸ 4.050.1210
[14:34:46]: ▸
[14:34:46]: ▸
[14:34:46]: Stapling package
[14:34:46]: $ xcrun stapler staple ./artifacts/file_to_notarize.zip
[14:34:48]: ▸ Processing: /path/to/workarea/artifacts/file_to_notarize.zip
[14:34:48]: ▸ Stapler is incapable of working with ZIP archive files.
Looking for related GitHub issues on fastlane/fastlane...
Traceback (most recent call last):
27: from /path/to/user/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in <main>' 	26: from /path/to/user/.rvm/gems/ruby-2.6.3/bin/ruby_executable_hooks:24:in eval'
25: from /path/to/user/.rvm/gems/ruby-2.6.3/bin/fastlane:23:in <main>' 	24: from /path/to/user/.rvm/gems/ruby-2.6.3/bin/fastlane:23:in load'
23: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/bin/fastlane:23:in <top (required)>' 	22: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/cli_tools_distributor.rb:122:in take_off'
21: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/commands_generator.rb:42:in start' 	20: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/commands_generator.rb:353:in run'
19: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/delegates.rb:18:in run!' 	18: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane_core/lib/fastlane_core/ui/fastlane_runner.rb:117:in run!'
17: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/runner.rb:444:in run_active_command' 	16: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:157:in run'
15: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/commander-4.6.0/lib/commander/command.rb:187:in call' 	14: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/commands_generator.rb:225:in block (2 levels) in run'
13: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/one_off.rb:22:in execute' 	12: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/one_off.rb:42:in run'
11: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/runner.rb:229:in execute_action' 	10: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/runner.rb:229:in chdir'
9: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/runner.rb:255:in block in execute_action' 	 8: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/actions/actions_helper.rb:69:in execute_action'
7: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/runner.rb:263:in block (2 levels) in execute_action' 	 6: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/actions/notarize.rb:43:in run'
5: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/actions/notarize.rb:187:in altool' 	 4: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/actions/notarize.rb:200:in staple'
3: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/helper/sh_helper.rb:12:in sh' 	 2: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane/lib/fastlane/helper/sh_helper.rb:80:in sh_control_output'
1: from /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane_core/lib/fastlane_core/ui/ui.rb:17:in method_missing' /path/to/workarea/.gems/bundle/ruby/2.6.0/gems/fastlane-2.195.0/fastlane_core/lib/fastlane_core/ui/interface.rb:153:in shell_error!': [!] Exit status of command 'xcrun stapler staple ./artifacts/file_to_notarize.zip' was 66 instead of 0. (FastlaneCore::Interface::FastlaneShellError)
Processing: /path/to/workarea/artifacts/file_to_notarize.zip
Stapler is incapable of working with ZIP archive files.

@joshdholtz, do you think you or someone else you designate would be able to look at adding an option to the notarize command to skip the staple action? Perhaps such a Fastlane option option could be enabled by default for .zip files.

I will work on updating the notarize command to add a skip_stapling parameter which will do what it says.  This is useful for notarizing single-file executables which cannot be stapled (which is the usual reason for using zip).


PARC PCA Hyperparameters

Previously we were using (also used in the PARC author's repo):
PCA(
     n_components=f,
     svd_solver='randomized',
     random_state=1919,
     iterated_power=1
)

then recently tried changing to just defaults:
PCA(n_components=f)

This will either use a non-randomized solver or a randomized solver with more iterations than the original one (see https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html). It can take a lot longer as the number of images scales.
Understand the consequences of using one or the other (e.g. what does it mean for the PCA to not be fully optimised and does that matter for PARC?)

In the PARC paper they investigate the changes in mean Pearon's correlation across the datasets and models for each metric with different values of f, using the optimal value of f for each metric moving forward, where they suggest that f=32 is the optimal case for PARC. I would have thought that this relies on PCA being fully optimised - at least if we wish to recreate their work.
Futher to this I suggest we drop experimenting with different values of f in favour of sticking with f=32 as a hyperparameter.

If set to default the svd_solver parameter will enable 'randomised' anyway if f < 80% of the smallest dimension of the features, which is going to almost always be the case given the size of the models. However I think for uniformity this is kept as standard by the original authors. The full SVD would be ideal, however hugely inefficient hence the randomisation, and better to standardise across instances.
The iterated_power parameter controls the approximation depth of the randomised SVD algorithm, again this is for standardisation reasons as far as I can tell as otherwise this would vary dependent on the size of the input.
I propose that we stick with the original values (with f=32 as this is the value found to be optimal for PARC) as this subroutine is designed to standardise across the different model so keeping the PCA standard for all of them should ensure uniformity in the characterstics we wish to control for.

Sure, that sounds like a good plan for WP1, but I think we should keep this issue around as something that could be explored further in later WPs.
I don't think they comment on the solver parameters in the paper/codebase anywhere? I'm still a bit uneasy about the consequences of having a (potentially) poorly fitted PCA but not familiar enough with the details of both PCA and PARC to say how that could impact the results, if at all.

I think that it's likely going to be fairly reasonable, the order 1 randomised SVD approximation algorithm it uses is relatively accurate, which sklearn will default to if the features dimension is > 40 anyway. Not sure why they've ensured this happens in all cases but this appears to me to be what would happen in most cases anyway given the default PCA parameters, for the sake of efficiency. (I've not see any models so far that we've been considering that have anywhere near as low feature dimensions).

The docs give the default iterated_power value (which is passed to num_iter in the solver) as 4 or 7 fyi:

n_iter int or ‘auto’, default=’auto’
Number of power iterations. It can be used to deal with very noisy problems. When ‘auto’, it is set to 4, unless n_components is small (< .1 * min(X.shape)) in which case n_iter is set to 7. This improves precision with few components. Note that in general users should rather increase n_oversamples before increasing n_iter as the principle of the randomized method is to avoid usage of these more costly power iterations steps. When n_components is equal or greater to the effective matrix rank and the spectrum does not present a slow decay, n_iter=0 or 1 should even work fine in theory (see [1] page 9).

But as before, happy to start with what was in the PARC repo and keep this as something to bear in mind later.

Are we leaving this issue open past WP1 as we want to experiment with these parameters later?

Yeah I've removed it from the list of things for WP1 but let's leave it open (even if we end up not experimenting with it it's good to have this around as a reminder).

Things to try:

[ ] PCA with default parameters (see discussion above)
[ ] Varying the feature reduction

[ ] different values of f
[ ] no feature reduction at all

[ ] Sanity check on a different dataset

After trying most the above I haven't been able to improve the PARC results. Here's an example plot with more models than we used in WP1:

I still plan to double-check the implementation, and we can keep PARC in the background as it's quite fast to run, but I don't think we can rely on it at this point.

Just had a look and there is a difference in the implementation that I somehow missed, in their implementation they use the sklearn.preprocessing.StandardScaler() method to Z-normalise the features prior to the computation of the correlation matrices (but post feature reduction).

Ah nice spot, there's a chance that could change things (maybe trying scaling prior to PCA as well).

I've started a run of PARC with scaling anyway, but adding the scaling causes test_parc_perfect_features to fail (I get a PARC score of about 82 instead of 100).
I don't think scaling the features should stop them from being "perfect features" (it's just subtracting and then dividing by a constant), so it's bizarre. Can investigate on Thursday.

and it seems to get worse with increasing number of classes/features


refactor: optimise chart by using more definitions in values schema"

towards https://github.com/giantswarm/roadmap/issues/3372
This PR introduces no changes to the values structure, it only moves as much into the definitions as possible.
Each individual commit is standalone so it will be easier to review them individually rather than all at once.

/run cluster-test-suites


Feature lint double semi colons

I was unable to update a contributors branch so just created a new quick PR here. Full credit to @JordanDDisch
see #863 for details
closes #863
Fixes #852

Coverage increased (+0.006%) to 97.517% when pulling 5ca8e7b655c8d24bc52632decb0e7f093e0c9422 on feature_lint-double-semi-colons into b5aebda42d565e2bd0f573a2872a70f378b8272c on develop.

Just noticed that this looks wrong though, 4 failure cases added but only increments the warning count by 3.

Coverage increased (+0.006%) to 97.517% when pulling 09f4c43101380d7c314627abddfeebab275e4704 on feature_lint-double-semi-colons into 2c4f63e4c2393fb3fc309c6c6c97d50036074525 on develop.


Check for nil in MXRoom.updateWithRoomMember

This PR addresses issue #1045 where users' displaynames and avatar URLs can be nulled out on receipt of an old m.room.member event.

Thanks for this fix.
As our PR template, can you check the following please:

[ ] Pull request updates CHANGES.rst
[ ] Pull request includes a sign off

Ah, right!  Should be good now.


I have searched for a "Refresh" but I am confused as to how you have implemented it for a single Element

Description of testing scenario:
I have this:
        var uploadBut = ((AngleSharpWrappers.Wrapper<AngleSharp.Dom.IElement>)cut.Find(@"Button")).WrappedElement as AngleSharp.Html.Dom.IHtmlButtonElement;  // there is only one
        uploadBut.IsDisabled.Should().BeTrue();

And then sometime later I know that the button is Enabled
So I would like to do
uploadBut.Refresh();
uploadBut.IsDisabled.Should().BeFalse();

But I have to get it all again
        // TODO: Find out how to do this via  refresh or similar
        uploadBut = ((AngleSharpWrappers.Wrapper<AngleSharp.Dom.IElement>)cut.Find(@"Button")).WrappedElement as AngleSharp.Html.Dom.IHtmlButtonElement;
        uploadBut.IsDisabled.Should().BeFalse();

Additional context:

Why are you doing all the casting and unwrapping the button?
What are you trying to achieve?
When you unwrapping the button found using cut.Find you loose the auto updating after renders of the underlying DOM element, and you have to retrieve it again.

In this example (There are others),  I'm trying to get to the IsDisabled as easily as possible.
So from your comment of cut.Find that it. it the state there and then at point of call. No way of getting at the updated states without calling it again ?

I am guessing this should work:
var cut = RenderComponent<...>(...);
var uploadBtn = cut.Find("button");

uploadBtn.HasAttribute("disabled").Should.BeFalse();

// Or...
uploadBtn.HasAttribute("disabled").Should.BeTrue();

As soon as you case to IHtmlButtonElement you loose ability use the previous found uploadBtn.

Cheers that does it for the equivalent of IsDisabled


Adjust storyboard

There is a point in the storyboard where the user selects the view item from a menu but then the comment says that they go to the claim editor.

Storyboard does not have a title to explain what is being done. What is the scenario? From the assignment: "provide one storyboard sequence for a non-trivial but coherent scenario of using your application"

Updated in the repo and wiki. Hope it's good enough.


merge from konsum-frontend-svelte,template-svelte-app

package.json

chore(deps): add ^2.0.2 remove ^2.0.1 (devDependencies.@sveltejs/vite-plugin-svelte)

:tada: This PR is included in version 1.35.0 :tada:
The release is available on:

npm package (@latest dist-tag)
v1.35.0
GitHub release

Your semantic-release bot :package::rocket:


How to add this library to my project in android studio?

Hi
I want to develop an application with  this functionality. So I found GaugeView on github, I really like this project. But because I'm just starting out with github, so I do not know how to apply some of the features of this project to my application. I would be very appreciate if you could tell me the way to apply it to my application！

it easy.., just follow this tutorial: http://www.truiton.com/2015/02/android-studio-add-library-project/


Added functionality for multiple values columns

Hi Yashu Seth,
I was looking for a pivot operation for Google BigQuery today and came across your blog post and corresponding repo. I definitely did not want to write out all the relationships, so this package was perfect.
Unfortunately, I have multiple values columns I wanted to pivot. In pandas, this is a snap. I was surprised there isn't really functionality for it in BigQuery. Anyway, I made some minor modifications to your code to loop through a list of columns, if they are supplied. If the user passes a single string, the function still works as it was originally designed. Now, however, the user also has the option to pass a list of strings. This just extends the case section by iterating over the list instead.
Thought I ought to share the changes in case they are of any interest.
Hope you are well,
Mark Popovich

Update: I also just added support for read_gbq, including a query to get the distinct pivot values directly from the gbq table and bypass the need for a local version of the data.
Includes a submit_query function which will automatically submit the pivot query and return the response.

Update 2: Added command line entry points in the latest commit.
Also added, functions to control submitting the query and where the query output is saved. Options now include:

Permanent BigQuery Table
Temperary BigQuery Table
Local csv


PowerShell references: Add Azure AD and MSOnline PowerShell deprecation note

This PR updates 6 files with the deprecation note approved by @CelesteDG.
This update adds a note to address instances of Azure AD and MSOnline PowerShell in content.
ADO reference:

155271
155261
155264
155265
155266
155268

@rahul-nagraj  @omondiatieno @csmulligan This PR is ready for review.
cc @MeeraDi


Mysterious inclusion of addons.mozilla.org

Latest update of Unified hosts file with social extensions includes addons.mozilla.org
First, amazing to find addons.mozilla.org in the list, so I checked each and every Raw hosts and found no entry of addons.mozilla.org
The file including addons.mozilla.org : https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/social/hosts
The Raw hosts checked individually from : https://github.com/StevenBlack/hosts/blob/master/alternates/social/readme.md
Who wouldn't be,
1- Surprised to find addons.mozilla.org in a HOSTS file,
2- Have an entry included in a unified HOSTS file but not in either the sources of the concatenation?
I really appreciate this work, but I have to mention my surprise and of course my eager to understand how and why this oddity is possible. Thanks.

WoW don't use firefox but I'm surprised too 😮

@funilrys , the browser has nothing to do with a HOSTS file!

It seems the addons.mozilla.org entry comes from the  Mitchell Krog's - Badd Boyz Hosts list included in the Unified hosts file with social extensions  installed this very morning.
In this Unified hosts file with social extensions , at https://raw.githubusercontent.com/StevenBlack/hosts/master/alternates/social/hosts, addons.mozilla.org appears under the Mitchell Krog's - Badd Boyz Hosts source entry, and dated Wed Feb 22 15:59:54 SAST 2017
Latest list of Mitchell Krog's - Badd Boyz Hosts available, raw, at https://raw.githubusercontent.com/mitchellkrogza/Badd-Boyz-Hosts/master/hosts is dated Thu Feb 23 11:51:02 SAST 2017
This may be an explanation though I don't think so because I didn't encounter the issue until this morning whilst I've been using Unified hosts file with social extensions for over a week, and updates replace and do not add, here.

I found it too, I just commented it out, but is eerie, I was actually gonna report it here. You beat me to it. Cheers!

@thedummy06 , social entries add to others, they are not exclusive of other lists.

Reference: #248

Sorry guys, copy and paste error. Was fixed in https://github.com/mitchellkrogza/Badd-Boyz-Hosts/commit/96aa234e149e00365fb12e2531dcf21c9034dc7e yesterday.

@funilrys thanks for the link/info
@mitchellkrogza OK, thanks for acknowledging. The purpose was not to accuse/condemn but to understand. Cold case!

No problem at all, merging my list has also quickly helped me pick up some errors and problems. All for the better as I use a single list for multiple projects and it needs to be clean.

Thanks everybody!  The latest sources are pushed to master here.

Closing.

Hi Steven just pushed a big update with 551 deleted / expired domains on https://github.com/mitchellkrogza/Badd-Boyz-Hosts/commit/e4c822e9ca6ea6df7d3ea01450ad693a045fba01


Changing IdTypeForUser

PassCore Server

OS: [Windows ]
Provider: [Active Directory]
Settings file (without sensitive information):

Describe the bug
Im trying to change the IdTypeForUser to DN but getting a error cannot find users. Reason for the change we use gmail in our organisation and the sync tool for gmail that runs on AD looks at DN when changes is made for a user.
Is there anyway i can get help changing this in appsettings file

Hi is there any response to the issue i raised ?

Not yet, we've been kinda busy.

Hi Guys
Really need some help with this

Can you post a log file?

Hi
Can you please tell me what request is being send to the DC when the password request is put through via the passcore tool

Passcore will use ChangePassword (https://github.com/unosquare/passcore/blob/master/src/Unosquare.PassCore.PasswordProvider/PasswordChangeProvider.cs#L228)
If this fails, I might try SetPassword (https://github.com/unosquare/passcore/blob/master/src/Unosquare.PassCore.PasswordProvider/PasswordChangeProvider.cs#L240).
More information:
https://docs.microsoft.com/en-us/windows/win32/api/iads/nf-iads-iadsuser-changepassword
https://docs.microsoft.com/en-us/windows/win32/api/iads/nf-iads-iadsuser-setpassword

I think i found my problem but i am now trying to find this file called PasswordController.cs but i dont manage to see this file in the passcore folder

It's because the source code is compiled into an assembly (a DLL file). What do you need to edit?

Username instead of email #103

Can you explain?

I want to use a username when changing a password instead of email address.

If you don't want to use the UPN (email alike format) you can change the setting IdTypeForUser to SamAccountName.

Hi
When i change it to SAM i still get the below when i enter the username eg:
name.domain

![Uploading Screenshot 2019-11-11 at 16.44.40.png…]()

Try to change the setting UseEmail to false please.

It works with that but now the password change successfully however it does not change the email password as email and ad uses the same password.
We use gmail for emails.

Gmail uses a tool called Gsuite password sync that runs on every dc to look for password chagnes and this is what is looks for.

Gmail has a password sync tool called G suite password sync that runs on every DC and this is how its confugured


Make POST requests for the GET exploration services

In gitlab by @sylvaingaudan on May 5, 2017, 10:46

In gitlab by @sylvaingaudan on May 5, 2017, 10:46
changed milestone to %4

In gitlab by @sylvaingaudan on May 5, 2017, 14:01
added ~1918367 and removed ~1918909 labels

In gitlab by @sfalquier on May 9, 2017, 09:14
assigned to @MohamedHamouGisaia

In gitlab by @sfalquier on May 9, 2017, 09:14
added ~1918368 and removed ~1918367 labels

In gitlab by @sfalquier on May 11, 2017, 16:10
closed

In gitlab by @sfalquier on May 11, 2017, 16:10
removed ~1918368 label


Use common workflow

@robshakir can you merge this? I don't have merge permission

Oh, sorry -- of course.


Clustering markers.

I have tried to use the marker.slideTo function instead of using setLatLng.
When 2 markers ends close to each other and makes a cluster everything works.
But when they move away from each other again (using slideTo) the cluster does not split up and the markers does not move. That part works fine when using setLatLng.
Any solution to solve it ?

Take a look at the implementation of slideTo and see what it does differently.
You probably want to remove the marker from the cluster, then slide it, then add it again.


Fix sampled stochastic games serialization

This PR addresses https://github.com/deepmind/open_spiel/issues/276.

@lanctot please let me know if this looks like what you had in mind? There are now failing (existing) tests that I need to fix, I suspect there two distinct problems:

existing game serialization tests should probably skip / treat sampled stochastic games differently
I suspect overridden Game::ToString is not called in some of the tests due to usage of references rather than pointers to game objects (i.e. the method is not called polymorphically)

Anyway, please let me know what you think.

* existing game serialization tests should probably skip / treat sampled stochastic games differently

Hmm, why? I'm open to that, as long as they get tested as thoroughly.

* I suspect overridden `Game::ToString` is not called in some of the tests due to usage of references rather than pointers to game objects (i.e. the method is not called polymorphically)

Wait... really? The very foundation of my C++ knowledge shaken (this has been known to happen on occasion).......
Ok, experiment conducted... sanity restored! This code prints out Hi-B so I am pretty sure that function should be called polymorphically even through references:
#include <iostream>

class A {
 public:
  virtual void func() const { std::cout << "Hi-A" << std::endl; }
};

class B : public A {
 public:
  void func() const override { std::cout << "Hi-B" << std::endl; }
};

void doit(const A& a) {
  a.func();
}

int main() {
  B b;
  doit(b);
}

Maybe Game::ToString is (acidentally) not virtual? But no, then none of the game's ToStrings would work.

I should've closed the computer much earlier yesterday :). Anyway, the problem comes down to Game::DeserializeState mutating the internal RNG state. The fix was quite easy as sampled stochastic games already have to override the method.
All tests are passing now, except that playthroughs for negotiation and bridge uncontested bidding changed (and not just parameter specification). Could this be related to the fact that the two games are sampled stochastic (or anything related) as I can't seem to find the proposed changes that would affect the actual playthroughs? And the game and state objects are not de/serialized during playthrough generation as far as I can see.

Hmm, why? I'm open to that, as long as they get tested as thoroughly.

This is not needed after all (but I think stochastic games are tested at least with game_sim etc.).

All comments have been addressed. Any ideas why playthrough tests are failing?

Not sure. We will take a look after we import it. Thanks!

Lgtm- I'll be merging this and you'll get a notification once it's in (probably next Monday).

Playthrough fails because of adding the rng_seed (which is fine):
Traceback (most recent call last):
  File "/usr/local/google/home/finbarrtimbers/tmp/open_spiel/open_spiel/python/../integration_tests/playthrough_test.py", line 73, in test_rerun_playthroughs
    self.assertEqual(expected_line, actual_line,
AssertionError: Wrong line 30 in bridge_uncontested_bidding.txt:
- ToString() = "bridge_uncontested_bidding(relative_scoring=True)"
+ ToString() = "bridge_uncontested_bidding(relative_scoring=True,rng_seed=0)"
?                                                               +++++++++++

The solution is to regenerate the playthroughs by running regenerate_playthroughs.sh. I did it this time, but if you could do this in the future, that would be appreciated!

 What is rng_state? Is it the sequence of random numbers produced from the start?
If so, there must be a better way.. people must serialize RNGs, without requiring memory linear in the sequence. Can be look at the copy constructor of std::mt19937?

Maybe an off-topic, but at some point I added https://github.com/deepmind/open_spiel/blob/master/open_spiel/utils/random.h wrapper. This could support a general serialization function for MT. But maybe you can't use the Random wrapper in this case, I didn't look.

Oh now I see you are getting it from operator>>. Ok this feels a bit heavy to be in the game parms. I had no idea the rng_state would turn out to be this long. Hmm.. I will try to think of something.

Ok maybe we need to add and RNGState section to the serialized string for these types of games rather than do this through game parameters. Sorry @inejc :(
@sustr I would prefer to avoid custom RNGs when the ones in the standard library suffice.

A more concise alternative for storing the RNG state into game params might be storing the seed (like in Bridge) and the number of sampled numbers, this should then suffice to recreate the engine by calling http://www.cplusplus.com/reference/random/mersenne_twister_engine/discard.

I was thinking of something like that too but are we 100% certain that every different type of call to the RNG (e.g suppose we want a random double, next we want a random int between certain ranges, etc.) changes the RNG state in the same way? Seems a bit safer and cleaner to just put the full information in the serialized string, doesn't it? @elkhrt any opinion on this?

Since the negotiation game already uses the RNG in different ways it does make sense to serialize it properly I believe. Also mixing properties for serialization into other logic seems messy.

Hmmm. Should we just move the rng to the state? (I can do that.) I'm not sure there is any alternative to serializing the state otherwise as we have no guarantees about how many concurrent states are calling the game.
There are also thread-safety concerns as we don't lock the rng, and it's not thread-safe.

I'm not too worried about threads: each thread should only hold one game, and that game creates and manages all the states in that thread. That's really simple.
On the surface I am not against the RNG in states, the problem is the game would then initialize each RNG with the same seed and you'd get the same sequence of random numbers. The only way I can think to break that is to hold an RNG in the game again and give each state RNG a randomly generated seed. But then that means we still need an RNG in the game.
Right now, I believe the game section of our serialized string only contains the output of Game::ToString() and we pass it directly to LoadGame(). @inejc What's wrong with adding a separate line in that section with the RNG state string for kSampledStochastic games, and adding a Game::SetRNGState(const std::string& rng_state)?

What's wrong with adding a separate line in that section with the RNG state string for kSampledStochastic games, and adding a Game::SetRNGState(const std::string& rng_state)?

@lanctot that sounds good to me.

Wdyt @finbarrtimbers?

I believe this is still being worked on- please let me know when you're ready for me to review it.

@finbarrtimbers I was a bit busy during the last week but should hopefully get back to this next week and will let you know.

@finbarrtimbers the PR is now ready for review. I had to make Game::SetRNGState const if it is to be used on return values of LoadGame, I wrote comments about this here cc @lanctot.
I also had to disable two assertions here as I believe the Stones and Gems game does not use the RNG with the default parameters.

Should be good- I just got distracted. I hope to merge this internally today, and it should appear in the tool the next time Marc does an export.

Ok, thanks for the update.


Add explicit return in wrapPromise.

Fixes #108.

Coverage increased (+0.003%) to 99.273% when pulling 49e4d05f0ae9dad0f991b82d2b39a56ab421fb83 on jeff-kilbride:master into 053296d8481224a8a73413e28d67dd415e275816 on BryanDonovan:master.

Thanks!

Merged in version 2.5.0

Hi Brian,
I see you updated package.json to 2.5.0 in github, but npm still has 2.4.0. Is 2.5.0 ready to release or will it be a while, yet?
Thanks!

Oops, I thought I had published it. It's available now.


Websocket cannot connect in the browser

Drogon's websocket cannot connect in the browser but can connect in postman. Is this related to the CSP response header?

Found the problem, in case someone is interested, it was because of my login filter. Tools like postman can use the first request for upgrading the websocket protocol to complete the authentication, but the websocket client in JavaScript in the browser does not support including custom information in the request header, so I moved the verification to the websocket information sending and receiving stage, and used the websocket context to mark the authenticated connection

Found the problem, in case someone is interested, it was because of my login filter. Tools like postman can use the first request for upgrading the websocket protocol to complete the authentication, but the websocket client in JavaScript in the browser does not support including custom information in the request header, so I moved the verification to the websocket information sending and receiving stage, and used the websocket context to mark the authenticated connection


Toasts need debouncing

Bugs
Please include the following information with your bug report:

What MDL Version are you using? (please be specific, e.g. major.minor.patch)

v1.3.0

What browser(s) is this bug affecting (including version)?

All

What OS (and version) are you using?

Windows 10

What are the steps to reproduce the bug? Can you create a plunker/codepen/jsfiddle which reproduces it?

The toast should have built-in debouncing so that rapid clicks in succession are better handled.

What is the actual behavior?

A bunch of toasts showing up one after another.

Any other information you believe would be useful?

I hope this issue will be dealt with in v2.

The toast is just an element that provides the notification ability. It is up to developers implementing their applications to use it thoughtfully and debounce if appropriate in the contexts they are applying it.

Thanks, I did just that.


fix: Changes relative import paths in usePreferredCameraDevice.ts

What
This PR fixes to reference 'react-native-vision-camera' instead of referencing a relative path.

Changes
This PR changes import paths in usePreferredCameraDevice.ts.
Updated import paths for CameraDevice and useCameraDevices.
It now correctly references 'react-native-vision-camera' instead of a relative path.
Before
import { CameraDevice } from '../../../src/CameraDevice'
import { useCameraDevices } from '../../../src/hooks/useCameraDevices'

After
import { CameraDevice, useCameraDevices } from 'react-native-vision-camera'

Tested on
iPhone SE (3rd generation) 17.3.1

Related issues

Nice catch, thank you!


Bugfix : CategoryRelations.apply_slip

Codecov Report
Patch coverage: 80.64% and project coverage change: +0.05 :tada:

Comparison is base (34b276f) 61.74% compared to head (6b16db2) 61.80%.

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

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #774      +/-   ##
===========================================
+ Coverage    61.74%   61.80%   +0.05%
===========================================
  Files           30       30
  Lines         3508     3521      +13
===========================================
+ Hits          2166     2176      +10
- Misses        1342     1345       +3

Impacted Files
Coverage Δ

macrosynergy/panel/category_relations.py
39.52% <80.64%> (+2.02%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


[AutoPR datafactory/resource-manager] [Data Factory]Add ORC Dataset/Copy Source/Copy Sink

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/7040

(message created by the CI based on PR content)


Crawl a Site that requires Credentials

Can a feature/flag be added to allow for crawling sites that need credentials for accessing specific pages?

Since this project uses a headless browser that should be achievable and would make for a great PR if you are interested in contributing it!


Use warning tags added by iD as suspicion reasons

Use the information provided by iD editor as source for suspicion reasons https://github.com/openstreetmap/iD/tree/a365da8a89a53380ba4a979a2151a87d4e045a8a/modules/validations

Out of curiosity, is this meant as
a. "Copy the validation rules over to Osmcha and run them there" or
b. "Use the changeset-tags about non-solved / ignored validation rules from iD, see https://github.com/openstreetmap/iD/issues/6123"
?
Personally, I think option b fits more into osmcha.

@tordans We are just reading the changeset tags and associating the issues with the changeset on osmcha database. Closing it as it was already implemented some weeks ago.


Time and Lightning

This adds a way to strike lightning and set the time in the world.

Please be more descriptive on the "fake" boolean

Updated.

and also, please, please, proper grammar

Modified.


Implicit Enum Duplicate Values

Enum value incrementation does not consider previously defined values, nor does the compiler throws an error on duplicate values.
Which means you can end up with potential bugs:
enum Color {Red = 3, Green = 2, Blue};

Color.Red == Color.Blue; //true

I understand it may be surprising, but it's also how enums work in C / C++ / C# so there is precedent for it. If someone wrote that enum specifically with the intention to have Blue === 3, they would not want TS to warn or error about it.

I'm not sure which would be more surprising.

I understand the precedent argument but is that the better option?
I would argue that if for:
enum Color {Red = 3, Green = 2, Blue, Ultraviolet};

Color.Red == Color.Blue; //true

The compile complained about implicit duplicate values and the fix was this:
enum Color {Red = 3, Green = 2, Blue = 3, Ultraviolet};
Color.Red == Color.Blue; //true

Or better yet,
enum Color {Red = 3, Green = 2, Blue = Color.Red, Ultraviolet};
Color.Red == Color.Blue; //true

Or maybe
enum Color {Red = 3, Green = 2, Blue = Red, Ultraviolet};
Color.Red == Color.Blue; //true

It would be more clear and hard to miss any likely bug.

Finally got to this. Combination of too expensive (every member has to check every other member, basically), too rare an error to make, and too precedented in other languages with implicitly-numbered enums.


Setting testID for e2e testing

Hi there, thanks a lot for this great component.
I was wondering if you're planning to include support for setting testID's some time? I need this for my Cypress e2e tests.
Also just in case you weren't aware, this component seems to work great on web too using React Native Web!

hi @markymc ,
testID implemented in version 1.8.12.

hi @markymc ,
I have updated in the latest version 2.0.0.

Hello.
Do you have examples using testID ? I couldn't use it

@waldenermonteiro try this:
 <Dropdown
    testID="opponent picker"
    labelField="username"
    valueField="id"
    data={opponentPickerValues} // Shape includes {username: 'some-username'}
    itemTestIDField="username" // this is the key from the above shape, similar to labelField
    ...
/>

Then (I'm using Cypress):
Cypress.Commands.add('selectPickerValue', (pickerTestID, value) => {
  cy.getTestID(pickerTestID).click();

  // These are needed to get the FlatList to load all the items so the target can be clicked
  // This was quick and hacky, and can be improved
  cy.getTestID(pickerTestID + ' flatlist').scrollTo('bottom');
  cy.wait(200);
  cy.getTestID(pickerTestID + ' flatlist').scrollTo('bottom');
  cy.wait(200);
  cy.getTestID(pickerTestID + ' flatlist').scrollTo('bottom');

  cy.getTestID(value).click();
});

cy.selectPickerValue('opponent picker', 'some-username');
cy.getTestID('opponent picker').contains('some-username');


added documentation for input select

There are some conflicts;)

Sorry ! Did an auto. will fix it right away