Support github: protocol with hash

@robertohuertasm Had a report from a user that parsing was failing with:
Error:   × Error parsing yarn.lock file
  ╰─▶ Parsing Failure: VerboseError { errors: [("version is empty for an entry", Nom(Fail))] }

Turns out they were using a github: protocol, like this "http-proxy": "github:settlemint/node-http-proxy#master".
Looks like Bun's format is slightly different than Yarn here, but was easy to support.

@milesj your change has been deployed already to crates.io 👍🏻 🚀

Thanks!


Add two passing and one failing unit tests for GPG signing

Failing test is due to not honoring key or signature expirations

I read through the Go crypto lib code a bit and it barely tries to enforce expirations for either signatures or keys. It does provide a method hasExpired := subkey.SelfSignature.KeyExpired(time.Now()) where you can check if a key has expired, so at least there seems to be a path to fix that. I'm not entirely sure if it's supposed to be the responsibility of the caller, or the library.
I read a bit through the https://github.com/ProtonMail/gopenpgp and it's different enough, it might assert expirations but it's hard to be sure without actually using it. Big question is, how do we assess how good a PGP library is?

I marked the failing test to be skipped, assuming you don't want red builds.


Added its modifier to use with inference

"take air past end of its line"
Fixes #736
Fixes #571
Checklist

[x] I have added tests
[x] I have updated the docs and cheatsheet

I'm fine with your changes, but I'm starting to lean towards just not doing documentation and leave that up to you ;)
Let talk about the migration path tomorrow.

I'm starting to lean towards just not doing documentation and leave that up to you ;)

haha I do tend to do a bit of tweaking.  super helpful to have the rough draft tho. tbh I don't think I changed that much; just moved it to a different section and did a bit of word-smithing


Adjusting the permissions node for the /rtp command

Remove the original permission node huskhomes.command.rtp.world and add the permission node huskhomes.command.rtp., where  can be changed to any of the server's worlds, and this permission node can grant the player the permission to be randomly teleported to a specified world

Corresponds to issue #625

Resolved in the latest commit


Use i18n instance from uikit

We should use one instance of i18n in all packages that completely depend on uikit

[x] https://github.com/gravity-ui/components
[x] https://github.com/gravity-ui/navigation
[ ] https://github.com/gravity-ui/chartkit
[x] https://github.com/gravity-ui/dashkit
[x] https://github.com/gravity-ui/blog-constructor
[x] https://github.com/gravity-ui/page-constructor

Example

@korvin89 Will chartkit be updated?

@korvin89 Will chartkit be updated?

@amje  Yep, in the next major

Closing this. Last issue recreated in chartkit repo: https://github.com/gravity-ui/chartkit/issues/494


Incomplete update to use go-github v50

Unfortunately the current release is still 2.1.0 and has not been updated since the change to use go-github v50. As a result I still end up with v45 pulled in. Unless I want to build ghinstallation from source.

Apologies @Marakai I've merged in the latest v50 references and tagged release https://github.com/bradleyfalzon/ghinstallation/releases/tag/v2.2.0

thank you, that should clean up our go.mod a bit :)


Added Configurator button to Livearea assets.

From https://github.com/Rinnegatamante/ff4_vita

FF3 has configurator app reachable from Preferences button in main menu.

Wouldn't hurt to also have it on Livearea


Tag allowed_values order difference results in repeated apply

Provider Version
v0.64.0
Terraform Version
v1.4.6
Describe the bug
Somehow the order of the "allowed_values" property of a snowflake_tag resource is resulting in a repetitive modification upon "snowflake apply"
Screenshot for clarification:

Expected behavior
I would expect that either:

It would understand that the allowed_values are identical even with a different order, or
It would succeed in modifying the order of values to resolve the needed modification.

My preference would be #2 (if it doesn't harm tag associations) and #1 if tag associations would be harmed.
Code samples and commands
Please add code examples and commands that were run to cause the problem.
My code:
resource "snowflake_tag" "controller" {
  name           = "controller"
  database       = snowflake_database.DEV_DW_DB.name
  schema         = snowflake_schema.DBT_STAGING.name
  allowed_values = ["terraform","dbt","manual"]
}

Snowflake's state:
resource "snowflake_tag" "controller" {
  name           = "controller"
  database       = snowflake_database.DEV_DW_DB.name
  schema         = snowflake_schema.DBT_STAGING.name
  allowed_values = ["dbt","manual","terraform"]
}

Add any other context about the problem here.
Oddly, when I do a terraform destroy and then terraform apply it still doesn't resolve this order difference, almost as those the order is being cached somewhere (possibly in Snowflake?)

This is also similar to #1498

@chrisweis I do have an unrelated question but are you tagging objects based on what system is creating them? I have been thinking about doing it because I think it would be easier to identify what owns an object.

Hi @culpgrant yes, exactly!  Ialso have other systems that control schema content (FiveTran, Segment, etc).  I was experimenting with tags for tracking where object control originates, but I'm starting to think that Snowflake ownership is probably enough (ex: TERRAFORM_ROLE is owner of the objects it controls while DBT_ROLE is owner of other objects it controls).  I'm working through the boundary between Terraform and dbt (especially for grants).

Yes interesting! I had the same idea and then decided that seeing the owner in Snowflake was enough.
I think the tags are a good idea though.

Hi @chrisweis @culpgrant   👋
We've just released v0.99.0 (release, migration guide) in which we reworked tags. This issue should be fixed. Please upgrade to this version and let us know if you have any issues.


Allow psr/log 3

#1587 enabled psr/log 2, but let's not stop there. 🚀

Thanks, I'll make another release soon

Did some more interface upgrades (in phpdoc for now) in https://github.com/Seldaek/monolog/commit/437e7a1c50044b92773b361af77620efb76fff59 - I hope that makes sense.

2.3.4 is out if you want to try again @fabpot

Perfect! Thank you.


Unable to import Generic Kubernetes Cluster on Rancher v2.6.

Rancher Server Setup

Rancher version:

Stable/latest
docker run -d --restart=unless-stopped   -p 80:80 -p 443:443   --privileged   rancher/rancher:stable

Installation option (Docker install/Helm Chart):

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details:

No proxy

Information about the Cluster

Kubernetes version:
Cluster Type (Local/Downstream):

Downstream installed using kubeadm on Bare MetalClient Version: v1.21.8
Server Version: v1.21.8

Describe the bug
On running curl --insecure -sfL https://rancher.example.local/v3/import/tw42v2mdckhnm9p9s675vnk4rm7vtj7whwr6cgffk7lgqdrdfx8xsc_c-m-rj7pvd4w.yaml | kubectl apply -f - the generic cluster should join the Rancher. However, it does not and keeps always in pending state.
There is no proxy server between the cluster and the rancher server. Also, if the rancher version is 2.5.4, it works perfectly fine.
To Reproduce

Install a Kubernetes Cluster on a Bare metal using kubeadm
Install a rancher server using docker version: latest/stable/ 2.6
Import the Kubernetes cluster to the rancher server
All the VMs (running Debian buster) are created on Debian Bullseye host running KVM and libvirt provisioned using terraform.

Result
Expected Result
Kubernetes cluster to be imported to the Rancher.
Screenshots
kubectl get all -n cattle-system
NAME                                        READY   STATUS    RESTARTS   AGE
pod/cattle-cluster-agent-84fb5bb984-r6n5t   1/1     Running   0          21m

NAME                           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
service/cattle-cluster-agent   ClusterIP   <IP_ADDRESS>   <none>        80/TCP,443/TCP   16h

NAME                                   READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/cattle-cluster-agent   1/1     1            1           16h

NAME                                              DESIRED   CURRENT   READY   AGE
replicaset.apps/cattle-cluster-agent-84fb5bb984   1         1         1       21m

Logs of the cattle-cluster-agent:
kubectl logs cattle-cluster-agent-84fb5bb984-r6n5t -n cattle-system
kubectl logs cattle-cluster-agent-84fb5bb984-r6n5t -n cattle-system
INFO: Environment: CATTLE_ADDRESS=<IP_ADDRESS> CATTLE_CA_CHECKSUM=8464dde7dbb0f08913a9566c37a9de4c0052b687927b543c33dedadf81e7134e CATTLE_CLUSTER=true CATTLE_CLUSTER_AGENT_PORT=tcp://<IP_ADDRESS>:80 CATTLE_CLUSTER_AGENT_PORT_443_TCP=tcp://<IP_ADDRESS>:443 CATTLE_CLUSTER_AGENT_PORT_443_TCP_ADDR=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_PORT_443_TCP_PORT=443 CATTLE_CLUSTER_AGENT_PORT_443_TCP_PROTO=tcp CATTLE_CLUSTER_AGENT_PORT_80_TCP=tcp://<IP_ADDRESS>:80 CATTLE_CLUSTER_AGENT_PORT_80_TCP_ADDR=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_PORT_80_TCP_PORT=80 CATTLE_CLUSTER_AGENT_PORT_80_TCP_PROTO=tcp CATTLE_CLUSTER_AGENT_SERVICE_HOST=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_SERVICE_PORT=80 CATTLE_CLUSTER_AGENT_SERVICE_PORT_HTTP=80 CATTLE_CLUSTER_AGENT_SERVICE_PORT_HTTPS_INTERNAL=443 CATTLE_CLUSTER_REGISTRY= CATTLE_INGRESS_IP_DOMAIN=sslip.io CATTLE_INSTALL_UUID=4a9d48d4-5351-4a23-bec8-57cbec62edd7 CATTLE_INTERNAL_ADDRESS= CATTLE_IS_RKE=false CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-84fb5bb984-r6n5t CATTLE_SERVER=https://rancher.bitvijays.local CATTLE_SERVER_VERSION=v2.6.3
INFO: Using resolv.conf: search cattle-system.svc.cluster.local svc.cluster.local cluster.local bitvijays.local nameserver <IP_ADDRESS> options ndots:5
INFO: https://rancher.bitvijays.local/ping is accessible
INFO: rancher.bitvijays.local resolves to <IP_ADDRESS>
INFO: Value from https://rancher.bitvijays.local/v3/settings/cacerts is an x509 certificate
time="2021-12-27T19:56:01Z" level=info msg="Listening on /tmp/log.sock"
time="2021-12-27T19:56:01Z" level=info msg="Rancher agent version v2.6.3 is starting"
time="2021-12-27T19:56:06Z" level=info msg="Connecting to wss://rancher.bitvijays.local/v3/connect/register with token starting with tw42v2mdckhnm9p9s675vnk4rm7"
time="2021-12-27T19:56:06Z" level=info msg="Connecting to proxy" url="wss://rancher.bitvijays.local/v3/connect/register"
time="2021-12-27T19:56:16Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp: i/o timeout"
time="2021-12-27T19:56:16Z" level=error msg="Remotedialer proxy error" error="dial tcp: i/o timeout"
time="2021-12-27T19:56:26Z" level=info msg="Connecting to wss://rancher.bitvijays.local/v3/connect/register with token starting with tw42v2mdckhnm9p9s675vnk4rm7"
time="2021-12-27T19:56:26Z" level=info msg="Connecting to proxy" url="wss://rancher.bitvijays.local/v3/connect/register"
time="2021-12-27T19:56:36Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp: i/o timeout"
time="2021-12-27T19:56:36Z" level=error msg="Remotedialer proxy error" error="dial tcp: i/o timeout"

Read https://github.com/rancher/docs/issues/2286, https://github.com/rancher/rancher/issues/24876 and thought that maybe if we specify NO_PROXY environment with the ip_address of the rancher server, it should work. However, It seems that currently, rancher image does not respect the NO_PROXY environment.
We set the environment variable using
          - name: CATTLE_INGRESS_IP_DOMAIN
            value: sslip.io
          - name: NO_PROXY
            value: <IP_ADDRESS>,<IP_ADDRESS>

However, when checked using the logs, it seems it does not accepts the NO_PROXY environment variable.
kubectl logs cattle-cluster-agent-7988759d55-th2lj -n cattle-system -f
INFO: Environment: CATTLE_ADDRESS=<IP_ADDRESS> CATTLE_CA_CHECKSUM=c0923901cefe032b6b642ba667979ac3d91eb6313fab985de7aa28b7b56fe96e CATTLE_CLUSTER=true CATTLE_CLUSTER_AGENT_PORT=tcp://<IP_ADDRESS>:80 CATTLE_CLUSTER_AGENT_PORT_443_TCP=tcp://<IP_ADDRESS>:443 CATTLE_CLUSTER_AGENT_PORT_443_TCP_ADDR=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_PORT_443_TCP_PORT=443 CATTLE_CLUSTER_AGENT_PORT_443_TCP_PROTO=tcp CATTLE_CLUSTER_AGENT_PORT_80_TCP=tcp://<IP_ADDRESS>:80 CATTLE_CLUSTER_AGENT_PORT_80_TCP_ADDR=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_PORT_80_TCP_PORT=80 CATTLE_CLUSTER_AGENT_PORT_80_TCP_PROTO=tcp CATTLE_CLUSTER_AGENT_SERVICE_HOST=<IP_ADDRESS> CATTLE_CLUSTER_AGENT_SERVICE_PORT=80 CATTLE_CLUSTER_AGENT_SERVICE_PORT_HTTP=80 CATTLE_CLUSTER_AGENT_SERVICE_PORT_HTTPS_INTERNAL=443 CATTLE_CLUSTER_REGISTRY= CATTLE_INGRESS_IP_DOMAIN=sslip.io CATTLE_INSTALL_UUID=9ac14868-1948-4d3b-a080-8c684b465454 CATTLE_INTERNAL_ADDRESS= CATTLE_IS_RKE=false CATTLE_K8S_MANAGED=true CATTLE_NODE_NAME=cattle-cluster-agent-7988759d55-th2lj CATTLE_SERVER=https://rancher.bitvijays.local CATTLE_SERVER_VERSION=v2.6.3
INFO: Using resolv.conf: search cattle-system.svc.cluster.local svc.cluster.local cluster.local bitvijays.local nameserver <IP_ADDRESS> options ndots:5
INFO: https://rancher.bitvijays.local/ping is accessible
INFO: rancher.bitvijays.local resolves to <IP_ADDRESS>
INFO: Value from https://rancher.bitvijays.local/v3/settings/cacerts is an x509 certificate

Additional context

I also encountered this problem

still countering this in v2.6.5

I confirm that this problem still persists.
I want to import a Digital Ocean Kubernetes cluster in Rancher 2.6.5. The cattle-cluster-agent pod in the cattle-system namespace starts, but gets stuck here:
time="2022-06-30T10:46:12Z" level=error msg="Failed to dial steve aggregation server: websocket: bad handshake"


Problem retrieving user email

I have used this script before and:
email  = msg.message.user.pagerdutyEmail || msg.message.user.email_address
used to work and picked up Slack users emails from msg.message.user.email_address
I recently changed bot and it no longer works, it seems as if msg.message.user.email_address returns "undefined"

changed msg.message.user.email_address to msg.message.user.profile.email which fixed it

Hmm. The slack adapter (or Hubot core) should be disambiguating this as much as possible so that there is One True Way™ to get the email address for a user.

I think it depends on what version of slack adapter you use, the newer one (^4.0.0) requires msg.message.user.profile.email


Readme describe incorrect arg

The README.md incorrectly lists --ignore-name-clash but should actually be --ignore-name-clashes.

Addressed by https://github.com/odeke-em/drive/pull/381. Good catch @cacack!


Add clippy to CI

This patch fixes or disables the lints currently raised by clippy and adds clippy to the CI.

Strong agree on adding clippy.

@nickray @alistair23 Could you bump the rust-toolchain.toml for solo2 to 1.62.0 or later?  This would fix the firmwares integration test in the CI for this PR.


Accept source build patches

Clean git am -3 of https://github.com/dotnet/source-build/tree/4d680d106b9987ef28c66cc3491e88714fcffbe9/patches/msbuild

Skip building for netfx in source build
Build localization package in source build

cc @NikolaMilosavljevic @dseefeld @crummel
Fix #4589
Fix #4428

Thanks for getting these in!


wagmi hooks, lots of notes, working hooks/login flow, edits to isOwner

Description
Added all wagmi hooks we should need and left notes

useContractRead for isOwner and doesEmployeeExist working.
Login flow updated and working.


KOGITO-3073 Kafka persistence addon

Assembly:

https://github.com/kiegroup/kogito-runtimes/pull/825
https://github.com/kiegroup/kogito-examples/pull/393
https://github.com/kiegroup/kie-docs/pull/3178

jenkins please retest this

jenkins please retest this

jenkins please retest this

jenkins please retest this

jenkins please retest this

Build finished. 1779 tests run, 61 skipped, 0 failed.

@danielezonca @tiagodolphine finally green!

The Linux check has failed. Please check the logs.

jenkins please retest this

The Linux check has failed. Please check the logs.

I put the failing node offline ...
Jenkins restest this

The Linux check has failed. Please check the logs.

and again
Jenkins restest this

The Linux check has failed. Please check the logs.


https on local machine using node https.createServer in server.js

[x] I have searched the issues of this repository and believe that this is not a duplicate.
It appears that https cannot work with nextjs in development but there is no documentation or direct answer to this question in the issues history.
I want to use https through the node https module on my local machine and communicate in dev environment over https to secure api's.
As far as I can tell the https server does not work properly. While I can create the https server the connection is not considered secure by chrome. I do see in the server specific http server handling, is this not accessible through the api to configure?
in the server I am using
const handle = app.getRequestHandler();
to handle the requests, as far as I can tell this should be all that I need to do to server the pages securely.
return handle(req, res, parsedUrl)
next  v 3.0.1-beta.8
node v 7.8.0
OS  osx

We don't do anything to prevent working with HTTPs.
I think it should work properly with out custom server.
Anyway, I don't think it makes sense to use HTTPs for the dev server.

More comments: https://github.com/zeit/next.js/issues/2281#issuecomment-317602443
To make it clear.

We won't have SSL support in the core.
But anyone can have it via our custom server API. (So, we welcome an example)


Separate verdant view and lilgit into separate packages

Start by decoupling the views from lilgit
give each its own package

Ok, I've decoupled the pieces in Typescript, but for performance, a bunch of analysis operations from lilgit Typescript side really need to be offloaded to python.

Current APIs operations:

Utils

findNodeAtRange
inRange
reduceASTDict (could be done at parsing stage?)
dictToCodeCellNodey (why is this needed?)

Match [Py]

recieve_newVersion
finalizeMatch
grabUnmatchedParents
matchParentNodes
scoreMatch
matchLeaves
findMatchOptions
buildStarNode
matchLiterals
forceReplace

Resolve

repairMarkdown
repairCellAST
shiftAllAfter
shiftAllChildren
dictToNodeyList
nodeyToLeaves

coldStart [Ts] is for when we start a notebook with no prior history
hot start [Ts] is for when we start a notebook with prior history and want to match on init
freshNodey &  createCellNodey (can probably be combined?)

generateCodeNodey is different how?

repairCell (why are we repairing only at the cell level???)

repairCodeCell

parseRequest [Ts]
failSafeParse [Py]
cleanCodeString [Ts]

Seeing some formatting on the Ts end that should be handled in the original parsing:
if ("type" in dict === false) {
      dict.type = "Module";
    }

Also, need to return safe defaults from parsing if an error occurs.

Next step: isolate everything out that should be moved to Py, and make sure app works with no Py language support ... ie, how the app will work with Julia or R, make sure that safe default behavior works well, and that will ensure the language support API is cleanly separated


fix: migration guide

What is the problem?
useWindowSize was listed as not implemented in the migration guide
What changes does this PR make to fix the problem?
Migration guide now links to useWindowSize doc

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Retention time of 2 hours not working as intended

What did you do?
Run prometheus server, in k8s, with 2 hours of retention and a block duration of 2h (recommended by Thanos). Thanos is taking care of long term retention, 30 days.
What did you expect to see?
You should only be able to see data until 2 hours ago.
What did you see instead? Under which circumstances?
Data from 5h30 ago was available to query. This will cause Prometheus to consume more resources, for metrics which already have been store by Thanos.

Here you can see two blocks (01FJXX7WWQ3XTYBD91YB0PRYNB and 01FJY43KWNY079Y2F45P2YKTAS) and the current chunks. I expected to see one closed block but not two of them. Logs show that only the oldest block is being deleted every 2 hours.

Output of meta.json of the oldest block (01FJXX7WWQ3XTYBD91YB0PRYNB):
{
	"ulid": "01FJXX7WWQ3XTYBD91YB0PRYNB",
	"minTime":<PHONE_NUMBER>003, -> Tuesday, 26 October 2021 06:00:02.003
	"maxTime":<PHONE_NUMBER>000,
	"stats": {
		"numSamples": 127266331,
		"numSeries": 271257,
		"numChunks": 1057748
	},
	"compaction": {
		"level": 1,
		"sources": [
			"01FJXX7WWQ3XTYBD91YB0PRYNB"
		]
	},
	"version": 1
}

Output of meta.json of the latter block:
{
	"ulid": "01FJY43KWNY079Y2F45P2YKTAS",
	"minTime":<PHONE_NUMBER>708,
	"maxTime":<PHONE_NUMBER>000,
	"stats": {
		"numSamples": 133698907,
		"numSeries": 282855,
		"numChunks": 1112227
	},
	"compaction": {
		"level": 1,
		"sources": [
			"01FJY43KWNY079Y2F45P2YKTAS"
		]
	},
	"version": 1
}

Environment

Prometheus version: 2.29.1

Prometheus configuration file:

prometheus
  --config.file=/prometheus/prometheus.yaml
  --storage.tsdb.path=/prometheus
  --storage.tsdb.retention.time=2h
  --web.enable-lifecycle
  --storage.tsdb.no-lockfile
  --web.enable-admin-api
  --web.external-url=http://prometheus.observability.svc.cluster.local:9090
  --web.route-prefix=/
  --log.format=json
  --storage.tsdb.min-block-duration=2h
  --storage.tsdb.max-block-duration=2h

Logs:

{"block":"01FJXFGEC65C7K699DC86GNPMB","caller":"db.go:1289","component":"tsdb","level":"info","msg":"Deleting obsolete block","ts":"2021-10-26T09:00:46.007Z"}
{"caller":"head.go:1018","component":"tsdb","duration":"7.898423844s","level":"info","msg":"Head GC completed","ts":"2021-10-26T09:00:53.906Z"}
{"caller":"checkpoint.go:97","component":"tsdb","from_segment":309,"level":"info","mint":1635235200000,"msg":"Creating checkpoint","to_segment":316,"ts":"2021-10-26T09:00:54.612Z"}
{"caller":"head.go:1184","component":"tsdb","duration":"38.014823837s","first":309,"last":316,"level":"info","msg":"WAL checkpoint complete","ts":"2021-10-26T09:01:32.627Z"}
{"caller":"compact.go:518","component":"tsdb","duration":"45.549377787s","level":"info","maxt":1635242400000,"mint":1635235200708,"msg":"write block","ts":"2021-10-26T11:00:47.618Z","ulid":"01FJY43KWNY079Y2F45P2YKTAS"}
{"block":"01FJXPC5M7TZB2NWYB7A63D12K","caller":"db.go:1289","component":"tsdb","level":"info","msg":"Deleting obsolete block","ts":"2021-10-26T11:00:47.631Z"}
{"caller":"head.go:1018","component":"tsdb","duration":"8.178396694s","level":"info","msg":"Head GC completed","ts":"2021-10-26T11:00:55.809Z"}
{"caller":"checkpoint.go:97","component":"tsdb","from_segment":317,"level":"info","mint":1635242400000,"msg":"Creating checkpoint","to_segment":324,"ts":"2021-10-26T11:00:56.605Z"}
{"caller":"head.go:1184","component":"tsdb","duration":"40.618016938s","first":317,"last":324,"level":"info","msg":"WAL checkpoint complete","ts":"2021-10-26T11:01:37.223Z"}

>=  looks fine. Note that it will will still leave you with of 5h of data at peak for any retention <5h. This is because the retention is calculated w.r.t. the last block, so there will be at least 1 block of 2h plus upto 3h of data in the head block. (Currently with > instead of >= you will have 2 blocks and 3h of head, hence peack data range being 7h).

@codesome 2h 1 block + 2h of the head block, at most, is what totally makes sense and I'm fine with it. Thanks guys!


[question] How to test direct file uploads in the controller?

I tried something like this, but I'm getting File now valid.
class Documents::Version < ActiveRecord::Base
  attachment :file
  validates :file, presence: true
end

# ... omitted
backend = Refile::Backend::FileSystem.new("tmp")
assert_difference 'document.versions.count', 1 do
  post :create, {
    project_id: project,
    document_id: document,
    documents_version: {
      file: backend.upload(StringIO.new('hello'))
    }
}, user_id: user.id

The following test fails with File not valid. I also know that I want to test direct uploads, and this is a file system upload, but I don't think it matters to the controller test where the attributes are coming from?

In case anyone is looking for an answer to this question, I solved it this way: When simulating a form submission its important to remember that the file attributes are passed as a JSON string, and not a hash. We need to provide strong_parameters with a string.
file = Refile::Backend::FileSystem.new("tmp/uploads/cache").upload StringIO.new('hello')
file_attributes = {
  id: file.id,
  size: file.size,
  filename: 'hello.txt',
  file_content_type: 'text'
}.to_json

post :foo, {
  file: file_attributes
}

I believe, because in this case I'm using StringIO, the filename and content_type are not available in the file object, but I'm not sure. Eitherway, it may not hurt to fill them in manually.

To test image file uploads in Rails 5 using minitest spec, this is what I came up with:
# test/controllers/admin/blog_posts_controller_test.rb

require 'test_helper'

describe Admin::BlogPostsController do

  # omitted

  it "creates a blog post" do
    file = Refile::Backend::FileSystem.new('tmp/uploads/cache').upload fixture_file_upload('files/shark.jpg')
    -> {
      post admin_blog_posts_path, params: {
        blog_post: {
          title: 'System One',
          subtitle: 'Meet the new memeber of the Wavetronix family.',
          author: 'Dan Levitan',
          body: 'System one has been five years in the making, and it is totally worth the wait!',
          posted_on: Date.today.to_s(:db),
          hero_image: {
            id: file.id,
            filename: 'shark.jpg',
            content_type: 'image/jpeg',
            size: file.size
          }.to_json
        }
      }
    }.must_change 'BlogPost.count'
    flash[:notice].wont_be_nil
    must_redirect_to admin_blog_post_path(BlogPost.last)
  end

  # omitted

end

Thanks a ton, @abitdodgy!


Improve fit-textareas performance

Follows https://github.com/sindresorhus/element-ready/pull/35 and https://github.com/fregante/fit-textarea/pull/15
fit-textarea would need some testing to ensure it works correctly, even if it had some automated browser tests.
Hopefully this update fixes the terrible performance this feature has in Safari. I had to disable it in PRs because it would cause each character to appear on screen after 700ms… each.
On my new computer this is less noticeable, but still I can feel it

@fregante can we merge this and see if we have any issues?

Tested in Chrome and it seems to behave correctly there at least


How do I Fly to a point?

Hi,
I am new to using leaflet and ngx plugin. How can I get the map to fly to a particular location on a button click, which is outside the map. I see the leaflet has a method called "flyTo". How do I do this using this plugin. I am using this in typescript with typings project. Thanks!

I figured it out. Used onMapReady event callback to get the map reference and used it in the button's click event to call flyTo method.

Your approach will work just fine. You can also use the input bindings to move the map and configure the move animations.
The ones you could look at include leafletZoom ,  leafletCenter , and/or leafletFitBounds input bindings. These cause the map to move to the new location. When moves are initiated, it uses move options that are either default or determined by leafletFitBoundsOptions, leafletPanOptions, leafletZoomOptions, or leafletZoomPanOptions
Thanks for using the plugin!


parallel deployments

we need to test parallel deployments

it seems to be failing atm, there could be multiple options
1- create an account for every new user and we do transfer with the quota amount that we allow
2- we queue up deployment requests and notify the user when their deployment is ready via email
3- ?

Seems the most viable solution now, is queuing up the deployment requests and every 5 seconds we collect and do a batch call to deploy, it will still be reasonably fast, and the response will be synchoronus to the user. The main concern is what to do in case of failures in on of the batched calls.
Implementation details: probably should use redis streams, otherwise we will be manually handling too much for no reason

wait for:

https://github.com/threefoldtech/tfgrid-sdk-go/issues/116
https://github.com/threefoldtech/tfchain/issues/687


StoreMode - memory only

I would like to use this nice library as an in-memory cache only.
There are only two modes and both are creating the files.
It is unnecessary in memory only mode.
StoreMode    int // 0 - file first, 2 - memory first(with persist on close)
I suggest to introduce third mode: memory only
In this mode files shoudn't be opened at all, so path will be ignored
and no need to call db.CloseAll

Hello, did you try don't call CloseAll if you don't need persistence? That's ugly but may works

@begetan  Roman, take a look please: https://github.com/recoilme/pudge/commit/4721544b688e32ba98bad1d7abce8a37ab731c2d
Example: https://github.com/recoilme/pudge/blob/master/examples/examples.go#L82
Test: https://github.com/recoilme/pudge/blob/master/pudge_test.go#L534

@recoilme
So providing empty filename to pudge.Open() makes configuration completely in-memory without disk files. Greate idea, thanks!


Prohibit overwrite runtime params

Digdag generates some parameters such as project_id,session_id and others.
These parameters should not be overwritten by --param because it will cause of unstable, security issues.
To do that I change evaluation order of parameters in OperatorManager. And runtime params overwrite user defined ones by --param.

@frsyuki  Thanks for your pointing out. I updated the document.
After CI pass, I will merge it later.


scalastyle_config.xml not working at all in the intellij plugin

I have my scalastyle_config.xml inside /project directory and I am testing with only one check, HeaderMatchesChecker.

Now I have the scala file called Hello.scala.

Clearly, the file doesn't have a checker and Intellij is not showing any warnings/errors.
What am I missing here. I enabled scalastyle in the intellij scala plugin and I tried adding the file to /.idea directory as well.
I am happy to provide more details as well.

Personally, I put scalastyle_config.xml into the project directory as well, so I'm fairly sure that this will work. If you put another checker into the file, does that checker get picked up? Maybe http://www.scalastyle.org/rules-0.9.0.html#org_scalastyle_scalariform_NullChecker or similar. If this rule works and your header doesn't, then it may be a problem with the regex. Try with a simpler string.

Solved it! Actually nothing wrong with the config or the placement of the file. It was because my intellij scala plugin. I had two plugins and it was contradicting each other. Fixed by keeping the official intellij scala plugin. Thanks for the response @matthewfarwell .


Providing Container a color and decoration produces an unclear error message

Similar to #36161, but that issue was closed with the incorrect error message in place.
Steps to Reproduce

Create a Container with any valid color property.
Add the decoration property to the container.
Give decoration a BoxDecoration with a valid color property.
An exception is caught and an error message is printed.

Expected results:
An error message that clearly defines the issue and optionally provides a way to fix the error.
Actual results:
════════ Exception caught by widgets library ═══════════════════════════════════
The following assertion was thrown building Themes(dirty, dependencies: [_InheritedTheme, _LocalizationsScope-[GlobalKey#50d61]]):
Cannot provide both a color and a decoration
To provide both, use "decoration: BoxDecoration(color: color)".

The error message clearly defines the issue, however the suggested fix reads: To provide both, use "decoration: BoxDecoration(color: color)".
This is an incorrect suggestion because Container has checks to verify it was NOT provided both. The error message should clearly communicate the proper condition--which is passing Container.color OR Container.decoration, not both like the error message is suggesting.
Example:
import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    home: new HomePage(),
  ));
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => new _HomePageState();
}

class _HomePageState extends State<HomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Container(
        width: 50.0,
        height: 50.0,
        color: Colors.blue,
        decoration: BoxDecoration(
          color: Colors.blue,
      ),
    );
  }
}

Thanks for the report @JoshMart
The Container widget's documentation says:
/// The `color` and `decoration` arguments cannot both be supplied, since
  /// it would potentially result in the decoration drawing over the background
  /// color. To supply a decoration with a color, use `decoration:
  /// BoxDecoration(color: color)`.

Indicating you should not do below:

color: Colors.blue,
decoration: BoxDecoration(
color: Colors.blue,
),

And that's what the error message in console also indicates:
Cannot provide both a color and a decoration
To provide both, use "decoration: BoxDecoration(color: color)".

Which I think is well explained and this assertion also helps to indicate what changes you need to make in your code implementation.
Let us know if this helps to address the issue you raised.

Thanks for the response. I would agree that within the context of the Container documentation this error messages begins to make more sense. However the user does not see the additional comment block you provided unless they start digging through the source code. From the perspective of the user:

A user provides both a color and decoration
They receive an error message saying says Cannot provide both a color and a decoration To provide both, use "decoration: BoxDecoration(color: color)"..
The user wants to provide both, so they follow the error message by providing both and using the decoration formatted to how the error message printed it out.
The user gets the same error message and the loop continues until they break it by finally digging in the the source code or searching for an answer elsewhere.

The error message is vague because it contradicts itself by saying Cannot provide both... To provide both.  In fact, you had to go into the source code and provide documentation from Container in order to put the error message in context and provide more clarity. That is another smell the error message isn't clear enough to stand on its own--the user shouldn't have to dig through source code in order to understand an error message.
The error message also makes it sound like you can still provide both--which the second part of the error message says you can do-- by using the exact decoration given in the error message. It would be more clear if To provide both was dropped from the second part of the error message and replaced with entirely different wording. Maybe something like To set a color with a decoration, ....

Thanks for the feedback. I am keeping this issue open for team's thoughts on current error message displayed and if there's any scope to improve per OP.


Add BBC Changelog

This PR introduces a BBC-CHANGELOG.md file which aims to capture high-level changes we make on top of the upstream imscJS repo.
It currently only captures the changes I am aware of. There are probably more.
This is to help pulling in future updates to upstream into our fork, as well as understand how we've diverged.

I'm happy to hit "Merge" on this, but I'd be even happier if we could merge #5 first...

I'm happy to hit "Merge" on this, but I'd be even happier if we could merge #5 first...


Be more smart with urls in add layer dialog

closes #348

Coverage decreased (-0.02%) to 69.534% when pulling 6bc3f5c9e86462b6724b82e122b46a21f72fa967 on smarter-url into 6d6ffbb4e9409c37560cf7c59cb411019babecd6 on master.


incorrect grammer selection

VSCode Version:
OS Version:

Steps to Reproduce:

set a color for "entity.other.attribute-name"
notice that classes and ids in css receive this color

It's up to each grammar to decide which scope to use. Often it has historical reasons and can't be changed easily as many themes depend on it.
You can file a change request against the grammar itself, but I don't think they are eager to change this.
css grammar: https://github.com/atom/language-css

ok, I managed to find these:
entity.other.attribute-name.class.css
entity.other.attribute-name.id.css

which helps me correct the problem.  Those scopes just look so weird to me since I don't see why attribute-name would ever relate to css class/id


Enhance/Fix design metadata to handle constant/interface merge scenarios

There are some similar issues in the tracker, but I didn't find anything exactly like this. I'm not sure whether to call this a bug or a feature request. Let me explain. Let's say you have some code like this:
const IFoo = Symbol('IFoo');
interface IFoo {
  bar();
}

TypeScript will treat IFoo as an interface when used as a type and as a constant when used as a value. It's pretty cool. However, when used with emitDecoratorMetadata in this example:
export class Baz {
  constructor(foo: IFoo) {}
}

The emitted metadata includes Object instead of the symbol value IFoo. It seems that the compiler should handle this as it does other scenarios where it differentiates between value and interface and just emit the value into the metadata.
Seems like a bit of an oversight. If we could address this, it would open up some nice scenarios around dependency injection. The Aurelia community would sure benefit, and probably Angular as well. From studying the VS Code source, I can tell that they are hacking around this not working as well. So, at least three prominent projects with many developer customers would benefit.
Thoughts?

This issue has already been addressed in #3628, but, unfortunately, there is no progress at the moment 😞

Just to be clear, I'm not asking for the compiler to generate an IFoo symbol at all. I'm only asking for the existing design metadata to use the correct value, since a value already exists. I'm happy to manually create the symbol.

Cross-posted to the other thread as well. Thanks @pcan !

Frankly, it is unfortunately, very unintuitive and quite surprising behavior ;( It's not a deal killer for me, but it goes on my list of, if TypeScript only...
Closing this in favor of the #3628.


generic/2/2 does not send WINDOW_UPDATE on connection

It only sends a stream-level WINDOW_UPDATE. It then expects to receive a DATA frame. The problem is that a well-behaving http/2 server is not allowed to send non-empty DATA unless the connection-level flow is also unblocked.

Two flow-control windows are applicable: the stream flow-control
window and the connection flow-control window.  The sender MUST NOT
send a flow-controlled frame with a length that exceeds the space
available in either of the flow-control windows advertised by the
receiver.  Frames with zero length with the END_STREAM flag set (that
is, an empty DATA frame) MAY be sent if there is no available space
in either flow-control window.


Which version is compatible with magento 2.1?

Hi,
i installed last version 1.4.3 on m2.1.2 but it not works, it doesn't find Magento\CatalogUrlRewrite\Model\UrlRewriteBunchReplacer.
Is there a working version for m2.1?
thx

Hi @LucScu
Please, check your Magento 2.1 installation, because Magento 2.1 have this Model:
https://github.com/magento/magento2/blob/2.1/app/code/Magento/CatalogUrlRewrite/Model/UrlRewriteBunchReplacer.php
This file should be in vendor/magento/module-catalog-url-rewrite/Model folder.

Hi @olegkoval,
thx for reply, but here
https://github.com/magento/magento2/tree/2.1.2/app/code/Magento/CatalogUrlRewrite/Model
no Magento\CatalogUrlRewrite\Model\UrlRewriteBunchReplacer class

HI @olegkoval ,
you linked me a branch that is not the 2.1.2 tag release.
Please check here
https://github.com/magento/magento2/tree/2.1.2/app/code/Magento/CatalogUrlRewrite/Model
you see that there isn't Magento\CatalogUrlRewrite\Model\UrlRewriteBunchReplacer

Hi @LucScu
Now it's compatible with this version: from v1.5.2 extension not use this Magento model.
Best regards,
Oleg Koval

Thx, very good!


Avoid using of Expression.Constant to fix reusing of dynamic objects

.NET Core 3.1 (and later) seems to use caches more aggressively as .NET 4.x while working with dynamic objects. So using of e.g. Expression.Constant(this.Value) leads to reusing of the same dynamic object in subsequent calls even if a new dynamic object is created.
Fixes #770

Thank you so much. I am verifying it now.

Yes, it works perferct. Merging it.


Better status reporting

Status messages are cut off by GitHub and require the user to hover over them. It would be better if the message reminded the user to hover for more info, or if the status was a link to a page with more detail.

The maximum allowed length for descriptions is 140. Sounds like we will need a status page.


Respect AWS region in AWS CodeDeploy hook

This fixes a bug that ignores the AWS region when using the AWS CodeDeploy hook.  Previously, the us-east-1 region was always used even if a different region was set in the hook settings.  Technically a region could be provided via a very specific deployment payload option, but this was not documented anywhere and not obvious.
When trying to deploy to a different AWS region, the service hook fails with no helpful error messages.  For example, see: https://forums.aws.amazon.com/thread.jspa?messageID=597193  Under the hood, this is failing because the CodeDeploy application does not exist in us-east-1.
This fixes the code to use the aws_region configuration value. Everything still defaults to us-east-1 if not set, and the undocumented custom codedeploy payload is still supported.

+1 to accept this commit and roll out to github services - @kdaigle

Thanks for fixing this! :cake: This will go out later today.

Still it's not working for me, we are facing same issue

@utkarsh-devops Please open a new issue or, ideally, a pull request.


HTML

HTML
User Story
As a bootcamp student
I want a Prework Study Guide website,
so that I can review all the information I learned throughout Prework
Acceptance Criteria
GIVEN a Prework Study Guide website
WHEN I visit the website in my browser
THEN I see four boxes titled HTML, CSS, Git, and JavaScript with associated notes listed

I finished it Yeahhhh


Kover task fails in GitHub Actions CI with java.io.FileNotFoundException

See this run for details. The report generation task was triggered by ./gradlew check. The plugin had no custom configuration for the plugin other than the recommended import (id("org.jetbrains.kotlinx.kover") version "0.4.2").
Here's the stack trace:
java.io.FileNotFoundException: /home/runner/work/ktx/ktx/script/build/kover/test.ic.smap (No such file or directory)
> Task :script:koverHtmlReport FAILED
	at java.io.FileInputStream.open0(Native Method)
	at java.io.FileInputStream.open(FileInputStream.java:195)
	at java.io.FileInputStream.<init>(FileInputStream.java:138)
	at com.intellij.rt.coverage.instrumentation.SaveHook.loadSourceMapFromFile(SaveHook.java:136)
	at com.intellij.rt.coverage.instrumentation.SaveHook.loadAndApplySourceMap(SaveHook.java:121)
	at com.intellij.rt.coverage.report.Reporter.getProjectData(Reporter.java:72)
	at com.intellij.rt.coverage.report.Reporter.createHTMLReport(Reporter.java:103)
	at com.intellij.rt.coverage.report.Main.main(Main.java:47)
XML generation failed.

this may be due to a problem with caching the results of task execution, especially if clean was performed before or check was called twice.
Related #68

Neither happened. The CI script uses the following Gradle calls:
./gradlew assemble install -x dokkaHtml -x dokkaZip
./gradlew check --continue

install or assemble do seem to trigger :buildSrc:check, but this is only the Gradle configuration itself - check is not called on any of the actual Kotlin modules.

@czyzby, please check in version 0.4.3.

Feel free to reopen if the problem is not gone on 0.5.0+


Swagger 2.0 Links broken

I'm not sure when but within the last 2 weeks or so all links in the swagger 2.0 readme file have been broken. The ids on the elements are something like '#paths-object' but all of the links reference the old ids: 'pathsObject'

Thanks for the additional info. Will track on #1726


A never-returning function must not return in ...

Hi,
I'm using PHP 8.1 with:

phpunit/phpunit 10.1.0
brain/monkey 2.6.1
pestphp/pest v2.5.0

When I write a simple test mocking WP's get_option all tests stop working. error code 255
when('get_option')->justReturn(...)
This results in a Fatal error:
PHP Fatal error:  A never-returning function must not return in /Users/..../vendor/phpunit/phpunit/src/Framework/Constraint/Constraint.php on line 91
When I change the typing from never to void what it used to be in PHPUnit 10.0.0 it works again.
I'm guessing there is a mismatch when the function is mocked but I haven't found the root cause yet.
Same issue when downgrading phpunit and using expect in a test
Functions\expect('update_option')->once()->with('opt', 'value')->andReturn(true)

After more debugging I think this might be an issue caused by PEST but I'm still not sure. The source code in PEST seems fine to me.
Pest source code with never typing
When changing this line to void it works just fine.
I've created a PR for PEST: https://github.com/pestphp/pest/pull/786

Hi @michaelw85 I don't think this is an issue with Brain Monkey, this is a PHP 5.6 codebase, and we don't use return types at all.
Maybe you could also look at Mockery, but I don't think there's anything we can do here to solve the issue.
Feel free to re-open if I'm wrong.

@gmazzap I think you are right, I haven't looked at Mockery or Patchwork yet. I think for some reason somewhere something is emitted in the mocked functions causing the never typing to fatal.
This does mean the latest PHPUnit version + Brain Monkey is an issue unless you apply the patch I've provided.

This does mean the latest PHPUnit version + Brain Monkey is an issue unless you apply the patch I've provided.

You mean PHPUnit 10 ? I know that Mockery definitely does not support PHPUnit 10 yet. Also see the open PRs in the repo, in particular this one: https://github.com/mockery/mockery/pull/1219
I'm not sure Patchwork would be problematic with PHPUnit 10 as it is a stand-alone tool which works independently of PHPUnit.
You might be jumping the gun a bit here.

Yep, before using BM with PHPUnit 10 we need Mockery to be compatible.

This does mean the latest PHPUnit version + Brain Monkey is an issue unless you apply the patch I've provided.

You mean PHPUnit 10 ? I know that Mockery definitely does not support PHPUnit 10 yet. Also see the open PRs in the repo, in particular this one: mockery/mockery#1219
I'm not sure Patchwork would be problematic with PHPUnit 10 as it is a stand-alone tool which works independently of PHPUnit.
You might be jumping the gun a bit here.

Yes, I'm running PHPUnit 10.1.1 which comes with the new Pest v2.
The issue you linked also mentions the never typing so without further investigation I'm going to assume Mockery is the issue. In my project, I just patched all never typings to void and it works fine so far.

Hey folks,
Mockery supports never return type for PHP 8.1 via https://github.com/mockery/mockery/pull/1184 & tagged 1.5.1
Updating Brain-WP/BrainMonkey composer to ^1.3.5 || ^1.4.4 || ^1.5.1 should resolve this.
Have a great day. ✌🏾

Thanks for pitching in @ghostwriter !

Updating Brain-WP/BrainMonkey composer to ^1.3.5 || ^1.4.4 || ^1.5.1 should resolve this.

Is there anything blocking this? If it's just a matter of available time to handle the upgrade, I might have some time to pitch in and open a pull request.

Updating Brain-WP/BrainMonkey composer to ^1.3.5 || ^1.4.4 || ^1.5.1 should resolve this.

Is there anything blocking this? If it's just a matter of available time to handle the upgrade, I might have some time to pitch in and open a pull request.

For me the root cause still remains unresolved and to date I still don't know the exact origin of the issue. I dirty resolved it by locally patching all the return types. The issues were closed in the different repos because "blame" was given to another library or deemed a local issue in my codebase :(


Remove extra HashSet creation for pinned list

In InodeTreePersistentState we return a Collections.unmodifiableSet wrapped around the pinned list. Then in InodeTree we create a HashSet copy from it yet again. This is redundant.
Eventually the getPinnedFileIds call should be changed to a list-watch mechanism where the worker lists all the pinned IDs then just incrementally watch the changes. But that is not trivial and is not done in this PR.

Codecov Report

Merging #13228 (8047eeb) into master (46d5e18) will decrease coverage by 26.62%.
The diff coverage is 100.00%.

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

alluxio-bot, merge this please


Addition of Error Code

Added a missing error code informaiton.
Problem: https://github.com/MicrosoftDocs/windows-itpro-docs/issues/9190

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks.
@nam31 - FYI Please.

@joinimran does the error code you added not have an associated message?

@jaimeo - There is no error code associated with this. Please see

OK thanks! Just checking. :^)


Add methods into InventoryItem

Suggest to add methods into InventoryItem class:

get_slot() -> ItemSlotBase - returns slot where item is currently equipped. Why: while iterating over inventory.get_items() it's unclear which items are already equipped. Also, currently it's impossible to get slot object without knowing all slot objects and storing them somewhere else
remove_from_inventory() / add_to_inventory(Inventory) - changes current inventory. Useful for gameplay actions pickup item, use item

Also, suggest to change signature of item_equipped() signal from slot to item_equipeed(item) to get infotmation about item was equipped

@peter-kish Maybe item_slot_cleared() should give you the slot which is clearing as well like item_slot_cleared(slot)?

Also, suggest to change signature of item_equipped() signal from slot to item_equipeed(item) to get infotmation about item was equipped.

@Nordsoft91 or should it be item_equipped(slot) and then you can slot.get_item() on it.
I guess technically I can just bind the slots myself like:
head_slot.connect("item_equipped",_on_slot_item_equipped.bind(head_slot))
chest_slot.connect("item_equipped",_on_slot_item_equipped.bind(chest_slot))
However I would imagine most users would be connecting the signal from within the Godot editor :thinking: .
This is my current code to give you an idea:
Note: I was just trying to get something working; so its very much copy-pasta :spaghetti: . I think doing the bind slot thing should simplify the code.
        @onready var head_slot := %head_slot
        @onready var chest_slot := %chest_slot
        @onready var boots_slot := %boots_slot
        @onready var neck_slot := %neck_slot
        @onready var belt_slot := %belt_slot
        @onready var gloves_slot := %gloves_slot
        @onready var main_weapon_slot := %main_weapon_slot
        @onready var right_ring_slot := %right_ring_slot
        @onready var offhand_slot := %offhand_slot
        @onready var left_ring_slot := %left_ring_slot
	head_slot.connect("item_equipped",_on_head_slot_item_equipped)
	chest_slot.connect("item_equipped",_on_chest_slot_item_equipped)
	boots_slot.connect("item_equipped",_on_boots_slot_item_equipped)
	neck_slot.connect("item_equipped",_on_neck_slot_item_equipped)
	belt_slot.connect("item_equipped",_on_belt_slot_item_equipped)
	gloves_slot.connect("item_equipped",_on_gloves_slot_item_equipped)
	main_weapon_slot.connect("item_equipped",_on_main_weapon_slot_item_equipped)
	offhand_slot.connect("item_equipped",_on_offhand_slot_item_equipped)

	left_ring_slot.connect("item_equipped",_on_left_ring_slot_item_equipped)
	right_ring_slot.connect("item_equipped",_on_right_ring_slot_item_equipped)

	head_slot.connect("cleared",_on_head_slot_cleared)
	chest_slot.connect("cleared",_on_chest_slot_cleared)
	boots_slot.connect("cleared",_on_boots_slot_cleared)
	neck_slot.connect("cleared",_on_neck_slot_cleared)
	belt_slot.connect("cleared",_on_belt_slot_cleared)
	gloves_slot.connect("cleared",_on_gloves_slot_cleared)
	main_weapon_slot.connect("cleared",_on_main_weapon_slot_cleared)
	offhand_slot.connect("cleared",_on_offhand_slot_cleared)

	left_ring_slot.connect("cleared",_on_left_ring_slot_cleared)
	right_ring_slot.connect("cleared",_on_right_ring_slot_cleared)

func _on_head_slot_item_equipped() -> void:
	var equpped_helm:InventoryItem =  head_slot.get_item()
	match equpped_helm.get_property("id"):
		"wolf_cape":
			print("wolfcape")
			add_item_to_character(wolf_cape,player_head,manikan_head)
	clear_item_if_no_match_type(["helm"],equpped_helm,head_slot)
	pass

func _on_chest_slot_item_equipped() -> void:
	var equipped_chest:InventoryItem =  chest_slot.get_item()
	match equipped_chest.get_property("id"):
		"wolf_cape":
			print("wolfcape")
			add_item_to_character(wolf_cape,player_chest,manikan_chest)
	clear_item_if_no_match_type(["helm"],equipped_chest,chest_slot)
	pass

func _on_boots_slot_item_equipped() -> void:
	var equipped_boots:InventoryItem =  boots_slot.get_item()
	match equipped_boots.get_property("id"):
		"wolf_cape":
			print("wolfcape")
			add_item_to_character(wolf_cape,player_boots,manikan_boots)
	clear_item_if_no_match_type(["helm"],equipped_boots,boots_slot)
	pass

func _on_neck_slot_item_equipped() -> void:
	var equipped_neck:InventoryItem =  neck_slot.get_item()
	match equipped_neck.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_neck,manikan_neck)
	clear_item_if_no_match_type(["helm"],equipped_neck,neck_slot)
	pass

func _on_belt_slot_item_equipped() -> void:
	var equipped_belt:InventoryItem =  belt_slot.get_item()
	match equipped_belt.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_belt,manikan_belt)
	clear_item_if_no_match_type(["helm"],equipped_belt,belt_slot)
	pass

func _on_gloves_slot_item_equipped() -> void:
	var equipped_gloves:InventoryItem =  gloves_slot.get_item()
	match equipped_gloves.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_gloves,manikan_gloves)
	clear_item_if_no_match_type(["helm"],equipped_gloves,gloves_slot)
	pass

func _on_main_weapon_slot_item_equipped() -> void:
	var equipped_main_weapon:InventoryItem =  main_weapon_slot.get_item()
	match equipped_main_weapon.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_main_weapon,manikan_main_weapon)
	clear_item_if_no_match_type(["helm"],equipped_main_weapon,main_weapon_slot)
	pass

func _on_offhand_slot_item_equipped() -> void:
	var equipped_offhand:InventoryItem =  offhand_slot.get_item()
	match equipped_offhand.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_offhand,manikan_offhand)
	clear_item_if_no_match_type(["helm"],equipped_offhand,offhand_slot)
	pass

func _on_left_ring_slot_item_equipped() -> void:
	var equipped_left_ring:InventoryItem =  left_ring_slot.get_item()
	match equipped_left_ring.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_ring_left,manikan_ring_left)
	clear_item_if_no_match_type(["helm"],equipped_left_ring,left_ring_slot)
	pass

func _on_right_ring_slot_item_equipped() -> void:
	var equipped_right_ring:InventoryItem =  right_ring_slot.get_item()
	match equipped_right_ring.get_property("id"):
		"wolf_cape":
			add_item_to_character(wolf_cape,player_ring_right,manikan_ring_right)
	clear_item_if_no_match_type(["helm"],equipped_right_ring,right_ring_slot)
	pass

func _on_head_slot_cleared() -> void:
	remove_items_from_character(player_head,manikan_head)
	pass # Replace with function body.
func _on_chest_slot_cleared() -> void:
	remove_items_from_character(player_chest,manikan_chest)
	pass # Replace with function body.
func _on_boots_slot_cleared() -> void:
	remove_items_from_character(player_boots,manikan_boots)
	pass # Replace with function body.
func _on_neck_slot_cleared() -> void:
	remove_items_from_character(player_neck,manikan_neck)
	pass
func _on_belt_slot_cleared() -> void:
	remove_items_from_character(player_belt,manikan_belt)
	pass
func _on_gloves_slot_cleared() -> void:
	remove_items_from_character(player_gloves,manikan_gloves)
	pass
func _on_main_weapon_slot_cleared() -> void:
	remove_items_from_character(player_main_weapon,manikan_main_weapon)
	pass
func _on_offhand_slot_cleared() -> void:
	remove_items_from_character(player_offhand,manikan_offhand)
	pass
func _on_right_ring_slot_cleared() -> void:
	remove_items_from_character(player_ring_right,manikan_ring_right)
	pass
func _on_left_ring_slot_cleared() -> void:
	remove_items_from_character(player_ring_left,manikan_ring_left)
	pass

func clear_item_if_no_match_type(match_types:Array[String],equipped_item:InventoryItem,slot:ItemSlot)->void:
	for match_type in match_types:
		if equipped_item.get_property("item_type") != match_type:
			slot.clear()

InventoryItem.get_slot() - Yeah, it makes sense. It would also be coherent with InventoryItem.get_inventory().
InventoryItem.remove_from_inventory() - I'll consider this one as well. It looks a lot more elegant than doing something like item.get_inventory().remove_item(item).
InventoryItem.add_to_inventory(inv) - Not sure about this one... I think item.add_to_inventory(inv) is the same as inv.add_item(item) and I'm trying to keep the interface minimal....
ItemSlotBase.item_equipped(item) - I don't really see the point in this since the equipped item can easily be obtained by ItemSlotBase.get_item() once the signal has been triggered. Again, the purpose of this is to keep the interface small. It's also what Godot does. E.g. the Control.resized signal has no parameters, because the newly set size can be read from Control.size.

Maybe item_slot_cleared() should give you the slot which is clearing as well like item_slot_cleared(slot)?

Not sure if I understand this. ItemSlot defines the cleared signal and you would definitely know which slot emitted the signal (the one you called connect on). Or are you talking about a global signal?

How do you know which slot was cleared when cleared signal is triggered below?
head_slot.connect("cleared",_on_slot_cleared)
chest_slot.connect("cleared",_on_slot_cleared)
boots_slot.connect("cleared",_on_slot_cleared)
neck_slot.connect("cleared",_on_slot_cleared)
belt_slot.connect("cleared",_on_slot_cleared)
gloves_slot.connect("cleared",_on_slot_cleared)
main_weapon_slot.connect("cleared",_on_slot_cleared)
offhand_slot.connect("cleared",_on_slot_cleared)
left_ring_slot.connect("cleared",_on_slot_cleared)
right_ring_slot.connect("cleared",_on_slot_cleared)

func _on_slot_cleared() -> void:
	remove_item_from_character()
	pass

How do you know which slot was cleared?

The same way as with other Godot signals.
If you're connecting signals from the editor then each object gets its own callback.
func _on_btn1_pressed():
    pass # Replace with function body.

func _on_btn2_pressed():
    pass # Replace with function body.

If you're connecting signals from code (your example) then you also have the options to bind parameters to the callback:
obj1.connect("signal", _on_signal.bind(obj1))
obj2.connect("signal", _on_signal.bind(obj2))

func _on_signal(obj):
    pass # Replace with function body.

Maybe I'm missing something but this is not really different from native Godot signals.

Maybe I'm missing something but this is not really different from native Godot signals.

Well some signals do give you arguments. Like for example; area_shape_entered gives you four of them:

I think you can connect to the same callback from the editor as well. Like lets say you have two Area2D nodes and you connect them to the same callback:
You can do this by typing into the receiver method box the same callback name.

In this case you would get the Body entered from either Area2D nodes in the one callback function.
All I'm saying is, if you give the slot then you could achieve the same from the editor as connecting and binding the slots from code.
The use case is that you probably have some of the same logic so you probably dont need multiple different callbacks with the same logic.
Either way I'm not worried, I'll just connect and bind them in code; but newbies might not know how to do this.

Well some signals do give you arguments. Like for example; area_shape_entered gives you four of them

Sure, signal arguments in general are totally fine. I'm just saying that it makes no sense to add them for values that are easily obtainable in other ways (e.g. the Control.resized signal I mentioned above). It only clutters the interface.
As for newbie friendliness, I prefer being consistent with the existing Godot API. I agree that the interface should be simple to use, but adding unnecessary parameters doesn't really contribute to its simplicity.

InventoryItem.get_slot() is now available in v2.4.6.
I'm still unsure about InventoryItem.remove_from_inventory() and decided to leave it out for now for the sake of a minimal interface. I will keep it in mind and might add it in a later release if it turns out to be super useful.


Testing with ember-cli-page-object v2.0.0-beta.3

This PR is intended our efforts to get ember-table compatible with Ember v4.
Changes include:

Uses the v2.0.0-beta3 branch of ember-cli-page-object https://github.com/san650/ember-cli-page-object/releases
Removes  useNativeEvents
Drops Ember 2.8 and 2.12 ember-try scenarios

Perhaps we could release a beta version of this addon while we wait for a release version of v2 of ember-cli-page-object

Going to publish beta today


bug(MatRipple): MatRipple can not be disabled for child components

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
14
Description
I once opened this issue (https://github.com/angular/components/issues/26656) and now coming back with another real-world-issue, that can't be solved neatly.
I have a selection with a ripple effect (the boxes in the screenshot) and some, optional, sub-options:

Now every time I hit a suboption the box' ripple effect shows up. Disabling it only on inner click and re-enabling it seams like some nasty timing problem (and even looks like [ripple gets removed on mouse down etc.]).
In my opinion there really is a need to be able to disabler the ripple effect for some boxes inside the ripple container. There should either be a directive for disabling it or to make things easy, like I suggested in my previous post, be able to switch from capture to bubbling so it can be disabled the vanilla Javascript way (stopPropagation).
Reproduction
https://stackblitz.com/edit/angular-phk79p-fyt248
Expected Behavior
Ripple should not show up on clicking some container's child elements.
Actual Behavior
Ripple cannot be disabled for some inner clicks.
Environment

Angular: 18.0.1
CDK/Material: 18.0.0

You can easily create your own directive to disable ripples for a whole subtree in the DOM:
import {MAT_RIPPLE_GLOBAL_OPTIONS} from '@angular/material/core';

@Directive({
  selector: '[disable-ripples]',
  standalone: true,
  providers: [
    {
      provide: MAT_RIPPLE_GLOBAL_OPTIONS,
      useValue: {
        disabled: true,
      },
    },
  ],
})
export class DisableRipples {}

This suggestion relys on the DI model? How would this work? I need to disable the parents ripple! When clicking the options, I do not want to box' ripple to be shown. Sure I could globaly disable it and only work with launch(), but ...

Ah I see, I thought you wanted to disable the ripples on all the children, not on the parent.

Hi @angelaki / @crisbeto, I have a similar scenario, there is a hyperlink inside mat-slide-toggle's label to open a dialog. Clicking on the hyperlink is triggering the ripple on the slide toggle.
Please let me know if you find any workaround.


Is there any option to define default checked locations?

Currently there isn't any property to set the checked locations, but it may be a good idea to add it.
If you know how to do it, feel free to open a PR! Otherwise I'll try to do it next week.

Thanks for the quick response! I'll try to check up the source code for in order to implement it.

@rommelmamedov before merging the PR, what do you think of the new props selectedLocationId (for RadioSVGMap) and selectedLocationIds (for CheckboxSVGMap)? Are they convenient enough for your use case?

@rommelmamedov before merging the PR, what do you think of the new props selectedLocationId (for RadioSVGMap) and selectedLocationIds (for CheckboxSVGMap)? Are they convenient enough for your use case?

Yes, I think they are totally okay.


Sporadic VM crashes in pub get

Saw this segfault on the Mac Flutter chromebot.

Does this still rate as a P1?

Do we still see these crashes?
@cbracken cbracke Is there a way of getting a coredump from the flutter builders when this happens.
(removing milestone for now, if it reproduces we can add the milestone back).

Yep we still see crashes on the Mac bots.
Talked with @mraleph while he was here and we confirmed we have coredumps enabled in the local .bashrc -- when we log in and type ulimit -c it's showing as unlimited and we were able to get a corefile from a small C program I wrote to include a null pointer dereference.
That said, I've never been able to collect a corefile from the machine. It reboots after each build; I'm wondering if it's clearing out the /cores dir on boot. One thought we had was to add a wrapper that looks for corefiles at the end of the build and uploads them to Google Storage. @mraleph mentioned they had previously set something up like this for the Dart build bots.

I noticed the recent engine roll into the framework shows a crash in 'pub get', see https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8857620590359448672/+/steps/download_dependencies/0/stdout
===== CRASH =====
 si_signo=Segmentation fault(11), si_code=1, si_addr=0x7f4565f64e68
 version=2.12.0-244.0.dev (dev) (Tue Jan 19 10:47:18 2021 -0800) on "linux_x64"
 pid=16619, thread=16626, isolate_group=main(0x22f0260), isolate=main(0x22ef9e0)
 isolate_instructions=7f4580d07000, vm_instructions=17efb80
 Stack dump aborted because InitialRegisterCheck failed.
 pub get failed (-6; Stack dump aborted because InitialRegisterCheck failed.)

I noticed the recent engine roll into the framework shows a crash in 'pub get', see https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8857620590359448672/+/steps/download_dependencies/0/stdout
===== CRASH =====
 si_signo=Segmentation fault(11), si_code=1, si_addr=0x7f4565f64e68
 version=2.12.0-244.0.dev (dev) (Tue Jan 19 10:47:18 2021 -0800) on "linux_x64"
 pid=16619, thread=16626, isolate_group=main(0x22f0260), isolate=main(0x22ef9e0)
 isolate_instructions=7f4580d07000, vm_instructions=17efb80
 Stack dump aborted because InitialRegisterCheck failed.
 pub get failed (-6; Stack dump aborted because InitialRegisterCheck failed.)

A number of fixes been made after these crashes were reported, unclear if we are still seeing crashes.
Closing this ieeue, if we encounter any crashes with 'pub get' please open a fresh issue and it will be investigated.


GEODE-2690: Created a new thread pool for flush operations

* WaitUntilParallelGatewaySenderFlushedCoordinator's waitUntilFlushed will use a separate thread pool.
* This new thread pool is limited to have only 100 threads

@boglesby @upthewaterspout @jhuynh1 @gesterzhou
This is one of the solution which makes flush operations to use a thread pool limited to 100 threads.
Using this fix we are able to see that during tests, we do not encounter issues like unable to create native threads.

I Think it would be better to figure out why we a creating a ton of threads, rather than create a thread pool specifically just for this one message.


Updated index.json

Update index.json

Hey it shows that this PR is not accepted in my hacktoberfest profile, please look into this.

okay
On Mon, 17 Oct, 2022, 6:02 pm Yash Londhe, @.***> wrote:

Hey it shows that this PR is not accepted in my hacktoberfest profile,
please look into this.
—
Reply to this email directly, view it on GitHub
https://github.com/aryanvar/Cricketers-Info/pull/294#issuecomment-1280785005,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZSV5C6PC6GRVOD666GSYVDWDVBM7ANCNFSM6AAAAAARGM2TUE
.
You are receiving this because you modified the open/close state.Message
ID: @.***>


Error when running the MAUI Blazor Fluent App (FluentDesignTheme.razor.js file is not moving to the directory .Deploy and run error ,eventhough deploy is configured in the configuration manager).

Procedure:
As Mentioned in the Code Setup , I have implemented the same in my MAUI project

And in Program.cs

Issue :
But during Build and running , I am getting this error,”The project needs to be deployed before we can debug .please enable deploy in the configuration manager”  and “DirectoryNotFoundException - Could not find a part of the path … \DesignSystemProvider\FluentDesignTheme.razor.js”

My Project is already configured for build and deploy

And also Referred MAUI Project can not import web-components script automatically · Issue #404 · microsoft/fluentui-blazor · GitHub for implementation. But unable to find HostingModel in options and FileBasedStaticAssetService in package.

Could you please help on this issue and give detailed configuration for MAUI.

You have not specified which version of the library you are using. But the code you posted is for version 2 and won't work with v3/v4
You don't need any other setup as described in our docs.
Closing this as no reproduction code is provided and we can't reproduce.


Resolving Unique Constraint Violations

I'm implementing soft deletion in Prisma ORM using the prisma-extension-soft-delete. My schema includes a User model with an email field marked as unique. The issue arises when a user registers, deletes their account (soft delete), and then attempts to re-register with the same email. Prisma throws a unique constraint violation error.
Therefore, the current soft deletion implementation doesn't account for reusing unique fields (like email) after a soft delete. This leads to a violation of the unique constraint when the same unique data is entered again.
Is it possible to consider a workaround where a prefix is added to unique fields upon deletion? For example, modifying the email field to something like email_[timestamp]  during the soft delete process. This approach would theoretically allow the reuse of the original unique data for new records. Or maybe I've overlooked something and it is possible to solve this with the current implementation? Thanks for your time!

Hi there,
Thanks for raising this 😄 That is an interesting idea, I hadn't considered a strategy like that!
I'll do some more research around this soon and hopefully will be able to get to it soon!


chore(deps): update deps roll-up Jun-01-2017

:spiral_notepad:  Notes

react-router was not updated. Thanks to @anuraaga for all his work. Ref- #1746
history was not updated because of react-router v3's dependency on it. Should go away when #1746 is merged.
cheerio was not updated because it was breaking the HTML template. Pending investigation.
react-test-renderer was added as a dev-dependency because enzyme was showing warnings-

A few deprecation warnings were added in React 15.5. This supports the new APIs that React recommends. Ref. #876

If you see a package-name being repeated, note that the version number of the last occurrence will get precedence.

:rescue_worker_helmet: Help wanted
Test coverage has mysteriously decreased by 1.407%. Need help with that because I'm running out of free time
:package: Version Diff
[0] PATCH UPDATES
 fontfaceobserver                        2.0.8  →    2.0.9
 ip                                      1.1.4  →    1.1.5
 react-redux                             5.0.2  →    5.0.5
 react-router                            3.0.2  →    3.0.5
 react-router-redux                      4.0.7  →    4.0.8
 react-router-scroll                     0.4.1  →    0.4.2
 redux-saga                             0.14.3  →   0.14.8
 whatwg-fetch                            2.0.2  →    2.0.3
 babel-plugin-dynamic-import-node        1.0.0  →    1.0.2
 coveralls                             2.11.15  →  2.11.16
 css-loader                             0.26.1  →   0.26.4
 exports-loader                          0.6.3  →    0.6.4
 file-loader                            0.10.0  →   0.10.1
 html-loader                             0.4.4  →    0.4.5
 imports-loader                          0.7.0  →    0.7.1
 lint-staged                             3.3.0  →    3.3.2
 ngrok                                   2.2.6  →    2.2.9
 offline-plugin                          4.6.1  →    4.6.2
 shelljs                                 0.7.6  →    0.7.7
 sinon                             2.0.0-pre.5  →    2.0.0
 style-loader                           0.13.1  →   0.13.2
 url-loader                              0.5.7  →    0.5.8
 webpack-dev-middleware                 1.10.0  →   1.10.2

[1] MINOR UPDATES
 babel-polyfill                                   6.22.0  →                 6.23.0
 cross-env                                         3.1.4  →                  3.2.4
 express                                          4.14.1  →                 4.15.3
 history                                           3.2.1  →                  3.3.0
 react                                            15.4.2  →                 15.5.4
 react-dom                                        15.4.2  →                 15.5.4
 react-intl                                        2.2.3  →                  2.3.0
 redux-immutable                                  3.0.11  →                  3.1.0
 redux-saga                                       0.14.8  →                 0.15.3
 babel-cli                                        6.22.2  →                 6.24.1
 babel-core                                       6.22.1  →                 6.24.1
 babel-eslint                                      7.1.1  →                  7.2.3
 babel-loader                                     6.2.10  →                  6.4.1
 babel-plugin-transform-es2015-modules-commonjs   6.22.0  →                 6.24.1
 babel-plugin-transform-react-constant-elements   6.22.0  →                 6.23.0
 babel-plugin-transform-react-remove-prop-types   0.2.12  →                  0.4.5
 babel-preset-env                                  1.4.0  →                  1.5.1
 babel-preset-react                               6.22.0  →                 6.24.1
 babel-preset-stage-0                             6.22.0  →                 6.24.1
 coveralls                                       2.11.16  →                 2.13.1
 css-loader                                       0.26.4  →                 0.28.4
 enzyme                                            2.7.1  →                  2.8.2
 eslint                                           3.13.1  →                 3.19.0
 eslint-config-airbnb                             14.0.0  →                 14.1.0
 eslint-config-airbnb-base                        11.0.1  →                 11.2.0
 eslint-plugin-import                              2.2.0  →                  2.3.0
 eslint-plugin-react                               6.9.0  →                 6.10.3
 file-loader                                      0.10.1  →                 0.11.1
 jest-cli                                         18.1.0  →  18.5.0-alpha.7da3df39
 lint-staged                                       3.3.2  →                  3.5.1
 node-plop                                         0.5.5  →                  0.7.0
 offline-plugin                                    4.6.2  →                  4.8.1
 plop                                              1.7.4  →                  1.8.0
 react-addons-test-utils                          15.4.2  →                 15.5.1
 rimraf                                            2.5.4  →                  2.6.1
 sinon                                             2.0.0  →                  2.3.2
 style-loader                                     0.13.2  →                 0.18.1
 webpack                                           2.2.1  →                  2.6.1
 webpack-hot-middleware                           2.16.1  →                 2.18.0

[3] MAJOR UPDATES
 cross-env                                   3.2.4  →       5.0.0
 history                                     3.3.0  →       4.6.1
 react-helmet                                4.0.0  →       5.1.3
 react-router                                3.0.5  →       4.1.1
 redux-immutable                             3.1.0  →       4.0.0
 reselect                                    2.5.4  →       3.0.1
 sanitize.css                                4.1.0  →       5.0.0
 babel-loader                                6.4.1  →       7.0.0
 cheerio                                    0.22.0  →  1.0.0-rc.1
 circular-dependency-plugin                  2.0.0  →       3.0.0
 eslint-config-airbnb                       14.1.0  →      15.0.1
 eslint-plugin-jsx-a11y                      3.0.2  →       5.0.3
 eslint-plugin-react                        6.10.3  →       7.0.1
 image-webpack-loader                        2.0.0  →       3.3.1
 jest-cli                    18.5.0-alpha.7da3df39  →      20.0.4

[4] ROLLBACKS
 history                                     3.3.0  →       4.6.1 <--- rolled back
 react-router                                3.0.5  →       4.1.1 <--- rolled back
 cheerio                                    0.22.0  →  1.0.0-rc.1 <--- rolled back

[5] NEW DEPENDENCIES
react-test-renderer                                     15.5.4

@KarandikarMihir with PR #1784 test coverage will increase. I'm adding some others missing tests in that PR

@KarandikarMihir , please merge https://github.com/KarandikarMihir/react-boilerplate/pull/1 and then it should be ready

Test coverage has mysteriously decreased by 1.407%.

Jest folks probably improved their test coverage analyzing algorithm, we need to merge @dennybiasiolli PR first.

@Dattaya Thank you!! Merged. I'll now test this thoroughly as described here

Coverage remained the same at 100.0% when pulling 78f0545dc8ce108c9aec0dffee8fdd5b305b5315 on KarandikarMihir:update-deps into ff33112208a5c6af5441f398a7104326913d5eab on react-boilerplate:dev.

@gihrig Thanks :smile: I'll start working on #1790 tomorrow.


updates for animation support

closing in favor of #116 since this has basically become my personal unstable dev branch