The original resulted in the following error when `msvcp140.dll` was not present.
```console
PS C:\chia\chia-blockchain> ./install.ps1
Get-Item : Cannot find path 'C:\WINDOWS\System32\msvcp140.dll' because it does not exist.
At C:\chia\chia-blockchain\Install.ps1:9 char:11
+ if (-not (Get-Item "$env:windir\System32\msvcp140.dll").Exists)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\WINDOWS\System32\msvcp140.dll:String) [Get-Item], ItemNotFoundExcept
ion
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand
* plotting|harvester|tests: Improve batch processing
Let it only process `batch_size` files per `refresh_batch` call.
* plotting: Improve thread shutdown
* List unopenable plots at end of plots check
https://github.com/Chia-Network/chia-blockchain/issues/2825
* f-string
* use os.fspath() for logging bad plots from plots check
* drop .keys() in len() check
* stop using os.fspath() for log output in check plots
* Update stale-issue.yml
minor QoL updates to wording based on feedback and changed stale PR threshold from 60 days to 45
* Update stale-issue.yml
battling the whitespace yaml demons
* Update stale-issue.yml
battling the whitespace yaml demons
* Update stale-issue.yml
added a EoF newline.
I hate yaml
* Update stale-issue.yml
removing and re-adding newline in a new format to try to appease the pre-commit gods
When the `>` approach was used the `'` became part of the text. Note https://github.com/Chia-Network/chia-blockchain/issues/8344#issuecomment-938552667 vs. https://github.com/Chia-Network/chia-blockchain/issues/8629#issuecomment-943250731.
```console
$ python -c 'import yaml; f = open(".github/workflows/stale-issue.yml"); x = yaml.safe_load(f); print(x)'
{'name': 'Close stale issues', True: {'schedule': [{'cron': '0 11 * * *'}]}, 'jobs': {'stale': {'runs-on': 'ubuntu-latest', 'steps': [{'uses': 'chia-network/stale@main', 'with': {'operations-per-run': 10000, 'ascending': True, 'days-before-issue-stale': 14, 'days-before-issue-close': 7, 'days-before-pr-stale': 60, 'days-before-pr-close': -1, 'exempt-all-pr-milestones': True, 'exempt-all-issue-milestones': True, 'exempt-all-assignees': True, 'stale-issue-label': 'stale-issue', 'stale-pr-label': 'stale-pr', 'remove-stale-when-updated': True, 'stale-issue-message': "'This issue has been flagged as stale, as there has been no activity on it in the last 14 days. If this issue is still affecting you and in need of further review, please comment on it with an update to keep it open.'\n", 'close-issue-message': "'This issue was automatically closed because it has been flagged as stale, and subsequently passed 7 days with no further activity from the submitter or watchers.'\n", 'stale-pr-message': "'This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties.'\n"}}]}}}
```
```console
$ git diff
diff --git a/.github/workflows/stale-issue.yml b/.github/workflows/stale-issue.yml
index 2c7c5839a..1ddb819c6 100644
--- a/.github/workflows/stale-issue.yml
+++ b/.github/workflows/stale-issue.yml
@@ -22,16 +22,16 @@ jobs:
stale-pr-label: stale-pr
remove-stale-when-updated: true
stale-issue-message: >
- 'This issue has been flagged as stale, as there has been no
+ This issue has been flagged as stale, as there has been no
activity on it in the last 14 days. If this issue is still
affecting you and in need of further review, please comment
- on it with an update to keep it open.'
+ on it with an update to keep it open.
close-issue-message: >
- 'This issue was automatically closed because it has been flagged
+ This issue was automatically closed because it has been flagged
as stale, and subsequently passed 7 days with no further activity
- from the submitter or watchers.'
+ from the submitter or watchers.
stale-pr-message: >
- 'This PR has been flagged as stale due to no activity for over 60
+ This PR has been flagged as stale due to no activity for over 60
days. It will not be automatically closed, but it has been given a
stale-pr label and should be manually reviewed by the relevant
- parties.'
+ parties.
```
```console
$ venv/bin/python -c 'import yaml; f = open(".github/workflows/stale-issue.yml"); x = yaml.safe_load(f); print(x)'
{'name': 'Close stale issues', True: {'schedule': [{'cron': '0 11 * * *'}]}, 'jobs': {'stale': {'runs-on': 'ubuntu-latest', 'steps': [{'uses': 'chia-network/stale@main', 'with': {'operations-per-run': 10000, 'ascending': True, 'days-before-issue-stale': 14, 'days-before-issue-close': 7, 'days-before-pr-stale': 60, 'days-before-pr-close': -1, 'exempt-all-pr-milestones': True, 'exempt-all-issue-milestones': True, 'exempt-all-assignees': True, 'stale-issue-label': 'stale-issue', 'stale-pr-label': 'stale-pr', 'remove-stale-when-updated': True, 'stale-issue-message': 'This issue has been flagged as stale, as there has been no activity on it in the last 14 days. If this issue is still affecting you and in need of further review, please comment on it with an update to keep it open.\n', 'close-issue-message': 'This issue was automatically closed because it has been flagged as stale, and subsequently passed 7 days with no further activity from the submitter or watchers.\n', 'stale-pr-message': 'This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties.\n'}}]}}}
```
Adding the `-` after the `>` additionally avoids the trailing newline.
```console
$ git diff
diff --git a/.github/workflows/stale-issue.yml b/.github/workflows/stale-issue.yml
index 2c7c5839a..1bee15516 100644
--- a/.github/workflows/stale-issue.yml
+++ b/.github/workflows/stale-issue.yml
@@ -21,17 +21,17 @@ jobs:
stale-issue-label: stale-issue
stale-pr-label: stale-pr
remove-stale-when-updated: true
- stale-issue-message: >
- 'This issue has been flagged as stale, as there has been no
+ stale-issue-message: >-
+ This issue has been flagged as stale, as there has been no
activity on it in the last 14 days. If this issue is still
affecting you and in need of further review, please comment
- on it with an update to keep it open.'
- close-issue-message: >
- 'This issue was automatically closed because it has been flagged
+ on it with an update to keep it open.
+ close-issue-message: >-
+ This issue was automatically closed because it has been flagged
as stale, and subsequently passed 7 days with no further activity
- from the submitter or watchers.'
- stale-pr-message: >
- 'This PR has been flagged as stale due to no activity for over 60
+ from the submitter or watchers.
+ stale-pr-message: >-
+ This PR has been flagged as stale due to no activity for over 60
days. It will not be automatically closed, but it has been given a
stale-pr label and should be manually reviewed by the relevant
- parties.'
+ parties.
```
```console
$ python -c 'import yaml; f = open(".github/workflows/stale-issue.yml"); x = yaml.safe_load(f); print(x)'
{'name': 'Close stale issues', True: {'schedule': [{'cron': '0 11 * * *'}]}, 'jobs': {'stale': {'runs-on': 'ubuntu-latest', 'steps': [{'uses': 'chia-network/stale@main', 'with': {'operations-per-run': 10000, 'ascending': True, 'days-before-issue-stale': 14, 'days-before-issue-close': 7, 'days-before-pr-stale': 60, 'days-before-pr-close': -1, 'exempt-all-pr-milestones': True, 'exempt-all-issue-milestones': True, 'exempt-all-assignees': True, 'stale-issue-label': 'stale-issue', 'stale-pr-label': 'stale-pr', 'remove-stale-when-updated': True, 'stale-issue-message': 'This issue has been flagged as stale, as there has been no activity on it in the last 14 days. If this issue is still affecting you and in need of further review, please comment on it with an update to keep it open.', 'close-issue-message': 'This issue was automatically closed because it has been flagged as stale, and subsequently passed 7 days with no further activity from the submitter or watchers.', 'stale-pr-message': 'This PR has been flagged as stale due to no activity for over 60 days. It will not be automatically closed, but it has been given a stale-pr label and should be manually reviewed by the relevant parties.'}}]}}}
```
* use a conftest.py for shared blockchain fixtures
* try delaying import
* Revert "try delaying import"
This reverts commit f86cc305b1.
* debug
* debug
* debug
* create the .chia dir for tests before creating a broken symlink
* go back
* delay more imports
* black
* provide an explanatory TODO
* Apply suggestions from code review
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
Co-authored-by: dustinface <35775977+xdustinface@users.noreply.github.com>
* plotting|harvester|tests: Drop `loaded_size` from `PlotRefreshResult`
* rename: Drop `_plots` and `_files` suffixes in `PlotRefreshResult`
* plotting: Drop `PlotRefreshResult.__add__`
I introduced it but i don't really like it because its not a "real" add
any only works in one direction because of `remaining`.
* Expose GUI option to save passphrase (where available)
Prevent GUI from showing the option to remove migrated keys
* Backend support for getting/setting the passphrase hint. The hint data is stored in keyring.yaml in the clear.
* CLI support for showing/setting/removing the passphrase hint
* Tests for setting/retrieving passphrase hints
* Squelch LGTM false positive
* Fixed issue when running without passphrase support enabled
* CLI updates based on feedback
* Initialize passphrase_hint earlier.
* Minor restructuring to address linter complaint.
* github: Add `pre-commit.yml`
This runs `pre-commit` as github action for all PRs and on pushes to
`main`.
* github: Drop trailing whitespaces in `stale_issue.yml`
* setup: Ignore type errors for `setup` call
* simplify and extend the coin store benchmark to include lookups by coin ID and get_coin_removed_at_height
* remove coin_spent index from coin store table. It's not necessary and slows down updates (and caused one mistaken query plan)
* tests: Add missing result assertions in `test_farmer_harvester_rpc.py`
I forgot to add those in 0b0edd11a1.
* tests: Introduce `test_refresh_results`
This is just some refactoring to simplify the result checks.
* tests: Add comment with the reason for the unusual test behaviour
* Fixes cherry-picked from fix_keyring_tests.
* Logging for the failing test_using_legacy_cryptfilekeyring test
* See if reordering the tests makes a difference.
* Revert "See if reordering the tests makes a difference."
This reverts commit b53807880b.
* Log changes to the _configure_legacy_backend patch
* Fixed patching
* Checking if something isn't cleaned up properly
* Revert "Checking if something isn't cleaned up properly"
This reverts commit ce995ba773.
* Revert "Fixed patching"
This reverts commit 66a70a16ff.
* Revert "Log changes to the _configure_legacy_backend patch"
This reverts commit 26791a40b7.
* Revert "Logging for the failing test_using_legacy_cryptfilekeyring test"
This reverts commit 4fd4873565.
* Move test_keyring_wrapper.py into a standalone test
* Small refactorings/changes per feedback
* Before calling gethostbyname(), check to see if we already have an address.
That prevents an unnecessary call, and also allows for specifying IPv6
addresses which otherwise cause exceptions here.
* Also recognize addresses when passed to timelord spawn_process, so that
IPv6 addresses can be used.
* Missed importing PeerInfo
* Adjust style to match requirements and existing code
* Cast PeerInfo port to uint16
* Allow experimental use of clvm_tools_rs via env var
* Final version of load_clvm. handle module paths
* Fix some lint hopefully
* Opps
* lint
* More lint
* black format
* farmer|tests: Update cache more frequent for `test_get_harvesters`
* tests: Increase interval between harvester checks
To avoid spamming logs by excessive plot refreshing and cache updates.
* tests: Log error messages if `get_harvesters` returns unexpected data
* tests: Trigger plot refresh on the harvester in `test_get_harvesters`
* tests: Don't assert in `test_refresh_callback`
This lead to a crash of the plot refreshing thread and with this it
silently failed. With this change its at least possible to see which
value is incorrect.
* Fix to allow migration of keys on macOS
* Fixed file_keyring synchronization test failures on macOS.
Fixed sporadic test failures on macOS when fsevents are delivered for the keyring after deletion.
TempKeyring-based tests now patch supports_os_passphrase_storage() to return False.
* Fixed LGTM issues
* Re-added the cleaning up temp keychain statement. This is being removed in a separate PR.
* Windows keyring passphrase support
* Test tweaks for Windows (mostly to support my slow VM)
* Linter fixes
* Restored prompt_for_passphrase() function which was accidentally removed during a rebase.
* Added CHIA_PASSPHRASE_SUPPORT env variable to allow more testing
* Add points found 24h to CLI reporting
The points_found_24h seems to include more data than that so first it
gets filtered down to the past 24 hours. This additionally affects the
existing percent successful points 24 hours number. Which is actually
the percent of partials successful, not points. This could differ a bit
if the difficulty is changed during the relevant period.
* remove 24 hour data truncation
To be handled by #7906 or similar.
https://github.com/Chia-Network/chia-blockchain/pull/7906
* cleanup
* shorten lines for linting
* success_pct = 0.0 for mypy
* truncate points_found_24h to 24 hours at each signage point
* remove extra blank line
* truncate both points_found_24h and points_acknowledged_24h to 24 hours
* also strip pool_errors_24h down to 24 hours
* Revert "also strip pool_errors_24h down to 24 hours"
This reverts commit 69183c1938.
* move 24h truncation to after pool communication
* truncate 24h lists after notifying harvester of signage point
* add testing for 24h age-out
* actually query pool state through the API
* Add return hint for strip_old_entries()
* remove unused Sequence import