Make SSZ code accessible

Currently the SSZ code lives in test_libs/pyspec/eth2spec/utils/ssz/. The long directory path is unfriendly. It is also semantically wrong to put ssz implementation code in test_libs since SSZ is core to the spec, and not just used for testing.

The whole pyspec is in test_libs, not just ssz. Its only purpose was providing tests, being used for testing changes spec design, and being fuzzed. We could move out the pyspec directory to the root of the repository, and put ssz next to the utils package. If you like to put the pyspec more forward.
More fundamentally: I am hesitant doing that, the pyspec is not designed as external tooling. It has hard performance limits (slow BLS, slow-ish SSZ, readability over optimal implementation), and I don't think we should be relying on it for more and more, as eventually we will hit mainnet with higher performance requirements, e.g. to go quickly through dumped chain data. Hence also the effort put into the go-spec. Ideally I like to have the pyspec in a place where it bridges the spec formality to something people can test and validate their code with, but not run as a primary program.

Also another comment on this: I believe the SSZ core spec is still in simple-serialize.md. At least the current code in test_libs/pyspec/eth2spec/utils/ssz/ is not suitable as a replacement for the spec document in my opinion.

We could move out the pyspec directory to the root of the repository, and put ssz next to the utils package. If you like to put the pyspec more forward.

I would be happy with that, I find the current place in test_libs a bit awkward to use.

For a python implementation, it's probably better to just refer people to trinity https://github.com/ethereum/trinity/blob/master/eth2/_utils/ssz.py

where i think you want to point to this: https://github.com/ethereum/py-ssz/

The whole pyspec is in test_libs, not just ssz.

I'm confused. The majority of the spec, e.g. the phase 0 state transition function, is in specs/, not in test_libs/.

It builds to test_libs, which adds all the things needed for testing, test generation, etc.
The future organization is looking like:

Update ssz repo draft, rm signing-root from there too, review it, and then decide on standardization stages for the different features described there, and enshrine it. Then remove SSZ inner workings from the eth2 spec here, similar to BLS being described in terms of the IETF work.
Choose between two approaches (or somehow make them interchangeable) that are long-term more sustainable for mainnet chain test performance, in place of the minimal but python-magic backed pyspec-ssz:

py-ssz, from trinity: most production ready, but opinionated for trinity and not built for merkle proofs
something like my pymerkles experiment, that completes the idea of representing state as a typed merkle tree, and does away with the caching/multi-proof complexity by such representation. But it would cost more time.

For now I don't see much reason to stick to this pyspec-ssz code as a third party (i.e. outside of spec), when there are better much faster alternatives available. Such as py-ssz for python, zssz for uncached cases in Go (outperforms every client cold start), or fast and cached, but opinionated choices such as go-ssz (Prysm) and lighthouse-ssz. And plenty more to choose from (see ssz repo draft for up to date ssz implementation table).


fix(download): break loop if exception raised

This fixes https://github.com/NCI-GDC/gdc-client/issues/12 - basically just stops the thread's loop when something breaks.
@millerjs r?

:clap: :clap: :tada:


Error when  moving exclusive image ownership between queue families with simultaneous image transition

The issue is discussed in detail here.
Summarizing the scenario:
1.) write into an VK_SHARING_MODE_EXCLUSIVE image from graphics queue family
2.) transition image to another queue family with compute capability for reading
As per spec two similar pipeline image barriers are required, one in the source queue for releasing the ownership and one in the destination queue for acquiring the ownership. The spec does not mention that source and destination layout must not differ, hence this might be an spec issue rather then a validation issue.
However, if the layouts do differ (in my case layout transition from VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL to VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL) validation reports this error (layout transition applied twice?):
Cannot submit cmd buffer using image (0xa) [sub-resource: aspectMask 0x1 array layer 0, mip level 0], with layout VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL when first use is VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL.
No error is reported when the layout transition happens elsewhere (render pass) and old and new layout are both and destination layout VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL in both of the pipeline barriers.

I'm a bit confused. Is the layout transiton applied twice? If that is the case then the error is correct as you cannot transition an image from COLOR_ATTACHMENT if it's in layout SHADER_READ_ONLY. Otherwise it would help to have a repo case so we can track down what is happening. Thanks!

My example is inside a D abstraction layer and I doubt you want to read it. Let's take a look into the spec first and try to clarify before I create an example.
Per Spec: Resource Sharing Mode, in particular this sentence:

To acquire exclusive ownership, the application must execute the same buffer or image memory barrier on a queue from the destination queue family.

what exactly is meant by "the same" and how do image layout transitions fit into this concept?

Both barriers need to specify the same layout transition, otherwise they would not be "same". This might confuse drivers and/or layers due to the double transition.
None of the barriers is allowed to specify a layout transition, all of the four barrier layout members (2*(oldLayout+newLayout)) must match, implying that layout transitions are not allowed in this particular case. Barriers would be "the same", but this needs to be mentioned in the spec.
We can assume that the first (releasing) barrier is evaluated before the second (acquiring) barrier, hence only the newLayout of the fist barrier must match to the oldLayout of the second barrier. Barriers would not be "same", and based on the current spec this seems to be a big assume.

I tried 1. and 2., the former not working while the later does. 3. might work but should definitely be explained in the spec. Can you clarify which of the three cases is supposed to work and which not, please?

I will try to reproduce it in a C++ example soonTM...

We interpret it to be 2 but it is unclear from the spec.  It does make sense that no transition can happen in the transfer of ownership and this should be made explicit in the spec.

I agree that 1 should not work. 2 definitely should but it's unclear to me if 3 is allowed or not but either way I do agree the spec needs to be updated to reflect if 3 is supported or not.

So I made an code sample exploring this: https://github.com/krOoze/Hello_Triangle/tree/queue_transfer
For the case 1: it works on my (AMD) platform, but does confuse the layers (they show errors)
For ~ case 3 (everything same but layout transition only in the releasing barrier): also works and layers do not complain.
I kinda don't agree with 2. There's no reason to pass this opportunity to transition the layout and outright ban it.
Okay, this seems to be followed in KhronosGroup/Vulkan-Docs#347 and KhronosGroup/Vulkan-Docs#346 .
With one corner case explored in KhronosGroup/Vulkan-Docs#344 .

Thanks for the clarification, I will observe the corresponding Vulkan-Docs issue(s). From my side this issue here can be closed.
@krOoze, thanks for your example.

@ParticlePeter You can close your own Issues,
but I would wait to see resolution in the spec to judge the correctness of layers.

We're going to close for now, seems like the spec folks agreed that it was a spec but but I haven't seen any movement.

I haven't closed it due to krOoze's advice but I agree that its rather a spec issue and am following the related issues there. So from my side closing is fine.

@ParticlePeter Nevermind me.
The sameness problem (KhronosGroup/Vulkan-Docs#347) was resolved. So probably layer changes will be needed (if they haven't been done already).
As for the remaining Issue, my bet is layout transitions will be allowed (because why not?). And that the meaning will be "one transition" despite two Barrier definitions (because of how the sameness is defined now).

@KrOoze, I don't see how it was resolved, v1.0.33 is still as unclear as v1.0.28 when one sentence was added which hardly clarifies anything (you pointed it out in still opened KhronosGroup/Vulkan-Docs#347. So why was Vulkan-Docs#347 closed? What do I miss?

@ParticlePeter There's a whole bunch of weird interactions here, but the final actual fix should land in a week or two with the resolution of KhronosGroup/Vulkan-Docs#132 (which will also close KhronosGroup/Vulkan-Docs#346).
NB: Out of the three options presented above 1 (which apparently everyone thought was nonsense) is actually the correct one. Surprise! Actually I'm going to re-open this issue because of that, because I'm not sure what the heck the current validation layers do here. I'll also comment on KhronosGroup/Vulkan-Docs#346 to clarify the direction here. This issue probably shouldn't be closed until #346 gets a resolution, just in case.

@TobiasHector, validation is currently implementing option 2 so we will need to update for option 1 once the changes land in the spec.

@mark-lunarg
I have problem reproducing the error message again (using approach 1 in my example and 1.0.30 SDK), so there might be something else going on (unless messed up something).

NVM apparently did mess up

Thanks for clarifying Tobias.

Added a comment to https://github.com/KhronosGroup/Vulkan-Docs/issues/346

@ParticlePeter Does this issue not need to stay open so the validation layers can implement the correct thing now the spec has landed? Or would you rather a new issue be opened...? Re-opening for now, but you can close if you want a new issue opened rather than piggy-backing on yours :)

Well I assumed sure that the layers will follow soon with the spec clarification. But I must admit that I am not testing the layout transition while ownership transfer, I am transitioning in the render pass. Was afraid that I might miss the validation layer fix :-)

Lemme check on Monday, I don't want this one to get missed either.

In addition to the error with layout transition, it should probably be mentioned that there seem to be errors concerning access masks as well. While the 1.0.39 spec clarifies the layout transition, it also recommends using 0 for destination access in the release barrier and 0 for source access in the acquire barrier. Using 0 in destination access for a release barrier gives a validation error about required access bit w.r.t. the layout.

Should be fixed by 2521 above.


Implement some more Cocoa stuff

Yay the rename \o/
For get_position, it's supposed to be the distance between the top-left hand corner of the screen and the top-left hand corner of the window. I guess I should clarify this and check if it's correct for win32/linux.

I reckon some documentation regarding glutin's coordinate system would be useful. Seeing as there are cross platform differences for high dpi displays, etc.

Ok, so those implementations are wrong, but I'll need to add some more methods to rust-cocoa to be able to fix it.

(ie. the position implementations)

:shipit:

I opened #223

Bad link?


[BUG] TIPG_DB_EXCLUDE_TABLES only accepts list of length 1

I have a deployed TiPG instance in GCP Cloud Run, utilizing many environmental variables to control the deployment, like:
"TIPG_TABLE_CONFIG__public_mytable__GEOMCOL" = mygeomcol
The DB Setting TIPG_DB_EXCLUDE_TABLES is described in the documentation as accepting a list of strings, however, it silently fails when provided with a list of length 2.

My version is pinned to tipg~=0.3.0

Thanks for the report @jonaraphael I can confirm this and add a failing test
something is not working here https://github.com/developmentseed/tipg/blob/9c5bbf0f3c70f247ea30f343917678c163218481/tipg/sql/dbcatalog.sql#L249

@jonaraphael I've started a PR https://github.com/developmentseed/tipg/pull/131 to fix this but adding more tests showed that we also have a bug for the functions.


Re-export SwapchainBuilder

[ ] Added an entry to CHANGELOG_VULKANO.md or CHANGELOG_VK_SYS.md if knowledge of this change could be valuable to users
[ ] Updated documentation to reflect any user-facing changes - in this repository
[ ] Updated documentation to reflect any user-facing changes - PR to the guide that fixes existing documentation invalidated by this PR.
[x] Ran cargo fmt on the changes

Fixes #1591.

Merged. Thanks for the fix!


CB-11625: Fixes Camera issue w.r.t. content URIs by introducing android-commons dependency

Platforms affected
Android
What does this PR do?
This fixes the Camera Plugin for Android Nougat
What testing has been done on this change?
Testing against master.
Checklist

[x ] ICLA has been signed and submitted to<EMAIL_ADDRESS>[ x] Reported an issue in the JIRA database
[ x] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
[ ] Added automated test coverage as appropriate for this change. (There is none yet :( )

BTW: This is dependent on the other Nougat work being completed.  This will currently fail CI

Cordova CI Build has one or more failures.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 10  Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android
Link
Link
Link

Cordova CI Build has one or more failures.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 10  Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android
Link
Link
Link

This still fails CI until cordova-plugin-compat accepts the PR, but it's a bit better at least.

Cordova CI Build has one or more failures.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 10  Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android
Link
Link
Link

Cordova CI Build has one or more failures.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 10  Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android
Link
Link
Link

BuildHelper isn't being added to the CI, even though I've updated cordova-plugin-compat.

i tried to run your fix, but got this after building the code
`Error: /Users/samuel/Documents/Apps/neurosurgery-app/platforms/android/gradlew: Command failed with exit code 1 Error output:
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
/Users/samuel/Documents/Apps/neurosurgery-app/platforms/android/src/org/apache/cordova/camera/CameraLauncher.java:32: error: cannot find symbol
import org.apache.cordova.BuildHelper;
^
symbol:   class BuildHelper
location: package org.apache.cordova
/Users/samuel/Documents/Apps/neurosurgery-app/platforms/android/src/org/apache/cordova/camera/CameraLauncher.java:140: error: cannot find symbol
this.applicationId = (String) BuildHelper.getBuildConfigValue(cordova.getActivity(), "APPLICATION_ID");
^
symbol:   variable BuildHelper
location: class CameraLauncher
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':compileDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.`

@samuelt1 cordova-plugin-compat has not been released, and you need the BuildHelper class to use this plugin so that the FilesProvider can actually work.  This is done so that the plugin can work on 5.x and 6.0 versions of Cordova.

@infil00p I got it working now thanks alot!

Cordova CI Build has one or more failures.
Commit     - Link
Dashboard - Link

Builder Name
Console Output
Test Report
Device Logs

Windows 8.1 Store
Link
Link
Link

Windows 10  Store
Link
Link
Link

Windows 8.1 Phone
Link
Link
Link

iOS
Link
Link
Link

Android
Link
Link
Link

@samuelt1 I don't really get the comments. How am I supposed to resolve this issue? Do I need to install BuildHelper?


Updated kbd styling to be cleaner

This adjusts the keyboard short cut graphics only.
**CURRENTLY LOOKS LIKE THIS **

**PROPOSED NEW LOOK LIKE THIS **

Thanks, @cunka Let's see how this looks like in the web.


E2E plugin testing in the flutter/plugins CI

This is a follow-up to #10824: once we have a good way to test plugins, we should have e2e testing set up in the CI for flutter/plugins.

I think this issue can be closed once we have our driver test (shared_preferences, cloud_firestore, cloud_functions) running on CI (flutter/plugins#1342).
The main things that I think are out of scope for this issue (but can be filed as separate feature requests)

Interaction with non-Flutter UI (see os_tester)
Running tests on hosts where Flutter SDK isn't available
Running on non-simulator devices


Jaxrs-cxf generator generated code is not supporting different success codes

Hi,
When we have defined 201 status code for POST success response. the interface is generated with return type mentioned in the response but always sends 200 status code instead of 201.
Ex:
post:
summary: Create a pet
operationId: createPets
tags:
- pets
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: #/components/schemas/responseWithId
Generated interface looks like below:
public ResponseWithId createPets(Pet pet) {
....
}
When the implementation is returning the Pojo ResponseWithId, the response code sent is 200 instead of 201.
Maven Plugin Used for Code Generation:
org.openapitools:openapi-generator-maven-plugin:3.3.1
<language>jaxrs-cxf</language>
If it can include jaxrs.ws.Response instead of the Pojo, it will be good enough for usage.
Please help.

Please raise tooling-related issues on the relevant repository. This repository is for the OpenAPI specification itself. You may also receive more answers on a general support forum such as StackOverflow. Thanks.


Improve the documentation by adding awards/achievements section

Please share a defined layout for the Readme documentation of this repo. For the details to be added, I'll send the necessary images.

I would like to work on this.

I would like to work on this.

I would like to work on this one.

I would like to work on this one.

I would like to work on this issue.

I would like to work on this issue.

Assigned to @rbhack12

Assigned to @rbhack12

add that the project has been a part  of JWOC'21

add that the project has been a part  of JWOC'21

I would love to do this.

I would love to do this.

Assigned to @snkt0809

Assigned to @snkt0809

Is there already a method for this or do i have to create one?

Is there already a method for this or do i have to create one?

add it do readme by creating a section

add it do readme by creating a section

Still open! Anyone willing to work on this?

Still open! Anyone willing to work on this?


Don't default request body to null

When opts.body and opts.data are undefined and opts.json === true, requests are being sent with the string "null". This is because, in line 146, var body = options.body || options.data || null, resulting in JSON.stringify(null) on line 165, which returns the string.
This PR would remove the default value of null for the request body.

I think if I modify my PR to also add body = body || null just before xhr.send(body) (line 218), that should satisfy all needs. Does that work for you? I can include a comment linking back to #100 if that is helpful.


Is it possible to add Photo comments during chat

just Like this images.... Hope you understand....

@sreeji44 Please don't open duplicate issues.
This is not a built-in feature of the library. You are welcome to create a new Media Item yourself and submit for inclusion. If you look through older issues, you can find tips on ways to do this. #1520 and #1537 for example.

@sreeji44 - Opening 7 duplicate issues is a great way to piss off hard-working library maintainers. No one gets paid for their work here, and this kind of noise only distracts from actual, meaningful work.

And here I thought something was wrong with my push notifications in iOS 10, what with so many of them having the same content -_-


[NFC] Re-enable tests for capture type munging

The RegexBuilder tests for working with composed regexes with capture tuple types that don't play well with DSL methods were inadvertently disabled in a previous commit (by me). This re-enables those tests.

@swift-ci Please test macOS platform
@swift-ci Please test Linux platform

@swift-ci Please test macOS

@swift-ci Please test Linux

@swift-ci Please test macOS platform

@swift-ci Please test macOS platform


Test babel with dev babylon

I created a Makefile that can checkout babel and hook the local version of babylon into babel. Then it is possible to run the babel tests with the current local version of babylon.
just run make bootstrap-babel once and then make test-babel
This is not necessary the ultimate solution, but at least a start to detect regressions.

👍  Something like this sounds good


Update Twitter Icon in the Repository

Issue Summary
Subject: Update Twitter Icon in the Repository
Issue Description:
Problem:
The current Twitter icon used in the repository is outdated, and it does not align with the latest design changes made by Twitter. Twitter recently updated their icon to the new "x" design, and it's important to ensure that our repository stays up-to-date to maintain a consistent and modern appearance.

Suggestion:
I propose that we update the Twitter icon in our repository to reflect the latest "x" design used by Twitter. This change will not only improve the visual appeal of our project but also show that we keep up with the latest trends and maintain our content relevancy.
Action Required:
I would like to work on this issue and contribute to the repository by updating the Twitter icon. I believe that this will be a valuable addition to the project, and I am committed to seeing it through.
Expected Results:
The Twitter icon in our repository should match the latest design used by Twitter.
Let's keep our repository looking fresh and in line with current design standards. I'm excited to contribute to this improvement, and I welcome any guidance or feedback from the maintainers.
Thank you for considering this enhancement.
Steps to Reproduce
Navigate to https://ghost.org/
Observe the current Twitter icon.
Compare it to the latest Twitter icon design.
Ghost Version
4.0+
Node.js Version
18+
How did you install Ghost?
Operating System: Windows 11
Database type
MySQL 5.7
Browser & OS version
No response
Relevant log / error output
No response
Code of Conduct

[X] I agree to be friendly and polite to people in this repository

Can you assign the issue to me I will fix it.

hello @Firdous708 , can I work on this issue?

Sir plss assign this to me.
Thank You

Job Posting Page too.

This is not within the Ghost product, but thanks for the note 🙂


freeze()

Allow freezing a DependencyContainer -> no new dependency can be declared

Added in v0.8.


Wrong Heading

The Header "Adding new customers" should be changed to "Adding new employees".

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

ID: 92c618aa-df56-0f95-cbe2-3d70fca63c5f
Version Independent ID: c446d4df-4407-4140-0719-ecd63f267073
Content: Set Up Employees and Modify Information - Business Central
Content Source: business-central/hr-how-register-employees.md
Service: dynamics365-business-central
GitHub Login: @SorenGP
Microsoft Alias: edupont

Thank you for your feedback! This will be fixed in the next doc update.

Now live.


[Progress Tracker] A Unified Scenario Data Format

This issue is for tracking some updates for WaymoEnv:

[x] Convert to new data format
[x] Load new format data to MetaDrive
[ ] Replace 3 MetaDrive internal example cases
[ ] Fix interpolating line
[ ] Waymo map store map when reset
[ ] Waymo car type randomization
[ ] remove sidewalk
[ ] traffic light

This floor discusses the issue about data alignment:

[ ] Revisit Nuplan & Waymo dataset, understand how they align other modalities with the "meta data". We need to remain the "time stamp" in MetaDrive Format (MDF).
[ ] Transform the "version" to a native Python datetime compatible data, so that we compare data version directly!


Add Ruby 3.0 and 3.1 to the CI matrix

This PR adds Ruby 3.0 and 3.1 to the CI matrix.
Aside from the configuration changes in ci.yml it:

Changes the setup-ruby action to the currently supported action
Updates examples.yml to include Rails 7.0.0 and the necessary matrix exclusions
Changes Flipper::Types::Group so that it properly parses parameters for procs in Ruby 3.0 and up

As an aside, even though there's an if clause in the examples.yml that disables in on forked repos, I did run it and ensure it was green before submitting this PR.

Thanks! Appreciate the great work.
And thanks for your work on dalli!
I've been giving www.flippercloud.io credits to people who contribute, so if you want to check it out beyond a trial, let me know and I'll spot you several months or more.
Lastly, if you don't mind, I would love to know what you are using flipper for as well and how it is working out for you (what went well, what was hard other than what you mentioned here).
If you aren't comfortable leaving that information here in a public comment, feel free to email me directly<EMAIL_ADDRESS>I'm just always curious. :)

Hi @jnunemaker .  Happy to contribute.
I'll give you a ping via email on the rest.


Asilva dev

Commiting changes to neorv32_dcache_memory.vhd.

Clean up merge history if possible.

Looks like GitHub has a squash and merge option to cleanup commit history. I'm going to do this and close the PR.


Add human brain atlases

Could we leverage TemplateFlow somehow?

Probably the best place to start would be various versions of the "MNI" (Montreal Neurological Institute) templates. They come bundled with all major (f)MRI analysis software and are very widely used.
The confusing bit is that there are many different "MNI" templates, and they also come in multiple versions. This webpage provides a good explainer of various "MNI" spaces.
I would probably start with the 2009 versions of the ICBM 152 nonlinear average templates.
If we managed to write a script to fetch them via TemplateFlow (which is what I would also recommend) and convert them to BrainGlobe Atlas API format, we could batch-import the lot of them.
However, there is a catch. In human MRI, it is very common to mix and match templates and annotations, so there is no such thing as an MNI "atlas" in the BrainGlobe sense (template + annotations).  We would need to decide how to combine multiple templates with multiple annotations. In other words, this may force us to implement some of the existing ideas for BrainGlobe Atlas API 2.0.


[stable/prometheus] add option to configure hostNetwork/hostPID for node-exporter pods

Signed-off-by: Ludovic Cavajani<EMAIL_ADDRESS>What this PR does / why we need it:
Adding nodeExporter.hostNetwork and nodeExporter.hostPID allow us to manage what host namespaces the node-exporter pods will share. It is currently not possible to configure these options and it can be a security issue to expose the metrics on the host IP address or to share the host PID namespace (privileged escalation).
With "hostNetwork: false", Prometheus can scrape the node on the pod IP address.
With "hostPID: false", node-exporter is able to get the metrics with the default configuration.
Which issue this PR fixes
Special notes for your reviewer:
The values are set to true by default so this add is not disruptive. I think this should be set to false by default in the future as there is no specific reason to share these NS with the host.

/assign @mgoodness

/assign

/ok-to-test

/test pull-charts-e2e

pull-charts-e2e test is failing but I can't get the details

@gianrubio what should I do now ? I'm a bit confused

/retest

@lcavajani please rebase it from master (to fix the conflict) and push the changes

@gianrubio I see what was the issue, it looks better now.

/retest

/close

@unguiculus, any idea why my precious commands aren’t accepted by the bot?

@gianrubio don't you have to add a label before ?

@lcavajani there's a merge conflict again, please rebase it.
The missing label will be added only after the test succeed.


lint-staged throwing error

Steps to reproduce

checkout latest code
npm i --no-save, npm test
npm run precommit

Expected behaviour
In attempting to create a pull request, the precommit script is run. This error-ed out on my branch (details below). I checked out master and the same issue arises. It appears that something with the addition of the prettier causes this.
Actual behaviour
> lint-staged

`string` and `indent` should be strings
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>precommit: `lint-staged`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>precommit script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Environment
npm -v => 5.2.0
node -v => 8.2.1

string and indent should be strings: do you know if it's related to your changes?

This happened even after I checked out a fresh clone, installed dependencies, and ran precommit.
Turns out this appears to be an issue with npm versions and the pack-lock file. I upgraded to npm 5.3, removed node_modules and the package-lock file and then npm i which fixed the issue. This will produced an updated package-lock file. Removing my node_modules again and npm i again leaving this new package-lock file, everything remains happy. We might want to update the package-lock file.
Here's the same issue for reference: https://github.com/okonet/lint-staged/issues/209

Thanks for taking the time to investigate this issue, that's really appreciated! :) Actually, I didn't even noticed that we had a package-lock file in this project...
The issue is probably due to the fact that I didn't have an up-to-date version of npm when I set up prettier and thus it's dependencies did not get in the lock file .

Do you want to create a pull request with the updated list file?

PR merged ;)

npm automatically creates the lock file now.
Fixed by #556. Closing.


  elements not focusable via tabs in Safari

It looks like Safari does not respect focusable descendants in the shadow DOM. Our <media-chrome-button/> elements currently work since they are custom elements and the focusable element is the root itself.
A few things to note:

On quick investigation it looks like this may be a general issue w/Safari (See, e.g.: https://focus-style2.glitch.me from https://web.dev/style-focus/, where the <button/> in the example should be focusable via tabbing)
When VoiceOver is on on Mac, these elements are focusable by tab, so this at least shouldn't cause any obvious issues for a11y.

I believe this is, unfortunately, expected behavior.
For, basically, historical reasons, some elements aren't available in the default tab order. They can be reached by pressing option-tab or by setting "Use keyboard navigation to move focus between controls" inside of System Preferences->Keyboard->Shortcuts.


Skip code coverage steps if tests fail

Skip all the steps. Don't make more red lights.

This was a good idea.  Haven't gotten to it in over a year now though.  Other changes have been made that addressed this in different ways.  Closing...


Only the last file generated is being saved, and by the wrong name.

Running the example (python main.py example), produces only one file in workspace.
The file is just called 'python', (no extension), and only contains whatever file it generated last.
I should mention I'm also got an incompatibility error on pip install for having typer 0.9.0, when the project asked for 0.8.0, but I dont know if thats the problem.

@DenizMOz check this out https://github.com/AntonOsika/gpt-engineer/issues/35#issuecomment-1594148378

Many changes have been applied since you posted this, give the latest version a try.
If you wish to reopen the issue please do following the new issue template.


Fix FSharp.Formatting dependency hell.

This is a continuation of https://github.com/tpetricek/FSharp.Formatting/issues/277, https://github.com/tpetricek/FSharp.Formatting/issues/261 and https://github.com/tpetricek/FSharp.Formatting/pull/239 to finally get rid of those.
IMHO we should only go down the ILMerge road if we have literally no other option, using ILMerge on libraries will probably increase the pain for library users which happen to have the same dependencies (FCS comes into mind). I think the notes of http://fsharp.github.io/2015/04/18/fsharp-core-notes.html apply basically for all other dependencies as well (TL;DR: libraries should not bundle and should not ILMerge dependencies).
The good thing is there are at least two other solutions:

Create some kind of wrapper .exe like FAKE.exe which wraps the execution of our generate.fsx. With this we can basically configure our assembly redirects (for that exe) or even consider ILMerge (if we still want to do that for some reason). We could even have our own DSL and ask @forki how he would do it if he would re-do FAKE :). For the start if would probably be good to support existing scripts if possible.
Do what you already did: Fix the versions and additionally bundle all dependencies. This is probably the lower cost solution.

Note how both options contradict my initial statement (we started contradicting it since bundling RazorEngine). So additionally we should split out our use cases in two seperate NuGet packages

FSharp.Formatting <- used as it is currently as a build time helper (with one of the above options) with no additional dependency (everything is bundled to "just work" in build scripts; with one of the options from above)
FSharp.Formatting.Library <- used in case someone wants to use FSharp.Formatting as library, for example the markdown parser (bundles no dependencies but has nuget dependencies). Users of the library need to handle assembly redirection, just like for any other library.

Sidenote (Paket):
We actually "could" get rid of the "FSharp.Formatting" nuget package if Paket would give us a way to install "FSharp.Formatting.Library" and all dependencies (without updating anything) in a separate folder. Something like isolated and separate "Build" dependencies come into mind... This resolution would need to be completely independent from project dependencies. But this is probably far away... This feature would probably help FAKE (which kind of has the same problem -> FAKE could probably get away with not bundling everything) as well. Kind of like https://github.com/fsprojects/Paket/issues/515 but without even the need to specify the dependencies you want to internalize (We always want to internalize everything). With manually specifying "internalize" we have problems like changing paths when noticing we need to internalize another dependency. And IMHO we should even internalize "FSharp.Formatting" itself (so users can use different versions for referencing and building if they want to)
The problem mentioned in https://github.com/tpetricek/FSharp.Formatting/pull/239 with ILMerging RazorEngine still applies (but I'm pretty sure we could workaround that with the latest versions if ILMerging is really what you want)
I think I can come up with a PR for option 2 really quick, if needed/wanted. Maybe @forki can tell us if this "build" dependency stuff (sidenote) is something Paket can and wants to provide, but figuring out the details (and the implementation) will probably take some time anyway. If we go the "Paket" way I'm not sure how to support plain NuGet, but we can deal with that later on.
Tell me what you think and which option you would prefer. Other options to finally fix the dependency hell are appreciated as well :)

I think that requiring a fixed version of Visual F# PowerTools and F# Compiler Service is probably a reasonable behavior for now. I guess having a separate "library" package would be nice if there are people who actually use F# Formatting as a library (but then, we might have a separate small-footprint library for Markdown too if people don't want everything with lots of dependencies...).
The error I was getting was happening on Mono when working on the FsLab Journal template - it was failing to load FSharpVSPowerTools.Core.dll when creating FsiEvaluator in a Journal call from build.fsx.
The new release of F# Formatting I did did not actually fix the issue for me (I should investigate further....) and I ended up adding a workaround to copy files as local dependencies, which is not needed on .NET, but looks necessary on Mono (the F# Compiler Service uses different DLL resolution code path on Mono, but I'm not sure what the differences are - cc @dsyme & @latkin for help :-))

I think that requiring a fixed version of Visual F# PowerTools and F# Compiler Service is probably a reasonable behavior for now. I guess having a separate "library" package would be nice if there are people who actually use F# Formatting as a library (but then, we might have a separate small-footprint library for Markdown too if people don't want everything with lots of dependencies...).

The problem goes a bit deeper than that, we currently force every (Paket-) user which uses FSF for building the docs to use exactly those versions in their project references (even if their code could/must be build and released on nuget based on higher/lower versions; We can basically break builds of other people with no real reason/need). IMHO this is wrong.
Example situation: Somebody fixes a bug in FCS which results in an incompatible API (I know unlikely but just to prove my point). Currently they cannot really update FCS without breaking the docs, they need to wait for a FSF update or bundle FCS. The same is true for any other dependency we have now or add in the future. We fixed it for RazorEngine by bundling.

The error I was getting was happening on Mono when working on the FsLab Journal template - it was failing to load FSharpVSPowerTools.Core.dll when creating FsiEvaluator in a Journal call from build.fsx.

Can I reproduce this by basically deleting the "copybinaries" target and running on linux?

The problem goes a bit deeper than that...

Hmm, I see what you're saying. It is certainly wrong - especially since the typical setup with generating docs is not really a dependency in the same way as ordinary project dependencies (you might even want to have those in a separate folder than standard dependencies in packages...).
I like the plan you outlined:

Have FSharp.Formatting "tool" package that bundles everything with fixed compatible versions
Have FSharp.Formatting.Library package with standard dependencies

I guess (2) does not really need to have any fixed version dependencies - I suspect that the breaking change in VF PowerTools was more of an odd case, then something that will happen regularly...

Can I reproduce this by basically deleting the "copybinaries" target and running on Linux

Yes, I think so. The other thing I wanted to test is to try it with "copybinaries" but with F# Formatting 2.9.1 (to see if the copybinaries solves the issue even if there are incompatible versions loaded...)

(you might even want to have those in a separate folder than standard dependencies in packages...)

That's exactly what the side-note suggests :) (in a quite concrete fashion), but it's really a long way to go and no immediate solution.

I guess (2) does not really need to have any fixed version dependencies - I suspect that the breaking change in VF PowerTools was more of an odd case, then something that will happen regularly

:+1: And actually users of the library can take care of such things (if they happen) like any other regular library update.

Yes, I think so

I can see it, looks interesting. See #305

Well, now with paket groups (2.0) we have another interesting solution to parts of this problem: https://github.com/fsprojects/Paket/pull/1018
We can now have a "build" group where FSF locks its dependencies (we actually should recommend to use the "Main" Paket group for this, because build scripts are harder to update than the msbuild files, which are handled by paket automatically). If I understand the help correctly we can now have a single package and recommend to use
nuget FSharp.Formatting !~> 2.10

for the Build group and
nuget FSharp.Formatting

when FSharp.Formatting is used as "normal" library. This will make sure we get the lowest matching version in build scripts and the latest when used as library. @forki can maybe tell if I got this correct...
I will do some testing with my AdvancedBuilding library once paket 2.0 is released.

Will probably be solved with netcore and fake.vnext


Add application endpoint for salesperson

Codecov Report

Merging #117 (d9dbca1) into develop (046587a) will increase coverage by 0.18%.
The diff coverage is 86.48%.

@@             Coverage Diff             @@
##           develop     #117      +/-   ##
===========================================
+ Coverage    75.42%   75.60%   +0.18%
===========================================
  Files           67       69       +2
  Lines         1819     1853      +34
  Branches       161      165       +4
===========================================
+ Hits          1372     1401      +29
- Misses         419      423       +4
- Partials        28       29       +1

Impacted Files
Coverage Δ

users/permissions.py
57.14% <57.14%> (ø)

application_form/api/serializers.py
68.42% <85.71%> (+2.42%)
:arrow_up:

users/api/serializers.py
95.45% <90.00%> (-1.04%)
:arrow_down:

application_form/api/views.py
100.00% <100.00%> (ø)

application_form/urls.py
100.00% <100.00%> (ø)

users/enums.py
100.00% <100.00%> (ø)

users/models.py
96.55% <100.00%> (+0.18%)
:arrow_up:

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 046587a...d9dbca1. Read the comment docs.


Low priority: Make sure exclusions are handled properly for small rings

Christopher Bayly points out that there are some complexities in how exclusions are handled for smaller rings, especially three-membered rings (where torsions may involve the same atom twice!) but also four- and five-membered rings. There are no three membered rings in AlkEthOH that he recalls, but at some point we should check such cases to ensure exclusions are handled properly.

AlkEthOH does contain three-membered rings, such as r9, so this has already been validated when reproducing AMBER energies. Closing.


Update README with valid lint check link

Signed-off-by: Vijayan Balasubramanian<EMAIL_ADDRESS>Description
Fix link check error by updating badge link for Lint checker
Issues Resolved
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

This is already merged in latest PR.


ValueError when loading classifier training data

I am trying to create and train a DecisionTreeClassifier
cl = DecisionTreeClassifier("output/train_data.json", format="json")
But get the following error:
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/home/user/apps/myapp/env/lib/python3.10/site-packages/textblob/classifiers.py", line 205, in __init__
    super(NLTKClassifier, self).__init__(train_set, feature_extractor, format, **kwargs)
  File "/home/user/apps/myapp/env/lib/python3.10/site-packages/textblob/classifiers.py", line 139, in __init__
    self._word_set = _get_words_from_dataset(self.train_set)  # Keep a hidden set of unique words.
  File "/home/user/apps/myapp/env/lib/python3.10/site-packages/textblob/classifiers.py", line 63, in _get_words_from_dataset
    return set(all_words)
  File "/home/user/apps/myapp/env/lib/python3.10/site-packages/textblob/classifiers.py", line 62, in <genexpr>
    all_words = chain.from_iterable(tokenize(words) for words, _ in dataset)
ValueError: not enough values to unpack (expected 2, got 1)

Seems like a problem with my json data, but it seems to conform to what the documentation says is required:
[
    {
        "text": "artistname: albumtitle review \u2013 party like it\u2019s 2002. High-energy bangers follow one after the other as the Canadian returns to her pop-punk roots",
        "label": "True"
    },
    {
        "text": "DOWNLOAD FULL ALBUM: artistname \u2013 albumtitle (Zip File) | AbokiMusic. artistname\u00a0has dropped a brand new music album titled\u00a0artistname albumtitle album zip download and you can download full album below",
        "label": "False"
    },
    {
        "text": "ALBUM REVIEW: albumtitle - artistname - Distorted Sound Magazine. Jack Moar reviews the third album from Italian doom metallers artistname. Read the review of albumtitle here on Distorted Sound Magazine!",
        "label": "True"
    },
    {
        "text": "'The Voice' Winner artistname Releases 'albumtitle' - Talent Recap. The Voice - 'The Voice' season four winner, artistname reminisces on her nine years in the music industry with her new album.",
        "label": "True"
    },
    {
        "text": "artistname publica su nuevo y primer disco \u2018albumtitle. KORApublica\u2019albumtitle\u2019su primer discoLa joven artista catalana acaba de lanzar su nuevo y primer disco \u2018albumtitle\u2019.\u00a0Esc\u00fachalo aqu\u00edTras la publicaci\u00f3n de\u00a0\u2026",
        "label": "False"
    }
…
]

A similar issue was raised and closed without explanation.

I figured it out -- I was trying to create the classifier with an unopened training_data file. It worked when I used 'with open(file)' as so:
with open("output/train_data.json", "r+") as file:
    cl = DecisionTreeClassifier(file, format="json")

The need to do this wasn’t obvious to me from the documentation, especially since the process was running on something (when I ran cl.labels() it returned "label", so, as the error noted, it was retrieving one value, just not what I wanted). So it may be worth clarifying in a future update.


Eeglab reader: look for fdt if EEG.data file name is wrong

Reference issue
Fixes #7192
What does this implement/fix?
When EEG.data file name is wrong (the file is not present) an additional check is performed: set file name is used replacing ".set" with ".fdt". This is a common problem when set files are renamed in the operating system and not via eeglab (which also changes EEG.data).

Let’s add this exception and merge. Thx

@agramfort Ok, should it be raised only if the EEG.data file name and the fdt_from_set_fname are different? If these file names are the same the correct error would come up later on in the code.

@agramfort
Travis error is unrelated:
Error while fetching file https://codeload.github.com/mne-tools/fiff-constants/zip/064604db8aeba310c76c93e7c76cc983257105b4.
The azure errors are also unrelated:
Windows fatal exception: access violation

Thread 0x00000598 (most recent call first):
  File "c:\hostedtoolcache\windows\python\3.7.5\x64\lib\threading.py", line 296 in wait
  File "c:\hostedtoolcache\windows\python\3.7.5\x64\lib\queue.py", line 170 in get
  File "D:\a\1\s\mne\gui\_kit2fiff_gui.py", line 552 in worker
  File "c:\hostedtoolcache\windows\python\3.7.5\x64\lib\threading.py", line 870 in run
  File "c:\hostedtoolcacheWindows fatal exception: \access violationw

indows\python\3.7.5\x64\lib\threading.py", line 926 in _bootstrap_inner
##[error]Cmd.exe exited with code '-1073741819'.

this is what eeglab reports as warning. I just copied the wording
but as you want


Some requests fail

RuntimeError: reqwest::Error { kind: Decode, source: Error("invalid type: null, expected isize", line: 1, column: 10132) }
sending the following python code to piston:
for i in range(10_000_000):
    print(i)

This could be a bug from piston_rs spilling over here.

Confirmed bug in piston_rs, Jonxslays/piston_rs#13.


Using temporary file temp.pas not necessery

now that the DOSComp.bat file is generated at compile time, there is no need to create a temp.pas file. That wuld not work when using Tubro Pascal "overlay" functions anyway so it needs to go.

should be gone in current commit. Ready for user testing

Closing issue, all references to temp.pas are removed


Document jobs table

Per rethinkdb/rethinkdb#3115, the job control API through the rethinkdb.jobs table needs to be documented for v1.16.

Yeah even though the issue is still open (because there are some additional features for future releases), the jobs table is done for 1.16.

@VeXocide can help you with the details.

Of course, I'll give a list with some example jobs and a bit of explanation, though most should be self-explanatory.

For each job there's a duration in seconds in "duration_sec", an "id" consisting of the "type" and a unique id, a list of servers involved in "servers", and the type of the job in "type".
{
    "duration_sec": 5.852541 ,
    "id": [
        "query" ,
        "6fae89ba-09bd-45bb-a74b-623cfc9b3d89"
    ] ,
    "info": {
        "client_address": "<IP_ADDRESS>" ,
        "client_port": 50062
    } ,
    "servers": [
        "newton_hk3"
    ] ,
    "type": "query"
}

"disk_compaction" is an ongoing process on each server, hence the duration null, and is primarily listed to explain IO utilization of a machine.
{
    "duration_sec": null ,
    "id": [
        "disk_compaction" ,
        "ef400d70-904a-5285-bcf9-a62419a0770b"
    ] ,
    "info": { } ,
    "servers": [
        "newton_hk3"
    ] ,
    "type":  "disk_compaction"
}

"index_construction" is the construction of an index "info"."index" on database "info"."db", table "info"."table" with "info"."progress" being a double between zero and one.
{
    "duration_sec": 10.6485 ,
    "id": [
        "index_construction" ,
        "2d142757-54f8-5d6f-916e-0bd38fe57813"
    ] ,
    "info": {
        "db": "test" ,
        "index": "x" ,
        "progress": 0.5297221273063037 ,
        "table": "test"
    } ,
    "servers": [
        "newton_9m0" ,
        "newton_hk3"
    ] ,
    "type": "index_construction"
}

Looks like you've done this @chipotle ?

Yep, this is done. I have to manually close it because it's not in the master repository.


Scaffold Identity in ASP.NET Core projects

[Solution was generated following this steps:

Create a new project with this template: ASP.NET Core Web App (Model-View-Controller)
Target framework: NET 5.0
Authentication Type: Individuals Accounts
Configure for HTTPS
Enable Razor runtime compilation
With dotnet I installed dotnet-aspnet-codegenerator and Microsoft.VisualStudio.Web.CodeGeneration.Design
I runned command: dotnet aspnet-codegenerator identity -dc MyApplication.Data.ApplicationDbContext

Section:  Scaffold Identity in ASP.NET Core projects
You wrote:

When scaffolding Identity with a new data context into a project with existing individual accounts:

In Startup.ConfigureServices, remove the calls to:

AddDbContext
AddDefaultIdentity

The preceding code comments out the code that is duplicated in Areas/Identity/IdentityHostingStartup.cs

but that code is not present into Areas/Identity/IdentityHostingStartup.cs
namespace WebApplication1.Areas.Identity
{
    public class IdentityHostingStartup : IHostingStartup
    {
        public void Configure(IWebHostBuilder builder)
        {
            builder.ConfigureServices((context, services) => {
            });
        }
    }
}

Is the tutorial wrong or did I make a mistake?
]
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 804e24dd-7e30-8cf5-2c99-1ffacb4582f6
Version Independent ID: 3e25547b-e2c9-6634-2c38-2a77207f17d4
Content: Scaffold Identity in ASP.NET Core projects
Content Source: aspnetcore/security/authentication/scaffold-identity.md
Product: aspnet-core
Technology: aspnetcore-security
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

It's there if you follow the exact directions. It needs to be there to work.
Glad you got it working.

It's there if you follow the exact directions. It needs to be there to work.
Glad you got it working.

Did you follow the 8 steps that I wrote? because I have  file Areas/Identity/IdentityHostingStartup.cs  openned and it only have this information:
namespace WebApplication1.Areas.Identity
{
    public class IdentityHostingStartup : IHostingStartup
    {
        public void Configure(IWebHostBuilder builder)
        {
            builder.ConfigureServices((context, services) => {
            });
        }
    }
}

So where does it get the DbContext?

When scaffolding Identity with a new data context into a project with existing individual accounts:

So where does it get the DbContext?

Into startup.cs / ConfigureServices I had to see below because file Areas/Identity/IdentityHostingStartup.cs does not have the information that you wrote in your manual.

Reemplace

services.AddDefaultIdentity<IdentityUser>(options => options.SignIn.RequireConfirmedAccount = true)
                .AddEntityFrameworkStores<ApplicationDbContext>()
                .AddDefaultTokenProviders();

with
services.AddIdentity<IdentityUser, IdentityRole>()
                .AddEntityFrameworkStores<ApplicationDbContext>();

fixed in #23968


Trying to run a basic workflow, getting "Error reading the app file"

This may just be user error, but I am not sure how to debug this or proceed.
I ran rabix with the -v flag and this is the extent of the output:
/Users/spanglry/Code/rabix/rabix -v /Users/spanglry/Code/gaia-bmeg/agent/hugo/hugo-gz.cwl.yaml /Users/spanglry/Code/gaia-bmeg/work/agent_workflow__DoQxB.json
[2016-12-20 10:41:21.820] [DEBUG] [main] o.r.b.l.BackendCommandLine [BackendCommandLine.java:377] Config path: /Users/spanglry/Code/rabix/config
[2016-12-20 10:41:21.825] [DEBUG] [main] o.r.b.l.BackendCommandLine [BackendCommandLine.java:379] Configuration directory found localy.
Error reading the app file

Here is the workflow:
cwlVersion: v1.0
class: Workflow

inputs:
    hgnc_file:
        type: File
        #dirac:sourceUrl: ftp://ftp.ebi.ac.uk/pub/databases/genenames/hgnc_complete_set.txt.gz

steps:
    unzip:
      run:
        class: CommandLineTool
        hints:
          DockerRequirement:
            dockerPull: bmeg/bmeg-python
        baseCommand: [gunzip, -c]
        inputs:
          gz:
            type: File
            inputBinding:
              position: 1
        outputs:
          out:
              type: File
              outputBinding:
                glob: out.txt
        stdout: out.txt
      in:
        gz: hgnc_file
      out:
        - out
    convert:
      run:
        class: CommandLineTool
        hints:
          DockerRequirement:
            dockerPull: bmeg/bmeg-python
        baseCommand: [python]
        inputs:
          script:
            type: File
            default:
              class: File
              location: convert-hugo.py
            inputBinding:
              position: 1
          hugoFile:
            type: File
            inputBinding:
              prefix: "--hugo"
              position: 2
          outname:
            type: string
            default: out.json
            inputBinding:
              prefix: "--out"
              position: 3
        outputs:
          proto:
            type: File
            outputBinding:
              glob: out.json
      in:
        hugoFile: unzip/out
      out:
        - proto

outputs:
  proto:
    type: File
    outputSource: "convert/proto"

And here is the input file:
{"hgnc_file": {"path": "/Users/spanglry/Code/gaia-bmeg/scripts/../cache/b21fc277d723d86aeef54677674783cc", "class": "File"}}

I have verified the input file exists, and I have also successfully run this exact workflow using cwltool (replacing rabix with cwltool).
Questions: what does the term app file refer to? How do I specify an app file and how do I pass it into the program? Or is there some other issue at work here?
Thanks for taking a look!

@prismofeverything I've tried to reproduce the error with the new rc2 release, but it's executing correctly. Have you tried with the newest build?

Aha, thanks for clarifying. As it turns out, you are correct, I had updated one machine but not the other. Sorry for the noise! And thanks for the quick response.


[STREAMING][MINOR] Typo fixes

Can one of the admins verify this patch?

Jenkins, test this please

Test build #49156 has started for PR 10698 at commit c9f7e08.

Test build #49156 has finished for PR 10698 at commit c9f7e08.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/49156/
Test PASSed.

Thanks @jaceklaskowski Merging to master and 1.6


Updated matmul test

Fixed issue with precision and changed test inputs to be pairwise instead of combinatorial.

Alphabetized headers & changed parameter argument to constant reference

If you're landing a PR with several commits, please use Squash & Merge rather than Rebase & Merge unless you deliberately want to keep the commits separate; it makes the commit history much cleaner.


Icebreaker non functional

After the deployment we are not able to work with icebreaker. All azure Items are healthy and running but in MS Teams the icebreaker is not working. Also over the test webchat pane in Azure the bot is not answering. The error appeared multi times also after a few redeployments.
How can we debug this?

Try going to the Logic App, see what's the response status and message your are getting. Is it completing or ending in an error?
You could also check the deploy logs using kudu: https://github.com/projectkudu/kudu/wiki/Kudu-console

Hi @bennystrauch ,
Thanks for raising the query. We are looking into it and get back to you with proper response soon.

Morning, here are the logs from the logic app and kudu:
Logic App
HTTP Error 500
"message": "An error has occurred.",
"exceptionMessage": "Failed to acquire token for client credentials.",
"exceptionType": "System.AggregateException",
"stackTrace": "   at Microsoft.Bot.Connector.Authentication.Retry.d__01.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Bot.Connector.Authentication.AdalAuthenticator.<GetTokenAsync>d__15.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Bot.Connector.Authentication.AdalAuthenticator.<Microsoft-Bot-Connector-Authentication-IAuthenticator-GetTokenAsync>d__16.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Bot.Connector.Authentication.AppCredentials.<GetTokenAsync>d__34.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Icebreaker.Controllers.ProcessNowController.<GetAsync>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Threading.Tasks.TaskHelpersExtensions.<CastToObject>d__11.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Controllers.ActionFilterResult.d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()",
"innerException": {
"message": "An error has occurred.",
"exceptionMessage": "AADSTS7000215: Invalid client secret provided. Ensure the secret being sent in the request is the client secret value, not the client secret ID, for a secret added to app '08166bee-f9c2-434c-918d-8fb970583264'.\r\nTrace ID: 33e145fe-f698-456b-b38e-8b54dae90200\r\nCorrelation ID: ba052195-b2aa-4d87-ade9-b1f81efcf432\r\nTimestamp: 2022-09-22 07:51:36Z",
"exceptionType": "Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException",
"stackTrace": "   at Microsoft.Identity.Core.OAuth2.OAuthClient.d__181.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Identity.Core.OAuth2.OAuthClient.<GetResponseAsync>d__171.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d__75.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d__72.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d__62.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)\r\n   at Microsoft.IdentityModel.Clients.ActiveDirectory.Internal.Flows.AcquireTokenHandlerBase.d__60.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__37.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.d__64.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Bot.Connector.Authentication.AdalAuthenticator.d__23.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n   at Microsoft.Bot.Connector.Authentication.Retry.d__01.MoveNext()",     "innerException": {       "message": "An error has occurred.",       "exceptionMessage": "Response status code does not indicate success: 401 (Unauthorized).",       "exceptionType": "Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException",       "stackTrace": "   at Microsoft.Identity.Core.OAuth2.OAuthClient.<GetResponseAsync>d__181.MoveNext()"
}
}
}
Kudu Deployment:
[{"id":"486df436cd3307803e7045495bc73f1f338f9f20","status":4,"status_text":"","author_email":"94480537+v-royavinash@users.noreply.github.com","author":"v-royavinash","deployer":"GitHub","message":"Updated the<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>to fix the build (#257)\n\n","progress":"","received_time":"2022-08-17T11:45:15.1753235Z","start_time":"2022-09-16T13:50:47.1938759Z","end_time":"2022-09-16T13:51:57.9900477Z","last_success_end_time":"2022-09-16T13:51:57.9900477Z","complete":true,"active":true,"is_temp":false,"is_readonly":false,"url":"https://icebreaker-mse-dsde-apps01.scm.azurewebsites.net/api/deployments/486df436cd3307803e7045495bc73f1f338f9f20","log_url":"https://icebreaker-mse-dsde-apps01.scm.azurewebsites.net/api/deployments/486df436cd3307803e7045495bc73f1f338f9f20/log","site_name":"icebreaker-mse-dsde-apps01","provisioningState":"Succeeded"}]
Kudu App Settings:
{"deployment_branch":"master","SCM_TRACE_LEVEL":"1","SCM_COMMAND_IDLE_TIMEOUT":"60","SCM_LOGSTREAM_TIMEOUT":"7200","SCM_BUILD_ARGS":"","aspnet:PortableCompilationOutput":"true","aspnet:PortableCompilationOutputSnapshotType":"Microsoft.Web.Compilation.Snapshots.SnapshotHelper, Microsoft.Web.Compilation.Snapshots, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35","aspnet:DisableFcnDaclRead":"true","SCM_GIT_USERNAME":"windowsazure","SCM_GIT_EMAIL":"windowsazure","webpages:Version":"<IP_ADDRESS>","webpages:Enabled":"true","webactivator:assembliesToScan":"Kudu.Services.Web","CosmosDBEndpointUrl":"https://icebreaker-mse-dsde-cdb01.documents.azure.com:443/","AllowedTenants":"36515c62-8878-4f10-a7f4-561a4c17bef7","ScmType":"ExternalGit","WEBSITE_AUTH_ENABLED":"False","DisableTenantFilter":"false","REMOTEDEBUGGINGVERSION":"16.0.30709.132","MicrosoftAppId":"08166bee-f9c2-434c-918d-8fb970583264","FUNCTIONS_RUNTIME_SCALE_MONITORING_ENABLED":"0","APPINSIGHTS_INSTRUMENTATIONKEY":"b377c3a5-b756-45ad-9070-8faf3524497c","Testing":"false","WEBSITE_NODE_DEFAULT_VERSION":"8.9.4","CosmosDBDatabaseName":"icebreaker-mse-dsde-cdb01","KeyVaultURI":"https://icebreaker-mse-dsde-kv04.vault.azure.net","WEBSITE_AUTH_AUTO_AAD":"False","ManifestAppId":"d55d08d9-bacb-4567-942f-afd85d632dcc","CosmosCollectionUsers":"UsersOptInStatus","AppBaseDomain":"icebreaker-mse-dsde-apps01.azurewebsites.net","MaxPairUpsPerTeam":"5000","DefaultCulture":"en","WEBSITE_SITE_NAME":"icebreaker-mse-dsde-apps01","BotDisplayName":"icebreaker-mse-dsde-bot01","CosmosCollectionTeams":"TeamsInstalled","WEBSITE_AUTH_LOGOUT_PATH":"/.auth/logout","branch":"main"}

Just to make sure, when you create your Client Secret, under "Certificates & Tokens", you have two values you can choose:

Value
Secret ID

Are you picking the Value, instead of the Secret ID? Reading the log I have the feeling you got the latest, not the first one (which is the correct one). You can only view the Client Secret Value (Not ID!!) when you create this key so you have to save it right after creating so you can use when deploying your app.

okay I can use the value if needed. What option I have to change in the app service to add the value?

You can go to your deployment and redeploy it, it asks for the keys again.
I think the easiest way is to go to your resource group -> deployments (top-right, above locations) -> select your deployment that was successful and redeploy it.


AWS Decoupling - Eliminate requirement for AWS region

Need to eliminate the need for an AWS region when executing GCP or Azure policies.

could you elaborate where your seeing that?

Maybe just delusional - Was running some policies and was blocked on lack of AWS region (e.g. AWS_DEFAULT_REGION) - so filed an issue to remind myself.  But it looks like that is fixed, so I'm guessing I was on an older commit.


⚠ Bofrost.lu has degraded performance

In 0d312c9, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2422 ms

Resolved: Bofrost.lu performance has improved in 4dc197b after 31 minutes.


Entity Slicing using Data Tries

Rendered

Code is now available: https://github.com/cedar-policy/cedar/pull/1102

What would it take to answer in Cedar schema?
Can we transform the following answers:

Request type: (User, Read, Document)
Data required:
resource.readers
resource.metadata.owner
principal.ancestors (where ancestors are the ancestors in the entity hierarchy)
On the other hand, if the User would like to Edit a Document, we only need one piece of data:
Request type: (User, Edit, Document)
Data required:
resource.metadata.owner

in the follwing proposal:

Request type: (User, Read, Document)
Data required:
[
{
"resource": "entity Document = { readers: Set, }"
},
{
"resource": "entity Document = { metadata: Metadata, },
"entities": [
"entity Metadata = { owner: User }",
"entity User = { }"
]
},
{
"principal": "entity User in [UserGroup]",
"entities": [
"entity Metadata = { owner: User, }",
]
},
]
Request type: (User, Edit, Document)
[
{
"resource": "entity Document = { metadata: Metadata, },
"entities": [
"entity Metadata = { owner: User }",
"entity User = { }"
]
}
]

Also remphasing that:

entity User in [User];

for :
// allow read if the user is a global admin
permit(
  principal in User::"GlobalAdmin",
  action in [Action::"Read"],
  resource
);

is a cumbersome example. one would prefer using UserGroup  for a notion such as GlobalAdmin in the form of:

entity User in [UserGroup];

with policy shaped as:
// allow read if the user is a global admin
permit(
  principal in UserGroup::"GlobalAdmin",
  action in [Action::"Read"],
  resource
);

I want to see an example with a when clause having multiple conditions  connected with OR or AND, i.e.:
// allow documents to be read by anyone in the readers set
permit(
  principal,
  action == Action::"Read",
  resource
)
when
{
  resource.readers.contains(principal) &&
  resource.clearance < 7
};

// allow documents to be read by anyone in the readers set
permit(
principal,
action == Action::"Read",
resource
)
when
{
principal.title == "Security" ||
principal.clearance >= resource.clearance
};

I want to see an example with an unless clause

As currently proposed, high-scale systems would struggle to use this approach. It has a couple of drawbacks. The first is the necessity for the cache of manifests, which is difficult to maintain at scale when policies change frequently and the volume of policies could potentially be huge. The second is that the manifests are course grained, such as requiring the loading all ancestors of an entity, which can be impractical when the ancestor set is unbounded. Third, it requires extra work on the client-side to piece together the instructions in the manifest with the actual principal/resource in the request in order to generate a concrete plan for data retrieval.
For the situations that I'm personally most familiar with, I'd prefer a different approach. I'd rather give Cedar a policy slice, and the parameters of specific request (principal, action, resource), and Cedar emits a document that tells exactly which data to load for the request.
In addition, this document would be in a well-defined interoperable representation like JSON that we can use as a standard interface to a Policy Information Point (PIP). We give this document to the PIP, and it returns JSON-formatted entity data.
An example manifest may look like this:
  {
    "EntityType": "User",
    "EntityId": "12345",
    "AttributesToLoad": ["name","email","manager"]
    "MembershipsToCheck": [
      {"EntityType": "UserGroup",
       "EntityId": "987654"},
      {"EntityType": "UserGroup",
       "EntityId": "987654"}
    ]
  },
  {
    "EntityType": "File",
    "EntityId": "image.jpg",
    "AttributesToLoad": ["size","type","lastUpdated"]
    "MembershipsToCheck": [
      {"EntityType": "Folder",
       "EntityId": "2902982"},
      {"EntityType": "Folder",
       "EntityId": "6297822"}
    ]
  }
]

If policies have multiple levels of references, like principal.manager.manager.location, I'd want to iterate multiple times, having Cedar tell me everything to load for Level 1, and then everything for Level 2, and so on, until complete.
To tie it all together, I would definitely use an API that returned an enum of either (1) the concrete authorization result, or (2) the necessary data to arrive at a concrete result. I would loop on this API and gather data until a concrete result is achieved, or the max level is exceeded.

That is a better proposition of what I tried to propose with https://github.com/cedar-policy/rfcs/pull/74#issuecomment-2265656860 @D-McAdams . Going a Cedar formatted answer is the way. Now:

I think we are still missing which part falls where. With your proposal the example is clear of what is the Principal and what is the Resource. But it might be less implicit in plenty of other cases, therefore we need to have hints onto that.

On the Iteration, I am not sure Iteration is a good approach. Slice is extrapolated from one policy that could apply. In this case:

permit(
  principal is User,
  action == Action::"ReadFile",
  resource is File
) when {
  principal.manager.manager.location == "Minas Tirith"
};

Therefore the slice answer should ask to resolve the whole equation. Having a first response only solving the Level 1 of condition, will make the next request for a slice more complex to evaluate. And in any cases, the isAuthorized() request will have to be perform in one call to match this policy.

The return slice might not have an entity id to specify and the format needs to encompass for that.

That is a better proposition of what I tried to propose with #74 (comment) @D-McAdams . Going a Cedar formatted answer is the way. Now:

I think we are still missing which part falls where. With your proposal the example is clear of what is the Principal and what is the Resource. But it might be less implicit in plenty of other cases, therefore we need to have hints onto that.
On the Iteration, I am not sure Iteration is a good approach. Slice is extrapolated from one policy that could apply. In this case:

permit(
  principal is User,
  action == Action::"ReadFile",
  resource is File
) when {
  `principal.manager.manager.location` == "Minas Tirith"
};

Therefore the slice answer should ask to resolve the whole equation. Having a first response only solving the Level 1 of condition, will make the next request for a slice more complex to evaluate. And in any cases, the isAuthorized() request will have to be perform in one call to match this policy.

The return slice might not have an entity id to specify and the format needs to encompass for that.

Couple reasons I think the simple approach is preferable and iteration is OK.
One is that no matter what we design here, any real-world data gatherer will be looping and iterating. For example, given a policy that refers to principal.manager.manager.location, the machinery loading the data from a database has to ping back and forth with the database 3 times. First to look up the UID value for principal.manager. Then, to look up the UID value for principal.manager.manager, then to look up the string value of principal.manager.manager.location. As currently proposed, the RFC makes the customer work harder to figure out the execution plan from paths. I don't want to work hard.
It's going to be much easier for me as a customer of Cedar to say "Here's everything I know, tell me exactly what to load", and then repeat until there's nothing left to load. It's a dirt-simple code path I can run in a loop.
Such an approach also makes it consistent on how to load entity information, regardless of whether the entities are the principal/resource, or some other entity referenced in a policy, or some other entity literal. As a data gatherer, I simply don't care. Cedar tells me which entities to load, and I just go load them. This makes it dirt-simple to make a generic data loader.

One is that no matter what we design here, any real-world data gatherer will be looping and iterating. For example, given a policy that refers to principal.manager.manager.location, the machinery loading the data from a database has to ping back and forth with the database 3 times. First to look up the UID value for principal.manager. Then, to look up the UID value for principal.manager.manager, then to look up the string value of principal.manager.manager.location.

I agree that iterating works for most if not all DBs. That being said, this can be done via one query in a relational DB with JOINs?

Also while I agree that getting data out of the PIP might need round trips, getting out of the policy store of the PDP like here does not. The information needed is stored in single dedicated objects (policies) which are extrapolated into what is missing.

As currently proposed, high-scale systems would struggle to use this approach. It has a couple of drawbacks....
Hi  @D-McAdams, sorry for the late reply (I was out for a couple weeks). You make some good points about the drawbacks of this proposal that I hope to address.

I agree that maintaining an entity manifest when policies are numerous and frequently change is a problem. Luckily, I think this proposal is compatible with the solution you outlined. Given a policy slice, the Entity Manifest can be computed dynamically with a single pass over all the policies. Then, you can use it as a "document" that tells exactly what data to load for the request.

Yes, as proposed in this RFC manifests are course-grained in terms of the ancestors required and elements of sets. I recommend that we solve this issue in the future by annotating nodes in the entity manifest with this additional information.

I think the concrete plan of how to load the entities from the database is solved by my SimplifiedEntityLoader API. As you said, there is a loop that tells the user the necessary data to arrive at a concrete result. When all the data is retrieved, it stops and the authorization can proceed. I also think that we could expand on this API to make it more precise, giving details on which fields are required for each entity.

As for a JSON format, entity manifests map easily to JSON objects, and they look similar to what you have written.
Let me know what you think- perhaps I've missed something. In my mind, the entity manifests as proposed in this RFC are the most general form of entity slicing, and other solutions can be implemented on top.

@patjakdev asks:

I'm curious why such a similar approach for finding the entities to load given a fully formed PARC wasn't included in the proposal.

That's a good question. Having a fully formed PARC and having all the policies on hand does let you be a little more precise. You can do partial evaluation of the policies, get an entity manifest based on that, then do entity loading.

@D-McAdams This PR implements an API that is similar to what you have outlined above:
https://github.com/cedar-policy/cedar/pull/1208
Users can compute an entity manifest from a policy slice, then implement an EntityLoader.


Add CoingeckoId to Hiram

Hello Team,
I've summit a PR to had coingecko Id Extensions to an existing token HIRAM.
Automerge failed.
Can someone merge it manually ?
Thanks in advance
Eric
(https://github.com/solana-labs/token-list/pull/20173)

Hello @keone : Can you please review and merge?
Thx
Eric51

merged


Allow signing and fee estimation in the UDC flow

For now i don't see an option to sign automatically or fetch the nonce etc. using the exposed interface. I think it'd be nice to have that

Mostly resolved by #506


Geocoding: OpenCage geocoder supports Cors

URL of an existing service changed, marked as requiring apiKey and supporting CORS. Thanks!

Thank you for taking the time to work on a Pull Request for this project!
To ensure your PR is dealt with swiftly please check the following:

[x] Your submissions are formatted according to the guidelines in the contributing guide
[x] Your additions are ordered alphabetically
[x] Your submission has a useful description
[x] The description does not end with punctuation
[x] Each table column should be padded with one space on either side
[x] You have searched the repository for any relevant issues or pull requests
[x] Any category you are creating has the minimum requirement of 3 items
[x] All changes have been squashed into a single commit

Thank you!


Fix issue #512: force sendfile fallback when using SSL.

See issue #512.

Please add a test to never forget about ssl again.

I've just added a single test to StaticFileMixin which runs using a SSL server.
Or would it better to test everything with & without SSL?

No, one test is enough. Thanks!


Added graphing of time series data when location is clicked

Excited to get something like this off the ground. @lazd was looking at something like this too. Whats the plan and how can I help out?

Probably need to revert the cache? Seems like this pr doesn’t mean to touch it?

Probably need to revert the cache? Seems like this pr doesn’t mean to touch it?

You're right, but I'm not sure how to do that.

But the feature works 100% now, on mobile and everything. I can save the work for COVID Atlas, but don't think it would hurt to add to the current website @lazd

Yeah this looks good, we can merge!


Colored Italic letter rendering issue

Windows Terminal version (or Windows build number)
10.0.19042.1052
Other Software
Ubuntu WSL, using Vim inside the terminal
Steps to reproduce
Use either Fira Code, Monaco, or Ubuntu Mono at any size, and use a theme that has italic highlight in type (monokai.vim with italic turned on or dark_plus.vim) will successfully render the issue.
But the issue does not occur in italicized comment..
Expected Behavior
The letter 'd' will not be cut off part of it (like in the comment)
Actual Behavior
The letter 'd' being cut off part of it (the highlighted type above)

The smaller the font, the worse the problem, but the issue's not happening in the comment area. My guess is the bright colors are being rendered differently to fit the pixel grid?

The color transition between words is probably the culprit, being a different scissor area, would be my guess. The comment is all the same color.

See also #9381, which is essentially the same issue.

yea I would close this one then! Any track would be moved to #9381


key format from ag-chain-cosmos tendermint show-validator not compatible with init cli

@michaelfig is this as-designed? If so, I guess we at least need to update the validator guide...
ag-chain-cosmos tendermint show-validator
{"@type":"/cosmos.crypto.ed25519.PubKey","key":"QkK5uJYlRfjgR8vNfW4Srcy0xUz1lfgxpPmoSd2E0/Y="}

context: https://discord.com/channels/585576150827532298/755164695849205942/877268194522452028

Pulled the genesis file and config from the wiki.
server_name: ag-cosmos-server
version: 0.26.10
commit: 65cec90b0
build_tags: ',ledger'
go: go version go1.15.7 linux/amd64

The chain syncs up fine to the last block, however when I'm trying to initialize our validator (with either a restored key or new key) it doesn't take the new format.

What specific command fails? What error message comes out?

Some more info for debugging purposes below:
Fully synced:
# ag-cosmos-helper status 2>&1 | jq .SyncInfo
{
  "latest_block_hash": "115472AC0B80C2BFED8F1123BCB1B2D5394FB20F74633DE2DCC33C4F57A0B0AF",
  "latest_app_hash": "C2F8821461958F908FAE0D34A7E8A19C034CA38C43BE32409210E2CC8570CA36",
  "latest_block_height": "299667",
  "latest_block_time": "2021-08-18T11:38:11.962766312Z",
  "earliest_block_hash": "AE1AF8F81E43BFF07787B4663C12A5770AC583259A06207262930019A2ED4949",
  "earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
  "earliest_block_height": "1",
  "earliest_block_time": "2021-07-28T22:57:15.547663041Z",
  "catching_up": false
}

Imported my previous keys:
# ag-cosmos-helper keys list | jq
Enter keyring passphrase:
[
  {
    "name": "lc-agoric-devnet",
    "type": "local",
    "address": "agoric1g2345a296lxzc0ugvkn3fkx3z0zkg6s3ueh603",
    "pubkey": "{\"@type\":\"/cosmos.crypto.secp256k1.PubKey\",\"key\":\"A5GyqfSpjEAP+n50iW+hwgjnKDtq0S73joFHV6o8biQb\"}"
  }
]

Get the public key from the current node
I noticed a different key type and key format here
# ag-chain-cosmos tendermint show-validator | jq
{
  "@type": "/cosmos.crypto.ed25519.PubKey",
  "key": "QkK5uJYlRfjgR8vNfW4Srcy0xUz1lfgxpPmoSd2E0/Y="
}

And last but not least trying to submit the create-validator tx which fails on the pubkey part
# ag-cosmos-helper tx staking create-validator \
   --amount=50000000ubld \
   --broadcast-mode=block \
   --pubkey="QkK5uJYlRfjgR8vNfW4Srcy0xUz1lfgxpPmoSd2E0/Y=" \
   --moniker="$myMoniker" \
   --website="https://lemniscap.com" \
   --details="Lemniscap is an investment firm specialising in investments in emerging cryptoassets and blockchain startups." \
   --identity="1FDB0F8D14C89421" \
   --commission-rate="0.10" \
   --commission-max-rate="0.20" \
   --commission-max-change-rate="0.01" \
   --min-self-delegation="1" \
   --from=lc-agoric-devnet \
   --chain-id=$chainName \
   --gas=auto \
   --gas-adjustment=1.4 | jq
Enter keyring passphrase:
Error: invalid character 'Q' looking for beginning of value

This makes me believe either something is wrong with my binaries or pubkey format. I used the following config files:

Genesis: https://devnet.agoric.net/genesis.json
Network-config: https://devnet.agoric.net/network-config

can you use
--pubkey=$(ag-chain-cosmos tendermint show-validator)
total string instead of only pubkey value

you can use
--pubkey=$(ag-chain-cosmos tendermint show-validator)
total string instead of only pubkey value

Err.. that's the exact same value as I posted under "Get the public key from the current node" of my previous message so that results as expected in the same error:
# ag-cosmos-helper tx staking create-validator \
   --amount=50000000ubld \
   --broadcast-mode=block \
   --pubkey=$(ag-chain-cosmos tendermint show-validator) \
   --moniker="$myMoniker" \
   --website="https://lemniscap.com" \
   --details="Lemniscap is an investment firm specialising in investments in emerging cryptoassets and blockchain startups." \
   --identity="1FDB0F8D14C89421" \
   --commission-rate="0.10" \
   --commission-max-rate="0.20" \
   --commission-max-change-rate="0.01" \
   --min-self-delegation="1" \
   --from=lc-agoric-devnet \
   --chain-id=$chainName \
   --gas=auto \
   --gas-adjustment=1.4
Enter keyring passphrase:
Error: invalid character 'Q' looking for beginning of value

I didn't had any issues updating my node to agorictest-17 and I used the same deployment for devnet. What I will try to do tomorrow is a full redeployment of my devnet node together with running the validator set with a fresh keypair. This way we can be absolutely sure whether there is something wrong with my setup or the agoricdev-3 release.

any chance shell quoting is a problem here?
try --pubkey="$(ag-chain-cosmos tendermint show-validator)"?

any chance shell quoting is a problem here?
try --pubkey="$(ag-chain-cosmos tendermint show-validator)"?

Same result but ty for the suggestion. I will start with a fresh keypair tomorrow on a freshly synced node to see if it is on my end or not.. Will keep ya'll posted here.

Error: invalid character 'Q' looking for beginning of value

This is really bizarre, as it is a JSON parsing error (it's looking for an object beginning with {, but instead is parsing something that begins with Q).  Can you try inlining the total, unaltered output of ag-chain-cosmos tendermint show-validator?
Like this (I needed to escape the output with ', or the shell would butcher it):
...
  --pubkey='{"@type":"/cosmos.crypto.ed25519.PubKey","key":"QkK5uJYlRfjgR8vNfW4Srcy0xUz1lfgxpPmoSd2E0/Y="}'
...

Error: invalid character 'Q' looking for beginning of value

This is really bizarre, as it is a JSON parsing error (it's looking for an object beginning with {, but instead is parsing something that begins with Q). Can you try inlining the total, unaltered output of ag-chain-cosmos tendermint show-validator?
Like this (I needed to escape the output with ', or the shell would butcher it):
...
  --pubkey='{"@type":"/cosmos.crypto.ed25519.PubKey","key":"QkK5uJYlRfjgR8vNfW4Srcy0xUz1lfgxpPmoSd2E0/Y="}'
...

That did the trick @michaelfig ! Although I'm pretty sure I still had some old traces in the .ag-chain-cosmos directory. After spinning up a new fresh node, with a new fresh deployment of the Agoric Devnet 3 binaries, a new fresh keypair and inlining the total, unaltered output of ag-chain-cosmos tendermint show-validator it worked:
...
  --pubkey='{"@type":"/cosmos.crypto.ed25519.PubKey","key":"hSvi1j/3R0JbfA3lo5fOPwTRxOCcRa671J462rSzXJw="}'
...

We are back up and running: https://devnet.explorer.agoric.net/validator/agoricvaloper16hlhqxnn5qkp2rwec2s3j3j0lu79sv7xz6whgu

So we just need to update the docs. Oh... in fact, I see the testnet guide was already updated in this regard:
https://github.com/Agoric/agoric-sdk/wiki/Validator-Guide-for-Incentivized-Testnet/_compare/dc4a6b2659765667905093ef8d108b34512396d5...34670f96f8d60bfec1d3778350efdedeb833e6d8
I updated the devnet guide likewise: 5f8dd82


[feat] zoom in and out functionality (ctrl/ctrl+shift + "=" and ctrl/ctrl+shift+ "-")

Describe the problem
Browsers such as edge and chrome have a zoom in and out functionality with hotkeys mentioned in the title, and I would like to include that in my application with tauri, but the hotkeys aren't working for me.
Describe the solution you'd like
add the hotkey support
Alternatives considered
No response
Additional context
No response

tracking issue at https://github.com/tauri-apps/wry/issues/388

It would seem the upstream has been fixed, I guess now it's just about extending the MenuItem enum and implementing what has been done on wry right?
I may help with that if this is begginer-friendly enough

Looks like the upstream issues this depends on have been resolved. What can I do to enable this?

even though it landed in upstream, tauri still needs to expose it.

Bumping this up. Any idea when we'd get this into the framework?

Bumping this up again! This would be a welcome addition to Tauri, mainly for accessibility concerns.

Is there any workaround? I hope this gets added soon, would be great to have for accessibility.

Can tauri add a new `zoom` configuration item in the tauri.conf.json configuration file

A year has passed. I want to know how the progress of this bug is?
When can TAURI support Zoom?
@FabianLars

In the meantime, there is a pure js based way to get zoom working in browser.
using document.body.style.zoom = 1.5  from JS worked flawlessly in windows, mac and linux tauri 1.5 builds . So there is a pure browser based way to do this for now as its supported in both chromium(tauri windows) and web-kit(tauri max/linux) (But not Firefox.)

Also looking forward to this for accessibility.

In the meantime, there is a pure js based way to get Zoom working in Tauri. using document.body.style.zoom = 1.5 from JS worked flawlessly in Windows, mac, and Linux Taui 1.5 builds. So there is a pure browser-based way to do this for now as its support in both Chromium (Tauri windows) and web-kit(Tauri mac/linux) (But not Firefox.)
So one could listen to the shortcut and do this Zoom JS thingy to make Zoom work in most cases. There are some caveats to this approach as iframes are not affected by Zoom and other things some edge cases wont work as expeced in some cases.

This is not equivalent to zoom in browsers or in electron. For example some elements that would extend to window borders at 1.0 zoom level will cut off early if you reduce it through document.body.style.zoom.

Hi all, managed to fix this by calling the webviews scale API from rust. See This pull request for the code changes needed(it's not much) https://github.com/phcode-dev/phoenix-desktop/pull/162 .
After this , call the js zoom_window API.
     await __TAURI__.tauri.invoke("zoom_window", {scaleFactor:1.2});

Tested working in Windows, Linux, and mac.

How about reading the value, though ?
Because when the user presses Ctrl++/-, we need to increment/decrement the value, requiring knowing it beforehand.
Thanks

How about reading the value, though ?
Because when the user presses Ctrl++/-, we need to increment/decrement the value, requiring knowing it beforehand.
Thanks

We use our own storage layer for persisting preferences as browser local storage is not reliable in tauri.  You can test with local storage though where you start with 1 in a zoom jey stored in storage and increment zoom by .1 on ctrl+ keyboard shortcut and decrement on.keyboard minus. So we don't really have to read back the scaling factor back from rust layer, instead use localstorage at browser side.

That's unreliable as well, because there's no way to ensure that zoom isn't changeable by any other means.

That is probably how chrome/browser internally handles the zoom scale storage too, someone has to store the zoom scale factor to restore it later. If not the webkit layer, then we do it at the application side. It is pretty reliable as long as your storage layer is reliable.

In Chrome, zoom can be changed in many ways : command line arguments, hamburger menu, Ctrl+wheel, Ctrl+keyboard...
So, it's stored somewhere all these inputs can be tracked.
So, in Tauri, storing this in the app would be unreliable as zoom will eventually be changeable from all these places as well.

Hi all, managed to fix this by calling the webviews scale API from rust. See This pull request for the code changes needed(it's not much) phcode-dev/phoenix-desktop#162 .
After this , call the js zoom_window API.
     await __TAURI__.tauri.invoke("zoom_window", {scaleFactor:1.2});

Tested working in Windows, Linux, and mac.

it worked for me. Thank al ot

Windows Only

Uh, why ?

This API is only available in Windows webview2, but we can provide a polyfill as mentioned here https://github.com/tauri-apps/tauri/pull/9352#issuecomment-2034985866


Does Nebula-Operator supports a way to deploy NebulaGraph Cluster w/ newly introduced CRD?

CRD需要开放集群权限，而公司内部往往没有开放这样的集群权限，请问有没有非CRD的安装方式？

For the current design, unforcedly, no :(.
And this is literaly the first time we heard from one encountering this(restriction on control plane permission on CRD creation), could you try applying for granting that?
Otherwise, you may not be able to leverage the managed K8s in your organization, if that's not easy for you we had to deploy in a non-k8s way or provison a small k3s/minikube for a quick initial evaluation before it's possible to have CRD write permission.

For the current design, unforcedly, no :(.
And this is literaly the first time we heard from one encountering this(restriction on control plane permission on CRD creation), could you try applying for granting that?
Otherwise, you may not be able to leverage the managed K8s in your organization, if that's not easy for you we had to deploy in a non-k8s way or provison a small k3s/minikube for a quick initial evaluation before it's possible to have CRD write permission.

thx


Crystallization sprites have issues

The z-level masking I do for the crystallized goo sprites is only effective in the inventory, really.
The edges of the sprite still show their exaggerated highlight/shading sprite on the edges and the z-level of the mask is ever so slightly noticeably raised off the sprite of the item itself, leaving a peculiar seam.
I probably need to redesign these to have dedicated sprites, as cumbersome as it will be to redesign for 20+ with animations, unless I can come up with something more clever.

A major rework should address this in an upcoming build.


Switch from daisyUI to shadcn-ui

I'm planing to add the Astro's React integration on the project, and to take advantage of the future benefits I will be switching the current UI library, daisyUI to shadcn-ui
Requirements

[x] Add the React integration
[x] Install the shadcn-ui library

After that, I will be opening a new issue to track the changes on the existing components.

Made on 8dda660fe3a8ace22d3f6fb6a0a4bf7bd6720718
There's no need to track the components migration.