Make unit testing easier/make examples work

Right now if you run go test within this repository, the tests will fail.
They fail for a few reasons:

We don't provide any way to fetch the test binaries (i.e. kube-apiserver & etcd)
The actual sample will always panic on Present/CleanUp
We don't actually set any TXT records anywhere when Present is called, meaning the test suite will always fail

(1) can be fixed by adding a fetch-binaries.sh script (probably taken straight from sigs.k8s.io/controller-tools).
(2) and (3) can be most easily fixed by embedding a 'fake dns server' into the webhook, which will listen for DNS queries and serve TXT records accordingly. This is how cert-manager itself handles tests for the RFC2136 DNS01 provider, and there is a reusable library that we can use to build it easily: https://github.com/jetstack/cert-manager/tree/master/test/acme/dns/server

The documented command with the README file is also worong as the domain name should been defined as such
$ TEST_ZONE_NAME=example.com. go test .

and not as
$ TEST_ZONE_NAME=example.com go test .

If we add the content of this bash script and call it before to run the test
./scripts/fetch-test-binaries.sh
using tools
fetching tools
x kubebuilder/
x kubebuilder/bin/
x kubebuilder/bin/etcd
x kubebuilder/bin/kubectl
x kubebuilder/bin/kube-apiserver
kubebuilder tools (etcd, kubectl, kube-apiserver)used to perform local tests installed under ./_out/kubebuilder/bin/

Bash script
#!/usr/bin/env bash

set -e

#hack_dir=$(dirname ${BASH_SOURCE})
#source ${hack_dir}/common.sh

k8s_version=1.14.1
goarch=amd64
goos="unknown"

if [[ "$OSTYPE" == "linux-gnu" ]]; then
  goos="linux"
elif [[ "$OSTYPE" == "darwin"* ]]; then
  goos="darwin"
fi

if [[ "$goos" == "unknown" ]]; then
  echo "OS '$OSTYPE' not supported. Aborting." >&2
  exit 1
fi

tmp_root=./_out
kb_root_dir=$tmp_root/kubebuilder

# Turn colors in this script off by setting the NO_COLOR variable in your
# environment to any value:
#
# $ NO_COLOR=1 test.sh
NO_COLOR=${NO_COLOR:-""}
if [ -z "$NO_COLOR" ]; then
  header=$'\e[1;33m'
  reset=$'\e[0m'
else
  header=''
  reset=''
fi

function header_text {
  echo "$header$*$reset"
}

# fetch k8s API gen tools and make it available under kb_root_dir/bin.
function fetch_kb_tools {
  header_text "fetching tools"
  mkdir -p $tmp_root
  kb_tools_archive_name="kubebuilder-tools-$k8s_version-$goos-$goarch.tar.gz"
  kb_tools_download_url="https://storage.googleapis.com/kubebuilder-tools/$kb_tools_archive_name"

  kb_tools_archive_path="$tmp_root/$kb_tools_archive_name"
  if [ ! -f $kb_tools_archive_path ]; then
    curl -sL ${kb_tools_download_url} -o "$kb_tools_archive_path"
  fi
  tar -zvxf "$kb_tools_archive_path" -C "$tmp_root/"
}

header_text "using tools"
fetch_kb_tools

header_text "kubebuilder tools (etcd, kubectl, kube-apiserver)used to perform local tests installed under $tmp_root/kubebuilder/bin/"
exit 0

and set the binary path here
package main

import (
	"os"
	"testing"

	"github.com/jetstack/cert-manager/test/acme/dns"
)

var (
	zone = os.Getenv("TEST_ZONE_NAME")
	kubeBuilderBinPath = "./_out/kubebuilder/bin"
)

func TestRunsSuite(t *testing.T) {
	// The manifest path should contain a file named config.json that is a
	// snippet of valid configuration that should be included on the
	// ChallengeRequest passed as part of the test cases.

	fixture := dns.NewFixture(&customDNSProviderSolver{},
	    dns.SetBinariesPath(kubeBuilderBinPath),
		dns.SetResolvedZone(zone),
		dns.SetAllowAmbientCredentials(false),
		dns.SetManifestPath("testdata/my-custom-solver"),
	)

	fixture.RunConformance(t)
}

then the test can work locally
=== RUN   TestRunsSuite/Conformance/Basic/PresentRecord
I0529 10:07:54.590584   96706 request.go:947] Request Body: {"kind":"Namespace","apiVersion":"v1","metadata":{"name":"basic-present-record","creationTimestamp":null},"spec":{},"status":{}}
I0529 10:07:54.590693   96706 round_trippers.go:419] curl -k -v -XPOST  -H "Content-Type: application/json" -H "User-Agent: ___main_test_go/v0.0.0 (darwin/amd64) kubernetes/$Format" -H "Accept: application/json, */*" 'http://<IP_ADDRESS>:50095/api/v1/namespaces'
I0529 10:07:54.593889   96706 round_trippers.go:438] POST http://<IP_ADDRESS>:50095/api/v1/namespaces 201 Created in 3 milliseconds
I0529 10:07:54.593936   96706 round_trippers.go:444] Response Headers:
I0529 10:07:54.593945   96706 round_trippers.go:447]     Content-Type: application/json
I0529 10:07:54.593952   96706 round_trippers.go:447]     Date: Wed, 29 May 2019 08:07:54 GMT
I0529 10:07:54.593963   96706 round_trippers.go:447]     Content-Length: 311
I0529 10:07:54.595697   96706 request.go:947] Response Body: {"kind":"Namespace","apiVersion":"v1","metadata":{"name":"basic-present-record","selfLink":"/api/v1/namespaces/basic-present-record","uid":"dca85b60-81e8-11e9-ac2c-4c32758b7e5f","resourceVersion":"40","creationTimestamp":"2019-05-29T08:07:54Z"},"spec":{"finalizers":["kubernetes"]},"status":{"phase":"Active"}}
Decoded configuration {}I0529 10:07:58.648438   96706 wait.go:269] Searching fqdn "cert-manager-dns01-tests.example.com." using seed nameservers [<IP_ADDRESS>:53]
I0529 10:07:58.834931   96706 wait.go:336] Returning discovered zone record "example.com." for fqdn "cert-manager-dns01-tests.example.com."
I0529 10:07:58.877248   96706 wait.go:287] Returning authoritative nameservers [a.iana-servers.net., b.iana-servers.net.]
I0529 10:07:59.000405   96706 wait.go:120] Looking up TXT records for "cert-manager-dns01-tests.example.com."
I0529 10:08:01.651670   96706 wait.go:269] Searching fqdn "cert-manager-dns01-tests.example.com." using seed nameservers [<IP_ADDRESS>:53]
I0529 10:08:01.651718   96706 wait.go:300] Returning cached zone record "example.com." for fqdn "cert-manager-dns01-tests.example.com."
I0529 10:08:01.696203   96706 wait.go:287] Returning authoritative nameservers [a.iana-servers.net., b.iana-servers.net.]
I0529 10:08:01.817908   96706 wait.go:120] Looking up TXT records for "cert-manager-dns01-tests.example.com."
...

Can we expect an update on the ticket ? @munnerz

Hey folks 👋  I tried my hand at the (1) problem you mentioned @munnerz and now I'm struggling with even knowing what to do next 😂
You mention that the test suite doesn't try to set any records anywhere, but I'm wondering if it were possible to actually have this test run "live" with a test account with the provider you're trying to integrate with. I know it would obviously be better to mock everything if you're trying to setup CI/CD, but I'm currently just trying to get the project working and care a little bit less about best practices 🙈 😂

Hello! - relatively new cert-manager project member here reading some very old issues. I bumped the version of everything and made an example package that passes the text fixture.
@mansona if you set UseAuthoritative to true in the test fixture I believe the test suite will actually try to resolve the test domains while running.

ooo thanks @jakexks 👍  is the example package you talk about public? are you able to share a link?

It's in the main repo, so pulling the latest changes and typing make test will run it
https://github.com/cert-manager/webhook-example/tree/master/example

Ok so looking at this again, yes it looks like the new example works (as in the tests pass) but it now looks very different from the previous example 😂  I'm trying to use the examples and some info from forks of this repo to piece together a webhook handler even though I don't actually know how to write go 🙃
You mention I should set UseAuthorative to true but I don't see this defined or used anywhere 🤔  what do you mean by this?

So I finally was able to push through and get the initial version of my webhook handler implemented 🎉 I'm going to try and get it tested in a real kubernetes deployment at some point over the next week: https://github.com/mansona/cert-manager-webhook-netlify
I ended up not using your updated code @jakexks and more-so leaned on some other examples like https://github.com/NetWatcher/cert-manager-webhook-godaddy and https://github.com/bwolf/cert-manager-webhook-gandi
I am interested in helping make this process a bit easier for people with a bit more guidance so if there is anything that I can try to assist with that please let me know. I will say that I'm not sure if my difficulty was caused by any lack of guidance from the example, or just my extreme lack of knowledge of golang 🙈 This is the first thing that I have ever written in golang

@mansona Please were you able to get the netlify DNS tested in Kubernetes? I'm currently experiencing the same issue, and seems there's very little documentation on how to handle the deployment.

The make test target does at least download the Kubebuilder binaries now

#36


Change the way PuppetJS obtains the initial JSON

As mentioned in https://github.com/Starcounter/InvoiceDemo/issues/14, IE11 throws Network Error 0x2ef3 when trying to make POST or PATCH xhr request, unless there was a GET request before to the same URL.
This would be solved if we changed the way in which we obtain the initial JSON.
Currently we are doing:
GET /
X-Referer: /__default/483D3E341CAC89F710000030
Accept: application/json

What we could be doing:
GET /__default/483D3E341CAC89F710000030
Accept: application/json

This returns the same JSON and moreover:

fixes IE11
does not call / application handler twice on page load

@tomalec, @chrhol, @Starcounter-Jack ?

:+1:
Implementation detail:
The only question I have is to the way to build URL from given remote URL:

puppet.remoteUrl + reffererCookie quick easy, bug prone
new URL(reffererCookie, puppet.remoteURL) less performant than string concat, another point that requires Polymer/URL, which we require anyway, and it's native in Chrome and shimmed with WebComponentes polyfill, however we thought about skipping that with separating WebSocket URL calculation outside of core PuppetJs engine. However, is more booletproof, and adaptive as then Session creation URL could be any valid URL.

@chrol, @Starcounter-Jack - what's your opinion?

@chrhol, @Starcounter-Jack - what's your opinion?

After giving it a second thought, I think it is pretty straightforward:
Puppet server sets the location at which it wants to be asked about current resource with any of the following headers:

Location: XXXX
X-Location: XXXX
Set-Cookie:Location=XXXX; path=/

Cases 2. and 3. only exist because JavaScript cannot read case 1. in a web browser.
Practically it means that we should rename this.referer to this.remoteUrl . When server sends a value for any of the above mentioned headers, the value replaces this.remoteURL.
@miyconst could you apply this change? We should peer-review it and test it before releasing a new version.

The property this.remoteURL is readonly, should I make it writeable?

Yes

Do we really want to change the original remoteurl given by user? so the url which will be the base for WebSocket request, or just compose the URL for HTTP Patch communication?

What would be the reason to keep the original remoteUrl? Server, by providing Location / X-Location / Cookie: Location, tells that it expects to be requested about the resource using the new URL, so the original URL becomes is useless in my opinion. Am I missing something?
About the WebSocket, we could consider creating a new webSocketUpgradeUrl property in a separate issue, as currently it is hardcoded on line https://github.com/PuppetJs/PuppetJs/blob/gh-pages/src/puppet.js#L215 (this.referer.replace(/(\/?)__([^\/]*)\//g, "/__$2/wsupgrade/")). Do you agree?

But currently webSocketUpgradeUrl is build out of puppet.wsURL which is build out of remoteURL should it then be build on updated on original one?
If we would build/fetch webSocketUpgradeUrl in other way, I agree that we should make remoteURL writable.

So maybe we could go with

initURL is given in constructor,
then server may return httpURL and wsURL
With such case server may force specific channel (only one URL returned), or give a free hand to client (send both).

Pros:

Extremely clean client code,

Cons:

Changes to server-side needed

Let's do a hangout at 13:00 today. We should review the spec. Keep the below principles in mind when reasoning about this:
Core usage
At the core, the server side JSON document (puppet) must be able to be created using REST principles. This is important as some client implementation would prefer this as it makes puppets easy to implement. This scenario means that the client should issue a POST to ask for the creating of a new resource on the server. The server should then respond with a standard location header. To repeat the clean usage:

Client asks for html using GET /homepage with accept:text/html header
Server responds with html
Client asks for new puppet json using POST /puppets with accept:application/json header
Server responds with json and the location header
Client can optionally send PATCH requests...

Optimized usage
To avoid the latency of the dual roundtrip above, we need to provide optimizations. This must be done without breaking the clean usage. What we do is to precreate the server side json document in the hope that the client will not ask for it to be created explicitly. We also provide optional ws support.
So let us examine the optimations.
Precreation
The server cheats by precreating the JSON resource on the initial http GET with Accept:html and returns it in x-Location (thus the client does not need to send POST). The server does not break the unoptimized flow because if the client can essentially ignore this header and send the POST request. In this case the server will respond with a standard location header.
Websockets
We provide a websocket upgrade. This process should follow common practise. Our websocket option essentially supports the PATCH traffic that usually follows after the initial browser http html GET without any http overhead and with full duplex communication (server push)
Sent from my iPhone

On 10 Jun 2015, at 23:49, Tomek Wytrębowicz<EMAIL_ADDRESS>wrote:
So maybe we could go with
initURL is given in constructor,
then server may return httpURL and wsURL With such case server may force specific channel (only one URL returned), or give a free hand to client (send both).
Pros:
Extremely clean client code,
Cons:
Changes to server-side needed
—
Reply to this email directly or view it on GitHub.

Forget my last post. I see the problem with it. Still, lets do a hangout
Sent from my iPhone

On 10 Jun 2015, at 23:49, Tomek Wytrębowicz<EMAIL_ADDRESS>wrote:
So maybe we could go with
initURL is given in constructor,
then server may return httpURL and wsURL With such case server may force specific channel (only one URL returned), or give a free hand to client (send both).
Pros:
Extremely clean client code,
Cons:
Changes to server-side needed
—
Reply to this email directly or view it on GitHub.

Unforget the post. I think it might work as a principle if we update the spec.
Sent from my iPhone

On 10 Jun 2015, at 23:49, Tomek Wytrębowicz<EMAIL_ADDRESS>wrote:
So maybe we could go with
initURL is given in constructor,
then server may return httpURL and wsURL With such case server may force specific channel (only one URL returned), or give a free hand to client (send both).
Pros:
Extremely clean client code,
Cons:
Changes to server-side needed
—
Reply to this email directly or view it on GitHub.

We can't meet at 13:00 because there is company lunch at that time. I will announce some other time.
@Starcounter-Jack proposes to make a more formal spec of the Puppet protocol (#61)
I don't think it imposes any change to our current incremental improvements approach, so let's continue with doing the fix in topic. Current issue could be fixed with one line of code. We can discuss it at today's meeting at 10.

Changes after today's discussion with @warpech and @tomalec:

this.remoteURL is now writeable.
this.remoteURL is set to new URL(this.referer, this.remoteUrl).href in PuppetNetworkChannel.prototype.setReferer.

@tomalec take a look please.

Suite of WebSocket tests fails as this.remoteUrl = new URL(this.referer, this.remoteUrl).href; throws an error if this.remoteURL is not defined.

After discussion with @tomalec we agreed on:

Establish connection with original remoteUrl.
Execute handleResponseCookie after connection established, but not on the first page load.
Update remoteUrl, so the patches will be send to the location received from #1.
Remove this.referer, leave this.remoteUrl only.

Finally done. There is no more referer in puppet.js.

All usage of remoteUrl was replaced with referer.
referer was renamed to remoteUrl.

All tests from puppetjs solution pass.

@tomalec can you review?


Build mandatory requests into model.

This issue is coming from a place of frustration - after wasting hours trying to get bookshelf to conform to a "legacy" postgres schema, I have resorted for a few relationships to placing additional requests and subsequent data manipulation on top the usual set of Model fetch calls. This is a pain though. I have nested circular relationships with the same model, with polymorphic mapping (Node has many Nodes, Nodes can be Story, Image, Video, etc). It happens after my mapping, so in most cases I have to continue to expose foreign keys and then strip them manually. The whole process is far less pleasant than I would like.
I want a way, if nothing else, to build a mandatory request into a model that is called, and the data from the request injected into the returned data, before parsing, every time it is called. The request would have to be based on parameters being returned by the initial fetch call on the model.
We can get into why, but that would require digging through a long list of frustrations, and I am looking for the simplest solution at this point. Time is running out.
An attribute would seem to be the way to do this, but the attribute would need access to the properties returned by the first request, and before parsing. If there is a way of doing this please let me know.
Parsing may also have been the place to do this, but parsing doesn't seem to support async parses.
Thanks,
Wilfred

What are these "requests"? Are they web requests? What data are you referring to? What do any of this have to do with an ORM?
There is not nearly enough detail to tell what you're looking for a solution to, but on face it sounds like it's out of scope for any ORM anyway. While I appreciate that you're frustrated and in a hurry, nothing in this issue appears to be an issue with Bookshelf, and there's a lot that seems specific to your use case. If you need to manipulate data asynchronously before handing it to your model, you can do that. It sort of sounds like you need some custom business logic around handling your data, but this isn't obviously the domain of an ORM.

I can respect your stance, but I linked to an issue that other users are
struggling with asking with a description of one of the relationships -
postgres int array foreign keys.
I'm talking about database queries. Bookshelf just simply cannot do certain
things. Given one of the first things you see on the homepage is "you can
drop down to knex where needed", I'm disappointed this behaviour doesn't
exist. If it does then I retract this sentiment. I agree that API requests
are out of scope, but this is not that.
On Aug 23, 2016 11:04 AM, "Jordan Sexton"<EMAIL_ADDRESS>wrote:

What are these "requests"? Are they web requests? What data are you
referring to? What do any of this have to do with an ORM?
There is not nearly enough detail to tell what you're looking for a
solution to, but on face it sounds like it's out of scope for any ORM
anyway. While I appreciate that you're frustrated and in a hurry, nothing
in this issue appears to be an issue with Bookshelf, and there's a lot that
seems specific to your use case. If you need to manipulate data
asynchronously before handing it to your model, you can do that. It sort of
sounds like you need some custom business logic around handling your data,
but this isn't obviously the domain of an ORM.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/tgriesser/bookshelf/issues/1353#issuecomment-241577704,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFd5UKbv9JHBJMAmr2g7uDQ5z2IcuyUQks5qiirjgaJpZM4JqWdb
.

I'm familiar with that issue and commented on it some time ago. As the OP of that issue mentioned initially, no ORM supports that feature. If you want that feature, you may have to implement it. The clear desire for the feature you assert does not clearly exist to me. Rather, it's a somewhat esoteric feature of one RDMBS, that is unsupported by any of the ORMs @simg evaluated. If you look at https://github.com/tgriesser/knex/issues/1471, you can see that @rkoberg shows how do it in SQL. That's about as close as you're going to get without a lot of work being done on this feature, work that no one has an obvious interest in actually doing.
Back to this issue, you used the term "mandatory request" which is a term that has no obvious contextual meaning. That's why I asked for context of what you're trying to do. I have no idea what that is at this point. There are plenty of reasons to be disappointed with any library, and plenty of things that Bookshelf can't do, but this is neither here nor there. No one can help you if you aren't specific about what the issue you're running into is, and a determination of the relevance to Bookshelf matters because that's what this this. If it's the aforementioned one (Postgres arrays), the answer is simple: few people are using them, they have not been implemented in Bookshelf or any notable ORM I know of, and they aren't likely to be added in a timeframe that is useful to you if you're in a hurry.

If you look at what I'm saying, I'm not asking for postgres foreign key arrays to be supported by Bookshelf.
I would say that a small number of people using them is still a "clear" desire for them, no matter how small that number is.
I've seen that issue. I'm not in a position to modify the migration database, and I need access to a foreign key on a row on the primary table. I may be able to write this in sql, but there doesn't seem to be a nice way of integrating this into a model, have it implicitly called on fetch, and have it feed into the primary model's parse method. Leaves me with two layers of remapping.
If you can show me a way to:

run arbitrary queries, either through Bookshelf or knex, every time a model is fetched
give these queries access to the response of the initial query
have the result appended to the Bookshelf result in the same way that attributes currently are
but have the complete result passed to the parse method of the model (unlike related attributes)

Then I will be happy.
Not that I mind. I have a solution that works. It is just not as tidy as it ideally would be.

I'm not going to get into the issue of whether a small number of people constitutes a clear desire or not. What is true is that no one has indicated they are implementing that feature or has any plans to. For that feature, you are presumably on your own, and will need to write SQL and your own logic for populating models if that's an issue.
As for what's actually possible right now based on the bullets above, there are fetching and fetched events you can subscribe to on a given Model, and return Promises from to asynchronously modify the query and/or modify the results. Depending on what you're doing with the data or what it is, you may still need to make raw queries that result in parsing and forging or populating your own model instances.

Very nice, thank you for the help @jordansexton

No problem. Hope it works out for you!

It actually believe it will. I can move my logic wholesale into the 'fetched' event. Cheers! Fingers crossed.


May I ask if the jump address of the menu on the left of exceptionless can be modified?

I visited exceptionless by domain name + service name. I found that the page to jump to by clicking the menu on the left is not consistent with the expectation. After checking the source code of the webpage, I found that the jump address of this menu is missing the service name. How to set the jump address of this menu

I'm not sure what you are asking are you referring to the top logo click in the upper left?

I'm not sure what you are asking are you referring to the top logo click in the upper left?

I just verified that the logo in the top left isn't using a fully qualified URL. So not sure what this is referring to. Can you ellaborate @SupremeDevil ?

I'm going to close this until more information is sent back. Can you please give us more information @SupremeDevil


syscalls: properly fix how unit testing deals with __syscall

Currently the unit testing build process does not generate syscall stubs
Thus, including common.h generates warnings because we have all the syscall declaration with no definition.
So the current hack on #4887 is not a final solution but a hack.
We are waiting for PR for #4174, that will add native support and will have to implement the same to re-use the solution and then #4887 can be undone.
This issue is opened to keep track of it and not forget #4887 has to be reverted

Closing this and move to native posix for testing, see #7316.


add !memo   as alternative to memo for : .

Update the help page, please.

done, i think.

Thanks!


automate FLONVAL=exe make sn (and its reporting)

run the tests, then filter each [new] exe.log

closed via https://github.com/flon-io/flon/commit/792811991135ce324c7b78ede342e043a3e28584


Unable to create new instance of custom type in Dictionary

I'm trying to use a dictionary with my own defined type (say, Dictionary<string, SceneInfo>), but it seems impossible to properly create a new instance of SceneInfo and serialize it with Vexe editor. #The value member keeps null, no matter how many items I click the type name in SelectionWindow.#
I debugged the code and found that the new instance of SceneInfo was correctly created and set to the underlying EditorMember within TryCreateInstance. The problem seems to be that it failed to write back to the dictionary.
I was totally confused by the mult-level nested EditorMember things, and now hopeless to get it done. I believe it's a bug. Could you take a look and make it right? Thanks.

And by the way, the SceneInfo in the example is not a MonoBehaviour/BetterBehaviour

Is it a struct or class? Have you tried 'right clicking' on the object selection circle?

Did that solve your problem @wizcas?

Hello,
I have same problem with Dictionary. (Dictionary<string, CustomType>)
If CustomType is not abstract, 'right click' is working. But selection type in SelectionWindow does not result.
If CustomType is abstract, 'right click' does not work, as expected. In SelectionWindow I see all CustomType's child, but selection does not work.

Right clicking doesn't work on an abstract class because, well it's abstract, you can't instantiate an instance of it. I'll add testing the selection to my notes.

Yes, I know why abstract class can not be instatntiate, but it seems I don't know English =)
Now I use List, and "Key" from dictionary moved in CustomType as property. It not exactly as originally planned, but it solves my problem.
If I find anything else, I'll tell you.


interfaces: change KBPKI interface to deal with UserOrTeamID

And also Identify() now calls keybase1.IdentifyLite, since none of the
callers were directly depending on any of the keys being available in
the response.  This will be needed later since teams can't be
identified through Identify2, as their keys are incompatible with that
result data structure.
Note that this depends on keybase/client#7046 and #990.
Issue: KBFS-2185

Is the failure due to the merge sequence, or is it something that needs to be fixed?

@jzila: it's test failures in libfuse/ I forgot to check for locally.  Will fix in the morning.  Shouldn't affect the review much though.

CI should be fixed once keybase/client#7117 goes in.

Ok, finally passes CI.  @jzila should I block on your review?

Reviewing now


HDDS-9692. Do not include SpotBugs at compile scope.

What changes were proposed in this pull request?
HDDS-9692. Do not include SpotBugs at compile scope.
Please describe your PR in detail:

SpotBugs is a LGPL dependency, forbidden per ASF Category X rule https://www.apache.org/legal/resolved.html.
We could include it in provided or test scope so the dependency doesn't get leaked to users and applications.
Updated Maven dependency so that mvn license:aggregate-add-third-party can run properly. The solution is inspired by https://github.com/mojohaus/license-maven-plugin/issues/73#issuecomment-346130508

What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9692
How was this patch tested?
Existing unit tests. This patch has no functional change.

You can manually remove the dependencies of test and provided scope using command
  mvn license:aggregate-add-third-party -Dlicense.excludedScopes=test,provided

@SuppressFBWarnings has retention policy CLASS, so it's preserved in the class file, but not during runtime.  So is it OK to use it?
We can replace it with XML-based config, which we already use to suppress several warnings.  It is more cumbersome and error-prone, but does not require the dependency.
Some of the warnings can even be fixed. ;)


Debug-cell still depends on backtrace 0.1

Thanks for the report! I'm not sure though what's meant by this, the backtrace 0.3 crate is depended on?

@alexcrichton I'm saying this commit was not released to crates.io, though it was made a year ago.

Oops, sorry about that!


[fix] reestablish prerender.enabled option

fixes #7899
I figured this is the easiest and most straightforward fix to the issue. That option still makes sense to have even after the prerendering->building change, which is somewhat orthogonal. We still reserve the right to load the files at build time and look at a potential config option, we just added back the additional granularity of disabling prerendering altogether.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Discussed offline - we think it's better to establish some kind of adapter method for this instead.


No support for IAM roles

Knox doesn't support IAM roles, which is becoming more and more the de-facto authentication inside AWS instead of keys and secrets. See: https://github.com/Automattic/knox/issues/262
I suggest using the native aws-sdk package instead.

semi done in #15
if i get heads up. i will clean it up.

Any news on that matter?


Add interface includes to IlmBase and OpenEXR

Thank you for all the great improvements to CMake in 2.4.0! I am having another stab at integrating OpenEXR with the hunter package manager. Hunter tends to be a real work out for CMake implementations so I might have a couple of little tweaks to post.
This one means that INTERFACE_INCLUDE_DIRECTORIES are populated correctly on the targets in the CMake XConfig.cmake files.

@kdt3rd will straighten out his CLA and then merge this.

Thanks again, sorry for the delay getting this merged


Thread 'ImportQueueWorker' panicked at 'Storage root must match that calculated.'

My worker stack at 3,236 block and start sending me next log:
10: <std::thread::local::LocalKey>::with::h9647cb3c4037c87d (0x5633a9637649)
11: substrate_state_machine::execute_aux::h713e3a1faf90c73d (0x5633a94f5ea3)
12: substrate_state_machine::execute_call_with_native_else_wasm_strategy::hed692ba7d4914492 (0x5633a952dde0)
13: substrate_state_machine::execute_using_consensus_failure_handler::hc5bdb20d3af9b481 (0x5633a951eb65)
14: <substrate_client::call_executor::LocalCallExecutor<B, E> as substrate_client::call_executor::CallExecutor<Block, substrate_primitives::hasher::blake2::Blake2Hasher>>::call_at_state::h90e862eefca857ee (0x5633a96fe98b)
15: <substrate_client::client::Client<B, E, Block, RA>>::lock_import_and_run::{{closure}}::h8f2d827c453f2465 (0x5633a998c19e)
16: <substrate_client::client::Client<B, E, Block, RA> as substrate_consensus_common::block_import::BlockImport>::import_block::h4b77de41b3728cd3 (0x5633a99481c6)
17: <substrate_finality_grandpa::import::GrandpaBlockImport<B, E, Block, RA, PRA> as substrate_consensus_common::block_import::BlockImport>::import_block::heded5e162d0a7ab0 (0x5633a9568a6e)
18: <substrate_consensus_common::import_queue::BlockImportWorker<B, V>>::import_a_batch_of_blocks::h727a7cfa867194df (0x5633a9995cd0)
19: std::sys_common::backtrace::__rust_begin_short_backtrace::h6cbe6a2fe31a5a54 (0x5633a949c0ee)
20: std::panicking::try::do_call::h3f6dcfc92a811645 (0x5633a968af4d)
21: __rust_maybe_catch_panic (0x5633aa2c2ab9)
at src/libpanic_unwind/lib.rs:102
22: <F as alloc::boxed::FnBox>::call_box::hd07c468b6ca4f9e5 (0x5633a979142e)
23: <alloc::boxed::Box<(dyn alloc::boxed::FnBox<A, Output=R> + 'a)> as core::ops::function::FnOnce>::call_once::hece536cf07b94f8d (0x5633aa2b667d)
at /rustc/9fda7c2237db910e41d6a712e9a2139b352e558b/src/liballoc/boxed.rs:683
std::sys_common::thread::start_thread::h9605a7df0f911844
at src/libstd/sys_common/thread.rs:24
std::sys::unix::thread::Thread::new::thread_start::hca8e72c41fa9d291
at src/libstd/sys/unix/thread.rs:90
24: start_thread (0x7f32b19416da)
25: __clone (0x7f32b145288e)
26:  (0x0)
Thread 'ImportQueueWorker' panicked at 'Storage root must match that calculated.', /home/ens/.cargo/git/checkouts/substrate-7e08433d4c370a21/edf2a8f/srml/executive/src/lib.rs:214
This is a bug. Please report it at:
    https://github.com/airalab/substrate-node-robonomics/issues

2019-02-20 00:01:22 Failed to write to trie: Database missing expected key: 0xf0cea27e7a7819b8823186501a2df6e1496766cc5595f8561a2848045030caea
Hash not equal
df2ac7b2347cfdafe5509dc331e401c597ab8f8cbbb2b86854ea45944cd3fa88
36fc2dcf1eb77663026faa674dddb9db8a991f167887fdb470fbeda83039e84f
/home/akru/.cargo/git/checkouts/substrate-7e08433d4c370a21/edf2a8f/srml/executive/src/lib.rs
214
3
2019-02-20 00:01:23 Idle (2 peers), best: #3235 (0x7aea…502b), finalized #3235 (0x7aea…502b), ⬇ 7.5kiB/s ⬆ 0.5kiB/s

Looks like something broken in db state, could you drop db an start sync again?

Fixed, when I deleted all files in "robonomics_testnet" folder with rm -rf ~/.local/share/robonomics/chains/robonomics_testnet/. Before I just delete db folder in "robonomics_testnet" folder.


feat: blah

@justrp Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.


fix problem with not sending merge_fields parameter as blank

Related to issue #9, it looks like the previous pull request didn't go quite far enough, since $this->merge_fields is initialized as an array. If you could pull this in, that would be great. thanks!

Thanks @jwigal


Update meta.yaml to hard copy the Parameters directory

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

This PR will hopefully add the Parameters directory to the built package.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.


ModuleNotFoundError: No module named 'gym'

followed instructions correctly (hopefully), but when I run python gym_test.py an error pops up saying that there's no 'gym' module, help? (i'm on windows 10 btw)

Make sure that you have chosen the correct python environment (if you use conda), or you can use " pip list" to check if gym is successfully installed in your environment.

Like Yuxing said, if Gym is not installed pip install gym should solve the problem.

pip install evogym --upgrade should now automatically install all required dependencies.


tox,workflow: run all tests in the GH worfklow

Run only two jobs in the GH runner for the unittest. The test_stage.py because it takes a very long time and needs to run in parallel and all the other tests.
This split avoid that we forget to add new unittests to the matrix as we did before (see e.g. https://github.com/osbuild/osbuild/pull/1731) and it will also enable the tests in:

sources/test
inputs/tests
mounts/test

to run.
This will reduce the "granularity" of the test output a bit, in the GH runner we only see two unit test matrix jobs now. However that should not be too bad because the non-stage tests are really quick to run.
P.S. The alternative would be to just add them to the existing test categories as outlined in https://github.com/osbuild/osbuild/compare/main...mvo5:run-all-tests-clumsily?expand=1 - I am not a fan of this and the commit in the link explains (some) of the rational.

Need to change the required tests to remove the jobs that don't exist now.


Temporarily allow decimals on rgb() and rgba()

Animating colors using Animated is currently interpolating rgb and rgba and doesn't round the intermediate values. We need to fix it there but it's not a straightforward change so reverting to the lax version here until we fix it inside of Animated (which is needed to work on web anyway).

:+1:

@facebook-github-bot shipit


Getting started with flux should provide a working example

URL for relevant page?
https://docs.influxdata.com/flux/v0.65/guides/execute-queries/
What products and version are you using?
InfluxDB 1.8.1 OSS
Where did you look before opening the issue?
This was the first google hit.  The docs show how to start the repl but don't show a valid query.  It would be great to show a working example so that a novice user can validate that it is functional... and get started.

yeah...there is a simple example in the API section just below.  Perhaps we simply re-use that one for the REPL example?
        |> range(start:-5m)
        |> filter(fn:(r) => r._measurement == "cpu")```


[SVG] Noise hack and font fix

Specify the font. This should not be a change for viewing in Jupyter notebook but fixes opening the svg data in e.g. inkscape where the default font is different and the boxes aren't the right size
Don't display virtual tags (for noise) xref #2905

Automerge cancelled: A status check is failing.


Double buffer fixes

All Adafruit draw functions now work with double buffering, and using double buffer is simpler.

This also solves issue #91 by the way.

Ok ... merged this one. Looks ok to me - don't have time to test though (hope nothing blows up :)

Hey @2dom , I tested @Rasmusfk branch, and I saw a negative effect on performance. I'm not sure am I using it wrong or what happened, but the difference is significantly worse.
https://twitter.com/witnessmenow/status/1135343801386618886
Display on the right is the one with the double buffer enabled.
Code is the exact same other than how it is displayed
Significant code below:
tetris.drawXXX() draws on the screen using GFX methods (drawFilledRect etc)

#define double_buffer

animationTimer = timerBegin(1, 80, true);
  timerAttachInterrupt(animationTimer, &animationHandler, true);
  timerAlarmWrite(animationTimer, 100000, true);
  timerAlarmEnable(animationTimer);

void animationHandler()
{
  portENTER_CRITICAL_ISR(&timerMux);

  // Not clearing the display and redrawing it when you
  // dont need to improves how the refresh rate appears
  if (!finishedAnimating) {
#ifdef double_buffer
    display.fillScreen(tetris.tetrisBLACK);
#else
    display.clearDisplay();
#endif
    //display.fillScreen(tetris.tetrisBLACK);
    if (displayIntro) {
      finishedAnimating = tetris.drawText(1, 21);
    } else {
      if (twelveHourFormat) {
        // Place holders for checking are any of the tetris objects
        // currently still animating.
        bool tetris1Done = false;
        bool tetris2Done = false;
        bool tetris3Done = false;

        tetris1Done = tetris.drawNumbers(-6, 26, showColon);
        tetris2Done = tetris2.drawText(56, 25);

        // Only draw the top letter once the bottom letter is finished.
        if (tetris2Done) {
          tetris3Done = tetris3.drawText(56, 15);
        }

        finishedAnimating = tetris1Done && tetris2Done && tetris3Done;

      } else {
        finishedAnimating = tetris.drawNumbers(2, 26, showColon);
      }
    }
#ifdef double_buffer
    display.showBuffer();
#endif
  }
  portEXIT_CRITICAL_ISR(&timerMux);
}

Hi @witnessmenow
Are you doing the drawing inside an interrupt? This would explain the worse behaviour (flickering), as the display.showBuffer() call assumes that it is not called from an interrupt.
Regards

Hi @Rasmusfk ,
Here is my sketch here:
https://github.com/witnessmenow/WiFi-Tetris-Clock/blob/master/ESP32 or TinyPICO/EzTimeTetrisClockESP32/EzTimeTetrisClockESP32.ino
Currently it is drawing inside of a timer event, so would the recommended approach be to do this in the loop instead?

That would be great! I wont be able to take a look at it again for a while.
A couple of things that might be weird in the sketch:

Search for "Generic" and uncomment does lines and comment out the "TinyPICO" lines beside them. The TinyPICO doesnt have pin 13 or pin 2 broken out so I needed to make some changes to get it to work.
This while loop might prevent it working if you move the animation to the loop, don't worry about it and just comment it out

Hi again @witnessmenow
Before I do anything, could you please try to comment out all the lines containing portENTER_CRITICAL_ISR(&timerMux) and portEXIT_CRITICAL_ISR(&timerMux)
With the double-buffering the mutex isn't necessary, and I think that may cause the flickering.
Regards

I tried that by adding
#ifndef double_buffer
  portENTER_CRITICAL_ISR(&timerMux);
#endif

but it didn't improve the flicker

Ok, I'll try to run the sketch myself tonight and see if I can figure out what's wrong.

@witnessmenow, I would start with moving:
#define double_buffer

before including PxMatrix header file. I would assume, that without this the library is built without double_buffer functionality. But even knowing that, I cannot pinpoint the place that it should give such results.
You actually do switch in this case the internal _active_buffer variable with showBuffer, but if PxMatrix is built without this support, everything else seems to be hardcoded to use only one buffer.
@Rasmusfk, what do you think?

I thought that might be a problem so I tried it before too but it didn't
make a difference.
On Mon, 3 Jun 2019, 21:43 Maciej Matczak<EMAIL_ADDRESS>wrote:

@witnessmenow https://github.com/witnessmenow, I would start with
moving:
#define double_buffer
before including PxMatrix header file. I would assume, that without this
the library is built without double_buffer functionality. But even knowing
that, I cannot pinpoint the place that it should give such results.
You actually do switch in this case the internal _active_buffer variable
with showBuffer, but if PxMatrix is built without this support, everything
else seems to be hardcoded to use only one buffer.
@Rasmusfk https://github.com/Rasmusfk, what do you think?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/pull/103?email_source=notifications&email_token=AAL5PQVSLYIE5ZXDHFIQ2K3PYV65RA5CNFSM4HSAEL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW2ULAI#issuecomment-498419073,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAL5PQQTIEZXZKJUYKYBI6DPYV65RANCNFSM4HSAEL6A
.

@witnessmenow Any chance to reproduce issue on esp8266 with minimal implementation?

The repo has an esp8266 version in it, but it's kernal panicking when it
gets to the loop, I need to investigate it at some stage.
But the basic examples contained in the library do work, so might be enough
to reproduce the issue on an esp8266, but I wouldn't be able to spend any
time on it for the next while
https://github.com/toblum/TetrisAnimation
On Tue, 4 Jun 2019, 08:37 Maciej Matczak<EMAIL_ADDRESS>wrote:

@witnessmenow https://github.com/witnessmenow Any chance to reproduce
issue on esp8266 with minimal implementation?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/2dom/PxMatrix/pull/103?email_source=notifications&email_token=AAL5PQVRZCDVGACBETBSGXTPYYLRZA5CNFSM4HSAEL6KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW3WJFI#issuecomment-498558101,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAL5PQTFE77BFYQKCUZYEFTPYYLRZANCNFSM4HSAEL6A
.

is this resolved ? (accidentally closed this one)

Hi @witnessmenow
So I got time to look at your issue. To fix it, the display.display() should remain in an interrupt, but the animation part should be moved either into the regular Arduino "loop()", or to a callback that is not called in an interrupt context. I've forked your code and implemented the last option in:
https://github.com/Rasmusfk/WiFi-Tetris-Clock
It runs smoothly and flicker-free for me - Could you give it a try?
I'll try to add an explanation of how the double-buffering is best used and an example and send a pull-request to @2dom, as it can be a little hard to grasp all that interrupt and callback-stuff.
Regards

Just tried it there @Rasmusfk , huge improvement over my version using it! And a noticeable reduction in flicker over not using it, I'll record a video with a side by side if I can (although its hard to record them as the camera can flicker too!)


Error launching any instance type

Using CloudLaunch website I get:
FAILURECreate appliance task failed: CloudBridgeBaseException: An error occurred (InvalidInstanceID.NotFound) when calling the CreateTags operation: The instance ID 'i-056318f101ed1b3fe' does not exist from exception type: <class 'botocore.exceptions.ClientError'> Report this failure?
I now get this when trying to launch any instance type:
Appliance: Genomics Virtual Lab (GVL)Version: GVL 4.4.0 (Galaxy 18.05)
Cloud: Amazon Web Services
or
Appliance: Genomics Virtual Lab (GVL)Version: GVL 4.4.0 (Galaxy 18.05)
Cloud: Amazon Web Services
Any suggestions? Thank you

@bioboot I can confirm that we've been experiencing this issue as well, since maybe 2 days ago. It seems to be related to some AWS concurrency issues, presumably due to some changes on their end. Some code that would be expected to work is no longer working. We are trying to work around this, see here for the tracking issue: https://github.com/CloudVE/cloudbridge/pull/257

@bioboot This should be fixed now. Let us know if you encounter a recurrence.


Make the utility class SigUtil public

Make the SigUtil class public so that it can be used by clients.

I'm sorry, I don't want to do that at the moment. This would mean we need to support this class for a long time, and I'd rather not commit to this right now.


Stdout eda option

Following up #944 - a proposal for a new option for eda configuration, to notify that the tool outputs the result to STDOUT.

I can take care of that, but unfortunately I cannot do anything before Easter.

Sounds good, thanks!

@suppamax thanks for updating this! I just wanted to double-check, is the updated version ready for review?

It is.

This is a really nice addition! Thank you @suppamax for flagging the issue, the great implementation, and patience in working with us on the iterations!


Catch common pattern errors with \b

Description:
The intention of this change is to detect common pattern errors (specifically when using \b).
For example, given the problematic pattern glpat-[\w-]{20}\b, the following error will be produced:
$ go generate ./...
{"level":"fatal","error":"regex contains word boundary (\\b) beside non-word character (i.e., not [A-Za-z0-9_]): glpat-[\\w-]{20}\\b","rule-id":"gitlab-pat","time":"2024-09-09T13:34:24-04:00","message":"Failed to validate rule"}
exit status 1
cmd/generate/config/main.go:17: running "go": exit status 1

I've discussed why this is an issue in a few different places, most recently: https://github.com/leaktk/patterns/pull/41#discussion_r1723758978
Open Questions

Should something permission like (?:.|\s){0,200} count as a non-word character? I am leaning towards yes because it's a lack of specificity, but am stuck.
The Kubernetes pattern fails if "anything" is considered a non-word character.
https://github.com/gitleaks/gitleaks/blob/e93a7c0d2604fd1bcc43ac9cac6144a62387a8a4/cmd/generate/config/rules/kubernetes.go#L48

Should this fail or simply log a warning?

Checklist:

[x] Does your PR pass tests?
[x] Have you written new tests for your changes?
[x] Have you lint your code locally prior to submission?

This PR isn't ready to merge but does need some feedback.

Should this fail or simply log a warning?

I think this is safe to fail since it only gets called during the generation of the config and not during scans.

Should something permission like (?:.|\s){0,200} count as a non-word character? I am leaning towards yes because it's a lack of specificity, but am stuck.

That's a tough one, I'm not sure either.
Overall I like this change since it enhances already existing guardrails during the config generation.


Pc crashes after trying the disable defender function

Hello,
After trying to disable windows defender the computer instantly crashed and right now I can't get into it again. It crashes instantly after logging in.

The problem was in my dumb... Works flawlessly!


Some more core and impl fixes [api8]

Lot of changes here have been done before I could rebase lol. Well next time


[DOCFIX] change Preconditions.checkNotNull(view) to Preconditions.checkNotNull(view, "view")

change Preconditions.checkNotNull(view) to Preconditions.checkNotNull(view, "view"), 有个逗号

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

Merged build finished. Test PASSed.

@Jmt1995 the change looks good to me - please sign the contributor license agreement at http://cla.alluxio.org/ so we can merge the pull request


Write XMP with PNG metadata

What are you trying to achieve?
Using "sharp": "^0.23.3" and libvips 8.8.1 (compiled with libimagequant)
I've also tried a combination of sharp ^0.25.2 and libvips 8.9.1 (regular, without libimagequant)
I am trying to write a PNG file with preserved XMP metadata. The image URL below isn't my exact image, but it also has an XMP embedded information (in this case I believe it's just the author's name. In my case, I have more XMP metadata.
It might demonstrate a different problem, but in the URL below, I cannot even retrieve the XMP metadata, from the sharp metadata() call. In my real case, I can retrieve it, and right up until I write the buffer to a file (meaning while using withMetadata()) I see the XMP data there, but when the buffer is written, the metadata does not seem to transfer.
Have you searched for similar questions?
Yes
Are you able to provide a minimal, standalone code sample that demonstrates this question?
const fs = require('fs')
const { promisify } = require('util')

const writeFileAsync = promisify(fs.writeFile)

const writeIt = async () => {
  const myBuff = await sharp('./PNG.png')
    .withMetadata()
    .toBuffer()

  await writeFileAsync(`./results.png`, myBuff)
}

writeIt()

Are you able to provide a sample image that helps explain the question?
https://github.com/exiftool/exiftool/blob/959b29bd8e7a921232b99d700ae427dd5f2fd392/t/images/PNG.png

Hi, the sample image provided here does not contain XMP metadata.

My apologies for not knowing what valid XMP metadata is and isn't. It appeared in a couple different photo program softwares as XMP data. Here is another image with a decent amount more XMP data that is not being carried over to the output image.
https://imagedev.photobiz.com/407/25_20200203165057_197360_7F295EF9_source.png

Thank you, with this new image and the code sample provided I am unable to reproduce this problem using the latest sharp v0.25.2 and its prebuilt libvips binaries.
Using 25_20200203165057_197360_7F295EF9_source.png as the input, the resulting results.png output file contains the expected XMP metadata.
$ node -e "require('sharp')('results.png').metadata().then(console.log)";
{
  format: 'png',
  width: 4440,
  height: 2960,
  space: 'srgb',
  channels: 3,
  depth: 'uchar',
  density: 185,
  isProgressive: false,
  hasProfile: false,
  hasAlpha: false,
  xmp: <Buffer 3c 3f 78 70 61 63 6b 65 74 20 62 65 67 69 6e 3d 22 ef bb bf 22 20 69 64 3d 22 57 35 4d 30 4d 70 43 65 68 69 48 7a 72 65 53 7a 4e 54 63 7a 6b 63 39 64 ... 23443 more bytes>
}

Please can you provide a complete, standalone repo that would allow someone else to consistently reproduce this problem.

Great! Now I wonder if it is an image client compatibility issue. Will reply in the morning once I verify some things.

Thanks again for responding @lovell . I went ahead and created this repo to demonstrate the problem. You are correct that the library does preserve what it knows as XMP data between reading the original and the eventual output image.
However, only one client program recognized the new XMP metadata.
Out of the 4 client programs I tried:

Pix before  /  after - was able to read the embedded XMP data successfully
GIMP before  /  after - was not able to read XMP afterwards.
Xviewer before  /  after - was not able to read XMP afterwards.
OSX Preview's Inspector - was not able to read XMP afterwards.

Thanks again for looking at this.

Thanks for the detailed repo, I tried it using on Linux (latest Ubuntu) and see:
Are they equal? true

Opening the results.png output in Gimp v2.10 and viewing the metadata displays:

Yeah, I got the equal : true in my testing as well. My only assumption left is that the way the XMP data is being written for PNG's is inconsistent amongst potential image client software. I will try your version of GIMP to see if it works on my machine as well.
I might just have to dig deeper in sharp/libvips and PR or something. I believe that the metadata is being written, I just think it's not in a manner in which most clients work with the images. Do you have the ability (or time) to check using other client software to confirm what I'm saying?

@larryboymi Were you able to make any progress with this?

Closing due to inactivity but please feel free to reopen with more details if further help is required.


Bad ui in mobile view when the language is not english

Description
in english: (not too bad)

in other language:

Gitea Version
latest
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
No response
Operating System
No response
How are you running Gitea?
gitea.com
Database
None

You mean remove the "Normal File" to make space for filename?

Multiline layout is likely a good idea here to show sufficient amount of filename characters.

a new problem

a new problem

Already fixed this overflow in https://github.com/go-gitea/gitea/pull/31091, if you give it a try.

I think maybe you have already fixed it, so I reported it here. 😄


(v1.5)feature/pubsub: add delay queue params for pulsar

https://github.com/dapr/docs/pull/1759

Thank you @1046102779 - referencing the previous PR here as well: https://github.com/dapr/docs/pull/1759
Maintainers will review this PR now.


Webserver crashing with GPTQ model Server error: transport error Error: Warmup(Generation("transport error"))

System Info
Lambdalabs H100 instance, Ubuntu, running with Docker text-generation-inference:latest
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[X] My own modifications

Reproduction
Variables:
model=TheBloke/WizardLM-33B-V1.0-Uncensored-GPTQ
num_shard=1
volume=/home/ubuntu/data # share a volume with the Docker container to avoid downloading weights every run

Docker run command:
sudo docker run -e GPTQ_BITS=4 -e GPTQ_GROUPSIZE=128 -d --log-driver json-file --gpus all --shm-size 40g -p 8080:80 -v $volume:/data ghcr.io/huggingface/text-generation-inference:latest --model-id $model --revision gptq-4bit-128g-actorder_True --quantize gptq

Expected behavior
The model should load. Instead it gives this error:
2023-07-14T01:45:00.352230Z  INFO text_generation_launcher: Starting Webserver
2023-07-14T01:45:01.236319Z  INFO text_generation_router: router/src/main.rs:346: Serving revision eee3325448b6991efc148a34d42b737580439b8d of model TheBloke/WizardLM-33B-V1.0-Uncensored-GPTQ
2023-07-14T01:45:01.248137Z  INFO text_generation_router: router/src/main.rs:212: Warming up model
2023-07-14T01:45:02.429524Z ERROR warmup{max_input_length=1024 max_prefill_tokens=4096 max_total_tokens=16000}:warmup: text_generation_client: router/client/src/lib.rs:33: Server error: transport error
Error: Warmup(Generation("transport error"))
2023-07-14T01:45:02.457462Z ERROR text_generation_launcher: Webserver Crashed
2023-07-14T01:45:02.457525Z  INFO text_generation_launcher: Shutting down shards
Error: WebserverFailed
2023-07-14T01:45:02.614000Z  INFO text_generation_launcher: Shard 0 terminated

Just to say "me too" on this.
I'm also using docker run on a Lamba Labs H100, and get the identical error
As discussed in the linked thread, Olivier suggested I try container ghcr.io/huggingface/text-generation-inference:sha-44acf72 with -e LOG_LEVEL=info,text_generation_launcher=debug to get extra logging, but unfortunately no extra logs were added.
My logs:
Model is: TheBloke/vicuna-13b-v1.3.0-GPTQ
Launching docker with command: docker run --name tgi -e LOG_LEVEL=info,text_generation_launcher=debug,text_generation_router=debug -e GPTQ_BITS=4 -e GPTQ_GROUPSIZE=128 -e REVISION=gptq-4bit-128g-actorder_True --rm -v /workspace/data:/data --shm-size=1gb --runtime=nvidia --gpus all -p 2222:22/tcp -p 8000:8000/tcp ghcr.io/huggingface/text-generation-inference:sha-44acf72 --model-id 'TheBloke/vicuna-13b-v1.3.0-GPTQ' --port 8000 --hostname <IP_ADDRESS> --revision gptq-4bit-128g-actorder_True --quantize gptq
2023-07-17T20:33:00.664497Z  INFO text_generation_launcher: Args { model_id: "TheBloke/vicuna-13b-v1.3.0-GPTQ", revision: Some("gptq-4bit-128g-actorder_True"), validation_workers: 2, sharded: None, num_shard: None, quantize: Some(Gptq), dtype: None, trust_remote_code: false, max_concurrent_requests: 128, max_best_of: 2, max_stop_sequences: 4, max_input_length: 1024, max_total_tokens: 2048, waiting_served_ratio: 1.2, max_batch_prefill_tokens: 4096, max_batch_total_tokens: 16000, max_waiting_tokens: 20, hostname: "<IP_ADDRESS>", port: 8000, shard_uds_path: "/tmp/text-generation-server", master_addr: "localhost", master_port: 29500, huggingface_hub_cache: Some("/data"), weights_cache_override: None, disable_custom_kernels: false, json_output: false, otlp_endpoint: None, cors_allow_origin: [], watermark_gamma: None, watermark_delta: None, ngrok: false, ngrok_authtoken: None, ngrok_domain: None, ngrok_username: None, ngrok_password: None, env: false }
2023-07-17T20:33:00.664674Z  INFO download: text_generation_launcher: Starting download process.
2023-07-17T20:33:03.080136Z  INFO text_generation_launcher: Files are already present on the host. Skipping download.

2023-07-17T20:33:03.570459Z  INFO download: text_generation_launcher: Successfully downloaded weights.
2023-07-17T20:33:03.571018Z  INFO shard-manager: text_generation_launcher: Starting shard 0 rank=0
2023-07-17T20:33:06.971252Z DEBUG text_generation_launcher:
2023-07-17T20:33:06.971330Z DEBUG text_generation_launcher: ===================================BUG REPORT===================================
2023-07-17T20:33:06.971344Z DEBUG text_generation_launcher: Welcome to bitsandbytes. For bug reports, please run
2023-07-17T20:33:06.971351Z DEBUG text_generation_launcher:
2023-07-17T20:33:06.971358Z DEBUG text_generation_launcher: python -m bitsandbytes
2023-07-17T20:33:06.971364Z DEBUG text_generation_launcher:
2023-07-17T20:33:06.971371Z DEBUG text_generation_launcher:  and submit this information together with your error trace to: https://github.com/TimDettmers/bitsandbytes/issues
2023-07-17T20:33:06.971378Z DEBUG text_generation_launcher: ================================================================================
2023-07-17T20:33:06.971384Z DEBUG text_generation_launcher: bin /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda118.so
2023-07-17T20:33:06.971390Z DEBUG text_generation_launcher: CUDA SETUP: CUDA runtime path found: /opt/conda/lib/libcudart.so.11.0
2023-07-17T20:33:06.971396Z DEBUG text_generation_launcher: CUDA SETUP: Highest compute capability among GPUs detected: 9.0
2023-07-17T20:33:06.971402Z DEBUG text_generation_launcher: CUDA SETUP: Detected CUDA version 118
2023-07-17T20:33:06.971408Z DEBUG text_generation_launcher: CUDA SETUP: Loading binary /opt/conda/lib/python3.9/site-packages/bitsandbytes/libbitsandbytes_cuda118.so...
2023-07-17T20:33:06.971449Z  WARN text_generation_launcher: We're not using custom kernels.

2023-07-17T20:33:13.196018Z  INFO text_generation_launcher: Server started at unix:///tmp/text-generation-server-0

2023-07-17T20:33:13.290926Z  INFO shard-manager: text_generation_launcher: Shard 0 ready in 9.718539821s rank=0
2023-07-17T20:33:13.387844Z  INFO text_generation_launcher: Starting Webserver
2023-07-17T20:33:14.404158Z  INFO text_generation_router: router/src/main.rs:346: Serving revision 738964d963bd0aa13be29cb3ded3590a803b3b7e of model TheBloke/vicuna-13b-v1.3.0-GPTQ
2023-07-17T20:33:14.414842Z  INFO text_generation_router: router/src/main.rs:212: Warming up model
2023-07-17T20:33:15.580663Z ERROR warmup{max_input_length=1024 max_prefill_tokens=4096 max_total_tokens=16000}:warmup: text_generation_client: router/client/src/lib.rs:33: Server error: transport error
Error: Warmup(Generation("transport error"))
2023-07-17T20:33:15.693480Z ERROR text_generation_launcher: Webserver Crashed
2023-07-17T20:33:15.693524Z  INFO text_generation_launcher: Shutting down shards
2023-07-17T20:33:15.698591Z ERROR shard-manager: text_generation_launcher: Shard complete standard error output:

python3.9: /opt/conda/conda-bld/torchtriton_1677881350057/work/lib/Dialect/TritonGPU/Transforms/Combine.cpp:870: int {anonymous}::{anonymous}::computeCapabilityToMMAVersion(int): Assertion `false && "computeCapability > 90 not supported"' failed. rank=0
2023-07-17T20:33:15.698669Z ERROR shard-manager: text_generation_launcher: Shard process was signaled to shutdown with signal 6 rank=0

Oh wow, in posting the error log I just noticed the actual error :)
Here we go:
python3.9: /opt/conda/conda-bld/torchtriton_1677881350057/work/lib/Dialect/TritonGPU/Transforms/Combine.cpp:870: int {anonymous}::{anonymous}::computeCapabilityToMMAVersion(int): Assertion `false && "computeCapability > 90 not supported"' failed. rank=0
2023-07-17T20:33:15.698669Z ERROR shard-manager: text_generation_launcher: Shard process was signaled to shutdown with signal 6 rank=0

OK, now I know what to do. I need Pytorch 2.1

Since 2.1 is not gonna be out for another two months, I assume the easiest workaround for now is probably gonna be to completely rebuild the docker container with the pytorch nightlies? I struggled a bit with getting everything synced, so I tried just updating pytorch for the existing container, but I think that creates more problems than solutions with all the libraries being built with pytorch 2.0.1.


add request parameters to integration model

Fixes https://github.com/spulec/moto/issues/5220

Codecov Report

Merging #5224 (29234a7) into master (9640ec2) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #5224      +/-   ##
==========================================
- Coverage   95.92%   95.91%   -0.01%
==========================================
  Files         688      688
  Lines       67847    67849       +2
==========================================
+ Hits        65079    65080       +1
- Misses       2768     2769       +1

Flag
Coverage Δ

servertests
36.49% <0.00%> (-0.01%)
:arrow_down:

unittests
95.85% <100.00%> (-0.01%)
:arrow_down:

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

Impacted Files
Coverage Δ

moto/apigateway/models.py
94.35% <100.00%> (+<0.01%)
:arrow_up:

moto/apigateway/responses.py
94.93% <100.00%> (+<0.01%)
:arrow_up:

moto/efs/models.py
91.07% <0.00%> (-0.30%)
:arrow_down:

Continue to review full report at Codecov.

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


on android 10 when keyboard is show ,can`t display toast.

on android 10 when keyboard is show ,can`t display toast.
when close keyboard,toast is showed.

Same on Android 11

+1

Even I am facing the same issue. @ponnamkarthik

Fixed in 8.0.7


fix test_nested_type_with_rowstore is flaky

Proposed changes
Issue Number: close #xxx
partial update succeeded but data is not updated, this case has a low probability of failure, and it looks like it may be caused by not adding the sync statement
Check tag 'sql' failed, line 1, CHAR result mismatch.
Expect cell is: apache doris
But real is: doris1line 1 mismatch
ExpectRow: [1, apache doris, {"jsonk1":123,"jsonk2":456}, [100, 200], {"k1":10}, {"a": 1, "b": 2}]
RealRow: [1, doris1, {"jsonk1":123,"jsonk2":456}, [100, 200], {"k1":10}, {"a": 1, "b": 2}]

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


corrected command spacing

Fixes

Corrects spacing in the wget && wget, spotted by @illusional

May want to leave this open in case there's a change required for this to stop throwing errors?


More comfortable keymap

if some keymaps doesnt comfortable  you can talk to here.

Easymotion key.  now is use leaderkey to trigger  like <Space><Space>w , need double <Space>,so  its comfortable  or not?  what do you think?

I think it's good, but when something with visual mode kind of slow. Is there anyway to optimize easymotion

easymotion only work on nmap.
if dein#tap('vim-easymotion')
            nmap <Leader><Leader>w <Plug>(easymotion-w)
	    nmap <Leader><Leader>f <Plug>(easymotion-f)
	    nmap <Leader><Leader>b <Plug>(easymotion-b)
endif


feat: allow basic CSV output for report summary

This PR adds a basic --csv flag to the dpbench report command that can be used to change the behavior of generate_summary() to output the dataframe with CSV.
I need a feature like this as our benchmarking automation and regression detection rely on CSV output, and this will make it a bit easier for me to parse the data (:
Here is an example of it:
dpbench report --csv
WARNING:root:using the latest run_id 1
Report for 2023-12-05 13:23:30 run
==================================
Legend
======
  postfix description                                          device
0  numpy       NumPy   11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz
1  python      Python  11th Gen Intel(R) Core(TM) i7-1185G7 @ 3.00GHz

Summary of current implementation
=================================
input_size,benchmark,problem_preset,numpy,python
20MB,black_scholes,S,Success,Success
80KB,dbscan,S,Unimplemented,Success
8KB,gpairs,S,Success,Unimplemented
96KB,kmeans,S,Unimplemented,Success
296KB,knn,S,Unimplemented,Success
1MB,l2_norm,S,Success,Unimplemented
8MB,pairwise_distance,S,Success,Unimplemented
1MB,pca,S,Success,Unimplemented
7MB,rambo,S,Success,Success

Summary of current implementation
=================================
input_size,benchmark,problem_preset,numpy,python
20MB,black_scholes,S,31.29ms,637.19ms
80KB,dbscan,S,n/a,7.78ms
8KB,gpairs,S,0.72ms,n/a
96KB,kmeans,S,n/a,247.97ms
296KB,knn,S,n/a,3833.47ms
1MB,l2_norm,S,0.3ms,n/a
8MB,pairwise_distance,S,3.29ms,n/a
1MB,pca,S,2.87ms,n/a
7MB,rambo,S,5.57ms,517.2ms

WARNING:root:these benchmarks does not fail anymore: {('kmeans', 'numba_mlir_k'), ('pca', 'numba_dpex_n'), ('knn', 'numba_dpex_p'), ('l2_norm', 'numba_dpex_n'), ('knn', 'sycl'), ('pairwise_distance', 'numba_dpex_n')}

Let me know if I need to add anything else to this PR or if I missed something, or if I need to change something stylistically

Looks good. Two things - 1) Squash the two commits into a single commit. 2) Can you few lines to the Readme about this --csv option?

Thank you! Great changes!


add regdis checkerboard test

Added transform_order_natural2regdis and transform_order_regdis2natural functions that allow direct forward modelling in regdis class without the need of initializing okada models for patches.
Added a checkerboard test to show model capability.

Also, I added some of the changes that you suggested to regdis.py


Cant Create Users In The Specified Table

I'm submitting a ...

[ ] bug report
[ ] feature request
[x] support request
[ ] other (Please specify)

i cant have the new user created in the table created, it keeps using User Table Instead of Admin Table, please how do i fix this
when i run
php artisan voyager:admin<EMAIL_ADDRESS>--create

Provide information & explanation
'user' => [
'add_default_role_on_register' => true,
'default_role'                 => 'user',
'admin_permission'             => 'browse_admin',
'namespace'                    => App\Admin::class,

Wrong repo, you should ask here: https://github.com/the-control-group/voyager

Hi @agent2020
Yes indeed, as @flick36 mentioned this is better asked on voyager's repository
Cheers!


Fix Changeset#get for properties with blank values

This commit fixes a problem where changes in the changeset object could
not be retrieved if the value was something like undefined, null,
'', etc.
This issue was not a problem at the moment of executing the changes in
the original object, but it was a problem when you rely on the temporary
changes for other things (e.g external computed properties, template).

LGTM, thanks!


Can I manually input seeds for 20w11a?

I read in #1 that an issue with the profiler (I assume you mean the one on the debug screen) was causing the mod to break. Would it be possible to manually enter coordinates of various structures and biomes as well as the coordinates and height of the end pillars and then run the mod with that? Thanks.

Neil has a standalone program that can do this: https://github.com/hube12/MinecraftSeedCrackingC/releases. I don't plan to add support for manual inputs since the whole point of the mod is to eliminate user error.


Main menu with dropdowns - tapping sub-item link in iOS closes menu, does nothing else

FoundationPress 2.9.0
Using Safari on iPad (iOS 9.3.5), in landscape I am above my mobile menu breakpoint, and when tapping a top-level item with sub-items, the submenu reveals as expected, but tapping a sub-item briefly highlights the item, then the menu closes and nothing else happens. These are links to other pages, so transfer to other URL should occur. Not sure if this is a Foundation or FoundationPress issue. Thanks for any assistance.
https://harveststrategygroup.com/

It's a Foundation bug, it has been corrected in last version. You could install last version of Foundation Press ans just copy the foundation.dropdownMenu.js file.. It worked for me.

Excellent! Thanks for the tip @dantahoua! That worked. Inidentally, does anyone have any resources for how to update a FP install via command line?

@adambundy : Glad it works now. Updating a FP install via the command line will be a hassle, as it's meant to be a starter-theme that you will hack on and make your own, rather than serving as a parent/child-theme.
I believe that most people would want to clone the current version of FP when they start a new project. There will probably be so many changes anyway, that you will end up merge conflict hell if you try to pull down the latest version when your project is well under way. :)


ArrayIndexOutOfRange when Lane Arrow Tool enabled

Describe the problem
I found a bug related to hoveredSegmentsId and hoveredNodeId, both values are currently used for rendering overlay when user hover mouse cursor above segment (indication of lane arrows can be changed).
Current Alpha version throws ArrayIndexOutOfRange because hoveredSegment is not connected to hoveredNode (ExtSegmentEndManager.GetIndex(ushort segmentId, ushort nodeId) returns -1). It's clearly raycasting issue.
Steps to reproduce
See gif below.
"Video"

Notes
My current fix returns false from HasHoverLaneArrows if ExtSegmentEndManager.GetIndex(segmentId, nodeId) equals -1 - node is not part of segment.
I will create PR later tomorrow.
BTW, I think I fixed cursor flickering (needs more tests) - easily visible on animation above

just ran into this bug tonight! glad u know what's going on.

It's going to be few more days before my gaming rig is repaired (freaking hardware nightmare) - should I revert v11 alpha workshop to alpha10 release in the interim?

Ohh.. I forgot that you can revert version with one click. I am not really sure in which version half-segment overlays were introduced. I will fix PR later today.


The DOC phaser

@thoughtstream Your thoughts on the following are sought. @lizmat @vrurg please extend if need be.
Some time ago I was asking how to implement DOC use Module, see user defined blocks.
At the time there was a strong objection to the idea in that a RakuDoc source should have any knowledge of its environment, or of the output format. I raised the topic again at the Raku Steering Council today. The objection remains.
The DOC phaser does not seem to do anything in Rakudo. So I wonder whether we should remove all mention of DOC phaser from 'The DOC phaser' upto but not including 'If a renderer'.
The specification already provides a mechanism for handling a Custom block that a renderer does not recognise.
(There is another concern here, but I'm raising another issue for that)

If it’s been decided that Raku is not going with the original design
of supporting user-defined “documentation modules” via DOC phasers,
then – yes – we should definitely remove any mention of DOC from the spec.

@thoughtstream This is a topic I have wondered about for a while. Sorry that I have not expressed it in this forum.
There is no question about the need for user defined functionality. The question is about signalling that to the renderer.
When developing Raku::Pod::Render and RakuAST::RakuDoc::Render, I could not work out how to use the DOC phasers, or find information about them. So I developed some work arounds.
The approach I have experimented with in the Raku::Pod::Render and Collection distributions is to have an external file with a set of plugins that are loaded and attached to the render-engine object.
The approach for RakuAST::RakuDoc::Render is to have Plugin classes that attach data to the renderer object when it is instantiated.
In both cases, templates contain the information needed to embed the data in a RakuDoc source in the output format (HTML, md).
The idea in both is that if a RakuDoc source contains a custom block, then the render engine looks for a template that matches the custom block. If a template is not supplied by a plugin, then it is rendered as unknown.
The problem with DOC use 'data' is that it is unclear how to interpret 'data' in a way that does not presume the renderer. All of my customisation approaches make assumptions about the plugins. So templates expect data from the render engine, and return a string-type object that is concatenated into the final string output.
Currently, a RakuDoc source can be rendered with any renderer that complies with the specification and renderer the rakudociiem-ipsum cource. No presumption is made about the output format or the renderer.
The problem I had with DOC use data is that the semantics of the statement are not clear. When a normal use statement is executed, there is a lot of documentation about exported subs, namespaces, roles, etc. In my way of thinking (the software gurus may disagree), I imagine a 'use' statement as a way of adding Raku code into the program I am writing.
How then would a DOC use statement differ? By analogy, if a 'use' statement extends a Raku program, would then a 'DOC use' statement extend the RakuDoc source? In which case, we have duplicated the effect with a =place block.

@finanalyst asked:

The problem I had with DOC use data is that the semantics of the statement are not clear.
When a normal use statement is executed, there is a lot of documentation about exported
subs, namespaces, roles, etc. In my way of thinking (the software gurus may disagree), I
imagine a 'use' statement as a way of adding Raku code into the program I am writing.
How then would a DOC use statement differ?

It wouldn’t really differ. It would be a way to add Raku code to the program I am using
to render my document.
The idea was that a DOC use Module::Name would load code that
enables a (Raku-implemented) renderer to render one or more user-defined
RakuDoc blocks correctly.
The idea was that such “documentation modules” would contain class definitions
for one or more classes, each of which would be able to render an associated
RakuDoc user-defined block. For example, consider:
DOC use RakuDoc::User::InlineImage;

=begin InlineImage
7283909473612382102386128369123681293689213681268283789012734889
7834978937489732489738479874834623846340237487238947283479382617
6780346732657402187348127387219837819237812973812648294783974982
9507238974823748973289479231749812374892374774839758730487329847
=end   InlineImage

The DOC use RakuDoc::User::InlineImage; would load the specified module,
which would (presumably) define a RakuDoc::User::InlineImage class,
with a suitable render() method:
    class RakuDoc::User::InlineImage {
        method render (RakuDoc::AST::Block $imagedata, RakuDoc::Target $target-format) {
            # Generate and return a suitable rendering of the first argument
            # for an output format specified by the second argument
        }
    }

The RakuDoc renderer would be implemented such that, whenever it encountered a user-defined block
it would parse out the block contents into an AST node then execute something like:
    # Look for a user-defined class to render the corresponding user-defined block...
    with try RakuDoc::User::($USER-DEFINED-BLOCKNAME).?new -> $renderer {
        $rendered-block = $renderer.render($BLOCK-AST, $TARGET-FORMAT);
    }

    # Otherwise, use a loud fallback strategy...
    else {
        warn "Unknown user-defined block type ($USER-DEFINED-BLOCKNAME) encountered";
        $rendered-block = $BLOCK-AST.as-text();
    }

In other words, it for any =for  WhateverBlock,
the renderer would look for a RakuDoc::User::WhateverBlock class,
and would then use it to render the block. If no such class were found,
it would fall back to render-as-source-text.
And a DOC use ... was to have been the way document writers could extend the renderer
so it knew how to render their user-defined blocks.

@thoughtstream It is the presumably in

which would (presumably) define a RakuDoc::User::InlineImage class
that concerns me. It is at present undefined. So I developed two different approaches, one for Raku::Pod::Render and another for RakuAST::RakuDoc::Render.

The 'class' with a 'render' method also demonstrates the inherent problem of this issue.
The render method contains a reference to the output format. A RakuDoc source does not 'know' anything about the output format. It is the renderer, not the RakuDoc source that defines the output format. This can be seen when the compiler invocation is raku --rakudoc=HTML somesource.rakudoc. The class invoked is implicitly RakuDoc::To::HTML, which contains a render method.
By having a DOC use statement in the RakuDoc source, there is an explicit connection to a renderer.
Another implementation complication that I have encountered is that different output formats require multiple associated assets. So, an HTML output requires CSS (or SCSS) and JS texts that need to be added into the body of the output file. Meanwhile, an epub output requires CSS, together with a manifest file and two table of content files (one for each version of the epub specification).
So when a custom block is to be created (for example to expose the Leaflet Maps service), it requires the loading of JS for the map, and JS for the tile suppliers, and CSS for the maps and tile suppliers. This is all possible, which can be seen in sample maps.
Moreover, when the HTML is created, the embedded HTML must also set api tokens that are required to access certain high-value tiles from the tile suppliers. In view of this complexity, Leaflet maps cannot easily be incorporated into text or epub output.
As the renderer parses the RakuDoc source, it collects information for the index and table of contents. The data structures for this information is renderer-specific. So, a custom block class needs to know about these structures in order to add information to them, for example in the docs.raku.org site, class typegraphs are added to the docs/Type/xxx.rakudoc files. Ideally, these typegraph images should be referenced in the Table of Contents (they are not using Collection, but they were in Documentable). There is no information at all in the RakuDoc sources about these typegraph images, it was added in by Documentable.
In addition, I found when rendering the docs.raku.org site that the original Documentable renderer created several thousand additional pages which gathered data from the original 700 sources. And the authors of the 700 sources explicitly referenced the "virtual" pages.
Finally, I should add that even when there is a renderer for an output format, it needs to be extensible as well. People will want to be able to change the CSS for the same HTML tags, or use a different sort of tag for some element, eg, use a different table class.

@thoughtstream thank you for the perl perspective - I was not so involved in the Perl as I am in the Raku community.
Fixing the problems you pointed out in #50 has led down some rabbit holes. I'll fix them, then raise a PR to eliminate DOC use

Thanks, @finanalyst.

closing as resolved. idea for =else in new issue


[Fix #6617] Prevent traversal error on infinite ranges

With the addition of infinite ranges, the irange and erange node types can now have one node type child and one nil type child. Our code made the assumption that there would always be two node type children, causing a NoMethodError on traversal of infinite ranges. This change fixes that.

Before submitting the PR make sure the following are checked:

[X] Wrote good commit messages.
[X] Commit message starts with [Fix #issue-number] (if the related issue exists).
[X] Feature branch is up-to-date with master (if not - rebase it).
[X] Squashed related commits together.
[ ] Added tests.
[X] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[X] The PR relates to only one subject with a clear title
and description in grammatically correct, complete sentences.
[X] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

I guess we also need some regression test for this.

I guess we also need some regression test for this.

Was just looking at where to add this. 🤔

@bbatsov Added a RangeNode extension that serves as a regression test for this as well. 🙇


Wrong colors in components

[x] bug
[ ] feature request
[ ] enhancement

Expected behavior
Colours in components should match corresponding functional colours
Actual behavior
Warning alert in light theme v.0.12 has real bg colour #FEECB5, where as in functional colours we have a value of #FEF3B5 in standard alerts colours.
Same thing for badges:
Purple badge has #9460b8 color in reality, where as in functional colours for badges there's only #9B56BB color. #9460b8 is not present in color palette at all.
Orange badge has #eb8d00 color in reality, where as in functional colours for badges there's only #FF8400 color. #eb8d00 is not present in color palette at all.
Same thing for buttons:
Primary/Info outline button and flat button has #0077b7 color in reality, should be #007CBB ? Or there should be some level of opacity applied?
Success outline button has #308300 color in reality, should be #308700
Cards borders and dividers are also have color out of palette. Same for Datagrid dividers.
Reproduction of behavior
Compare Functional colors v.0.12
with warning alert here - Alerts v.0.12 and other listed components.
Environment details

Browser: [Chrome 68.0.3440.106]

Thanks for reporting this, I will let UX determine which color is the correct one, and we can then either fix the color palette docs or fix our CSS.

Instructions for correct colors.

Also #2784

Hi all, @colinreedmiller,
I have some questions about Issue 3 (b):

In the textual description we see a request to change #308300 to #308700. But on the mock image I see that #318700 has to be changed to #2F8400. I can do it, but I do not understand how this relates to the original request.
This color (#318700) is seen at 3 places on the website - general palette, buttons, badges. Do I need to change all 3 of them?
This probably will be answered by answering the above question (2.), but let me ask explicitly - where in code I also fix this color? Buttons, app-level alerts, labels, badges? Or anywhere I detect the old color is used.

Thanks you!

Hey @colinreedmiller
I got this one. I'll answer it later today when I get free from meetings.

Green needs to change from #318700 to #2F8400. This is because #318700 was not accessible against a background of #FAFAFA.

Changes to demo app:
• On color palette page (http://localhost:4200/color/color-palette) - change #318700 to #2F8400. #2F8400 is only accessible against white. Both text and color need to change.

Changes to website:
On website (https://vmware.github.io/clarity/documentation/v0.13/color)
• In color palette, change #318700 to #2F8400. #2F8400 is only accessible against white. Both text and color need to change.
• In functional colors, change #318700 to #2F8400. #2F8400 is only accessible against white. Both text and color need to change.

Across all Clarity:
• Change #318700 to #2F8400. This is a change I did a while ago. It looks like it got stomped on in a merge though.
Yes.

3. When I make changes like this, I think it's easiest to just to a "Find in files" for the Hex value. Then I look at each instance and change it unless it's in some place weird like the dist folder. There are never that many actual instances of these hex values. You just have to remember to update the website branch too.

===

For all the color changes @colinreedmiller mentions above, you will want to update the values in the demo app, ks-app, components, and then the website branch.
Hope that helps!

Fixed for v1.0

@Jinnie one more:
badge-warning class uses #fdcf08 color (not in palette) instead of #FFDC0B


Make flutter app buildable for both aar and apk with single project.

Use case
I'm currently developing application with flutter, and my application should be embedded to the other android native application because of business reason.
But in this case, there are two difficulties.

I cannot build my application independently.
My application cannot be debugged in the same way as usual flutter application.

Proposal
How about enable aar build using normal flutter project? I realized that there are not much different, so it can be possible (some point I failed, but official support can be helpful).

How about enable aar build using normal flutter project?

@wangmir flutter build aar is specifically used when flutter module is integrated with native Android. You can read more about aar in this article https://docs.flutter.dev/development/add-to-app/android/project-setup,
So I am not sure if the same command will be applicable or feasible for a normal Flutter project, so I am going ahead and closing this. If you disagree, write in comments and I'll reopen it.

When we make aar with flutter build aar, it cannot be debugged using usual flutter debugging feature, thus this flutter aar feature should be launched as independent flutter application too to ease debugging too.
So, I think if there are available method to build both aar and apk using same project with same dependency and same lib directory, I think it worth..


[EPIC] Medians / Separation lanes

The game has no concept of medians, and this causes problems for pathfinder and DLS

#89 - Original ticket which describes many of the issues
#243 - Stale PR trying to fix the issue

Had significant performance impact, needs complete rewrite

#503 - New ticket describing median detection requirements

Closing this as it's now tracked in #1223


jmh 1.36

JMH 1.36
https://mail.openjdk.org/pipermail/jmh-dev/2022-November/003553.html

@sullis:
Thank you for the information. We certainly will upgrade to version 1.36, but we have Dependabot configured to remind us of new dependency versions: #1151.


add day or night models?

you have done a really fantastic job! I am wondering if it is possible to add models for time of the day?

That is definitely possible and I can add it to the TODO list, but it may be some time. If you are interested, you can also make a contribution :)


URL required parameter is not validated correctly

Hi,
When I run APISprout with --validate-request and with the OPENAPI3.0 example:
https://github.com/OAI/OpenAPI-Specification/raw/master/examples/v3.0/petstore.yaml
and try to consume the endpoint /pets/{petId} I am getting the following error:

As you can see the petId is present in the request url (SGTY56).
Regards.

PR created https://github.com/danielgtaylor/apisprout/pull/7

you need to specify an example on the parameter {petId} like 'example: "SGTY56"' in YAML to works on OpenAPI3 lib parser and reflect on mock (apisprout)


Updated boids project

This PR updates the pinning fixing the param warnings and changes the VectorField constructor accordingly. Fixes #143.
This would be ready to merge if I could get anaconda-project lock to work: currently it either complains about nomkl not being found (which I've tried removing) but even after that I get solve conflicts.

@jbednar The boids project didn't originally have an anaconda-project-lock.yml but now I've added one.
The changes I had to make to the anaconda-project.yml are here.
However, I'm not sure it is worth having to add conda-forge as a channel in order to be able to generate the lockfile. In addition, the tests are no longer passing right now as apparently pytest can no longer be found?


API doc clarification

Although it has the same effect, using the defaultProps() HoC is not the same as setting the static defaultProps property directly on the component.

Intriguing, but unsatisfying. I think this statement merits a word on how it's not the same.

Yeah you're right. In fact, this topic should probably be moved to its own section, since it applies to more than just defaultProps().
The basic point is that certain helpers like defaultProps() and shouldUpdate() have analogues in the React Component API, but since they are higher-order components, they are applied on a container component that wraps the base component, rather than directly on the base component itself. The effect is the same, but the implementation is slightly different.

I am going to close this issue because it's no longer active. Please feel free to reopen it and a PR for doc enhancement is always welcome.