Docker integration: Exposing Docker socket to Traefik container is a serious security risk

Do you want to request a feature or report a bug?
Bug
What did you do?
I followed the official instructions to get Traefik running with Docker (and Let's Encrypt).
What did you expect to see?
I would have expected that the part of Traefik which communicates with the Docker daemon and updates Traefik's configuration accordingly when containers are started/stopped would happen in a different container, separate from the Traefik container as the latter is typically exposed to the internet.
What did you see instead?
The official docs instructed me to expose the Docker socket to the Traefik container itself. This is widely recognized to be a serious security issue, see 1, 2, 3, 4 and 5, as it basically means that anyone who manages to compromise Traefik obtains root on the host machine. Note that this is even worse than running a regular (non-Docker-integrated) reverse proxy outside any container directly on the host machine as such a proxy usually doesn't run as root.
Unfortunately, I couldn't find any other way in the docs to get Traefik set up with Docker.
Suggested solution
Move the part of Traefik that regularly pulls the container list from the Docker daemon and updates the Traefik configuration into a separate binary so that it can be run in a separate container, similar to what the nginx-proxy project suggests (see section "separate containers"). This seems to be the only solution that fully isolates the docker.sock-accessing part of the application from network requests. Compared to this, other solutions like using an authz plugin could, in theory, still be compromised.
PS: I am aware that some might consider my report a feature request, not a bug, as the current behavior & instructions seem to be the officially accepted way to integrate Traefik with Docker. However, I still think that any security issue – whether widely accepted or not – should 1) be considered a bug and 2) be at least mentioned in the official documentation.

I absolutely agree that this should be addressed more thoroughly. I just wanted to share here, for anyone who comes across it, what I'm currently using as something of a workaround. I'm running a minimally adapted version of https://github.com/Tecnativa/docker-socket-proxy as a standalone container on each swarm manager, connected to a docker network specific to the purpose, connecting the traefik service to that network as well, and pointing Traefik to the proxied port.
In this way I don't change the behavior on the host, I don't expose the socket over TCP except inside that one docker network, and I don't have to deal with configuring an authz plugin, but I allow the Traefik container to access only the endpoints it needs with only GET requests, and in addition to breaking out inside the Traefik container an attacker would also have to break either out of the container to the host without direct access to the socket, or across to the haproxy container.
Why a standalone container? ...because I have namespace mapping enabled and selinux enforcing, and I needed --userns=host for the proxy to access the socket. I'm not sure that's the only alternative, but it's the one I found. I'd like to revisit this and figure out a way I could do it with a manager-node-restricted service instead, but right now I don't have time to figure out if that's possible.
Why a slight modification instead of just using the approach as supplied by Tecnativa (or copying the config and using haproxy directly)? ...because I wanted to install socat in the image and modify the haproxy docker entrypoint to use socat to redirect the container's /dev/log socket to STDOUT.
I'm sure this could be done with quite a few other approaches. In fact, at one point I was trying to figure out if I could accomplish this using nothing but socat and sed, but if that would have been possible at all, it was beyond my level of regex-fu.

@codethief Thanks for reporting this.
I fully agree with you on the fact there is a lack in our doc on this topic.
Sometimes things seem obvious to few of us, but this is because we are dealing with this everyday. Which is not the case of all our users, so you are right, we should do something.
This lack of granularity of the Docker API is a pain, really :'(

We will update the documentation to warn our users with this, and add possible workarounds
We are working on a far better solution for production deployments that should be out soon ;)

@scriptninja can you please share your "...I'm running a minimally adapted version..." that you are running? Thanks

@emilevauge can you shed any light on what the ".....far better solution for production deployments that should be out soon ;)" is specifically for the swarm setup?

@bitsofinfo we will make an announcement soon. Stay tuned ;)

hmmm
For anyone else coming across this, this appears to work
# Create network for local docker host api access
docker network create -d overlay dockersocket4traefiknet

# Create network for app
docker network create -d overlay myappnetwork

# Start NGINX dummy for test, this has no access to the `dockersocket4traefiknet`
docker service create \
  --network myappnetwork \
  --label traefik.frontend.rule='Host:mynginx' \
  --label traefik.enable=true \
  --label traefik.port=80 \
  --name nginx-test \
  nginx

# Start the docker-socket-proxy container for traefik bound to `dockersocket4traefiknet`
docker service create \
   --mode global \
   --constraint=node.role==manager \
   --network dockersocket4traefiknet \
   -e SERVICES=1 \
   -e NETWORKS=1 \
   -e TASKS=1 \
   --name dockersocket4traefik \
  --mount type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock \
   tecnativa/docker-socket-proxy

# Start Traefik.. note it has access to 2 networks the `dockersocket4traefiknet` for swarm info
# and the `myappnetwork` for containers to proxy to
docker service create \
  --name traefik-test \
  --mode global \
  --constraint=node.role==manager \
  --network myappnetwork \
  --network dockersocket4traefiknet \
  --publish 9080:80 \
  --publish 9999:8080 \
  --publish 9443:443 \
  traefik:1.6.6  \
  --entryPoints='Name:http Address::80' \
  --defaultentrypoints="http" \
  --retry \
  --debug=true \
  --logLevel=DEBUG \
  --docker \
  --docker.endpoint="tcp://dockersocket4traefik:2375" \
  --docker.swarmmode \
  --docker.domain=traefik \
  --docker.watch \
  --docker.exposedbydefault=false \
  --web \
  --web.statistics

# Dashboard shows service OK
http://localhost:9999/dashboard/

# Logs legit
docker service logs -tf traefik-test

# Access service OK
http://mynginx:9080/

@emilevauge can you point to any PRs for the changes in progress or is this part of a pay for solution?

@scriptninja can you please share your "...I'm running a minimally adapted version..." that you are running? Thanks

My fork has swapped out Tecnativa's build hooks for Gitlab CI and I'm using a more recent haproxy image as the base, but the functional difference consists entirely of RUN apk --no-cache add socat in the dockerfile and providing a copy of the docker-entrypoint.sh from the haproxy project with socat UNIX-RECV:/dev/log,mode=666 STDOUT & added to it.

Hello everyone, you might be interested into this PR #4225 , which discuss security concerns with Docker and Swarm mode backends.
The content is based from a set of issues, including this one.
Thanks all for your feedbacks on this important topic, which we do value a lot!

Hi @codethief @bitsofinfo , what do you think of https://docs.traefik.io/configuration/backends/docker/#security-considerations ?

@dduportal i think its pretty good as its up top and not just one sentence. A working example however might be warranted.

@dduportal Thanks for adding those remarks to the docs! I think they are a very good start! Then again, I do think they are a bit vague. Consider e.g.:

If the Traefik processes (handling requests from the outside world) is attacked, then the attacker can access the Docker (or Swarm Mode) backend.

IMO it should be stressed that if Traefik gets compromised, the attacker effectively gains root access. A user reading the docs shouldn't have to go to one of the linked articles to figure this out.
Regarding the "security compensation":

The main security compensation is to expose the Docker socket over TCP, instead of the default Unix socket file. It allows different implementation levels of the AAA (Authentication, Authorization, Accounting) concepts, depending on your security assessment:

Two remarks here:

The docs still don't provide any actionable advice or best practice, so the user is basically left alone with figuring this all out by going to one of the links.

As mentioned in my original post, I don't think proxying / validating requests to the Docker API is anywhere comparable in terms of security to completely isolating the Docker socket (see the proposal in my post). The former basically just adds another layer of obstacles that a potential attacker has to overcome. However, in my opinion, the Docker socket shouldn't be available to internet-facing containers at all – neither directly nor indirectly through some intermediate proxy – and the docs should therefore clearly mention that the present options to "secure" the Docker socket through proxying are merely temporary workarounds until a more secure option is available (i.e. until the bug we're discussing here is solved). In particular, I would also put the link to the present Github issue in a more prominent location in the docs, say at the beginning of the "Security Considerations" section.

At CloudBees I've been investigating a comparable issue to grant build container access to the docker socket, which exposes the whole infrastructure.
A possible way to balance this risk is to use a docker API proxy to only allow legitimate API to be used by traefik (typically, allow /events). Such a sidecar container would need to run with high privileges so it can access docker socket, but then the traefik container itself can run with lower "safe" privileges. Sidecar container being only responsible to forward docker.sock to another container, can be implemented with a very minimalist runtime and as such limit attack surface.

I've been a bit concerned about potentially tieing a world facing container into my docker socket too.
I have put together a glorified shell script that helps decouple the docker sock and my traefik router. I am using it successfully in my lab. It works by having a traefik container attached to docker, purely to generate config. The script then pulls the config down via /api, and publishes it to my 'real' Traefik instance (which is not bound to Docker), but has --rest enabled.
Docker image;
https://hub.docker.com/r/tomwerneruk/traefik-prism/
Comments welcome. Tom.

In case anyone is interested, I created an Ansible role which launches first a privileged, but secured tecnativa docker socket container and afterwards let traefik talk to it. The details can be found here:
https://github.com/liquidat/ansible-role-traefik

I've got an example of this setup doing all the swarm things needed. A few thoughts:

I add :ro to the tecnativa/docker-socket-proxy mount so even that can't write to the socket.
The verb and api route restrictions are great
I put the traefik and socket-proxy on a dedicated overlay to reduce risk
I added IPSec to the overlay network just because
Don't use privileged mode on the socket-proxy (doesn't work in swarm services anyway). If you must use SELinux, better to configure that then run an elevated container.

I feel like this setup is simple enough, and lowers the risk enough that it's a pattern I'd like to try with all the other tools that need docker API access. In the real world, I've never seen a Swarm cluster without something mounting the socket for management and control over docker... so all the warnings about "don't mount the socket" tends to get thrown out the minute someone wants to run Traefik, Portainer, Swarmpit, etc. so I'm glad we're coming up with these alternative patterns to let people have options to control their environments and also keep them as secure as possible.

could be usefull to document the docker API traefik relies on.
It seems it only require (read) operations : ServerVersion, ContainerList, ContainerInspect, ServiceList, NetworkList, TaskList & Events. This could help bake an API filtering proxy, which would block all irrelevant API operations

@BretFisher question: I see you also specify CONTAINERS=1 and SWARM=1 on your proxy settings... why is this? Does traefik need those? I've been testing with only
   -e SERVICES=1 \
   -e NETWORKS=1 \
   -e TASKS=1 \

and it appears to work fine.

This is just the start, and I'm glad for your testing! Based on yours and @ndeloof's feedback I'll check it out.

@BretFisher:

I add :ro to the tecnativa/docker-socket-proxy mount so even that can't write to the socket.

Maybe I'm confusing something here but my understanding was that this doesn't prevent writing to a socket at all.

indeed, if you can't write the socket you can't send request to the docker API
AFAIK :ro on a unix domain socket just prevent you to rename/remove it

That makes complete sense! Amazing that I went all these years without realizing that.  Thanks.

@BretFisher, I'm looking at your https://github.com/BretFisher/dogvscat/blob/master/stack-proxy-global.yml but I don't see you mounting the socket as :ro. It sounds like a good thing, so why is it not in the file? (Does traefik ever need write access to the socket?)

See above in this thread. I've learned that :ro is fiction for a socket. It does nothing and that's why we have https://github.com/tecnativa/docker-socket-proxy running haproxy in front of it, to control access and make it truly read-only.

I read the comments and misread them completely, thanks. (Bummer.)

Traefik Enterprise Edition is also another simple way to prevent this issue. Nodes from a TraefikEE cluster are splitted into data nodes and control nodes. Only control nodes can access the Docker/Swarm socket. Data nodes, which are in charge of forwarding requests are never connected to any orchestrator API.

Is the entreprise edition the announcement you mentionned in november ? Thank you 👍

Instead of relying on exposing the docker socket in production, can we statically configure the traefik service?

Hi @ptejada , yes totally. Please check https://docs.traefik.io/configuration/backends/file/ , or join https://slack.traefik.io/ if you have further questions on the "static" configuration :)

Wouldn't it be easier solution to have a traefik container that just generate a config file with access to the socket and one exposed traefik container that just mount this file read-only with hot reload.
Could be also a "traefik socket" for which traefik is listening for event's or config changes.
Kind of the same as trying to secure the original docker socket, but traefik specific and also under the control of traefik.
The mounted file based approach would be similar to jwilders old school docker-proxy.

Hi @ptejada , yes totally. Please check https://docs.traefik.io/configuration/backends/file/ , or join https://slack.traefik.io/ if you have further questions on the "static" configuration :)

Hi, if we use file provider for configuration, does it mean that we don't have the security risk mentioned in this issue? Thanks.

@chenchehuang
That is correct. You won't need to expose the docker socket. It might be a little extra work if you are not familiar with the Traefik config file. It did take me a while to wrap my head around the toml config file.

https://github.com/containous/traefik/issues/766#issuecomment-541505797

Hi @ptejada , yes totally. Please check docs.traefik.io/configuration/backends/file

The path returns 404 now. So I guess the documentation path for this config changed with the 2.0 release?
Does anyone know a well-written Ansible configuration for a 'static' Traefik deployment that won't expose the Docker socket?

@alexanderadam
Yes. Backends and Frontends are gone in v2.0. This is the file config link for v1.7
https://docs.traefik.io/v1.7/configuration/backends/file/
The config for 2.0 is a lot easier to comprehend. Plus it supports YAML :)

One simple solution that I found works well is:
...
    read_only: true
...

under the service in my compose file.
# touch /var/run/docker.sock
touch: /var/run/docker.sock: Read-only file system

This also accomplishes 5.12 Ensure that the container's root filesystem is mounted as read only in the CIS Docker Benchmark v1.2.0.

@paulcalabro Marking the socket file as read-only has no security effect. The socket can still be opened, and API requests can still be submitted to the docker daemon.

@JonathonReinhart I forgot to mention you need to modify the capabilities  in the compose file:
...
services:
  traefik:
    cap_add:
      - NET_BIND_SERVICE

    cap_drop:
      - ALL
...

I did some additional testing and I stand corrected!

Wouldn't it be easier solution to have a traefik container that just generate a config file with access to the socket and one exposed traefik container that just mount this file read-only with hot reload.
Could be also a "traefik socket" for which traefik is listening for event's or config changes.
Kind of the same as trying to secure the original docker socket, but traefik specific and also under the control of traefik.
The mounted file based approach would be similar to jwilders old school docker-proxy.
Edit: traefik already can watch config files, so only the generator has to be implemented.

So is there any news on this? Does this solve the problem?
Is @ptejada 's approach the same? And if yes, is there any example on how to set things up?
Thanks a lot for your time :)

In order to check which Docker API endpoints are needed, we can check the source code on GitHub: https://github.com/containous/traefik/blob/master/pkg/provider/docker/docker.go

ServerVersion (GET /version https://github.com/moby/moby/blob/master/client/version.go)
Events (GET /events https://github.com/moby/moby/blob/master/client/events.go)
ContainerList (GET /containers/json https://github.com/moby/moby/blob/master/client/container_list.go)
ContainerInspect (GET /containers/{containerID}/json https://github.com/moby/moby/blob/master/client/container_inspect.go)
ServiceList (GET /services https://github.com/moby/moby/blob/master/client/service_list.go)
NetworkList (GET /networks https://github.com/moby/moby/blob/master/client/network_list.go)
TaskList (GET /tasks https://github.com/moby/moby/blob/master/client/task_list.go)

Used Docker API Version: 1.24
GIven that the following proxy config should be sufficient:
acl valid_http_method method GET
http-request deny if ! valid_http_method
http-request allow if { path,url_dec -m reg -i ^/v1.24/version }
http-request allow if { path,url_dev -m rew -i ^/v1.24/events }
http-request allow if { path,url_dec -m reg -i ^/v1.24/containers/json }
http-request allow if { path,url_dec -m reg -i ^/v1.24/containers/[a-zA-Z0-9_.-]+/json }
http-request allow if { path,url_dev -m rew -i ^/v1.24/services }
http-request allow if { path,url_dev -m rew -i ^/v1.24/networks }
http-request allow if { path,url_dev -m rew -i ^/v1.24/tasks }
http-request deny

bump this is still open or has it been forgotten? Cannot expose a socket via traefik, at least not with segmented labels

Since I posted this issue almost two years ago, we've seen quite a few workarounds which involve setting up a proxy for the Docker socket. However, I would like to stress (again) that this just adds another layer of indirection / validation: There will still be an application (Docker) running as root which is facing the network, albeit through two layers (Traefik and a proxy). This is not nearly as secure as separating the network-facing part of Traefik and the part which accesses the Docker socket into two containers and have them exchange the generated config files through a shared volume.

@codethief That is actually a nice idea. If traefik had an option for just inspecting docker(-swarm) and dumping the result to a file this could be easily solved!

@codethief A good first step would probably be implementing a "writer/dumper" over at https://github.com/traefik/paerser.

https://github.com/traefik/paerser is only a parser/reader for configuration data, to dump a configuration struct into a file, you just have to use the "standard" marshaller related to the format.

If you really want to do that you can use the API and the HTTP provider:

the API is the "dumper/writer"
the HTTP provider is the consumer.

The API is exposed to the Traefik that reads the Docker socket.
The HTTP provider is consumed by another Traefik.
You probably need to have a converter between the API and the HTTP provider.

Would you accept a write-config command which gathers all configs (static/dynamic) and writes them to a single file?

Not really, among other things because there are other possibilities to do this that I explained.

I've got some example compose files here using Traefik and docker-socket-proxy. The docker socket is locked down to a subet of GET commands and is only exposed on an internal network. Hope someone finds these helpful.
https://github.com/doublez13/docker-swarm-example-setup

@ldez I just noticed that your previous comment got deleted (automatically?)

@n1ru4l Have you gotten anywhere with your idea? I realized https://github.com/traefik/paerser/issues/1 has been closed :(

I ultimately decided that I don’t have the time for that so rn Iam using haproxy approach

I see. What exactly is the "haproxy approach"? (Does it entail more than "merely" using haproxy instead of Traefik?)

See https://github.com/traefik/traefik/issues/4174#issuecomment-634450865 basically the docker socket is only mounted into the haproxy container and treating communicates with it through the proxy. It only has read access

From "ENH,SEC: Create additional sockets with limited permissions" moby/moby#38879 ::

An example use case: securing the Traefik docker driver:

"Docker integration: Exposing Docker socket to Traefik container is a serious security risk" Docker integration: Exposing Docker socket to Traefik container is a serious security risk traefik/traefik#4174 (comment)

It seems it only require (read) operations : ServerVersion, ContainerList, ContainerInspect, ServiceList, NetworkList, TaskList & Events.

https://github.com/liquidat/ansible-role-traefik

This role does exactly that: it launches two containers, a traefik one and another to securely provide limited access to the docker socket. It also provides the necessary configuration.

What could docker do to make it easier to do this correctly? Tecnativa/docker-socket-proxy#13

Creates a HAproxy container that proxies limited access to the docket socket

I don't think it's much of a problem, Traefik uses Docker primarily for read-only and there are prebuilt containers that proxy Docker daemon for you.
Here's an example where it calls an HTTP daemon that proxies the docker
https://github.com/trajano/spring-cloud-demo/blob/rework/docker-compose.yml#L22
And here's an example of the proxy.
https://github.com/trajano/spring-cloud-demo/blob/dc2a5c27d292f2f521d89e80aad31e22f53d0b0d/docker-compose.yml#L37-L57
The root access for traefik is to allow creation of port 80 and 443 which are under port number 1024 thus require root.  I can be paranoid and probably socat those ports as well so a socat container plus the docker proxy would be the only ones that need root.

I don't think it's much of a problem, Traefik uses Docker primarily for read-only

Is not this a slightly naïve stance to take? We want to secure our systems on all levels because unknown yet vulnerabilities are possible, so if those are exploited the bad guys do not have an easy way in. It's a bit like saying that it's okay to run any application as root if it does not write. Isn't it obviously against best practices?

It's your call.  I'm not one of the project members nor a contributor, I'm using the tool as it has been intended within the limits.  If you can find a way around it then post a PR to fix it.  Docker support is not really mandatory you can use files and other elements to handle it.

Traefik does not need root now that https://github.com/docker/cli/issues/2893 and https://github.com/docker/cli/pull/2687 to have lower level ports
    user: "1"
    cap_add:
      - NET_BIND_SERVICE

Will allow traefik to create the ports without root.  And the daemon which is done through an HTTP proxy also negates the need for root in that context.

@trajano, what does user: "1" do ? Doesn't work on my side.
Also, shouldn't we add this ?
    cap_drop:
      - ALL

Hi @codethief @bitsofinfo , what do you think of https://docs.traefik.io/configuration/backends/docker/#security-considerations ?

404 Error
Oops! We couldn’t find the page you were looking for.

@drifter75 The link has changed when Traefik v2 was released.
Here is the up to date link: https://doc.traefik.io/traefik/providers/docker/#docker-api-access

@jspdown Thank you, I appreciate the feedback! It sounds like you consider my original proposal not to be feasible:

Move the part of Traefik that regularly pulls the container list from the Docker daemon and updates the Traefik configuration into a separate binary so that it can be run in a separate container

Could you elaborate on why that is? The discussion here has largely been going in circles and I have yet to see a convincing argument against the above solution.

Could you elaborate on why that is? The discussion here has largely been going in circles and I have yet to see a convincing argument against the above proposal.

If I had to guess I would imagine that the team does not want to do that because it introduces complexity and friction they feel is not required, given the closing message. Simply saying they might feel that it's not their problem to solve, it's docker's problem to solve, considering that there is no simple solution on traefik side known.


Spectra.csv and Features.csv

Hi,
Where can I find out Spectra.csv and Features.csv? Can you please clarify?
Thanks
Abhik

Hi Abhik,
Thank you for your message. The dataset is downloaded as a zip file from here.
We have also added the link to DATASETCHANGES.rst.
Best,
Verena


Different plot for comparing models

After some online feedback, I conclude it might make sense to change the box-plot that summarizes model performance. Maybe a violin plot would be better suited?

Sounds good. We could also go for a jittered point plot / stripplot as in https://seaborn.pydata.org/generated/seaborn.stripplot.html

I discussed this with git-bob, which also suggeste the stripplot but did't like it. It's hard to spot differences between the llms.
sns.stripplot(data=ordered_numerical_data, palette= "Set2", orient='h', jitter=True, alpha=0.3, size=3)

The violin plot with some fine configuration might make sense:
sns.violinplot(data=ordered_numerical_data, palette= "Set2", orient='h', cut=0, bw=0.2, inner=None)

The stripplot would only look reasonable with continuous values, but our values are basically discrete (from 0 to 1.0 with 0.1 steps). So this doesn't make sense. Sorry for not seeing this earlier.

So violin plots are OK here I think

When comparing distributions I tend to prefer ridgeline plots or histograms. However, now that we're discussing this, I think there aren't enough data points here for this type of representation (including for violin plots) and would prefer showing the actual values (as jittered points to avoid overlap, which is what I know as a strip plot).

The strip plot is shown above @jkh1 . It's super hard to see differences between models

Right. There are a few issues with the strip plot above. The main one is that the points aren't jittered (or not enough) so that they overlap and make the locations of higher density invisible, another is maybe there are too few points spread over too many values. It may also be more readable/intuitive if rotated (i.e. values in y and models in x). My concern is that estimation of density may be inaccurate with too few points although violin plots are probably OK here to get a rough idea of the shape of the distribution but in light of having few points spread over many values, could be misleading (for example there is still a line where there are no data point). Maybe the differences this shows aren't that meaningful except for the extremes?


Fixed ngModel issue when its used as inline.

When this directive was used with inline option, the ngModel variable
was not updating after selection of date/time.

Fixed the directive so that we can get updated value in ngModel variable
after selection.
Updated example.html to show how to use inline with ngModel.

This may be not the best approach to fix the issue, but its just a quick fix for those
who want to use it right way.

https://github.com/dvdcxn/angular-bootstrap-datetimepicker-directive
I forked it and bound the ng-model value to the moment date rather than the string of what is selected.


Moved test out of run_in_graph_and_eager_mode in sparsemax_loss

cc @gabrieldemarmiesse

@andreasmadsen
You are owner of some files modified in this pull request.
Would you kindly review the changes whenever you have the time to?
Thank you very much.


Update Homepage and make everything orange

Description
Update Homepage and make everything orange
Comparison

Looks cool, i like it.
Thanks @Commandcracker


Wrong name in the dropdown/search

I see this instead of Synapse workspaces

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

ID: 96ddf06d-9dae-32b9-6f8b-8ec560ace6d5
Version Independent ID: 315a0dfe-c87d-8b1e-f6f1-525cecf57d3c
Content: Quickstart - create a Synapse workspace - Azure Synapse Analytics
Content Source: articles/synapse-analytics/quickstart-create-workspace.md
Service: synapse-analytics
Sub-service: ****
GitHub Login: @pimorano
Microsoft Alias: pimorano

@imran-siddique Thanks for bringing this to our attention. Your feedback  has been shared with the content owner for further review.
@pimorano Could you please update the screenshot and replace Synapse workspace  => Azure Synapse Analytics (workspaces preview).
Update1: Step1: Screenshot

Update2: Step2: Screenshot

Update3: Step7: Screenshot

Issue was fixed with above PR.

#assign:xujxu
#please-close


Console log window

This was split from #155, although it still contains those changes (because otherwise the diffs get too messy).

Based on latest feedback from Amar on tarsnap mail list, I now believe hiding the ConsoleLog even further would be a bad idea. If you agree with me you can close this one.


LangChain 0.0.250 circular import bug, possibly LangSmith related

System Info
There seems to be a circular import problem introduced with langsmith dependency.
I believe so, because this problem is constantly appearing in the langchain versions that do include langsmith dependency, and for example 0.0.230 seems to be ok (I don't see that one including langsmith as dep), but latter versions are exhibiting the same problem. And there is also langchain / langsmith back-fourth in stacktrace.
The error:
Traceback (most recent call last):
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/langsmith.py", line 2, in <module>
    from langchain.chat_models import ChatOpenAI
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/__init__.py", line 6, in <module>
    from langchain.agents import MRKLChain, ReActChain, SelfAskWithSearchChain
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/agents/__init__.py", line 31, in <module>
    from langchain.agents.agent import (
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/agents/agent.py", line 15, in <module>
    from langchain.agents.agent_iterator import AgentExecutorIterator
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/agents/agent_iterator.py", line 21, in <module>
    from langchain.callbacks.manager import (
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/__init__.py", line 21, in <module>
    from langchain.callbacks.manager import (
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/manager.py", line 41, in <module>
    from langchain.callbacks.tracers.langchain import LangChainTracer
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/tracers/__init__.py", line 3, in <module>
    from langchain.callbacks.tracers.langchain import LangChainTracer
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/tracers/langchain.py", line 11, in <module>
    from langsmith import Client
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/langsmith.py", line 2, in <module>
    from langchain.chat_models import ChatOpenAI
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/chat_models/__init__.py", line 20, in <module>
    from langchain.chat_models.anthropic import ChatAnthropic
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/chat_models/anthropic.py", line 3, in <module>
    from langchain.callbacks.manager import (
ImportError: cannot import name 'AsyncCallbackManagerForLLMRun' from partially initialized module 'langchain.callbacks.manager' (most likely due to a circular import) (/Users/Dzmitr
y_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/manager.py)

Who can help?
@hwchase17
Information

[X] The official example notebooks/scripts
[ ] My own modified scripts

Related Components

[X] LLMs/Chat Models
[ ] Embedding Models
[ ] Prompts / Prompt Templates / Prompt Selectors
[ ] Output Parsers
[ ] Document Loaders
[ ] Vector Stores / Retrievers
[ ] Memory
[ ] Agents / Agent Executors
[ ] Tools / Toolkits
[ ] Chains
[X] Callbacks/Tracing
[ ] Async

Reproduction

Use python 3.11
Take sample LangSmith code from their tutorial:

import os
from langchain.chat_models import ChatOpenAI

os.environ['LANGCHAIN_TRACING_V2'] = 'true'
os.environ['LANGCHAIN_ENDPOINT'] = "https://api.smith.langchain.com"

llm = ChatOpenAI()
llm.predict("Hello, world!")

Provision fresh venv with the following dependencies:

langchain==0.0.250
openai==0.27.8

Observe stacktrace:

    from langchain.callbacks.tracers.langchain import LangChainTracer
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/tracers/__init__.py", line 3, in <module>
    from langchain.callbacks.tracers.langchain import LangChainTracer
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/tracers/langchain.py", line 11, in <module>
    from langsmith import Client
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/langsmith.py", line 2, in <module>
    from langchain.chat_models import ChatOpenAI
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/chat_models/__init__.py", line 20, in <module>
    from langchain.chat_models.anthropic import ChatAnthropic
  File "/Users/Dzmitry_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/chat_models/anthropic.py", line 3, in <module>
    from langchain.callbacks.manager import (
ImportError: cannot import name 'AsyncCallbackManagerForLLMRun' from partially initialized module 'langchain.callbacks.manager' (most likely due to a circular import) (/Users/Dzmitr
y_Kankalovich/Workspace/personal/.venv/lib/python3.11/site-packages/langchain/callbacks/manager.py)

Expected behavior
No errors, llm reply received

@dzmitry-kankalovich if you rename your script from langsmith.py to langsmith_test.py or something that doesn't mask the langsmith module name, do you still get this error?

Indeed! That seems to be the case. I've changed name and don't see the problem anymore.
Well, this one is on Python then. Can close the issue.


New untranslated strings

Hi,
Wow the mission log is awesome!!!! Thanks for this evolution.
I found some untranslated fields in the mission log:

And here is the ui.json file for French:
ui.json.txt

Awesome!    Nothing in the log panel is translated right now, so it's all English.  I'll be adding the new translation strings to the ui.json soon. 👍🏻
Thanks for the updated French ui.json! 🙏🏻


Windows

This is not yet intended to be merged, I will update it when it is.
This is just so progress can be seen, and I can also see there will be merge conflicts.

Awesome!

@timkim can you loop around with Jesse and see if this is ready to be tested in the PG Dev App?


LaunchActivatedEventArgs dosen't have PreviousExecutionState property

[Enter feedback here]
"if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)" in OnLaunched method, e(type LaunchActivatedEventArgs) dose not have PreviousExecutionState property. So compile error is occured.
And I comment out if statement, OnLaunched method throws exception because Window.Current is null.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 4624da95-1d69-74f5-b6c9-882398863720
Version Independent ID: 578ee248-625e-3d4d-b7df-5d7726372b37
Content: Frame Class (Microsoft.UI.Xaml.Controls) - WinUI
Content Source: winui-api-build/xml/Microsoft.UI.Xaml.Controls/Frame.xml
Product: reunion
Technology: winui-reference
GitHub Login: @jwmsft
Microsoft Alias: jimwalk

The UWP code has been removed from the Frame class for WinUI 3 and the documentation updated.


use hosted runners for nightly actions (#27485)

Backport #27485 by @techknowlogick
I'm temporarily unable to properly evaluate actuated runners, and so I'm switching back to hosted runners until I am able to focus on that again.

@silverwind I'm not sure I've done the reusable workflow correctly. I ended up moving to its own job in main, but that doesn't make sense since I think it should clean in each job rather than by itself.

I wonder if there are more lightweight images available, would certainly be better than cleaning up all this crap 😆.

There is a lint failure on main branch:
.github/workflows/release-nightly.yml:15:14: label "nscloud" is unknown. available labels are "windows-latest", "windows-2022", "windows-2019", "windows-2016", "ubuntu-latest", "ubuntu-22.04", "ubuntu-20.04", "ubuntu-18.04", "macos-latest", "macos-latest-xl", "macos-13-xl", "macos-13", "macos-13.0", "macos-12-xl", "macos-12", "macos-12.0", "macos-11", "macos-11.0", "macos-10.15", "self-hosted", "x64", "arm", "arm64", "linux", "macos", "windows", "actuated-4cpu-8gb", "actuated-4cpu-16gb". if it is a custom label for self-hosted runner, set list of labels in actionlint.yaml config file [runner-label]
   |
15 |     runs-on: nscloud


Multiclass classification example

Figure 5.2 and 5.3 of Alasdair's thesis.
https://github.com/chengsoonong/mclass-sky/blob/master/projects/alasdair/thesis/tran15honours-thesis.pdf

To generate data for a passive learning curve, it should be as simple as:
acton --data data/sdss.h5 --pandas-key sdss -f psfMag_r_w14 -l clas -o sdss.pb --epochs 10

It's really slow for me, probably because there's 2.8 million data points and I'm on an Air.

Decision from meeting: Use <1% of the data.

Subset attached.
sdss_subset.h5.zip

I should really add a seed.


Documentation uses then() but does not tell which Java library it comes from

Hi,
I am a newbie with Vavr and looking at the sample codes to learn.
The vavr documentation has sample codes that makes use of the function "then()" but it is not provided in vavr itself. What Java library is this "then" expected to come from?
As an example, in https://docs.vavr.io/#_composition, there is a line like :
then(add1AndMultiplyBy2.apply(2)).isEqualTo(6);
I cannot compile examples like these because I'm not sure where "then" comes from. I know that promise libraries do implement then(), but which promise library should I use?
Thanks,

I found the answer once I realized the dependency was with AssertJ
and the import statement is :
import static org.assertj.core.api.BDDAssertions.then;


Deprecated things, various bug fixes, technic support

Fix a duplication bug on tanks
Tanks texture is fixed (fill level)
Many deprecated things reviewed
Begin technic support

I am glad to see some work done on this mod. Especially because I had picked it up from lemon lake who had previously written and then stopped working on it. Now I am the one leaving it to collect dust, so I am kind of glad that it got a new refresher.


Ensure empty previous values for msgid and msgstr are properly saved.

This patch prevents polib from creating illegal pofiles (that have #| msgctxt but not #| msgid).
Here is a simple way to witness the behaviour:
before.po
msgid ""
msgstr ""

#, fuzzy
#| msgctxt "oldcontext"
#| msgid ""
msgctxt "newcontext"
msgid ""
msgstr "After"

test.py
import polib
polib.pofile('before.po').save('after.po')

Result
By running test.py you can observe that the #| msgid "" line has disappeared. This makes the .po file invalid, and tools such as e.g. msgmerge will no longer be able to open it. For instance:
# cp after.po after.pot
# msgmerge after.po after.pot
after.po:7:8: syntax error
msgmerge: found 1 fatal error
#

Merged, thanks !


FIXES ISSUE #477 : [Feature Request]: DARK MODE NOT FUNCTIONING

The PR fixes issue #477
Dark mode toggle functionality was not working.
Now after this fix dark mode functionality is working properly.

Please  label it as GSSOC extd, hacktoberfest accepted with level1/2/3 accordingly.
Thank You

resolve conflicts

you are not assigned to this task, without assigned you can't make pr

..


Do IV reset also for DES and 3DES implementations

This is necessary to complete the fix for #14704
Fixes #14704

Maybe needs a test?

Added

I think we might need an OTC decision as to always doing this or only doing it for legacy reasons....
A debate for after 3.0.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

I think we might need an OTC decision as to always doing this or only doing it for legacy reasons....
A debate for after 3.0.

Reported #14924

Merged to master. Thank you for the review!


Azure Resource Group Deployment uses incorrect date for deployment name

Environment
VSTS / Hosted Agent
Issue Description
When deploying an ARM template using the "Azure Resource Group Deployment" task, it creates a deployment with a date where the month is incorrect.
For example, I deployed something today (October 11, 2017, 19:52) and it created a deployment with the name azuredeploy-2017911-1952
Expected: Correct Date (e.g., azuredeploy-20171011-1952) -- Also please use 2-digit formatted month and date numbers such that it can be alphabetized when sorted by name. (e.g., 20170911 not 2017911)

This has been resolved and will be rolled out in the coming updates.


remove commented references to reaper

These aren't used, even before https://github.com/concourse/worker/pull/2 is merged

This commit was me.. git-duet fail
https://github.com/concourse/atc/pull/286/commits/20448b018fcdb7676f0158b427f6ebee8eef01ec


Fix to #66 and minor clarifications

A review is optional.
After this PR is merged, I propose to swap the branches so that the current master becomes the dedicated v0 branch and the current uavcan-v1 becomes the new master. This is already done for PyUAVCAN: https://github.com/UAVCAN/pyuavcan/branches
Many data types are not yet stable, but thanks to the new versioning system we don't need to stabilize them in order to stabilize the whole namespace. Thanks, Kjetil.

Change looks good. I'm okay with the switch over but please test any other projects that use this as a submodule.


Return code and HTTP errors in Event Grid client

Hi,
I was wondering why both sync and async methods of 'send' do not return standard HTTP errors and responses. It would immensely help when trying to handle 429 or 413 (rate too high and message too large). Currently, my only way of knowing if send actions have failed is to check the logs of the event grid of shift to other SDKs (which have their own issues).
I believe it has to do with this  line, which does not return the HTTP response of the underlying azure.core._pipeline_client (which in its turn, does return an HTTP response.
Am I mistaken or missing anything about error handling in this SDK? I could not find any exception handling in the code as well (which is the way they've implemented it in the Golang SDK, I believe), which made me wonder if any error handling mechanism exists at all...

@edoboker Thanks for the question! Routing this to people who can answer!

Hi @edoboker
Thanks for the issue. The reason EG does not return anything here is because the service itself does not return a body.
You can always use a raw_response_hook to get the status code.
Define a callback method like:
def callback(response):
    print(response.http_response.status_code)

and pass it as raw_response_hook in the send method
client.send([
   events,
    raw_response_hook=callback
)

Thanks for the reply! I think it would be great if this could be added to the documentation as well, being such an important feature.
Just out of curiosity - why not return an HTTP response without a body then? The status code is still meaningful... In addition - I can see in other SDKs and when accessing the service directly, I can see HTTP errors body received from the service itself, such as:
{{
    "error": {
        "code": "RequestEntityTooLarge",
        "message": "The maximum size for the JSON content (1049600) has been exceeded. Report '5f11aac2-8b20-41c2-bce4-5fe6be317e33:1:11/16/2021 12:15:17 PM (UTC)' to our forums for assistance or raise a support ticket.",
        "details": [{
            "code": "PayloadTooLarge",
            "message": "The maximum size for the JSON content (1049600) has been exceeded. Report '5f11aac2-8b20-41c2-bce4-5fe6be317e33:1:11/16/2021 12:15:17 PM (UTC)' to our forums for assistance or raise a support ticket."
    }]
  }
}}

From the Golang SDK. Is this not parseable in Python?

@edoboker  I will definitely improve the documentation
As for changing the response now, it would unfortunately be a breaking change and cannot be done.

Keeping this issue open to document raw_response_hook

@rakshith91 just to make clear - you're saying that it's possible to get the HTTP response from the service, but it would be a breaking change in the SDK?

@edoboker We were looking into this - I think you have a fair request - pushing a bug fix here in this PR https://github.com/Azure/azure-sdk-for-python/pull/21790
Will hopefully get it released by end of this week. Thanks a lot for reporting this :)

@edoboker We have released a bug fix to raise on any error - Thanks again for the issue!! https://pypi.org/project/azure-eventgrid/4.7.1/


Expression browser graphs don't deal well with constant timeseries

I'm not sure if this is a bug. It's very probable that I did something wrong.
The metric is the number of requests to nginx. The number of requests is very low. The frequents "bumps" are requests made by nagios (once per 5 minutes I think).
I asked on IRC first and someone said that I should get zeros if all my values are the same.

Can you show us the result in the "Console" view of the expression browser?

That's not zero, this is a UI problem.

I was thinking it was zeros because of the grafana graph :

It's probably worth filing a bug against grafana for better selection of min/max.

You can set the min in the graph options.


Fix npm deployment for real

…as it turns out
on:
  tags: true

is actually required: https://travis-ci.org/simplabs/ember-cookies/jobs/604619047#L557

Yeah maybe or (maybe more likely) I should have read better…


Fix is not being applied to grouped-imports

Bug Report

TSLint version: 5.12.0
TypeScript version: 3.0.3
Running TSLint via: Node.js API

TypeScript code being linted
import * as R from "ramda";

import { Request, Response } from "express";
import { ValidationError } from "sequelize";

with tslint.json configuration:
"ordered-imports": [
      true,
      {
        "import-sources-order": "lowercase-first",
        "grouped-imports": true,
        "named-imports-order": "lowercase-first"
      }
    ],

Actual behavior
ERROR: myfile.ts:3:1 - Import sources of the same type (package, same folder, different folder) must be grouped together.
Expected behavior
Message saying the file was fixed since this rule "has fixer".

💀 It's time! 💀
TSLint is deprecated and no longer accepting pull requests other than security fixes. See #4534. ☠
We recommend you instead use typescript-eslint to lint your TypeScript code with ESLint. ✅
👋 It was a pleasure open sourcing with you!

🤖 Beep boop! 👉  TSLint is deprecated 👈 (#4534)  and you should switch to typescript-eslint! 🤖
🔒 This issue is being locked to prevent further unnecessary discussions. Thank you! 👋


Loops cannot be inlined?

Please update the documentation to indicate whether loop structures within UDFs will/will not result in inlining of the function.

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

ID: c4e3344e-e4a8-4356-7036-729c77f6fbd1
Version Independent ID: a57b3944-c108-081a-6308-a2fedec15de6
Content: Scalar UDF Inlining in Microsoft SQL databases - SQL Server
Content Source: docs/relational-databases/user-defined-functions/scalar-udf-inlining.md
Product: sql
Technology: ****
GitHub Login: @s-r-k
Microsoft Alias: karam

@blobbles78 Thanks for the suggestion to improve the documentation. @s-r-k Do you know the answer so we can update the documentation? Thank you. #assign:rothja

Loops cannot be inlined.
According to Microsoft’s documentation on Inlineable scalar UDFs requirements:

1 SELECT with variable accumulation/aggregation (for example, SELECT @val += col1 FROM table1) is not supported for inlining.

To clarify, any type of variable mutation is not allowed with scalar inlining. Variable mutation is when you change the value of a variable/parameter at runtime. For inlining, the optimizer needs to know the value of a variable to before it can build an inline plan. This is not possible if the variable changes during processing. Loops require variable mutation:
DECLARE @i INT = 1;
WHILE @i <= 5
BEGIN
  <do something>
  SET @i = @i+1;
END

It's necessarily the loop that's not allowed, it's this code SET @i = @i+1 , which is required to create a loop, which is not allowed when doing scalar inlining.
You can, however, natively compile a function that uses a loop on 2014 systems or better. You can also use a tally table.  instead of a loop. A third option is recursive, self-referencing scalar UDFs, which, if you know what you're doing, can be used for looping without variable mutation.
Take this function, for example, which uses a loop to calculate interest:
CREATE FUNCTION dbo.CalculateInterest_loop
(
  @Cash DECIMAL(10,6),
  @MPR  DECIMAL(10,6),
  @Mo   TINYINT
)
RETURNS DECIMAL(10,2) AS
BEGIN
  WHILE @Mo > 1 SELECT @Cash = @Cash*@MPR+@Cash, @Mo-=1;
  RETURN @Cash;
END;

As you can see, this function uses variable mutation. @Cash = @Cash*. We can rewrite this as a recursive, self-referencing scalar UDF like so:
CREATE OR ALTER FUNCTION dbo.CalculateInterest_rsr
(
  @Cash DECIMAL(10,6),
  @MPR  DECIMAL(10,6),
  @Mo   TINYINT
)
RETURNS DECIMAL(10,2) WITH RETURNS NULL ON NULL INPUT, INLINE = ON AS
BEGIN
  RETURN IIF(@Mo=1,@Cash,dbo.CalculateInterest_rsr(@Cash*@MPR+@Cash,@MPR,@Mo-1));
END;

Instead of repeatedly changing the value of @Cash, we are instead calling the function recursively with a different value for @Cash. Some result, no variable mutation.
This function can be inlined. According to the same Microsoft documentation I posted above,

2 Recursive UDFs will be inlined to a certain depth only.

I don't know what that "certain depth" is but I have been successful at inlining recursive scalar UDFs.

@AlanJBurstein Thank you for these details. This is well-researched. @blobbles78 does this address your question? Also, do either of you think the article in question in this issue needs to include a statement to this effect? Any recommendations are welcome for where to add it. Thanks!

It's necessarily the loop that's not allowed, it's this code SET @i = @i+1 , which is required to create a loop, which is not allowed when doing scalar inlining.

If that were true, we wouldn't be able to inline functions like the following (which does inline):
CREATE OR ALTER FUNCTION dbo.F
    (@r integer)
RETURNS integer
WITH INLINE = ON
AS
BEGIN
    SET @r += 1;
    SET @r += 1;
    SET @r += 1;
    RETURN @r;
END;

WHILE loops cannot be inlined currently because the available inline plan shapes do not support them easily. Loops could be implemented in various ways, including perhaps a stack spool as used by recursive CTE plans. I don't know if any work has been done in this area.

I don't know what that "certain depth" is but I have been successful at inlining recursive scalar UDFs.

Non-inline functions have the usual module depth limit of 32.
Inline functions originally inlined up to 32 levels of tail recursion as iteration, then fell back to calling the function directly, giving another 32 levels for a total of 64. There is a risk of compilation failure with recursion due to the increasing complexity of expressions breaching internal limits e.g. error 8632 - an expression services limit has been reached.
In the current build (CU4) recursion is limited to 3 levels unrolled in the execution plan, before the function is called recursively (32 levels) for a total of 35. These limits are undocumented and could change again.

Based on my initial research, inlined scalar UDFs can not leverage a parallel execution plan. There is nothing in Microsoft's documentation to suggest why this is so but it does not appear to be possible.

A statement that uses an inlined non-recursive scalar function can use parallelism. For example:
SELECT MAX(dbo.F(T.some_column))
FROM dbo.SomeLargeTable AS T;

Recursive scalar functions prevent a parallel plan, whether inlined or not.

@SQLKiwi Thank you for adding your knowledge to the discussion. @blobbles78 At this point, I am hoping that the discussion shed some light on your question. I'll consider updating this article in the future, but I think we'll need more research and product team confirmation of the behaviors before we can change it definitively.
I'm going to close out the issue, but anyone is welcome to continue the discussion or suggest specific changes in the article that you'd like to recommend. It's also possible to click "Edit" at the top of the article and make the direct changes you want to see, and we'll review it. Thank you!


Issue with Sidenav and scrollbar

Bug, feature request, or proposal:
Issue with sidenav and scrollbar
What is the expected behavior?
Should look nicer
What is the current behavior?
A "mat-sidenav" is shown with, for example, one item, and no scrollbar. Then lots of items are added and a scrollbar is shown. On IE and Chrome this scrollbar is rendered above the contents of the "mat-sidenav-content". After hiding and unhiding the "mat-sidenav" the scrollbar is placed correctly.
One Item:

add items - ugly  :

Hide and unhide - looks ok :

Seems to be working fine in Firefox.
What are the steps to reproduce?
https://stackblitz.com/edit/angular-material2-issue-1mdrjt?file=app%2Fapp.component.html
What is the use-case or motivation for changing an existing behavior?
Want it to look nicer
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
material: 5.1.0
Angular: 5.2.1
Windows
IE11, Chrome
Is there anything else we should know?

Based on the fact that autosize comes with a big performance warning should this really have been closed?  I would expect the resizing to occur when we use the provided API?


[1.13] Automated Bump DC/OS UI v2.82.7

High-level description
What features does this change enable? What bugs does this change fix?
Corresponding DC/OS tickets (required)
DCOS-55586
Related tickets (optional)

DCOS-55586
Checklist for component/package updates:
If you are changing components or packages in DC/OS (e.g. you are bumping the sha or ref of anything underneath packages), then in addition to the above please also include:

[ ] Change log from the last version integrated (this should be a link to commits for easy verification and review): example
[ ] Included a test which will fail if code is reverted but test is not. If there is no test please explain.
[ ] Test Results: [link to CI job test results for component]
[ ] Code Coverage (if available): [link to code coverage report]

Please update CHANGES.md file and apply Ready for Review Label.
* Updated DC/OS UI to [1.13+v2.82.7](https://github.com/dcos/dcos-ui/releases/tag/1.13+v2.82.7)

You can edit CHANGES.md directly here: https://github.com/mesosphere/dcos/edit/dcos-ui/bump/2019-07-04-14-24-03/1.13+v2.82.7/CHANGES.md?pr=%2Fdcos%2Fdcos%2Fpull%2F5807

@mesosphere-mergebot label [ready for review]

@GeorgiSTodorov same here :( (reapprove please)


Expose success of L1->L2 transactions in L2 state

Is your feature request related to a problem? Please describe.
Currently, we emit an event when L1->L2 message execution throws an exception on L2.  This allows users to attempt to replay their message, but not with a different gasLimit, which means that it is possible for a transaction to be always failing.  Devs should be able to access this situation where the message was relayed to L2 successfully, but reverted.
Describe the solution you'd like
Instead of the successfulMessages mapping just storing a bool, we could instead store a struct:
struct XDomainMessageStatus {
   bool relayed, // whether or not this message got successfully played on L2 yet
   bool success // whether or not, if relayed, the message reverted
}

Where the relayed bool would be set to true so long as OVM_L2CrossDomainMessenger.relayMessage call is reached, and the success bool would be equal to that of the external call frame.
Describe alternatives you've considered
We could also just have two mappings if backwards compatibility is a concern.  Adding getter functions for each of the struct types would make porting to the new model quite easy for devs though.

Relevant related discussion: https://github.com/ethereum-optimism/optimistic-specs/discussions/112#discussioncomment-2446359
Current plan is to by default route L1-L2 transactions through a "messenger" (name might need changing) on L2, which would implement a replay logic. Every transaction would have enough "guaranteed gas" to be able to register for replay.
How that replay logic works has not been discussed yet.
I expected we want to store a hash of the transaction data.
If we store a hash of (block_height, tx_data) instead, we could force the sender to include a proof that the tx reverted from the receipt. We can't exactly prove it reverted from out-of-gas (I think) though we can get clause if we require the cumulative used gas to be == the gas limit stored in the data.
Since we already have special processing for deposits in the execution engine, maybe it's not too much work to add custom info to the receipt regarding the execution result.


Specify which changes are allowed when a configuration profile is "actve" and save those changes to DB too

Description
Context
When a Configuration Profile gets created, in the DB it only represents a single entity with all the metadata like "name" and "description" but it can still be edited to specify abstract classes, mapping predicates and all the information related to DSO's. This is because this single entity has a single attribute called structure, which is a JSON object  validated by this JSON schema.
When a Configuration Profile gets "activated", which is an option in the UI where all the configuration profiles gets listed, the structure gets parsed in a process for the creation of all the related entities to begin using it. We're talking about the following elements:

The abstract classes with its domains
The mapping predicates with its concepts
The DSO's with the following related entities too:

The agents
The scheme files with the following related entities too:

The concept schemes with its concepts

Core Issue
So when a Configuration Profile is activated, each change through the UI will only reflect in its structure, which is consistent when exporting it, but it's not created into the database as an entity.
Example
Adding an agent or editing its name through the Configuration Profile edit screen will change the JSON structure, and the user will see this change both in the UI and when trying to export the CP. But the agent will not get created or edited because this process is only ran once, when the CP is activated and this is already "active".
Taks
Need to specify what actions are allowed in these cases.
@stuartasutton @jeannekitchens

Would changes after the configuration has been activated have to be done through the configuration profile. Could we not still use the more ad hoc processes that were developed before the notion of configuration dashboard. If no changes can be made to the abstract classes or mapping predicates after project has been activated, then all we are talking about is correcting non-substantive errors and adding DSOs and their associated entities.

Technical Proposal

Allow changing the name of the CP
Allow changing the description of the CP
Block changing the mapping predicates (whole step 2)
Block changing the abstract classes	(whole step 3)
Permit adding new DSO’s
Permit adding new agents
Block removing existing DSO’s
Permit removing existing agents
Permit adding new schema files and linking to abstract classes
Permit changing metadata from schema files
Block removing existing schema files

@stuartasutton @philbarker @jeannekitchens  comments?

The items in the proposal seem reasonable. I think we could live with them, but I have request to consider: for item 3, would be be possible to:
3. a. permit adding new mapping predicates to be added,
3. b. permit changes to the label of a mapping predicate,
3. c. Block removal of existing mapping predicates.

@philbarker, I am assuming that your 3b means maintaining the original URI while permitting changes to the label.

@stuartasutton Yes, same id, different label. (e.g. label might be changed to "don't use me"!)

@stuartasutton @philbarker seams reasonable.

Proposed implementation is below:

Allow changing the name of the CP - Implemented.
Allow changing the description of the CP - Implemented
Block changing the mapping predicates (whole step 2)  -  ** To Be Implemented (see note below)**
Block changing the abstract classes (whole step 3) -  ** To Be Implemented**
Permit adding new DSO’s - Implemented
Permit adding new agents - Implemented
Block removing existing DSO’s - ** To Be Implemented**
Permit removing existing agents - Implemented
Permit adding new schema files and linking to abstract classes - Implemented
Permit changing metadata from schema files - Implemented
Block removing existing schema files -  ** To Be Implemented**

Note on item 3: @philbarker had asked about adding the ability to modify predicate labels and add new predicates.  Because the current system relies only on a file upload, I recommend we defer that functionality to a later phase since the effort to implement is high and the immediate need for it is unclear.

Achievable versions of points 3 & 4 will be added as new issues (enhancements)


Transfer release version 1.1.0

divide RSU module from autonomous vehicle.
It's only a part of release version for now, but it's going to deliver the whole thing later

release version 1.1.0


hotfix/dependency update

Changes/Commits:

def: update flutter_local_notifications to latest version

Updated to ^14.0.0-dev.2 from ^13.0.0

def: updated url_launcher and firebase dependencies

Updated to url_launcher: ^6.1.10 from ^6.1.9
Updated to firebase_core: ^2.10.0 from ^2.4.0
Updated to firebase_messaging: ^14.4.1 from ^14.2.1

flutter test runs fine, and also example.

First of all thank you for your contribution.
We can't accept any contributions, no matter how small, if you haven't signed the CLA that you find in this repo, so please sign either the individual or the corporate CLA and mail it to<EMAIL_ADDRESS>That being said, we can't publish on packages that depend on prereleases, so the flutter_local_notification package cannot be at version 14.0.0-dev.2
Are you doing something that depends on that particular version, that is not possible to do on version 13.0.0?

Ok, I'm going to close this pull request.
Thanks.


Ramone/thirdweb integrate

thirdweb integration chapter plus images

@Ramone-HL this is the error message

02:49:35.488 | Error: Image static/img/docs/integrations/thirdweb-mycontract-dashboard.png used in docs/integrations.md not found.
-- | --

We will fix this, but for now, you can see the new page (without styling) on https://ramone-thirdweb-integrate.evm-documentation.pages.dev/integrations/ by removing the /docs/ from the URL


Android Basics: Next button is missing - tip-calculator

URL of codelab
https://developer.android.com/codelabs/basic-android-kotlin-training-tip-calculator#10
In which task and step of the codelab can this issue be found?
Describe the problem

The comment mentions a Unit Converter but the app was a Tip Calculator
There is no Next button

Steps to reproduce?

Go to...
Click on...
See error...

Versions
Android Studio version:
API version of the emulator:
Additional information
Include screenshots if they would be useful in clarifying the problem.

@artnkfv
Thank you for reporting this issue. It was fixed and published


Multi-select quickpick not handling mouse click events properly in Insiders

When opening as quickpick with multi-select options, the latest Insiders builds only handle click events on the checkbox and not on the row item. In Stable, clicking on the row works as expected. This sounds very similar to https://github.com/microsoft/vscode/issues/170559 and might have the same cause.

Does this issue occur when all extensions are disabled?: Unsure, probably yes

VS Code Version: 1.75.0-insider, Commit: 727d2d32aea02baf7d13fa38787e8ed64dd858d0
OS Version: Windows11(22621.963), macOS Ventura 13.1; using the VS Code in the web

Steps to Reproduce:

Open a quick pick UI with multiple selection options
🐛 Try to click a row and observe that the selection doesn't change
Click on the checkbox and observe the selection does change

This bug was observed with the Codespaces extension, but should happen for any extension/UI using multi-select quick picks.

@jkeech can you update to the latest Insiders from today and try again?

Yes, more fallout from https://github.com/microsoft/vscode/pull/169680/files, apologies


Issue#12

Support timestamp and timestamptz for debezium. But debezium represents the number of milliseconds past epoch, resulting in a loss of precision if the source type has a scale more than 3.

LGTM
Please squash your commits and merge. Well done.

Fix Issue #12


🐛 Bug Report: Kubernetes Backend Plugin causing errors after upgrading from 0.8.0 to 0.9.0

📜 Description
We were recently trying to upgrade our backstage version and ran into an issue with the Kubernetes backend plugin. After upgrading it suddenly started giving us 403 on all calls.
After some digging we found that there was a change in how the url is created which was a breaking change for how our app is configured.
our cluster details url include a route prefix from rancher so https://example.com/k8s/clusters/:id but the call actually being sent out was: https://example.com/apis/apps/v1/deployments?labelSelector=backstage.io/kubernetes-id=xxxx
Looking at the code it seems to be happening here:    url.pathname = resourcePath;
I pulled the repo locally and tested changing it to: url.pathname += resourcePath; and that resolved the issue.
👍 Expected behavior
Expected the resourcePath to be appended to the url
👎 Actual Behavior with Screenshots
resourcePath was replacing the entire pathname.
👟 Reproduction steps
in your Kubernetes config
kubernetes:
  clusterLocatorMethods:
    - type: 'config'
      clusters:
        - url: https://example.com/k8s/clusters/someid

📃 Provide the context for the Bug.
Anything that uses the K8s backend stops working on the latest version.
🖥 Your Environment
Backstage upgraded to version 1.9.1
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

yep this totally makes sense; didn't think about clusters with a base path when I rewrote the Fetcher...

This one had me chasing my tail for a little while but made sense when I saw it. I also checked if maybe there was some sort of prefix option for the resourcePath but didn't seem like it. Not sure If you would prefer to make the change of I should open a PR for it. Either way works for me.

My team doesn't have bandwidth to create a fix immediately so feel free to pick it up. If you don't get to it, we will eventually!

I have a draft tagged just need to work on some adding a test


Vanadium incompatibility

Mod Name
Vanadium
Mod Homepage
https://modrinth.com/mod/vanadium
Describe the bug
minecraft crashing at the launch
Steps to reproduce
1.Add embeddium 0.2.7, lazurite 1.0.1, vanadium to the mods folder
2.Launch minecraft
Logs
https://mclo.gs/ocvjAVv - latest log
https://mclo.gs/JqcWRjD - debug log
Additional context
No response

No crash report

Ok

It's still happening  with embeddium 0.2.9

still happening with latest embeddium beta

How is the issue related to embeddium? From what I can see in the log, it is solely a mixin conflict between Vanadium and Forge.

idk, it never hurts to just check again, in case something has changed


Unknown source of extra Lovelace after unit test run

Describe the bug
My test uses withWalletBalancesCheckSimple to validate the wallet balance after submitting transaction:
withWalletBalancesCheckSimple [w1 := valueSingleton
      ( case
            cAssetClass
          of
            Left _ -> GYLovelace
            Right x -> x
      ) 1 <> valueNegate (valueSingleton fakeGold 100) ] $ do mintOwnerTokenRun cSettings c

But I get the following result with an extra 1667970 lovelace
[error] Generic fail: Wallet: w1.

Old balance: 1000000 02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 + 1000000 01f0ef87e344b733286dfce55cfd7e10c90b57a3b1825c984454ce6a.49726f6e +<PHONE_NUMBER>000 lovelace.

New balance: 1 569c5e8498ee05e8651ad68b6c81f9756852e218933db722ebc72b90.436f6c6f6e794f776e6572 +<PHONE_NUMBER>4095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 + 1000000 01f0ef87e344b733286dfce55cfd7e10c90b57a3b1825c984454ce6a.49726f6e +<PHONE_NUMBER>85 lovelace.

New balance after adding extra lovelaces 1 569c5e8498ee05e8651ad68b6c81f9756852e218933db722ebc72b90.436f6c6f6e794f776e6572 +<PHONE_NUMBER>4095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 + 1000000 01f0ef87e344b733286dfce55cfd7e10c90b57a3b1825c984454ce6a.49726f6e +<PHONE_NUMBER>970 lovelace.

Expected balance difference of 1 569c5e8498ee05e8651ad68b6c81f9756852e218933db722ebc72b90.436f6c6f6e794f776e6572 + -100 02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64, but the actual difference was 1 569c5e8498ee05e8651ad68b6c81f9756852e218933db722ebc72b90.436f6c6f6e794f776e6572 + -100 02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 + 1667970 lovelace

Expected behavior
Successful check of wallet balance.
Station (please complete the following information):

OS: Nix
Version 2.19.2

So your wallet was suppose to lose 100 of 02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64 and gain one of 569c5e8498ee05e8651ad68b6c81f9756852e218933db722ebc72b90.436f6c6f6e794f776e6572, are you sure that in the operation you are doing, wallet is not suppose to receive any ada?

Below is an excerpt of the off-chain code:
return $ fromJust (mustMint (GYMintScript $ colonyMintingPolicy' cSettings stepAddress treasuryAddress colony) redeemer
                             <$> tokenNameFromPlutus (fromMemberTypeToTokenName ColonyOwner)
                             <*> Just (toInteger (length creators)))
           <>
           foldMap mustBeSignedBy creators
           <>
           foldMap mustHaveOutput (GYTxOut <$> (addressFromPubKeyHash GYTestnetPreprod <$> creators)
                                          <*> [fromRight (valueFromLovelace 0) $ valueFromPlutus colonyOwnerToken]
                                          <*> [Just (colonyDatum, GYTxOutUseInlineDatum)]
                                          <*> [Nothing])
           <>
           mustHaveOutput (mkGYTxOut feeAddress (colonyCreationFee' cSettings) colonyDatum)

colonyCreationFee' is the 100 fakeGold (02384095adfb494c4d3b53fad4fc44ce2da4db629c50cf627901b804.476f6c64)
colonyOwnerToken is 569c5e8498ee05e8651ad68b6c81f9756852e218933db722ebc72b90.436f6c6f6e794f776e6572
Could it be that change is being returned to the creator's wallet?
BTW, how do I activate traces? I've stopped seeing them since I bumped atlas to v0.4.0

@Fiftyw3bs Since Atlas unit testing mechanism is revamped, are you still facing this issue?

@sourabhxyz The issue is resolved. It is actually not even an issue. I was just too preoccupied with other things and distracted to realize, that it's just the minimum ada value of 1667970 lovelace required for sending the token to the script address, which is also being deducted from the user wallet.


:bug: Use patch level version in go.mod files

Changes

:bug: Use patch level version in go.mod files

/kind bug
Using the patch level version in go.mod file, sets a minimal required Go version for the project, and resolves some issues around the Go tooling, and allows not to use the toolchain directive which introduces a noise in the PRs.

/override "Mage / Build (1.22)"

/override "Build (1.22)"
Some GH rate limiting kicked on the mage build.

/override codecov/project
The drop in coverage is weird, looks like a quirk of coverage gather.

/approve
/lgtm


Detox not disabling YellowBox when running tests on 0.59.8

Describe the bug
On React Native 0.59.8, I am seeing a weird behavior where I am running tests and YellowBox appears to not be disabled. In every previous instance (most lately 0.57), I have seen YellowBox properly disabled when running E2E tests and this was working just fine. This tells me Detox is not disabling the YellowBox, or is no longer compatible with how React Native does it's warnings, anymore.
Now, given YellowBox is not disabled, warnings pop up and the test gestures try to press where buttons would be if the warnings weren't there. If I console.disableYellowBox = true; all my tests pass, so I'm wondering if this has anything to do with the reimplementation of YellowBox or if there is something I am missing in my mocha/detox config.
To Reproduce

[ X] I have tested this issue on the latest Detox release and it still reproduces

This did not happen on Detox 10/RN 0.57
Config:
"ios.sim.debug": {         "binaryPath": "ios/build/myProject/Build/Products/Debug-iphonesimulator/myProject.app",         "build": "npm run ios -- --simulator=\"iPhone 7\"",         "type": "ios.simulator",         "name": "iPhone 7"       },       "ios.sim.release": {         "binaryPath": "ios/build/myProject/Build/Products/Release-iphonesimulator/twmobile.app",         "build": "xcodebuild -workspace ios/myProject.xcworkspace -scheme myProject -configuration Release -sdk iphonesimulator -derivedDataPath ios/build",         "type": "ios.simulator",         "name": "iPhone 7"       }
Environment (please complete the following information):

Detox: 12.8.0
React Native: 0.59.8
Node: 10.15.3
Device: iPhone 7
Xcode: 10.2
iOS: 12.2
macOS: Mojave

Detox makes no attempt to disable yellow boxes, nor should it. It's your responsibility, as an app owner, to do that. We always recommend building in Release so that you do not hit such issues.


Update Compose CLI application example

Describe the proposed changes

Unreleased project version

Related issue

Related issue or PR in another project

Please take a look

The Compose CLi application example is v1 and out of date. This uses v2 and actually works correctly. This is the same examples used in the Compose Quickstart in the docs.

Deploy preview ready!
Built with commit e17a09ae45b51849435fe86764e1a12fcef23b69
https://deploy-preview-744--docker-docs.netlify.com

hehehe! I was about to do the same change, so thanks for contributing. Once I test this out we'll get it merged.


react hoc documentation incorrect?

https://flow.org/en/docs/react/hoc/
Last example there
//@flow
import * as React from 'react';

function trivialHOC<Config: {}>(
  Component: React.AbstractComponent<Config>,
): React.AbstractComponent<Config> {
  return Component;
}

type DefaultProps = {| foo: number |};
type Props = {...DefaultProps, bar: number};

class MyComponent extends React.Component<Props> {
  static defaultProps: DefaultProps = {foo: 3};
}

const MyEnhancedComponent = trivialHOC<React.Config<Props, DefaultProps>>(MyComponent);

// Ok!
module.exports = MyEnhancedComponent;

copy-paste it to newly created CRA app gives
Cannot build a typed interface for this module. You should annotate the exports of this module with types. Cannot determine the type of this call expression. Please provide an annotation, e.g., by adding a type cast around this expression.Flow(signature-verification-failure)

And in https://flow.org/try/ it shows "No errors!"
Problems with Types-First?  Please advise.

Or how to
export default trivialHOC<React.Config<Props, DefaultProps>>(MyComponent);

Thanks!

You need to explicitly annotate the var MyEnhancedComponent. With types first, flow does not allow inference through a dependencies.
So it would be something like this
type EnhancedProps = {
  foo: number,
  bar: number,
};

const MyEnhancedComponent: React.AbstractComponent<EnhancedProps> = (
  trivialHOC<React.Config<Props, DefaultProps>>(MyComponent)
);

And here's the try
Does that work for you?

Thanks a lot, this does. 2 more questions pls:

type Props is already declared, so why it isn't enough just

const MyEnhancedComponent: React.AbstractComponent<Props> =

Maybe add this into HOC docs with reference to types-first?

type Props is already declared, so why it isn't enough just

const MyEnhancedComponent: React.AbstractComponent<Props> =

Seems like you can just do this and it works too, suppose I was just showing a fully example but do whatever you like to create your prop interface 😄

And the reason HOC docs are wrong I imagine is because HoCs are not really the standard in react given the introduction of hooks and types first came out AFTER hooks so maybe either no one noticed or no one bothered 😓 . But would you be keen to update the docs given they effect you? Otherwise maybe it's something I can put on my todo list

We now have docs on how to deal with the missing annot error


Robustify online calibration

Online calibration causes odometry to fail pretty frequently. Steps to debug this:

log the calibrations on graph updates, identify if the calibration gets skewed a lot when odom gets out of wack
print how many constraints are connected to the calibrations
maybe increase the priors on the calibrations, or we need to add more priors to them

We want to run online calibration so we can output the calibrations at the end for hopefully improved calibrations


Google Analytics - cordova_not_available

Ionic version:  (check one with "x")
[ ] 1.x
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[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/
Current behavior:
An error in the browser screen:
Runtime Error
Uncaught (in promise): cordova_not_available

Expected behavior:
No error. I should be able to see  my application
Steps to reproduce:

Create a new Ionic 3 project (I used ionic start --v3 myApp)
Follow the steps from https://ionicframework.com/docs/native/google-analytics/
2.1 ionic plugin add cordova-plugin-google-analytics
2.2 npm install --save @ionic-native/google-analytics
2.3. Add the sample snippet code
2.4 Run ionic serve

Related code:
platform.ready().then(() => {
      this.ga.startTrackerWithId(myCode).then(() => {
        statusBar.styleDefault();
        splashScreen.hide();
      });
    });

Other information:
Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
Cordova CLI: 6.5.0
Ionic Framework Version: 3.0.1
Ionic CLI Version: 2.2.2
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.0
ios-deploy version: 1.9.1
ios-sim version: 5.0.13
OS: macOS Sierra
Node Version: v6.10.0
Xcode version: Xcode 8.3 Build version 8E162

This issue was moved to driftyco/ionic-native#1353


Insane CPU usage

I can't seem to reproduce this. I'm assuming you're using the latest version of both Nim and discordnim?

yes. bot is on 2 guilds

If you're using the basic_bot example, did you change anything in the code?

I've pushed some changes to the library. Update and check if that changes anything, I suppose.


fix inconsistencies in UG

Codecov Report

Merging #241 (7e03fee) into master (d0ab196) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #241   +/-   ##
=========================================
  Coverage     71.21%   71.21%
  Complexity      794      794
=========================================
  Files           130      130
  Lines          2505     2505
  Branches        295      295
=========================================
  Hits           1784     1784
  Misses          578      578
  Partials        143      143

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 d0ab196...7e03fee. Read the comment docs.

LGTM, thanks for making the changes!


(PDFCreator) hangs during installation (3.3.0, 3.3.2)

Expected Behavior
Unattended installation

Current Behavior
The installer hangs because of a popup showing that a new version is available.

Possible Solution
use /VERYSILENT as installation argument

Steps to Reproduce (for bugs)

choco install pdfcreator

Context
Unattended installation of PDFCreator

Your Environment

Package Version used: 3.3.0
Operating System and version: Windows 7 / Windows 10
Chocolatey version: v0.10.11
Install/uninstall gist:

use /VERYSILENT as installation argument

this is something we actually used in the past, and I suggested to continue to use.
But unfortunately I was overruled here, and an autohotkey script was added instead.
See https://github.com/chocolatey/chocolatey-coreteampackages/issues/1065 and https://github.com/chocolatey/chocolatey-coreteampackages/pull/1079

Of course they are still available, just not when the windows user is in a domain.
If you see the comment after the one you reference, the log explicitly says:

PDFCreator doesn't support silent installations in Windows domains anymore! Please use PDFCreator Business. Find more information here: https://go.pdfforge.org/pdfcreator-business/upgrade

No extra packages please. Dependency on AHK is not a big issue as many packages already have it and its already on the system for majority of users and if not, it is tiny.
I think second option should be used, and AHK script should be fixed to take popup into account.

I submitted a PR that should resolve this issue using 2. above.  I'm not very well versed in GIT, so I'm not sure if the failed checks and conflicts are something I need to do something about or an expected result.
Hope I'm being helpful.


[doc] Comparison to ApplySyntax

Any chance you could add a brief comparison of AutoSetSyntax and ApplySyntax to the docs to help users make an informed choice about your great plugins?
Thank you!

The major problem is that I have never used ApplySyntax (since the very first commit of AutoSetSyntax is before ApplySyntax's), so I can't tell precisely what's the difference. But I did read its doc when I created v2. From what I read, I think
Pros

Infinite level nested rule definition (usually, one level is enough though)
Machine learning based syntax guessing (i.e., guesslang. this comes from VSCode and VSCode has it default enabled so I think it's mature enough for production but I still have it default disabled as a opt-in)

Cons

The configuration is cumbersome.

Others are more of style differences and should be convert-able between these two plugins.
Such as custom plugin: AutoSetSyntax = classes, ApplySyntax = functions

have never used ApplySyntax

Oh, ok, I just assumed otherwise since you mentioned it as an inspiration

Oh, ok, I just assumed otherwise since you mentioned it as an inspiration

Inspiration from docs :D

By the way, one thing I've noticed that your plugin does that ApplySyntax doesn't — yours includes extension in the set of rules, so you match "all" filter applies to it, while in ApplySyntax it's not part of the rules, so a first_line rule will match any extension regardless of the extension syntax setting


[JOSS] Small changes to paper.md

The paper looks good. I added the ROR for your institution, expanded USA, and changed a few references from the [@xxx] format to @xxx since they should appear directly in the text without parentheses.
I think it might be worth citing the NumPy paper, since you mention the library multiple time and it is used for a comparison implementation.

Thanks for the adjustments! @RMeli
I wasn't aware of the ROR identifiers. They look very interesting and useful.
I will add the numpy citation.


troubles with given example

Hi
Python 3.5
Django 1.9b1
Linux
django-organizations - current from github
Ordinar use (just adding organizations in INSTALLED_APPS and migrate) works fine. Invitations and so on
Trying to do ./manage.py migrate in given repo's example with accounts and vendors bring this error to me:
$ ./manage.py migrate
Traceback (most recent call last):
  File "./manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
    utility.execute()
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/management/__init__.py", line 342, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/management/base.py", line 348, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/management/base.py", line 398, in execute
    self.check()
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/management/base.py", line 426, in check
    include_deployment_checks=include_deployment_checks,
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/checks/registry.py", line 75, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/checks/urls.py", line 10, in check_url_config
    return check_resolver(resolver)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/checks/urls.py", line 19, in check_resolver
    for pattern in resolver.url_patterns:
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/urlresolvers.py", line 417, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/utils/functional.py", line 33, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/core/urlresolvers.py", line 410, in urlconf_module
    return import_module(self.urlconf_name)
  File "/home/user/.pyenv/versions/3.5.0/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 662, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/user/PP/example/conf/urls.py", line 4, in <module>
    from organizations.backends import invitation_backend, registration_backend
  File "/home/user/.pyenv/versions/proj/src/django-organizations/organizations/backends/__init__.py", line 28, in <module>
    from organizations.app_settings import (ORGS_INVITATION_BACKEND,
  File "/home/user/.pyenv/versions/proj/src/django-organizations/organizations/app_settings.py", line 29, in <module>
    from .utils import model_field_attr
  File "/home/user/.pyenv/versions/proj/src/django-organizations/organizations/utils.py", line 26, in <module>
    from .models import Organization
  File "/home/user/.pyenv/versions/proj/src/django-organizations/organizations/models.py", line 77, in <module>
    class Organization(OrganizationBase, TimeStampedModel):
  File "/home/user/.pyenv/versions/proj/src/django-organizations/organizations/base.py", line 77, in __new__
    model = super(OrgMeta, cls).__new__(cls, name, bases, attrs)
  File "/home/user/.pyenv/versions/proj/lib/python3.5/site-packages/django/db/models/base.py", line 103, in __new__
    "application was loaded. " % (module, name))
RuntimeError: Model class organizations.models.Organization doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded.

My goal is to customize organizations model by adding needed fields.

Add 'organizations' to installed apps.


[border-agent] auto start/stop border agent

This PR mainly allows starting otbr-agent before wpantund is started.

updated to latest OpenThread

Codecov Report

Merging #267 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #267   +/-   ##
=======================================
  Coverage   90.95%   90.95%
=======================================
  Files          18       18
  Lines         752      752
=======================================
  Hits          684      684
  Misses         68       68

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 e22d81d...ff0d990. Read the comment docs.


feat: Custom schema for SQL query visualization

This PR adds support for defining custom schema in the SQL CodeView. Previously, querying only on the lineitem table was allowed through SQL in the fiddle, but with this feature, different table schemas can be defined and queries can be visualized.

Can we add docstrings to some of python functions to get a better understanding of what they're doing?

Can we add docstrings to some of python functions to get a better understanding of what they're doing?

Yes, considering the big change, docstrings will be good for giving a better understanding of the workflow. I will add them.


fails to generate badge for 0% coverage

First of all, I'd like to thank you for this excellent package, this is absolutely great! Everything seems to work just fine, except I've noticed that if coverage is 0%, the badge isn't generated and hence substitution doesn't take place. For example, in my case, I had the following results:
=============================== Coverage summary ===============================
Statements   : 6.25% ( 1/16 )
Branches     : 0% ( 0/4 )
Functions    : 20% ( 1/5 )
Lines        : 7.14% ( 1/14 )
================================================================================
Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   1 passed, 1 total
Time:        6.294s
Ran all test suites.

This resulted in

Statements
Functions
Lines
Branches

Thanks

It seems this is also true for 100% coverage! Again, I experienced this on the coverage for Branches

Hey, first of all, sorry for the delay!
Thank you for the detailed explanation. I will look into it!

Hello again, mister @engineervix, could you please give another try using version 1.0.6?
https://github.com/olavoparno/istanbul-badges-readme/releases/tag/v1.0.6
https://www.npmjs.com/package/istanbul-badges-readme/v/1.0.6

Adds @engineervix as a contributor for bug reporting

@all-contributors please add @engineervix for bug reporting.

Hello again, mister @engineervix, could you please give another try using version 1.0.6?
https://github.com/olavoparno/istanbul-badges-readme/releases/tag/v1.0.6
https://www.npmjs.com/package/istanbul-badges-readme/v/1.0.6

Hey @olavoparno, thank you so much for looking into this, and for adding me to the list of contributors! I can confirm that v1.0.6 fixes the problem! :smiley: :raised_hands: Muito obrigado!


can't render local camera on android more than once

I tried the android library, I am using Join Group and it works fine for the first time, but after that it doesn't render local camera, no matter, there are no errors, and the renderer is creating native view, but it just doesn't show anything. I tried to dispose the call, the camera, the agent, the device manager, some of them, all of them, still no luck.
Edit 1,
After experimenting, the second call will succeed if I chose another camera next time. so the problem is the camera disposing not happening: VideoDeviceInfo.Dispose() not doing anything
Edit2,
disposing local renderer make it work
Edit3,
using wrapper method to dispose objects like this Dispose(IDisposable obj) will not work, while Dispose(dynamice obj) will work

Hey @MhAllan , not sure Im reading your edits correctly, but did you make it work by disposing the local renderer?
Not sure I understand what you mean by edit nr 3...
The example app should work fine with multiple repeated calls to a group conv?

Yes it works if we dispose the renderer, I was using helper method to dispose the objects
void Dispose(IDisposable obj)
{
    if(obj == null) return;
    try
    {
         obj.Dispose();
    }
    catch(Exception ex)
    {
        _logger.LogError(ex);
    }
}

surprisingly, that doesn't dispose the objects, the camera will keep running. but if you dispose the objects directly without this helper method _camera.Dispose() or changed the signature of that helper method to void Dispose(dynamice obj) then it will work. It is very weird

@MhAllan Since you can explicitly implement interfaces(like IDisposable) calling ((IDisposable)obj)Dispose() and obj.Dispose() doesnt have to be calling the same method... Im assuming this is an effect of the binding, will try to have a look  when I get around to upgrading android lib to latest ACS version.

should be fixed in the latest releases


[POC] A draft version for the search serializer to collect feedback

/azp run java - search - tests


RE: Darkness of Hallowvale Missing Item

Hi, I'm recreating the Issue for this because the issue was closed on the same day and never fixed.(Link to original issue: https://github.com/Zoinkwiz/quest-helper/issues/372)
As described in the original issue: "Under Mapping Castle Drakan section returning to the Myreque base, the route takes you through the Daeyalt Mine shortcut but does not tell you to bring a pickaxe."
This obviously leads to time being wasted among other things like confusion. I have never done this quest I had no idea that you had to bring a pickaxe and so my time was wasted teleporting back to a bank to get a pick and running all the way back. It would be nice if under item requirements you were to add "Any Pickaxe" and under the section Mapping Castle Drakan you were to add the "Any Pickaxe" to "requirement to Bring the following items:"
Thank you.

This was likely closed last time since the item is in the code just not put as a requirement. It's only used during the portion when you're in the mine. Which is technically true, it's not necessary. You can get this from one of the nearby miners when in the mine. So I've added it to the recommended items for this quest, and the following two others (sins of the father and a taste of hope).
As always thanks for the feedback!