DynamoDB Storage Issue

I'm trying to import a DynamoDB table as an Amplify storage option, but am facing issues simply listing the entries of the table.
Amplify CLI Version
4.41.1
To Reproduce

Use https://docs.amplify.aws/cli/storage/import#import-an-existing-dynamodb-table to import a table
Push
Try to list all the entries using:

Storage.list('') // for listing ALL files without prefix, pass '' instead
    .then(result => console.log(result))
    .catch(err => console.log(err));

Expected behavior
Expected for my database entries to be listed.
Desktop (please complete the following information):
On Cloud9 environment
Additional context
In the console, I'm getting the following warning, which is specific to S3 bucket imports I think:
MissingRequiredParameter: Missing required key 'Bucket' in params

The client operation you are running (Storage.list) only works with S3 not DynamoDB. You need to connect your DynamoDB table up to a REST or GraphQL API to call it from a client.

The client operation you are running (Storage.list) only works with S3 not DynamoDB. You need to connect your DynamoDB table up to a REST or GraphQL API to call it from a client.

I see, thank you! I have my table set up in AppSync, and want to import it (rather than remove the table currently created by my Amplify environment. I think in that case I can't simply use amplify add codegen --apiId right?
What would you recommend in this case?

I see, thank you! I have my table set up in AppSync, and want to import it (rather than remove the table currently created by my Amplify environment. I think in that case I can't simply use amplify add codegen --apiId right?
What would you recommend in this case?

@schko what is the exact use case you are trying to solve? You have an AppSync API deployed by "Project A" and you like to use the same AppSync API from "Project B"?
I would suggest to not to access the DynamoDB table directly if you are accessing and changing data through AppSync API, since you can end up in hard to debug problems with your data. If you just like to read the data directly, but not modifying it when accessing the table directly, that's a better case.

@schko what is the exact use case you are trying to solve? You have an AppSync API deployed by "Project A" and you like to use the same AppSync API from "Project B"?
I would suggest to not to access the DynamoDB table directly if you are accessing and changing data through AppSync API, since you can end up in hard to debug problems with your data. If you just like to read the data directly, but not modifying it when accessing the table directly, that's a better case.

Closing due to lack of further communication/response.

Closing due to lack of further communication/response.


Null Pointer Exception in Structure Editor

Describe the bug
When editing a cell in the last column of any row of the Structure Editor, hitting TAB causes uncaught null pointer exception
To Reproduce
Steps to reproduce the behavior:

Edit some structure
Enter some non-empty value in the last column of some row (typically Comment, but can be some other column if you have reordered columns).
While still in that cell, enter the TAB character on your keyboard
A pop-up appears for an unhandled exception.

Expected behavior
Other than the last column, TAB finishes the edit of that cell and takes you to edit the next column.  In the last column, TAB should take you to the first column of the next row (as it does if you are merely selecting cells but not editing them, and tabbing from one to the next).
Error information
From the pop-up:
Uncaught Exception!
java.lang.NullPointerException

Build Date: 2019-Dec-18 1306 EST
Ghidra Version: 9.1.1
Java Home: /Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
JVM Version: Oracle Corporation 12
OS: Mac OS X 10.14.6 x86_64
Environment (please complete the following information):

OS: 10.14.6 x86_64
Java Version: 12
Ghidra Version: 9.1.1

Additional context
This bug existed in 9.1 as well.
This is a low priority bug (only an annoyance), but I expect it will be easy to fix.
To get the error, you have to be editing the cell (the cell is normal video (ie, the cell has black text on white background), while the rest of the line is in reverse video), not just simply have the cell selected (the cell & rest of line are reverse video, with a box around the cell).  There is no error if you tab from cell to cell without ever editing the content.
If I reorder columns so an editable column(Name) is followed by an uneditable column(Offset), I do not get the error tabbing out of the editable column.  So I suspect the error has to do with the fact that you're in the last column of the row, rather than the next column (ie, the first column in the next row, typically Offset) is uneditable.

This may have been fixed in a recent commit after the release of 9.1.1 as I cannot reproduce it. I have previously seen it though.

I believe this has been fixed


initial merge proposal

Here is a merge request to sync updates from carbon into the main fabric repo, this will include the following changes:

adding time-series update handling
adding data model handling
adding unit tests

Pulled the branch and verified that the ts and dm replicators work as expected.


Icon svg button

I would like to request Icon svg  button
Similar to
https://chakra-ui.com/iconbutton

I've marked this as a question as I don't believe that Reakit should provide a specific component for this. Reakit provides low level primitives and an IconButton can be easily accomplished in userland.
By the way, if you have general questions about how to use Reakit then you can ask in GitHub discussions


Those anyone here know how to install kickthemout in ubuntu 16.04?

I try to install kickthemout in ubuntu 16.04 using debian guide and i install all requirements
scapy-python3
python-nmap
netifaces
but i face error

kaganovich@xKaganovich:~/kickthemout$ sudo python3 kickthemout.py

ERROR: Requirements have not been satisfied properly. Please look at the README file for configuration instructions.
If you still cannot resolve this error, please submit an issue here:
https://github.com/k4m4/kickthemout/issues
Details: No module named 'scapy.config'

Same error in ArchLinux using AUR package: https://aur.archlinux.org/packages/kickthemout-git

Hey guys. Please try to reinstall KickThemOut and all its dependencies; I have upgraded Scapy to the latest Kamene build which should resolve this dependency error. Please re-open the issue if the problem persists. Thanks!


Button to add media from media library to zPage

There is already a button to upload new files/images to a zPage inside the editor. This is a very helpful option.  However, some power users may have media assets that they have already uploaded that they would like to reuse.  It would be useful to have an additional button to grab something from your existing media library and add it to the post.
Media button.pdf

Agree, was looking for it also once then understood it didnt exist.

This is done


[FEATURE REQUEST] Be able to use all the Portainer built-in functionalities in all the containers running in a swarm cluster

Description
Currently when running under Docker Swarm mode portainer has visibility of services and their tasks, but from the task you cannot get the logs/ssh session/etc.
In the container tab you have only access to the containers running in the host where Portainer is connected. In case you want to get this functionality on containers running on other nodes of the cluster you need to add manually the connection details, which is not a valid solution in an elastic swarm cluster where nodes are added and removed continuously.
Proposal: From the service tags, when going to the tasks list, get the same functionalities than we currently have in the containers section.
Probably in the future Docker will add more built-in functionalities to support this natively, but I have not seen this feature in their roadmap. It shouldn't be so hard to get a working solution with not so much effort.
How to do it?
Thanks to the "global service" concept in Swarm mode we can run a service ensuring that each node is running a service task. In case the cluster adds more nodes is Swarm the responsible of launch a new task in the node, it's totally automatic.
Thanks to this and the possibility to expose the docker socket via a service it shouldn't be so hard to Portainer to connect to each task of this service.
Technical details:
Being more concrete, if I launch this configuration:
docker network create --driver overlay portainer

# It exposes the docker socket in the "portainer" network, you can reach each of them individually with the DNS name "tasks.docker-proxy".
docker service create --name docker-proxy \
    --mode global \
    --network portainer\
    --mount "type=bind,source=/var/run/docker.sock,target=/var/run/docker.sock" \
    rancher/socat-docker

# Portainer with the proposed feature
docker \
  service create \
  --name portainer \
  --network portainer \
  --publish 9000:9000 \
  --constraint 'node.role == manager' \
  --mount type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
  portainer/portainer \
  --docker-proxy-service-name docker-proxy

This version of portainer is aware of the docker-proxy service, then internally doing a DNS call like:
nslookup tasks.docker-proxy

Name:      tasks.docker-proxy
Address 1: <IP_ADDRESS> docker-proxy.0.1qcw37fl32f57c8m8r05h0z6c.portainer
Address 2: <IP_ADDRESS> docker-proxy.1.aiof234849jfklasdfjlfjal2a0fja.portainer
...
Address 10: <IP_ADDRESS> docker-proxy.9.fjaoifj92fkjfoa9fjqka84rhra.portainer

Once knowing the endpoint you can connect to each docker daemon in the same way you connect to the local socket daemon in the addresses <IP_ADDRESS>:2375, <IP_ADDRESS>:2375, etc.

Target Docker version (the host/cluster you manage): 1.12+

Thanks for the proposal ! This is a major evolution, at least at a functional level, we'll be able to discuss it here.

Update on this one, starting from Docker 1.13 the /nodes API exposes the IP addresses of all the nodes. Portainer can then query all the nodes and aggregate the response to get all the containers in the cluster.

If you use external IP of all nodes in the cluster, you have to get TLS certificates too for requesting API on port 2376
Or, like @bvis proposed, create a global service in same network of portainer with a docker-proxy and access them internally

An extra thought on using the IP addresses of the nodes exposed by the API:
A swarm mode enabled cluster can be created with only the manager exposing the port 2375 to manage the cluster, all workers can run and expose only the Linux socket. So this approach cannot be used.

all workers can run and expose only the Linux socket
What if manually configure worker to open TCP/IP port? For example in docker.socket:
[Socket]
ListenStream=<IP_ADDRESS>:2376

Well yes, but what's the difference with configuring your daemon here?
We want this integration to be simple and transparent for the user, no configuration required.

I dont understand. How can I see all containers in cluster now? And why dont implement this feature based on manually worker configuration? Yes, it's not very easy, but at least it probably will work.

@man4j that's simple, at the moment you can't see all the containers in the cluster because the Docker API does not expose that (see it as the equivalent of docker ps -a on your Swarm manager, this will only list the containers running on that node).
The motto of Portainer is: simplicity. We should be able to add this feature in Portainer and make it simple and easy to enable for our users.
Besides, even if you enable a worker on TCP/IP (which might be your case only), some users will use TLS setup, others will want to secure their workers by not enabling a TCP socket on them. We need to provide a solution that works for all the cases.

Yes, of course users must enable TCP socket + TLS for this feature ) Why not? Or another way - configure servers to access each other across ssh without passwords (using keys). Yes, it's not very simple, but very important for production usage of Portainer.

I think it's complicated today to detect swarm cluster endpoint list (with access), based on existing API
I think the easiest solution may be to define endpoints with new option, like that :
[
  {
    "Name": "docker1 - manager",
    "URL": "tcp://docker1:2376",
    "TLS": true,
    "TLSCACert": "/certs/docker1/docker1.pem",
    "TLSCert": "/certs/docker1/docker1.pem",
    "TLSKey": "/certs/docker1/docker1.key",
    "SwarmEndPoints": [
      "docker1 - manager",
      "docker2 - manager",
      "docker3 - worker",
      "docker4 - worker"
    ]
  },
  {
    "Name": "docker2 - manager",
    "URL": "tcp://docker2:2376",
    "TLS": true,
    "TLSCACert": "/certs/docker2/docker2.pem",
    "TLSCert": "/certs/docker2/docker2.pem",
    "TLSKey": "/certs/docker2/docker2.key",
    "SwarmEndPoints": [
      "docker1 - manager",
      "docker2 - manager",
      "docker3 - worker",
      "docker4 - worker"
    ]
  },
  {
    "Name": "docker3 - worker",
    "URL": "tcp://docker3:2376",
    "TLS": true,
    "TLSCACert": "/certs/docker3/docker3.pem",
    "TLSCert": "/certs/docker3/docker3.pem",
    "TLSKey": "/certs/docker3/docker3.key"
  },
  {
    "Name": "docker4 - worker",
    "URL": "tcp://docker4:2376",
    "TLS": true,
    "TLSCACert": "/certs/docker4/docker1.pem",
    "TLSCert": "/certs/docker4/docker1.pem",
    "TLSKey": "/certs/docker4/docker1.key"
  },
]

Like the machanism of the endpoints.json file, it could be interesting if portainer can check for DNS-SRV records to auto discover endpoints
Docker swarm by default embed a DNS server for communication between containers.
For example, if you have a global service named cadvisor, you can list all containers with :
nslookup tasks.cadvisor
Server:    <IP_ADDRESS>
Address 1: <IP_ADDRESS>

Name:      tasks.cadvisor
Address 1: <IP_ADDRESS> stack_cadvisor.lqjx3f5bh61o6htsept82b0s2.zhwfgb6yqowzjcxnvbpi2ab71.stack
Address 2: <IP_ADDRESS> stack_cadvisor.sia1o72aa0esh0r7cpz2zrop6.qjna1uansg2g3n4i04bqoivop.stack

Prometheus, for example, use that to discover targets dynamically
I think it could be great if we can propose a stack (docker-compose v3) with portainer and a socat like global service
In one command, we got portainer auto-discovering our nodes in the swarm cluster
Info on prometheus :
https://prometheus.io/blog/2015/06/01/advanced-service-discovery/#discovery-with-dns-srv-records

Latest thoughts on the subject.
Functional goals

Ability to list all containers running in the cluster when accessing the containers view
Ability to execute operations on any container in the cluster from the containers view
Ability to inspect and execute operations on any container in the cluster from the container-details view
Should be simple to enable: when creating an endpoint, a user will be able to tick a "Swarm cluster" checkbox. This will enable this capability on the endpoint.

Proposition
Implementation proposition.
Global service
Deploy a global portainer-agent service in the cluster using mode=host when publishing the port so that querying each node will actually talk to the agent located on that node.
Each container would bind mount the local Docker socket and expose the Docker API on a port on each node.
As authentication and UAC is stored inside the main Portainer instance, any query must be executed against the Portainer instance.

In this context, the aggregated response would have applied UAC and filter access to resources.
Service creation would be something similar to:
$ docker service create \
    --name portainer-agent \
    --publish mode=host,target=9001,published=9001 \
    --mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \
    portainer/portainer-agent

Registering agents
Multiple solutions can be used to register the agents into the main Portainer instance:

(A): Use the Docker API to list all nodes in the cluster via the /nodes endpoint, IP address of each node is exposed in the Status.Addr field (note: this is only available in Docker API > 1.24 or Docker version >= 1.13)

(B): Create a /agent in Portainer API so that an agent can register itself to the main Portainer instance once started. This requires an extra parameter when starting the agent: the location of the Portainer API (IP/URL + port).

(C): Use DNS-SRV records as suggested by @WTFKr0

Still need to figure out which way would be the best. Note that I'm not sure how to retrieve the Portainer API location in (B) (should we use the browser URL ? e.g. when browsing http://myportainer.domain:com API should be located at myportainer.domain.com/api).
Security considerations
By default, Swarm workers only expose the Docker engine via the socket. Adding an agent on each node in the cluster would expose the API on a public port, so each node would be exposed publicly.
Now, I don't think that anybody would want that. Here is a proposition for a secured setup:

Each node (manager/worker) in the cluster should expose the Docker engine on the socket only
Portainer should be started as a service on manager using a socket bind mount
Communication between the main Portainer instance and agents should be secured

We could secure the communication between the agents using the following methods:

use TCP + SSL to communicate with agents (Docker API response would be encoded on the agent and decoded on the main Portainer instance)
secure the HTTP API of each agents with TLS

Extra considerations
A list of thing that we still need to think about:

How to refresh the list of agents ? E.g. when nodes are added/removed, should we add the ability to click on a 'refresh' button in the endpoints view for example?
When querying an operation such as inspect a container on a specific container, the agent where the container is running should be queried directly (we should not query each agent/node in the cluster). I think that we'll need to decorate the request to handle that.

I propose to consider gRPC protocol for secure and fast communication. http://www.grpc.io/

I've been following this with interest as it would make Portainer much more useful to us.
Rather than needing to expose each instance with mode=host which has significant security implications, could you use a swarm overlay network for the intra-portainer communication, and then just need to expose the "master" instance on the host?
If it's any use, for another project I used Nginx with SSL certificates to proxy the Docker socket ports.  Something similar would mean you would only need to run portainer on the "master", with a "socket-proxy" container on the overlay networks.  This proxies all the REST calls OK but  I don't know if it would work with the tty/shell remote access.

@markvr I've updated my post, indeed using an overlay network would actually be a better choice.

@rreinurm @bvis extra-thoughts:
Deploying agents in an overlay network might work well when deploying Portainer inside that network as a service. But Portainer aims to manage different Swarm clusters from the same instance... using this solution won't work in that case.
We might want to be able to support both:

Agent deployment inside an overlay network so that users with only one cluster can deploy Portainer as a service and all its agent inside that cluster
Agent deployment with port exposed publicy so that Portainer can manage the cluster without being deployed into that cluster

In both cases, it's a simple deployment configuration for the agent but it impacts how the agents will be registered inside the Portainer instance (the DNS-SRV records solution is working for the first case only, so we need to determine a solution to register agents that will support both cases).

Hi all
Thinking of that, I think we need a more independent solution, or an other portainer project
Like a swarm aggregator project
The idea is to provide a compose file deploying 2 services

a global socat
a replicated aggregator

aggregator should discover socat agents by dns-srv
aggregator should handle as many as possible docker api calls and then communicate to agents to do actions and concatenate responses
we have to establish rules on api calls
container list seems a good starts, as it call list on all agents, then append agent name somewhere in response
but what we do with create/delete containers ?
Then we can tell users to start this compose on swarm cluster, and plug portainer as usual to th aggregator endpoint
I think this feature is too big to be just a portainer feature, but i'm kind to work on that in future :smile:
WDYT ?

@WTFKr0 I'd rather keep it simple by having only an agent to deploy inside the cluster. As long as the connection between the main Portainer instance and the agents is secured, exposing ports will be OK.
Portainer's motto is to keep things simple, from usage to deployment (and development as well ;-))
I'd also like to be able to use that agent on a standalone Docker host for the following reasons:

Expose the Docker API without having to configure your Docker engine (a lot of beginners with Docker have trouble with this)
Collect node metrics (for Swarm usage as well), this would allow us to display some metrics about the nodes (cpu, mem, net usage for example)

I'd bet for simplification and split this huge task in two.
a. Use the internal global agent to provide the data for the "local swarm". It simplifies all the security concerns and autodiscovery.
b. Connect to other cluster agents: This means you'll need to provide a way to connect both sides. One possible approach is to generate a token in Portainer for particular agents, in a similar way a swarm cluster is created.

Hi, thanks to the new Portainer API I've created an image that allows to register automatically all the nodes in a swarm cluster. You can try it here: https://github.com/softonic/portainer-endpoint

here's a docker entrypoint script that automatically wires up the endpoints for all the nodes in a docker swarm. if swarm nodes change, just restart the container and it'll update the endpoints.
#!/bin/sh

# clear out any previous endpoints, just in case
rm -rf /endpoints
mkdir -p /endpoints

manager_num=0
worker_num=0
# iterate over swarm node ips to generate external-endpoints file
for addr in $(curl -s --unix-socket /var/run/docker.sock http://v1.24/nodes | jq -r 'map("\(.Spec.Role)|\(.Status.Addr)") | .[]'); do
  if test "${addr#*manager}" != "$addr"; then
    manager_num=$((manager_num+1))
    IP=${addr#*manager|}
    cat << EOF > /endpoints/manager-$manager_num.json
{
  "Name": "manager-$manager_num",
  "URL": "tcp://$IP:2376",
  "TLS": true,
  "TLSSkipVerify": true,
  "TLSCACert": "/.secrets/$TLS_CA_CERT",
  "TLSCert": "/.secrets/$TLS_CERT",
  "TLSKey": "/.secrets/$TLS_KEY"
}
EOF
  elif test "${addr#*worker}" != "$addr"; then
    worker_num=$((worker_num+1))
    IP=${addr#*worker|}
    cat << EOF > /endpoints/worker-$worker_num.json
{
  "Name": "worker-$worker_num",
  "URL": "tcp://$IP:2376",
  "TLS": true,
  "TLSSkipVerify": true,
  "TLSCACert": "/.secrets/$TLS_CA_CERT",
  "TLSCert": "/.secrets/$TLS_CERT",
  "TLSKey": "/.secrets/$TLS_KEY"
}
EOF
  fi
done

# combine all the json files into one file that portainer understands
jq --slurp '[.[]]' /endpoints/*.json > /endpoints/all.json

exec /portainer --external-endpoints /endpoints/all.json

just need to mount a volume for /var/run/docker.sock and run portainer on a manager node for this to work.  also need jq and curl packages installed.
also :+1: for adding this ability natively in portainer :)

This would really bring Portainer on par with UCP - the fine-grained ACLs for services and thereby the tasks and their logs/console - making it incredibly useful for the dev teams. 👍

Tried @bvis's solution and it works perfectly well, albeit an issue with nodes re-registering with a different ID which throws off the ACLs a bit. But as a POC it works very well with the node auto registration and routing the commands through the remote Docker sock. Guess, can have the container view features on tasks with this system in place.

Hey
I think that we need to ask a few questions on that before choosing a solution
Does portainer goal is to manage multiple swarm cluster ?
Do we want an agent or agentless solution ?
I think about 3 solutions :
1) Agentless / Multi swarm
This solution does'nt need user to deploy agent on each node, but have a configuration cost
User have to add all nodes endpoints in portainer, so portainer need access to all endpoints too
Once all endpoints are knowned by portainer, a new configuration can linked them so that portainer know cluster composition
When user query container list on a node, portainer can query all cluster nodes to have a global view of those items
2) Agent / Multi swarm
This solution is the more complicated but also the more powerfull
The goal is to deploy 2 services by targeted swarm cluster
A global agent (socat type), that expose docker node docker in the overlay network to the second service
A new developped service that is expose securely like docker port 2376
This new service listen to portainer requests, forward to the right node and send back response
In portainer, the only thing we have to add is then an endpoint to that last service
I think it's like that UCP work, it expose a new unique secure endpoint that docker client can talk to
When in an UCP env you do docker ps, you see all containers in swarm
3) Agent / Unique swarm
This solution is a simpliest version of 2
We need to deploy a global service (socat type) in the same overlay network as portainer
Portainer can now discover nodes and talk to them
But this requires running portainer in the same managed swarm cluster

for sure Option 2... agent, multi-swarm...
Sent from my iPad
On 26/11/2017, at 6:44 PM, Thomas Krzero <notifications<EMAIL_ADDRESS>wrote:
Hey
I think that we need to ask a few questions on that before choosing a solution
Does portainer goal is to manage multiple swarm cluster ?
Do we want an agent or agentless solution ?
I think about 3 solutions :

Agentless / Multi swarm

This solution does'nt need user to deploy agent on each node, but have a configuration cost
User have to add all nodes endpoints in portainer, so portainer need access to all endpoints too
Once all endpoints are knowned by portainer, a new configuration can linked them so that portainer know cluster composition
When user query container list on a node, portainer can query all cluster nodes to have a global view of those items

Agent / Multi swarm

This solution is the more complicated but also the more powerfull
The goal is to deploy 2 services by targeted swarm cluster
A global agent (socat type), that expose docker node docker in the overlay network to the second service
A new developped service that is expose securely like docker port 2376
This new service listen to portainer requests, forward to the right node and send back response
In portainer, the only thing we have to add is then an endpoint to that last service
I think it's like that UCP work, it expose a new unique secure endpoint that docker client can talk to
When in an UCP env you do docker ps, you see all containers in swarm

Agent / Unique swarm

This solution is a simpliest version of 2
We need to deploy a global service (socat type) in the same overlay network as portainer
Portainer can now discover nodes and talk to them
But this requires running portainer in the same managed swarm cluster
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_461-23issuecomment-2D347002726&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=l0z2d2tS_xs2Pa90GF97kw5veQ1VcjinBQ0VkljwhaU&s=fgzpQrT-nMw97KkOFqItJY2Ds3LuGhLdCtbqRoLeeqs&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlc3IQGguKxX0sG8X0WMVrmMv0Dh8ks5s6U8SgaJpZM4LaiVL&d=DwMFaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=l0z2d2tS_xs2Pa90GF97kw5veQ1VcjinBQ0VkljwhaU&s=7AAp9QPGSRLEbDEVQulE9-XLluSJjJ7dJyjfiaNBDUg&e=.

Option 2 is like building our own Orca service, it's huge work i think
I verified how UCP does that, and that's what I think
Docker cli is still comaptible when talking with UCP, but you can manage all you swarm
For example you can list all containers, and decide to kill or exec on every node
I think we need similar architecture as UCP, for a start at least equivalent to ucp-agent, ucp-proxy and ucp-namager
See https://docs.docker.com/datacenter/ucp/2.2/guides/architecture/#ucp-components-in-manager-nodes

Any chance that this feature will be implemented? Maybe donation, say 200 euro, will make the dream closer?

Docker Swarm is not reliable and so user need management solution that will show all issues in our cluster. Right now portainer doesn’t provide such unified overview dashboard but at least provides different pages to collect such information in various places. Of course, centralized logging is still needed and portainer cannot replace e.g. papertrail, but ability to see all containers and it’s IP is important.
For example, due to numerous issues of VIP service discovery I need to see IP addresses of all tasks in the stack. And portainer cannot help me - I have to use Docker CLI because of this issue.

Absolutely, donations are used to fund features, so if you make a donation, nominate the feature you wish to sponsor and we will make it happen (once we have enough to cover the costs of development for that feature, or enough demand).
200 euro would enable us to immediately commence work on this.
Neil
Rgds,
Neil Cresswell
On 30/11/2017, at 3:15 AM, Vladimir Krivosheev <notifications<EMAIL_ADDRESS>wrote:
Any chance that this feature will be implemented? Maybe donation, say 200 euro, will make the dream closer?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_portainer_portainer_issues_461-23issuecomment-2D347982783&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=etUy2fn6q1ht-ekP20KHsqMDyjLY0TH73obDVIqw--8&s=nvMPCPxT_678se4qXJnp-xRret0WfwGGHW6Qedafoko&e=, or mute the threadhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AWGrlRAzmLiU4HeBKX8y4l0sYKvMWZ2Zks5s7btngaJpZM4LaiVL&d=DwMCaQ&c=euGZstcaTDllvimEN8b7jXrwqOf-v5A_CdpgnVfiiMM&r=0fx0h4vB56iTLpw2McH1ZD6TqG_QGpbggVOB-PfMJpM&m=etUy2fn6q1ht-ekP20KHsqMDyjLY0TH73obDVIqw--8&s=u3RG9YwpPM-uikBWq7B7ON5WXbyZd_KcTOuYCdA-zUA&e=.

Has this already been funded?
I would love this feature and will happily contribute 10% the of the funds for this.
Anyone else willing to join in?

@jfgrissom Already donated by me.

@jfgrissom you can donate either via Patreon or Paypal
Any donation is a great help for us.
Now back to the subject, we've started to work on this and we'll post an update soon :-)

I just found the amazing feature discussion. I write a agent program for portainer recently, actually it is a proxy, forward portainer request to docker socket. So i can run the agent as a container and add a endpoint on portainer UI. Automatically request a portainer api to add a endpoint when agent starting is the next plan.

Any status about this issues?

I am also eagerly awaiting this feature.

A PR is finally open for this one, have a look at #1828

@deviantony Good job! It seems to work like a charm! 🥁

I'll close the issue when #1828 will be merged ;-)

Hi should expect to see all the containers of my Swarm Cluster in portainer when I check the "Containers" tab?

Any updates on this one?

AFAIK this is working since 1 year ago. ;)


Every 4 pictures are in a row

This should resolve bug #1170628.

Was:

Now is:

r+
Can you make the commit message be "fixes bug 1170628 - Every 4 pictures are in a row now"

yup. Amended the commit.


High-DPI and dynamic DPI changing support for Windows

winit currently cannot be used to create cross-platform high-DPI aware applications (see issue #105). This commit adds support for creating high-DPI aware applications for Windows.
The 2 main changes of this pull request:

the addition of code to call the various Windows functions to make the process high-DPI aware.
a new event, DPIChanged, that informs the users of the winit library that they should handle the new DPI.

I've also added a new high-dpi.rs example to showcase what this pull request does.
Visual example

This is a normal window, on which I've written text using GDI.

This is the same window, but after a DPI change. Notice how the text is blurry - Windows does not know the app is aware of high DPI displays, and therefore scales the rendered bitmap.

After the code changes, the text looks fine, even at higher DPI.

However, high-DPI support means that the user code also has to adapt to higher DPI. The example uses the same font and layout at all DPIs - this is bad, it should be calculating a new layout and choosing a new font based on DPI, but that is not the concern of the winit library.
The reason why the text is unreadable below is because I didn't account for high-DPI when writing the rendering code.

DPI changed event
While on Windows 7 DPI can only be changed by logging out, therefore closing all programs, and logging in again, starting with Windows 8 DPI can be dynamically changed, or differ from monitor to monitor.
Therefore I added a new WindowEvent, the DPIChanged event, which is sent when the window receives the WM_DPICHANGED message.
Implementation
The code I added uses the already existing shared_library dependency. It tries to load, in order, the functions for setting DPI awareness for Windows 10, Windows 8, and Windows Vista.
If those DLLs are missing or lack the functions, or if the process is already high-DPI aware (through a manifest), no harm is done.
Further changes
It would be great to add a MonitorId::get_monitor_dpi() function, which returns the DPI of the monitor on Windows 8 or newer, and the same system DPI for all monitors on Windows 7 or older.

I had a less comprehensive pull request in #185 -- I think we came to the idea that it might be better to signal high DPI awareness via a manifest instead of at runtime.
@retep998, did your manifest linking investigation lead to any conclusions?

Well, I though of adding a manifest, but there are two problems with that:
Currently in my apps I use the embed-resource crate, which allows embeding a manifest by using a simple .rc file.
// In the build.rs file
embed_resource::compile("Manifest.rc");

The Manifest.rc file simply includes the manifest.
// Manifest.rc
#define APP_MANIFEST 1
#define RT_MANIFEST 24
#define MANIFEST_PATH "App.manifest.xml"

APP_MANIFEST RT_MANIFEST MANIFEST_PATH

And the App.manifest.xml file contains the actual manifest.
The problems with this approach would be:

it wouldn't work if the winit library is built as a separate dynamic library, because the manifest must be in the .exe, not the .dll.
we don't know what the user wants in the manifest. There could be additional settings required, and this approach only allows one manifest in it, there is no way to combine manifests.

it wouldn't work if the winit library is built as a separate dynamic library, because the manifest must be in the .exe, not the .dll.

When is winit ever built as a separate dynamic library? 99% of the time all rust crates are statically linked together.

we don't know what the user wants in the manifest. There could be additional settings required, and this approach only allows one manifest in it, there is no way to combine manifests.

If Rust would finally let us specify arbitrary linker arguments, then you could use /MANIFESTINPUT to specify manifest input which is merged together. That way you can just set the DPI awareness and leave the rest up to the user.

When is winit ever built as a separate dynamic library? 99% of the time all rust crates are statically linked together.

Rust may be used to build a dynamic library to be loaded by foreign code. First-class support for this use case is one of rust's big selling points.
If DPI awareness needs to be set in the manifest, and cargo won't yet let us just hardware it to "aware," it seems like the only behaviorally predictable solution is a documentation one.

If Rust would finally let us specify arbitrary linker arguments
I agree that this would be the best solution, but until that is possible, I belive a workaround  at runtime is still our best bet at ensuring at least some compatibility.

This idea of loading function pointers and then calling the functions to set DPI awareness is used by GLFW.

seems like the only behaviorally predictable solution is a documentation one.
That could work, but we can't guarantee users of the library will do that. And since high-DPI screens aren't that common, the users of the winit library might not realize their apps are not high-DPI aware.

If winit handles window creation and management then it only seems logical to work as-is on all hardware.
As I said before, high-DPI support also involves some work done by users of the library, but by providing a cross-platform API of getting DPI and being informed of DPI changes, maybe users will also read up on high-DPI support and include it in their apps.

This idea of loading function pointers and then calling the functions to set DPI awareness is used by GLFW

I don't know the APIs in question, but it's probably not appropriate for winit-in-a-cdylib to automatically set the entire process to high DPI, if for example rust code is being used as a plugin that needs to play well with other existing code that has its own opinions.

Even for winit-as-a-regular-library it's probably not a great thing to set a process-global option.

Most of the functions I used also have per-thread settings. I could rewrite them so they set this only on the thread that creates and owns the window, therefore only for the windows winit creates. Would that be ok with you @tomaka?

I don't think winit should automatically set the DPI awareness. Although I do think it should provide the ability to change the DPI awareness when the user explicitly asks for it.

I've refactored the code. High-DPI awareness is now opt-in. The user has to call set_process_high_dpi_aware to make the process high-DPI aware. Also added some documentation linking to the page for app manifests.

There is already the Window::hidpi_factor() function which currently always returns 1.0 on Windows. This PR doesn't change it while it probably should. I think value returned from that function should have the same type as parameter in the DPIChanged message.
Documentation for the WM_DPICHANGED message says that "the values of the X-axis and the Y-axis are identical for Windows apps". Do we need to confuse users with different values for X and Y if they are always the same?
Also, if you report this value as DPI then it is necessary to say in the documentation what is the default, non-scaled value is.

I see that there is a deprecated SetProcessDPIAware function which can be used on Vista to set DPI awareness and is used in this PR if newer APIs are not available. But I don't see any way to actually get the DPI on Vista. WM_DPICHANGED is only sent on Windows 8.1. I checked all functions in the High DPI Reference and all functions are available only on 8.1 or newer.

I'm no longer working on supporting this pull request.
@kryptan Could you also post your observations on issue #105? We should at least keep the discussion alive there.


streaming quality

hi, the streaming quality in jiotv in set to very low. Is there any way i can change the streaming quality to HD

I have the exact opposite problem. It's always more than enough for me. I would like to get a multi quality option if possible.

hi, the streaming quality in jiotv in set to very low. Is there any way i can change the streaming quality to HD

I am also getting stream at 480p only 😥

Duplicate of #132


Updating to version 2.0.0 and above results in HTTP 500 Error

I can load the front-end of my site normally locally (on MAMP with PHP 7.2.1) and soberwp/controller version 2.0.1, but when I tried to deploy onto SiteGround hosting (PHP 7.2.5) I got a HTTP 500 Error.
After troubleshooting I found that when using "soberwp/controller": "9.0.0-beta.4" via composer instead, the site loads as it should.
I am getting the following in the PHP error log on the server with versions 2.0.0+:
PHP Fatal error: Uncaught ReflectionException: Class App\Controllers\FrontPage does not exist in /web/app/themes/sage/vendor/soberwp/controller/src/Loader.php:119
Stack trace:
#0 /web/app/themes/sage/vendor/soberwp/controller/src/Loader.php(119): ReflectionClass->__construct('App\\Controllers...')
#1 /web/app/themes/sage/vendor/soberwp/controller/src/Loader.php(49): Sober\Controller\Loader->setClassesAlias()
#2 /web/app/themes/sage/vendor/soberwp/controller/controller.php(22): Sober\Controller\Loader->__construct(Object(Brain\Hierarchy\Hierarchy))
#3 /web/wp/wp-includes/class-wp-hook.php(286): Sober\Controller\loader('')
#4 /web/wp/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array)
#5 /web/wp/wp-includes/plugin.php(453): WP_Hook->do_action(Array)
#6 /web/wp/wp-settings.php(450): do_action('init')
#7 /web/wp-config.php(9): requ in /home/u00000/sage9/web/app/themes/sage/vendor/soberwp/controller/src/Loader.php on line 119

Any ideas?

never mind! It was fixed in this issue: https://github.com/soberwp/controller/issues/75#issuecomment-380134629
(see last post)


Nukta adjoined to Vowel letter /अ/  in Ol Ciki

Ol Ciki/Santhali/Cemet admits
अ़ /a/ followed by nukta.  U+0905 U+093C
Example
अ़पारम अंजान भाषा: an unknown language
In the example above, अ़ (अ with nukta) represents the phoneme /ə/ in the Santhali language.
Expertise: Dept. of tribal & regional languages, Ranchi University, Ranchi.

I should have been more explicit.My query was re. the acceptability of  अ़.
as a valid syllable. As per the rule of the Brahmi syllable the nukta is
normally appended to consonants to show characters which are not part of a
given language's character set. A special rule would need to be written to
handle the nukta appended to  अ, otherwise it will be treated as a
malformed syllable.
On Tue, Jun 27, 2023 at 10:30 PM Cibu Johny @.***>
wrote:

@raydoc https://github.com/raydoc I see that this sequence (अ़) is
working fine with romanization and normalization. Did you spot any issue?
—
Reply to this email directly, view it on GitHub
https://github.com/google-research/nisaba/issues/320#issuecomment-1609904948,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL724I6CC4IZPKVFTU7ESLDXNMGS3ANCNFSM6AAAAAAZFXVDIU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Missing channel->bulkDelete() function

The $channel part should have a ->bulkDelete() function that takes an integer number and tries to fetch and deletes the last number of messages in a channel.
There is currently no equivalent function that currently exists with the MessageRepository or Channel part. We currently must either already have the $message object, know the message ID, or have a ->messages collection to pass. The best usage that currently exists is the channel part ->getMessageHistory() which accepts an array of options with limit => integer number of messages to fetch, then passing that collection object back to the repository to delete them.

This should work, but could do with review and consideration for a return.

All done #410


KAFKA-12459; Use property testing library for raft event simulation tests

This patch changes the raft simulation tests to use jqwik, which is a property testing library. This provides two main benefits:

It simplifies the randomization of test parameters. Currently the tests use a fixed set of Random seeds, which means that most builds are doing redundant work. We get a bigger benefit from allowing each build to test different parameterizations.
It makes it easier to reproduce failures. Whenever a test fails, jqwik will report the random seed that failed. A developer can then modify the @Property annotation to use that specific seed in order to reproduce the failure.

Note that I have resisted making logical changes to the tests themselves. The only difference is the way the parameters are specified.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Nice! How did we pick jqwik?

I can't claim to have searched all the library options extensively. I found out about jqwik from @stanislavkozlovski. The documentation seemed clear and it took almost no time to get something working. I do like how extensible the framework seems. I thought I might need some of that here, but it turned out to be a pretty simple usage within the standard API.

@hachikuji Sounds good. Can we take a quick look at the two alternatives mentioned in the following blog post?
https://blog.johanneslink.net/2020/01/28/why-is-pbt-not-popular-in-java/
I think you choose the right one, but good to do a bit of due diligence as future Java-based property based tests will rely on whatever we pick here.

For what it's worth I evaluated jqwik vs Quickcheck and had the following bullet-point summaries:
Quickcheck

819 stars
10-year old library
v1.0 released Nov 22, 2020
25 open issues
55 commits in the last year
MIT License
light documentation
supports shrinking

Jqwik

260 stars
5-year old library
v1.5 release Feb 2021
16 open issues
1039 commits in the last year
EPL-2.0 License
extensive documentation
very configurable
supports shrinking

My reasoning to prefer Jqwik was that it seemed more actively maintained, had good interfaces, had very extensive documentation (I value this heavily) and most importantly supports programmatic parameter generation, meaning it allows you to easily express the dependencies of randomized input. I got the notion that this random input dependency generation is one of the trickier things when writing more complex test cases from this blog post.
Jqwik has some other interesting features like collecting and reporting statstics on the data it generates, allowing you to inspect what the generated data is and whether it's useful or can be tweaked.

Since this is EPL 2, we need to check https://apache.org/legal/resolved.html#weak-copyleft-licenses

@ijuma Thanks for the link. EPL 2.0 is listed as a "weak copyleft" license, similar to Jersey under CDDL. The document says that we can include a binary dependence as long as it is appropriately labeled. I've updated the NOTICE file with language similar to the note about Jersey.

unrelated to this PR. forRandomRunning is not used. Maybe we can remove it in this PR? Also, random of RaftNode is not used also.

@chia7712 I removed forRandomRunning here: https://github.com/apache/kafka/pull/10309.

I am planning to merge this shortly if there are no objections. I double-checked with @junrao about the note added about the jqwik license in NOTICE.


Fix broken links to IdentityServer4.Samples

What issue does this PR address?
Fixes #3317
Does this PR introduce a breaking change?
No
Please check if the PR fulfills these requirements

[x] The commit follows our guidelines
[ ] Unit Tests for the changes have been added (for bug fixes / features)

Other information:
Changed link to https://github.com/IdentityServer/IdentityServer4/tree/master/samples

thanks


Spread operator in method shorthand in object literal is not emitted with "__assign"

TypeScript Version:  2.4.0 / nightly (2.5.0-dev.201xxxxx)
Link to playground
Code
const y = {
  prop: "ms"
}

const x = {
  ...y,
  fn(options) {
    return {
      timestamps: false,
      ...options
    }
  }
}

Emits to:
var __assign = (this && this.__assign) || Object.assign || function(t) {
    for (var s, i = 1, n = arguments.length; i < n; i++) {
        s = arguments[i];
        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
            t[p] = s[p];
    }
    return t;
};
var y = {
    prop: "ms"
};
var x = __assign({}, y, { fn: function (options) {
        return {
            timestamps: false,
            ...options
        };
    } });

Expected behavior:
"...options" will be emitted with "__assign"
Actual behavior:
"...options" is not emitted with "__assign"

I think it's supposed to be:
const y = {
  prop: "ms"
}

const x = {
  ...y,
  ...fn(options) {
    return {
      timestamps: false,
      ...options
    }
  }
}

The issue happens when using method shorthand in object literal

This seems to fail when their is a spread in the containing literal.
This works
const x = {
  fn() {
    return {
      ...{}
    };
  }
}

and this fails
const x = {
  ...{},
  fn() {
    return {
      ...{}
    };
  }
}

I just realized this is a dupe of #16765

Automatically closing this issue for housekeeping purposes. The issue labels indicate that it is unactionable at the moment or has already been addressed.


not work VideoRecorder.conf().videoEnabled(false) for RemoteVideoListener

How will Remote Hub learn that I have put in the test setup?
For local use it's  the same code and the same class VideoConfiguration.class, but fot remote hub it's different Configuration class.
you do not look at the value enabled
Simple way in RemoteVideoListener
private boolean videoEnabled(Video video) {  if (!VideoRecorder.conf().isVideoEnabled()){ return false; } return VideoRecorder.conf().getMode().equals(ALL) || (video != null && video.enabled()); }
or send configuration to hub

Need to investigate, RemoteRecorder is the the weakest place. Will apply your patch to 1.0.5 version.

Fixed by https://github.com/SergeyPirogov/VideoRecorder/commit/aac8f3835f9cd80d107ee07d49e5e32e5130c2ac


Disable Power Down option for desk devices

Non UI parameter.
cd /data/openpilot/common
'./params.py DisablePowerDown 1' to use

Fixed free, in general, we should move code like that to C++. Was stupidly thinking it would go out of scope.
Also, will power down right away if the ignition timer is expired and you clear the param. The polling shouldn't be expensive.


Add 🦶🔫

I find that using Julia after calling this method has a lot more thrill and intensity. It's a tool for increased productivity—you have to work fast before something bad happens.

That looks absolutely atrocious, if you merge master, the CI should pass.

if you merge master, the CI should pass.

I'm assuming you're referring to "🖐", which, by the way, is a much more reasonable default branch than "master"

Indeed, sorry things obviously go very fast in this package.

I'm assuming you're referring to "🖐", which, by the way, is a much more reasonable default branch than "master"

Now come the complicated question of updating the registry with the new branch name.

Shouldn't registries point to the default branch, whatever that happens to be?

Shouldn't registries point to the default branch, whatever that happens to be?

Does not look like it: https://github.com/JuliaWTF/WatchJuliaBurn.jl/commit/c279063e011def2261626862461386179183bcf3

Oh no.


external functional-test get compilation error with openj9

Describe the bug
External functional-test get compilation error with openj9 jdk8
To Reproduce
Rerun link https://ci.adoptopenjdk.net//job/Grinder/parambuild/?JDK_VERSION=8&JDK_IMPL=openj9&BUILD_LIST=external/functional-test&PLATFORM=x86-64_linux&TARGET=special&SDK_RESOURCE=nightly
16:55:33  compile:
16:55:33       [echo] Ant version is Apache Ant(TM) version 1.10.5 compiled on March 28 2019
16:55:33       [echo] ============COMPILER SETTINGS============
16:55:33       [echo] ===fork:                         yes
16:55:33       [echo] ===executable:                   /opt/java/openjdk/bin/javac
16:55:33       [echo] ===debug:                        on
16:55:33       [echo] ===destdir:                      /openj9/test/TKG/../../jvmtest/functional/CacheManagement
16:55:33      [javac] Compiling 4 source files to /openj9/test/functional/CacheManagement/testcodebuild
16:55:35      [javac] Compiling 4 source files to /openj9/test/functional/CacheManagement/bin
16:55:35      [javac] Compiling 98 source files to /openj9/test/functional/CacheManagement/bin
16:55:42      [javac] /openj9/test/functional/CacheManagement/src/tests/sharedclasses/options/TestSharedCacheJavaAPI.java:232: error: cannot find symbol
16:55:42      [javac] 							if (cacheInfo.getCacheLayer() != 0) {
16:55:42      [javac] 							             ^
16:55:42      [javac]   symbol:   method getCacheLayer()
16:55:42      [javac]   location: variable cacheInfo of type SharedClassCacheInfo
16:55:42      [javac] /openj9/test/functional/CacheManagement/src/tests/sharedclasses/options/TestSharedCacheJavaAPI.java:234: error: cannot find symbol
16:55:42      [javac] 								if ((cacheInfo.getCacheName().equals("cache3_multilayercache")) && (1 ==

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

The reason is default latest openjdk8-openj9 docker version is:
17:21:48  System.getProperty('java.fullversion')=1.8.0_222-b10
17:21:48  JRE 1.8.0 Linux amd64-64-Bit Compressed References 20190717_368 (JIT enabled, AOT enabled)
17:21:48  OpenJ9   - 0f66c6431
17:21:48  OMR      - ec782f26
17:21:48  JCL      - f147086df1e based on jdk8u222-b10

With Support multiple shared classes caches in single JVM SharedClassCacheInfo.java has updated like https://github.com/eclipse/openj9/commit/1f103aa937447045e06b3ea13fd5bc1f333566cc. That is saying test code is inconsistent with jdk code.

Trigger Docker builds from main build pipelines would be easy for test is consistent with sdk ( SHA, releast tag)

Probably also need to figure out the frequency and plan of the docker builds as confused why the latest openjdk8-openj9 JCL is jdk8u222-b10, is that a second latest release version?

@dinogun For external test we expect that with latest tag we should get comparatively latest openjdk docker image. Is the following result expected?
sophiaguos-mbp:DockerLearning sophiag$ docker run --rm -it adoptopenjdk/openjdk8-openj9:latest java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
Eclipse OpenJ9 VM (build openj9-0.15.1, JRE 1.8.0 Linux amd64-64-Bit Compressed References 20190717_368 (JIT enabled, AOT enabled)
OpenJ9   - 0f66c6431
OMR      - ec782f26
JCL      - f147086df1e based on jdk8u222-b10)

If yes, which tag should I use to get the latest image?


feat: remove wasmbindings module

Purpose / Abstract

Closes #1642

Summary by CodeRabbit

Documentation

Reordered and reformatted sections in README.md.
Removed outdated link from README.md.

Refactor

Removed WASM bindings and options from the application code.

Chores

Updated CHANGELOG.md to reflect the removal of the wasmbindings module.

Style

Eliminated comments related to WASM bindings in various functions.

The queries are still supposed to be there


Hasura Subscriptions are not working in ngx-admin but working in other Angular projects

Issue type

[x] bug report
[ ] feature request
[ ] question about the decisions made in the repository

Issue description
Current behavior:
Configuring Apollo to connect to Hasura and trying to setup a GraphQL subscription does not work. No errors or anything else, just does not work.
Expected behavior:
Results of the subscription should be received correctly
Steps to reproduce:
Clone ngx-admin, configure Apollo and try to setup a subscription.
In details:
I have created a simple Angular project (call it Base Demo) and configured Apollo and the subscriptions are indeed working. I am using the same node version and the same libraries and library versions of ngx-admin.
If I use the same exact code to configure GraphQL in ngx-admin (I just cloned the project to be sure I haven't added any code of mine), it just does not work. Nothing is displayed as result of a subscription, but I also do not get any error. The ws connection in the browser console looks exactly the same as in the Base Demo project.
Related code:
// GraphQLModule.ts
import {NgModule} from '@angular/core';
import {ApolloModule, APOLLO_OPTIONS} from 'apollo-angular';
import {ApolloClientOptions, InMemoryCache, split} from '@apollo/client/core';
import {HttpLink} from 'apollo-angular/http';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { GraphQLWsLink } from '@apollo/client/link/subscriptions';
import { createClient } from 'graphql-ws';
import { getMainDefinition } from '@apollo/client/utilities';

const uri = 'http://localhost:8080/v1/graphql';
const wsUri = 'ws://localhost:8080/v1/graphql';

export function createApollo(httpLink: HttpLink, http: HttpClient): ApolloClientOptions<any> {

var token = "<token>";

  const authLink = httpLink.create({
    uri,
    headers: !token ? new HttpHeaders() :
      new HttpHeaders()
        .set('Authorization', `Bearer ${token}`)
        .set('x-hasura-role', "manager"),
  });

  const wsLink = new GraphQLWsLink(createClient({
    url: wsUri,
    connectionParams: {
      headers: !token ? {} :
      {
        Authorization: `Bearer ${token}`,
        'x-hasura-role': "user",
      }
    }
  }));

  // The split function takes three parameters:
  //
  // * A function that's called for each operation to execute
  // * The Link to use for an operation if the function returns a "truthy" value
  // * The Link to use for an operation if the function returns a "falsy" value
  const splitLink = split(
    ({ query }) => {
      const definition = getMainDefinition(query);
      return (
        definition.kind === 'OperationDefinition' &&
        definition.operation === 'subscription'
      );
    },
    wsLink,
    authLink,
  );

  return {
    cache: new InMemoryCache({
      addTypename: false,
    }),
    link: splitLink,
  };
}

@NgModule({
  exports: [ApolloModule],
  providers: [
    {
      provide: APOLLO_OPTIONS,
      useFactory: createApollo,
      deps: [HttpLink, HttpClient],
    },
  ],
})
export class GraphQLModule {}

import { Component, OnInit } from '@angular/core';
import { Subscription } from 'rxjs';
import { ApiService } from '../../../services/api.service';

@Component({
  selector: 'app-subscription-page',
  templateUrl: './subscription-page.component.html',
  styleUrls: ['./subscription-page.component.scss']
})
export class SubscriptionPageComponent implements OnInit {

  data: any;
  subscription?: Subscription;

  constructor(
    private api: ApiService,
  ) {}

  ngOnInit(): void {
    this.subscription = this.api.subscribe()
      .subscribe({
        next: (v) => this.data = v,
        error: (e) => console.error(e),
        complete: () => console.info('complete')
    })
  }

  ngOnDestroy(): void {
    this.subscription?.unsubscribe();
  }

}

Other information:
npm, node, OS, Browser
Node, npm: node v14.21.3 (npm v6.14.18)
OS: Uubntu 18.04
Browser: Chrome, Firefox

Angular, Nebular
Angular 13.3.12
Nebular 9.1.0-rc.8

After wasting more than 8 hrs between last week and today trying to find what was the problem, looking line by line every file and configuration and doing some tests, I have finally found the solution.
The culprit is pace-js, that is inlcuded in ngx-admin but in the end I have never used. pace-js tracking the websockets causes some problems, so the solution was to disable that tracking:
(window as any).paceOptions = {
  ajax: {
      trackWebSockets: false
  }
};

Now everything works. I will be actually completely eliminate pace-js as I am not using it anyway.


Are there any plans for .NET parallel consumer implementation?

We develop our microservices using .NET Core 6 and are looking at using the Kafka .NET Client by Confluent. Are there plans to enable .NET users to use the Parallel Consumers pattern or a way to utilize the current library with .NET microservices?
Thanks!

I'm considering adding an http layer, but it's not high up the list

.NET version of the library is not in plans. It is possible to use Parallel Consumer with applications written in other languages through implementing a network call from user function to the service (REST, gRPC etc).


React-Native Jest: how to overwrite reactimport

Do you want to request a feature or report a bug?
What is the current behavior?
If the current behavior is a bug, please provide the steps to reproduce and either a repl.it demo through https://repl.it/languages/jest or a minimal repository on GitHub that we can yarn install and yarn test.
What is the expected behavior?
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.

Hello,
I am using Jest to test my react services (containing actions, reducer, saga, ...). However, my saga is calling a API calling another service which calls itself another API.
I tried to mock these calls in my tests but even with doing this, I called them by importing my saga in my service-test.js file. By importing the saga, I also import the last API which fails as it calls a Native module which is null.
So I would like if there is a way to change the import of the files concerned by my test?
Thanks.

Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions. Thank you :)


Use defaults for Graphite input where necessary

I think this pattern works well, though I am open to suggestions.
Fixes issue #2876

@dgnorton since you were also creating input plugins.

:+1:

+1


fix: lightgbm segfaults due to multiprocessing

Overview
Description of the changes proposed in this pull request:

Set n_jobs to 1 on lightgbm models. Leaving them to default/auto would result in segmentation faults on MacOS.

Before the change,

Verified locally that after the changes, pytest test collection occurs normally without segfaults.
Checklist

[X] Closes #3032
[ ] All pre-commit checks pass.
[ ] Unit tests added (if fixing a bug or adding a new feature)
Added entry to CHANGELOG.md (if changes will affect users)

Looks fab - thanks!
If you can give a review of #3031, then that might be the last of the cibuildwheel issues.


Set up sample tests and get CI running

Nothing to complex mostly to get proof of concept for a test framework and circle ci running

0.0.1


Use snake case for var names. Enable a few rustc deny options.

I'll have some time to work on porting tests again soon so I figured I'd do this now when it's not likely to conflict. Mmm regexes.

lgtm!


Using this script breaks WMIC

After running this script as admin with the flags -Enable and -AutoReboot, executing the command "wmic os get caption" results in an "Unspecified error".

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

ID: e100360b-b872-d0d6-ea4b-c5b999b1849a
Version Independent ID: bf6d4bb9-d4d1-8b67-a4b8-bf00b174f6b7
Content: Windows Defender Device Guard and Windows Defender Credential Guard hardware readiness tool - Microsoft 365 Security
Content Source: windows/security/identity-protection/credential-guard/dg_readiness_tool.md
Product: w10
Technology: windows
GitHub Login: @SteveSyfuhs
Microsoft Alias: stsyfuhs

Script version was 3.6. I disabled credential guard and the stated command works again.

Maybe that's the reason or one at least, why the output of
wmic /?
display a red "WMIC is outdated" message in commandline window

@beerisgood I completely agree but when you need to use tools (in my case Apache Cordova) that depend on wmic, it still won't help. I'll file an issue at Cordova but stuff shouldn't just break.

@ArthurHNL
The broken script is being passed to independent contributors for investigation. Thank you for the feedback.

@ArthurHNL I see you said script version 3.6 breaks WMIC functionality. The article you mentioned contains script version 3.7. Were you able to reproduce the issue also with 3.7?

LogAndConsole "Readiness Tool Version 3.7 Release. `nTool to check if your device is capable to run Device Guard and Credential Guard.

Also, were you able to file an issue with Cordova? What was their answer about this?

I have not tried reproducing this with the new version of the script and, since my system is stable now, I am not planning on testing it. I already found an issue at cordova: https://github.com/apache/cordova-cli/issues/434 and I filed an issue at the underlying Node.js module used by cordova that depends on wmic: https://github.com/sindresorhus/windows-release/issues/14.

@ArthurHNL thank you for you answer.


Keep data directory ownership based on PGID and PUID

Is there any way to maintain the same ownership of the data directory as supplied via the PGID and PUID environment variables?
Currently, it changes ownership to www-data user, I would like it to retain the current user's ownership.
I am trying to automate the setup via ansible and since when the container runs it modifies the ownership, the playbook does not stay idempotent and fails since the ownership is different now.
Docker compose file is the similar as suggested in the setup guide.

Changing the defaults is probably not a good option, so maybe this could be made configurable. The only workaround I can think of is to mount custom files into the container for everything that references the user (uwsgi.ini, bootstrap.sh, supervisord.conf).

what about moving the application to /opt instead of /etc, and creating the uuid:guid user in the dockerfile linkding stage and switch to it before execution?
will try to do some tests

++
If I run the docker container with a specified user configured I get these errors logged ...
linkding  | chown: changing ownership of '/etc/linkding/data/tasks.sqlite3': Operation not permitted
linkding  | chown: changing ownership of '/etc/linkding/data/secretkey.txt': Operation not permitted
linkding  | chown: changing ownership of '/etc/linkding/data/assets': Operation not permitted
linkding  | chown: changing ownership of '/etc/linkding/data/favicons': Operation not permitted
linkding  | chown: changing ownership of '/etc/linkding/data/previews': Operation not permitted
linkding  | chown: changing ownership of '/etc/linkding/data/db.sqlite3': Operation not permitted
linkding  | chown: changing ownership of '/etc/linkding/data': Operation not permitted
linkding  | Error: Can't drop privilege as nonroot user

... and the Huey task scheduler never runs.


6884 viz by name queries 2

TLDR: Finding visualizations is surprisingly complex. I suggest:

New code: Do not allow schema in table names. Enforce /u/user as part of the URL for org users. Avoid the code in this PR.
Old code: Minimal changes. Fix what's broken.

See commit: https://github.com/CartoDB/cartodb/pull/6921/commits/e50b3b4ca07374621ff5280b072aea9f4a864ffd
This is a prototype for a visualization locator, in order to extract the behaviour to find a given visualization by id/name and username/org.
However, while writing all of this, the following has come to mind, we can simplify a lot of this code by dropping the possibility of adding the schema for new urls. We would enforce that all urls specify an user, i.e: /u/username is required for organization urls. This only leaves to parameters: either viz id or name, and username and makes all of this much nicer.
For old code, I'm thinking of leaving all as it is, except for problematic parts. There is an interesting problem for URL's of the form org.cartodb.com/tables/name. The frontend extracts the parameters from the URL for the SQL-API call, and uses org as an username. So, those URL's do not load data from the table (they show the map correctly as that uses the viz_id from the vizjson). I would redirect this URL's to the correct ones.
cc @juanignaciosl @gfiorav

I'm not sure that dropping the schema from the table name is a change that we can do, I think we must support it. What we can do is simplifying it. Detecting it is easy (split with ., discard public), and always take precedence over username, for example.
That being said, I'll take look at the code.

I think this is better:
https://github.com/CartoDB/cartodb/blob/6884-viz_by_name_queries_2/app/controllers/visualizations_controller_helper.rb
There are three components to this:

VisualizationLocator that stores and parses the visualization name (which may include the schema).
extract_user_from_request_and_viz_locator which returns the owner of the visualization.
load_visualization_from_id_or_name that recovers the visualization itself.

Take a look @juanignaciosl

I made carto/api/visualizations_controller.rb to call the new visualization loader. It was reported by Rollbar as creating long queries and was a duplication of the get_priority_visualization code.

I merged master (easier to read the changes now) and moved the 404 rendering outside of the helper, to the controllers, as it should be their concern. Aside from reorganizing the visualization loading code, this fixes the last couple of slow queries remaining.
Tests are green, they don't show on Github, probably because their downtime yesterday; so I think this is ready. Please take a look @juanignaciosl (I don't remember exactly where we left this).

LGTM. I've done a couple of minor comments, please take into account the extra test suggested for staging.

I added "some" tests and caught a bug (related to shared visualizations).


How to continue training from a checkpoint?

Hi, you can initialize the training with a pre-trained weight by setting the load_path option in train.yml. But this is an ad-hoc solution and it cannot resume the training states.

Hello, I tried this but it starts from epoch 0 too ... I don't know if it starts from the updated parameters or from the beginning.

@marwahmh If you set the load_path, the training will start from that pre-trained model. Since we don't record the training states,
the logger has to start from 0.


I cannot connect on Graph

Hello, when I click to connect on graph, authorize the app, and it redirect to /login/authorized, it throws this error:
<IP_ADDRESS> - - [19/Oct/2017 20:04:13] "GET /login/authorized?code=OAQABAAIAAABHh4kmS_aKT5Xrjzx...[code continue]...uEJ4PzeucIAA&state=cdd6b425-8bfa-4153-b047-623b99545cf7&session_state=a4982c37-1657-4d49-9229-b6a7db65560c HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/_compat.py", line 33, in reraise
    raise value
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/mario/Projects/python3-connect-rest-sample/connectsample.py", line 66, in authorized
    response = msgraphapi.authorized_response()
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask_oauthlib/client.py", line 677, in authorized_response
    data = self.handle_oauth2_response()
  File "/home/mario/miniconda3/envs/onedriveEnv/lib/python3.6/site-packages/flask_oauthlib/client.py", line 664, in handle_oauth2_response
    type='invalid_response', data=data
flask_oauthlib.client.OAuthException: Invalid response from microsoft

Does this repository still working?

Make sure you have Mail.Send permission set in the console.

@thesiti92 thank you for your answer. This occur when I tried to login, and if you see on the first line, I receive the code,  state and session_state on the link, so I think that there is no problem with the permissions.


Security domain backup restore rest api spec.

This PR contains REST api specification for security domain
backup and restore operation.
Signed-off-by: vasanthrajams<EMAIL_ADDRESS>Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

In specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/securitydomaintransferkey-example.json, the JWK format should be specified - for example, key length requirements need to be documented, and not all of the key_ops are required, and some don't make sense - you can't decrypt with just a public key, and we should never transfer the private key.

In specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/securitydomainuploadoperation-example.json, the value element should not be an array.

In /securitydomain/upload/pending, I don't see any provision for how we return success.

In specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/securitydomainuploadoperation-example.json, the value element should not be an array.

Thanks David. Corrected this.

/azp run automation - sdk

In specification/keyvault/data-plane/Microsoft.KeyVault/preview/7.2/examples/securitydomaintransferkey-example.json, the JWK format should be specified - for example, key length requirements need to be documented, and not all of the key_ops are required, and some don't make sense - you can't decrypt with just a public key, and we should never transfer the private key.

I've removed not required the key_ops and only included "enctrypt". Is there a way to specify the key length requirements ?

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

Hi, @vasanthrajams. The PR has be closed for a long time and it's related branch still exist. If no further used for over 14 days, I will delete this related branch. Please tell me if you still need this branch.

Hi, @vasanthrajams. The PR has be closed for a long time and it's related branch still exist. Please tell me if you still need this branch or i will delete it in 14 days.


use CrawlerRunner since the Crawler API was changed in scrapy 0.25

Added by https://github.com/scrapinghub/portia/commit/095a83f3541e35b9db02f47563fb4e7ecaf74993


Crash when I start to encode file

Note I have encoded with this docker image before but the file I was trying to encode keep crashing the image.

Encode Log
[07:30:12] job configuration:
[07:30:12]  * source
[07:30:12]    + /storage/test.mkv
[07:30:12]    + title 1, chapter(s) 1 to 1
[07:30:12]    + container: matroska,webm
[07:30:12]    + data rate: 1649 kbps
[07:30:12]  * destination
[07:30:12]    + /output/test.mp4
[07:30:12]    + container: MPEG-4 (libavformat)
[07:30:12]      + align initial A/V stream timestamps
[07:30:12]  * video track
[07:30:12]    + decoder: hevc
[07:30:12]    + filters
[07:30:12]      + Comb Detect (mode=3:spatial-metric=2:motion-thresh=1:spatial-thresh=1:filter-mode=2:block-thresh=40:block-width=16:block-height=16)
[07:30:12]      + Decomb (mode=39)
[07:30:12]      + Framerate Shaper (mode=2:rate=27000000/900000)
[07:30:12]        + frame rate: 23.976 fps -> peak rate limited to 30.000 fps
[07:30:12]      + Subtitle renderer ()
[07:30:12]      + Crop and Scale (width=1920:height=1080:crop-top=0:crop-bottom=0:crop-left=0:crop-right=0)
[07:30:12]        + source: 1920 * 1080, crop (0/0/0/0): 1920 * 1080, scale: 1920 * 1080
[07:30:12]    + Output geometry
[07:30:12]      + storage dimensions: 1920 x 1080
[07:30:12]      + pixel aspect ratio: 1 : 1
[07:30:12]      + display dimensions: 1920 x 1080
[07:30:12]    + encoder: H.264 (libx264)
[07:30:12]      + preset:  veryslow
[07:30:12]      + options: ref=5:bframes=5
[07:30:12]      + profile: high
[07:30:12]      + level:   4.0
[07:30:12]      + quality: 18.00 (RF)
[07:30:12]      + color profile: 1-1-1
[07:30:12]  * subtitle track 1, 中文 [SSA] (track 0, id 0x2, Text) -> Render/Burn-in, Default
[07:30:12]  * audio track 1
[07:30:12]    + decoder: 日本語 (AAC LC) (2.0 ch) (track 1, id 0x1)
[07:30:12]      + samplerate: 44100 Hz
[07:30:12]    + mixdown: Stereo
[07:30:12]    + dither: triangular
[07:30:12]    + encoder: AAC (libfdk_aac)
[07:30:12]      + bitrate: 320 kbps, samplerate: 44100 Hz
[07:30:12] sync: expecting 34980 video frames
[07:30:12] encx264: min-keyint: 24, keyint: 240
[07:30:12] encx264: encoding at constant RF 18.000000
[07:30:12] encx264: unparsed options: ref=4:bframes=5:level=4.0:b-adapt=2:direct=auto:analyse=all:me=umh:merange=24:subme=10:trellis=2:vbv-bufsize=31250:vbv-maxrate=25000:rc-lookahead=60
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
x264 [info]: profile High, level 4.0
[07:30:13] sync: first pts video is 0
[07:30:13] sync: Chapter 1 at frame 1 time 0
[07:30:13] sync: first pts audio 0x1 is 0
[07:30:13] sync: first pts subtitle 0x2 is 450000
[07:30:14] [ass] fontselect: (方正兰亭中黑_GBK, 700, 0) -> FZLTZHK--GBK1-0, 0, FZLTZHK--GBK1-0
[07:30:16] [ass] fontselect: (A-OTF Shin Go Pro DB, 400, 0) -> ShinGoPro-DeBold, 0, ShinGoPro-DeBold

You can see after I click start on 07:30, a few second later the image crashed. Both Docker log and encode log does not show any errors message.
I can provide more log if you need it.

After some investigation, I found the following error in syslog
segfault at<PHONE_NUMBER>bc ip 00001526a92cfa3b sp<PHONE_NUMBER>002520 error 6 in libfreetype.so.6.16.1[1526a926f000+65000]

It seems like it is a segfault from libfreetype


No scrobbling on M1 mac

Hi! Thanks for doing this, great idea.
I haven't been able to make this work on my M1 running Monterey. Manually running perl /.config/mpv/lastfmscrobbler/scrobble.pl with iina opened with a paused track returns:
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /Users/gabrielgonzalez/.config/mpv/lastfmscrobbler/scrobble.pl line 22.
Running echo '{ "command": ["get_property", "metadata"] }' | nc -U  /tmp/mpv-socket just fails and returns nothing:

Any ideas? The files I'm playing have the right metadata on them:

If the netcat command is failing, then iina isn't using the JSON IPC at /tmp/mpv-socket for whatever reason.
If you've double checked your iina settings, specifically that input-ipc-server is equal to /tmp/mpv-socket, and it's still not working, then this is either an issue with iina not passing these settings to the underlying mpv, or the underlying mpv not creating the JSON IPC server, and unfortunately, either way, not something I have the ability to fix.
If I was in your position, I would probably take a look and see if a separately installed mpv can make a working JSON IPC server, by doing mpv file.mp3 --input-ipc-server=/tmp/mpvsocket and echo '{ "command": ["get_property", "metadata"] }' | nc -U /tmp/mpv-socket. If that works you could narrow it down to an iina issue.
Best of luck, although if you do find out why iina is breaking in this way, i'd love to know!

So opening a separate instance of mpv works fine, but I still get nothing for echo '{ "command": ["get_property", "metadata"] }' | nc -U /tmp/mpv-socket:

Oh well, I guess I'll chalk it down to Apple silicon and move on. Thanks in any case!

Sorry, I missed the hyphen in the mpv command I posted, should be mpv file.mp3 --input-ipc-server=/tmp/mpv-socket (not mpvsocket)

Yeah, that one works:

Settings look fine to me, so I guess it's an error in iina itself indeed:


Use libc++ for macOS core python wheel

It turns out using libc++ is supported on Xcode >= 8, and required on Xcode >= 10.
Tested by building a wheel, installing it into an Anaconda environment, and running the basic.py example script.  Also installed the wheel as whl[plaidml], changed the backend to "PLAIDML" in the example, and verified that the script still worked (and that it didn't work with backend "PLAIDMLL" :-)

Waiting for confirmation that r0.23 changes are in this PR


TRON 2.0 → No menus

With d9vk

Without d9vk

System information

GPU: Nvidia GT 730M
Driver: 430.26-9
Wine version: Proton 4.2
DXVK version: 1.1.99

Apitrace file(s)
steam.1.trace.tar.gz
Log files
Lithtech_d3d9.log

This is an OpenGL trace which is not useful to me. Please provide a D3D trace.

D3D trace (without d9vk installed):
https://mega.nz/#!f64DSSwT!57ZNi36o0YEvX_K8iGyuKw55ITF6PeybSpnITzRQeZg

Fixed. Test with #725 (jobs).


Overlay directories + Change the hostnames of nodes

Adds support for OverlayFS type directories, same syntax as PrivateDirs
Changes the hostname in the different nodes, i.e. mininet> h1 hostname returns h1 and when you do xterm h1 you get a prompt like root@h1:~#
Because of this some tweaking is needed for X11 authentication to work (add the current MIT cookie with the new hostname)

Some programs expect hostnames to be unique hence this feature.

I already implemented this in the servernode branch, but I should look at the X credentials if that works correctly!

The X authentication support doesn't work for me. In particular, xauth list $DISPLAY returns nothing if I'm using ssh X11 tunneling.


[chat] qr codes

https://clips.twitch.tv/WealthySwissPresidentNerfRedBlaster-1uszjVbudlI7fQpi

I remember writing code for this exact use-case with real time chat logo in the QR code but idea was gutted ):

I could take this up again at some point if it's not urgent

Feel free there is no rush at all on this at all.

@kevmo314 Which do you like more I am leaning towards the second as it look more like a card


fix(serve): the test cases of checking useable format  fail.

Description
Fix the test cases that fail when running the checkUsableFormat function in helper.spect.ts from PR #95.
Issue ticket number
Additional Context

Codecov Report
Base: 92.60% // Head: 92.57% // Decreases project coverage by -0.02% :warning:

Coverage data is based on head (6f1fcd8) compared to base (65413b8).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #96      +/-   ##
===========================================
- Coverage    92.60%   92.57%   -0.03%
===========================================
  Files          259      259
  Lines         3798     3799       +1
  Branches       481      482       +1
===========================================
  Hits          3517     3517
  Misses         185      185
- Partials        96       97       +1

Flag
Coverage Δ

integration-testing
96.15% <ø> (ø)

serve
90.29% <100.00%> (-0.10%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

packages/cli/src/commands/init.ts
83.33% <100.00%> (ø)

...erve/src/lib/middleware/response-format/helpers.ts
90.90% <100.00%> (-9.10%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Document the generic printer and how to write a backend

We should write a step-by-step tutorial about writting a backend for a simple language.

Let's close, #533 is going to replace the generic printer, hopefully with some documentation.


OSX trackpad

Operating system: OSX/Macbook
This is:

[X] a bug
[ ] general feedback

back/forward action on trackpad doesn't work. It only works if I click directly on the buttons in the top left.

Can you describe the back/forward action?

Ok noted, thanks!


change link font colour in footer so links don't disappear on hover

Underline the font instead of changing colour

Fixed with commit 535b6b0


🐞 Bug: Error after click "start working" twice

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug

If a user starts to work on the assignment. After going back by browser button, the start working has not changed to VIew your work, it will appear after refreshing the page. After clicking again it throws error.
https://github.com/CircuitVerse/CircuitVerse/assets/105718863/f12d70b9-4122-4b33-b1f0-413b6ffa45dd

Steps To Reproduce

Go to My Groups
Join a group with a Primary Mentor and an open assignment.

Expected Behavior

The user should redirect to the created project.

Screenshots
No response
Device Information [optional]
- OS: Windows
- Browser: Chrome

Additional context
No response
Are you working on this issue?
Yes

@Kiran-pande-30 are you still working on this issue?

Yes, @subhamkumarr i have starting working on the issue

def start?
# assignment should not be closed and not submitted
assignment.status != "closed"
end
----Removed submitted project from the start method of authorization_policy
---- But Now whenever we click on the "start working" btn it is creating new project. Rather than redirecting to the already existing project. So using "view your work" user_project_path in assignment_controller_spec.rb
it "starts a new project" do
if Project.exists?(assignment_id: @assignment_id, author_id: @member)
redirect_to user_project_path(current_user, project_assignment)
else
get assignment_start_path(@group, @assignment)
expect(response.status).to eq(302)
end
end
But i am unable to solve the issue, point out if something wrong in this

Can someone please review this?

Hello Maintainers, @tanmoysrt can u please review this PR


[Question] Why header value always array of string instead of normal string ?

Is there any way to send header value as normal string instead of array of string ?
for example  {Origin=abc, Content-Type=application/jsoninstead of{Origin=[abc], Content-Type=[application/json]

It will always send the headers as a string, but when printing them it shows the internal representation. Headers are collapsed into a single value (if possible) when they enter the HttpUrlConnection.
The reason it's always an array is that most headers actually allow multiple values.


Add a datediff implementation for postgres

This PR adds a datediff implementation for PostgreSQL, and updates the integration tests to exercise the various types of date parts the implementation covers.

Hi, so sorry about the delay here, kicking off the tests now! I think they might actually fail as we have two concurrent test suits running, but I'll re-trigger the tests if they do fail

Database Error in model test_datediff (models/cross_db_utils/test_datediff.sql)
  002151 (22023): SQL compilation error: ['DECADE'] is not a valid date/time component for function DATEDIFF.
  compiled SQL at target/run/dbt_utils_integration_tests/cross_db_utils/test_datediff.sql

The tests almost passed!
I'd be happy to not have a decade implementation here, I feel like it would rarely get used. I'm going to take a look at the code now as well :)

This is my version of the fix
{% macro postgres__datediff_year(first_date, second_date) %}
    DATE_PART('year', ({{second_date}})::timestamp) - DATE_PART('year', ({{first_date}})::timestamp)
{% endmacro %}

{% macro postgres__datediff_month(first_date, second_date) %}
    {{ postgres__datediff_year(first_date, second_date) }} * 12 + (DATE_PART('month', ({{second_date}})::timestamp) - DATE_PART('month', ({{first_date}})::timestamp))
{% endmacro %}

{% macro postgres__datediff_day(first_date, second_date) %}
    DATE_PART('day', ({{second_date}})::timestamp - ({{first_date}})::timestamp)
{% endmacro %}

{% macro postgres__datediff_week(first_date, second_date) %}
    TRUNC(DATE_PART('day', ({{second_date}})::timestamp - ({{first_date}})::timestamp)/7)
{% endmacro %}

{% macro postgres__datediff_hour(first_date, second_date) %}
    {{ postgres__datediff_day(first_date, second_date) }} * 24 + DATE_PART('hour', ({{second_date}})::timestamp - ({{first_date}})::timestamp )
{% endmacro %}

{% macro postgres__datediff_minute(first_date, second_date) %}
    {{ postgres__datediff_hour(first_date, second_date) }} * 60 + DATE_PART('minute', ({{second_date}})::timestamp - ({{first_date}})::timestamp )
{% endmacro %}

{% macro postgres__datediff_second(first_date, second_date) %}
    {{ postgres__datediff_minute(first_date, second_date) }} * 60 + DATE_PART('minute', ({{second_date}})::timestamp - ({{first_date}})::timestamp )
{% endmacro %}

{% macro postgres__datediff(first_date, second_date, datepart) %}

    {% if datepart == 'second' %}
        {{  postgres__datediff_second(first_date, second_date)}}
    {% elif datepart == 'minute' %}
        {{  postgres__datediff_minute(first_date, second_date)}}
    {% elif datepart == 'hour' %}
        {{  postgres__datediff_hour(first_date, second_date)}}
    {% elif datepart == 'week' %}
        {{  postgres__datediff_week(first_date, second_date)}}
    {% elif datepart == 'day' %}
        {{  postgres__datediff_day(first_date, second_date)}}
    {% elif datepart == 'month' %}
        {{  postgres__datediff_month(first_date, second_date)}}
    {% elif datepart == 'year' %}
        {{  postgres__datediff_year(first_date, second_date)}}
    {% else %}
        {{ exceptions.raise_compiler_error("macro datediff for PostgreSQL does not support '" + datepart +"'") }}
    {% endif %}

{% endmacro %}

I've kicked off the tests but won't have time to review this in depth until later this week :)

@clecrl No worries. The tests picked up something I missed anyway. Thanks for kicking those off!

:shipit:


Replace hub in acceptance tests for repo delete

Hub needs to be removed from the acceptance tests. The scope of this task is to just remove it from the deleteRepo function.

Should be completed by #775


Feature: 'collapsed.bail'

Add collapsed.bail option. Fixes #3 Fixes #4
Add documentation to README about collapsed conflict detection / resolution.

Codecov Report

Merging #22 (c6edbe3) into main (bb403a6) will decrease coverage by 2.70%.
The diff coverage is 80.43%.

@@            Coverage Diff             @@
##             main      #22      +/-   ##
==========================================
- Coverage   99.16%   96.46%   -2.71%
==========================================
  Files          12       13       +1
  Lines         240      283      +43
==========================================
+ Hits          238      273      +35
- Misses          2       10       +8

Impacted Files
Coverage Δ

lib/actions/package.js
91.50% <66.66%> (-7.28%)
:arrow_down:

lib/config.js
96.66% <100.00%> (+0.23%)
:arrow_up:

lib/trace/collapsed.js
100.00% <100.00%> (ø)

lib/worker/bundle.js
100.00% <100.00%> (ø)

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 bb403a6...c6edbe3. Read the comment docs.

Released in<EMAIL_ADDRESS>