[Doc]: Update numbering in test guide

Describe your documentation update
10 is skipped over in the numbering on https://e3sm-project.github.io/zppy/_build/html/main/dev_guide/release_testing.html

Fixed by #576.


Multiple saving many records

I tried to add this behavior for link between tables group and category using pivot table category_group that have columns group_id and category_id.
When I added behavior and set up "virtual property" groupsIds, I tried to execute request with adding one category with three records from group to be related with: groupsIds => [1,2,3]
As expected from link method, I got three MySQL queries:
INSERT INTO `category_group` (`category_id`, `group_id`) VALUES (6, 1);
INSERT INTO `category_group` (`category_id`, `group_id`) VALUES (6, 2);
INSERT INTO `category_group` (`category_id`, `group_id`) VALUES (6, 3);

So I think it's better to use one query:
INSERT INTO `category_group` (`category_id`, `group_id`) VALUES (6, 1), (6, 2), (6, 3);

What do you think about enhancement? Is it needed or no?

Probably, method link must be improved for this feature..

Probably, method link must be improved for this feature..

Indeed. There is nothingI can do inside this project.


NiViewer Windows DeviceOpen using default: no devices found

Required Info

Camera Model
{ D415 }

Firmware Version
(Open RealSense Viewer --> Click info)

Operating System & Version
{Win 10)

Kernel Version (Linux Only)

Platform
PC

SDK Version
2.33.1

Language

Segment
{interactive display }

Hi!
I cant start NiViewer. Get message DeviceOpen using default: no devices found.
Sould i build wrapper on my computer or can use already builted dlls?
How OpenNI should know which device to use?
I am very confused.
Thanks for any explain

Are you following wrappers/openni2?

There was also the recent case @dorodnic of the recommendation to use x86 binaries.
https://github.com/IntelRealSense/librealsense/issues/5976

Are you following wrappers/openni2?

Yes. I say about this wrapper.
And my NiViewer don't see any device

recommendati

Thanks, It advice help me. NiViewer work, after rebuild  wrappers/openni2 in x64.
Both OpenNI2 like x32 and x64 perfect work.Thank @dorodnic


Cannot import tesbml

This looks like an easy fix, some code in tellurium is still relying on tesbml, eg
te.getODEsFromModel(r)
Traceback (most recent call last):
File "C:\Tellurium-Winpython-3.8\python-3.8.6.amd64\lib\site-packages\tellurium\utils\misc.py", line 175, in init
import tesbml
ModuleNotFoundError: No module named 'tesbml'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 1, in
te.getODEsFromModel(r)
File "C:\Tellurium-Winpython-3.8\python-3.8.6.amd64\lib\site-packages\tellurium\utils\misc.py", line 114, in getODEsFromModel
extractor = ODEExtractor (roadrunnerModel.getSBML())
File "C:\Tellurium-Winpython-3.8\python-3.8.6.amd64\lib\site-packages\tellurium\utils\misc.py", line 177, in init
raise Exception("Cannot import tesbml. Try tellurium.installPackage('tesbml')")
Exception: Cannot import tesbml. Try tellurium.installPackage('tesbml')

The fix is easy, change line 175 of misc.py to
import libsbml
and line 179 to
self.doc = libsbml.readSBMLFromString (sbmlStr)

It seems like your tellurium isn't up to date--if you look at
https://github.com/sys-bio/tellurium/blob/develop/tellurium/utils/misc.py
the only place it mentions tesbml is:
        try:
            import libsbml
        except ImportError:
            import tesbml as libsbml

which is there just in case libsbml is not.
Which version of tellurium are you using?  It looks like I made that change
seven months ago, so I would have hoped it would make it into the latest...
-Lucian
On Fri, Jun 18, 2021 at 12:59 PM Herbert Sauro @.***>
wrote:

The fix is easy, change line 175 of misc.py to
import libsbml
and line 179 to
self.doc = libsbml.readSBMLFromString (sbmlStr)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/sys-bio/tellurium/issues/532#issuecomment-864245599,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANH3VV4BIQU3IZE5JOPAG3TTOQNNANCNFSM466HNYAQ
.

I'm running:
[('tellurium', '2.1.6'),
('roadrunner', '2.0.8'),
('antimony', '<IP_ADDRESS>'),
('libsbml', '5.19.0'),
('libsedml', '0.4.52'),
('phrasedml', '1.1.0')]
On Fri, Jun 18, 2021 at 1:15 PM Lucian Smith @.***>
wrote:

It seems like your tellurium isn't up to date--if you look at
https://github.com/sys-bio/tellurium/blob/develop/tellurium/utils/misc.py
the only place it mentions tesbml is:
try:
import libsbml
except ImportError:
import tesbml as libsbml
which is there just in case libsbml is not.
Which version of tellurium are you using? It looks like I made that change
seven months ago, so I would have hoped it would make it into the latest...
-Lucian
On Fri, Jun 18, 2021 at 12:59 PM Herbert Sauro @.***>
wrote:

The fix is easy, change line 175 of misc.py to
import libsbml
and line 179 to
self.doc = libsbml.readSBMLFromString (sbmlStr)
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
<https://github.com/sys-bio/tellurium/issues/532#issuecomment-864245599
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AANH3VV4BIQU3IZE5JOPAG3TTOQNNANCNFSM466HNYAQ
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sys-bio/tellurium/issues/532#issuecomment-864252922,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIBSDVAW7GRUA5L4KGDRCTTTOSLBANCNFSM466HNYAQ
.

--
Herbert Sauro, Professor
University of Washington, Bioengineering
206-685-2119, www.sys-bio.org
@.***
Books: http://books.analogmachine.org/

Yup--tellurium 2.2.0 should have this fix.

Ok I see I’ve an old tellurium. Without a windows installer do I just do
pip install tellurium —upgrade
H
On Fri, Jun 18, 2021 at 1:36 PM Lucian Smith @.***>
wrote:

Yup--tellurium 2.2.0 should have this fix.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sys-bio/tellurium/issues/532#issuecomment-864261525,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIBSDQTIPTGLK55VNQUVJTTTOU33ANCNFSM466HNYAQ
.

--
Herbert Sauro, Professor
University of Washington, Bioengineering
206-685-2119, www.sys-bio.org
@.***
Books: http://books.analogmachine.org/

I seem to be unable to test this myself right now, but I believe you are correct.


Re-evaluate findBundlePath() because it has been changed to simply return a constant. Can we get rid of this?

Re-evaluate findBundlePath() because it has been changed to simply return a constant.
There may still be add-to-app situations where a developer wants to provide their own app bundle path.

From an email thread:

We should clarify what an "app bundle" means in order to support
add-to-app scenarios where an app might have multiple bundles within
the APK and would need to specify which one they want to execute.  The
embedding should also provide a convenience API for the common case
where the app was built using the standard template and contains a
single app bundle in a default location.

Currently, we allow folks to override the asset path in the application's  within AndroidManifest.xml. However, it looks like we never documented this feature publicly.

But the meta-data behavior is only intended for internal use where the build system places the bundle in a different location within the APK. Therefore, we probably don't want this to be a public API, unless we can describe the external use-case.

As far as libapp.so (the dart AOT code) is concerned, it's located within the native library dir. I don't think we can customize the path, but perhaps the filename.
The asset path is relevant in debug mode only.

@jason-simmons @blasten @xster I moved some of our discussion to this ticket. Please feel free to chime in with any thoughts about what this API should look like, or what the specific use-cases might be that we should support.

is findBundlePath in the embedding?

See https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/view/FlutterMain.java#L319

Thanks! As mentioned in the thread, there's little value in allowing folks to customize the bundle path if we don't also allow to customize the file name of libapp.so. Maybe we can add a prefix, such that:  <prefix>libapp.so <prefix>flutter_assets.  Then, the embedding API becomes something like void load(String prefix)  and `void load() . Wdyt?

In the case of <prefix>libapp.so, would we have a <prefix>/main.dart?

Does libapp.so have to be called libapp.so and if so, do we think that will always be the case?
You mentioned a prefix, but I'm not sure where a prefix comes into play. Can't developers use any directory structure that they'd like, so long as they specify it when executing Dart code?

libapp.so can be customized in AndroidManifest.xml via https://github.com/flutter/engine/blob/master/shell/platform/android/io/flutter/view/FlutterMain.java#L35.
I was under the impression that the use case is multiple libapp.so/flutter_assets in a single APK. Is this the definition of a bundle in the context of this thread?

I think we discussed that our internal build system, even with only a single bundle, places it in a different place. Is that right?

libapp.so is in the /lib/<abi> directory.
flutter_assets is in the /assets directory.

The action item is to write a design doc.  In next phase, we may want to support multiple Flutter views in a single APK. I don't think this has been designed/discussed enough yet.


Bugfix/home page typo

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


priv.distributeRawTransaction method not working

Description
In the context of concurrent transactions in a privacy group, the method priv.distributeRawTransaction of web3js-quroum library doesn't work. The method is unable to decode the private signed raw transaction. With ethers.js and web3.js out of a privacy group context, the concurrent transactions are executed correctly.
Expected behavior: the method should return the enclave key.
Actual behavior: Error: Returned error: Unable to decode the private signed raw transaction
Frequency: 100% of the time
Versions

Besu : 23.7.1

Tessera: 23.4.0

Java version: 20.0.2

web3.js : 1.8.0

web3js-quorum: 22.4.0

ethereumjs-tx : 2.1.2

Solidity version : 0.8.20

Have you reproduced the issue on other eth clients : No

Additional Information:
Snipped code in Typescript:
import Web3 from "web3";
const Web3Quorum = require("web3js-quorum");
const {Transaction} = require('ethereumjs-tx');

// privacy options masked
const privacyOptions = {
  privateFrom: "XXX",
  privateKey: "YYY",
  privacyGroupId: "ZZZ"
};

const web3 = new Web3("address provider");
const web3q = new Web3Quorum(web3);

const rawTx= {
    ...privacyOptions,
    to: contractAddress,
    data: "0xa621d15e",
    nonce : ethers.toBeHex(nonce)
  }
   const tx = new Transaction(raxTx);
   tx.sign(Buffer.from(privateKey, "hex"));
   const hexTx = `0x${tx.serialize().toString("hex")}`;

  const enclaveKey = web3q.priv.distributeRawTransaction(hexTx);

@gtebrean and @NickSneo - any ideas here?


Add Lightdash as a utility plugin

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2786
Originally created by @aaronsteers on 2021-06-07 17:46:11

This is a new BI tool: open source, (apparently) CI-friendly, and integrated with dbt.
https://www.lightdash.com/
License: MIT
Sample code (inline with a dbt schema.yml file):

From https://docs.lightdash.com/guides/how-to-create-metrics

View 11 previous comments from the original issue on GitLab


Changed to placeholders for the name

Can one of the admins verify this patch?

Can one of the admins verify this patch?

[merge]

ok to test

add to whitelist


CCDScan: autoreload any new data for the sidebar options

Description
Currently user has to reload CCDScan page in-order to upload any new data e.g. new transaction or new token added/removed from an account. This should happen automatically or at max. on collapsing & re-expanding the particular sidebar.
Steps to Reproduce
Make an account transaction - open account in CCDScan - view transaction - make new account transaction using wallet
Expected Result
The new transaction should auto-reload in CCDScan without user needing to reload CCDScan page.
Actual Result
User has to reload CCDScan page and search again for the account to view the new transaction.
Versions

Software Version
OS
Browser
Mobile device, if applicable

Jira issue https://concordium.atlassian.net/browse/CBW-1228


ui: add local search history and suggestions

INSPIR-3408

Btw, I guess we don't care perfect multitab support, right? because currently it reads from storage only at the start and keeps write on it.
If user was to search via multiple tabs, history would be overwritten always by the tab where the latest search happened and we wouldn't able to save searches from the other tab.

@harunurhan that's a good point, let's see if we get any compains about that


AngScope without firebug?

Would it be possible to modify AngScope so that it wouldn't need FireBug and use the built-in dom inspector instead?
The thing is, FireBug makes some page loads really painfully slow (20s instead of 1s).
Update: Actually, Firebug 3 is pretty fast but AngScope doesn't work with it. Can that be fixed?

According to http://getfirebug.com/

The Firebug extension isn't being developed or maintained any longer. We invite you to use the Firefox DevTools instead, which ship with Firebug.next.
See also Migration from Firebug guide.

Since we're being encouraged to use the Firefox Developer Tools instead of Firebug, we'll also have to drop usage of this extension. Would love to continue using this!


Removing all flex from channel doesn't mark programming as dirty -- can't save

I solved this over on https://github.com/chrisbenincasa/tunarr/pull/438/files#diff-87dcdc6a999e86933c32265c265b41319c2dc6a5f06144516b6c2cb946ad1f9f


vm: transactions that were included into the block but can't be executed

Current vm behavior is to skip transaction in two cases:

out of order nonce
not enough funds to cover for max gas

There is an argument that we shouldn't skip them, but consume since they are taking space in the mesh. Pending on research

out of order nonce

this one should be obsolete after https://github.com/spacemeshos/go-spacemesh/pull/3282 is merged. as block will not be syntactically valid.

this one should be obsolete after https://github.com/spacemeshos/go-spacemesh/pull/3282 is merged. as block will not be syntactically valid.

i meant - vm expects nonce to be 3, but transaction has 4. we shouldn't invalidate whole block, because it is very likely to happen after self-healing.

vm expectations

tx may not be parsable
tx may not be verifiable
tx may be parsable but fail verification
tx may have lower out of order nonce
tx may have higher out of order nonce
principal may have not funds to cover max_gas
principal may not have funds to cover max_spend
block may overflow gas limit budget
tx may be included in the block multiple times
9.1. in the same block
9.2. in the next block

tx states
1-3 is a MALFORMED transaction. MALFORMED transaction cannot be consumed, and hence can't pay for being included into the block.
4-9 is an INVALID transaction. INVALID transaction can be consumed and pay for gas. But probably not 4 and 9.
transactions that were executed but failed are in FAILED state.
otherwise transaction is in SUCCESS state.
If protocol assumptions are satisfied there should be no MALFORMED or INVALID transactions in the block. But for all implementation considerations it makes no difference.
skipping unnecessary validation
when tx is accepted into mempool it must be verified. it also allows to skip verification when tx is applied in the vm. this is also very important for performance, since verification costs is at least as much as simple tx execution.
however if tx type 3 may exist we need to optionally verify it again. this requires passing additional bit to indicate that tx is already verified or not.
so if current API is
 Apply(lctx ApplyContext, txs []types.RawTx, blockRewards []types.AnyReward)

it will be changed to
 Apply(lctx ApplyContext, txs []types.RawVerifiedTx, blockRewards []types.AnyReward)

type RawVerifiedTx struct {
  Raw RawTx
  Verified bool
}

discussion

how much gas is charged for INVALID transactions (4-8)? is it always max amount limited by max_gas?
Should type 4 be consumed?
should we try to execute INVALID txs 6-7 before charging gas? or gas should be charged without executing transaction if it can't cover max_gas + max_spend?
what should be done with tx that already has a receipt, regardless if it was consumed or not

if we don't filter out such transaction then we will have multiple receipts for a single transaction. at most one of them will be successful. this feels like a mess
is MALFORMED tx is a special case?

if Type 5 is consumed - account nonce is updated even if it was out of order?

i meant - vm expects nonce to be 3, but transaction has 4. we shouldn't invalidate whole block, because it is very likely to happen after self-healing.

In our nonce scheme, skipping is allowed. The invalid nonce case is if the vm expects nonce >= 4 but the tx nonce is 3. So case (5) above is actually valid.

tx may have lower out of order nonce

This is an INVALID transaction and can't pay gas (it could result from copying a previous valid transaction, for example).

principal may have not funds to cover max_gas

This is a VALID transaction. So the principal pays as much gas as it can, and the tx fails if it runs out of gas (it's also reasonable to fail without executing, but I don't see a good reason to do so at the moment).

principal may not have funds to cover max_spend

What is max_spend?

block may overflow gas limit budget

Isn't this a syntactically-invalid block? Do we have a dynamic gas limit that depends on history?

tx may be included in the block multiple times
9.1. in the same block

This is a syntactically invalid block.

9.2. in the next block

This is an INVALID transaction treated the same way as a bad nonce (in fact, the nonce is guaranteed to be bad for the second copy --- that's what nonces are for).

what should be done with tx that already has a receipt, regardless if it was consumed or not

What does it mean for a tx to "have a receipt"?

I attempted to layout the entire tx lifecycle here, including all cases. Hopefully this is helpful: https://docs.google.com/spreadsheets/d/1PNyKl4DuA17Ku85Ajl5A1lwkE9V7EXaYHJpkRxwyQ_U/edit

when tx is accepted into mempool it must be verified. it also allows to skip verification when tx is applied in the vm. this is also very important for performance, since verification costs is at least as much as simple tx execution.
however if tx type 3 may exist we need to optionally verify it again. this requires passing additional bit to indicate that tx is already verified or not.

Verification does need to be performed multiple times, since a malicious node could include an unverifiable tx in a proposal. At the very least it needs to be done upon adding the tx to the mempool and when a proposal is received. I don't understand why a tx that failed verification would ever be passed into the VM, though - why do we need this bit?

how much gas is charged for INVALID transactions (4-8)? is it always max amount limited by max_gas?

see spreadsheet linked above

Should type 4 be consumed?

what does "consumed" mean?

should we try to execute INVALID txs 6-7 before charging gas? or gas should be charged without executing transaction if it can't cover max_gas + max_spend?

I think we should just drop these and not charge any gas. We can revisit this decision in future.

what should be done with tx that already has a receipt, regardless if it was consumed or not

I also don't understand what this means. A tx cannot have a receipt unless it was included in a block.

if we don't filter out such transaction then we will have multiple receipts for a single transaction. at most one of them will be successful. this feels like a mess

This should not happen

is MALFORMED tx is a special case?

?

if Type 5 is consumed - account nonce is updated even if it was out of order?

See Tal's comments, above - we don't impose strict ordering on nonces, so I think the answer is yes

What does it mean for a tx to "have a receipt"?

receipt is created after transaction was executed by vm.

What is max_spend?

max_spend is an max amount of funds that can be transferred in the transaction.

Verification does need to be performed multiple times, since a malicious node could include an unverifiable tx in a proposal. At the very least it needs to be done upon adding the tx to the mempool and when a proposal is received.

it doesn't explain why verification needs to be performed more than once.

I don't understand why a tx that failed verification would ever be passed into the VM, though - why do we need this bit?

what protocol should do if block that contains any MALFORMED transactions is considered as valid by the tortoise? do we vote against such block and not execute? in the last discussion there was an agreement that we vote for it and execute it. in this case unverifiable transaction should be expected by vm

what does "consumed" mean?

"consumed" is basically executed with consuming nonce and creating result(receipt). because in current vm implementation we are also skipping some transactions

I also don't understand what this means. A tx cannot have a receipt unless it was included in a block.

this is exactly about tx being included in the blocks multiple times. in the first block it was included and had MALFORMED status because it wasn't parsable. in a later block it was included again and was SUCCESSFULLY executed. if we allow to execute transaction that has MALFORMED status - then protocol will have 2 receipts for the same transaction.

it doesn't explain why verification needs to be performed more than once.

It's possible that an honest node dropped a transaction (because it failed verification), and then a malicious node proposed the same transaction. Since the honest node "forgets" dropped transactions, it would have to verify again.

what protocol should do if block that contains any MALFORMED transactions is considered as valid by the tortoise? do we vote against such block and not execute? in the last discussion there was an agreement that we vote for it and execute it. in this case unverifiable transaction should be expected by vm

The critical question is what kind of "MALFORMED" you mean. If it is syntactically-invalid --- i.e., there's no possible state in which the transaction could be executed --- the block containing the transaction is also syntactically invalid, and we vote against it regardless of the Tortoise.
In all other cases, we vote according to Tortoise rules.
So it's possible that the VM will be executing a transaction that fails verify (since verify does depend on state --- for example, it can fail if the account has not been spawned yet, and succeed if it has).
In this case, I think the rule should be simple:

Any transaction that doesn't pay any gas (this includes those that fail verify) is considered ineffective if it's in a block.  It has no effect on state (including nonce state), so it's not "consumed" and should not generate a receipt.
Any transaction that does pay gas (including those that fail due to insufficient gas, after passing verify) is consumed (and updates the nonce).

A note regarding max_spend: max_spend is only an upper bound on spending, it's not an error to spend less (or to have less).

The critical question is what kind of "MALFORMED" you mean

Yes, let's be clear about terminology here. In the above-linked spreadsheet I make a distinction between "malformed" (i.e., syntactically invalid) and "unverifiable" transactions (in addition to "duplicate" txs, which should also be dropped). Later in the lifecycle, we also have txs that "fail intrinsic gas check" and have "not enough funds" (both classes of which pay no gas).

If it is syntactically-invalid --- i.e., there's no possible state in which the transaction could be executed --- the block containing the transaction is also syntactically invalid, and we vote against it regardless of the Tortoise.

I think we need to go even further than this. The node should totally refuse to execute such an invalid block even if the majority of weight votes for it in tortoise. None of the txs in the block should be executed or marked as "known" or considered "consumed." There should never be two receipts for the same txid. (The same tx could end up in two canonical blocks due to a reorg, or possibly due to another violation of security assumptions, but in this case, all txs after the first should be considered ineffective and be ignored completely, i.e., not consumed and no receipt.)
The only way this could happen is either a "51% attack" or else after a contentious hard fork. Such a node is effectively on a minority fork that won't have any valid blocks for a while.

I think we need to go even further than this. The node should totally refuse to execute such an invalid block even if the majority of weight votes for it in tortoise. The only way this could happen is either a "51% attack" or else after a contentious hard fork. Such a node is effectively on a minority fork that won't have any valid blocks for a while.

Right. For a syntactically-invalid block, the node will ignore the Tortoise votes and drop the block (unless it needs to keep it just to provide a proof that the block creator's ID is invalid due to misbehavior).

There should never be two receipts for the same txid.

Also agree, but just to make sure we're on the same page --- a receipt is something internal in our implementation -- it's not extra data that "lives" on the blockchain, right?

a receipt is something internal in our implementation -- it's not extra data that "lives" on the blockchain, right?

Right, a receipt is not stored on the mesh, if that's what you mean. In the future it may be used by a light client protocol, or by a cross-chain/cross-shard protocol, but for now the main use case is for smapp, or other apps, to know whether a tx succeeded, how much gas it consumed, etc.

i am not sure what you mean when you are talking about tx syntactic validation. transaction validation always depends on the previous state. tx can be verified only after template was created and account is spawned with that template. and tx that included in layer N can be validated only when all txs from layer N - 1 were applied.
practically it means that if we want to verify that txs in the block are not executable in some state we can do it only when previous layer was applied. this already introduces significant changes to the tortoise, sync and the rest of the codebase.
just to summarize - syntactic validation for transactions is now practically impossible

changes for it to work during hdist
now:

hare terminated / certificate received for layer N
vote for the block
after:
hare terminated / certificate received for layer N
wait for layer N - 1 to be applied
validate that transactions in the block are "synctactically" valid
vote for the block

it is even worth for the sync because we will have to rescore goodness of the ballots after tortoise made a decision

@lrettig there is an inconsistency in your document with what was described in this thread wrt max_gas

principal may have not funds to cover max_gas
This is a VALID transaction. So the principal pays as much gas as it can, and the tx fails if it runs out of gas (it's also reasonable to fail without executing, but I don't see a good reason to do so at the moment).

there is also a funny nuance about it. if self-spawn transaction fails in such way after reorg then all other transaction from the same principals won't be executable as well.

there is an inconsistency in your document with what was described in this thread wrt max_gas and max_spend

principal may have not funds to cover max_gas
This is a VALID transaction. So the principal pays as much gas as it can, and the tx fails if it runs out of gas (it's also reasonable to fail without executing, but I don't see a good reason to do so at the moment).

I assume you're referring to these in the spreadsheet:

4.2.2 |   |   | fails intrinsic gas check |   |   | principal account doesn't have enough balance to cover verify() + tx base fee + max gas | none
4.2.3 |   |   | not enough funds |   |   | principal account doesn't have enough balance to cover max spend | none

and the question is whether any gas should be paid in these scenarios? My opinion is that, in the first case (4.2.2, also 6.2.2, 7.2.2), no gas needs to be charged at all since this is a trivial check. In the second case (4.2.3, etc.), intrinsic gas can be charged (to pay for verify) but no portion of the "spend" amount should be charged.
@noamnelke do you agree?

there is also a funny nuance about it. if self-spawn transaction fails in a such way (and zero nonce is consumed) after reorg then all other transaction from the same principals won't be executable as well.

I don't think there's anything we can do about this. If (e.g., after reorg) a principal account doesn't contain enough funds to cover the self-spawn, then of course the spawn can't happen and all subsequent txs would become invalid. In this case, a new spawn tx would have to be sent later after funds arrive (possibly with a higher nonce?)

I don't think there's anything we can do about this. If (e.g., after reorg) a principal account doesn't contain enough funds to cover the self-spawn, then of course the spawn can't happen and all subsequent txs would become invalid. In this case, a new spawn tx would have to be sent later after funds arrive (possibly with a higher nonce?)

self-spawn can't set nonce explicitly, it is always zero by design

You mean like a block that exceeds the block gas limit? Wouldn't such a block be invalid in the first place?

any information on gas is available only after parsing transactions

and the question is whether any gas should be paid in these scenarios? My opinion is that, in the first case (4.2.2, also 6.2.2, 7.2.2), no gas needs to be charged at all since this is a trivial check. In the second case (4.2.3, etc.), intrinsic gas can be charged (to pay for verify) but no portion of the "spend" amount should be charged.

checking max_gas and max_spend is almost the same in terms of cost

intrinsic gas can be charged (to pay for verify) but no portion of the "spend" amount should be charged.

this part didn't came up before. in the document there is none. i will keep implementation consistent with a document

tx is a duplicate of tx that's already included in a previous block

currently there is no special case for such type, it is assumed that such tx will be ineffective because of nonce validation

I don't think there's anything we can do about this. If (e.g., after reorg) a principal account doesn't contain enough funds to cover the self-spawn, then of course the spawn can't happen and all subsequent txs would become invalid. In this case, a new spawn tx would have to be sent later after funds arrive (possibly with a higher nonce?)

self-spawn can't set nonce explicitly, it is always zero by design

Okay. This is a strange corner case and I can't think of a quick, easy workaround. In any case it should be rare. I'll open a separate thread/issue to investigate it.

You mean like a block that exceeds the block gas limit? Wouldn't such a block be invalid in the first place?

any information on gas is available only after parsing transactions. it is not possible to do for parsed transactions as discussed above

Couldn't we just use max_gas? This does not depend on execution context. In other words, a block with transactions with max_gas that sums to a number larger than the block gas limit is syntactically invalid. (This is not perfect since in theory a tx can specify a larger max_gas than it needs and occupy more block space than it should, but it won't be an issue at genesis and we can keep thinking about this problem.)

checking max_gas and max_spend is almost the same in terms of cost

No, there is a difference. Checking max_gas is part of an "intrinsic gas check" that happens before verify() is run. It's nearly costless. By contrast, checking max_spend only happens after verify() is run. There's no point in checking max_spend before verifying the tx signature, and also, in future verify() may use a dynamic amount of gas. And the verify() operation is significantly more costly than the intrinsic gas check.

intrinsic gas can be charged (to pay for verify) but no portion of the "spend" amount should be charged.

this part didn't came up before. in the document there is none. i will keep implementation consistent with a document

Let's get @noamnelke to weigh in. It's pretty important that gas be paid if verify() is run or else there's a DoS vector.

tx is a duplicate of tx that's already included in a previous block

currently there is no special case for such type, it is assumed that such tx will be ineffective because of nonce validation

This is also an issue. Nonce validation does not cover the case of a tx with a duplicate (i.e., previously consumed) txid. But we have a requirement that each txid be unique for all time - if a tx with the same txid appears later, it must be ineffective (even if a template's nonce validation passes it).

Couldn't we just use max_gas? This does not depend on execution context. In other words, a block with transactions with max_gas that sums to a number larger than the block gas limit is syntactically invalid. (This is not perfect since in theory a tx can specify a larger max_gas than it needs and occupy more block space than it should, but it won't be an issue at genesis and we can keep thinking about this problem.)

max_gas is available only after transaction is parsed, so we couldn't do what is suggested

No, there is a difference. Checking max_gas is part of an "intrinsic gas check" that happens before verify() is run. It's nearly costless. By contrast, checking max_spend only happens after verify() is run. There's no point in checking max_spend before verifying the tx signature, and also, in future verify() may use a dynamic amount of gas. And the verify() operation is significantly more costly than the intrinsic gas check.

max_spend is parsed before calling verify, as it is more expensive than verify. technically max_spend can be even parsed during parse_payload call

It's pretty important that gas be paid if verify() is run or else there's a DoS vector. (I updated the spreadsheet to reflect this.)

clearly gas can't be consumed if verify() doesn't pass, so not even sure what it changes

Didn't read the entire thread, only last two messages, but I think I can help.
@lrettig is right that MaxSpend() is only executed after Verify(). It should be much cheaper, but it can only "block" future transactions, the decision to include this transaction in the mempool / proposal / block only depends on MaxGas() and Verify(). Once it's admitted, we want to check MaxSpend() so that we know how much balance is available for gas in following transactions. This is a tiny optimization that tries to minimize the work done before Verify(), but I disagree with @lrettig that it's critical--if doing calculating MaxSpend() as part of ParsePayload() saves us considerable complexity or makes execution more efficient, we should definitely consider it.
When we calculate the fixed gas cost of each method, each transaction will have a "base cost" that will be included in the method's gas cost. This is supposed to cover the cost of verification, as well as the cost of updating the nonce. There's no point in defining this cost separately. Let's look at what can happen:

Transaction doesn't pass verification → No gas is charged
Transaction passes verification and has enough balance to cover the fixed gas cost → The fixed gas cost is charged, covering verification and nonce update
Transaction passes verification, but only has balance to cover part of the fixed gas cost (even one smidge short) → We don't attempt execution at all and use the entire balance as fee. Cost of verification and nonce update could be covered or even exceeded by this amount, or not, we charge it all anyway as "punishment" to incentivize users to avoid this situation as much as they can help it.
I can't think of another scenario.

Duplicate transactions are covered by the nonce check: since the nonce doesn't depend on state, we'll detect duplicates that way. The one exception to this is a self-spawn transaction that failed due to insufficient balance to cover gas. I've given this some thought and we probably need to add a nonce to self spawn transactions after all, just to cover this case. I originally wrote that self-spawns don't need a nonce, when I was still planning to not consume transactions that can't cover gas.

Consuming transactions still feels super-wrong to me. As I see it, smeshers can always include "garbage" in proposals / blocks because they can create a transaction with a made up principle or one that has zero balance. So we can't eliminate that ability, but the result of consuming transactions whose principle can't cover gas is that we can now also incur a processing cost for these transactions (since we have to run `Verify()` and the fee we're able to charge might not be able cover this cost). So as I see it, this just makes the problem worse for everyone (smeshers, validators and users - everyone is worse off).
I couldn't convince Tal of this, and I don't want to invest more time trying.

Summarizing some points from our call this morning:

(contrary to what I said above) a block with txs that exceed the block gas limit is not invalid. rather, any tx that exceeds the limit (i.e., starting with the first tx that exceeds it, and all of the rest of the txs in the block) are invalid.
with respect to max_spend, the only thing the system (VM) guarantees is that a tx does not spend more than max_spend. we do still execute a tx that doesn't have enough balance to cover its max_spend; what happens is up to the template/method.
regarding a tx that cannot cover max_gas, @noamnelke and I still need to discuss this further with @tal-m, we will do so ASAP
regarding duplicate txids, I posted some notes here on Slack. tldr: it might be expensive to check that txids are strictly unique inside the node/DB, so there is a corner case where a template that does not perform a nonce check could result in duplicate txids. let's discuss further.
regarding self-spawn txs, I think @noamnelke is right and we probably do need to add a nonce to these (I described the problem further here)


Error: Proxy Authentication Required

Current behavior
I'm trying to upgrade saucectl but running into an issue that seems to have been introduced in v0.99 in https://github.com/saucelabs/saucectl/pull/540.
In v0.98.1 I can successfully run tests in my company's CI environment by configuring HTTP_PROXY/HTTPS_PROXY environment variables.
However in v0.98.1, and all the way up to v0.106.1, I get the following error when starting saucectl (sorry for the formatting, need to disable color I think):
04:41:23 ERR Failed to start suite. error="Post \"https://ondemand.us-west-1.saucelabs.com/wd/hub/session\": Proxy Authentication Required" suite=default-app

Is it possible that something in https://github.com/saucelabs/saucectl/pull/540 broke the proxy setup?
Desired behavior
No proxy error.
Config to reproduce
apiVersion: v1alpha
kind: playwright
defaults:
  mode: sauce
playwright:
  configFile: apps/default-app/test/playwright/playwright.config.ts
  version: dev-tools/package.json
rootDir: ./
suites:
  - name: default-app
    testMatch:
      - .*
    params:
      browserName: chromium

Versions
Confirmed the error is present in versions v0.99.1 and v0.106.1.

Hi @neonsilk ,
I've checked the issue that you reported. And I've tried with both authenticated proxy and unauthenticated one but I cannot reproduce it on my side. The Go's http client picks up the HTTP_PROXY and HTTPS_PROXY automatically. So technically there is nothing changed on our side. Can you provide more details for your CI environment and proxy details? Thanks!

Hi @tianfeng92 thanks so much for looking into this.
In our CI environment, HTTP_PROXY and HTTPS_PROXY are both set to the same URL, in the form http://username:password@hostname:port/. I've tried omitting one or the other env var, but I can only get the bundle to upload and tests to pass when both are set.
When I was testing different versions of saucectl, I kept everything else about our test setup the same, i.e. did not change anything except for the saucectl version:

0.98.1 works consistently
Can't use 0.99.0 because it doesn't have the fix from https://github.com/saucelabs/saucectl/pull/546.)
>=0.99.1 fails consistently (with Proxy Authentication Required error)

The only other change apart from https://github.com/saucelabs/saucectl/pull/540 that I see between v0.98.1 and v0.99.1 is https://github.com/saucelabs/saucectl/pull/542, but it doesn't seem like that could be related, whereas https://github.com/saucelabs/saucectl/pull/540 appears to have some networking-related changes (although to be honest I don't have a lot of context).

Hi @neonsilk ,
Thanks a lot for the details. I setup an HTTP proxy server and tried. I did several tests and here are my findings.

If the proxy setting was not picked up properly by saucectl, it should fail before reaching ondemand.us-west-1.saucelabs.com/wd/hub/session.
If I didn't pass username/password, it would return Proxy Authentication Required

Since this API was added to saucectl after 0.98.1, is there any acl of the proxy server to control the API? Can you also check it? Thanks!

@tianfeng92 ahh that must be it, our ACL does not allow ondemand.us-west-1.saucelabs.com. Sorry I didn't think of that, will request to update our config!


IntelliSense not working (strangely works in debug window)

@Asorie commented on Tue Apr 16 2019
Environment data

VS Code version: 1.33.1
OS and version: Windows_NT x64 10.0.17763
Python version: 3.7.2
Type of virtual environment used : venv

Expected behaviour
Working IntelliSense and auto completion
Actual behaviour

Loads very long time, then the loading window disappears - without any suggestions.
Buf if I debug this file, intellisense is working.

Steps to reproduce:

seems to be a problem with my working folder. A fresh working folder with a single file and the same venv does in fact work.

Logs
Output for Python in the Output panel
Starting Jedi Python language engine.
##########Linting Output - pep8##########
##########Linting Output - mypy##########

Output from Console under the Developer Tools panel
console.ts:134 [Extension Host] Python Extension: stderr jediProxy, Error (stderr) Traceback (most recent call last):
  File "completion.py", line 622, in watch
    response = self._process_request(rq)
  File "completion.py", line 555, in _process_request
    path = self._get_top_level_module(request.get('path', ''))
  File "completion.py", line 83, in _get_top_level_module
    return cls._get_top_level_module(_path)
  File "completion.py", line 83, in _get_top_level_module
    return cls._get_top_level_module(_path)
  File "completion.py", line 83, in _get_top_level_module
    return cls._get_top_level_module(_path)
  [Previous line repeated 2991 more times]
  File "completion.py", line 81, in _get_top_level_module
    _path, _ = os.path.split(path)
  File "C:\tensorflow_anduin\lib\ntpath.py", line 184, in split
    seps = _get_bothseps(p)
  File "C:\tensorflow_anduin\lib\ntpath.py", line 35, in _get_bothseps
    if isinstance(path, bytes):
RecursionError: maximum recursion depth exceeded while calling a Python object

ERR Cannot read property 'document' of undefined: TypeError: Cannot read property 'document' of undefined
	at activateOnEnter (C:\Users\halle\.vscode\extensions\njpwerner.autodocstring-0.2.3\out\src\extension.js:19:36)
	at context.subscriptions.push.vs.workspace.onDidChangeTextDocument.changeEvent (C:\Users\halle\.vscode\extensions\njpwerner.autodocstring-0.2.3\out\src\extension.js:13:90)
	at u.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:44:708)
	at c.$acceptDirtyStateChanged (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:519:227)
	at d._doInvokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:622:11)
	at d._invokeHandler (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:621:716)
	at d._receiveRequest (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:620:394)
	at d._receiveOneMessage (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:619:141)
	at define.constructor._protocol.onMessage.e (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:617:400)
	at u.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:44:708)
	at e (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:40:460)
	at u.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:44:708)
	at a (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:172:467)
	at e (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:172:513)
	at u.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:44:708)
	at y._receiveMessage (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:181:276)
	at define.constructor._socketDisposables.push._socketReader.onMessage.e (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:178:415)
	at u.fire (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:44:708)
	at f.acceptChunk (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:175:35)
	at define.constructor._register._socket.onData.e (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:174:410)
	at Socket.t (c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\services\extensions\node\extensionHostProcess.js:182:689)
	at Socket.emit (events.js:182:13)
	at addChunk (_stream_readable.js:279:12)
	at readableAddChunk (_stream_readable.js:264:11)
	at Socket.Readable.push (_stream_readable.js:219:10)
	at Pipe.onread (net.js:636:20)

@DonJayamanne commented on Wed Apr 17 2019
Please could you try using the new Language Server, instructions can be found here https://github.com/Microsoft/vscode-python/issues/3977
FYI - the new language server will soon replace the existing Jedi (used for intellisense and the like)

@Asorie commented on Wed Apr 17 2019
Now it suggests only used strings

Output - Python
Starting Microsoft Python language server.
Downloading https://pvsc.azureedge.net/python-language-server-stable/Python-Language-Server-win-x<IP_ADDRESS>.nupkg... ##########Linting Output - mypy##########
complete
Unpacking archive... done
[Info  - 08:13:48] GetCurrentSearchPaths C:\tensorflow_anduin\Scripts\python.exe
[Info  - 08:13:48] Python search paths:
[Info  - 08:13:48]     c:\tensorflow_anduin\lib
[Info  - 08:13:48]     c:\tensorflow_anduin\scripts
[Info  - 08:13:48]     c:\program files\python37\lib
[Info  - 08:13:48]     c:\program files\python37\dlls
[Info  - 08:13:48]     c:\tensorflow_anduin
[Info  - 08:13:48]     c:\tensorflow_anduin\lib\site-packages
[Info  - 08:13:48]     c:\program files\python37
[Info  - 08:13:48]     c:\program files\python37\lib\site-packages
[Info  - 08:13:48] Configuration search paths:
[Info  - 08:13:48]     C:\tensorflow_anduin\Scripts\python37.zip
[Info  - 08:13:48]     C:\tensorflow_anduin\DLLs
[Info  - 08:13:48]     C:\tensorflow_anduin\lib
[Info  - 08:13:48]     C:\tensorflow_anduin\Scripts
[Info  - 08:13:48]     C:\Program Files\Python37\Lib
[Info  - 08:13:48]     C:\Program Files\Python37\DLLs
[Info  - 08:13:48]     C:\tensorflow_anduin
[Info  - 08:13:48]     C:\tensorflow_anduin\lib\site-packages
[Info  - 08:13:48]     C:\Program Files\Python37
[Info  - 08:13:48]     C:\Program Files\Python37\lib\site-packages
[Info  - 08:14:31] Microsoft Python Language Server version <IP_ADDRESS>
[Info  - 08:14:31] Initializing for C:\tensorflow_anduin\Scripts\python.exe

How the description above fits "class construction" and "arguments from __init__" when it's showing failure to autocomplete module sys? https://github.com/microsoft/python-language-server/issues/996 was closed as a cup of this one, but in fact that one actually described the issue in the subject. Being unable to autocomplete class construction arguments is a major bug, it shouldn't be under the radar because of a misleading report.

Wrong issue referenced, should have been #983

If
import sys
sys.

is still broken for you, feel free to reopen.


Persistent stylebinding

This PR should help show an issue that I faced using this code in production, as well as a fix I wrote for the issue.
The problem: After the child component is popped out, any further style-changes to the parent window are not applied to the child window. This became an issue because Angular loads component styling into  tags only once they are shown, and when it does - they are only loaded to the parent window. So if a child doesn't exist on the DOM (e.g. due to *ngIf) before it's popped out, once it is shown, the styles will not propagate to the child window.
The first commit is the fix, the second commit adds example code which should illustrate the issue, which may need to be removed.
The fix is accomplished by observing style mutations to the  tag, and copying them over to the child window.
*I also added a 'closed' emitter; I feel this can be useful in a few ways - including in my case, where I had to run change detection on close, which wasn't triggered by closing the child window.

merged & published

Brilliant, appreciated


CircleMarker.setStyle() does not respect changes in radius. Do I need to re-plot markers.

I create circleMarker with some radius and then I update radius using setStyle() method but updated radius is not reflecting on my map. Do I need to re-plot markers?

Can you publish a fiddle/codepen/playground that displays this behaviour?

@IvanSanchez Hi, here is my link
http://jsfiddle.net/fnewx6hw/
In this example I have created three circleMarkers on map with default radius 12. There is button change radius on top of map div. On clicking that button i am updating style of circleMarker using setStyle() method. But it is updating radius in options of circleMarker but not reflecting change in radius on map.

@jainruchi That fiddle is using Leaflet v0.4.5.
Is this reproducible in 1.0.0-rc3?

Ohh!! I am sorry, I was working on previous version. It is not replicating in newer version. Thanks for support

In version 1.0.0-rc3, above issue gets resolved but events are not working. Here is jsfiddle link in which I have attached mouseover event and console,log in its call back function but it is not working.
http://jsfiddle.net/fnewx6hw/4/


Add support on repeater part to Web Sockets

The engine supports scanning Web Sockets, but the repeater was built without this in mind, hence:
Error executing request: "GET wss://example.com/"
Cause: Invalid protocol: wss:

We need to be sure to add support for Web Sockets to the repeater by implementing a new RequestExecutor. You can use ws or any other libraries. Maybe, it requires some changes from the engine side.

This is how updated DTOs for the agent look like:
let request : {
  protocol: "http" | "ws"
  url: String
  method?: "GET" | "POST" // Or any other method, omit for WS
  headers: HashMap<string, string | string[]> // Always required, may be empty
  body?: String // Treated either as HTTP body or WS request frame
}

let response : {
  protocol: "http" | "ws"
  status_code?: number // Status code for HTTP, close code for WS; can be undefined if WS is not closed yed
  headers?: HashMap<string, string | string[]> // Shall be undefined for WS
  body?: String // HTTP body or WS response frame or undefined in case of absent response frame message
}

This is how updated DTOs for the agent look like:
let request : {
  protocol: "http" | "ws"
  url: String
  method?: "GET" | "POST" // Or any other method, omit for WS
  headers: HashMap<string, string | string[]> // Always required, may be empty
  body?: String // Treated either as HTTP body or WS request frame
}

let response : {
  protocol: "http" | "ws"
  status_code?: number // Status code for HTTP, close code for WS; can be undefined if WS is not closed yed
  headers?: HashMap<string, string | string[]> // Shall be undefined for WS
  body?: String // HTTP body or WS response frame or undefined in case of absent response frame message
}


[Feature Request] Drawing pramaters and pitch using points

Would be nice if we could draw the parameters and the pitch using points like SynthV, ACE and UTAU does

Closing this request since it's been added. Thank you


Exclude object libraries from visual studio solution build

Do not build opencv_<module>_object targets when Visual Studio solution is being built.
Group all object libraries in separate solution folder

Looks like this patch fixes the problem I've reported. Would love to see it merged into master. This would allow for clean rebase and unblock me with #3700. Thanks!

also fixes current issues with vs2013 (maybe vs2012+) compilation. http://code.opencv.org/issues/4202
Thanks. :+1:

ok, let's merge it :+1:


link flags

Hi,
after updating from sqlite3 4.1.3 I get a linking error when building a project, which uses sqlite3 (same error for 4.2.0 & 4.3.0):
** Cannot resolve symbols for C:/Opt/OCaml64/home/kayuwekirstein/.opam/4.04.2+mingw64/lib\sqlite3\libsqlite3_stubs.a(sqlite3_stubs.o):
 pthread_getspecific
 pthread_key_create
 pthread_setspecific
File "caml_startup", line 1:
Error: Error during linking

I can fix the linking by providing an additional -lpthread switch to the jbuild config of my library, which seems to work on Windows (cygwin with MinGW toolchain), but still fails on WSL/BashForWindows (which is basically an Ubuntu 16.04).
After googling, I found out that this might be an issue with the order of the link flags on the command line, but I have no clue, on how to control that with jbuilder.
Anyway, does anybody have an idea, why it worked fine with 4.1.3 and is different with later versions (I wouldn't call it broken)? Maybe one can give an advice, on how to setup a project depending on sqlite3 (ideally with using jbuilder). I couldn't find a suitable one by reverse search of opam deps.

Thanks for the report.  It seems that most people directly or indirectly link with the OCaml threads library, which is why they typically never see this issue.  Not sure why this popped up just know for you.  I have added an explicit linker flag and made a new release.  Concerning WSL/BashForWindows, I have no idea what to do about this, especially since I can't test potential fixes.  If you find a solution, please submit a pull request.

Thanks for the fast answer. With the additional -lpthread flag (in sqlite3), my project now compiles (and links) on WSL/BashForWindows, which is (for me) the expected behaviour. On Cygwin/MinGW it still needs the -pthread flag in my library build setup. Looks like ld is behaving differently on these architectures..
I will do some more analysis and keep you updated...

OK, it also works for Cygwin/MinGW now. I don't know what went wrong yesterday, maybe I messed up with opam source/pin...
Thanks for your help.


Fetch app manifest at the root

What is this feature about? (1 sentence)
We had quite some requests to fetch the manifest.json file at the root, so if the app URL is company.io/app it would fetch it from company.io/manifest.json. This is the way manifest.json is expected to work:

served from the root (your website's top-level directory).

Why is it needed? What is the value? For whom do we build it?
Our current behavior is not the standard and it would make sense to tweak it while keeping backward compatibility
High-level overview of the feature
In the addition to current relative fetch, try to fetch manifest.json from the root
High-level motivation
Currently our manifest.json logic is not the same as the common manifest.json logic for web apps (or PWAs). Therefore we cannot take advantage of the existing manifest.json files in most apps without additional changes to it. By complying to the standard it will be possible to use existing apps as Safe apps without additional migration steps (at least in many cases).

This issue has a backend dependency as the client gateway would also have to adjust this

I've opened an issue, just to close the information loop: https://github.com/gnosis/safe-client-gateway/issues/420
The spec would need to be refined to use exactly what the web app would expect.


[tracing] support grpc protocol endpoint

Changes
This PR introduces support for gRPC-based tracing providers in addition to the existing HTTP-based Jaeger tracing. The main changes include modifications to the reinitialize function and the addition of a new function creategRPCTracerProvider. Previously, tracing configuration was limited to HTTP endpoints for Jaeger, which restricted usage in environments where the trace collector only supports the gRPC protocol. These changes enable Tekton to be more versatile in its support for tracing backends, catering to a broader range of tracing infrastructure.
The reinitialize function now parses the endpoint's scheme to determine whether to initialize an HTTP or gRPC tracer provider. For gRPC, the creategRPCTracerProvider function sets up a tracer provider using the OpenTelemetry protocol (OTLP) over gRPC, without requiring TLS credentials for simplicity and ease of integration. This modification ensures that Tekton can integrate with tracing systems that communicate over gRPC, enhancing its compatibility and flexibility in observability configurations.
Submitter Checklist

[x] Documentation has been updated to reflect the changes for users, including any changes to minimum requirements.
[x] Added comprehensive tests to verify the new functionality works as expected and to ensure backward compatibility.
[ ] Ensured that pre-commit checks are passing.
[ ] Followed the commit message standard as per Tekton's guidelines.
[ ] Met all the Tekton contributor standards, including functionality, content, code quality, etc.
[x] Added the appropriate kind label to categorize this PR correctly.

Release Notes
FEATURE: Tekton now supports gRPC-based tracing backends in addition to HTTP-based Jaeger tracing. This enhancement allows for more flexibility in integrating Tekton with various observability tools that use gRPC for telemetry data. Users leveraging gRPC-based trace collectors can now configure Tekton to export traces over gRPC by specifying the endpoint with the "grpc" scheme or using the default port "4317".

@kmjayadeep FYI

@TianxiangShen thank you for your PR!
To contribute to Tekton, either you or your organisation should sign the contributor license agreement (CLA - see the EasyCLA Check). Let me know if you have any questions about that.

/kind feature

/test pull-tekton-pipeline-go-coverage-df

@afrittoli Thanks for the instruction. I've signed the CLA, not sure what the CLA checking still failed, please let me know if there's any thing I should do.

Hi @TianxiangShen ,
Thank you for your contribution.
We are in the process of removing jaeger dependency in favor of generic http endpoint. This is required because jaeger was removed from oltp package in 1.20. This PR would be a great addition to the http provider.
The PR https://github.com/tektoncd/pipeline/pull/7547 would likely get merged soon. You will have to move the logic from reinitialize to createTracerProvider where the similar logic for http is defined.

/easycla

/easycla

/ok-to-test


[feat] Implement OP_SIZE opcode

Implement the OP_SIZE opcode using the opcodeSize reference implementation from btcd
References
Guide on how to add an opcode in shinigami

Hi @b-j-roberts can I work on this?


Work around a JVM performance issue: https://bugs.openjdk.java.net/br…

Work around a JVM performance issue: https://bugs.openjdk.java.net/browse/JDK-8161372

lgtm


What forward progress guarantee should the run_loop provide?

It presently doesn't specify a forward progress guarantee.

It would presumably only be able to provide either parallel progress (if the thread calling run() had a concurrent forward progress guarantee) or weak-parallel progress (if the thread calling run() has only a weak forward progress guarantee.
But we may also want to take into account the forward progress requirements of the schedule operation itself.
e.g. the reference implementation of run_loop's schedule operation acquires a mutex lock to insert the item in the queue. This means that it would generally only be safe to call start() on the schedule operation from a thread with a strong forward progress guarantee.


[Button-557] Refactoring: Deprecated current button

Deprecate all classes (UIView, Enum, UseCases, ...) which will no longer be used in the new button (next PR)

@michael-zimmermann, we don't have the choice because there is too many changements here.
So, when all the refactoring will be done, I will just update the SparkKit code, replace ButtonUIView to ButtonUIViewDeprecrated so it will be break anything


Added Integration Tests

No action needed, working on the Integration tests architecture

Codecov Report

Merging #128 into Dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              Dev     #128   +/-   ##
=======================================
  Coverage   90.67%   90.67%
=======================================
  Files          42       42
  Lines        3496     3496
  Branches       13       13
=======================================
  Hits         3170     3170
  Misses        313      313
  Partials       13       13

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 1495aa4...cc6df78. Read the comment docs.


Better document toFile behavior when directory are missing in the path

What are you trying to achieve?
I think that the documentation of the toFile function could be better. I lost a couple of hours before figuring out that the toFile function did not create the missing directories. I think we could mention in the doc that it is the library user's responsibility to check that the directory tree is coherent. Furthermore, in my case, sharp was failing silently (or was crashing the app before node could flush the log buffer).
Have you searched for similar feature requests?
#639 #874
What would you expect the API to look like?
N/A
What alternatives have you considered?
N/A
Is there a sample image that helps explain?
N/A

Added via commit https://github.com/lovell/sharp/commit/4e84f743e419abeb67614552f9f2692203f4262f
https://sharp.pixelplumbing.com/api-output#tofile (might have to wait a couple of hours for the CDN cache to clear)


Song selection does not match the current sorting mode

Example:

Enter the album view for any album
Sort by track number
Select some songs (with Cmd + click on some songs)
Change the sorting mode
The selection stays on the previous position instead of being updated to keeps the same songs selected as before.

Hm… The whole selecting logic can use some revamp.


Fix value-after-table error with profiles.

If the strip, dir-name, or inherits fields were included along with a profile override, then cargo publish would fail with a ValueAfterTable error because the fields were listed in the wrong order in the struct definition.
Fixes #9787

r? @Eh2406
(rust-highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit f0909c7a6ca5c45d86c0c8bc4017253d8042db41 has been approved by alexcrichton

:sunny: Test successful - checks-actions
Approved by: alexcrichton
Pushing e8a78cc5a8abaf69e87b2b52e95b3f8bb03384ed to master...


Not working for dynamically inserted elements

Is it possible to make this working for dynamically (using Jquery and not ajax ) elements?
Basically, using JQuery I would add a new row with a select element and want to bind that new element with the select2.

It was not difficult to make it work:
/*Bind select to the newly created country selectbox*/
$("#country"+next).select2({
   placeholder: "Select a country",
   allowClear: true,
   data: data
});

setTimeout(function(){
$('.select2').select2();
}, 100);
use this when adding new row

Check if when you copy the new country select element you keep the element id. If so you must delete the id


Add "Show in..." feature to OpenROAD timing paths

Description
Select a data path row, then right click and get a menu to "Show in ..."

It would be helpful to go from timing paths elements to other parts of the design(backannotation).
Some ideas for features:

[ ] Show original source code Verilog/RTL code line corresponding to row
[ ] Show Yosys schematics for original Verilog/RTL as well as current .odb file
[ ] Display cone of logic or path full path of logic
[ ] Corresponding .sdc file

Suggested Solution
Implement in GUI...
Additional Context
No response

Logic cone might be relatively easy since that is already supported in the inspector. I think source line annotation would require additional support from OpenSTA to provide that information.

Showing the original RTL from the timing path seems like a doozy which would probably require a lot of hacking in yosys. OpenROAD starts from a netlist which has no idea what RTL went into it. It would require yosys to annotate the source lines into the generated netlist, and then OpenSTA would have to parse those annotations along with the netlist and then expose them through an API to the GUI.
It sounds like a wonderful feature, but I think that an easier stopgap is to look at the source and destination register names (assuming they are unmangled) and infer the source line from there.

I think the OR work to support this is tractable if we can get yosys/abc to give us the line numbers.

Yeah I have a mostly finished PR in OpenSTA which reads the src line annotations that yosys adds to the verilog. Our flow at Google usually keeps around a good amount of the src line annotations. I'm not sure why the ORFS doesn't. @maliberty has asked me to look into it, but I just haven't had the time. At minimum the DFF's should have line numbers.

The fact that we use -noattr on write_verilog in flow/scripts/synth.tcl suppresses the annotations.  If I turn that off I see line numbers for the ff and some wires though not for the combinational logic.

I would be pleasantly surprised if yosys had source line annotation of combinational logic, considering it has to hand off between yosys and ABC.

There's an abc pass that's supposed to help with that, but as of yet I haven't been super successful using it.

This is a little bit of a non-sequitor, but one of the main motivations of LLVM CIRCT was to be able to add the ability to trace back to original source code after numerous passes have processed the RTL. Verilog is quite limited as a format for representing the RTL code as it goes through transformations: synthesis, technology mapping, etc. LLVM MLIR has richer representation available.
If I google, I can find some people who are interested in using LLVM CIRCT representation for yosys and ABC, though to my knowledge, there is no code yet.
https://discourse.llvm.org/t/integration-with-abc-optimizer/65264
LLVM CIRCT is developing quickly, at least I think so, but it still doesn't read Verilog. If LLVM CIRCT gets a really good Verilog parser and later maybe even a VHDL parser, then I can imagine that Yosys and ABC would be motivated to use LLVM CIRCT on the input end and it would only be natural that yosys and ABC would then use it on the output end too.
I understand the LLVM CIRCT parsers to be mainly motivated by the desire to implement a simulator.
Anyway: I don't expect LLVM CIRCT to get to the stage where it is an obvious solution for these things and more overnight, but it will be interesting to follow it's developments.
For now, I use LLVM CIRCT as an output stage for Chisel, which gives me nicer(more human readable) System Verilog output. The QoR isn't affected.


Cannot connect to xmrproxy

Hi,
I cannot connect to xmrproxy.mineiota.com:8100 and get connection timed out error. I saw in issue #80 that some users were banned and wonder if I'm one of them?
I did some testing with xmr-stak 2.5.0 yesterday playing around with settings for nvidia card. Sorry if this caused problems for you. I really like this project and would very much like to continue using the xmrproxy.
Thanks

Hi,  I am glad you contact me.
I implement ban system. If you send bad shares, propably your miner is set to mine some fork of monero. You get ban for 1 hour. Than you are unbaned.
I also get few pernament ban, because sending bad shares over and over.
Can you tell me part of your IP? I looking for right reason why some sending bad shares. And how can I help to avoid this.
Thanks for help.

Thank you.
Last two numbers of my ip is 51.22

Thank you, yes I have your IP in firewall to block. I just removed you. Can you tell me what was your setting yesterday? Maybe it can help me understand others. Thanks

Thanks a lot.
This is the settings I ended up using. Please let me know if I cause more bad shares (I guess I'll know when I get banned...). I cannot remember exatly what settings I was using, but I changed the threads, blocks and bsleep numbers. I also restarted xmr-stak several times to implement new settings and recheck hashrate.
"gpu_threads_conf" :
[
// gpu: GeForce GTX 1050 Ti architecture: 61
//      memory: 3372/4096 MiB
//      smx: 6
{ "index" : 0,
"threads" : 12, "blocks" : 60,
"bfactor" : 8, "bsleep" :  50,
"affine_to_cpu" : false, "sync_mode" : 3,
},
],

Yes you will see error message about you are banned until... it is one hour. And you will need wait i cannot removed it manualy.
It is interesting if bad shares caused some of those setting. My tip was just setting with wrong used algo.

In xmr-stak 2.5.0 I was using "currency" : "monero", as stated in the supported values  *    monero (use this to support Monero's Oct 2018 fork).
Thanks a lot for quick response and help.

I thank you too


ENH: Change the default save/load dir to the tmp dir

Problem
This is because it is troublesome to have to specify the temporary location when most of the time loads and saves are going to be (or at least should be) from the temporary directory.
Solution
Change the default value for the parameter across all relevant methods in pqtools

Changed by #29


Bug: Pressing escape in operator pending does not cancel mode

Did you check docs and existing issues?

[X] I have read all the flash.nvim docs
[X] I have searched the existing issues of flash.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
0.9.1
Operating system/version
Mac OS 12.6
Describe the bug
Pressing escape in pending operator mode does not cancel action
Steps To Reproduce

Type cs
Start typing the search query, but don't complete search (jump)
Press escape

Result: now in insert mode.
Expected Behavior

Type cs
Start typing the search query, but refrain from executing (jump)
Press escape

Expected result: not in insert mode.
Repro
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({
    "git",
    "clone",
    "--filter=blob:none",
    "https://github.com/folke/lazy.nvim.git",
    "--branch=stable", -- latest stable release
    lazypath,
  })
end
vim.opt.rtp:prepend(lazypath)

require("lazy").setup({
  {
    "folke/flash.nvim",
    opts = {},
    keys = {
      { "s", mode = { "n", "x", "o" }, function() require("flash").jump() end, desc = "Flash" },
    },
  },
})

This seems to be an issue with only some pending operators.
d and then s seems to work just fine.

This seems like it is possibly related: https://github.com/folke/flash.nvim/issues/233

Can confirm its fixed! 🥳  Thanks!

https://github.com/folke/flash.nvim/pull/324 fixes this in Treesitter mode


Changes to view

Thanks for the great package. :)
Is there anyways I can make changes to the views? as I want to give facility to update languages to my team, so i want to make it feel as part of my own app.

But this package is meant to be used by developers so far, since you'll need to commit the changes made by the package to your source control.

Ok got your Idea. I will try to build something upon this. As basically my idea was, we have to make the site accessible in Swedish, apart from english, but none of our developers know the language. And the client offered if he gets the list of strings he can translate them for us in excel sheet. But then I thought if we had an option to update UI then I can somehow integrate the code to admin panel from where client can change and save the files and later on we can commit it.
Thanks for the package though again, saved me a lot of time already :)


Quality KIT Release 23.12 Development View Acceptance Criteria

Release 23.12 Development View

[ ] API Specification / Protocols

Documentation for the development view must be available in Eclipse Tractus-X as part of the development view MD files.

Best Practice:

eclipse tractusx-docs-artefacts
How-to-create-a-KIT-website

Artifact Repository:

eclipse-tractusx

Contacts:

Responsible: PO/BO (from relevant Domain)
Responsible for Process: PCA/BDA
Consult: KIT-CONTACT1, KIT-CONTACT2
Review by: PCA/BDA

[ ] Sample Data Available in Repository

Sample data must be available in Eclipse Tractus-X as part of the development view MD files.

Best Practice:

eclipse tractusx-docs-artefacts
How-to-create-a-KIT-website

Contacts:

Responsible: PO/BO (from relevant Domain)
Responsible for Process: PO / BO (from relevant Domain)
Review by: PCA/BDA

[ ] Reference Implementation

Mandatory, if reference implementation is provided
A reference implementation must follow the FOSS release gates and must be available in the corresponding repository in the Eclipse Tractus-X project.

Best Practice:

https://confluence.catena-x.net/x/IpSmB (Source only accessible for Catena-X Consortia members in current transition phase.)

Artifact Repository:

eclipse-tractusx

Contacts:

Responsible: PO/BO (from relevant Domain)
Responsible for Process: PO / BO (from relevant Domain)
Consult: SYSTEM_TEAM1
Review by: PCA/BDA

[ ] Development-View Architecture Documents in Repository

Mandatory (for Platform Domain / CX ART)
Documentation must be available in Eclipse Tractus-X as part of the development view MD files.

Artifact Repository:

eclipse-tractusx

Contacts:

Responsible: PCA / BDA
Responsible for Process: EAs
Review by: PCA/BDA

Area Asset file type enhanced  and Asset Transfer via EDC added

API Specification / Protocols -> not applicable
Sample Data Available in Repository -> available (same as from last release)
Reference Implementation -> not applicable
Development-View Architecture Documents in Repository -> Architecture in Adoption View updated, APPROVED


clear_push_notif: Remove client support for unbatched events.

We remove support for the old clients which required an event for
each message to clear notification.
This is justified since it has been around 1.5 years since we
started supporting the bulk operation and the old method is
becoming troublesome to maintain.

Merged as 5b7917da5f20f41caffb9447ebee5ef2bcc249a6 after a few changes:

Tweaked commit commit to avoid abbreviations (we as a policy matter avoid abbreviations everywhere since at scale they result in things that are hard to read) and provide a bit more historical detail.
Changed message_ids falsey check to len(message_ids) == 0 ; we prefer to be explicit about checks for an empty list so that an unexpected None would throw an exception (as a general policy matter).


[Feature] Rounded Corners

Feature Request
Is your feature request related to a problem? Please describe.
Add the r radius effect in an intuitive prop for rounding corners
Describe the solution you'd like
In addition to generally supporting radius, could do roundCorners or borderRadius to adhere similar to CSS?

Hi, @colbyfayock! I would like to work on this! I have found the documentation to implement from Cloudinary: https://cloudinary.com/documentation/effects_and_artistic_enhancements#:~:text=Transformation Reference.-,Rounding,-Many website designs

sounds good @roopeshsn
we'll want to do two things here:

Add radius as an option to the effects grouping in src/constants/qualifiers.js
Add a new plugin for rounded corners

For the second one, you can use the src/plugins/remove-background.js as an example
Along the lines of src/plugins/round-corners.js which would use a prop of roundCorners with options

Got it @colbyfayock. Could you assign this issue to me?

done!

was added to Cloudinary Util via: https://github.com/colbyfayock/cloudinary-util/pull/31
this should now "just work" as the package has been updated since then, just may need an entry in docs


Best pre-trained models out there?

Hey! Looking for some guidance as to the best pre-trained model I could try out on some of my own audio.
I found RHR Net gave incredibly clean results and have yet to find a pre-trained model that matches it: https://jalal-abdulbaqi.github.io/AudioSamples/

Hi, I also didn't find any pre-trained model published by authors of papers. But the scripts of some popular work like SEGAN, Wave-U-Net, and Conv-TasNet are available in Github. You may directly use their implementation on your own data. Thx!


only use there with a flag

partial fix for #13. This only replaces the builtin print function with there's implementation if that was requested using the --verbose flag.

Thanks, I think we could completely remove there at some point.


Add a command to go back to the previously used side bar view

We currently have a command to navigate to the prev/next side bar view, but they work by visible ordering, not visitation. I would love the ability to have a command to quickly navigate back to the side bar that was previously active. We have this type of command for editors, but not views.
Probably should have the same for the panel too.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


[BUG] Library.jsx has some useEffect issues after today's merge(s).

Compiled with warnings.
[eslint]
src/components/Library/Library.jsx
Line 337:8:  React Hook React.useEffect has a missing dependency: 'myRows'. Either include it or remove the dependency array. You can also do a functional update 'setMyRows(m => ...)' if you only need 'myRows' in the 'setMyRows' call  react-hooks/exhaustive-deps
Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.
WARNING in [eslint]
src/components/Library/Library.jsx
Line 337:8:  React Hook React.useEffect has a missing dependency: 'myRows'. Either include it or remove the dependency array. You can also do a functional update 'setMyRows(m => ...)' if you only need 'myRows' in the 'setMyRows' call  react-hooks/exhaustive-deps
webpack compiled with 1 warning

Hi @gbowne1, let me resolve this error. I think it came from my last PR

@gbowne1 I have made a PR that resolves this issue. Please review.


Angular 2

John hey this is Aaron Forman... We met at a VSIP clinic a few years back. You help me out with some of my code structure back then.... ANYWAY...
So i want to move an application built in angular 1.3 to using an approach that will allow me to ECMA6 / Angular 1.4 then perform a transpile to ECMA5 so it works in all the current browsers. So using classes instead of controllers, using 'this' instead of $scope, etc.... so that i am coding for both ECMA6 and Angular 2.0. Making the transition to Angular 2.0 much faster.
I assume, knowing you, that you are probably already working on an example of an existing Angular 1.3 / 1.4 application and demonstrating how you would convert that using the latest methodologies to easy the conversion into ECMA6 and Angular 2.0...
When you going to present that to the world???

+1

+1

What I gather from #313 this repo is only for Angular 1.x. I'm also very interested in a 2.0 style guide. :)

its coming

can't wait

:+1:

Any tentative date John?

Angular 2 isn't even out yet...

It'll be a while ... a guide needs time to let things work themselves out. Otherwise its apt to lead in the wrong direction.
I'll also be putting a migration guide and a set of typescript guidance out in some format

Hi John,
First of all thanks for your apps. I've enjoined watching your YouTube presentation as well. Another think I loved is you generator-hottowel app. I am new to angular and for the last week or so I've been studying anything I could get my hands on. I think there would be great if you could get an angular boilerplate having a similar design patterns as generator-hottowel. Personally, I had start some apps over and over just for getting a proper app structure and to be frank, your app is one of the nicest I've seen so far. Thanks again. C

john i know TypeScript is cool and saves time...but to be honest this is a microsoft product and they almost always start a new product line and eventually drop it. I fear investing time and energy into TypeScript to find out that they are trashing it. What are your feelings on that? basically what i am saying is it worth just writing straight ECMA5 / ECMA6 instead of taking the risk... sounds like you are all in on TypeScript?

There may be other reasons to resist TypeScript but I think your reasons are not well grounded.
First, Microsoft's track record on product lifetimes is remarkably better than any of its rivals. Even when they cease further development of a product, they continue to support it for many years (10 years is a reasonable minimum); compare that with Apple or Google.
Second, TS is open source and cross platform and It's been developed in the open where anyone can see and contribute to its design, content, progress, and road map .
Third, Google's Angular team abandoned their own JS-superset-language effort in favor of TypeScript ... which is about as significant an endorsement as you could want.
Fourth, TS code transpiles to ES5 (or ES6 ... your choice) with your comments intact; walk away from TS and "all you lose" is the design-time support (type checking, intellisense, refactoring, ...) ... which is no worse than taking the paranoid route of coding directly in ES5/6 from the start. Seems like a can't lose proposition to me.
Caution is prudent; your "hate" strikes me as both and immature and unproductive response to a technology company's involvement whether it be Microsoft's or any other company's.

@wardbell excellent post, thanks for sharing :+1:

Points 2 and 3 are the main reasons why I have some faith. But we are going to be rewriting an application that contains around 150 pages. Costs are in the 600+ thousand mark. I think it is important to be somewhat cautious. When dealing with the many issues with Microsoft stack that we have over the years and their lack of immediate response to those issues is really frustrating. I absolutely love the open source JavaScript community. I dont think I am the only one that believes that this community is a lot more agile than Microsoft. Guys and girls on material design team or angular team put Microsoft to shame. They are simply amazing. I know that your company is a .net shop in part and have income depending on them I get it. But there a lot of us that are sort of done with them.

I think we're going way off course here.
@daw451-duplicate I'm not sure why you think I am "all in" in TypeScript. You have to make your own call on where to head and you appear to be leaning away from TypeScript. Just reading your comments I think you have already made up your mind and I encourage you, if you feel that strongly, to stick with plain JS. This is a question about angst for MSFT disguised as a question about choosing TS vs JS.
Don;t kid yourself with all these companies and OSS to keep things around forever. Everyone has a track record for abandoning something at some point.  I know many of them well.
@wardbell has some great points, all of which I agree with. His shop is multi platform and he has vast experience in the pure Web world. Take his advise to heart: you will find few people as experienced and thoughtful as Ward.
So back to your question ... TS or JS? If your team is cool with JS and you feel comfy there, there is no problem staying there. In fact, I think ES5 is fine for experienced JS devs. TS offers, to me, a better chance to find issues during dev before running the code through both its checks and tooling. These are great and can help a great deal. Are they needed? No. Will your product be better? It depends on your team and experience. For a large team getting comfy with JS coming from static languages, TS can help smooth that transition.  In the end, you have JS. If you want to back off TS later, just take the JS and run. No harm. So there is literally no risk at all.
Another route is to take your JS and renamed the file to *.ts. Why? Because even without typing any TS syntax, you get some advantages due to tooling and implicit typing.
Another route is to go ES6 and transpile to ES5. Another route is to stay ES5. If you start with JS you can always sprinkle in some TS as you go, too.
The point is you have choices. There are pros and cons to each, All of these are about productivity and code quality (less bugs, less risk). TS may help to fail faster, uncovering issues sooner. That's the value. But if you dont go there you can still have a very successful project.
@daw451-duplicate You ask a good question: TS or JS? My advice is to choose what you and your team are comfy with and move along. There's room for all of these options.

Thanks John exactly what I was looking for. Superb answer.

good luck, its a fun adventure we are on :)

+1 waiting excitedly for the Using AngularJS 1. "The Angular 2.0 Way" ™* guideline

+1 OSOM! Can't wait for it!

+1

:+1:

:+1:

:+1:

:+1:

+1

+1

+1 I'm seriously psyched right now!

Me too :) ... Angular 2 is pretty awesome and some good patterns are already forming

Thrilled!!!

can you give us a sneak peek of angular 2 styleguide ?
like for example. a setter n getter.

+1

Does it change much?

+1

Would be awesome to see it coming from the amazing @johnpapa skills

A2 guide is now in the angular.io repo

Is it this? https://angular.io/docs/ts/latest/guide/
Or something/somewhere else

This one here, I think: https://angular.io/docs/ts/latest/guide/style-guide.html

yep

I wonder if there any plans to extend the style guide to deal with Angular2 libraries as well. I'm especially interested in a library naming convention, such as "ng2-..." or "angular2-..." (or similar).

@dominique-mueller  I like your suggestion, for the record we need to leave a namespace dedicated to the core/standard library(like ng2-... or angular2-...) and have user namespace for custom plugins/library to have something that is appropriate.


x/sys: installation fails

What version of Go are you using (go version)?

$ go version
go version go1.13.3 windows/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\sement\AppData\Local\go-build
set GOENV=C:\Users\sement\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=c:\!ST\Development\Go
set GOPRIVATE=
set GOPROXY=localhost:8080
set GOROOT=c:\!ST\Tools.Develop\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\!ST\Tools.Develop\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0 -fdebug-prefix-map=C:\Users\sement\AppData\Local\Temp\go-build644169734=/tmp/go-build -gno-record-gcc-switches

What did you do?

go get -u golang.org/x/sys
What did you expect to see?
Package installed
What did you see instead?
package golang.org/x/sys: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: proxyconnect tcp: tls: first record does not look like a TLS handshake)

That looks like a network issue. Have you tried again, perhaps with a different internet connection or machine?

I will try tonight. But works fine for other GitHub based packages

This has been in waiting for info for almost 2 years, and it was reported against a version of Go that is no longer supported, so let's archive this. If it comes out again on a recent Go version we can open a new issue.
Anyway it looked like a network issue.


fix(module:date-picker) fix problem with date-picker after "Esc"

Fixes #1539
PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Date picker can't be opened after it was closed by "Escape" key.
nzOnOpenChange is emitted with true when nzOpen is false and a user clicks on the input (date picker is still hidden, but it's expected behavior)

Issue Number: #1539
What is the new behavior?

Date picker works fine after closing by "Escape" key.
nzOnOpenChange is not emitted when nzOpen is false and a user clicks on the input

Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
I found a related issue, but it can't be fixed right now:

Given date picker with nzOpen equals to true
When a user presses "Escape" key
Then date picker is closed

In other scenarios (click on a backdrop, select date), we prevent closing of date picker when nzOpen equals to true, but in this case we can't do it, because there is no option in overlay from @angular/cdk to not be closed by "Escape". We can't prevent it right now.
https://github.com/angular/material2/blob/9062640b9a1ff98432218fc8ec59332ff154e781/src/cdk/overlay/overlay-directives.ts#L337-L341

Hi, @dmytroyarmak the ci may fail for no reason in travis now, you can restart it if everything is ok in your local test.
Thianks a lot for your pr!

@vthinkxie it was a problem with low test coverage for my changes. I've added one additional test and now it looks fine.

@dmytroyarmak Yep, there is no opportunity for us to prevent the overlay to be closed by "Esc" currently, it's kind of pity right now.


nixos: Use consistent naming and types

Description of changes
Specifies the "last try" parameter in all methods called by retry. Doing this clarifies its presence, and makes it easier to use it in the future if needed.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s): nix-build -nA nixosTests.nginx-tmpdir
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

@ofborg test nginx-tmpdir

Renaming the variable last to last_try indeed increases comprehensibility.
However, please do not use _last_try instead of _. The point of naming the variable _ in all functions where it is not used is telling "we have to define it to meet the interface but we don't use it so it doesn't get a name".

However, please do not use _last_try instead of _. The point of naming the variable _ in all functions where it is not used is telling "we have to define it to meet the interface but we don't use it so it doesn't get a name".

"We have to define it to meet the interface but we don't use it so it gets a name starting with _" seems just as valid, Starting the name with an underscore is a common practice to allow users to understand what's being passed, even if it's being ignored, which helps with future changes to the code. Of course, people have different preferences, so I guess this means we have one vote for _ and one vote for _last_try so far.

Maybe change the commit message prefix to nixos/test-driver or such?


suggest: reply message from fish in the logs channel

if you don't mind, I suggest that the reply message from Fish :fish: in the logs channel looks like this. :grin:

:hammer: Phishing URL sent by @invalid-user
Username: username#0000
User ID:<PHONE_NUMBER>12345678
Actions: DELETE, KICK
URL: phishing.link

thanks. :pray:

https://github.com/Benricheson101/anti-phishing-bot/pull/15 :ye:


Use the docker.io registry for "latest" antrea images

It has been observed that pulling
projects.registry.vmware.com/antrea/antrea-ubuntu:latest will often fail. This is because the Harbor registry uses a CDN for caching, which doesn't work well at all when tags are being re-used (in our case, we re-use the latest tag all the time). While most users should be installing a released version of antrea (with an immutable tag) and thus should not suffer from this issue, it can be frustrating for users who want to install the latest antrea built from the main branch.
As a result, we switch to the docker.io registry whenever the latest tag is used, and in particular for checked-in manifest files. The Harbor registry (projects.registry.vmware.com) is still used for all release assets, and more generally for all images with an immutable tag.
We are able to simplify some infrastructure code because of that, as built images no longer need to be tagged with
projects.registry.vmware.com.

/test-all
/test-windows-all

/test-multicluster-e2e

/test-all
/test-multicluster-e2e

/test-all

/test-all
/test-multicluster-e2e

@XinShuYang the tests are still not running, I'll try again

/test-all
/test-multicluster-e2e

/test-windows-all
/test-ipv6-e2e
/test-ipv6-only-e2e

/test-e2e

@luolanzone any further comment?


⚠ ClamAV has degraded performance

In 95ef859, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 80 ms

Resolved: ClamAV performance has improved in 26adaa3.


back deploy concurrency to macOS 10.15

preceded by https://github.com/GraphQLSwift/GraphQL/pull/116

friendly ping @NeedleInAJayStack & @paulofaria this would unblock us and I'm sure a bunch of other people. Would appreciate a merge & release, thank you :)


Validation Error Message only after Touched

Formik's validation example at https://formik.org/docs/guides/validation shows how they display validation errors per field only after the field itself has been touched, which makes the UI a bit more user-friendly.
I noticed that your library will trigger and display any/all errors immediately after the first onChange.
Can this be updated to be more similar to Formik's recommended approach?

Have you tried setting validateOnChange to false? It defaults to true
https://formik.org/docs/api/formik#validateonchange-boolean

Just fired up Storybook to add that prop, and I see what you mean. I'll see about addressing this in the next release


Added some fishy event system I copied from so

Basic window using Glfw

Haha, you chose the wrong branch, I'm gonna merge the master branch instead xD


Code splitting in nuxt

Any good practical examples of code splitting in nuxt?

Can you explain more about your question?

Nuxt.js split automatically every page in a JS bundle, you don't need to do anything to code-split your application, nuxt takes care of it.


fix and document mass balance differences

Mass_start: fixed precision issues (float32 vs float64) that caused these differences.
Boundaries: documented the impact of the diffusion coefficient on these differences. You can see the absolute differences and CV increase as the diffusion coefficient increases.

Once we merge this, we can merge the constituents-dev_massBalUpdate to constituents-dev.