Incorrect distributed tracing call flow

In what area(s)?
/area runtime
What version of Dapr?
0.6.0
Problem
The below application map draws the service invocation traces between pythonapp and nodeapp

nodeapp calls /daprinternal/CallLocal (S3): This is wrong because daprinternal/CallLocal represents the internal gRPC channel in pythonapp and nodeapp. So this should not be represented as the actual service. Technically, the latency(40.6ms) between pythonapp and nodeapp should be same as the latency(3.1ms) between nodeapp and CallLocal, but it is not.
nodeapp calls /<IP_ADDRESS>/neworder (S2): is small circle “dependency service” ? this circle may be represented as an user app
nodeapp calls /v1.0/state/statestore (S4): statestore must be a dependency service, but the name of this small circle makes user confused because big circle (nodeapp) can be treated as user app. Then this is conflicted with the assumption of S4 circle
nodeapp calls /v1.0/healthz (S1): this is called from kubernetes. we should remove this healthz call

In this diagram, small circle can be treated as dapr side car or user app. This makes user confused to understand the application map. It also shows the inconsistency of the latency.
We can see the similar problems on zipkin tracing:

Arrow Marked call should be called from PYTHONAPP, not NODEAPP
Server span of the last two NODEAPP spans is unclear. We do not need to generate serverspan on app channel.

Proposal
Defining the big circle and small circle which are shown in application insights map.

Big circle: Dapr side car, Dapr system components
Small circle: external dependency (statestore, bindings, pubsub) or user app

Note: this will show Dapr side car and user app explicitly.

ServerSpan and ClientSpan per server and dependency will be aggregated like the below examples. The aggregated api calls, including internal gRPC method call and /v1.0/state/statestore will be shown when user clicks the circle.

Note: from the investigation, if we resolve application insight map issues, we can resolve zipkin tracing issues as well.

@Haishi2016 @shalabhms @yaron2 @amanbha Please review this bug and proposal.  I would like to resolve this problem in this milestone.
cc/ @orizohar @msfussell

nodeapp calls /daprinternal/CallLocal (S3): This is wrong because daprinternal/CallLocal represents the internal gRPC channel in pythonapp and nodeapp. So this should not be represented as the actual service. Technically, the latency(40.6ms) between pythonapp and nodeapp should be same as the latency(3.1ms) between nodeapp and CallLocal, but it is not.

CallLocal is where the sidecar dispatches call to the app itself. In your proposal you mentioned:

Small circle: external dependency (statestore, bindings, pubsub) or user app

Given this, shouldn't this be the correct behavior?

nodeapp calls /<IP_ADDRESS>/neworder (S2): is small circle “dependency service” ? this circle may be represented as an user app

Same as above.

nodeapp calls /v1.0/state/statestore (S4): statestore must be a dependency service, but the name of this small circle makes user confused because big circle (nodeapp) can be treated as user app. Then this is conflicted with the assumption of S4 circle

The tracing component currently uses request path as span names. We might want to make the names more friendly by insert some custom mapping but we have to evaluate if it's worthy. I think better docs can address this.

nodeapp calls /v1.0/healthz (S1): this is called from kubernetes. we should remove this healthz call

We can certain filter things out to make the diagram prettier. However should tracing be that opinionated?

nodeapp calls /daprinternal/CallLocal (S3): This is wrong because daprinternal/CallLocal represents the internal gRPC channel in pythonapp and nodeapp. So this should not be represented as the actual service. Technically, the latency(40.6ms) between pythonapp and nodeapp should be same as the latency(3.1ms) between nodeapp and CallLocal, but it is not.

CallLocal is where the sidecar dispatches call to the app itself. In your proposal you mentioned:

No. the naming of gRPC method was confusing us. CallLocal is the remote call from pythonapp to nodeapp. So the latencies must be same. What makes them the inconsistency is that we emit the server span and then emit client span in the same place. cc/ @shalabhms

Small circle: external dependency (statestore, bindings, pubsub) or user app

Given this, shouldn't this be the correct behavior?

nodeapp calls /<IP_ADDRESS>/neworder (S2): is small circle “dependency service” ? this circle may be represented as an user app

Same as above.

nodeapp calls /v1.0/state/statestore (S4): statestore must be a dependency service, but the name of this small circle makes user confused because big circle (nodeapp) can be treated as user app. Then this is conflicted with the assumption of S4 circle

The tracing component currently uses request path as span names. We might want to make the names more friendly by insert some custom mapping but we have to evaluate if it's worthy. I think better docs can address this.

Actually, no. We need to understand how application insights map works first. Big circle is a server getting request from external and small circle is the dependency service which big circle send the request to. application insight map see the http.service span annotation for http and peer.service for gRPC. Then application insight map aggregates based on these service name automatically. the name(urls) in spans will be shown when user click circle. Please see the last screen shot.

nodeapp calls /v1.0/healthz (S1): this is called from kubernetes. we should remove this healthz call

We can certain filter things out to make the diagram prettier. However should tracing be that opinionated?

To me, filtering seems faking the fact. I do not see filtering feature on it either.
We can keep it as is but it needs to be aggregated in the big circle.

/v1.0/healthz needs to be aggregated inside big circle server like below.

Are there general guidance or standards from App Insight team on how to represent elements on a sidecar-based system? It would be nice if we can find out what's the generally accepted behaviors.

I'm very confused with the picture. To better understand what's happening - does the call to /healthz represented as server spans or client spans? Looking at picture it seems like those are client spans (this is how UI draws them). But sepamtically, it is a call from k8s to the instance and it is processed as an "incoming" server request.
Once this is clarified, other things might be easier to investigate.
Also, it may be useful if you can show some raw telemetry here. Query like this for various transactions may help to understand what telemetry SDK generated:
(requests | union dependencies)
| where operation_Id == "STYz"
| project timestamp, itemType, name, id, operation_ParentId, operation_Id

@SergeyKanzhelev Thanks for the review.
Here's the query result. as you said, /v1.0/healthz is an incoming server request from k8s. I think the problem is that our code emits serverSpan and clientSpan in the same place. We should emit serverspan only.
(requests | union dependencies)
| where operation_Id == "2807bed239da15457abddf5365da44a7"
| project timestamp, itemType, name, id, operation_ParentId, operation_Id

@youngbupark yes, it looks like you only need one here.
Can you post example of a distributed trace for call going from nodeapp to pythonapp?

@youngbupark yes, it looks like you only need one here.
Can you post example of a distributed trace for call going from nodeapp to pythonapp?

I need to change the code :)  The sample doesn't have the logic for nodeapp->pythonapp.

Current decision

Dapr application map represents sidecar + user app as a single node for user's readability

Proposed design change

Show only dependency services like a app
Hide(Filter out) all localhost api calls(dapr sidecar -> user app, user app -> sidecar) between sidecar and user app.
Remove unnecessary span generation and populate operation_Name annotation to aggregate Spans correctly on App map
When clicking big circle (app), user can see the incoming requests(server span) on blade window

internal gRPC call + invocation method
input bindings (trigger)
subscribed topics

When clicking small circle (state, binding, secret, pubsub), user can see the outgoing requests(client span) from big circle(app) on blade window

state : state operation(GET, SET, etc) + state key name
secret : secret operation(GET) + secret name
bindings: name of binding component
pubsub: published topic name

Drawbacks from current design

Cannot track the internal communications between userapp and sidecar. (user app -> sidecar, sidecar-> userapp)

Potential problems with user app's tracing telemetry
This section describes the potential problem when user app tracks tracing using open telemetry or appinsight sdk itself.

Double counting spans: this issue happens only when side car generates internal communication spans. So current decision will not make double counting problem.
Separated user app node: If user app generates serverspan and clientspan for sidecar communication, app map will show the user app as a separated node. To avoid this problem, we need to document how to enable tracing on user app (including how to share the trace id with sidecar)

cc/ @Haishi2016 @yaron2 @amanbha @orizohar @msfussell @SergeyKanzhelev

Please make sure to validate that the following scenarios will work as expected:

User only have access to pythonapp telemetry.
User only have access to nodeapp telemetry.
Either one or both - nodeapp and pythonapp has telemetry enabled.

Also when we were discussing the model you mentioned that Dapr will auto-propagate context between incoming and outgoing calls. I was thinking about it and cannot figure out how this is achieved. Can you clarify?
For the context, we enabled this for ASP.NET Core 3.0+ apps out of the box. Also we are trying to make all OpenTelemetry APIs propagate context even if not monitored.

Please make sure to validate that the following scenarios will work as expected:

User only have access to pythonapp telemetry.
User only have access to nodeapp telemetry.
Either one or both - nodeapp and pythonapp has telemetry enabled.

Are you assuming that pythonapp and nodeapp are user applications?
Unlike Envoy example, dapr sidecar is a runtime because it has its own dependencies such as state/binding/pubsub and exposes api endpoint to userapp via localhost and user app uses these APIs via localhost communication. We assume user should have the access to both telemetry.
Tracing will be always, but it will be controlled by sampling rate. If user wants to turn off the tracing, they may need to set sampling rate to 0. But if root span is sampled, the correlated spans will be sampled regardless of sampling rate.

Also when we were discussing the model you mentioned that Dapr will auto-propagate context between incoming and outgoing calls. I was thinking about it and cannot figure out how this is achieved. Can you clarify?
For the context, we enabled this for ASP.NET Core 3.0+ apps out of the box. Also we are trying to make all OpenTelemetry APIs propagate context even if not monitored.

Unlike Envoy, Dapr sidecar is a runtime for user app.  Current dapr sidecar implementation generates new span when user app doesn't provide the correlation headers. This way is similar to how asp.net 3.0 is doing. The difference is that userapp uses asp.net sdk as in-proc, but dapr user app uses dapr runtime as out-proc over localhost because Dapr runtime follows sidecar pattern.
The current problem of Dapr implementation is that user app cannot get the trace id that sidecar auto-generates for the correlated traces. To address this problem, we will populate trace id, that sidecar generates, to the response header.


Docker pull manifest unknown error

docker pull zwavejs/zwavejs2mqtt:latest or docker pull zwavejs/zwavejs2mqtt gives the following error:
Error response from daemon: manifest for zwavejs/zwavejs2mqtt:latest not found: manifest unknown: manifest unknown
I can pull other images from other developers no problem

Pull dev tag

I suggest you update readme to state this :-)  currently the readme says to pull latest


Add a better way to disable a translation

Add a data-l10n-off attribute to disable translations on an element instead of using the current method: https://github.com/elementary/mvp/blob/master/TRANSLATE.md#disabling-a-translation

See #384


Use okhttp instead of ktor

Turns out this is trivial with ktor. See https://api.ktor.io/ktor-client/ktor-client-okhttp/io.ktor.client.engine.okhttp/index.html


Collatz conjecture

It feels like the example is giving away a good approach to the exercise..

not sure why still failing CLI, created a more simple PR


Fix bounding box extent

A comment and a question up front:

I welcome comments on the validate_enum_class_value design as I'm not sure if this is particularly pythonic or if there is a standard or better way to do it.
Should these setters raise a ValueError or other exception if the validation fails?  This is not being done currently and the values not set are silently ignored.

The setters for some SimulationConfiguration properties, including cutout_subdesign_type, radiation_box, sweep_type, and basis_order would never set their property's value because they were checking that the arguments were of a type that would not be passed in.  The arguments passed in are integers taken from attributes on the class.  I call these "enumeration style" classes.
To fix this, add a new method validate_enum_class_value that takes an enumeration style class "cls" that has valid values from zero to N where the value N is assigned to the class attribute called Invalid and an integer value "value" to validate.  The function returns true if "value" is between zero (inclusive) and cls.Invalid (exclusive).  Note that the enumeration class must define this Invalid attribute and its value is not itself valid.
I added a test for setting the boundary box extent type which is the case that was reported to me as not working.
Fixes #1313

Thanks all for suggestions, have a busy calendar today but will get these incorporated by tomorrow and ready to merge.

@isaacansys if you finalize all agreed changes we can close this PR


Add style guide

This PR adds a style guide for the standard library and re-formats the standard library code to conform to it.
[skip ci]

This PR should not be merged until we agree about the contents of the style guide and re-format the code.

Here are a couple areas of the style guide I thought could use some clarification, as I came across styling some code I wrote:

Multi-line lambdas with capture lists.
Multi-line type declarations with nested type parameters (i.e. JsonObject data)
Long match expression cases of the following form. (Here I decided to break after the | and align "string6" under "string1" to group the set, and to not confuse a match | with the or | of the expression.)

match s
| "string1" | "string2" | "string3" | "string4" | "string5" |
  "string6" | "string7" | "string" => Some()
| "other" => Other()
end

@Theodus this is fantastic. Thank you!
@patternspandemic good call!


[Feature Request] Return reasons with scores for better understanding

It would be greatly beneficial to include the intermediate reasons generated for each score, as this would enhance the interpretability and overall understanding of the scoring process.

Hi @un-certainty , it's an interesting idea. Have been hearing similar requests from others as well.  Ragas scores are already explanatory as the paradigms and underlying methods are transparent.  Although in future we can improve this to be more intuitive.

Hi @shahules786
The metrics are explanatory. I am trying to understand why LLM gave the scores. So the reasons are just used for double check.

@un-certainty Understood. I'm thinking what would be the best way to showcase such reasons, would it be best suited along with the results itself? Any thoughts on it

@un-certainty Understood. I'm thinking what would be the best way to showcase such reasons, would it be best suited along with the results itself? Any thoughts on it

how about logging the intermidate results based on the parameters which can be later used for understanding the results ?
I wanted to understand what questions are generated while calculating answer_relevancy, I  cloned and modified to log the llm output

@praveenck06 and @un-certainty thanks for your feedback here. have actually ow built something to solve this and I'm attaching the screenshort here

here with the help of langchain's langsmith (or any tracing tool like langfuse) you can now see the traces of each metric more info https://docs.ragas.io/en/latest/howtos/applications/tracing.html
let us know if this works

@praveenck06 and @un-certainty thanks for your feedback here. have actually ow built something to solve this and I'm attaching the screenshort here
here with the help of langchain's langsmith (or any tracing tool like langfuse) you can now see the traces of each metric more info https://docs.ragas.io/en/latest/howtos/applications/tracing.html
let us know if this works

This seems helpful. But I am still on LangSmith's waitlist now. How can I implement a simple tracer callback myself? The notion link in the doc is not accessible.

@praveenck06 and @un-certainty thanks for your feedback here. have actually ow built something to solve this and I'm attaching the screenshort here
here with the help of langchain's langsmith (or any tracing tool like langfuse) you can now see the traces of each metric more info https://docs.ragas.io/en/latest/howtos/applications/tracing.html
let us know if this works

This seems helpful. But I am still on LangSmith's waitlist now. How can I implement a simple tracer callback myself? The notion link in the doc is not accessible.

I guess you have to extend the langchain BaseTracer class   here and give your custom class to the ragas evaluate function

Hi @un-certainty  , as @grauvictor suggested you can add your own tracer or use something like wandbtracer which is available for all.


Anyone try sf64?

I was able to get https://github.com/sonicdcer/sf64 decompiled and working as per their instructions. Thought it would be a good place, since the build folder generates the .elf file and spits out the uncompressed file at the end.
I was able to compile this project pretty easy, but ran into a snag when it came to the elf file (go figure). Im new to all this so maybe im doing this wrong here.
End result of sf64:
starfox64.us.rev1.elf
starfox64.us.rev1.map
starfox64.us.rev1.uncompressed.z64
starfox64.us.rev1.z64
Created a simple toml:
[input]
entrypoint = 0x80000400
# Paths are relative to the location of this config file.
output_func_path = "RecompiledFuncs"
# relocatable_sections_path = "overlays.us.rev1.txt"
symbols_file_path = "starfox64.us.rev1.elf"
rom_file_path = "starfox64.us.rev1.uncompressed.z64"

Syntax error parsing toml: starfox64.us.rev1.elf (line 1, column 1):
Error while parsing root table: expected keys, tables, whitespace or comments, saw '\u007F'
Failed to load symbols file

"symbols_file_path" isn't for the elf, it's used for a file generated from it, in the MM recomp it's named "us.rev1.syms.toml" don't know how you actually make that file

Interesting, ill see if I can find something similar. I just ran through the instructions on the other project and it generated the files. make init basically just took over from there (they did an awesome job). Theres some source code they provide in the git repo.

I did, but it seems N64Recomp is not yet ready for it because it doesn't support overlapping VRAM addresses for overlays.

Thanks for getting that far. Dang ok. Well it was worth a try. Thanks again for the work on the project, I had no issues getting the uncompiled code to compile.
What did you do to get the elf/other files (toml) up and running?

Since this isn't really an "issue" anymore, im going to close this out.

cool to see it working with another game

Thanks for getting that far. Dang ok. Well it was worth a try. Thanks again for the work on the project, I had no issues getting the uncompiled code to compile.
What did you do to get the elf/other files (toml) up and running?
change "symbol_file_path" to "elf_path"

Contact me on discord and maybe i can show you guys what i've got so far, maybe you can pick it up from there.


vue-cli创建项目时出现问题

Version
3.1.1
Node and OS info
node 8.11.4/npm 6.4.1
Steps to reproduce
After I have installed '@vue/cli',
I create project by 'vue create hello' with default setting,
after complete ,there are only 3 files in the project

What is expected?
normal initial project
What is actually happening?
failed

Have you tried to upgrade vue cli to v3.2.1?

Have you tried to upgrade vue cli to v3.2.1?

Would you teach me how to upgrade ?

Have you tried to upgrade vue cli to v3.2.1?

Would you teach me how to upgrade ?

npm install -g @vuejs/vue-cli

When I run 'npm install -g @vuejs/vue-cli'
The response is:
npm ERR! code E404
npm ERR! 404 Not Found: @vuejs/vue-cli@latest
Mayby I miss something?

Ahhh sorry it's a typo due to GitHub auto completion……
It should be
npm install -g @vue/cli

I have run 'npm install -g @vue/cli',and I have notice the @vue/cli is 3.2.1
but when I run 'vue create hello',I can see the vue-cli version is steel 3.1.1

Please help me again.

I delete all files in @vue/cli,and rerun install and create a new project
but the situation is the same,there are only 3 files in the project.
What can I do?

Possible related https://github.com/vuejs/vue-cli/issues/3059

@oygrape Does changing NODE_ENV solve your problem?

Closing due to inactivity for more than 1 week. Please open a new issue with a reference to this one if you can follow up with more information.


Clean-Up Resources on Dev Cluster Delete

Which issue this PR addresses:
Need VSTS story/number associated with this. (I don't have access to VSTS yet)
What this PR does / why we need it:
This PR introduces functionality to clean up left-over resources on creation of a dev cluster.  It cleans up the following left-behind resources.

master/worker subnets
route tables
role assignment RBAC for cluster SP

Test plan for issue:
See below for testing in-action

Create two clusters
Delete one cluster using old method
Delete one cluster using new PR
See that new cluster deletion removes the subnets, route tables, and role assignments for the cluster service principal.

Old Method
Check these variables before delete
CLUSTER=bvesel

# az aro show -g v4-eastus -n $CLUSTER --query servicePrincipalProfile.clientId
APP_ID=76f37f3a-785a-40a9-85c0-b8f9900e33d3

# az ad sp list --all --filter "appId eq '${APP_ID}'" --query [].objectId
SP_OBJ_ID=5a0f5697-a8bc-49b1-8e2d-15259e9b0d45

After Deleting Cluster
Check subnets
# Master subnet
$ az network vnet subnet show -g v4-eastus --vnet-name dev-vnet -n $CLUSTER-master -o table
AddressPrefix    Name           PrivateEndpointNetworkPolicies    PrivateLinkServiceNetworkPolicies    ProvisioningState    ResourceGroup
---------------  -------------  --------------------------------  -----------------------------------  -------------------  ---------------
<IP_ADDRESS>/24   bvesel-master  Enabled                           Disabled                             Succeeded            v4-eastus

# Worker subnet
$ az network vnet subnet show -g v4-eastus --vnet-name dev-vnet -n $CLUSTER-worker -o table
AddressPrefix    Name           PrivateEndpointNetworkPolicies    PrivateLinkServiceNetworkPolicies    ProvisioningState    ResourceGroup
---------------  -------------  --------------------------------  -----------------------------------  -------------------  ---------------
<IP_ADDRESS>/24   bvesel-worker  Enabled                           Enabled                              Succeeded            v4-eastus

Check route tables
$ az network route-table show -g v4-eastus -n $CLUSTER-rt -o table
DisableBgpRoutePropagation    Location    Name       ProvisioningState    ResourceGroup
----------------------------  ----------  ---------  -------------------  ---------------
False                         eastus      bvesel-rt  Succeeded            v4-eastus

Check deployment
$ az deployment group show -g v4-eastus -n $CLUSTER -o table
Name    ResourceGroup    State      Timestamp                         Mode
------  ---------------  ---------  --------------------------------  -----------
bvesel  v4-eastus        Succeeded  2020-11-10T18:00:28.320499+00:00  Incremental

Check role assignments
# az role assignment list doesn't allow for filtering
$ az role assignment list -o json --all | jq -r --arg ID "$SP_OBJ_ID" '.[] | select(.principalId == $ID) | .name'
cb90a3d2-b1ef-5efe-b6c3-a4602297de3b
ca432dd5-f919-5570-ad3c-528027a4868b

New Implementation/Method
Check these variables before delete
CLUSTER=bvesel-dev

# az aro show -g v4-eastus -n $CLUSTER --query servicePrincipalProfile.clientId
APP_ID=b309e41a-8b54-450b-a3c5-8cd325fd488a

# az ad sp list --all --filter "appId eq '${APP_ID}'" --query [].objectId
SP_OBJ_ID=ee529d36-d761-4914-b7f5-20b6623c22e2

After Deleting Cluster
Check subnets
# Master subnet
$ az network vnet subnet show -g v4-eastus --vnet-name dev-vnet -n $CLUSTER-master -o table
ResourceNotFoundError

# Worker subnet
$ az network vnet subnet show -g v4-eastus --vnet-name dev-vnet -n $CLUSTER-worker -o table
ResourceNotFoundError

Check route tables
$ az network route-table show -g v4-eastus -n $CLUSTER-rt -o table
ResourceNotFoundError

Check deployment
$ az deployment group show -g v4-eastus -n $CLUSTER -o table
ResourceNotFoundError: Deployment 'bvesel-dev' could not be found.

Check role assignments
# az role assignment list doesn't allow for filtering
$ az role assignment list -o json --all | jq -r --arg ID "$SP_OBJ_ID" '.[] | select(.principalId == $ID) | .name'

Is there any documentation that needs to be updated for this PR?
no - tech debt resource clean-up

@jim-minter changes requested were completed with exception of this suggested change as it does not return a Future.

@mjudeikis if you merge this before I do please squash (@bennerv in the future for straightforward work please squash commits up front as a rule)

/azp run CI

/azp run E2E

@bennerv please re-run make generate and push

/azp run CI

/azp run E2E

/azp run E2E


bug: codeQL advanced vs basic

CodeQL analyses from advanced configurations cannot be processed when the default setup is enabled

Custom config removed.  Letting GH handle this!


docs: Improve grammar/wording for cargo owner

While reading through the docs, this section broke my concentration even though the functionality's purpose is fairly obvious, because of a grammatical agreement problem and some redundant/wordy terms. I hope this is an improvement.
A couple of other minor changes:

"Limitations" sound like things Cargo is incapable of doing. The points here are conscious decisions, so calling them "restrictions" seemed more appropriate to me.
TOML's source is linked to on the FAQ page, but I'm pretty likely to land directly on the Configuration page from a search, so a direct link from there seemed helpful.

r? @steveklabnik for docs.

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @steveklabnik (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. The way Github handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see CONTRIBUTING.md for more information.

@bors: r+ 25062e2

:hourglass: Testing commit 25062e2 with merge cc6e2c6...

Thanks!

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-32, cargo-win-64


Data populating incorrectly in outputs

This was an issue that was flagged last year and I thought was fixed but it seems that data is still populating incorrectly in the outputs. Using the Query Builder, I filtered for USAID activities and used the Activity output format. In this output, more than 300 rows were filled with random data -- as you can see in the screenshot.
As a user, this makes me question whether any of the data is populating correctly in the outputs.

Please send details on you query. It is very likely that you need to import CSV data as per guideline. In the meantime, let us know how your query is formatted. Thanks.

This is the query: https://iatidatastore.iatistandard.org/search/activity?q=reporting_org_ref:(US-GOV-1)&wt=csv&rows=40631
Reporting Organization = US-GOV-1; no other filters applied; Output format = Activity

Hi @sarahshamiso did you the downloaded file this directly (in what application may I ask) and directly open or import this?

Unable to reproduce this. Just downloaded that full CSV set (152MB) and opened directly into Libreoffice. Not an issue. Could you please download again, zip that downloaded file and provide access to that zip file? Thanks.

Downloaded directly and opened in Excel. The full file is too large to upload even when zipped so I'm attached the 50 activity output.
USAID activities_DS QB_26 Feb 2021_50.zip

Any update on this?
Seems this is an issue in every output.
Today I did this query: https://iatidatastore.iatistandard.org/search/activity?q=(recipient_country_code:(NG) OR transaction_recipient_country_code:(NG)) AND (humanitarian:(1) OR transaction_humanitarian:(1))&wt=csv&rows=1909
Based on the results, there should be 1909 activities, but there are 2214 rows, meaning that there are more than 300 extra rows populated with random data -- mostly numbers, dates, and codes.
I am pulling this for a user so will manually remove these rows but obviously this issue diminishes confidence in the output overall. Any updates/plans for fixing this would be appreciated (and if I've missed the resolution posted somewhere else please let me know!).
Nigeria humanitarian activities_DS_10 March 2021.xlsx

This is a common occurrence when directly opening a CSV file from the QB in excel. This is the most common way non and semi-technical users access the data. The data needs to be accessible for them.
However, I haven't encountered the problem when importing the XML from the browser into excel.

Works when importing.


Running brew update results in process hang / freeze

brew doctor output
Your system is ready to brew.

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 3.6.12-22-gd98de74
ORIGIN: https://github.com/Homebrew/brew
HEAD: d98de7438a9d6efb8049d0f1d59109b98f7a1d7b
Last commit: 29 minutes ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 3b2af9221dda2be65b3319f2e066875de4c7b734
Core tap last commit: 2 weeks ago
Core tap branch: master
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 14.0.0 build 1400
Git: 2.38.1 => /opt/homebrew/bin/git
Curl: 7.84.0 => /usr/bin/curl
macOS: 13.0.1-arm64
CLT: <IP_ADDRESS>.1.1666437224
Xcode: 14.1
Rosetta 2: false

What were you trying to do (and why)?
I was trying to update brew with brew update
What happened (include all command output)?
While trying to run brew update, the system hanged.
I then ran brew update -d to run in debug mode and noticed that it hung on the following logs:
rm -f /opt/homebrew/.git/TMP_FETCH_FAILURES

What did you expect to happen?
I expected brew to update
Step-by-step reproduction instructions (by running brew commands)
> brew update
> brew update -d

Same issue. adding my config here in case it helps:
HOMEBREW_VERSION: 3.6.3
ORIGIN: https://github.com/Homebrew/brew
HEAD: d5b6b068c15a8df60f0f5e34a4ca80dcf82c48e3
Last commit: 9 weeks ago
Core tap ORIGIN: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 018dea9ea239093f4b613c9b7aaf5339a9224109
Core tap last commit: 9 weeks ago
Core tap branch: master
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 6
Homebrew Ruby: 2.6.8 => /usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.8_1/bin/ruby
CPU: hexa-core 64-bit kabylake
Clang: 14.0.0 build 1400
Git: 2.37.3 => /usr/local/bin/git
Curl: 7.79.1 => /usr/bin/curl
macOS: 12.6-x86_64
CLT: <IP_ADDRESS>.1.1666437224
Xcode: 14.1

Running brew update-reset before brew update fixed this for me.

Running brew update-reset before brew update fixed this for me.
This also fixed it for me 🎉

Same issue here, but brew update-reset is hanging on homebrew-core for me too...

When you say "hanging"/"freezing" here: how long are you waiting? Is your internet connection (and specifically: connection to GitHub) otherwise stable/fast?

When you say "hanging"/"freezing" here: how long are you waiting?

After waiting for at least 5 minutes, I've always killed the process, so I haven't seen how far the hanging/freezing lasts.

Is your internet connection (and specifically: connection to GitHub) otherwise stable/fast?

Yes. GitHub connection is fine and internet speeds at 100mb/s.

Running brew update-reset before brew update fixed this for me.
As mentioned above, this was what resolved it for me. It resolved quickly as well.

We've seen some performance regressions recently with fetching and pushing to homebrew-core, which I assume is the same issue described here.
It's not consistent - it sometimes takes the usual time but sometimes can hang for a long time.
It sounds like something on GitHub's side in any case. I'm not sure if it's some partially rolled out change or what.

Running into this issue as well on an initial fresh install, with no indication of how to fix.

Running into this issue as well on an initial fresh install, with no indication of how to fix.

There's nothing we can really do to fix. We're not GitHub. We don't control your connection to GitHub.

I'm also getting an error on fresh install:
stevenolsen@MacBook-Air github % /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

==> Checking for `sudo` access (which may request your password)...
Password:
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
/opt/homebrew/share/zsh/site-functions/_brew
/opt/homebrew/etc/bash_completion.d/brew
/opt/homebrew

Press RETURN/ENTER to continue or any other key to abort:
==> /usr/bin/sudo /usr/sbin/chown -R stevenolsen:admin /opt/homebrew
==> Downloading and installing Homebrew...
HEAD is now at aea140c04 Merge pull request #14191 from Homebrew/sponsors-maintainers-man-completions
error: Not a valid ref: refs/remotes/origin/master
fatal: ambiguous argument 'refs/remotes/origin/master': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
error: RPC failed; curl 56 LibreSSL SSL_read: error:02FFF036:system library:func(4095):Connection reset by peer, errno 54
error: 5149 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
Error: Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-core failed!
fatal: 'origin/master' is not a commit and a branch 'master' cannot be created from it
fatal: invalid upstream 'origin/master'
Failed during: /opt/homebrew/bin/brew update --force --quiet

Brand new mac book air 2020 M1, trying to set up.

Running git status in /usr/local/Homebrew previously showed On branch stable. It appears there is no longer a stable branch on this repo.
After running brew update-reset, as suggested by @trusche, git status showed On branch master and brew update started working again for me.

For issues with initial installs, refer to https://github.com/orgs/Homebrew/discussions/666. Initial install does take several minutes and we're aware some networking setups (ISPs, proxies, etc.) have issues with that (e.g. Virgin Media).
This issue is mostly about brew update being suddenly being slow on existing install, which is an issue I've seen less today so it might be fixed.

Getting the same issue. Running brew update just hangs (5 mins at least). Ran Brew update-reset also had a hang when Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-core... but it did (after several mins resolve and proceed normally. Tested network connections between my local computer and host and am able to connect @ 1.1Gbps with no packet loss. Could still be on GitHub side but just thought I'd share my experience. Snippet of the update-reset below with the slow step bolded.

DTassara@Gauss ~ % brew update-reset
==> Fetching /opt/homebrew...
remote: Enumerating objects: 104, done.
remote: Counting objects: 100% (76/76), done.
remote: Total 104 (delta 76), reused 76 (delta 76), pack-reused 28
Receiving objects: 100% (104/104), 65.19 KiB | 10.86 MiB/s, done.
Resolving deltas: 100% (82/82), completed with 56 local objects.
From https://github.com/Homebrew/brew
 * [new branch]          dependabot/bundler/Library/Homebrew/rubocop-1.38.0 -> origin/dependabot/bundler/Library/Homebrew/rubocop-1.38.0
 * [new branch]          dependabot/bundler/Library/Homebrew/rubocop-ast-1.24.0 -> origin/dependabot/bundler/Library/Homebrew/rubocop-ast-1.24.0
 * [new branch]          less-agressive-core-tap -> origin/less-agressive-core-tap

==> Resetting /opt/homebrew...
branch 'master' set up to track 'origin/master'.
Switched to and reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-cask...

==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-cask...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'
Your branch is up to date with 'origin/master'.

==> Fetching /opt/homebrew/Library/Taps/homebrew/homebrew-core... Very slow at this step >5 mins
remote: Enumerating objects: 25621, done.
remote: Counting objects: 100% (11790/11790), done.
remote: Compressing objects: 100% (229/229), done.
remote: Total 25621 (delta 11572), reused 11773 (delta 11561), pack-reused 13831
Receiving objects: 100% (25621/25621), 10.92 MiB | 28.75 MiB/s, done.
Resolving deltas: 100% (19071/19071), completed with 4173 local objects.
From https://github.com/Homebrew/homebrew-core
   82d49a08630..f0312b42414  master       -> origin/master
 * [new branch]              ubuntu-18.04 -> origin/ubuntu-18.04

==> Resetting /opt/homebrew/Library/Taps/homebrew/homebrew-core...
branch 'master' set up to track 'origin/master'.
Reset branch 'master'

Not 100% sure if this is related but I had very slow installs (setup a new mac so installed a bunch). Eventually I figured out that this is somehow apparently related to ipv6. I copied a curl command from debug output and ran it manually with -v and noticed that sometimes it resolved to an v4 and sometimes to an v6 address.
When using v6 it's very slow for some reason. Sometimes it hangs just a few seconds, sometimes 5 minutes until it times out: https://gist.github.com/2called-chaos/93ff56a9162e90becad31b36273c4b41#file-gistfile1-txt-L9
Since I couldn't find a way to make brew append -4 to curl commands I disabled v6 in network settings to install my stuff without getting mad.

Nothing we can do about this. If you'd like to help beta-test export HOMEBREW_INSTALL_FROM_API=1 then that will speed things up.


chore: ignore axios proxy support

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Minimise the app to the Control Centre

Is your feature request related to a problem? Please describe.
Would be great to minimise the app to the Control Centre (tray).
Describe the solution you'd like
Maybe a setting to allow minimise the app to the Control Centre.
Describe alternatives you've considered
I think it's strait forward description, why we do need an alternative.
Additional context

That's the menu bar, not the control center (which can't show third-party apps).
Planned, duplicate of #14

Menu bar app, quick actions, and hiding from Dock have been added in v0.11.0.

Thank you @kdrag0n !


[Feature] Add the Sqrt(X) gate

Related issue #194

Hey, I push code into this branch: https://github.com/pasqal-io/qadence/tree/SX_gate


Incorrect type deduced for first element of tuple after reversing it.

The following typescript program gives no warning or errors, but crashes at runtime. Typescript incorrectly thinks that p[0] is a string after reversing the tuple, but it is a number:
const p: [ string, number ] = [ "x", 1 ];
p.reverse();
p[0].toUpperCase();

Playground: https://www.typescriptlang.org/play?#code/MYewdgzgLgBADgLhgbRtATgSzAcwDQxgCuAtgEYCm6MAujALwowBEAHswQIy0DcAUHAB06CgDcqECgAoAlPzjIADDUFQQAVThwqAYQCGk2fyA

You forgot to fill out the issue template.
It's a design limitation. Duplicate of #52375.


Should the receiver concept require that move-construction is nothrow?

The receiver concept as currently defined requires that the type is move_constructible but does not require that the move-constructor is noexcept.
For algorithms like let_value() that chain together multiple senders and need to call connect() after start() as been called, it can be difficult to accurately compute the set of completion-signatures since we cannot know whether or not the connect() method will be noexcept until we have a receiver, and the connect() method will generally need to be conditionally noexcept based on the whether or not the receiver is nothrow move-constructible.
If we require the receiver concept to be nothrow move constructible then we can remove some of the dependence of connect()'s noexceptness on the receiver type.
However, this still leaves open the question of how to query whether connect() on a child sender will be noexcept before we know what receiver we are going to give it and therefore what overload we will call.
One option would be to query noexcept(stdexec::connect(sndr, archetype_receiver_with_env<Env>>{})) and require that the answer be the same for any receiver that has the same Env type.
Another option  would be to add another query, similar to get_completion_signatures() on the sender, to ask if it's connect() operation is noexcept or not (assuming it is not dependent on the receiver type and only dependent on the env type).

Marking P0 as this is something we cannot change later.
Related to #247

Addressed in the paper: "P3388: When Do You Know connect Doesn't Throw?" (Robert Leahy)


Q: Profiler for OpenCL / ROCm ?

I would like to obtain insight into the performance of an OpenCL app running on ROCm. Is there a GPU profiler that I could use? (that works with ROCm 1.8.2, and OpenCL).
I'm thinking about information such as:

occupancy problems
slow or stalled instructions
cache L1/L2 hit rate etc
bank conflicts (global or LDS)
etc

Hi @preda
We are planning on releasing a ROCm profiling utility as part of the ROCm 1.9 release.

Hi @preda
We have released the source code for rocprofiler, a library and tool that will allow you to get access to the hardware performance counters in AMD GPUs. This should be included as part of ROCm 1.9, but if you would like to try it out on your current installation, you can get it from https://github.com/ROCmSoftwarePlatform/rocprofiler
To build it on ROCm 1.8.x, you will need to add in an environment variable change. So change cmake -DCMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa .. to CMAKE_CURR_API=1 CMAKE_PREFIX_PATH=/opt/rocm/lib:/opt/rocm/include/hsa cmake ..
At that point, when you set the environment variables here, you can run HIP, HCC, or OpenCL applications and rocprofiler will gather the performance counters requested in your input.xml (set with ROCP_INPUT). The metrics that you can add into this XML file are defined in the metrics.xml (set with ROCP_METRICS). You'll note that our default metrics.xml is a series of formulae that calculate higher-level performance metrics based off hardware counters defined in gfx_metrics.xml.
gfx_metrics.xml uses the same numbering (which hardware block and which event in that block) as described in the various "PublicCounterNames" files in GPUPerfAPI. For example, this file for gfx9 shows all of the hardware blocks and their counter numbers. Only some of these counters have been "made public" by naming them. and I believe most of the named counters in rocprofiler are the same as GPA.
There is also a helper scripts described here that should make it easier to run all of this.

@jlgreathouse what is the difference between the new profiler and the existing rcprof?

@jlgreathouse  thanks for making available rocprofiler.
I could build it successfully. I tried to use it, but it seems a bit too low-level for me.
For running, I tried with rpl_run.sh, but I couldn't get the log with it (my error, for sure).
I could run with build/run.sh. This produced a file RESULTS/results.txt, which seems correct, but too low-level for me to interpret.
Some suggestions, maybe somebody knowledgeable could write an article about the perf counters, enumerating the most notable counters with examples. Maybe provide some default .xml lists of counters, and a way to post-process results.txt into meaningful aggregates. Maybe some "common issues", such as: how to diagnose LDS bank conflicts. How to diagnose global mem bank conflicts. How to diagnose low occupancy caused by X. etc.
And a walk-through realistic example of using the profiler to find some non-obvious (new) information about an OpenCL kernel, and maybe using that to fix the performance problem, would be nice.
Thank you, and keep up the good work!

(In particular, my use case is this: I have some OpenCL code which is very well tuned already. I know how much time every kernel takes, I measured and optimized "to death" (but without a profiler). I would like to use a tool (the profiler) that would allow me to identify if there's anything that I missed in my optimization, some approach that would allow me to improve perf a bit more.)

Hi @masahi
rcprof is a higher-level tool that an gather hardware performance counters, API traces, kernel occupancy information, etc. on AMD GPUs. At its heard, rcprof was the "gathering data about GPU workloads" heard of AMD's CodeXL tool. It was originally called sprofile back in the day (in case you ever worked with CodeXL from the command line). You can take the outputs from rcprof and put them into the CodeXL visualization engine, for example, which may help you find bottlenecks in your application in a visual manner. The outputs are all plaintext as well (e.g. CSV files for performance counters, ATP files for API traces).
rcprof can be used to gather this information from OpenCL applications and HSA-style applications on top of ROCm. If you tried rcprof on ROCm in before 2018, OpenCL counters were not available -- they work now, so have it. :)  The support for HSA-style programming languages (HIP, HCC) uses a somewhat older profiling path (there may be a few bugs), but it should also work.
rocprofiler is a lower-level mechanism specifically built for ROCm to get access to performance counters (activity tracing can be done with roctracer). It is at a lower level than rcprof, but its goal is to replace some of the underlying plumbing that tools like rcprof use to gather performance counter data on the ROCm platform. (For instance, I noted above that HSA-style languages use an older profiling path; rocprofiler is meant to replace this).
In the medium term, we are looking to update rcprof to interface with rocprofiler to increase the robustness of our performance monitoring solutions on the ROCm software stack. As it stands, you might try using both to see which works better for your needs.

Hi @preda
Thank you for testing rocprofiler and for your feedback. If you could show me the rpl_run.sh line that you ran, I could see if the problem is on our end. :)
I agree that we could do with some better documentation about what these counters actually signify and how to use them to optimize your application. I will posit, however, that if you already have well-tuned kernels, then you're going to have to learn about more low-level details to be able to fix your problems. :)
Towards this end, we are currentyl working to put together an updated tutorial on the deep innards of AMD GPUs. We will be presenting this first at this year's Internatinoal Symposium on Microarchitecture. My goal is to cover our GCN microarchitecture over the course of a few hours. Later in the tutorial, I'd like to walk through how you can use this knowledge to optimize some machine learning kernels.
Hopefully this tutorial (and the slides from it)would be a good starting point for later writing a deeper description of what our hardware performance counters mean, how they relate to the microarchitecture, and how you can use that knowledge to optimize your own kernels.
As for looking into your kernel, we are also exploring some hardware performance monitoring mechanisms that may help you dig into your kernel's performance pain points. Stay tuned. :)

@jlgreathouse Thanks very much for the detailed answer. I have used rcprof and CodeXL on rocm environment before. It worked, but I wanted a workflow where everything can be done on command line (like nvprof). I'll definitely try the new profiler with my kernels. (I use rocm and llvm's AMDGPU backend directly to generate and run HSA code. I am one of the author of this blog.

Hi @masahi @preda and anyone else who is following this thread,
With the release of ROCm 2.0 and RCP 5.6, we have now integrated RCP (a.k.a. rcprof discussed earlier in this thread) to work by using rocprofiler. This integration should have cleared up a number of the previous issues you may have had with profiling GPU kernels on the ROCm software stack. You should be able to install it by installing the rocm-profiler package on Ubuntu, CentOS, and RHEL.
Its outputs can be visualized using CodeXL, but you can do basically all of the rcprof profiling command-line only. (To be honest, I personally have done almost all my sprofile/rcprof work command-line only. :)  )

@jlgreathouse Can I view kernel-by-kernel breakdown of execution time using command line tool only? I have used CodeXL before, but I want workflows similar to nvprof with --print-gpu-summary option (without using GUI app).

Hi @masahi
This part of the RCP documentation may cover what you're looking for. In particular, the following command will take an OpenCL API trace and generate a summary of all of those calls:
rcprof ---apitrace --tracesummary "/path/to/app.exe" --device gpu

If you're using an HSA-based application (e.g. an application programmed in HCC, HIP, ATMI, ROCm-Numba), you would use:
rcprof --hsatrace --tracesummary "/path/to/app.exe" rcprof --hsaaqlpackettrace --tracesummary "/path/to/app.exe"

Collecting these API traces will produce .atp files, and RCP can create summaries of them with:
rcprof --atpfile "/path/to/output.atp" --tracesummary

That said, IIRC (I'm at home and don't have a test system on hand), these will be HTML summaries. If you would like to generate your own custom summary of the .atp files, you can do this by parsing the file with any of your own favorite command line utilities. The .atp file format is documented here:
https://radeon-compute-profiler-rcp.readthedocs.io/en/latest/outputfiles.html#application-trace-output-session-name-atp

@jlgreathouse thanks, I'll try rolling my own parser.


Add strict aggregation from sbt-doge to SBT 1.0

I'm trying to migrate from sbt-doge to SBT 1.0, but I can't find a way to replace strict aggregation (+++). Using it seems to be the only way to build a project for a specific version (a thing usually done in Travis builds) in typical setups of a root project aggregating all sub-projects.
I think that the default behavior of ++ should be to do strict aggregation as I find it difficult to imagine an useful cross-project aggregation project otherwise. For compatibility purposes, one way to do this would be to add a strictAggregation sbt boolean setting that changed the behavior of the operator.
This issue follows from https://github.com/sbt/sbt-doge/issues/18.
cc @eed3si9n @jroper @dwijnand

If we are not already doing that, I think it makes sense for ++ 2.11.11 compile to do strict aggregation (aggregate across only the subprojects that supports Scala version 2.11.11).
To get the 0.13 behavior, people could use ++ 2.11.11! compile
At the same time, I've been caught off guard by the new ++2.11.11 not switching to the desired Scala version, so I think we might want to make the logging more verbose around ++.

Sorry @eed3si9n, I should have provided an example to better explain the scenario. Consider the following build.sbt:
lazy val core = (project in file("core"))
  .settings(
    scalaVersion := "2.12.4",
    crossScalaVersions := Seq("2.11.11", "2.12.4"))

// some module with a 2.12-only library dependency
lazy val module = (project in file("module"))
  .dependsOn(core)
  .settings(
    scalaVersion := "2.12.4",
    crossScalaVersions := Seq("2.12.4"))

The output for ++2.11.11 compile in this scenario is:
(sbt) sbt-test ❯ ++2.11.11 compile
[info] Setting Scala version to 2.11.11 on 1 projects.
[info] Excluded 2 projects, run ++ 2.11.11 -v for more details.
[info] Reapplying settings...
[info] Set current project to sbt-test (in build file:/Users/rui/Downloads/sbt-test/)
[info] Updating module
[info] Resolved module dependencies
[error] coursier.ResolutionException: Encountered 1 error(s) in dependency resolution:
[error]     core:core_2.12:0.1-SNAPSHOT:
[error]         not found:
[error]             /Users/rui/.ivy2/local/core/core_2.12/0.1-SNAPSHOT/ivys/ivy.xml
[error]             https://repo1.maven.org/maven2/core/core_2.12/0.1-SNAPSHOT/core_2.12-0.1-SNAPSHOT.pom
[error] (module/*:coursierResolutions) coursier.ResolutionException: Encountered 1 error(s) in dependency resolution:
[error]     core:core_2.12:0.1-SNAPSHOT:
[error]         not found:
[error]             /Users/rui/.ivy2/local/core/core_2.12/0.1-SNAPSHOT/ivys/ivy.xml
[error]             https://repo1.maven.org/maven2/core/core_2.12/0.1-SNAPSHOT/core_2.12-0.1-SNAPSHOT.pom

++ 2.11.11! compile isn't adequate in this scenario because it would force module to use Scala 2.11.11 when it has an incompatible dependency. sbt-doge solves this issue with its strict aggregation operator (+++), which removes from aggregation projects the subprojects without a compatible version in crossScalaVersions.
The real-life use case for this is to write things like this in Travis builds. Travis provides a way to list Scala versions to be tested and I would like to keep using it instead of merging them all and doing +test in a single build.

I think we are on the same page. I wrote sbt-doge because I thought +compile should first iterate over the Scala versions, and then aggregate only the subprojects that support a particular Scala version.
Similar argument can be made for ++2.11.11 compile, and in your example skip the aggregation of "module" subproject. To put it in terms of steps, problem, expectation.
steps
lazy val core = (project in file("core"))
  .settings(
    scalaVersion := "2.12.4",
    crossScalaVersions := Seq("2.11.11", "2.12.4"))

// some module with a 2.12-only library dependency
lazy val module = (project in file("module"))
  .dependsOn(core)
  .settings(
    scalaVersion := "2.12.4",
    crossScalaVersions := Seq("2.12.4"))

Run ++ 2.11.11 compile.

problem
The build fails:
(sbt) sbt-test ❯ ++2.11.11 compile
[info] Setting Scala version to 2.11.11 on 1 projects.
[info] Excluded 2 projects, run ++ 2.11.11 -v for more details.
[info] Reapplying settings...
[info] Set current project to sbt-test (in build file:/Users/rui/Downloads/sbt-test/)
[info] Updating module
[info] Resolved module dependencies
[error] coursier.ResolutionException: Encountered 1 error(s) in dependency resolution:
[error]     core:core_2.12:0.1-SNAPSHOT:
[error]         not found:
[error]             /Users/rui/.ivy2/local/core/core_2.12/0.1-SNAPSHOT/ivys/ivy.xml
[error]             https://repo1.maven.org/maven2/core/core_2.12/0.1-SNAPSHOT/core_2.12-0.1-SNAPSHOT.pom
[error] (module/*:coursierResolutions) coursier.ResolutionException: Encountered 1 error(s) in dependency resolution:
[error]     core:core_2.12:0.1-SNAPSHOT:
[error]         not found:
[error]             /Users/rui/.ivy2/local/core/core_2.12/0.1-SNAPSHOT/ivys/ivy.xml
[error]             https://repo1.maven.org/maven2/core/core_2.12/0.1-SNAPSHOT/core_2.12-0.1-SNAPSHOT.pom

expectation
Whenever ++ <scala-version> <command> is invoked with command,

Remember the current Scala versions across all subprojects.
Set Scala version of the subprojects to the given <scala-version> only if it's listed in crossScalaVersions.
Run <command> only on the subprojects that supports <scala-version>.
Reset all subprojects' Scala versions back to original.

Hi! It's been 4 months since the last update on this. Is there any plan to add this feature to SBT in a near future? The pureconfig build is still stuck on SBT 0.13 because of this.
I'm willing to try to implement this feature and submit a PR if this is not a priority for the SBT team, but I'd need some guidance on where and how this could be implemented.

I'm willing to try to implement this feature and submit a PR if this is not a priority for the SBT team, but I'd need some guidance on where and how this could be implemented.

It's not a priority for sbt core devs. We'd be happy to assist you in this.
A good starting point is https://github.com/sbt/sbt/pull/2613 where doge gets merged into sbt 1. You can see which code does what and how it should be tested.

If you have any other questions feel free to pop into https://gitter.im/sbt/sbt-contrib

Thanks @eed3si9n! I'll give it a try when I find the time for it.

@eed3si9n just to confirm one thing: in your specification above, you mentioned "4. Reset all subprojects' Scala versions back to original". However, ++ currently doesn't work this way - it sets the Scala version to the one specified (even on projects without it listed on their crossScalaVersions) and leaves that version set after execution. Is it ok to change the behavior of ++ for future versions?
sbt-doge leaves this operator working as it was in SBT 0.13 and adds a new +++ command that does what you described. I'd rather see ++ working as you describe, I'm just worried about backward compatibility.

I guess we can interpret ++ <scala-version> as a special case of ++ <scala-version> <command> where <command> is shell. Not that I am suggesting we actually call shell command, but theoretically would that make sense? Similar to calling sbt without commands.

That seems sound, semantically speaking. In SBT shell environments the difference between the two is clear, while both forms can still be used from a Unix shell by calling either sbt "++ <scala-version>" <command> or sbt "++ <scala-version> <command>". If you think it's ok to break compatibility for scripts expecting ++ to always persist a Scala version, I think I can implement this.

If you think it's ok to break compatibility for scripts expecting ++ to always persist a Scala version

This is a new behavior for ++, so it will not break runtime behavior of existing builds right?
Am I missing something?

I think it does. In the previous example, with SBT 1.1.1:
(sbt) core ❯ show scalaVersion
[info] 2.12.4
(sbt) core ❯ ++ 2.11.11 compile
(...)
[success] Total time: 1 s, completed Mar 6, 2018 9:03:44 PM
(sbt) core ❯ show scalaVersion
[info] 2.11.11

If I understood correctly, after the change we're considering the last command should print "2.12.4". This should not be a common scenario in real scripts (as people typically write something like sbt ++$SCALA_VERSION <task1> <task2...>, but it can break some more contrived examples.

ok. It's been a while so I had forgotten that ++ takes <command> already.
I guess we should try to keep the compatibility, and change the scalaVersion afterwards then.

Ok! so, currently ++ <scala-version> <command> is equivalent to ; ++ <scala-version>; <command>, which is handy when running SBT commands directly through the command-line.
To implement strict aggregation in ++, I suppose I'll have to either:

modify the State to remove non-compatible projects from aggregations, making this "permanent" in the SBT shell unless I explicitly revert the changes afterwards;
expand <command> to something like all <project1>/<command> <project2>/<command> ... without touching the State.

What's your opinion on this? IMO, the second option seems more reasonable if the intention is to start distinguishing the two ways of writing the expression above, even though it's strange to have scalaVersion changing "permanently" but not the aggregation.

Definitely option 2. sbt is meant to work from the sbt shell, so removing subprojects would be bad.

Hi @eed3si9n, @ruippeixotog , so what are right now, in SBT 1.2.1, the equivalent commands for such and plz in sbt-doge?  I've been hoping this will get fixed for a long time, it sounds like it's now part of SBT itself which would allow us to upgrade a whole suite of SBT projects that have been waiting on this fix.
Could you please advise? Thank you in advance for your time!

@alexflav23 such test is +test and plz 2.12.8 test is ++ 2.12.8 test.

Hi @eed3si9n  @dwijnand This still doesn't work properly.
sbt:phantom> ++ 2.11.12  -v
[info] Setting Scala version to 2.11.12 on 9 projects.
[info] Switching Scala version on:
[info]     phantomStreams (2.10.6, 2.11.12, 2.12.8)
[info]     phantomJdk8 (2.10.6, 2.11.12, 2.12.8)
[info]     phantomMonix (2.10.6, 2.11.12, 2.12.8)
[info]     phantomDsl (2.10.6, 2.11.12, 2.12.8)
[info]     phantomFinagle (2.10.6, 2.11.12, 2.12.8)
[info]     phantomExample (2.11.12, 2.12.8)
[info]     phantomConnectors (2.10.6, 2.11.12, 2.12.8)
[info]     readme (2.11.12, 2.12.8)
[info]     phantomThrift (2.11.12, 2.12.8)
[info] Excluding projects:
[info]     phantomSbtPlugin (2.10.6)
[info]   * phantom (2.12.8)

And then when you try to compile, external logic that depends on the Scala version still breaks.
sbt:phantom> ++ 2.11.12 compile
[info] Setting Scala version to 2.11.12 on 9 projects.
[info] Excluded 2 projects, run ++ 2.11.12 -v for more details.
[info] Reapplying settings...
[info] Running under CI: false
[info] pgpPass defined in local environment: true
[info] Password longer than five characters: true
[info] Set current project to phantom (in build file:/Users/flavian/projects/oss/phantom/)
[info] Compiling 10 Scala sources to /Users/flavian/projects/oss/phantom/phantom-connectors/target/scala-2.11/classes ...
[error] 'implicits' is not a valid choice for '-Ywarn-unused'
[error] bad option: '-Ywarn-unused:implicits'
[error] (phantomConnectors / Compile / compileIncremental) Compilation failed
[error] Total time: 3 s, completed 16-Mar-2019 10:45:12

Here's an example of breaking version dependant logic.
val Scala212Options = Seq(
  "-Xlint:infer-any", // Warn when a type argument is inferred to be `Any`.
  "-Ypartial-unification", // Enable partial unification in type constructor inference,
  //"-Ywarn-extra-implicit", // Warn when more than one implicit parameter section is defined.
  "-Ywarn-unused:implicits", // Warn if an implicit parameter is unused.
  "-Ywarn-unused:imports", // Warn if an import selector is not referenced.
  "-Ywarn-unused:locals", // Warn if a local definition is unused.
  "-Ywarn-unused:params", // Warn if a value parameter is unused.
  "-Ywarn-unused:patvars", // Warn if a variable bound in a pattern is unused.
  "-Ywarn-unused:privates" // Warn if a private member is unused.
) ++ XLintOptions

val YWarnOptions = Seq(
  "-Ywarn-dead-code", // Warn when dead code is identified.
  "-Ywarn-inaccessible", // Warn about inaccessible types in method signatures.
  "-Ywarn-nullary-override", // Warn when non-nullary `def f()' overrides nullary `def f'.
  "-Ywarn-nullary-unit", // Warn when nullary methods return Unit.
  "-Ywarn-numeric-widen", // Warn when numerics are widened.
  "-Ywarn-value-discard" // Warn when non-Unit expression results are unused.
)

val scalacOptionsFn: String => Seq[String] = { s =>
  CrossVersion.partialVersion(s) match {
    case _ if Publishing.runningUnderCi => ScalacOptions
    case Some((_, minor)) if minor >= 12 => ScalacOptions ++ YWarnOptions ++ Scala212Options
    case _ => ScalacOptions ++ YWarnOptions
  }
}

Scala options could be disabled, but there's a lot of work going into picking the right dependency versions per Scala version, which completely breaks the entire setup.
Looks like this feature isn't complete, and it's not on par with what SBT doge used to offer at all. It would be really nice to fix this. Can I help with any more info? Not really sure how to structure the code to make SBT happy, because worst case I need to use different versions of dependencies based on the "current" Scala version in compilation.

How is scalacOptionsFn used?  While there are differences and some difficulties, by and large cross-building works well now.
One tip that Eugene's discovered greatly helps (to the point it might be a better default) is setting the scalaOptions of the root, aggregating project to Nil.  That seems to make exclusion work as desired.

Hi @dwijnand ,
Thanks for the prompt reply. It's used in build.sbt in root scope.
scalacOptions ++= scalacOptionsFn(scalaVersion.value)

lazy val Versions = new {
  val akka: String => String = {
    s => CrossVersion.partialVersion(s) match {
      case Some((_, minor)) if minor >= 11 && Publishing.isJdk8 => "2.4.14"
      case _ => "2.3.15"
    }
  }
}

And then later in the code:
libraryDependencies ++= Seq(
  "org.typesafe.akka" %% "akka-bla" % Versions.akka(scalaVersion.value)
)

Hi @dwijnand Tried your suggestion, that breaks macro compilation, or any other things you execute from root scope that need those compiler options.
What did work was setting crossScalaVersions on the root aggregating project, which I didn't have before in doge. Sounds like the evaluation scope may have now changed in 1.0 versus how the plugin used to work.

Yeah, sorry, crossScalaVersions is what I meant.

Hi @dwijnand , mind having a quick look here: https://travis-ci.org/outworkers/phantom/builds/510388707?
It's complaining it's missing a dependency on a 2.12 artefact while compiling a 2.10.6 run, which is really weird. Everything else however seems to work, oddly.

If you look it says it excludes 4 projects.  Setting the root project's crossScalaVersions to Nil should fix that (as you mentioned above).

@dwijnand  The root project thing doesn't help.

I think the next steps here are creating a minimised reproduction and reporting a new issue around it.

@dwijnand No need I think, the issue is obvious, and the project I'm referring too is OSS.
Let's look at a -v to see what gets excluded and included first.
sbt:phantom> ++2.10.6 -v
[info] Setting Scala version to 2.10.6 on 7 projects.
[info] Switching Scala version on:
[info]     phantomStreams (2.10.6, 2.11.12, 2.12.8)
[info]     phantomJdk8 (2.10.6, 2.11.12, 2.12.8)
[info]     phantomMonix (2.10.6, 2.11.12, 2.12.8)
[info]     phantomDsl (2.10.6, 2.11.12, 2.12.8)
[info]     phantomFinagle (2.10.6, 2.11.12, 2.12.8)
[info]     phantomConnectors (2.10.6, 2.11.12, 2.12.8)
[info]   * phantom (2.10.6, 2.11.12, 2.12.8)
[info] Excluding projects:
[info]     phantomSbtPlugin (2.12.8)
[info]     phantomExample (2.11.12, 2.12.8)
[info]     readme (2.11.12, 2.12.8)
[info]     phantomThrift (2.11.12, 2.12.8)

Here's the problem.  I'm launching sbt ++2.10.6 test from the terminal.
Flavians-MacBook-Pro-2:phantom flavian$ sbt ++2.10.6 test
[info] Loading settings for project global-plugins from idea.sbt ...
[info] Loading global plugins from /Users/flavian/.sbt/1.0/plugins
[info] Loading settings for project phantom-build from plugins.sbt ...
[info] Loading project definition from /Users/flavian/projects/oss/phantom/project
[info] Loading settings for project phantom from version.sbt,build.sbt ...
[info] Running under CI: false

The first error is compilation in one of the submodules. It should be included, but why would macros not get properly recompiled, I have no idea whatsoever, so something is wrong within SBT itself, considering with sbt-doge this has worked for years.
Now macros is one tricky thing usually, and I know the API for them is not super friendly. That being said the error is below, and the next error is the more interesting one.
[error] /Users/flavian/projects/oss/phantom/phantom-thrift/src/main/scala/com/outworkers/phantom/thrift/columns/Ops.scala:29:56: can't expand macros compiled by previous versions of Scala
[error]     Primitive.derive[T, String](hp.serializer.toString)(hp.serializer.fromString)
[error]                                                        ^
[error] one error found

Next up, it's trying to compile something that it has already marked as excluded, no idea why and how, so it's not actually filtering properly internally, for whatever reason.
[info] Compiling 10 Scala sources to /Users/flavian/projects/oss/phantom/phantom-connectors/target/scala-2.10/classes ...
[info] Updating phantomThrift...
[error] '-Xlint' does not accept multiple arguments
[error] bad option: '-Xlint:infer-any'
[warn] 	module not found: com.outworkers#phantom-dsl_2.12;2.38.0
[warn] ==== local: tried
[warn]   /Users/flavian/.ivy2/local/com.outworkers/phantom-dsl_2.12/2.38.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/outworkers/phantom-dsl_2.12/2.38.0/phantom-dsl_2.12-2.38.0.pom
[warn] ==== Twitter Repository: tried

The result is:
[info] Passed: Total 63, Failed 0, Errors 0, Passed 63
[error] (phantomThrift / Compile / compileIncremental) Compilation failed
[error] Total time: 106 s, completed 24-Mar-2019 14:42:57
Flavians-MacBook-Pro-2:phantom flavian$

Why is sbt ++2.10.6 test failing to compile a submodule which was never meant to be included? That's the weird problem here, and there's no dependency on that specific submodule anywhere else but the aggregate, and another sub-module which is not included in 2.10.6.
Bottom line, filtering what to include or not isn't actually working.


Failed to Consume API in powerapps which exported from API Management

Hi,
By following the tutorials below, I've successfully export my APIs to the power apps environment, and I can also see the API IntelliSense from the App Studio formula bar.

But when the API is invoked, I got the following DNS error:

As looked in to the network traffic, I see the host name to resolve is dol-demoapi-wus.azure-api.netundefined rather than dol-demoapi-wus.azure-api.net.
Can anyone help to take a look at this?
Many thanks in advance.
HTTP/1.1 500 Internal Server Error
Content-Length: 277
Content-Type: application/json
Access-Control-Allow-Origin: *
Access-Control-Expose-Headers: Content-Length
Date: Thu, 29 Oct 2020 02:33:19 GMT

{
  "error": {
    "code": 500,
    "message": "The remote name could not be resolved: 'dol-demoapi-wus.azure-api.netundefined'",
    "source": "asia-001.azure-apim.net",
    "path": "forward-request",
    "clientRequestId": "498ff3e6-dd3d-4cff-83b9-fccd637dfdef"
  }
}

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

ID: 83f8200f-95b3-42b0-9e95-f803e13d3952
Version Independent ID: f0fc9512-4abe-73de-bcf4-24fad32eea88
Content: Export APIs from Azure API Management to the Power Platform
Content Source: articles/api-management/export-api-power-platform.md
Service: api-management
GitHub Login: @miaojiang
Microsoft Alias: apimpm

Thanks for reporting the issue. Could you please open a support ticket?

Thanks @miaojiang for the reply.
Could you give me a guideline to open a support ticket?

Hello @dooriya, you can follow this documentation here to raise a support request. If you do not have a support plan enabled for your subscription you can raise your question on the Q&A platform. Thank you!

Hi @ChaitanyaNaykodi-MSFT My current support plan doesn't allow me to create a technical support. Is there any other way that I can connect to the support/dev team from Power Apps or API Management team through an MS internal channel?

Hello @dooriya, sorry about the delay. Can you please send an email to "AzCommunity[at]Microsoft[dot]com" so that I can enable a one-time free support ticket for you. Please include below mentioned details in your email.
Subject: Attn: Chaitanya
In email body please include your Subscription ID and a reference(URL) to this issue.
Thank you! Looking forward to your email, I will now proceed to close this issue out, please tag me in your reply if there any additional concerns.


Release 2023.11.0

Release notes

[ #2002 ] Add success message when page/event/location was automatically saved
[ #2107 ] Add todo dashboard
[ #2300 ] HIX value is no longer instantly outdated, if only some text was selected
[ #2360 ] Enable embedding of supported offers into pages
[ #2462 ] Fix error when deleting regions with multiple feedback
[ #2482 ] Hide permission section in page form during page creation to fix bug
[ #2495 ] Fix error in retrieving location coordinates
[ #2496 ] Fix error when activating a new account
[ #2517 ] Fix HIX block display when HIX-ignore checkbox is toggled
[ #2519 ] Fix event filtering by time

PRs that need to be merged before releasing a new version:

[x] https://github.com/digitalfabrik/integreat-cms/pull/2499
[x] https://github.com/digitalfabrik/integreat-cms/pull/2531
[x] https://github.com/digitalfabrik/integreat-cms/pull/2532
[x] #2535

Pull Request Review Guidelines

Hmm, something went wrong, the new dependencies cannot be installed on the cms-test :thinking:
                  Traceback (most recent call last):
                    File "/opt/integreat-cms/.venv/bin/integreat-cms-cli", line 52, in <module>
                      main()
                    File "/opt/integreat-cms/.venv/bin/integreat-cms-cli", line 48, in main
                      execute_from_command_line(sys.argv)
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
                      utility.execute()
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/core/management/__init__.py", line 395, in execute
                      django.setup()
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/__init__.py", line 24, in setup
                      apps.populate(settings.INSTALLED_APPS)
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/apps/registry.py", line 91, in populate
                      app_config = AppConfig.create(entry)
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/django/apps/config.py", line 124, in create
                      mod = import_module(mod_path)
                    File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
                      return _bootstrap._gcd_import(name[level:], package, level)
                    File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
                    File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
                    File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
                    File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
                    File "<frozen importlib._bootstrap_external>", line 790, in exec_module
                    File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/integreat_cms/deepl_api/apps.py", line 8, in <module>
                      from deepl import Translator
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/deepl/__init__.py", line 20, in <module>
                      from . import http_client  # noqa
                    File "/opt/integreat-cms/.venv/lib/python3.9/site-packages/deepl/http_client.py", line 17, in <module>
                      from packaging import version as packaging_version_module
                  ModuleNotFoundError: No module named 'packaging'

Hmm, although the deepl problem is resolved, loading times of the dashboard are still very long.
I'm afraid we have to fix the performance problems (#2536) before releasing a new version.


Can't load AppContainer, need appropriate loader

First of all thank you very much for bringing this component library together! It looks pretty cool 👍
I wanted to give it a go and test whether I'd be able to use it. To do so, I create a react app using create-react-app and create the smallest app.js possible
I am using node 9.4.0 and npm 5.6.0
import React from 'react'
import AppContainer from 'backoffice/AppContainer'

const App = () => (
  <AppContainer>
    Hello World!
  </AppContainer>
);

export default App;

The compilation step always return the following error message
./node_modules/backoffice/AppContainer/AppContainer.jsx
Module parse failed: Unexpected token (28:4)
You may need an appropriate loader to handle this file type.

In the README.md of backoffice it specifies that we need a transpiler for ES6 modules and JSX support, which create-react-app both provides.
I am a bit clueless as to what the next steps to debug this issue would be? Am I missing anything? Or does the README not include all the steps required to make this run?
Thanks in advance,
Germain

Hi @gsouquet,
lovely to hear, that you use this code.
This is currently an thing I have not fixed yet because I do not provide builded resources, I guess.
You can fix this for now by adding to webpack.config.js in modules.rules-Array:
{
  test: /node_modules\/backoffice\/.*\.jsx?$/,
  exclude: /node_modules\/backoffice\/(node_modules)/,
  use: {
    loader: 'babel-loader?babelrc',
  },
},

I will make sure to fix this asap.
Thank you for reporting it. Let me know if there is anything else.

Hi Hans,
Thanks for pointing me on the right direction. However I'm trying to use
this library on a configuration free environment (in this case
create-react-app).
I'd be happy to PR this improvement you're looking to work on. I'd just
like to hear your thoughts on what it needs to be done and I'll give it a
go.
Let me know,
Thanks,
Germain
On 5 Feb 2018 08:21, "Hans Christian Reinl"<EMAIL_ADDRESS>wrote:

Hi @gsouquet https://github.com/gsouquet,
lovely to hear, that you use this code.
This is currently an thing I have not fixed yet because I do not provide
builded resources, I guess.
You can fix this for now by adding to webpack.config.js in modules.rules
-Array:
{
test: /node_modules/backoffice/.*.jsx?$/,
exclude: /node_modules/backoffice/(node_modules)/,
use: {
loader: 'babel-loader?babelrc',
},
},
I will make sure to fix this asap.
Thank you for reporting it. Let me know if there is anything else.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/drublic/backoffice/issues/2#issuecomment-363011644,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAu_T9oeaOQUaWuKtTTRqO8Vf7tEmYSAks5tRrn0gaJpZM4R1hAz
.

@gsouquet Wow cool! That would be fantastic.
So here are my thoughts on how to implement it:

Build the sources using webpack via yarn
… into folder /dist
… on prepublish
Copy files that need to be available like package.json
Publish the folder /dist to npm

Did I miss something? What are your thoughts?

Hey @gsouquet,
did you have some time to look into this issue? Otherwise I will try to fix it soon. Let me know.

Hey Hans,
I was started playing around with it very quickly. I was planning to spend
more time on it during the weekend
On 13 Feb 2018 19:27, "Hans Christian Reinl"<EMAIL_ADDRESS>wrote:

Hey @gsouquet https://github.com/gsouquet,
did you have some time to look into this issue? Otherwise I will try to
fix it soon. Let me know.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/drublic/backoffice/issues/2#issuecomment-365376350,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAu_T44FnpXXjLtp9mwdUXpo33z2oi56ks5tUeIVgaJpZM4R1hAz
.

Cool! That works. Thank you :)
On Wed, 14 Feb 2018 at 09:27 Germain<EMAIL_ADDRESS>wrote:

Hey Hans,
I was started playing around with it very quickly. I was planning to spend
more time on it during the weekend
On 13 Feb 2018 19:27, "Hans Christian Reinl"<EMAIL_ADDRESS>wrote:

Hey @gsouquet https://github.com/gsouquet,
did you have some time to look into this issue? Otherwise I will try to
fix it soon. Let me know.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/drublic/backoffice/issues/2#issuecomment-365376350,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAu_T44FnpXXjLtp9mwdUXpo33z2oi56ks5tUeIVgaJpZM4R1hAz
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/drublic/backoffice/issues/2#issuecomment-365530455,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAeq1z_lu9gq4qaZOA1X-9J2LixMh54uks5tUpkBgaJpZM4R1hAz
.

--
Hans Christian Reinl
Köln - Deutschland
+49<PHONE_NUMBER>2
drublic.de
<EMAIL_ADDRESS>

Couldn't really get this to work just yet. But go ahead, I'm not sure if I will have time to look into that just now.
Sorry

@gsouquet Thanks for your hint anyway. I tried to put this request into code.


Flutter Framework

Another mobile ui framework. Flutter is owned by google.

Very much interested in this as well.

I'm excited to see this one! Add details to this ticket as you make progress 😄


Enable Gzip encoding in the ServiceHttpClient requests

Enable Gzip encoding in the ServiceHttpClient requests
Do not dispose HttpClient that is provided to ServiceHttpClient because it is external to it and can be a shared one. Dispose HttpClient only if it is created by ServiceHttpClient

Fantastic! Let me review this weekend and I'll merge/update/push new NuGets. Thank you!

Quick numbers for GET /services/data/v34.0/sobjects/Account/describe/
Without Gzip: Payload size is 85K, Average response time : 700ms
With Gzip encoding : Payload size is 4K, Average response time : 134ms
config: RAM 32 GB, 3.5GHz 6 core processor,1Gbps Ethernet

Wade,
Please add
_httpClient.DefaultRequestHeaders.AcceptEncoding.Clear(); before adding the gzip header to avoid adding the header multiple times.

Thanks again for the fantastic pull request! I've merged and will update the NuGets shortly.

Two notes:

I added the header.
Travis fails due to "The underlying implementation for System.IO.Compression.dll could not be loaded." The assembly is present. I'm looking into it.


Add compilation mode warning face

This updates the compilation mode regex so that warnings are colored properly,
making them easier to differentiate from errors.
Before:
https://i.imgur.com/mChGm3k.png
After:
https://i.imgur.com/hBXjGk0.png

r? @pnkfelix
(rust_highfive has picked a reviewer for you, use r? to override)

Hmm I've played with something like this in the past but I don't think I had gotten the updates to the numbers right when I tried it.
Let me give it a whirl to double-check that the overall UX (namely for jumping from error to error) remains the same -- a big problem we want to avoid is forcing a user to step through tons of warnings when the intention was to step directly from the last diagnostic to the next true error.

(I'm sorry that I haven't yet actually followed through on my promise to give this a whirl. Its still on my todo list.)

I gave this a quick whirl locally.
I would have thought that if I get both warnings and errors during a compilation (e.g. because I'm compiling multiple crates), I would see distinct increments to compilation-num-errors-found versus compilation-num-warnings-found.
But I am not seeing that here.
(Maybe that is for some reason not what you desired?)
I did see that we are at least flagging the warnings in the diagnostic output, and M-x compilation-next-error (often mapped to TAB) is jumping between them. But I'm still not sure what is best.
I will admit that in some (many?) projects, one often does not see warnings mixed with errors, because the compiler will only emit warnings for a given input crate if no errors were issued (right?)
So its possible the approach used here is still a net win and should be merged.
But I don't want to do so without first double-checking if there is someway to get emacs to account for the warning/error distinction (as I think should be reflected in the two aforementioned variables).
@nikomatsakis do you have any thoughts here? Would you prefer to just merge this as is?

(Or is the situation I just described where we already were at, and this PR is truly just an improvement on the status quo... hmm sorry if I misunderstood where we are in rust-mode.el at the moment...)

Yes okay looking at the linked images I am realizing that something must be wrong with my own (screen terminal-based) setup, since I am not seeing quite the same set of colors that are shown there.

So I'm going to go ahead and merge since this does seem to be a net win.


Removed notations re: scaling

*Removed user guide mentions of scaling

@jasSust Can you also provide the markdown updates in this PR? I only see HTML

*Added updates to quickstart

Make the table match the following fields from the API

let's have a distinct new column for description and also a have a column listing the indicator in addition to the hazard so that we are being clear on the fact that each row in the table is an indicator

@bcwaldon pushed additional changes here
** New Product Updates page
** Quickstart table updates


Do not override extractMeta

I think the default implementation of extractMeta in RESTSerializer is fine for JSON API: https://github.com/emberjs/data/blob/v1.0.0-beta.12/packages/ember-data/lib/serializers/json_serializer.js#L953
  extractMeta: function(store, type, payload) {
    if (payload && payload.meta) {
      store.metaForType(type, payload.meta);
      delete payload.meta;
    }
  }

Would be great to get this merged!


This documentation is out of date and incomplete

Just to point a few things out:

Notification hub SDK link is missing and just has (link) under "setup your application"
The class said to copy in is missing that notificationcompat is needed to be imported via gradle
The command to get the MD5 is wrong, and the documentation is missing mention that once must also grab the SHA256 for ADM
The class (MyADMMessageHandler) results in numerous compilation errors under android 7, most likely due to this information being out of date.
The copied information into the manifest results in an unclosed application />

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

ID: 018ad849-b05b-4014-fc62-ef4bb43778e5
Version Independent ID: bb1cc7c4-9ed4-7a26-7359-98d81a2bc857
Content: Push notifications to Kindle apps using Azure Notification Hubs
Content Source: articles/notification-hubs/notification-hubs-kindle-amazon-adm-push-notification.md
Service: notification-hubs
GitHub Login: @dimazaid
Microsoft Alias: dimazaid

@wcom939 Thanks for the feedback! We are currently investigating and will update you shortly.

@BryanTrach-MSFT please assign to me.

@spelluru can you please take a look at this?

@wcom939
I have updated this article. #please-close


update-ci-and-readme

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (8b49a01) 89.32% compared to head (140c453) 89.13%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #48      +/-   ##
==========================================
- Coverage   89.32%   89.13%   -0.20%
==========================================
  Files          24       24
  Lines        1012     1012
==========================================
- Hits          904      902       -2
- Misses        108      110       +2

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


connectd depends on ca-certificates

Ubuntu 12.04.5 LTS (GNU/Linux 3.2.0-86-generic x86_64)
Ive tried updating the CA certs but did not work. Any other ideas?

update-ca-certificates --verbose --fresh

Downloading and testing connectd.x86_64-ubuntu16.04...
connectd.x86_64-ubuntu16.04 is compatible!
filename connectd_2.4.26_amd64.deb
filepath https://github.com/remoteit/installer/releases/download/v2.4.26/connect                    d_2.4.26_amd64.deb
Selecting previously unselected package connectd.
(Reading database ... 220863 files and directories currently installed.)
Unpacking connectd (from connectd_2.4.26_amd64.deb) ...
dpkg: dependency problems prevent configuration of connectd:
connectd depends on ca-certificates (>= 20161130+nmu1+deb9u1); however:
Version of ca-certificates on system is 20160104ubuntu<IP_ADDRESS>.
dpkg: error processing connectd (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
connectd
dpkg error!

We have removed the dependency on a specific version of ca-certificates.


Pushing Files to Cloud with Invalid Names Logs Wrong Information

When we push a file to cloud with invalid name, the message is not correct:
Create new project named ShortFileTest in QuantConnect.com, and pull it:
$ lean cloud pull --project "ShortFileTest"
add lib.py file to the ShortFileTest directory and push the project
$ lean cloud push --project "ShortFileTest"
The following message is shown:
"Cannot push 'ShortFileTest 2' (failed on $HOME\Local\ShortFileTest\lib.py): Invalid credentials, please log
in using lean login"
where it should inform that the file name is too short.

Could you clarify what would be an invalid name? I seem to be hitting on this issue with tmp.py:
Cannot push 'QC' (failed on /somepath/tmp.py): Invalid credentials, please log in using `lean login`

Looks fixed when trying to reproduce with short file name a.py