New EBS config parameter for using larger device ranges

This proposed change has been previously discussed on these issues:

Device attachment issues: #773
Proposed change to modify device range from /dev/xvd[f-p] to /dev/xvd[b-c][a-z]: https://github.com/codedellemc/libstorage/pull/598

I've now rebased the libstorage-specific change to the current REX-Ray master, since libstorage will be merged into this project. This change is targeted to the next REX-Ray version, which will be 0.10. Large device range has been introduced as a EBS configuration parameter useLargeDeviceRange which is false by default.
In order to workaround possible ghost device issues the device namespace is now iterated in a random order. This affects default behaviour as well.
In order to test this change both server and client-side re-configuration is required. Server configuration (in terms of EBS) should look like this:
ebs:
  accessKey:      foo
  secretKey:      bar
  region:         us-east-1
  maxRetries: 10
  statusTimeout: 240s
  statusInitialDelay: 50ms
  statusMaxAttempts: 10
  useLargeDeviceRange: true

Client configuration:
ebs:
  useLargeDeviceRange: true

Pre-built binary for amd64 architecture is available here: https://github.com/vtorhonen/rexray/releases/tag/v0.10.0-lds
Let me know if there's anything to fix/add.

 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.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #996   +/-   ##
=======================================
  Coverage   34.11%   34.11%
=======================================
  Files          36       36
  Lines        2896     2896
=======================================
  Hits          988      988
  Misses       1806     1806
  Partials      102      102

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 78e95e6...ed91d56. Read the comment docs.


CVE-2023-31484, CVE-2023-2953, CVE-2023-50387

Hello,
We are using memcached:1.6.26 and a recent security scan has picked up the following:
CVE-2023-31484

CPAN.pm before 2.35 does not verify TLS certificates when downloading distributions over HTTPS.
Scanner found in memcached package: "perl" version 5.36.0
CPAN.pm was upgraded to version 2.36 in perl version 5.39.0

https://github.com/Perl/perl5/commit/96ea0b9b6169d72ff9a79b49e89d58bbf4f61620

CVE-2023-2953

A vulnerability was found in openldap. This security flaw causes a null pointer dereference in ber_memalloc_x() function.
Scanner found in memcached package: "openldap" version 2.5.13
Seems as if this issue was fixed in this bug report

https://bugs.openldap.org/show_bug.cgi?id=9904

CVE-2023-50387

Certain DNSSEC aspects of the DNS protocol (in RFC 4035 and related RFCs) allow remote attackers to cause a denial of service (CPU consumption) via one or more DNSSEC responses when there is a zone with many DNSKEY and RRSIG records, aka the "KeyTrap" issue. The protocol specification implies that an algorithm must evaluate all combinations of DNSKEY and RRSIG records.
Scanner found in memcached package: "systemd" version 252.22-1
This vulnerability was resolved in later versions listed here

https://github.com/systemd/systemd/issues/31413

Would it be possible to update these package versions in order to remove the vulnerabilities?
Thank you

Hi. I have no idea what memcached:1.6.26 is - where are you getting this and what is it? Docker maybe? The docker image should have contact info about the actual maintainers. We don't provide any prebuilt images here.

Hi. I have no idea what memcached:1.6.26 is - where are you getting this and what is it? Docker maybe? The docker image should have contact info about the actual maintainers. We don't provide any prebuilt images here.

We are pulling the memcached docker image from this bitnami repo here. Does this not just pull the release tags from this github repository, to where memcached:1.6.26 in bitnami is the same as the github release tag 1.6.26? I have also raised an issue with the bitnami maintainers.

This repo is just the source code to the memcached binary. all of the CVE's you listed are for OS dependencies, which aren't connected to memcached at all. that's all an artifact of whomever built the image.


Publish AS documentation

It would be helpful if the AS documentation were published somewhere. The Rust documentation is available at https://docs.rs/wasi-nn but I don't think there's a similar tool for AS/JS. One option would be to generate the documentation and publish it with GitHub pages.

I added some docs with https://github.com/bytecodealliance/wasi-nn/pull/54


[deploy]Modified public dependent lib is introduced through classPath

Is your feature request related to a problem? Please describe.
The current common modules are copied to various services, which leads to troublesome operation and maintenance. Modifying a functional module will cause each service to be copied again.
Describe the solution you'd like

Modify the startup script of the service and add the classpath to specify the module directory
Modify the installation script, remove the copy part of the code

Describe alternatives you've considered
None.
Additional context
None.

thanks  it is fixed in #405


Is there a way to modify the logLevel of the application.

I have a quick question here.
Can we modify the log level so that the application prints out only logs based on the desired log level.
Please let me know.
Thanks
Sri

Just now noticed this in source code.
logLevel = kingpin.Flag("log.level",
"Sets the loglevel. Valid levels are debug, info, warn, error").
This should fulfil my requirment.


[Sema] Diagnose unsound pointer conversions

(This is an updated version of https://github.com/apple/swift/pull/20467)
In this PR is the logic to emit a diagnostic for unsound array-to-pointer, string-to-pointer, and inout-to-pointer conversions. This is done through the introduction of an underscored attribute @_nonEphemeral that denotes a pointer parameter which cannot accept pointer conversions that are only valid for the duration of the call they're passed to.
This includes all array-to-pointer and string-to-pointer conversions, and most inout-to-pointer conversions with the exception of:

Global and static variables
Stored properties on such variables that are accessed directly (e.g excluding ones with property observers, ones on classes, protocols, and resilient types in general)
Force unwraps of any of the above

Various pointer parameters in the stdlib have been marked as @_nonEphemeral, primarily pointer parameters for initialisers on pointer types. In addition, this PR infers @_nonEphemeral on pointer parameters for memberwise initialisers and enum case constructors.
By default, the diagnostic emitted will be warning. I have added a frontend flag to allow upgrading to an error, and hopefully this will allow us to transition to an error by default in a future language version.
Resolves SR-2790.

Given how large this PR is, I've split off the commits that can be landed separately with no intended functionality change: #27696. Once that has been landed, I can further peel off the main @_nonEphemeral implementation, leaving this PR with just the stdlib + @_nonEphemeral inference changes (last 2 commits).

@swift-ci please test

@swift-ci please test source compatibility

Build failed
Swift Test Linux Platform
Git Sha - 6e6b044f4b31bfa8ea74528bc00412945f2c2929

Build failed
Swift Test OS X Platform
Git Sha - 6e6b044f4b31bfa8ea74528bc00412945f2c2929

@swift-ci please test

@swift-ci please test

I've peeled off the @_nonEphemeral implementation into https://github.com/apple/swift/pull/27705.

Build failed
Swift Test Linux Platform
Git Sha - 75184a074c8cd97bed48942a0044b4f8cf1587fc

@swift-ci please smoke test

@swift-ci please smoke test

FWIW, this is essentially an escape analysis and @_nonEphemeral is essentially @escaping applied to pointers.

@rjmccall Yup, I wanted to keep this distinct from @escaping for a couple of reasons:

Given this isn't an official feature, I wanted to make sure the attribute was non-user-facing, so we don't expose it in things like code completion or allow the user to start marking their pointer parameters as @escaping. I also wanted to make sure this attribute doesn't get considered in things like name mangling so it doesn't affect ABI.

@_nonEphemeral can currently be used to mark other kinds of pointer parameters that don't escape the pointer passed, but still shouldn't accept temporary pointer conversions. For example, one such parameter in this PR is:
moveInitialize(@_nonEphemeral from source: UnsafeMutablePointer, count: Int)

as passing a temporary pointer conversion here could lead to over releasing the pointee.

As you say, I don't think we intend to build a fully safe pointer model. In particular, applying the same restrictions as non-escaping function parameters to pointer parameter would almost certainly be too source breaking.

@atrick Thanks for the review! It would be great to see this combined with a SIL pass to diagnose more tricky cases, and I'd certainly be happy to look into that as a potential follow-up :)

I hope we can turn the diagnostics into errors in the release after next. Should we have a bug for that?

Sure thing, I'll file one after this gets merged.

I am curious though... is it necessary for the precision of these diagnostics to be part of the constraint system? I don't see why it would be. In fact, it I seems to me that we do not want pointer lifetime mistakes to affect overload resolution. If I'm missing something, please clarify.

It's not entirely necessary for this to be a part of the constraint system, though it does allow us to emit better diagnostics for things like ambiguities, where we can inform the user that none of the candidates are viable because they don't accept temporary pointer conversions.
It will also allow for composition with other constraint system diagnostics, so we can tell the user earlier that what they're trying to do is invalid. Unfortunately this doesn't work so well at the moment as we discard additional fixes with the same locator, but eventually it would be nice to emit a temporary pointer error on the following along with an optional unwrap error:
func foo() {
  var x: Int?
  let ptr = UnsafePointer<Int>(&x)
}

I do agree that ideally @_nonEphemeral probably shouldn't affect overload resolution, though I don't think this should be a major issue in practice. One slight benefit is that it can help uncover declarations that should have been marked @_nonEphemeral in the first place.

If @xedin and @jrose-apple are also happy to review this as a whole, then I'll close https://github.com/apple/swift/pull/27705.

@jrose-apple Thanks for the review! I'll go ahead and make those changes. Note that @xedin has reviewed the constraint system parts of this over on https://github.com/apple/swift/pull/27705.
Regarding the fact that @_nonEphemeral affects overload resolution, I guess one simple solution would to change the TreatEphemeralAsNonEphemeral fix such that it doesn't affect the SK_Fix score of the solution (like warning fixes currently do, but we'd then emit an error). This would allow us to benefit from composition with other constraint system diagnostics without affecting overload resolution. Does this sound reasonable @xedin?

Thanks again everyone for the review! I've gone ahead and changed things such the diagnostic no longer affects overload resolution. I've also rebased to resolve a bunch of merge conflicts.
If possible I'd like to keep this logic a part of the constraint system, as it's much easier to detect and attach a fix there when evaluating the various X-to-pointer conversions rather than attempting to traverse the AST in MiscDiagnostics.

@swift-ci please test

@swift-ci please test source compatibility

@swift-ci please test

@swift-ci please test source compatibility

I still think it doesn't make sense for this to be in the constraint system at all, but I think I'm outvoted.

I can't talk about SIL diagnostics but I'm hopping that we can remove MiscDiagnostics and instead make that logic be a part of constraint system represented by fixes. Current behavior where solver would produce a solution which can't either be applied to an AST or lowered doesn't really make much sense to me...
I mentioned in one of my previous comments that I don't really like the idea of adding new attribute easier and we ought to detect this somehow differently maybe in SIL diagnostics?

Build failed
Swift Test OS X Platform
Git Sha - 01c4c096cd52568a1755dc07d9669fb41a4328bf

It may be possible to re-implement this as a SIL diagnostic, and I'd be happy to look into doing that while looking into @atrick's idea of implementing a data flow diagnostic to catch more cases of unsound temporary pointer escapes. I'm not sure we'd be able to completely do away with the attribute though for cross-module cases where we can't see the implementation of the callee so don't know if they're immediately escaping the passed pointer or not.

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 01c4c096cd52568a1755dc07d9669fb41a4328bf

@swift-ci please test OS X platform

@swift-ci please test OS X platform

@swift-ci please test OS X platform

Build failed
Swift Test OS X Platform
Git Sha - 01c4c096cd52568a1755dc07d9669fb41a4328bf

The thing I like about MiscDiagnostics is that it's not mixed up with deciding how a program behaves. The ConstraintSystem decides what the user said, and MiscDiagnostics figures out whether it's actually what they meant or actually allowed. You could sink all of that down to SIL, I guess, but I'm not sure what benefit you'd get.
In my head, MiscDiagnostics would ideally be a pluggable visitor the way SIL optimizer passes are pluggable; if you have an expression-level diagnostic, you just add it to the visitor. Then the visitor does a single walk of the AST. (I might be biased by my static analyzer past; the analyzer's "checkers" work a lot like this.)

The purpose of sinking the diagnostic into SIL is to leverage being able to infer @nonEphemeral via an escape analysis of the pointer value.

Hamish is right: non-ephemerality is a property of the function even as the body changes, so it can't be inferred from the body. (In particular, if a function happens to not escape a pointer today, it should still be able to reserve the privilege to do so.)

When @nonEphemeral is used as an API annotation I don't see an advantage of diagnosing it in SIL. I do like the idea that the diagnostic provably cannot affecting type resolution in any other way.

Just rebased to resolve a merge conflict. @xedin @atrick if it's okay with you, I'd like to get this merged sometime Monday so we can get this into 5.2. I'm more than happy to make any further changes and cherry-pick to 5.2 if needed.

@swift-ci please test

Build failed
Swift Test Linux Platform
Git Sha - 9b09611d927bd3195e35d3a87243d3e6683c6d43

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - 9b09611d927bd3195e35d3a87243d3e6683c6d43

@swift-ci please test Linux platform

Build failed
Swift Test Linux Platform
Git Sha - 65dda6d9453a8957a2ddd4406519e52ca1868760

@swift-ci please test Linux platform

@hamishknight I'm fine with this, go ahead and merge.

@swift-ci please smoke test

@swift-ci please smoke test

I checked, and @atrick is also happy for this to be merged.

Thanks everyone! I'll work on adding argument labels to the diagnostics, as well as a changelog entry as follow-ups.


Clearer Install Instructions, Including for existing EKS Clusters

Description
How can the docs be improved?
While trying to install Karpenter in a recently created EKS cluster, I'm finding conflicting installation instructions that I feel could be better clarified as I'm have to reference multiple guides just to install Karpenter and I'm unsure what is correct and still valid.

Currently, there are only two sets of instructions provided on how to install Karpenter, Getting Started with Karpenter and Migrating from Cluster Autoscaler. However, I'm just trying to install Karpenter on an existing EKS cluster where Cluster Autoscaler has never been installed. The Getting Started with Karpenter guide won't work as it assumes you are creating a new cluster from scratch and the eksctl command provided will fail if the cluster already exits. That leaves the Migrating from Cluster Autoscaler guide, which seems counter as I'm not migrating away from Cluster Autoscaler.
Step 6 of the v1 Migration Upgrade Procedure Guide references # Service account annotation can be dropped when using pod identity; however, neither of the Getting Started guides references this and still directs you to use/update the aws-auth ConfigMap. This should be included in Getting Started as this can be setup from the start and doesn't require an upgrade to implement (3. Create a Cluster and Update aws-auth ConfigMap).
Getting Started with Karpenter | Deploy Karpenter only provides guidance on installing Karpenter by making a local copy of the Karpenter Manifest and modifying it to specify an existing NodeGroup to use. Uncertain why there are no instructions on how to also install Karpenter using Helm like Getting Started with Karpenter | Install Karpenter; and an alternative method to use a Fargate Profile instead of existing NodeGroup if there aren't any. I also noticed the following kubectl create commands are failing on a new 1.31 EKS cluster as the resources already exist so they can't be created again:

kubectl create -f \
    "https://raw.githubusercontent.com/aws/karpenter-provider-aws/v${KARPENTER_VERSION}/pkg/apis/crds/karpenter.sh_nodepools.yaml"
kubectl create -f \
    "https://raw.githubusercontent.com/aws/karpenter-provider-aws/v${KARPENTER_VERSION}/pkg/apis/crds/karpenter.k8s.aws_ec2nodeclasses.yaml"
kubectl create -f \
    "https://raw.githubusercontent.com/aws/karpenter-provider-aws/v${KARPENTER_VERSION}/pkg/apis/crds/karpenter.sh_nodeclaims.yaml"

I instead ran them as kubectl apply to update the existing resources as I'm unable to validate what versions are included with EKS 1.31 by default.

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

@antmatts We'd love help getting our docs more up-to-date. In general, given the issues that come in and the features that we are working on, it's tough for us to keep-up with it all. We'd love help making our docs clearer so if you have something that you want to propose a change for, I'd recommend opening a PR!

@jonathan-innis I've been fighting to get this setup on an existing cluster, but finally got it working. Making some notes and can help put something together. Just to confirm, what do you mean by PR in this context?


for Solaris packages 'candidate_version' doesn't have the same kind of protection as 'load_current_resource'

in chef/lib/chef/provider/package/solaris.rb, the candidate_version method should have the same kind of checks as load_current_resource:
 if @new_resource.source
            @package_source_found =<EMAIL_ADDRESS>
Failing to do so (or a similar check), results in the failed invocation of pkginfo -l -d without a source.
To reproduce this, you can check the ant cookbook for a solaris box.

So is the use case here that there is no file but its installed, so we should be able to behave idempotently and do nothing since its already installed?

Let me see if I remember and it makes sense: if the Solaris package provider is used, but no 'source' attribute is specified (as it is optional), the following was failing:
status = shell_out_with_timeout("pkginfo -l -d<EMAIL_ADDRESS>#{new_resource.package_name}")
, when trying to obtain the 'candidate_version'.
I don't recall the rest of the details because since then I moved to use 'pkgutil_package', so maybe my recipe was using 'package' the wrong way and 'source' wasn't meant to be optional.


Script doesn't start Node

root@HomeKitPi:~# /etc/init.d/node-app start
Node app stopped, but pid file exists
I looked at issue #17, and I am using the latest version which includes the change to line 45, but for some reason it still doesn't work

Can someone explain what is happening in line 53 ?

PORT="$PORT" NODE_ENV="$NODE_ENV" NODE_CONFIG_DIR="$CONFIG_DIR" $NODE_EXEC "$APP_DIR/$NODE_APP"  1>"$LOG_FILE" 2>&1 &
Its setting some environment variables: PORT, NODE_ENV, NODE_CONFIG_DIG and then calling the script (typically /usr/local/bin/node (NODE_EXEC) and passing it your app file. It also redirects stderr and stdout to a log file.

@Vispercept Thanks for your hint. I'm using raspbian and replacing NODE_EXEC=$(which node) with NODE_EXEC="/usr/local/bin/node" worked for me.

In the line 45 ,  should the ! sign be there ? If I understand correctly you are checking if the process exists or not in the [ ... ] . Why put a ! outside it ?
! [ -z "$(ps aux | awk '{print $2}' | grep "^$PID$")" ]

@ravisg Yes, the ! should be there.
The ps aux...awk...grep part checks to see if the process' saved PID is found in the list of running processes.
The -z checks to see if the result of that check is null/empty.
The ! negates that check, making it effectively check that a matching PID is not null/empty. Which is the same as checking if it's running.
Does that make sense? Or am I crazy/wrong?

@ianpgall - You are right , sorry :)

@ravisg No worries, I wanted to make sure I understood it correctly too (I didn't write it originally).

Hello, I am still getting the "Node app stopped, but pid file exists" message.
I tried to use --force and change the  NODE_EXEC path as stated above but it doesn't seem to be working out for me. Is it possible that my issue is related to the fact that the app is usually ran using sudo node app.js ?


Add pkg_path to osquery.install

Hi!
The osquery.install recipe did not have a pkg_path key, and was therefore failing. Added and tested fine.
Cheers,
Andrew

this one has conflicts, merged #61


Fix service locator services for OSGI

Impact

[X] Bug fix (non-breaking change which fixes expected existing functionality)
[ ] Enhancement/New feature (adds functionality without impacting existing logic)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Description

Things to be aware of

Things to worry about

Additional Context

@yairogen @npreisner  previous PR #5143 broke some other functionalities that we have on pro that rely on the old allInstance empty behavior. So I created this PR that explicit checks for OSGI platform before reloading everything from serviceLocator. Could you please test it again?
<dependency>
  <groupId>org.liquibase</groupId>
  <artifactId>liquibase-core</artifactId>
  <version>fix-osgi-fix-SNAPSHOT</version>
</dependency>


Logsbloom field is zero

Logsbloom field is zero in responses of eth_getTransactionReceipt, and for transactions in array in responses eth_getBlockByNumber, eth_getBlockByHash. Logsbloom can be used for indexing (for Blockscout for example). This is why it should be present for both - blocks and transactions.

from https://cloudwalk.slack.com/archives/C066PLE20AC/p1718381466996999

and for transactions in array in responses eth_getBlockByNumber, eth_getBlockByHash
Since substrate also does not return the individual transaction's LogsBloom in the transactions array returned by those methods I think this is a non-issue.

As for the issue of eth_getTransactionReceipt not returning the correct transaction's LogsBloom, ideally we'd fix this when saving the transaction, but this is can only be done once we have data versioning on rocksdb. Until we could compute the logsbloom when returning the receipt every time.


Terms used in other specifications are transparent

As an example in https://aomediacodec.github.io/av1-avif/#index-defined-elsewhere, in dark mode, the text is black on black in dark mode:

or white on white in light mode:

This seems to be due to this code:

If it helps, this is hte code where it is set: https://github.com/tabatkins/bikeshed/blob/7f0747e0af3ffcc9b03d52b9e3753dcb305492ee/bikeshed/spec-data/readonly/boilerplate/stylesheet.include#L1269
Simply removing the line seems to fix it but I'm not sure of the side effects.

Huh, I thought I'd fixed that ages ago, but nope, it was definitely still there. Fixed in https://github.com/tabatkins/bikeshed-boilerplate/commit/2430db035613629023b4938857c57329b675439c


[Kernel] Explicitly specify other value in tl.load calls

According to Triton's user documentation, using a mask with tl.load will not load the data specified by the mask. If other is not specified, there is no guarantee that the values affected by the mask will be valid (could be nan in theory). It would be a good idea to explicitly specify the other value in all masked tl.load calls to avoid potential propagation of nan values. This is in accordance with Triton's documentation.

Sorry I believe the other argument changes the return value of tl.load? With a mask, if other is None, the returned value if all elements where mask is true. If other is 0, the returned value is the same shape as the original tensor with others set to 0.

Sorry I believe the other argument changes the return value of tl.load? With a mask, if other is None, the returned value if all elements where mask is true. If other is 0, the returned value is the same shape as the original tensor with others set to 0.

Not sure if I understand what you meant but if other is 0, then the returned tensor will have the masked values set to 0. If other is set to None, there is no guarantee what values will be present in the masked areas of the returned tensor. It's possible that this can include nans and infinities, which can cause problems later if it propagates through future computations. I think we should prevent that by always setting the other value.

Can you demonstrate this issue with a sample program?

Can you demonstrate this issue with a sample program?

I don't have a program to reproduce undefined behaviors, so this change is really just for future proofing and it's generally good programming practice to follow the guidelines of the Triton documentation.

I like the spirit of this PR, but agree that @LucasWilkinson's concerns are valid.
If we do go this route: is there a way to lint against authors forgetting to set other in future kernels?

Sorry for the very late response. Unfortunately I don't know any easy way to lint for setting other explicitly. However, I still think this is a good change to make even if it's just for existing code.
I will update the PR to address @LucasWilkinson's comments.

This PR is ready for review again.
If the lack of future linting makes this change significantly less appealing, then merging this change is not very important since it doesn't break anything as of now.

Looks like the ci-aws checks failed. They don't look related to my change. Is there a way to re-run the CI checks?

@angusYuhao Just re-ran the tests. We can ask for a force merge if they still fail!

@angusYuhao Just re-ran the tests. We can ask for a force merge if they still fail!

Yeah looks like they failed again


Add args forwarding specs

Related to #745.
This is a basic args forwarding spec (extracted from ruby-next).
I tried to add a spec for brackets-less case like this:
it "treats arguments as Range when brackets are ommitted" do
  a = Class.new(F)
  a.class_eval(<<-RUBY)
      def delegate(...)
        target ...
      end
   RUBY

   # this passes
   a.new.delegate(1, b: 2).should == [[], {}]
end

But I'm not sure why the result is empty (testing in 2.7.0)? Shouldn't there be a beginless-endless range?

Re the parentheses-less version, I see this:
class F
  def target(*args, **kwargs)
    [args, kwargs]
  end
end

a = Class.new(F)
a.class_eval(<<-RUBY)
def delegate(...)
  target ...
end
RUBY

p a.new.delegate(1, b: 2)
# => [[], {}]...

So it's the same as target()....
That would be good to spec, yes.

Thanks for the review! Pushed the updated version.


ERROR: affine_invert: Condition ' det == 0 ' is true.

Godot version:
3.1.1

OS/device including version:
Android 8.0

Issue description:
Everything works fine, but im seeing a few errors pop up on the godot console:
Not sure whats causing it, anyone know a fix?
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51
ERROR: affine_invert: Condition ' det == 0 ' is true.
At: core/math/transform_2d.cpp:51

Steps to reproduce:
godot 3.1.1 1 click deploy export to android
Minimal reproduction project:

No idea what it really is but I get the same error when moving my mouse across the editor's main window.  It does not happen when I mouse over any other panes except the main, center one.

Having the same issue, it happened after messing with some for loops

@nawillcodes Can you upload the project in which you managed to reproduce this?

3.2, It seems to only happen when I zoom in and out of the camera. My final project won't have any zoom so I'll be ok before I upload my entire project. I can upload samples and parts but it would be a lot of work to deconstruct what I don't want people to see

Closing as duplicate of #41756. Although this was logged before, #41756 has a MRP and further analysis around Light2D.


Defaced color picker

Godot version:
v3.1.stable.official (also on v3.0)
OS/device including version:
macOS Mojave 10.14.2
MacBook Pro 15' (2015)
iMac 27' (2017)
Issue description:
The color picker is defaced every time it's opened and it can't be used unless you open it twice in a row. Using any of the inputs closes the dialog, I guess because I am technically clicking outside the container box.
Clicking on the color picker again fixes this issue. Basically I need to open it twice every time I want to use it.
This is how it looks:

https://cl.ly/ddf9c480d756
Steps to reproduce:
Select any Node2D like a Sprite, then click on the color picker for Modulate or Self modulate.
Additional notes:
Both my devices have a retina display (high DPI), so it could be related to that.
Minimal reproduction project:
Start a new blank project and create a Node2D object.
P.S: Thanks for your hard work guys!

+1 have the same issue with a Mac

macOS Mojave 10.14.3
MacBook Air 13' (2015)
Couldn't reproduce the issue, it is working fine with my Mac.

@guilhermefelipecgs Your Macbook Air model does not have a Retina display, and this issue can only be seen on hiDPI displays (which Apple calls "Retina").

I also encounter this issue using Godot 3.1.1.stable.official but only in GLES3 mode, not while using GLES2.
For example when opening the color picker on a TextEdit theme entry Colors properties.


Add Geonames Tests

Description
Add Geonames Tests - #533
Related Issue
#533

Motivation and Context

How Has This Been Tested?

UnitTest
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.

@mfunk - I was testing on Pro 2.0 which I guess no longer has this error (but seems to have a different one in assertFeatureClassEqual), but I can add in the workaround from: https://github.com/Esri/military-tools-geoprocessing-toolbox/blob/dev/utils/test/TestRunner.py#L53


why React-Router destroy component instead of just hide it

My main aim is do not unmount components during navigate through the links. In my real project I have a complicated component with huge grid. So every time I go back to this component it sends request to server to get data. But I do not need such behavior。How to fixed it  and is there some config can make it？
hope your answer....

This is just how React works. When a component disappears from the tree, it is removed from the DOM. If you want to leave components around, use the render prop of Route.

I'm using React 15.5.4 and RR 4.1.0 and I'm using the Route render property but my component keeps getting re-created. I've even tried to create a single component in the parent component's constructor and re-use that each time. And it's not only that the component unmounts and remounts, but also gets recreated completely.
Any insight into why this is happening would be greatly appreciated.
class App extends React.Component {
  constructor(props) {
    super(props);
    this.myDashboard = React.createElement(Dashboard);
  }

  renderDashboard = () => {
    return this.myDashboard;
  }

  render() {
    return (
      <Router>
        <Route exact path="/" render={this.renderDashboard}/>
        <Route exact path="/maintenance/" render={this.renderDashboard}/>
      </Router>
    );
  }
}

React 15.5.4, RR 4.10
I am using the render prop but in my case the behaviour is no different than using the component prop. Basically, I have this:
  <BrowserRouter>
    <Switch>
      <Route exact path="/" render={() => <Dashboard />}/>
      ...
    </Switch>
  </BrowserRouter>

With some logging in constructor, componentDidMount and componentWillUnmount, I can see that the Dashboard component unmounts when I switch away from it to another route and a new one gets created and mounted when I switch back to it. I've also tried without the Switch, no difference.
Furthermore, I've even tried to create a singular instance with const dashboard = <Dashboard /> in the global space and reuse dashboard as in <Route exact path="/" render={() => dashboard}/> but I get the same exact results.
Any idea what the issue might be?
The dashboard is going to have many sections, some with graphs and I'm concerned that it's going to be too expensive to keep creating a new Dashboard.

It is normal react behaviour.
If you need better performance in your dynamic charts, graphs, etc, use
 based once, and use redux to store ref to canvas element, and
substitute canvas element on componentDidMount. BTW if you use websockets,
you can keep socket instance in redux too.
2017-05-31 7:01 GMT+08:00 Ryan Homer<EMAIL_ADDRESS>
React 15.5.4, RR 4.10
I am using the render prop but in my case the behaviour is no different
than using the component prop. Basically, I have this:

 }/>
      ...

With some logging in constructor, componentDidMount and
componentWillUnmount, I can see that the Dashboard component unmounts
when I switch away from it to another route and a new one gets created and
mounted when I switch back to it. I've also tried without the Switch, no
difference.
Furthermore, I've even tried to create a singular instance with const
dashboard =  in the global space and reuse dashboard as in <Route
exact path="/" render={() => dashboard}/> but I get the same exact
results.
Any idea what the issue might be?
The dashboard is going to have many sections, some with graphs and I'm
concerned that it's going to be too expensive to keep creating a new
Dashboard.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ReactTraining/react-router/issues/4988#issuecomment-305032842,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACJseb97Hul5jOld-yzNGN4-nPZ3mSjcks5r_J_HgaJpZM4M_5aq
.

BTW if you use websockets, you can keep socket instance in redux too.

100% DO NOT do this. Your Redux state should always be serializable. A websocket isn't.

Please, explain, why can't I use redux to store socket reference?
I use immutable.js as initialState, and I do not see downsides. Why should
I care, about serializability of socket?
Currently my projects using this approach, and I do not see any memory
leaks. What bad could happen?

Tons of Redux tooling relies on a serializable state. Things will break in unexpected and Very Bad™ ways when you pass that tooling something it can't serialize. You'll end up making headaches for your coworkers and future self.

Can you name most often used tool for redux which does serialising?
Which other options do I have to save socket object, or HTML element like
canvas etc on componentWillUnmount and restore on mount?
On Mon, 5 Jun 2017 at 12:03 PM, Tim Dorr<EMAIL_ADDRESS>wrote:

Tons of Redux tooling relies on a serializable state. Things will break in
unexpected and Very Bad™ ways when you pass that tooling something it can't
serialize. You'll end up making headaches for your coworkers and future
self.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ReactTraining/react-router/issues/4988#issuecomment-306098437,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACJsefT2-ug8XsuKVMcFayqsg_H2UH_5ks5sA335gaJpZM4M_5aq
.

setState and context. You don't have to store everything in Redux. In fact, it's better the less you put in there.

setState is useless in my case, cos it get lost on component unmount.
The idea about context sounds better, will try it. Thanx.
2017-06-05 22:09 GMT+08:00 Tim Dorr<EMAIL_ADDRESS>
setState and context. You don't have to store everything in Redux. In
fact, it's better the less you put in there.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ReactTraining/react-router/issues/4988#issuecomment-306196916,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACJseUt__5D0Wp60h9wwoab0Pk18irAAks5sBAwhgaJpZM4M_5aq
.

I Made a top HOC component SocketRouter, and providing sockets through
context, everything is fine.
Still have questions on how to store DOM elements like canvas.
The main issue is React rerendering parent component with child canvas,
while drawing happening, and drawing happens in memory by old canvas. So
currently on unmount I save reference to redux, but on componentWillMount,
substitute old canvas back.
How can I do that without redux?
2017-06-06 4:31 GMT+08:00 Alexey Lyahov<EMAIL_ADDRESS>
setState is useless in my case, cos it get lost on component unmount.
The idea about context sounds better, will try it. Thanx.
2017-06-05 22:09 GMT+08:00 Tim Dorr<EMAIL_ADDRESS>
setState and context. You don't have to store everything in Redux. In
fact, it's better the less you put in there.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/ReactTraining/react-router/issues/4988#issuecomment-306196916,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACJseUt__5D0Wp60h9wwoab0Pk18irAAks5sBAwhgaJpZM4M_5aq
.

I'm pretty new to React. Am I understanding this correctly? Say you wanted to make, say, a multi-tabbed interface similar to Apple's iOS App Store app. When you switch tabs via URL using react-router, there's no way to make it just hide the tabs' DOM elements rather than destroying them? This seems crazy to me, but maybe I'm misunderstanding. This would mean that every little bit of state in each tab -- the scroll position, any user input, table sorting, etc. -- all needs to be pushed up to the parent component, and the DOM elements need to be re-created whenever you switch tabs. Is that correct? This seems like an unnecessarily slow and painful way to do things.


Support FTP/SFTP files abstraction

Hi @vikash I want to work on this. Can u please explain this issue to me??

Hi @Sarthak027 we will be merging the interface which will has to be implemented for SFTP and FTP similar to how we are supporting mongoDB.

Hi @aryanmehrotra . Please Assign this issue to me.


Recommend transaction

Description:
Develop the functionality to recommend a new transaction or draft transaction:

'Recommend' button in the bottom right hand corner of the transaction page
Only available to IDIR users with the government analysts role.
Requires the three transaction inputs (transaction type, select organization, compliance units) to not be blank / be filled out / selected (see validation section below for more info)
If effective date is not entered, effective date defaults to the date of director approval (this functionality will be handled in the director approval card).
Clicking on the 'Recommend' button brings up a confirmation modal window that says, "Are you sure you want to recommend approval of this transaction?" and contains two buttons: Recommend & Cancel
Clicking the Cancel button in the modal window brings the user back to the transaction screen
Clicking on the 'Recommend' button in the modal window (1) brings up a success message/alert/modal, (2) The user is returned to the transaction page, (3) The transaction row for the transaction is highlighted, and (4) the transaction status is changed to Recommended.
If the transaction has not been created yet (i.e., not saved as a draft before clicking on the Recommend button) then recommending the transaction assigns an ID number to the transaction (i.e., a transaction ID number, similar to TFRS functionality where every transaction is given a unique ID number, sequential order). Note: if the user has already saved a draft of the transaction (status = draft) then a transaction ID will already be assigned.
The comment free text field (director comments to the organization) is saved to the database, if there is a comment added (see card #346 for development of this feature).
A transaction history record is saved to the database and visible in the UI when viewing the transaction: Recommended on [Month DD, YYYY] by [User] of [Organization]. This record is based on the IDIR user with the Government Analyst role that clicked the Recommend button.
The transaction continues to be visible to only IDIR users; it is still not visible to the external organization that the transaction relates

Validation Messaging:
May be dependent on front-end vs. back-end validation:

Has not selected a transaction type: "Select a transaction type"
Has not selected an organization from the drop-down menu: "Select an organization"
Has not inputted a value into the compliance units field: "Compliance units cannot be blank"
Has inputted a negative value into the compliance units field while also selecting the initiative agreement transaction type: "Compliance units for initiative agreements cannot be negative"

Wireframe:
https://preview.uxpin.com/59145260c7d8cc48969ac79401cc03d84843c3d9#/pages/165300924/simulate/sitemap
Purpose and benefit to user:
Provides the necessary functionality for government users to make transaction recommendations to the director.
Acceptance Criteria:

[ ] Given I am a , When I am , then
[ ] Given I am a , When I am , then

Development Checklist:

[ ] A
[ ] B
[ ] C

Notes:

@Grulin I had to rework the contents of this card a bit. There were some missing components and complexities that needed to be covered. For missing components, we needed to add a confirmation modal window, transaction history record, and information about navigation after the recommendation is made. The latter differs from saving a draft in that the system takes the user back to the transaction page (among other things, see bullets in the description). In terms of complexities, there are two potential pathways for recommending a transaction; the first is when a draft has already been saved, and the second is when the user has not saved the transaction as a draft (goes straight to recommendation). In the latter scenario, the transaction is created (assigned an ID; stored in the database) when the user clicks the Recommend button (in the former draft saved scenario, the transaction has already been created). Therefore, we needed some of the same info from the save draft card about creating a transaction ID and saving to the database. We also needed the same data validation / restrictions checks on the Recommend button as we have on the Save Draft button (e.g., fields can't be blank, must be selected, etc.) because the user may go straight to the recommend option (no saved draft) or they may edit the information after the draft is saved but prior to recommendation.
Most of the information I included or changed came from #256 and #349

After an IDIR analyst recommends a transaction, they should be returned to the "Transactions" page and the transaction they just recommended should be highlighted.

added this logic.

Thanks @AlexZorkin. This works now, but the modal window is showing the following:

It should say "Are you sure you want to recommend approval of this transaction?"


Group/v2

There's a lot more to be fixed in these classes @saiakilesh. Naming can certainly be improved and how proposals are created can be improved too.


Add lazy loading to the components

Lazy loading for the components will ensure that the important chunks are loaded first and secondary components load lazily.

@YashMeh Quizzie crashed after merging this. I have reverted the PR for now.
@Sarthakbh321 kindly mention the reason for the problem.

@YashMeh The Renderer component cannot be passed as a child to the Route component, because then it does not have access to the URL params in the route, which is causing the crash.
Try passing the Renderer to the component prop of the Routes, as was previously done before your changes.


Got strange 4001 error

Today I tested Pusher 3.0 JS client with Poxa on Chrome on Mac and got strange error:

It uses app_id, app_key and app_secret eq to '1'.
My colleague also had same problem on Chrome on Mac. It works in Safari. It works in Chrome on Windows.
I tried to disable encryption in js client, but ring no bells. I run pusher in docker, that is then proxied over nginx to the world.
I switched to official pusher server and problem has gone.
I think problem can be with missing responses to pusher servers.
One of them is routes like "/timeline*" for stats.
Also, as I remember, pusher sometimes send server list to connect.
I still investigating the problem.
@edgurgel Did You ever had this problem?

I never had this problem. Can you replicate running locally or only when you use proxied over nginx?

@edgurgel I tried to run poxa locally, but cant catch same problem.
Poxa is running in docker, on port 8089, here is nginx config:
upstream push {
  server <IP_ADDRESS>:8089;
}

server {
    listen 80;
    server_name my_pusher_url;
    proxy_intercept_errors on;

    location / {
        proxy_pass http://push;
        proxy_redirect off;
        proxy_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

Yeah it's ok to run only on Elixir 1.0.0. I also didn't manage to replicate. It seems to be related to nginx proxy?

@edgurgel The problem was with old nginx. After update I never get this error.

Good to know! Thanks for the report!


Variable documentation should follow scope

With #69, documentation is in a ref, so documenting local functions would be a global operation. Ideally this wouldn't happen.

Fixed in #177.


Bicaws 1875 Use native types when merging offence-code data

BREAKING CHANGE: Use native boolean types in the output-data JSON files
where strings are used for boolean values.
Updated:

crest-disposal.json
result-code.json
offence-code.json

Does the Bichard java application need to be updated to use the new format at the same time? I think it will automatically pull in these breaking changes at the minute

There is a GH workflow that opens a PR automatically in next repo, but it shouldn't merge automatically, we will need to make the changes to next repo to avoid breaking bichard


Hangs Joplin

Greetings,
I just added a few plugins to my current Joplin which is the 2.7.15.
After installing, Joplin would start with a white screen and stay there for as long as 10 minutes.
After much trial and error, I narrowed it down to this plugin. Once I removed it all went back to normal.
What might be the issue?
OS: kubuntu 21.10
thanks
iomari

Hi, I couldn't figure out why this is happening when you opened this issue and I still don't know and I want to know if this issue is still relevant?

Closing due to inactivity


Update Chrome stable to version 85

Chrome version 85 is the current stable but caniuse.com still shows Chrome 84: https://caniuse.com/#feat=avif

Version History: https://en.wikipedia.org/wiki/Google_Chrome_version_history

Done!


⚠ SkipTheCommericals has degraded performance

In ad3b813, SkipTheCommericals ($STC) experienced degraded performance:

HTTP code: 200
Response time: 1536 ms

Resolved: SkipTheCommericals performance has improved in 6f928cd.


[lighthouse] add unused css reference

What's changed, or what was fixed?

see title

Fixes: N/A
Target Live Date: 2018-07-20

[x] This has been reviewed and approved by @kaycebasques
[x] I have run npm test locally and all tests pass.
[x] I have added the appropriate type-something label.
[x] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 5 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/chrome-devtools/css/reference.md#L591 - Common typo found: 'Material Design' Should it be 'material design'?
src/content/en/tools/lighthouse/audits/unused-css.md#L35 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/lighthouse/audits/unused-css.md#L37 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/lighthouse/audits/unused-css.md#L38 - Common typo found: 'node' Should it be 'Node'?
src/content/en/tools/lighthouse/audits/unused-css.md#L28 - Line must be at most 100 characters

Whoops!
There were 6 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/chrome-devtools/css/reference.md#L591 - Common typo found: 'Material Design' Should it be 'material design'?
src/content/en/tools/lighthouse/audits/unused-css.md#L144 - '

:tada: This has been pushed live to https://developers.google.com/web/


Announce 4.103

Debian 10 buster build appears to have an AWS flakiness issue; re-ran, hopefully done in a few more hours.

Pushed this yesterday, surprised this wasn't closed :/


Add theme to HScrollBar

This copies the VScrollBar styleboxes to HScrollBar.
They are not linked though.
Only one that is different is the background because of the content margins.

Thanks!

Linking stuff will happen when we have custom theme generation logic.


Support dotenv files

Support for a dotenv file would be quite nice.
Instead of having the database username password and name put into both .env and phinx.yml, having the phinx.yml file allow lines such as
user: {~/path/to/.env:mysql_user} where the first half is the path to the env file, and the second half is the name of the environment variable.
Either that, or supporting the dotenv project itself and having the .env file loaded into the environment variables, and then allowing {mysql_user} to recognise environment variables would be good.

Here's the library that makes it trivial to support .env files:
https://github.com/vlucas/phpdotenv

Yes, that is the one that I was meaning :)

:+1: Please do!
As many people already use .env files on their projects, and it is something that is becoming increasingly popular (ex: the Laravel framework now also has it), adding support for .env in phinx would simplify integrating phinx into a Laravel application or any other app that uses .env, reducing the barrier to adoption that always happens when a developer needs to summon the courage to try out a new tool.

:+1:
To be fair, there is a workaround. You could use the (badly documented) phinx.php config file and load settings using phpdotenv there.

How I implemented what @DerMika is saying. I used -c phinx.php and loaded dotenv in that file, like so:
<?php

$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

return [
    'paths' => [
        'migrations' => __DIR__ . '/migrations',
    ],
    'environments' => [
        'default_migration_table' => 'phinxlog',
        'default_database' => getenv('APP_ENV'),
        'develop' => [
            'adapter' => getenv('DB_ADAPTER'),
            'host' => getenv('DB_HOST'),
            'name' => getenv('DB_NAME'),
            'user' => getenv('DB_USER'),
            'pass' => getenv('DB_PASS'),
            'port' => getenv('DB_PORT'),
        ],
    ],
];

That was probably obvious, but if it saves someone some time...

Are you able to provide a pull request with your suggested changes?

@dereuromark Sure. I made a quick pass at it. Any particular branch you want me to make a pull request against? Master?

if it is bc master should be fine.

ping

The PR I submitted is here:  https://github.com/cakephp/phinx/pull/1236


Drop Travis CI and AppVeyor

This was discussed at the last Jupyter Server Meeting.
Github Actions has proved to be a solid, fast option for CI. Thus, it was proposed that we drop Travis and AppVeyor from this project.
I'm opening this issue to invite others to the discussion. If anyone has any immediate reasons why we should keep Travis and AppVeyor around, let us know. Otherwise, we'll be dropping them at the next Server Meeting.

See #148. We'll merge this at thursday's meeting!

#148 is merge. Closing this..


collect rabbitmq connection retry settings from env vars, update test

(cherry picked from commit a4786a3d117c234289f8485418c7879c7c42fc05)

I must have misunderstood the original problem. I thought the worker was having trouble on initializing connections.
I'll add the heartbeat configuration as well.  It still seems prudent to leave the settings for reconnection attempts (and the delay), right?


Error: ENOENT: no such file or directory, scandir 'src/components'

Description
An error appears after running npm  run types
node:internal/process/promises:279
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[Error: ENOENT: no such file or directory, scandir 'src/components'] {
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: 'src/components'
}

System info

Node.js v18.10.0
Strapi v4.4.1

Steps to reproduce
It can be reproduced in t4s-2-reproduce by running npm run types

Thanks for sharing the issue and a reproduction repository. I will look into it.

I think I know what is wrong, this won't be a problem when I get to create v1.
It seems that your project has no components, so a workaround would be to create a single component through strapi. Let me know if it works.
However of course this program should still work with no components in the src/ folder.

Sorry for the late replay. It works.
Thank you.

This should now work in version 0.3.1


[App Config] Throttling retry policy update - no retrying forever

Issue https://github.com/Azure/azure-sdk-for-js/issues/16366
In this PR

Extending AppConfig client options with retry options with only maxRetries and the maxRetryDelay instead of all the four options of the RetryOptions interface in core-http
Update the custom throttling policy in app-config to not retry forever
And to make throttling retry policy honour maxRetries/maxRetryDelay

Fixes #16366

Extending AppConfig client options with retry options with only maxRetries and the maxRetryDelay instead of all the four options of the RetryOptions interface in core-http

Why is retryDelayInMs excluded?

And to make throttling retry policy honour maxRetries/maxRetryDelay

I feel like this has been discussed, but is there an issue tracking honoring the retry count across retry policies (or consolidating retry policies into a single one that can keep track of the retry count)?

Why is retryDelayInMs excluded?

retryDelayInMs is not for the throttlingRetryPolicy since we get the delay in ms from the error response from the service.
Eventually, we'll unify the retry policies in core.
Eventually, app-config will reuse what's present in core.

For that to happen, core has to allow/support parsing the "different" headers in the error response to get the delay in ms from the app-config service.
And core has to support retrying for the user-configured number of retries similar to what this PR does.

This current PR only cares about the throttling policy and is meant to unblock the customer.


Error handling when request is not answered etc

Currently just loads indefinitely

Also make a notification. For example, a combined export request responding 500 will not show notification

Still open.


Crash when placing Expanded Storage blocks with Schematicannon

Describe the Bug
This bug constantly crashes a server I'm playing on whenever someone joins on a chunk where the schematicannon is bugged, and I managed to replicate it with just Create Fabric 0.5c and Expanded Storage.
Reproduction Steps

Try to print this blueprint with the schematicannon
portable_schematicannon.zip
Three golden barrels will place fine, then the crash occurs.
Reopening the world will crash the game again, unable to be fixed even by renaming the schematic to something else.

Expected Result
To have it printed without crashes.
Screenshots and Videos
The blueprint that I'm trying to print.

Crash Report or Log
https://gist.github.com/Jvs34/110c5f2f801cd68abee95d1042e6d48f#file-crash-2022-08-17_06-05-22-server-txt
Operating System
Windows 10
Mod Version
0.5.0c
Minecraft Version
1.18.2
Other Mods
Expanded Storage fabric 7.4.0-beta4
Ellemes' Container Library 1.4.0-beta.2
Fabric Api 0.58.0+1.18.2
Additional Context
Crash cannot be replicated on forge version due to Expanded Storage not having a 1.18.2 release for Forge, as far as I can see from the project page at least, it also does not happen with the creative mode schematic instant printing.

I'll move this issue to the Forge side in a sec.


Calling DynamoDBDataSource.initialize isn't documented

I've created a subclass and upon first calling getMyItem it calls the inherited getItem which is implemented through the caching mechanism which isn't initialized unless initialize is explicitly called. It looks like reasonable defaults are specified so it seems like it could work without requiring the initialize call. In my own code I had to do the following:
export var CHPDS = new CHPIncidentsDS(defaultConfiguration);
CHPDS.initialize({ context: CHPDS.dynamoDbDocClient, cache: new InMemoryLRUCache() });

I see in the cache class that "new InMemoryLRUCache()" is the default value but when calling initialize the complier won't let me only pass the "context" key therefore the default for the cache param isn't used.

This came from a port I did initially when creating this lib following the examples in the RestDataSource. I agree with you. I will think on this on how to have some more intelligent methods (or at least documentation) on how to use the initialize.


Astropy UnitsWarning

There are two warnings that appear when running an autonicer locally. Both of the warnings are UnitWarnings from astropy.
One is for 'DEGREE' did not parse as fits unit: At col 0, Unit 'DEGREE' not supported by fits standard.
Another is for 'MJD' did not parse as fits unit: At col0, Unit 'MJD' not supported by fits standard.
This is most likely due to changes with a new version of astropy, as this warning didn't occur as of May 23, 2022.
It can probably be fixed with some dependency constraints in the .toml until more work can be done to bring autonicer up to date with the new changes in astropy.
*Changes in astropy are assumed (as of right now), I haven't investigated changes on astropy's end yet.

Confirmed to be an issue with the new release of astropy v5.1 released ~0300 MDT May 25, 2022.

Temporary fix applied in commit 2d1e7290332b5022ce3d79de21204f6d05d2982d, and v1.0.2 release.


localstorage isnt available

window.localStorage is null. It is impossible to store things in there.
Could we make it available ?

Yes, forgot to enable it in Chromium. Pushed a new version that should resolve this issue.

excelent! thanks!


Support tcf2 and pbs

Adde support for TCF2.0 and Prebid Server

Looking good. Thank you for keeping the siteId and placementId parameters consistent between PBJS and PBS. I looks like PBS doesn't support the video parameter. Could you please make a note of that in this doc update?

@SyntaxNode please check the PR

@bretg Can you please merge this documentation PR. It's blocking the PBS release as well as the PBJS release for Extended IDs.
Regards

We don't generally merge docs PRs until the Prebid.js release goes out. So this isn't blocking that merge.
In this case, I'll go ahead and merge it because PBS is on a different schedule.

We don't generally merge docs PRs until the Prebid.js release goes out. So this isn't blocking that merge.
In this case, I'll go ahead and merge it because PBS is on a different schedule.

To be clear, this wasn't blocking your PBS PR. We require a documentation to be opened and in good standing (LGTM label) before being merged in. Those were both met in this case.


feat: 🎸 support multiple sources

@kreuzerk Can you please tag this for Hacktoberfest? 🙂

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Start building an 'alan' command that wraps the compile and AVM together

Resolves #203

This is amazing! What if we have the alan command by default take a .ln file to compile and run? alan test.ln feels familiar coming from python test.py and node test.js

This is amazing! What if we have the alan command by default take a .ln file to compile and run? alan test.ln feels familiar coming from python test.py and node test.js

You can have a default behavior if no subcommand is specified I think, so that should be fine. I don't want to do that, yet, because compilation is so slow, though?

This is amazing! What if we have the alan command by default take a .ln file to compile and run? alan test.ln feels familiar coming from python test.py and node test.js

You can have a default behavior if no subcommand is specified I think, so that should be fine. I don't want to do that, yet, because compilation is so slow, though?

I think that is okay and we should do it anyway because it is in line with the ethos of this PR/task which is making Alan easier to use, or in other words, reducing the amount of steps to use it


How to specify evm compiler version?

System information
Ubuntu 20.04, amd64
Commit id
6e1650c
Tools versions
Checking that you have the necessary tools to deploy the Kurtosis CDK package...
✅ kurtosis 0.89.10 is installed, meets the requirement (=0.89).
✅ docker 26.1.3 is installed, meets the requirement (>=24.7).
You might as well need the following tools to interact with the environment...
⚠  jq is not installed. You can install jq at: https://jqlang.github.io/jq/download/
⚠  yq is not installed. You can install yq at: https://pypi.org/project/yq/
✅ cast 0.2.0 is installed.
⚠  polycli is not installed. You can install polycli at: https://github.com/maticnetwork/polygon-cli/releases
Description & steps to reproduce
I want to deploy on a testnet(which is maintained by our school), which support compiler of v0.8.18.

I first modified some l1 config based on https://github.com/0xPolygon/kurtosis-cdk/blob/main/doc-drafts/deploy-sepolia-l1.md.
And since I found my chain is not support EIP-1559, I also add --lagcy flag to all the cast send cmd, like that

fund_account_on_l1() {
    name="$1"
    address="$2"
    echo_ts "Funding $name account"
    cast send \
        --legacy \
        --rpc-url "{{.l1_rpc_url}}" \
        --mnemonic "{{.l1_preallocated_mnemonic}}" \
        --value "{{.l1_funding_amount}}" \
        "$address"
}

Then I get an error in Step 1: Preparing tesnet

[2024-06-13 11:38:30] Deploying zkevm contracts to L1
[2024-06-13 11:38:30] Step 1: Preparing tesnet

><EMAIL_ADDRESS>npx
> hardhat run deployment/testnet/prepareTestnet.ts --network localhost

ProviderError: invalid opcode: PUSH0
    at HttpProvider.request (/opt/zkevm-contracts/node_modules/hardhat/src/internal/core/providers/http.ts:88:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async HardhatEthersProvider.estimateGas (/opt/zkevm-contracts/node_modules/@nomicfoundation/hardhat-ethers/src/internal/hardhat-ethers-provider.ts:237:27)
    at async Wallet.populateTransaction (/opt/zkevm-contracts/node_modules/ethers/src.ts/providers/abstract-signer.ts:105:28)
    at async Wallet.sendTransaction (/opt/zkevm-contracts/node_modules/ethers/src.ts/providers/abstract-signer.ts:232:21)
    at async ContractFactory.deploy (/opt/zkevm-contracts/node_modules/ethers/src.ts/contract/factory.ts:111:24)
    at async main (/opt/zkevm-contracts/deployment/testnet/prepareTestnet.ts:100:30)
[2024-06-13 11:38:32] Step 2: Creating genesis

><EMAIL_ADDRESS>npx
> ts-node deployment/v2/1_createGenesis.ts

Warning: Potentially unsafe deployment of contracts/PolygonZkEVMGlobalExitRootL2.sol:PolygonZkEVMGlobalExitRootL2

    You are using the `unsafeAllow.state-variable-immutable` flag.

Warning: Potentially unsafe deployment of contracts/PolygonZkEVMGlobalExitRootL2.sol:PolygonZkEVMGlobalExitRootL2

    You are using the `unsafeAllow.constructor` flag.

[2024-06-13 11:38:38] Step 3: Deploying PolygonZKEVMDeployer

><EMAIL_ADDRESS>npx
> hardhat run deployment/v2/2_deployPolygonZKEVMDeployer.ts --network localhost

ProviderError: err: insufficient funds for gas * price + value: address 0xE34aaF64b29273B7D567FCFc40544c014EEe9970 have<PHONE_NUMBER>0000000 want<PHONE_NUMBER>00000000 (supplied gas 15010499)
    at HttpProvider.request (/opt/zkevm-contracts/node_modules/hardhat/src/internal/core/providers/http.ts:88:21)
    at processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async HardhatEthersProvider.estimateGas (/opt/zkevm-contracts/node_modules/@nomicfoundation/hardhat-ethers/src/internal/hardhat-ethers-provider.ts:237:27)
    at async Wallet.populateTransaction (/opt/zkevm-contracts/node_modules/ethers/src.ts/providers/abstract-signer.ts:105:28)
    at async Wallet.sendTransaction (/opt/zkevm-contracts/node_modules/ethers/src.ts/providers/abstract-signer.ts:232:21)
    at async deployPolygonZkEVMDeployer (/opt/zkevm-contracts/deployment/helpers/deployment-helpers.ts:67:12)
    at async main (/opt/zkevm-contracts/deployment/v2/2_deployPolygonZKEVMDeployer.ts:73:54)
[2024-06-13 11:38:40] Step 4: Deploying contracts

><EMAIL_ADDRESS>npx
> hardhat run deployment/v2/3_deployContracts.ts --network localhost

Error: Missing parameter: zkEVMDeployerAddress
    at main (/opt/zkevm-contracts/deployment/v2/3_deployContracts.ts:86:19)
    at Object.<anonymous> (/opt/zkevm-contracts/deployment/v2/3_deployContracts.ts:552:1)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module.m._compile (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Object.require.extensions.<computed> [as .ts] (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1621:12)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1024:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
    at node:internal/main/run_main_module:28:49
[2024-06-13 11:38:41] Step 5: Creating rollup

><EMAIL_ADDRESS>npx
> hardhat run deployment/v2/4_createRollup.ts --network localhost

Error: Cannot find module './deploy_output.json'
Require stack:
- /opt/zkevm-contracts/deployment/v2/4_createRollup.ts
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
    at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (/opt/zkevm-contracts/node_modules/@cspotcode/source-map-support/source-map-support.js:811:30)
    at Function.Module._load (node:internal/modules/cjs/loader:986:27)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/opt/zkevm-contracts/deployment/v2/4_createRollup.ts:17:22)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Module.m._compile (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1618:23)
    at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Object.require.extensions.<computed> [as .ts] (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1621:12) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/opt/zkevm-contracts/deployment/v2/4_createRollup.ts' ]
}
[2024-06-13 11:38:43] Combining contract deploy files
cp: cannot stat '/opt/zkevm-contracts/deployment/v2/create_rollup_output.json': No such file or directory
/opt
/opt/zkevm /opt
[2024-06-13 11:38:43] Creating combined.json
jq: Bad JSON in --slurpfile rollup create_rollup_output.json: Could not open create_rollup_output.json: No such file or directory
[2024-06-13 11:38:43] Approving the rollup address to transfer POL tokens on behalf of the sequencer
Error:
Failed to resolve ENS name: ens name not found:
[2024-06-13 11:38:43] Setting the data availability committee
Error:
Failed to resolve ENS name: ens name not found:
[2024-06-13 11:38:43] Setting the data availability protocol
Error:
Failed to resolve ENS name: ens name not found:
[2024-06-13 11:38:43] Granting the aggregator role to the agglayer so that it can also verify batches
Error:
Failed to resolve ENS name: ens name not found:

--------------------

Creating keystores for zkevm-node/cdk-validium components
Command returned with exit code '0' with no output

Printing a message
Skipping the deployment of helper service to retrieve rollup data

Printing a message
Deploying zkevm node and cdk peripheral databases

Rendering a template to a files artifact with name 'init.sql-001'
Templates artifact name 'init.sql-001' rendered with artifact UUID 'bc1c4060fddc41ee8ef9733b1862e2ce'

Starting Postgres Service
Service 'postgres-001' added with service UUID '3625a2b16b2949bc85a102b6fe528e51'

Printing a message
Getting genesis file...

Storing files from service 'contracts-001' at path '/opt/zkevm/genesis.json' to files artifact with name 'genesis'
Files with artifact name 'genesis' uploaded with artifact UUID '705813c7ae8743e58c4e799153530e89'

Printing a message
Deploying cdk central/trusted environment

Rendering a template to a files artifact with name 'prover-config-artifact'
Templates artifact name 'prover-config-artifact' rendered with artifact UUID '85d0edb2865f41d994cd40bdbe081a21'

Determining CPU system architecture
Command returned with exit code '0' and the following output: x86_64

Adding service with name 'zkevm-prover-001' and image 'hermeznetwork/zkevm-prover:v6.0.0'
Service 'zkevm-prover-001' added with service UUID '4886acf543f64597a2a9c99a7e4e5750'

Rendering a template to a files artifact with name 'trusted-node-config'
Templates artifact name 'trusted-node-config' rendered with artifact UUID '142f3ca17a87476badf02d51fb694ef0'

Adding service with name 'zkevm-node-synchronizer-001' and image '0xpolygon/cdk-validium-node:0.6.5-cdk'
There was an error executing Starlark code
An error occurred executing instruction (number 23) at github.com/0xPolygon/kurtosis-cdk/lib/zkevm_node.star[52:21]:
  add_service(name="zkevm-node-synchronizer-001", config=ServiceConfig(image="0xpolygon/cdk-validium-node:0.6.5-cdk", ports={"pprof": PortSpec(number=6060, application_protocol="http"), "prometheus": PortSpec(number=9091, application_protocol="http")}, files={"/etc/zkevm": Directory(artifact_names=["trusted-node-config", "genesis"])}, entrypoint=["/app/zkevm-node"], cmd=["run", "--cfg=/etc/zkevm/node-config.toml", "--network=custom", "--custom-network-file=/etc/zkevm/genesis.json", "--components=synchronizer"]))
  Caused by: Unexpected error occurred starting service 'zkevm-node-synchronizer-001'
  Caused by: An error occurred waiting for all TCP and UDP ports to be open for service 'zkevm-node-synchronizer-001' with private IP '<IP_ADDRESS>'; this is usually due to a misconfiguration in the service itself, so here are the logs:
  == SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
  panic: failed to load genesis configuration from file. Error: json: cannot unmarshal non-string into Go struct field L1Config.L1Config.polygonZkEVMGlobalExitRootAddress of type common.Address

  goroutine 1 [running]:
  github.com/0xPolygonHermez/zkevm-node/config.(*Config).loadNetworkConfig(0xc000635b00, 0x15ecc40?)
        /home/runner/work/cdk-validium-node/cdk-validium-node/config/network.go:74 +0x1d3
  github.com/0xPolygonHermez/zkevm-node/config.Load(0x0?, 0x1)
        /home/runner/work/cdk-validium-node/cdk-validium-node/config/config.go:186 +0x432
  main.start(0xc000148d80)
        /home/runner/work/cdk-validium-node/cdk-validium-node/cmd/run.go:52 +0x37
  github.com/urfave/cli/v2.(*Command).Run(0xc0001b0dc0, 0xc000148d80, {0xc000444230, 0x5, 0x5})
        /home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/command.go:277 +0x9d8
  github.com/urfave/cli/v2.(*Command).Run(0xc000156000, 0xc000148840, {0xc00003e1e0, 0x6, 0x6})
        /home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/command.go:270 +0xc25
  github.com/urfave/cli/v2.(*App).RunContext(0xc0004b65a0, {0x1d5c320?, 0x2b2b440}, {0xc00003e1e0, 0x6, 0x6})
        /home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/app.go:335 +0x5db
  github.com/urfave/cli/v2.(*App).Run(...)
        /home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/app.go:309
  main.main()
        /home/runner/work/cdk-validium-node/cdk-validium-node/cmd/main.go:198 +0xd3b

  == FINISHED SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
  Caused by: An error occurred while waiting for all TCP and UDP ports to be open
  Caused by: Unsuccessful ports check for IP '<IP_ADDRESS>' and port spec '{privatePortSpec:0xc001cf77a0}', even after '240' retries with '500' milliseconds in between retries. Timeout '2m0s' has been reached
  Caused by: An error occurred while calling network address '<IP_ADDRESS>:6060' with port protocol 'TCP' and using time out '200ms'
  Caused by: dial tcp <IP_ADDRESS>:6060: i/o timeout

Error encountered running Starlark code.

Desired behavior
I asked ChatGPT, it said we need to modify the compiler version since PUSH0 is unsupported in my chain, but how?
What is the severity of this bug?
Critical; I am blocked and Kurtosis CDK is unusable for me because of this bug.

I have tried add --solidity "0.8.18" flag in zkevm-contracts.Dockerfile, but still get same error, does kurtosis use this dockerfile to spwan a container?
# STEP 1: Download zkevm contracts dependencies and compile contracts.
ARG ZKEVM_CONTRACTS_BRANCH
WORKDIR /opt/zkevm-contracts
# FIX: `npm install` randomly fails with ECONNRESET and ETIMEDOUT errors by installing npm>=10.5.1.
# https://github.com/npm/cli/releases/tag/v10.5.1
RUN git clone --branch ${ZKEVM_CONTRACTS_BRANCH} https://github.com/0xPolygonHermez/zkevm-contracts . \
  && npm install --global<EMAIL_ADDRESS>\
  && npm install \
  && npx hardhat compile --solidity "0.8.18"

The error you are experiencing is linked to the fact that your test network does not support the PUSH0 opcode. It has been introduced in https://github.com/ethereum/solidity/releases/tag/v0.8.20.


Auto-formatting

With the https://github.com/triton-inference-server/common/pull/94 in our formatter, we are running the formatter on all Triton repos. If you would like to use the formatting tool in this repo, feel free to approve/merge this PR.

@dyastremsky , thank you for the contribution.
In dali_backend repo there's already a lint enabled (https://github.com/triton-inference-server/dali_backend/blob/main/cmake/lint.cmake). I'll run the CI with this PR to see how those comply and we'll decide then.

CI MESSAGE: [8728848]: BUILD STARTED

CI MESSAGE: [8728848]: BUILD PASSED

@dyastremsky , thank you for the contribution.
In dali_backend repo there's already a lint enabled (https://github.com/triton-inference-server/dali_backend/blob/main/cmake/lint.cmake). I'll run the CI with this PR to see how those comply and we'll decide then.

I see. In that case, feel free to use your close this PR at your discretion if preferred. For context, the formatting script used is here.

@szalpal As a note, Triton is rolling out pre-commit hooks across our repos to automatically format instead . If you have interest in that, I'm happy to open a pull request for you or feel free to create one. You can see what it looks like here.


Shields update

Includes latest errata...

updated item stats
updated physical item traits for HP, AC, and Hardness
equipped shields without proficiency do not provide a bonus (reflected in descriptions)
added wielded bonus to AC values for PCs (0 if not proficient)
added tooltip values and penalties for PCs (if not proficient)

In calculate-base-armor-class.js you create a tooltip with a negative shield profession bonus, but this negative score is never added as a shield bonus to the final score. Is this how it is supposed to work?

Yes. The shield bonus when not proficient is 0 and is applied to the bonus. I calculated the negative value on the tooltip just to make it seem obvious to players that the bonus is being calculated but not applied. It's also consistent with the armor tooltips which I updated to make it clear they are for armor.

Missed localization opportunities:
When making changes, it is desirable to set up localization for those fields while you're there anyway.
item/item.js: Pushes some strings into the props without localization.
item/sheet.js: Pushes some strings into the props without localization.
calculate-base-armor-class.js: "unlimited" could be localized.
Code style nitpick:
In calculate-base-armor-class.js you have an "else {" on a separate line. Project code convention states that it should be "} else {"

I'll remove the offending newline and localize the file some more later today.

Looks good, merging it :)

Looks good, merging it :)


Found a small problem

I noticed the following sentence in your article .

[] = () is a semantically correct statement (unpacking an empty tuple into an empty list)

according to the python documentation, the [] on the left of the equal sign looks like a list, but it's not.

del [a,b,c]
or
del (a,b,c)
Similarly, the [a,b,c] that follows the del is not a list neither.
[]=()
()=[]
[]=()=""
[]=()={}

according to the python documentation, the [] on the left of the equal sign looks like a list, but it's not.

Interesting, can you share the relevant parts of the documentation


HoodieCommitArchiveLog OOM's if the number of commits/cleans is too large

If a job fails to archive over 1-2 days, the (numberOfCommits - minCommits) can be really large and much more than (maxCommits - minCommits) intended to be archived. Add a logic in the HoodieCommitArchiveLog to cap the number of commits to archive as follows : min( (numberOfCommits - minCommits), (maxCommits - minCommits)).
@jianxu @kaushikd49 FYI

Thanks @n3nash !  Just to 1 additional note: the cap should apply to both clean instants and commit instants.

Can you link stack-trace or heap-dump when OOM occured ?

Not sure if I want to rush into caping yet. Can we get into why the archival failed for 1-2 days? How much memory was used, how much was needed?


Paths like this foo.example.com/kubeseal-webgui doesn't work

When using ingress it seems I have to use this kind of pattern:
something.example.com
Problem is that if I order a dnsname for my application have to order two dns names.
One for the actual application and one for kube-seal web gui. Like this:
application.example.com
kubeseal-webgui.example.com
Would be nice if the web gui could work with this pattern:
application.example.com/kubeseal-webgui

Hi @trashhead ,
Thanks for requesting this feature for kubeseal webgui.
We will discuss this and get back to you ASAP.


🐛 BUG: quick edit doesn't show my code?

Which Cloudflare product(s) does this pertain to?
Workers/Other, Wrangler
What version of Wrangler are you using?
latest
What operating system are you using?
N/A
Describe the Bug
Using Quick Edit (dashboard) on a script that was deployed with wrangler ... doesn't show the original worker script?
Step 1: deploy with wrangler:
// File name is src/worker.js
export default {
	async fetch(request, env, ctx) {
                const url = new URL(request.url);
		return await fetch('http://abc.xyz/');
	},
};

Step 2. edit with quick edit. The script is now:
// src/worker.js
var worker_default = {
  async fetch(request, env, ctx) {
    const url = new URL(request.url);
    return await fetch("http://abc.xyz/");
  }
};
export {
  worker_default as default
};
//# sourceMappingURL=worker.js.map

As a user, I expect Quick Edit to show me my script, not a minified/prettified version?

Thanks for reporting this! Wrangler will bundle your code with esbuild before uploading, which will mean that the code visible in Quick Edit will reflect the output of that bundling process.
To ensure Wrangler doesn't bundle your code, you can pass the --no-bundle argument to wrangler dev or wrangler publish. This will mean that the Quick Edit exactly reflects your original source.
However, this has a number of trade-offs, including the inability to import npm packages (unless you also have a custom build set up to pre-bundle those) or use some features like D1 or assets.


Incorporate GenAPI process for corefx into source-build

With the changes made in https://github.com/dotnet/corefx/pull/38433, corefx is changing the way GenAPI is used to generate notSupportedSource.  This will require a change in the way source-build calls the corefx build:

Production build: Create a location for the generated source and pass the location to corefx via DotNetSourceBuildIntermediatePath property.
Tarball Creation: Copy generated source to be included in the tarball.
Tarball Build: Pass location of generated source to corefx build via DotNetSourceBuildIntermediatePath property.

This was fixed as part of https://github.com/dotnet/source-build/pull/1141


Query compilation tracing mechanism

A query compilation tracing mechanism would help a lot when debugging the query compilation. I've created a simple solution to debug SqlNormalize, but a proper solution should also cover the transformations performed by Normalize and SqlQuery.
@getquill/maintainers

This is on master. https://github.com/getquill/quill/blob/master/quill-core/src/main/scala/io/getquill/util/Messages.scala#L12


feat: dependent feature toggles

Description
Adds support for dependent features in .NET SDK. Also adds a warn once component
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[x] Running spec tests locally
[x] Adding and running a suite of unit tests

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

Good questions @kwasniew!

why do we have to write all the tests inside this repo. Isn't the specification covering everything that we need?

it's been convention so far to also add local unit tests, helps with development and debugging etc, I'll rope @sighphyre in for opinions though

can we add a test that shows that metrics are not called on the dependent features

Coming right up!

do we have impression events in .net SDK? If so, how do they behave on the dependent features?

Good questions @kwasniew!

why do we have to write all the tests inside this repo. Isn't the specification covering everything that we need?

it's been convention so far to also add local unit tests, helps with development and debugging etc, I'll rope @sighphyre in for opinions though

I'd lean towards reducing the tests here. This is a really well covered feature in the client specs, I don't see much in your tests that aren't doing what the spec is doing. Usually I'm fussy about having tests that cover cases the spec doesn't for your particular implementation or in cases where a unit test is much easier to deal with than the spec. This is a pretty simple feature though
Things I'd like to see tested:

What does metrics do here? (don't think this is covered, we could use some tests here)
Does the response parse correctly and set the right defaults (this does look covered)
Does the feature work as expected (covered through the client spec, I don't see anything you've done in the code that would require additional testing for the actual implementation)

@sighphyre

I'd lean towards reducing the tests here...

... or in cases where a unit test is much easier to deal with than the spec. This is a pretty simple feature though

I guess I could trim some tests, but they've been valuable to verify understanding at development time and as debug tools so I'd like to keep a few in

Things I'd like to see tested:
What does metrics do here? (don't think this is covered, we could use some tests here)

Added a test for that

What should impression events do (think you're working on this already)

Also added a test for this

Does the response parse correctly and set the right defaults (this does look covered)

This should be covered, I have attempted to at least

Does the feature work as expected (covered through the client spec, I don't see anything you've done in the code that would require additional testing for the actual implementation)

👍

@sighphyre

I'd lean towards reducing the tests here...

... or in cases where a unit test is much easier to deal with than the spec. This is a pretty simple feature though

I guess I could trim some tests, but they've been valuable to verify understanding at development time and as debug tools so I'd like to keep a few in

If you find them useful I'm happy for them to stay. At some point we should get to the point where it's nice to use the client spec but that's definitely out of scope here (JS and Ruby are pretty good at this)

I'm curious if you used client spec in development?

I did use that as well, but mostly after being done with large portions of code. And whenever something was wrong I could repro it with a specific unit test and debug from there.

I'm trying to understand what exactly are we missing from the shared client spec tests. Are the .net tests easier to work with?

I'm not going to say the .NET tests are awesome, but for me it boils down a combination of two things:

Habit - I'm used to unit tests showing me what I'm building and my understanding of it is sane)
Convenience - Unit tests are (for now) easier to work with on a case by case basis. Can probably instrument the spec test helpers to give more granular control over tests to run, but I have no idea of the amount of work involved so short term easier to just keep doing what I'm doing

I'm also less comfortable around the implementation of the spec parsing and knowing what might be missing there but still providing false positives - so I use Unit tests as a way of reassuring myself
With that said I find the spec massively useful as an overview into where I'm at with the implementation 30/40/90% "done" / green board check off, and also as a source of knowledge/insight into the feature and how it's expected to work


Compilation Error with 4.1.2 RC

Godot version
4.1.2.rc 6884be6
System information
Windows 10, GLES2 , i7 6600U, Integrated Graphics HD 520
Issue description

I'm working on my own fork of the godot engine, with visual scripting and some other features, but anytime i compile the engine with the visual scripting code in the "modules" folder, it does this.
Steps to reproduce

Get the Source for 4.1.2 RC on Godot's Repo.
Get the Source for the Visual Script C++ Plugin, also from godot
Extract the Source
Extract the Visual Script ZIP
Rename Visual Script folder to "Visual_Script"
Move to modules folder
Open CMD and run scons

Minimal reproduction project
see if it happens when you extract this folder, and run scons
https://drive.google.com/file/d/14cRr8N9rsAfSimpOtDcVXXS-aJp2XPDf/view?usp=sharing

Same issue here.

I am best effort porting to the latest godot here: https://github.com/godotengine/godot-visual-script/pull/55

this feature is -- very -- important for solo - developers, and also small teams // people that also are trying to learn code at all, and imo the W4 - Foundation should make efforts to give money to work on this feature, or simply hire a small team of programmers, and then get the feature to a ' good enough ' - state . . .
atm, and have moved to a different engine, and the #specific reason is that visual script is missing, and gonna look for updates, or at all news that this feature is towards operational . . .

I updated the visual script branch onto master. https://github.com/godotengine/godot/commit/6758a7f8c07d1f4c8ec4f052ded6d26402967ebe


Add addPaddingLeft UITextField extension & fix broken UIImageView test

Checklist

[😅] I checked the Contributing Guidelines before creating this request.
[:+1:] I have only one commit in this pull request.
[:+1: ] New extensions support iOS 8 or later.
[:+1: ] New extensions are written in Swift 3.
[:+1: ] I have added tests for new extensions, and they passed.
[:+1:] Pull request was created to master head branch.
[:+1:] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[:+1:] All comments headers have the word SwifterSwift: before description.

Summary of Pull Request:

Adds new extension addPaddingLeft(padding:) for UITextField
Hopefully fixes that pesky failing test for UIImageView 😅

Thank you @SD10 !


Similar project Alaska

Just making both projects aware of each other so that the maintainers might borrow ideas, join forces, or just so people googling can see alternatives. https://github.com/mavenlink/alaska

Heya @jhawthorn ... nice project ;)
So.... I am not sure what to do here honestly... I ran a benchmark and the difference in performance between alaska and execjs-fastnode is not significant enough for either to really claim which is "faster" (And some of the difference could be more-so just minute differences in /usr/bin/nodejs performance more than any grand architectural difference between the two projects)
In fact, these two projects are very much twins in a sense that they seem to address the same issue in the same way.
The current plan for alaska is basically to keep it fresh by fixing any new bugs encountered by the community (my organization (mavenlink inc.) has since moved on to other mechanisms for doing asset compilation in rails (webpack/yarn/etc) ... so there is very little momentum at the moment to add any new features.
The frontier of these two projects I think is getting a little bit more publicity and adoption within the community and also possibly enhancing solutions around "isomorphic rendering" / "server-side rendering" of JSX and what have you in newer hybrid rails/react applications.
I have attempted to use alaska as the experimental "backend" for a rails/react application (via https://github.com/reactjs/react-rails#server-side-rendering ) and ran into some issues with the nodejs process halting / crashing on long running processes which I imagine is just due to some missing garbage-collection / connection retry logic (and also could be caused by the environment my application was running in).
Long story short... I think either of these two projects actually would benchmark as the "fastest server-side react/jsx rendering engine" for future rails applications if we can work out the kinks.
Please let me know what your thougts are...

@diclophis Thanks for your input and benchmarking. I thought they looked similar in implementation and goals, but thought you would both have a better perspective.
Personally I tried execjs-fastnode for no particular reason, just had to choose one, and it seems to work great.
My use case is actually nothing to do with Sprockets (though I may also use it to speed that up!) I'm writing a Capybara driver for JSDOM, so booting up a new Node instance on every spec was crazy slow. With this method it's way faster, fantastic.
Also, the way Capybara chains methods I actually need persistent state (that these ExecJS drivers both provide). AKA visit page, find element, click it, query it's state. With the standard Node driver these steps all happen in their own Node so it doesn't work.
Finally, I tweak the node_runner.js to re-enable require() as I see no reason to disable it and the library I'm using doesn't work without.


Not working with solid-slack-bridge

When trying to use solid-slack-bridge with a Pivot instance instead of with an NSS instance, it logs an OIDC error:
><EMAIL_ADDRESS>start
> node dist/index.js

[INFO]  socket-mode:SocketModeClient:0 Going to establish a new connection to Slack ...
[13:36:30.980] INFO (39229): ⚡ Bolt app running on port http://localhost:7000
[13:36:30.983] INFO (39229): Express app running on port http://localhost:8000
[INFO]  socket-mode:SocketModeClient:0 Now connected to Slack
(node:39229) DraftWarning: The DPoP APIs implements an IETF draft (https://www.ietf.org/archive/id/draft-ietf-oauth-dpop-04.html). Breaking draft implementations are included as minor versions of the openid-client library, therefore, the ~ semver operator should be used and close attention be payed to library changelog as well as the drafts themselves.
(Use `node --trace-warnings ...` to show where the warning was created)
/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/openid-client/lib/helpers/process_response.js:38
      throw new OPError(response.body, response);
            ^

OPError: invalid_grant (grant request is invalid)
    at processResponse (/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/openid-client/lib/helpers/process_response.js:38:13)
    at Client.grant (/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/openid-client/lib/client.js:1327:22)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Client.callback (/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/openid-client/lib/client.js:476:24)
    at async AuthCodeRedirectHandler.handle (/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/@inrupt/solid-client-authn-node/dist/index.js:411:26)
    at async ClientAuthentication.handleIncomingRedirect (/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/@inrupt/solid-client-authn-node/dist/index.js:55:34)
    at async Session.handleIncomingRedirect (/Users/michiel/gh/pondersource/solid-slack-bridge/node_modules/@inrupt/solid-client-authn-node/dist/index.js:738:35) {
  error: 'invalid_grant',
  error_description: 'grant request is invalid'
}

Node.js v20.9.0

Hm, maybe this is not a problem with Pivot because https://github.com/tubsproject/solid-client works.


Why can't I reproduce the result in the paper?

@xinyadu
Hello, I run the code as required，just get trigger_classification: P=73.333	R=68.238	F1=70.694 when choose the best trigger question strategy (while the corresponding result P=71.12 R=73.70 F1=72.39 in the paper). Are there any other recommendation or parameter option to improve?

I meet the same question and I can not deal with it, could you give some advice on whether  there are  any other recommendation or parameter option to improve?


Neovim crashes when opening more than 5 buffers

When opening more than 5 buffers with icons enabled, Neovim gets terminated with the message realloc(): invalid next size.

Thanks for reporting this! I haven’t seen anything like this on my end, so could I ask you for a little more information to help debug this?

Does this always happen exactly with 6+ buffers, regardless of file name / extension?
What happens if you remove icons from your format? Is there still a limit on the number of buffers you can open before a crash?
Does the problem occur when you isolate the plugin?

It sounds to me like it may be a Neovim issue, since the plugin doesn’t do anything fancy with Lua, but more information could lead to a hint (or at least something more concrete that we can report upstream).

Your commit fixed the issue and it works fine. Closing the issue now. Thanks!