Anonymous evals in Chrome when //# sourceMappingURL... is used.

Hey all. Feel a bit cheeky as this appears to be more of a browser issue than a webpack issue, but thought I'd mention it here to see if others had run into the same thing while using webpack, and had any workarounds I hadn't thought of :smile:
We're bundling a big app that uses babel-loader for ES2015 -> ES5. In order to debug our source files and still get reasonably fast rebuilds, we're using the devtool: '#cheap-module-eval-source-map' option, which adds a //# sourceMappingURL... comment to the module eval blocks.
Unfortunately in Chrome, the eval blocks are anonymous for any Error.prototype.stack traces. We use Jasmine for testing, which outputs a stack trace when a test fails. Since this is anonymous, it makes debugging more difficult.
I tried hacking the EvalSourceMapDevToolModuleTemplatePlugin in order to name the eval blocks by adding a //# sourceURL... comment after the //# sourceMappingURL... comment. AFAIK this is what Coffeescript does? This had the desired effect in Firefox, but Firefox's slow load time was a big problem for us. In Chrome, the eval blocks were now named, but the DevTools console was showing the compiled source, so it seemed like it was just ignoring the //# sourceMappingURL... comment.
Any ideas or workarounds?
Some more relevant links:

console.log does not sourcemap exception stack traces
Feature Request: Sourcemap support

Not sure what the problem is.  Source maps should just work in the browser, with no additional help.  devtool: '#eval-source-map' seems to work for me. Can you simplify the problem a bit?

@adjavaherian it's actually a specific issue with V8 not supporting source maps for stack traces. The situation is described in node-source-map-support's README.md. I came across numerous related issues in the V8 issue list too.
I've recently managed to get this working how I like, with a combination of node-source-map-support and devtool: #cheap-module-inline-source-map. Just had to work around a couple of things:

evanw/node-source-map-support#93
evanw/node-source-map-support#68

Hope this information is useful for others. Will close this issue over the weekend :sweat_smile:

@adjavaherian Did you have any CORS issues using node-source-map-support? For me, it complains about the webpack:/// protocol, so it's a no-go.
Crazy that in 2015 this is still a painful problem.

What's adding the webpack:/// protocol?  I've never seen that.  All I do to add source maps is add devtool: '#eval-source-map' to the config, and all the modules get the right base64 source map.

@adjavaherian That's webpack putting that in:

You can see it talking about that in the docs:
http://webpack.github.io/docs/configuration.html
But, when I just tried to reproduce the CORS problem, I couldn't, and it worked! Not sure what was going on, but assuming it doesn't pop up again, thanks! First time I've seen sourcemaps for stacktraces in Chrome!
It only seems to work with cheap-module-inline-source-map for me though.
Have that weird Synchronous XMLHttpRequest on the main thread error when there's an exception, but that's a known thing, and I think it's only when there's an exception, so I can live with that.
Still messed up that we have to jump through these hoops. But thanks again!

@jdeal node-source-map-support will look for the last sourceMappingURL, which is why we are using #cheap-module-inline-source-map as well.

And yea I agree, I'm hoping V8 helps us out sometime soon too :smile:

Closing this as promised earlier. We have a working solution based on the information in this thread :+1:


i Enabled SingleChannel but not getting red line

hi,
i don't want to enable locate true ,i wanna enable single channel i adjusted the config but not getting red line

i think you'll have to draw that yourself.


Reference another app configuration item

In an App Configuration entry can I reference another entries value?
For example I have 2 app configuration entries. One called MyApi:Uri with value https://myapi.azurewebsites.net and I have an entry ReverseProxy:Clusters:MyApi:Destinations:destination1:Address. This value should also be https://myapi.azurewebsites.net but I would like to add/maintain it only once.
Note I am using one app configuration instance for several API's.

@beukerz, this is not supported natively by the App Configuration service today.
While I understand what you described could be useful, this is, however, often handled by the application or the framework depending on the type of the application. For example,

.NET doesn't have a concept/convention for one setting to reference another. .NET applications often use different variables referring to the same constant/setting to avoid duplication.
Spring does have the support for one setting to reference another. For example, users can create keys like setting2=${setting1} in their App Configuration store, and the value of setting2 will be resolved to the value of setting1 in a Spring application automatically.


Final.txt file

Where is this final.txt file in the installation instructions? There is no link to the file anywhere it is mentioned in the Readme

You can find one in the  2.0.4 pre-Release, but overall its just a txt with this line:
DISCORD_BOT_TOKEN = <YOUR TOKEN>
that has to be in the same folder as your amongusdiscord.exe

answered. closing.

Can this be linked to in the documentation since I'm guessing most users wouldn't think to look in closed issues about where a referenced file is? Or even just to mention to search the past releases for the latest version of the final.txt!


Suggestions on Concise Guide for Evaluating Open Source Software

I recently came across the Concise Guide for Evaluating Open Source Software! Really glad to see people talking about this topic. In my past experience I've seen a few other areas that I believe are important to this evaluation. Happy to open a pull request but thought I'd field some thoughts on the direction you'd like this page to take first, given that there's a competing goal to be concise :) Most of these are focused more around how software is to be used rather than the posture of the software on it's own as I've found those to be a bit more valuable than considering a piece of software at a particular point in time:

How do you intend to use the software? Is it a build or runtime dependency? Will the software be incorporated into a versioned deliverable to users or up for the user to update themselves? Pay attention to not only how you would update the software in your latest build particularly where your use case is a mobile or desktop application.

In the case that you only need some functionality of the software it may be helpful to understand the code structure in detail and only utilize specific portions of the software (e.g. classes, packages, modules, etc.) to solve your problem rather than the entirety of the software.
If you only need the software for a debug / pre-release or as part of the build process ensure it isn't being utilized as a runtime dependency

How will you become aware of updates to this software? Are there regular releases or only a mainline branch? How will you approach updating this software (every version, minor only, etc?)

If you are a significant user/contributor of this of software you may want to consider pre-release (embargoed) notice of future updates you can be ready to update.

Should a vulnerability be discovered, what can you to stop immediate bleeding? Can you degrade features, or disable functionality entirely?

Consider implementing configuration options or other means of disabling functionality supported by this software if possible.
In the event that a user is responsible for updating the dependency outside of your system, consider warning mechanisms to alert the user of out of date dependencies.
If the software is not distributed together, consider emitting information about the version of any dependencies at startup so that the user can easily understand what version(s) were picked up and whether a particular runtime instance might be vulnerable.

What happens if the software becomes unmaintained? Are there alternatives you could switch to? Could you take on maintenance of the open source project?

It may be valuable to attempt to spend some time understanding the software and making some basic modifications to prepare for the potential to need to need to maintain this software on your own.

What will you do if the software does not meet a requirement of your software (e.g. scale, durability, etc.)?

Your use-cases may not be amendable to the maintainer's aspirations for the project. Will you need to fork the software? If so, how will you ensure that your fork will not devolve far from the upstream's development progress?

Again, happy to iterate on this a bit more but more interested in your thoughts around the topic areas and potential to include them in such a guide?

Will do. I'm going to take some time to think through a more complete guide here as the above are some immediate things that come to mind that I've personally used or encouraged others to consider. There are probably a few more things that I'd want to add after some more thought.
One general open question at this point. The focus of my evaluation questions is more around how a developer intends to make use of the open source software rather than evaluating the software itself. Structurally I'd like to fit as many items alongside others in the current list (e.g. "how will you become aware of updates"), but some of the other items are very use-case specific and are things we might want to emphasize a little differently.
Specifically, I'm thinking about situations where a user of this guide might evaluate an open source project once and use it for many purposes and might overlook something important. For example the update rollout process of a mobile or desktop application with many users and a backend application managed by a few engineers is going to have significant timeliness differences that might warrant developing controls around (see previous remarks around "stop immediate bleeding").
Are there any particular thoughts around how the working group would want to structure use case related questions v.s. general evaluation questions? If not I'm happy to propose something once I've had some time to flush out a more complete criteria.

Will do. I'm going to take some time to think through a more complete guide...

This guide is supposed to be concise. If you have a lot of detail, I suggest creating a brief summary, then create a longer document with the "more complete" details for us to link to.

Will do. I'm going to take some time to think through a more complete guide...

This guide is supposed to be concise. If you have a lot of detail, I suggest creating a brief summary, then create a longer document with the "more complete" details for us to link to.

This would seem to be a good direction.  Concise directions that cover the ~80% of cases and additional detail guiding for everything else.

Several months have gone by since I opened this PR and unfortunately I am no longer able to contribute to Linux Foundation projects due to employment constraints. Seeing as there’s very little if anything to change I’ll go ahead and close out this PR and related issue as WONTFIX.


[iOS] Support JS reload for TransferUtility

When we reload js in iOS, the transferUtility upload/download will not work.

Hey @jhen0409 . Any plan to fix this issue?

@jhen0409, also like to follow up on this. The issue I'm having is not uploading issue (uploading) works fine, but the .subscribe, is not running after second upload. So I can not update the UI to verify that an upload has been completed.

Would love to get this to work again. Any plans to get this fixed soon?

anyone?

The problem is related to #27, I'll fix it on next Monday, a workaround here, we may add rememberLastInstance option (default: true) for setup. Sorry for long delay.
The goal is #10 but will not be right now.

great! Im eagerly waiting for the fix!


Chaincode Invocation Failure

Sir,
We are working on this project. When we are trying to execute the createTradeApp.js in the middleware, we are getting the chaincode invocation failure error.
Command:::::node createTradeApp.js
Error:::::::::
2019-03-14T04:48:26.138Z - info: [ClientUtils]:

Using temp dir: ../network/client-certs

(node:10257) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead
Successfully extracted the config update from the configtx envelope
Successfully enrolled user 'admin' for exporterorg
Successfully signed config as admin of exporterorg
Successfully enrolled user 'admin' for importerorg
Successfully signed config as admin of importerorg
Successfully enrolled user 'admin' for carrierorg
Successfully signed config as admin of carrierorg
Successfully enrolled user 'admin' for regulatororg
Successfully signed config as admin of regulatororg
Successfully enrolled user 'admin' for every org and obtained channel config signatures
Successfully enrolled user 'admin' for orderer
2019-03-14T04:48:26.587Z - error: [Orderer.js]: sendDeliver - rejecting - status:NOT_FOUND
Channel tradechannel does not exist yet (IGNORE ANY ORDERER ERROR MESSAGES YOU SEE ABOVE!!)
Successfully signed config update as orderer admin
Successfully created the channel.
Successfully waited to make sure new channel was created.

CHANNEL CREATION COMPLETE
Joining channel tradechannel
Successfully enrolled 'admin' user for org exporterorg
Successfully got the genesis block
TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/join-channel.js:141:22)
at
at process._tickCallback (internal/process/next_tick.js:189:7)
Joining channel tradechannel
Successfully enrolled 'admin' user for org importerorg
Successfully got the genesis block
TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/join-channel.js:141:22)
at
at process._tickCallback (internal/process/next_tick.js:189:7)
Joining channel tradechannel
Successfully enrolled 'admin' user for org carrierorg
Successfully got the genesis block
TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/join-channel.js:141:22)
at
at process._tickCallback (internal/process/next_tick.js:189:7)
Joining channel tradechannel
Successfully enrolled 'admin' user for org regulatororg
Successfully got the genesis block
TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/join-channel.js:141:22)
at
at process._tickCallback (internal/process/next_tick.js:189:7)

CHANNEL JOIN COMPLETE
Successfully enrolled user 'admin'
2019-03-14T04:48:33.018Z - info: [install-chaincode]: install proposal was good from peer grpcs://localhost:7051 in org exporterorg
Successfully sent install Proposal and received ProposalResponses to peers of org exporterorg
Successfully installed chaincode in peers of organization "exporterorg"
Successfully enrolled user 'admin'
2019-03-14T04:48:33.933Z - info: [install-chaincode]: install proposal was good from peer grpcs://localhost:8051 in org importerorg
Successfully sent install Proposal and received ProposalResponses to peers of org importerorg
Successfully installed chaincode in peers of organization "importerorg"
Successfully enrolled user 'admin'
2019-03-14T04:48:34.845Z - info: [install-chaincode]: install proposal was good from peer grpcs://localhost:9051 in org carrierorg
Successfully sent install Proposal and received ProposalResponses to peers of org carrierorg
Successfully installed chaincode in peers of organization "carrierorg"
Successfully enrolled user 'admin'
2019-03-14T04:48:35.725Z - info: [install-chaincode]: install proposal was good from peer grpcs://localhost:10051 in org regulatororg
Successfully sent install Proposal and received ProposalResponses to peers of org regulatororg
Successfully installed chaincode in peers of organization "regulatororg"
Installations succeeded

CHAINCODE INSTALL COMPLETE
Successfully enrolled user 'admin'
Failed to initialize the channel. TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:124:19)
at
Error: Failed to initialize the channel
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:169:9)
at
Error: Error: Failed to initialize the channel
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:169:9)
at
at Client.newDefaultKeyValueStore.then.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:243:9)
at

CHAINCODE INSTANTIATE COMPLETE
Error: Error: Error: Failed to initialize the channel
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:169:9)
at
at Client.newDefaultKeyValueStore.then.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:243:9)
at
at Client.newDefaultKeyValueStore.then.then.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/instantiate-chaincode.js:261:18)
at
Successfully loaded user Importer from persistence
Successfully enrolled user Importer
Failed to get submitter Importer. Error: TypeError: client.newEventHub is not a function
Error: Failed to get submitter Importer. Error: TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/invoke-chaincode.js:145:9)
at
Error: Error: Failed to get submitter Importer. Error: TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/invoke-chaincode.js:145:9)
at
at Client.newDefaultKeyValueStore.then.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/invoke-chaincode.js:241:9)
at

CHAINCODE INVOCATION FAILED: Error: Error: Error: Failed to get submitter Importer. Error: TypeError: client.newEventHub is not a function
at Client.newDefaultKeyValueStore.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/invoke-chaincode.js:145:9)
at
at Client.newDefaultKeyValueStore.then.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/invoke-chaincode.js:241:9)
at
at Client.newDefaultKeyValueStore.then.then.then.then.then (/home/hp/go/src/github.com/hyperledger/fabric/middleware/invoke-chaincode.js:267:9)
at
#####################################################
#####################################################
And we are running the Fabric version 1.1
We request you to help in this issue.
Thanks.

See other issues similar to this topic. See the README. The master version of this code is pegged to Fabric v1.1. Using that with a newer version of Fabric will result in errors like the above. If you are using Fabric v1.4 (the latest), try checking out the release-1.4 branch of this code.


Disable "--system-site-packages" in beam and perfkit virtualenv

This will prevent conflicts with local dependencies installed on jenkins executors we experienced now (fastavro) and can experience in the future.

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.


Expand test coverage in the utils/staticFileEtags.js file

https://coveralls.io/builds/8057449/source?filename=utils%2FstaticFileEtags.js Looks like it is covered about 93%...
Locally you can get this number by running npm test. That creates an output to console and the more useful coverage directory. In the coverage directory (run it with a static server like http-server) you can drill into the coverage in the browser and see exactly what lines are not tested currently.

closed by #372


Blind fix for CI failure

Blind attempt at fixing the CI/Linux build for incoming PRs.

This PR is now dependent on https://github.com/milostosic/rdebug/pull/1
I don't know if this dependency can be made explicit on GitHub...

It's possible to make a dependency explicit using git submodules.
I do use them but for a private repo that references all of the public ones... For MTuner, it would have to be a separate repo that sets this one and all dependencies as submodules.
Dealing with this is in my (low priority) TODO list...


Version for Windows Phone

Is it viable to create a version of RoslynPad for mobile devices?

You mean Windows Mobile, right? ;) It may be possible to create one based on Avalonia. But currently I'm focused on a Mac/Linux version.
May I ask why would you need such a thing?

Coding on the go on my Windows Mobile device would be really awesome! :-)

Closing for now, since Avalonia doesn't support UWP, and I don't have the resources to support yet another platform :)
Will reconsider in the future if that changes.


merge from arlac77/npm-package-template-esm-only

LICENSE

chore(license): add year 2020

Codecov Report

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

@@          Coverage Diff           @@
##           master   #1221   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files           1       1
  Lines          28      28
  Branches        5       5
======================================
  Hits           28      28

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 41ddd17...c936569. Read the comment docs.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


use SIMD in copy_match

the implementation is beautiful, but it does not actually help with our benchmarks. Overall copy_match is 1% to 2% of total runtime, so even though this should be faster, it really doesn't matter in the big picture.

idk, maybe this will be useful at some point, but for now we just cannot justify that much unsafe for no measurable gain.


Unify the error handling by removing pkg/errors

Currently, the repo has three kinds of packages to handle errors. See go.mod.
github.com/pingcap/errcode v0.0.0-20180921232412-a1a7271709d9
github.com/pingcap/errors v0.11.5-0.20190809092503-95897b64e011
github.com/pkg/errors v0.9.1

It's better to replace github.com/pkg/errors with github.com/pingcap/errors since they are almost the same except for some fixes and stack support.

Since we only use github.com/pkg/errors now, close it


Drop dependency on k8s.io/kubernetes

https://github.com/helm/helm/issues/6606
Depending on k8s.io/kubernetes is not recommended by Kubernetes, and
forces dependencies of Helm to also depend on them. We are only using
this dependency in one relatively isolated occurance, which can be
easily copied over rather than depending on the entire Kubernetes.
Copying this code is not very desirable, so if we don't want to have
this duplication we can at least use this PR as a PoC and see if we can
get Kubernetes to publish the controller package as a separate Go module
(see
https://github.com/kubernetes/kubernetes/issues/79384#issuecomment-538740756)
Closes https://github.com/helm/helm/issues/6606
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

This doesn't seem legally sound... Unless I'm mistaken, deploymentutil.go is copied from Kubernetes code, so we cannot claim copyright ownership of the file. This seems very similar to the same situation described in #5038.
Similar to https://github.com/helm/helm/pull/5038#issuecomment-474133510, can you please

move /pkg/kube/deploymentutil.go to a new directory: /third_party/k8s.io/kubernetes/deployment/util/deployment_util.go or something indicative that the code came from Kubernetes
Please place the full Apache license header comments from the source file. The end result should look identical to the code in Kubernetes
Add a comment stating where the original source code exists
If there are changes made to the original deployment_util.go file, please also add comments stating what changed, and why.

This way we have all our legal bases covered as advised from the CNCF legal team.
Thanks!

This doesn't seem legally sound... Unless I'm mistaken, deploymentutil.go is copied from Kubernetes code, so we cannot claim copyright ownership of the file. This seems very similar to the same situation described in #5038.

I was wondering about this. Thanks for the guidance on how to make this work, I'll send a fixup soon

pkg/kube has received several enhancements that make it useful to others trying to create/update/delete/watch objects similar to Helm, especially after #6085. Is there a particular reason it should it be made internal?

Oh right, I forgot that pkg/kube already existed. I do think we should consider keeping the methods in pkg/kube/deploymentutil.go private, or move the file to an internal package.
The rationale is that we can choose to make these new functions public at any time, but while they're internal we can always refactor to depend on kubernetes/kubernetes if this functionality becomes consumable in the future, without introducing a breaking change.

Good point.
@howardjohn, instead of /third_party/k8s.io/kubernetes/deployment/util/deployment_util.go, can you please move it to /internal/third_party/k8s.io/kubernetes/deployment/util/deployment_util.go? Much appreciated.

@bacongobbler I replaced the Helm license with the Kubernetes license and the license check fails. I added an exception to filter out third_party. Let me know if I should do something else instead, like adding both licenses

Is there anything else needed to get this merged?

@jlegrone is not a maintainer. Needs another LGTM from a project maintainer of Helm. I'll ping someone today to take a look at this.

Sounds good, thanks!

Please consider applying equivalent change to release-2.15 too. That would make migration easier, decouple steps - adopting Go modules and switch to helm v3 once available.

it won't be possible without breaking backwards compatibility, unfortunately. Many contributors have tried, which is why we had to target this for Helm 3.

I guess answer is same for release-2.16, correct?
Curious about backward compatibility being broken, this change internalizes a testing support package and removes no longer used transitive dependency on k8s.io/kubernets; if someone using helm as library used also directly k8s.io/kubernetes without specifying it as direct dependency, depending on helm to bring it in transitively, they should be able to easily fix their build tool dependency configuration and declare direct dependency to k8s.io/kubernetes - what am I missing here?

You're right that this change only makes one change to the public API for Helm 3. In Helm 2, the changes are a little more involved, which makes it incredibly difficult to remove that dependency without introducing breaking changes.
Hope this helps!


Add Gim logo and standardise :add examples

Codecov Report
Base: 68.52% // Head: 68.52% // No change to project coverage :thumbsup:

Coverage data is based on head (50479c2) compared to base (c90e481).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master     #195   +/-   ##
=========================================
  Coverage     68.52%   68.52%
  Complexity      505      505
=========================================
  Files            86       86
  Lines          1614     1614
  Branches        157      157
=========================================
  Hits           1106     1106
  Misses          450      450
  Partials         58       58

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

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


Obfuscated text fields should disable the IME autocorrect (iOS)

Internal: b/144379659
iOS beautifies punctuation automatically in text input fields, for example in my locale by turning "foo" into “foo” and 'bar' into ‘bar’. In another locale these might instead become «foo» and ‹bar›. Replacements also occur for sequences of dashes, for example -- becomes the em dash (—).
This feature is generally desirable (at least to me), but having control over it can be very useful in some situations. For example, I am developing an app that involves sending messages, which in some cases are sent over SMS (which has complex text encoding considerations) and in other cases directly via my servers (which simply use UTF-8). When I know the message will be sent over SMS, I would like to disable this feature on the text field, as even a single “smart quote” character will cause the entire message to be sent as UCS-2/UTF-16, costing the user twice as much per character.
Another example would be a TextField used for entering code, or for data entry, where the " character is not necessarily punctuation.
iOS provides the ability to control this functionality via methods on UITextInputTraits, specifically smartQuotesType and smartDashesType. I was unable to find an equivalent on Android, and my limited experience suggests that this type of automatic punctuation replacement isn’t a feature of Android.
Would a patch that adds support for controlling “smart punctuation” behaviour on TextField be accepted despite this functionality being (currently) specific to iOS?

This is a serious issue when entering password with a TextField. A user registering with an Android device and using " in its password will have trouble using the same app with an iPhone since he won't be able to enter the character " when signing in.

I agree this is a big problem.  I think Flutter should do two things:

Expose control of UITextSmartQuotesType and UITextSmartDashesType via two new parameters on TextField and CupertinoTextField.
Set these parameters by default when obscureText is true so that password fields avoid this problem by default.

The docs should state clearly that these two parameters do not affect Android.  If Android adds smart punctuation support in the future, hopefully these parameters can be used to cover both platforms.
See the enableSuggestions flag which does something similar for Android only.
See also this Apple forum thread.

@robertoscaramuzzi We're not sure we'll be able to make your deadline but we'll give it a go. :-)

The scope of the issue I opened seems to have been significantly narrowed, from exposing general control over smart quotes/dashes and the like to just disabling autocorrect on obfuscated fields.
Whilst I concede that 10 months has passed since I opened it :-), I still have a need for control over smart quotes/dashes in text fields in Flutter, though admittedly perhaps not enough of a need to submit a pull request yet.
Should I open another issue to track the general case?

I do intend to solve the original general case, unless I'm misunderstanding the full problem.  I intend to add two parameters to TextField that map to UITextInputTraits on iOS:
TextField(
  disableSmartQuotes: true,
  disableSmartDashes: true,
)

In addition, I plan to default both of these parameters to true when obscureText is true, so that people avoid this problem with passwords by default.
I may change the details but that seems reasonable right now.  Let me know if that doesn't cover everything for you.

Please use "enable" rather than "disable" to avoid "disable: true" which is confusing. See style guide.

All PRs for this are now LGTM.

As of https://github.com/flutter/flutter/pull/44923, fields with obscureText: true will automatically disable smart quotes and smart dashes.  If you want to manually do this, you can also pass smartDashesType: SmartDashesType.disabled and smartQuotesType: SmartQuotesType.disabled to any text field.


Add more data

Description

Add devices data in api and ui
Add browsers data in api and ui

Context
Should be merged after #91.
Screenshots

Pull Request Test Coverage Report for Build 339

52 of 86 (60.47%)  changed or added relevant lines in 7 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-1.5%) to 57.206%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/database/browsers.js
12
19
63.16%

src/database/devices.js
12
19
63.16%

src/routes/browsers.js
8
18
44.44%

src/routes/devices.js
8
18
44.44%

Totals

Change from base Build 336:
-1.5%

Covered Lines:
479

Relevant Lines:
725

💛  - Coveralls

Merged it. Thanks a lot for all the work! The quality of the PRs was 💯


Missing libpng-dev while trying to install custom tool with Nova and yarn

Is your feature request related to a problem? Please describe.
While installing yarn on a custom nova tools , this error popup :
"pngquant failed to build"
Describe the solution you'd like
Install Library in the Dockerfile of workspace if libpng is true on .env file
###########################################################################
# Libpng16 EXTENSION
###########################################################################

ARG INSTALL_LIBPNG=false

RUN if [ ${INSTALL_LIBPNG} = true ]; then \
    apt-get update && \
    apt-get -y install libpng16-16 && \
    apt-get -y install libpng-dev \
;fi

Describe alternatives you've considered
Install manualy
Additional context

I have a similar problem, I already set WORKSPACE_INSTALL_LIBPNG=true but when I do npm install it returns the following error:

can anybody help me? Thanks


Start renaming references to application references

Context
There’s a Rails method called references on associations:
https://apidock.com/rails/ActiveRecord/QueryMethods/references
Over the last months we’ve seen weird, unexplained, mysterious and peculiar behaviour where associations for references aren’t reloading. We’ve had to add a bunch of reload statements to the tests to make them pass.
It could very well be unrelated to the naming collisions - another culprit might be the default scope on references.
In any case, this renames the Reference model to ApplicationReference, which avoids the collision and make it consistent with the other models like ApplicationWorkExperience.
Changes proposed in this pull request
This commit does the least possible. It doesn’t rename the database table, and doesn’t rename the factory.
Guidance to review
Read through it.
Link to Trello card
https://trello.com/c/lQpwnQH2/372-find-out-why-we-need-to-reload-so-much-when-were-working-with-references

Yes!

What happens if you take out some reloads?

@duncanjbrown I will try that in a separate PR!


Bayes search takes several minutes to give new sample when existing results are present

I have a database with only 10 results in it so far (MongoDB if that matters). However, running chocolate.Bayes.next now takes several minutes. This does not happen if I have fewer complete results (i.e. including the loss), even if mixed with incomplete results. Is this a known issue?
Perhaps related, perhaps not, pip install from the git repo does not build the extension chocolate.mo.hv. There's no error, the build just doesn't happen. As a result I get the warning Using Python version of hypervolume module. Expect this to be slower.

Several minutes seems to be getting longer, easily >15 minutes for a database with only ~30 results. Can someone please help to explain what's happening here and what I can do to work around or fix it.

Switching to QuasiRandom instead of Bayes gives quite a speed up, so I assume this means my problem had too many dimensions for Bayes to handle (it was 56 dimensions, I guess that's too much). I guess this behaviour is expected, so I'm going to close this issue.


Version 3.11.2 issue with kwargs

Version 3.11.2 issue with kwargs
Today our CI started failing with the new version of rspec-mocks released. It seems that mocking the kwargs no longer has the same behavior
Your environment

Ruby version: 2.7.4
rspec-mocks version: 3.11.2

Steps to reproduce
I've provided a sample that is close to the behavior in our tests:
# frozen_string_literal: true

begin
  require "bundler/inline"
rescue LoadError => e
  $stderr.puts "Bundler version 1.10 or later is required. Please update your Bundler"
  raise e
end

gemfile(true) do
  source "https://rubygems.org"

  gem "net-ssh", "6.1.0"
  gem "rspec-mocks", "3.11.2"
  gem "rspec", "3.11.0"
end

puts "Ruby version is: #{RUBY_VERSION}"
require 'rspec/autorun'
require 'net/ssh'

RSpec.describe "Test" do
  let(:kwargs) { Hash.new }
  let(:user) { 'party_parrot' }
  let(:host) { 'host.com' }

  before(:each) do
    allow(Net::SSH)
      .to receive(:start)
            .with(host, user, **kwargs)
  end

  it do
    Net::SSH.start(host, user, **kwargs)
    expect(Net::SSH).to have_received(:start).with(host, user, **kwargs)
  end
end

Expected behavior
Previously, this test ran ok.
Test
 INFO  [84734] [17WK] === FINISHED EXAMPLE "Test is expected to have received start(\"host.com\", \"party_parrot\") 1 time" ./sample.rb:35
  is expected to have received start("host.com", "party_parrot") 1 time

Actual behavior
Now, we get a mocking error:
  1) Test
     Failure/Error: Net::SSH.start(host, user, **kwargs)

       Net::SSH received :start with unexpected arguments
         expected: ("host.com", "party_parrot", {})
              got: ("host.com", "party_parrot")
       Diff:
       @@ -1 +1 @@
       -["host.com", "party_parrot", {}]
       +["host.com", "party_parrot"]

        Please stub a default value first if message might be received with other args as well.
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-support-3.11.1/lib/rspec/support.rb:102:in `block in <module:Support>'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-support-3.11.1/lib/rspec/support.rb:111:in `notify_failure'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/error_generator.rb:327:in `notify'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/error_generator.rb:311:in `__raise'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/error_generator.rb:60:in `raise_missing_default_stub_error'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/proxy.rb:242:in `raise_missing_default_stub_error'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/proxy.rb:226:in `message_received'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/proxy.rb:366:in `message_received'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/method_double.rb:80:in `proxy_method_invoked'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/verifying_proxy.rb:161:in `proxy_method_invoked'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-mocks-3.11.2/lib/rspec/mocks/method_double.rb:64:in `block (2 levels) in define_proxy_method'
     # ./sample.rb:36:in `block (2 levels) in <top (required)>'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:263:in `instance_exec'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:263:in `block in run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:511:in `block in with_around_and_singleton_context_hooks'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:468:in `block in with_around_example_hooks'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:486:in `block in run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:626:in `block in run_around_example_hooks_for'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:352:in `call'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/webmock-3.18.1/lib/webmock/rspec.rb:37:in `block (2 levels) in <top (required)>'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:457:in `instance_exec'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:457:in `instance_exec'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:390:in `execute_with'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:628:in `block (2 levels) in run_around_example_hooks_for'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:352:in `call'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:629:in `run_around_example_hooks_for'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/hooks.rb:486:in `run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:468:in `with_around_example_hooks'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:511:in `with_around_and_singleton_context_hooks'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example.rb:259:in `run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:646:in `block in run_examples'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:642:in `map'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:642:in `run_examples'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/example_group.rb:607:in `run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `block (3 levels) in run_specs'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `map'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:121:in `block (2 levels) in run_specs'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/configuration.rb:2068:in `with_suite_hooks'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:116:in `block in run_specs'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/reporter.rb:74:in `report'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:115:in `run_specs'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:89:in `run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:71:in `run'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/lib/rspec/core/runner.rb:45:in `invoke'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/gems/rspec-core-3.11.0/exe/rspec:4:in `<top (required)>'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/bin/rspec:23:in `load'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/bin/rspec:23:in `<main>'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/bin/ruby_executable_hooks:22:in `eval'
     # /Users/vbrown/.rvm/gems/ruby-2.7.4@captain/bin/ruby_executable_hooks:22:in `<main>'

This seems like an unrelated issue @btalbot .Can you please open a separate issue providing a reproduction example?
So are you saying that if you File.read('someotherfile') in your spec, it would also return 'my file contents'?

@vibro Thanks for reporting.

started failing with the new version of rspec-mocks released

What was the previous version of rspec-mocks that worked as expected for you?

I have a similar issue. Version 3.11.1 works without errors

@vibro At a glance, I could find #1394. Could you read comments there to see if there's an explanation to this behavioural change.
@rus-max What is the Ruby version that you're using? Can you provide an example of your code? I don't understand if "similar" refers to kwargs or allow...to receive...with with positional arguments.

ruby 3.1.2
allow(instance_double_class).to receive(:post).with(instance_of(MyClass), **params).and_return(stubbed_params)

     Failure/Error:

       #<InstanceDouble(InstanceDoubleClass) (anonymous)> received :post with unexpected arguments
         expected: (an_instance_of(MyClass), {:id=>0, :method=>"method", :params=>{:param1=>"param1"}})
              got: (#<Myclass foo="foo", bar="bar">, {:id=>0, :method=>"method", :params=>{:param1=>"param1"}})
       Diff:
       @@ -1,4 +1,4 @@
       -["an_instance_of(MyClass)",
       +[#<Config::Options foo="foo", bar="bar">,
         {:id=>0,
          :method=>"method",
          :params=>{:param1=>"param1"}}]

        Please stub a default value first if message might be received with other args as well.

Make sure you are not passing hashes as kwargs, this is not valid on Ruby 3 and is now detected correctly (but the diff doesn't show the delta correctly on 3.11, that will come in a minor version bump)

@rus-max I suggest you to check #1473 for some information regarding instance_double(...) changes.

What was the previous version of rspec-mocks that worked as expected for you?

3.11.1 works just fine.
I can update the code/change the behavior but this isn't something I would expect to change/break in a patch release.

Our support for keyword arguments isn't as good as it could be, a lot of usage such as yours has historically just worked due to implementation details of Ruby (mainly that keyword arguments carried over in splats and thus allowed usage in method calls and blocks transparently) with a bunch of edge case uses not being tested due to maintainers (including myself) not invisioning how they were used.
In Ruby 3 that changed and theres has had to be changes (which are mostly investigating and declaring ruby2_keywords correctly) to allow proper keyword arguments to be verified and treated differently to hashes (as in Ruby 3 you cannot mix splats).
In this case it appears that Net::SSH.start does not take keyword arguments, it takes three positonal arguments (from https://github.com/net-ssh/net-ssh/blob/master/lib/net/ssh.rb#L216):
def self.start(host, user = nil, options = {}, &block)

So its non standard to be passing keyword arguments to via **kwargs to this and is evidently tripping up some of our keyword detection, I won't revert that change, but as this seems to work on a standard method in Ruby 3.1:
def a_method(a, b, hash = {})
  puts hash.inspect
end
a_method(1, 2, **{is_this_a_hash: :or_is_this_just_fantasty})

I would accept a PR helping to improve that detection.

Oddly I can't replicate this within our test suite on either 2.7.4, 2.7.5 or 3.1.0, and your reprodction passes on all three versions here (Mac OS), are you sure it fails in your environment?
ruby net_ssh_error_spec.rb
Fetching gem metadata from https://rubygems.org/....
Resolving dependencies...
Using bundler 2.2.32
Using diff-lcs 1.5.0
Fetching net-ssh 6.1.0
Using rspec-support 3.11.1
Using rspec-core 3.11.0
Using rspec-expectations 3.11.1
Fetching rspec-mocks 3.11.2 (was 3.11.1)
Installing rspec-mocks 3.11.2 (was 3.11.1)
Installing net-ssh 6.1.0
Using rspec 3.11.0
Ruby version is: 3.0.3
.

Finished in 0.00422 seconds (files took 0.03447 seconds to load)
1 example, 0 failures

➜  RSpecSandbox vim .tool-versions
➜  RSpecSandbox ruby net_ssh_error_spec.rb
Fetching gem metadata from https://rubygems.org/....
Resolving dependencies...
Using bundler 2.3.3
Fetching net-ssh 6.1.0
Fetching rspec-support 3.11.1
Fetching diff-lcs 1.5.0
Installing rspec-support 3.11.1
Installing diff-lcs 1.5.0
Installing net-ssh 6.1.0
Fetching rspec-core 3.11.0
Fetching rspec-mocks 3.11.2 (was 3.11.1)
Fetching rspec-expectations 3.11.1
Installing rspec-core 3.11.0
Installing rspec-expectations 3.11.1
Installing rspec-mocks 3.11.2 (was 3.11.1)
Fetching rspec 3.11.0
Installing rspec 3.11.0
Ruby version is: 2.7.5
.

Finished in 0.00363 seconds (files took 0.02192 seconds to load)
1 example, 0 failures

➜  RSpecSandbox vim .tool-versions
➜  RSpecSandbox ruby net_ssh_error_spec.rb
Fetching gem metadata from https://rubygems.org/....
Resolving dependencies...
Using bundler 2.1.4
Warning: the running version of Bundler (2.1.4) is older than the version that created the lockfile (2.4.0.dev). We suggest you to upgrade to the version that created the lockfile by running `gem install bundler:2.4.0.dev --pre`.
Fetching diff-lcs 1.5.0
Installing diff-lcs 1.5.0
Fetching net-ssh 6.1.0
Installing net-ssh 6.1.0
Fetching rspec-support 3.11.1
Installing rspec-support 3.11.1
Fetching rspec-core 3.11.0
Installing rspec-core 3.11.0
Fetching rspec-expectations 3.11.1
Installing rspec-expectations 3.11.1
Fetching rspec-mocks 3.11.2 (was 3.11.1)
Installing rspec-mocks 3.11.2 (was 3.11.1)
Fetching rspec 3.11.0
Installing rspec 3.11.0
Ruby version is: 2.7.4
.

Finished in 0.00459 seconds (files took 0.02252 seconds to load)
1 example, 0 failures

I can confirm we have this in our spec helper:
  config.mock_with :rspec do |mocks|
    # Prevents you from mocking or stubbing a method that does not exist on
    # a real object. This is generally recommended, and will default to
    # `true` in RSpec 4.
    mocks.verify_partial_doubles = true
  end

An even futher odditiy is it seems to be specifically the Hash.new that is causing the issue, a non empty hash does not trigger the snippet.

delegate({}) # => [{}] in Ruby 2.6 & 3, but [] in Ruby 2.7! (with a warning)

See the famous blog post.
In Ruby 2.7:
def foo(*args)
  puts args.inspect
end

foo(**{}) # outputs `[]`

with is defined with (*args).
This is the cause that
have_received(:start).with(host, user, **kwargs)

it the same as
have_received(:start).with(host, user)

But since the original method is defined with options = {}, and calling it with **{} sets options to its default {}.
According to git bisect it's not #1394 that breaks this case, but #1473
I've debugged this a bit, and it seems that the {} part of args was disappearing here.
Adding ruby2_keywords :proxy_method_invoked fixes the snippet from the description. 🎉
This has already been fixed here.
But something else was fixed along the way, and the failure on main is now quite the opposite:
# 3.11.2
       Net::SSH received :start with unexpected arguments
         expected: ("host.com", "party_parrot", {})
              got: ("host.com", "party_parrot")

#main
       (Net::SSH).start("host.com", "party_parrot")
           expected: 1 time with arguments: ("host.com", "party_parrot")
           received: 0 times

I'm closing this during the monorepo migration as we do have a plan to further work on keyword argments in RSpec 4, and there are a bunch of issues I'm transfering but I think this is either fixed or a duplicate at this point.


Make ExceptionAttempt and ResultAttempt public

I'm in (much belated) process of upgrading my company's codebase to 2.0.0. In doing so, I found that I had to copy-past these class definitions into our code in order to use them, so I thought that they'd be useful to expose.
I think that it could also make sense to demote these back to static classes and expose via factory methods:
public class Attempts {
  public static <R> Attempt<R> exceptionAttempt(Throwable cause, long attemptNumber, long delaySinceFirstAttempt) {
    return new ExceptionAttempt<R>(cause, attemptNumber, delaySinceFirstAttempt);
  }

  public static <R> Attempt<R> resultAttempt(R result, long attemptNumber, long delaySinceFirstAttempt) {
    return new ResultAttempt<R>(result, attemptNumber, delaySinceFirstAttempt);
  }
}

Let me know what you think: I'll happily iterate on this as desired!
@rholder

I think the build is failing trying to run under Guava 21.


Evocation icon distorted in L3 variant

The icon for evocation spellscholl is distorted when using the L3 variant of the package. Some lines are printed outside of the bounding box of the icon. Expected behaviour: same output as with the PGF variant.
Also, the damage frame and the spellschool frame behave differently when using the L3 variant. The damage frame appears to be printed smaller, while the default setting of the spellschool frame is positive when using the L3 variant while it is negative when using the PGF variant. Expected behaviour: same output for both variants.

Fixed with version 1.8.4.


feat: allow custom Model3D poster

Description
Hey @cathryngriffiths! Didn't get this one merged before the repo change.
Additional context
The Model3D component currently uses the previewImage as the poster. A poster prop would allow for a custom poster image instead of using Shopify's auto-generated image.

Before submitting the PR, please make sure you do the following:

[x] Add your change under the Unreleased heading in the package's CHANGELOG.md
[x] Read the Contributing Guidelines
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[x] Update docs in this repository for your change, if needed

I don't think so @cartogram. LMK if I'm missing something 🤔

@scottdixon did you change the readme manually? That file is autogenerated (note the comment at the top).

@cartogram 🤦 TIL, thanks! https://github.com/Shopify/hydrogen/pull/275


Possible bug: TypeError: Object has no member 'append'

So I am trying somethin new again, and I think I found bug this time... happens when there are 2 strings in order by
try {
            const layout_records = arrayOf(new Record)
            $app.dao().recordQuery("layouts")
            .where($dbx.hashExp({
                "page": page_id,
            }))
            .andOrderBy("piority ASC","created DESC")
            .all(layout_records)
            layout_records.forEach(e => {
                ids.append(e.get("id"))
            });
        } catch (error) {
            console.log(error)
        }

What is ids?

If ids is an array, then try with push().
If ids is a custom object/class, make sure that the method is existing.
If that's not the case, please create a minimal reproducible repo and I'll have a look.

funny thing is that it was working without order by

andOrderBy and the forEach methods doesn't apply on the same object so they shouldn't affect each other.
I guess it will not throw an error if the query doesn't return layout_records items, aka. when the forEach callback is not invoked.


Bug/fix collapse nav mobile

Description of the fix

Set the toggle property to false when collapsing the nav menu.
Add an on-click event for each anchor when the width is minor to 992 px and set scroll margin-top to nav bar height to facilitate user navigation through sections
Reset scroll margin-top property for the Quick Navigate feature on mobile devices

Fixes #29

Thanks for your contribution @nujovich , Happy Coding ♥.


Adding more information about NFT for new Users.

Is your feature request related to a problem? Please describe.
As Non-Fungible Tokens (NFTs) are an emerging form of investment, many new users would not be able to understand the concept behind it and how KodaDot is working on this as a platform.
Describe the solution you'd like
While many users do their own research, it would be a great idea to add literature about NFTs in the FAQs and Tutorials.
To start with, hyperlinking other articles on NFT would be a great start, we can always come up with our own write-up in the future. The same can be applied to videos and other media.
Describe alternatives you've considered
We can also have ambassadors and influencers talking about NFT and KodaDot but that can be done in a later milestone.
Link
Linked to #647

Question "What are NFTS?" was added both to  on main page and to .

#1604

Will soon add more thorough explanation of NFTs to  which we can use to easily explain nfts to newcomers, friends, family, influencers.
CC: https://github.com/kodadot/docs/issues/2


Core tools image_id in plugin_manifest file isn't correct

verified the issue is when pulling images from the registry - the digest sha256 doesn't match the ID sha256 for whatever reason.


Add BetaGeoBetaBinomModel

The BG/BB model is to my knowledge the only one out there for Discrete Time, Non-Contractual modeling. However, a lot of people don't realize this model is for a different use case than the others in lifetimes (myself included when I first started using the library). Maybe rename the model class to DiscreteNonContractModel for clarity instead?
https://www.brucehardie.com/papers/020/fader_et_al_mksc_10.pdf
Equation (14) on page 6 of the research paper is an expression for discounted present value of all expected future transactions, which is an interesting alternative to the current customer_lifetime_value implementation.
This model could possibly even be hacked to include covariates per these papers, though I confess I haven't gone through the math in detail yet:
https://www.brucehardie.com/notes/019/time_invariant_covariates.pdf
https://www.brucehardie.com/notes/037/time-varying_covariates_in_BG.pdf

Great idea!

@ColtAllen thanks for surfacing this one! Do you have a sense of prioritization on BG/BB & extensions against other enhancements?

@alexwilde01 I'm currently working on https://github.com/pymc-labs/pymc-marketing/pull/177 and targeting to have it done by 11-Mar. It has some changes which are relevant to BG/BB, so once that's done I'll start on this next.

https://github.com/pymc-labs/pymc-marketing/pull/177 has some additional complexities to work out, and the aspects impacting BG/BB can be done in a separate PR. I'll start on this tomorrow.

Expressions 15, 16 & 17 on pages 6-7 of the paper provide marginal posterior distributions for the transaction and churn rates, and product moment (ie, correlation), respectively. The correlation expression is certainly worth adding, but what about the marginal posteriors?

@ColtAllen is this good to close?

Yes (sorry, I thought this would auto-close when the PR was merged).


Fire shader

Ideally you'd just have the one fire shader for objects and re-use that so you don't need to manually handcraft stuff.

Dupe of #2198