stats: test coverage gaps need to be filled

https://s3.amazonaws.com/lyft-envoy/coverage/report-master/coverage.html shows a bunch of relatively new functionality in stats lacks coverage. A common pattern is that due to multiple implementations of an API, we don't test-cover all cases.
Summarizing:

histogram_impl.h: used() not called, 1 missing line
isolated_store_impl.h: no coverage for findCounter(), findGauge, or findHistogram(). ~10 lines
metric_impl.h: used() not called, 1 missing line
scope_prefixer.h: 1 line, const symbolTable() accessor not called, 1 line.
stat_data_allocator_impl.h: latch(), cacheSHouldImport(), setShouldImport() not called: 3 lines
store_impl.h: counterFromStatName() etc not called: ~6 lines
thread_local_store.h: const symbolTable() accessor not called. as well as not-found return-statement for findCounter() etc, 6 lines.

I'd like to suggest this division of labor:
@ahedberg can you do isolated_store_impl.h -- may want to outline the impls too?
@fredlas can you do stat_data_allocator_impl.h ?
I'll do the rest?

I think the coverage looks great now for stats. Only thing missing is ThreadLocalStore::nullGauge() -- will keep this open and finish that off when I get a sec.


single quotes on windows

For some reason the ` is considered as single quote on windows, so now everytime I set variables, the terminal pops open and it's really annoying that I can't type the actual single quotes on editor
'`': 'atom-terminal-panel:toggle'

Changed ` to ctrl + `

This also affects OS X, and makes this package completely and utterly unusable for me.
I fixed it by adding this to my keymap.cson:
'.platform-darwin atom-workspace':
  '`': 'unset!'
  'ctrl-`': 'atom-terminal-panel:toggle'

I'd rather not have to do this, though...


redesign docs landing page

this is spread across many issue, ill get it cleaned up later today
related: https://github.com/pulumi/pulumi-hugo/issues/1149
doc about a usability study
in-progress figma file

@susanev - I am interested in doing this but I'd like to talk to you about it before starting just so I'm clear. I can schedule a meeting later this week or maybe we can go over it in one of our UX meetings? Thanks.

Design Goals
Redesign Docs landing page so that users can easily access any of the links from the left nav. Also, we want to shorten the "What is Pulumi?" text and have a link to the Registry (the Registry is linked from the top navigation, but we want to call it out on this Docs landing page as well).

Figma File
Figma Prototype
(see prototype to see an example of how 'read more/read less' expand and collapse links should work)

Design Changes

'Get Started' button has been added to the right of Pulumi Documentation header.
'Read more' link - when clicked, expands the text above it.
'Read less' link - when clicked, expands the text above it.
Circles in Getting Started, Reference, and Converters cards are using Pulumi brand colors but at 50% transparency.
New Pulumi Registry callout design:

Engineer Notes

Comments have been added in Figma but please feel free to reach out with any questions or concerns.

Thanks!

one note about this for @kimberleyamackenzie is that ive dropped both cloud providers and API reference on this page even though they are still in the docs left nav. im doing this because we have the registry callout and because both of those navigate to registry anyway. but if you have concerns or if that makes anything more difficult feel free to add them back in.


change UI raycast prioritization to better handle non-coplanar UI

Describe the problem
Originally in HTK, the UI raycast used distance to pick which UI element to focus on, but that was changed to work better with coplanar UI in this change:
https://github.com/microsoft/MixedRealityToolkit-Unity/pull/1101
In our case the UI is not coplanar, and it's awkward to have to reorder the UI to make raycasts work as expected, so prioritizing distance over depth makes more sense.
Describe the solution you'd like
Reorder the UI raycast prioritization to put distance before depth, and change the distance check to bypass (and move on to depth test) if the delta is less than some epsilon. With the epsilon check, I think it would still work the same way for coplanar UI, while also allowing it to use the distance check first for non-coplanar UI. (I'm also open to suggestions for better ways to do the coplanar test, but the epsilon seems like it should work and is simple enough)
Describe alternatives you've considered
Another solution would be to make the UI raycast prioritization overridable, and then we could just override the prioritization locally to do distance before depth.

Unless I've misunderstood the problem, this sounds like something a custom raycast provider class could fix.

@Railboy The custom raycaster is really tailored toward physics raycast and not the UI raycast. I could theoretically make it work that way but there are a couple of things that would make it pretty awkward:

the custom raycaster returns a MixedRealityRaycastHit which is based on the physics RaycastHit
it still does RaycastGraphics after the configurable raycast, which might just end up overriding the result anyway

Admittedly, I had meant to add this feedback to that PR but took too long:

I wish the default physics raycaster allowed for overriding prioritization without having to override all of the raycast behavior (and that would apply to using the configurable raycaster here as well - I really just want to override prioritization).
I think it could be beneficial to have a more generalized version of the customized raycasters and raycast prioritization/comparators that would encompass UI raycasts as well.

Another part of it is just that I think the default behavior would be more intuitive if it more closely mimicked draw behavior. That is, it seems like the expected behavior would be that the focus provider will pick whatever is drawn on top, but it doesn't work that way if the UI isn't coplanar.

raycast prioritization/comparators that would encompass UI raycasts as well.

@naostranMS My thoughts exactly. I'd forgotten that UI raycasts were not covered by the custom provider class. They really should be.

Another part of it is just that I think the default behavior would be more intuitive if it more closely mimicked draw behavior. That is, it seems like the expected behavior would be that the focus provider will pick whatever is drawn on top, but it doesn't work that way if the UI isn't coplanar.

You may be right. Either way there's no downside to giving you the option to override the default behavior.

After some investigation I discovered that I have misunderstood how Unity UI draw order works, and now I can't really think of any universal solution for this. Basically, Unity's default UI shader doesn't do a normal ZTest, so distance doesn't really have any effect. The reason it matters in our app is because we're using a custom shader that does a normal ZTest. Taking into account different shader settings when prioritizing the raycast results seems rather problematic, and I am not aware of a way to tell what bit of UI will draw on top (short of doing a rendering pass and seeing what happens).
That said, I think this issue can just be changed to: we need to be able to customize the UI raycast in the same way as the physics raycast. I do still think it would be cool if I could just override the prioritization (for both physics and UI), but it's not absolutely necessary.


Chess: Move A4 to A5

Please do not change the title. Just click "Submit new issue".

@tmchuynh done! Successfully played move a4a5 for current game.
Thanks for playing!


Rf/fsleyes wxpython compat

Hi @mcraig-ibme, this PR has a couple of small compatibility fixes:

The fsleyes.profiles.profilemap module no longer exists as of FSLeyes >=1.0.0 (and wasn't used by preview_fsleyes.py anyway)
As of wxpython >=4.1 wx.Sizer objects will raise an error when given both wx.EXPAND and vertical alignment flags
Use fslpython in the Makefile, rather than python, as the latter may not have setuptools installed (e.g. if it is an old system python)

Thanks!

Although note that, in FSL, we are sticking with wxpython 4.0.* for the time being, as 4.1 does not work over SSH / X11

Merged, many thanks Paul


Add a tile in Meltano UI for "suggest data source" with link to Typeform form

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1489
Originally created by @dmor on 2019-12-18 16:45:47

this will allow us to collect "votes" input from users on other data sources they want to connect

View 2 previous comments from the original issue on GitLab


Virtual WAN P2S Sessions

Hi
Are you planning to display P2S Sessions like in VNET Gateway?

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

ID: 316afee6-13d5-4b73-5224-073b35e69737
Version Independent ID: be1f6b3f-e7c1-0775-8e38-1e5044f96baa
Content: Azure Virtual WAN Overview
Content Source: articles/virtual-wan/virtual-wan-about.md
Service: virtual-wan
GitHub Login: @cherylmc
Microsoft Alias: cherylmc

@kmkelly2015
Thanks for the feedback! We are currently investigating and will update you shortly.

Hi
Is there any news on this?
is it a future feature?

Hi
Is there any news on this?
is it a future feature?

#reassign:reyandap

Any update?

#reassign:reyandap

Any update?

Looks like this is now in place


chore(deps): update terraform terraform-ibm-modules/kms-all-inclusive/ibm to v4.15.2

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/kms-all-inclusive/ibm (source)
module
patch
4.15.1 -> 4.15.2

Release Notes

terraform-ibm-modules/terraform-ibm-kms-all-inclusive (terraform-ibm-modules/kms-all-inclusive/ibm)
v4.15.2
Compare Source
Bug Fixes

deps: update terraform terraform-ibm-modules/key-protect/ibm to v2.8.1 (#525) (71bd47c)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

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

This PR has been generated by Renovate Bot.

/run pipeline


Update README.md

Replaced wrong schematics command/package with the correct one
(See: https://blog.angular.io/schematics-an-introduction-dc1dfbc2a2b2)

10x for that!


Updated volume documentation

After #19953 closes, the volume documentation should be updated to account for the changes wherever we talk about anonymous volumes.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Linked PR was rejected, so closing


[BUG] Game crashes when hovering mouse over biome changer remote after launching satellite

Version of Advanced Rocketry

AdvancedRocketry-1.12.2-2.0.0-13

Have you verified this is an issue in the latest unstable build

[x] Y

Version of LibVulpes

LibVulpes-1.12.2-0.4.2-25-universal

Version of Minecraft

1.12.2

Does this occur without other mods installed

[x] Y

If Y, what is the MINIMUM set of mods required.

Advanced rocketry and LibVulpes

Crash report or log or visualVM (if applicable)

https://paste.ee/p/5oI1R

Description of the problem

When a biome changer satellite is launched hovering over it's linked biome changer remote will cause the game to crash.

there is no crash report

Same problem. 1.12.2 Latest version of mod via GDLauncher.
https://pastebin.com/YmF6Hfe5

Exact same issue. Any fix or incompatible mod found?

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

Yea, I did remove them, I'm not sure why it's doing it, I mean the other sat types are made fine (like the data ones and such) and I even made a new world. i may try just fully reinstalling forge? that could fix it haha,

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

Yea, I did remove them, I'm not sure why it's doing it, I mean the other sat types are made fine (like the data ones and such) and I even made a new world. i may try just fully reinstalling forge? that could fix it haha,

Okay even after reinstalling forge, both mods, and in the versions you stated, I am still unable to build the biome changer sat, this issue is really dumb, I wanted to mess with terraforming haha

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

Yea, I did remove them, I'm not sure why it's doing it, I mean the other sat types are made fine (like the data ones and such) and I even made a new world. i may try just fully reinstalling forge? that could fix it haha,

Okay even after reinstalling forge, both mods, and in the versions you stated, I am still unable to build the biome changer sat, this issue is really dumb, I wanted to mess with terraforming haha

Alright, I'll make a new instance with just the 2 mods to check if it works, as for the issue, when you click build does nothing just happen or does it crash?

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

Yea, I did remove them, I'm not sure why it's doing it, I mean the other sat types are made fine (like the data ones and such) and I even made a new world. i may try just fully reinstalling forge? that could fix it haha,

Okay even after reinstalling forge, both mods, and in the versions you stated, I am still unable to build the biome changer sat, this issue is really dumb, I wanted to mess with terraforming haha

I made a fresh new instance with only those 2 mods and it worked perfectly, I could build the satellite, I launched it and it worked. Could you maybe record a video of the issue because I'm really curious about the problem. Also stupid suggestion but make sure to enable terraforming in advanced rocketry's config file as a lot of people seem to forget that.

Sure, i can try to record a video of it, though it's not a crash I simply can't create (and hence launch/use) the biome changer rocket.

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

Yea, I did remove them, I'm not sure why it's doing it, I mean the other sat types are made fine (like the data ones and such) and I even made a new world. i may try just fully reinstalling forge? that could fix it haha,

Okay even after reinstalling forge, both mods, and in the versions you stated, I am still unable to build the biome changer sat, this issue is really dumb, I wanted to mess with terraforming haha

I made a fresh new instance with only those 2 mods and it worked perfectly, I could build the satellite, I launched it and it worked. Could you maybe record a video of the issue because I'm really curious about the problem. Also stupid suggestion but make sure to enable terraforming in advanced rocketry's config file as a lot of people seem to forget that.

here: https://youtu.be/OGcihWjazmo

I have good news, I've found a fix by downgrading the mod and libvulpes. It was tedious but after testing all advanced rocketry and libvulpes versions I found that downgrading advanced rocketry to 1.12.2-2.0.0-250 and libvulpes to 1.12.2-0.4.2-83 works the best.

Well yea it does indirectly fix the issue, but at least for me I can't even create the biome changer sat anymore, it just won't create it in these versions, unsure if I just did something wrong or what but none the less

That's weird, they work perfectly fine for me, I do have a lot of other mods installed but I doubt that one of them is fixing the biome changer.

Yea, I did remove them, I'm not sure why it's doing it, I mean the other sat types are made fine (like the data ones and such) and I even made a new world. i may try just fully reinstalling forge? that could fix it haha,

Okay even after reinstalling forge, both mods, and in the versions you stated, I am still unable to build the biome changer sat, this issue is really dumb, I wanted to mess with terraforming haha

I made a fresh new instance with only those 2 mods and it worked perfectly, I could build the satellite, I launched it and it worked. Could you maybe record a video of the issue because I'm really curious about the problem. Also stupid suggestion but make sure to enable terraforming in advanced rocketry's config file as a lot of people seem to forget that.

here: https://youtu.be/OGcihWjazmo

Looking at this the only reason I can think of why is because you didn't put at least one battery in the IO slots below the solar panels, maybe try that?

https://github.com/Advanced-Rocketry/AdvancedRocketry/issues/2393

fixed in "Advanced Rocketry - Reworked"
(https://github.com/dercodeKoenig/AdvancedRocketry)


React Server Components in the config

Hi. Is there any way to use server-side next js components in the config file?
Something like this:
export const config: Config<ConfigComponentsProps> = {
  root: {
    render: ({ children }) => (
       <>
        <main>{children}</main>

        <SomeServerComponent />
      </>
    ),
  },
  components: {
    ServerComponent: {
      fields: {},
      render: (props) => <ServerComponent {...props} />,
    },
  },
};

Following.. Want to know this too... :)

@chrisvxd

It's possible to use  with server-side components, but not .
This is because  is a client-side component that renders components on the fly by design, as the user drags them in.
I'm open to hearing what the use-case is, and how you would expect it to work, plus any ideas about how to achieve it.


Display-only label not satisfy accessibility contrast ratio

OpenUI5 version:1.54.4
Browser/version (+device/version): Chrome
URL (minimal example if possible): https://sapui5.hana.ondemand.com/#/sample/sap.ui.layout.sample.SimpleForm354/preview

Our accessibility test failed in labels of form.
It seems the only solution is set Form edit="true", but the doc not allow us to do so :

What's the most elegant way to fix this?

Hi,
I cannot see an difference or wrong color if I open the test page. Maybe some "edge point" of the character was measured what is somehow a fading effect.


support regular expression

Hello,
in the normal bash we can use something like this:
sudo apt remove nvidia-*
but it's not working in zsh.
it will be very good if it's going to be support it

To get bash behaviour, use setopt nonomatch
However, it is better to get in the habit of quoting special characters like * if you don't want shell filename generation: nvidia-\*. It's better to get error messages if a file glob fails than have it passed on to the command.


Make gRPC max message length configurable

What this PR does / why we need it:
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):

Fixes #3717

Type of changes
Please delete options that are not relevant.

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

Feature/Issue validation/testing:
Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

[ ] Test A

[ ] Test B

Logs

Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Checklist:

[ ] Have you added unit/e2e tests that prove your fix is effective or that this feature works?
[ ] Has code been commented, particularly in hard-to-understand areas?
[ ] Have you made corresponding changes to the documentation?

Release note:

Make gRPC max message length configurable

Re-running failed tests

/rerun-all - rerun all failed workflows.
/rerun-workflow <workflow name> - rerun a specific failed workflow. Only one workflow name can be specified. Multiple /rerun-workflow commands are allowed per comment.

/lgtm
/approve


Update SLAS Commands

This is an opinionated fix for https://github.com/SalesforceCommerceCloud/sfcc-ci/issues/265.

Removed slas:tenant:list. Its backing API requires a staff only / internal role today.
Reworked the options for slas:tenant:add. Generally I removed options that I felt would be frustrating to set on the command line. Instead, I'd like to encourage folks to use the --file based interface. I also tried to code this such that you could provide only a tenant and it would work.
Removed slas:tenant:delete. Its backing API requires a staff only / internal role today.
Reworked options for slas:client:add. I think setting client options via command line is setting yourself up to fail. Instead, we force folks to pass a --file.
Removed table display options from slas:client:(get|list) – there is no way to display a SLAS client (or clients!) as a table.

Personally, I'd vote for making all these changes, as I think the smaller interface surface gives us lots of room to grow.

While making these changes I ran into a # of limitations of Commander@2:

No way to set required options.
Some options conflict with commander properties (eg. you cannot have a option named --description.
No way to accept a value of - for an option (make a normal pattern of saying --file - and accepting STDIN impossible)

Generally where possible, I've tried to follow the existing patterns in the repo.
❤ ❤ ❤
cc @hnestmann & @tobiaslohr

Thanks John for the contribution. Really appreciate your work here:

This is an opinionated fix for #265.
1. Removed `slas:tenant:list`. Its backing API requires a staff only / internal role today.

To be quite honest - I don't think we should remove it. It is a documented production API, that has to work. The CLI usaibility is questionable, but for JS APIs dealing with the oi,plicite dependency betweenon-demand-sandboxes and slas, it is be useful
https://developer.salesforce.com/docs/commerce/commerce-api/references#shopper-login-and-api-access-admin:retrieveTenants

2. Reworked the options for `slas:tenant:add`. Generally I removed options that I felt would be frustrating to set on the command line. Instead, I'd like to encourage folks to use the `--file` based interface. I also tried to code this such that you could provide only a `tenant` and it would work.

I wouldn't do it in commandline either, but I thought it might be useful if you build CI tools with python or bash scripts

3. Removed `slas:tenant:delete`. Its backing API requires a staff only / internal role today.

See 1) https://developer.salesforce.com/docs/commerce/commerce-api/references#shopper-login-and-api-access-admin:deleteTenant

4. Reworked options for `slas:client:add`. I think setting client options via command line is setting yourself up to fail. Instead, we force folks to pass a `--file`.

See 2

5. Removed table display options from `slas:client:(get|list)` – there is no way to display a SLAS client (or clients!) as a table.

Yep, that's indeed not working. I will see if we can flatten the info to fit in a table. But for now we can remove it

Personally, I'd vote for making all these changes, as I think the smaller interface surface gives us lots of room to grow.
I am open for the syntactical changes. I am also open to hide the (currently) not working APIs. But I prefer to push for a fully working API Set.

WRT to --file. I think @tobiaslohr had an interesting comment on the original PR. We can pipe a file into the command vs -- file
sfcc-ci slas:client:add < my_file.txt or sfcc-ci slas:client:add {"clientID":"123"} would be equivalent, combining the efecitiveness of a file with the flexibility of just issueing a one line command

Regarding slas:tenant:list – I agree that this would be useful to have! But the backing API doesn't support it. Right now, the tenant list API endpoint is staff only. Until that is not the case, I suggest we leave it out. (eg. I'm advocating for adding it in, once it is supported.
Regarding slas.client:add – It seems like we're aligned. I'd say ship the file/stdin based API, gather feedback and iterate from there.
Regarding slas:tenant:delete – Again, this endpoint today only supports staff user requests. I've removed it for now. Once support for end users calling it lands, lets add it back!

I'll make an update for add the stdin based file input to client/tenant add.

@hnestmann / @tobiaslohr – one question ... to operate sfcc-ci requires folks set SFCC_OAUTH_CLIENT_ID. With SLAS, your AM Client must have its Access Token Format set to JWT (as opposed to UUID).
I think its very easy to trip into this and not have your AM Client setup right. I also imagine this means you need at least two AM clients, as I'd imagine some of the old APIs not accepting JWTs.
Have we considered "shipping" a API Client with the App? eg. including a set of well known API Client values that are configured correctly for use with sfcc-ci? From my perspective, there are no security implications from doing this (?)

@johnboxall Thanks a lot for your contribution! Very much appreciated!!

Have we considered "shipping" a API Client with the App? eg. including a set of well known API Client values that are configured correctly for use with sfcc-ci? From my perspective, there are no security implications from doing this (?)

Thanks for raising this. Yes, we've considered this already and we've also discussed this with the Salesforce Product Team. I see 2 main challenges with this:

The current client passed for running the interactive authentication using sfcc-ci auth:login <client> is also used to run commands (and author API calls to ecom APIs aka OCAPI) that being said. Assuming you allow that API client access to your resources on an ecom instance you would allow anyone running the commands as the permission is bound to the API client and not the user.
ecom does not support JWT based access token formats for oauth grant types (like implicit, implemented by sfcc-ci auth:login). A public client shipped with the CLI however we should be set with the JWT token format.

Thoughts? I suggest we open a separate issue for this to have a forum to discuss.

@tobiaslohr / @hnestmann I added unit tests. They're not the best, but significantly better than nothing!
I think there is a more you could improve here (eg. adding stdin handling for tenants/clients) but if its okay, I'd love to merge this incremental improvement which fixes blocking bugs in these commands.
Let me know if there is any feedback you would like addressed. 🙌

I added unit tests. They're not the best, but significantly better than nothing!

@johnboxall Awesome, thanks a lot!

General feedback:

We should follow the existing patterns for commands, incl. CRUD operations. Therefore for the creation of the new object (like a slas tenant or a client) we should be using slas:tenant:create instead of slas:tenant:add and slas:client:create instead of slas:client:add
Due to the above, we will need to put this into a new major version, as it would be a breaking change. Same with commands we remove etc.
Commands to get details on a tenant or client should be using the respective list command with the object id passed in, e.g. we should be using slas:tenant:list --tenant <tenant> instead of slas:tenant:get --tenant <tenant> and  slas:client:list --clientid <clientid> --tenant <tenant> instead of slas:client:get --clientid <clientid> --tenant <tenant> (they would use the GET method on the respective API endpoints to retrieve a single object, not the GET on the list of objects).
On the permission discussion and certain APIs we adopt requiring a staff only role: This is reality today for other commands as well, e.g. org:list. All APIs itself must implement proper authentication and authorization to ensure only authenticated and authorized users can perform operations. The CLI is used by SFDC staff as well, so I see no issue exposing commands where the adopted API requires a staff only role.

On the discussion regarding reading the object details as JSON (e.g. inline or stored in a file) vs. passing the object details as multiple arguments to the command I feel that we should support both. It may be error prone to pass the properties as multiple arguments as you outlined @johnboxall, however as we support this with other commands and there is an alternative, you always have the choice.
There is even a path with a hybrid approach (which is partially implemented by sfcc-ci user:create respectively), where explicit properties (in case passed) are being merged into the object properties given through the JSON (see https://github.com/SalesforceCommerceCloud/sfcc-ci/blob/master/lib/user.js#L268).
On top there even are ideas for setup commands and provide a wizard like step by step process via the CLI, which would be most suited for less advanced users, see https://github.com/SalesforceCommerceCloud/sfcc-ci/issues/283

We should follow the existing patterns for commands, incl. CRUD operations. Therefore for the creation of the new object (like a slas tenant or a client) we should be using slas:tenant:create instead of slas:tenant:add and slas:client:create instead of slas:client:add

Makes sense!

Due to the above, we will need to put this into a new major version, as it would be a breaking change. Same with commands we remove etc.

Yup.

Commands to get details on a tenant or client should be using the respective list command with the object id passed in, e.g. we should be using slas:tenant:list --tenant <tenant> instead of slas:tenant:get --tenant <tenant> and  slas:client:list --clientid <clientid> --tenant <tenant> instead of slas:client:get --clientid <clientid> --tenant <tenant> (they would use the GET method on the respective API endpoints to retrieve a single object, not the GET on the list of objects).

Make sense.

On the permission discussion and certain APIs we adopt requiring a staff only role: This is reality today for other commands as well, e.g. org:list. All APIs itself must implement proper authentication and authorization to ensure only authenticated and authorized users can perform operations. The CLI is used by SFDC staff as well, so I see no issue exposing commands where the adopted API requires a staff only role.

I'm not sure I agree with this design decision, but that doesn't matter. If its an existing pattern, sure lets add them back, but I have no way to validate the output as I don't personally have the required super duper staff permission.

On the discussion regarding reading the object details as JSON (e.g. inline or stored in a file) vs. passing the object details as multiple arguments to the command I feel that we should support both. It may be error prone to pass the properties as multiple arguments as you outlined @johnboxall, however as we support this with other commands and there is an alternative, you always have the choice.

That's fine, I'd only mention that the SLAS client object has been accreting fields lately, and we'd potentially setting ourselves up for a bunch of iterative work over time adding all the properties.
As discussed in Slack, I'm be 100% (maybe even 110%) fine if you could take it from here! eg. if you choose to implement those changes yourself.


Placeholders error for quests before taking them

Ver 3.9.3
In the previous version, If i displayed a placeholder of a quest that isn't active for me, I get an empty line. That allowed me to use javascript to change that empty placeholder to whatever i want.
now it turns into Error. and i get this error on Console
https://pastebin.com/MY1iPJSt
it's a PAPI error yes, But this wasn't an issue with previous quests builds.

Thanks for the report. Please try https://ci.codemc.io/job/PikaMug/job/Quests/108/


ci(services/redb): migrate to test planner

Hi, @suyanhanx, would you like to set PR for Ready for review when you are ready?

Oh, I'm sorry. I'll take care of this in the future.
For this PR, I was just waiting for the CI results. 😯


Show values of output neurons in the sensor view

In the same way as variables are shown, there should be a collapsable tab, which shows the names of the output neurons together with their actual values.

Instead of only output neurons it would be nice to see also input and hidden neuron values

solved


Remove duplicated hide colum option

Related issue #290
The issue has not been checked, maybe there is a reason why you have two same option. Nonetheless, here the fix.
Tell me if you have any comments.

Hi @LouisDelbosc,
Actually, can you remove this option from ColumnContextMenu and leave that one in MultiColumnMenu (also, the logic for disabling it is missing check if the menu is on Raw Data View).
MultiColumnMenu is part of ColumnContextMenu, so with your change, it would be removed from the menu that is shown when multiple columns are selected.

@berhalak thanks for you comment.
Is it more robust like this ?


No healthy hosts meet the resource constraints: ports

Dear,
I have on Rancher a stack and service with the same names as the gitlab group and project.
So my gitlab-ci looks like:
deploy:   image: cdrx/rancher-gitlab-deploy:latest   stage: deploy   only:     - develop   script:     - upgrade
But when this stage of the pipeline runs i get the following error on rancher:
middleware (Failed to allocate instance [container:1i451]: Bad instance [container:1i451] in state [error]: Allocation failed: No healthy hosts meet the resource constraints: [ports: [8082:8082/tcp], ResourceType: instanceReservation, Amount: 1])
Is this because of the way i created the service (with rancher UI 'Add service')?
Can someone help? This is quite important in our setup.
kind regards,
Thomas

Can you upgrade the service in Rancher UI manually?

Can this issue be reopened? I'm experiencing the same right now and I also found the reason.
The message I'm getting is:
Failed to allocate instance [container:1i87]: Bad instance [container:1i87] in state [error]: Allocation failed: needs host with label name: node01 and resource constraints: [3000:3000/tcp portReservation, 1 instanceReservation]
After a while it will upgrade anyway but it will sit there doing nothing for about 30 seconds with the message above before actually upgrading.
I would assume @neanex only has one node while I only have one node with the label name=node01. I tried adding another host with label name=node01 and the upgrade worked just fine - swapping back and forth between both nodes with every upgrade.

I think you need the --no-start-before-stopping flag, because you can only bind one container to port 3000 at a time.

That worked, thanks.
Shouldn't this be the default option though since it is in the UI?

Yep! It should, I agree.
I tried to map the defaults to the same as Rancher but must have missed this one, I'll change it for the next release.

@DomiStyle I've changed the default for the next release to match Rancher's default behaviour, thanks


Add ansible scripts to set up git-hg/jenkins relief box

Have left most of the "generic machine setup" stuff in place to install the jenkins user etc. - only packages beign installed are mercurial, git, java (for the jenkins agent) and the git-remote-hg tool to integrate git and hg.
Currently doesn't install the key needed to push merged code back to github, hence the current draft nature of this PR

Cancelling as this wasn't created from my fork of the repo


[Bug] Documentation deployed with base href incorrectly resolves api routes

Is this a regression?
I don't know
Description
If you run application with documentation with --base-href, then API Reference routes are not created correctly - the base url is added twice to the url:

As you can see at the screenshot, /some/base/href/ is added twice. For pages/categories etc. everything works fine, the issue is visible only with api keywords (links to api reference).
I've prepared a simple bug demo from this repository: base-href-breaks-api-routes, if you run npm run bug and navigate to any api reference and then hover other api keyword you'll see wrong url.
Probably related to the URL parsing inside NgDocPageLinkComponent, because components receives URL without base href:

Please provide the exception or error you saw
No response
OS
Windows
Browser
Chrome
Node version
20.14.0
Anything else?
No response

Possibly small refactoring to use URL in page-link.component.ts resolves issue, this also fixes 'mail:to' as we can check origin:
import { NgIf, NgTemplateOutlet } from '@angular/common';
import {
  ChangeDetectionStrategy,
  Component,
  ElementRef,
  inject,
  Input,
  OnChanges,
} from '@angular/core';
import { Params, RouterLink } from '@angular/router';
import { NgDocDecodeUriComponentPipe } from '@ng-doc/app/pipes';
import { NgDocIconComponent } from '@ng-doc/ui-kit';
import {LOCATION} from "@ng-web-apis/common";

@Component({
  selector: 'ng-doc-page-link',
  templateUrl: './page-link.component.html',
  styleUrls: ['./page-link.component.scss'],
  changeDetection: ChangeDetectionStrategy.OnPush,
  standalone: true,
  imports: [NgIf, RouterLink, NgTemplateOutlet, NgDocIconComponent, NgDocDecodeUriComponentPipe],
})
export class NgDocPageLinkComponent implements OnChanges {
  @Input({ required: true })
  href: string = '';

  @Input()
  classes: string = '';

  private link: URL | undefined;

  private readonly location = inject(LOCATION);
  private readonly elementRef: ElementRef<HTMLElement> = inject(ElementRef);
  protected isInCode = this.elementRef.nativeElement.closest('code') !== null;

  ngOnChanges(): void {
    this.link = new URL(this.href, this.location.origin);
  }

  get isExternalLink(): boolean {
    return this.link?.origin !== this.location.origin;
  }

  get path(): string {
    return (!this.isExternalLink ? this.link?.pathname : this.href) ?? '';
  }

  get fragment(): string | undefined {
    return this.link?.hash.replace(/^#/, '') || undefined;
  }

  get queryParams(): Params {
    return Object.fromEntries(this.link?.searchParams.entries() ?? []);
  }
}

I want to check whether this will still work in SSR

Ah, nevermind, the demo app is served with ssr 😆, so it didn't break anything and resolves issue with base-href, I'll create PR :)

:tada: This issue has been resolved in version 18.1.0 :tada:
The release is available on:

v18.1.0
GitHub release

Your semantic-release bot :package::rocket:


MSBuildTasks <IP_ADDRESS> -> <IP_ADDRESS>

If .NET Framework 3.5 is not installed, dev-build.bat fails with the following error:
C:\React.NET\build.proj(89,3): error MSB4062: The "MSBuild.Community.Tasks.Delet
eTree" task could not be loaded from the assembly C:\React.NET\tools\MSBuildTask
s\MSBuild.Community.Tasks.dll. Could not load file or assembly 'Microsoft.Build.
Utilities.v3.5, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3
a' or one of its dependencies. The system cannot find the file specified. Confir
m that the <UsingTask> declaration is correct, that the assembly and all its dep
endencies are available, and that the task contains a public class that implemen
ts Microsoft.Build.Framework.ITask.

None of the projects target .NET Framework 3.5, so this update removes the need to have it installed.

Thanks!


createst: add exclude-fields option

Adds the --exclude-fields option to exclude specified fields from the filter blocks.
Link to redmine ticket: https://redmine.openinfosecfoundation.org/issues/4062
createst.py mytest mypcap --exclude-fields dest_port, src_port
Before :
requires:
  min-version: 5.0.0
  features:
    - HAVE_LIBJANSSON

args:
 - -k none

checks:
- filter:
    count: 1
    match:
      alert:
        action: allowed
        category: access to a potentially vulnerable web application
        gid: 1
        rev: 1
        severity: 2
        signature: no1
        signature_id: 9000000
      app_proto: http
      dest_ip: <IP_ADDRESS>
      dest_port: 44270
      event_type: alert
      http:
        hostname: www.abcdefghij.com
        http_content_type: text/html
        http_method: GET
        http_refer: http://www.abcdefghij.com/abdeltat/login
        http_user_agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:<IP_ADDRESS>) Gecko/2009011912
          Firefox/3.0.6
        length: 1483
        protocol: HTTP/1.1
        status: 401
        url: /publication/pub.home/home.html
      pcap_cnt: 14
      proto: TCP
      src_ip: <IP_ADDRESS>
      src_port: 80

After :
requires:
  min-version: 5.0.0
  features:
    - HAVE_LIBJANSSON

args:
 - -k none

checks:
- filter:
    count: 1
    match:
      alert:
        action: allowed
        category: access to a potentially vulnerable web application
        gid: 1
        rev: 1
        severity: 2
        signature: no1
        signature_id: 9000000
      app_proto: http
      dest_ip: <IP_ADDRESS>
      event_type: alert
      http:
        hostname: www.abcdefghij.com
        http_content_type: text/html
        http_method: GET
        http_refer: http://www.abcdefghij.com/abdeltat/login
        http_user_agent: Mozilla/5.0 (X11; U; Linux i686; fr; rv:<IP_ADDRESS>) Gecko/2009011912
          Firefox/3.0.6
        length: 1483
        protocol: HTTP/1.1
        status: 401
        url: /publication/pub.home/home.html
      pcap_cnt: 14
      proto: TCP
      src_ip: <IP_ADDRESS>

Hi @TharushiJay !
Thanks for your work. Works well. Could you please also include a before and after result in your commit message?

Hi @TharushiJay !
Thanks for your work. Works well. Could you please also include a before and after result in your commit message?
You can claim another ticket now.

Thanks @inashivb ! Just a small clarification. Would you recommend including the result that was available on the redmine ticket itself or a screenshot of my output when I run the command?

Rebased and continued in: https://github.com/OISF/suricata-verify/pull/983


Fresh Install Build Issue - ReactTestUtils

I am experiencing an issue with the latest version. Upon doing a fresh install the builds are failing with dependency issues. Here are the steps to reproduce on Windows:

Clone most recent version.
run "npm run setup"
run "npm run build"

I have reproduced this on several computers.
The following error is received:

START:

ERROR in ./~/react-addons-test-utils/index.js
Module not found: Error: Can't resolve 'react-dom/lib/ReactTestUtils' in 'C:\pro
jects\react-boilerplate\node_modules\react-addons-test-utils'
@ ./~/react-addons-test-utils/index.js 1:17-56
@ ./~/react-element-to-jsx-string/index-dist.js
@ ./~/chai-enzyme/build/assertions/contain.js
@ ./~/chai-enzyme/build/index.js
@ ./internals/testing/test-bundler.js
30 11 2016 20:56:21.470:INFO [karma]: Karma v1.3.0 server started at http://loca
lhost:9876/
30 11 2016 20:56:21.473:INFO [launcher]: Launching browser Chrome with unlimited
concurrency
30 11 2016 20:56:21.590:INFO [launcher]: Starting browser Chrome
30 11 2016 20:56:22.866:INFO [Chrome 54.0.2840 (Windows 8.1 0.0.0)]: Connected o
n socket /#GXhPm9TBOJyuB-5iAAAA with id 64305036
Chrome 54.0.2840 (Windows 8.1 0.0.0) ERROR
Uncaught Error: Cannot find module "react-dom/lib/ReactTestUtils"
at webpack:///~/react-addons-test-utils/index.js:1:0 <- test-bundler.js:72222

Seeing issues using OSX (10.12.1) as well. Upon running 'npm run setup':
Error: Cannot find module './request'
at Function.Module._resolveFilename (module.js:472:15)
at Function.Module._load (module.js:420:25)
at Module.require (module.js:500:17)
at require (internal/module.js:20:19)
at Object. (/usr/local/lib/node_modules/npm/node_modules/request/index.js:145:19)
at Module._compile (module.js:573:32)
at Object.Module._extensions..js (module.js:582:10)
at Module.load (module.js:490:32)
at tryModuleLoad (module.js:449:12)
at Function.Module._load (module.js:441:3)

@rileybwesley There is a know issue with the current version of RBP 3.3.3 where an untracked dependency has been updated. This will be corrected in the next RBP update.
Try:
npm install<EMAIL_ADDRESS>npm start
@rationalthug I suspect you have a corrupt npm cache.
Try:
rm -rf node_modules
npm cache clean
npm install
npm start
Better yet for both of you, (re)install with yarn.
npm install -g yarn (if you don't already have yarn)
yarn

Encountered the same issue. Reinstalling and using yarn as described solved the issue. Thanks!

Sorry about that, will be releasing a new version today or tomorrow!


Update stable version in repo from 2.0.1 to 2.0.2

Think about update stable version to 2.0.2
Version: stable=2.0.1 (178 days old) => latest=2.0.2 (15 days old)
Installs: stable=220 (58.2%), latest=31 (8.2%), total=378
Click to edit

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 2.0.2 but the current stable version is already 2.0.2.
So this issue should be closed.


MoveItIntegration plugin - settings are not copy-pasted on segment clone with MoveIt

Describe the problem
Some TM:PE Settings are lost/ignored after copy&paste with MoveIt, looks like data is transferred so it should correctly save data in Asset Editor as AssetSerialization thingy uses the same code.
Steps to reproduce

Add few segments
Setup some TM:PE settings (lane arrows, speed limits, junction restrictions, priority signs)
Select and copy segments with TMPE settings, observer result

Transferred:

Lane connections,
Vehicle restrictions,
Parking restrictions,

Not transferred:

Lane arrows (not transferred, not recalculated based on lane connections),
Speed limits (theoretically something is transferred when logging transfer data but also not applied),
Junction restrictions (looks like returns false at some point during validation when transferring settings to new segments),
Priority signs (not sure yet, might be similar to junction restrictions),

I've prepared dirty hack (few C# reflection lines) to force MoveIt to fetch again integration plugins after hot-reload since it was using older version which resulted in lots of null refs -> accessing destroyed instances via static methods.
Integration plugin was referencing static field of specific Assembly version so it has access to nullified static field value from before hot reload since the old Assembly still exist in memory!

I've added few logging points to see what is going on:
Notable entries from the log (paste selected segments with MoveIt):
Call:

SegmentEndTransferring.. segmentID: 15444, newSegmentId: 12230, prioSign: Yield,

Result:

TrafficPriorityManager.MayNodeHavePrioritySigns: nodeId=21297, result=false, reason=NoJunction TrafficPriorityManager.MaySegmentHavePrioritySign: segmentId=12230, startNode=True, result=false, reason=NoJunction

Call:

SegmentEndTransferring.. segmentID: 15444, newSegmentId: 5380, uturn: True,

Result:

JunctionRestrictionsManager.IsUturnAllowedConfigurable(5380, True): ret=False, flags=Created, OnGround, CustomTrafficLights, service=Road, seg.oneWay=False

@kianzarrin Is that a design issue of MoveIt Integration that it start processing (paste) recordables when segments/nodes are not fully initialized yet?

Ok... MoveIt is creating nodes in Simulation Action which is correct, but the game is doing only half work, rest is done in the next simulation step (by adding new node to NetManager.m_updatedNodes queue).
The easiest workaround would be to Apply records on the next simulation step... I need to build something for that.
@kianzarrin ideas how to do this? Do you have working solution in one of your other mods?


CB-17578 Validate root volume has enough space for db backup

This commit moves the RDS upgrade into a flowchain and adds a validation frlow before it. The validation flow, in case of Azure, validates that the root volume has enough space for backing up the database. The validation is done via checking the free space of the root volume with df on the primary gateway, executing a psql command that summarises the size of the available databases and compares the two. The psql command execution is done via a new Salt state, hence the first flowstep in the validation flow is to redistribute the salt states. This redistribution is also required for the upgrade flow's backup and restore steps.
See detailed description in the commit message.

The commit message contains a typo in the first sentence: frlow instead of flow.


Entiy (custom icons) seems to be stateful?

Hey @cgiesche,
first off thank you for this plugin!
I just wanted to create a reminder button for my streamdeck using input_boolean domain with "Entity (custom icons)". This button calls  turn_on service.

Every state change in HA is reflected on the button
Pushing the button changes the state to "on"

BUT

The button toggles between the ON and OFF Version regardless of the HA state each time i press it

I looked trough some issues and read that you explicitly said: The buttons are stateless:
https://github.com/cgiesche/streamdeck-homeassistant/issues/127#issuecomment-1374911142
Thus i guess this issue is caused by a mistake i made or a stream deck update.

Windows 11, macOS 12
Streamdeck Software: 6.1.0 (18521)
Streamdeck Firmware: 1.00.003
Home Assistant: 2023.3.5

Thank you for any help in advance

Hi @noerK,
the "custom icons" button has some flaws due to how stream deck is working: As soon as you configure two icons, the button toggles between the two images as soon as you press the button (not affected by the plugin at all).
My plugin works against this "feature" by changing the image to on/off state after it got an update for the entity from home-assistant.
So, if you press the button, streamdeck automatically toggles the displayed image but if my plugin does not get any update for the entity because it's state was already "on".
I am not sure if i can fix this issue or want to keep this entity type alive at all. It has been quirky since it was invented...


Link Broken : Plann for Automatic File Classification

The link for "Plan for Automatic File Classification" points to assetid:///e3c3bb4b-3034-42b7-b391-8ef5f5851955 and nothing that you can reference from here.  I couldn't find that section of the documentation as well.

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

ID: 9f5b0e02-22cf-ddea-dc85-3269f65a746f
Version Independent ID: 8202ff1a-a6f4-3903-d144-e18980636133
Content: Deploy Automatic File Classification (Demonstration Steps)
Content Source: WindowsServerDocs/identity/solution-guides/Deploy-Automatic-File-Classification--Demonstration-Steps-.md
Product: windows-server-threshold
GitHub Login: @billmath
Microsoft Alias: billmath

I've updated the link to this: https://docs.microsoft.com/en-us/previous-versions/orphan-topics/ws.11/jj574209(v%3Dws.11)
Will close when the change is published. Thanks!


Implement OVH S3 Storage.

OVH is a major cloud provider here in Europe.
the OVH S3 implementation requires you to define the region. since it is currently not possible to specify this seperaly from the endpoint i cannot use the OVH S3 bucket for now.
AuthorizationHeaderMalformed: The authorization header is malformed; the region 'us-east-1' is wrong; expecting 'SBG'
Please Add OVH as a supported provider. or consider to add a --region flag so the user can decide on there own which value should be here.

@yctn We tried to OVH as an supported provider, but can't get a verified account to test it. Do you have the bandwidth to work on this?  Please follow the code in pkg/object/ as examples.


iOS7 - what calls are not supported? Any way, how to support iOS 7?

Hey, what feature prevents the framework from iOS 7 deployment?

A pretty essential component CIRectangleFeature, is iOS8 only. It detects a rectangle within an Image. Without it, there's no Autocrop and automatic perspective correction.

Hi @mmackh. If I leave enableBorderDetection to NO, will it be ok with iOS7?

I don't have a device to test with - please try and report back.

It doesn't work completely with just setting enableBorderDetection to NO, but it's easy to get it working. You have a blur view that needs to be removed as well (if I recall correctly).


why metrics_monitor show some number above 100% for Intel Media SDK 2018R1

Hi,
I has installed Intel Media SDK 2018R1, and use metrics_monitor to check GPU usage. I found some number above 100%. I think it is a bug.
How to fix it?
Thanks!
Regards
Andrew

metrics monitor shows % in a range of 0-100 for each gpu engine. Thus, yes, this looks like a bug. However, metrics_monitor don't create a load by itself. Thus, please, provide a use case where you noted this behavior. What exactly you've ran? metrics_monitor tests or some real workload (provide/describe it) and used metrics_monitor?

The use case is that, ffmpeg is used to do 5-9 transcoding tasks simultaneously。And RENDER usage sometimes is above 100%。

@andrewmabc ，please provide more details about how to reproduce it. For example. FFmpeg version/ MSDK version, hardware platform, testing clips and so on.

MSDK version : MediaServerStudioEssentials2018R1
FFmpeg version : 4.0
any test clip can reproduce the issue.
The way to reproduce the issue is to run multiple 1080p transcoding tasks long enough. Then, metrics monitor program will show incorrect number that is over 100.

@andreyor Could you please confirm if this was addresed w/ latest version of metrics_monitor

Algorithm was corrected some time ago please feel free to re-open if issue still persist


feat(linter): report identical logical expressions in const-comparisons

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#7630  👈 (View in Graphite)
#7628
#7627
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 3, 8:59 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


Single # pylint  for tests

Removes all the pylint comments for tests and replaces them with a single comment at the top of the test files (excluding gss checks -- to be done by https://github.com/Infleqtion/client-superstaq/pull/503).

@vtomole I think I'm misunderstanding something, there should now only be a single pragma at the top of the test files. Do you mean some of those should also be removed? For instance, there's only one # pylint in general-superstaq/general_superstaq/qubo_test.py at line 1,  and removing that will yield a docstring error.

qubo_test.py is an exception. A better example would be general-superstaq/general_superstaq/user_config_test.py which has 9 pragmas instead of one.


Feat/gender icons

What is the purpose of this pull request?

[X] New Icon
[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other:

Description

Added new basic gender icons (male, female, both) for now
Icon use case

form with gender selection
display gender on user profile

Alternative icon designs

Icon Design Checklist
Concept

[X] I have provided valid use cases for each icon.
[X] I have not added any a brand or logo icon.
[X] I have not used any hate symbols.
[X] I have not included any religious or political imagery.

Author, credits & license

[X] The icons are solely my own creation.
[ ] The icons were originally created in # by @
[ ] I've based them on the following Lucide icons:
[ ] I've based them on the following design:

Naming

[X] I've read and followed the naming conventions
[X] I've named icons by what they are rather than their use case.
[X] I've provided meta JSON files in icons/[iconName].json.

Design

[X] I've read and followed the icon design guidelines
[X] I've made sure that the icons look sharp on low DPI displays.
[X] I've made sure that the icons look consistent with the icon set in size, optical volume and density.
[X] I've made sure that the icons are visually centered.
[X] I've correctly optimized all icons to three points of precision.

Before Submitting

[X] I've read the Contribution Guidelines.
[X] I've checked if there was an existing PR that solves the same issue.

I don't see how it's political, but whatever.
I admit gender-both may not be the best name
let's add the other genders then, if that's the problem

@Trukl you can find some examples of gender icons I designed last week in this thread that abide by the two-pixel-gap rule, if you need inspiration.
I also gave them generic names like venus rather than gender-female, which is in line with what Font Awesome does for theirs.
I have since edited it to leave a note that I wasn't entirely happy with my design for the transgender symbol; and that, any politics aside, getting a workable version of that icon in particular would be one of the prerequisites to adding gender icons as a set to Lucide. So might be worth revisiting that one.


Addition of three new predefined recognizers, improved regex for IN_PAN

Change Description
Added three new recognizers

IN_GSTIN
ISIN_CODE
CFI_CODE

Improved IN_PAN regex to not get spoofed by 0000 pattern
Describe your changes
Added new recognizers to improve detection of PII elements , one India specific and two global.
Issue reference
This PR fixes issue #XX
Checklist

[X] I have reviewed the contribution guidelines
[X] I have signed the CLA (if required)
[X] My code includes unit tests
[X] All unit tests and lint checks pass locally
[X] My PR contains documentation updates / additions if required

hi @omri374 ,
Apologies if I made it bit heavy by adding three recognizers in one go.
One additional library used : pycountry (https://pypi.org/project/pycountry/) , please let me know if their licenses are okay to be included within presidio.
regards
Devopam

Hi @devopam, thanks for this! unfortunately the pycountry package is LGPL and we cannot have a dependency on it.

Is there a simple alternative to it?

hi @omri374 , yes I will add it neatly in analyzer_utils so that others can use it as well. We will need to maintain all these metadata whenever world events change as such. I am down with cold  & fever :( - that's the delay cause.

Absolutely no rush! Hope you feel better soon!

hi @omri374 ,
I have removed pycountry as desired and added the metadata to country_master.csv file. Added util functions in analyzer_utils to load the required information as well (added one function for future use also). However, I am not convinced of the location of country_master.csv myself - shall we create a new sub-folder at the top level for such data ?
Please have a look when you can and let me know your feedback on the overall changes.

Thanks! I will take a look soon.

/azp run


The number of children of the ParentRoute component

Describe the bug
The number of children of the ParentRoute component cannot exceed 16.
Leptos Dependencies
main branch
To Reproduce
view! {
      <ParentRoute path=path!("/guide") view=ComponentsPage>
             "<Route /> * 16"
              /// Add the 17th Route component and errors will start to appear.
              <Route path=path!("/installation") view=InstallationMdPage/>
      </ParentRoute>
}

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
The reason for the error in the ParentRoute component comes from here: https://github.com/leptos-rs/leptos/blob/b932bd5e043bb211b3a4d5698d185faa197d8466/router/src/matching/choose_view.rs#L143
HTMLElement also has this problem, the number of children cannot exceed 26.
https://github.com/leptos-rs/leptos/blob/b932bd5e043bb211b3a4d5698d185faa197d8466/tachys/src/html/element/mod.rs#L58  ->   https://github.com/leptos-rs/leptos/blob/b932bd5e043bb211b3a4d5698d185faa197d8466/next_tuple/src/lib.rs#L35

The solution I currently use is as follows:
view! {
      <ParentRoute path=path!("/guide") view=ComponentsPage>
             "<Route /> * 16"
      </ParentRoute>
      <ParentRoute path=path!("/guide") view=ComponentsPage>
             "<Route /> * 16"
      </ParentRoute>
      <ParentRoute path=path!("/guide") view=ComponentsPage>
             "<Route /> * 16"
      </ParentRoute>
}

But there is one annoying problem.  When I add a child to one of the ParentRoute components, I always have to check whether the number of children of the current component exceeds 16.

Of course these are both classic "Rust needs variadic generics" issues, where we need to use a macro to manually implement traits on tuples of up to N members and then it errors if you go higher.
Do you have suggestions for reasonable max numbers? 16 seems like an unusually high but not unreasonable number of distinct subroutes. It's harder with elements as they are usually < 10 but can easily go very large.

I can accept keeping the number at 16, but allowing an unlimited number gives a better development experience.

view! {
      <ParentRoute path=path!("/guide") view=ComponentsPage>
             "<Route /> * 16"
      </ParentRoute>
      <ParentRoute path=path!("/guide") view=ComponentsPage>
             "<Route /> * 16"
      </ParentRoute>
}

In addition, I found a bug that when switching routes in the same ParentRoute component, the ComponentsPage components will be reused, which is good, but when switching routes in different ParentRout components, the ComponentsPage components will not be reused.  This will cause some scroll bar confusion.
To Reproduce
https://thawui.vercel.app/components/progress-bar
Open this link, click Popover in the left navigation bar, and then click Radio.

allowing an unlimited number gives a better development experience.

This is my point, because Rust doesn't have variadic generics we cannot allow an unlimited number. It needs to be some specific number and we need to add macro expansions up to that number.

In addition, I found a bug that when switching routes in the same ParentRoute component, the ComponentsPage components will be reused, which is good, but when switching routes in different ParentRoute components, the ComponentsPage components will not be reused.

This is working as intended, it's just not intended that you need to use multiple different ParentRoutes for what is actually the same parent route. The workaround for the above just breaks it.

What should I do if I cannot predict the number of routes?  For example, in a management system, there is a navigation bar on the left and a content area on the right.  As the business develops, the number of routes in the navigation bar may increase.  Maybe 50 is enough, or 100, or even more.

I'm saying the library needs to pick a higher number than sixteen.
It's likely there will always be a need for a workaround in more extreme cases. However, there's a better workaround than the multiple-ParentRoute one: using multiple view! sets of routes under a single parent:
{view! {
    <Route path=path!("a") view=|| ()/>
    <Route path=path!("b") view=|| ()/>
    <Route path=path!("c") view=|| ()/>
    <Route path=path!("d") view=|| ()/>
    <Route path=path!("e") view=|| ()/>
    <Route path=path!("f") view=|| ()/>
    <Route path=path!("g") view=|| ()/>
    <Route path=path!("h") view=|| ()/>
    <Route path=path!("i") view=|| ()/>
    <Route path=path!("j") view=|| ()/>
    <Route path=path!("k") view=|| ()/>
    <Route path=path!("l") view=|| ()/>
    <Route path=path!("m") view=|| ()/>
    <Route path=path!("n") view=|| ()/>
    <Route path=path!("o") view=|| ()/>
    <Route path=path!("p") view=|| ()/>
}
    .into_inner()}

{view! {
    <Route path=path!("a2") view=|| ()/>
    <Route path=path!("b2") view=|| ()/>
    <Route path=path!("c2") view=|| ()/>
    <Route path=path!("d2") view=|| ()/>
    <Route path=path!("e2") view=|| ()/>
    <Route path=path!("f2") view=|| ()/>
    <Route path=path!("g2") view=|| ()/>
    <Route path=path!("h2") view=|| ()/>
    <Route path=path!("i2") view=|| ()/>
    <Route path=path!("j2") view=|| ()/>
    <Route path=path!("k2") view=|| ()/>
    <Route path=path!("l2") view=|| ()/>
    <Route path=path!("m2") view=|| ()/>
    <Route path=path!("n2") view=|| ()/>
    <Route path=path!("o2") view=|| ()/>
    <Route path=path!("p2") view=|| ()/>
}
    .into_inner()}

The reason that this works is that the appropriate trait is implemented for tuples up to 16 (can be bumped higher, will do), but it is also implemented for tuples of tuples, etc.
So this basically gives you ((A, B, C, ... P), (A2, B2, C2, ... P2)), which compiles while (A, B, C, ... P2) as a single tuple doesn't. .into_inner() just removes the "view marker" that's used for hot-reloading.
This does not cause the ParentRoute to rerender when navigating from, say, /a to /p2.
I will increase the size of the tuple in any case, but this workaround will work for any size.


feat(styled-component): setup styling component in ts

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@50af5c9). Click here to learn what that means.
The diff coverage is 100%.

@@           Coverage Diff           @@
##             master     #3   +/-   ##
=======================================
  Coverage          ?   100%
=======================================
  Files             ?      5
  Lines             ?     35
  Branches          ?     11
=======================================
  Hits              ?     35
  Misses            ?      0
  Partials          ?      0

Impacted Files
Coverage Δ

src/styles/styled-component/mixins/font.mixin.ts
100% <100%> (ø)

...styles/styled-component/mixins/transition.mixin.ts
100% <100%> (ø)

...les/styled-component/mixins/border-radius.mixin.ts
100% <100%> (ø)

...styles/styled-component/mixins/box-shadow.mixin.ts
100% <100%> (ø)

...styles/styled-component/mixins/background.mixin.ts
100% <100%> (ø)

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 50af5c9...dd1e02f. Read the comment docs.


Update upgrading-wso2-mi.md MI Version Fix

fixed 4.2 to 4.3 error

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


Remove doHandleUpgrade

Looked into this and I can't find any reason for keeping this around. It's only called when deserializing the editors which is done on startup. And our editors are being serialized with the editor IDs corresponding to our query/notebook editors and so already get created as the correct type. I've verified that reopening after a hot exit still results in the editors being opened up as expected.
As Karl said this was likely done back when we were using the editor replacer logic to convert the input - but now with the latest changes I've made our editor types are created from the start and passed around just like the normal VS Code editors.
(@corivera there appears to be an issue where untitled query editors are opening a duplicate untitled file upon startup, but that was happening before removing this so is likely unrelated. Something to note for fixing after we get the merge in)
I also cleaned up the name/comment of the sync function while I was here - we're using it for a few more things now so the comment didn't apply anymore. (We should still get rid of it but that's going to be a slightly bigger task)

@kburtram I'm going to merge this in now so we can continue testing, let me know if you think of any issues. Otherwise I'll be spending extra time testing out various scenarios with opening/reloading/saving editors after this gets in to make sure nothing is regressed.


Should be ok if degrees are equal.

Division should succeed if the degrees of the two polynomials are equal. eg a polynomial divided by itself gives 1.

Thanks for the pull request. I'll merge this now.


containerize guide

step 7

[x] The command should be curl http://localhost:**9091**/inventory/systems/{$SYSTEM_IP}

[ ] The text before this command tells you to get use the previously found IP, so I think we should either remove SYSTEM_IP=`docker inspect -f "{{.NetworkSettings.IPAddress }}" system`   from the command or rewrite the instruction

step 8

[x] Potentially visual bug? The font size decreases here

[ ] Test failure for inventory

Issue moved to OpenLiberty/guide-containerize #102 via ZenHub


Deep work with vite-plugin-layout

Most of the cases, we use layout for a group of route placed in same folders. so is it possible to work with them like this to avoid use custom block
the new layout api is similar to dirs api
 layouts: [
        { dir: "src/pages", layout:  "src/layouts/default.vue" }, // this can be  set by defualt .
        { dir: "src/features/**/pages", layout: "src/layouts/feature.vue" },
        { dir: "src/blank/pages", layout: "src/layouts/blank.vue" },
],

Yes, Come on

You can acheive this by passing the layout name through your route meta.
Personnaly I use this with Vue router:
main.js
routes.map(route => {
  if (route.name === 'home') route.meta = { ...route.meta, ...{ layout: 'Home' }}
  return route
})

Would it work for you?

I'd be open to a PR for this, but it's not something I have time to implement.


Consolidate testcontainer used by WebDriver test

Previously, we hard coded the version of the docker image for
provisioning Chrome browser and WebDriver server because the
version of the Chrome browser has to match the version of
the webdriver client, otherwise the screenshot test will fail.
Changing to use BrowserWebDriverContainer can delegate the match
to the library itself because it chooses the correct docker image
version based on the WebDriver version on our classpath.

This change is

Please don't push to the google/nomulus repo in the future. Push to your fork and initiate a pull request from there. This keeps the upstream repo clean of feature branches.


Trello module

https://trello.com/ "Trello is the free, flexible, and visual way to organize anything with anyone."

https://pypi.python.org/pypi/trello (looks too old)
https://github.com/sarumont/py-trello (looks more complet and active) all in one file
https://github.com/plish/Trolly (looks more complet and active) all in one module by functionnality

https://github.com/sarumont/py-trello looks very good as its py3 compliant

work on it

a4550b66d121076a4b2d835e511d7de981f80301


kmod-ledtrig-netdev: Can insert the xt_LED module but cannot use it

I have a "BT Home Hub 5A" running the latest stable OpenWrt (18.06.4). The device has several lights on the front, most of which are controllable though the web interface and I'm trying to make them triggerable though an IPTables rule (see: https://openwrt.org/docs/guide-user/base-system/led_configuration).
So far I have:

Run opkg update
Installed the kmod-ipt-led package.
Verified via modprobe that xt_LED is loaded
Verified via lsmod that xt_LED is referring to x_tables

But my attempts to use & query the module produce an error:
root@OpenWrt:~# iptables -m led --help
iptables v1.6.2: Couldn't load match `led':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.

root@OpenWrt:~# iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
iptables v1.6.2: unknown option "--led-trigger-id"
Try `iptables -h' or 'iptables --help' for more information.

root@OpenWrt:~# iptables -A INPUT -p tcp --dport 22 -j LED --led-delay 1000
iptables v1.6.2: unknown option "--led-delay"
Try `iptables -h' or 'iptables --help' for more information.

root@OpenWrt:~# iptables -A INPUT -p tcp --dport 22 -j LED
iptables v1.6.2: Couldn't load target `LED':No such file or directory

Try `iptables -h' or 'iptables --help' for more information.

Additionally the target is not being listed in /proc/net/ip_tables_matches.

On Wed, 28 Aug 2019 at 07:20, LoC-2<EMAIL_ADDRESS>wrote:

I have a "BT Home Hub 5A" running the latest stable OpenWrt (18.06.4). The
device has several lights on the front, most of which are controllable
though the web interface and I'm trying to make them triggerable though an
IPTables rule (see:
https://openwrt.org/docs/guide-user/base-system/led_configuration).
So far I have:

Run opkg update
Installed the kmod-ipt-led package.
Verified via modprobe that xt_LED is loaded
Verified via lsmod that xt_LED is referring to x_tables

But my attempts to use & query the module produce an error:
root@OpenWrt:~# iptables -m led --help
iptables v1.6.2: Couldn't load match `led':No such file or directory

Try also installing iptables-mod-led
Good day,
yousong

Try `iptables -h' or 'iptables --help' for more information.
root@OpenWrt:~# iptables -A INPUT -p tcp --dport 22 -j LED --led-trigger-id ssh --led-delay 1000
iptables v1.6.2: unknown option "--led-trigger-id"
Try `iptables -h' or 'iptables --help' for more information.
root@OpenWrt:~# iptables -A INPUT -p tcp --dport 22 -j LED --led-delay 1000
iptables v1.6.2: unknown option "--led-delay"
Try `iptables -h' or 'iptables --help' for more information.
root@OpenWrt:~# iptables -A INPUT -p tcp --dport 22 -j LED
iptables v1.6.2: Couldn't load target `LED':No such file or directory
Try `iptables -h' or 'iptables --help' for more information.
Additionally the target is not being listed in /proc/net/ip_tables_matches.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/openwrt/luci/issues/3021?email_source=notifications&email_token=ABFYAWKUIHTGWFIRO4LBDBDQGWZCFA5CNFSM4IQRFQJ2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HHZACWA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABFYAWICRPHD7ZQEHM2S2E3QGWZCFANCNFSM4IQRFQJQ
.

The issue is from base system and please consider reporting to https://bugs.openwrt.org next time.  Thank you.

Thanks. That worked.


Link miss

In the part of Sphinx setup of Usage, a link (this project's) misses:

For an example, see this project’s doc/index.rst file.

Thanks for the report!
This is no link on purpose, though.
If this were a link to index.rst, nbsphinx would turn it into a link to index.html, which wouldn't be helpful here.
Or would you expect the link to point somewhere else?
Or do you mean the text "this project's" should become a link?

Yes, I propose the text "this project's" should become a link. I know it may link to this repo, but it doesn't hurt if not.

OK, where should it link to?
Would you like to make a PR?


document stability

gax has been tagged stable (v2.0.0) more than 6 months ago.
We seem to have forgotten to update the reported version and readme :(.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #52   +/-   ##
=======================================
  Coverage   72.72%   72.72%
=======================================
  Files           3        3
  Lines          77       77
=======================================
  Hits           56       56
  Misses         19       19
  Partials        2        2

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 317e000...5bc5f65. Read the comment docs.


[Gssoc'21] fixed the bug in contact form and error/success message.

Description
There was a bug in contact us form
Fixes #67
Type of change
bug fix and added some validations to contact form
please watch this video
https://user-images.githubusercontent.com/55352601/113417769-cc555080-93e1-11eb-9d3a-c428e6ab8fe7.mp4

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

How Has This Been Tested?

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

@Akshay6890  I had fixed the bug in contact form as you can see in the above video.
I had added some validations in form.
Kindly review it and merge it so I can create a new issue as you told me

@Akshay6890 There was also a bug in error success message the success message was not displaying on submit.
I had also fixed that issue. Kindly add labels of  gssoc'21 and if possible level3 as on issue you give me level2 but Its very challenging to find the bug in error/success message that why is was not displaying.

so why is white background there for email .please check

so why is white background there for email .please check

Its because of by-default CSS of browser

The bug in contact form was.
It can be submitted without entering anything
No validation's
NO Error success message visible.

https://user-images.githubusercontent.com/55352601/113469799-27348980-946e-11eb-9060-788498b2a063.mp4
@vikasdo as you can also see in this video it is by default CSS for auto-selected input. I can't over write it .
It is looking weird because background of input is black.
If the background is white then it will not look so weird.
I can change the background from black to white but I can't over write the user agent CSS .

@VishvamPorwal  then keep it simple white backgroung with bordered .can you modify contact form

@VishvamPorwal then keep it simple white backgroung with bordered .can you modify contact form

Sir I think you meant to address @arpit456jain here.

@VishvamPorwal then keep it simple white backgroung with bordered .can you modify contact form

ok

@VishvamPorwal then keep it simple white backgroung with bordered .can you modify contact form

is it ok ?

@VishvamPorwal then keep it simple white backgroung with bordered .can you modify contact form

is it ok @vikasdo ?

try to use the styling used in login/ signup page, for input fields

@VishvamPorwal then keep it simple white backgroung with bordered .can you modify contact form

is it ok @vikasdo ?

try to use the styling used in login/ signup page, for input fields

@Akshay6890 don't mind but this issue was not for styling of contact form. If you want enhancement in contact form I will create a new issue for that and will improve the UI of contact page properly .
Before that I had to solve the issue #70 as you told me to do.


User metadata annotations

Tickets addressed: #1034
Review: By commit
Merge strategy: Merge (no squash)

Description

This is our second attempt. Our first attempt was #1055.
Short term goal: Allow users to provide unit information for parameters, computed attributes, and resources in their mission model, such that this information can be displayed in the UI and extracted via the API.
Broader goal: Set up a pattern that missions, and Aerie developers, can use to add more kinds of metadata in the future, e.g. Range.
There are two (mostly) independent problems to solve here:

How do mission modelers provide unit information, and define other kinds of custom metadata?
How is this custom metadata serialized and represented to downstream tools?

The following sections delve into these problems:
How to define custom metadata
We knew from the outset that we would eventually want to be able to annotate deeply nested aspects of a value schema with metadata. E.g. a rover's pose could be characterized by a compound piece of data:
pose:
  position:
    latitude: degrees
    longitude: degrees
    elevation: kilometers
  orientation: quaternion
    q1: unit vector component
    q2: unit vector component
    q3: unit vector component
    q4: scalar

We had originally descoped this capability, but then pivoted (i.e. we increased scope) when the path to implementing it became clear.
The two options to select between were Javadoc tags, and annotations. I will describe both approaches, and explain why we have settled on annotations.
Surface Syntax
This Javadoc tags approach amounted to parsing javadoc comments as strings, and extracting portions of them based on a set of tags, such as @aerie.unit.
It lended itself quite well to class style parameters, since it could be part of the javadoc comment attached to the parameter itself:

Javadoc tags approach
Example of using javadoc to add unit information to a parameter:
@ActivityType("RunHeater")
public class RunHeater {
  /**
   * @aerie.unit seconds
   */
  @Parameter
  public long duration;

  /**
   * @aerie.unit kWh
   */
  @Parameter
  public int energyConsumptionRate;
}

Example of using javadoc to add unit information to a computed attributes record:
  /**
   *
   * @aerie.computedAttribute durationInSeconds
   * @aerie.unit seconds
   * @aerie.computedAttribute energyConsumptionRate
   * @aerie.unit kWh
   */
  @AutoValueMapper.Record
  record ComputedAttributes(
    long durationInSeconds,
    int energyConsumptionRate
  ) {}

Example of using @aerie.resourceName to assign a unit to all resources that match a regular expression:
/*
 * @aerie.resourceName \/prefix/.*
 * @aerie.unit F resources
 */

A limitation that we discovered of parsing the javadocs is that our implementation would only parse javadocs in a known set of locations. This works fine for parameters and computed attributes, but it breaks down for resources, which in practice are defined in submodels.
The second approach we pursued was to introduce a @Unit annotation, which could be attached to the type of a parameter or computed attribute:

Annotation approach
Example of using an annotation to add unit information to a parameter:
@ActivityType("RunHeater")
public class RunHeater {
  @Parameter
  public @Unit("seconds") long duration;

  @Parameter
  public @Unit("kWh") int energyConsumptionRate;
}

Example of using an annotation to add unit information to a computed attributes record:
@AutoValueMapper.Record
record ComputedAttributes(
  @Unit("seconds") long durationInSeconds,
  @Unit("kWh") int energyConsumptionRate
) {}

What about resources? Those are defined through a different process from parameters and computed attributes. Resources get registered at runtime, in the mission model constructor, rather than at compile time like the other entities. The approach with javadocs would record a regular expression and do name matching at runtime. The current approach instead expects a mission model to provide the units to the registrar as runtime values. Two convenience methods have been defined:
discreteResource(registrar, "/peel", this.peel, new DoubleValueMapper(), "kg");
realResource(registrar, "/fruit", this.fruit, "bananas");

This approach allows us to avoid any custom handling of units in the annotation processor, which means that it will generalize to any future metadata we would like to include. If it turns out that the regular expressions would be a significant quality of life improvement, we can consider that a separate feature.
How is custom metadata serialized
In Java, there is now a new kind of ValueSchema: a MetaSchema, which carries a Map<String, SerializedValue>, as well as a nested ValueSchema. The interpretation is that all of the metadata in the MetaSchema applies to the nested ValueSchema.
The withMeta method, used to construct a MetaSchema, checks to see if the inner value is itself a MetaSchema, and if so merges the two, overlaying the outer one on top of the inner one.
When serializing to json, this Map<String, SerializedValue> is attached to the nested object, like so:
MetaSchema(Map.of("unit", "m"),  IntSchema()) becomes
{
  "type": "int",
  "metadata": {
    "unit": "m"
  }
}

Future-proofing
One of the goals of this PR is to lay the groundwork for adding additional metadata to value schemas.
Part of this PR brings annotations into the Resolver and TypePattern machinery. This allows us to generate value mappers for annotated types.
This PR allows users to define their own annotations, and as long as a value mapper is provided for that annotation, Aerie will be able to serialize it and include it in the value schema.
One generalization that this PR leaves undone is to allow for using value mapper methods to define value mappers for annotated types. The nuance here is that, in this PR, we have users use the @WithMetadata(Unit.class) annotation to declare an annotation of interest, and we use that to generate a type rule, rather than the users writing the type rule as the return type from a static method, the way that other value mappers are defined. This is due to a limitation of type use annotations that we may be able to work around in the future.
Verification

The Banananation example model was updated to include some unit information for parameters, computed attributes, and resources.
Things to test manually:

[ ] Do the value schemas look correct in the database?
[ ] Do scheduling and constraint checking still work with banananation? (I.e. do they correctly parse the new value schemas during typescript code generation)

The second bullet may be handled by e2e tests
Documentation

[ ] Using https://github.com/NASA-AMMOS/aerie-docs/pull/71 as an example, write a new page about metadata.

Future work

Incorporate unit information in typescript code generation
Provide a convenience @AutoValueMapper.Annotation to make adding your own metadata annotations less verbose
Find a workaround that allows type use annotations to be used for value mapper methods

Fixed a broken test - valueSchemaIsNumeric was returning false for the /fruit resource, because it's wrapped in a meta schema. I added the case below:
https://github.com/NASA-AMMOS/aerie/blob/416b628e82c1e6af1c0884c294aed5579713490a/constraints/src/main/java/gov/nasa/jpl/aerie/constraints/TypescriptCodeGenerationService.java#L392-L397

For ease of review, I've pushed all changes as fixup commits (and there's one revert commit) - no changes have been made to earlier commits.
I looked into whether .box() on arrays should return this, or new ArrayPattern(this.element.box()), and determined that actually List<int[]> is a valid type 😲. I also took a look at TypeName's box() definition, and it returns this in all cases except for primitives.

Bugfix update: I've added three commits, the first of which should just be a refactor that moves the relevant code into a helper method, and the second and third of which actually change behavior
Background
The AutoValueMapper.Record generator code needs to declare a static method that takes as parameters the value mappers corresponding to the given record's fields (called "components"). For example:
@AutoValueMapper.Record
record MyRecord(int x, int y, int z) {}

Results in:
public static ValueMapper<MyRecord> generated(ValueMapper<Integer> integerValueMapper) { ... }

The integerValueMapper is then used for each of the components, which in this example all happen to have the same type.
(Original implementation from this PR: link)
The ability to re-use the same value mapper across several components was implemented this way: the HashSet<TypeMirror> ensures that only one mapper per unique type is added as a parameter:
https://github.com/NASA-AMMOS/aerie/blob/56ddc0f30baf4fa55684096ec886de1242b4b8df/merlin-framework-processor/src/main/java/gov/nasa/jpl/aerie/merlin/processor/AutoValueMappers.java#L45-L50
Bug 1 description
With the addition of metadata annotations, we have a scenario where two components of the same type need different mappers, because they may have different annotations. Two components that have the same type as well as the same annotations may share a value mapper.
This commit changes the uniqueness check to use the type pattern's string representation, rather than the TypeMirror: Fix AutoValueMapper.Record's behavior in the presence of multiple annotated components
Bug 2 description
The getIdentifier implementation earlier in this PR replaced all illegal characters with _. I tested with two unit annotations, one of which was kg/s, and the other was kg*s, and they were both converted to kg_s, and clashed. This commit makes use of the illegal character's UTF-8 value to help generate unique identifiers in this scenario: Use UTF-8 value to ensure identifier uniqueness

After chatting with @Mythicaeda, we decided to walk back the value mapper de-duplication logic described above (originally implemented here). Now, record value mappers declare one value mapper dependency per component.
The rationale was primarily to simplify logic, and generate readable parameter names (the annotated generic classes, once run through the getIdentifier method, were quite unwieldy)


Explanation of component structure for UI styling (like PrimeVue)

Description
It is really nice to be able to customize the styling of components using the ui prop.
However, finding out what does what from the docs alone is very difficult.
I like the way PrimeVue does it for their passthrough system:

It would be cool to add something like this for NuxtUI as well
Additional context
No response

Hi @Gerbuuun,
Thanks for this. Would definitely be a nice addition, however the time and resources required to create this atm outweigh the benefit this would provide atm. For now am going to close this issue as not planned. 😄


[QST] How to deploy model using Pretrain Embeddings with EmbeddingOperator in Triton

❓ Questions & Help
Details
I have trained both a Two Tower and DLRM model using PreTrained embeddings using a Loader with EmbeddingOperator following the approach from this example:
https://github.com/NVIDIA-Merlin/models/blob/main/examples/usecases/entertainment-with-pretrained-embeddings.ipynb
My models train, and I would now like to deploy them to a Triton ensemble.
Here is the Loader I used with the EmbeddingOperator to look up the pretrained embeddings.
train_loader = mm.Loader(
    train,
    batch_size=1024,
    transforms=[
        EmbeddingOperator(
            item_embedding_array,
            lookup_key="liked",
            embedding_name="liked",
        )
    ],
)

Prior to using PreTrained Embeddings, my workflow to deploy the model looked like this:
workflow =  nvt.Workflow(['item_id'] +(['liked', .... some other informants ],
                                       >> TransformWorkflow(retrieval_item_workflow)
                                       >> PredictTensorflow(retrieval_model.candidate_encoder)))

I think I need to add a step in this workflow that looks up the pre-trained embeddings for the "liked" column. I've tried inserting an EmbeddingOperator step in the workflow directly:
workflow =  nvt.Workflow(['item_id'] +(informant_columns,
                                       >> TransformWorkflow(retrieval_item_workflow)
                                       >> EmbeddingOperator( item_embedding_array,
                                                                                lookup_key="liked",
                                                                                embedding_name="liked")
                                       >> PredictTensorflow(retrieval_model.candidate_encoder)))

I've also tried putting the EmbeddingOperator as part of my NVTabular workflow (ie. retrieval_item_workflow).
What is the correct way to deply a model that has been trained with an EmbeddingOperator transform in the Loader?

Maybe you can check at the documentation or examples of Merlin Systems for this?


AssertionError: Could not find dataset PointNav-v1

❓ Questions and Help
I cloned and installed habitat-sim, downloaded and extracted the test dataset in the habitat-sim/data/.
But when I run python examples/example.py in habitat-sim
I got
2019-11-15 17:07:58,934 Initializing dataset PointNav-v1
Traceback (most recent call last):
  File "examples/example.py", line 25, in <module>
    example()
  File "examples/example.py", line 11, in example
    env = habitat.Env(config=habitat.get_config("configs/tasks/pointnav.yaml"))
  File "/home/bryanbc/Repos/habitat-api/habitat/core/env.py", line 74, in __init__
    id_dataset=config.DATASET.TYPE, config=config.DATASET
  File "/home/bryanbc/Repos/habitat-api/habitat/datasets/registration.py", line 16, in make_dataset
    assert _dataset is not None, "Could not find dataset {}".format(id_dataset)
AssertionError: Could not find dataset PointNav-v1

Any help would be appreciated!

You seem to be running habitat-api's example script, not habitat-sim's.

Ahh, yes. Sorry I was installing both habitat-sim and habitat-api simultaneously and supposed to create this issue on habitat-api repo :(


docs: translate Built-in utility types to Japanese

This PR is part of #100 #220
translated Built-in Utility Types in TypeScript playground example.
original document is here.
https://github.com/microsoft/TypeScript-Website/blob/v2/packages/playground-examples/copy/en/TypeScript/Type Primitives/Built-in Utility Types.ts

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