e2e: Add support for updating MagicCatalogs

Signed-off-by: timflannagan<EMAIL_ADDRESS>
Description of the change:
Update the MagicCatalog library and add support for updating existing catalogs.
Motivation for the change:
Enable integrating FBC into OLM's e2e testing suite a bit more practical.
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /doc
[ ] Commit messages sensible and descriptive
[ ] Tests marked as [FLAKE] are truly flaky
[ ] Tests that remove the [FLAKE] tag are no longer flaky

/lgtm


[Bug] dubbo-dependencies-zookeeper 3.3.0 dependencies do not exist in the maven central repository

Pre-check

[X] I am sure that all the content I provide is in English.

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache Dubbo Component
Java SDK (apache/dubbo)
Dubbo Version
dubbo: 3.3.0
Steps to reproduce this issue

What you expected to happen
Maybe you should upload it to the maven central repository or modify the documentation
Anything else
No response
Are you willing to submit a pull request to fix on your own?

[ ] Yes I am willing to submit a pull request on my own!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I have looked at the dubbo code and it seems that there is no Dubco-Dependencies -zookeeper after 3.0-beta.2

Use dubbo-dependencies-zookeeper-curator5 instead of the original  dubbo-dependencies-zookeeper dependency.

Use dubbo-dependencies-zookeeper-curator5 instead of the original  dubbo-dependencies-zookeeper dependency.

However, our zoookeeper version is 3.4.10, is it incompatible with dubco-dependencies -zookeeper-curator5?
Will it no longer be compatible with zookeeper3.4.+

You should know about the compatibility of curator5, I know that it can support 3.4, I don't know if it is wrong.

Use dubbo-dependencies-zookeeper-curator5 instead of the original  dubbo-dependencies-zookeeper dependency.

However, our zoookeeper version is 3.4.10, is it incompatible with dubco-dependencies -zookeeper-curator5? Will it no longer be compatible with zookeeper3.4.+

You can choose not to upgrade dubbo version for now.

curator5 does not support zookeeper4, so I wonder if a later version of dubbo will still support zookeeper4

 curator5 does not support zookeeper4, so I wonder if a later version of dubbo will still support zookeeper4

It will no longer be supported.

curator5不支持zookeeper4,不知道dubbo以后的版本还支持zookeeper4吗

它将不再受支持。
https://dubbo.apache.org/en/overview/mannual/java-sdk/reference-manual/upgrades-and-compatibility/version/3.2-to-3.3-compatibility-guide/#9-removal-of-zookeeper -34-支持

ok,thinks .
I used dubbo: 3.3.0, dubco-dependencies -zookeeper: 3.0-beta.2, and found that only here there are exceptions, only need this code comment, start the service, and call the service is normal

Oh, and make sure you change the files.

the same issue
Unresolved dependency: 'org.apache.dubbo:dubbo-dependencies-zookeeper:pom:3.3.1'

maybe this solution will solve your problem click


[BUG] ArrayType of structType isn't supported in spark sql

Minimal Code To Reproduce
SELECT array type of nest struct type FROM some_table

Describe the bug
TypeError: Unsupported type in conversion to Arrow: ArrayType(StructType(List(StructField(some_columne,StringType,true))))

Expected behavior
The query should work.
Environment (please complete the following information):

Backend: spark
Backend version: 3.1.2
Python version: 3.8
OS: linux

This is because native Spark doesn't support it https://github.com/apache/spark/blob/c16a66a64bf9599b4fefcdc2beaad7c4f2a4517e/python/pyspark/sql/pandas/types.py#L89


file is mounted as directory for broken docker storage drivers

Problem:
When we are mounting a file inside gocd/gocd-agent-docker-dind:v20.1.0, the file is getting mounted as directory.
Steps to reproduce
oneliner inside container
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.8-dind sh -c ' \
        echo "simple text file created inside container" > /tmp/file ; \
        docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0  cat /home/go/somefolder/somefile ; \
'

Or do it in your unix/osx system

echo "simple text file created inside host" > /tmp/file
docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0  cat /home/go/somefolder/somefile

Expected Output
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
simple text file created inside container

Actual output
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
cat: read error: Is a directory

You can further investigate by ls -al  /home/go/somefolder  or may be  [ -d /home/go/somefolder/somefile ]
Why so serious ?
This might look a trivial problem, but in reality it isn’t. I am using docker-elastic-agents-plugin, to spin up elastic agents, based on image : gocd/gocd-agent-docker-dind:v20.1.0
Now from inside the container, to take a pull from a private git repository over ssh, I had to mount the ssh keys on following locations:

/home/go/.ssh/id_rsa
/home/go/.ssh/config
/home/go/.ssh/known_hosts

THIS STUPID PROBLEM IS MOUNTING THE PRIVATE KEY id_rsa, AS DIRECTORY AND WASTED TWO FULL WORKING DAYS OF MINE.
Docker info for debugging :
Client:
 Debug Mode: false

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 86
 Server Version: 19.03.8
 Storage Driver: overlay2
  Backing Filesystem: <unknown>
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 4.19.76-linuxkit
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 6
 Total Memory: 2.432GiB
 Name: docker-desktop
 ID: JPA6:3U75:KKBL:OBPH:2YIF:HQOS:QNAD:SOXL:HMZS:3REY:47FJ:UYG7
 Docker Root Dir: /var/lib/docker
 Debug Mode: true
  File Descriptors: 41
  Goroutines: 56
  System Time: 2020-04-25T14:29:44.333396655Z
  EventsListeners: 3
 HTTP Proxy: gateway.docker.internal:3128
 HTTPS Proxy: gateway.docker.internal:3129
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>:5000
  <IP_ADDRESS>/8
 Live Restore Enabled: false
 Product License: Community Engine

Hi @pPanda-beta
I tried the steps mentioned to reproduce the issue, and it works fine:
➜  ~ echo "simple text file created inside host" > /tmp/file
➜  ~ docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0 cat /home/go/somefolder/somefile
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
simple text file created inside host

I found "Mounting host file to docker container creates directory in the container instead of file"  on the docker forum. Can you check if any of the suggestions work for you to resolve this issue?

@pPanda-beta - also, why can't you mount /home/go/.ssh as a directory?

@pPanda-beta - The following comment might not be applicable for you, as from the provided steps to reproduce, it can be seen that you're not using relative paths.
After spending some more time on the issue, found out that docker does not understand relative paths for volume mounts. So, for docker, no file exists on the provided relative path. And for the bind-mount a file or directory that does not exist on the Docker host, -v option always creates a directory endpoint inside the container.
When provided relative path
➜  echo "simple text file created inside host" > junk.txt

➜  ls junk.txt
junk.txt

➜  docker run --rm -it -v junk.txt:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0 cat /home/go/somefolder/somefile
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
cat: read error: Is a directory

➜  docker run --rm -it -v junk.txt:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0 ls -alh /home/go/somefolder
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- ls -alh /home/go/somefolder
total 12K
drwxr-sr-x    3 root     root        4.0K Apr 25 18:17 .
drwxr-sr-x    1 go       root        4.0K Apr 25 18:17 ..
drwxr-xr-x    2 root     root        4.0K Apr 25 18:03 somefile

When provided absolute path
➜  echo "simple text file created inside host" > junk.txt

➜  ls junk.txt
junk.txt

➜  docker run --rm -it -v $(pwd)/junk.txt:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0 ls -alh /home/go/somefolder
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- ls -alh /home/go/somefolder
total 12K
drwxr-sr-x    2 root     root        4.0K Apr 25 18:18 .
drwxr-sr-x    1 go       root        4.0K Apr 25 18:18 ..
-rw-r--r--    1 go       root          37 Apr 25 18:18 somefile

➜  docker run --rm -it -v $(pwd)/junk.txt:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0 ls -alh /home/go/somefolder
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- ls -alh /home/go/somefolder
total 12K
drwxr-sr-x    2 root     root        4.0K Apr 25 18:18 .
drwxr-sr-x    1 go       root        4.0K Apr 25 18:18 ..
-rw-r--r--    1 go       root          37 Apr 25 18:18 somefile

@varshavaradarajan I did exactly the same that you mentioned above,
i.e. the following volume mount while setting up the elastic profile.
/home/go/.ssh:/home/go/.ssh
Since the gocd server was also running as a docker container and the ssh keys were mounted from outside, I tried to forward those to the elastic container.
Now the folder mounting from host to the gocd server container worked fine, and server was able to take pull from private repository.
Now when I mounted the same folder to the elastic container,
i.e.
host ---> gocd server container ---> gocd elastic container
The results were quite confusing, and that's why I didn't put it here to keep the focus on the particular issue.
The results were :

/home/go/.ssh/id_rsa - as directory
/home/go/.ssh/id_rsa.pub - as file
/home/go/.ssh/config - as directory
/home/go/.ssh/known_hosts - as directory
/home/go/.ssh/authorized_keys - as file

Only God knows what is happening between those containers.
I also tried mounting the volumes as read only, but the results were same.

@varshavaradarajan I did exactly the same that you mentioned above,
i.e. the following volume mount while setting up the elastic profile.
/home/go/.ssh:/home/go/.ssh
Since the gocd server was also running as a docker container and the ssh keys were mounted from outside, I tried to forward those to the elastic container.
Now the folder mounting from host to the gocd server container worked fine, and server was able to take pull from private repository.
Now when I mounted the same folder to the elastic container,
i.e.
host ---> gocd server container ---> gocd elastic container
The results were quite confusing, and that's why I didn't put it here to keep the focus on the particular issue.
The results were :

/home/go/.ssh/id_rsa - as directory
/home/go/.ssh/id_rsa.pub - as file
/home/go/.ssh/config - as directory
/home/go/.ssh/known_hosts - as directory
/home/go/.ssh/authorized_keys - as file

Only God knows what is happening between those containers.
I also tried mounting the volumes as read only, but the results were same.

@GaneshSPatil I tried the steps for "real host to container mounting" on a different laptop and it worked correctly as yours.
To avoid any "it works on my machine" scenario, lets try the "container to container mounting" only.
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.8-dind sh -c ' \
        echo "simple text file created inside container" > /tmp/file ; \
        docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0  cat /home/go/somefolder/somefile ; \
'

This produced incorrect results on two different macbooks and also on a debian based gcp VM.  I would call that highly consistent behaviour :P :P
Also, I would like to know the docker version of yours. If we look carefully, in every possible way, the systems are using host's docker daemon only. I have a hunch that, the problem happens with gocd/gocd-agent-docker-dind:v20.1.0  and docker ce 19.03.x

Unfortunately, it works on my machine :/
Docker version
➜  docker --version
Docker version 19.03.8, build afacb8b

➜  docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:21:11 2020
 OS/Arch:           darwin/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Output of the command
➜  docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.8-dind sh -c ' \
        echo "simple text file created inside container" > /tmp/file ; \
        docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0  cat /home/go/somefolder/somefile ; \
'
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
simple text file created inside host

I feel its the problem with docker configurations.
@pPanda-beta Can you check your file sharing configurations under docker preferences to know whether /tmp directory can be used as a bind mount for containers?

When a file/directory is volume mounted from the path which is not allowed for file sharing, such files are not accessible by docker, and produces the result mentioned by you.
When /tmp is allowed for volume file sharing:
➜  docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.8-dind sh -c ' \
        echo "simple text file created inside container" > /tmp/file ; \
        docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0  cat /home/go/somefolder/somefile ; \
'
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
simple text file created inside host

When /tmp is not allowed for volume file sharing:
➜  docker-examples docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.8-dind sh -c ' \
        echo "simple text file created inside container" > /tmp/file ; \
        docker run --rm -it -v /tmp/file:/home/go/somefolder/somefile gocd/gocd-agent-docker-dind:v20.1.0  cat /home/go/somefolder/somefile ; \
'
sudo: setrlimit(RLIMIT_CORE): Operation not permitted
$ exec /usr/local/sbin/tini -g -- cat /home/go/somefolder/somefile
cat: read error: Is a directory

\cc: @varshavaradarajan @arvindsv

@GaneshSPatil I checked this with both the settings, the result is same,
Also I've raised another issue on dind : https://github.com/docker-library/docker/issues/228
There I used a different  location and it still produced the same problem
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock docker:19.03.8-dind sh -c ' \
        echo "simple text file created inside container" > /root/file ; \
        docker run --rm -it -v /root/file:/somefile docker:19.03.8-dind  cat /somefile ; \
'

And the scenario you mentioned is not applicable on the debian VM I tried.

The simple use case has been explained on : https://github.com/docker-library/docker/issues/228
It looks like trouble will come if we start using DOOD, on DIND mode this problem will not occur.
on DOOD mode, it is supposed to mount /home/go/.ssh from physical machine to the elastic agent directly.
Will investigate further and update on this ticket.

Closing this ticket since, its the wrong usage of DIND


Istio + cloudflare proxy + AuthorizationPolicy

This is a question
Hello,
I just can't figure out how can i set up Istio in order to restrict access from only a few IP addresses to some services.
I have a k8s cluster in Azure AKS. The ingressgateway is patched with
"externalTrafficPolicy":"Local"
Also, the domain i'm using is in Cloudflare and it is proxied so when i get a request, i get ingressgateway logs:
[2021-02-01T17:20:36.635Z] "GET / HTTP/1.1" 403 - "-" 0 19 0 - "<IP_ADDRESS>,<IP_ADDRESS>" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" "bfe7eb7e-af3f-43fb-b7d8-7b0719ef483f" "example.com" "-" - - <IP_ADDRESS>:8443 <IP_ADDRESS>:59828 example.com -
<IP_ADDRESS> - is my real IP
How can i set up an AuthorizationPolicy in order to allow access from only my IP address?
Now i have this:
apiVersion: security.istio.io/v1beta1
kind: AuthorizationPolicy
metadata:
  name: ingress-policy
spec:
  selector:
    matchLabels:
      app: istio-ingressgateway
  action: ALLOW
  rules:
  - from:
    - source:
        ipBlocks: ["<IP_ADDRESS>/29"]

But it's not working because istio sees Cloudflare's IP as source IPs.
And yes, i need it to be proxied by Cloudflare. If i disable CF proxy it works but i need it to be enabled.

This sounds like a cloudflare question, not an Istio one. I would look into what functionality cloudflare has to support this. Could be proxy protocol, XFF header, etc. Istio can only rely on information provided by cloudflare proxy

@howardjohn as far as i know, Cloudflare adds a HTTP header CF-Connecting-IP
https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs-logging-visitor-IP-addresses

@crrazyman Cloudflare by default adds an X-Forwarded-For header and additionally can supply a CF-Connecting-IP request which I believe is formatted in exactly the same was as the XFF header.  As far as I know Cloudflare only works at layer 7 and doesn't support ProxyProtocol

Istio will look at the X-Forwarded-For since 1.8+ I believe. What version are you on?

Have you tried 1.8+?

Assuming this is fixed in 1.8 since we haven't heard back. Thanks!


Task update tranzito utils 1.2.0

Description

Add a dropdown for period_select(filters)
Update the filters functionality as per the dropdown
Add Flatpickr package

Down the road, if we need multiple selectors on the page, using IDs may bite us but I'm willing to postpone dealing with that issue until we have the problem.


Combination - uniqueness takes into account latinized endings

[x] make combination uniquness ending aware

As a bi-product this asserts that misspellings be more rigourously "enforced" as new Protonyms

[ ] Add search option for amgiuous or no match categories
[ ] Add verbatim name option for all names

In addition to the features above exact Combination.verbatim_name == Protonym.cached_original_combination uniqueness is now defined.  New refinements in new issues.


Can not link to my account in Alexa app

Hi,
The same problem the issue #62 is happening again in my house, Will you remove all tokens from my account?

That's a little difficult if you don't tell me your username

I have three accounts, x9vdsvv887q, md9cd454d and mies9idl.

me too.
username: taka.mickey

Thank you.
i can link.

It's working perfectly.
thanks.


1.16.2

NBT API updated version 2.5.0 recently and added support for 1.16.2.
I hope Crazy Enchantments can update and support 1.16.2 too.

a6587e82f0b696b6d3fa7ec6658624808ddcacaa


Scrolling twitches

I have 2 scrollbar and me link them together but i have trouble with twitches scrollbar.
Checkout this: https://codesandbox.io/s/z3xw0o51qp

@izbagov I'm currently struggling with the same issue. Have you managed to find the solution?

@ox4 no unfortunately =(


Calculate a "source hash" by expanding includes

An AsciiDoc document can include multiple included source files and files of document elements, such as images.
This content hash is used to determine whether a document needs to be rebuilt, depending on whether its dependencies have changed.
This task is to calculate a content hash (per node hash) for an AsciiDoc document that covers its attributes, content and included content.

Expands all "include" directives
Incorporates external files (eg. "image" directive, only local by default)

This is needed for Metanorma collections to decide whether to re-compile a document.

@opoudjis please feel free to provide comments.

This extends into a general "don't bother recompiling this document" if the source hasn't changed...
... and the version of Metanorma hasn't changed, and it will need to be able to be overridden anyway: we'll actually need the hashes of all commits in the stack if we don't have to end up injecting "recompile this" directives all over Metanorma documents whenever we work on them internally.
Which means the question of when to ignore the hash, when deciding whether to recompile a document or not, is FAR more involved than the simplistic question of generating a hash to begin with. This is a proposal to save me 10 minutes at the same time I'm being asked to do a day of work.
In current Metanorma processing, I do an initial resolution of all includes (and then embeds) (and then Lutaml and other preprocessing of fetched blocks), before parsing the document. I have no idea what if anything Coradoc is doing with preprocessing and things like Lutaml, but this hashing cannot be invoked until the source to be compiled is fully resolved and populated.
There is also the issue of when the outside world finds out what the hash is. Presumably, there is a sequence of:

Load file
Resolve all imports (Asciidoc preprocessing)
Compile the resolved source file into an Object model (Asciidoc load)
Convert the Object model into an output model (Asciidoc convert)

The hash comes out of the second step. If I were ever to use Coradoc in Metanorma to compile documents, I would want to know the hash before proceeding to the third and fourth steps: the point is to save time by stopping me from doing so to begin with. (That is a problem with the existing Asciidoc information model, which does not segregate load from convert at all.)
The notion that this should also be checking the binary content of images is... well, I simply don't want to know any more. That is the point where this request for time-saving becomes more trouble than it is worth.

SHA-256 is fast. In Coradoc, step 2 occurs at step 3. The resulting hash tree is just a product of all its child/content hashes (i.e child includes).
Step 4 never happens here because we don’t need any output, so there’s no wasted time.
There are ways we memoize hashing of large binary files, such as last access.

If step 3 in Coradoc were instantaneous, I could just run 3 in Coradoc to get the hash, inject it, deal with all the problems of determining whether to take it seriously -- which you are still not paying attention to -- and then go back to parsing it from 1, internally.
Step 3 in Coradoc will not be instantaneous: it is in fact parsing the document. Which as you already know, takes time, and that's not out of my incompetence or Dan Allen's: document parsing does, in fact, take time, especially when it's got the kitchen sink of preprocessing thrown in, as you have made Metanorma do.
I remind you that in my profiling from last night of a single collection, 60% of time is spent on preprocessing Express in Lutaml, 20% on the rest of Asciidoc parsing to Semantic XML, and 20% on rendering the Semantic XML to outputs. The 60% is  what I want to economise on, not the 20%. And I'm hard put to find a scenario when I can get a hash before all the preprocessing is done, including Lutaml.
... So I'm parsing the document, steps 1-3, to work out whether I need to parse + convert the document, step 4.  And that looks like spending 60% of the time, in that case, in order to work out whether I need to spend 80% of the time. And if I do, I will be restarting the 60% preprocessing from scratch -- unless I have output from Coradoc that is already parsed and that I can use with minimal disruption to Metanorma.
That, on top of all the conditions that I would need to invoke on whether to ignore the hash, such as software library updates.
As a friend of mine once said, "people spend hours trying to save minutes."

My friend also commented, the time used to find ways of discounting a task often takes more than the time actually doing it.

You asked for feedback. That is my feedback.

This is an architectural problem, and any hash needs to be run as fast as possible, if it is to prevent further compilation, and save time. That may well mean that it is NOT aligned to the existing Coradoc processing model. It needs to resolve all includes and imports and file references IMMEDIATELY, before anything else, and generate a hash. No parsing, no processing, no anything. That's the stuff we're trying to preempt: that's the entire point of this.
It needs to happen before your step 3. Step 3 is simply too late, and you will find that once Coradoc parses documents that take 5 minutes to parse, and not 5 seconds.
If you want to parse everything and generate me a hash that will end up doubling my processing time, because it is generated too late into processing, then sure, you can dismiss my objections as taking more time than actually doing the task. And the task that ends up done will be not fit for purpose, because its intended aim is to save time by preempting compilation. I fail to see why you find that objection trivial.

I have managed to do caching in Opal, and it's working very well. You can take a look at our code, because I think it's self explanatory, and for the most part, can be reused:

https://github.com/opal/opal/blob/master/lib/opal/cache.rb
https://github.com/opal/opal/blob/master/lib/opal/cache/file_cache.rb
https://github.com/opal/opal/blob/master/lib/opal/paths.rb#L31-L43
https://github.com/opal/opal/blob/master/lib/opal/compiler.rb#L651-L662
https://github.com/opal/opal/blob/master/lib/opal/builder/processor.rb#L87-L97

A couple of assumptions though:

a compiled file (in our case - Compiler class instance) is independent of any state, but it provides files it depends on for further stages
mtime, file size and file name are enough to guarantee uniqueness
external modules / monkey patches don't load the state from outside (or they will need to deal with cache invalidation themselves).

Those assumptions are valid per Opal project.
But, while that sped up the process significantly, it was not the patch that gained us the most time. Sometimes cache needs to be invalidated and then we needed to wait for a minute or two. So, I came up with a "novel" idea of multiprocessing.
Most of the Ruby code runs single threaded, but we can speed that up, by splitting the work to utilize all CPU cores. In the case of Opal, since the assumption is that a Compiler class instance is independent of any state, we can compile each file in parallel.
Threads? No, no threads, Ruby has a GIL. Ractors? Were unsuitable, would require uglifying the code a lot, and some of the code we can't reliably modify (in particular, Ragel-produced Ruby lexer and parser).
There are two options remaining: fork(2) and system(3). The first doesn't work on Windows and in JavaScript runtimes. The second would kill the state of the code (think: external plugins, monkey-patches). Since most Opal users, from what I know, run modern Unix operating systems, we chose the first.
The code is quite complex, as it involves communication between processes (main process has to communicate new files to compile for child processes, child processes need to send data back to the main process and also a list of those files' dependencies, so that they can be compiled in the next step).

https://github.com/opal/opal/blob/master/lib/opal/builder/scheduler/prefork.rb
https://github.com/opal/opal/blob/master/lib/opal/builder/scheduler/sequential.rb

The Prefork has an issue if some C-libraries doing some weird stuff are loaded, or custom Fiber schedulers are used. So that causes some issue to our users, but then we can easily help them by telling them to just fall back to Sequential, or run Opal out of process (eg. by deferring to opal CLI utility).
I am now in a process of reviewing a patch that adds a third scheduler, Threaded (for JRuby and TruffleRuby, as they have real threads). It's also simpler, but requires the code to be thread-safe (and in Ruby libraries, that's not always a given, especially if they use global variables, like... I don't know, class/module instance variables, singleton instances as constants):
https://github.com/janbiedermann/opal/blob/thread_rush/lib/opal/builder/scheduler/threaded.rb
Those are in general practical options that are already in deployment for 2 years I think and can be, for some part, copied and pasted (or abstracted away). But the real work is in verifying the assumptions.
For both points, the main assumption is stateless compilation. Is it really possible, with all the needs of AsciiDoc parsing, for that compilation to be stateless as defined above (the only state being the output, with some metadata). I have seen an issue #125 for which one solution would definitely break this assumption.
I don't know a lot about Metanorma, but if AsciiDoc parsing amounts to just 20% of time, then perhaps a better idea would be to pull those deeper into the stack. All while ensuring the main assumption stands. and it most likely does not always. In the case of Opal, the speedup was significant, as in, we can even run the whole building process for each request (at least, in developer mode) and assume the asset will be produced in a fraction of a second (everything is stateless, except for a last step that is basically just a concatenation of resulting text files).
Perhaps, in the case of Metanorma, this can be solved by doing a multiprocessing queue of small stateless processes, where each process would only depend on previous processes' outputs. Where is possible, there could be cache, and Coradoc could plug into such a system (or run such a system standalone, eg. if CLI is used). But as I noted above, I don't know a lot about Metanorma, so I will certainly need help integrating it with such a system.

I don't know a lot about Metanorma, but if AsciiDoc parsing amounts to just 20% of time, then perhaps a better idea would be to pull those deeper into the stack.

Generating the XML from Asciidoc takes 20% to 80%. The collections in ISO-10303 are a difficult subcase, in that they involve extremely heavy preprocessing of external files and templating. Those are however the key value-add of Metanorma. Files that are just normal documents with no external dependencies don't take 5 minutes (let alone 20) to compile.
And the reason rendering the HTML and PDF and DOC doesn't take longer than they do is that Metanorma does run a concurrent thread for each of them.
But the time consuming component is not the Asciidoc parsing. (This is one of my ongoing disgruntlements with the architecting of Metanorma: resources are being expended on things that are not the bottleneck.) The time consuming component is preprocessing the Asciidoctor, to run templates on external data, and postprocessing the XML. A hash generated in parsing Asciidoc preempts only postprocessing the XML, and generating outputs. It does not preempt the preprocessing, which is the biggest timesink for big documents.
That aside, I can only repeat that this is overengineered for the problem posed: I want to know whether I should recompile the document or not, because preprocessing, specifically, is so expensive with a major subclass of documents. That means I want to know if any source files have changed. I should not have to compile the document at all, to know whether I need to recompile it. All I should need to do is a single preprocessing step, that fetches and resolves all includes and dependencies, and compare its hash to the output of that preprocessing the last time I did it. That's it.
If you are going to make compilation so fast that I don't need to ask whether I need to recompile it, that's great in theory, and given how much postprocessing of the XML I still have to do, likely irrelevant in practice. The Express  module in ISO-10303 is C code iterating over a massive document schema to generate Asciidoctor: there is NOTHING you can do to optimise that.
If I'm going to do source control for compilation, in fact, it makes more sense to write an alternate mode on the existing Metanorma preprocessors, to fetch the raw text of the includes and imports, with no templating and no parsing, and hash the input file generated. In the case of Express, I don't know if that's even feasible.
You can calculate whatever you calculate, but my use case is that 60% of compilation time in that document was being spent here: https://github.com/metanorma/metanorma-plugin-lutaml . And if coradoc can only run once that has been run to generate the needed Asciidoc... then any hash it generates for me is too late to be useful for me when it matters.
Generate the hash anyway, I guess it can be used for source code validation or something. But this is not solving my problem with this class of documents. And an alternative preprocessor would.

I don't want to be distracted. The key issue here is simple - we need a way to determine if a deliverable's dependencies have changed, using hash calculations.
Yes, I believe dependency checking is faster than compilation. @hmdne already listed many.
Yes, using hours to shave of seconds is worth it because we are talking about a 1-time cost vs hundreds of hours that compilation takes place. I ask myself the times I waited for ISO 10303 to compile and it is absolutely worthwhile.
This is exactly like Make, Rake and the case of compilation of Opal.
Taking this one step further, we can generalize this issue into dependency and workflow. There are nuances such as plugins (e.g. a plugin depends on other files that are not in the typical AsciiDoc feature set), but those can also be defined as separate dependencies (the plugin code can tell the parser its dependencies).
GitHub Actions provides a workflow language, and so is Common Workflow Language, both are in YAML.
Right now, a Metanorma site builds all documents regardless, but there is actually a hierarchy:

Metanorma site contains many metanorma collections/documents
Metanorma collection can contain metanorma collections/documents
Metanorma document is composed of multiple AsciiDoc files and other external resources

In order to create a dependency tree we need to work out the dependencies of all these things. Coradoc is handling the 3rd step.
So I hope this will be the first step in completing this change of dependency tracking for faster compilation for the entire stack.
Let's proceed.

So, to thoroughly implement this task, so that we would be able to

Solve the issue at hand
Ensure it's ready for use in Metanorma to solve other issues
Prepare for multiprocessing as well

I would propose a following early draft of an API:
class Coradoc::Task
  include UTask::Task

  # List of dependencies in a form of programs being used
  # to produce an output. $LOADED_FEATURES is an array that
  # is being tested for that. This is so that cache is
  # invalidated whenever the programs change.
  utask_feature_dependency "lib/coradoc/"
  utask_feature_dependency "lib/parslet/"

  # It may depend on some other properties.
  utask_value_dependency RUBY_VERSION
  utask_value_dependency RUBY_ENGINE

  # Value can also be deduced at runtime
  utask_value_dependency { Time.now.year }

  # Takes a number of arguments. Each argument must be
  # serializable and process must depend only on those
  # arguments to provide an output.
  #
  # A task can't produce side effects, unless those side
  # effects are wrapped by some future UTask interface.
  # This includes warnings, since they will be squashed
  # by cache.
  #
  # A Task can call other UTasks, but only using the API
  # described below. (This needs further design).
  #
  # Returns a `Result` - a class that must conform to an
  # interface described below.
  def process(*args, **kwargs)
    Result.new(Coradoc.do_something(*args, *kwargs))
  end

  class Result
    # Result must be serializable. A serialization format
    # of choice is Marshal, since it's native to Ruby, it's
    # fast. It's also insecure, but we assume that its
    # only insecure if foreign Marshaled objects are provided.
    # This is not the case here. This mostly means, that
    # the Result instance can't contain instances of following
    # classes:
    # - Proc
    # - IO

    # Can define file dependencies. This must be an array
    # of filenames. This is defined for a single process.
    #
    # The dependency is defined as data on which
    # contents depends a return value of a process.
    #
    # A file dependency is a filename that contains this
    # data.
    #
    # Ie. if a file mentions another file, but its
    # removal, modification, etc. doesn't change its
    # contents, it's not a dependency.
    #
    # If input is provided as an input variable, its
    # source shouldn't be specified here as well. This
    # is just for inferred dependencies.
    #
    # A file dependency can also be a directory. In
    # which case, its entire contents are hashed.
    attr_reader :file_dependencies
  end
end

# The task must be called using the following:
Coradoc::Task.($stdin.read, {option1: true}).await

# Or with a helper function:
def coradoc_process(file)
  Coradoc::Task.(File.read(file)).await
end

# The Coradoc::Task.call function is doing all those things
# in the background (optionally) and they are guaranteed to
# work if the assumptions are valid:
# - caching
# - multiprocessing
# - time tracking
# - progress displaying
#
# For caching, we create a hash of:
# - feature dependencies
# - value dependencies
# - file dependencies
# - process arguments
#
# For multiprocessing to work (perhaps in the future) we must
# assume that Coradoc::Task.call returns some kind of a Promise
# that first needs to be awaited to extract the return value.

# Creation of a pipeline is outside of the scope of UTask. It
# may be done this way, for instance:

files = %w[a b c d e]
data = files.map { |i| File.read(i) }

coradoc_data_promises = files.map { |i| Coradoc::Input::Task.(i) }
coradoc_data = coradoc_data_promises.map(&:await).map(&:data)

metanorma_preprocessed_data_promises = coradoc_data_promises.map { |i| Metanorma::Preprocessor::Task.(i) }
metanorma_preprocessed_data = coradoc_data_promises.map(&:await).map(&:data)

metanorma_concatenated_data = Metanorma::Concatenator.(metanorma_preprocessed_data).await.data

# Likely though, we would be working on some nicer APIs that would wrap the task calling.

# This is designed to be possible to wrap existing code as UTasks
# and also for partial replacement.


[TW#28790] how do i reduce image file size

i build  project examples/wifi/scan and then make flash
App "scan" version: 1
Flashing binaries to serial port /dev/ttyUSB0 (app at offset 0x10000)...
esptool.py v2.6
Serial port /dev/ttyUSB0
Connecting....
Chip is ESP32D0WDQ5 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, BLK3 partially reserved, Coding Scheme 3/4
MAC: 30:ae:a4:cc:2a:2c
Uploading stub...
Running stub...
Stub running...
Configuring flash size...
Auto-detected Flash size: 4MB
Flash params set to 0x0220
Compressed 24224 bytes to 14504...
Wrote 24224 bytes (14504 compressed) at 0x00001000 in 1.3 seconds (effective 151.2 kbit/s)...
Hash of data verified.
Compressed 599968 bytes to 364570...
Wrote 599968 bytes (364570 compressed) at 0x00010000 in 32.2 seconds (effective 148.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 103...
Wrote 3072 bytes (103 compressed) at 0x00008000 in 0.0 seconds (effective 1643.9 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...

it about 600KB of out file and task 32 seconds to download ,i found that it will link a lot of unuse lib in it,how can i optimiza it

@baicaiaichibaicai
There are many options available in menuconfig to optimize size and reduce download time. Take a look
But if you want quick solution check this discussion. It has enough info to reduce overall binary size.
You can increase download speed to reduce the time taken

As @AmrutaCh said, if you are just looking to minimize upload time, change your upload baudrate to 921600 or 1500000 (1500000 is about as high as my board will go). Should reduce the upload time of a 600KB binary to about 6 seconds.

@AmrutaCh  @BrianPugh   thank you for respone


[wip] do not activate sd_notify support when varlink

add ability to not activate sd_notify when running under varlink as it
causes deadlocks and hangs.
Fixes: #3572
Signed-off-by: baude<EMAIL_ADDRESS>

popping a wip/hold on this until i get a chance to actually test it

One naming suggestion, core of this seems solid.

/test images

/test images

This PR is full of double negatives.  Wouldn't it be a lot easier to understand if you had it set to EnableNotify  Or better yet don't talk about fds, but talk about remote.
In the future we might want libpod to work differently if it is handling a remote client versus a local client. so can we make this more generic.
IsLocal?

i dont care what the name is ... but the reality is it has little to do with remote vs local but more about sd notify/listening.  It just so happens that when using varlink, we need to turn that off.

/test images

I'm fine with making it the inverse - WithEnableSDNotify()

/retest

/lgtm
/hold
Cancel hold when tests pass.

/hold cancel


feat: Exclude views from output of find tables

This PR:

Adds a view to most test schemas
Adds an assertion to test_find_tables tests checking that the view is not in the output
Adds a few standard validation test over the new view just as a bonus check

Doesn't support SQL Server or Snowflake due to a related issue: https://github.com/GoogleCloudPlatform/professional-services-data-validator/issues/1198

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

Neil,
My concern is that in large organizations, people don't get access to the underlying tables - only the views due to security and other reasons. So there is some reason to validate views - because that is what people see.
Should we make this an option  to find-tables and retain existing behavior ?
Did a customer run into this issue ? We are changing behavior - excluding views - hence want to understand.
Thanks.
Sundar Mudupalli

/gcbrun

Did a customer run into this issue ?

Yes, they were getting views in their column and row validation commands which were understandably performing really badly. So they postponed use of find-tables and used their own queries in shell scripts to drive validations. For this particular customer they would prefer to use core DVT commands and not supplement with their own connections because it doubles the number of password management points they need to manage. But that is their preference - not necessarily the preference of everyone.
I can see that validations over a security layer of single table views would be fine but many views are reporting views containing multiple tables and these would all be a problem. It feels to me like find-tables should only find tables as the name suggests but I do accept that this is changing current default behaviour.

I think it makes sense find-tables command to output only tables and might be the case of having a separate command find-views when the user explicitly wants to get those, what do you all think?

Hi,
If all of us agree there is a legitimate use for including views, then the discussion is about how to enable that. Options are:

Either a separate command or an option to the existing find-tables command
What is the default behavior - include or exclude views ?

I have a preference for keeping the existing behavior - i.e. include views, but not hard and fast about it.
Thank you for working on this.
Sundar Mudupalli

My preference would be for default behaviour to be the less impactful of the two which is to exclude views. I see views used as a security layer as being similar to Oracle synonyms as a layer over actual tables, they are extra layers I wouldn't expect a validation tool to cater for, at least by default. But accidentally validating through reporting views (with joins/aggregations/etc) could give bad performance and a bad impression.
I do see the point that there could be someone out there currently using find-tables to list views and this would introduce a change of behaviour for them, which would make this a breaking change.
I'm not against adding an --include-views option to find-tables if we want it.

It seems reasonable adding a --include-views option to find-tables and making sure to flag it as breaking change. Ideally it shouldn't have so much people relying on find-tables  to get views specifically.

/gcbrun

/gcbrun

/gcbrun

I've updated the PR description to reflect the modified behaviour based on discussion above.

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun

/gcbrun


feat: pipeline_schedule resource type

Closes #58
Example:
resource "buildkite_pipeline_schedule" "my-schedule" {
  pipeline_id = buildkite_pipeline.<resource_name>.id
  cronline    = "0 *  * * *"
  label       = "My schedule"
}

I did some manual testing locally and it works fine, however, this is the first time I'm writing golang code so some obvious bugs are probably still there.
Also, I'm not sure how to write automated tests for this...
TODOs:

[x] Update docs

@yob would love to hear your feedback on this 🙏🏻

@yob would love to hear your feedback on this 🙏🏻

This is great @vgrigoruk, thanks for opening it.
We're still on a skeleton staff over summer holidays, but I plan to look at this in the next week or two.

This is great @vgrigoruk, thanks for opening it.
We're still on a skeleton staff over summer holidays, but I plan to look at this in the next week or two.

Sorry @vgrigoruk! We haven't forgotten these PRs, I'm just playing catch up after taking most of January off.
A complication is that I'm really keen to add integration specs so new features like this are less likely to regress over time. However finding time for that has been hard and I won't block third party PRs on me finding that time. For now I plan to test this manually.

Sorry @vgrigoruk! We haven't forgotten these PRs, I'm just playing catch up after taking most of January off.
A complication is that I'm really keen to add integration specs so new features like this are less likely to regress over time. However finding time for that has been hard and I won't block third party PRs on me finding that time. For now I plan to test this manually.

wondering if https://github.com/buildkite/terraform-provider-buildkite/pull/89 should be landed first (before looking into integration testing)?

wondering if https://github.com/buildkite/terraform-provider-buildkite/pull/89 should be landed first (before looking into integration testing)?

@vgrigoruk I've merged #89 - did you want to rebase this onto main before I test it (just to be extra cautious)?

It is ready for testing @yob

Thanks @vgrigoruk :heart:
I've manually tested this creates, updates, deletes and imports pipeline schedules as expected. I'd dearly like to request some acceptance tests, however that's blocked by us setting up the foundations for them (sample tests to emulate, a live BK org for tests to run against, a new pipeline step, etc) and I don't want to hold up your PR any further.
We'll take on adding the acceptance specs for this new resource once the foundations are in place :pray:

@vgrigoruk I've released this in v0.1.0


New Repo called "Canary"

Type of repository request
new repository
Requested name for the repository
new repo called: canary
Repository Description
Ansible Migration Factory
Admin Access
github user: boogiespook (Chris Jenkins - Red Hat)
Write Access
github user: boogiespook (Chris Jenkins - Red Hat)
github user: nstrug (Nick Strugnell - Red Hat)
Read Access
All
Additional details
Any additional information or context to provide for this request.

Review request:
cc: @redhat-cop/container-cop-core

Repository created and role assigned
https://github.com/redhat-cop/canary

Awesome - thanks Andy!
On Sat, 28 Mar 2020 at 04:18, Andrew Block<EMAIL_ADDRESS>wrote:

Repository created and role assigned
https://github.com/redhat-cop/canary
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/redhat-cop/org/issues/149#issuecomment-605392161, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3UYQJLQ35YV5JP67CAZW3RJV27HANCNFSM4LUJPNVQ
.

--
Chris Jenkins
Chief Technologist (EMEA)
Infrastructure Platform and Security
Red Hat https://www.redhat.com/
<EMAIL_ADDRESS>M: +44(0)7824140194
https://www.redhat.com/


Drop support for '−' (U+2212, \minus)

Because parse(Int, "−3") is not supported.
julia> Meta.parse("-3")
-3

julia> parse(Int, "-3")
-3

julia> Meta.parse("−3")
-3

julia> parse(Int, "−3")
ERROR: ArgumentError: invalid base 10 digit '−' in "−3"
Stacktrace:
[...]

After a thought, I now think we don't have to drop supporting −.

parse(Int, "−3") may be supported in Base in the future.
rd"−3" is not just a string parser, so the analogy does not apply.


Make the update my settings button same width as the ones on the setting page

Make the update my settings button same width as the ones on the setting page

@scissorsneedfoodtoo I saw you were interested in some issues, do you think you will like to take a dig as this?

Can I take this issue?

@bettychow sure thing! Please go ahead.

@bettychow, let us know if you need help with anything!
@raisedadead, thanks! I'll try to pick up another issue here or over on the learn repo. Still have a lot of work formatting challenge descriptions in the interview prep section that I've been putting off, too.

@scissorsneedfoodtoo great! Thanks a lot for all the efforts, you have put in.


Support for Paypal

There's a weboob module for that, so it should be a matter of adding a line to banks-all.json

http://weboob.org/applications/boobank.html


DP-1452 Merge develop to master and release docsify on master

Summary

What kind of change does this PR introduce?

For any code change,

[ ] Related documentation has been updated if needed
[ ] Related tests have been updated or tests have been added

Does this PR introduce a breaking change? (check one)

[ ] Yes
[ ] No

If yes, please describe the impact and migration path for existing applications:
Related issue, if any:

Tested in the following browsers:

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge
[ ] IE

Force merge and skip npm vulnerability issues

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Cosmos] Transactional Batch not working, only errors

Package Name: @azure/cosmos
Package Version: 3.13.1
Operating system: MacOS 11
nodejs

version:  14

typescript

version: 4.4

Describe the bug
I only get errors Batch request error: Message: {"Errors":["One or more operations within the batch request have a different partition key value than the request."]}
It doesn't matter if I send 1 change, or 2 or more. I also tried to send the partition key as second argument to the batch call, apparently the format is: ['${theKey}'].
The error is always the same.
To Reproduce
call batch with
[
  {
    operationType: 'Replace',
    id: 'co-b34ab5e8-c628-4399-9a52-464e279c344a',
    resourceBody: {
      id: 'co-b34ab5e8-c628-4399-9a52-464e279c344a',
      name: 'Test',
      _partitionKey: 'co-b34ab5e8-c628-4399-9a52-464e279c344a'
    },
    partitionKey: 'co-b34ab5e8-c628-4399-9a52-464e279c344a'
  },
  {
    operationType: 'Create',
    resourceBody: {
      _tag: 'SendWelcome',
      id: 'evt-c7962fc1-45f8-4e76-878b-3ace7d380886',
      _partitionKey: 'co-b34ab5e8-c628-4399-9a52-464e279c344a'
    },
    partitionKey: 'co-b34ab5e8-c628-4399-9a52-464e279c344a'
  }
]

Expected behavior
Batch succeeds
Additional Context
related to https://github.com/Azure/azure-sdk-for-js/issues/13368
The API is also confusing, there are 3 places to specify partitionKey (resourceBody, operation body, batch function argument).
Wouldn't it make more sense to have it in the body only and then specify the partition key field name somewhere _partitionKey or to set it on the Container level?

hi @patroza we have a fix for this, should be released tomorrow 3.14. Batch is currently only working for default partition key collections

3.14 should be out now


Migrate example data to Truth set

Pull requests:

https://github.com/Senzing/docker-compose-demo/pull/299


(fix): allow all extension array data types in pandas adapters

This probably needs some work, but since pandas datetime handling often goes through extension arrays, I think these two issues are completely linked

[x] Closes #9661
[x] Tests added
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst

cc: @shoyer @kmuehlbauer

It's tough to do this without CI - I will push a few of the sorts of things re: datetimes that will change so you get a sense, but generally, things are even cleaner (more datetimes preserved).

@ilan-gold Tried to activate CI, but seems it doesn't work. I'm back to desk next week, won't have time to check this now.


[WIP] filter on res_type when checking for role membership

Fixes #334
Example:
$ tower-cli role grant --type use --team ateam --inventory gce -v
*** DETAILS: The team field is given as a name; looking it up. ****************
*** DETAILS: Getting the record. **********************************************
GET http://localhost:8013/api/v1/teams/
Params: {'name': 'ateam'}

*** DETAILS: The inventory field is given as a name; looking it up. ***********
*** DETAILS: Getting the record. **********************************************
GET http://localhost:8013/api/v1/inventories/
Params: {'name': 'gce'}

*** DETAILS: Checking if role exists. *****************************************
GET http://localhost:8013/api/v1/inventories/33/object_roles/
Params: {'role_field': 'use_role'}

*** DETAILS: Checking if team already has role. *******************************
GET http://localhost:8013/api/v1/teams/4/roles/
Params: {'content_type__model': 'inventory', 'object_id': 33, 'role_field': 'use_role'}

*** DETAILS: Attempting to add the team in this role. *************************
POST http://localhost:8013/api/v1/teams/4/roles/
Data: {'id': 464}

Resource changed.
=== ==== ==== =========
id  team type inventory
=== ==== ==== =========
464    4 use         33
=== ==== ==== =========

Still need to verify that all the existing res_type will correctly map to the names in the Tower ORM.

Coverage increased (+0.008%) to 92.321% when pulling 414fe8872a8268978b05da4412a9a2b9c8d51da3 on AlanCoding:accurate_role_membership_testing into 6d99a154db316b77793267c73f7fd17462d3cf1e on ansible:v1.

Coverage increased (+0.005%) to 92.318% when pulling c79481f25ddcaa4a9b82c337f8c164a0d7d8564e on AlanCoding:accurate_role_membership_testing into 6d99a154db316b77793267c73f7fd17462d3cf1e on ansible:v1.

Coverage increased (+0.003%) to 92.316% when pulling b3ac959436567f89f004ec25b9c8f3d8b3cc46bd on AlanCoding:accurate_role_membership_testing into 6d99a154db316b77793267c73f7fd17462d3cf1e on ansible:v1.

Coverage increased (+0.003%) to 92.316% when pulling 737176a9204608a2f35c745c40c9e1e2f1e5a515 on AlanCoding:accurate_role_membership_testing into 6d99a154db316b77793267c73f7fd17462d3cf1e on ansible:v1.


[Suggestion] Restoration Bed

A bed at like UHV or whatever that takes some power to charge then when you sleep in it it restores all your HP and Hunger and repairs items in your inventory fully

At UHV I don't think you are sleeping in game anymore and worry about HP... But for hunger an automatic-feeder system implemented in a quarktech suit would work pretty nicely and for repairing items a Welding Machine could be a good addition in GCY:S :D


Doc changes for <IP_ADDRESS>-beta

Initial draft for <IP_ADDRESS>-beta -- not ready yet.
Once everyone is happy and this is merged, this should be backported to branch 35

@jmarantz updated to address your comments. Does the WebP change description look good?

I think I am ready with this. I also included some other doc changes in here so we can discuss that in one go. Once this is merged, I think there's one final doc change that will have to go in for te release: the date that it will get shipped.


Get Change Sets included in a merge for Wiki-Release Notes

Hi,
im using "Generate Release Notes" and the Plugin works so far in our build pipeline.
Now I have the following question:
When we merge from branch A to branch B, is it possible to get all ChangeSets which where included in the merge (inlc. workitems and user stories) for the release note page in the Wiki?
I found already some soloutions for the REST API and Shell Scripts but how could they be used.
Thanks,

Are you using

the older PowerShell based version, which I am make no more changes to, that is Windows only
or the newer Cross-platform version, which is far richer in features.

In the cross platform version there is support for Git PRs, but as you mention ChangeSets I assume you are using TFVC source control so this is of no use.
I think all you can do is trigger a build on the merge and make sure that this merge changeset has all the required WI associated.

Yes right now I'm using the PowerShell based version but i can switch to cross-platform anytime. We are using TFVC source control no GIT.

I would swap to the cross platform version as it is under active support, but there is no special handling for TFVC as there is no concept like a Git PR.
The merge into the trunk is just another Changeset so we have to rely on what is associated with that Changeset and is hence picked up by a build as associated items. This will require users to make that association


Not exist region file v2

Background
Suggest update flipper if region file not exist
Changes

FileExistHelper
Tests

Test plan

Delete region file and recheck updates

It looks fantastic!


Use gluer for the api.ts file?

As we've talked about it today, I've made a wrapper for axum to generate a TypeScript api file based on the definitions in the Rust code. I've implemented that test-wise on the gluer branch. Just run the project and then look into test/api.ts for the generated api.

Close due to the creation of #19


Argus 2 neolink

Hey, I successfully installed your addon and set up the neolink.toml file with my uids. The log shows the following:

--- Neolink ---
[2023-06-23T16:13:47Z INFO  neolink] Neolink 254a310fe9e9a9516a1a72e634074781aa23f780 release
[2023-06-23T16:13:47Z INFO  neolink::rtsp] Starting RTSP Server at <IP_ADDRESS>:8554
[2023-06-23T16:13:47Z INFO  neolink_core::bc_protocol] entry: Trying local discovery
[2023-06-23T16:13:47Z INFO  neolink_core::bc_protocol] garden: Trying local discovery
[2023-06-23T16:13:52Z INFO  neolink_core::bc_protocol] garden: Trying remote discovery
[2023-06-23T16:13:52Z INFO  neolink_core::bc_protocol] entry: Trying remote discovery
[2023-06-23T16:13:52Z INFO  neolink_core::bc_protocol] garden: Trying map discovery
[2023-06-23T16:13:53Z INFO  neolink_core::bc_protocol] entry: Trying map discovery
[2023-06-23T16:13:57Z INFO  neolink_core::bc_protocol] garden: Trying relay discovery
[2023-06-23T16:13:59Z INFO  neolink_core::bc_protocol] entry: Trying relay discovery
[2023-06-23T16:13:59Z INFO  neolink_core::bc_protocol] garden: Relay success 952700008YPH7WNS at <IP_ADDRESS>:55202
[2023-06-23T16:13:59Z INFO  neolink_core::bc_protocol] entry: Relay success 95270000ATD9484H at <IP_ADDRESS>:51000
[2023-06-23T16:14:00Z WARN  neolink::rtsp] entry: Retryable error: entry: Could not login to camera
Caused by:
0: IO Error: Custom { kind: Other, error: CameraTerminate }
1: Camera terminated the connection
[2023-06-23T16:14:00Z INFO  neolink_core::bc_protocol] entry: Trying local discovery
[2023-06-23T16:14:00Z INFO  neolink::rtsp::states::loggedin] garden: Camera time is already set: 2023-06-23 18:14:03.0 -01:00:00
[2023-06-23T16:14:00Z INFO  neolink::rtsp::states::loggedin] garden: Camera reports firmware version 1221_246_237_22
[2023-06-23T16:14:00Z INFO  neolink::rtsp::states::streaming] garden: Starting video stream Sub Stream (Fluent)
[2023-06-23T16:14:00Z INFO  neolink::rtsp::states::streaming] garden: Starting video stream Main Stream (Clear)
[2023-06-23T16:14:05Z INFO  neolink_core::bc_protocol] entry: Trying remote discovery
[2023-06-23T16:14:05Z INFO  neolink_core::bc_protocol] entry: Trying map discovery
[2023-06-23T16:14:10Z INFO  neolink_core::bc_protocol] entry: Trying relay discovery
[2023-06-23T16:14:12Z INFO  neolink_core::bc_protocol] entry: Relay success 95270000ATD9484H at <IP_ADDRESS>:53016
[2023-06-23T16:14:13Z INFO  neolink::rtsp::states::loggedin] entry: Camera time is already set: 2023-06-23 18:14:12.0 -01:00:00
[2023-06-23T16:14:13Z INFO  neolink::rtsp::states::loggedin] entry: Camera reports firmware version 1221_246_237_22
[2023-06-23T16:14:13Z INFO  neolink::rtsp::states::streaming] entry: Starting video stream Main Stream (Clear)
[2023-06-23T16:14:13Z INFO  neolink::rtsp::states::streaming] entry: Starting video stream Sub Stream (Fluent)
[2023-06-23T16:14:54Z INFO  neolink::rtsp] garden: Buffers prepared
[2023-06-23T16:15:05Z INFO  neolink::rtsp] entry: Buffers prepared

My problem is, that I cant create a generic camera, it just times out.

This is an neolink issue, please open an issue there. It is unrelated to this addon. My addon only provided neolink.
https://github.com/QuantumEntangledAndy/neolink/issues


Added pointer dereferencing for field extraction

Hi @antonmedv,
Saw this on Golang Weekly and though it looked pretty good.  Added a PR which dereferences pointers to structs when attempting to extract a field name so that pointers to structs can be used as data alongside regular structs.  Example:
type Data struct {
   X int
}

data := &Data{X: 123}
result, err := expr.Eval("X", data)
// result == 123

Hope you find it useful.
Thanks,
Leon

Really cool! Thanks!


Cannot build the project and Extraction of the json file are done with value from the other lang json file, not the default value.

To reproduce this error, I have created a simple qwik project at the following GitHub repository: https://github.com/DongwonTTuna/qwik-speak-ErrExample.git.

Firstly, please check the json files for each language.
Next, please run npm install && npm run dev to confirm that it works as expected.
Then, please try running npm run build to confirm that an error occurs.
Finally, please use npm run qwik-speak-extract to confirm that the contents of each json file are overwritten with values in a different language other than the default values. (this may need to run the command several times with original i18n files)

Thank you!

@DongwonTTuna thanks to your repro I was able to find the other two bugs that didn't make extracting and inlining work properly in the presence of objects.
They should be fixed in the latest release v.0.7.2.
Note. Even if it works, I must discourage you from using such complex objects in translations (depth > 1): it is out of the scope of this library (the purpose is to translate key-value pairs). After the build, the objects are inlined into the components for each language, resulting in very heavy components. I suggest rethinking the way you get items, and using the library to translate texts.

Thank you for your prompt handling.
The issue has been completely resolved!
In addition, I will also reconsider the method you suggested, such as using a Set instead of a Map for implementation.
Thank you very much.😊


SSL verification is Failed - Please re-run

App Id: d2khnx1r1d7mbx
Region: us-east-2
Step: SSL verification
Status: Failed

Note: I already checked on DNS Checker and CNAMEs are working.

Issue/question
SSL verification is Failed.
Error message
Retry function didn't work, please can you re-run the SSL verification.
Additional information
No.

Hi @ejbogantes , if you remove the domain and re-add it, would it work?

Closing this issue, please feel free to re-open if you are still facing issues.


Add support of WasmJs target (work as expected)

wasmJs is already supported and released on the 1.0 beta and on 0.9.5-wasm


Verse Scroll issue

on book chapter and verse does any of this change it will scroll to near by selected verse

Testing completed and issue still exists. As discussed moving this issue back to in progress.

Testing completed and the issue still exists with verse scrolling. As discussed moving this issue to in-progress.

on book chapter and verse does any of this change it will scroll to near by selected verse
@JesniJ  it has to do this only

Testing is done and the issue in verse scrolling to the exact verse number which user choose has fixed . Thus moving this issue to done.

@JesniJ @Poojanavgurukul please mention in the issue itself in which apk version, the issue was identified and in which version the issue was fixed.

this is identified in 1.3.5


[Bug report]: Tds-dropdown ( multiselect ) component with filter shows no results when at least one item selected

Requirements before reporting

[X] No duplicated issue reported.
[X] I have checked the latest version if the bug exist there. See all available packages at npmJS.com
[X] I have followed the installation guide.

Package versions
"@scania/tegel-react": "1.13.0"
Browser
Chrome
Framework
React
Version
"react": "18.2.0"
Reproduction steps

Add component Tds-Dropdown with multiselect and filter (list op options: option 1, option 2, option 3, option 4)
Click on the dropdown and select option 1 and option 2
Click again on the dropdown label and type "op"
You will see now the "No results" message as I think it tries to search for the entire value of the multiselect at this moment, meaning that instead of just searching for "op" through the options, it searches for "option 1, option 2, op"

Code example
<TdsDropdown
name='connectedEquipments'
multiselect
filter
modeVariant='secondary'
size='md'
placeholder='Select equipments'
label='Associate equipments'
label-position='outside'
noResultText='No results'
openDirection='up'
default-value={['option4']}

       <TdsDropdownOption value='option1'>
            Option 1
        </TdsDropdownOption>
       <TdsDropdownOption value='option2'>
            Option 2
        </TdsDropdownOption>
       <TdsDropdownOption value='option3'>
            Option 3
        </TdsDropdownOption>
       <TdsDropdownOption value='option4'>
            Option 4
        </TdsDropdownOption>

Screenshots
Add/Copy screenshot here

Expected behaviour
Component Tds dropdown with multiselect and filter should only search for the last string typed after the last comma, if any option selected, not for the entire value
Console errors
Add warning/error message
Contact information
<EMAIL_ADDRESS>

Fix release in 1.17.0 tegel version.


Vault: Support HTTPs instances and alternative sources of client trust/keys

Type of change

Enhancement / new feature

Description
Resolves #780
We want to access vault over TLS, meaning we need to make the client TLS SSLContext configurable so users can supply their own trust/key configuration.
In this PR I wanted to see if we could make the same TLS configuration used for Kroxylicious available, so that the configuration matches. I also wanted to see if we could lean on netty to handle the details of constructing the java SSLContext without exposing netty to the Filter.
This meant:

changing the TLS jackson classes to have no netty dependency and moving them to kroxylicious-api.
adding a method to the FilterFactoryContext to take a Tls object and return a javax SSLContext (implemented with netty's SSL context builder).
modifying the VaultKms Config to contain a Tls object and wiring through FilterFactoryContext, we use this to obtain the SSL context

I've added a FilterTlsIT to check that filters in general can obtain useful SSLContext from the FilterFactoryContext.
Checklist
Please go through this checklist and make sure all applicable tasks have been done

[ ] Write tests
[ ] Make sure all tests pass
[ ] Review performance test results. Ensure that any degradations to performance numbers are understood and justified.
[ ] Make sure all Sonar-Lint warnings are addressed or are justifiably ignored.
[ ] Update documentation
[ ] Reference relevant issue(s) and close them after merging
[ ] For user facing changes, update CHANGELOG.md (remember to include changes affecting the API of the test artefacts too).

Thanks for all the work you are putting into this. Great work.
Having reviewed the diff,  I left wondering about *ManagerBuilders.  How much benefit do we actually get from?
"2. adding a method to the FilterFactoryContext to take a Tls object and return a javax SSLContext (implemented with netty's SSL context builder)."
Giving the responsibility to the filter to wire TLS into whatever transport it is using doesn't seem too odious.  Some filters might not want to use JDK SslContexnt, so they might end up going down that route anyway.

Yeah I think you are right, in that case should we duplicate the TLS config classes?
Or is there value in having this suggested set of config classes in the API for consistency with the kroxy core? I wonder if filter/kroxy needs might evolve separately. Maybe starting with a duplicate set of config classes is the right start.

I've opened up #923 to replace this. Offering SSLContext via the FilterFactoryContext isn't that useful and having the dependency between the two usages of the TLS classes could cause issues as we want to evolve them.


CONT-1219 : fail ci for puppetlabs members if no label

Adding the support for PR's to fail my puppetlabs members if no label is added manually

Will this trigger again and pass when a label is added?
Also think it would be a good idea to have this for all PRs; not just our ones :)

Will this trigger again and pass when a label is added? Also think it would be a good idea to have this for all PRs if we could check for a label that isn’t the community one; not just our ones :)

yes it will trigger when pr is opened, label is added and label is removed and added the changes to consider if the pr has any label other than the community

Will this trigger again and pass when a label is added? Also think it would be a good idea to have this for all PRs if we could check for a label that isn’t the community one; not just our ones :)

yes it will trigger when pr is opened, label is added and label is removed and added the changes to consider if the pr has any label other than the community

Nice job! Not sure if i'm missing something but.. I can't see the logic that is checking non-org member PRs that do not have any other label than community.
For example, we would want the workflow to fail on a PR like this one, https://github.com/puppetlabs/puppetlabs-kubernetes/pull/619.


Training memory requirement

Hi,
I'm trying to train your model on Kaggle with P100 w\16GB VRAM however I'm running out of memory. Can you share the memory requirements and if possible tips to reduce memory required?
Attached below is the model I'm trying to train. Instead of train.sh, I'm using train.py.

We use A100 80G GPUs to train Swin-L and ViT-L models. You can reduce the image size to 1333x800 or freeze the backbone during training. Besides, some techniques such as FSDP and FP16, can help you reduce training memory consumption. Please refer to the latest mmdetection v3 for more details.

Reducing image size helps for a few batches but after a while it fails again. I will try freezing the backbone. For your last suggestion, does this repo work on MMDetectionV3?

Sure, please refer to https://github.com/open-mmlab/mmdetection/tree/main/projects/CO-DETR

I wasn't able to find it under Model Zoo. Thanks for pointing out and thanks for the help.

MMDetection repo seems to use co_dino_5scale_swin_large_16e_o365tococo.pth instead of co_dino_5scale_swin_large_22e_o365.pth. Is this a mistake? co_dino_5scale_swin_large_16e_o365tococo.pth seems to use Object365 labels where as co_dino_5scale_swin_large_22e_o365.pth uses COCO labels. The config is for COCO.

Edited the comment.

This config is used to finetune the Objects365 pretrained Swin-L on the COCO dataset.
If you want to train this model on your custom dataset, I recommend using co_dino_5scale_swin_large_16e_o365tococo.pth for better performance.

For new comers:

Gradient checkpointing or reducing image size alone is not enough to train with 16GB of VRAM. I had to freeze the backbone completely, enable checkpointing and reduce the image size to 1333x800. Memory usage peaked around ~15GB.
Automatic Mixed Precision traning throws a runtime error. Maybe it's not supported?
I cannot comment of FSDP as I train on a single GPU and from my understading I need to use distributed training to enable FSDP.

Thanks for the help @TempleX98. Feel free to close the issue at your convenience.


Add new functions / options to types

From PRs: #829 and #835
@ryan-morris can you please take a look into this?

@ryan-morris should this not be L.ControlPosition?
https://github.com/geoman-io/leaflet-geoman/blob/b1aeae9d3d1d5e01111e25345d84c37145cfcb6c/leaflet-geoman.d.ts#L882-L895

@ryan-morris should this not be L.ControlPosition?

Yes, those should be L.ControlPosition, do you want me to fix that in separate PR?

👍 these changes look good to me

Thank you for your timeand help


[126772043] Filter descriptions by lot

Reason and background information for this pull request
Original story was a small content change however the only way to do it was to introduce filtering descriptions by lot to the content loader (for which this new story was added).
First, a YAML schema was decided and added to the frameworks repository. This PR includes full details of the new schema. Examples of new schema:
description: Buyers will use the information suppliers provide here to create a shortlist.

or
description:
    default: Buyers will use the information suppliers provide here to create a shortlist.
    digital-specialists: You can only offer 1 specialist for this opportunity. Buyers will use the information suppliers provide here to create a shortlist.

In this pull request

When provided with a description which is a dictionary of lot keys, we are able to filter this dictionary by lot. If a lot key is not found then we can fall back to the default key. If no default key exists in description, then we raise an error.
Introduced description as a @property so we can raise an error if we try to access the description but it has not yet been filtered to it's chosen string.
Existing behaviour of parsing a description which is a string or is None is not changed.
Bumps version to 1.2.0
Small refactor to move methods from ContentManifest to ContentSection class as they better belong there

In particular, looking for any feedback on

errors raised (if they could be subclassed etc)

Nice - all looks good :+1:


Set the map view size properly

Right now, the UIView is set to 100% the height and width. This is accomplished by:
CGFloat width = [UIScreen mainScreen].bounds.size.width;
CGFloat height = [UIScreen mainScreen].bounds.size.height;
CGRect windowFrame = CGRectMake(0, 0, width, height);

MGLMapView *map = [[RCTMapboxGL alloc] initWithFrame:windowFrame accessToken:@"placeHolder"];
map.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
map.clipsToBounds = YES;

code

There is an issue with this method: if the map is not set to 100% the screen width and height, markers and marker popups are shifted by the difference in the screen height and/or width minus the actual screen width and or height. Example:

Possible Solutions:

Wait until the <MapboxGLView /> has been added, then set the map height and width to this size
Listen for resize events, resize the map accordingly
Does UIView have some sort of ViewDidLoad event? Listen for this, get bounds
?

Setting MGLMapView *map = [[RCTMapboxGL alloc] initWithFrame:self.window.bounds accessToken:@"placeHolder"]; fails with the following error:
Failed: Current draw framebuffer is invalid.
libc++abi.dylib: terminating with uncaught exception of type mbgl::util::ShaderException: Program plain failed to link: Validation Failed: Current draw framebuffer is invalid.

fixed with https://github.com/bsudekum/react-native-mapbox-gl/pull/25

Just to follow up: there’s no -[UIView viewDidLoad] method, but there are -[UIView didMoveToSuperview] and -updateConstraints that often come in handy.


[TACHYON-1428] Documented the tachyon.replay, tachyon.retry and tachyon.security packages in preparation for the checkstyle rule

https://tachyon.atlassian.net/browse/TACHYON-1428

Thanks for the improvement, overall LGTM. I left one minor comment

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7366/
Test PASSed.

@aaudiber Thanks for the comment. I updated the PR accordingly.

Great, LGTM.


app:rcBackgroundRadius="dimension" not working in IconRoundCornerProgressBar

settting radius on IconRoundCornerProgressBar doens't work
Error:(52) No resource identifier found for attribute 'rcBackgroundRadius' in package 'xxxxx'
guess you forgot to add one line of code somewhere :)

I changed from rcBackgroundRadius to rcRadius. Sorry for old description, I've no time to update it.


Passthrough firmware that connects host to the BT controller of an mbed board.

Note: given that flow control may or may not be available, it forces some concessions on the proxy design: It is not acceptable to block data acquisition in a thread. Therefore data acquisition is made in interrupt context whenever data is available and buffered at acquisition point. Worker threads in charge of transferring data are woken up whenever new data is available and operate at the realtime priority.

To give more weight to my argument in favor of a template version of acquire_data, here is a comparison of the template and non template version of the same code: https://godbolt.org/g/G2dX96.
Semantically, there is little to no difference: if acquire_data is a template then the reader do not have to inherit from a base class and that's about it.
However on the code generation side we can see that with the template version the reader abstraction has been fully inline whereas with the non template version it is full of indirect call; each with their own prologue and epilogue.
Usually I do not worry too much about abstraction cost and favor readability over performances however in this case, given the poor performance of the UART without flow control I do wory very much about abstraction performances; especially in tight loop.

Thanks for the explanation @pan- . I must say I try to favour readability and maintainability and concrete interfaces usually meet these criteria better. In terms of performance I agree the UART will be a strongly limiting factor.

Until we get concepts into the language, duck typing will remain error prone and hard to use for developer not used to it. Things would have been easier with larger DMA and flow control support. Even if the performance are better, there is no absolute guarantee that we won't drop bytes at very high bitrate :(.


Karissa development

Added some color to discussion

I like the colors, but want the CSS files and stuff separated from the original HTML files. If you could do this, that would be great.


Updating help center link

what
Updating help center link!
It follows the same pattern as our other help links.
why
@walterbm said so
see how cute

@nnekab @Scollaco @walterbm  Made those changes.
Here's the updated gif:

 BUG: We link to an outdated Help Center via app settings

made more changes due to an issue with the webview ༼ ༎ຶ ෴ ༎ຶ༽ We are now linking ✨externally ✨in both settings and the Login/Sign up helper menu
cc @walterbm


EMD->EML generation bug: Should not require additional readmodel property in EMD

In the current version there needs to be at least one read model parameter which is not an aggregate ID in order for the EMD->EML converter to be able to find the events a read model needs to subscribe to:
This is OK:
# test
Register -> userId, name
User Registration Happened // userId, name
Submit -> timesheetId
Timesheet Submitted // timesheetId
Timesheets* // timesheetId, userId, name

This should be OK, but isn't:
# test
Register -> userId, name
User Registration Happened // userId, name
Submit -> timesheetId
Timesheet Submitted // timesheetId
Timesheets* // timesheetId, userId

les validate results in:
EML Errors:
MissingReadmodelSubscribesToEvent: test-Timesheets: Missing Readmodel SubscribesTo Event(s)

There is no need for this limitation - EMD->EML should be able to find the "Timesheet Submitted" and "User Registration Happened" events based on the EMD supplied.

It may be more of a question to understand the problem a bit better:
should Timesheets subscribe to both User Registration Happened and Timesheet Submitted?
I was trying to debug this with the following input:
# test
Register -> userId, name
User Registration Happened // userId, name
Submit -> timesheetId
Timesheet Submitted // timesheetId
Timesheets* // timesheetId, userId, name

But if I log the readmodel, it seems that User Registration Happened it the only one it subscribes to.
My logging(log.Printf("%v", readmodel)) is in this loop: https://github.com/Adaptech/les/blob/master/pkg/eml/validateReadmodels.go#L8
The output:
2018/05/20 20:04:50 {{Timesheets timesheetId [UserRegistrationHappened]}}
2018/05/20 20:04:50 {{Timesheets timesheetId [UserRegistrationHappened]}}


Duplicate  images in images list

Description
There are a lot of duplicate  images in images list
Steps to reproduce the issue
[root@lima-alpine log]# nerdctl --namespace k8s.io images
REPOSITORY              TAG       IMAGE ID        CREATED          PLATFORM          SIZE         BLOB SIZE
arm64v8/golang          1.21      9860bc39f4ef    5 minutes ago    linux/arm64/v8    866.7 MiB    274.2 MiB
ang                     latest    022149f83e67    4 minutes ago    linux/arm64       4.2 MiB      1.8 MiB
encrypt                 latest    7158aa8d012e    4 minutes ago    linux/arm64       4.2 MiB      1.8 MiB
k8s.nju.edu.cn/pause    3.9       7031c1b28338    5 hours ago      linux/arm64       508.0 KiB    261.8 KiB
<none>                  <none>    7158aa8d012e    4 minutes ago    linux/arm64       4.2 MiB      1.8 MiB
<none>                  <none>    022149f83e67    4 minutes ago    linux/arm64       4.2 MiB      1.8 MiB
<none>                  <none>    9860bc39f4ef    5 minutes ago    linux/arm64/v8    866.7 MiB    274.2 MiB

Describe the results you received and expected
Should be no duplicate and  images .
What version of nerdctl are you using?
Client:
 Version:	1.7.6
 OS/Arch:	linux/arm64
 Git commit:	AlpineLinux
 buildctl:
  Version:	0.13.2
  GitCommit:	alpine

Server:
 containerd:
  Version:	v1.7.17
  GitCommit:	3a4de459a68952ffb703bbe7f2290861a75b6b67
 runc:
  Version:	1.1.12
  GitCommit:	51d5e94601ceffbbd85688df1c928ecccbfa4685

Are you using a variant of nerdctl? (e.g., Rancher Desktop)
Lima
Host information
No response

This is an issue (of the design?) of the CRI plugin, so I moved the ticket from nerdctl repo to here

duplicate https://github.com/containerd/containerd/issues/10090

nerdctl images show  different reference name with a same manifest id. （nerdctl imageid is image's manifest id）
use crictl or k8s will pull  3 references
https://github.com/containerd/containerd/blob/ae71819c4f5e67bb4d5ae76a6b735f29cc25774e/pkg/cri/server/image_pull.go#L203
so will show  duplicate images


Remove type=ignore for mypy

Testing mypy complaints

It looks like pre-commit runs mirrors-mypy from a separate environment, which means it doesn't have access to the msgspec type info. You might fix this by either adding msgspec to the mypy env (as described in https://github.com/pre-commit/mirrors-mypy#using-mypy-with-pre-commit), or by running mypy not in pre-commit but as part of the CI run itself.

It looks like pre-commit runs mirrors-mypy from a separate environment, which means it doesn't have access to the msgspec type info. You might fix this by either adding msgspec to the mypy env (as described in https://github.com/pre-commit/mirrors-mypy#using-mypy-with-pre-commit), or by running mypy not in pre-commit but as part of the CI run itself.

Ah you're totally right. I've added msgspec as an additional dependency and it all seems fine now.
Thanks for your interest and help @jcrist !


Will you release quanitzation code?

Would like to apply this to Sana will you release quanitzation code?

Yeah. Our quantization code is at mit-han-lab/deepcompressor. Quantized Sana are coming soon.


"Solid not detected" against Stackblitz demo on Chrome on Linux

I have opened the Stackblitz demo and followed the instructions:
// now to use the extension open the playground page in a new tab
// e.g. https://soliddevtoolsdemo-pd2g--5173.local-credentialless.webcontainer.io/
// open the devtools and a "Solid" panel should appear
// try refreshing if it doesn't work

// if you don't have the devools installed, here is the link:
// https://chrome.google.com/webstore/detail/solid-devtools/kmcfjchnmmaeeagadbhoofajiopoceel

The extension only says "Solid not detected".  Other extensions are disabled. The console shows
Uncaught TypeError: O.createRoot is not a function
    at Hn (debugger.ts-2ca0ccc4.js:1:6771)
    at debugger.ts-2ca0ccc4.js:64:12559

Solid Devtools 0.27.7
Chrome 117.0.5938.132
Ubuntu 22.10
Any help appreciated, thanks a lot!

And after refreshing the page, I'm back at "Solid not detected".

Problem at "solid-devtools": "^0.27.1" but fixed at "solid-devtools": "^0.29.2", please update the Stackblitz Demo
This interface must have changed the createRoot function location.
var SolidApi = globalThis.SolidDevtools$$;
var solid_api_default = SolidApi;
...
...
var createInternalRoot = (fn, detachedOwner) => {
  InternalRootCount++;
  const r = solid_api_default.createRoot((dispose) => {
//                               ^^^
    solid_api_default.getOwner().isInternal = true;
    return fn(dispose);
  }, detachedOwner);
  InternalRootCount--;
  return r;
};

And here is the error
debugger.ts-fea24b99.js:434 Uncaught TypeError: solid_api_default.createRoot is not a function
    at createInternalRoot (debugger.ts-fea24b99.js:434:31)
    at debugger.ts-fea24b99.js:1810:14
createInternalRoot @ debugger.ts-fea24b99.js:434
(anonymous) @ debugger.ts-fea24b99.js:1810

In Solid Start (0.4.10) project. The extension says Solid is detected & following shows up in console
🚧 solid-devtools is in early development! 🚧
Please report any bugs to https://github.com/thetarnav/solid-devtools/issues

but there's no Solid tab in the (chrome) devtools

For the StackBlitz demo, you'll need to open the preview in new tab for extension to detect project.

I was able to get extension to detect the project but the debugger tab in chrome devtools was missing. The solution to reveal the tab is making sure that your devtools package is the exact same version number  as the extension.
Currently the extension is 0.30.0, so update the package to 0.30.0 without any version flags.
"solid-devtools": "0.30.0"

Thankfully, recent version of extension reminds you of that. Here it tells you despite having the latest package version of devtools which is 0.30.1, the extension expects to use 0.30.0.


Can't retrieve attributes

It may be matter of me not being savvy enough on HA, but I'm trying to get the huddle_state of the entity I'm pulling, to no avail:
From documentation, given the sensor sensor.slack_g, there is an attribute called huddle_state.
I've set up a template sensor as follows:
sensor:
  - platform: template
    sensors:
        slack_huddle:
             value_template: "{{ states_attr('sensor.slack_g', 'huddle_state') }}"

But it's showing a permanent "Unavailable.
The same happens with other attributes.

Hey :)
A littlebit late, but - maybe you have the same problem as tripo23: https://github.com/GeorgeSG/ha-slack-user/issues/5


Palm rejection problem

When you place one hand on the keyboard, part of your palm touches the touchpad. In Windows itself, palm rejection is enabled and the mouse cursor does not move, but if you use two fingers to scroll in this state, the threefingerdrag program will recognize it as three fingers and three-finger dragging will work. Is it possible to make it not work if the distance between the touched coordinates is more than a certain distance?

I could easily add this option in further releases.
Also, some touchpads can detect palms and support reporting touch points as palm, so I could ignore them.
Can you record logs trying to touch the touchpad with your palm so we can see if your touchpad supports palm detection.

이 옵션은 추후 릴리스에서 쉽게 추가할 수 있습니다. 또한 일부 터치패드는 손바닥을 감지하고 터치 포인트를 손바닥으로 보고하는 것을 지원하므로 무시할 수 있습니다. 터치 패드가 손바닥 감지를 지원하는지 확인할 수 있도록 손바닥으로 터치패드를 터치하려고 시도하는 로그를 기록할If you place your palm on the touchpad, it will be recognized as your palm and the mouse cursor or other actions will not work.
(Perhaps this is perceived as the width of the touch point because the palm is wider than the fingertips.)

However, only the threefingerdrag program handles fingers equally, so three-finger dragging works.
Please understand that the sentences are not smooth because we used a translator.
Thank you for creating a great program


docs: added a page for default select menu values. Added a section in components3 for role select menus

This PR adds a new page for default values in a select menu, added by #889 (meaning this PR can not merge til that PR merges). This PR also adds a section in components3.md for role select menus, showing people how to create other select menus that aren't just text based.
Documentation change checklist

[x] My documentation changes follow the same style as the rest of the documentation and any examples follow the coding style guide.
[x] I tested that my change works before raising the PR (via running doxygen, and testing examples).
[x] I have not moved any existing pages or changed any existing URLs without strong justification as to why.
[x] I have not generated content using AI or a desktop utility such as grammarly.

Re-running Test Compile action before merge.


运行 docker-compose up -d 报错：failed to solve: failed to fetch anonymous token: unexpected status from GET request to https://authn.nvidia.com/token?scope=repository%3Anvidia%2Fpytorch%3Apull&service=registry: 401 Unauthorized

Reminder

[X] I have read the README and searched the existing issues.

System Info

llamafactory version: 0.8.3.dev0
Platform: Linux-5.10.81-1.el7.x86_64-x86_64-with-glibc2.31
Python version: 3.11.0
PyTorch version: 2.3.1+cu121 (GPU)
Transformers version: 4.42.3
Datasets version: 2.20.0
Accelerate version: 0.32.1
PEFT version: 0.11.1
TRL version: 0.9.6
GPU type: Tesla T4

Reproduction
运行命令：docker-compose up -d
程序报错：failed to solve: failed to fetch anonymous token: unexpected status from GET request to https://authn.nvidia.com/token?scope=repository%3Anvidia%2Fpytorch%3Apull&service=registry: 401 Unauthorized
Expected behavior
正常运行
Others
No response

检查网络连接


Implement UI for competition page, some minor backend adjustments for merge reasons

Competition page UI implemented, including additional component for the competitor ranking display

Added functions for dealing with dates and times

Data is hard coded for now, not fetched from servlets

had some merge issues with the backend adjustments so some of the changes just fix those

The Chart component needs some styling work not done in this PR

Resolves #55

Can you fix the overflow issues with the bottom two blocks (overflowing out of page)?

And also, make the text in the tables left aligned instead of center?

For future reference - when you do the 33 Days 13 Hours thing to be real data, I'll extract a component called CountDown from the dashboard for you, so you can just chuck that in there

Can you fix the overflow issues with the bottom two blocks (overflowing out of page)?

They aren't overflowing, Github trimmed my screenshot for some reason.

And also, make the text in the tables left aligned instead of center?

done