Missed storage proof

I'm seeing a lot of entries in my host.log saying "Missed storage proof. Revenue would have been...":
$ grep proof host.log
2017/04/23 10:23:20.374783 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>1979693369917440.
2017/04/25 06:19:28.893826 storageobligations.go:575: Missed storage proof.  Revenue would have been<PHONE_NUMBER>8658827693916160.
2017/05/02 17:08:29.988152 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>1295983198208000.
2017/05/03 19:04:56.117655 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>1295983198208000.
2017/05/05 09:20:59.541486 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/05 09:20:59.563966 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/05 18:44:30.087300 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/07 00:08:43.077733 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/07 11:17:56.318427 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/08 01:48:35.603738 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/08 01:52:16.685029 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/08 01:52:16.799666 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/08 13:04:28.447039 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/08 13:04:28.658554 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/10 06:31:03.691053 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/11 02:22:52.867200 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/11 07:16:21.213163 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/12 08:47:10.911169 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/14 03:47:27.618005 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/15 01:51:59.006246 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/16 15:41:49.110522 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/17 07:58:57.626637 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/17 13:38:53.312861 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/19 10:00:17.487060 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/19 13:25:35.477974 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/20 17:15:46.275097 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/21 23:26:35.688118 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/23 04:11:27.521606 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/23 21:45:02.719684 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/24 09:54:34.145588 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/26 23:57:19.775492 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/27 18:25:56.325223 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/06/01 01:50:55.608516 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.

My host is always online: http://siahub.info/host/1424

Possibly related: https://github.com/NebulousLabs/Sia/issues/1861
More logs: https://gist.github.com/mtlynch/21aeb1fc8fb8f94fca290205008146b7

Yeah, seen another log like this. Couple of things stand out to me:

I know that our storage proof checking system has holes in it. Meaning, hosts don't always realize that they have a contract which is expiring and needs a storage proof.

The 'Revenue would have been' value is strictly increasing. That's pretty confusing to me, because from what I remember it's a local value, not a global value. This suggests to me that it's probably just one storage proof that's reporting itself as failed repeatedly. Or the wrong value is being logged, which is also possible.

These missed proofs are days apart.

Just to double check - are you running the most recent release? v1.2.2

Just to double check - are you running the most recent release? v1.2.2

Yep, you can verify in the SiaHub host information.

$ grep proof host.log 2017/04/17 03:09:20.068999 storageobligations.go:563: Succesfully submitted a storage proof. Revenue is<PHONE_NUMBER>1962057173219503097. 2017/04/19 00:54:59.418882 storageobligations.go:579: Missed storage proof. Revenue would have been<PHONE_NUMBER>6329848612695676832. 2017/04/21 09:14:56.253826 storageobligations.go:579: Missed storage proof.  Revenue is<PHONE_NUMBER>2755428494527541064. 2017/04/26 03:32:14.707195 storageobligations.go:559: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>3033856747362007079. 2017/04/27 17:15:47.074275 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>5771406090056322327. 2017/04/27 17:27:55.555233 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>5771406090056322327. 2017/04/27 17:53:59.725829 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>5771406090056322327. 2017/04/29 17:22:03.421300 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>3045382558680363822. 2017/05/04 14:43:39.446329 storageobligations.go:575: Missed storage proof.  Revenue is<PHONE_NUMBER>1333034151685398319. 2017/05/06 06:33:07.806370 storageobligations.go:559: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>4860415487143834504. 2017/05/08 18:55:50.395985 storageobligations.go:559: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>3353105351246541127. 2017/05/09 09:14:40.853369 storageobligations.go:575: Missed storage proof.  Revenue is<PHONE_NUMBER>2056420692215918919. 2017/05/09 13:50:28.542954 storageobligations.go:559: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>4050020693155443015. 2017/05/11 06:29:03.060308 storageobligations.go:575: Missed storage proof.  Revenue is<PHONE_NUMBER>9572439873515359841. 2017/05/17 02:16:36.908898 storageobligations.go:559: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>4284341563344249373. 2017/05/17 12:07:18.670573 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>8664170497182774265. 2017/05/19 08:17:24.126228 storageobligations.go:575: Missed storage proof.   Revenue is<PHONE_NUMBER>0247368468547204154. 2017/05/23 01:49:43.021553 storageobligations.go:575: Missed storage proof.  Revenue is<PHONE_NUMBER>9157768917234213209. 2017/05/25 06:24:37.429410 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>9997247446758810707. 2017/05/26 12:43:32.069614 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>4563220739435357267. 2017/05/27 17:34:29.113061 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>4122326829180484133. 2017/05/29 13:04:47.324755 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:04:53.255954 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:09.966975 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:16.028296 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:22.895035 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:27.148014 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:30.703516 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:36.859533 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:48.554555 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: transaction spends a nonexisting siacoin output 2017/05/29 13:05:51.484340 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:56.461574 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:05:58.127768 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:06:08.549824 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:06:14.487367 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: transaction spends a nonexisting siacoin output 2017/05/29 13:06:18.302823 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:06:56.329135 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:06:58.516191 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:07:01.510560 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:07:10.126528 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set has prereqs, but is still invalid: cannot fetch storage proof segment for unknown file contract 2017/05/29 13:07:14.183745 storageobligations.go:821: Host unable to submit storage proof transaction to transaction pool: consensus conflict: provided transaction set is standalone and invalid: cannot fetch storage proof segment for unknown file contract 2017/05/30 04:00:43.591123 storageobligations.go:558: Successfully submitted a storage proof.  Revenue is<PHONE_NUMBER>6356220731629861413. 2017/06/02 15:58:45.249212 storageobligations.go:558: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>6637905955964411147. 2017/06/02 19:06:13.441169 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>2231141188124892427. 2017/06/02 19:06:49.238480 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>2231141188124892427. 2017/06/02 19:07:41.839568 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>2231141188124892427. 2017/06/03 20:59:55.241784 storageobligations.go:558: Successfully submitted a storage proof.  Revenue is<PHONE_NUMBER>1030525869699194123.

The 'Revenue would have been' value is strictly increasing. That's
pretty confusing to me, because from what I remember it's a local value,
not a global value. This suggests to me that it's probably just one
storage proof that's reporting itself as failed repeatedly. Or the wrong
value is being logged, which is also possible.

That's seems not be true:
2017/05/23 04:11:27.521606 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/23 21:45:02.719684 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.
2017/05/24 09:54:34.145588 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>41295983198208000.

Here are my log entries (containing decreasing value too):
2017/05/15 22:30:38.660980 storageobligations.go:559: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>310836853212993328.
2017/05/21 18:48:33.257082 storageobligations.go:575: Missed storage proof. Revenue would have been<PHONE_NUMBER>832692426629392182.
2017/05/24 08:38:12.422082 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>298557400474662520.
2017/05/26 22:52:51.611031 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>226746378661869176.
2017/06/05 00:15:59.827904 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>496502757492998866.
2017/06/05 10:30:55.675324 storageobligations.go:574: Missed storage proof.   Revenue is<PHONE_NUMBER>935670945455751890.
2017/06/08 03:18:53.519992 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>087880122168984274.
2017/06/09 05:57:43.811886 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>243294108500838376.
2017/06/09 23:17:09.140405 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>034737192390319168.
2017/06/10 04:54:30.743778 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>882234055211048000.
2017/06/10 21:53:07.797146 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>185473570654346862.
2017/06/14 02:43:02.619541 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>406114720652701460.
2017/06/14 15:50:07.388652 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>022940285887820098.
2017/06/15 21:01:57.842055 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>586126025285678680.
2017/06/17 02:53:56.742200 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>640800980348169430.
2017/06/17 11:08:26.308120 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>381262377473535190.
2017/06/20 18:35:38.175141 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>839690494405256020.
2017/06/21 01:08:09.848032 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>046338345813680980.
2017/06/24 18:05:47.163949 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>913619625435737472.
2017/06/24 18:08:20.794466 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>913619625435737472.
2017/06/27 11:29:24.340266 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>750081546505433750.
2017/07/03 22:30:14.827169 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>314094007062916650.
2017/07/06 11:01:47.324049 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>013543935176371754.
2017/07/06 23:21:45.627312 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>799877789864980010.
2017/07/07 23:34:32.162658 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>992697729967499524.

Similar problem here as well
2017/07/27 23:21:36.181402 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>60702508402141670042.
2017/07/31 07:58:21.595337 storageobligations.go:851: file contract complete, id 9e49bf1ad0583e8005f666504f578d8edd155d7e1bd8ca99a751e18d80055545
2017/07/31 07:58:21.790832 storageobligations.go:558: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>30456393402000976538.
2017/08/02 21:54:10.610267 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>10033661591617120922.
2017/08/03 08:11:44.784356 storageobligations.go:851: file contract complete, id e172b8caa721ccdccaa45ccdc25e6bafd7bb59521b508255aa207092bfa0607c
2017/08/03 08:11:45.117266 storageobligations.go:558: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>10033661591617120922.
2017/08/05 08:32:51.966890 storageobligations.go:735: Error submitting transaction to transaction pool consensus conflict: provided transaction set has prereqs, but is still invalid: transaction has a file contract with an outdated revision number
2017/08/06 04:34:30.614584 storageobligations.go:851: file contract complete, id 18f16ac2b214c02945a585f6c789aa76abef8a441efab80292ae123dd538f307
2017/08/06 04:34:30.836922 storageobligations.go:558: Successfully submitted a storage proof.  Revenue is<PHONE_NUMBER>08807124279893255362.
2017/08/06 12:55:10.461121 storageobligations.go:574: Missed storage proof.    Revenue is<PHONE_NUMBER>87982874383407905538.
2017/08/10 05:08:43.996051 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>59497333664325529310.
2017/08/10 05:10:58.161691 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>59497333664325529310.
2017/08/10 11:52:24.326687 storageobligations.go:574: Missed storage proof.   Revenue is<PHONE_NUMBER>49912604354426400478.
2017/08/11 16:03:58.117987 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>49363283252055574787.
2017/08/11 18:48:50.807882 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>49363283252055574787.
2017/08/12 09:21:00.525606 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>55083968912720847662.
2017/08/12 14:40:31.640647 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>55083968912720847662.
2017/08/13 00:31:52.319759 storageobligations.go:851: file contract complete, id 7a45a4d27630bc4890c2b7fed76934aa621f9223ed733458627c5f5b7f7d3c2a
2017/08/13 00:31:52.538739 storageobligations.go:558: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>71130902250523910958.
2017/08/13 01:13:57.977491 storageobligations.go:851: file contract complete, id 7b4a377e91d10c52f35d0c8fafdf1685e1dfa74209550e29896c22398aa18453
2017/08/13 01:13:58.266988 storageobligations.go:558: Successfully submitted a storage proof. Revenue is<PHONE_NUMBER>40804953511210181422.
2017/08/13 01:28:36.696353 storageobligations.go:574: Missed storage proof.  Revenue is<PHONE_NUMBER>83029789465615983406.

Version
$ ./siac version
Sia Client v1.3.0
Sia Daemon v1.3.0

I have seen same error in last official release (1.3.0). Host continuously lose some of contracts due to missed storage proofs while it running nonstop @ 24/7, available(reachable) from internet on default port and wallet unlocked. Here example from host.log (i have also checked other logs but did not find any other errors at day when host missed storage proofs. Here is an example of log:
2017/10/08 19:33:34.833321 storageobligations.go:851: file contract complete, id 5a7c861c645905c6acba525630573cb0080e99c3d697ed844d45591b418f42cd
2017/10/08 19:33:35.142339 storageobligations.go:558: Successfully submitted a storage proof.  Revenue is<PHONE_NUMBER>6522057141190656.
2017/10/11 14:47:22.414355 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>7503999230410752.
2017/10/11 20:04:43.601020 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>7503999230410752.
2017/10/11 20:30:16.916762 storageobligations.go:574: Missed storage proof. Revenue would have been<PHONE_NUMBER>7503999230410752.

 And it is not just an logging bug - host actually is loosing contracts and corresponding locked collateral coins.

I do not know reason for such errors. But my best guess: it can happens to contracts without actual data stored in it. Eg: renter never uploaded data to contract or deleted all data before contract expire. And host can not create valid storage prof because it can not find any piece of stored data related to such contract.


Project setting page does not display correctly after creating a new project

To Reproduce

Create a new project
Jump to the setting page of the project  newly created (do not show editor page)
Project name and left menus of the project doesn't display (reloading fixes it)

Expected behavior
Project name and left menus of the project should display
Screenshots

Since we had released this feature, I close this PBL.


@azure/monitor-query - cspell found spelling errors in public API surface

Spell check scanning of package at sdk/monitor/monitor-query detected spelling errors in the public API surface. This directory is opted out of PR spell checking in PR #17142 to keep PRs unblocked.
What to do

Ensure Node.js is installed (https://nodejs.org/en/download/).
Delete the entry in .vscode/cspell.json's ignorePaths field. It will look like: sdk/monitor/monitor-query/review/**/*.md. You need to do this to enable checking the files.
From the root of the repo run spell check using ./eng/common/spelling/Invoke-Cspell.ps1 -ScanGlobs "sdk/monitor/monitor-query/review/**/*.md"
Fix detections according to http://aka.ms/azsdk/engsys/spellcheck use the "False positives" section to fix false positives
Check in changes (including the change to .vscode/cspell.json where the ignorePaths is updated to remove the entry for this service.). You may need to run git add -f .vscode/cspell.json to force adding the changes to the file in git.

Spell checking output
./sdk/monitor/monitor-query/review/monitor-query.api.md:24:14 - Unknown word (fourty)

@danieljurek Is this spelling error found in other languages too for this library?


Quick access system tray covers the hidden icons list

Description of the new feature / enhancement
The feature added in v67 "quick access tray" is a really good addition, but in my computer at the least I have the PowerToys tray icon in the hidden icons list and not directly on the taskbar, thus when I open the quick access menu, it covers the hidden icons list of windows.
Maybe consider making the tool discover if the tray list is open at the moment, and make an up-shift by some amount of pixels
Scenario when this would be used?
every time you may use quick access
Supporting information
No response

cc: @niels9001


When edge weight is changed, MCL result is strange.

Hi Joandre,
I use your MCL_spark to run MCL in my Spark.
By default (edge weight is 1.0), MCL works fine!
But, when I adjust edge weight, the clustering result is unpredictable.
It means that the all nodes in the same cluster are not connected, for example,
o----o----o (a simple graph)
2----1----2 (the cluster number)
Do you have any suggestion?

Hi chungfu27,
Thanks for your message. The last commit seems to correct your issue (at least on the small example you gave me). If it is not ok for your own dataset, please do not hesitate to give it to me so I can check what's going wrong.

Hi Joandre,
I probably find the root cause for this issue.
Because my graph is a weighted graph, the value of self-loop is 1.
If other edge value is larger than self-loop value, the probability will be very small through normalization step.
After expansion/inflation, self-loop value will be smaller than epsilon and it will be removed from removeWeakConnections step.
Therefore, the result will be as below:
o----o----o (a simple graph)
2----1----2 (the cluster number)
The middle node will not be in the same cluster.

Hi chungfu27,
Thanks for your help. Sorry for the late of my answer. I have decided it was time to build scalaTests. :-)
I think you are right for the reason of this strange behavior. But this not strictly speaking a bug. I have made a quick state-of-the-art and it seems that the best solution is to apply the biggest weight of the node's column to the self-loop for now (called unitary self-loop). In the following paper, there is a very clear explication about the interest (obligation) of having self-loops in graph, in order to avoid non-convergence of MCL.
http://vacher.corinne.free.fr/pdf/Leger_StatsComputing_2013.pdf
To summarize, non-zero weights for self-loops are recommended (for example 1 for weights between 0 and 1), but they can be decreased (for example divide by 10 in the paper) not to "denature" the original graph. In fact, when you add self-loops, you clearly change the graph structure. This a trade-off, that should be up to the user, depending on clusters he obtains and how they make sense in his context. In figure 5, there are different examples of clusters on the same graph, where rk is the inflation rate and ek is the expansion rate. Depending on the strategy you chose, you will obtain different groups.
Perhaps, I should adopt a more open strategy for self-loops.
I will work on that and I will add a clear explanation on the README too, so potential users are aware of this trade-off.

Hi Joandre,
Thank you for your reply. I apply the biggest weight of graph edges to the self-loop, the result is good.
I will close this issue.
Thanks for your suggestion.


correcting minor typos

This can be closed since there was no unfixed issue

Thanks, @prince-chrismc. Hopefully, the other PR will be merged very soon.


DTO Factory: move parse_model and related into utility functions

These don't need to be exposed at the interface level.

Similar, get_backend() method doesn't need to be public.

Closed in 543c444a9bd20dc36b2aaf0c0e73ed50112a6e6c


VSCode is unable to pickup binaries

Describe the bug
I've installed asdf using zsh-snap. VSCode is unable to pickup almost none of the plugins installed via asdf.
Steps To Reproduce
# ~/.zshrc
znap source asdf-vm/asdf asdf.sh
znap eval asdf-community/asdf-direnv "asdf exec $( asdf which direnv ) hook zsh"

# ~/project
asdf plugin add python
asdf install python latest
asdf local python latest

Expected behavior
VSCode is able to pickup asdf binaries.
Observed behavior
VSCode terminal throws the following error.
$ asdf --version
v0.12.0-816195d
$ which asdf
/home/us-er/.znap/repos/asdf-vm/asdf/bin/asdf
$ asdf which python
/home/us-er/.asdf/installs/python/3.11.4/bin/python
$ python --version
/home/us-er/.asdf/shims/python: line 6: /home/us-er/.znap/repos/asdf/bin/asdf: No such file or directory

Environment:

OS: ArchLinux
Terminal: Gnome Console
Zsh version: 5.9
Znap repo version: https://github.com/marlonrichert/zsh-snap/commit/7741929695f0e4761971e951ab81cb7c2bd9910f

Additional Context
https://github.com/asdf-vm/asdf/issues/1178

An asdf issue, fixed by running asdf update with/without --head option.


Code clarity: consider renaming "Test" to "Exam" or something

I'm using your project as a model for a similar project. As someone new in rust, it might make sense to rename "Test" to "Exam" (as in "typing exam"), because it's a bit confusing with unit tests being a thing as well.

In v2 the name will be changed to "trial" in the code, although for now I don't think this is necessary.


Help Wanted - how to input positions in a fileseries

We imaged a bit of tissue with non square positions to save time and disk space.
Is there any way to input the positions in a fileseries input?
If not, only by inputting ome.tiffs with coordinates on metadata would work?
Each field of view is a single file, and the metadata between files is not linked (as in series).
Thank you!

Maybe my response here is applicable to your situation.

Maybe my response here is applicable to your situation.

I will give it a try. Thank you.

Maybe my response here is applicable to your situation.

I will give it a try. Thank you!

It worked.
I did a few modifications to be easier for what I have, while keeping more metadata.

import copy
import pathlib
import uuid

import ome_types
import tifffile
from nd2reader import ND2Reader
import pims

def make_ome_pixel(
    img_path, sample_ome, position_x, position_y,
):
    img_path = pathlib.Path(img_path)
    sample_ome = copy.deepcopy(sample_ome)
    pixel = sample_ome.images[0].pixels

#     pixel.physical_size_x = pixel_size
#     pixel.physical_size_y = pixel_size

    UUID = ome_types.model.tiff_data.UUID(
        file_name=str(img_path.name),
        value=uuid.uuid4().urn
    )

    tiff_block = pixel.tiff_data_blocks[0]

    num_planes = len(pixel.planes)
    tiff_block.uuid = UUID

    for i in range(num_planes):
        pixel.planes[i].position_x = position_x
        pixel.planes[i].position_y = position_y
#         plane = pixel.
#             the_c=i, the_z=0, the_t=0,
#             position_x=position_x, position_y=position_y
#         )
#         pixel.planes.append(plane)

    return pixel

folder = "/media/Jenni/20230224-humice/orchid/"
img_paths = sorted(pathlib.Path(folder).glob('Cycle1*.nd2'))

img_paths

reader = ND2Reader(str(img_paths[0]))
xy_positions = list(zip(reader.metadata['x_coordinates'][::reader.sizes['z']], reader.metadata['y_coordinates'][::reader.sizes['z']]))
reader.close()

img_paths = sorted(pathlib.Path(folder).glob('Cycle1*.tif'))

reader = pims.Bioformats(str(img_paths[0]),java_memory = '2048m')
sample_ome = ome_types.from_xml(str( reader._metadata.dumpXML()))
reader.close()

pixels = [
    make_ome_pixel(path, sample_ome, float(pos_x), float(pos_y))
    for path, (pos_x, pos_y) in zip(img_paths, xy_positions)
]

omexml = ome_types.model.OME()
omexml.images = [ome_types.model.Image(pixels=p) for p in pixels]

out_path = 'Cycle1.companion.ome'
print(f"Writing to {out_path}\n")
with open(out_path, 'w') as f:
    f.write(omexml.to_xml())


Simple rebinds not working

I'm trying to use Hawck in Ubuntu 19.04, so I ran the GUI and on the Simple Rebind tab, the delete and add buttons don't do anything. Also, when I start hawck-ui (might be related), I get this terminal output:
$ hawck-ui

6711
6782
<hawck_ui.window.Settings object at 0x7fe9fbac6e48> autostart_switch False
<hawck_ui.window.Settings object at 0x7fe9fbac6e48> unsafe_mode_switch False
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/hawck_ui-0.6-py3.7.egg/hawck_ui/main.py", line 54, in do_activate
    self.window = HawckMainWindow(application=self, version=self.version)
  File "/usr/local/lib/python3.7/dist-packages/hawck_ui-0.6-py3.7.egg/hawck_ui/window.py", line 355, in __init__
    self.settings = Settings(builder = self.builder)
  File "/usr/local/lib/python3.7/dist-packages/hawck_ui-0.6-py3.7.egg/hawck_ui/window.py", line 228, in __init__
    self.setCheck(f"{chk}_chk", sendMacroD(f"return config.{chk}")[0])
  File "/usr/local/lib/python3.7/dist-packages/hawck_ui-0.6-py3.7.egg/hawck_ui/cfgmsg.py", line 17, in sendcfg
    return json.loads(json_str)
  File "/usr/lib/python3.7/json/__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.7/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.7/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Did you start hawck-inputd and hawck-macrod? Also, remember, macrod should run as your regular user account.

Yes I started both services, and hawck-ui shows both of them as running. As for the user, the readme says "You will need to reboot the computer after running the installer, because it needs to add your user to a new group (with Ubuntu it seems like logging out and back in isn't enough.)", so I rebooted after installing, then started the services. Do I need to do anything else?


Does not work for iOS

Interesting. Which compiler does iOS use again? Presumably the one that ships with XCode which should be clang. Can I have some information on which version of clang, this may be a incompatibility with clang. I need more information though. The output of the compiler would help as well.

For folowing code snippet:
#include "incbin.hpp"

INCBIN(Test, "Icon.png");

Smething like:
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch armv7 -fmessage-length=0 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit=0 -std=c++1y -Wno-trigraphs -fpascal-strings -Os -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -g -fvisibility=hidden -fvisibility-inlines-hidden -Wno-sign-conversion -miphoneos-version-min=8.1 -iquote /Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/peatree-generated-files.hmap -I/Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/peatree-own-target-headers.hmap -I/Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/peatree-all-target-headers.hmap -iquote /Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/peatree-project-headers.hmap -I/Users/antonte/prj/mobilegames/game2/build/Release-iphoneos/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/DerivedSources/armv7 -I/Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/DerivedSources -F/Users/antonte/prj/mobilegames/game2/build/Release-iphoneos -MMD -MT dependencies -MF /Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/Objects-normal/armv7/sound.d --serialize-diagnostics /Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/Objects-normal/armv7/sound.dia -c /Users/antonte/prj/mobilegames/game2/sound.cpp -o /Users/antonte/prj/mobilegames/game2/build/game2.build/Release-iphoneos/peatree.build/Objects-normal/armv7/sound.o
<inline asm>:1:17: error: unexpected token in '.section' directive
.section .rodata
                ^
<inline asm>:3:1: error: unknown directive
.type gTest, @object
^
<inline asm>:8:1: error: unknown directive
.type gTestSize, @object
^
3 errors generated.

$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --version
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.1.0
Thread model: posix

I see. XCode's inline assembler is drastically different than GNU. More information on the directives can be found here https://developer.apple.com/library/mac/documentation/DeveloperTools/Reference/Assembler/040-Assembler_Directives/asm_directives.html#//apple_ref/doc/uid/TP30000823-TPXREF101
I sense removing .type and .section' directives and replacing them with .const_data' would be sufficient.
 Thanks. I'll test it more at evening (don't have phisical access to my mac).

 Something messed up with name mangling? I don't know.

Full listing:
/**
 * @file incbin.h
 * @author Dale Weiler
 * @brief Utility for including binary files
 *
 * Facilities for including binary files into the current translation unit and
 * making use from them externally in other translation units.
 */
#ifndef INCBIN_HDR
#define INCBIN_HDR
#include <limits.h>

#if defined(__SSE__) || defined(__neon__)
# define INCBIN_ALIGNMENT 16
#else
# if ULONG_MAX == 0xffffffffu
#  define INCBIN_ALIGNMENT 4
# else
#  define INCBIN_ALIGNMENT 8
# endif
#endif

#define INCBIN_ALIGN __attribute__((aligned(INCBIN_ALIGNMENT)))

#ifdef __cplusplus
#  define INCBIN_EXTERNAL extern "C"
#else
#  define INCBIN_EXTERNAL extern
#endif

#define INCBIN_STR(X) #X
#define INCBIN_STRINGIZE(X) INCBIN_STR(X)

/**
 * @brief Externally reference binary data included in another translation unit.
 *
 * Produces two external symbols that reference the binary data included in
 * another translation unit.
 *
 * The symbol names are a concatenation of "g" before *NAME*; with "Data", as well
 * as "Size" after. An example is provided below.
 *
 * @param NAME The name given for the binary data
 *
 * @code
 * INCBIN_EXTERN(Foo);
 *
 * // Now you have the following symbols:
 * // extern unsigned char gFooData[];
 * // extern unsigned int gFooSize;
 * @endcode
 */
#define INCBIN_EXTERN(NAME) \
    INCBIN_EXTERNAL const INCBIN_ALIGN unsigned char g ## NAME ## Data[]; \
    INCBIN_EXTERNAL const unsigned int g ## NAME ## Size

/**
 * @brief Include a binary file into the current translation unit.
 *
 * Includes a binary file into the current translation unit, producing two symbols
 * for objects that encode the data and size respectively.
 *
 * The symbol names are a concatenation of "g" before *NAME*; with "Data", as well
 * as "Size" after. An example is provided below.
 *
 * @param NAME The name to associate with this binary data (as an identifier.)
 * @param FILENAME The file to include (as a string literal.)
 *
 * @code
 * INCBIN(Icon, "icon.png");
 *
 * // Now you have the following symbols:
 * // unsigned char gIconData[];
 * // unsigned int gIconSize;
 * @endcode
 *
 * @warning This must be used in global scope
 *
 * To externally reference the data included by this in another translation unit
 * please @see INCBIN_EXTERN.
 */
#ifndef __APPLE__
#define INCBIN(NAME, FILENAME) \
    __asm__(".section .rodata\n" \
            ".global g" #NAME "Data\n" \
            ".type g" #NAME "Data, @object\n" \
            ".align " INCBIN_STRINGIZE(INCBIN_ALIGNMENT) "\n" \
            "g" #NAME "Data:\n" \
                ".incbin \"" FILENAME "\"\n" \
            ".global g" #NAME "Size\n" \
            ".type g" #NAME "Size, @object\n" \
            ".align " INCBIN_STRINGIZE(INCBIN_ALIGNMENT) "\n" \
            "g" #NAME "Size:\n" \
                ".int g" #NAME "Size - g" #NAME "Data\n" \
    ); \
    INCBIN_EXTERN(NAME)
#else
#define INCBIN(NAME, FILENAME) \
    __asm__(".const_data\n" \
            ".globl _g" #NAME "Data\n"      \
            ".align " INCBIN_STRINGIZE(INCBIN_ALIGNMENT) "\n" \
            "_g" #NAME "Data:\n" \
                ".incbin \"" FILENAME "\"\n" \
            ".globl _g" #NAME "Size\n"      \
            ".align " INCBIN_STRINGIZE(INCBIN_ALIGNMENT) "\n" \
            "_g" #NAME "Size:\n" \
            ".long _g" #NAME "Size - _g" #NAME "Data\n" \
    ); \
    INCBIN_EXTERN(NAME)
#endif
#endif

Try using the current branch. I pushed some changes, let me know if I still need the underscore for name mangling.

I tried "Fix for XCode" it has problem with underscore.

If you add the underscore does it work?

Yes
On Saturday, February 7, 2015, Dale Weiler<EMAIL_ADDRESS>wrote:

If you add the underscore does it work?
—
Reply to this email directly or view it on GitHub
https://github.com/graphitemaster/incbin/issues/2#issuecomment-73397604.

Okay, going to commit a fix and mark this as closed


Wallet: App is crashing on wallet settings tab.

https://github.com/bithyve/bitcoin-keeper/assets/62699947/6408669f-bc51-4883-9cc6-d85565f4e629

The app is crashing as soon as you click on the settings tab.

Verified this issue on keeper app v 1.1.6(256)


I can't git clone the repository

git clone https://github.com/matter-labs/foundry-zksync.git
Cloning into 'foundry-zksync'...
remote: Enumerating objects: 76915, done.
remote: Counting objects: 100% (21632/21632), done.
remote: Compressing objects: 100% (3897/3897), done.
error: RPC failed; curl 16 Error in the HTTP2 framing layeriB/s
error: 57 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output

Hey @0xdavinci
This looks like its specific to your network conditions rather then this repo.


Not support SquareSumAll

To note that our environment has run the MNIST example successfully. The environment is Ubuntu 18.04, , Python 3.7.5, CUDA 10.1. The version of our MindSpore is 1.0.1. We follow the instructions in install page whereas all the environment has been set, we ran the command: pip install https://ms-release.obs.cn-north-4.myhuaweicloud.com/1.0.1/MindSpore/gpu/ubuntu_x86/cuda-10.1/mindspore_gpu-1.0.1-cp37-cp37m-linux_x86_64.whl --trusted-host ms-release.obs.cn-north-4.myhuaweicloud.com -i https://pypi.tuna.tsinghua.edu.cn/simple
We believe that there is a significant gap in the ops section. Here we presented the related feedbacks in this document. Besides being full of inconsistently worded in the documents page(here), we have found a large number of errors in the ops page. This is extremely serious and has significant affect the practical use of the MindSpore.
Import the ops
from mindspore.ops import operations as P
from mindspore.ops import composite as C
from mindspore.ops import functional as F

For example, in SquareSumAll:
input_x1 = Tensor(np.random.randint([3, 2, 5, 7]), mindspore.float32)
input_x2 = Tensor(np.random.randint([3, 2, 5, 7]), mindspore.float32)
square_sum_all = P.SquareSumAll()
square_sum_all(input_x1, input_x2)

We have got:
[ERROR] DEVICE(25091,python):2020-12-24-21:33:37.218.759 [mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:110] SelectAkgKernel] Not find op[SquareSumAll] in akg
[ERROR] DEVICE(25091,python):2020-12-24-21:33:37.218.786 [mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:82] SupportedTypeList] Unsupported op [SquareSumAll]
---------------------------------------------------------------------------
/opt/miniconda/envs/mindspore-env/lib/python3.7/site-packages/mindspore/ops/primitive.py in __call__(self, *args)
    157         if should_elim:
    158             return output
--> 159         return _run_op(self, self.name, args)
    160
    161     def __getstate__(self):

/opt/miniconda/envs/mindspore-env/lib/python3.7/site-packages/mindspore/common/api.py in wrapper(*arg, **kwargs)
     67     @wraps(fn)
     68     def wrapper(*arg, **kwargs):
---> 69         results = fn(*arg, **kwargs)
     70
     71         def _convert_data(data):

/opt/miniconda/envs/mindspore-env/lib/python3.7/site-packages/mindspore/ops/primitive.py in _run_op(obj, op_name, args)
    496 def _run_op(obj, op_name, args):
    497     """Single op execution function supported by ge in PyNative mode."""
--> 498     output = real_run_op(obj, op_name, args)
    499     if not output:
    500         raise RuntimeError("Pynative run op %s failed!" % op_name)

RuntimeError: mindspore/ccsrc/runtime/device/gpu/kernel_info_setter.cc:82 SupportedTypeList] Unsupported op [SquareSumAll]

Sorry, the operator SquareSumAll is currently not supported on GPU.
You can query the mindspore website to see which back ends the operator supports :
https://www.mindspore.cn/en -> Docs->Programming Guide -> Operator List ->MindSpore Operator list

hi I work w/ limberc and we would like to use mindspore on our project, however, i cannot actually use it in a technical environment since those operators seem too basic. Do you have any supportive documentation for me so that i will be able to make up some operators (maybe contribute back as well)? if you don't have any documents yet, maybe you should consider at least provide a brief usage guide for developers


Move Storage implementations to the related packages

At the moment there is a dedicated org.spine3.server.storage package for all the related classes.
However, a significant part of the business logic covered by ...Storage implementations in fact belongs to the Repository of the same kind. Therefore some of Storage methods are made public, while they should have been package-access at most.
To resolve the issue we need to move the Storage implementations to the related packages, leaving the org.spine3.server.storage package just with the base interfaces and abstract implementations.
In-memory Storage implementations are treated as a part of the framework, as they are used in tests (as so the framework users will do). Thus, they should also be moved away from the ...storage.memory package.
E.g.

org.spine3.server.storage.AggregateStorage  -> org.spine3.server.aggregate.AggregateStorage
org.spine3.server.storage.memory.InMemoryAggregateStorage -> org.spine3.server.aggregate.InMemoryAggregateStorage

The unit tests should be moved accordingly.

Resolved by #267


Add missing fields for chat based services

A few MR related to GitLab API issues were merged recently:

https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123338
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123339
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123341
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123343

This MR brings go-gitlab up to date with these changes
Fixes #1354

@svanharmelen it is!


OCPBUGS-21865: Honor IncludeChannel.MaxVersion when mirroring differe…

…ntially
Description
When a previous mirroring had occurred, and the operator mirroring is bound by both minVersion and maxVersion in the imageSetConfig, oc-mirror was ignoring the MaxVersion, and mirroring all bundles up to the channel head.
Fixes OCPBUGS-21865
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Specific unit tests covering the case described by the bug reporter have been added.
Furthermore, we used the following use case to validate the change:

./bin/oc-mirror -c isc_21865_1.yaml file:///home/skhoury/test1
cp -r /home/skhoury/test1/metadata /home/skhoury/test1/metadata_save
./bin/oc-mirror -c isc_21865_2.yaml file:///home/skhoury/test1 --dry-run

isc_21865_1.yaml
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
storageConfig:
  local:
    path: /home/skhoury/test1/metadata
mirror:

  operators:
    - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12
      packages:
        - name: cincinnati-operator
          channels:
            - name: v1
              minVersion: 5.0.1
              maxVersion: 5.0.1

isc_21865_2.yaml
kind: ImageSetConfiguration
apiVersion: mirror.openshift.io/v1alpha2
storageConfig:
  local:
    path: /home/skhoury/test1/metadata
mirror:
  operators:
    - catalog: registry.redhat.io/redhat/redhat-operator-index:v4.12
      skipDependencies: true
      packages:
        - name: cincinnati-operator
          channels:
            - name: v1
              minVersion: 5.0.1
              maxVersion: 5.0.1
        - name: local-storage-operator
          channels:
            - name: stable
              minVersion: 4.12.0-202305262042
              maxVersion: 4.12.0-202305262042
        - name: odf-operator
          channels:
            - name: stable-4.12
              minVersion: 4.12.4-rhodf
              maxVersion: 4.12.4-rhodf
        - name: rhsso-operator
          channels:
            - name: stable
              minVersion: 7.6.4-opr-002
              maxVersion: 7.6.4-opr-002

Expected Outcome
Inspecting the mapping.txt file generated before and after the change with

grep "\-bundle" /home/skhoury/test1/oc-mirror-workspace/mapping.txt
registry.redhat.io/openshift4/ose-local-storage-operator-bundle@sha256:b0f47e35fbd4e8d0053a28a79d8d59d92458d14f31e9d7a1ffbd71416da7a660=file://openshift4/ose-local-storage-operator-bundle:6d4aacc3
registry.redhat.io/rh-sso-7/sso7-rhel8-operator-bundle@sha256:0678aad21b12b433e29d8a7e6280e7b2ea2c0251a3e27a60d32ba6c877a7051d=file://rh-sso-7/sso7-rhel8-operator-bundle:372777e8
registry.redhat.io/odf4/odf-operator-bundle@sha256:5ccc9c304ce9aa903bafcbfc6013f6608eb1311724a89da4fb9b674d713c4c6c=file://odf4/odf-operator-bundle:7abe234f

You should notice that after the patch there is only 1 bundle image for the 3 operators that are included in the mirroring, while several bundle images exist for the same operator without the patch.

/lgtm


Add a Solid Start routing example

Using examples from https://docs.solidjs.com/solid-start/getting-started#project-files
Should I add more advanced cases from https://docs.solidjs.com/solid-start/building-your-application/routing as well, or is this enough?

If you update this PR, I would be happy to merge it. Closing it for now


Invalid Syntax error upon attempt to authenticate with Pardot

Dear JoshGeller / PyPardot maintainers,
I installed PyPardot, but the instant I try to authenticate with it, I get an error.
I have only the following 2 lines so far:
from pypardot.client import PardotAPI
p =<EMAIL_ADDRESS>password='mypassword', user_key='myuserkey')

As soon as I try to execute this script, I get the following error (I get it even with "p.authenticate()" as the next line of code - the code above is what I stripped things down to to isolate the problem):
runfile('C:/path/myscript.py', wdir='C:/path')
  File "C:\mypythoninstallpath\lib\site-packages\pypardot\client.py", line 54
    except PardotAPIError, err:
                         ^
SyntaxError: invalid syntax

Any ideas what's wrong?  Thank you!

I believe this is an Python 3 issue...unfortunately this module doesn't support Python 3 :(
However it would not be hard to port. Just a few print and except statements to update if anyone wants to take a shot at it. PRs are welcome.


Problem: Pre-commit does not validate acceptance tests.

Soluton: Adjust the pre-commit config.

:eagle: :eye:


Gist integration

JB can support the gist integration just like gist tag in octpress?
(http://brandontilley.com/2011/01/30/gist-tag-for-jekyll.html)
and
(http://blog.55minutes.com/2012/03/liquid-gist-tag-for-jekyll/)
show the jekyll plugin way.

Looking for low-hanging fruit to get my feet wet on this repo. Looks like a good candidate.
I'll poke around to see if this is still the preferred solution, then implement as a PR.

Looks like Jekyll beat us to the punch ...
(http://jekyllrb.com/docs/templates/#gist)[http://jekyllrb.com/docs/templates/#gist]

Stand-alone addition to utility functions. Low risk. Merged as https://github.com/plusjade/jekyll-bootstrap/pull/243.


Error when placing /hb give

I sneak and placed a headblock and the moment it placed I disconnected and I'm now unable to connect to the server.
https://mclo.gs/V2bYOQJ

Hi, there's a known issue with the default hologram system and latest MC version. To resolve it, you can :

Use a plugin to handle holograms (https://aerwyn81.github.io/HeadBlocks/#/config/config?id=holograms)
Disable the holograms in the config


Boost iostreams build error on Cygwin

Key bits seem to be: ```
/home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Build/Boost/__iostreams/Source/tools/build/src/build/ac.jam:239: in construct
*** argument error

rule ac.find-include-path ( properties : header : provided-path ? )
called with: ( object(property-set)@1918 : zlib.h : /home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Install/include )
extra argument Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Install/include
/home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Build/Boost/__iostreams/Source/tools/build/src/build/ac.jam:40:see definition of rule 'ac.find-include-path' being called
/home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Build/Boost/__iostreams/Source/tools/build/src/build/targets.jam:1353: in<EMAIL_ADDRESS>/home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Build/Boost/__iostreams/Source/tools/build/src/build/targets.jam:774: in generate-really
/home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Bmake[2]: *** [CMakeFiles/Boost-iostreams.dir/build.make:115: Boost-iostreams-prefix/src/Boost-iostreams-stamp/Boost-iostreams-build] Error 1
make[1]: *** [CMakeFiles/Makefile2:68: CMakeFiles/Boost-iostreams.dir/all] Error 2
make: *** [Makefile:84: all] Error 2
uild/Boost/__iostreams/Source/tools/build/src/build/targets.jam:746: in class@main-ta

My understanding is that bzip/lzip is off by default on Windows, and adding them with hunter_add_package does not seem to resolve the issue.

I'm a cmake novice, so it's quite possible I'm not doing something right.

Error output:
https://gist.github.com/ckaminski/011b2097b423172632185f28fc52575f
Project:
https://github.com/ckaminski/hunter-cmake-template

/home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Build/Boost/__iostreams/Source/tools/build/src/build/ac.jam:239: in construct
*** argument error
* rule ac.find-include-path ( properties : header : provided-path ? )
* called with: ( object(property-set)@1918 : zlib.h : /home/Chris Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Install/include )
* extra argument Kaminski/.hunter/_Base/4b72d50/392e13c/95c862d/Install/include

As far as I understand it's a Boost error.

Having a much better idea with Hunter and Boost now than two weeks ago, I'll be revisiting this on my vacation this weekend and see if it's not just user-error.  :-)

Closing inactive.


Support of is / is not null | true | false | unknown

This adds support for the constructs is null, is not null and similars (true, false and unkwnon).
These values are not verified neither escaped. Should they be? I am not really familiar with the procedure in this case, so I could use some help here.
This patch, however, does not support the form expression IS DISTINCT FROM expression.
Source
Thanks

Alternately if you like the API better we could let people say /foo?col=is.null and /foo?col=is.true and make sure that the value being interpolated matches a whitelist of safe options (null, true, false, etc) before interpolating it.

(also sorry it took me a while to respond to your pull request, I do appreciate your work)

Actually, my particular use case just requires null and notnull, I've added the other ones more for completeness. Any of the APIs you suggested looks great to me... I've implemented the simplistic approach (white listing), but please feel free to implement a better approach!
And no problem on the delay... now it was my turn to take some time ;)
Cheers

K, it's all rebased tested and merged.


OSD-6853: CatalogSource by digest

OSD-6853

/hold
Depends-On: https://gitlab.cee.redhat.com/service/app-interface/-/merge_requests/17943

/lgtm

/hold cancel
Dep is in.

/lgtm


BoostSRL Wiki Link Corrections

[X] Summary of changes

Some of the links in the BoostSRL wiki continued using the previous style of reference links, despite these having been changed.
This pull request resolves those errors on several of the wiki pages, pointing to the appropriate data sets, wiki pages, and people.

Adding a few more changes after running the site through a broken link checker to be certain these were fixed.


Actual VS Code version requirement?

The extension currently claims it needs "vscode": "^1.77.0", which is the current version of VS Code. Does this actually work with older versions of VSC?  If so, could you put out a new build that lowers the VSC version requirement?

lowered to "vscode": "^1.64.0" on version 1.0.4


Faster coverage file matching

Do not rely on workspace scanning to determine line coverage to path information
Use diff changed files to obtain relative path from project root during coverage computation
Refactor code and cleanup a bit
Delete dead code

cc @ChaitanyaPramod

Coverage decreased (-0.3%) to 90.06% when pulling 0ad72e73a047f7365b2a917d6bdbd3b7ab6889dc on faster_file_match into 1d5c38b8b91b216a79548caa2fa183667920963b on master.

@ChaitanyaPramod Addressed your concerns and added new tests. PTAL


fix(router): do not add routes with nav=false

routes with nav:false were still being included in router.navigation
routes that contain nav:false will no longer be included

'nav' in config (from here) causes nav: false to still evaluate to true


invalid method: PURGE

Describe the bug
Hi, I am using PURGE method for some of my endpoints, when I swag init I get this error: "invalid method: PURGE"
To Reproduce
This is an example for my PURGE endpoint:

Expected behavior
I couldn't find anything related to http methods in the documents, is there a way I can define custom methods to work around this error?
Your swag version
swag version v1.8.9
Your go version
GOVERSION="go1.18.5"

no you are right, its not defined but used conventionally, i cant show you a definition or rfc but for example its predefined in postman or similar tools https://stackoverflow.com/questions/25857508/what-is-the-http-method-purge
i already have a delete endpoint with same path, i need a distinguished method for a function that cleaning cache of application, if you know something more suitable i would like to follow that

:) try DELETE


check for -head.fif in plot_alignment

Code could be simplified further, bit verbose now, but perhaps best left so (assuming bots agree!)
Closes #4783

@larsoner merge if you're happy
thx @cjayb

@cjayb can you add a line to whats_new.rst? Then should be good to go

thx @cjayb


convert some macros to constants to avoid conflicts

I ran into some name aliasing with some Cray code, so I'm converting the async and unbound macros to constants in the Grappa namespace.
For some existing code that doesn't do "using namespace grappa;", we need to add a Grappa:: prefix to uses of these values. @bmyerz, I need your help to make sure I didn't screw up anything in applications/join when making these changes; I don't know how to build everything there.

(oh, and note that the integration check will fail due to changes in Travis CI right now; I'll fix those later this week)

Good call. Not sure why it didn't occur to me to do it that way originally. I'm very much a fan of eliminating macros.

@nelsonje Thanks there are tests, so I'll make a list

@nelsonje
These are the tests to run for applications/join
make check-Relation_io_tests

@bmyerz, the Relation_io_tests fail intermittently as described in #252 just like in master, so I'm going to call this good and merge.

aye aye


Update StackScript UDF field name

Was stackscript_udf_responses, now is stackscript_data.  The current
documented name is incorrect.

closes #1936

Coverage remained the same at 79.09% when pulling 2261ceb7cfb37b905afa407cdf55c2af2a729149 on Dorthu:update-stackscript-udf-field into 6ddaa81326e8332bf6bf1d28d001c2950ec9c57c on linode:master.


Object Concepts

Hello, I am trying to use an object concept to sort images. I cannot find mention of the format of input for object CAVs in the repo or paper. The Broden daatset provides specific masks for objects of interest appearing in the dataset. In the paper, when using an object concept, did you mask out the regions of images corresponding to the object of interest, zero out the background, and use the resulting images for the concept dataset? Or crop the image based on the mask to only include the object? Or assemble a completely new dataset, separate from Broden, consisting of images of the object concept? Or something else completely?

Hello,
we did not crop anything or mask out - just used the images as they are (except we scale the image so that the network doesn't freak out). We just checked in this notebook to download broaden dataset in a local folder so that you can see how exactly we processed it: https://github.com/tensorflow/tcav/tree/master/tcav/tcav_examples/image_models/imagenet
Hope this helps,
Been

Okay, thanks for the reply! To clarify- if for example I wanted the concept of interest to be a "refrigerator", I would just take all Broden images with the refrigerator class present, even if the refrigerator is a relatively small part of the image, and use the whole image (after resizing) as input? Are you not then introducing many confounding variables?
I ask because in the directory you linked above, the code can only be used to extract patterns from the Broden dataset (download_texture_to_working_folder()), which appear as entire images of that pattern. This is very different than how the objects appear (in context).

Yes correct. If all your fridges are next to a sink, then yes, there might be some confounding effect. But we thought imposing having masks for every image is a harder constraint. If you do have bounding box, then you could use it for sure.
what do you mean by "This is very different than how the objects appear (in context)."?


robot-simulator: fix test that didn't fail if nothing was thrown

The robot-simulator exercise includes a test that should fail if in case of an invalid argument

no error message is thrown
a wrong message is thrown

In fact, the test only fails in the latter case. So I fixed that. I didn't touch anything else but I really wonder why anybody would throw a String instead of an Error object.

I also updated the example because it didn't implement this behavior.

Hi @jscheffner Thanks for the PR and sorry for the delay. The PR looks good to me 👍
Regarding the custom exception, we had a discussion in https://github.com/exercism/ecmascript/issues/280. We have these string-exceptions scattered across few exercises. We would like to convert them to class-based solutions but just did not find the time to fix all of them. Would you be up to doing it for this one exercise in this PR? You can refer the circular-buffer exercise.
Let me know if otherwise, this PR looks good to go.

@jscheffner Did you get a chance to look at this?

This looks good to me 👍


Give users ability to check if descriptor is valid

I just found this on the WDL website. https://software.broadinstitute.org/wdl/userguide/validation
They have a jar file that you can call to validate WDL.
This would be pretty useful for someone creating a wdl workflow/tool, and may be a useful dev option for the CLI. Something like dockstore tool validate --wdl

Looks interesting https://github.com/broadinstitute/wdltool
I don't see it at https://artifactory.broadinstitute.org/artifactory/libs-release/org/broadinstitute/ though

Seems like we could also use wdltool to get inputs and parse.


Update copyright year in footer

This tiny PR updates the copyright year in the footer to say "2020-2021" instead of "2020".

@Ein-Tim Checking internally how to proceed with this. Thanks.

@Ein-Tim Approved! And thanks!


IRC monitoring support

Just throwing this out there. Perhaps some integration could be added with one of the below projects, since they are becoming quite a popular way to fetch new torrents.
https://gitlab.com/cloudb0x/trackarr
https://github.com/autobrr/autobrr
I did notice from https://github.com/mmgoodnow/cross-seed/issues/13 that RSS is now planned. Either of these options will make a great addition.

Agreed. This should be a relatively simple addition after #13 is implemented. Currently we have a way to search for cross-seeds given a source torrent but for RSS and IRC it's the other way around - given a potential cross-seed, search through the torrents we have on hand to see if it's a match for something we already have

@keldian do either of these have an API spec that isn't tightly coupled to Sonarr/Radarr? I wouldn't really want to have to support both with custom code. Ideally there's a standardized spec that they both conform to

Saw autobrr mentioned here so thought I should chime in. I've added a basic webhook action to autobrr which can run a post to the webhook endpoint of cross-seed when a torrent has been matched and added.
https://github.com/autobrr/autobrr/pull/184
Currently only in develop, but will make a release soon. Need to write some docs for it, but if you wanna try it out:

Add a new acton of type webhook to a filter
Url is probably http://localhost:PORT/api/webhook
Data

{ "name": "{{ .TorrentName }}" }

Like:

@ludviglundgren this would technically work but it will perform a whole bunch of unnecessary work (triggering a search). I can probably stand up an endpoint that can, given a name and download link, do this properly in a day or two. Would you mind waiting for that?

I see! I have a couple of users already doing that, and I think it's the desired behavior to search.  But if thats wrong and you can build something better suited then I'm all for it. Since this is just a webhook it's flexible.
@KyleSanderson you are one of the users of this, maybe would be good to hear what you want from this feature 😄

@ludviglundgren does autobrr have access to torrent length?

Reading the docs, it seems like it's already downloaded the torrent by the time it would hit the cross-seed webhook. So i guess so? but not sure. Does it snatch every torrent it sees in an announce channel before deciding what to do with it?

Unlike autodl-irssi it doesn't snatch more torrents than necessary. And that depends on the filters, and the announces. Like if the announce doesn't have size and there's filter for it, it will download the file and try to match against that.
So the actions are only ran when it's considered a match, and downloading. So yes, we can send the size, infohash etc. And link to file on disk if you want to parse things yourself.
But the way it's setup with actions might not be the best way from autobrr's side either. Maybe it should be more like what the arr's does with notifications/events and only send on the event of "matched and downloaded".
It's in my roadmap/plans for RSS support and some form of cross-seeding as well but giving people the option to use external tools is quite important.

So the actions are only ran when it's considered a match, and downloading

What do you mean by downloading? Like downloading the torrent's contents? Not sure I'm understanding properly, but that seems like it's not fully compatible with the cross-seeding model and may be too late in the autobrr pipeline—in the case of the original/source torrent, that would be too early to search for cross-seeds because it won't be done yet. In the case of subsequent cross-seeds that get announced which you already have the data for, if it's already downloading, wouldn't that mean that it's clobbering the existing data and downloading twice?
What I'm envisioning for announce integration with cross-seed is that cross-seed has a webhook that can ingest announce events, look to see if it already has a torrent with the same name in its torrentDir, then run through the match checking procedure for the announced torrent and inject if successful. Doing it that way avoids running a whole search which would just rediscover what just got announced.
Here's what I'm thinking for API spec:
POST /api/announce // maybe /api/autodl? not sure, mildly unfamiliar with autodl type stuff so I'd be open to suggestions here
Content-Type: application/json
{
  "guid": "string", // ideally the torrent's comments/listing url, would be for caching purposes
  "link": "string", // download link
  "size": "number",
  "title": "string",
  "tracker": "string" // this would probably just be for logging purposes
}

@KyleSanderson you are one of the users of this, maybe would be good to hear what you want from this feature 😄

I'm treating cross-seed like sonarr - pump everything into it then relying on the tool to "do the right thing". As cross-seed is running in daemon mode (similar to sonarr), it's not necessarily correlated to release times on various trackers. As such, "later" units will be missed with the current deployment of either. Listening to IRC events from autobrr, and cross-seed being the intelligent query application to look at my client before querying Jackett is greatly beneficial.
In my opinion (with my specific configuration), it is inappropriate for cross-seed to add support for IRC or RSS as it's adding another point of configuration / filtering. This reason is precisely why I abandoned my ancient perl config in favour of people still around (and, fortunately still alive). Acting in this modular fashion (and having one single irc client) I'm fairly confident is what the majority of users would want as there's only one registered nick. I'm not looking to enter the bnc business.
Consolidating configuration is what's important to me, which I've reached. The only consumer of Jackett for me is cross-seed, and I'm OK with that because it's now the single configuration point for this.
Minimizing site load is also important, which is why having a single point of truth (like, posting the file contents as opposed to the url if autobrr already has it) is desirable as well as opposed to the proposed "link" design.

I'm treating cross-seed like sonarr - pump everything into it then relying on the tool to "do the right thing"…Listening to IRC events from autobrr, and cross-seed being the intelligent query application to look at my client before querying Jackett is greatly beneficial.

I agree. I would also prefer that ideally, cross-seed receives these events before torrents get downloaded. Because in the vast majority of cases, cross-seed can rule out torrents from being matches solely by the names not matching.

As cross-seed is running in daemon mode (similar to sonarr), it's not necessarily correlated to release times on various trackers. As such, "later" units will be missed with the current deployment of either.

Not sure I understand this part. What is a unit?

In my opinion (with my specific configuration), it is inappropriate for cross-seed to add support for IRC or RSS as it's adding another point of configuration / filtering. This reason is precisely why I abandoned my ancient perl config in favour of people still around (and, fortunately still alive). Acting in this modular fashion (and having one single irc client) I'm fairly confident is what the majority of users would want as there's only one registered nick. I'm not looking to enter the bnc business.

I agree with this, to a degree. I definitely have zero interest in implementing low-level IRC announce support directly into cross-seed. As I posted above, my ideal solution just involves ingesting HTTP requests sent by other apps (autobrr or trackarr). However, RSS comes for free with Torznab and provides several benefits over IRC because it allows the app to make sure it didn't miss any messages while the app was restarting or something.

Minimizing site load is also important, which is why having a single point of truth (like, posting the file contents as opposed to the url if autobrr already has it) is desirable as well as opposed to the proposed "link" design.

I mentioned this above, but to reiterate, this would be nice but I think it would be better overall if cross-seed receives these events before the torrents ever get snatched, at least on cross-seed's behalf. If they got snatched for some other reason, then maybe it's worth it. But if we're doing "pump everything into it then relying on the tool to do the right thing", then I think the lowest footprint can be achieved by the IRC client passing things along without snatching.
I can also make the size parameter optional so as not to require a snatch.

There's also an argument to make that this entire process would be detrimental to tracker economies and making it widely available could be somewhat irresponsible. I'd be interested in hearing opinions on that.
The rationalization I keep making in my head is that it improves retention, which is probably more important than economy. However I also realize that having several people cross-seeding as soon as torrents are announced could disincentivize uploading because the uploader doesn't even necessarily get to a 1.00 upload:size ratio.

There's also an argument to make that this entire process would be detrimental to tracker economies and making it widely available could be somewhat irresponsible. I'd be interested in hearing opinions on that.
The rationalization I keep making in my head is that it improves retention, which is probably more important than economy. However I also realize that having several people cross-seeding as soon as torrents are announced could disincentivize uploading because the uploader doesn't even necessarily get to a 1.00 upload:size ratio.

What went through this with better.php. Better was a tool that was part of the site that would allow you to see which (perfect) FLACs did not have aac/ogg/mp3 variants. As a result, people started automating this process which greatly increased the availability of content. However, after a while it was realized that people were racing on better, which also meant that the original uploader, could potentially miss out on their own variant uploads. This happened well more than a handful of times, to the point now that even with creative commons video uploads now over a decade later people go from the lowest quality possible all the way back to the source.
Ultimately, it comes down to the source of the content. If people are still using ScarS, the content almost certainly came from somewhere else. ScT was hilarious at the end because they were sourcing from SCC. Anyway, the source uploader is still credited with the post, but that ubuntu iso everyone can help with the availability of it, which lessens their system load, which allows for the more sharing of content, which was the entire idea behind BT to begin with. And that guy with the original content? Easy, post in all the applicable areas at the same time, beat the couriers.  This issue exists with or without cross-seed, which cross-seed doesn't change the paradigm.
Opinions are like assholes though, so I'm happy to hear the coin flip.

Not sure I understand this part. What is a unit?

I could be mistaken but I think he means torrent uploads that are cross-seed matches. The scenario in question being one where arrs monitor multiple indexers for a wanted release, and inevitably fetch it from the tracker where it's uploaded first. A later unit would be the same release uploaded to another tracker... later (too late for daemon mode to catch).

Alpha support in v3.4.0. It's not documented yet but you can use my comment above as the spec.


Update issue templates

approving??????

comment here?


DOC: fix docstring on plan_stubs.close_run

The docstring had things from the Parameters in the Yield section.

I suspect this is good to merge despite the CI oddity


[WIP] Add JNI Test case

The current recipe puts is copying the "include" headers under the wrong directory.
I am adding the test case for that, and will follow up with a fix soon.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@johanneskoester, I am not sure why the Windows build is not working, it seems that appveyor is acting up randomly. I will try to debug that as well.

Thanks! I have no clue about windows. Maybe I was just lucky that it worked before.

@johanneskoester
I am done with the changes, feel free to merge once the build system catches up.

Great work, thanks a lot!


Hom can i rewrite Restart action when host in windows service?

in windows service controller right menu->restart

Not sure what is being asked, and this is old, so closing.


Improve silk touch message in quests

Hello,
I have come to propose an improvement for one of the announcements of the quests. Specifically with the silk touch.
When you do a quest to break blocks, when you break any block the chat is filled with that phrase.
I leave a small example: https://gyazo.com/78925163262bf249fe84ed25133c79dc
My improvement would be to add only that phrase in the blocks that are added to the quest.
Example: If in a quest you have to take wood, that message only appears when you are going to break the wood with a silk touch.
Thanks!

While I agree that would be preferable, the way it's coded now the block type cannot be verified before issuing objective progress (as that would break multiplayer quests). I'm open to a Pull Request if anyone can work out another way, but it's not something I'm interested in pursuing.
https://github.com/PikaMug/Quests/blob/fc612f5a943933f0c57b2ceeabd900f03aa25f35/main/src/main/java/me/blackvein/quests/listeners/BlockListener.java#L72-L87


Alternative card style

As a User I want to be able to change the current card style to an alternative design, because I find the current card design boring.

85bd35c97933c632ee9eb5a078a9149b7bd6b219


optee-os fails to build on Ubuntu 14.04

Hi,
I noticed that recipe optee-os fails to build on Ubuntu 14.04. The following error is NOT observed on Ubuntu 16.04. It seems similar to the following issue: https://github.com/OP-TEE/optee_os/issues/663
Log:

| Traceback (most recent call last):
|   File "scripts/pem_to_pub_c.py", line 79, in
|     main()
|   File "scripts/pem_to_pub_c.py", line 45, in main
|     from Crypto.PublicKey import RSA
| ImportError: No module named Crypto.PublicKey
|   INSTALL /home/leon/optee/build-qemu-armv7/tmp/work/cortexa15hf-vfp-poky-linux-gnueabi/optee-os/1.0-r0/git/out/arm/export-ta_arm32/include/inttypes.h
| make: *** [/home/leon/optee/build-qemu-armv7/tmp/work/cortexa15hf-vfp-poky-linux-gnueabi/optee-os/1.0-r0/git/out/arm/core/ta_pub_key.c] Error 1
| make: *** Waiting for unfinished jobs....
|   INSTALL /home/leon/optee/build-qemu-armv7/tmp/work/cortexa15hf-vfp-poky-linux-gnueabi/optee-os/1.0-r0/git/out/arm/export-ta_arm32/include/sys/types.h
| make: Leaving directory `/home/leon/optee/build-qemu-armv7/tmp/work/cortexa15hf-vfp-poky-linux-gnueabi/optee-os/1.0-r0/git'
| ERROR: oe_runmake failed
| ERROR: Function failed: do_compile (log file is located at /home/leon/optee/build-qemu-armv7/tmp/work/cortexa15hf-vfp-poky-linux-gnueabi/optee-os/1.0-r0/temp/log.do_compile.19672)
ERROR: Task 6 (/home/leon/optee/poky/../meta-optee/recipes-bsp/optee-os/optee-os.bb, do_compile) failed with exit code '1'

Looks like an OE build. Maybe python hasn't been built yet. Do you have the optee recipes depend on python? E.g.
DEPENDS = "python-pycrypto-native python-wand-native"

Hi @vchong,
I have added a dependency to python-pycrypt. Please have a look at the commits related to optee-os in my GitHub pull request for details: https://github.com/iotbzh/meta-optee/pull/1
Furthermore I noticed that another layer withe same name exists as a sub directory in meta-linaro. Isn't it better to somehow merge both layers and use only one of them?
I will start a discussion in the AGL mailing list regarding these issues.

@leon-anavi

I have added a dependency to python-pycrypt. Please have a look at the commits related to optee-os in my GitHub pull request for details

Sorry but it's not clear if adding the dependency help resolve the issue?

Furthermore I noticed that another layer withe same name exists as a sub directory in meta-linaro. Isn't it better to somehow merge both layers and use only one of them?

Yes but afaik https://github.com/iotbzh/ is not a Linaro projects so Linaro has no control over it. Assuming meta-linaro is upstream/mainline, and if the AGL project can use the recipes from meta-linaro directly, then it makes sense to just use them instead of writing new ones. If modifications are required then patches should be sent to meta-linaro. See https://git.linaro.org/openembedded/meta-linaro.git/blob/HEAD:/README under the 'Contributing' section for details.

@vchong
Yes, adding a dependency to python-pycrypt in the Yocto/OE recipe is required by pem_to_pub_c.py from recipe optee-os. You can see that this has been already done in Linaro's version of meta-optee. As I said optee-os builds fine on Ubuntu 16.04 but fails on Ubuntu 14.04.
I know that iot.bzh and Linaro and separate legal entities but we should find a way to work together on this because having two layers with different implementation and same name will cause a lot of confusion. We can either push changes from here to the Linaro repo or just use it and add AGL specific stuff through bbappend in meta-agl.
@vchong I have already sent a report to the AGL mailing list. It is better to keep the discussion in a single place. Could you please join the conversation and share your thought there?
https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-June/002109.html
I have been informed that @Yanok35  is on vacation until the end of the week. I will chat with him next week.

@leon-anavi

optee-os builds fine on Ubuntu 16.04 but fails on Ubuntu 14.04

This is purely by chance. The problem is still there and the same error can happen on a different Ubuntu 16.04 machine. Anyway, adding the DEPENDS will fix the issue regardless of versions so no worries.

We can either push changes from here to the Linaro repo or just use it and add AGL specific stuff through bbappend in meta-agl.

+1. Either way sounds fine. You should be able to just use them without changes since the builds are pretty generic, but..

I know that iot.bzh and Linaro and separate legal entities but we should find a way to work together on this because having two layers with different implementation and same name will cause a lot of confusion.
I have already sent a report to the AGL mailing list. It is better to keep the discussion in a single place. Could you please join the conversation and share your thought there?
https://lists.linuxfoundation.org/pipermail/automotive-discussions/2016-June/002109.html

.. I'm not really the person to talk to regarding this. @jbech-linaro @fboudra @koenkooi @d3zd3z @kuscsik do you guys have any comments, either here or preferably on the mailing list above?
Thanks!

Hi,
I just wanted to note that I responded to this issue by accident. I started watching this repo recently and when the email notification for this issue arrived, I responded thinking that this was for https://github.com/OP-TEE/optee_os.
Sorry for any confusion caused.

@vchong no worries, I highly appreciate your feedback. Thanks!

@leon-anavi OP-TEE recipes for OpenEmbbeded have been started a long time before we created meta-optee. The plan is to get the recipes in shape, in meta-optee and then get them merged into meta-oe. Obviously, we plan to maintain them. I also expect the recipes maintain by us to be the reference (vs iot.bzh). I'll reply on the ml shortly. Thanks.


chore(docs, examples): #147 - Added documentation regarding Status

Signed-off-by: grzesuav<EMAIL_ADDRESS>

thanks @AmitKumarDas @fpetkovski for comments !

:tada: This PR is included in version 1.5.19 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


linuxKernel: fix eval

Description of changes
When doing refactoring and suff, it's useful to be able to test evaluation of every package in the attribute set, as a smoke test.  Various things in linuxKernel didn't evaluate, but in each case it just required some small cleanup.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

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

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

[x] Fits CONTRIBUTING.md.

Hmm, why does this cause rebuilds? You'd think the assertions and/or broken would stop the packages from being built either way...?

It must be some OfBorg quirk, because as far as I can tell all of the attributes OfBorg says have changed are marked broken.


[BugFix] Fix multiply result error

What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #15455
Problem Summary(Required) ：

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_fe_unittest

run starrocks_fe_unittest


Duplicate Code in Test File

test_startproject.py contains the whole code for the test, I think there is no need for this file (test_startapp.py)

The name of the test is the same, but the command used is different.


Test for and provide recommendation for resolution when $ErrorActionPreference = Break is found in script

Summary of the new feature
With the upcoming new feature to allow $ErrorActionPreference to be set to a value of "Break" as per tweet from @SteveL-MSFT (https://twitter.com/Steve_MSFT/status/1171871656664420352) can we add a PSScriptAnalyzer test for this so that scripts do not make it in to a Production environment with this feature still present and enabled in a line of code.
Proposed technical implementation details (optional)
Test for
$ErrorActionPreference = "break"
or
$ErrorActionPreference = 'break'
recommend the line is removed entirely but might accept that it is commented out when code reaches production
What is the latest version of PSScriptAnalyzer at the point of writing
1.18.2

[PSAVoidUsingErrorActionEqualsBreak]


Can't specify output path when building a library project

🚀 Feature request
Command (mark with an x)

[x] build

Description
Enable the outputPath to be set on the commandLine when building a library.
This is reported as a (closed) bug in #12979
Use Case:
I want to define the output path from the command line.
In particular I am invoking 'ng build' from within another build tool/script.
Describe the solution you'd like
Enable the outputPath to be set on the commandLine when building a library.
Describe alternatives you've considered
considered trying to re-write the ng-package.json dynamically, but this seems the wrong way to go about doing something that should be possible without.

Hi, you can also replace the JSON config file with a JS file and provide the path via the project option were you have a bit more flexibility.
Example:
module.exports = {
  lib: {
    dest: 'dist',
    ...
  }
};

I personally think that we should not have an outputPath option for libraries. Because using this option will leave you with a broken application in case the library is consumed or tested within a workspace application. This is because a library is resolved using tsconfig path mappings which are defined in the root tsconfig, and every time the output path changes, they will need to be updated manually.

Thanks,
For my use case I would use the --outputPath when trying to build just the library. (from the other script)

leave you with a broken application
I see your point, but maybe this is a 'user beware', or perhaps there is a way to override the outputPath for the workspace as a whole when setting the command line option. So if you run the application, you would have to also set the command line --outputPath to the same value.


Unclear wording under the section 'testing'  in the Developer-Guide

The testing section under the Developer-Guide contains the following phrase

In general minimizing external or cross package test dependencies should be avoided to prevent circular dependencies and tightly coupled test packages.

With the current wording it conveys that minimizing external packages should be avoided.  How about rewording it to:

In general using external or cross package test dependencies should be minimized and avoided to prevent circular dependencies and tightly coupled test packages.

Yeah, I agree that is badly worded.  I'd go with:

In general external or cross package test dependencies should be minimized to prevent circular dependencies and tightly coupled test packages.

If you'd like to open up a PR with that change, I'd be happy to review it.

On it


chore(deps): update tubenhirn/semantic-release-github docker tag to v4.1.3

This PR contains the following updates:

Package
Update
Change

tubenhirn/semantic-release-github
patch
v4.1.2 -> v4.1.3

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

:tada: This PR is included in version 5.3.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


A draft for training on fixed kernel matrices/data in general

This is an idea on how to train on fixed data, like for example needed in cross-validation, where subsets of the same dataset are used for training.
I have added the following methods to CMachine: (not implemented except for data_unlock)
data_lock(): should prepare to train on fixed data (ie build kernel matrix), backups current labels
data_unlock(): should reverse the above
data_unlock() reverses everything
train_locked(SGMatrix<index_t> indices): trains on the locked data, but only on a subset, specified by indices, not implemented
A first implementation is in CKernelMachine:
data_lock(): backups kernel, builds kernel matrix, calls superclass method
data_unlock() reverses everything
train_locked(SGMatrix<index_t> indices): calls data_lock() if not happened yet. creates a custom kernel with only the data elements on lhs that are specified, and all data elements on rhs, this matrix is not computed but copied from the one of data_lock, calls train_machine with this kernel. (A subset of labels is also copied for this)
Then, apply(int32_t) may be called to apply he trained model to any index of the rhs (kernel matrix column)
When CMachine::train is called, data_unlock is called first.
In the example/test Ive created, the model is trained on a fixed kernel matrix for a few index combinations, then the svm predicts on ALL elements
This may now be used for cross-validation, so that for each cross-validation run, the kernel matrix is only computed once
Suggestions? :)

The motivation comes from the kernel machines
If you call train(SGVector indices), a kernel matrix has to be computed before, which then stays unchanged for all train(SGVector indices) calls. The locking is to exactly do this. Its like a preparation which has to be done before train(SGVector indices) can be called.
Note that all the train_machine methods work on the kernel and the labels directly, so in order to only train on a subset, these have to be replaced by the ones for the correct indices (kernel by custom kernel, labels by label subset). In particular, they have to be restored when the multiple trainings on the fixed matrix are done. Therefore some kind of backup of the oiginal references is needed.
It could all be done in the train(SGVector inds) methods (check if a fixed kernel matrix exists, if not, compute it), however:
The backup of the labels has to be done for all machines, therefore I put it in the superclass
Imagine you want to fix a kernel matrix, train multiple times, then fix another kernel matrix and train. How would you do that? There must exist some kind of possibility to reset the fixed stuff.
I think its nice to tell the machine: 1.) From now on data wont change 2.) train train train 3.) data may change again

Ive added the handling of this locked stuff in cross-validation.
There is an example which suggests that its faster. Kernel is only computed once.
I also introduced subsets for the CustomKernel. This way, copying is not necessary which might be handy for large kernel matrices)

I am now using the lock based training for some more real-life examples. Especially for model selection with string kernels, its much faster. It also kind of blends nice into the current cross-validation. Just lock the model before and go for it.
(Since its currently using apply(int32_t) it may be parallelized in the same way as apply() is for kernel machines.)

I still don't like the locking approach and will try to explain why below (if you have time today we can discuss in chat as well I should be available now until 6pm).
To me the right way to deal with such small x-validation scenarios (<10k examples; a setup I rarely have) is to manually pre-compute the kernel matrix beforehand and then do the x-validation. So IMHO there is no need for this kind of added complexity of locking / unlocking. Now one could argue "how about a gaussian kernel with multiple kernel parameters" I don't want to keep all customkernels for that in memory". One solution to this problem would be to pass the kernel to the custom kernel as MS parameter - but this is a rare setup (not being able to store all precomputed kernel matrices when you can store one).
Now I am wondering how one could implement speed up of general svm training by e.g. keeping the kernel cache across iterations: Not easy if you switch training examples (one would need to keep unused indices in the kernel cache and update indices properly), but certainly much easier when the kernel parameters and the data set is fixed and e.g. only svm hyperparameters are adjusted in the inner loop.


autoMergeToHead may not be setting the new graph head

@3noch reports that autoMergeToHead is operating differently from commit in that relvars seem to disappear instead of appearing merged in the new head transaction. I suspect that the new head is being set to an old transaction.

I am able to reproduce this. After running autoMergeToHead, the disconnected transaction is no longer at the head of the graph. There is something fundamentally wrong with the implementation.

Hey it works! Thanks!


BUG, when I search on GO terms I get FYPO terrms.

Only seesm to happen with this term though...

Sorry about that.  I've fixed the bug and the site is re-deploying now.  I'm off to bed.  If all goes well the site should be fixed in 30-ish minutes.


[SPARK-2991] Implement RDD lazy transforms for scanLeft and scan

Discussion of implementations:
http://erikerlandson.github.io/blog/2014/08/09/implementing-an-rdd-scanleft-transform-with-cascade-rdds/
http://erikerlandson.github.io/blog/2014/08/12/implementing-parallel-prefix-scan-as-a-spark-rdd-transform/

+1 for this. Useful feature to calculate distributed cumulative sum.

Any updates on this?  Will you publish this as part of Silex like you did with #1839?

@JoshRosen, yes I plan on adding this to silex in the near future.   If you like I can close it.

Build triggered.

Build started.

QA tests have started for PR 1909. This patch DID NOT merge cleanly! View progress: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/41794/consoleFull

QA results for PR 1909:- This patch FAILED unit tests.For more information see test ouptut:https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/41794/consoleFull

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/SparkPullRequestBuilder/41794/
Test FAILed.

I migrated this PR to the 3rd party silex project:
https://github.com/willb/silex/pull/28