Improve performance of static hosting transformation during conversion

Bug/issue #, if applicable: rdar://92585059
Summary
As outlined in #165, we recently discovered that our benchmarking tools did not measure the time it takes to perform the work done by static hosting transformation during a regular conversion. This means we missed a rather large (~40%) performance regression introduced by enabling static hosting transformation by default in #121.
The proposed solution here is to integrate the static hosting transformation into the existing work being done to write Render JSON files to disk. This has two immediate benefits: First, the creation of the index.html files will be done in parallel since the RenderJSON creation is already parallelized. Second, we won't need to re-walk the file system to determine the correct paths to write the index.html files based on where Render JSON files are written. We'll just create two files whenever we create a Render JSON file.
Testing
This should be a non-functional change. Confirm that DocC archives produced by docc convert continue to be compatible with static hosting and that performance has not been regressed.
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[ ] Added tests
[x] Ran the ./bin/test script and it succeeded
[x] Updated documentation if necessary

Initial benchmark results here are looking good:
TestFramework-5:
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -1.04%     | 2.97                 | 2.94                 |
| Duration for 'convert-action' (sec)      | +8.69%     | 4.27                 | 4.64                 |
| Duration for 'convert-total-time' (sec)  | -31.66%    | 7.03                 | 4.80                 |
| Duration for 'finalize-navigation-index' | +1.39%     | 0.07                 | 0.07                 |
| Duration for 'navigation-index' (sec)    | -53.85%    | 0.01                 | 0.01                 |
| Peak memory footprint (MB)               | +0.62%     | 202.77               | 204.04               |
| Data subdirectory size (MB)              | no change  | 57.30                | 57.30                |
| Index subdirectory size (MB)             | no change  | 0.47                 | 0.47                 |
| Total DocC archive size (MB)             | no change  | 75.59                | 75.59                |
| Topic Anchor Checksum                    | no change  | 65d4ff3050cd1106a21b | 65d4ff3050cd1106a21b |
| Topic Graph Checksum                     | no change  | 0a64c740a2ed5a246836 | 0a64c740a2ed5a246836 |
+-----------------------------------------------------------------------------------------------------+
TestFramework-10:
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -0.35%     | 5.93                 | 5.91                 |
| Duration for 'convert-action' (sec)      | +13.53%    | 8.66                 | 9.84                 |
| Duration for 'convert-total-time' (sec)  | -28.92%    | 14.27                | 10.14                |
| Duration for 'finalize-navigation-index' | no change  | 0.14                 | 0.14                 |
| Duration for 'navigation-index' (sec)    | -50.00%    | 0.03                 | 0.01                 |
| Peak memory footprint (MB)               | +0.47%     | 364.90               | 366.63               |
| Data subdirectory size (MB)              | no change  | 114.86               | 114.86               |
| Index subdirectory size (MB)             | no change  | 0.95                 | 0.95                 |
| Total DocC archive size (MB)             | no change  | 150.63               | 150.63               |
| Topic Anchor Checksum                    | no change  | c8f03d4e81da8e3b6d7f | c8f03d4e81da8e3b6d7f |
| Topic Graph Checksum                     | no change  | edce22bce4f8de475a5e | edce22bce4f8de475a5e |
+-----------------------------------------------------------------------------------------------------+
TestFramework-25:
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -1.78%     | 15.19                | 14.92                |
| Duration for 'convert-action' (sec)      | +11.45%    | 21.88                | 24.38                |
| Duration for 'convert-total-time' (sec)  | -30.87%    | 36.38                | 25.15                |
| Duration for 'finalize-navigation-index' | -2.01%     | 0.35                 | 0.34                 |
| Duration for 'navigation-index' (sec)    | -50.70%    | 0.07                 | 0.04                 |
| Peak memory footprint (MB)               | +0.93%     | 839.95               | 847.78               |
| Data subdirectory size (MB)              | no change  | 287.69               | 287.69               |
| Index subdirectory size (MB)             | no change  | 2.41                 | 2.41                 |
| Total DocC archive size (MB)             | no change  | 375.91               | 375.91               |
| Topic Anchor Checksum                    | no change  | 9a675b9ad6d69f8b7f0c | 9a675b9ad6d69f8b7f0c |
| Topic Graph Checksum                     | no change  |<PHONE_NUMBER>84b5131a37 |<PHONE_NUMBER>84b5131a37 |
+-----------------------------------------------------------------------------------------------------+

TestFramework-50:
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -1.74%     | 30.78                | 30.25                |
| Duration for 'convert-action' (sec)      | +14.83%    | 44.86                | 51.51                |
| Duration for 'convert-total-time' (sec)  | -27.53%    | 73.21                | 53.06                |
| Duration for 'finalize-navigation-index' | -2.55%     | 0.71                 | 0.69                 |
| Duration for 'navigation-index' (sec)    | -48.61%    | 0.14                 | 0.07                 |
| Peak memory footprint (MB)               | -0.98%     | 1615.74              | 1599.92              |
| Data subdirectory size (MB)              | no change  | 578.76               | 578.76               |
| Index subdirectory size (MB)             | no change  | 4.84                 | 4.84                 |
| Total DocC archive size (MB)             | no change  | 754.42               | 754.42               |
| Topic Anchor Checksum                    | no change  | 08d0a84bec913460905f | 08d0a84bec913460905f |
| Topic Graph Checksum                     | no change  | 74d25c4f1ee185ad5676 | 74d25c4f1ee185ad5676 |
+-----------------------------------------------------------------------------------------------------+

@swift-ci please test

@swift-ci please test

@swift-ci please test

Latest changes have fully addressed the performance regression. This is the result of benchmarking this PR versus #237 which has the static transformation feature enablement reverted.
While there's still a slight increase in documentation processing, the performance gains found in bundle registration lead to a consistently lower total time for conversion.
TestFramework-5
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -12.26%    | 2.94                 | 2.58                 |
| Duration for 'convert-total-time' (sec)  | -7.71%     | 4.44                 | 4.10                 |
| Duration for 'documentation-processing'  | +1.06%     | 1.32                 | 1.34                 |
| Duration for 'finalize-navigation-index' | +6.94%     | 0.07                 | 0.08                 |
| Peak memory footprint (MB)               | -0.24%     | 207.40               | 206.91               |
| Data subdirectory size (MB)              | no change  | 57.31                | 57.31                |
| Index subdirectory size (MB)             | no change  | 0.47                 | 0.47                 |
| Total DocC archive size (MB)             | +23.95%    | 60.99                | 75.60                |
| Topic Anchor Checksum                    | no change  | 65d4ff3050cd1106a21b | 65d4ff3050cd1106a21b |
| Topic Graph Checksum                     | no change  | 0a64c740a2ed5a246836 | 0a64c740a2ed5a246836 |
+-----------------------------------------------------------------------------------------------------+
TestFramework-10
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -12.99%    | 5.94                 | 5.17                 |
| Duration for 'convert-total-time' (sec)  | -7.12%     | 8.83                 | 8.20                 |
| Duration for 'documentation-processing'  | +5.37%     | 2.57                 | 2.71                 |
| Duration for 'finalize-navigation-index' | +6.43%     | 0.14                 | 0.15                 |
| Peak memory footprint (MB)               | -1.47%     | 368.59               | 363.18               |
| Data subdirectory size (MB)              | no change  | 114.62               | 114.62               |
| Index subdirectory size (MB)             | no change  | 0.95                 | 0.95                 |
| Total DocC archive size (MB)             | +24.10%    | 121.18               | 150.38               |
| Topic Anchor Checksum                    | no change  | c8f03d4e81da8e3b6d7f | c8f03d4e81da8e3b6d7f |
| Topic Graph Checksum                     | no change  | edce22bce4f8de475a5e | edce22bce4f8de475a5e |
+-----------------------------------------------------------------------------------------------------+
TestFramework-25
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -12.68%    | 15.14                | 13.22                |
| Duration for 'convert-total-time' (sec)  | -5.22%     | 22.96                | 21.76                |
| Duration for 'documentation-processing'  | +10.74%    | 6.99                 | 7.74                 |
| Duration for 'finalize-navigation-index' | +7.00%     | 0.34                 | 0.37                 |
| Peak memory footprint (MB)               | -0.11%     | 850.75               | 849.77               |
| Data subdirectory size (MB)              | no change  | 287.86               | 287.86               |
| Index subdirectory size (MB)             | no change  | 2.41                 | 2.41                 |
| Total DocC archive size (MB)             | +24.08%    | 303.11               | 376.09               |
| Topic Anchor Checksum                    | no change  | 9a675b9ad6d69f8b7f0c | 9a675b9ad6d69f8b7f0c |
| Topic Graph Checksum                     | no change  |<PHONE_NUMBER>84b5131a37 |<PHONE_NUMBER>84b5131a37 |
+-----------------------------------------------------------------------------------------------------+

TestFramework-50
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -13.87%    | 30.78                | 26.51                |
| Duration for 'convert-total-time' (sec)  | -1.18%     | 46.61                | 46.06                |
| Duration for 'documentation-processing'  | +25.76%    | 14.21                | 17.88                |
| Duration for 'finalize-navigation-index' | +6.43%     | 0.70                 | 0.74                 |
| Peak memory footprint (MB)               | +0.09%     | 1607.71              | 1609.20              |
| Data subdirectory size (MB)              | no change  | 578.44               | 578.44               |
| Index subdirectory size (MB)             | no change  | 4.84                 | 4.84                 |
| Total DocC archive size (MB)             | +24.00%    | 608.16               | 754.10               |
| Topic Anchor Checksum                    | no change  | 08d0a84bec913460905f | 08d0a84bec913460905f |
| Topic Graph Checksum                     | no change  | 74d25c4f1ee185ad5676 | 74d25c4f1ee185ad5676 |
+-----------------------------------------------------------------------------------------------------+

@swift-ci please test

Latest benchmark results versus #237 (which temporarily reverted the enablement of static hosting by default), show the performance regression to be fully addressed:
TestFramework-5
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -12.12%    | 2.99                 | 2.62                 |
| Duration for 'convert-total-time' (sec)  | -9.44%     | 4.44                 | 4.02                 |
| Duration for 'documentation-processing'  | -4.83%     | 1.28                 | 1.22                 |
| Duration for 'finalize-navigation-index' | +8.45%     | 0.07                 | 0.08                 |
| Peak memory footprint (MB)               | -7.31%     | 202.24               | 187.46               |
| Data subdirectory size (MB)              | no change  | 57.34                | 57.34                |
| Index subdirectory size (MB)             | no change  | 0.47                 | 0.47                 |
| Total DocC archive size (MB)             | +21.97%    | 61.02                | 74.43                |
| Topic Anchor Checksum                    | no change  | 65d4ff3050cd1106a21b | 65d4ff3050cd1106a21b |
| Topic Graph Checksum                     | no change  | 0a64c740a2ed5a246836 | 0a64c740a2ed5a246836 |
+-----------------------------------------------------------------------------------------------------+
TestFramework-10
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -12.40%    | 5.93                 | 5.20                 |
| Duration for 'convert-total-time' (sec)  | -7.13%     | 8.81                 | 8.19                 |
| Duration for 'documentation-processing'  | +3.97%     | 2.57                 | 2.67                 |
| Duration for 'finalize-navigation-index' | +5.07%     | 0.14                 | 0.14                 |
| Peak memory footprint (MB)               | -6.26%     | 370.53               | 347.34               |
| Data subdirectory size (MB)              | no change  | 114.60               | 114.60               |
| Index subdirectory size (MB)             | no change  | 0.95                 | 0.95                 |
| Total DocC archive size (MB)             | +22.12%    | 121.16               | 147.96               |
| Topic Anchor Checksum                    | no change  | c8f03d4e81da8e3b6d7f | c8f03d4e81da8e3b6d7f |
| Topic Graph Checksum                     | no change  | edce22bce4f8de475a5e | edce22bce4f8de475a5e |
+-----------------------------------------------------------------------------------------------------+
TestFramework-25.json
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -10.34%    | 14.94                | 13.39                |
| Duration for 'convert-total-time' (sec)  | -3.79%     | 22.41                | 21.56                |
| Duration for 'documentation-processing'  | +10.20%    | 6.69                 | 7.37                 |
| Duration for 'finalize-navigation-index' | +5.17%     | 0.35                 | 0.37                 |
| Peak memory footprint (MB)               | -3.76%     | 852.52               | 820.46               |
| Data subdirectory size (MB)              | no change  | 288.22               | 288.22               |
| Index subdirectory size (MB)             | no change  | 2.41                 | 2.41                 |
| Total DocC archive size (MB)             | +22.07%    | 303.47               | 370.44               |
| Topic Anchor Checksum                    | no change  | 9a675b9ad6d69f8b7f0c | 9a675b9ad6d69f8b7f0c |
| Topic Graph Checksum                     | no change  |<PHONE_NUMBER>84b5131a37 |<PHONE_NUMBER>84b5131a37 |
+-----------------------------------------------------------------------------------------------------+
TestFramework-50
+-----------------------------------------------------------------------------------------------------+
| Metric                                   | Change     | Before               | After                |
+-----------------------------------------------------------------------------------------------------+
| Duration for 'bundle-registration' (sec) | -13.29%    | 30.92                | 26.81                |
| Duration for 'convert-total-time' (sec)  | -1.45%     | 46.74                | 46.07                |
| Duration for 'documentation-processing'  | +24.05%    | 14.19                | 17.60                |
| Duration for 'finalize-navigation-index' | +4.77%     | 0.71                 | 0.75                 |
| Peak memory footprint (MB)               | -4.47%     | 1651.11              | 1577.34              |
| Data subdirectory size (MB)              | no change  | 579.00               | 579.00               |
| Index subdirectory size (MB)             | no change  | 4.84                 | 4.84                 |
| Total DocC archive size (MB)             | +22.00%    | 608.72               | 742.66               |
| Topic Anchor Checksum                    | no change  | 08d0a84bec913460905f | 08d0a84bec913460905f |
| Topic Graph Checksum                     | no change  | 74d25c4f1ee185ad5676 | 74d25c4f1ee185ad5676 |
+-----------------------------------------------------------------------------------------------------+

Force-pushed a couple of incorrect isDirectory values that @d-ronnqvist pointed out. Here's the diff: https://github.com/apple/swift-docc/compare/c9d615aa91ce47e75d229a7c169df043f4b6009b..4610c6042b4058c145f341aecc201ab6b9c9d926.
Thanks David!


Endpoint Proposal (Adam's)

Here are my initial thoughts for OFAC endpoints.
We'd serve all endpoints at https://api.moov.io/v1/ofac/
POST /search/address
"Search for address records matching the given search criteria."

POST /search/name?k=v
- Perform a fuzzy search for an individual on the OFAC SDN List.

POST /search/alt?k=v
- Search for alternate name records matching the given search criteria.

POST /search/company?k=v
- Perform a fuzzy search for a company on the OFAC SDN List.

GET /sdn/:id/addresses
- Retrieve a complete list of address records given a SDN entity number.

GET /sdn/:id/alternateNames
- Retrieve a complete list of alternate name records given a SDN entity number.

GET /sdn/:id
Retrieve a single SDN record given its entity number.

POST /customers/:id/watch
- Add a customer to be monitored

POST /customers/name/:name/watch
- Add a customer to be monitored, using an unparsed full name. The API will automatically parse the name as the customer is added, and return a parsed version for your records.

GET /customers/:id
- Returns customer information and potential matches found.

PUT /customers/:id
// Update a customer's status to 'safe', 'unsafe' or 'exception'. Possible use cases might be: After reviewing potential matches on a customer with a status of 'inspect', mark the customer as an 'exception' (in the case where the potential match was a false positive), or 'unsafe' (in the case where the potential match was correct). A customer marked as 'exception' or 'unsafe' may be updated to 'safe', which will automatically trigger a reverification of the record. Note that a reverification may result in the record being flagged as 'inspect', in which case you will need to review the potential matches via the inspectCustomer endpoint, or by logging in.

DELETE /customers/:id/watch
- Remove a customer from monitoring, typically when you no longer do business with the customer, or the customer has updated their first and/or last name in your records. Note that removing a customer will purge any historic log information for that customer, along with all other associated records.

POST /companies/:id/watch

GET /companies/:id
- Returns Company information and potential matches found.

POST /companies/:id
// Update a company's status to 'safe', 'unsafe' or 'exception'. Possible use cases might be: After reviewing potential matches on a company with a status of 'inspect', mark the company as an 'exception' (in the case where the potential match was a false positive), or 'unsafe' (in the case where the potential match was correct). A company marked as 'exception' or 'unsafe' may be updated to 'safe', which will automatically trigger a reverification of the record. Note that a reverification may result in the record being flagged as 'inspect', in which case you will need to review the potential matches via the inspectCompany endpoint, or by logging in.

DELETE /companies/:id/watch
- Remove a company from monitoring, typically when you no longer do business with the company, or the company has updated their name in your records. Note that removing a company will purge any historic log information for that customer, along with all other associated records.

Do we want a search on all programs?

Do we want a search on all programs?

I'm not sure what you mean. The top mentions https://api.moov.io/v1/ofac/ as the base, so https://api.moov.io/v1/ofac/search/address would be a full URL.

For the customers and companies, are we going to retain customer and company data? its ok if we are, I'm just wondering.

At least in the downloaded files and in a database we use, yes. I don't know if GDPR impacts this data storage.

Hey Adam,
At https://sanctionssearch.ofac.treas.gov/, earch can be based on type, program, ID#.  I'm not sure ACH would need that, but it may be useful to be able to search specifically on Cyber2.

Good point on checking all of the lists for ach.  I think that is probably the way to go, SDN (SDN Comments), Alternate ID, and Address for all types and all programs.   NON-SDN and other lists may be additional enhancement issues we want to do.    Still getting my arms around the scope/needs.


It should be possible to configure network gas

Is your feature request related to a problem? Please describe.
It should be possible to change the gas price configuration.
Describe the solution you'd like
Additional context

old one already implemented


Bugfix type inspection for nullable function parameter

Two bugs are resolved:

The type for function parameters were not being considered nullable if a parameter was optional
BinOpExpressions which performed a null check was incorrectly returning None as the type

Resolves #135


Csrng/edn flags field MuBi4

Implemented flags field in command as a MuBi4 in both block-level dv and rtl. @tjaychen indicated he will make the necessary chip-level changes.

Fixed bot stuff

Looks like this somehow causes chip level failures on the following two tests:

csrng_smoketest
crypto/drivers:entropy_test
csrng_kat_test

//sw/device/tests:csrng_smoketest_fpga_cw310_test_rom                   TIMEOUT in 2 out of 2 in 60.0s
  Stats over 2 runs: max = 60.0s, min = 60.0s, avg = 60.0s, dev = 0.0s
  /root/.cache/bazel/_bazel_root/5e4f8c833cf3a422fdf6ca333dd151d7/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/testlogs/sw/device/tests/csrng_smoketest_fpga_cw310_test_rom/test.log
  /root/.cache/bazel/_bazel_root/5e4f8c833cf3a422fdf6ca333dd151d7/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/testlogs/sw/device/tests/csrng_smoketest_fpga_cw310_test_rom/test_attempts/attempt_1.log
//sw/device/lib/crypto/drivers:entropy_test_fpga_cw310_test_rom          FAILED in 2 out of 2 in 1.7s
  Stats over 2 runs: max = 1.7s, min = 1.7s, avg = 1.7s, dev = 0.0s
  /root/.cache/bazel/_bazel_root/5e4f8c833cf3a422fdf6ca333dd151d7/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/testlogs/sw/device/lib/crypto/drivers/entropy_test_fpga_cw310_test_rom/test.log
  /root/.cache/bazel/_bazel_root/5e4f8c833cf3a422fdf6ca333dd151d7/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/testlogs/sw/device/lib/crypto/drivers/entropy_test_fpga_cw310_test_rom/test_attempts/attempt_1.log
//sw/device/tests:csrng_kat_test_fpga_cw310_test_rom                     FAILED in 2 out of 2 in 1.8s
  Stats over 2 runs: max = 1.8s, min = 1.8s, avg = 1.8s, dev = 0.0s
  /root/.cache/bazel/_bazel_root/5e4f8c833cf3a422fdf6ca333dd151d7/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/testlogs/sw/device/tests/csrng_kat_test_fpga_cw310_test_rom/test.log
  /root/.cache/bazel/_bazel_root/5e4f8c833cf3a422fdf6ca333dd151d7/execroot/lowrisc_opentitan/bazel-out/k8-fastbuild/testlogs/sw/device/tests/csrng_kat_test_fpga_cw310_test_rom/test_attempts/attempt_1.log

yeah sorry i need to look into that. Most likely the testutils or the difs need an update.

the rtl changes look good to me, but other software folks should chime in to review the other changes.
@bilgiday can you have a look at the RTL changes also to make sure it addresses your concern?

thanks for the review @bilgiday .
@mwbranstad / @senelson7 please go ahead and merge.


Issue running pre-trained weights

Hi,
Great work and impressive results!  I'm trying to run your pretrained weights, and I'm getting the following errors for both the MVSFormer and MVSFormer-Blended weights.
    model = TwinMVSNet(config['arch']['args'])   File "/source/models/mvsformer_model.py", line 329, in __init__     self.vit = gvts.alt_gvt_small()   File "/source/models/gvt.py", line 552, in __init__     super(alt_gvt_small, self).__init__(   File "/source/models/gvt.py", line 469, in __init__     super(ALTGVT, self).__init__(img_size, patch_size, in_chans, num_classes, embed_dims, num_heads,   File "/source/models/gvt.py", line 458, in __init__     super(PCPVT, self).__init__(img_size, patch_size, in_chans, num_classes, embed_dims, num_heads,   File "/source/models/gvt.py", line 386, in __init__     super(CPVTV2, self).__init__(img_size, patch_size, in_chans, num_classes, embed_dims, num_heads, mlp_ratios,   File "/source/models/gvt.py", line 276, in __init__     _block = nn.ModuleList([block_cls(   File "/source/models/gvt.py", line 276, in <listcomp>     _block = nn.ModuleList([block_cls(   File "/source/models/gvt.py", line 205, in __init__     super(GroupBlock, self).__init__(dim, num_heads, mlp_ratio, qkv_bias, qk_scale, drop, attn_drop,   File "/opt/conda/lib/python3.8/site-packages/timm/models/vision_transformer.py", line 257, in __init__     self.attn = Attention(dim, num_heads=num_heads, qkv_bias=qkv_bias, attn_drop=attn_drop, proj_drop=drop)   File "/opt/conda/lib/python3.8/site-packages/timm/models/vision_transformer.py", line 213, in __init__     self.proj_drop = nn.Dropout(proj_drop)   File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/dropout.py", line 14, in __init__     if p < 0 or p > 1:
Have you seen this issue? I'm able to use the -P weights, but are they slower than the normal pertained weights?
Thanks,

I was able to run the code by replacing line 7 of gvt.py with:
from models.vision_transformer import Block as TimmBlock
Is this correct?
Thanks.

Sorry for the late response. You can try to install timm==0.3.2.
Besides, models.vision_transformer.Block is the same as the one in timm0.3.2 (vision_transformer.Block has one more arg return_attention to return the attention map).

Great, thanks for the explanation.  This worked.  Closing the issue now.


Support http/https entries on classpath

Abstract NestedJarHandler to be able to handle other temporary file types too, and then implement jar downloading for http/https classpath entries.

Closing dup


Publish new version (0.3.6?) to crates.io

I would like to publish an initial version of my spidev crate (https://github.com/posborne/rust-spidev/tree/master), but that is dependent on the new ioctl code.  Publishing a new version would be appreciated.

Here you go: https://crates.io/crates/nix/0.3.6


Time to close market

Maybe need add the ability to specify time to close market. Hours, minutes. Before event will be known. This will be useful for sporting markets, If the market maker is not able to follow the game

Duplicate of #200.


Add files

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9cdec0c). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage          ?   76.19%
=========================================
  Files             ?        1
  Lines             ?       21
  Branches          ?        0
=========================================
  Hits              ?       16
  Misses            ?        5
  Partials          ?        0

Flag
Coverage Δ

unittests
76.19% <0.00%> (?)

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

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9cdec0c...137a55c. Read the comment docs.


Notification badge for journal tab to point user to the exposure history

Feature description
If the user has more than 1 exposure with increased risk, a red notification badge should appear on the journal tab to point the user to the exposure history. Best would be, after the tab is opened for the first time and a notification badge is present, a splash screen is shown which explains what can be found here.
Problem and motivation
Many users don't know that they can find the exposure history in the journal. There is a point to it on the increased risk detail screen, however, it seems like many users do not read the texts or don't understand it.

Internal Tracking ID: EXPOSUREAPP-12074

Thanks for your feature request @Ein-Tim. We have created an internal ticket for it and will raise this topic internally.
Internal Tracking ID: EXPOSUREAPP-12074

Corona-Warn-App Open Source Team

Please add the https://github.com/corona-warn-app/cwa-wishlist/labels/contact-journal label to this issue.

As the CWA project went into ramp-down mode, I don't expect this feature to be implemented. I'm therefore closing this issue.


Add possibility to define highlight start and end tag

Currently always  is used for the highlighted text but  or custom tags with classes are maybe in some cases used.
Currently looking into how to implement such things into SEAL: https://github.com/schranz-search/schranz-search/issues/343

Thanks @alexander-schranz !

Nice, thx for the quick review :)


Added dapps to showcase

Added Santym, Savings Circle, Bienvenir, Cryptum Woocommerce Checkout, and Muggle Pay to showcase page from Gallery

Added on https://github.com/celo-org/docs/pull/421


Dark mode

Dark mode (based on OS choice) is unfinished, text is white in a white input box.

Resolved by removing dark mode.


Tack - 0.1.0 release

We want to release 0.3.0 once we have merged #95 and #91.
This is my thought on approach. Let's do:

release related portions of rename first in particular, dockerfiles etc. (including renaming this repo)

by doing this we won't break existing stable usage and have a weird "if i use master if is one thing, if i use release it is another". that would be a pain to deal with.

merge #95

update #91 to make additional changes related to #95

merge #91

@ponylang/core can I get your input on the plan outlined in this issue?

Go ahead! I can do the #91 updating after #95 is merged, if you like @SeanTAllen

@mfelsche i'll handle it.


Please support displaying timezone

Hi @jasongornall
Could you give me a more specific example?

"HH:mm:ss z" --> 12:08:56 PDT
"HH:mm:ss Z" --> 12:08:56 -0700
reference: https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html


feat: do not update fee if not committing batches

Purpose or design rationale of this PR
task
PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:

[ ] build: Changes that affect the build system or external dependencies (example scopes: yarn, eslint, typescript)
[ ] ci: Changes to our CI configuration files and scripts (example scopes: vercel, github, cypress)
[ ] docs: Documentation-only changes
[x] feat: A new feature
[ ] fix: A bug fix
[ ] perf: A code change that improves performance
[ ] refactor: A code change that doesn't fix a bug, or add a feature, or improves performance
[ ] style: Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)
[ ] test: Adding missing tests or correcting existing tests

Deployment tag versioning
Has tag in common/version.go been updated or have you added bump-version label to this PR?

[ ] No, this PR doesn't involve a new deployment, git tag, docker image tag
[ ] Yes

Breaking change label
Does this PR have the breaking-change label?

[x] No, this PR is not a breaking change
[ ] Yes

Codecov Report
Attention: Patch coverage is 70.00000% with 6 lines in your changes missing coverage. Please review.

Project coverage is 53.35%. Comparing base (0fd7a87) to head (d2eda00).

Files
Patch %
Lines

rollup/internal/controller/relayer/l1_relayer.go
70.00%
4 Missing and 2 partials :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1441      +/-   ##
===========================================
+ Coverage    53.29%   53.35%   +0.06%
===========================================
  Files          155      155
  Lines        11770    11790      +20
===========================================
+ Hits          6273     6291      +18
  Misses        5002     5002
- Partials       495      497       +2

Flag
Coverage Δ

rollup
56.89% <70.00%> (+0.18%)
:arrow_up:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


TCPConnection does not correctly detect connection failure to a recently-closed listener on Windows

The following test does the following: creates a TCPListener and then closes it, then creates a client TCPConnection pointed at the  now-closed listener's host and port. On Windows, the client connects "successfully" even though it shouldn't, and then doesn't disconnect even after writing some bytes, so the program never reaches quiescence. The test passes on the Playground.
use "net"
use "ponytest"

actor Main is TestList
  new create(env: Env) =>
    PonyTest(env, this)

  fun tag tests(test: PonyTest) =>
    test(_TestTCPConnectFailure)

class _TestTCPConnectFailure is UnitTest
  """
  Check that a failure to connect is correctly detected (mostly for Windows).
  """
  fun name(): String => "net/TCPConnectFailure"
  fun exclusion_group(): String => "network"

  fun ref apply(h: TestHelper) =>
    h.expect_action("connection failed")
    h.long_test(10_000_000_000)

    try
      let auth = h.env.root as AmbientAuth

      let listener = TCPListener(auth,
        recover _TestTCPConnectFailureListenNotify(h) end, "", "8989")
    else
      h.fail("error creating connection")
    end

class _TestTCPConnectFailureListenNotify is TCPListenNotify
  let _h: TestHelper
  var _host: (String | None) = None
  var _port: (String | None) = None

  new iso create(h: TestHelper) =>
    _h = h

  fun ref listening(listen: TCPListener ref) =>
    try
      (_host, _port) = listen.local_address().name()?
      _h.log("TCPListener: listening on " + (_host as String) + ":" +
        (_port as String))
    else
      _h.log("TCPListener: listening; can't get local address name")
    end
    listen.close()

  fun ref not_listening(listen: TCPListener ref) =>
    _h.log("TCPListener: not_listening")

  fun ref closed(listen: TCPListener ref) =>
    _h.log("TCPListener: closed")
    try
      let auth = _h.env.root as AmbientAuth
      TCPConnection(auth,
        recover _TestTCPConnectFailureClientNotify(_h) end, _host as String,
        _port as String)
    else
      _h.log("failed to create client")
    end

  fun ref connected(listen: TCPListener ref): TCPConnectionNotify iso^ =>
    _h.log("TCPListener: connected")
    _TestTCPConnectFailureServerNotify(_h)

class _TestTCPConnectFailureServerNotify is TCPConnectionNotify
  let _h: TestHelper

  new iso create(h: TestHelper) =>
    _h = h

  fun ref connected(conn: TCPConnection ref) =>
    _h.log("TCPListener.ConnectionNotify.connected()")

  fun ref connect_failed(conn: TCPConnection ref) =>
    _h.log("TCPListener.ConnectionNotify.connect_failed()")

  fun ref closed(conn: TCPConnection ref) =>
    _h.log("TCPListener.ConnectionNotify.closed()")

class _TestTCPConnectFailureClientNotify is TCPConnectionNotify
  let _h: TestHelper

  new iso create(h: TestHelper) =>
    _h = h

  fun ref connected(conn: TCPConnection ref) =>
    _h.fail_action("connection failed")
    conn.write("foo")
    conn.write("bar")

  fun ref connect_failed(conn: TCPConnection ref) =>
    _h.complete_action("connection failed")

For anyone looking into this, it works fine on Linux.

So I wrote a multithreaded IOCP server/client program in C to see if this problem was unique to Pony (https://github.com/kulibali/iocp_experiments). Turns out that my program exhibits the same behaviour as Pony.  There are some vague references to the issue on the interweb but as far as I can tell the Windows TCP/IP stack may keep listening sockets in a CLOSE_WAIT state for a while and accept connections even after you've called closesocket() on them.  So I recommend closing this as won't fix.

Closing as "can't fix".


Stars vertical

Hi,
For some reason my starts are vertically aligned. How to set to horizontal?
Greatings

nvm, included css, now it's ok :)


Refining Docstrings for Code API Enhancement

Description:
In order to enhance our code API, it is essential that we refine the docstrings for every method and class. Additionally, each module category's __init__.py file should contain a clear and concise docstring explaining its purpose. This initiative will be particularly beneficial as we transition to using Sphinx for documentation generation.
Steps to Reproduce:

Review and update docstrings for all methods and classes.
Ensure that each module category's __init__.py file includes a descriptive docstring.
Verify the changes by generating documentation using Sphinx.

Expected Outcome:
Improved code readability and documentation quality, facilitating better understanding and usage of the API.

here is great example of the docsting style, taken from here https://pythonhosted.org/an_example_pypi_project/sphinx.html#full-code-example:
"""
.. module:: useful_1
   :platform: Unix, Windows
   :synopsis: A useful module indeed.

.. moduleauthor:: Andrew Carter<EMAIL_ADDRESS>

"""

def public_fn_with_googley_docstring(name, state=None):
    """This function does something.

    Args:
       name (str):  The name to use.

    Kwargs:
       state (bool): Current state to be in.

    Returns:
       int.  The return code::

          0 -- Success!
          1 -- No good.
          2 -- Try again.

    Raises:
       AttributeError, KeyError

    A really great idea.  A way you might use me is

    >>> print public_fn_with_googley_docstring(name='foo', state=None)
    0

    BTW, this always returns 0.  **NEVER** use with :class:`MyPublicClass`.

    """
    return 0

def public_fn_with_sphinxy_docstring(name, state=None):
    """This function does something.

    :param name: The name to use.
    :type name: str.
    :param state: Current state to be in.
    :type state: bool.
    :returns:  int -- the return code.
    :raises: AttributeError, KeyError

    """
    return 0

def public_fn_without_docstring():
    return True

def _private_fn_with_docstring(foo, bar='baz', foobarbas=None):
    """I have a docstring, but won't be imported if you just use ``:members:``.
    """
    return None

class MyPublicClass(object):
    """We use this as a public class example class.

    You never call this class before calling :func:`public_fn_with_sphinxy_docstring`.

    .. note::

       An example of intersphinx is this: you **cannot** use :mod:`pickle` on this class.

    """

    def __init__(self, foo, bar='baz'):
        """A really simple class.

        Args:
           foo (str): We all know what foo does.

        Kwargs:
           bar (str): Really, same as foo.

        """
        self._foo = foo
        self._bar = bar

    def get_foobar(self, foo, bar=True):
        """This gets the foobar

        This really should have a full function definition, but I am too lazy.

        >>> print get_foobar(10, 20)
        30
        >>> print get_foobar('a', 'b')
        ab

        Isn't that what you want?

        """
        return foo + bar

    def _get_baz(self, baz=None):
        """A private function to get baz.

        This really should have a full function definition, but I am too lazy.

        """
        return baz
        ```

looking at the example, should we remove the type hints from signatures as well or rather add more?

looking at the example, should we remove the type hints from signatures or rather add more?

definitelly rather more please :)

your wish is my command :D

i'll start with this when #8 got merged as it brings quite some changes.
i'll probably do that directly on #17 as i already added some vanilla sphinx autodocs


when editing the technology matrix, save all and view LES does not save my options

I think this had to do with IrregularCurveMeasuresValidator not found. I saw this flying by in my console log but I think @antw fixed it with 95a9c80.

I think this had to do with IrregularCurveMeasuresValidator not found. I

That class didn't exist when this issue was created, and there were no references to it in the code. I suspect the message in the console was unrelated to this issue.

I suspect the message in the console was unrelated to this issue.

Yes, I think so to. Bit weird though. Maybe it was a specific LES, @ChaelKruip  do you have the id of the LES?

Yes, I think so to. Bit weird though.

Was this in development? I just encountered the same thing; it turned out to be because the Spring server hadn't picked up the new class (since it is in a new directory which wasn't being monitored for changes). Running spring stop fixed it.

I encountered it only on development. I couldn't detect the problem on the staging environment. Spring wasn't running locally in my environment so I guess it couldn't have been Spring (spring stop returned Spring is not running).

Talked with @ChaelKruip about this issue. It's a little bit more vague than I thought. The thing is that I can't reproduce this locally but I can on the beta and live servers.

Closing this.

The thing is that I can't reproduce this locally but I can on the beta and live servers.

I think it is a real issue and should be addressed at some point. Re-opening this.

Is this the same issue as #614 ?

Hmm. I can sometimes reproduce this still. Only if I click really really fast. I think this is general slowness of parsing a large dataset. I could disable the button until the full JSON dataset is loaded into the dom part that contains the technology_profile.

Still one thing. I'm not going to do this on the old interface. It'll probably be the same problem on the new interface. So in order to not to fix the same bug twice...

I'm not going to do this on the old interface

New UI will be merged soon, I promise! Still got some loose ends to tie up with shared buffers (discussed with @ChaelKruip earlier today) and I'll merge the new editor and gas charts at the same time.

@ChaelKruip is this also still present in the new layout? I'm trying to be as fast as I can in adding/removing a new technology and saving but I can't really reproduce it.
I also think (and I'm guessing here) that your problem might have been a result of another error / problem which is maybe already solved?

@grdw let's close this if you cannot reproduce and re-open if it occurs again.


Defining custom prompt not working as expected

Based on the sample in the link https://gpt-index.readthedocs.io/en/latest/how_to/customization/custom_prompts.html#example
here is my code snippet.
I'm using UnstructuredURLLoader to input a list of urls as source.
using llama-index==0.6.0.alpha3
loader = UnstructuredURLLoader(urls=urls, continue_on_failure=False, headers={"User-Agent": "value"})
documents = loader.load()
context_str = "You are a technical support chatbot named TestBot. Give step by step instructions. Provide source for the answers always."
query_str = "whats your name?"
storage_context = StorageContext.from_defaults()
service_context=InitializeServiceContext();
index = GPTVectorStoreIndex.from_documents( documents,storage_context=storage_context,service_context=service_context )
#index.storage_context.persist()
QA_PROMPT_TMPL = (
"We have provided context information below. \n"
"---------------------\n"
"{context_str}"
"\n---------------------\n"
"Given this information, and no prior knowldge, please answer the question: {query_str}\n"
)
QA_PROMPT = QuestionAnswerPrompt(QA_PROMPT_TMPL)
query_engine = index.as_query_engine(text_qa_template=QA_PROMPT)
with the above code, it not taking the custom prompt. the bot completely misses the context explained.
In the sample code snippet, setting context_str is not explained.
1. please suggest on how I can make the context prompt work.
2. Is GPTVectorStoreIndex right one to use for KB articles Q&A?
3. the answers from the bot mostly looks made up. is there any way we can make sure, it will answer only facts, and don't make up stuff.
4.  any pointers on how I can direct the bot, if keyword = XYZ, use ABC node for answers?

Hey @harishkm83, based on the code you provided, you never actually passed the additional "context" into the query engine.
When you write
QA_PROMPT_TMPL = (
"We have provided context information below. \n"
"---------------------\n"
"{context_str}"
"\n---------------------\n"
"Given this information, and no prior knowldge, please answer the question: {query_str}\n"
)

It just sets up the template, and does not actually pass the context_str in. You can read more about python template string about this. In fact, context_str is automatically filled in by the query engine.
To add information into the prompt, just directly it put it into the string template:

Also, if you want to build a chatbot, best to take a look at: https://gpt-index.readthedocs.io/en/latest/guides/tutorials/building_a_chatbot.html

@harishkm83 Hello! Did you solve the "issue" ? I'm also trying to understand how to do that.
I found this example: https://gpt-index.readthedocs.io/en/stable/how_to/customization/custom_prompts.html and it works, but I am trying to modify this: https://github.com/jerryjliu/llama_index/blob/main/examples/chatbot/Chatbot_SEC.ipynb but now luck, I don't get the reason.
Thanks and have a nice day! Carlo

Hey @HerbiePorter how are you! :)
I found this blog post, very insteresting: https://blog.langchain.dev/tutorial-chatgpt-over-your-data/
I cloned it and I modified the QA_PROMPT prompt saying that he only hah to answer to questions related to the context. It is working !!! 🚀


MSI Not workign for some users

Source file not found C:...\Reddit Wallpaper Changer.exe. Verify that the file exists and that you can access it.

Waiting for some install logs before I can look at this...

Duplicate!


Update the setup-steamcmd at the latest version

Context
The action CyberAndrii/setup-steamcmd that you use, has been updated; the last version fixes a problem with rootless runners.
Suggested solution
Update the the action at the latest version

We're planning to replace setup-steamcmd with a docker-based approach in https://github.com/game-ci/steam-deploy/pull/46
@MrFastwind Could you help with the testing for that PR and see if using steam-deploy@dcc23056f7adcaec16270b9f9715f6588c9a4c44 resolves this issue for you?

i saw, but in the mean time you where testing i suggested to upload the old system.
Anyway, i'm going to try this in the next days, while preparing a blender-unity image.

steam-deploy@dcc23056f7adcaec16270b9f9715f6588c9a4c44
Is still using<EMAIL_ADDRESS>so it doesn't work for non root runners, are you sure is the right commit?

should i take timewarpinc/steam-deploy@dcc23056f7adcaec16270b9f9715f6588c9a4c44 instead?

only from steam-deploy@9226c2d6d34eb249ac56c30893fc1bd253a28e5a it started using docker...
I suppose you mean to use it from this commit.

only from steam-deploy@9226c2d6d34eb249ac56c30893fc1bd253a28e5a it started using docker... I suppose you mean to use it from this commit.

Yes, you are right, I meant 9226c2d6d34eb249ac56c30893fc1bd253a28e5a. Does it work for you?

it gives, Logging in user '***' to Steam Public...FAILED (Invalid Login Auth Code)
but in the steam_deploy.sh script is present
$STEAM_CMD +set_steam_guard_code "INVALID" +login "$steam_username" "$steam_password"  +quit;

wouldn't this make it impossible to login without steam guard code?
i'm using ssfn files

Fixed by https://github.com/game-ci/steam-deploy/pull/49


Error attempting to use the MasterDetail Module

Hi,
I have tried unsuccessfully to create a simple project using eXpand's Master Detail Module. I followed the instructions in the blog and only have two objects. I have a Parent object and a Child object.
Here is the error message:

Here is a video showing how to recreate the error:
MasterDetailError-2.mp4.zip
Here is the project:
XpandLearn.zip
Thanks

This may simply be user error. Sorry for the false alarm.


feat: add the subindex annotation

Description of your changes

Add this annotation to help CRP to quickly figure out the first snapshot in the group and work generator to create the work name.
Fix the log to use the final policy snapshot name.

Fixes #
I have:

[X] Run make reviewable to ensure this PR is ready for review.

How has this code been tested

Special notes for your reviewer
Now the first snapshot name will always be {CRPName}-{resourceIndex}-0 to match the subindex annotation to consistent with others.
Though I don't have strong opinion on keeping the existing "{CRPName}-{resourceIndex}".

There is a UT failure that seems to be interesting

The actual name in use for resource snapshots is not updated; is this expected?


Update kafka to 2.3.1

Updates org.apache.kafka:kafka from 2.3.0 to 2.3.1.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.kafka", artifactId = "kafka" } ]

labels: semver-patch

Codecov Report

Merging #119 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #119   +/-   ##
=======================================
  Coverage   95.45%   95.45%
=======================================
  Files           5        5
  Lines          22       22
=======================================
  Hits           21       21
  Misses          1        1

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 61886ca...d2bf6d7. Read the comment docs.


[PE-D] [UG] Could use some diagrams

Images could be used to show what the center panel is

Labels: severity.VeryLow type.DocumentationBug
original: mazx4960/ped#11

To take screenshot of command. Solely just the command.


Test C Macros with custom code

C macros and inline functions generally have to be reimplemented in Rust.  That's error-prone and leads to bugs like https://github.com/rust-lang/libc/issues/1210 and https://github.com/rust-lang/libc/issues/1190 .  Could ctest support testing macro reimplementations with custom code?  The general idea would be to compare the output of the C macro against the output of the Rust function, with the same inputs.  Implementation would probably require wrapping each C macro with a wrapper that's callable from Rust.

@asomers I'm closing this, since this is now solved in libc via custom tests.
IIUC what you want is to mark a C function as a "C macro" and generate using the types of this function a C wrapper that calls the macro, and... then somehow test that they produce the same results (passing them some argument range in the rust side and checking the result)?
I think that, unless you have to do this very often, you might be better off writing the C wrappers by hand, and using quickcheck or similar on the Rust side to test these APIs. I think that this wouldn't be easy to add to ctest given how it is architected. The aim of this crate is to check that the Rust FFI ABI matches that of the C code being linked, but C macros have no ABI.

Yes, we should close it.  What I did for libc is working fine.  The only reason I opened an issue here was because I didn't realize how easy the cc crate was to use.  I thought that I would need ctest just for its compiler support.


Override max-age sent by server?

Hi.
I noticed that whatever value the server sends in a max-age header overrides the MaxAge setting we initialize the cache with.
Is there any configuration I can use to have my MaxAge setting have the upper hand over whatever the server sends in a max-age header?

Hi! Can you explain what you mean by "the MaxAge setting we initialize the cache with"?
If you include a value for max-stale in your request's cache-control header, then a response will be served from cache even when it has exceeded max-age (up to the value of max-stale). The tests should demonstrate how this works.

Yeah.. My bad. I didn't know about that specific parameter. Thank you for the information.


Bug mass errors

[ ] Closes #xxxx
[ ] Tests added
[ ] Performance benchmarks added
[ ] Performance regression benchmarks run
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst or it's sub rsts?

Codecov Report

Merging #236 (94ddaaf) into develop (a17937a) will decrease coverage by 0.32%.
The diff coverage is 82.35%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@             Coverage Diff             @@
##           develop     #236      +/-   ##
===========================================
- Coverage    79.52%   79.21%   -0.32%
===========================================
  Files           51       51
  Lines         6506     6518      +12
===========================================
- Hits          5174     5163      -11
- Misses        1332     1355      +23

Files Changed
Coverage Δ

pywatershed/hydrology/prms_snow.py
90.47% <ø> (ø)

pywatershed/utils/prms5util.py
31.74% <0.00%> (-0.34%)
:arrow_down:

pywatershed/base/budget.py
89.17% <100.00%> (+0.25%)
:arrow_up:

pywatershed/hydrology/prms_runoff.py
82.35% <100.00%> (ø)

pywatershed/utils/csv_utils.py
86.09% <100.00%> (+0.18%)
:arrow_up:

... and 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


atrial isomerism and atrial inversion

Consider adding a parent term of 'atrial isomerism' we already have terms for left and right isomerism but not for generic isomerism
Also, need to investigate inverted atria (J:342078)
see https://pubmed.ncbi.nlm.nih.gov/24958061/
Atrial inversion (or mirror-imaged atrial arrangement) occurring in isolation, that is, without corresponding mirror imagery of the viscera, has been previously shown with discordant atrioventricular connections resulting in transposition physiology.

HPO term Atrial situs inversus (HP:0011538) and the grouping term Abnormal atrial arrangement (HP:0011535)

added abnormal heart atrium arrangement (MP:0014319)
made left, right and inverted existing terms child terms
added inverted atria as a synonym of atrial situs inversus


fix spelling errors

fix spelling errors

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


fix: Messages for success are printed on stderr

In case the clean operation is successful, the messages for success are printed on stderr. This is misconception as all success messages should be printed on stdout.
Many tools check the stderr output and print errors or even break the process in case there's something printed there.
The current PR changes the method used to print success messages - instead of using console.warn, use console.log.
This will allow external tools to use the stderr output as indication that there was a problem. When the only output is on stdout, they can consider the operation as successful.

Coverage remained the same at 82.051% when pulling bad96fbca6151997b02cbd8bbdfc9d41db932724 on rosen-vladimirov:vladimirov/fix-stderr-messages into e9895d304f68a0c64eb4a89486074603d4937aef on johnagan:master.

Thanks for the PR! console.warn is used because of https://github.com/johnagan/clean-webpack-plugin/issues/11. See also https://github.com/johnagan/clean-webpack-plugin/pull/24. Use verbose: false when an external tool (such as CI) is relying on stdout/stderr.


guides: prevent people from accidentally leaving session

For example, by typing <Ctrl-d> or the exit command.
This might be something we choose to solve in the image via .bashrc or equivalent workarounds for now

This is addressed (at least temporarily) in https://github.com/play-with-go/docker/pull/11


feat: Add support for adaptive launcher icons on Android v26+

In order to follow the guidelines for adaptive icons we need to provide the launcher icon as a two-layered drawable. This should only affect Android 26+ and it can be tested by changing the icon shape in your system.

Type
Feature
Context
Without this, since we provide a single layer drawable. Launchers with a white background would show the LLM logo without a shape surrounding it. This worked well for lower versions and for launchers without a white background.  👎

After this is merged
We will allow users to change the shape of their icons like they can do for other supporting apps. Note that the icons in the following screenshot dont look completely aligned, it's a glitch in the sketch file used to generate them.

:mindblown:


change version specifications for pytest packages

changed min version requirements for pytest packages to the latest versions according to PyPI

Closes #4

I think I misunderstood. Let me remove the minimum version instead.

Thanks @Sheila-nk 🎉


Add support for single and double quotes on style attribute

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue (replace XXXX with an issue no): Closes #15117

Description
The change addresses an issue where the assertion does not accept single quotes when adding a style attribute to the h2.
i.e. style="color:red;" passes but style='color:red;' does not.
The replacement code was made available within the issue by @dhcodes but when running npm seed errors were thrown. Looking through the code I see that single quote is escaped with double backslash \\'. After making this small change npm seed completed without error.
The change was from:
"assert(code.match(/
\\s*CatPhotoApp\\s*<\\/h2>/), 'message: Your h2 element should be red.');"
To this:
"assert(code.match(/
\\s*CatPhotoApp\\s*<\\/h2>/), 'message: Your h2 element should be red.');"
All tested and working as expected in my local.

lol called out for my coding error :)

Just double making sure folks know I checked and double checked it. No offence ;)
Sent from my iPhone

On 31 May 2017, at 14:48, Dylan<EMAIL_ADDRESS>wrote:
lol called out for my coding error :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Maybe the @ was a bit much :))
Sent from my iPhone

On 31 May 2017, at 14:48, Dylan<EMAIL_ADDRESS>wrote:
lol called out for my coding error :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Tested locally and LGTM. Congrats on your first contribution to  freeCodeCamp! 🦅 🌮 💯 ! Hopefully there will be many more!

hi o to and and
On 31-May-2017 8:11 pm, "theycallmebruce"<EMAIL_ADDRESS>wrote:

Just double making sure folks know I checked and double checked it. No
offence ;)
Sent from my iPhone

On 31 May 2017, at 14:48, Dylan<EMAIL_ADDRESS>wrote:
lol called out for my coding error :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/15128#issuecomment-305206892,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbuXvoK0UNPLpufZuuOtpcP40M8-Ajidks5r_Xv7gaJpZM4Nq4uQ
.

hi o to and and
On 31-May-2017 8:11 pm, "theycallmebruce"<EMAIL_ADDRESS>wrote:
Just double making sure folks know I checked and double checked it. No
offence ;)
Sent from my iPhone

On 31 May 2017, at 14:48, Dylan<EMAIL_ADDRESS>wrote:
lol called out for my coding error :)
—
You are receiving this because you authored the thread.

Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/15128#issuecomment-305206892,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AbuXvoK0UNPLpufZuuOtpcP40M8-Ajidks5r_Xv7gaJpZM4Nq4uQ
.


Add tests to check that results act consistently for all backends

Summary
This commit adds some additional tests that loop over all available
backends to verify that certain common results operations work on all
the available backends. It turns out during the course of a normal test
run we don't verify that results operations work with all the available
(in-repo) backends. This has led to issues like #1119 and #1116 because
we didn't have this verification. This adds the start of the testing
coverage needed, it only adds coverage for adding results. But, we can
expand this to cover additional results operations in the future.
Details and comments

This is blocked on #1125

#1125 has merged so this should be good to go now.

Fwiw, the history of this patch is that I originally included it as part of #1118  which I wrote to specifically verify the failure mode from the statevector simulator on all the backends. I had to split it out because it caught issues in the clifford simulator. I'm fine making the changes, especially on the ibmq side. But, as far as changing the operation run I'm not sure which to use. I picked result addition because of the history of this patch, and viewed it as more of a starting point than anything.

Closing as #1373 includes similar tests in test_aer_simulators.py and test_ibmq_backends.py, which hopefully serve as the starting point mentioned in the last comment.


Agenda for 2022-02-16 Meeting (Note the change of date)

This month's meeting is being moved to 16 February at 16:00 EST, 21:00 UTC.

Agenda for Agenda today's meeting at 16:00 EST, 21:00 UTC

Review previous meetings minutes
Leaving the .NET Foundation process

Walkthrough the latest draft (posted on discussions).
Feedback / Q & A
Road map

Other business

Microsoft Teams Link for today's Maintainers meeting at 16:00 EST, 21:00 UTC.
Click here to join the meeting

And if @SimonCropp is available, review the progress of his survey.

And if @SimonCropp is available, review the progress of his survey.

That would be @SeanKilleen

If we can also bring up the signing owner lockout on nuget as well thankyou

Would love to talk about addressing centralizing and providing guidance to project maintainers for common questions/issues that arise and how to address them, from this thread here.

Still planning for March meeting on the 9th? Don't see a new issue for it yet.

@michael-hawker, yes, working on the meeting notes now, then I'll create an issue for the next meeting.


Bot will not follow path

Expected Behavior
The bot to follow a given path linearly of 10 points
Actual Behavior
Using the example config file and a valid paths file I'm unable to get the bot to follow a path, it just starts going in the opposite direction and acting as if the path wasn't specified
Steps to Reproduce
Have copied the example path config file and amend as below
{
"type": "FollowPath"
}
},
"navigator": {
"type": "path",
"path_mode": "linear",
"path_file": "configs/path.json"
},
Other Information
Current Dev branch

        "type": "MoveToFort"
      },
      {
        "type": "FollowPath",
        "config": {
          "path_mode": "loop",
          "path_file": "configs/path.example.json"
        }
      }
    ],

remove
 "type": "MoveToFort"
      },
      {

Thanks, strange it was in example config.


Combine forward and reverse flame graph in single HTML file

I currently have to choose at profiling time whether I want a top-down or bottom-up flame graph (--reverse argument). I think it would be more user friendly if there was a switch in the HTML for that and all the data was already there. Currently there is a switch to invert the graph, but it is only a visual change, it doesn't switch from forward to reverse stack walking.
The reason I'd like this is because I often have to profile programs where I'm in control of the startup arguments, but not of when the program shuts down. I.e. I can't use profiler start/stop. So I usually use the Java agent attach method. That means I have to run everything twice to get both the forward and reverse flame graph.
Another approach would be to provide an option that prevents the JVM from shutting down, so that I have time to request multiple output files.

This feature was on my mind as well.
The output already contains all necessary information, so it may be possible to reverse the graph on the fly directly in JavaScript. Sounds like an interesting programming exercise.
Meanwhile you can setup profiler to dump output in collapsed format, and then use built-in converter to produce both flame graphs:
java -cp converter.jar FlameGraph out.collapsed flame.html
java -cp converter.jar FlameGraph --reverse out.collapsed reversed.html

Ah excellent! I think this converter deserves a mention in the documentation.

I made a PoC of reversing a Flame Graph in JavaScript: rotate.html.zip
However, I decided not to complicate the renderer, but instead, add this capability in the converter.
#905 adds support for converting HTML Flame Graphs, in particular, for reversing them.
Example: jfrconv -r source.html reversed.html

Awesome, thank you!


TENxPBMCData

In lieu of the pre-processed, manually curated datasets we've been using for vignetttes / tutorials, directly load the dataset from the TENxPBMCData package
One up-front test we can do would be to pull the data in from this package, do our usual filtering per @ykoga07 's criteria, and then use all.equal() or the like to ensure that the vignettes / example figures should come out exactly the same in the end.

This has been done for DecontX. However it would take to long for Celda currently.


"Login expired! Try logging in again." Error just now (fixed by signing in again)

Describe the bug
I just got the error, Chatterino was still showing as connected on my Twitch account. I haven't been watching Twitch a lot lately but it still worked, and chatted fine less than a week ago, this connection was created 2 months ago, I removed the old one and made a new one (I forgot to test if it would've worked without doing that).
I guess the issue is fixed but since there isn't an obvious reason it should'nt have been connected to my Twitch account I thought I'd just put it out there in case other people are seeing this and this is a bigger issue/event (change in Oauth at Twitch?).
Chatterino version
Chatterino 2.1.7 (commit 845c8fa63)
Operating system
Windows 10 2004 - Between the last time it worked and now I upgraded from 1909 to 2004, I wonder if that could have something to do with it?

Mine expired today. Might've been a change that twitch made. Wouldn't surprise me

app tokens do that now even when being used* eShrug
*Twitch won't kick you from IRC, so you'll know only when you relog

Because we store credentials on the client (your computer), there's no way that I know of to keep the token refreshed properly. Tokens expire after a while, and that will cause you to have to log in again.
Not a bug, just how tokens work.

Why do the tokens expire at all? When I wrote a simple IRC bot for Twitch, I created a token. It was over 3 years ago, and the token has never expired since then. Also, when oauth was still a requirement for livestreamer/streamlink, I've created one, and it too was working all the time. Why does Chatterino token expires every couple of months or so?

newly generated OAuth tokens (or tokens generated from new oauth apps, can't remember which) have an expiry date. old ones don't
times change

That's a pity. You can open Twitch in browser and start interacting straight away, but cannot do the same in Chatterino, just because the token decided to expire today. :(

That's a pity. You can open Twitch in browser and start interacting straight away, but cannot do the same in Chatterino, just because the token decided to expire today. :(

It's unfortunate but Chatterino has no control over the security-vs-UX trade-offs Twitch makes. (See here for additional context.)
In this case, Twitch decided that OAuth tokens expire after a set amount of time.

There is a token refresh flow, but it would require us to store your access & refresh token. IMO the convenience does not outweigh the security responsibility put on us.


Unable To Post To Regional Message Board

I'm having difficulty changing details in my region I am in charge of and posting to the regional message board. Is there any way this can be fixed, and how can I turn off Nationstates++?

What browser are you using? Trying clearing your cache (Chrome: Menu>More tools. . .>Clear browsing data. . .) then chrome://restart to see if issues persist.

As a far as "turning off", you can disable (Chrome: Menu>More tools. . .>Extensions—then uncheck Enable next to NationStates++). Refresh NationStates.net and NationStates++ should be disabled.


pytest installation is broken

As of  20.10.0b0 the installation of pytest is broken. Trying to execute pytest (even without any arguments) leads to the following traceback:
$ pytest -v
Traceback (most recent call last):
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 689, in import_plugin
    __import__(importspec)
ModuleNotFoundError: No module named 'pytest_tornasync'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/aiida/.local/bin/pytest", line 8, in <module>
    sys.exit(console_main())
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 180, in console_main
    code = main()
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 136, in main
    config = _prepareconfig(args, plugins)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 314, in _prepareconfig
    pluginmanager=pluginmanager, args=args
  File "/opt/conda/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/opt/conda/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/opt/conda/lib/python3.7/site-packages/pluggy/manager.py", line 87, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "/opt/conda/lib/python3.7/site-packages/pluggy/callers.py", line 203, in _multicall
    gen.send(outcome)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/helpconfig.py", line 99, in pytest_cmdline_parse
    config = outcome.get_result()  # type: Config
  File "/opt/conda/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/opt/conda/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 932, in pytest_cmdline_parse
    self.parse(args)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 1204, in parse
    self._preparse(args, addopts=addopts)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 1097, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "/opt/conda/lib/python3.7/site-packages/pluggy/manager.py", line 300, in load_setuptools_entrypoints
    self.register(plugin, name=ep.name)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 431, in register
    self.consider_module(plugin)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 656, in consider_module
    self._import_plugin_specs(getattr(mod, "pytest_plugins", []))
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 663, in _import_plugin_specs
    self.import_plugin(import_spec)
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 693, in import_plugin
    ).with_traceback(e.__traceback__) from e
  File "/opt/conda/lib/python3.7/site-packages/_pytest/config/__init__.py", line 689, in import_plugin
    __import__(importspec)
ImportError: Error importing plugin "pytest_tornasync": No module named 'pytest_tornasync'

Adress when the https://github.com/CasperWA/voila-optimade-client/issues/183 issue is fixed.


explained function generate_batch in Deep Learning Assignment 5 word2vec

please explain formula : data_index = (data_index + 1) % len(data) in function generate_batch
thank you so so much

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce


Refactor metrics processing

Setting metrics was tightly coupled with the gathering of the data. This made it difficult to change the logic without a significant amount of code changes.
By splitting the setting of the metrics into its own function, we can change the high level logic without having to move hundreds of lines around.

@leklund Splitting out the Process refactor as its own pull request as this doesn't need to part of the aggregated datacenter changes.


Prepared 0.5.0 release

This is blocked by #62
The release procedure should go like:

Merge #62
Merge this
Bump master version to 0.6.0-dev (change dawn4py dependency back to master)

Thus we have the following features for version 0.5.0:

https://github.com/dawn-ico/dusk/milestone/1?closed=1
https://github.com/dawn-ico/dusk/pull/48
https://github.com/dawn-ico/dusk/issues/28

I don't want to add this version to the spack packages for now. If we need it, we can always add it later. But this release is just to kind of have meaningful versions. E.g., in 0.6 we'll break the with levels_upward syntax when we merge #60


Main image on fakeplayer doesn't seem to work.

Not getting any info on the logs about the image not being suitable, but it isn't making it into the fakeplayer.

That's the medium thumbnail version of the cover, set to be 800px wide to match the template. Does the link not point to a valid image? What about if you remove .md?

Interesting. What are the dimensions of the original image?

Also I appreciate you being a semi-involuntary beta tester. It seems every change I make breaks something in your config haha


[Tree Table] - Size not working

Currently size option not working on https://tailwind.primevue.org/treetable/#size

Good catch! Thanks a lot! I set a milestone for this ticket. We'll fix it before the milestone is released.


Woman mage skin tone 3 and skin tone 4 have the same skin tone

The skin tone for woman mage skin tone 3 (U+1F9D9 U+1F3FC U+200D U+2640) and woman mage skin tone 4 (U+1F9D9 U+1F3FD U+200D U+2640) have the same skin tone visually.
Skin tone 3:
https://github.com/googlei18n/noto-emoji/blob/master/svg/emoji_u1f9d9_1f3fc_200d_2640.svg
Skin tone 4:
https://github.com/googlei18n/noto-emoji/blob/master/svg/emoji_u1f9d9_1f3fd_200d_2640.svg

Thanks for pointing this out!

I've also noticed this

The sides of the head are different.


Adding or removing device tracker from a person fails

Home Assistant release with the issue:

arch
x86_64

dev
false

docker
true

hassio
true

os_name
Linux

python_version
3.7.6

timezone
America/Denver

version
0.104.0b2

virtualenv
false

Last working Home Assistant release (if known):
unknown
Operating environment (Hass.io/Docker/Windows/etc.):

HassOS VM
Integration:

Description of problem:
Removing an existing device_tracker from a person results in "User already taken" message when clicking update. Nothing in logs.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):

Additional information:

Some context, this is sendt:
type: "person/update"
person_id: "d3e1fc81b9c846a89ec1833bd8eb24f5"
name: "Anakin Skywalker"
device_trackers: []
user_id: "848e657f8c9a4418bc94cac0caa9f5d6"
id: 28

And the response:
{code: "invalid_format", message: "User already taken"}

In case you were wondering, changing the name also results in the same thing.

I've found that you can disassociate the name from the user add the devices, save and then go back in and reassociate


changed file_exists to file to allow urls

Fixes #55

Well the CI seems to be fine with it, but I honestly don't know if it's okay like this, as I normally don't write tests. So I just tried to mimic the other tests and ended up with this.
Let me know if there's something that needs to be changed.


ManifestWork does not work correctly if namespace is set for Cluster scoped resource

Describe the bug
We are trying to create ManifestWork with cluster scoped resources where namespace is set. In that case the resource is not properly synced/created on the spoke cluster.
To Reproduce
apiVersion: work.open-cluster-management.io/v1
kind: ManifestWork
metadata:
  name: demo
  namespace: c1
spec:
  workload:
    manifests:
    - apiVersion: v1
      kind: Namespace
      metadata:
        name: demo
    - apiVersion: rbac.authorization.k8s.io/v1
      kind: ClusterRole
      metadata:
        name: config-reader
        namespace: demo
      rules:
      - apiGroups:
        - ""
        resources:
        - configmaps
        verbs:
        - get
        - list
        - watch

On the spoke cluster c1, I see
apiVersion: work.open-cluster-management.io/v1
kind: AppliedManifestWork
metadata:
  creationTimestamp: "2023-11-28T13:14:44Z"
  finalizers:
  - cluster.open-cluster-management.io/applied-manifest-work-cleanup
  generation: 1
  name: 43967cf4fa7b6c9c1f4014eb104077ac73d86aabc3d2c4ae6c51babdf5898540-demo
  resourceVersion: "4440"
  uid: d323fbfc-a15d-40d4-9041-506d8d20a6c6
spec:
  agentID: a7abf39a-bf7c-470c-af6b-9cc95ac22884
  hubHash: 43967cf4fa7b6c9c1f4014eb104077ac73d86aabc3d2c4ae6c51babdf5898540
  manifestWorkName: demo
status:
  appliedResources:
  - group: ""
    name: demo
    namespace: ""
    resource: namespaces
    uid: b980ab49-0b9f-4754-ad08-2eb7419cf80f
    version: v1

Expected behavior
In Kubernetes, if users set metadata.namespace field for a cluster scoped resource and then kubectl apply that, everything still works. I am expecting ManifestWork to work the same way. The work controller should auto discover that a given resource is cluster scoped and act accordingly.
Environment ie: OCM version, Kubernetes version and provider:
Additional context
The reason this is important to us is because we are trying to use helm charts to generate addon agent manifests. Some helm charts don't set the metdata.namespace field in the templates and let helm configure that based on --namespace flag. I would like to be able to use such helm charts as is to generate addon manifests. To that end, I created https://github.com/open-cluster-management-io/addon-framework/pull/220 . This pr always sets the namespace field in the generated ManifestWork because there is no way to know if a resource is cluster scoped or not at the hub cluster. But due to the above mentioned issue, such ManifestWorks are not syncing properly. It should be possible for a work agent to use the spoke clusters discovery api to detect if a resource is cluster scoped or not and sync properly.

Do you have the status condition of this manifestwork? I think it should correctly synced.

/assign


no license

Hello,
May we know the license for the repo? GitHub also encourages us to have a license for public repo (under "Licensing a repository - GitHub Docs"). We would like to highlight this as a transparency concern.
The following are from GitHub Docs.
· "If you're creating an open source project, we strongly encourage you to include an open source license."
· "If you publish your source code in a public repository on GitHub Enterprise Server, other users of your GitHub Enterprise Server instance have the right to view and fork your repository."
· "Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software."
Regards, Software Ethics Researcher.

Thanks for reminding me. I added the MIT license: https://github.com/glibg10b/ltt-linux-challenge-issues/blob/main/LICENSE.md

For future reference: 589e80f75cea09ef2b41143e6b1f8bb209366dc4


Keep custom etcd annotations

How to categorize this PR?

/area control-plane
/area ops-productivity
/kind enhancement
What this PR does / why we need it:
This PR prevents the etcd deployment step from entirely overwriting the annotations section. Etcd-Druid plans to introduce custom annotations, e.g. for temporary skipping reconciliations, which will help operators to recover an etcd cluster in case existing automatons reached a dead end.
Special notes for your reviewer:
/cc @abdasgupta @ishan16696 @aaronfern
Release note:

Gardener will now keep any custom annotations that were put to `etcd` resources in the seed cluster. This can help if operators need to manually restore an `etcd` cluster in exceptional cases.

/lgtm
/approve