Add KIWI: KIWI Token

[ X ] I understand that token listing is not required to use the Polygon Wallet with a token.

Please provide the following information for your token.
Token Name: KIWI Token
Token Symbol: KIWI
Decimals: 8
Polygon Address: 0x578360AdF0BbB2F10ec9cEC7EF89Ef495511ED5f
Ethereum Address: 0x2BF91c18Cd4AE9C2f2858ef9FE518180F7B5096D
Logo URI (svg): https://raw.githubusercontent.com/BlockTimeWorld/crawler/main/icons/KIWI.svg
Project Name: KIWI Proof-of-Work Token
Project Summary: KIWI is a mineable ERC20/EIP-918 token, and it has no pre-mine. The project was first announced in Bitcointalk in May 6, 2018. Today KIWI is used in payments, NFT trading, engagement, and community development. It can be solo-mined using CPU or GPU.
Project Contact<EMAIL_ADDRESS>Project Website: https://kiwi-token.com
Mainnet/Testnet: Mainnet
Additonal Notes:

Please update this token, We are utilizing it in our dAPP! Thank you!

Added to allTokens tokenlist v1.8.0.


Rebuild index on existing collection

Let's say if I have a collection and I add new index only newly added or updated documents get indexed. Is there any simple way to re-index all the documents in collection?

No, when you create an index all existing documents will be indexed (like in any rdbms). In fact, there is no need to rebuild index. But, if you want, you must drop all indexes + ensure all indexes again (except _id primery key)

Hi! With the objective of organizing our issues, we are closing old unsolved issues. Please check the latest version of LiteDB and open a new issue if your problem/question/suggestion still applies. Thanks!


Questions about probability estimation of one-class svm

Hi,
I have some questions related to the implementation of the probability estimation of the one-class svm:

The first question is how to calculate the probability estimation when the number of positive or negative predictions is smaller than 5. I found that the probability estimation will not be calculated in this situation. Does it mean that the model can only generate the decision values rather than the probabilities?  Why do we manually generate some predicted decision values in the positive area or the negative area to enable the probability estimation?

The second question is when there are many decision values in the same value, the decision value of this value can be mapped into different intervals. Is it reasonable?

For the 1st, yes, we don't give probabilities if # data is too small.
For the 2nd, we agree that it's a problem. May you give us your data and
settings so we can see if a better way can be done
On 2023-11-28 10:23, KKKaren wrote:

Hi,
I have some questions related to the implementation of the probability
estimation of the one-class svm:

The first question is how to calculate the probability estimation when
the number of positive or negative predictions is smaller than 5. I
found that the probability estimation will not be calculated in this
situation. Does it mean that the model can only generate the decision
values rather than the probabilities? Why do we manually generate some
predicted decision values in the positive area or the negative area to
enable the probability estimation?
*
The second question is when there are many decision values in the same
value, the decision value of this value can be mapped into different
intervals. Is it reasonable?
--
Reply to this email directly, view it on GitHub [1], or unsubscribe
[2].
You are receiving this because you are subscribed to this
thread.Message ID: @.> [ {
@.": "http://schema.org", @.": "EmailMessage",
"potentialAction": { @.": "ViewAction", "target":
"https://github.com/cjlin1/libsvm/issues/210", "url":
"https://github.com/cjlin1/libsvm/issues/210", "name": "View Issue" },
"description": "View this Issue on GitHub", "publisher": { @.***":
"Organization", "name": "GitHub", "url": "https://github.com" } } ]
Links:
[1] https://github.com/cjlin1/libsvm/issues/210
[2]
https://github.com/notifications/unsubscribe-auth/ABI3BHQHHY5NBDOW543LNGDYGVDI5AVCNFSM6AAAAAA746XKPWVHI2DSMVQWIX3LMV43ASLTON2WKOZSGAYTGNBWHE2DOOI

Why do we manually generate some predicted decision values in the positive area or the negative area to enable the probability estimation?

Please see details in the following paper
https://www.csie.ntu.edu.tw/~cjlin/papers/oneclass_prob/oneclass_prob.pdf

详情请见以下纸 https://www.csie.ntu.edu.tw/~cjlin/papers/oneclass_prob/oneclass_prob.pdf

Thanks.


fix: Error when loading exported bot

Description
This PR updates the C# runtime to use the name of the .csproj as the project name instead of the folder name. This change allows loading and executing bots previously exported where its containing folder differs from the original project name.
Task Item
#minor
Related Components issue: #1500
Detailed Changes

Updated model in BotStructure to include the .csproj file in the project's files list.
Updated the runtime's identifyManifest method to receive the botProject object instead of the project name.
Updated calls to identifyManifest in packageManager index file.
Updated runtimes index to use the .csproj name in the different dotnet commands to initialize, build and publish the bot.
Updated all the affected yarn-berry.lock files.

Screenshots
These images show the previously exported bot working in Composer.

Coverage: 54.547%. Remained the same when pulling c80fbe58e19f77fd0a8532b810afc221772e1f4e on southworks/fix/use-real-project-name into c72cfeabb35639c4afe8164cf7ec1c49fc42aade on main.


Feature request: Control over transaction inclusion in blocks

It would be useful to have fine-grained control over blocks and the transactions they include. This would allow you to test situations where multiple transactions are in the same block, the precise block number matters, or large numbers of blocks pass between transactions.
Expected Behavior
Various implementations are possible, but for example:
You send testrpc the request to enter Manual Block mode. From that point, until you request it return to normal mode, it does not automatically advance blocks every time it receives a transaction. Instead, it queues the transactions it receives until it receives the command to advance a block, at which point it does so and includes any queued transactions.
Current Behavior
testrpc currently advances 1 block per transaction.
Context
In multi-user scenarios, blocks are often used as proxies for elapsed time. It is therefore necessary to be able to test situations that occur only at specific block heights.
Additionally, there may be situations where you want to specifically test multiple transactions in the same block. For instance, if you have an oracle which only wants to reward a user for updating it at most once per block.

[ ] As a feature of this block processing strategy, whenever a block is requested to be mined, you can optionally pass the timestamp of the block to accurately test time code that's based on the passage of time. One condition of this feature is that you shouldn't be able to mine a block in the past. See comments in #52 for more discussion.

@PeterBorah Everything you requested above has been added to the develop branch, primarily written by @area. The flow goes like this:

Send miner_stop request to the TestRPC to stop default mining behavior (i.e., instamine).
Queue transactions; they won't be mined when queued.
Send evm_mine request when you'd like to advance a block. Note that queued transactions are ordered by nonce and gas limit, so if you have a set of transactions whose gas limits total more than the default block gas limit, only a portion of those transactions will be mined (filing up the block without going over).
To start normal instamining again, send miner_start request to the TestRPC. The miner_start/miner_stop mimic the requests from geth.

I still need to test that evm_mine works correctly, especially in handling error cases. I'd like evm_mine to return errors like OOG, but I have to see what I can do when multiple transactions are queue. Perhaps if you're queueing transactions, you forfeit the right to errors in the response since you're instamining. Not sure.
I'll attempt to write a test for this now / tomorrow morning.

@area @PeterBorah I need some feedback here. What would you expect to happen if a transaction failed during evm_mine, say, with the error invalid JUMP, and it were mined in a block with another valid transaction? Now consider both transactions failed. What should happen? Couple scenarios:

Should the evm_mine request return an error with the first error encountered?
Should the evm_mine request return an error of a type that tries to merge the results of all transactions that failed?
Should the evm_mine request not return an error, and instead return the underlying vm results for each transaction, which include the error messages of each transaction (requires digging by the user and understanding of the vm results)
Should the evm_mine request return and error and return the vm results?
Should the evm_mine request not error and not return the vm results, acting simply like a real blockchain? (i.e., you're not privy to the types of errors with geth).

Which do you think its better? Have any other suggestions?

Have you changed your opinion since the discussion at https://github.com/ethereumjs/testrpc/issues/39 , and would consider option 5, or are you simply trying to enumerate all possible options here?
I think behaviour should be consistent between insta-mining and this sort of mining, so my most preferred option is probably 1, followed by 2, 4, 5, 3.

Enumerating all possible options for you guys to consider. My general desire is to expose the errors; but it's awkward when there are multiple errors per block.
I'm actually leaning toward (2), but only if we create an Error object that parses the VM result per block and is always returned if an error occurs, no matter if it's a transaction with instamine, a mining request via evm_mine, or restarting mining via miner_start.
The one counter point is that mining on interval is sufficiently asynchronous. With --blocktime, we couldn't return the error if we wanted to because the error would exist outside of the user's control flow. I'm okay with this, as I'd call it an "advanced" usage of the TestRPC. One potentially sticky area however is miner_start; when used with --blocktime, this has the potential to mine multiple blocks of which multiple transactions in each block could error. We'd have to have an error handler that merged all of these.
In any case, the above is mostly thinking out loud to get it "on paper". I think I'm set on (2) even though it's going to take some work to write tests for all these cases. That said, in the end it should be worth it.
Thanks for the feedback, as always.

Putting more on paper, here's the cases which I'll write tests for and ensure proper error handling:

[ ] Processing a single erroneous transaction via instamine.
[ ] Processing multiple erroneous transactions via miner_stop/miner_start that exist in the same block
[ ] Processing multiple erroneous transactions via miner_stop/miner_start that exist in multiple blocks

To do this, I'll:

[ ] Create a custom Error object and/or VM results interpreter that processes VM results and handles multiple errors
[ ] Give the custom Error object the ability to combine its errors with more VM results, adding multiple transactions errors into the same error object (for miner_start with multiple blocks)

What I'm thinking this will turn into from a user's standpoint is an error message that looks like this:

Error: Multiple transaction errors: invalid JUMP; OOG;

Or even better, perhaps:

Error: Multiple transaction errors:
0xabcd...1234: Invalid JUMP
0x1234...abcd: OOG

When using the TestRPC as a library instead of a server, you'll receive this error object itself and can drill down into its data, something like:
console.log(err.results)
// {
//   "0xabcd...1234": "Invalid JUMP"
//   "0x1234...abcd": "OOG"
// }

One last note: If --blocktime is used, I'll print the error in the TestRPC logs since it can't be handled (this will likely be a different ticket).

Dag nabit. One great edge case:

If one transaction errors and one succeeds, the logs for the successful transaction still need to be processed.

Alright, better error handling scheme pushed to develop, with tests. I'm calling this ticket done!

i'm trying this out and not getting the results as i expected. I'd like to make sure a series of transactions are included in the same block. However with automining each transaction causes a new block to be mined. If I understand the use of miner_start and miner_stop correctly then i should be able to do:
async function batchTransactions() {
    let currentBlock = await blockNumber()
    console.log({ currentBlock })

    await stopMining()

    const promise1 = contract.makeTX()
    const promise2 = contract.makeTX()
    const promise3 = contract.makeTX()

    await startMining()

    const results = await Promise.all([promise1, promise2, promise3])

    currentBlock = await blockNumber()
    console.log({ currentBlock })
}

function blockNumber() {
  return new Promise((resolve, reject) => {
    web3.eth.getBlockNumber(async (err, res) => {
      if (err || !res) return reject(err)
      resolve(res)
    })
  })
}

function stopMining() {
  return new Promise((resolve, reject) => {
    web3.currentProvider.sendAsync(
      {
        jsonrpc: '2.0',
        method: 'miner_stop',
        id: 12346,
      },
      (err, result) => {
        if (err) reject(err)
        resolve(result)
      }
    )
  })
}

function startMining() {
  return new Promise((resolve, reject) => {
    web3.currentProvider.sendAsync(
      {
        jsonrpc: '2.0',
        method: 'miner_start',
        id: 12347,
      },
      (err, result) => {
        if (err) reject(err)
        resolve(result)
      }
    )
  })
}

However I get that each transaction was again included in it's own block and the current block number has progressed 3 blocks instead of 1.
What am I doing wrong?


Relocate dataset defaults to defaults.controllers

Gains:

ability to filter the type specific defaults from global defaults
consistency with elements, scales and plugins

Size Change: +111 B (0%)
Total Size: 228 kB

Filename
Size
Change

dist/chart.esm.js
62 kB
+24 B (0%)

dist/chart.js
88.4 kB
+57 B (0%)

dist/chart.min.js
60.6 kB
+30 B (0%)

ℹ View Unchanged

Filename
Size
Change

dist/chunks/helpers.segment.js
15.7 kB
0 B

dist/helpers.esm.js
990 B
0 B


PEP8 fixes for the 0.7.0 release

Hello @mdenker! Thanks for submitting the PR.

In the file doc/source/images/generate_diagram.py, following                are the PEP8 issues :

Line 40:23: E265 block comment should start with '# '
Line 47:21: E265 block comment should start with '# '
Line 48:21: E265 block comment should start with '# '
Line 105:28: W504 line break after binary operator
Line 128:25: W504 line break after binary operator
Line 130:17: W504 line break after binary operator
Line 139:17: W504 line break after binary operator
Line 140:30: W504 line break after binary operator
Line 170:21: W504 line break after binary operator

There are no PEP8 issues in the file neo/core/dataobject.py !

There are no PEP8 issues in the file neo/io/axographio.py !

In the file neo/io/basefromrawio.py, following                are the PEP8 issues :

Line 481:5: E722 do not use bare 'except'

In the file neo/io/blackrockio_v4.py, following                are the PEP8 issues :

Line 281:68: E712 comparison to False should be 'if cond is False:' or 'if not cond:'
Line 1111:13: W504 line break after binary operator
Line 1270:17: W504 line break after binary operator
Line 1280:17: W504 line break after binary operator
Line 1281:17: W504 line break after binary operator
Line 1313:17: W504 line break after binary operator
Line 1316:17: W504 line break after binary operator
Line 1339:17: W504 line break after binary operator
Line 1413:21: W504 line break after binary operator
Line 1454:21: W504 line break after binary operator
Line 1661:21: W503 line break before binary operator
Line 1829:21: W504 line break after binary operator
Line 1830:21: W504 line break after binary operator
Line 2030:25: W504 line break after binary operator
Line 2037:25: W504 line break after binary operator
Line 2562:100: E501 line too long (104 > 99 characters)

In the file neo/io/neomatlabio.py, following                are the PEP8 issues :

Line 33:33: W504 line break after binary operator
Line 34:33: W504 line break after binary operator
Line 152:79: W291 trailing whitespace
Line 288:21: W504 line break after binary operator
Line 377:21: W504 line break after binary operator

In the file neo/io/nestio.py, following                are the PEP8 issues :

Line 184:25: W504 line break after binary operator
Line 376:47: W503 line break before binary operator
Line 401:17: E704 multiple statements on one line (def)

In the file neo/io/neuralynxio_v1.py, following                are the PEP8 issues :

Line 35:1: E402 module level import not at top of file
Line 37:1: E402 module level import not at top of file
Line 39:1: E402 module level import not at top of file
Line 40:1: E402 module level import not at top of file
Line 42:1: E402 module level import not at top of file
Line 43:1: E402 module level import not at top of file
Line 45:1: E402 module level import not at top of file
Line 46:1: E402 module level import not at top of file
Line 270:21: W503 line break before binary operator
Line 272:21: W503 line break before binary operator
Line 274:21: W503 line break before binary operator
Line 276:25: W503 line break before binary operator
Line 532:13: W504 line break after binary operator
Line 540:13: W504 line break after binary operator
Line 547:36: W504 line break after binary operator
Line 552:13: W504 line break after binary operator
Line 560:17: W504 line break after binary operator
Line 567:36: W504 line break after binary operator
Line 654:35: W504 line break after binary operator
Line 732:17: W504 line break after binary operator
Line 734:24: W504 line break after binary operator
Line 737:27: W504 line break after binary operator
Line 743:36: W504 line break after binary operator
Line 748:17: W504 line break after binary operator
Line 750:23: W504 line break after binary operator
Line 753:26: W504 line break after binary operator
Line 762:39: W504 line break after binary operator
Line 781:27: W503 line break before binary operator
Line 782:27: W503 line break before binary operator
Line 892:13: W504 line break after binary operator
Line 900:17: W504 line break after binary operator
Line 906:36: W504 line break after binary operator
Line 913:13: W504 line break after binary operator
Line 921:13: W504 line break after binary operator
Line 928:36: W504 line break after binary operator
Line 1066:13: W504 line break after binary operator
Line 1074:13: W504 line break after binary operator
Line 1081:36: W504 line break after binary operator
Line 1088:13: W504 line break after binary operator
Line 1096:13: W504 line break after binary operator
Line 1104:36: W504 line break after binary operator
Line 1274:61: W504 line break after binary operator
Line 1275:61: W504 line break after binary operator
Line 1276:61: W504 line break after binary operator
Line 1494:32: W503 line break before binary operator
Line 1503:32: W504 line break after binary operator
Line 1641:39: W291 trailing whitespace
Line 1642:17: E113 unexpected indentation
Line 1643:17: E122 continuation line missing indentation or outdented
Line 1877:21: E722 do not use bare 'except'
Line 1946:48: W504 line break after binary operator
Line 1949:48: W504 line break after binary operator
Line 1988:13: W504 line break after binary operator
Line 2001:59: W504 line break after binary operator
Line 2003:58: W504 line break after binary operator
Line 2035:59: W504 line break after binary operator
Line 2037:58: W504 line break after binary operator
Line 2074:59: W504 line break after binary operator
Line 2076:58: W504 line break after binary operator
Line 2109:25: W504 line break after binary operator
Line 2281:63: E712 comparison to False should be 'if cond is False:' or 'if not cond:'
Line 2363:5: E266 too many leading '#' for block comment

In the file neo/io/neurosharectypesio.py, following                are the PEP8 issues :

Line 136:100: E501 line too long (128 > 99 characters)
Line 154:41: W504 line break after binary operator
Line 275:25: W504 line break after binary operator
Line 280:55: W504 line break after binary operator
Line 281:100: E501 line too long (100 > 99 characters)
Line 287:46: W504 line break after binary operator

There are no PEP8 issues in the file neo/io/nixio_fr.py !

In the file neo/rawio/axonrawio.py, following                are the PEP8 issues :

Line 117:41: W504 line break after binary operator
Line 478:24: W504 line break after binary operator
Line 506:24: W504 line break after binary operator
Line 523:24: W504 line break after binary operator
Line 533:49: W503 line break before binary operator
Line 548:24: W504 line break after binary operator
Line 549:24: W504 line break after binary operator
Line 573:24: W504 line break after binary operator

In the file neo/rawio/bci2000rawio.py, following                are the PEP8 issues :

Line 85:9: E722 do not use bare 'except'
Line 106:42: W503 line break before binary operator
Line 227:17: W605 invalid escape sequence '\d'
Line 227:22: W605 invalid escape sequence '\w'

In the file neo/rawio/blackrockrawio.py, following                are the PEP8 issues :

Line 615:17: W503 line break before binary operator
Line 657:17: W503 line break before binary operator
Line 1121:39: W504 line break after binary operator
Line 1203:56: W504 line break after binary operator
Line 1208:54: W504 line break after binary operator
Line 1226:47: W504 line break after binary operator
Line 1746:17: W504 line break after binary operator
Line 1750:17: W504 line break after binary operator
Line 1791:17: W504 line break after binary operator
Line 1794:17: W504 line break after binary operator
Line 1811:25: W504 line break after binary operator
Line 1818:21: W504 line break after binary operator
Line 1901:25: W504 line break after binary operator
Line 1907:25: W504 line break after binary operator

There are no PEP8 issues in the file neo/rawio/brainvisionrawio.py !

There are no PEP8 issues in the file neo/rawio/intanrawio.py !

There are no PEP8 issues in the file neo/rawio/micromedrawio.py !

In the file neo/rawio/neuralynxrawio.py, following                are the PEP8 issues :

Line 511:10: W605 invalid escape sequence '\w'
Line 511:14: W605 invalid escape sequence '\d'

In the file neo/rawio/nixrawio.py, following                are the PEP8 issues :

Line 133:100: E501 line too long (100 > 99 characters)
Line 277:32: E711 comparison to None should be 'if cond is None:'
Line 285:100: E501 line too long (105 > 99 characters)

In the file neo/rawio/openephysrawio.py, following                are the PEP8 issues :

Line 47:100: E501 line too long (100 > 99 characters)
Line 50:100: E501 line too long (108 > 99 characters)
Line 52:100: E501 line too long (108 > 99 characters)
Line 57:100: E501 line too long (104 > 99 characters)
Line 108:100: E501 line too long (107 > 99 characters)
Line 123:100: E501 line too long (102 > 99 characters)
Line 397:5: E265 block comment should start with '# '

In the file neo/rawio/tdtrawio.py, following                are the PEP8 issues :

Line 204:49: W504 line break after binary operator
Line 205:49: W504 line break after binary operator
Line 464:16: W605 invalid escape sequence '\S'
Line 464:27: W605 invalid escape sequence '\S'
Line 464:39: W605 invalid escape sequence '\S'

There are no PEP8 issues in the file neo/rawio/tests/test_openephysrawio.py !

There are no PEP8 issues in the file neo/test/coretest/test_analogsignal.py !

There are no PEP8 issues in the file neo/test/coretest/test_base.py !

In the file neo/test/coretest/test_event.py, following                are the PEP8 issues :

Line 11:1: E402 module level import not at top of file
Line 12:1: E402 module level import not at top of file
Line 13:1: E402 module level import not at top of file
Line 14:1: E402 module level import not at top of file
Line 15:1: E402 module level import not at top of file
Line 17:1: E402 module level import not at top of file
Line 26:1: E402 module level import not at top of file
Line 27:1: E402 module level import not at top of file
Line 28:1: E402 module level import not at top of file
Line 29:1: E402 module level import not at top of file
Line 31:1: E402 module level import not at top of file

In the file neo/test/coretest/test_irregularysampledsignal.py, following                are the PEP8 issues :

Line 768:17: W503 line break before binary operator
Line 769:17: W503 line break before binary operator
Line 770:17: W503 line break before binary operator

There are no PEP8 issues in the file neo/test/iotest/test_intanio.py !

There are no PEP8 issues in the file neo/test/iotest/test_neomatlabio.py !

In the file neo/test/iotest/test_nsdfio.py, following                are the PEP8 issues :

Line 34:100: E501 line too long (100 > 99 characters)

In the file neo/test/iotest/test_openephysio.py, following                are the PEP8 issues :

Line 22:9: E265 block comment should start with '# '

There are no PEP8 issues in the file neo/test/tools.py !

Coverage remained the same at 49.633% when pulling 84af0cb7c1c15dc1d465afc15c31173e4987fe8d on INM-6:enh/pep8for7 into d84c4fde2c4cfbda0b61578d87dfa665d905d732 on NeuralEnsemble:master.

Coverage remained the same at 49.633% when pulling 84af0cb7c1c15dc1d465afc15c31173e4987fe8d on INM-6:enh/pep8for7 into d84c4fde2c4cfbda0b61578d87dfa665d905d732 on NeuralEnsemble:master.


POL-285 Fix the index.html esi:include links to match what we are dep…

…loying

Codecov Report

Merging #158 into master will increase coverage by 1.66%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #158      +/-   ##
==========================================
+ Coverage   73.54%   75.20%   +1.66%
==========================================
  Files         115      115
  Lines        2264     2267       +3
  Branches      395      397       +2
==========================================
+ Hits         1665     1705      +40
+ Misses        596      559      -37
  Partials        3        3

Impacted Files
Coverage Δ

src/generated/ActionCreators.ts
82.19% <0.00%> (+4.10%)
:arrow_up:

src/services/useValidatePolicyName.ts
100.00% <0.00%> (+16.66%)
:arrow_up:

src/services/useVerifyPolicy.ts
100.00% <0.00%> (+33.33%)
:arrow_up:

src/pages/ListPage/CreatePolicyWizard.tsx
87.03% <0.00%> (+61.54%)
:arrow_up:


Store form instances in non-AST form

Right now when we #call on a form to get a fully populated instance, we go straight to the AST. I think it might be nice to have an object instead, and use #to_a to get the AST. That'd let us pass a populated form object around to e.g. a form renderer.

Resolved by #16


Fix startingat var name typo in pkg.php

Even with this fix, the code does not make sense. The first test is:
if ($startingat > -1)
if it gets into the else, then $startingat must be negative. But the test in the "else" tests for >1 ???
Someone who knows what it really is supposed to do could fix it!

The second test should be:
if ($startdisplayingat > 1)

And this will be used to add href when there are at least one item on previous page. If you want to see it working you just need to set a URL with:
startdisplayingat=2&display_maximum_rows=5

Code won't set startdisplayingat to 2, it's a safe belt.

I'll merge your patch and push a fix after it. Thanks!

Oops - I deleted 1 too many branches.


[apptools-android] Remove the duplicated module for apptools android

Failure analysis:
https://crosswalk-project.org/jira/browse/XWALK-6016
Impacted tests(approved): new 0, update 10, delete 0
Unit test platform: [Android]
Unit test result summary: pass 9, fail 1, block 0

LGTM


feat(v2): add back to top button

Motivation
Resolves #3513 :information_source: must be merged after  #4273 approved.
To distract end user less and let them focus on the content, the back-to-top button is intentionally shown only when they scroll up.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Preview
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

What about using native smooth scrolling on browsers supporting it? And cancel the animation on the polyfill?

As I understand it, native smooth scrolling is rather unreliable thing. On Linux/Windows I was unable to get it to work with built-in API, so the requestAnimationFrame solution helps out well.

The behavior is different from v1. Isn't it confusing to require scrolling up to show the button? This makes the new TOC less accessible (scroll up + press instead of just press)

Yes and no. If the user wants to scroll to the top of  page, then we display back-to-top button with which they can do this more easily, although end-user does not always need to scroll to the very top of a page. Anyway, I like this pattern in that the user focuses on the content (also something like is done in Material for MkDocs). I propose to leave this behavior, and if there are many dissatisfied users with this, then we will change to more traditional option.

This comp does not depend too much on Infima, what about moving it to theme-common so that we can reuse it later in other themes?

Alright.

We should support iOS 15 new URL bar to fix

Since the back-to-top button is not displayed immediately on first rendering, only when scrolling up, doesn't that fix this "bug"?

This button styles actually rely on Infima variables. I've also now applied new utility class clean-btn to back-to-top button. Therefore, we shouldn't move this component to the common theme.


robotraconteur: 1.2.2-1 in 'iron/distribution.yaml' [bloom]

Increasing version of package(s) in repository robotraconteur to 1.2.2-1:

upstream repository: https://github.com/robotraconteur/robotraconteur.git
release repository: https://github.com/robotraconteur-packaging/robotraconteur-ros2-release.git
distro file: iron/distribution.yaml
bloom version: 0.12.0
previous version for package: 1.1.1-1

Same as https://github.com/ros/rosdistro/pull/42402, let's keep there the discussion to avoid duplication.


Question: Running supercronic on multiple Instances

Hello devs,
Thank you, I am unable to find any proper answers, Wondering any devs can help me to understand how can I run supercron on only one instance. I have application that running with two docker instances, Currently the execution is happening in all environments in all instances, As images is promoted to from IT to PROD. How can I configure to run only on certain environments or execution based on any environment variables.

If you don't want to run supercronic (or any execuatible) at all, you could use a variable and shell conditionals (or whole scripts) like:
( [ "$RUN_CRONS" = "true" ] && supercronic crontab ) || echo "All crons skipped"
With any cron implementation, you can include similar logic in the job definition (or in a script run as a job):
@hourly [ "#RUN_PROD_JOBS" = "true" ] && python ./process_orders.py

Or, you could load a different crontab file entirely for each environment. supercronic production.crontab vs supercronic dev.crontab
All of the above suggestions should work on supercronic or any other cron implementation

On Aptible, you can use the default container environment or set your own configuration values as environment variables to help decide if/which jobs should be run.


Air pollution Data

React Capstone Project
In this milestone, I was able to do the following:

Install needed dependencies

Set up the redux store

Build UI to suit provided design

Use CreateAsynkThunk to make calls to the endpoint

Add Professional Readme file

Add MIT License

Write clean codes by checking with Linters
 Please kindly review 👨💻

Hi @ndorrh,
Great work on making the changes clap You've done well implementing some of the requested changes, but there are still some which aren't addressed yet.
Suggested changes
Check the comments under the review.
Note

[ ]  Kindly write some intergration tests for your app using React Testing Library as this is a requirement.

Cheers and Happy coding!clapclapclap
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

To the next reviewer, the student pushed the tests whilst I had already started reviewing the project locally. Please note


GPU mem doesn't release after delete tensors in optimizer.bit16groups

I'm developing a peft algorithm, basically it does the following:
Say the training process has 30 steps in total,

For global step 0~9: train lmhead + layer_0
For global step 10~19: train lmhead + layer_1
For global step 20~29: train lmhead + layer_0

The key point is that, after the switch, the states of lmhead are expected to be kept, while the states of the body layers should be deleted.
For example, the step in lmhead state should go from 0 to 29, while step for body layers count from 0 after every switch, even if the layer has been selected before.
In this case, the parameter group looks like:
            optimizer_grouped_parameters = [
                {
                    # this should always be lmhead:
                    # `requires_grad` and `not in active_layers_names` rules out all body layers
                    # `in decay_parameters` rules out ln
                    "params": [
                        p for n, p in opt_model.named_parameters() if (
                            n not in self.active_layers_names and n in decay_parameters and p.requires_grad)
                    ],
                    "weight_decay": self.args.weight_decay,
                },
                {
                    # this should always be ln (outside of body layers)
                    "params": [
                        p for n, p in opt_model.named_parameters() if (
                            n not in self.active_layers_names and n not in decay_parameters and p.requires_grad)
                    ],
                    "weight_decay": 0.0,
                },
                {
                    # selected body layers with decay
                    "params": [
                        p for n, p in opt_model.named_parameters() if (
                            n in self.active_layers_names and n in decay_parameters and p.requires_grad)
                    ],
                    "weight_decay": self.args.weight_decay,
                },
                {
                    # selected body layers without decay
                    "params": [
                        p for n, p in opt_model.named_parameters() if (
                            n in self.active_layers_names and n not in decay_parameters and p.requires_grad)
                    ],
                    "weight_decay": 0.0,
                },
            ]

The first two represents layers that states should be kept, while the last two will change.
An approach I came up with is that partially "re-init" the optimizer at the beginning of the step that should do the switch. I modified my huggingface trainer based on ds optimizer __init__ method:
    def _reinit_deepspeed_zero_optimizer_params(self, optimizer: DeepSpeedZeroOptimizer):
        num_non_lisa_body_layer_pgs = len(self.optimizer.param_groups) - len(LISA_BODY_LAYER_PARAM_GROUPS_IDX)
        objs = [
            optimizer.bit16_groups,
            optimizer.round_robin_bit16_groups,
            optimizer.round_robin_bit16_indices,
            optimizer.round_robin_bit16_meta,
            optimizer.bit16_groups_flat,
            optimizer.groups_padding,
            optimizer.parallel_partitioned_bit16_groups,
            optimizer.single_partition_of_fp32_groups,
            optimizer.partition_size,
            optimizer.params_in_partition,
            optimizer.params_not_in_partition,
            optimizer.first_offset
        ]
        for obj in objs:
            del obj[num_non_lisa_body_layer_pgs:]
        empty_cache()
        torch.cuda.empty_cache()
        gc.collect()

        for i, param_group in enumerate(optimizer.optimizer.param_groups):
            if i in range(num_non_lisa_body_layer_pgs):
                # skip lmhead, ln, etc.
                continue

            ## same as deepspeed/runtime/zero/stage_1_and_2.py DeepSpeedZeroOptimizer.__init__ below

            partition_id = dist.get_rank(group=optimizer.real_dp_process_group[i])

            # push this group to list before modify
            # TODO: Explore simplification that avoids the extra book-keeping by pushing the reordered group
            trainable_parameters = []
            for param in param_group['params']:
                if param.requires_grad:
                    param.grad_accum = None
                    trainable_parameters.append(param)
            optimizer.bit16_groups.append(trainable_parameters)

            # not sure why apex was cloning the weights before flattening
            # removing cloning here

            see_memory_usage(f"Before moving param group {i} to CPU")
            # move all the parameters to cpu to free up GPU space for creating flat buffer

            # Create temp CPU param copies, free accelerator tensors
            orig_group_numel = 0
            for param in optimizer.bit16_groups[i]:
                orig_group_numel += param.numel()
                param.cpu_data = param.data.cpu()
                param.data = torch.empty(1).to(param.device)

            empty_cache()
            see_memory_usage(f"After moving param group {i} to CPU", force=False)

            # Reorder group parameters for load balancing of gradient partitioning during backward among ranks.
            # This ensures that gradients are reduced in a fashion such that ownership round robins among the ranks.
            # For example, rather than 3 gradients (g_n+2, g_n+1, g_n) that are reduced consecutively belonging
            # to the same rank, instead they will belong to 3 ranks (r_m+2, r_m+1, r_m).
            if optimizer.round_robin_gradients:
                round_robin_tensors, round_robin_indices = optimizer._round_robin_reorder(
                    optimizer.bit16_groups[i], dist.get_world_size(group=optimizer.real_dp_process_group[i]))
            else:
                round_robin_tensors = optimizer.bit16_groups[i]
                round_robin_indices = list(range(len(optimizer.bit16_groups[i])))

            optimizer.round_robin_bit16_groups.append(round_robin_tensors)
            optimizer.round_robin_bit16_indices.append(round_robin_indices)

            # Create meta tensors list, ordered according to round_robin_tensors
            meta_tensors = []
            for param in round_robin_tensors:
                meta_tensors.append(torch.zeros_like(param.cpu_data, device="meta"))
            optimizer.round_robin_bit16_meta.append(meta_tensors)

            # create flat buffer in CPU
            flattened_buffer = optimizer.flatten_dense_tensors_aligned(
                optimizer.round_robin_bit16_groups[i],
                optimizer.nccl_start_alignment_factor * dist.get_world_size(group=optimizer.real_dp_process_group[i]),
                use_cpu_data=True)

            # free temp CPU params
            for param in optimizer.bit16_groups[i]:
                del param.cpu_data

            # Move CPU flat tensor to the accelerator memory.
            optimizer.bit16_groups_flat.append(flattened_buffer.to(get_accelerator().current_device_name()))
            del flattened_buffer

            see_memory_usage(f"After flattening and moving param group {i} to GPU", force=False)

            # Record padding required for alignment
            if partition_id == dist.get_world_size(group=optimizer.real_dp_process_group[i]) - 1:
                padding = optimizer.bit16_groups_flat[i].numel() - orig_group_numel
            else:
                padding = 0
            optimizer.groups_padding.append(padding)

            if dist.get_rank(group=optimizer.real_dp_process_group[i]) == 0:
                see_memory_usage(f"After Flattening and after emptying param group {i} cache", force=False)

            # set model bit16 weight to slices of flattened buffer
            optimizer._update_model_bit16_weights(i)

            # divide the flat weights into near equal partition equal to the data parallel degree
            # each process will compute on a different part of the partition
            data_parallel_partitions = optimizer.get_data_parallel_partitions(optimizer.bit16_groups_flat[i], i)
            optimizer.parallel_partitioned_bit16_groups.append(data_parallel_partitions)

            # verify that data partition start locations are 4-byte aligned
            for partitioned_data in data_parallel_partitions:
                assert (partitioned_data.data_ptr() % (2 * optimizer.nccl_start_alignment_factor) == 0)

            # A partition of the fp32 master weights that will be updated by this process.
            # Note that the params in single_partition_of_fp32_groups is cloned and detached
            # from the origin params of the model.
            if not optimizer.fp16_master_weights_and_gradients:
                weights_partition = optimizer.parallel_partitioned_bit16_groups[i][partition_id].to(
                    optimizer.device).clone().float().detach()
            else:
                weights_partition = optimizer.parallel_partitioned_bit16_groups[i][partition_id].to(
                    optimizer.device).clone().half().detach()

            if optimizer.cpu_offload:
                weights_partition = get_accelerator().pin_memory(weights_partition)

            optimizer.single_partition_of_fp32_groups.append(weights_partition)

            # Set local optimizer to have flat params of its own partition.
            # After this, the local optimizer will only contain its own partition of params.
            # In that case, the local optimizer only saves the states(momentum, variance, etc.) related to its partition's params(zero stage1).
            optimizer.single_partition_of_fp32_groups[
                i].requires_grad = True  # keep this in case internal optimizer uses it
            param_group['params'] = [optimizer.single_partition_of_fp32_groups[i]]

            partition_size = len(optimizer.bit16_groups_flat[i]) / dist.get_world_size(group=optimizer.real_dp_process_group[i])
            params_in_partition, params_not_in_partition, first_offset = optimizer.get_partition_info(
                optimizer.round_robin_bit16_groups[i], partition_size, partition_id)

            optimizer.partition_size.append(partition_size)
            optimizer.params_in_partition.append(params_in_partition)
            optimizer.params_not_in_partition.append(params_not_in_partition)
            optimizer.first_offset.append(first_offset)

However, I found del obj not working, as the mem profiling result shown below:

I noticed the tensors the arrows point at spawn when:
            # Move CPU flat tensor to the accelerator memory.
            optimizer.bit16_groups_flat.append(flattened_buffer.to(get_accelerator().current_device_name()))

Are there any insights?

The del object doesn't work because other variables are still pointing to the tensors, likely the linked hp_params.

@wheresmyhair, we have put some effort into enabling better memory management. Please see the following links for relevance to your scenario:

https://github.com/microsoft/DeepSpeed/blob/fc4e73370d84af5242996a90b32b3ffce8e6b922/deepspeed/runtime/engine.py#L414
https://deepspeed.readthedocs.io/en/latest/zero3.html#gpu-memory-management


Fix sideframe race condition

That could happen if you opened another page in new tab at the time that your sideframe was being loaded. When it loads it first opens 'about:blank', and only then the url you opened, so there was a minor window where it was possible to store empty page as sideframe state

Coverage remained the same at 77.757% when pulling bbd6cc7523230729709fd2764a9b9fe729cade3c on vxsx:bugfix/sideframe-race-condition into 7429a714146e948d1915ba15031ef8f07bb73b47 on divio:develop.


ADD ability to Like comments

Currently not possible because YouTube doesn't support likes through their API.


multicluster: Create sni_cluster filter for the Multicluster Gateway listener

This PR configures a sni_cluster filter for the Multicluster Gateway listener.
Signed-off-by: Delyan Raychev<EMAIL_ADDRESS>

Codecov Report

Merging #3812 (95d2bcd) into main (ab48487) will decrease coverage by 0.93%.
The diff coverage is 78.72%.

@@            Coverage Diff             @@
##             main    #3812      +/-   ##
==========================================
- Coverage   68.35%   67.42%   -0.94%
==========================================
  Files         189      198       +9
  Lines       10767    10931     +164
==========================================
+ Hits         7360     7370      +10
- Misses       3358     3512     +154
  Partials       49       49

Flag
Coverage Δ

unittests
67.42% <78.72%> (-0.94%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/envoy/xdsutil.go
86.85% <0.00%> (-2.09%)
:arrow_down:

pkg/envoy/lds/gateway.go
88.23% <88.09%> (+3.92%)
:arrow_up:

pkg/crdconversion/smi_httproutegroup_conversion.go
0.00% <0.00%> (ø)

pkg/crdconversion/framework.go
0.00% <0.00%> (ø)

pkg/crdconversion/config_meshconfig_conversion.go
0.00% <0.00%> (ø)

pkg/crdconversion/policy_egress_conversion.go
0.00% <0.00%> (ø)

pkg/crdconversion/smi_tcproutes_conversion.go
0.00% <0.00%> (ø)

pkg/crdconversion/smi_trafficsplit_conversion.go
0.00% <0.00%> (ø)

...onversion/config_multiclusterservice_conversion.go
0.00% <0.00%> (ø)

...crdconversion/policy_ingressbackends_conversion.go
0.00% <0.00%> (ø)

... and 2 more

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 ab48487...95d2bcd. Read the comment docs.


bug(mat-menu): Smooth dropdown animation only works for first click only

Reproduction
Steps to reproduce:

Create basic mat-menu following the official documentation
Click on menu trigger button
Click outside of menu options or lists
Click on menu trigger button again then it loses the smooth animation and just pop those options

This issue is also visible on the official https://material.angular.io/ page too.
Expected Behavior
Whenever there's a click on menu-trigger button, mat-menu options or lists should be animated smoothly than just popped on screen. This behavior works fabulously in mat-select component.
Actual Behavior
Smooth animation works only for the first click on menu trigger button then it loses the smooth animation and just pop menu content.
Environment

Angular: Angular 10.0.9
CDK/Material: 10.1.3
Browser(s): Mozila Firefox
Operating System (e.g. Windows, macOS, Ubuntu): Win 10

Duplicate of https://github.com/angular/components/issues/20379 which has a pending fix.


MiAIRR targe_substrate clarification...

Again, as a result of our data curators diving into the MiAIRR standard in more detail, another clarification is requested 8-) Apologies if this is confusing given I am not an expert. Nishanth, please jump in if you can make my incoherent ramblings more succinct!!!
The questions I have to pass along are in regards to:
3 / process (nucl. acid)	Target substrate	String	Controlled vocabulary	(DNA|RNA)
One of the drivers for the question is the field is defined as a controlled vocabulary with only two options in the example, DNA or RNA. This implies that there are two, and only two possibilities in the controlled vocabulary. Is that the case? This causes some confusion on our end, in particular because the data our curators tend to gather the "DNA Type" from papers, which is whether the study uses gDNA or cDNA. Given that cDNA and gDNA are not a possibility for target_substrate and there is no place to capture that information, they have requested some clarification around this...
More specific clarification questions are:
" In what context is a 'target_substrate' a target? Is it the target for sequencing (eg. cDNA being sequenced) or for calculating viral load?" and a follow on comment "Is 'target_substrate' for those that are meant only for sequencing or other processing as well? For example, for sequencing, cDNA or gDNA makes more sense while for calculating viral load, RNA would be the target_substrate. And for RNA-seq it is DNA that is sequenced even though the source for the cDNA is RNA. So should RNA be the target substrate for that or DNA? Should the target substrate be defined more specifically to what is actually used to prep the assay specific sample (in this case, assay specific sample being the cDNA library prepared using Illumina adapters for sequencing)."
Comments?

I think originally gDNA and cDNA were the choices, and this must have gotten changed somewhere along the way.  I suppose DNA maps to gDNA and RNA maps to cDNA, but gDNA and cDNA are probably more accurate/specific.
On the other question, for MiAIRR, wouldn't we only be considering AIRR-seq and not things like viral load calculation?
————————————
Lindsay G. Cowell, PhD
Associate Professor
Division of Biomedical Informatics
Department of Clinical Sciences
University of Texas Southwestern Medical Center
Lindsay.Cowell<EMAIL_ADDRESS>214-648-2289
Administrative Assistant:
Mack Dressler
Mack.Dressler<EMAIL_ADDRESS>214-648-2558
On Oct 15, 2017, at 9:02 PM, Christian Busse <notifications<EMAIL_ADDRESS>wrote:
Again, as a result of our data curators diving into the MiAIRR standard in more detail, another clarification is requested 8-) Apologies if this is confusing given I am not an expert. Nishanth, please jump in if you can make my incoherent ramblings more succinct!!!
The questions I have to pass along are in regards to:
3 / process (nucl. acid) Target substrate String Controlled vocabulary (DNA|RNA)
One of the drivers for the question is the field is defined as a controlled vocabulary with only two options in the example, DNA or RNA. This implies that there are two, and only two possibilities in the controlled vocabulary. Is that the case? This causes some confusion on our end, in particular because the data our curators tend to gather the "DNA Type" from papers, which is whether the study uses gDNA or cDNA. Given that cDNA and gDNA are not a possibility for target_substrate and there is no place to capture that information, they have requested some clarification around this...
More specific clarification questions are:
" In what context is a 'target_substrate' a target? Is it the target for sequencing (eg. cDNA being sequenced) or for calculating viral load?" and a follow on comment "Is 'target_substrate' for those that are meant only for sequencing or other processing as well? For example, for sequencing, cDNA or gDNA makes more sense while for calculating viral load, RNA would be the target_substrate. And for RNA-seq it is DNA that is sequenced even though the source for the cDNA is RNA. So should RNA be the target substrate for that or DNA? Should the target substrate be defined more specifically to what is actually used to prep the assay specific sample (in this case, assay specific sample being the cDNA library prepared using Illumina adapters for sequencing)."
Comments?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/airr-community/airr-standards/issues/28, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AF4uhfRt1G2IJ74MP6BRgm6MS1BHReMzks5ssrkkgaJpZM4P5_uI.

UT Southwestern
Medical Center
The future of medicine, today.

I think our original reasoning (gDNA = DNA, cDNA = RNA) should be revisited in the light of a number of recent publications (e.g. by @mstubb, @chudakovdm and PC Wilson), which extract TCR or Ig sequences from whole RNA-seq data. While technically there is of course a reverse-transcription step (i.e. cDNA generation) somewhere in the process, it is not necessarily associated with an actual PCR amplification. Therefore I would propose to extend the vocabulary to: gDNA, cDNA, RNA. Happy to get further input on this from @scharch and @mikessh.
Otherwise I agree with @lgcowell, MiAIRR describes only the template used for AIRR-seq. If a user determines other parameters (like viral load) from the same sample, this would either be property of the sample or the clinical history.

Well, we use the following strategy in how we store sample metadata right now: this all goes to "technology/method" field, so we have sanger, amplicon-seq (further clarified as either 5'/3'RACE or multiplex PCR), single-cell and rna-seq. Note that this information is critical, for example different V/J usage patterns are expected for RACE and multiplex PCR; RNA-seq can also result in biases in final CDR3 length distribution (spectratype) as we have to assemble contigs in this case, especially for short reads.

I would add that, furthermore, RNA-seq can be 5'RACE-based (e.g. Smarter kit) or random.
And yes, sequencing length is critical for RNA-seq.
Still the main division in respect of starting material is RNA versus DNA, since the former depends on expression, not much for TCRs but dramatically for B cells. RNA vs DNA based IG profiling are the two different worlds.
Also the amount available, sample types and extraction procedures all depend on RNA vs DNA.
Amount of starting material means different things in RNA vs DNA again.
I would start from sample type (pbmc etc tissues/sorted cells and which and how/single cells/parafin blocks etc)
Next  just RNA vs DNA division, quantity (and may be quality).
Next method of library prep (targeted 5' Race or multiplex amplicons, with or without UMI/RNAseq and which RNAseq and what about ribosomal RNA depletion/exome-seq/etc).
Next goes method of library sequencing.
Best,
Dmitriy
--
Отправлено из Mail.Ru для Android понедельник, 16 октября 2017г., 20:37 +02:00 от Mikhail Shugay<EMAIL_ADDRESS>:

Well, we use the following strategy in how we store sample metadata right now: this all goes to "technology/method" field, so we have sanger, amplicon-seq (further clarified as either 5'/3'RACE or multiplex PCR), single-cell and rna-seq. Note that this information is critical, for example different V/J usage patterns are expected for RACE and multiplex PCR; RNA-seq can also result in biases in final CDR3 length distribution (spectratype) as we have to assemble contigs in this case, especially for short reads.
—
You are receiving this because you were mentioned.
Reply to this email directly,  view it on GitHub , or  mute the thread .

Note that the field/key under discussion has been renamed to template_class in commit 0e34ecddce9ee6d36f2c69b408af2ab42e8b7b34.

We will have a fairly exhaustive list of terms for the library_generation_method field. Therefore template_class should only describe the original material extracted from the cell. The distinction between cDNA and RNA will be resolved in the library_generation_* fields.
Closing this issue now. Please re-open in case your are not happy with this solution.


Support for Execute task onlyIf other task will execute

I'd like Gradle to be able to support running a task only if another task is going to execute as outlined in discuss. For example, I have a Java Web Application with integration tests and I would like to only start the Servlet Container if the integration tests need ran.
task integrationTomcatRun(type: org.gradle.api.plugins.tomcat.tasks.TomcatRun) {
    ...
    // ??
    onlyIf { integrationTest.?? }
}

task integrationTest(type: Test) {
    dependsOn integrationTomcatRun
    finalizedBy integrationTomcatStop
}

Context

I work on projects that have many sample projects that need a servlet container to start up for the integration tests. The samples should run in isolate, so I start a new container for each sample. However, if there is no work to be done, starting up a servlet container for each sample takes a long time despite this work not being needed when the integration tests inputs and outputs haven't changed.

You kind of have a chicken and egg problem. You can only know if a task is up to date if you actually try to execute it. Therefore, the integrationTomcatRun task cannot really know up front if it should run.
I guess you could work around it but it's somewhat clunky. You could create a configuration task that defines the same inputs/outputs as your integrationTest task but that one is run before you bring up Tomcat. In the action you'd disable integrationTomcatRun if the task is up to date. That's really the only solution I can think of.
task configureIntegrationTomcatRun {
    // define the same inputs/outputs as task "integrationTest"

    doLast {
        integrationTomcatRun.enabled = false
    }
}

task integrationTomcatRun {
    dependsOn configureIntegrationTomcatRun

    doLast {
        println "start tomcat"
    }
}

@bmuschko I think you meant to reverse that condition.
There is no way to tell whether a task will be up to date because any other task before it could modify its inputs. So you only know just before it executes.
What you can do though is starting up the server in a doFirst {} block in your test task. That'll only happen if there actually are tests to run.
I'd also recommend finding a sever that starts up faster. Jetty and Wildfly are both pretty good at that.

Longer term there is a whole class of issues that we could solve by having a stronger model of "This task requires some other software to be running". That might be an application server or it might be some other microservices that my current app depends on etc. I'm not sure if we already have an issue for that @eriwen?

I remember chatting about it, but I don't think an issue was filed.
On Mon, Feb 20, 2017 at 11:00 AM Stefan Oehme<EMAIL_ADDRESS>wrote:

Longer term there is a whole class of issues that we could solve by having
a stronger model of "This task requires some other software to be running".
That might be an application server or it might be some other microservices
that my current app depends on etc. I'm not sure if we already have an
issue for that @eriwen https://github.com/eriwen?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gradle/gradle/issues/1414#issuecomment-281145255, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADJTsFZ0w2rAbBYrwdFooiLXf4dj8neks5redSmgaJpZM4MCVLn
.

We have basically the same use case:
We are using junit for integration tests. These need to be wrapped by a running simulator and server. Starting these takes about 30s, which is our minimum time it takes to know if the test were up-to-date.
We'll work on getting that time down, but as always, the fastest task execution is the one that is avoided.
Integrations tests with setup and tear down are mentioned in the listing of use cases in https://github.com/gradle/gradle/blob/master/design-docs/test-selection.md but there is no stories or proposed dsl referencing this use case.

@oehme Thanks for the recommendation on using the doFirst method. How is this intended to be wired within Gradle? My (perhaps incorrect) understanding was that Gradle does not recommend manually invoking tasks. Can you provide an example of how to do this with the Gretty plugin?

Can you provide an example of how to do this with the Gretty plugin?

I'm not familiar with that plugin. Indeed you should not manually execute a task, but call the utility layer below it. I'm not sure if that plugin provides such a layer that allows you to spin up a server without depending directly on its tasks.
This is definitely just a workaround, while Gradle doesn't provide a stronger model of "environment dependencies".

I'm running into this too. It occurs to me that this could be generalized by a different type of dependency relationship with inverted propagation.

We also need this, preferably as a feature of Gradle.
@bmuschko Do you have any example code of the workaround?

Just documenting that I don't think Gradle's Build Services work for my needs. What immediately jumps out at me is that the build services

are scoped to a build, rather than to a project

I'd like to have a servlet container per subproject be spun up and shutdown rather than a single instance.

Please keep this issue open.

@nbrugger-tgm Thank you. I think that your comment sounds like an accurate description.


Update compilation_of_open_source_resources.md

Added more open-source programs and fellowship in "Programs for Contributors section". Added codeheat tag in "How to find issues targeted at first timers in github" section.

this PR related to this issue #21

Apologies for the delay - this looks great will merge now


Is data versioning possible?

Hello,
we download periodically some time-series data from 3rd party apis. These typicaly have some timestamp and several values (for example temperature, humidity etc.). These values are sometimes changed/corrected retrospectively by 3rd party.
We would like to have entity with Timestamp and Version as primary key and several numeric properties and during InsertOrUpdate command there would be comparison of value columns (temperature, humidity etc.) and if some of them were changed (for the same timestamp), new row with increased version would be created. So we never want to update existing rows, we want to do nothing if there is row with the same values and to insert new row with increased version if some of the values are different.
We use Postgres as database.
Is this scenario possible without reading data first and comparing them in C#?
Our users would like to know which values were changed retrospecively by data vendor.
Thank you

That is too complex scenario for a single method to do all in the Db.
There is option for Insert_if_not_Exist, check config PropertiesToIncludeOnUpdate in the ReadMe, but only SqlServer supports this feature. And even there Version would have to be set in memory in advance.
In your case I would use BulkRead, then in memory do the comparison, remove the same ones, set Version for those with changes and then just BulkInsert them.


keyboard error

======== Exception caught by services library ======================================================
The following assertion was thrown during a platform message callback:
A KeyRepeatEvent is dispatched, but the state shows that the physical key is not pressed. If this occurs in real application, please report this bug to Flutter. If this occurs in unit tests, please ensure that simulated events follow Flutter's event model as documented in HardwareKeyboard. This was the event: KeyRepeatEvent#965f6(physicalKey: PhysicalKeyboardKey#700e0(usbHidUsage: "0x000700e0", debugName: "Control Left"), logicalKey: LogicalKeyboardKey#00100(keyId: "0x200000100", keyLabel: "Control Left", debugName: "Control Left"), character: null, timeStamp: 15:25:53.505459)
'package:flutter/src/services/hardware_keyboard.dart':
Failed assertion: line 432 pos 16: '_pressedKeys.containsKey(event.physicalKey)'
Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=2_bug.md
When the exception was thrown, this was the stack:
#2      HardwareKeyboard._assertEventIsRegular. (package:flutter/src/services/hardware_keyboard.dart:432:16)
#3      HardwareKeyboard._assertEventIsRegular (package:flutter/src/services/hardware_keyboard.dart:443:6)
#4      HardwareKeyboard.handleKeyEvent (package:flutter/src/services/hardware_keyboard.dart:535:5)
#5      KeyEventManager.handleRawKeyMessage (package:flutter/src/services/hardware_keyboard.dart:881:37)
#6      BasicMessageChannel.setMessageHandler. (package:flutter/src/services/platform_channel.dart:197:49)
#7      _DefaultBinaryMessenger.setMessageHandler. (package:flutter/src/services/binding.dart:387:35)
#8      _invoke2 (dart:ui/hooks.dart:186:13)
#9      _ChannelCallbackRecord.invoke (dart:ui/channel_buffers.dart:42:5)

@lyming99 The link to the bug report page includes a template that should be used - please make sure all the information is included, especially platform, sample code and steps to reproduce.

Closing as duplicate of https://github.com/flutter/flutter/issues/107972


Running the application does not show the admin

I started the application with java -jar, it runs fine, but when I open localhost:8080 I get:
It works !

If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratulations!

This is the default Tomcat home page. It can be found on the local filesystem at: /var/lib/tomcat6/webapps/ROOT/index.html

Tomcat6 veterans might be pleased to learn that this system instance of Tomcat is installed with CATALINA_HOME in /usr/share/tomcat6 and CATALINA_BASE in /var/lib/tomcat6, following the rules from /usr/share/doc/tomcat6-common/RUNNING.txt.gz.

You might consider installing the following packages, if you haven't already done so:

tomcat6-docs: This package installs a web application that allows to browse the Tomcat 6 documentation locally. Once installed, you can access it by clicking here.

tomcat6-examples: This package installs a web application that allows to access the Tomcat 6 Servlet and JSP examples. Once installed, you can access it by clicking here.

tomcat6-admin: This package installs two web applications that can help managing this Tomcat instance. Once installed, you can access the manager webapp and the host-manager webapp.

NOTE: For security reasons, using the manager webapp is restricted to users with role "manager". The host-manager webapp is restricted to users with role "admin". Users are defined in /etc/tomcat6/tomcat-users.xml.

I tried also localhost:8080/public, but then I get Whitelabel Error Page

OK, accessing locahost:8080/index.html does the trick.

I am also facing se problem it's not showing home page


fix: Returns an error if multiplex message is empty

Fixes #7281

Most of the tests are passing but some tests fails but I don't think it is related to the changes I made.
test roundtrip_pooled_transactions_fuzz::auto_generate ... FAILED
test decode_pooled_transactions_data ... FAILED


[5.5] fix a bug where model's delete method won't work if withCount is not empty.

This fixes the bug that makes delete query receive two params instead of one if withCount array is not empty.
Before:
array:2 [▼
  0 => array:3 [▼
    "query" => "select `posts`.*, (select count(*) from `comments` where `posts`.`id` = `comments`.`commentable_id` and `comments`.`commentable_type` = ?) as `comments_count` f ▶"
    "bindings" => array:2 [▼
      0 => "App\Post"
      1 => "14"
    ]
    "time" => 6.3
  ]
  1 => array:3 [▼
    "query" => "delete from `posts` where `id` = ?"
    "bindings" => array:1 [▼
      0 => "App\Post"
      1 => "14"
    ]
    "time" => 0.84
  ]
]

After:
array:2 [▼
  0 => array:3 [▼
    "query" => "select `posts`.*, (select count(*) from `comments` where `posts`.`id` = `comments`.`commentable_id` and `comments`.`commentable_type` = ?) as `comments_count` f ▶"
    "bindings" => array:2 [▼
      0 => "App\Post"
      1 => "14"
    ]
    "time" => 6.3
  ]
  1 => array:3 [▼
    "query" => "delete from `posts` where `id` = ?"
    "bindings" => array:1 [▼
     0 => "14"
    ]
    "time" => 0.84
  ]
]

Can you write a test with this testcase ?

I added a test.
This is the PR when withCount was introduced  https://github.com/laravel/framework/pull/19154

Eh, I don't like adding this seemingly random parameter to newQueryWithoutScopes. @themsaid do you have a more elegant solution?

@taylorotwell the new approach he took is much cleaner, it's the same approach we take while preparing the update query.

How does this affect MySQL DELETE statements that use a join: https://dev.mysql.com/doc/refman/5.7/en/delete.html
See "Multi Table Deletes".

Is it different than the test 'testDeleteWithJoinMethod' that is already written in DatabaseQueryBuilderTest.php ?

@abdumu In the current code you remove the join bindings from the query, what happens if there's a delete query that uses joins? With this code it'll fail since the join bindings were removed.

I didn't remove join bindings.

Check https://github.com/laravel/framework/pull/22239/files#diff-bf9c2a600451a26e98eba7874fb841caR772

Check https://github.com/laravel/framework/pull/22239/files#diff-bf9c2a600451a26e98eba7874fb841caR775
This is the same way you did it in prepareBindingsForUpdate, to make join bindings first.

@abdumu yes and I believe it's wrong too, we'll need some integration tests similar to Illuminate\Tests\Integration\Database\EloquentWithCountTest to make sure these cases work.

Update statement withCount that has joins.
Delete statement withCount that has joins.

Can you do that?

I just found out that Grammar.php/compileDelete query doesn't respect joins and Laravel send joins where bindings to it. That is not an issue if MySQL is the engine because MySqlGrammar.php/compileDelete respect joins.
I'm sorry I'm not sure I can test multiple engines with different approach. but I'll keep digging.

Where are we with this? @themsaid?

@taylorotwell I've tested it for MySQL and it works but I'm not sure about Postgres and sql server, they seems to have a unique syntax for delete statements with joins, MySQL needs the join bindings to be sorted first, postgres seems to require the where bindings first and then join bindings, and also seems that postgres doesn't remove select bindings.
tl;dr
The PR is unmergable without someone who can test it on Postgres and sql server, sorry I don't have large experience in either.

A safe thing we could do is to return the exact input in Grammar:prepareBindingsForDelete and then in MySQL's Grammar:prepareBindingsForDelete we do the changes, that way we're sure rest of engines will receive the same input as before.

@abdumu can you check my last comment regarding the method implementation in different grammars?

withCount is meant for select queries, having counts in delete, update and then trying to remove the counts is absurd !
Since we are using newQueryWithoutScopes in performDeleteOnModel, save, ...
I think the right way to do it, is by setting $this->withCount to [], and re-assign it to the previous value after calling newQueryWithoutScopes.
Also, Sqlite Grammar is ignoring joins completely so no point of the integration tests ! (I might do some work later on this in another PR)

Closing this since it's a possibly breaking change, please re-submit on master so we can prevent breaking other grammar.s

I've opened a PR with my suggested change in https://github.com/laravel/framework/pull/22285


links to sdk were switched for aspnetcore and .net

@akhillies,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@bwren - Please review the proposed changes.  Thanks

#sign-off


New Demo Based on UI5 Demo Kit's "Flexible sizing - Toolbar" Sample

Hi everyone,
I have created a new demo based on the sample from the UI5 Demo Kit: Flexible sizing - Toolbar. I will be submitting two pull requests (PRs) soon:

First PR: Includes the necessary changes to make the demo work.
Second PR: Contains the demo itself.

However, I noticed two differences between the new demo and the one from the UI5 Demo Kit, and I would appreciate any suggestions to help resolve them:
1. No Margin Next to the Analytical Table: The new demo lacks a margin on both sides of the area where the Analytical Table is placed. I noticed something similar happens with regular Tables when they're not responsive, and in those cases, the margin can be added using the "inset" property. Unfortunately, this property isn't available for the AnalyticalTable.
2. Table Height: The height of the area containing the Analytical Table looks smaller than the one in the original UI5 Demo Kit sample.
I've attached two screenshots that highlight these differences. If anyone has suggestions on how to make the abap2UI5 demo more closely resemble the UI5 Demo Kit version, I would greatly appreciate your input.

Thanks in advance for your help!
Best regards,
Francisco.

mhh played a little bit around with it but also did not find a solution. first i thought it is because there are two pages on your sample:

But changing it makes no difference. I would guess it is because a control which is on a higher level which influences the output, eg. the splitting container or the menu on the left. maybe someone else has an idea.

Thanks @oblomov-dev
After further investigation, I believe the issue might be related to how I’m handling the layout_data for the Analytical Table in the abap2UI5 version. In the original sample, the table’s layout data might be associated with the table namespace. However, in abap2UI5, I haven't specified the namespace for the layout_data method (refer to the images below).

I tried specifying the namespace like this:

but I encountered the following error:

In previous demos I’ve either used the form namespace for layout_data or left the namespace blank, but I’m unsure how to handle this specific case where the table namespace seems necessary. I’d appreciate any advice on how to specify the table namespace without running into this error.
Thanks in advance for your help!
Best regards,
Francisco

you first need to check for the exact namespace in the sample, look to the top, there you find sap.ui.table:

Next check the namespace mapping in abap2UI5 here which is "table":
https://github.com/abap2UI5/abap2UI5/blob/main/src/02/z2ui5_cl_xml_view.clas.abap#L9721
So basically you did everything right ;)
Maybe the openui5 framework does not contain this control?
can you bootstrap as a test for example with:
https://ui5.sap.com/resources/sap-ui-core.js

Hi @oblomov-dev,
Thank you for your suggestion! After following your recommendation and bootstrapping with https://ui5.sap.com/resources/sap-ui-core.js, along with some minor adjustments to the abap2UI5 code, the demo is now working perfectly.

I appreciate your help in pointing out the namespace issue and guiding me through it. Your insights were spot on!
If we can't stick with the ui5.sap.com bootstrap, is there another alternative you'd recommend in this case?
Best regards,
Francisco.

Actually, never mind— I reverted the change and switched back to bootstrapping with the original src, and it worked! I will be submitting a new PR to update Demo 284 soon. Thank you again!


[Doc] [5.6.0] dead link to "Applying Patching" in "Implementing Security in the Identity Server" documentation

On the page "Implementing Security in the Identity Server", the "Applying Patches" link is dead.  The closest relevant documentation I could find was for 5.1.0.

Hi @hauntingEcho, since IS 5.6.0 is supporting WUM and does not provide patches by WSO2, the link should be pointing to this document. We will fix the link and the text of the link to reflect this information.

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


bug: role playing game step 6 Spacing Error

Describe the Issue
as you can see in this task it says you need to create a span tag with class stat and inside that add the text Monster Name: and after the text with space add a strong tag with nested span element but the problem is that when I run the code it returns errors saying that 'Your first span element should have the text Monster Name:. Make sure the spacing is correct.
Your second span element should have the text Health: . Could you make sure the spacing is correct?'
Affected Page
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures-v8/learn-basic-javascript-by-building-a-role-playing-game/step-6
Your code

<!DOCTYPE html>

    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <link rel="stylesheet" href="styles.css" />
    <title>RPG - DragonRepeller</title>

XP: 0

Health: 100

Gold: 50

            <button id="button1">Go to store</button>
            <button id="button2">Go to cave</button>
            <button id="button3">Fight dragon</button>

Monster Name:

Health:

Expected behavior

It just needs to pass the test without any errors

Screenshots

System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
No response

@Ab462 even though you get the error saying that there is a spacing error, the error here is that you added p tags around Monster Name:  and Health:
p tags should not be present here. Each text will be wrapped directly within span with a class of stat

Thanks sorry my bad i forgot the p tag


GPS/VIO yaw aiding without mag not possible

From: https://discuss.px4.io/t/possible-to-initialize-ekf-without-mag-sensor/16115

[x] EKF2 needs magnetometer data to initialize, even if EKF2_MAG_TYPE is set to none (https://github.com/PX4/ecl/blob/2fa43419d2bd7319024682b311f52c78f9a86f52/EKF/ekf.cpp#L181-L184)
[x] When not using mag (TYPE == none), we artificially fuse zero innovations to constrain the variance growth and help with gyro learning. If we're fusing GPS/VIO yaw data, this isn't required https://github.com/PX4/ecl/blob/47624a0f021e2c187cc4763ad829afe2aa4fb11a/EKF/mag_control.cpp#L49-L56

@dagar I remember I brought this up a few months back, and we collected it in a Google doc. Do you have a link to that doc?

@dagar I remember I brought this up a few months back, and we collected it in a Google doc. Do you have a link to that doc?

Shared on slack.

These issues appear to be addressed in upstream master at 8aecc64


[SMALLFIX] Do not override read type for copyToLocal/cp/cat fs commands

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18680/Build result: FAILURE[...truncated 1377 lines...][JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/hdfs/pom.xml to org.alluxio/alluxio-core-client-hdfs/1.7.1-SNAPSHOT/alluxio-core-client-hdfs-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/pom.xml to org.alluxio/alluxio-keyvalue-common/1.7.1-SNAPSHOT/alluxio-keyvalue-common-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/target/alluxio-keyvalue-common-1.7.1-SNAPSHOT.jar to org.alluxio/alluxio-keyvalue-common/1.7.1-SNAPSHOT/alluxio-keyvalue-common-1.7.1-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/keyvalue/common/target/alluxio-keyvalue-common-1.7.1-SNAPSHOT-sources.jar to org.alluxio/alluxio-keyvalue-common/1.7.1-SNAPSHOT/alluxio-keyvalue-common-1.7.1-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/pom.xml to org.alluxio/alluxio-core-client-fs/1.7.1-SNAPSHOT/alluxio-core-client-fs-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/target/alluxio-core-client-fs-1.7.1-SNAPSHOT.jar to org.alluxio/alluxio-core-client-fs/1.7.1-SNAPSHOT/alluxio-core-client-fs-1.7.1-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/target/alluxio-core-client-fs-1.7.1-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-client-fs/1.7.1-SNAPSHOT/alluxio-core-client-fs-1.7.1-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/fs/target/alluxio-core-client-fs-1.7.1-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-client-fs/1.7.1-SNAPSHOT/alluxio-core-client-fs-1.7.1-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/pom.xml to org.alluxio/alluxio-core-common/1.7.1-SNAPSHOT/alluxio-core-common-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.1-SNAPSHOT.jar to org.alluxio/alluxio-core-common/1.7.1-SNAPSHOT/alluxio-core-common-1.7.1-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.1-SNAPSHOT-sources.jar to org.alluxio/alluxio-core-common/1.7.1-SNAPSHOT/alluxio-core-common-1.7.1-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/common/target/alluxio-core-common-1.7.1-SNAPSHOT-tests.jar to org.alluxio/alluxio-core-common/1.7.1-SNAPSHOT/alluxio-core-common-1.7.1-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/worker/pom.xml to org.alluxio/alluxio-core-server-worker/1.7.1-SNAPSHOT/alluxio-core-server-worker-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/logserver/pom.xml to org.alluxio/alluxio-logserver/1.7.1-SNAPSHOT/alluxio-logserver-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/client/pom.xml to org.alluxio/alluxio-core-client/1.7.1-SNAPSHOT/alluxio-core-client-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/pom.xml to org.alluxio/alluxio-examples/1.7.1-SNAPSHOT/alluxio-examples-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/target/alluxio-examples-1.7.1-SNAPSHOT.jar to org.alluxio/alluxio-examples/1.7.1-SNAPSHOT/alluxio-examples-1.7.1-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/examples/target/alluxio-examples-1.7.1-SNAPSHOT-sources.jar to org.alluxio/alluxio-examples/1.7.1-SNAPSHOT/alluxio-examples-1.7.1-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/pom.xml to org.alluxio/alluxio-core/1.7.1-SNAPSHOT/alluxio-core-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/core/server/proxy/pom.xml to org.alluxio/alluxio-core-server-proxy/1.7.1-SNAPSHOT/alluxio-core-server-proxy-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/shell/pom.xml to org.alluxio/alluxio-shell/1.7.1-SNAPSHOT/alluxio-shell-1.7.1-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/workspace/Alluxio-Pull-Request-Builder/tests/pom.xml to org.alluxio/alluxio-tests/1.7.1-SNAPSHOT/alluxio-tests-1.7.1-SNAPSHOT.pomchannel stoppedArchiving artifacts
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18682/
Test PASSed.

@madanadit Thanks for the improvement, should this also apply to other commands like head?

@calvinjia head and tail are 2 commands I left out. I did so since these commands are mostly used only for testing / verification of an output. However, I don't feel strongly about this. I can apply the change to the 2 as well for consistency. what do you think?

Since we have async partial caching, the won't be much of a performance hit. Though I think ideally we would default all our CLI commands to NO_CACHE and only cache when the user explicitly specifies so.

I think the #1 goal here should be consistency. Otherwise users will be unpleasantly surprised when one command caches and the next doesn't. At first glance, head and tail seem like file reads, so it makes sense for caching behavior to follow alluxio.user.file.readtype.default.
If we think the common case for shell operations is to not want to cache, we need to split the default read type into on property for the shell and another property for everything else.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/18696/
Test PASSed.

@aaudiber @calvinjia


Try to reduce flakiness in common_server_test

This is an attempt to fix intermittent errors following this template:
  00:40 +64 ~2 -1: test/analysis_server_test.dart: analysis_server simple_completion
  00:40 +64 ~2 -1: test/common_server_test.dart: CommonServer analyze errors [E]
    Expected: {
                'issues': [
                  {
                    'kind': 'error',
                    'line': 2,
                    'sourceName': 'main.dart',
                    'message': 'Expected to find \';\'.',
                    'hasFixes': true,
                    'charStart': 29,
                    'charLength': 1
                  }
                ],
                'packageImports': []
              }
      Actual: {'issues': [], 'packageImports': []}
       Which: shorter than expected at location ['issues'][0]

    package:test                        expect
    test/common_server_test.dart 132:7  defineTests.<fn>.<fn>
    ===== asynchronous gap ===========================
    dart:async                          _AsyncAwaitCompleter.completeError
    test/common_server_test.dart        defineTests.<fn>.<fn>
    ===== asynchronous gap ===========================
    dart:async                          _asyncThenWrapperHelper
    test/common_server_test.dart        defineTests.<fn>.<fn>

  00:40 +65 ~2 -1: test/analysis_server_test.dart: analysis_server simple_completion

The errors only occur on Travis which is making debugging challenging.  However, a quick hack to the common_server_test should at least eliminate the flakiness for now.


Fuse doesn't work in appimage runned via appimage-run

Describe the bug
I'd like to use pCloud on NixOS. There provide appimage client for Linux. Client need fuse library to mount virtual drive. So I add fuse to overlays of appimage-run:
appimage-run = super.appimage-run.override {
        extraPkgs = p:
          with p; [
            at-spi2-core
            gsettings-desktop-schemas
            fuse3
            fuse
          ];
      };

Unfortunately it's not working. App start but don't mount drive. I think this is bug or limitation of appimage-run.
To Reproduce
Steps to reproduce the behavior:

Add fuse to overlays of appimage-run.
Run app using fuse via appimage-run

Expected behavior
Directory should be mounted via FUSE.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 5.5.5, NixOS, 20.03beta321.be346a1f4bd (Markhor)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.2
channels(root): "nixos-20.03beta321.be346a1f4bd"
channels(piotrek): "home-manager, nixos-20.03pre212208.8130f3c1c2b, nixpkgs-20.03pre212208.8130f3c1c2b"
nixpkgs: /home/piotrek/.nix-defexpr/channels/nixpkgs

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

It could come from the chrootenv , that both appimageTools.wrapAppImage and appimage-run shared on top of buildFHSUserEnv . If i were you, i'd try to confirm that trying to fusermounting in your setuped fuse chrootenv ... If you confirm that is the issue, you can try to make a native appimage derivation, like example #75392 or #80402  .

Could you provide a direct link for  #82158 ?

@bignaux: Sorry for slow respond but I have been busy. I try to do it but it's a bit hard because there is no simple download link for this client. Thank you for hint.
Question about link is for me? I can do this but I don't see link option.

Oki i found the src.url then i make a quick expression for this interesting use case. btw i've some more priority to fix in appimage right now, if your interesting to be the manager of that later (if my PR is merge). I found the url with "simple mass downloader" firefox addon with export selected item to file.
  pcloud = buildAppImage rec {
      pname = "pcloud";
      version = "1.7.2";
      extraPkgs = pkgs: with pkgs; [ at-spi2-core hicolor-icon-theme gsettings-desktop-schemas fuse ]; #fuse3
      profile = ''
        export LC_ALL=C.UTF-8
        export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
      '';
      src = fetchurl {
        url = "https://p-par1.pcloud.com/cBZetST9hZtTO10SZZZm2yfa7Z2ZZnm5ZkZVcA5VZAkZJFZL5ZqZlJZ5XZX0Z2JZpFZ6JZ9XZG5Z5kZg5Z1EnhkZB1zEnYecd5SOvvU5sxCGhResxlKX/pcloud";
        sha256 = "37e15e46f3c5fb6958c22c752050f4effc096745afb3c4f6a97a5c98607bfbe6";
      };
      meta.description = "Decentralized Social Sharing Network";
  };

Yes, I can help in managing. Unfortunately this link will work only for short time. I tried to implement solution from this: https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pcloud-drive but it's also not perfect because you can't select fixed version number.

still important to me

still important to me

Closing, as this has been already fixed some time ago (at least for pCloud) 🙂


Kafka: Ability to set upper bound to the number of partitions with lag

Added a way to configure the Kafka scaler to limit the max number of spun-up replicas to the number of partitions with non-zero lag.
This flag is definitely not compatible with allowIdleConsumers. Hence, added the respective validation
Also I don't see much sense in not having a topic when using the new setting. So added a validation check for this case as well
Checklist

[x] Tests have been added
[x] Changelog has been updated and is aligned with our changelog requirements
[x] A PR is opened to update the documentation on (repo) (if applicable)
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes https://github.com/kedacore/keda/issues/3997

Relates to https://github.com/kedacore/keda-docs/pull/1107

I would need to some help with testing. Do I need to test all locally? Or there is a test env(with a Kafka scaler) which gets automatically spun up?

I would need to some help with testing. Do I need to test all locally? Or there is a test env(with a Kafka scaler) which gets automatically spun up?

There are e2e tests that you can run locally (against k8s cluster) and then we can also trigger them on the PR:
https://github.com/kedacore/keda/blob/main/tests
You should extend this test: https://github.com/kedacore/keda/blob/main/tests/scalers/kafka/kafka_test.go

any update on this please?

I've been busy at work. I should be back with e2e tests by Monday

I've been busy at work. I should be back with e2e tests by Monday

gentle ping :)

@DmitrySenin any update on this feature? I could give implementing the tests & anything left over a try to get this merged; Would love to see this implemented

@BojanZelic , I'm unlikely to get back to this one in the next two months. So feel free to pick up.
I think Static Checks need to be fixed and unit tests need to be added

Resolved in https://github.com/kedacore/keda/pull/5060


Working with Generics

What do i have?
let start: CommandWith<Progress>
Progress is ContentControlsViewController.Props.Progress
What do i want to get?
public init(start: CommandWith<ContentControlsViewController.Props.Progress>) {}
What i do have!
public init(start: CommandWith<Progress>) {}
Question:
How to get type.name instead of default typeName inside generic?

what are you using in template that outputs CommandWith<Progress>?

As a workaround you can use full type name in the property definition, if you can change code. Or you can deconstruct the type parameter and access it's type.globalName property to build full type name.

@ilyapuchka
Simple:
{{ variable.typeName }}
But if i use:
{{ variable.type.name }} , it doesn't work at all...
How can i get type in generic type, and than, i wanna do checks like:
    {% if variable.type.**generic**.type.name != nil %}            {{ case.associatedValues.first.type.name }}        {% else %}            {{ case.associatedValues.first.typeName }}
???
But .**generic** doesn't exist in sourcery and i couldn't find something similar

@ilyapuchka Could you give an example, please?
Thanks)

{% if variable.typeName.generic.typeParameter.type.actualTypeName %} should give you global name of generic parameter, so it should be ContentControlsViewController.Props.Progress. But we should provide a better way for that, probably in this case variable.typeName.actualTypeName instead of CommandWith<Progress> should contain fully qualified type, so that it can be used in any context.
@krzysztofzablocki we should probably better document use of typeName.actualTypeName as this is usually one that should be used to produce type that can be used in any context, not only inside containing type.

@ilyapuchka Sorry, but {{ variable.typeName.generic.typeParameter.type.actualTypeName }} doesn't work(
sourcery 0.10.1

Yes, because there was no release yet since we implemented generic support, you need to get latest master version.

We use brew on the project, so i have to install it through the brew.
When could release be expected in a brew?

Don't know, I think we can make release after pr with my fix is merged, there are a lot of things already. If not 1.0 then 0.11

@ilyapuchka looking forward for the next release ;)


dont publish charts in 1.0

we have new artifacts that are published in master, that dont need to be publised in release-1.0

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rkpagadala
If they are not already assigned, you can assign the PR to them by writing /assign @rkpagadala in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

release/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: hklai
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

release/OWNERS [hklai]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


assertion error when changing samples_per_gpu in pointpilllars ( kitti 3class)

i changed samples_per_gpu to 2 from default 6
and it gives me assertion error
in anchor_3dhead.py line 330
assert len(featmap_sizes) == self.anchor_generator.num_levels
why this happens?

Please use the error template or the reimplementation issues to report your bug. The information is limited to debug.

What command or script did you run?
python tools/train.py configs/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-3class.py
Did you make any modifications on the code or config? Did you understand what you have modified?
i changed  the samples_per_gpu  from deafault 6 to 2
What dataset did you use?
Kitti
Enviroment information
sys.platform: linux
Python: 3.8.3 (default, Jul 2 2020, 16:21:59) [GCC 7.3.0]
CUDA available: True
CUDA_HOME: /
NVCC: Cuda compilation tools, release 10.1, V10.1.243
GPU 0: GeForce GTX 1650 SUPER
GCC: gcc (Ubuntu 9.3.0-10ubuntu2) 9.3.0
PyTorch: 1.6.0
PyTorch compiling details: PyTorch built with:
GCC 7.3
C++ Version: 201402
Intel(R) Math Kernel Library Version 2020.0.1 Product Build 20200208 for Intel(R) 64 architecture applications
Intel(R) MKL-DNN v1.5.0 (Git Hash e2ac1fac44c5078ca927cb9b90e1b3066a0b2ed0)
OpenMP 201511 (a.k.a. OpenMP 4.5)
NNPACK is enabled
CPU capability usage: AVX2
CUDA Runtime 10.2
NVCC architecture flags: -gencode;arch=compute_37,code=sm_37;-gencode;arch=compute_50,code=sm_50;-gencode;arch=compute_60,code=sm_60;-gencode;arch=compute_61,code=sm_61;-gencode;arch=compute_70,code=sm_70;-gencode;arch=compute_75,code=sm_75;-gencode;arch=compute_37,code=compute_37
CuDNN 7.6.5
Magma 2.5.2
Build settings: BLAS=MKL, BUILD_TYPE=Release, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_FBGEMM -DUSE_QNNPACK -DUSE_PYTORCH_QNNPACK -DUSE_XNNPACK -DUSE_VULKAN_WRAPPER -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -Wno-stringop-overflow, PERF_WITH_AVX=1, PERF_WITH_AVX2=1, PERF_WITH_AVX512=1, USE_CUDA=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=ON, USE_MKLDNN=ON, USE_MPI=OFF, USE_NCCL=ON, USE_NNPACK=ON, USE_OPENMP=ON, USE_STATIC_DISPATCH=OFF,
TorchVision: 0.7.0
OpenCV: 4.3.0
MMCV: 1.0.5
MMDetection: 2.3.0
MMDetection3D: 0.5.0+5f7b31c
MMDetection3D Compiler: GCC 9.3
MMDetection3D CUDA Compiler: 10.1

Hi! I followed your description and changed 'samples_per_gpu' in kitti-3d-3class.py, but I can't reproduce the error, can you be more specific about what you've changed and share your changed config?


Is this project died?

https://kezhan.io/t/aimuz.wechat-sdk
is died too.

没有，只是现在对于我来说足够用了，如果有新的功能欢迎提交PR