CIP-???? | Transaction swaps

This CIP is a solution to Intents for Cardano | CPS-15
After reading Transaction pieces - CIP-0130 and Validation Zones I realized there are too many downsides in both of those proposals. Almost all of the downsides come out of introduction these strange new relationships between transactions. In order to retain sanity for all of the ledger team developers including myself, I would like to reduce the complexity and propose a different approach that hopefully satisfies all of the needs that other competing proposals would solve.
This is an initial attempt. Before I spend more time on polishing it up, I would like to get some feedback from the community.

(rendered proposal)

CC @polinavino, @fallen-icarus and @WhatisRT

thanks; a timely submission @lehins... So we can link to a readable draft, please rename your document to README.md.

thanks; a timely submission

There was a lot of discussion on the mentioned CIPs and it was easier for me to write a CIP of my own that describes of how I would solve this problem, rather participate in lengthy discussion on existing CIPs trying to explain my point of view.

So we can link to a readable draft, please rename your document to README.md.

Done. Sorry, my first CIP here :grin:

Since this is not marked as a draft on GitHub, and because it's being referenced in other actively reviewed CIP pull requests, I think it's appropriate to "triage" it at the next CIP meeting even though you are still referring to it as a "draft" - so @lehins I've put it on the agenda () to help bring it up to review speed with other contemporary proposals of similar scope.

@rphair I've changed the wording to "attempt", which actually better reflects my intent than a "draft"

I like this approach. It seems simple and straightforward. AFAICT this doesn't support transaction batching, but I think it covers enough use cases to still be worth it.

Interesting idea! I would be very curious to understand the changes to the UTXO rule that this approach requires.
Also, the updated approach to Validation Zones does not require changes to the ledger state because there are no more requests and fulfills. There are also no changes to the transaction structure at all, so it is compatible with existing Plutus contracts (no new version needed). The main change is moving the consumed = produced check to the ZONE rule, allowing unbalanced transactions to perform swaps.
https://github.com/cardano-foundation/CIPs/blob/1fd1d6dc56fadca8b07009e795b3ec4eedc298cd/CIP-0118/README-implicit.md

AFAICT this doesn't support transaction batching

We'd first need to define what transaction batching would actually mean for Cardano. What does it mean in the context of plutus scripts, etc.
This approach allows you to batch multiple swaps, which themselves can be thought of miniture transactions with limited functionality. So in some sense it is batching of transactions.
For example I can create a swap that spends 100ADA and outputs 101ADA. That is a basic transaction, which has 1ADA being reserved for fees.

I would be very curious to understand the changes to the UTXO rule that this approach requires.

We would need to validate each individual swap (eg. verify signatures, ensure outputs satisfy minutxo requirement, etc.) We would be able to reuse various portions of existing rules to create this rule for swap validation. We would then need to enforce that that there are no duplicate inputs. Then for the purpose of balancing consumed and produced in the UTXO rule  we could pretend that all pieces of swaps are defined in the transaction itself, while enforcing there are no duplicate inputs.

updated approach to Validation Zones does not require changes to the ledger state

I am not to worried about changing the ledger state, wed do it all the time.

it is compatible with existing Plutus contracts (no new version needed).

This is not possible. Any existing script that for example expects a fee to never be 0 could now fail, where it wouldn't before. So I would advise against advertising that PlutusV1-PlutusV3 would be able to work with this feature.

We would need to validate each individual swap (eg. verify signatures, ensure outputs satisfy minutxo requirement, etc.) We would be able to reuse various portions of existing rules to create this rule for swap validation. We would then need to enforce that that there are no duplicate inputs. Then for the purpose of balancing consumed and produced in the UTXO rule we could pretend that all pieces of swaps are defined in the transaction itself, while enforcing there are no duplicate inputs.

As far a rule changes, that is significantly more complicated than the (implicit/updated) validation zones proposal, but could possibly work. I still do not understand if this is built on top of the zones concept or transactions can be validated individually (without the need for zones)?

This is not possible. Any existing script that for example expects a fee to never be 0 could now fail, where it wouldn't before. So I would advise against advertising that PlutusV1-PlutusV3 would be able to work with this feature.

Fair, a better approach would be - add a new field of type Value to the transaction that is computed at the time of deserialisation - the extra or missing value would be in it, and only let old version scripts run on a transaction if that field is 0.

We'd first need to define what transaction batching would actually mean for Cardano.

With the way I am thinking about it, and the way @WhatisRT described it, perhaps transaction "batching" is not appropriate. Transaction "chaining" may be more accurate.
Ergo defines transaction chaining as: the sequential use of outputs from off-chain transactions.
I personally don't have a use case for it, but a CIP was opened a while ago about it. I like this simplicity of this CIP so unless there is also a simple extension to enable chaining, I think I'd rather leave it as future work. IMO babel fees and off-chain trading are more critical than chaining.

without swaps providing collateral, it could be the case that the work a transaction builder does to turn a swap into a transaction (which includes validating possibly very large scripts) is not compensated when scripts phase-2 fail. This is not the case for (implicit) Validation Zones - any phase-1 partially valid transaction can pay collateral

if a swap includes, for example, a role token, a transaction builder can do whatever they want with it (e.g. interact with another contract that requires the same role token), and the swap-builder, if they want to engage with a contract (e.g. have the transaction builder sponsor the dApp fees for its execution), has no control over this. They dont even sign the final transaction in which their role token will be used. This is, again, not the case for (implicit) Validation Zones. What your transaction does is under your control. One transaction author is not surrendering the use of all their tokens for an unknown purpose (as one does within a swap) to another user because these tokens can only be used within a transaction signed by them.

@polinavino

without swaps providing collateral, it could be the case that the work a transaction builder does to turn a swap into a transaction (which includes validating possibly very large scripts) is not compensated when scripts phase-2 fail. This is not the case for (implicit) Validation Zones - any phase-1 partially valid transaction can pay collateral

The work of a transaction builder happens off chain, which is the work that no-one has to pay for. Even the largest and the most expensive of scripts are really cheap to run locally on a single computer. We only need to worry about cases like that for cardano-node that does validations of transaction. Maybe I misunderstood your concern, so if you can elaborate on it that will be great.

if a swap includes, for example, a role token, a transaction builder can do whatever they want with it (e.g. interact with another contract that requires the same role token),

No they can't. This is not a problem for swap transactions at all. When you have a script that locks something in a swap and that swap also contains a role token. That script will only succeed if that role token is present in that exact swap. Tokens from swaps are not placed in some pool that makes all of them equivalent. So, the fact that scripts from other swaps can see such tokens in other swaps, does not mean anything for the safety of the swap. It is up to the script writer to enforce where the role token is expected to be for the script to succeed. So, using such script that expects a token in the same swap will make it fail if it is missing, regardless if that token is present in other swaps in the transaction. You gotta remember that scripts will see the full transaction and they can make any decision the please on that transaction.

and the swap-builder, if they want to engage with a contract (e.g. have the transaction builder sponsor the dApp fees for its execution), has no control over this. They dont even sign the final transaction in which their role token will be used.

There is no expected trust in this model between swap builders and the transaction builder. swap builders have full control of their portion of the transaction through signing the swaps and providing all the necessary data for execution of their scripts. So they DO NOT NEED to sign the transaction in which their token is used. In the matter of fact this is a feature that Validation Zones does not have: a script writer can look into other swaps and see who provided such tokens or make their own decision on such information. Hell, they even could even make the transaction to fail if it contains swaps with undesired tokens.

What your transaction does is under your control. One transaction author is not surrendering the use of all their tokens for an unknown purpose (as one does within a swap) to another user because these tokens can only be used within a transaction signed by them.

So, this is totally incorrect. No one is surrendering anything. In the matter of fact they are receiving more powers when comparing to Validation Zones: the see the origin of funds and everything that took place for those funds to balance the whole transaction. And they can make any decision they like on that information

While this could be potentially architected around in new-version Plutus contracts, it seems like it would introduce a lot of additional cases to consider and difficultly in formal verification.

Plutus contracts will have to change, since the context will change. I would like to bring an important argument to this point. Formal verification is just a tool that we use. It should never get in a way of new features. If some feature requires more work on the formal methods side we will just have to add more people to solve it. Vast majority of work always happens on the implementation side and I don't see any blockers here.

The work of a transaction builder happens off chain, which is the work that no-one has to pay for. Even the largest and the most expensive of scripts are really cheap to run locally on a single computer. We only need to worry about cases like that for cardano-node that does validations of transaction. Maybe I misunderstood your concern, so if you can elaborate on it that will be great.

The point of the two-phase validation mechanism is to make sure that when a node executes a script from an incoming (phase-1 valid) transaction, and the script fails (this is still off-chain/in the mempool), the node is still able to put that transaction in a block for the purpose of collecting its collateral, thereby getting paid for the work of running of the scripts in that transaction. The scripts are later also run as part of block validation, to make sure that they indeed fail, and collateral should be collected. This feature is a way to prevent DDoS attacks. Because swaps are not transactions, they force the node to run their scripts to determine if they can go into blocks, but do not provide any collateral. The two-phase validation guarantee that nodes will be compensated for running mempools is then void.
Part (2) of my earlier comment is not so much an issue to solve, but rather I am just pointing out that script logic with swaps will have to be significantly more complicated, with more things to consider.

@polinavino I know exactly how phase1/2 validation works and how, why and when collateral is collected. You are just missing my point. Transaction builder has to supply the collateral for all of the scripts in all of the swaps.
The person or application building the final transaction that contains all the swaps is ultimately responsible for its validity. They know ahead of time before submitting transaction will it result in a phase2 validationfailure or not. We are not dealing with Etherium here. It is the same as with ValidationZones, the last transaction must provide collateral for all prior transactions in the zone.

@lehins it would be quite nice to mesh this with CIP-112, and provide a "required observers" field on each transaction swap, which specifies observer scripts that must be executed on the full transaction. That would allow me, for example, to add additional requirements that must be true of the whole transaction in order for the piece I'm signing to be valid.


[INTEGRATIONS-Tracking] Tracking Integrations Content

Is your feature request related to a problem?
The integrations plugin has been introduced, but doesn't include content. This is a general tracking issue for work-in-progress integrations, and will also be a central point of reference to find content on creating integrations.
Integration Issue Template:

Expected source & target schema (AWS / OTEL / ECS )
Potential agents (OTEL receiver / Fluent-Bit / Beats / …)
Available dashboards (Any one of the sources we know )
Important fields that we want to monitor/aggregate
Additional questions / issues that are unclear

Current Integration Issues:

#578
#642 : #698
#669
#682 : #754
#684
#689
#692
#694
#695 : #741
#702
#706
#707
#710
#711

How to request an Integration ?
Suggest / request an Integration by submitting an Integration Issue request
How to create integrations?
See the Integration Creation Guide.
Additional resources for creating integrations?
See the Integration Creation Reference.
Do you have any additional context?
Integrations RFC: #644

https://github.com/aws-samples/siem-on-amazon-opensearch-service

https://aws.amazon.com/solutions/implementations/centralized-logging-with-opensearch/
The AWS Solution for centralized logging

Anyone that wants a new integration to be developed or is willing to contribute one - please open a dedicated integration suggestion github issue here

https://github.com/opensearch-project/dashboards-observability/assets/48943349/7751a7da-456d-4cbd-bc48-322ade87074d
https://github.com/opensearch-project/dashboards-observability/wiki/Integration-Documentation-Reference


fix: update README

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

npm package (@latest dist-tag)
GitHub release
v1.0.1
v1.0.1

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release
v1.0.1
v1.0.1

Your semantic-release bot :package::rocket:


[FLINK-30036][kubernetes] force delete pod when the k8s node is under NotReady state

What is the purpose of the change
This pull request check whether the node where the pod resides is in the NotReady state. If yes, delete the pod forcibly.
Brief change log

Add KubernetesNode resource defination
Before deleting a pod, check whether the status of the node where the pod resides is normal. If no, delete the pod forcibly.

Verifying this change
Please make sure both new and modified tests in this PR follows the conventions defined in our code quality guide: https://flink.apache.org/contributing/code-style-and-quality-common.html#testing
This change added tests and can be verified as follows:

Added Unit test to  test the node NotReady status get is right.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no )
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@wangyang0918 Please help me review this.

@flinkbot run azure


[GraphQL-HotChocolate] - Use RegisterQueryType & RegisterMutationType instead of RegisterType

Problem:

we're scanning dll to retrieve all types of *Type which are going to be registered for GraphQL by using RegisterType extension

Solution:
Hot Chocolate has supported to register for QueryType and MutationType

On PR #9 already


how missing steps?

apt install python3-pip
pip install streamlit

git clone https://github.com/Data-Science-Community-SRM/Hand-Gesture-Recognition-Rock-Paper-Scissor.git

cd Hand-Gesture-Recognition-Rock-Paper-Scissor/
pip install -r requirements.txt

and next
streamlit run app.py

and show me this

wich step i missing?

The Model_4_classes.h5 file is not present in this repository, You need to run the python notebook containing the model, which would generate the Model_4_classes.h5 file (Saved Weights File) after generating the file,  Keep both,  "Model_4_classes.h5" and "app.py" files in the same directory. Then run the command streamlit run app.py

Can u tell me instructions for run python in local or better do it in Google colab?

Yes, If u have have all requirements installed then you can run the python notebook on local system, else Google Colab would be better.

can u show me how do it in colab, pls

dear can u help me with instructions for run notebook in colab....

The IPython Notebok file is present here Hand-Gesture-Recognition-Rock-Paper-Scissor/Inception-Model/TrainInception_4classes.ipynb , Download the notebook, and upload the notebook file in your google drive, then open google colab there open your notebook file and run all cells, once done a file named Dataset-final4th-Inception(150x150 rps).h5  will be created. Copy that file into the directory where the app.py is located.
Then make a change in the app.py file line 6:
Replace,
model = tf.keras.models.load_model('Model_4_classes.h5')
With,
model = tf.keras.models.load_model('Dataset-final4th-Inception(150x150 rps).h5')
Next run app.py.
If you are still facing issues in running notebook on colab please check there are a lot of sources online. I am closing this issue, feel free to re-open the issue if the problem persists.

im stock in that cell, pls tell me what need to do
tnks

Can u help me to complete all blocks


Request for license information.

Thank you so much for sharing this exciting tool! I didn’t find a specified license file in the repository. Would it be possible to license this project under an MIT or Apache license? These licenses are well-aligned with my intended use and would provide the flexibility needed.

Thank you for your interest and positive feedback! I’ve added an MIT license to the repository, so feel free to use it. I’d appreciate it if you could cite the paper in your work. Let me know if you have any further questions or suggestions!

Thank you for your interest and positive feedback! I’ve added an MIT license to the repository, so feel free to use it. I’d appreciate it if you could cite the paper in your work. Let me know if you have any further questions or suggestions!

Absolutely and thank you again.


other: update sbt-jacoco from 3.2.0 to 3.3.0

Updates com.github.sbt:sbt-jacoco from 3.2.0 to 3.3.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.github.sbt", artifactId = "sbt-jacoco" } ]

labels: sbt-plugin-update, semver-minor

Codecov Report

Merging #13 (b5dad28) into master (9749aa8) will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff             @@
##              master       #13   +/-   ##
===========================================
  Coverage     100.00%   100.00%
+ Complexity        27        24    -3
===========================================
  Files              1         1
  Lines            107       100    -7
  Branches           8         7    -1
===========================================
- Hits             107       100    -7

Impacted Files
Coverage Δ
Complexity Δ

...b/src/main/java/org/dmonix/jmx/JMXJsonBuilder.java
100.00% <0.00%> (ø)
24.00% <0.00%> (-3.00%)

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 9749aa8...b5dad28. Read the comment docs.


Hi guys
How to fixe this warning?
I use the namespace on useTranslation('namespace')
Thanks

This is the default logger, It's possible to fix (as a workaround) providing a custom logger. However, it will be good to resolve it.

This is the default logger, It's possible to fix (as a workaround) providing a custom logger. However, it will be good to resolve it.

OK, but is possible tell to the <Trans component use the original text if not found any translation?

Yes, you can use the defaultTrans prop  https://github.com/vinissimus/next-translate#trans-component

Yes, you can use the defaultTrans prop https://github.com/vinissimus/next-translate#trans-component

Thanks
and if I use the defaultTrans the warning disappear?

Another thing is possible set the default namespace to the <Trans component?

and if I use the defaultTrans the warning disappear?

The correct answer would be yes. If it does not, it would have to be fixed in a PR, and as a workaround to avoid the warning, a logger would have to be set in the configuration.

Another thing is possible set the default namespace to the <Trans component?

Now no, but In next release yes 😊  in 1.3.0-canary.7 you can use defaultNS in i18n.js configuration https://github.com/vinissimus/next-translate/pull/739

This code need to works right?
Because I create a multiple files, one of the is `experience.json` and some data are translated, but other ones not

For example for this data I have on experience.json:

It should work yes

It should work yes

Unfortunately not, in case I put on experience.json this:
"API Restful Javascript com Node.js, Typescript, TypeORM etc": "API Restful Javascript with Node.js, Typescript, TypeORM etc"

But the result continue with the Portuguese text

I guess that If they are in Portuguese it's because the key does not exist in the namespace and so it shows the value of the default key (which is the Portuguese text).

I guess that If they are in Portuguese it's because the key does not exist in the namespace and so it shows the value of the default key (which is the Portuguese text).

But in Portuguese file I don't have this key, only have on experience.json file on en folder

I mean this:
experience.json:
{
  "API Restful Javascript com Node.js, Typescript, TypeORM etc": "API Restful Javascript with Node.js, Typescript, TypeORM etc"
}

Using:
t('experience:API Restful Javascript com Node.js, Typescript, TypeORM etc')

namespace: experience.json
key to search: API Restful Javascript com Node.js, Typescript, TypeORM etc
value: exist!! API Restful Javascript with Node.js, Typescript, TypeORM etc

And with a non-existing key:
t('experience:obrigado')

namespace: experience.json
key to search: obrigado
value: no exist... Default: key to search obrigado

t('experience:API Restful Javascript com Node.js, Typescript, TypeORM etc')

I try this and appears like a string :(

[next-translate] "experience:API Restful Javascript com Node.js, Typescript, TypeORM etc" is missing in current namespace configuration. Try adding "API Restful Javascript com Node.js, Typescript, TypeORM etc" to the namespace "experience".

and appears this warning.
The translation not found the namespace file?

@aralroca I suspect the problem is the dot on Node.js, because if I do this:
API Restful Javascript com Node<dot />js, Typescript, TypeORM etc

And set the translation:
"API Restful Javascript com Node<dot />JS, Typescript, TypeORM etc": "API Restful Javascript with Node<dot />js, Typescript, TypeORM etc"

The <dot /> not replaced (after I set on components in <Trans), but the text appears the English version.

Any idea?

Already fix the replace <dot />, but @aralroca  any ideia what's this problem happen?

Ah yes. The dot is for nested keys:
{
  "example": {
    "nested": "bla"
  }
}

t('namespace:example.nested')
You can change . key separator usage in the keySeparator configuration

Ah yes. The dot is for nested keys:
{
  "example": {
    "nested": "bla"
  }
}

t('namespace:example.nested')
You can change . key separator usage in the keySeparator configuration

Oh ok, but the string from data can be only one? Only on the translation file make the nest right?

Ah yes. The dot is for nested keys:
{
  "example": {
    "nested": "bla"
  }
}

t('namespace:example.nested')
You can change . key separator usage in the keySeparator configuration

Use like the code below?
 "API Restful Javascript with Node": {
    "JS, Typescript, TypeORM etc": "API Restful Javascript with Node.js, Typescript, TypeORM etc"
  },

Is possible disabled the nested keys? And use strings with dots?

Use like the code below?
"API Restful Javascript with Node": {
   "JS, Typescript, TypeORM etc": "API Restful Javascript with Node.js, Typescript, TypeORM etc"
 },

It's a personal question of how to organize the namespace. This is supported, but it seems to me to break the semantics of nested usage.

Is possible disabled the nested keys? And use strings with dots?

Using in the keySeparator in configuration, for example "keySeparator": "@", now the nested is with @ instead of ..

Use like the code below?
"API Restful Javascript with Node": {
   "JS, Typescript, TypeORM etc": "API Restful Javascript with Node.js, Typescript, TypeORM etc"
 },

It's a personal question of how to organize the namespace. This is supported, but it seems to me to break the semantics of nested usage.

Is possible disabled the nested keys? And use strings with dots?

Using in the keySeparator in configuration, for example "keySeparator": "@", now the nested is with @ instead of ..

Thanks, but appears the keySeparator config not make any difference

Do you need the last version 1.3. Update it 😉

One last question.
how to build the project to deploy?
Already try a lot of things but:

One last question.
how to build the project to deploy?
Already try a lot of things but:

My Next.js config:

const nextTranslate = require('next-translate');

module.exports = {
	trailingSlash: true,
	images: {
		domains: ['source.unsplash.com']
	},

	...nextTranslate()
};

Are you doing next build && next start? or next build && next export?
In case of next export is an unsupported feature by next-translate (Internationalized Routing
) https://nextjs.org/docs/advanced-features/static-html-export#unsupported-features

Are you doing next build && next start? or next build && next export?
In case of next export is an unsupported feature by next-translate (Internationalized Routing ) https://nextjs.org/docs/advanced-features/static-html-export#unsupported-features

I only try the next build and not working
Is possible put the building working to make a deploy?

replace this:
const nextTranslate = require('next-translate');

module.exports = {
	trailingSlash: true,
	images: {
		domains: ['source.unsplash.com']
	},

	...nextTranslate()
};

to:
const nextTranslate = require('next-translate');

module.exports = nextTranslate({
	trailingSlash: true,
	images: {
		domains: ['source.unsplash.com']
	}
})

And how is your i18n.json file?

replace this:
const nextTranslate = require('next-translate');

module.exports = {
	trailingSlash: true,
	images: {
		domains: ['source.unsplash.com']
	},

	...nextTranslate()
};

to:
const nextTranslate = require('next-translate');

module.exports = nextTranslate({
	trailingSlash: true,
	images: {
		domains: ['source.unsplash.com']
	}
})

And how is your i18n.json file?

Already try but not working
The json file:
{
	"locales": ["en", "pt"],
	"defaultLocale": "pt",
	"localeDetection": false,
	"pages": {
		"*": ["common", "experience", "skills"]
	},
	"keySeparator": false,
	"defaultNS": "common"
}


Switch from pylint to ruff

ruff is a linter that is roughly equivalent to flake8. The most important difference is that ruff is very fast. With an empty cache, it processes ./qiskit and ./test in about 350ms.
Much of issue #1179 discussing moving from pylint to flake8 is relevant, including comments on ruff.
A draft PR replacing pylint with ruff is here #9586. Currently the rule sets E and F are enabled, and ./qiskit and ./test are clean with respect to them. Other rule sets could be added. And E and F can be adjusted. We could enable checking doc strings. I imagine the response to this from developers would be varied. We could also choose doc string tests a la carte.
I plant to play with some of the doc string rules. I hope some are uncontroversial. Like first line ends with punctuation.
We probably don't want the rule set B for "bugbear". Running "bugbear" on ./qiskit produces 298 errors.
ruff check --statistics  qiskit/
  1	B006	[ ] Do not use mutable data structures for argument defaults
  5	B007	[*] Loop control variable `i` not used within loop body
  2	B008	[ ] Do not perform function call `np.finfo` in argument defaults
  3	B009	[*] Do not call `getattr` with a constant attribute value. It is not any safer than normal property access.
  5	B010	[*] Do not call `setattr` with a constant attribute value. It is not any safer than normal property access.
  3	B020	[ ] Loop control variable `qarg` overrides iterable it iterates
  4	B023	[ ] Function definition does not bind loop variable `data_idx`
  6	B024	[ ] `AlgorithmResult` is an abstract base class, but it has no abstract methods
  6	B027	[ ] `Eigensolver.__init__` is an empty method in an abstract base class, but has no abstract decorator
  2	B904	[ ] Within an except clause, raise exceptions with `raise ... from err` or `raise ... from None` to distinguish them from errors in exception handling
259	B905	[ ] `zip()` without an explicit `strict=` parameter

A few of these look like they would be good to catch:

Loop control variable i not used within loop body. EDIT: This did indeed catch unambiguously bad code. Eg enumerate where the counter is never used.

Some are not clearly useful

strict keyword arg to zip. This requires at least Python 3.10. So we can't use it.
Loop control variable order` overrides iterable it iterates. I agree this is not a good practice. But maybe not everyone does.
Do not call setattr with a constant attribute value.  Not sure what the disadvantage is. It is harder to read than x.y.
Function definition does not bind loop variable This filter is not clever enough to determine that in these cases the code will work as expected. Kind of annoying to have to annotate. This feature can be turned off in configuration.

The pyupgrade rules would be useful in general. But I have not yet been able to find information on minimum Python versions. We support 3.7, so I don't want add enforce a rule that causes failure under 3.7. (I don't have 3.7 installed locally)

UP014 wants to make changes like this:
-PermutationCircuit = NamedTuple(
-    "PermutationCircuit",
-    [
-        ("circuit", DAGCircuit),
-        ("inputmap", Dict[Union[int, Qubit], Qubit])
-        # A mapping from architecture nodes to circuit registers.
-    ],
-)
+class PermutationCircuit(NamedTuple):
+    circuit: DAGCircuit
+    inputmap: Dict[Union[int, Qubit], Qubit]

I am explicitly excluding this rule.  I have seen an opinion that DataClass is a better choice than NamedTuple. But the --fix option replaces the NamedTuple with a plain old class.

FBT for flake8-boolean-trap would be useful.
381	FBT001	Boolean positional arg in function definition
693	FBT002	Boolean default value in function definition
230	FBT003	Boolean positional value in function call

But this would require deprecations if we change an argument from positional to keyword only. Or make an even bigger change to the API.

I don't like the ruff format for suppressions, that it requires numeric-only suppression and that its not a compatible format with pylint. Were it not for that it would be rather easy to have a gradual transition to ruff turning on a few rules at a time and eventually throwing the switch go from pylint to ruff in CI.
As it is, I think I'd still prefer to proceed gradually, starting with committing pyproject.toml that gives just top-level configuration for ruff and only activates rules that can be handled without line-level suppression. #9586 is still useful to look at as a view of what the end state might look like but I don't think we should merge it.
After a few rounds of clean-up-the-codebase a la #9690 and #9689 hopefully we can get close enough to parity with pylint and a small final PR at the same time to switch over the CI.
In the meantime I'll have a go at removing some of the pylint suppressions to clean up from that side.

As it is, I think I'd still prefer to proceed gradually, starting with committing pyproject.toml that gives just top-level configuration for ruff and only activates rules that can be handled without line-level suppression.

I'm generally a strong +1 for incremental migrations like this. It makes it much easier for us to review code, which reduces the risk of bugs slipping in. And it reduces risk of e.g. Ruff not covering a lint that we cared about in Pylint, but we've now removed Pylint so have worse coverage.
When adding a new tool, I recommend the strategy from https://github.com/Qiskit/qiskit-terra/issues/9614.

The switch from pylint to ruff was made in #10116, satisfying the request in this issue.


Write better docs on how to use a custom couchDB config

I was trying to use this project with my currently established couchDB instance, and i was having trouble finding where I might be able to specify the host/port and other relevant configs, so i believe that there should be a better specification on how to do this in the README.md file.
P.S. I would be more than happy to submit a PR for your review @manobi

Hi @djlazz3,
I'm sorry for the inconvenient, I still consider this project a work in progress while I'm architecting some features.
You are definitely right about more details in readme.
Have you been able to used it? I can try to improve the readme in two days to help you, but I would be more than happy to receive PRs.
Thanks.

Hey @manobi,
No worries, I set up a testbed to play around with some of the configurations while I try to implement this for a notifications system. So far it's been pretty straight forward. I took a look through some of your code to get a better understanding of how it worked, so you don't need to rush better docs although they would be appreciated.
Also, since i wrote the first comment, i've been able to use it, Im trying to implement the repeating feature for recurrent notifications now.
P.S. Thank you for the work that you put in to make this package 👍

Thanks for your feedback, I'll put something like this on readme:
Using custom config for CouchDB connection:
const manobi = worker('manobi-fast', {
        hostname: 'localhost',
        port: 5984,
        database: 'tasks',
        username: 'user',
        password: 'pass',
});

Yeah, that would've been helpful when I started :)


Updated and fixed the MapDimShuffle tranformation.

The reordering of the dimension was quite strange, it is now much more cleaner. Furthermore, the tile_sizes parameter of the map range was ignored, i.e. not changed. Furthermore, the parameters are now correclty copied. Before it was just assigned, thus if later the parameter list of the map was again changed this effect would propagate to all maps that where treated.

@lukastruemper
I added one of the tests you asked, however, the None case can not be tested, because such a transformation can not be created.
The test was there before (I just moved it from the apply() to the can_be_applied() function) so I keep it.


Add a Uberon/CL integration test

This PR adds a new, manually triggered GitHub Action workflow that attempts to:

build FBbt, Uberon, and CL from the tip of their main branches;
merge the resulting ontologies together;
check for unsatisfiable classes in the merged ontology.

The aim is to provide an easy way for any editor to quickly check that FBbt, Uberon, and CL are consistent with each other.
This is necessary because the standard test suite in each of those ontologies can only test whether each ontology is internally consistent after a change but cannot test whether that change creates inconsistencies when the ontology is merged with the other two. We could update the FBbt test suite to add a step in which we merge Uberon and CL, but that would create other problems: our test suite could fail at any time because of changes introduced in either Uberon or CL (unless Uberon and CL also update their test suites to do the same, to avoid ever introducing any change that could break FBbt+Uberon+CL), so it would no longer fulfill its role of testing the changes we want to introduce in FBbt.
If the test finds unsatisfiable classes, a file containing explanations for them (obtained through robot explain) will be made available to editors.
Regardless of the presence of unsats, the file containing the merged ontology will also be made available to editors, should they wish to have a look at it.
(As an aside, this PR also updates the ODK-provided qc.yml file which contained out-of-date instructions to build the ontology. We do not use that file currently – our CI is done on Travis – but updating it will allow us to switch our QC from Travis to GitHub Actions anytime, should we wish to do so.)

@Clare72 Follow-up to our discussion on 24/01.
@matentzn FYI. This is an idea that’d like to explore further and maybe generalize at the ODK level – e.g., allow an ontology maintainer to declare in the -odk.yaml file a list of foreign ontologies that we want to remain consistent with, and have the ODK automatically generate an integration test like the one in this PR.

Here’s an example of a run (from a copy of the FBbt repo) when all three ontologies are consistent: https://github.com/gouttegd/fbbt/actions/runs/7680501702
And an example of a run when they are not (I deliberately restored a bogus mapping to create unsats): https://github.com/gouttegd/fbbt/actions/runs/7680755492


tgalarm makes printer freeze for a moment

What happened and in what context?
When I run RESPOND PREFIX=tgalarm MSG="My message" while the printer is printing something I see a small (~1 second) freeze of the printer's movements. This looks like network request for telegram api is made on the same thread as klipper's work.
If needed, paste the relevant bot log contents here.
No response
If needed, paste the relevant bot journal contents here.
No response
What branch does this occur on?
master
Reports only on latest master or development branches!

[X] I have updated to latest development/master version before submitting the bug

Can not reproduce on latest version, assume as fixed. Please reopen if you can reproduce.


feat: Expandable List Row,  Accessibility Tweaks, Rotation Animation

Overview

Add Expandable List Row examples + accessibility tweaks, as well as adds a Rotation/Animation component.

I can pull the Rotation/Animation component out of this PR, it just felt easier to add it here + then implement it throughout our repos as a follow-up PR.
I also ended up fixing a dependencies thing, go figure?
PR Checklist

[x] Related to designs:
[x] Related to JIRA ticket: gm-401
[x] I have run this code to verify it works
[x] This PR includes unit tests for the code change

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.5-alpha.60ca6d.0@codecademy/gamut-labs@27.1.2-alpha.60ca6d.0@codecademy/gamut@39.1.2-alpha.60ca6d.0@codecademy/monaco@0.5.5-alpha.60ca6d.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://617ff33b4c91283780028b32--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.5-alpha.abf88b.0@codecademy/gamut-labs@27.1.2-alpha.abf88b.0@codecademy/gamut@39.1.2-alpha.abf88b.0@codecademy/monaco@0.5.5-alpha.abf88b.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6180165bf3d23b4a8623a9a3--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.6-alpha.9a7d95.0@codecademy/gamut-labs@28.0.1-alpha.9a7d95.0@codecademy/gamut@40.0.1-alpha.9a7d95.0@codecademy/monaco@0.5.6-alpha.9a7d95.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6182a25ba6bbdc13e03146ea--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.6-alpha.723d4d.0@codecademy/gamut-labs@28.0.1-alpha.723d4d.0@codecademy/gamut@40.0.1-alpha.723d4d.0@codecademy/monaco@0.5.6-alpha.723d4d.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6182aff226af0721cc84ce3d--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.7-alpha.333be4.0@codecademy/gamut-labs@28.0.2-alpha.333be4.0@codecademy/gamut@40.0.1-alpha.333be4.0@codecademy/monaco@0.5.6-alpha.333be4.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.6.8-alpha.eddbbd.0@codecademy/gamut-labs@28.0.3-alpha.eddbbd.0@codecademy/gamut@40.0.1-alpha.eddbbd.0@codecademy/monaco@0.5.6-alpha.eddbbd.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.6.8-alpha.a1ad65.0@codecademy/gamut-labs@28.0.3-alpha.a1ad65.0@codecademy/gamut@40.0.1-alpha.a1ad65.0@codecademy/monaco@0.5.6-alpha.a1ad65.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6182f4bd06808512b3bb0cdc--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.8-alpha.739187.0@codecademy/gamut-labs@28.0.3-alpha.739187.0@codecademy/gamut@40.0.1-alpha.739187.0@codecademy/monaco@0.5.6-alpha.739187.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6182fdc258ab06210117dfbf--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.8-alpha.a510d1.0@codecademy/gamut-labs@28.0.3-alpha.a510d1.0@codecademy/gamut@40.0.1-alpha.a510d1.0@codecademy/monaco@0.5.6-alpha.a510d1.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6183013f6c6a9126ce2f5c25--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.8-alpha.c6a5ad.0@codecademy/gamut-labs@28.0.3-alpha.c6a5ad.0@codecademy/gamut@40.0.1-alpha.c6a5ad.0@codecademy/monaco@0.5.6-alpha.c6a5ad.0<EMAIL_ADDRESS>
📬Published Alpha Packages:@codecademy/gamut-kit@0.6.8-alpha.c1e9da.0@codecademy/gamut-labs@28.0.3-alpha.c1e9da.0@codecademy/gamut@40.0.1-alpha.c1e9da.0@codecademy/monaco@0.5.6-alpha.c1e9da.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6184137e19562d1e54d0a447--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.9-alpha.240339.0@codecademy/gamut-labs@28.0.4-alpha.240339.0@codecademy/gamut@40.1.1-alpha.240339.0@codecademy/monaco@0.5.7-alpha.240339.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://61858ce92eabd2256a25907d--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.10-alpha.dd65fb.0@codecademy/gamut-labs@28.0.5-alpha.dd65fb.0@codecademy/gamut@40.1.2-alpha.dd65fb.0@codecademy/monaco@0.5.8-alpha.dd65fb.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://6185b25043db9f0df09558b9--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.11-alpha.728354.0@codecademy/gamut-labs@28.0.6-alpha.728354.0@codecademy/gamut@40.1.3-alpha.728354.0@codecademy/monaco@0.5.9-alpha.728354.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://61896b83530b9a1c5b9b674e--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.12-alpha.8ddf2e.0@codecademy/gamut-labs@28.0.7-alpha.8ddf2e.0@codecademy/gamut@40.2.1-alpha.8ddf2e.0@codecademy/monaco@0.5.10-alpha.8ddf2e.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618aaaf38b38a61e30c483d9--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.5e604d.0@codecademy/gamut-labs@28.0.8-alpha.5e604d.0@codecademy/gamut@40.2.1-alpha.5e604d.0@codecademy/monaco@0.5.10-alpha.5e604d.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618ac5d51cfd403a768e25b9--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.501850.0@codecademy/gamut-labs@28.0.8-alpha.501850.0@codecademy/gamut@40.2.1-alpha.501850.0@codecademy/monaco@0.5.10-alpha.501850.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618adfea96d01d1a6bd0b4d3--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.00d6e5.0@codecademy/gamut-labs@28.0.8-alpha.00d6e5.0@codecademy/gamut@40.2.1-alpha.00d6e5.0@codecademy/monaco@0.5.10-alpha.00d6e5.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618af60e469b5c305e954804--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.d7c721.0@codecademy/gamut-labs@28.0.8-alpha.d7c721.0@codecademy/gamut@40.2.1-alpha.d7c721.0@codecademy/monaco@0.5.10-alpha.d7c721.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618afeff308946009ae47e06--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.220de3.0@codecademy/gamut-labs@28.0.8-alpha.220de3.0@codecademy/gamut@40.2.1-alpha.220de3.0@codecademy/monaco@0.5.10-alpha.220de3.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618b0162d627450e11060a2e--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.e3a611.0@codecademy/gamut-labs@28.0.8-alpha.e3a611.0@codecademy/gamut@40.2.1-alpha.e3a611.0@codecademy/monaco@0.5.10-alpha.e3a611.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618b03acf246ca0cb800995b--gamut-preview.netlify.appDeploy Logs

📬Published Alpha Packages:@codecademy/gamut-kit@0.6.13-alpha.1039d8.0@codecademy/gamut-labs@28.0.8-alpha.1039d8.0@codecademy/gamut@40.3.0-alpha.1039d8.0@codecademy/monaco@0.5.10-alpha.1039d8.0<EMAIL_ADDRESS>
🚀 Styleguide deploy preview ready!https://618bf74be4c13f56628a36e5--gamut-preview.netlify.appDeploy Logs


HTMLcreate unused parameter

In the HTMLcreate function, the filename parameter is unused. Also, the created files' names are the first line in the text file, instead of the original file's name.

Removed unused parameter and updated all HTMLcreate function calls to pass one parameter.


Logo added

added new logo
updated the logo path in readme.md file

issue #1

Thanks for contributing, raising the PR, and the logo looks great!


Hyprland crashes upon changing input layout to Bangla (Probhat)

Hyprland Version
Hyprland, built from branch HEAD at commit 9afdd61adeaf413afbe853dbc5fdf6853c8bde21  (props: bump ver to 0.32.3). Tag: v0.32.3
Bug or Regression?
Bug
Description
Hyperland crashes when I try to change my input method to probhat(Bangla). However the bd layout works.
How to reproduce
  bd              Bangla
  probhat         bd: Bangla (Probhat)```

`hyprctl keyword input:kb_layout probhat`

### Crash reports, logs, images, videos

Hyperland logs

`[LOG] Searching for matching rules for kitty (title: hyprctl keyword input:kb_layout probhat)
[LOG] Window rule opacity 0.75 -> kitty matched [Window 55e8ee90ef00: title: "hyprctl keyword input:kb_layout probhat"]
[LOG] Window 55e8ee90ef00 set title to hyprctl keyword input:kb_layout probhat
[LOG] ApplyConfigToKeyboard for "power-button", hasconfig: 0
[LOG] Attempting to create a keymap for layout probhat with variant  (rules: , model: , options: caps:escape)
[ERR] Keyboard layout probhat with variant  (rules: , model: , options: caps:escape) couldn't have been loaded.`

Probhat is a variant of bd. So had to use kb_variant to fix it


Clamp structure invalid property value

After installing the package and setting it up through the tailwind config it was creating the font size as following :
font-size: clamp(20px) calc(20px + (30 - 20) * ((100vw - 320px) / (1230 - 320))), 30px);

It works perfectly fine whenever I change the value within the inspector tool :
font-size: clamp(20px, calc(20px + (30 - 20) * ((100vw - 320px) / (1230 - 320))), 30px);

My tailwind setup :

After digging around in the index.js I changed line 56 - 58 into 1 complete line :
Before :

After :

This generated the right value for me.
Did I do something wrong or has this occurred before? Thanks in advance

I will look into it the next days. Looks like the clamp in screen one is closed to early. Didn't run into this but we will see. Thanks for reporting.

@CzuidwijkRB can you please try the new release (1.3.3).
Tried it locally with your settings and have no problems.
What browser do you use?
If it not works for you let me know.

@CzuidwijkRB can you please try the new release (1.3.3).
Tried it locally with your settings and have no problems.
What browser do you use?
If it not works for you let me know.

I can confirm that it works now, thanks!
The issue occurred in Google Chrome, seems to be fine now!


Add Hotcorners

Description of the new feature / enhancement
When user moves cursor to any corner of a screen for a configurable amount of time, a configurable action occurs.
Scenario when this would be used?
Lower left corner is assigned to lock the system if cursor moved there for 5ms
Supporting information
Similar behavior to Macs or other projects such as WinXCorners

/dup #1305


Quest 1 Crashing

Origins of the strange crashing:
We have received an app lab review mentioning "I only wish I could spend more than 5 minutes without it completely crashing on me"
Siiimon from the Discord, also came across this bug on a Quest 1: "Hi. I am testing open brush on quest via app lab (v 0.2.0), but it seems to crash every few minutes."
Personally, I have been unable to find any crashing on the Quest 2, but did get a logcat of a crash from my Quest 1.
Logcat of a Crash
Attached is a crash log, you can see the crash happens just before 23:03:43
logcat23-04crash.log
2021-03-18T23:03:43.519Z:error14408/14377 AndroidRuntime FATAL EXCEPTION: UnityMain
Process: com.Icosa.OpenBrush, PID: 14377
java.lang.Error: FATAL EXCEPTION [UnityMain]
Unity version     : 2019.4.18f1
Possible Reproduction of the crash
@mikeskydev got a crash on scene change.
To reproduce this, I kept opening many different scenes with varying complexities and also spent time drawing in new scenes.
Of the 4 times, I have managed to get a crash. 3 were while loading scenes, and 1 happened after taking the headset on and off after loading a scene, which is the one in the logcat, note the onHeadsetMounted.
Once a crash has happened I have been unable to get another until I reinstall Open Brush.
If anyone know how to get a crash, please comment here.

Update, in the logcats are complaints about "https://lh3.goog..." which we assume is "https://lh3.googleusercontent.com/". As @mikeskydev pointed out, this is where Poly thumbnails are stored.
The Multibrush creator, TeddyCatsDomino, also had these issues inside of MultiBrush and found that after removing the Google credentials from the Secrets asset, the app no longer crashes.

Due to the fast approaching end of Poly, we decided it is not worth our time to get this working and a quick patch would be to just disable Poly integration.
This is not as simple as removing the API key from secrets as we do want to support other Google features.
I will close this issue when we have disabled Poly integration.


Fix Electron installer for OSX

As when running on Linux, choosing a specific directory for "install path" is required.
Leaving it blank will cause it to be treated as relative to the current directory.

Added reasonable default paths for everything for OSX and Linux.

I tested the Electron installer on macOS and it's not possible to select any other .app btw.
I wrote a "workaround", by replacing the case "browsedialog" in installer_index.js (line 273) with this:
case "browsedialog":
    switch(data) {
        case "discordpath":
            if (process.platform !== "darwin") {
                var path = dialog.showOpenDialog({ properties: ['openDirectory'] });
            } else {
                var path = dialog.showOpenDialog({
                    filters: [{name: 'Application', extensions: ['app']}],
                    properties: ['openFile']
                });
                path[0] += '/Contents';
            }

            path = path === undefined ? config.paths.installPath : path[0];
            config.paths.installPath = path;
            break;
        case "libpath":
            var path = dialog.showOpenDialog({ properties: ['openDirectory', 'showHiddenFiles'] });
            path = path === undefined ? config.paths.libPath : path[0];
            config.paths.libPath = path;
            break;
    }

Also I made sure the libpath case shows hidden directories too.
Not sure if you want to include that in your PR too, or if you have any better solution.

Yeah, I had noticed that too, but wasn't sure how best to fix. Your solution looks good to me.
If you want to make a PR for this PR's branch (as ridiculous as that sounds) or just push your changes somewhere I can pull from, I'll merge it into this PR.

This installer has been obsoleted by a new one for OSX: https://github.com/denBot/BetterDiscordOSXInstaller
As for Linux, it looks like effort might be better spent improving the Node installer along with #288.


slsart deploy: too many open files, open

I tried to deploy but get this error on an EC2 Amazon Linux 2 and Windows 10.
I searched for hours to increase that limit, but no settings changed anything at this error.
$ slsart deploy

        Deploying function...

Serverless: Packaging service...
Serverless: Excluding development dependencies...
{ [Error: EMFILE: too many open files, open '/tmp/artillery-lambda-255390/node_modules/json-schema/draft-01/schema']
  cause:
   { Error: EMFILE: too many open files, open '/tmp/artillery-lambda-255390/node_modules/json-schema/draft-01/schema'
     errno: -24,
     code: 'EMFILE',
     syscall: 'open',
     path:
      '/tmp/artillery-lambda-255390/node_modules/json-schema/draft-01/schema' },
  isOperational: true,
  errno: -24,
  code: 'EMFILE',
  syscall: 'open',
  path:
   '/tmp/artillery-lambda-255390/node_modules/json-schema/draft-01/schema' }
EMFILE: too many open files, open '/tmp/artillery-lambda-255390/node_modules/json-schema/draft-01/schema'

I also tried it on MacOS, same problem.
$ slsart deploy

        Deploying function...

Serverless: Packaging service...
Serverless: Excluding development dependencies...
[OperationalError: ENFILE: file table overflow, open '/var/folders/v2/5pwrqtwx5fjbg2sbtrk_mrn80000gn/T/artillery-lambda-743224/node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js'] {
  cause: [Error: ENFILE: file table overflow, open '/var/folders/v2/5pwrqtwx5fjbg2sbtrk_mrn80000gn/T/artillery-lambda-743224/node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js'] {
    errno: -23,
    code: 'ENFILE',
    syscall: 'open',
    path: '/var/folders/v2/5pwrqtwx5fjbg2sbtrk_mrn80000gn/T/artillery-lambda-743224/node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js'
  },
  isOperational: true,
  errno: -23,
  code: 'ENFILE',
  syscall: 'open',
  path: '/var/folders/v2/5pwrqtwx5fjbg2sbtrk_mrn80000gn/T/artillery-lambda-743224/node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js'
}
ENFILE: file table overflow, open '/var/folders/v2/5pwrqtwx5fjbg2sbtrk_mrn80000gn/T/artillery-lambda-743224/node_modules/rxjs/internal/util/ArgumentOutOfRangeError.js'

I have run into the same problem and I temporarily managed to get it working by increasing the limit of opened files to 20000. I am running an AWS EC2 instance.
Edit /etc/security/limits.conf and add
# <domain> <type> <item>  <value>
*       soft  nofile  20000
*       hard  nofile  20000

Save the file, log-out, log-in again and test the configuration through the ulimit -n command.
Details taken from this answer

I have run into the same problem and I temporarily managed to get it working by increasing the limit of opened files to 20000. I am running an AWS EC2 instance.
Edit /etc/security/limits.conf and add
# <domain> <type> <item>  <value>
*       soft  nofile  20000
*       hard  nofile  20000

Save the file, log-out, log-in again and test the configuration through the ulimit -n command.
Details taken from this answer


Old player disabled

Hey,
seems like the old player is disabled. So we can not use this tool anymore.
Just happened September 1st.
Probably nothing you can do, but would be great if you can check it out!
Thanks!

I'll take a look :D thanks for letting me know

That was quick viper83! I was just about to write the same ;)
It was fun while it lasted :)
Thank you tsundokul <3


Assign emoji to specific tags, or at a per-page basis

These emoji would then appear:

In the page title (top bar)
In page links

e.g. let’s say we assign 📕 to the #book tag. A page “Harry Potter” tagged with #book would then appear as e.g. “📕 Harry Potter”
How to configure?

Perhaps a icon key in front matter for per-page configuration
Per tag… TBD

My thoughts on that:
tag-wise
+ does not clutter the front matter that much
+ scales great
- might overload the whole tag thing. In the end someone might need to use a book-icon tag, because of exceptions where a page tagged with book should become no icon at all
- what if a page has multiple tags with icons? Which icon will be chosen? Precedence?
icon: '' in frontmatter
+ No ambiguity with precedence of multiple icons
- Does not scale well. Has to be defined on every single page. Imagine you have a collection of 50 pages where you want an icon. You would have to update every single file.
rules in SETTINGS.md
+ best scaling
+ does not clutter front matter or tags
- what if a page has multiple rules that apply? Which icon will be chosen? Precedence?
- complex
I think a combination might be best.

I love this feature request.
@v411e I believe all options require the same amount of work:

tag-wise. If you have 50 pages, you need to add a tag to each one of them in frontmatter (you can automatize this with templates for future pages of that type)
icon: Same, you need an icon in every page
SETTINGS.md I am not sure this option is any different from tag-wise as in the latter, you also need to define somewhere which icon will be assigned to each tag

If I could choose, I'd go for using tags and define a key:value list in SETTINGS.md with:

tag:icon

And then in every page we would only need to add the desired tag.
I find this option cleaner. Using the same example of 50 pages, this option would mean having 50 pages with tags in their frontmatter, instead of 50 icons.
Text is simpler to handle within the terminal, for example.
Icons would only be present in SETTINGS.md
Hope this makes sense

@paletochen In regard to the defining rules in SETTINGS.md: I was thinking about some kind of regex, but yeah I agree, tags are probably the best solution :)

If we want to go really advance, we may support full blown query selectors (think: where tags = “something” and …) but that may be overkill. I think I’ll go with tag-based mappings first.
Perhaps something like this?
decorations:
   - tag: book
      prefix: “📕”

This would allow for other type of selectors in the future.

Perhaps something like this?
decorations:
- tag: book
  prefix: “📕”

This would allow for other type of selectors in the future and other type of decorations, like color, or background color. Now the question is if this should be named “decorations” or “linkDecorations” or something, and if it should apply just to the links or also appear in the page’s title?
Since this would be an ordered list, we can just say that “the first match wins”

I think the implementation proposed is simple and efficient. I let you decide on the name :)
As for the outcome, I'd love to see it apply on the page's title.
A graphical example of what I mean:
A setup like this:
decorations:
- tag: person
   prefix: "🧑 "

would allow me to see a page like this:

it would appear in queries like this:

or like this:

while in the url, the true link would be https://mysilverbullet.com/Zef
and the file in the filesytem would look like this:
>ls -l
rw-r--r-- user user 521 B  Thu Nov 15 18:28:43 2023 Zef.md

Yes that looks good. And I find your example strangely appealing 😛


Make the Optimize Path option not go outside the field perimeter.

When you click optimize path for a straight path next to the field barriers, it tries to swoop out through the field perimeter. May be beneficial to make it not be possible to go outside of the field perimeter to ensure no wall collisions.

Fixing by preventing the optimization results from exiting the field as long as the waypoints of the original path have no possibility of exiting the field.
It uses the radius of the robot to determine this, since it doesn't know the rotation of the robot until after generation, and it is a pretty large optimization to determine an optimization result is invalid before generation. So as a result, the path you used as an example will probably still do this, but if you move the start point to prevent the robot from being outside of the wall at any rotation(it will show the radius when you select the waypoint), it will avoid the field wall.


ebsnvme-id and udev rule fails due to Syntax Error of print() on line 167

Hi. After a yum upgrade triggered by security updates, my AWS Linux 2 (amzn2-ami-ecs-hvm-2.0.20191212-x86_64-ebs) instance's containers failed to start.
I traced the problem to a failure of udev rules to create an alias for EBS volumes that appear as NVMe drives.
Which then led me to find the ebsnvme-id tool installed in this yum package is failing.
https://github.com/aws/amazon-ec2-utils/blob/3cd27a273407d4aeadc9b330a463686c0e71f4d5/ebsnvme-id#L167
That line, to my knowledge is invalid syntax. Python 2.7.18 is the default python on Amazon Linux2 AMI and its standard stream of yum updates. If one tries to run this ebsnvme-id tool by hand, this is the result:
[myprompt]# /sbin/ebsnvme-id
  File "/sbin/ebsnvme-id", line 167
    print(err, file=sys.stderr)
                   ^
SyntaxError: invalid syntax

And when one runs it like the official AMI installed udev rule /etc/udev/rules.d/70-ec2-nvme-devices.rules, it also fails, and therefore the udev rule fails, so the alias isn't made, leading to a cascade of volume failures
[myprompt]# /sbin/ebsnvme-id -u /dev/nvme1n1
  File "/sbin/ebsnvme-id", line 167
    print(err, file=sys.stderr)
                   ^
SyntaxError: invalid syntax

Referencing the official Python 2.7 docs https://docs.python.org/2/reference/simple_stmts.html#the-print-statement
the print statement does not support that syntax.
Only Python 3 supports a file= on the print() statement. And since Python 2.7.18 is the official default python of the AWS Linux 2 AMI, and the top of this python file #!/usr/bin/env python doesn't specific a version, that means this file is trying to use Python3 language features on Python2. Therefore, python won't run it, and a cascade of failures occur.

Looks to be due to this commit https://github.com/aws/amazon-ec2-utils/commit/162db13ecfd5c9a34b2fa46e5dc6fe5cef6dbeb5#diff-f23d0c1e2d05912060ebafb0bc0393104f9153613b6ec8cd51a57ce0a17575b8
AmazonLinux2 AMI does not install or use python3 as standard system python
https://forums.aws.amazon.com/thread.jspa?threadID=312472

There are no plans to change the default Python interpreter. It is our intention to retain Python 2.7 as the default for the lifetime of Amazon Linux 2.

yum downgrade ec2-utils from 1.2-2 to 1.2-1 seemingly reverts to before the change in question, which raises some questions about the package versioning, heh

It seems like 1.2-3 was released which looks like resolves this issue.

Hi @fred-lefebvre, I see you made a commit somewhere that was also put into this repo. Glad to see it was fixed.
Is this repo to be used for issues? If so, would you please have someone engage with us and/or close issues as you fix them.
My intention is to understand if this is a dead repo, actively monitored (which doesn't seem to be), etc.

@diablodale This repo is a reasonable place for issues/pull requests/etc. It is monitored, although you've likely noticed that it's not the most active repo in the world at this point. Feel free to highlight @nmeyerhans or @fred-lefebvre in any issues to increase the likelihood of us notice it among all the other activity going on.
The problem originally brought up with this issue has long since been resolved, and with my recent addition of Circle CI configuration (#12), we should avoid a recurrence of similar issues.


Add British English version of Adobe Photoshop

Checklist

[x] The commit message includes the cask’s name and version.
[x] brew cask audit --download adobe-photoshop-cc-gb is error-free.
[x] brew cask style --fix adobe-photoshop-cc-gb left no offenses.
[x] Checked there are no open pull requests for the same cask.
[x] Checked there are no closed issues where that cask was already refused.
[x] When naming the cask, followed the token reference.
[x] brew cask install adobe-photoshop-cc-gb worked successfully.
[x] brew cask uninstall adobe-photoshop-cc-gb worked successfully.

@vitorgalvao, I know we've had this discussion before, but I would still argue that the default casks should install the localized version matching the system language as this is also what happens when you manually install it, and only have -en casks for people that, as you said

prefer their system in one language (many times their native one) and their apps in another (mostly english)

@reitermarkus But can we be consistent with that rule across casks? Because I think we cannot, and that seems like a bad experience to me (users will be surprised when some localize and the others not, even the ones that should).
I wouldn’t oppose at all a solution like --localized, as in brew cask install --localized adobe-photoshop (naturally, --localized could also be given as a HOMEBREW_CASK_OPTS option). That would also standardise our naming scheme for languages (we’d use the exact same as macOS).
On a tangential note, I’d prefer for UK English to be the default, but US English makes more sense as the default for most apps.

While the idea of a --localized option sounds nice, it would really only be usable for edge cases, and then you would still have to translate the specified language slug into the correct format, like here with - and _.
For .app casks and any other native applications, the translations are already bundled.

But can we be consistent with that rule across casks? Because I think we cannot

I don't see why not, also I don't know if there even are other casks than the Adobe ones that are multilingual but aren't native apps.

I don't know if there even are other casks than the Adobe ones that are multilingual but aren't native apps.

Trust Adobe to screw it up…

Ok, so there are Firefox and Thunderbird, which for some reason use language packs instead of bundling translations natively, other than that, I don't think there are any.

@reitermarkus Open an discussion issue on the main repo. If there are no objections, I’m fine with changing the rule.

Closing, since merging languages is in progress and seems to have no objections.


ENHANCEMENT: Upload 3D Print Case STL

Anyone have the 3D printable case for this device?

The case is mold injected not 3D printed.

Would you mind posting the step file?
On Fri, Nov 19, 2021, 12:55 Steven Osborn @.***> wrote:

The case is mold injected not 3D printed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ronoth/LoStik/issues/28#issuecomment-974382153, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAZKIVWD7DW3XMTBDBORM5LUM2TURANCNFSM5IM4UC6Q
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


Feature request: wet laundry status

Thanks for building this library.  I have a feature request.  I could code it and submit a PR with a little guidance.
My request is for a Washer "wet laundry" sensor in Home Assistant.  This is when the washer cycle is complete, but the washer door has not been opened.  This can tell or remind me that someone needs to move the wet clothes into the dryer.
I assume I'd create a function WasherDryer.is_laundry_wet() that returns a boolean.
Should I add a self._last_status and set it in get_machine_state, and then
def is_laundry_wet():
    return (self._last_status == MachineState.Complete and self._door_status == Closed)

Or do you have a better suggestion ?

Hi,
The purpose of the library is to simply expose what the Whirlpool API provides, but not do much extra logic over it.
So I would suggest simply adding the support for door status since I don't think we have that already. Are you sure the API provides that info?
Then, on HA side you can just define a template binary sensor that combines the machine state with the door state.

FYI, I don't think this is possible anyway. It looks like only two statuses regarding the door are Cavity_OpStatusDoorLocked and Cavity_OpStatusDoorOpen. I'm not sure how the HA integration works, but I'm guessing it polls on a regular interval, meaning that if the door was opened and then closed between polls we wouldn't capture the status.
Depending on how long between polls it may not be likely for that to happen, but I don't know if we would want to implement something that could be flaky.

@NodeJSmith the HA integration gets updates from the integration (the event socket handles that on the lib side), it does not poll IIRC.
So yeah, it should be doable on HA, but I don't think it should be part of the integration since there is no "wet" info from the machine, and the user can do it with a binary sensor helper.


[Addition]: Old Graphite Swan

Hotspot b58 Addresses
11Sd1vS2LhGwcVmScvk892KT3M8yy4kqq9wQDNNoMPMdUPuwCQz
112mRJJ9vKVssdn1mJ4sLPxbbSB8Y6odERzB652BxrhmRrXe5XWa
11Sd1vS2LhGwcVmScvk892KT3M8yy4kqq9wQDNNoMPMdUPuwCQz
112rFCgWQnzbRy6B9GAGzNjoS2nCpB8ikcDiVQesiPmyEg9RTNsP
112PT1Fn7zhcEjimWxZFS2MCUBH1TTSGDaKcoHfKVSTvLBw9HV6f
11qQzr2MMdsTK4skdQiHEj2ch3bYAhE59NykMofEpdJUnMmTW2E
11vBn5Ak9UAbCZ8jVChPiSTJLB9widuUf59WDSNfAdf1uNTDoK9
112g5zsK8EAt7djb1gyRMWkVuiFWoa99HUQUB2wEdfUEpghNc4yj
11AW5VhUcpeZU4PhEMCkDbbXWRUyetPNBUcY1nnX8LJkreG4zkP
11CpxunsVCxA2dxFqjyrSU46ayGSBeSLNpAqtSYY7dQHU4YDwoi
11ABTuLEbV8dAxvpYZvVpmzgym7hLacFL9uVvU2rioJ2JQFzTC4
Discord Handle
No response
Reason(s)
I come from Jiangsu, China。I bought two Bobcat a month ago，But my hotspot never witnessed this cluster, and I watched it for a month and realized they must be cheating。This cluster has been very productive, and they bear witness to each other。Their antenna height signal RSSI SNR is consistent。And in an impossible place。

So interesting, can you tell us your hotspot name? We would like to confirm this area, witness filling, decay and replenishment of witnesses for multiple machines. Can you help us?

Hello, because my hotspot can't witness other hotspot here, I've given it to my friends elsewhere.According to my observation, The hotspots of these two wallet addresses are cheating ：
14t5kpHqzDthuMUHvgEXcD7X2ysikRxhweQZm81kZm7bwR5bqxo
13D2HZiKm3by8Xr47TaTYRVhSQjKmNHPeGgGuB81qcxh6rSUkyw.
发自我的iPhone
------------------ Original ------------------
From: Ann King @.>
Date: Mon,Feb 14,2022 2:44 AM
To: helium/denylist @.>
Cc: wutian2 @.>, Author @.>
Subject: Re: [helium/denylist] [Addition]: Old Graphite Swan (Issue #762)
So interesting, can you tell us your hotspot name? We would like to confirm this area, witness filling, decay and replenishment of witnesses for multiple machines. Can you help us?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

We have taken into account this addition request in the next iteration of the denylist. Some or all of the Hotspots listed may be added to the denylist. This is an automated comment due to the volume of addition and removal requests. A future tool is in the works to provide more insight into the analysis approach made by the Helium team and community members that maintain this list.


MTV-80: Performance recommendations (kbase)

https://issues.redhat.com/browse/MTV-80
Turn MTV 2.0 Scale & Performance into a Kbase article (not accessible because it is still a draft)
Preview: https://deploy-preview-185--forklift-documentation.netlify.app/documentation/performance/performance-recommendations/

@apinnick
My suggestions are:

'Fast, dedicated networks for the migration' should include line about datastore speeds, migrations are bound by esx datatstore speed, then network.
Maximum recommended number of VMs per host section requires rewording see below[1]
Maximum recommended number of VMs per host table should use index small 2 also here as done in previous table indicating that '2 Exceeding this value does not improve performance.'
In Maximum number of concurrent disk transfers / Migration Example  would be good to include esx datastore read rate.
consider slight rewording of 'The following table displays the improved performance with additional ESXi hosts' to 'The following table displays the improved performance of migrating 50 VMs with additional ESXi hosts.
Maximum number of concurrent disk transfers section looks really great with the table and sub indexes.

[1] Maximum recommended number of VMs per host

here we want to talk about Maximum recommended number of concurent disk migrations.  The way its currently written is that its focused on VMs to Host aspect and this is not correct as we can have hundreds of vms per host, how many we migrate concurrently is what your table is showing.  Let me know if unclear.

* '_Fast, dedicated networks for the migration_' should include line about datastore speeds, migrations are bound by esx datatstore speed, then network.

@mordechai  The performance document says this about datastore read speeds:

Datastores read rates impact the total transfer times, it's important to ensure fast reads are possible from the esx datastore to the esx host.  Example in numbers: 800MB/s was the average read rate for vsphere endpoint, and 350-500MB/s on average for esx endpoint.  Speed of reads between endpoints are documented here:  (BZ 1957985)

There is a separate section about vSphere endpoint vs ESXi endpoint, including a table showing speed. I could add a line to the endpoint section about how the endpoints affect the datastore read speeds. I do not think it is necessary to repeat this section in the "fast network" recommendation when much of it is mentioned in the Endpoint section.
Re: max concurrent disk transfers/VMs -- yes, of course we mean concurrent migrations, not VMs existing on a host. It hadn't occurred to me that that point might be misunderstood. I will check each occurrence to make sure that we're only concerned about the migrating VMs/disks.
Everything else is clear.

Reviewed and looks good.
Thank you @apinnick

Thanks, @mordechai
I have asked a couple writers to check it from a docs perspective. When they approve it, I will publish it on the Customer Portal and add a link to the Jira and close it.

Closing PR. Article published: https://access.redhat.com/articles/6242511


Horizontal scrollbar appears during filtering animation

https://user-images.githubusercontent.com/19860021/159262551-d4e4b12e-7418-4bdd-8d50-b5a1fd5ec17d.mov
If not a quick fix, be sure to consider when we're implementing https://github.com/weaveworks/weave-gitops/issues/1708

This issue has been fixed:
https://images.zenhubusercontent.com/342592099/f0193fb2-9dc2-429c-9053-c13062f43b33/screenshare___2022_04_14_4_15_41_pm.mp4


Prefetch not working?

Version
v4.0.0-rc.4
Reproduction link
https://codesandbox.io/embed/vny6o5o1j3
Steps to reproduce
Refresh the page and check the terminal/console
What is expected ?
The expected result is that the allCars data is available in the created() hook
What is actually happening?
The allCars data is undefined

This bug report is available on Nuxt community (#c193)

I think it's belong to vue-apollo https://github.com/Akryum/vue-apollo/blob/c466f9893fe34ef83503054cdd3e933778ca5f21/src/mixin.js#L159
Look like it's still loading on created hook.

Nice work, nuxt-apollo! Hey I'm having a very similar issue with<EMAIL_ADDRESS>On SSR (triggered say by a page reload in incognito mode) the cookie is not passed to the node-fetch agent doing the apollo request. It's passed in the request that triggers the SSR, I stepped through the code. I've put
credentials: 'include',
about everywhere possible in nuxt.config.js(apollo node) for good measure. Is that by design? This would be when the apollo client is (created/recreated) SSR from what I understood stepping thru the code. I could not find where I would have the initiating req (which has the cookie) and the apollo client to set the header on this connection. Is this a design issue? Should SSR be invariant for caching reasons or something? ( I dont see the render being cached ...)
When I step thru the SSR in the above scenario, I see the cookie (I'm using express-session so in this case it's the connect.sid value that I'm after) in the request.
in nuxtjs/apollo/templates/plugin.js I see that in the getAuth the token is extracted from the cookie. In the debugger I see in defaultGetAuth that the req has the cookie I’m looking for. I also see that there’s a function getToken that would returned a concatenated cookie that would have the session cookie, but it’s never called.
Any ideas?
TIA!

Close due to vue-apollo https://github.com/vuejs/vue-apollo/issues/623#issuecomment-544452874


Implement Date Picker v2 Component

Spec reference: https://www.google.com/design/spec/components/pickers.html#pickers-date-pickers

Superceded by https://github.com/material-components/material-components-web/issues/55


Contracts should include a local copy of their template

This is motivated by two intersecting dynamics:

The person internal to an organization should have access to all contract templates and their entire history, but external parties signing a contract should not. So we cannot rely on all parties being able pull the template from the source repo.
We will almost certainly need to support ad-hoc negotiations and changes (see #23) and such changes need insight into the template, but shouldn't be shared with all parties (even internal parties).

Towards implementation: The prepare subcommand proposed in #46 could be used to prepare a directory that includes

a copy of the template, along with a url+git ref to its source in space-time and a hash verify it's original contents
a partially filled config, ready for the other party to complete

Labeled as priority as this is requisite to satisfy the following major workflows:

Edit contract lines and keep the edits recorded as a diff from the template in an accessible manner.
Counterparty can easily comment on the contract or ask questions and Internal Ops to be able to easily respond.

Implemented as discussed on #23 (currently on branch prototype/v2, soon to be merged to master).


Add #to_ary specs for Array's assoc and rassoc

Add specs specifying Array#assoc and Array#rassoc behaviour regarding implicit conversion

Thank you!
It looks like a non-intentional difference. It makes sense to report it as a bug here https://bugs.ruby-lang.org/issues.

Will do, thank you

https://bugs.ruby-lang.org/issues/20003


feature file call for a test.js and recieves null

Hi peter,
We have a test.js with code as
function () {
var abc = {
abf:'123456789'
}
return abc;
}
Now in a Feature file we are calling this test.js with code as
Feature: Demo
Background:

def cat = read('classpath:test.js')
def cat1 = cat.abf
print 'dummy ' + cat1

I am not getting any error but the expected print i am expecting out of * print 'dummy ' + cat1 is
dummy 123456789 but the karate is printing as dummy null
Can you please let me know where I am going wrong.
Due to Complexity of the project we would require this functionality . Please help us to resolve this.
Or any Way of calling this test.js in the karate-config-env.js would also work for us.

please ask such questions on stack-overflow:
https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue
maybe this solves your problem - be clear about JSON vs JS functions or take the help of someone next to you.
* def cat1 = cat.abc()


Frontend deployment missing files

I'm trying manual deployment for a frontend environment, and I uploaded a .zip file. The zip file has vendor.js and favicon.ico but they seem to be missing in the deployed app, therefore when I go to the URL provided the app wouldn't load due to the missing vendor.js
Using amplify publish from CLI with the same dist folder works though, so I'm not sure why they're behaving differently.

Hi @dsoegijono ,  which one did you try, drag and drop or Amazon S3?
Here are 2 useful comments, I hope those could help you. If those comments do not help you, please provide your appId and region to us. I'll investigate on it
App Settings --> General --> AppArn:
arn:aws:amplify:REGION:accountId:apps/AppId
https://github.com/aws-amplify/amplify-console/issues/584#issuecomment-613570006
https://github.com/aws-amplify/amplify-console/issues/584#issuecomment-613574766

Hi @Joycehao19 thank you for your response, those links helped.
I was doing the drag and drop method. My built app is located inside dist/my-app and I was originally creating a zip of my-app folder instead of the file contents.
The deployment was marked successful even though it was missing vendor.js. And checking the deploy logs, I didn't see anything around vendor.js
Deploy 1 logs

```
2020-05-05T11:58:20 [INFO]: Starting Deployment
2020-05-05T11:58:21 [INFO]: Skipping deploy of existing file: favicon.ico
2020-05-05T11:58:21 [INFO]: Deploying index.html
2020-05-05T11:58:21 [INFO]: Skipping deploy of existing file: runtime.js
2020-05-05T11:58:21 [INFO]: Skipping deploy of existing file: runtime.js.map
2020-05-05T11:58:22 [INFO]: Deploying main.js.map
2020-05-05T11:58:22 [INFO]: Deploying main.js
2020-05-05T11:58:23 [INFO]: Skipping deploy of existing file: polyfills.js.map
2020-05-05T11:58:23 [INFO]: Skipping deploy of existing file: polyfills.js
2020-05-05T11:58:24 [INFO]: Skipping deploy of existing file: polyfills-es5.js.map
2020-05-05T11:58:24 [INFO]: Skipping deploy of existing file: polyfills-es5.js
2020-05-05T11:58:24 [INFO]: Skipping deploy of existing file: styles.js
2020-05-05T11:58:24 [INFO]: Skipping deploy of existing file: styles.js.map
2020-05-05T11:58:24 [INFO]: Updating Edge config
2020-05-05T11:58:24 [INFO]: Deployment finished.
```

After following the steps in the linked comment, I uploaded the .zip of the contents on the folder. The site now works, and it can find vendor.js, even though the logs says it's skipping it (Skipping deploying of existing file vendor.js). Not sure if it was uploaded in deploy 1 or deploy 2.
Deploy 2 logs

```
2020-05-06T12:28:32 [INFO]: Starting Deployment
2020-05-06T12:28:32 [INFO]: Skipping deploying of existing file favicon.ico
2020-05-06T12:28:32 [INFO]: Deploying index.html
2020-05-06T12:28:32 [INFO]: Deploying main.js
2020-05-06T12:28:33 [INFO]: Deploying main.js.map
2020-05-06T12:28:33 [INFO]: Skipping deploying of existing file polyfills-es5.js
2020-05-06T12:28:33 [INFO]: Skipping deploying of existing file polyfills-es5.js.map
2020-05-06T12:28:33 [INFO]: Skipping deploying of existing file polyfills.js
2020-05-06T12:28:34 [INFO]: Skipping deploying of existing file polyfills.js.map
2020-05-06T12:28:34 [INFO]: Skipping deploying of existing file runtime.js
2020-05-06T12:28:34 [INFO]: Skipping deploying of existing file runtime.js.map
2020-05-06T12:28:34 [INFO]: Skipping deploying of existing file styles.js
2020-05-06T12:28:34 [INFO]: Skipping deploying of existing file styles.js.map
2020-05-06T12:28:42 [INFO]: Skipping deploying of existing file vendor.js
2020-05-06T12:28:48 [INFO]: Skipping deploying of existing file vendor.js.map
2020-05-06T12:28:48 [INFO]: Updating Edge config
2020-05-06T12:28:48 [INFO]: Deployment finished.
```

I also previously tried the S3 method that didn't work (it got stuck at Retrieving deployment details... even though I've uploaded to bucket). I'll try following the steps next time.

@dsoegijono I'm glad the drag and drop works for you. Skipping deploying of existing file vendor.js because you vendor.js has already uploaded. Would you mind provide you appId and region? It would be helpful for us to debug why  S3 didn't work

because you vendor.js has already uploaded.

@Joycehao19 Which I think is strange because in the previous deploy, vendor.js did not show up in the logs and wasn't uploaded properly. When I tried going to the site, it couldn't find vendor.js. My confusion is around when it actually got uploaded.
As for ARN, I'll get this in the next few hours.


add failing tests

Tests showing failure described in #9

Thanks for your contribution.
I haven't considered that case yet.
But rather than ignoring the URL pattern, I would rather also link it by default like GitHub does it.

I am currently using markdown-linkify for this now. I don’t really think
that it makes sense for this package to transform the links. Many things
have already been built to do that. The main feature of this library is how
tiny it is and I think it might increase the bundle size too much.
On Fri, Oct 19, 2018 at 2:15 PM Dustin Hagemeier<EMAIL_ADDRESS>wrote:

Thanks for your contribution.
I haven't considered that case yet.
But rather than ignoring the URL pattern, I would rather also link it by
default like GitHub does it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/coding-intl/micro-down/pull/10#issuecomment-431501204,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABIyBJ_gptaWiwKr0WnpMB-yl1lLodG1ks5umkDogaJpZM4XxIU_
.

@hipstersmoothie The logic to exclude URLs from transformation is about as adding as transforming them to links.


The open pane animation background is transparent

Windows Terminal version
1.13.10321.0
Windows build number
No response
Steps to reproduce
Split open a pane with pane animations enabled
Expected Behavior
The background during the pane split animation should not be transparent
Actual Behavior
The background during the pane split animation is transparent (somehow, the close pane animation background is correct though)

This is a little bit of #11561, a little bit of #7365, and a whole lot of p a i n


feat!: support fastify v5.x

Checklist

[x] Run npm test
[x] Documentation has been updated and adheres to the style described in CONTRIBUTING.md
[x] Commit message adheres to the Conventional commits style, following the @commitlint/config-conventional config

I was looking for info about that :) but it's almost done I've noticed :)
I'll wait for its release :)
Thanks for your work 🚀


Add contributors list

We love contributors! Thanks to everybody who has taken the time to make this project better.

That's a cool idea but I'm afraid it will get desynchronized really fast. Maybe if you had a post push hook or a github bot update it.

Good point @dkarter. I'm going to close this while I think of a different solution.

Hey @jwworth check this out https://github.com/kentcdodds/all-contributors It has a CLI too for automating the process.


fix(integration-test): Add integration-test to lerna.json

Currently, CI failed by https://github.com/textlint/textlint/pull/384#issuecomment-352010845
Add integration-test to lerna.json again and refer latest<EMAIL_ADDRESS>

Maybe, https://github.com/textlint/textlint/pull/385/commits/a552f2cd1aab342aaecd662bc49e88c12686bdce is unnessary


✨ Embed trace demo on trace empty state

#246  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @RTLS and the rest of your teammates on  Graphite


GPU can not working

Hi，Thanks for sharing the code. I tried to reproduce your code. I encountered a problem. The environment configuration is the same as your code requirements, but every time the GPU is not working, the default CPU is always the default. Check the code and it has not changed. How was it solved at the time.
Working environment: 2060ti, pytorch0.4, cuda9.0, pytorch gpu display output is true.
Looking forward to your reply

Hi @yangt1013,
Thanks for your interest in our work. I've tested the code on nvidia v100 GPU and it works well. Could you please provide me with more infromation (e.g. error information)?

The problems is  GPU memory usage can not find working file,GPU-Util occupancy 2% Default ，the operating environment is required in your paper is satisfied.Using top inquire CPU working very well and GPU can not working。I really don’t know what the reason is, I would like to seek your help to see how to deal with it

Hi @yangt1013,
If there is no error information, please provide me with the following information:

your Nvidia driver version
your anaconda version
your python version
your cudnn version
the screenshots when you're running this repo

I guess it might because that you're using a Turing architecture GPU, but I am not sure. You may try to run this repo with a Volta or Pascal GPU with more than 6GB graphics memory if it is possible.

Nvidia driver  version: NVIDIA UNIX x86_64 Kernel Module  440.33.01  Wed Nov 13 00:00:22 UTC 2019
GCC version:  gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)
cudnn version：7.1.4
#define CUDNN_MAJOR 7
#define CUDNN_MINOR 1
#define CUDNN_PATCHLEVEL 4
#define CUDNN_VERSION    (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)
anaconda version：conda 4.5.11
python version：3.5
I do not understand what is Turing architecture GPU，Volta or Pascal GPU ，I am using a computer with only one 6G graphics card, and there may be no way to superimpose other GPUs. This is the result that appears when the environment I am running is already running. Please help me analyze and guide

{'base_lr': 0.01,
'dataset': 'MiniImageNet',
'dataset_dir': './data/mini/',
'eval_weights': None,
'gamma': 0.5,
'gpu': '1',
'init_weights': None,
'max_epoch': 100,
'meta_label': 'exp1',
'meta_lr1': 0.0001,
'meta_lr2': 0.001,
'model_type': 'ResNet',
'num_batch': 100,
'phase': 'pre_train',
'pre_batch_size': 128,
'pre_custom_momentum': 0.9,
'pre_custom_weight_decay': 0.0005,
'pre_gamma': 0.2,
'pre_lr': 0.1,
'pre_max_epoch': 110,
'pre_step_size': 30,
'seed': 0,
'shot': 1,
'step_size': 10,
'train_query': 15,
'update_step': 50,
'val_query': 15,
'way': 5}
Using gpu: 1
Using random seed.
Epoch 1, Loss=4.2901 Acc=0.0156:   1%| | 2/300 [00:48<1:4
running the repo

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01    Driver Version: 440.33.01    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce RTX 2060    Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   49C    P8     5W /  N/A |    422MiB /  5934MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1226      G   /usr/lib/xorg/Xorg                           252MiB |
|    0      1972      G   compiz                                       131MiB |
+-----------------------------------------------------------------------------+

top - 16:41:40 up  5:18,  1 user,  load average: 6.07, 3.99, 1.91
Tasks: 318 total,   1 running, 235 sleeping,   0 stopped,   0 zombie
%Cpu(s): 44.6 us,  6.1 sy,  0.0 ni, 49.3 id,  0.1 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 16300836 total,  2215104 free,  7775132 used,  6310600 buff/cache
KiB Swap: 23922684 total, 23922428 free,      256 used.  7809568 avail Mem
13827 ty        20   0 8435192 5.415g 118980 S 600.3 34.8  25:46.91 python3

Looking forward to your reply, I think I can't solve this problem，Thanks a lot！

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 CUDA Version: 9.0 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2060 Off | 00000000:01:00.0 Off | N/A |
| N/A 49C P8 5W / N/A | 422MiB / 5934MiB | 2% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1226 G /usr/lib/xorg/Xorg 252MiB |
| 0 1972 G compiz 131MiB |
+-----------------------------------------------------------------------------+

Hi @yangt1013,
It seems you're running this repo correctly except that it is not able to use GPU.
Turing and Volta are the names of architectures of Nvidia GPUs. E.g., 1080ti is a Volta GPU, and 2080ti is a Turing GPU.
As I don't have a Turing GPU, I am not able to test the code based on the same environment of yours. My suggestions are that you may try to upgrade the CUDA version to e.g., 9.2 (in conda, not in the system) or upgrade the PyTorch version to 1.2. Sorry that I am not sure whether these suggestions will work.
If you are able to solve this problem, it would be great if you can share your solutions here to let more people know. Great thanks.

Check your computer cuda ID (using  https://github.com/matterport/Mask_RCNN/issues/109)

Check torch can recognize cuda
import torch
print(torch.cuda.is_available())

change the line in main.py
parser.add_argument('--gpu', default='0') # GPU id
(if you have only one gpu, usually set 0)

Then you can use GPU for training the model.
When I train the model with pre parameter (run_pre.py), your gpu needs almost 10gb (batch size 128).


[<IP_ADDRESS> / embedded in chest cavity 2.13.5] Massive log spam just by standing still

latest.log

Any update on this? It's very annoying.


Increased length of RB circuits?

In #1712, the code to manually construct the terminal "inversion" Clifford in randomized benchmarking was replaced with a call to protocols.inverse:
https://github.com/quantumlib/Cirq/blob/afad82b688a93a12976b3890392e59671e0bb2bf/cirq/experiments/qubit_characterizations.py#L527-L534
In my tests, protocols.inverse doesn't create a single gate, but rather creates an inverted copy of the entire circuit (i.e. each gate is inverted separately and their order is reversed). I would expect a noisy simulator to see roughly half as much noise if the inversion step was a single gate - does this change affect the RB experiment when running on hardware?

Yes, in RB the inversion operation should be one(-ish) moment

Agree that this is wrong. The inverse needs to be optimized into a fixed length sequence to make noise behavior better and probably also to avoid undoing noise in a way that wouldn't happen in actual computations. We could replace it with a stabilizer tableau simulation and then map the Tableau to minimal sequences, but may not be faster than the unitary simulation.
(It sounds like maybe the slow test that triggered this optimization is testing too much stuff and we should cut down how much it does.)

Some clarifying points on this:

The >200s test in the original PR was check/pytest-and-incremental-coverage, which runs a few thousand tests in my local runs. Without that PR, it takes ~220s; with the PR it's down to 150s.
Without that PR, qubit_characterizations_test.py takes ~45s to run. With the PR, it only takes 2s. The main factors in the runtime are:
a. Excessive test repetitions (~30s)
b. Constructing the two-qubit Clifford map (~12s)
c. Remaining test execution (~2s)

The root cause of this issue comes from removing step (b) above. If we're okay with a ~15s unit test, we can simply revert that section; otherwise, we'll either need to optimize the creation of the two-qubit map or use a different approach (e.g. the tableau method recommended above).

I agree that this was a mistake on my part. I removed the construction of the two qubit matrices and the multiplication of each of the two qubit matrices with the unitary of the circuit to find the inverse and replaced it with the protocols.inverse to save the time but without realizing the issue it brings up in terms of circuit length and noise.  To fix this we need to replace with the former inversion scheme or with another which is faster.
Would it be difficult to utilize existing decomposition code to convert the unitary that inverts the circuit into a sequence of single qubits Cliffords and CZ gates that generate the inverse two qubit Clifford?

Would it be difficult to utilize existing decomposition code to convert the unitary that inverts the circuit into a sequence of single qubits Cliffords and CZ gates that generate the inverse two qubit Clifford?

This mostly depends on our expectations for the inversion step. I haven't found any decomposers that convert to XPow + YPow, so if we want the inversion step to have the same format as the rest of the circuit we'll need to make a new decomposer.
If instead any inversion is sufficient, then existing decomposers (e.g. single_qubit_matrix_to_gates and two_qubit_matrix_to_operations) should suffice.