Resolved proto file paths.

It is using protoparse.ResolveFilenaming to resolve absolute file paths (e.g., "./test.proto") into relative ones (e.g., "test.proto") before feeding the proto files into protoparse.
I verified:
git clone git@github.com:googleapis/googleapis.git ~/Downloads/googleapis
api-linter -I ~/Downloads/googleapis --output-format summary $(find ~/Downloads/googleapis -name '*.proto')

and got:
+--------------------------------------------+------------------+----------------+
|                    RULE                    | TOTAL VIOLATIONS | VIOLATED FILES |
+--------------------------------------------+------------------+----------------+
| core::0131::http-body                      |                1 |              1 |
| core::0131::http-method                    |                1 |              1 |
| core::0151::lro-metadata-type              |                2 |              2 |
| core::0133::http-method                    |                3 |              1 |
| core::0151::lro-types-defined-in-file      |                3 |              1 |
| core::0136::http-method                    |                4 |              4 |
| core::0134::request-message-name           |                5 |              4 |
| core::0133::request-message-name           |                7 |              5 |
| core::0203::input-only                     |                9 |              5 |
| core::0135::response-message-name          |                9 |              6 |
| core::0131::synonyms                       |               11 |              9 |
| core::0136::prepositions                   |               15 |              6 |
| core::0136::http-body                      |               15 |             15 |
| core::0141::count-suffix                   |               17 |             12 |
| core::0151::lro-response-type              |               19 |             13 |
| core::0131::response-message-name          |               20 |             15 |
| core::0133::response-message-name          |               20 |             16 |
| core::0134::response-message-name          |               21 |             14 |
| core::0133::request-resource-field         |               25 |             22 |
| core::0134::request--resource-field        |               26 |             19 |
| core::0140::abbreviations                  |               27 |              9 |
| core::0140::base64                         |               28 |             17 |
| core::0141::forbidden-types                |               29 |             19 |
| core::0135::request-name-field             |               31 |             25 |
| core::0135::http-uri-name                  |               32 |             25 |
| core::0142::time-field-names               |               34 |             27 |
| core::0134::request-mask-field             |               34 |             25 |
| core::0134::http-method                    |               35 |             25 |
| core::0133::request-parent-field           |               39 |             29 |
| core::0158::response-next-page-token-field |               39 |             28 |
| core::0158::request-page-token-field       |               40 |             28 |
| core::0134::http-body                      |               42 |             30 |
| core::0143::standardized-codes             |               43 |             22 |
| core::0158::request-page-size-field        |               46 |             31 |
| core::0203::immutable                      |               49 |             26 |
| core::0136::verb-noun                      |               51 |             24 |
| core::0133::http-body                      |               54 |             38 |
| core::0143::string-type                    |               65 |             40 |
| core::0134::synonyms                       |               65 |             30 |
| core::0134::http-uri-name                  |               66 |             43 |
| core::0135::request-unknown-fields         |               75 |             36 |
| core::0122::camel-case-uris                |               85 |             11 |
| core::0132::request-parent-field           |               87 |             63 |
| core::0151::operation-info                 |              110 |             41 |
| core::0133::request-unknown-fields         |              110 |             45 |
| core::0134::request-unknown-fields         |              157 |             53 |
| core::0133::http-uri-parent                |              176 |            108 |
| core::0142::time-field-type                |              189 |             73 |
| core::0132::request-unknown-fields         |              212 |             79 |
| core::0131::request-name-field             |              241 |            227 |
| core::0131::http-uri-name                  |              257 |            235 |
| core::0140::prepositions                   |              281 |            111 |
| core::0131::request-unknown-fields         |              339 |            248 |
| core::0136::http-uri-suffix                |              391 |            205 |
| core::0203::output-only                    |              820 |            140 |
| core::0192::only-leading-comments          |             1036 |           1036 |
| core::0203::required                       |             1060 |            256 |
| core::0192::has-comments                   |             1182 |            164 |
+--------------------------------------------+------------------+----------------+
Linted 1604 proto files

LGTM
You might want to verify the following cases just to make sure (bufbuild/buf has it's own method of path resolution so I haven't used ResolveFilenames in a while):
api-linter -I . $(pwd)/google/type/date.proto
api-linter -I $(pwd) $(pwd)/google/type/date.proto
api-linter -I $(pwd) google/type/date.proto
api-linter -I $(pwd) ./google/type/date.proto
cd ./google
api-linter -I .. ../google/type/date.proto

Would also be good to set up an integration test for this, but you may have this already planned :-)

Note I ran the above, all complete, but #307 still an issue, also the file paths printed are always relative to the proto_path, which isn't optimal (but may be out of the scope of this tool):
$ api-linter -I . $(pwd)/google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd) $(pwd)/google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd) google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd) ./google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ cd ./google
$ api-linter -I .. ../google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd)/.. ../google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd)/.. $(pwd)/../google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ cd ..
$ api-linter $(pwd)/google/type/date.proto
- file_path: google/type/date.proto
  problems: []

Note I ran the above, all complete, but #307 still an issue, also the file paths printed are always relative to the proto_path, which isn't optimal (but may be out of the scope of this tool):
$ api-linter -I . $(pwd)/google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd) $(pwd)/google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd) google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd) ./google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ cd ./google
$ api-linter -I .. ../google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd)/.. ../google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ api-linter -I $(pwd)/.. $(pwd)/../google/type/date.proto
- file_path: google/type/date.proto
  problems: []
$ cd ..
$ api-linter $(pwd)/google/type/date.proto
- file_path: google/type/date.proto
  problems: []

I think it is really hard (or impossible) for the linter to resolve back the absolute paths. The solution could be that we resolve manually the paths in the linter, and keep tracking the mappings. But it is too much for the linter currently. Thank you for bringing it up!!!

It takes some work, but we were able to do it in Buf for the record (and not to sound like a broken record, sorry heh):
$ buf check lint
google/appengine/v1/app_yaml.proto:53:5:Enum option "allow_alias" on enum "ErrorCode" must be false.
google/appengine/v1/app_yaml.proto:264:3:Enum option "allow_alias" on enum "SecurityLevel" must be false.
google/cloud/websecurityscanner/v1beta/scan_config_error.proto:35:5:Enum option "allow_alias" on enum "Code" must be false.

$ buf check lint --input $(pwd)
/Users/foo/googleapis/google/appengine/v1/app_yaml.proto:53:5:Enum option "allow_alias" on enum "ErrorCode" must be false.
/Users/foo/googleapis/google/appengine/v1/app_yaml.proto:264:3:Enum option "allow_alias" on enum "SecurityLevel" must be false.
/Users/foo/googleapis/google/cloud/websecurityscanner/v1beta/scan_config_error.proto:35:5:Enum option "allow_alias" on enum "Code" must be false.

$ cd ./google

$ buf check lint --input ..
appengine/v1/app_yaml.proto:53:5:Enum option "allow_alias" on enum "ErrorCode" must be false.
appengine/v1/app_yaml.proto:264:3:Enum option "allow_alias" on enum "SecurityLevel" must be false.
cloud/websecurityscanner/v1beta/scan_config_error.proto:35:5:Enum option "allow_alias" on enum "Code" must be false.

$ buf check lint --input $(pwd)/..
/Users/foo/googleapis/google/appengine/v1/app_yaml.proto:53:5:Enum option "allow_alias" on enum "ErrorCode" must be false.
/Users/foo/googleapis/google/appengine/v1/app_yaml.proto:264:3:Enum option "allow_alias" on enum "SecurityLevel" must be false.
/Users/foo/googleapis/google/cloud/websecurityscanner/v1beta/scan_config_error.proto:35:5:Enum option "allow_alias" on enum "Code" must be false.

There may be some stuff you can take from there, but it's complicated as a direct port (Buf uses it's own storage abstraction so direct file I/O isn't common in Buf)

I am going to take the position here that while this likely could be better as @bufdev points out, it seems like an improvement, and so should go in. :)

P. S. Thanks for all your help @bufdev!

Thank you @bufdev! We will continue to improve integration tests and fix the paths in the output. I am merging this PR as I like PRs to be small :)


ReactNotInitialisedException hides errors thrown during script load

When using .SetLoadReact(false), if there are any JS errors during load of the user scripts, they won't be rethrown until after the check for an React global. This is problematic because usually the JS errors are the cause of the ReactNotInitialisedException.
Example
ReactSiteConfiguration.Configuration
    .SetLoadReact(false)
    .AddScript("~/server.js"); // server.js just contains "throw new Error()"

Expected result
The JsRuntimeException that was caught is rethrown
Actual result
This is thrown:
ReactNotInitialisedException: React has not been loaded correctly. Please expose your version of React as global variables named 'React', 'ReactDOM' and 'ReactDOMServer', or enable the 'LoadReact' configuration option to use the built-in version of React.
   React.JavaScriptEngineFactory.EnsureReactLoaded(IJsEngine engine) +151
   React.JavaScriptEngineFactory.InitialiseEngine(IJsEngine engine) +215
   ...

A related issue (though this hasn't affected me): due to the way that JavaScriptEngineFactory.LoadUserScripts is written, if there are multiple user scripts and each throws an error, only the last exception will be rethrown. It would be more helpful if it was the first exception that was rethrown (or an AggregateException), as usually the first error causes all subsequent errors.

We added some better exception re-throwing in the latest 4.0.0 rc.


update API docs

Description
Describe the proposed changes made in this PR.
How was this PR tested?
Describe how you tested this PR.

Some wording can be improved like:
Streams field values from ALL documents matching a search query in the given index <index name>, in a specified output format among the following:
- CSV
- ClickHouse RowBinary

You have updated the the working for searchFields only on the search enpoint, you can do the same for the search stream endpoint.
Last but not least, it would be nice to add extra information about the search stream response. This is not a classic response as we are streaming the results. Can you document that? You can have a look at this issue https://github.com/quickwit-inc/quickwit/issues/637 to understand why it's important.

This is no more valid with the stream API.
The body of responses is always a JSON object, and their content type is always `application/json; charset=UTF-8.`

Can you update that?


Check that publishing only a subset of metrics is displayed naturally

See #100

achamayou-test-100@601 aka 20200615.4 vs master ewma over 50 builds from 445 to 596


Missing word? "Personal needs to be secured"

[Enter feedback here]
"Personal needs to be secured" is the word "data" missing between Personal and needs?

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 130e32b0-bca6-d185-1988-07baed84e77d
Version Independent ID: 95eb87fc-fb45-06ae-70c6-f4e4109ae96f
Content: Responsible and trusted AI - Cloud Adoption Framework
Content Source: docs/innovate/best-practices/trusted-ai.md
Service: cloud-adoption-framework
Sub-service: innovate
GitHub Login: @msteller-Ai
Microsoft Alias: martinek

Thank you for your feedback.  This has been addressed.  If you are still experiencing an issue, please feel free to re-open with additional information.

#please-close


Imagick not installed

After Mac OS X upgrade to El Capitan I have an Imagick (Imagick not installed) error but my php info should it has been installed and enabled. I have also check the extension using
if (!extension_loaded('imagick'))
echo 'imagick not installed';
else
echo 'Installed';
Please find the attached files.

What the output of:
Imagick::getVersion();

The output is
String: ImageMagick 6.9.1-10 Q16 x86_64 2015-09-11 http://www.imagemagick.org

Are you sure you're running on the same PHP installation for both localhost:80 and <IP_ADDRESS>:8000?

Yes sir, <IP_ADDRESS>:8000 is an instance of symfony2 "app/console server:run" command. I will relook into my configurations. Thank you


React-360 compatibility

Hello @hggeorgiev ,
I've worked on making the CentroUI package compatible with React-360 but the text-input and the keyboard still need some work.. I'm not sure whether to make a pull request or you just take a look at the code and see how you'll update it
I've made a new repo and mentioned the package here
https://github.com/mashhour04/CentroUI-360
So you can took a look at it and if you've done the updates and everything is okay I can take my repo down and that would be it.
Thanks
@muhaimincs


Combine leadership and NQT to job role in hiring staff journey

Draft PR open for preliminary review.
See last commit especially and inline comments. Not sure if this is the right way to go about combining two old fields into one new field.
It's bad to not have a single source of truth (to duplicate information). I'm not sure how to get around the fact that existing vacancies will be storing NQT status in vacancy.newly_qualified_teacher while new ones will be storing it in job_role. Possible tidier solutions:

Update all pre-existing vacancies to match new schema and dispense with newly_qualified_teacher attribute immediately. (How?)
Store nil in newly_qualified_teacher on new vacancies and update ElasticSearch so that it knows it needs job_role to include NQT or newly_qualified_teacher to be true. (Unfamiliar with ElasticSearch, moving to Algolia soon anyway so work will need to be redone)

Jira ticket URL:
https://dfedigital.atlassian.net/secure/RapidBoard.jspa?rapidView=21&projectKey=TEVA&modal=detail&selectedIssue=TEVA-534
Next steps (in no order):
(See Jira ticket.)

[ ] Make tests pass.
[ ] Change review page.
[ ] Ensure NQT search still works now that NQT info should live in vacancy.job_role

It looks like I forgot to include a change to schema.rb:
     t.uuid "publisher_user_id"
     t.datetime "expiry_time"
     t.string "supporting_documents"
+    t.string "job_role", array: true
     t.string "salary"
     t.index ["expires_on"], name: "index_vacancies_on_expires_on"
     t.index ["expiry_time"], name: "index_vacancies_on_expiry_time"

but I'm not adding it right now because git pulling the branch gives me a lot of merge conflicts.

It looks like I forgot to include a change to schema.rb:
     t.uuid "publisher_user_id"
     t.datetime "expiry_time"
     t.string "supporting_documents"
+    t.string "job_role", array: true
     t.string "salary"
     t.index ["expires_on"], name: "index_vacancies_on_expires_on"
     t.index ["expiry_time"], name: "index_vacancies_on_expiry_time"

but I'm not adding it right now because git pulling the branch gives me a lot of merge conflicts.

I've rebased the branch on master now

It looks like I forgot to include a change to schema.rb:
     t.uuid "publisher_user_id"
     t.datetime "expiry_time"
     t.string "supporting_documents"
+    t.string "job_role", array: true
     t.string "salary"
     t.index ["expires_on"], name: "index_vacancies_on_expires_on"
     t.index ["expiry_time"], name: "index_vacancies_on_expiry_time"

but I'm not adding it right now because git pulling the branch gives me a lot of merge conflicts.

I've rebased the branch on master now

I deleted the comment because actually the change to schema.rb was there all along.

Ignore or delete the last merge please, it was a mistake.


python310Packages.tplink-omada-client: 1.1.5 -> 1.2.3

Changelog: https://github.com/MarkGodwin/tplink-omada-api/releases/tag/release%2Fv1.2.3
Description of changes

Things done

Built on platform(s)

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

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

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

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

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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 226477 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.tplink_omada
python310Packages.tplink-omada-client
python310Packages.tplink-omada-client.dist
python311Packages.tplink-omada-client
python311Packages.tplink-omada-client.dist


fix: the B512 ABI coder and typegen now expect its correct Sway type

Summary

As pointed out by Luiz here, the B512 coder was expecting its Sway type to be of b512 when in reality it is struct B512.
This fix should fix the typegen and all the B512 inputs should now accept a string instead of a { bytes: [string, string] } type.
I have verified that you can now safely pass signed messages generated by Wallet.signMessage() (string) to any Sway function expecting a B512 type. (Example E2E test)

Closes #826

Oh never mind, I had already begun typing my reply before I refreshed and then saw @arboleya's comment.

@Dhaiwat10 Only now I saw that test — although the test looks good, it's limited to the new type and involves many unrelated classes. If we can send/receive all types correctly, all internals encode/decode usages should follow. If you could please add such a broader test, I think it'd greatly improve the confidence of the coder package.

@Dhaiwat10 Awesome! I suspect we had this, but I couldn't remember.
Yes, adding a new test there should be enough.

@arboleya @luizstacio I have added a test for B512 similar to the other types. Please feel free to review now :)


fix(consts): updated consts

Codecov Report

Merging #80 (9f551a3) into main (dfa4d8c) will increase coverage by 0.27%.
The diff coverage is 100.00%.

:exclamation: Current head 9f551a3 differs from pull request most recent head db1db22. Consider uploading reports for the commit db1db22 to get more accurate results

@@            Coverage Diff             @@
##             main      #80      +/-   ##
==========================================
+ Coverage   82.17%   82.45%   +0.27%
==========================================
  Files          17       17
  Lines         707      718      +11
  Branches      135      142       +7
==========================================
+ Hits          581      592      +11
  Misses        126      126

Impacted Files
Coverage Δ

src/exporter-factory.ts
100.00% <100.00%> (ø)

src/options.ts
97.82% <100.00%> (+0.60%)
:arrow_up:


No "The version is up tp date." message using a RaspBee on a RPi 3B+

I am using a RaspBee on a RPi 3B+ and running your docker image.
My problem is that I dont know if my RaspBee and my deconz is up2date.
Here is screenshot of my phoscon-app: https://i.imgur.com/OxduT18.png
On other screenshots I see that there should be (with your docker on the same HW):
"The version is up tp date."
See here: https://github.com/dresden-elektronik/deconz-rest-plugin/issues/956
Can we find out, what went wrong on my device or what version of deconz I am running really?
I did a successfully firmware-update for my raspBee with:

wget https://www.dresden-elektronik.de/rpi/deconz-firmware/deCONZ_Rpi_0x262f0500.bin.GCF
sudo GCFFlasher -f deCONZ_Rpi_0x262f0500.bin.GCF

THX.
Greetings by unisat

The app shows only the version provided by the REST-API so I assume you currently have 2.05.35 installed. The latest Docker image is currently on 2.05.50.
https://github.com/marthoc/docker-deconz

I'm confused though...

My problem is that I dont know if my RaspBee and my deconz is up2date.

That screenshot you posted shows that the version is 2.05.35 and the button below says "Aktualisieren auf 2.05.46" - I don't speak German but doesn't that mean "Update to 2.05.46"? So doesn't that suggest that your version is out of date?

@marthoc
Yes, it suggest it, but I was not 100% sure.
@manup
How can I update the docker? I thought the updates itself, because it is bind to the deconz github... 😅?
THX for your replies.


Consider using google-github-actions/release-please-action for releases

Context

manually creating releases is time consuming requiring a lot of manual work. if we could adopt conventional commits, google-github-actions/release-please-action  simplifies release notes and other work.
Current Behavior

we have a manual process for cutting releases
Expected Behavior

let a bot cut releases!
Possible Solution(s)

starship uses this

Hey team! Please add your planning poker estimate with ZenHub @brendarearden @chohmann @EdVinyard @fcasad


raidboss: P11S lightstream safespot sometimes incorrect

See comments on #5557
my log file (all my log files appear sorted)
[21:40:13.596] TargetIcon 1B:4002ADD7:Arcane Cylinder:0000:0000:00B5:0000:0000:0000
[21:40:13.596] TargetIcon 1B:4002ADD8:Arcane Cylinder:0000:0000:00B6:0000:0000:0000
[21:40:13.596] TargetIcon 1B:4002ADD9:Arcane Cylinder:0000:0000:00B5:0000:0000:0000
[21:40:13.640] StartsCasting 14:4002ADD7:Arcane Cylinder:8207:Lightstream:4002ADD7:Arcane Cylinder:7.700:81.38:89.25:0.00:1.05
[21:40:13.640] StartsCasting 14:4002ADD8:Arcane Cylinder:8207:Lightstream:4002ADD8:Arcane Cylinder:7.700:100.00:121.50:0.00:-3.14
[21:40:13.640] StartsCasting 14:4002ADD9:Arcane Cylinder:8207:Lightstream:4002ADD9:Arcane Cylinder:7.700:118.62:89.25:0.00:-1.05

log file from #5557
[12:16:45.006] TargetIcon 1B:40004F48:Arcane Cylinder:0000:0000:0167:0000:0000:0000
[12:16:45.006] TargetIcon 1B:40004F4A:Arcane Cylinder:0000:0000:0167:0000:0000:0000
[12:16:45.006] TargetIcon 1B:40004F49:Arcane Cylinder:0000:0000:0168:0000:0000:0000
[12:16:45.050] StartsCasting 14:40004F48:Arcane Cylinder:8207:Lightstream:40004F48:Arcane Cylinder:7.700:81.38:89.25:0.00:1.05
[12:16:45.050] StartsCasting 14:40004F4A:Arcane Cylinder:8207:Lightstream:40004F4A:Arcane Cylinder:7.700:118.62:89.25:0.00:-1.05
[12:16:45.050] StartsCasting 14:40004F49:Arcane Cylinder:8207:Lightstream:40004F49:Arcane Cylinder:7.700:100.00:121.50:0.00:-3.14

I think my conclusion is that the adds need be sorted by id in order to be in NW, S, NE order
cc @xiashtra

I also don't have a single log where the cylinders aren't already sorted, so it's probably just a timing thing instead of a proximity thing.


SHA for iOS/iPadOS/tvOS 16.3

Documentation issues
https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/darwin.md
Can we please have the SHA for iOS 16.3 please? It is been publicly available and Apple has shutdown the certification for 16.2.
Platform
darwin
Anything else?
https://github.com/project-chip/connectedhomeip/blob/master/docs/guides/darwin.md

@samleemc PR up to update the docs.  It's the same SHA as for 16.2.


perf(route_handler): simplify queries on the road and shoulder lanelets

Description

Currently, some functions are performing queries on ALL shoulder or road lanelets of the map.
With very large maps, this leads to performance issues which are solved by this PR.
Tests performed

Evaluator (TIER IV INTERNAL LINK): https://evaluation.tier4.jp/evaluation/reports/7a9c88f8-9724-57ba-a7cf-568b385f18f6?project_id=prd_jt
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[X] I've confirmed the contribution guidelines.
[X] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

wow! thanks!!


STON: adjectif without noun after verb

this made him happy

This is can be reprresented as a pronooun "he" with adjective happy
It would be like:

this make he happy he

Then the transformation can be dealt with in phase of generation

This issue have to be exported to NaLanGen


Add header and background color

Added header with: name and navigation bar
Added background color

Overhauled layouts in another branch.


unknown

I don't quite understand what this issue is about, sorry. Please open up a new issue with an appropriate description if you'd like to ask a question or point to a problem in this repository.


Adding support for manual specification of collapse status

Hello,
This commit adds a new prop allowing a user to manually specify the collapse status of the entire tree on initial load, by setting the _collapse property in their dataset.
If useCollapseData is set to false, tree behavior is unchanged.
If set to true, the component uses the collapse property set in the data prop.
I needed this functionality to support deep linking into the tree, and so figured I'd open a PR here just in case anyone else might find it useful!

Hi @amancegc,
Thank you for adding this! This is indeed a great option to have for control flow.
I'll go ahead and merge this as is and add 1-2 unit tests + docs before publishing as v1.11.0

@bkrem This commit seems to have been lost. Any chance we can get this into master again and a release cut?

@bkrem sorry if I already commented on this somewhere. I thought I did, but it's not showing up here now. Anyway, did this commit get overwrote somehow? I see it was merged in June, but it's not in master anymore.

now the other one shows up 😄. GitHub must've been broken.

Oh man 🤦♂ , thank you for reminding me @darrinholst.
I committed myself to fixing up @amancegc's great work here with test coverage and docs when I clearly didn't have the time to.
 Will turn this into a long-overdue release this week (for real this time) once the primary workload for my professional work has subsided somewhat.

Sounds good let me know if there's anything I can help with. I haven't been in the code much at all, but if there are any simple things I can take off your plate I can.

Published as v1.12.0 🚀


Add ARIN TAL to OpenBSD upstream repository?

Today, RIPE NCC Academy made me aware that there recently was a change to management of the Trust Anchor Locator (TAL) for ARIN’s RPKI service:

Users are no longer required to sign the ARIN Relying Party Agreement to redistribute information from ARIN’s Online Resource Certification PKI (“ORCP”) in a machine readable format for network routing purposes. We are making this modification in response to feedback from the Internet community and in the hope that it will accelerate RPKI deployment in the ARIN region. We ask that developers of Relying Party software include the ARIN TAL in future releases. We encourage all participants in the RPKI community to download the ARIN TAL and add it to existing validator deployments where previously it has not been included.

Is there anything that prevents from including ARIN TAL to https://github.com/rpki-client/rpki-client-openbsd/tree/master/src/etc/rpki – or could this just take place before the next release?

The ARIN TAL is still covered by the RPA and there section 9:
9. MACHINE-READABLE FORMAT DISTRIBUTION. Notwithstanding the foregoing, you may make available to any third
party the information made available through the ORCP Services in a machine-readable format for networking routing
purposes subject to the following requirements

4
ARIN Relying Party Agreement (29 September 2022)
(a) the third party receiving such data has entered into a Relying Party Agreement with ARIN; or
(b) You have passed through terms that are at least as protective of ARIN as the terms set forth in Article 5, 6 and 7 and
Sections 8(a), 8(b), 8(c), and 8(f) to the third party receiving such data, via browse-wrap, clickwrap, or other manner
for which such third party is legally obligated to said terms.

We have no way and no willingness to enforce anything for ARIN as required by paragraph 9b.
Therefore we decided to not include the ARIN TAL in rpki-client.

Also see https://mailman.nanog.org/pipermail/nanog/2022-October/220786.html


async/await support

Add support for async/await, same as is being done for dart2js.
https://code.google.com/p/dart/issues/detail?id=21411

Duplicate of #5.


Adds header-based auth plugin

Hello @mvilanova,
This is a first attempt at authenticating users via request headers, please let me know what you think!

Thanks for the PR. I'll take a look at it as soon as I can.

Thank you @mvilanova for your help and the quick review -- appreciate it!


Add mth5 creation example with multiple stations

The CAS04 could be augmented with NVR08

Add option to compress the data at various levels in different ways.

@kkappler what network contains NVR08? Can you outline the channels of interest and the start time and end time as well.

@timronan The NVR08 should be on the same network as CAS04, which is "ZU"
In this case, all channels are of interest, and so are all times.
If there are issues with filesize you can restrict the time interval to that associated with CAS04, since those are the only times we can use NVR08 as remote reference for CAS04. The CAS04 times are pasted below
network = "ZU"
station = "CAS04"
start = UTCDateTime("2020-06-02T18:41:43.000000Z")
end = UTCDateTime("2020-07-13T21:46:12.000000Z")


inconsistency in relations

HI,
the gorel.obo file contains names that sometimes have an underscore (_) between words, sometimes not?  Should 'happens_during' have an underscore?
GOREL:0000027 in_presence_of
GOREL:0000752  has_direct_input
GOREL:0000001 happens during
BFO:0000051   has part
RO:0002502   depends on
Rama

Hi Rama,
This is a historical thing.  All relations originally had underscores in the names.  I'd have preferred if we'd kept it that way, but for RO/BFO it was agreed that these should be removed.  Never happened for GOREL relations.  We could do it, although you'd continue to see the readable old-style OBO ids (AKA shorthand) in GAF/GPAD.
Interesting that happens_during still has a GOREL ID.  We should be using the one from RO.  Thought I'd cleaned all these up, but seems not.
Cheers,
David
BTW - better to put gorel issues on the annotation extensions github, as the rest of them are there.
Cheers,
David

Hi David,
Thanks.
I thought there was a technical reason to keep underscore (easy for scripts to parse). You are saying the standard format should no underscores.
Rama

happens_during ID issue fixed (was OK in OWL - but stray xref gave it wrong it in OBO).
Should probably remove underscores from names in order to be consistent.  But this is low priority.

Hi @dosumis and @rbalakri ,
There doesn't seem to be an easy way to transfer tickets from one tracker to the other.
If this is the case, please either make a copy on the annotation tracker (it should be linked to it anyway?), or please deal with this issue here. Let me know if I can be of any help. Thanks!
Paola

Following the derail rather than the original topic ... I looked into moving tickets for our PomBase trackers and found that indeed, GitHub doesn't have anything built in to do it. The feature has been requested:
https://github.com/holman/ama/issues/413
and there's apparently a third-party hack that you may want to look into:
https://github.com/google/github-issue-mover

On 11 Aug 2015, at 6:43, Midori Harris wrote:

https://github.com/google/github-issue-mover

I'v  used this, it works fine

This issue was moved to geneontology/annotation_extensions#51


Feature/bump test coverage

[x] Make identifiers case insensitive
[x] Add test for truncated identifiers (more coverage)

already merged.


try : speedup CI by running prove and verify in parallel

Related issue(s)

Resolves #
Description
Simply uses rayon to run tests in parallel -- using this PR to see CI times and whether we have any barretenberg threading issues
Summary of changes

Dependency additions / changes

Test additions / changes

Checklist

[ ] I have tested the changes locally.
[ ] I have formatted the changes with Prettier and/or cargo fmt with default settings.
[ ] I have linked this PR to the issue(s) that it resolves.
[ ] I have reviewed the changes on GitHub, line by line.
[ ] I have ensured all changes are covered in the description.

Additional context

Seems we cannot prove and verify in parallel using barretenberg


[ConsensusLoop] Make it async

We want to replace lock() with AsyncLock and get rid of GetAwaiter stuff and make the whole thing nice and clean as it should be.

 [ConsensusLoop] Make it async


"Failed to do setup" error on version 1.6.1

Describe the bug
It says Request error: POSIXErrorCode(rawValue: 2): No such file or directory, and the only button on that prompt message is Quit button
To Reproduce
No response
Expected behavior
No response
Diagnostic report (REQUIRED)
OrbStack info:
Version: 1.6.1
Commit: bfaddc6839de8b00b7aff767dbd673ac6ad4259e (v1.6.1)
System info:
macOS: 12.7.4 (21H1123)
CPU: amd64, 8 cores
CPU model: Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
Model: MacBookPro11,4
Memory: 16 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2024-05-31T12-44-09.161292Z.zip

Screenshots and additional context (optional)

I came to report the same issue. Here's my diagnostics report:
OrbStack info:
Version: 1.6.1
Commit: bfaddc6839de8b00b7aff767dbd673ac6ad4259e (v1.6.1)
System info:
macOS: 14.5 (23F79)
CPU: arm64, 24 cores
CPU model: Apple M2 Ultra
Model: Mac14,14
Memory: 128 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2024-05-31T17-49-24.542475Z.zip

Ah I see lots of reports now. I followed #1229 and downgraded to v1.5.1 and its working. I had to run orb reset because it said my data was corrupt, but at least I'm running now.

Ah I see lots of reports now. I followed #1229 and downgraded to v1.5.1 and its working. I had to run orb reset because it said my data was corrupt, but at least I'm running now.

Same here, I just downgraded to v1.5.1 and it works normally, no need to upgrade now until maintainer fixing this up

@justinmacleod That was caused by the data corruption, not by upgrading to v1.6.0. It's not the same as this issue, but there's a different bug caused by v1.6.0 starting too fast and triggering a race condition that causes the wrong error to be reported.

Duplicate of #1229


Additions to Menu Swapping

Adds Martin farmer pickpocket, allows changing home portal option #1827 , swap the trades on Razmire Keelgan who has 2 trade options, and adds teleport for Morytania Legs. I packaged the new configs into another folder to keep the menuswapper folder clean.

If I can suggest one more, maybe a default swap option for the Occult Altar?


alias Project

a solution for #99.
Project-alias is also good, but it get problem for me.
Project-alias not working when we have 2 project with the same name.
for example: there is two [src] folder, and one is alias to [customer-src] and another one is alias to [user-src], then we just get the first one work, the second one is not work.
and also, project-alias has some small bug when we have the same folder in two different projects...
so, here is my solution.
I add an alias object for every Project, when Project opened, atom will rename the project-name with the alias object。
and then, we can alias the project from context-menu.
for some details, I did next things:
1, add alias property to models/Project
2, add 2 method to Manager,
Manager.renameProject is for atom to rename the project label.
Manager. mergeProjectAlias is for atom to save the alias.
3, add a [Rename View] to let user define the alias. just a textedit View.
and the view source is from https://www.npmjs.com/package/@aki77/atom-input-dialog
4, add a commad [Project Manager: alias Project] to show the [Rename View]
Thank you for your awesome work, The Project Manager is help me a lot.

Any updates on this? This would be very useful for me!

I keep getting Cannot get property dataset of null when running the command both from the tree-view and from the command palette.

Cool, seems to work. But there is one thing, and that is that the command can be run from the command palette, and there it receives an error since I guess it's built for being used from the tree view. Do you have any solution about how to solve that? Is there any pattern for that in Atom? Haven't used Atom in a while.

yes, the command is designed for being used from the tree view.....
i will give a try for used from command palette, thank you for your feedback.


Lock aggregation routine

Only one aggregation process may be running per user in parallel.

See https://github.com/muety/wakapi/issues/179#issuecomment-821997804


bytes: ReadFrom causes a nil Buffer to be filled with 512 zero bytes

Please answer these questions before submitting your issue. Thanks!
What did you do?
I discovered this bug when testing an ssh client on go1.10. The client used a context.WithTimeout() to hang up and return after a defined timeout period. When checking the value of the *Buffer passed in to session.Stderr, I was presented with a 512-length slice of zero-value bytes any time the context timed out.
This bug only presents in go 1.10 and above.
I managed to recreate the issue directly with Buffer.ReadFrom(), the call to b.grow() causes the buffer to use a new slice of bytes with a length of 512 (MinRead), which is subsequently re-managed by the Reader.
Until the Reader completes its Read, the previously empty buffer remains "full":
https://play.golang.org/p/W-VEKbdsOfF
What did you expect to see?
An empty Buffer
What did you see instead?
A buffer filled with 512 zero-value bytes
System details
go version go1.10.2 darwin/amd64
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/forfuncsake/Library/Caches/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/forfuncsake/go"
GORACE=""
GOROOT="/Users/forfuncsake/sdk/go1.10.2"
GOTMPDIR=""
GOTOOLDIR="/Users/forfuncsake/sdk/go1.10.2/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7g/1681qtj95_31k480ygpsk_88xw4s06/T/go-build089491914=/tmp/go-build -gno-record-gcc-switches -fno-common"
GOROOT/bin/go version: go version go1.10.2 darwin/amd64
GOROOT/bin/go tool compile -V: compile version go1.10.2
uname -v: Darwin Kernel Version 17.5.0: Fri Apr 13 19:32:32 PDT 2018; root:xnu-4570.51.2~1/RELEASE_X86_64
ProductName:	Mac OS X
ProductVersion:	10.13.4
BuildVersion:	17E202
lldb --version: lldb-9<IP_ADDRESS>
  Swift-4.1

You have a data race in your example.

While true, the race doesn't have any impact on the proof (it's after the proof, in the final Println).
Regardless, here's a version with the race removed. Thanks for pointing it out.
https://play.golang.org/p/WVBBht422jH

A version without channels: https://play.golang.org/p/juW8Q47XRLA
Maybe it is not a bug, but the behavior should be mentioned in docs.

A fix can only be valid if something is broken.
https://play.golang.org/p/Fmmki6ZLI_K
p = p[:0] has no-effect on the buffer. It's reslicing the slice descriptor for the local variable passed into Read. The real slice in buf is unaffected by this.
A bytes buffer is not safe for concurrent use. Accessing it within Read is probably a sign that a data race caused the originally-reported issue.

The original example only worked because the race happened in the first place.
The second example works because a co-routineish synchonization pattern is achieved to carefully instrument the logical equivalent of calling fmt.Println in the read function.
The third example from @go101 calls the buffer's methods in the function without the above instrumentation

That being said, the documentation clearly states that the buffer may resize itself as needed.

I don't understand why this is a bug.  Don't examine a bytes.Buffer while you are executing a Read call on it.  We don't provide any guarantees about concurrent calls to bytes.Buffer methods, even if you have arranged your Read method to avoid any data races.

I believe it's a bug because there was a change in behaviour between go1.9 and go1.10.
@as - The example provided is a contrived proof. Yes, the no-op re-slice in the example Read() is inconsequential to the Buffer.buf slice, and the re-slice in ReadFrom (after Read()) is the key to the final state of the buffer.
When a buffer is resizing itself (as allowed), I appreciate that could change its capacity, but should it also be allowed to change its length/content?
The original issue was discovered working with an ssh client (based on golang.org/x/crypto/ssh). The client passes a *bytes.Buffer as the io.Writer in Session.Stdout and Session.Stderr. The ssh package then starts io.Copy in a goroutine to write the stdout/err streams into the provided io.Writer (the *bytes.Buffer) here: https://github.com/golang/crypto/blob/master/ssh/session.go#L524.
We have wrapped the ssh.Run() call in a function with a context.WithTimeout and examine the buffers either when the ssh.Run returns, or the context times out.
In all such timeout cases, the Read() hasn't put anything in the buffer, as it is locked waiting for data from the ssh server.
In go 1.9 an prior, the buffers are empty on timeout.
In go 1.10+, the buffers are "full" (of zero) on timeout.
The fix proposed in #25436 simply keeps the buffer empty after it is "grown", using the same logic as in the exported Grow() method: https://github.com/golang/go/blob/master/src/bytes/buffer.go#L159

The mere fact of a  behavior change between 1.9 and 1.10 doesn't necessarily indicate a bug.  We are allowed to change behavior that the caller is not expected to observe.
Looking only at your description, it sounds like there is a data race in the code you are describing.  After the context has timed out, but before the Read method has returned, the Read method might wake up at any time and modify the buffer.  If you can write a test case that shows the problem and does not cause an error when built with go test -race, then we should consider it.
A more interesting question is: why do you want to do this?

The current ReadFrom implement really expects the method Read of the passed argument will never panic. If this is not true, the behavior would be unexpected.
package main

import (
	"fmt"
	"bytes"
	"io"
)

type T struct{}
func (T) Read(p []byte) (n int, err error) {
	panic(nil)
	return 0, io.EOF
}

var b bytes.Buffer
func main() {
	defer func() {
		recover()
		fmt.Println(b.Len(), b.Cap()) // 512 512
	}()
	fmt.Println(b.Len(), b.Cap()) // 0 0
	b.ReadFrom(T{})
}

The current ReadFrom implement really expects the method Read of the passed argument will never panic

@davecheney

Can you please cite your source for this assertion.

See my last example please. Yes, if that unexpected result is allowed, the ReadFrom docs show mentions panic in a Read method would lead the Buffer to an undefined state.

I'm willing to consider the change if someone writes a test case showing the behavior of panic in a Read, especially if that behavior changed from 1.9 to 1.10.

@forfuncsake you can use my last example in your test case: https://go-review.googlesource.com/c/go/+/113495/2/src/bytes/buffer_test.go

Thanks all - I've pushed a new commit with TestReadFromPanicReader to replace the other test.
I verified that this test passes on release-branch.go1.9, fails on master and passes again with the added re-slice.


Concurrent access to a Google Drive folder via the API may result in only 502 Bad Gateway being returned

Accessing a Google Drive folder via the API at the same time may cause it to only return a 502 Bad Gateway afterwards.
Reproduction steps:

Create a project in osf.io.
Attach Google Drive to the created project.
Create a folder (in this case MultipleObjectTest) under Google Drive.
Acquire a Personal Access Token from the user's Settings.
Execute the following commands from the user's shell.

$ export OSF_TOKEN=(Personal Access Token obtained.)
$ export NODE_ID=(GUID of the created project)
# Sending requests to the API in three parallel jobs.
$ seq 5 | xargs -P 3 -I{} curl -H "Authorization: Bearer ${OSF_TOKEN}" https://api.osf.io/v2/nodes/${NODE_ID}/files/googledrive/MultipleObjectTest/

After a few runs, it only returns a 502 Bad Gateway.
$ seq 5 | xargs -P 3 -I{} curl -H "Authorization: Bearer ${OSF_TOKEN}" https://api.osf.io/v2/nodes/${NODE_ID}/files/googledrive/MultipleObjectTest/

<title>502 Bad Gateway</title>

502 Bad Gateway

nginx

<title>502 Bad Gateway</title>

502 Bad Gateway

nginx

...

From that point afterwards, a 502 Bad Gateway will be returned for a single request.
When I tried the same test for a container launched by docker-compose as a development environment, the following logs were output.
...
  File "./api/nodes/views.py", line 1199, in get_default_queryset
    file_ids = [f.id for f in self.bulk_get_file_nodes_from_wb_resp(files_list)]
  File "./api/base/views.py", line 642, in bulk_get_file_nodes_from_wb_resp
    file_obj = base_class.objects.get(target_object_id=node.id, target_content_type=content_type, _path='/' + attrs['path'].lstrip('/'))
  File "/usr/lib/python3.6/site-packages/django/db/models/manager.py", line 85, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/lib/python3.6/site-packages/django/db/models/query.py", line 384, in get
    (self.model._meta.object_name, num)
addons.googledrive.models.MultipleObjectsReturned: get() returned more than one GoogleDriveFile -- it returned 2!

It appears that multiple BaseFileNodes have been created, which would normally be expected to be one for a path.

The BaseFileNode is supposed to be created by get_or_create, but this process may create several BaseFileNodes with the same parameters if they are accessed concurrently.
To avoid creating duplicate objects, it is necessary to add a UNIQUE constraint.
In the past, there was a UNIQUE INDEX for BaseFileNode, but it is not found in the current code...
I am also aware that some Storage Providers may have files that can have the same name... For example, Dataverse https://github.com/CenterForOpenScience/osf.io/pull/9959
Similarly, it should be considered that Google Drive can have different file nodes with the same name.  https://github.com/CenterForOpenScience/osf.io/pull/8835 <= Is this Pull Request not reflected?
I will attempt to fix it. What should be the approach to attempting to fix it?

Recreate Unique constraints so that duplicate objects are not created.
Revise code to allow duplicate objects where BaseFileNode.objects.get().


Find out the delta time between IMU readouts

Read the wiki here:
https://github.com/gusmanb/PSVRFramework/wiki
We spent quite a bit of time digging/reverse engineering/documenting this data... and you're free to re-use.

I looked at this once. I remember seeing 200 samples per second, or an interval of 0.005 seconds. They are unwavering. I don't think this figure is mistaken.

2000/s, or 0.0005

Perfect, cheers @mick-p1982!

To confirm, is this the delta time between the two sets of accelerometer and gyro readings within a single sensor frame, or is this the minimum delta time between any two successful reads on the sensor interface?

It's the delta between the two sample packaged in each USB data packet, for example. It's typically like clockwork, although I have observed other values. Although I wouldn't be surprised if the other values were because the UDP buffer overflowed, possibly because of breaking into the program to debug it...
In that case you'd be missing many samples that were discarded by the UDP buffer (dropped datagrams) and so naturally the delta would reflect the difference between the two valid/available datagrams.
The timing is very precise. I don't know if temperature or other conditions could cause it to change. It may be so regular that it's only value is to recognize when data is lost.


[Bug]: KinesisIO javadoc is no longer up-to-date

What happened?
The javadoc for class KinesisIO is not up-to-date with respect to the writing of messages.
https://beam.apache.org/releases/javadoc/current/org/apache/beam/sdk/io/aws2/kinesis/KinesisIO.html
Specifically this part is causing (me) some confusion:
data.apply(KinesisIO.write()
     .withStreamName("streamName")
     .withPartitionKey(KV::getKey)
     .withSerializer(KV::getValue);

That is to say that the withSerializer method simply doesn't exist.
From the KinesisIO source it appears that Write expects a PCollection<byte[]>, not a KV of sorts.
Issue Priority
Priority: 0
Issue Component
Component: io-java-kinesis

the issue here may be that there's two different implementations for AWS sources. In this case, this is the one under amazon-web-services2. Have you tried using that one? Or perhaps you're using the one under amazon-web-services instead?

I think @pabloem is right, @mattcasters. It looks like your dependency is the old amazon-web-services / kinesis module rather than amazon-web-services2

Yeah I got confused there for a while.  I overlooked that Idea picked an old version of the Beam library.


Chevron drop down in listing does not include the same metadata as in collection

In My listing:

In Collection Listing:

The My Listing should show creator, depositor, and edit access to match with collection.

Re use the partial from collections show list in the other lists


Hi there, Which git commit of flatbuffer is used in arrow? will it change often?

I am trying to do some development on Arrow, is there anyone which version of flat buffer is used in Arrow?

https://github.com/apache/arrow/blob/master/cpp/thirdparty/flatbuffers/README.md

This directory contains a vendored version of Flatbuffers (unknown changeset), with two patches: the first patch for ARROW-15388 and the second patch for ARROW-17280.

This may help you.

Being upgraded here https://github.com/apache/arrow/pull/38192


AddJsonFile reloadOnChange is not working on azure linux app service

I am working with Ocelot, I have a problem with reloadOnChange on azure linux app service. When changing the json configuration, they are not reflected until restarting the app service.
It working fine locally and when trying it on an azure windows app service.
The code is
config.AddJsonFile($"ocelot.json", false, true);

It is possibly an issue of Azure virtual cloud environment without access to a storage, HDD and SSD.
Try to run your solution locally using your local workstation, laptop or desktop. The Ocelot app should work.
Also try https://ocelot.readthedocs.io/en/latest/features/administration.html


[Select] Add to docs that options must be direct descendants

[x] I have followed (at least) the PR section of the contributing guide.

Closes #15253

@bh1505 Should we apply the same change to the NativeSelect component?

@oliviertassinari Yes, I will push the change now

I have tried the following works with the native select, we don't need the warning, I'm updating the pull request.
        <Select
          native
          value={state.age}
          onChange={handleChange('age')}
          inputProps={{
            name: 'age',
            id: 'age-native-simple',
          }}
        >
          <React.Fragment>
            <option value="" />
            <option value={10}>Ten</option>
            <option value={20}>Twenty</option>
            <option value={30}>Thirty</option>
          </React.Fragment>
        </Select>

@oliviertassinari Okay, I see now. Thank you for the clarification.

@bh1505 Thanks for picking the issue :)


How Would I add a Noise Input To Hidden Layers In a Graphical Model?

Imagine your favourite NN architecture, and say some internal layer has 10 hidden units.  Let's say you want to add noise to each of those 10 hidden units, but you want the back prop algorithm to account for this noise when computing gradients. This is something I can do in pure TensorFlow, but I'm to do it in Keras with a  Theano backend for speed purposes.
Here's a very simple example code that is just doing linear regression y = Wx + b and then adds noise.
model = Graph()
model.add_input(name="x_input", input_shape=(2,))
model.add_input(name="noise_input", input_shape=(1,))
model.add_node(Dense(input_dim=2, output_dim=1), name="dense", input="x_input")

#The next line generates an error. Exception: Unknown identifier: noise_input
model.add_output(name='output', inputs=['dense', 'noise_input'], merge_mode='sum')
model.compile(loss={'output':'mse'}, optimizer='sgd')

Can anyone help me out here?  Does it not liking on inputs directly?
If there is a sequential model way of doing this, that would probably be even easier.

For reference, here's some code in pure TensorFlow that does the same thing with this simple linear regression model:
`# Setup placeholders
x = tf.placeholder(dtype=np.float32, shape=(None, 2), name='x')
y = tf.placeholder(dtype=np.float32, shape=(None, 1), name='y')
noise = tf.placeholder(dtype=np.float32, shape=(None,1), name='noise')
Setup trainable variables
W = tf.Variable( np.random.rand(2,1).astype(np.float32), name='W')
b = tf.Variable(np.random.rand(1,1).astype(np.float32), name='b')
Setup operations
y_ = tf.add( tf.matmul(x,W)  , b  , name='y_')
loss = tf.reduce_mean(tf.square(y - y_), name = 'mse')
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss, name='train')
grad = tf.gradients(y_, x, name='grad')
`

You just add a GaussianNoise layer in between layers.
http://keras.io/layers/noise/
Something like...
model = Sequential()
model.add(Dense(10))
model.add(GaussianNoise( how_much_noise ))
model.add(Dense(10))
...

GaussianNoise can be used as the first layer in which case you may need to specify the input_shape, or in between layers.

Are there any examples or best-practises, how much noise should be added, i.e. in which range how_much_noise should be?

@apacha The original Dropout paper (https://www.cs.toronto.edu/~hinton/absps/JMLRdropout.pdf around pg. 17) describes the optimal dropout percentage being 50%, though a range of 20%-80% is considered.

Hi, I am using Functional Model. When I write the code
inputs = tf.keras.Input([512, 512, 1], batch_size=None, name='x-input', dtype=tf.float32)
GaussianNoise(stddev=0.01)(inputs)

Then, there will be a error, the message as followed:
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 589, in __call__
    previous_mask = _collect_previous_mask(inputs)
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/topology.py", line 2799, in _collect_previous_mask
    mask = node.output_masks[tensor_index]
AttributeError: 'Node' object has no attribute 'output_masks'

The way I call the Noise layer in functional model is wrong?

same issue here

from keras.layers import Input
from keras.layers.noise import GaussianNoise
inputs = Input(shape=(512, 512, 1), name='x-input', dtype=tf.float32)
GaussianNoise(stddev=0.01)(inputs)

It works, I guess the reason may be the version of keras packaged in tensorflow is not matched.

from keras.layers import Dense, Input
from keras.layers.noise import GaussianNoise

inp = Input(tensor=self.X_ph)
noised_x = GaussianNoise(stddev=self.x_noise_std)(inp)
x = Dense(15, activation='elu')(noised_x)
x = Dense(15, activation='elu')(x)
self.estimator = x

this code doesn't produce the expected noise when I check with:
noised_x = self.sess.run(self.X_ph, feed_dict={self.X_ph: X, self.y_ph: Y}) since np.allclose(noised_x, X) returns true (it's not a precision problem)

maybe someone can help out here:
https://stackoverflow.com/questions/49435335/check-if-noise-is-really-used-during-training-with-keras-edward-and-tensorflow


Fixing issue with decorators with same prefix seen as redefinition

Followed pylint's guide more closely.

Closing; see #1359.


[ISSUE #7955]Don't set default auth metadata provider

Which Issue(s) This PR Fixes

Fixes #7955
Brief Description
Don't set default auth metadata provider
How Did You Test This Change?
Don't set default auth metadata provider

Codecov Report
Attention: Patch coverage is 31.81818% with 15 lines in your changes are missing coverage. Please review.

Project coverage is 42.83%.   Share it here.


[ENHANCEMENT] support elemental cloud-init via harvester-node-manager

Is your enhancement related to a problem? Please describe.

Extend harvester-node-manager to support elemental cloud-init
Describe the solution you'd like

With v1.2.0 we will be introducing changes for ntp-server setting via the harvester-node-manager.
This already sets up the base for leveraging elemental for configuring node settings at runtime.
We should look at extending this to include support for elemental cloud-init or subset or cloud-init instructions.
This can be used for ensuring node OS level configuration via k8s crds.

Requirements drawn from: https://github.com/harvester/harvester/pull/4713
CloudInit controller

[x] MatchSelector field describes which nodes the CloudInit CR applies to
[x] Paused field disables syncing the file to the node while Paused == true
[x] Filename is the base name (i.e., a.yaml -> /oem/a.yaml)
[x] Contents is an Elemental cloud-init-style file
[x] Emits a Kubernetes event when it modifies a file on disk that includes which file, CloudInit resource, and node were involved
[x] Maintains the status on the CloudInit resource which provides an "at-a-glance" summary of how a CloudInit resource is rolled out across the cluster
[x] Removes a file from /oem if its corresponding CloudInit object is deleted or if the match selector is updated and the node no longer matches

File watcher

[x] Installs inotify watch on /oem. If a file is modified that corresponds to a CloudInit resource, it will enqueue the CloudInit object so the controller may reconcile it

Describe alternatives you've considered

Additional context

Ability to configure OS level changes by NodeConfig crds will allow us to leverage GitOps based approaches to address backup/restores.

related to: https://github.com/harvester/harvester/issues/3263
once implemented users should be able to define a cluster/node state via git repo + fleet.

connect this feature with following
epic: https://github.com/harvester/harvester/issues/3261
sub-story: https://github.com/harvester/harvester/issues/4450

Added requirements that came out of the HEP review process to the original comment

Opening, https://github.com/harvester/harvester/issues/5110 , as it seems that there may be an issue with building CloudInit resource from a gitrepo.fleet.cattle.io baked into Harvester

Additionally, noting: https://github.com/harvester/harvester/issues/5119

Additionally, noticed: https://github.com/harvester/harvester/issues/5130

@connorkuehl  - do you feel that it makes sense to go ahead and close this out :smile: - as pending those other open issues?

@connorkuehl - based on that there are just the docs & hep ( that are currently open ) and the other item for the UI is moved to v1.4.0 Milestone I'm going to go ahead and close this out as the feature functionality (w/out UI or Terraform) looks good :smile: :+1:


fix exicode 0 when job failed for log Collector

test this please

@amaltaro, Alan I still see failed logCollect job with exit code 0. I updated the patch (2nd commit) with possible place to fix that. I am running the test again.

test this please

Seangchan, I found this branch when I was trying to solve this issue:
https://github.com/amaltaro/WMCore/commit/e8b36c44652708db03a901122278afb5ad82a6bc#diff-b870c5345972b4ca6bf3e9c4d7252e95R296
I guess it didn't work though, otherwise I'd have made a PR. Anyways, in case it makes sense to you :)

@ticoann did you run the DMWM tests with this patch? IF so, we can then add it to the patch2 tag. Otherwise, let me run a few tests before we put it in the agent.

I ran the test but after the 3 commit but that time I couldn't have any cases exit 0 with failure to verify. So I am running the another set of the test.

test this please


Rebuild @nxpm/stack using nx11

Expected Behavior
@nxpm/stack should be built using Nx 11.
Current Behavior
@nxpm/stack is built using Nx 10.
Context
Currently this project is an @nrwl/nx-plugin created with v10. In v11, Nx changed a few things in the structure, mainly around naming schematics -> generators, builders -> executors, architects => targets, and possibly some more.
The generators, besides to having a new name, also have a new way to write them. The commands that run in the generator can now be simply await-ed which makes it (especially with a project like this) easier to write, debug and share them. Those that have worked with schematics probably feel why. In some ways schematics might be easier, but we can wrap around those.

blocker: https://github.com/nrwl/nx/issues/4538

The new version also allows for some structural changes, and will be split up into several packages.

[ ] @nxpm/api
[ ] @nxpm/cli
[ ] @nxpm/stack
[ ] @nxpm/web

A question comes to my mind here. The nxpm/cli creates a workspace without versions pinned and the repo uses v10 and nx-plugin 10. Right now the cli creates a Nx 11 workspace with the Nx 10 plugin which could lead into problems

A question comes to my mind here. The nxpm/cli creates a workspace without versions pinned and the repo uses v10 and nx-plugin 10. Right now the cli creates a Nx 11 workspace with the Nx 10 plugin which could lead into problems

@DominikPieper that's a good point, in fact I already encountered some unexpected behavior when running my e2e tests.
I worked around this by installing the latest versions of the main tools inside the workspace that gets created for the e2e test.
Luckily, it looks like the generated project does not have any traces of being an Nx 10 workspace, so I think we should be good there.

@DominikPieper that's a good point, in fact I already encountered some unexpected behavior when running my e2e tests.
I worked around this by installing the latest versions of the main tools inside the workspace that gets created for the e2e test.
Luckily, it looks like the generated project does not have any traces of being an Nx 10 workspace, so I think we should be good there.


Misclassification of Hyprland

Description
Hyprland is a Windows Manager or Wayland Composer instead of Desktop Environment. But in Neofetch it becomes a DE with Sway WM.

[x] Does this issue still occur in the master branch? (Required if issue)

Neofetch version
7.1.0
Screenshot
>>>> [zayn7lie]~$ neofetch
                   -`                    zayn7lie@zayn7lie-acl
                  .o+`                   ---------------------
                 `ooo/                   OS: Arch Linux x86_64
                `+oooo:                  Host: ROG Flow X13 GV301RA_GV301RA 1.0
               `+oooooo:                 Kernel: 6.4.12-arch1-1
               -+oooooo+:                Uptime: 21 hours, 3 mins
             `/:-:++oooo+:               Packages: 789 (pacman)
            `/++++/+++++++:              Shell: bash 5.1.16
           `/++++++++++++++:             Resolution: 1920x1200
          `/+++ooooooooooooo/`           DE: Hyprland
         ./ooosssso++osssssso+`          WM: sway
        .oossssso-````/ossssss+`         Theme: Adwaita [GTK2/3]
       -osssssso.      :ssssssso.        Icons: ePapirus-Dark [GTK2/3]
      :osssssss/        osssso+++.       Terminal: kitty
     /ossssssss/        +ssssooo/-       CPU: AMD Ryzen 7 6800HS with Radeon Graphics (16) @ 4.785GHz
   `/ossssso+/:-        -:/+osssso+-     GPU: AMD ATI Radeon 680M
  `+sso+:-`                 `.-/+oso:    Memory: 6388MiB / 15231MiB
 `++:.                           `-/+/
 .`                                 `/

If you really wanted it to show hyprland for the WM, just use prin instead of info

This also happened to me. I think this caused by swaybg(used to set my wallpaper) so ps -e | grep -e sway returns 1778 tty1     00:00:00 swaybg but the command used in neofetch to find the wm ps -e | grep -m 1 -o -F -e sway' matches with swaybg and returns sway`.
Is there any easy fix to neofetch for this? It seems like simply matching any part of process name especially for programs like swaybg that share the same name could cause misclassifcations of de/wm's

is there any easy fix to neofetch for this? It seems like simply matching any part of process name especially for programs like swaybg that share the same name could cause general misclassifcations of de/wm's outside just this edgecase

maybe try with -w (match only whole words) : ps -e | grep -w -m 1 -o -F -e sway

Is there any easy fix to neofetch for this? It seems like simply matching any part of process name especially for programs like swaybg that share the same name could cause general misclassifcations of de/wm's outside just this edgecase

An easy way could be just to replace the info line with prin "sway" and customize it to your liking.

probly even easier: switch to hyfetch https://github.com/hykilpikonna/hyfetch
which has actual hyprland detection

The way WMs is identified is also a bit broken. I was getting Hyprland DE Sway WM, but then I also installed gnome so my wife could use that as another user. And now it say im on Hyprland DE with Mutter WM. So the identification process here is not very robust, and cant really be trusted in the way its implemented today.


Support ProxyTerminatingEndpoints KEP

ProxyTerminatingEndpoint support is an upstream K8S KEP:
https://github.com/kubernetes/enhancements/blob/master/keps/sig-network/1669-proxy-terminating-endpoints/README.md
ztunnel should probably support this, especially as it gets integrated into K8S proper, along with tests.
Preliminary work for this is started with:

https://github.com/istio/ztunnel/pull/374
https://github.com/istio/istio/pull/43126
to add a binary workload status to the Workload API

Remaining work after those PRs are merged to support this feature:

Implement  ProxyTerminatingEndpoint logic in ztunnel - e.g. actually use the workload states on the ztunnel side.
Write tests.

what is status now?


FileAccess can't load files as bytes when exported to Android (Godot Mono)

Godot version
v4.2.beta2.mono.official [f8818f85e]
System information
Windows 11 - Godot v4.2.beta2.mono - Forward Mobile - .NET 7
Issue description
FileAccess can load files as bytes when not exported and in editor. The exported app crashes trying to do the same on android.
byte[] data = Godot.FileAccess.GetFileAsBytes("xxx.bin");
Code statement used which creates the problem.
The same problem also happens when trying to use any C# native functions for loading files. It works fine as long as in editor and then crashes once exported.
Note - By crash I mean the app keeps running but none of the C# code seems to get executed.
Also, the bug can be replicated when trying to open a "xxx.jpg" file as bytes confirming that the problem is not with godot not packaging unrecognized files.
Steps to reproduce

Try loading bytes of a jpg image file into a byte array
Use the LoadJpgFromBuffer() function to convert it into an Image object
Apply the Image as a ImageTexture to a Sprite node
Works fine as long as in editor and crashes when exported to android

Minimal reproduction project
N/A

"xxx.bin"

Where is this file located? It's not an absolute path or resource path (e.g., res://xxx.bin to read it from APK/PCK) it will try to load file from working directory. For the editor, the working directory is a project directory, but in the exported project it won't have any project files.

"xxx.bin"

Where is this file located? It's not an absolute path or resource path (e.g., res://xxx.bin to read it from APK/PCK) it will try to load file from working directory. For the editor, the working directory is a project directory, but in the exported project it won't have any project files.

The script trying to access it is stored in res://script/xxx.cs while the file to be opened is stored in "res://xxx.bin". Also I forgot to mention is that it works fine as long as I am using Image.Load() on a jpg file (since Load can only work on a recognized image format) but it breaks once I try to open it using a FileAccess.

Also I forgot to mention is that it works fine as long as I am using Image.Load() on a jpg file (since Load can only work on a recognized image format) but it breaks once I try to open it using a FileAccess.

If it's JPG or other image which is imported resource, the original file is NOT included with the exported project (unless you have added it to the filters in the export dialog), Image. Load will read res://xxx.jpg.import (config) and res://.godot/imported/xxx.jpg-hash.ctex (converted image data).

See the documentation for details

@bruvzg
Nvm, tried doing Image.LoadFromFile("res://Rect.png") today and it doesnt seem to work on android after being exported but it does work in the editor

As said above, this is by design, and is documented
You are still attempting to load the same way, you need to use load or ResourceLoader.load

Thanks! Got it working. So if I get it correctly, Image.LoadFromFile() is supposed to load form a file on the storage and I have to use the GD.Load() is I want to load anything from the project's resources


Add e2e test for schema tool --grant-read-to option

Is your feature request related to a problem? Please describe.
The --grant-read-to option is not exercised by the e2e test suite leaving it vulnerable to regression errors.
Describe the solution you'd like
Add an e2e test.
Describe alternatives you've considered
Manual QA - but not ideal in case we miss it.
Acceptance Criteria

GIVEN an existing FHIR database with at least one resource
AND the database has an extra user such as fhirreader
WHEN the schema tool --grant-read-to option is invoked
THEN the schema tool completes successfully
AND the given database user can read the FHIR resource tables in the specified schema.

Additional context
N/A

test outline:

create a separate user with read-only access
perform some tests to ensure this user CAN invoke read,vread,history,search and CANT invoke create,update,delete

potential followon effort:  set up postgresql with a read replica in demo env and then show the fhir server working against that


Property hashmap allocation strategy based on gc pattern

The algorithm is the following:

introduced a counter variable, which value is in [0-4]
if its value is 0, property hashmap allocation is enabled
JMEM_FREE_UNUSED_MEMORY_SEVERITY_LOW -> decrease the counter
JMEM_FREE_UNUSED_MEMORY_SEVERITY_HIGH -> increase the counter
if JMEM_FREE_UNUSED_MEMORY_SEVERITY_HIGH happens twice in a row increase the counter to 4

According to the measurements this algorithm provides better runtime results in low memory conditions.
JerryScript-DCO-1.0-Signed-off-by: István Kádár<EMAIL_ADDRESS>

LGTM after the minor change

LGTM


Correlator function

Adds a function correlator(psi::MPS,Op1,Op2;start_site=i,end_site=j)
that returns a matrix C such that C[i,j]=<psi| Op1i Op2j |psi>.
Includes handling of fermionic operators, using has_fermion_string to
detect whether to put in Jordan-Wigner F string operators.

Add correlator(MPS,A,B) measuring <A_i B_j>
Unit tests for correlator function
Add optional start_site, end_site args. Add docs.

Codecov Report

Merging #622 (8c033b6) into master (aa4b043) will decrease coverage by 2.15%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #622      +/-   ##
==========================================
- Coverage   81.23%   79.08%   -2.16%
==========================================
  Files          50       50
  Lines        5410     4757     -653
==========================================
- Hits         4395     3762     -633
+ Misses       1015      995      -20

Impacted Files
Coverage Δ

src/mps/mps.jl
97.03% <100.00%> (+1.05%)
:arrow_up:

src/broadcast.jl
57.97% <0.00%> (-27.20%)
:arrow_down:

src/physics/site_types/tj.jl
58.92% <0.00%> (-11.91%)
:arrow_down:

src/qn/qnindexset.jl
89.47% <0.00%> (-10.53%)
:arrow_down:

src/ITensors.jl
25.00% <0.00%> (-8.34%)
:arrow_down:

src/physics/sitetype.jl
90.24% <0.00%> (-6.06%)
:arrow_down:

src/global_variables.jl
89.65% <0.00%> (-4.79%)
:arrow_down:

src/physics/site_types/spinone.jl
84.31% <0.00%> (-4.22%)
:arrow_down:

...nceOptimization/ContractionSequenceOptimization.jl
62.50% <0.00%> (-4.17%)
:arrow_down:

src/indexset.jl
70.21% <0.00%> (-3.85%)
:arrow_down:

... and 36 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 aa4b043...8c033b6. Read the comment docs.

Looks good, thanks!
What if we used a single keyword argument site_range with inputs like site_range = 2:8? Also, what about naming it correlation_matrix? So:
Cuu = correlation_matrix(psi, "Cdagup", "Cup"; site_range = 2:8)

When I first read your description and the docs, I thought that correlator(psi::MPS,Op1,Op2;start_site=i,end_site=j) might mean that you are only measuring a single correlator <psi| Op1i Op2j |psi> (not the entire matrix within the range of sites i:j).

Good notes - I agree with those changes.
I also added a new function expect which computes the expected values of one or more operators. Please let me know if it looks ok to you. Maybe the only change to it I can think of would be to also offer site_range for it?

Yeah, site_range would also be nice for expect as well.

The correlation_matrix function was also not handling complex MPS correctly, so I just fixed that in addition to making expect handle that case in a generic way.

Just realized that if the input MPS isn't normalized, we'd want to normalize it, since expectation values are defined that way i.e. <psi|A|psi>/<psi|psi>. Similar for the correlation_matrix function.


Image DisplayOptions Apperance

If i only want to give the User a Left and Right displayOption, it looks like this:

wouldn't it be better to look like this?

Because on Image One it more look like a page switch than a displayOption switch.

@berndhep what do you think?

The second variation is the correct one. The new content type will have a different select (dropdown).

Seems to be fixed in the new design:


Make duration logging consistent

GH #559 points out that the logging of the elapsed time is inconsistent
depending on the scale of the measured time; this is due to Duration’s
String handling.
With this PR, I propose that traefik logs millis, and not fractions of
millis.

LGTM 🐵


[premainnet] diagnose nodes health

Motivation
Provide more consumable information about premainnet node health given that:

--emit-tx fails if any node in the list is down without incredibly helpful output.
--diag on nodes individual and capture failure if one occurs so we can associate owner with error
fun --emit-tx on non broken nodes and capture timing output.
if any nodes fail the diagnose.sh script will exit with "1" after completing all other work

Output a text file containing any error nodes, --diag info, and transaction timing exposed from --emit-tx.
If any nodes failed --diag exits with 1, otherwise 0.
Yet to do in this pr post the outputfile as a text message in to circleci.
Have you read the [Contributing Guidelines on pull requests]
yes.
Test Plan
CI
Related PRs
None

Example text file output:
`Failed Operator: Anchorage
Getting faucet account sequence number on <IP_ADDRESS>:80(<IP_ADDRESS>)...seq=2
Submitting txn through <IP_ADDRESS>:80(<IP_ADDRESS>)...Failed to submit txn through <IP_ADDRESS>:80(<IP_ADDRESS>): JsonRpcError { code: -32001  message: "Server error: VM Validation error: VMStatus { major_status: SEQUENCE_NUMBER_TOO_OLD  sub_status: None  message: None }"  data: Some(Object({"major_status": Number(3)  "message": Null  "sub_status": Null})) }
Failed Operator: Spotify
Getting faucet account sequence number on <IP_ADDRESS>:80(<IP_ADDRESS>)...seq=2
Submitting txn through <IP_ADDRESS>:80(<IP_ADDRESS>)...Failed to submit txn through <IP_ADDRESS>:80(<IP_ADDRESS>): JsonRpcError { code: -32001  message: "Server error: VM Validation error: VMStatus { major_status: SEQUENCE_NUMBER_TOO_OLD  sub_status: None  message: None }"  data: Some(Object({"major_status": Number(3)  "message": Null  "sub_status": Null})) }
Failed Operator: Iliad
Getting faucet account sequence number on <IP_ADDRESS>:80(<IP_ADDRESS>)...Failed to get faucet account sequence number: query_sequence_numbers on http://<IP_ADDRESS>/ for faucet account failed: [http://<IP_ADDRESS>/] get_accounts_state failed: missing field role
Failed Operator: Shopify
Getting faucet account sequence number on libra-fullnode-pre-mainnet.shopifyapps.com:80(libra-fullnode-pre-mainnet.shopifyapps.com)...seq=2
Submitting txn through libra-fullnode-pre-mainnet.shopifyapps.com:80(libra-fullnode-pre-mainnet.shopifyapps.com)...Failed to submit txn through libra-fullnode-pre-mainnet.shopifyapps.com:80(libra-fullnode-pre-mainnet.shopifyapps.com): JsonRpcError { code: -32001  message: "Server error: VM Validation error: VMStatus { major_status: SEQUENCE_NUMBER_TOO_OLD  sub_status: None  message: None }"  data: Some(Object({"major_status": Number(3)  "message": Null  "sub_status": Null})) }
submitted: 450 txn/s  committed: 298 txn/s  expired: 0 txn/s  latency: 2899 ms  p99 latency: 4250 ms
submitted: 443 txn/s  committed: 511 txn/s  expired: 0 txn/s  latency: 2979 ms  p99 latency: 4000 ms
submitted: 461 txn/s  committed: 481 txn/s  expired: 0 txn/s  latency: 2817 ms  p99 latency: 3900 ms
submitted: 485 txn/s  committed: 420 txn/s  expired: 0 txn/s  latency: 2864 ms  p99 latency: 4450 ms
submitted: 441 txn/s  committed: 432 txn/s  expired: 0 txn/s  latency: 2937 ms  p99 latency: 3900 ms
submitted: 426 txn/s  committed: 420 txn/s  expired: 0 txn/s  latency: 3113 ms  p99 latency: 4500 ms
Total stats: submitted: 27285  committed: 27285  expired: 0
Average rate: submitted: 454 txn/s  committed: 454 txn/s  expired: 0 txn/s  latency: 3011 ms  p99 latency: 4800 ms`

I feel like .circleci is not right dir for this partner operation since we are using CI to orchestrate the workflow. @mgorven do you know where would the partner operation go?


Kubernetes provider should identify different ports

Expected Behavior / New Feature
k8s endpoint may have multiple ports. For example, https for 443 and http for 80.  It will be better if ocelot can specify a port.
Actual Behavior / Motivation for New Feature
Ocelot k8s provider doesn't support to choose specific port, it use first port as service default port.

I don't understand you!
Describe your user scenario in details please!
Attach all artifacts!

Is this issue a bug, a feature or an idea?

@RaynaldM Any ideas?
What is this author talking about? 😄

I'm sorry for the late reply. My web service on k8s expose two ports: https for 443 and http for 80  like this:
Name:         example-web
Namespace:    default
Subsets:
  Addresses:          <IP_ADDRESS>
  Ports:
    Name   Port  Protocol
    ----   ----  --------
    https  443  TCP
    http   80  TCP

and  I specify DownstreamScheme=http in ocelot:
but ocelot k8s provider still choose the https port. Then I check  source code about k8s service discovery mechanism, the

So, the problematic method:
https://github.com/ThreeMammals/Ocelot/blob/d54836d51f6ea29a2013967e3649a23e19db28b3/src/Ocelot.Provider.Kubernetes/Kube.cs#L42-L54
and especially this line of the code:
https://github.com/ThreeMammals/Ocelot/blob/d54836d51f6ea29a2013967e3649a23e19db28b3/src/Ocelot.Provider.Kubernetes/Kube.cs#L49
where we read subset.Ports.First().Port from the 1st element of Ports collection.
So, the issue is clear now in general: the code works correctly if collection has single port only (count = 1), if count > 1 then the code can behave incorrectly.
But from the view point of the design it is unclear how to build Service object having multiple ports?
Should we create a separate Service objects? And will these  Service object be mapped to DownstreamHostAndPort objects?
A lot of questions...
Will you contribute to redesign Kube provider? Do you have draft version of a new solution?
My understanding, we have to decouple Service object creation logic to a new interface and inject it, or introduce a new interface with method Build, like this 👉
Design 1
using KubeClient.Models;

public interface IKubeServiceCreator
{
    IEnumerable<Service> Create(EndpointsV1 endpoint, EndpointSubsetV1 subset);
}

// class Kube
private readonly IKubeServiceCreator _serviceCreator;

public Kube(
    KubeRegistryConfiguration kubeRegistryConfiguration, IOcelotLoggerFactory factory, IKubeApiClient kubeApi, // old injections
    IKubeServiceCreator serviceCreator) // new injected service object
{
        // ...
        _serviceCreator = serviceCreator;
}

// We have to rewrite Build method
private List<Service> BuildServices(EndpointsV1 endpoint)
{
        var services = new List<Service>();

        foreach (var subset in endpoint.Subsets)
        {
            services.AddRange(_serviceCreator.Create(endpoint, subset));
        }

        return services;
}

But... My personal preference is wrapping logic of entire BuildServices method
Design 2
using KubeClient.Models;

public interface IKubeServiceBuilder
{
    IEnumerable<Service> BuildServices(EndpointsV1 endpoint);
}

// class Kube
private readonly IKubeServiceBuilder _serviceBuilder;

public Kube(
    KubeRegistryConfiguration kubeRegistryConfiguration, IOcelotLoggerFactory factory, IKubeApiClient kubeApi, // old injections
    IKubeServiceBuilder serviceBuilder) // new injected service object
{
        // ...
        _serviceBuilder = serviceBuilder;
}

// We have to remove static Build method and rewrite GetAsync method
public async Task<List<Service>> GetAsync()
{
        // ...
        if (endpoint != null && endpoint.Subsets.Any())
        {
            services.AddRange(_serviceBuilder.BuildServices(endpoint));
        }
        // ...
        return services;
}

@shcant
Which design do you like?
I have additional 3rd idea for Design 3... 😉

Oh, I forgot about absolutely independent design and development by your own of a Custom Provider! 😄
You can develop new type of SD provider even without us. You need to copy-paste Kube class and redevelop, or inherit Kube class and override methods, and inject required objects by instructions in our docs

But you define multiple downstream service ports of one route.
In theory one endpoint can have multiple bounded protocols (ports) but it is overhead deployments.
Seems it should be one route with multiple downstream pairs of host & port of this property of the DownstreamRoute class:
public List<DownstreamHostAndPort> DownstreamAddresses { get; }

if the host will be the same part ports are different then it is a bit strange for load balancing scenario...
My understanding hosts should be different. But Yes, in theory services instances can have different ports of the same host...
Seems there is no issue...

You are right. It will be better if ports have different hosts, but in some special cases we can use custom provider to override it. I would like once again to thank you for your patience.

Hi @shcant! What's your full name and LinkedIn?
Did/Do not you have an intention to contribute?
I've decided to re-open the issue because I want to re-design K8s provider and introduce more flexibility in the provider. So, we will decouple the current default implementation into 1 or 2 additional interfaces with adding to DI.
My proposals are here in my past comment with draft design!

Hi raman, thank you for your kindness again. I may not contribute due to my personal business, but  still pay attention to the feature and provide feedback. I am very honored to your invitation. @raman-m

@shcant  Lazy bones! 😉
🆗 I will open a PR when started work for March'24 release by my own. The issue is assigned to me. So, I'll care about...
But I will ask you to review hoping that you'll have enough time for that

@shcant commented on Mar 5:

You are right. It will be better if ports have different hosts, but in some special cases we can use custom provider to override it.

It appears you've shifted your mood! 😄
Indeed, it varies depending on the deployment scenario. You can define various Consul services with distinct service names. As noted, it's also possible to assign the same host to a single service name but differentiate them using various ports.
I'll consider all these scenarios when designing the "decoupled DI services" version of the provider.
Working on this... 👨💻

@shcant Hi!
Does PR #2052 solve your problem with port names? I believe Yes...

Hey @shcant! The feature has been merged ❗
The likely delivery date is the beginning of May, coinciding with the publication of the new version of the NuGet package.
Would you like any explanations on how to use the feature?


Issue found on page 'UPDATE Statement'

The example for "Update from other table" in the UPDATE does not work in v. 1.1.3. Instead of normal functioning update, what we obtain is:
java.sql.SQLException: Binder Error: Can only update base table!
Page URL: https://duckdb.org/docs/sql/statements/update.html#update-from-other-table

Ignore and disregard. Issue cannot be reproduced. Closing it due to error on my behalf.


Outline opens Untitled-1 instead of desired line in current source file

VSCode Version: 1.24.0
OS Version: Windows 10

Steps to Reproduce:

Open C# source file with Microsoft C# extension installed
Click symbol in outline view

Does this issue occur when all extensions are disabled?: Yes/No
Cannot check as Microsoft C# extension is needed for C# symbol information
Also, when hovering on any symbol in Outline view, there is null instead of file name:

Ok, I see now that it is duplicate of #51312


No readme

How are you doing ? :)
Cheers,
G.

Im Good, just poc-ing some ideas

Im Good, just poc-ing some ideas


Safety: Underlying FD for TCP connection is closed twice

The Problem
https://github.com/bk-rs/async-ssh2-lite/blob/1b88c9cb64553ab395596a4368fc30e8e2e341c4/src/session.rs#L22-L44
From the FromRawFd docs:

This function consumes ownership of the specified file descriptor. The returned object will take responsibility for closing it when the object goes out of scope.

The docs for ssh2::Session::set_tcp_stream read:

The session takes ownership of the stream provided.

If you look at the Drop for SessionInner it's clear that ssh2 isn't doing anything to prevent the stream passed to set_tcp_stream from being dropped.
As a result, I strongly suspect the underlying FD is being closed twice: once by the Session and once by the Arc<Arync<S>> members. This is BAD since the FD could be re-used elsewhere in the program between the first and second underlying call to close(), causing the FD to be closed out from under a type that believes it has exclusive ownership over the FD.
A Solution
I think the solution is pretty simple. Instead of calling session.set_tcp_stream(stream.into_inner()?), call session.set_tcp_stream(stream.as_raw_fd()) and then wrap the original stream in an Arc. This way, Session doesn't own the FD and won't close it when it is dropped. This is fine since the Session doesn't actually need ownership of the FD as long as you ensure the FD outlives Session.
Note that this relies on the current ordering of the AsyncSession<S> members since RFC 1857 ensures members are dropped from top to bottom (and we need to drop async_io last).
pub struct AsyncSession<S> {
    inner: Session,
    async_io: Arc<Async<S>>,
}

Here's what the code might look like:
#[cfg(unix)]
impl<S> AsyncSession<S>
where
    S: AsRawFd + FromRawFd + 'static,
{
    pub fn new(stream: Async<S>, configuration: Option<SessionConfiguration>) -> io::Result<Self> {
        let mut session = get_session(configuration)?;
        session.set_tcp_stream(stream.as_raw_fd());

        let async_io = Arc::new(stream);

        Ok(Self {
            inner: session,
            async_io,
        })
    }
}

Interested to hear your thoughts.

v0.3.0 resolved


clicking comment automatically switches tabs

@jahooma This is a short boi but I feel as if I might've done it in a hacky way, would love any suggestions to make it cleaner if you have them :)

@jahooma This is a short boi but I feel as if I might've done it in a hacky way, would love any suggestions to make it cleaner if you have them :)

Cool, I see how this works. I would say this is not exactly the best pattern haha.
React is often about where you store state in the hierarchy. Usually when there's a tricky case like this it means you need to move the state up into the parent(s).
In fact, the old Tabs implementation got this wrong by managing the active tab state itself (which is why it's deprecated), and you should try using ControlledTabs, which has you pass in the active tab.
This case is particularly tricky because I think you need to have the active tab state all the way up in the ContractPageContent component, and pass it down (along with the setter) to ContractTabs and then ControlledTabs. I'd give that a shot and see if you think it's cleaner.

@jahooma This is a short boi but I feel as if I might've done it in a hacky way, would love any suggestions to make it cleaner if you have them :)

Cool, I see how this works. I would say this is not exactly the best pattern haha.
React is often about where you store state in the hierarchy. Usually when there's a tricky case like this it means you need to move the state up into the parent(s).
In fact, the old Tabs implementation got this wrong by managing the active tab state itself (which is why it's deprecated), and you should try using ControlledTabs, which has you pass in the active tab.
This case is particularly tricky because I think you need to have the active tab state all the way up in the ContractPageContent component, and pass it down (along with the setter) to ContractTabs and then ControlledTabs. I'd give that a shot and see if you think it's cleaner.

@jahooma you right this is so much better lol. Let me know if you still see any issues!


Why is it not updated? I think it is very easy to use.

Why is it not updated? I think it is very easy to use.

I think so.


Add command history selection

Action: type : and the start of some previously executed command and then press up arrow
Expected result (from vim): interface for navigating through prior commands appears
Actual result: no-op

I think this also prevents @: from working.


Feature/charm macros

Added "Macro" property to item-charm
Applying non-empty macros in _baseAbilityDieRoll()
tweaked css so that the textarea expands using flex, without needing "height" javascript

Sample Macro for First Movement of the Demiurge:
https://gist.github.com/Angry-Russian/774cd5f6de23b8d0f3f0e0734a0b30ba

The macro triggers should probably trigger at the end of _calculateRoll instead of _rollTheDice because that's the spot where the all the dice have been rolled and the numbers are shown.  Otherwise you might not correctly track the number of dice in your macros

The macro triggers should probably trigger at the end of _calculateRoll instead of _rollTheDice because that's the spot where the all the dice have been rolled and the numbers are shown. Otherwise you might not correctly track the number of dice in your macros

Good point. Moved it next to the code for Divine Inspiration Technique.

There's some other issues but i can fix those.  I'm going to merge this in as soon as I have time after i finish the next Essence patch .


Set default BanDuration to 30 mins

Probably CrawlerConfig in dns_server/src/crawler_p2p/crawler/mod.rs should now have its own BanDuration instead of re-using the p2p one.

Should I leave the default value of 24h?

I think yes


could not detect network

Hello guys,
When i executive docker-compose up and get the "noNetwork" error below. How could I setup the network in env file, thanks

Getting events for blocks 11475128 to 11567309
app_1    | Submitting tree update with 60 deposits and 60 withdrawals
app_1    | Tx failed... Error: could not detect network (event="noNetwork", code=NETWORK_ERROR, version=providers/5.0.13)
app_1    |     at Logger.makeError (/app/node_modules/@ethersproject/logger/lib/index.js:179:21)
app_1    |     at Logger.throwError (/app/node_modules/@ethersproject/logger/lib/index.js:188:20)
app_1    |     at JsonRpcProvider. (/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:399:54)
app_1    |     at step (/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:46:23)
app_1    |     at Object.throw (/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:27:53)
app_1    |     at rejected (/app/node_modules/@ethersproject/providers/lib/json-rpc-provider.js:19:65) {
app_1    |   reason: 'could not detect network',
app_1    |   code: 'NETWORK_ERROR',
app_1    |   event: 'noNetwork'
app_1    | }
app_1    | Retrying

Hello.
You have to have .env file. It's used by docker-compose.yml file.
Also make sure you specified a correct RPC_URL in the .env.

Hello.
You have to have .env file. It's used by docker-compose.yml file.
Also make sure you specified a correct RPC_URL in the .env.

I tried to setup the .env file as below, add the NET_ID and RPC_URL, however it is not work
NET_ID = 1
RPC_URL = ws://my_ip_address:8546 (replaced by http_rpc_url and alchemy, either of them get the same result)

Hello.
You have to have .env file (without .example postfix). It's used by docker-compose.yml file.
Also make sure you specified a correct RPC_URL in the .env.

I tried to setup the .env file as below, add the NET_ID and RPC_URL, however it is not work
NET_ID = 1
RPC_URL = ws://my_ip_address:8546 (replaced by http_rpc_url and alchemy, either of them get the same result)

Hello.
You have to have .env file (without .example postfix). It's used by docker-compose.yml file.
Also make sure you specified a correct RPC_URL in the .env.

You don't need the NET_ID. Just RPC_URL without spaces (http should work)
Like this
RPC_URL=https://mainnet.infura.io/v3/...

You don't need the NET_ID. Just RPC_URL without spaces (http should work)
Like this
RPC_URL=https://mainnet.infura.io/v3/...


update from upstream

chore: enable renovate
chore: explicitly set token to avoid failed uploads
chore(deps): update actions/github-script digest to 46a476b
chore(deps): update actions/download-artifact digest to 076f0f7
chore(deps): update codecov/codecov-action digest to 2a829b9
chore(deps): update coverallsapp/github-action digest to 3284643
chore(deps): update docker/build-push-action digest to a8d76c0
chore(deps): update docker/metadata-action digest to 97c170d
chore(deps): update docker/login-action digest to d398f07
chore(deps): update docker/setup-buildx-action digest to 312f67c
chore(deps): update dorny/paths-filter digest to 8c7f485
chore(deps): update enricomi/publish-unit-test-result-action digest to c82c0f5
chore(deps): update github/codeql-action digest to ba95eeb
chore(deps): update dependency alpine to v3.16.1
chore: disable coveralls, it's acting up
chore(deps): update docker/build-push-action digest to 1cb9d22

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