crossplane triggers provider ratelimiting

What happened?
When several requested resources in Azure were misconfigured and could not be provisioned, crossplane looped forever trying to provision them once per second. This exceeded Azure's rate limits and other operations which were being attempted via the CLI/Portal/other API clients could not proceed.
Azure rate limits
How can we reproduce it?
Create some resource that can't be provisioned: for instance a database thats too large, or a storage account that violates some ARM policy enforcement (for instance "Disabling Table Encryption is not supported for the account." is one of the things our users triggered).
What environment did it happen in?
Crossplane version: 1.0
Possible solutions
The canonical solution to this sort of thing is a combination of

a system wide internal request management (crossplane should itself track how much it is calling providers, and apply fairness there: not to some arbitrary figure, just that when ratelimits show up, it should then make sure that all the demands being made on the now ratelimited channel are allocated fairly, by understanding the situation and brokering things);
backoff mechanisms on any individual request that is failing (whether internally due to brokering of external ratelimits, or externally due to e.g. the misconfiguration issues above)

I've assigned this issue to myself for this release since I think it's critical to fix (if it's happening strictly because of request id problem)

I've tried to reproduce this but couldn't succeed. Here is two statuses with errors:
# VirtualNetwork
status:
  conditions:
  - lastTransitionTime: "2021-02-12T19:40:28Z"
    reason: Creating
    status: "False"
    type: Ready
  - lastTransitionTime: "2021-02-12T19:40:47Z"
    message: 'create failed: cannot create VirtualNetwork: network.VirtualNetworksClient#CreateOrUpdate:
      Failure sending request: StatusCode=400 -- Original Error: Code="InvalidAddressPrefixFormat"
      Message="Address prefix <IP_ADDRESS>/88 of resource /subscriptions/<REDACTED>/resourceGroups/example-rg/providers/Microsoft.Network/virtualNetworks/example-vn-2
      is not formatted correctly. It should follow CIDR notation, for example <IP_ADDRESS>/24."
      Details=[]'
    reason: ReconcileError
    status: "False"
    type: Synced
---
# ResourceGroup
status:
  conditions:
  - lastTransitionTime: "2021-02-12T19:35:13Z"
    message: 'create failed: cannot create ResourceGroup: resources.GroupsClient#CreateOrUpdate:
      Failure responding to request: StatusCode=400 -- Original Error: autorest/azure:
      Service returned an error. Status=400 Code="LocationNotAvailableForResourceGroup"
      Message="The provided location ''dasd asda'' is not available for resource group.
      List of available regions is ''centralus,eastasia,southeastasia,eastus,eastus2,westus,westus2,northcentralus,southcentralus,westcentralus,northeurope,westeurope,japaneast,japanwest,brazilsouth,australiasoutheast,australiaeast,westindia,southindia,centralindia,canadacentral,canadaeast,uksouth,ukwest,koreacentral,koreasouth,francecentral,southafricanorth,uaenorth,australiacentral,switzerlandnorth,germanywestcentral,norwayeast,australiacentral2''."'
    reason: ReconcileError
    status: "False"
    type: Synced
  - lastTransitionTime: "2021-02-12T19:34:58Z"
    reason: Creating
    status: "False"
    type: Ready

As you can see, neither of them has request ID or an information that changes with every reconcile. So, the problem isn't similar to the one we had in AWS.
@rbtcollins could you give a rough number of CRs you're deploying? Do you see this problem at the scale of 10s of users or 100s? Also, which kinds do you use when you see this problem? It could be specific to a kind.

We had a storage blob that doesn't specify encryption at rest, and a subscription policy that requires encryption at rest. I'll see if thats still misconfigured or the logs are available @psalaberria002

I'm sorry I didn't manage to find anything concrete when I looked; we do have a backlog item to review the API call rates we're observing and ensure they are reasonable : we hit another API ratelimiting issue with Azure recently, but that not triggered by Crossplane. If we find something I'll reopen/file a new bug.

Dropping a cross-link to https://github.com/crossplane/crossplane/issues/2477.


Use ILRepack instead of ILMerge

This way we can make repacking work also on Mono + open-source :+1:

Merging works perfectly now on both Windows and Linux.


Add dependency sort helpers to runtime lib

Some suggestions:

rename the package to dependency  and DependencySort to Sort
make the namespace optional in CrossNamespaceDependencyReference
change the signature to GetDependsOn() (types.NamespacedName, []CrossNamespaceDependencyReference)
set refs namespace to the NamespacedName.Namespace when none is specified
extract Tarjan private types and functions to a go file


Eliminators are too weak

Can't figure out how to eliminate Or and Maybe properly. See tests in those files. Suspect eliminator is too weak.

Here's a working Maybe example
(define (from-may (A : Type) (default : A) (m : (Maybe A)))
  (elim Maybe Type (λ* (A : Type) (m : (Maybe A)) A)
        (λ* (A : Type) default)
        (λ* (A : Type) (a : A) a)
        A
        m))

Also I don't think they're too weak. I've derived the seemingly stronger ones in coq. I tried to translate it to cur but ran into https://github.com/wilbowma/cur/issues/23
We def want to generate the better elimination forms as they are MUCH easier to use.

Actually, I think we need parameters in addition to inductive types; indexed families not sufficient to express parameterized familes, nor vice versa.

Some sources:
http://www.lix.polytechnique.fr/~barras/habilitation/
https://twitter.com/wilbowma/status/699682477917499392

... coming soon ...

See implementation in https://github.com/wilbowma/cic-redex


All I get is the spinning circle

Extension doesn't work at all for me.  Is there anything beyond that you need to know that will help you fix it?

What's your OS and Firefox version? Maybe I can reproduce it. Have you tried it with different links?

Windows 7, FF 35.0.1
I've tried it with a bunch of links, including the extension's URL on AMO that you had linked to reddit.
Hope you fix it!

Could you check the Browser Console for errors? You can open it in Tools > Web Developer > Browser Console or by pressing Ctrl+Shift+J. When it is opened, clear it, click on Reddit Submission Finder and check if there appear any errors on the console.

Here you go:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=about%3Anewtab. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=http. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=https. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
www.icloud.com : server does not support RFC 5746, see CVE-2009-3555
Hope that's helpful.

Please try this version: https://www.dropbox.com/s/vd19jpzwmni5yv6/reddit-submission-finder.xpi?dl=0
Install it by downloading and then dragging it into Firefox.

Sorry.
TypeError: can't access dead object tab-firefox.js:98
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=https%3A%2F%2Fmedium.com%2F%40trog%2Fforgetting-firefox-c04dba853263. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=https%3A%2F%2Fmedium.com%2F%40trog%2Fforgetting-firefox-c04dba853263%2F. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=medium.com%2F%40trog%2Fforgetting-firefox-c04dba853263. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://www.reddit.com/api/info.json?url=medium.com%2F%40trog%2Fforgetting-firefox-c04dba853263%2F. This can be fixed by moving the resource to the same domain or enabling CORS. info.json
TypeError: can't access dead object tab-firefox.js:98
Tried it on a link to a newspaper article that I know was linked to reddit, and also the "Forgetting Firefox" article that's currently at the top of /r/firefox.

How about this one: https://www.dropbox.com/s/4osdcf5dddt2zgp/reddit-submission-finder.xpi?dl=0
As a side note: it doesn't matter which website you try, there should never be an endless spinning wheel.

That one works!  Thanks.  It should be useful.

Great! Fix will be included in the next release (v0.7).


test-branch/execute-job/wrong-commit-sha-on-pr/ed0178a6-f944-4f4f-85ef-075d59ce303b

PR for testing dce7f166cf26b6de98d4041e0ca87205a9f95160

/canonical/self-hosted-runners/run-workflows 27c1f83b0d25c0128e15755c2f36bcf8b64e8a9f


Update application-gateway-troubleshooting-502.md

fixed a mistake

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

Looking at the article, this appears to have already been changed. https://github.com/reza8iucs/azure-docs/commit/ac38bc1e5e133cef8c9bb397fd5d3ccb909ef53e

#sign-off


add/remove single edges

for consistency, update _n_edges in concrete implementations only
also, rename _remove_node_edges to _remove_incident_edges

I agree with the other improvements, but I'm not sure that will guarantee the buffers and lengths are correct when an error is raised because when an error is raised in _remove_edges it won't return any value, thus n_edges won't be updated.
What do you think of changing remove_edges to something like this:
    def remove_edges(self, edges: ArrayLike) -> None:
        """Remove edges from the graph.
        Parameters
        ----------
        edges : ArrayLike
            A list of 2-dimensional tuples or an Nx2 array with a pair of
            node indices.
        """
        edges = self._validate_edges(edges)
        edges = self._map_world2buffer(edges)
        try:
            self._remove_edges(edges)
        except ValueError as e:
            self._n_edges = ...   # recompute n_edges by transversing edges buffer and counting valid edges
            raise e

If we do this I think it's worth adding a test for when trying to remove an invalid edge.

I was actually thinking about this and even had a try/finally implemented in an earlier version, where the multi-item functions returned the number of modified nodes/edges (which, without errors, should correspond to the number of nodes/edges passed to the function).
However, I think that what we'd like is either (a) the entire operation succeeds or (b) the entire option fails, not some arbitrary intermediate. This would require that we sufficiently check the validity of the arguments (e.g. existence of edges when deleting) prior to executing the operation. What do you think?


fix: python generator type safety

Description
Correctly type the dependencyManager option for the PythonGenerator
Related Issue
#1810
Checklist

[x] The code follows the project's coding standards and is properly linted (npm run lint).
[x] Tests have been added or updated to cover the changes.
[x] Documentation has been updated to reflect the changes.
[x] All tests pass successfully locally.(npm run test).

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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 92.338%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
5997

Relevant Lines:
6328

💛  - Coveralls

Because this option is part of the AbstractGenerator, https://github.com/asyncapi/modelina/blob/6338a6b8ab1d2cabf246bdbf4fed3a1751682854/src/generators/python/PythonGenerator.ts#L38C40-L38C62
export interface PythonOptions extends CommonGeneratorOptions<PythonPreset, PythonDependencyManager> {

I think this is all that's needed 🤔

Oh my, you're right. Sorry, fixed it :D


Allow None in RHS in df.loc.setitem

Describe the bug
Should we allow None in RHS of a __setitem__() in a DataFrame ?
On the one hand, people shouldn't be placing None as a value in a DataFrame.
On the other hand, it is accepted by pandas.
Would like opinion of @bashtage and @twoertwein on my question above.
To Reproduce
df = pd.DataFrame(data={"col1": [1, 2], "col2": [3, 4], 5: [6, 7]})
df.loc[df["col1"] > 1, "col1"] = None

pyright reports (after adding this line to test_frame.py:
  c:\Code\pandas-stubs\tests\test_frame.py:174:5 - error: Argument of type "tuple[Series[bool], Literal['col1']]" cannot be assigned to parameter "idx" of type "tuple[_IndexSliceTuple[Unknown], HashableT@__setitem__]" in function "__setitem__"
    "tuple[Series[bool], Literal['col1']]" is incompatible with "tuple[_IndexSliceTuple[Unknown], HashableT@__setitem__]"
      Tuple entry 1 is incorrect type
        "Series[bool]" is incompatible with "_IndexSliceTuple[Unknown]" (reportGeneralTypeIssues)
  c:\Code\pandas-stubs\tests\test_frame.py:174:5 - error: Argument of type "None" cannot be assigned to parameter "value" of type "ArrayLike | S1@__setitem__ | Series[S1@__setitem__] | list[Unknown]" in function "__setitem__"
    Type "None" cannot be assigned to type "ArrayLike | S1@__setitem__ | Series[S1@__setitem__] | list[Unknown]"
      Type "None" is incompatible with constrained type variable "S1"
      Type "None" cannot be assigned to type "ExtensionArray"
      Type "None" cannot be assigned to type "ndarray[Unknown, Unknown]"
      Type "None" cannot be assigned to type "Series[S1@__setitem__]"
      Type "None" cannot be assigned to type "list[Unknown]" (reportGeneralTypeIssues)

Fix is to add None to value argument here: https://github.com/pandas-dev/pandas-stubs/blob/5cfc849fd031b777dd3593a0e5f82bf90becd611/pandas-stubs/core/frame.pyi#L176
and in other places with __setitem__() declarations in core/frame.pyi and core/series.pyi
Please complete the following information:

OS: Windows 10
python version:  3.10
version of type checker:  pyright 1.1.273
version of installed pandas-stubs   <IP_ADDRESS>010

Seems like pandas accepts potentially anything:
In [18]: df = pd.DataFrame(data={"col1": [1, 2], "col2": [3, 4], 5: [6, 7]})

In [19]: df.loc[df["col1"] > 1, "col1"] = object()

In [20]: df
Out[20]:
                                col1  col2  5
0                                  1     3  6
1  <object object at 0x7f656ad3c6a0>     4  7

Yes, you can put any object in a Series .  We could allow it for __setitem__(), but for __getitem__(), I think we should return specific types, as we do now, when we know the type of the Series.
Are we OK with the asymmetry there?

Are we OK with the asymmetry there?

I would be nice to then change the type of Series, but we just have a None return value. I would be fine with the asymmetry, but I can also see a value in being strict so that people are warned when pandas would silently upgrade an int series to a float series. I can imagine pandas often upgrading the types without users being explicitly aware of it - being strict would make these cases more explicit.

I would be nice to then change the type of Series, but we just have a None return value. I would be fine with the asymmetry, but I can also see a value in being strict so that people are warned when pandas would silently upgrade an int series to a float series. I can imagine pandas often upgrading the types without users being explicitly aware of it - being strict would make these cases more explicit.

In the original example, we are changing part of a DataFrame, so the type of a Series is not at play.
I think there's two possible outcomes here:

In the stubs, we only allow Scalar values to be used in __setitem__() calls, because while arbitrary objects are supported by pandas, it is not great usage of pandas.  Then users have to just do # type: ignore when they are OK with putting an object (or None) in as a value.
We change __setitem__() to allow Any to be copied in as the value argument.

@twoertwein do you have a preference of those two options? (or any other idea).  Would also like the opinion of @bashtage

For DataFrame, both options sound good to me.
In case of Series, I would slightly prefer to be more strict as we cannot express a potential type promotions (option 1 with restricting the type to the generic type of the series). I wouldn't object to using Any/object (would then be consistent with the DataFrame).

I think it is common enough to allow it, even though pd.NA or np.nan are usually better choices.

I think it is common enough to allow it, even though pd.NA or np.nan are usually better choices.

@bashtage Given the discussion above, I think that means there are 3 options for __setitem__()

Allow Scalar
Allow Scalar | None
Allow Any

Do you have a preference?

I'd vote for Scalar | None and evaluate any other possible types on a case-by-case basis. Assigning an arbitrary object is rare enough that it makes sense to disallow for now, but perhaps there may be another data type in the future that is omitted here that resembles a scalar.

I think Scalar or None is reasonable.  Don't forget that for any more exotic use, there is #  type: ignore.


Only example from stopify manual fails when using webpack

So it looks like Stopify example from the manual doesn't work with webpack. Namely, I get a Uncaught ReferenceError: stopify is not defined error when running stopify.run().
This is the script I'm running it in.
import * as stopify from '@stopify/stopify';

const runner = stopify.stopifyLocally("1+2");
runner.g = {};
console.log("Here");
runner.run(() => { console.log("ran") });
console.log("There");

The html for is just:
<!doctype html>

<script src="bundle.js"></script>

For reference, here is the whole codebase:
https://github.com/LeifAndersen/hello-stopify
You can run:
npm install
npx webpack -d
open dist/index.html

to see the error yourself.
Am I missing something or is this a bug?
Thanks.

I've seen this before.
Add a window.stopify = stopify; before the const runner = ...; line.
We do something similar in ElementaryJS:
https://github.com/umass-compsci220/ElementaryJS/blob/master/src/index.ts#L22

That worked perfectly, thank you.
It might be worth looking into why stopify assumes stopify is in the global namespace? Either that, or it might be worth mentioning that you need to add that somewhere in the manual.
Either way though, thanks for the help.


Updated README.md

Updated the README file to better represent the actual userChrome.css file which is distributed in the releases section:
Most of the values are switched around and the default values for --menu-item-height: 35px; and --menu-corner-rounding: 11px; were changed from 30 to 35 and 10 to 11 respectively, following the defaults given in the latest release. In the second set of examples, these values are reverted back to 30 and 11 to make sure the accompanying GIF is still accurate. The --toolbarbutton-hover-background: rgba(127, 127, 127, 0.5); value has been left out as it isn't touched in any of the examples. However, if someone were willing to redo the GIFs/examples, this value could be showcased as well.
The goal here is to make it a bit easier for new users to change the correct values in their userChrome.css file as they can now do a side-by-side comparison of the README and their own userChrome.css file.

Pull request accepted, files merged


Not-expected loss of performance during indexation (between v0.22.0 and v0.23.0)

Following: https://github.com/meilisearch/MeiliSearch/issues/1798
Seems like there is a loss of performance during indexation between v0.22.0 and v0.23.0
We need to investigate and fix this
@MarinPostma already started a first investigation about the part he updated between v0.22.0 and v0.23.0: https://github.com/meilisearch/MeiliSearch/issues/1798#issuecomment-941014601

Hello @VinceG! This is not normal it takes that amount of time of 100K records
Do you push your documents one by one?
We always recommend pushing your documents to MeiliSearch by batch and not one by one. The maximum payload size of MeiliSearch is 100Mb and can be optionally increased. It means most of the dataset can be pushed with one call to the API.

@curquiza we have more, but right now we just tried to index 100K and its still going.
we use Laravel, and Laravel Scout
https://laravel.com/docs/8.x/scout#batch-import
it seems like it does batching but since we only have 550 updates enqueued
it does send over 200 records at a time but i don't think it reaches 100MB
any idea what i can do to troubleshoot?
thank you.

Thanks for transferring this here, @curquiza.
Looking at the comments above, there seem to be multiple discussions ongoing. I think the primary goal here is preventing regressions, i.e. making sure that in newer versions, things stay at least as fast as they were in an older version.
Here's some overview from my data.  However, OTOH the service became much more responsive during indexing in 0.21+.
On Linux Meilisearch is getting faster and faster, but on Docker for Mac (which is actually Linux running in a VM) it gets worse from 0.22 to 0.23, at least for rather small data sets.
The observation which lead to this ticket is the jump from 0.22 to 0.23 which I observe in Docker for Mac but not on Linux. Maybe it's related to Docker for Mac's poor disk IO performance? Maybe it's too little RAM (or even swapping) - Docker Desktop is configured to 6GB) or too few cores (configured 5) where the same test on the Linux host has plenty of RAM and 12 cores.
Any hints what I could look further or what to try?

I just provided @ManyTheFish with my test dataset and my settings via Slack.
The test is a fresh db folder, Meilisearch running in Docker for Mac and three calls:

settings
delete_all_documents
add_documents (all at once)

In the last runs comparing 0.22.0 vs 0.23.1, I had on this specific dataset, I had 14 times slower indexing (1.6 s → 22.7 s) and 3x slower uploads (5 s → 17s).
The indexing time can be observed by looking at the duration field of the DocumentsAddtion request.
The uploading time can be seen by looking at the difference of enqueuedAt between ClearAll and DocumentsAddition. The calls are directly one after the other in a ruby script where the documents were already a prepared array of hashes which just needed to be serialized.
0.22.0 status updates
(note: updateIDs are higher here because I had same settings call multiple before)
  {
        "status": "processed",
        "updateId": 5,
        "type": {
            "name": "ClearAll"
        },
        "duration": 0.015,
        "enqueuedAt": "2021-10-13T20:24:41.363020307Z",
        "processedAt": "2021-10-13T20:24:41.386188054Z"
    },
    {
        "status": "processed",
        "updateId": 6,
        "type": {
            "name": "DocumentsAddition",
            "number": 5942
        },
        "duration": 1.605,
        "enqueuedAt": "2021-10-13T20:24:46.195683759Z",
        "processedAt": "2021-10-13T20:24:47.810306346Z"
    }

0.23.1 status updates
    {
        "status": "processed",
        "updateId": 1,
        "type": {
            "name": "ClearAll"
        },
        "duration": 0.005,
        "enqueuedAt": "2021-10-13T20:26:25.268266946Z",
        "processedAt": "2021-10-13T20:26:25.277046910Z"
    },
    {
        "status": "processed",
        "updateId": 2,
        "type": {
            "name": "DocumentsAddition",
            "number": 5942
        },
        "duration": 22.701999999999998,
        "enqueuedAt": "2021-10-13T20:26:42.306488448Z",
        "processedAt": "2021-10-13T20:27:05.022123113Z"
    }

The same observation with 0.24.0 and DigitalOcean droplet.
First new documents take less than a second. Batch inserts take ~3 seconds. When we have more data like 100+ every next insert takes more and more time. For now, it is more than 1 minute :( Any updates about it? In this situation, we will be forced to change a search driver, because users can't wait minutes to see their records.
No difference between the 2 or 4 CPU DO droplets.

Hello everyone reading this issue.
The issue regarding the loss of performance between v0.22.0 and v0.23.0 has been fixed. Since it's the specific purpose of this issue, I close it.
However, for anyone having issues in general with indexation performance, please, refer to this discussion. Your feedback will be really appreciated 🙂


[WhatsApp] Support new event INCOMMING_CALL when the bot receive voice or video call.

Is your feature request related to a problem? Please describe.
If the bot has receive video call or voice call, I think receive an event notification is better than a message.
Describe the solution you'd like
Add New Event

INCOMING_CALL

bot.on('incomming_call', (user: Contact) => {
  console.log(`Friends ${user.name} waiting for your response.`)
})

Additional context
Add any other context or screenshots about the feature request here.
[enhancement]
Related issue: https://github.com/wechaty/puppet-whatsapp/issues/23

I think the incoming-call event should have another parameter, for example: call, so that we can "pick it up".
And another design need to be done is that after we have picked up the call, how can we receive the streaming of the voice, and how can we send the streaming of the voice.
I have no voice-over IP experience so I have no idea about what they should look like.
Any suggestions would be welcome.


[web applications] electerious/Lychee

An easy to use and great looking photo-management-system.

Can you rebase this onto master?
Hide all checks

Rebased.


keychain: Add long description

Copied from the project home page today.

Motivation for this change
Long description was missing.
Things done

[x] Ran nix-build -A keychain successfully

Thanks @chreekat


Update new line handling

In line 560, in my opinion, Chr(10) is better than vbCrLf.
559      Case "n"
560           json_BufferAppend json_buffer, vbCrLf, json_BufferPosition, json_BufferLength
561           json_Index = json_Index + 1

Related: https://github.com/VBA-tools/VBA-Web/issues/270

I converted the sample {"text":"abc\r\ndef"} to object with ParseJson, then converted it to string with ConvertToJson, returned string is { 	"text": "abc\r\r\ndef" }
Seems ConvertToJson duplicates \r within strings.

A little more activity on #67 closing in favor of that.


add signing changes to readme

fix --validate_only to --validate-only
add signing to readme

Hello @jsun28! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file packaging/package/package.py:

Line 19:80: E501 line too long (144 > 79 characters)
Line 23:80: E501 line too long (131 > 79 characters)


v0.5.5

commit required to make a new release
r? @rust-embedded/cortex-m (anyone)

bors r+

Published https://crates.io/crates/cortex-m/0.5.5


No certificate / key created when creating a new docker machine using the aws driver

Hi,
So I'm running docker-machine 0.4.1 and I'm basically trying to create a docker-machine on AWS.
The creation works, I can see my VM spinning up on AWS, but I can't switch my default machine on it, meaning the following command:
docker-machine env docker-machine-i1

returns:
open /Users/bahaaldine/.docker/machine/machines/docker-machine-i1/ca.pem: no such file or directory

A docker-machine ls gives:
NAME                ACTIVE   DRIVER       STATE     URL                         SWARM
default                      *        virtualbox   Running   tcp://<IP_ADDRESS>:2376
docker-machine-i1            amazonec2    Running   tcp://XXX.XXX.XXX.XXX:2376

This is how I've created the AWS machine:
docker-machine -D create \
    --driver amazonec2 \
    --amazonec2-access-key $AWS_ACCESS_KEY \
    --amazonec2-secret-key $AWS_SECRET_KEY \
    --amazonec2-vpc-id $AWS_VPC_ID \
    --amazonec2-zone b \
    docker-machine-i1

When I compare the content of
/Users/bahaaldine/.docker/machine/machines/default

to
/Users/bahaaldine/.docker/machine/machines/docker-machine-i1

Following files are missing:
ca.pem
cert.pem
server.pem
server-key.pem

My default environment variable are configured like following:
export DOCKER_HOST=tcp://<IP_ADDRESS>:2376
export DOCKER_CERT_PATH=/Users/bahaaldine/.docker/machine/machines/default
export DOCKER_MACHINE_NAME=default
export DOCKER_TLS_VERIFY=1

Still an :
eval "$(docker-machine env docker-machine-i1)"

gives:
open /Users/bahaaldine/.docker/machine/machines/docker-machine-i1/ca.pem: no such file or directory

Any thoughts?
Thanks,
Baha

Same problem with digitalocean driver

+1
Experiencing the same issue on Amazon EC2.

You need to run eval $(docker-machine env docker-machine-i1.  You must use eval to load the config in your environment.

Had same issue, docker-machine 0.3.1.
Just regenerated certs, then it was ok:
docker-machine regenerate-certs MACHINE_NAME

I'm unsure how running eval "$(docker-machine env default --shell  bash)" is a resolution to this issue. I'm having this same issue where it's not able to generate the certificates and the way that I go about figuring out that the certs haven't been generated is by running the above command:
eval "$(docker-machine env default --shell bash)" open C:\Users\{user}\.docker\machine\machines\default\ca.pem: The system cannot find the file specified.
So far I have done pretty much everything I can think of to try to generate the certs and everything so far has failed. I've tried regenerate-certs, which results in the system just hanging and then doing nothing. I've tried fixing my proxy settings and restarting. I've tried recreating the vm several times.
I'm genuinely unsure as to what to do next in order to get this to work. As of right now my boot2docker VM can't access the outside world which makes it rather hard to do much of anything with it. The strange part is that I can docker-machine ssh into my vm.

Having the same problem...  Am I supposed to go to my AWS console and generate a new keypair, and put that into my /Users//.docker/machine/machines/grafit-aws/ directory localy?

I had exactly the same problem. turns out my AWS_SSH_USER was the wrong one. Could that be it ?

As for me, the trick was to not send the docker-machine command to the background... go figure.
$ docker-machine create -d digitalocean \
>                         --digitalocean-access-token xxx \
>                         --digitalocean-region fra1 \
>                         --engine-label node=swarm-master \
>                         --swarm \
>                         --swarm-master \
>                         --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \
>                         --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \
>                         --engine-opt="cluster-advertise=eth1:2376" \
>                         mhs-demo0 &
[1] 5506

$ docker-machine create -d digitalocean \
>                         --digitalocean-access-token xxx \
>                         --digitalocean-region fra1 \
>                         --engine-label node=swarm-node1 \
>                         --swarm \
>                         --swarm-discovery="consul://$(docker-machine ip mh-keystore):8500" \
>                         --engine-opt="cluster-store=consul://$(docker-machine ip mh-keystore):8500" \
>                         --engine-opt="cluster-advertise=eth1:2376" \
>                         mhs-demo1 &
[2] 5509

$ cd ~/.docker/machine/machines/

$ ls
mh-keystore  mhs-demo0  mhs-demo1

$ ls -lFA *
mh-keystore:
total 32
-rw-rw-r--. 1 myuser myuser 1029 Nov 21 13:22 ca.pem
-rw-rw-r--. 1 myuser myuser 1054 Nov 21 13:22 cert.pem
-rw-------. 1 myuser myuser 1776 Nov 21 13:26 config.json
-rw-------. 1 myuser myuser 1675 Nov 21 13:20 id_rsa
-rw-------. 1 myuser myuser  381 Nov 21 13:20 id_rsa.pub
-rw-------. 1 myuser myuser 1679 Nov 21 13:22 key.pem
-rw-------. 1 myuser myuser 1679 Nov 21 13:23 server-key.pem
-rw-rw-r--. 1 myuser myuser 1099 Nov 21 13:23 server.pem

mhs-demo0:
total 12
-rw-------. 1 myuser myuser 1897 Nov 21 13:26 config.json
-rw-------. 1 myuser myuser 1675 Nov 21 13:26 id_rsa
-rw-------. 1 myuser myuser  381 Nov 21 13:26 id_rsa.pub

mhs-demo1:
total 12
-rw-------. 1 myuser myuser 1898 Nov 21 13:26 config.json
-rw-------. 1 myuser myuser 1679 Nov 21 13:26 id_rsa
-rw-------. 1 myuser myuser  381 Nov 21 13:26 id_rsa.pub

I removed the machines and started again. If I now create them in the foreground using the same syntax as before I get:
$ ls -lFa *
mh-keystore:
total 36
drwx------. 2 myuser myuser 4096 Nov 21 13:23 ./
drwx------. 5 myuser myuser   56 Nov 21 13:44 ../
-rw-rw-r--. 1 myuser myuser 1029 Nov 21 13:22 ca.pem
-rw-rw-r--. 1 myuser myuser 1054 Nov 21 13:22 cert.pem
-rw-------. 1 myuser myuser 1776 Nov 21 13:44 config.json
-rw-------. 1 myuser myuser 1675 Nov 21 13:20 id_rsa
-rw-------. 1 myuser myuser  381 Nov 21 13:20 id_rsa.pub
-rw-------. 1 myuser myuser 1679 Nov 21 13:22 key.pem
-rw-------. 1 myuser myuser 1679 Nov 21 13:23 server-key.pem
-rw-rw-r--. 1 myuser myuser 1099 Nov 21 13:23 server.pem

mhs-demo0:
total 36
drwx------. 2 myuser myuser 4096 Nov 21 13:40 ./
drwx------. 5 myuser myuser   56 Nov 21 13:44 ../
-rw-rw-r--. 1 myuser myuser 1029 Nov 21 13:40 ca.pem
-rw-rw-r--. 1 myuser myuser 1054 Nov 21 13:40 cert.pem
-rw-------. 1 myuser myuser 1897 Nov 21 13:44 config.json
-rw-------. 1 myuser myuser 1675 Nov 21 13:38 id_rsa
-rw-------. 1 myuser myuser  381 Nov 21 13:38 id_rsa.pub
-rw-------. 1 myuser myuser 1679 Nov 21 13:40 key.pem
-rw-------. 1 myuser myuser 1675 Nov 21 13:40 server-key.pem
-rw-rw-r--. 1 myuser myuser 1094 Nov 21 13:40 server.pem

mhs-demo1:
total 36
drwx------. 2 myuser myuser 4096 Nov 21 13:47 ./
drwx------. 5 myuser myuser   56 Nov 21 13:44 ../
-rw-rw-r--. 1 myuser myuser 1029 Nov 21 13:47 ca.pem
-rw-rw-r--. 1 myuser myuser 1054 Nov 21 13:47 cert.pem
-rw-------. 1 myuser myuser 1898 Nov 21 13:44 config.json
-rw-------. 1 myuser myuser 1675 Nov 21 13:44 id_rsa
-rw-------. 1 myuser myuser  381 Nov 21 13:44 id_rsa.pub
-rw-------. 1 myuser myuser 1679 Nov 21 13:47 key.pem
-rw-------. 1 myuser myuser 1679 Nov 21 13:47 server-key.pem
-rw-rw-r--. 1 myuser myuser 1094 Nov 21 13:47 server.pem

FWIW, I'm experiencing the same issues as @edoardo-c above. I haven't been able to identify anything more useful than that removing the background run fixes the issue..

Hi,  I'm having the same issue as @TrentBrown.
Missing pem files in the Docker machine file. I open the ports in the SG, assigned a default subnet in the VPC group.  I'm not sending the creation commands to the background.
This issue is not resolved, as it is still happening. What else do you suggest either to troubleshoot or to make it work?
Thank you

In my case this did the trick:
~/.docker/machine/machines/aws-sandbox$ ls -l total 12 -rw------- 1 ubuntu ubuntu 3403 Aug  1 22:09 config.json -rw------- 1 ubuntu ubuntu 1679 Aug  1 22:09 id_rsa -rw------- 1 ubuntu ubuntu  381 Aug  1 22:09 id_rsa.pub lrwxrwxrwx 1 ubuntu ubuntu   42 Aug  1 22:11 server-key.pem -> /home/ubuntu/.docker/machine/certs/key.pem lrwxrwxrwx 1 ubuntu ubuntu   43 Aug  1 22:11 server.pem -> /home/ubuntu/.docker/machine/certs/cert.pem
After creation, I've just created symlinks to certificates in order directory. I think this also can be achieved changing config.json...

Braindump from debugging this.
This error can be produced in the case that an SSH connection cannot be made to the remote machine, or that docker ultimately does not start up on the instance.
That can reflect, e.g. a provisioning issue.  It can also reflect an issue like #2898 where the instance does not start.  Further, it can reflect some configuration error, for example ubuntu is the default amazonec2-ssh-user, but for instances of some other OS, ubuntu is not a valid user and SSH will not succeed.


ZEPPELIN-711 Load dependencies at startup

What is this PR for?
Load  dependencies at startup.
When i try to re-use interpreter.json in a different zeppelin instance, the dependencies are not loaded and my paras fail.
If there are some deps configured in the interpretersetting, loading them at startup.
What type of PR is it?
Improvement
Todos
NA
What is the Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-711
How should this be tested?
Add some dependencies to interpreter settings.
Stop zeppelin daemon
Clean up local-repo folder
Start zeppelin server.
The dependencies should have been downloaded.
Screenshots (if appropriate) NA
Questions:

Does the licenses files need update? NA
Is there breaking changes for older versions? NA
Does this needs documentation? NA

Tested, looks good to me

@minahlee One question, isn't it supposed to load dependency library when the time interpreter creation?

@Leemoonsoo that sounds like more appropriate approach. @karup1990 what do you think?

Yeah, it makes sense to load dependencies when the interpreter process starts.

@karup1990 would you be updating this PR?

Will try to fix this over the weekend @felixcheung

Closing the PR for now. Will fix this rightly and reopen.


Replace filter map

[x] Added an entry to CHANGELOG_VULKANO.md or CHANGELOG_VK_SYS.md if knowledge of this change could be valuable to users
[ ] Updated documentation to reflect any user-facing changes - in this repository
[ ] Updated documentation to reflect any user-facing changes - PR to the guide that fixes existing documentation invalidated by this PR.
[x] Ran cargo fmt on the changes

Fixes #1485
I replaced map and unwrap with a filter_map to prevent panics when not all formats reported by Vulkan are supported in vk-sys. I don't think this is a good permanent solution. A better solution would be to let vk-sys build against the Vulkan sdk on your system, but that's probably best left for another time, and I don't see any downsides to using this as a temporary fix.

@EthanYidong Thank you for the catch.
Your solution is filtering out formats that might actually be supported by Vulkan without any indication for the API user of skipped values. That could confuse the user. But I think it's fine as a temporary workaround.
Can you put this specific of behavior in the capabilities function docs, and also put a TODO comment in it's implementation so we don't miss to implement it properly in the future, please?

@Eliah-Lakhin Done!

@EthanYidong Pull Request merged. Thank you for the fix!


Short solution needed: "Redis getset example" (php-redis)

Please help us write most modern and shortest code solution for this issue:
Redis getset example (technology: php-redis)
Fast way
Just write the code solution in the comments.
Prefered way

Create pull request with a new code file inside inbox folder.
Don't forget to use comments to make solution explained.
Link to this issue in comments of pull request.

Redis getset example


Update supervises verb

Allow ogit/supervises edge from ogit/Person to ogit/BusinessProcess/Project.

It makes sense, and seems to be syntax-error free.


Take psr and loggingConfig out of CLI flags

Just pull them in automatically

Added default path values for logging and psr cli values.


chore: bump ruff from 0.1.x to 0.5.x

Hey all,
making a very small first contribution by bumping ruff :)
Note that I had to adjust the ruff command in Makefile because
ruff --fix granian tests
error: `ruff <path>` has been removed. Use `ruff check <path>` instead.

@iamkhav thank you for your contribution!


[DEVOPS-670] [WIP] Exchanges Documentation

This branch needs rebased with lots of commits squashed before it's ready to be merged. I'm opening this PR as a means to review the content of the documentation.

Please add [DEVOPS-670] as a prefix to the PR, and plan on squashing when you merge. In the future, try to remember to prefix the issue ID in the first line of all commit messages.

Can we add at least one basic functional tests to CI for NixOS and/or CentOS 7?
Tests I'd eventually like to see. Don't aim to do all this now, we just need to focus on testing one of the leaves for now and make plans to improve coverage later.

for each supported distro (currently NixOS and CentOS 7)

for each support build strategy (currently nix and docker), build and launch

./custom-wallet-config.nix

[ ] without it
[ ] as a copy of ./sample-wallet-config.nix
[ ] all supported attrs set to non-default values and verification that resulting connect script reflects those settings

checks once running

sane response to curling (HTTP 200 and reasonable body)

[ ] API docs endpoint
[ ] /api/v1/node-info
[ ] /api/info (a V0 endpoint)
[ ] eventually all the endpoints mentioned in the doc, including real staging test Ada transactions.

sanity checks of local state files

[ ] existence tests
[ ] important log lines (e.g. At one point the devs tried to get the git rev logged around startup. Last I recall it doesn't work in practice and we log something like "unknown" instead. It may even require calling an endpoint to cause a logging side-effect. This should work and we should have a test to verify it.)

@adinapoli-iohk thanks for the review! I don't intend to maintain those separately from the swagger docs. Currently, this doc is more of a WIP of what a client deliverable (probably PDF) would contain. It would be awesome if we could automate pulling the docs out of swagger and injecting them in the source document (maybe using something like docbook or latex to generate the PDF) when we get to that point though so it's not a copy/paste endeavor.

@disassembler, @KtorZ, @adinapoli-iohk: let's consider a few short-term strategies to deal with the duplicated API documentation:

Continue maintaining it, manually if necessary.
In depth discussion of API endpoints in this document are changed into links to the Swagger docs.
Everything in this document is merged into the Swagger docs.

(1) is a terrible maintenance burden. Sam suggested we may be able to extract portions of the Swagger docs. Although possible, I'm concerned about the amount of effort required to do this well and the ongoing need to test for regression.
(2) is DRY and results in a clean separation between build+run concerns and usage concerns. We'd first have to resolve where the Swagger docs will be published on the web, and how to ensure the links from this document to it don't go stale.
(3) is enticing because it eliminates the external coupling problems in (2). However, exchange integrators still need a way to deliver a definitive, current copy of the docs.
Is there already a strategy in mind for publishing the new Swagger docs on the web, and versioning them for exchange consumption?

basic NixOS tests are added for v0/v1 API endpoints and v1 docs.


Update guest-access.md

https://github.com/MicrosoftDocs/OfficeDocs-SkypeForBusiness/issues/2609
Added link.

@Somakbhattacharyya - for your review.


only consider full import path

prior to this change gvt update -all would fail with "subpackages of this dependency are already present" for "github.com/dgryski/go-bits" against "github.com/dgryski/go-bitstream"

Thanks!


Support MoreLikeThisQuery

This add support for MoreLikeThis Query
Examples:
        let index = create_test_index();
        let reader = index.reader().unwrap();
        let searcher = reader.searcher();

        // search base 1st doc ignoring word `old`
        let query = tantivy::query::MoreLikeThisQuery::builder()
            .with_min_doc_frequency(1)
            .with_max_doc_frequency(10)
            .with_min_term_frequency(1)
            .with_min_word_length(2)
            .with_max_word_length(5)
            .with_boost_factor(1.0)
            .with_stop_words(vec!["old".to_string()])
            .with_document(DocAddress::new(0, 0));

        let top_docs = searcher.search(&query, &TopDocs::with_limit(5)).unwrap();

I avoided exposing this api as one function because it ends up having many parameters
Note: one possible semantic I am not sure of is using the raw timestamp for FieldValue:Date is this what we want.
https://github.com/tantivy-search/tantivy/issues/1011
https://github.com/tantivy-search/tantivy/issues/799
The logic is based on Lucene more-like-this.
Both Lucene & this were used for this implementations.

Good job!


[Bug] [API] Forbidden tasks cannot be modified

#7597

Tasks in non associated workflows can be modified directly
Tasks of offline workflow support modification
The task of online workflow is forbidden to run, and modification is supported

Codecov Report

Merging #7598 (6dff88c) into dev (871db33) will decrease coverage by 0.01%.
The diff coverage is 25.00%.

@@             Coverage Diff              @@
##                dev    #7598      +/-   ##
============================================
- Coverage     41.26%   41.25%   -0.02%
+ Complexity     3672     3669       -3
============================================
  Files           641      641
  Lines         26473    26474       +1
  Branches       2961     2961
============================================
- Hits          10924    10921       -3
- Misses        14523    14528       +5
+ Partials       1026     1025       -1

Impacted Files
Coverage Δ

...er/api/service/impl/TaskDefinitionServiceImpl.java
31.83% <0.00%> (ø)

.../org/apache/dolphinscheduler/api/enums/Status.java
100.00% <100.00%> (ø)

...org/apache/dolphinscheduler/remote/utils/Host.java
37.77% <0.00%> (-2.23%)
:arrow_down:

...dolphinscheduler/remote/future/ResponseFuture.java
81.96% <0.00%> (-1.64%)
:arrow_down:

...e/dolphinscheduler/remote/NettyRemotingClient.java
52.11% <0.00%> (-1.41%)
:arrow_down:

Continue to review full report at Codecov.

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


jsk_3rdparty: 2.1.1-0 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository jsk_3rdparty to 2.1.1-0:

upstream repository: https://github.com/jsk-ros-pkg/jsk_3rdparty.git
release repository: https://github.com/tork-a/jsk_3rdparty-release.git
distro file: indigo/distribution.yaml
bloom version: 0.5.26
previous version for package: 2.1.0-0

assimp_devel

No changes

bayesian_belief_networks

No changes

collada_urdf_jsk_patch

No changes

downward

No changes

ff

No changes

ffha

No changes

jsk_3rdparty

No changes

julius
* [julius] fix: failure on buildfirm (#109 <https://github.com/jsk-ros-pkg/jsk_3rdparty/issues/109>)
* Contributors: Yuki Furuta

julius_ros
* [julius_ros] fix: missing deps julius-voxforge (#109 <https://github.com/jsk-ros-pkg/jsk_3rdparty/issues/109>)
* Contributors: Furushchev

laser_filters_jsk_patch

No changes

libcmt

No changes

libsiftfast

No changes

lpg_planner

No changes

mini_maxwell

No changes

nlopt

No changes

opt_camera

No changes

pgm_learner

No changes

rospatlite

No changes

rosping

No changes

rostwitter

No changes

slic

No changes

voice_text
* add dynamic_reconfigure to run/build depends  (#110 <https://github.com/jsk-ros-pkg/jsk_3rdparty/pull/110>)
* Contributors: Kei Okada

sorry to release in very sort interval, this should fix http://build.ros.org/job/Ibin_uT64__julius__ubuntu_trusty_amd64__binary/ and http://build.ros.org/job/Ibin_uT64__voice_text__ubuntu_trusty_amd64__binary/


Error

I restarted my MBP computer and tried to reuse the patch but got this error message:
Any corresponding file was found, please search for the file
It then takes me to Open Info.plist file.
None of the Extensions listed are available to be clicked.
How do I use the patch again?
It was working perfectly before.
Thanks for your help.
NH

I am unable to install with following error
"no mountable file system". Kindly, check attachment

@abhisheksharma85 please download the ZIP file instead of the DMG file.
Next time please open an other issue instead of posting in an existing one.

@nhammer1
Try to copy this file in the /System/Library/Extensions folder and try to apply the patch again.

@nhammer1 Where you able to fix the problem ?

No, not yet. I have been waiting for it to crash but nothing yet.Keeping my fingers crossed. I will keep you posted. Thanks again.
NH
On Sunday, April 22, 2018, 7:34:20 AM EDT, Julian Poidevin<EMAIL_ADDRESS>wrote:
@nhammer1 Where you able to fix the problem ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

What's the status on this ? Can I close the issue ?


[analyzer] DartTypes equality without considering their nullability status

In my case I need to check DartTypes equality with possible different nullability statuses. Is there any way to do that?

The only way that I can think of at the moment would be to use TypeSystem.promoteToNonNull on both types and then compare them. But I'm not sure whether that will get you the semantics you're after.
@scheglov Would that work? Is there a better way?

What is your understanding of type equality? The same as 20.2 Dynamic Type System:

Or identical? Or runtime type equality?
And what does it mean "without nullability statuses"? All of them? Or only of the outermost type? Note that TypeSystem.promoteToNonNull implements NonNull from https://github.com/dart-lang/language/blob/master/accepted/2.12/nnbd/feature-specification.md#null-promotion, which does only outermost modifications.

Here is what I'm trying to do: I have a class like class SomeClass extends SomeOtherClass<B> and some fields like final A a; final B b; final C? c; where C extends B and B extends A. I want to find fields matching generic type of SomeClass. By match I mean the type of field should be equal to generic type of SomeClass or should be a subtype of it. So the fields b and c should match with SomeClass.
So equality is not a correct term here.
Also, what you've explained about TypeSystem.promoteToNonNull, means that in a case where we have a type like typedef Foo = Bar? if we use TypeSystem.promoteToNonNull on Foo? we will get Foo or Bar? and not Bar, right? @scheglov

It looks that you want to use DartType.asInstanceOf(ClassElement), see https://github.com/dart-lang/sdk/blob/d78797d0141cd5956dbe599caebd1b5b19fc270e/pkg/analyzer/lib/dart/element/type.dart#L158
As for typedef's, they are always instantiated to the final type, so with typedef Foo = Bar? when you write Foo? you still get Bar? in the resolved AST and element model.

Thanks @scheglov , Looking at the document of asInstanceOf, it doesn't seem to be what I want. Anyway, I gave it a test. I have a ClassElement for the SomeClass and a DartType for the field final DateTime? a; but the result of DartType.asInstanceOf(ClassElement) is null.
class SomeOtherClass<T> {}
class SomeClass extends SomeOtherClass<DateTime> {}

final DateTime? a;

Well, apparently DateTime does not implement SomeClass.


zprint deletes form

Yikes! zprint deleted some of our code...
I've tested this with zprint 1.0.2 and 1.1.0.
When :list {:respect-nl? true} is configured, zprint quietly deletes this anonymous fn form:
;; yikes! this form is deleted!
(fn [x]
  (bar)
   )

But incidentally not if the fn is named:
;; all is good
(fn foo [x]
  (bar)
   )

Nor if there is no hanging parens:
;; all is good
(fn foo [x]
  (bar))

That's not good.  Thanks for noticing! I'll get right on it.  Looks like we'll have a 1.1.1 real soon now.  There was one very obscure problem where some code went away several years ago, but generally the tests have caught the few problem like this that have occurred.  Fortunately, I'm all set up for another release and not in the middle of anything right now.

That's not good.  Thanks for noticing! I'll get right on it.  Looks like we'll have a 1.1.1 real soon now.  There was one very obscure problem where some code went away several years ago, but generally the tests have caught the few problem like this that have occurred.  Fortunately, I'm all set up for another release and not in the middle of anything right now.

Thanks Kim for the update! Will keep an eye out.

Thanks Kim for the update! Will keep an eye out.

Fixed in 1.1.1.  Thanks again for noticing this and making a small example to replicate it!

Fixed in 1.1.1.  Thanks again for noticing this and making a small example to replicate it!


Can't download playlist on Windows

[x] I've verified and I assure that I'm running youtube-dl 2018.08.28
[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[ ] Searched the bugtracker for similar issues including closed ones
[ ] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.youtube.com/watch?v=wpZHi7o30_8']
[debug] Encodings: locale cp1252, fs utf-8, out utf-8, pref cp1252
[debug] youtube-dl version 2018.08.28
[debug] Python version 3.7.0 (CPython) - Windows-10-10.0.17134-SP0
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] wpZHi7o30_8: Downloading webpage
[youtube] wpZHi7o30_8: Downloading video info webpage
[debug] Default format spec: best/bestvideo+bestaudio
[debug] Invoking downloader on 'https://r1---sn-5jucgv5qc5oq-qxae.googlevideo.com/videoplayback?ms=au%2Crdu&sparams=dur%2Cei%2Cid%2Cinitcwndbps%2Cip%2Cipbits%2Citag%2Clmt%2Cmime%2Cmm%2Cmn%2Cms%2Cmv%2Cpl%2Cratebypass%2Crequiressl%2Csource%2Cexpire&mv=m&mt=1535531268&lmt=1471889452532511&ip=<IP_ADDRESS>&c=WEB&expire=1535553029&id=o-AMORIrLDXYWHDIhkYW3UQtpVVOekfLhpQWY0iv0LZEaV&dur=343.701&mn=sn-5jucgv5qc5oq-qxae%2Csn-qxa7snee&mm=31%2C29&ipbits=0&key=yt6&mime=video%2Fmp4&source=youtube&initcwndbps=1083750&requiressl=yes&itag=22&ei=pFmGW9HNM9Wl8QPW66V4&ratebypass=yes&signature=3A130E33B7B208A17A2F99CB2C2E50CFD6A78A2F.C0A9DD232820153AE689584C0179B04B946A6F0F&pl=18&fvip=1'
[download] Learn the Top 25 Must-Know Brazilian Portuguese Nouns-wpZHi7o30_8.mp4 has already been downloaded
[download] 100% of 83.97MiB
'list' is not recognized as an internal or external command,
operable program or batch file.
'index' is not recognized as an internal or external command,
operable program or batch file.
<end of log>

Only the video in the in the link was downlaoded, the rest of the videos could not be. The error is mentioned above. Could you help me understand what went wrong, what I did wrong?

https://github.com/rg3/youtube-dl#video-url-contains-an-ampersand-and-im-getting-some-strange-output-1-2839-or-v-is-not-recognized-as-an-internal-or-external-command


Backup Data Stored in Localstorage for Two-Factor Authentication Code Generator

Description
I've been using Two-Factor Authentication Code Generator Plugin and find it extremely useful. However, the current export configuration options do not support backing up data stored in localStorage, where 2FA codes are kept.
Given the critical nature of 2FA codes, having a backup is essential for account recovery and security.
Would it be possible to add a feature to backup and restore localStorage data related to the 2FA codes generated by this extension?
Thank you for your time and consideration.
Who will benefit from this feature?
No response
Anything else?
No response

Could you open an feature request for the extension: https://github.com/raycast/extensions/issues/new?assignees=&labels=extension%2Cfeature+request&projects=&template=extension_feature_request.yml&title=[Extension+Name]+...? Otherwise the authors won't know about it


License persistent in IMFContentDecryptionModuleSession::Update

I created a MF_MEDIAKEYSESSION_TYPE_TEMPORARY session, but I get a persistent PlayReady license after genereateRequest.
Then I try to call IMFContentDecryptionModuleSession::Update, it will told me session type are not match.
Here is data format pass into IMFContentDecryptionModuleSession::Update(),
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <soap:Body>
        <AcquireLicenseResponse xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
            <AcquireLicenseResult>
                <Response xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols/messages">
                    <LicenseResponse xmlns="http://schemas.microsoft.com/DRM/2007/03/protocols">
                        <Version>1</Version>
                        <Licenses>
                            <License>{{base64 XMR data}}</License>
                        </Licenses>
                        <Acknowledgement>
                            <TransactionID>{{id}}</TransactionID>
                        </Acknowledgement>
                    </LicenseResponse>
                </Response>
            </AcquireLicenseResult>
        </AcquireLicenseResponse>
    </soap:Body>
</soap:Envelope>

the major license info is a base64 encoded. And it used XMR format. I didn't found any standard or document about XMR format. I can only get brief structure.
My question is how can I know the license is persistent or just temporary?
Because I want to create two sessions, one is temporary, and another one is persistent.
If I can know the response license type, then I can use correct one session to call  IMFContentDecryptionModuleSession::Update
Thanks!

Hi @swenkeratmicrosoft , could you help me about this?
I have a PlayReady DASH content and it hosted on my website(by default, it will be a persistent license), Edge browser can play it. But when I use my modified chromium:
If I hardcode CDM session to Persistent, it will work;
If I hardcode CDM session to Temporary it will fail with error code 0x80704005.
So I guess Edge did something internally to handle it.
That's why I ask this quesiton.
Thanks!

Hi @cjw1115,
Edge doesn't do anything special to handle this scenario.  It is the expectation and design of the EME interface that it's the responsibility of the caller to know, preemptively (before it calls generateRequest), whether the server is going to respond with a temporary or persistent license.
Furthermore, you can't create a license acquisition challenge in a persistent session and then process the response in a temporary session.  The call to update must be on the same session as generateRequest.
In order to do what you're suggesting (determining the license type from the response), you'd not only have to create two sessions (one temporary and one persistent), you'd also need to call generateRequest on both, send two separate license acquisition requests to the server, get two responses, then throw away one of the responses.  Since production-class license acquisition servers generally prevent you from acquiring unnecessary licenses, they will likely reject one of those requests, and if the other request's response doesn't have a license that matches the session from which its request was created, you're back where you started.  In essence, creating two sessions doesn't realistically help you.
You shouldn't be hard-coding the CDM session to anything.  You should be taking it in as input from the website/application, and the latter must be implemented to pass the right value based on what type of license it knows the server is going to return.  If the website/application doesn't know that information a-priori, then that's a design flaw in the caller - they are failing to use the EME interfaces as designed.
Does that make sense?  I hope that's helpful, but feel free to ask for further clarification.  Happy to help.
-Sam Wenker
Microsoft PlayReady Architect

Hi @swenkeratmicrosoft,
Thanks for your quick reply.
Yes, to set sessionType is responsibility of caller. Generally, browser just need to follow web app's settings in requestMediaKeySystem.
The storage thing is that, the same web app, same configurations to browser by EME interface. Edge works! That's why I guess Edge may have special processing;
For second point, I did what you said earlier, create two sessions together, and create to generateRequest together. For update, code is here,.
virtual HRESULT STDMETHODCALLTYPE Update(
        /* [size_is][in] */ __RPC__in_ecount_full(responseSize) const BYTE* response,
        /* [in] */ DWORD responseSize)
    {
        HRESULT hr = m_majorSession->Update(response, responseSize);
        if (hr == (HRESULT)0x80704005)
        {
            hr = m_backupSession->Update(response, responseSize);
            if (hr == S_OK)
            {
                m_useBackup = true;
                m_sessionCallbacks->KeyStatusChanged();
            }
        }
        return hr;
    }

but it not totally work. After m_majorSession->Update, if it failed, MediaEngineProtectionManager::EndEnableContent will be called and MF_MEDIA_ENGINE_EVENT_ERROR event be notified.
That why I ask how to distinguish license persistent type, if license persistent type is temporary, I will just call temporary session's update() interface, and drop persistent session, vice-versa.
BTW, I found there are some PlayReady drmxmr.h definition on github. I tried to use them to parse license response. but looks thay are not match.  For XMR, Does this a public standard or Microsoft internal? can I got some API or docs?
Thanks!

Hi @cjw1115,
Why are you creating two sessions in the first place?  Edge absolutely doesn't.
-Sam Wenker
Microsoft PlayReady Architect

Since I'm not very familiar chromium's code, so I want to create them in same place. Make things easier.
May be I should try to create them one by one, if first one update failed, I should reinitialize it and create another session.

Hi @cjw1115,
I'm not sure what you mean by "create them in the same place".
When the website calls createSession, you should create a single session of the same type as the website requested.
Or am I missing something?
-Sam Wenker
Microsoft PlayReady Architect

Hi @cjw1115,
I'm not sure what you mean by "".
When the website calls createSession, you should create a single session of the same type as the website requested.
Or am I missing something?
-Sam Wenker
Microsoft PlayReady Architect

Yes, chromium will create session on MF CDM with the website requested session type, if website ignore the session type,it will be temporary by default.
When chromium create session on CDM,

I add one line to create a backup session with opposite session type.
When chromium call generateRequest on session, I also add one line to call it on backup session.

This is meaning of "create them in the same place", it's not too much elegant😀

Hi @cjw1115,
My question is: Why are you doing #1 at all?  What is the purpose of creating a backup session?
-Sam Wenker
Microsoft PlayReady Architect

Hi @swenkeratmicrosoft,
My purpose is: I want to play PlayReady encrypted content even if web app didn't set a session type explicitly.
I created a web app use DASH JS to play  a PlayReady content, and I didn't set sessionType in navigator.requestMediaKeySystemAccess, DASH JS set it with a default Temporary session type. but my content's license is persistent license by default.
Then Edge can play it successfully. It's strange, a persistent license with temporary session type, expected result should be playback failure. so I have to guess Edge have some special processing here.
For this purpose, I have one walkaround.

Create a Temporary CDM session according web app's request(Major one);
Create a persistent CDM session as backup;
generateRequest for major and backup CDM sessions;
update() major session with license response from step 3.

if it fail with HRESULT 0x80704005, I will try to update() backup session. then drop major one.
if it successes, then drop backup one.

call SetContentProtectionManager on media engine
protectedMediaEngine->SetContentProtectionManager(m_protectionManager.get());
If one session update() in step 4 succeed, content will be auto enable.

For step 5, I found if I call it before update session with license(step 4). the BeginEnableContent will be called. then if update()
of major session failed in step 4, the 'EndEnableContent' will be called. and an error notified. I have no chance to call update() of backup session.
That's why I ask if there are some API or specs can detect license persistent type from a base64 string of XMR.
Thanks!

Hi @cjw1115,
Ok, now I understand what you're saying.
The EME spec/APIs are designed to not allow you to playback with a persistent license with temporary session type.
Per specification
https://www.w3.org/TR/encrypted-media/#dom-mediakeysession-update
Refer to the section starting with "Process sanitized response, following the stipulation for the first matching condition from the following list:".  The spec explicitly says that update is supposed to fail with TypeError in this case.
If you implement update to allow this as you describe, you are in direct violation of the EME specification.  If Edge is allowing this behavior, it is a bug in Edge which we will fix.  I'd like your help to determine if there's an Edge bug here, if that's all right?

Are you using key system string "com.microsoft.playready.recommendation" or "com.microsoft.playready.recommendation.3000?  If not, please change your code to use that key system string for PlayReady.  The key system strings "com.microsoft.playready" and "com.microsoft.playready.hardware" are considered deprecated and should not be used.  There are known EME spec-compliance bugs and other functional bugs in those key system strings which we cannot fix without website compatibility issues, so you will likely get unintended behavior in numerous scenarios if you use them.  If you change the key system string and no longer get success from update in Edge, that explains the behavior you're seeing and no further investigation is required.
Otherwise, are you currently able to create a temporary session and call generateRequest + update with a persistent license in Edge with the correct key system string and not get an error from the update promise itself?  If update is failing but playback is still succeeding, it's because you've already stored a persistent license in Edge successfully and playback is picking up that existing license.  If you clear your browser data in Edge (including media data), I expect that if you attempt to create a temporary session and call generateRequest + update with a persistent license in Edge, both update and playback will fail.  That would explain the behavior and no further investigation is required.
Otherwise, if update's promise is returning success for a temporary session with a persistent license, could you please perform the following steps so I can investigate whether there's a bug in Edge?

Reboot your machine.
Download the following zip file and unzip it:
https://github.com/microsoft/media-foundation/releases/download/V1/mftracelog.zip
Launch mftracelog.exe from the appropriate architecture directory.
Select "Simple" and "Full Traces".  (This is NOT the default.)
Click "start tracing"
Launch Edge and reproduce the issue (store persistent license on temporary session).
Click "stop tracing"
Zip the resultant files and share them with me, e.g. using OneDrive or another web storage account.

Regardless of the result of the above Edge investigation:

You should not create two sessions ("major" and 'backup") when the application asks for only one.
You should not allow update to store a persistent license when the application used a temporary session or vice-versa because it would be a direct violation of the EME specification.
There is no public API that can detect whether the license is persistent or not from XMR nor do we intend to add such an API.  The XMR format is considered internal and subject to change, so providing a specification also would not help you as it could suddenly stop working in the future with no warning and cause your implementation to fail.

I hope this helps, and thanks for continuing to work with me on this issue.
-Sam Wenker
Microsoft PlayReady Architect

Hi @swenkeratmicrosoft,
Thank you for such detailed reply. It's helpful!
I used key system "com.microsoft.playready" in my webapp.
For my persistent license, I tried below combinations on Edge:

com.microsoft.playready + temporary sessionType

update() successfully and got a usable KeyID

com.microsoft.playready + persistent-license sessionType

generateRequest failed with 0x80700009

com.microsoft.playready.recommendation + temporary sessionType

update() failed with code 0x80704005

com.microsoft.playready.recommendation + persistent-license sessionType

update() successfully and got a usable KeyID

Edge works as your description. it has no bug here.
Thanks again. the issue can be closed.


在使用透视表隐藏列头时，隐藏一个大类的第一个列时，第一层会往右移动一格，中间出现空白格

Version
@antv/s2": "^1.48.0"
Description
在使用透视表隐藏列头时，隐藏一个大类的第一个列时，第一层会往右移动一格，中间出现空白格。
隐藏列头前：

隐藏列头后：

示例数据：
{     "fields":{         "rows":[             "PRO"         ],         "columns":[             "ST",             "DATE"         ],         "values":[             "GOO",             "PROS"         ]     },     "meta":[         {             "field":"PRO",             "name":"省份"         },         {             "field":"ST",             "name":"商店"         },         {             "field":"DATE",             "name":"日期"         },         {             "field":"GOO",             "name":"商品名"         },         {             "field":"PROS",             "name":"利润"         }     ],     "data":[         {             "ST":"D010311",             "DATE":"2020-01-21",             "PRO":"浙江省",             "GOO":"0",             "PROS":"1"         },         {             "ST":"D010311",             "DATE":"2020-01-21",             "PRO":"四川省",             "GOO":"0",             "PROS":"1"         },         {             "ST":"D010320",             "DATE":"2021-07-16"         },         {             "ST":"D010320",             "DATE":"2021-07-18"         },         {             "ST":"D010320",             "DATE":"2021-07-19"         },         {             "ST":"D010320",             "DATE":"2021-07-10"         }     ] }
System information
MacBook Pro 2020
Intel Core i5

补充
在 #2047 中也出现类似的问题
在 @antv/s2-1.41.0 中看到已修复此问题
但我使用 @antv/s2-1.48.0 依旧有以上问题
将项目中的版本切换至 @antv/s2-1.41.0 以及 @antv/s2-1.50.0 还是有以上问题

reproduce
这是一个可以复现的网址
https://codesandbox.io/s/youthful-stonebraker-pm56tn
详情
隐藏第一层列头下的第一个叶子节点，会出现第一层列头偏移

点击隐藏后

又比如：

点击隐藏后

:tada: This issue has been resolved in version @antv/s2-v1.51.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-v1.53.0-alpha.2 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-react-v1.45.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-v1.54.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-react-v1.46.0-alpha.1 :tada:
The release is available on:

npm package (@alpha dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-v2.0.0-next.11 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-react-v2.0.0-next.10 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version @antv/s2-vue-v2.0.0-next.10 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Re-enabling dynamic forms after deleting Content Type Form doesn't recreate the Form content type

I had an issue with a Form and thought I might start from scratch. So I disabled the Dynamic Forms module. I saw the Form content type was still there, so I deleted that too. Then I enabled Dynamic Forms again, but the Form content type wasn't recreated...
So I'd like to file this as a bug, but also ask if there's a way I can recreated the Form content type (short of doing it manually).

This is not so much a bug with Dynamic Forms, or with Orchard for that matter, since content types are created by migrations that execute only once, and modules don't remove their settings and data automatically (this is a deliberate decision).
That being said, maybe it's not such a bad idea to have each module that provides content types to the system come with a recipe that can re-create those types on demand.
For now I recommend creating the Form content type manually, or exporting and importing its definition from another Orchard installation. I attached a recipe for your convenience that you can simply import (make sure you enabled the Import/Export feature)
export.zip
.

Awesome, thanks. The decision makes sense now that I read more about it. But indeed, a recipe to recreate would be interesting.


Error: Failed to execute 'add' on 'DOMTokenList': The token provided ('button-md-twitter') contains HTML space characters, which are not valid in tokens

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[ ] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
[x] Improvement
Current behavior:
Setting a color attribute to a value with extra space(s) causes the following error.
InvalidCharacterError: Failed to execute 'add' on 'DOMTokenList':
The token provided ('button-md-twitter ') contains HTML space characters, which are not
valid in tokens.

Expected behavior:
As an improvement, the white spaces should be trim from the attribute values.
Steps to reproduce:

http://plnkr.co/edit/EXwheDpNmvzcmAyNkN6r?p=preview
Related code:
<button ion-button  color="twitter ">
    <ion-icon name="logo-twitter"></ion-icon>
</button>

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
    @ionic/cli-plugin-cordova       : 1.6.2
    @ionic/cli-plugin-ionic-angular : 1.4.1
    @ionic/cli-utils                : 1.7.0
    ionic (Ionic CLI)               : 3.7.0

global packages:

    Cordova CLI : 7.0.1

local packages:

    @ionic/app-scripts : 2.0.2
    Cordova Platforms  : browser 4.1.0
    Ionic Framework    : ionic-angular 3.5.3

System:

    Android SDK Tools : 26.0.2
    Node              : v6.11.2
    OS                : Windows 10
    npm               : 5.3.0

Hello, thanks for using Ionic. We will look into this.

I have the same issue here with this code
   <p ion-text color=" item.state ? 'danger' : 'secondary'" >{{item.state}}</p>

For anybody who finds this in future, I had the exact same problem. Turns out it's literally the extra whitespace in the string that is assigning the color.
color='twitter' instead of color='twitter '
Note the extra white-space at the end. This drove me insane for a good half hour, I don't know where the white-space was coming from on my end, maybe Prettier auto formats but yeah that's the problem. I assume it's the same for @hamzahamidi the white-space between the = and item.state in
color=" item.state... might be causing the error.
And it's not an Ionic thing, it's an Angular thing, had this error using Angular Material and came across this issue while looking for a fix.

@DavidTheProgrammer yes,  already mentioned the cause and the solution in the original pot.


Is it possible to set the number of audio channels using Transformer?

Hi! Is it possible to set the number of audio channels using Transformer? E.g. change the audio in a video from stereo to meno? Thanks!

Yes, you can use the ChannelMixingAudioProcessor, which has just been released in the 1.1.0-alpha01 release.
Assuming you use 1.1.0-alpha01 (tell me if it's not the case), to apply an AudioProcessor, you need to:

Create an Effects instance that contains this AudioProcessor.
Create an EditedMediaItem instance with this Effects instance.
Pass this EditedMediaItem to Transformer.start()


Feat: test override product details settings

What's the purpose of this pull request?
This PR aims to enable the override of the ProductDetailsSettings component from ProductDetails section. This override has priority over the internal component's overrides (BuyButton, ProductPrice, QuantitySelector).

[x] Adds this override to the docs with the priority warning.
https://github.com/vtexdocs/dev-portal-content/pull/1192

Starters Deploy Preview

https://github.com/vtex-sites/starter.store/pull/452

superseded by

https://github.com/vtex/faststore/pull/2335


Allow external code coverage for Scrutinizer.

Looks like travis is not able to send code coverage to scrutinizer.
Option external_code_coverage: true was missing.

A new inspection was created.

The inspection completed: No new issues


Fix error with error.error on line 77

Thanks!

The above commit fixes bug #5, not this bug. I made a typo in the commit message.


Failed to execute the simplest query

I deployed an official pre-build (v 1.18.2), it worked well. When I tried to build branch v1.19 from source code, it could not execute the simplest query.
Steps to reproduce the behavior (Required)
select 1;
Expected behavior (Required)
It works.
Real behavior (Required)
I got this error msg: ERROR 1064 (HY000): there is no scanNode Backend.
I checked be.out and found:
start time: Fri Oct 1 21:46:50 CST 2021
src/tcmalloc.cc:332] Attempt to free invalid pointer 0x681ba40
*** Aborted at<PHONE_NUMBER> (unix time) try "date -d @1633096016" if you are using GNU date ***
PC: @     0x7fabc817d8af __GI_raise
*** SIGABRT (@0x1436380000c4bc) received by PID 50364 (TID 0x7fab7ad67700) from PID 50364; stack trace: ***
@          0x323b2e2 google::(anonymous namespace)::FailureSignalHandler()
@     0x7fabc8e4a5d0 (unknown)
@     0x7fabc817d8af __GI_raise
@     0x7fabc817f4aa __GI_abort
@          0x14e4004 ZN8tcmalloc3LogENS_7LogModeEPKciNS_7LogItemES3_S3_S3.cold
@          0x49e7699 (anonymous namespace)::InvalidFree()
@          0x1b30129 std::basic_string<>::reserve()
@          0x2ab3729 starrocks::MysqlResultWriter::process_chunk()
@          0x2ab4d97 starrocks::MysqlResultWriter::append_chunk()
@          0x2a95caa starrocks::ResultSink::send_chunk()
@          0x1a6c5b9 starrocks::PlanFragmentExecutor::_open_internal_vectorized()
@          0x1a6d079 starrocks::PlanFragmentExecutor::open()
@          0x1a02cef starrocks::FragmentExecState::execute()
@          0x1a03f10 starrocks::FragmentMgr::exec_actual()
@          0x1a0917c std::_Function_handler<>::_M_invoke()
@          0x1b55444 starrocks::ThreadPool::dispatch_thread()
@          0x1b638e5 starrocks::Thread::supervise_thread()
@     0x7fabc8e406ca start_thread
@     0x7fabc824fedf __GI___clone
@                0x0 (unknown)
StarRocks version (Required)

branch v1.19, commit id: 38c5e52478d234751c189614997df8f9bb7d4a07

Some info about my env:

Linux h33k11406.sqa.nu8 4.19.91-007.ali4000.alios7.x86_64 #1 SMP Wed Apr 8 16:17:43 CST 2020 x86_64 x86_64 x86_64 GNU/Linux
gcc version 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)

Looks like issue #233
Could you please build StarRocks with our dev-docker to reproduce this problem?

Looks like issue #233
Could you please build StarRocks with our dev-docker to reproduce this problem?

Thanks for your feedback.
I tried the dev-docker and it worked.
I am going to close this issue and if possible, please provide a detailed build manual for the developers. Thanks!


:hammer: making sure that only img > src is prepend

When using <iframe src=""> within the markdown it get prepended by the current article folder. Furthermore, the space at the end of the regex force the <img> to have one more attribute after the src= one, which doesn't works in a lot of situation.

Thanks!


Document access key permissions: azuredevops

When importing from either provider, you need an access key.
The access this key needs has to be documented, as it's an obvious question that arises.
Todo:

Look at the code (https://github.com/iver-wharf/wharf-provider-azuredevops), see what it's doing, and coming up with the assumed permissions
Do some manual testing to verify with a key that only has those permissions

importing new project
refreshing the project

document the required permissions.

We should make it possible to update the credentials for a project in the future when we need it. Such as when we need to set commit statuses, we then need permission for that. But let's follow the "principle of least privilage"

This was fixed in https://github.com/iver-wharf/wharf-provider-azuredevops/pull/31


ADD privacy policy component

Could you attach a screenshot?

We are gonna have to make the styles a bit nicer on the eyes. Maybe make it a paper and give it some padding and make the background the same background color we use everywhere else. Also add a small close button in the top right corner.

I've made some changes to make the style more appealing.