Change astronomize to use built-in definitions.

Currently, astronomimze() reads all of the data from the the constellations repo, allowing the user to keep the repo updated as they want (and, conversely, roll back to previous definitions that were relevant at the time of data collection).
However, this repo is no longer updated with the current omicron sub-lineages. Most of the definitions we're working with are unchanging. Built-in values are fine now, and this reduces the number of dependencies.
I believe the constellation_lists.rda file contains recent enough definitions. Change astronomize() to work with these by default, and a path to a clone of the constellations repo as an option.
Note that the function varmat_from_list() may be useful (it could also be programmed better).

Fixed with commit 99d6d1b055edc858b4c692b67bdbb7cd36bdbdb7.


Plugin does not evaluate GroupId / ArtifactId property variables

If th groupId of an dependency is defined in a property and this property-variable is used in the dependency the execution of mvn versions:display-dependency-updates shows some problems.
eg. following pom.xml snippet
...
<properties>
	<archunitGroupId>com.tngtech.archunit</archunitGroupId>
	<archunit.version>1.1.0</archunit.version>
</properties>

...

<dependency>
	<groupId>${archunitGroupId}</groupId>
	<artifactId>archunit</artifactId>
	<version>${archunit.version}</version>
</dependency>

will lead to this console output:
[INFO] --- versions-maven-plugin:2.16.0:display-dependency-updates (default-cli) @ myProject---
Downloading from nexus: http://myNexusRepo/nexus/content/groups/public/${archunitGroupId}/archunit/maven-metadata.xml
As you can see, the GroupId was not correctly determined.
Excpected behaviour is a correct usage of variables even for groupId an artifactId.

I'll look into it.

Strangely enough, so far I haven't been able to reproduce the issue.
I tried this test scenario:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>localhost</groupId>
    <artifactId>it-display-dependency-updates-issue-1001-groupid</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>

    <description>groupId is expressed via a Maven property</description>

    <properties>
        <dep.groupId>localhost</dep.groupId>
        <dep.version>1.0</dep.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>${dep.groupId}</groupId>
            <artifactId>dummy-api</artifactId>
            <version>${dep.version}</version>
        </dependency>
    </dependencies>
</project>

invoker.goals = ${project.groupId}:${project.artifactId}:${project.version}:display-dependency-updates
invoker.mavenOpts = -Dversions.outputFile=./output.txt -DoutputEncoding=UTF-8

def output = new File(basedir, "output.txt").text
assert output =~ /\Qlocalhost:dummy-api\E\s*\.*\s*\Q1.0\E\s+->\s+\Q3.0\E\b/

and it passes with the relevant log lines:
[INFO] The following dependencies in Dependencies have newer versions:
[INFO]   localhost:dummy-api ....................................... 1.0 -> 3.0
[INFO]

It looks like this does work with 2.16.0. Could you please isolate a test project which does verify the issue?

@slawekjaranowski do you think we should merge this it in even if this turns out to be working fine, just as an additional safety check?

@Tholian - can you help a reproduce issue?, as you see we can not reproduce it
Without reproduce example, I will close it.
@ajarmoniuk - we can add simple IT to confirm case

@Tholian we add a test to confirm that working as expected
If you have another case please let us know - how to reproduce

Hi, I have tried to set up a test project as an example of the behavior I have seen. But indeed this is working fine.
I don't get the real difference to my life working project where I can spot that issue.
I will try to figure out what causes this misbehavior.
Thank you so far.


[BUG] Next and skip in /app/welcome are unintuitive

The SKIP button should be removed and NEXT should work as expected.

Fixed in #37

Fixed in #37


Dynamic batch size example python

Is there an example to run dynamic batch sizing in python with the 2019_r2 openvino sdk?
Running into issues because of the shape of the inputs:
ValueError: could not broadcast input array from shape (2,3,227,227) into shape (1,3,227,227)

You can find a simple example in inference engine python API overview
and its usage in the code from classification_sample

@eaidova thanks, this example is for normal batching, not dynamic batching though - I've figured that I have to setup set_batch on the current request by looking at the c++ code.

@blechatellier, OpenVINO 2019 r2 introduces IECore API for future replacing traditional plugin-based API, so due to both cases works in your package as well, there are some mismatches between samples in docs (the majority of them use IEPlugin instance), But it also will work with IECore with some adoptions (as you noticed plugin.load(net) = ie.load_network(net, device), plugin.set_config(config) = ie.set_config(config, device))
About the issue with the length of inputs during the inference with dynamic batch size. The length of inputs and outputs always matches to an original batch size which used as the maximal size of the batch for infer request. set_batch() does not change the input and output shape, but it has an influence on batch which will be processed inside of InferenceEngine.
For example, if your network has net.batch_size = 20 and you set exec_net.requests[0].set_batch(2), so during the inference, only first 2 elements of batch size will be processed, so it promises better performance result if you do not use dynamic batch in the same case.
I hope this sample smooths out the difference in use
from openvino.inference_engine import IECore, IENetwork
import numpy as np

ie = IECore()
net = IENetwork(xml, bin)
net.batch_size = 20
# create executable network with dynamic batch support
exec_net = ie.load_network(net, 'CPU', {"DYN_BATCH_ENABLED": "YES"})
infer_request = exec_net.requests[0]
test_inputs = [np.ones((1, 3, 227, 227)), np.ones((2,3, 227, 227))]

for test_input in test_inputs:
    inputs_count = len(test_input)
    infer_request.set_batch(inputs_count)
    infer_request.inputs[input_blob] = test_input
    infer_request.infer()
    result = infer_request.outputs[output_blob][:inputs_count]
   # do something with result

Unfortunattely, change shapes in network connected with memory reallocation, it is expencive operation, so it is the reason why it is not done in this case. The only way out in this situation is to recreate exec_net for every input batch with changing network batch size.

@eaidova makes a lot more sense, thanks for the thorough answer.


Update pathfind.go to allow sending to self

This commit allows payments to be sent to one's self, in order to balance channels.  It has added loop prevention mechanisms as well.
It also ensures that payments to one's self only comes in channels with sufficient balance.

https://github.com/lightningnetwork/lnd/issues/1645

Also note that #1321 will change the routing algorithm to backwards and has the findPath test refactored. Depending on merge order, this may require changes.

There: I've rewritten the 'route to self' functionality, as well as unit tests.
NOTE: It will only find paths of exactly 3 hops, due to a how the pathfinding algo works.
To find longer paths would require more complex logic:  Essentially, at each hop along the path, it'd have to temporarily set the distance of all nodes not in the existing path to infinity, then set them back to what they were afterwards.
3-hop paths should cover most situations.
When 1321 goes into affect, the "vSelf" additional edge algo will have to be changed.  Easy fix.
P.S. Sorry about all the random lines edited.  My compiler auto-corrects blank space formatting inconsistencies.

That loop checking should really not be necessary with vself. I think what is missing, and what you were planning to add anyway, is to constraint the outgoing edges from self and the incoming edges of vself. If you'd do that (explicitly specify from where to where to rebalance), the problem will solve itself and you also don't have the limitation of 3 hops.

There we go.  Squashed down into one.
Even if you constrain the edges, there is still a limit on the hops can that can be routed through.
Lets say A-B and A-C   and B-C... the first iteration of processing edges, processes all the ones directly connected to A, setting the distance of B and C.  Once you get to B or C, you can't search go to the other one, because A-C is always less than A-B-C.  Adding a constraint only adds 1 hop per constrained side to the max hops.

So you have self node A and nodes B and C, all fully connected. After transformation you'll get a virtual self A'.
Edges: A -> B, A -> C, B -> C, C -> B, B -> A', C -> A'
You are looking for a route from A to A'. If you go A -> B -> C -> A' and find that A -> C -> A' is actually better, why wouldn't you want to use it then?

A-C-A... doesn't rebalance anything.  You are receiving in the same pipe you sent it out of.

Yes, via the same channel it is not a rebalance of course. Constraints would solve it, but if you don't want to add them for now, you could do it like this inside the bestNode.ForEachChannel callback:
if outEdge.Node == vSelf && channelInBestPathToNode(bestNode, outEdge) {    return nil }
So don't process the edge that you used to the first hop.
I am almost sure it will work and will get you a nice flexible any-length path solution.

One way to remote the hop-count limit: Do pathfinding from both ends and meet in the middle.
Basically: Whenever your 'process edge' encounters a node with a shorter distance to the source, it checks to see if it's already in it's existing path.  If not, then it looks at the reverse path from that new node, and adds it's reverse path weight to the current path to create a path to A'.
"if outEdge.Node == vSelf && channelInBestPathToNode(bestNode, outEdge) { return nil }"
Interesting, I'll research this and see if it yields the desired results.
Pretty sure it doesn't release the hop-count limit.
The algo sets the distance to each node directly connected.
A-100-B
A-100-C
B-200-C
When it looks from B, it sees that A-B-C distance is > current known best distance, and ignores the B-C route.

"undefined: channelInBestPathToNode"  Searched and GitHub says this doesn't exist in LND.

You are right indeed. My suggestion of skipping edges messes up with algorithm.
But constraining to a specific in- and outgoing channel, I think it is going to work isn't it? You probably want it in the end anyway, because what is the use of an uncontrolled "rebalance"? It could just as well be an "unbalance".

Yes, that was a method name that I made up. Pseudo-code to explain the idea.

If you want the uncontrolled variant, you could also loop over all channels and perform a search to vself for every one of them. Suppose self has channels A, B, C and D. If you perform the search for A, then only add A as an outgoing edge from self and only add B, C and D as incoming edges to vself. Then repeat for all channels.
It gives you max. 4 routes of which the shortest can be selected.
But the question remains, what is the use case of uncontrolled movement of funds?

I want both constraints to be optional: You can specify one, or the other, neither, or both.  Maximum flexibility.
My idea of "searching from both ends" fixes the issue, with maximum flexibility.  But it adds a great deal of complexity that will take time to sort out.
Lol... Or I whenever a node encounters another node that has a shorter path, it calls up a recursive "find path" with the source as the current node, having all existing path inside ignored edges/nodes for the new call.
There's no logical reason for "Neither" constraint.  There are multiple uses for a single constraint: You just want the cheapest way to balance a single channel.  And you need to have the option of balancing in either direction.

Okay, if neither is not logical, the problem is fixed isn't it? You specify a set of outgoing channels. That set will be the only edges going out of self and the inverse of the set will be the only incoming edges of vself.

There are 4 variants: Neither, Both, Incoming only, Outgoing Only.
"Neither" doesn't have anything logical for, or against.  The other three are needed.
Even with "Both" You still run into a hop limitation due to Dijksktra's.  It would have to be a recursive algo that appends the route to the outer loop.
I need to think about that some more... make sure the it doesn't get stuck in infinite recursion.

Both is possible, but not if the in and out sets overlap? Is there a good use case for overlapping in and out sets?

I don't know what you mean by "in and out sets".

In set is the set of channels that the payment may originate from. Out set is the set of channels through any of which the payment may be received

Yes, when sending yourself the set must overlap at some point.  You have to be able to create a loop, and exit the loop without becoming infinite.

Yes, good idea. lnd slack


Context and commit status URL do not work

Hi, I have set the context and commit status URL in the Configure System section of Jenkins as shown below.

However, the context that comes through in the PRs is just default and the URL is the normal job URL that is the default. Is there any reason why this might be happening, have I missed something? Thanks.

Same issue here. It seems like creating a job comes with its own all blanked out Trigger Setup. If you go in the job configuration, then click "Trigger Setup...", it will show all blank fields, which will cause the defaults to take action. If you then delete that Trigger Setup and add back a new one (Trigger Setup --> Add --> "Update commit status during build"), it will have the correct field.

Seems like this bug has also been reported in JIRA:
https://issues.jenkins-ci.org/browse/JENKINS-29151

This is cause by this line: https://github.com/jenkinsci/ghprb-plugin/blob/ghprb-1.27/src/main/java/org/jenkinsci/plugins/ghprb/GhprbTrigger.java#L94  I will have it fixed in the next release.

@DavidTanner Awesome. Do you expect a release anytime soon?
Also, related to this, it seems like there's no way currently to not have a Commit Status URL. E.g. I don't want any "Details" link at all on the PR's webpage. I can get this to work if I specify a simple space " " in that field in the Configure System page, but then when I do the steps described in my previous comment on the job configuration page to get back those defaults, the space is not copied over (trimmed out probably), and thus, the default URL gets used.
Hopefully, these two bugs are related. I.e. once we no longer have to fiddle with specific job configurations and instead rely on the main system configuration, each individual job without a Trigger Setup created will just lookup those central values without trimming anything, so that even a single blank space is kept.

How about if the url is set to --none-- then the url is set to ""?

Actually, it seems like the issue is more grave than I thought. The Commit Status URL doesn't seem to be copied over at all when adding a Trigger Setup on the job configuration page. I had a assumed previously it was because I used a simple space. But even when using "--none--" now (or even a real URL), it seems like it doesn't get copied over.

There is no --none-- currently.  I am working on fixing the defaults.

So this did not work globally for me but it did work when I put the settings in there for a specific job, so my issue is solved even though there may be a larger problem at play.

I ran into a permutation of this today.  I am able to set these values correctly via the Web UI, but when uploading generated configuration via the Jenkins Job Builder tool (which is just posting an XML file to the API), everything under SimpleStatus appears to be lost.

Actually, I might be hitting a distinct issue

This issue should be fixed in the latest release.

I confirm this still is an issue with ghprb 1.30.1.

@samrocketman can you post your job config and the global plugin config?

To be clear: I replicated the behavior by not configuring the job config at all but instead only configuring the global config.  I can't give you the config I used.

This is still an issue as of ghprb-1.35.0

@bskrtich is the issue similar to what's described: something you can work around if you override the default on each job?

Yes the issue is very similar. If you change the Context in the global settings, it will be added to the PR at the start, but at some point durning the build it will send "default" as the Context. This all can be worked around by setting the Context in each job.

Unfortunately, the described workaround (setting Context in each job) does not work for me.
To understand the problem, i did the following:

set "jenkins-global" as Context in the global jenkins config
set "jenkins-tests-only" and "jenkins-code-analysis" as Context in job-specific configurations (there are only those two jobs)

Now, all my pull requests show 4 checks: "default", "jenkins-global", "jenkins-tests-only", "jenkins-code-analysis" (see attached image)

Can confirm workaround does not work for me as well

@benpatterson sorry, but do you know is someone working on this?

@anton-unity I am looking at it this morning and am unable to reproduce. :(
I wonder what version of the github plugin you're using, just out of curiosity? We upgraded that dependency with 1.35.
More details: I'm setting only the context in the global configuration (not the url or anything like that, in part to simplify), and I'm setting a specific context in a ghprb job. Only the specific job's context is appearing throughout the cycle (on trigger, on start, on complete). FWIW the job is configured to pass.

Oh I should also point out that my dev environment is on a jenkins 2.x install

I tried it once again now with such setup - plugin v1.35 and jenkins 2.19.x.
For global configuration only context context-global, for job job - only context context-job.
That's result after job completed:

Job configuration:

Global configuration:

I will try fresh jenkins+plugin instance early next week (just to make sure there is no weird dependencies issue) and post results here.

@anton-unity Ahh thank you for the screenshots. The extra pixels on the bottom of the job screenshot helped me understand how you'd configured the job. I can now happily (?) report that I can reproduce the problem. In my set-up, I was setting the job-specific configuration in the Trigger Setup... section of the job.
FWIW as a temporary workaround, you could try setting the job-specific context in the Trigger Setup section. (Let me know if that helps?) I'll see if I can unwind what's going on in the particular use-case where I can reproduce the problem.

@benpatterson thank you for your reply! Indeed, I confirm Job -> Trigger Setup context work as expected and solved my problem with single job. Sorry, I was a bit confused  by few concurrent options...
This is my result with configured trigger setup (and any global configuration):

I am closing this, because this seems to work if properly configured.
If anyone wants to provide a documentation patch that would be much appreciated.

I think this needs to be reopened, as setting the global config context still results in default.


Add setOrigin function in SpineGameObject like Sprite

Hi!,
I've made a simple game using Spine, the characters are positioned in a board made with tiles.
The Spine object have the pivot/origin/anchor point at their feet, but in my game I have to use the ~center coordinate as a pivot/origin/anchor point. I could add to the SpineGameObject an offset(x,y) but then I should take care of that offset by hand. By the way "setOffset( [offsetX] [, offsetY]).setOffset( [offsetX] [, offsetY])" doesn't work for me. Anyway, the offset are in pixels insted of percentage like pivot/origin/anchor point
This pivot/origin/anchor point cannot be modified because SpineGameObject doesn't have the setOrigin function.
https://photonstorm.github.io/phaser3-docs/SpineGameObject.html
https://photonstorm.github.io/phaser3-docs/Phaser.GameObjects.Components.Origin.html#setOrigin
Thanks!

This isn't a feature the Spine Runtimes provide to Phaser, so it's not something to easily expose in the plugin either. You'll have to just work with what the runtimes offer, I'm afraid.


Cannot specify to use Microsoft Edge as non-default browser

As described (among a zillion places) at https://www.itworld.com/article/2943955/windows/how-to-script-microsofts-edge-browser.html one cannot launch Microsoft Edge using a " " command line.
This means that one cannot use "printcode.browserPath" to specify that PrintCode use Edge

I confirm PrintCode now works with Edge using default settings. Good job!


Bounces from multiple providers due to 501 5.5.4 Syntax error in BODY parameter

Description
Some domains we are sending to are producing bounces with : "501 5.5.4 Syntax error in BODY parameter". We've also had an instance of "550 Maximum line length exceeded (see RFC 5322 2.1.1).". The plain text message we are sending is static and I've ensured every line is less than 78 characters long. The emails we send do contain a PDF attachment. At first I thought it may be something in our HTML template so we have since switched to only sending plain text emails and are still seeing the issue. Emails to Google and lot's of other domains are not bouncing.
Relevant code (removed error handling and redacted email addresses only):
func makeValidUTF8(s string) string {
	return strings.ToValidUTF8(s, "")
}

// email sending code
m := mail.NewMsg()
fromerr := m.FromFormat("Magnolia Fabrics", `redacted`)

toerr := m.To(`redacted`)

m.SetCharset(mail.CharsetUTF8)
m.Subject(makeValidUTF8(fmt.Sprintf("Magnolia Fabrics Invoice - %s", `645211`)))
m.SetDate()
m.SetMessageID()
m.SetImportance(mail.ImportanceHigh)

pdfreader := bytes.NewBuffer(pdf)
m.AttachReader(fmt.Sprintf("%s.pdf", `645211`), pdfreader)

m.SetBodyString(mail.TypeTextPlain, makeValidUTF8(cfg.PlainTextEmailMessage))

if !cfg.SendPlainTextOnlyEmails {
    m.SetBodyString(mail.TypeTextHTML, makeValidUTF8(string(b.Bytes())))
}

c, cerr := mail.NewClient(cfg.SMTPServer,
    mail.WithSMTPAuth(mail.SMTPAuthPlain), mail.WithUsername(cfg.SMTPUser),
    mail.WithPassword(cfg.SMTPPassword), mail.WithTLSPolicy(mail.TLSMandatory))

derr := c.DialAndSend(m)

In go.mod and go.sum:
// in go.mod
github.com/wneessen/go-mail v0.2.5 // indirect

// in go.sum
github.com/wneessen/go-mail v0.2.5 h1:lVQ5Q1hYaUNU/VL9F4AOtYaBAxgmrH+6W6wwMcDpKDE=
github.com/wneessen/go-mail v0.2.5/go.mod h1:m25lkU2GYQnlVr6tdwK533/UXxo57V0kLOjaFYmub0E=

The values of the relevant variables mentioned above are read from this TOML file:
send_plain_text_only_emails = true
smtp_server    = 'email-smtp.us-east-1.amazonaws.com'
plain_text_email_message = '''Dear Customer,

Good news! Your order is on the way and invoice is attached!

You will find your tracking number on the invoice. Tracking data may take
up to 24 hours to be accessible online.

• Please remit payment at your earliest convenience unless invoice is
marked “PAID”.
• Some items may ship separately from multiple locations. Separate
invoices will be issued when applicable.
• PLEASE INSPECT UPON RECEIPT FOR PATTERN, COLOR, DEFECTS, DAMAGE FROM
SHIPPING, CORRECT YARDAGE, ETC! Once an order is cut or sewn, no returns
will be accepted for any reason, no matter the party in error. No returns
will be authorized after 30 days of invoice date. No exceptions will be
made.

Thank your for your business!

Magnolia Fabrics'''

Domains we are seeing bounces from:
yadtel.net, eplus.net, windstream.net, lawlessupholstery.com, comporium.net
Examples of the bounces:
>>><EMAIL_ADDRESS>(reading confirmation): 501 5.5.4 Syntax error in BODY parameter
Arrival-Date: Mon, 01 Aug 2022 16:26:13 -0400
Reporting-MTA: dns; mx04.nrtc.email-ash1.sync.lan

>>><EMAIL_ADDRESS>(reading confirmation): 501 5.5.4 Syntax error in BODY parameter
Reporting-MTA: dns; mx04.nrtc.email-ash1.sync.lan
Arrival-Date: Tue, 02 Aug 2022 16:59:33 -0400

Action: failed
Last-Attempt-Date: Tue, 02 Aug 2022 16:59:33 -0400
Remote-MTA: dns; <IP_ADDRESS>
Diagnostic-Code: smtp; 501 5.5.4 Syntax error in BODY parameter
Final-Recipient: rfc822<EMAIL_ADDRESS>Status: 5.5.4

>>><EMAIL_ADDRESS>(reading confirmation): 501 5.5.4 Syntax error in BODY parameter

>>><EMAIL_ADDRESS>(reading confirmation): 501 5.5.4 Syntax error in BODY parameter

An error occurred while trying to deliver the mail to the following recipients:
<EMAIL_ADDRESS>Reporting-MTA: dns; a77-213.smtp-out.amazonses.com

Action: failed
Final-Recipient: rfc822<EMAIL_ADDRESS>Diagnostic-Code: smtp; 550 Maximum line length exceeded (see RFC 5322 2.1.1).
Status: 5.3.0

Example of email successfully received at a Google account -- contents copied from the "Show Original" option in Gmail:
Delivered-To: redacted
Date: Fri, 12 Aug 2022 21:37:33 +0000
Importance: high
MIME-Version: 1.0
Message-ID: redacted
Priority: 1
Subject: Magnolia Fabrics Invoice - 42
User-Agent: go-mail v0.2.4 // https://github.com/wneessen/go-mail
X-MSMail-Priority: 1
X-Mailer: go-mail v0.2.4 // https://github.com/wneessen/go-mail
X-Priority: 1
From: redacted
To: redacted
Content-Type: multipart/mixed; boundary=f5d04f41bcb3d5701fa0e855a6fdde977c003c89d2bf398c6de7abaaebde

--f5d04f41bcb3d5701fa0e855a6fdde977c003c89d2bf398c6de7abaaebde
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset=UTF-8

Dear Customer,

Good news! Your order is on the way and invoice is attached!

You will find your tracking number on the invoice. Tracking data may take
up to 24 hours to be accessible online.

=E2=80=A2 Please remit payment at your earliest convenience unless invoice =
is
marked =E2=80=9CPAID=E2=80=9D.
=E2=80=A2 Some items may ship separately from multiple locations. Separate
invoices will be issued when applicable.
=E2=80=A2 PLEASE INSPECT UPON RECEIPT FOR PATTERN, COLOR, DEFECTS, DAMAGE F=
ROM
SHIPPING, CORRECT YARDAGE, ETC! Once an order is cut or sewn, no returns
will be accepted for any reason, no matter the party in error. No returns
will be authorized after 30 days of invoice date. No exceptions will be
made.

Thank your for your business!

Magnolia Fabrics
--f5d04f41bcb3d5701fa0e855a6fdde977c003c89d2bf398c6de7abaaebde
Content-Disposition: attachment; filename="42.pdf"
Content-Transfer-Encoding: base64
Content-Type: application/pdf; name="42.pdf"

--f5d04f41bcb3d5701fa0e855a6fdde977c003c89d2bf398c6de7abaaebde--

To Reproduce
We're running the app on a customer's Windows server; we build and develop on Linux.
We have run go get -u github.com/wneessen/go-mail to ensure we are on latest version of lib.
The app is built with:
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o invoice-generator.exe
Expected behaviour
No bounces due to syntax error in body.
Screenshots
No response
Attempted Fixes
No response
Additional context
No response

Hi Chris,
this is hard to narrow down, since it's a little bit "black magic" on what's happening on the recipient server end. Since this only happens for some recipients, I assume that it's some hard limit, that some mail servers still allow and some are more strict on. I've checked the mail server EHLO messages of the different domains and they all seem to use the same mail server software.
At first glance, this might be due to the attachment. By default go-mail uses Base64 encoding for attachments. The base64 encoder of Go does not limit the length of the output, so the attachments might have long lines, which might not correspond with RFC 5322 2.1.1 - which describes a maximum line length.
For testing purpose, I've created a new branch https://github.com/wneessen/go-mail/tree/37-bugfix in which I've changed the attachment encoding to quoted printable, which will make sure that lines are split at ~78 char length. Could you download that branch and try again or alternatively, if that is not easy to accomplish, remove the attachment from your code for testing purpose, so we can easily see if the attachment length is causing the issue? If that is the case, I have a better understanding of what is happening and can implement a patch accordingly.

Hi again Chris,
please disregard my previous message. I've meanwhile implemented a proper Base64LineBreaker which will make sure that any Base64 encoded mail part (like i. e. attachments) is properly encoded and lines are broken at 76 chars lenght. This should fix the issues with the 550 Maximum line length exceeded (see RFC 5322 2.1.1). errors. It's hard to say what the other servers mean by 501 5.5.4 Syntax error in BODY parameter but maybe the address the same issue and this fix also resolves those errors. I'll release v0.2.6 later today. Please try it out and let me know if this solves your issues.

Thanks! I bet that will fix it. I've rebuilt my app and deployed it. It sends out ~80 emails per night so I should know by tomorrow. I'll keep you updated.

@chriselkins How did the last batch go? Any further bounces?

I haven't received any bounces this week. I think we're good to go and this issue can be closed. Thanks for taking care of this!

Great to hear that. Closing the issue for now.


Close the menu?

It may be me, but I think <Escape> should close an open menu?
Instead only <Tab> seems to do the job.
Is this intended?

Not really intentional - I agree that Esc should close the menu.
I'll add this to my to-do list :-)

Fixed by d857da2824fe01cf835f80f85f5da371ffaf59e5 - this will be in the next release.


Injecting custom javascript code not working

Describe the bug
I'm trying to change the placeholder value of "Email Address" in the chainlit password login page to "Username".
To Reproduce
Steps to reproduce the behavior:

I created a public/test.js file and wrote the code
document.getElementByID('email').placeholder='Username'

I edited config.toml to specify the custom javascript file

I restarted my application

I still see "Email Address" instead of "Username" in the login form.

@tituslhy if what you wanted is just the changing the placeholder of the input you could it via the translations.
for every project you'll be having .chainlit folder inside the translations folder you can find en-US.json file which will be having the all strings that you see on the UI.
You can change the values of the inputs here itself, but you still be have to access value of the username as email only.

Thanks! But can I check why the JavaScript method didn't work? Was there anything wrong with my steps and code? Just in case I want to incorporate more JavaScript code.

The chainlit application is running on React whereas you're injecting javascript into the HTML template of React, so by the time your custom javascript executed there won't be any element to run the querySelector.
I think the purpose of custom javascript is to inject custom elements or some third-party integrations or so.

I see! In that case how do I do up a spinning wheel icon at the login page just to show the user that my app is in the process of authenticating credentials?


fetch options should be passed on fetching

consider NextJS fetch
const site_data = await fetchSiteMetadata(
  url,
  { next: { revalidate: 30} }
);

we need to pass caching parameter
could you adjust so that in
const response = await fetch(urlString, {
  signal: controller.signal
  ...options
})

we spread options, and in any sub-fetches also

@Edvinas1122 Thank you for using this package! I published v0.2.0 which supports passing fetch options.
caveats
HTTP requests inside the package probe-image-size which fetch-site-metadata depends on are sent by needle package and therefore we can't pass a options. Perhaps I'll work on this problem in future, by forking probe-image-size or write alternative module by myself.


chore(*) bump lua-resty-http

Summary
Bump to a version that does not include a breaking change.
Full changelog

Bump lua-resty-http dependency to 0.10

We will bump this in 0.12 instead. Closing.


examples/environments/demo-instance-fleet/template.yaml: On delete, CloudFormation does not cancel properly Persistent Spot requests

The demo-instance-fleet demo creates Persistent Spot request through a CloudFormation template.
On template delete, the created Spot requests are not removed properly and need currently be cancelled manually.
=> Add a Custom Resource that will call boto3 API and call these resources automatically

Currently, when deinstalling the demo-instance-fleet, the users have to cancel the spot request manually from the console.
Still not sure how to fix this CF behavior. ..

Can't fix yet this minor bug. Will reopen if a solution is identified.


Hotfix: Identifier linking

This PR fixes Identifier handling through out the babel plugin. The reason we want to do this is so that source maps can properly link to the original JSX source, however Babel does not allow us to move JSXIdentifier in places where Identifier is valid. I used babel-plugin-transform-react-jsx as a reference point. The main goal of this PR is to not fallback to t.identifier as much as possible for places where it can be preserved, this allows Babel to know where it moved.
TODO:

[x] component identifier handling
[ ] use:* bindings
[ ] component attributes
[ ] auto-import handling

Notes:

This PR might not involve template/dom handling as string literals are generally not possible to link.

Not handling the templates is perfectly valid; since they are still evaluated by the rendering, this should suffice to measure code coverage.

Okay so I think this is partially good enough. There are some parts of the code that I do not want to touch. I don't even know if there's a trick to map identifier to string literals.

I merged this into Next. It looks good. Minor changes really and stoked to have better sourcemaps.

Thanks! I forgot to target next branch


Feature request: custom cache key

It would be awesome if there was a way to set a custom cache key. For instance in cases where the url is not stable, but we have an ID or Hash of the resource. This would be for cases that involve private assets with URL's that are only valid for a short amount of time.

is this already supported by native libraries?

This feature is essential

@jfrolich FYI I've created https://github.com/DylanVann/react-native-fast-image/pull/934


Backend Not Configured Well

The backend code is although working but is not error safe.
implementing proper status codes or try catch blocks to, encounter exact reason of failure In case of Miss happening.

assign this to me with gssoc24-extd label. I have worked on a similar project and i am sure i can fix this

I'm assigning this issue to both of you. Please improve the code and then submit a detailed PR.
Note- Do not copy paste code directly from any AI tools.

@jinx-vi-0 I have Fixed The Issue kindly verify and merge accordingly


chore: move to v4.5.0-rc1, and merge changes from bump/v4.5.0 branch.

This PR:

bumps to lean-toolchain to v4.5.0-rc1
bumps the Std and Aesop dependencies to their versions using v4.5.0-rc1
merge the already reviewed changes from the bump/v4.5.0 branch

adaptations for leanprover/lean4#2923 in #9011
adaptations for leanprover/lean4#2973 in #9161
adaptations for leanprover/lean4#2964 in #9176

bors d+

bors p=10
bors merge


Fail on invalid scale settings

if your now.json file has the following config:
...
"scale": {
  "sfo1": {
    "min": 2,
    "max": 1
  }
}
...

It should fail since that's an invalid configuration

I wonder if we could do this calculation in zeit/schemas...

I submitted changes into zeit/schemas to address this issue, but it looks like this project doesn't utilize the schemas and imperatively validates provided configs.
What are your thoughts on this? Do you just want to add one more check to the current code or do you think it worths migrating to validation against the schemas?
JSON schemas could enable better now.json editing experience in editors like VS Code, WebStorm and Sublime Text:
VS Code

WebStorm

No problem, that was my initial thought when I saw the announcement, however didn’t have a chance to take a look at the latest code. Absolutely love Now 2.0 👏


Illegal instruction (core dumped) with tf <= that 1.15 and cpu with no AVX instructions

On a Intel Q9659 cpu that does not support AVX instructions, I have a Illegal instruction (core dumped). So I have installed a previous version, but I'm still getting the error.
This Quad core cpu has the following flags
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm pti tpr_shadow vnmi flexpriority dtherm
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm pti tpr_shadow vnmi flexpriority dtherm
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm pti tpr_shadow vnmi flexpriority dtherm
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm pti tpr_shadow vnmi flexpriority dtherm

and
loreto@ombromanto:~$ grep flags -m1 /proc/cpuinfo | cut -d ":" -f 2 | tr '[:upper:]' '[:lower:]' | { read FLAGS; OPT="-march=native"; for flag in $FLAGS; do case "$flag" in "sse4_1" | "sse4_2" | "ssse3" | "fma" | "cx16" | "popcnt" | "avx" | "avx2") OPT+=" -m$flag";; esac; done; MODOPT=${OPT//_/\.}; echo "$MODOPT"; }
-march=native -mssse3 -mcx16 -msse4.1

Here are detailed information about this system:
bash <(curl -s https://raw.githubusercontent.com/tensorflow/tensorflow/master/tools/tf_env_collect.sh) && cat tf_env.txt
== check python ===================================================
python version: 3.7.5
python branch:
python build version: ('default', 'Nov  7 2019 10:50:52')
python compiler version: GCC 8.3.0
python implementation: CPython

== check os platform ===============================================
os: Linux
os kernel version: #46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020
os release version: 5.4.0-42-generic
os platform: Linux-5.4.0-42-generic-x86_64-with-Ubuntu-18.04-bionic
linux distribution: ('Ubuntu', '18.04', 'bionic')
linux os distribution: ('Ubuntu', '18.04', 'bionic')
mac version: ('', ('', '', ''), '')
uname: uname_result(system='Linux', node='ombromanto', release='5.4.0-42-generic', version='#46~18.04.1-Ubuntu SMP Fri Jul 10 07:21:24 UTC 2020', machine='x86_64', processor='x86_64')
architecture: ('64bit', 'ELF')
machine: x86_64

== are we in docker =============================================
No

== compiler =====================================================
c++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

== check pips ===================================================
numpy                1.19.5
protobuf             3.14.0
tensorflow           1.14.0
tensorflow-estimator 1.14.0

== check for virtualenv =========================================
False

== tensorflow import ============================================
...
== env ==========================================================
LD_LIBRARY_PATH is unset
DYLD_LIBRARY_PATH is unset

== nvidia-smi ===================================================
Sun Jan 17 17:33:54 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.32.03    Driver Version: 460.32.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 105...  Off  | 00000000:01:00.0  On |                  N/A |
| 45%   23C    P8    N/A /  75W |    241MiB /  4033MiB |      1%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1053      G   /usr/lib/xorg/Xorg                 16MiB |
|    0   N/A  N/A      1132      G   /usr/bin/gnome-shell               56MiB |
|    0   N/A  N/A      1934      G   /usr/lib/xorg/Xorg                106MiB |
|    0   N/A  N/A      2080      G   /usr/bin/gnome-shell               27MiB |
|    0   N/A  N/A      3447      G   ...AAAAAAAAA= --shared-files       21MiB |
|    0   N/A  N/A      6932      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A      7286      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A     10042      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A     10159      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A     10256      G   /usr/lib/firefox/firefox            1MiB |
+-----------------------------------------------------------------------------+

== cuda libs  ===================================================

== tensorflow installed from info ==================
Name: tensorflow
Version: 1.14.0
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author-email<EMAIL_ADDRESS>License: Apache 2.0
Location: /home/loreto/.venv/lib/python3.7/site-packages
Required-by:

== python version  ==============================================
(major, minor, micro, releaselevel, serial)
(3, 7, 5, 'final', 0)

== bazel version  ===============================================

@loretoparisi,
Starting with v1.6, TensorFlow binaries use AVX instructions. For more information, please take a look at the hardware requirements for TensorFlow.
In this case, as an alternative you can either build TensorFlow from source or use Google Colab. Thanks!

@loretoparisi,
Starting with v1.6, TensorFlow binaries use AVX instructions. For more information, please take a look at the hardware requirements for TensorFlow.
In this case, as an alternative you can either build TensorFlow from source or use Google Colab. Thanks!

@amahendrakar yes I know thank you. The problem here is that with binaries <= 1.5 (check the logs from tf_env_collect.sh) this issue comes out anyways. Why?

@amahendrakar yes I know thank you. The problem here is that with binaries <= 1.5 (check the logs from tf_env_collect.sh) this issue comes out anyways. Why?

== check pips ===================================================
numpy                1.19.5
protobuf             3.14.0
tensorflow           1.14.0
tensorflow-estimator 1.14.0

From the log, I see that you have installed TensorFlow 1.14 which is greater than TensorFlow 1.6. Please take a look at the release history for more information. Thanks!

== check pips ===================================================
numpy                1.19.5
protobuf             3.14.0
tensorflow           1.14.0
tensorflow-estimator 1.14.0

From the log, I see that you have installed TensorFlow 1.14 which is greater than TensorFlow 1.6. Please take a look at the release history for more information. Thanks!

@amahendrakar thank you, my fault. Last question. Is it technically possible to build from sources with bazel and deactivate AVX instructions explicitly?
If so, any guidance?
Thank you so much.

@amahendrakar thank you, my fault. Last question. Is it technically possible to build from sources with bazel and deactivate AVX instructions explicitly?
If so, any guidance?
Thank you so much.

@loretoparisi,
Yes, you can build TensorFlow for machines which do not support AVX instructions.
Please follow this guide to build TensorFlow from source for your machine. Thanks!

@loretoparisi,
Yes, you can build TensorFlow for machines which do not support AVX instructions.
Please follow this guide to build TensorFlow from source for your machine. Thanks!

@amahendrakar thank you for your help! I have followed your suggestion and trying a docker gpu build from sources, but there are some errors while compiling.
Please have a look, thank you!
https://github.com/tensorflow/tensorflow/issues/46845


Adding a new theme - Reply

I would like to add a new material theme "Reply" - Developed using JetPack Compose.

https://github.com/android/compose-samples/pull/276

Thank you very much for the contribution! Unfortunately we will not be able to merge this into the repo as we are not looking to expand the number of samples at this time.
The team is dedicated to maintaining the samples in this repo (we update them every 2 weeks for each new Compose alpha release) and are not looking to expand this work right now. Also, per the contribution guide, it would have been nice to discuss on an issue before submitting this PR.
We're glad that you're excited about Compose and we would love contributions to the existing apps should you like to get involved in the future but adding a whole new sample isn't feasible right now.

Thanks, @nickbutcher .
I will definitely look forward to improve the existing samples :D

Hi @nickbutcher
Is the team open to accepting new themes?
I was thinking to revamp the codebase again?

Hi @nickbutcher ,
I was wondering if your team is ready to accept new themes?
I was hoping to revamp it again as it is very old code 😛


Action with complex model and CancellationToken results in ambiguous binding source inference

In an API controller, if you have an action with both a complex model and a CancellationToken, MVC fails to infer the binding source:

Unable to unambiguously infer binding sources for parameters on 'System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.ActionResult`1[Models.UserModel]] Register(Controllers.RegisterUserModel, System.Threading.CancellationToken)'. More than one parameter may be inferred to bound from body.

It's easy enough to get around it by just setting SuppressInferBindingSourcesForParameters and slapping an explicit [FromBody] attribute on the model parameter, but this seems like a bug/oversight?

Also, BTW, it would be nice if you used TypeNameHelper for those kinds of error messages 😉

There's already a BindingSourceMetadataProvider defined for CancellationToken (and others), marking it as BindingSource.Special.
https://github.com/aspnet/Mvc/blob/fa629cd5e112d89db7cef7374694eb08dbc6bf9c/src/Microsoft.AspNetCore.Mvc.Core/Internal/MvcCoreMvcOptionsSetup.cs#L87
Shouldn't these be considered before trying to infer another binding source?

Ah, I didn't realize that this had been filed before. Yeah, this will fix the first part of #7512, but there are other issues listed there that might need to be addressed as well.

This should be fixed with https://github.com/aspnet/Mvc/commit/c515cece8ed8a39b8163c3ba35024bcc79716ca0

In which version is this supposed to be fixed?
In 2.1-preview2-final with my repro from: https://github.com/aspnet/Mvc/issues/7512
I get  for the Notworking example below (see repro)
[HttpPost]
[Route("NotWorking")]
public Task<IActionResult> Notworking(HelloWorld helloWorld, CancellationToken cancellationToken = default)

{
    IActionResult okResult = new OkResult();
    return Task.FromResult(okResult);
}

the following error message:
Unable to unambiguously infer binding sources for parameters on 'System.Threading.Tasks.Task`1[Microsoft.AspNetCore.Mvc.IActionResult] Notworking(BodyBindingRepro.HelloWorld, System.Threading.CancellationToken)'. More than one parameter may be inferred to bound from body.

If I upgrade to the latest nugets from myget (2.1.0-rc1-30678) I get the following exception:
System.InvalidOperationException: Action 'BodyBindingRepro.TestController.Notworking (BodyBindingRepro)' has more than one parameter that was specified or inferred as bound from request body. Only one parameter per action may be bound from body. Inspect the following parameters, and use 'FromQueryAttribute' to specify bound from query, 'FromRouteAttribute' to specify bound from route, and 'FromBodyAttribute' for parameters to be bound from body:
HelloWorld helloWorld
CancellationToken cancellationToken
   at Microsoft.AspNetCore.Mvc.Internal.ApiBehaviorApplicationModelProvider.InferParameterBindingSources(ActionModel actionModel)
   at Microsoft.AspNetCore.Mvc.Internal.ApiBehaviorApplicationModelProvider.OnProvidersExecuting(ApplicationModelProviderContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.BuildModel()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.GetDescriptors()
   at Microsoft.AspNetCore.Mvc.Internal.ControllerActionDescriptorProvider.OnProvidersExecuting(ActionDescriptorProviderContext context)
   at Microsoft.AspNetCore.Mvc.Internal.ActionDescriptorCollectionProvider.UpdateCollection()
   at Microsoft.AspNetCore.Mvc.Internal.ActionDescriptorCollectionProvider.get_ActionDescriptors()
   at Microsoft.AspNetCore.Mvc.Internal.AttributeRoute.GetTreeRouter()
   at Microsoft.AspNetCore.Mvc.Internal.AttributeRoute.RouteAsync(RouteContext context)
   at Microsoft.AspNetCore.Routing.RouteCollection.<RouteAsync>d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Builder.RouterMiddleware.<Invoke>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Server.IISIntegration.IISMiddleware.<Invoke>d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.<ProcessRequests>d__186`1.MoveNext()

I thought we all agreed that CancellationToken is ignored?

The assets look ok to me, it contains "Microsoft.AspNetCore/2.1.0-rc1-30678"
I zipped it up, the archive contains an output.txt which is the output log window, it shows loading those rc dlls and the exception from above:
BodyBindingRepro.zip
I removed the ref directory from the output, on my system it contains all those rc1 dlls, everything else is included.
What I did was:

Take the repro from the other bug
Add a nuget.config with a myget path
Upgrade Nuget packages for prerelease
Compile (after restoring the packages)
Start in IIS Express
Look at Output Window

You're missing .SetCompatibilityVersion(CompatibilityVersion.Version_2_1); in your Startup:
            var mvcBuilder = services.AddMvcCore(config =>
            {
            })
            .SetCompatibilityVersion(CompatibilityVersion.Version_2_1);

Thank you very much. It works now.
Still I find it weird that the new [ApiController] feature needs that one to work properly, but I understand it's a change to the 2.0 behaviour. Sorry for the trouble.

It's a bit unfortunate, but the right fix for the underlying issue affects all controllers, including non-ApiController ones. It's a change in behavior and hence guarded behind a compat switch.

Hello, I need help regarding Microsoft.AspNetCore.Mvc.Internal.ApiBehaviorApplicationModelProvider.InferParameterBindingSources(ActionModel actionModel).
Currently, I have this situation:

What am I doing wrong?

What am I doing wrong?

Did you annotate your controller with the [ApiController] Attribute?

Yes, please take a look:

Your method has multiple complex types (atleast from the type names) as parameters, as the error message tells you, you can only have on in the body.
You need to decide which one and pass everything else in as [FromQuery] or remove them.
If it is a new API and not an existing one, I highly recommend rethinking the behaviour of passing multiple complex into it.

Hi, it looks like you are posting on a closed issue/PR/commit!
We're very likely to lose track of your bug/feedback/question unless you:

Open a new issue
Explain very clearly what you need help with
If you think you have found a bug, include detailed repro steps so that we can investigate the problem

Thanks!


add borsh support of serialize/deserialze behind borsh gate (solana, no_std)

Could you please elaborate? What is the borsh and why bounded-vec should support it.

https://borsh.io/ , it is serde . serde is feature in route crate

will add when ported to solana/near


Bump rule versions to enable building with Bazel 0.23.

The v0.0.11 prmonitor code doesn't build with recent Bazel
versions; updating rules seems to have helped.
Signed-off-by: Milan Plzik<EMAIL_ADDRESS>

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks for the contribution!


Stops at point rewards

Before opening an issue:

[x] I tested the latest release
[x] I looked at other issues (even the closed ones)
[x] I read the Troubleshooting Guide
[x] I'll fill this template properly

It took a while for it to actually click the continue on quest drops however on the point rewards, it just stop there (not sure if it would also continue after a while).
Device Info:

Device model: Realme 5 Pro
Screen size: 1080 x 2340
Android Version: 10
RAM: 8 GB

I'll be uploading the video, I think the file size is too big

https://user-images.githubusercontent.com/71634408/108038377-b8de6800-7075-11eb-9285-c87605a405d2.mp4
I also forgot to add that I'm playing on JP server.

@jesaes People usually upload to Youtube or Streamable.

@reconman welp I made it work so there's that I guess..

Does this happen when Debug mode is OFF?
Too many boxes around that text might be messing with image matching. 🤔

Haven't really tried that yet, will do

Turned off the debug mode and it now works properly. Thank you very much!

I'll push a proper fix for this in a few hours.


Fixed #481

Updated use-dep-version to process the parent version when specified
Fixes https://github.com/mojohaus/versions-maven-plugin/issues/481

I think this PR Is obsolete after #813
@slachiewicz please close :)


cmd/compile: duplicate error on int("1") bad cast

$ gotip version
go version devel +b4dd1d965d Sun Jun 25 15:57:18 2017 +0000 linux/amd64

The following
package p

var _ = int("1")

prints (in go1.6, go1.7, go1.8 and go1.9beta2)
./prova.go:3:12: cannot convert "1" to type int
./prova.go:3:12: cannot convert "1" (type string) to type int

Printing the same error message two times is unnecessary. Note that []int("a") (and variations) only print one.

Can I have a go at this?

@kshvmdn, always. No need to ask.

@bradfitz cool, thanks!
@ALTree for the record, this is effecting more than just int casts (re: issue title):
func main() {
	var _ = bool(0)
	var _ = bool("false")
	var _ = int(false)
	var _ = string(true)
}

$ go run main.go
./main.go:4: cannot convert 0 to type bool
./main.go:4: cannot convert 0 (type int) to type bool
./main.go:5: cannot convert "false" to type bool
./main.go:5: cannot convert "false" (type string) to type bool
./main.go:6: cannot convert false to type int
./main.go:6: cannot convert false (type bool) to type int
./main.go:7: cannot convert true to type string
./main.go:7: cannot convert true (type bool) to type string

/cc @griesemer @mdempsky for awareness during Go1.10.


Add repository.json

Add repository configuration per https://github.com/home-assistant/developers.home-assistant/blob/930ec445f61da4099c7de1f787028f41cdf7e8cb/docs/add-ons/repository.md
Fixes the error encountered when attempting to add repository.

Thanks. However, this is not an add-on and cannot be installed that way. We must be added via HACS as a custom integration.

Worth a shot. 😄  It might be beneficial to add instructions to the readme on adding the custom integration repository.  My Googling seemed to indicate that adding integration repositories isn't in the UI anymore. :(

The readme already has those instructions. It's step 1.

Step one only indicates to add it as a custom repository:
Use HACS after adding this https://github.com/alandtse/tesla as a custom repository.
For give my ignorance.  But I can't seem to locate how to add it.  I found https://community.home-assistant.io/t/hacs-add-custom-repository-in-settings/209574/14 but the workaround doesn't seem to work.


Add vesting wallet contracts

Description
Vesting can be a good feature to add to strengthen thirdweb's governance product suite. I included some very simple and bare-bone implementations of vesting contracts to open up a discussion.
How does vesting work?
Basically, one would specify a startTimestamp, from which the beneficiary is eligible to receive payouts. The period between now and startTimestamp is what people usually refer to as the "cliff".
After the cliff, the beneficiary will be able to receive tokens at an interval and an amount-per-interval defined by the contract logic.

Source: Building a Token Vesting Contract
OpenZeppelin's default implementation for vesting logic is a linear function with respect to the amount of time passed since startTimestamp and the total amount of tokens in the vesting contract.
    function _vestingSchedule(uint256 totalAllocation, uint64 timestamp) internal view virtual returns (uint256) {
        if (timestamp < start()) {
            return 0;
        } else if (timestamp > start() + duration()) {
            return totalAllocation;
        } else {
            return (totalAllocation * (timestamp - start())) / duration();
        }
    }

Of course, we can give users the ability to design their own vesting logics.
Usage (Illustrative)
The VestingFactory is used to produce and deploy empty wallets (contracts) based on some base implementation, VestingBase, by calling a factory method createVestingSchedule. Arguments needed to pass in are:

address _beneficiaryAddress: the address of the account entitled to vesting
uint64 _startTimestamp: when does vesting begin
uint64 _durationSeconds: how long does it take to fully vest

The following pseudocode illustrate how to deploy and effectuate a vesting wallet.
var erc20Token = deploy(Token);
var factory = deploy(VestingFactory);
var wallet = factory.createVestingSchedule(beneficiaryAddress, startTimestamp, durationSeconds);

await erc20Token.transfer(wallet, amount);

for (every month; up until startTimestamp + durationSeconds) {
    wallet.release();
}

Note that if we want to set an automatic release schedule on-chain, we'd need an Oracle solution.
Epilogue
There are lots of creative use cases for vesting. And I think if we can develop a set of SDKs to allow clients easily create and customize vesting, then thirdweb can attract more organizational users like large DAOs.
A robust governance product offering also paves the road for DeFi SDK offerings, if that's on the roadmap.

hey @GoodluckH could you join our discord https://discord.gg/thirdweb and ping me, jakel#0001.
we'll setup a channel to talk over some of this stuffs :)


adding @login_required to resolvers prevents people logged in from accessing

I setup a "me" query to test authentication. the query doesn't work when adding the token to the header, I'm using Insomnia and I don't know how to fix it.
although with insomnia I'm able to verify and acquire token with the correct credentials

@Quickinline What was the issue and how it is resolved?

the issue was that adding my authentication token to the header didn't grant me access to @login_required queries.
turns out I had a duplicate GRAPHENE dictionnary in my settings.py
the second one didn't have the middleware in it's parameters so the middleware never executed at the first place


How to control the thickness of the pie chart

Did you get any solution to control the thickness of the pie chart. ??

Originally posted by @4nkitpatel in https://github.com/imaNNeo/fl_chart/issues/179#issuecomment-860190250
Hi,
I'm opening this issue because I cannot figure out how to control the thickness of the pie chart. It seems that when creating a pie chart inside of a small container, you cannot control the space in the center of the pie chart. You could use the centerSpaceRadius but it just makes the pie chart bigger and overflow off the container.
How can I control the thickness of the pie chart so that it looks more like this ?
 (this screenshot is taken from the pie_chart library)
Thank you

https://www.youtube.com/watch?v=Wa0L9iYkSjc

There is no direct thickness function. But you can achieve that by changing centerSpaceRadius and  sections.radius properties.
Take a look at the below sample (source code is here):
https://user-images.githubusercontent.com/7009300/269442420-9bae713a-043f-486d-85bd-b078450225ed.mov


add tcp close attribution

Hi, I add a tcp close attribution to flowsynth.

Looks good to me, what do you say @whartond


Decouple settings/configstore from GitHub module

Separate Config to a separate module so it can be used by other powershell modules. Implementation pattern should be provided for including it on new modules.

Work in progress, check the Store repo.

Decoupling complete. Store is now a separate module that has 3 functions that lets other modules interact with the var and secret stores. However these are purely PS 7.0 compatible.


Autoload fix + better autoloading logging [wip]

Tested in MVC application. Otherwise we got
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\....

as starting path (and every .dll in a different folder)

Closes https://github.com/NLog/NLog.Web/issues/4

This is done, but maybe we should check if this also works under differrent situations (Windows.forms, unit test, class lib etc)

I think we should this this with a local nuget package (not on nuget.org yet).
If someone can try test this also, that would be great

Still not fully working. Assembly path is correct, but target not found

@304NotModified what is left in this, I'm totally confused about tie problems right know as part of it is here and some in NLog/Nlog.Web#4

I could image it was confusing ;)
One thread was about loading nlog.web, and the other about auto loading. Those are separate things. But I think after all the NLog.web loading issue has been caused by the not-working auto loading, so this fix would solve it.
But I'm not sure of this works on every situation. We need to test this on other machines and under different situations (Windows forms, class library etc)

Status: done but needs some more testing.

Tested by @Xharze and me :)


Generate images directly

Update test scripts to directly generate images shown in readme.  MatLab makes it tricky to get a transparent background png, but I think I can trick imwrite to do this.
Ideally, we'd upload the images to a gist as part of the CI process.

Tried generated images as part of CI workflow in GitHub Actions, but image quality was poor.  Moved back to generating images locally, but I did automate it with make_graphics.m.
8731062d40d3debf1a32579087cd2af70880f9f1


Package Aria Templates with the ATFillCache builder

This pull request changes the format in which Aria Templates is packaged. Instead of using the previous ATMultipart format (which does not allow packages to be evaluated in a script tag), it is now using the ATFillCache format (cf this commit in atpackager) which fills the cache when packages are directly evaluated in a script tag.

LGTM :ok:


Further reading and Module Identifiers sections in Caching guide are out of date

See:
https://webpack.js.org/guides/caching/#conclusion
All the links talk about webpack 2 or webpack 3.

Module identifiers is also out of date. It uses CommonsChunkPlugin in the configuration:
https://webpack.js.org/guides/caching/#module-identifiers

Yeap this needs a good cleanup and update, up for a pr or should i grab it @kasperpeulen

@EugeneHlushko I don't think I'm the good candidate for the PR, because I don't have much knowledge on this topic.
The reason I post this is because I was searching for more "Further Reading" on this topic and I could not find it, I could just remove "Further Reading" section of course.
About the Module Identifiers, would removing the CommonsChunkPlugin references and replacing it with a webpack 4 configuration using optimization.splitChuncks be sufficient?

Yes i already did that for Extracting boilerplate section above so you could take that as a reference. Also you would need to re-run the demo project with latest webpack after you've up with configs and update output log(s). I would also ask to state at least one sentence why each of the item is getting deleted in the PR so everyone could have an idea without investigation. If you feel more comfortable with just removing the outdated referenced read pelase do so and i can follow up with the section refactor in other PR.

Hi! I'm willing to help, and this looks like a good first issue!
To recap, after I downloaded and ran the demo project in local, i should:

Rerun the latest webpack and update the logs.
Remove the outdated references
In the PR, justify why things are getting removed.
anything else?

Thanks 😄

Does it mean that Module Identifiers are no longer part of webpack?


createIndex() call after dropIndex() is not creating persistent index data

dropIndex() call is deleting the index meta map and createIndex() call should create the index meta map before creating an index.

Also, please note that empty strings ("") against the find method will also cause the same error as above:
org.dizitart.no2.exceptions.IndexingException: NO2.5001: name is not indexed