Parent/child relationship for VLAN subinterfaces

Issue type
[X] Feature request
[ ] Bug report
[ ] Documentation
Environment

Python version: 3.5.2
NetBox version:  v2.2-beta1

Description
Currently there is limited functionality for associating an interface with a parent interface:

The parent must be of type LAG
The child must be a physical interface

However there is another type of parent-child relationship which would be helpful to model:

The parent is a physical or virtual interface, e.g. Gi0/1 or eth0
The child is a virtual VLAN subinterface, e.g. Gi0/1.100 or eth0.100

Workaround: create standalone virtual interfaces, and use name prefix matching to associate them implicitly with the parent.

Explicitly modeling the relationship is probably unnecessary. As you mention, subinterfaces usually (always?) take the form of <parent>.<id>: Simple regex validation would probably suffice. But what would we do with this information? How would it be presented?

I was thinking nesting: children always displayed underneath parent, perhaps indented.
However if the interface names are sorted ASCII-wise then it should already be the case that children are displayed under parents.

I'd be interested in this feature.
It would be great to be able to expand / collapse the sub-interfaces of each interface, it would considerably tidy up he interfaces view.

And it would also help to order them correctly.

+1

I'd be interested in allowing virtual interfaces to have parent lags as well for the following type of scenario (although I am also open to being told to structure things differently)
In my use case I have a storage array (device) providing NFS storage. The array has multiple physical 10GbE connections - for arguments sake, say eth 0-7.
I can create a LAG1 with eth0-3 and LAG2 with eth 4-7. On the device I can then create multiple virtual interfaces, each of which has an IP address associated with it, and these are associated with one of the 2 LAGs. Each virtual IP could be on a different vlan.
While I can model the physical characteristics of this currently, in order to track the associated IPs (for the NFS traffic), it feels unsatisfying to be unable to associate them with the physical parent LAG

Hello,
I believe I would also like this feature (Unless I'm missing something).
My use case is quite simple:
1x Server
2x Nics (eth0 & eth1)
Nics go into 1x LACP bond0
4x vLan interfaces are created off of that bond0
I'd like to be able to choose the virtual interface option and then optionally choose the vLan associated with that virtual interface.
But if there is a better way to do this bookkeeping I'm all ears.
Thanks!
Cody Hill

I was the OP for this feature request, and I've come around to the idea that actually Netbox does it quite well :-)
To start with: Netbox's primary job is to model the physical infrastructure, so you tell it:

eth0 connects to switch foo port bar
eth1 connects to switch baz port quz

Next, you can create a virtual LAG interface, let's say "bond0", with children eth0 and eth1.  So far so good.
You can then create pure virtual interfaces "bond0.100", "bond0.101", "bond0.102", "bond0.103", and assign to them the IP addresses you are using on each VLAN.  That works fine too.
What you don't have is:

An explicit link between the bond0 LAG interface, and the bond0.xxx VLAN subinterfaces.  But it's kind-of obvious from the naming convention.  It would be cool if interface foo.N was displayed nested under interface foo

An explicit link from the bond0.100 interface to VLAN 100, which in fact could be one of several different VLAN 100's you may have in your infrastructure (Netbox lets you create multiple VLANs using the same tag).  But there is an implicit binding, because bond0.100 has an IP address, and the IP address belongs to a prefix, and the prefix is associated with a VLAN.

This is actually the same as for a regular interface.  If you give interface eth0 an address, say <IP_ADDRESS>/24, and let's say eth0 is plugged into switch1 port ge2, you are not saying which VLAN that interface is using; you can't currently tell Netbox that switch1 port ge2 is an access port on vlan 5.
But you can associate VLAN 5 with the prefix <IP_ADDRESS>/24, and therefore you get an interface - prefix - VLAN association.  Hence you know that eth0 must be on VLAN 5 somehow.  Whether it's tagged or untagged is not recorded, at either the switch end or the server end.
In some ways, this is quite elegant.  Entering data into Netbox is manual enough as it is, without having to say for every switch port which VLAN(s) are carried over that cable.  But by knowing which prefix(es) are present on an interface, it implies which VLAN(s) must be present there.  You can work out how your switch ports should be configured.
If you had to label each port and/or cable as carrying VLANs W, X, Y tagged and Z untagged, it sounds like a huge amount of data entry work - and may not actually add much value.
There is one case I can think of which is hard to model at the moment, and that's associating virtual machine interfaces to physical ports (or LAGs).  Suppose you knew that VMs A, B and C were bridged to port eth0, and VMs D, E and F bridged to port eth1.  Using the information about the IP allocations on each VM, you could work out which VLANs needed to be present on each port.  But this internal bridging is not modelled.  I think there might have been a separate feature request for that somewhere.

Hi Brian
Thanks for the reply and input, it's very helpful to hear how others are approaching things. You're probably right that I am overthinking things a little. I imagine in the large environment that Netbox has been created for, infrastructure teams are only concerned with the physical connectivity, so it makes sense that it works this way.

Hello,
Would be great to include parent device LAG interface selection in child "device bay" module.
For instance LAG members are ports from on-board and from module.

@candlerb Could you please elaborate the following a bit?

(Netbox lets you create multiple VLANs using the same tag)

But how? ;) Basically whether I miss something, or it's not the case.
For me it's a kind of showstopper of the current NetBox model that it does not distinguish VLAN as a broadcast domain and VLAN as an interfaces dot1Q tag, so you can't have a VLAN foo which is tagged 500 on one side, 600 on another and Q-in-Q 555/666 on the third. Kind of C6500 ;)
I would be happy if I miss something. So please correct me if I am wrong.

But how? ;)

Simple: create a VLAN with tag 123 (the GUI confusingly calls this "ID").  Then create another VLAN with tag 123.  They are two separate VLAN objects with their own database ids.

it does not distinguish VLAN as a broadcast domain and VLAN as an interfaces dot1Q tag, so you can't have a VLAN foo which is tagged 500 on one side, 600 on another

That is true: a VLAN in the Netbox model has only one tag.  And there's no Q-in-Q either.

@candlerb Yep, my bad for the VLANs with the same ID. I've tested, it's possible but not when VLANs are in a group. This is why I got "VLAN with this Group and ID already exists" when I tested before. And it's a bit strange, I would say, to have a different behavior in a group. Thanks anyway ;)

That is true: a VLAN in the Netbox model has only one tag. And there's no Q-in-Q either.

I would say that it's not a problem per se. The problem is rather the model where VLAN as a broadcast domain and VLAN as a tag is the same thing.
In fact 802.1Q tag is not an attribute of a VLAN, it's an attribute of a VLAN to physical port association. So it can be assigned whether globally on the VLAN (default tag used on all ports) or, like most modern switches/routers allow to do, per VLAN-subinterface (doesn't exist in NetBox). I would also appreciate a possibility to not have any default VLAN ID at all.
So my actual workflow is to create interfaces like xe-0/0/0.100, make them tagged and configure a VLAN tag on top of it for L3 p2p interconnections or assign a VLAN. This resembles more or less the Juniper MX model. You don't need to maintain all possible combinations at the VLAN (aka bridge domain) level, instead the sub-interface aka unit is king: it can derive the default VLAN tag from the VLAN configuration or have it's own one or be Q-in-Q tagged or something fancier.
The only problem is that there is no way to automatically associate such interface with it's parent physical interface like xe-0/0/0.100 -> xe-0/0/0. They are independent from the NetBox point of view. Just like @jeremystretch proposed above.
Interfaces names parsing works but it a kind of workaround. You can't simple say that in front of Device A xe-0/0/0.100 you have Device B Gi0/10/2.200.

subinterfaces usually (always?) take the form of <parent>.<id>

This is mostly true except there is no 1:1 relation between ID en vlan ID.
Valid cisco config:
int g0/0.123
 encapsulation dot1Q 321

Valid netiron conf
vlan 321 name "test"
 router-interface ve 123

@robje
I think you wanted to say the following for the Netiron case (L3 attachment point doesn't really matter for the previous discussion):
  tagged Ethernet1/2```

I. e. adding an interface to a VLAN, not a VLAN to an interface. Yes, the fine NetIron software can only do like this, agree. You can also have this type of configurations on other platforms which support both styles (e. g. JUNOS).

But it doesn't matter. Logical unit (subinterface) might exist in the router config our not, what matters is that the following:

— Service attachement circuit (unit in Juniper speak, subinterface in Cisco speak, SAP in Alcatel Speak etc etc — yes, you might not have it in the configuration)
— VLAN dot1q TAG
— Broadcast domain

These 3 things are not the same thing. They should be represented by three different objects. If the router has no special name for the attachment circuit, I don't really care, as fare as I can do the following:

— Create an object of type "subinterface/unit" and give it an arbitrary name. Like "Ethernet1/2, vlan123" if we follow the aforementioned NetIron config example
— Associate it with a dot1q tag 123 (in fact it can be other kind of L2 circuit ID, e. g. pair of q-in-q tags, L2VNI, whatever)
— Associated the object "Ethernet1/2, vlan123" with a broadcast domain object called "VLAN foobar".

Than, if you want to add IP, you can either attach an address to the interface-unit object "Ethernet1/2, vlan123" (directly on the subinterface) or create another interface-unit object called "ve123", attach it to the broadcast domain, and set an IP address on top of it (aka Cisco SVI / Juniper RVI).

Would it be useful to combine subinterfaces with breakout cables? Something roughly equivalent to seeing the parent port as the "rear" port and the subinterfaces as the "front" ports.
That would then also be a solution for the MPO cables and breakout boxes mentioned in https://github.com/digitalocean/netbox/issues/3193, and the use of breakout cables mentioned in https://github.com/digitalocean/netbox/issues/3018.
Edit: I first posted this as a comment under https://github.com/digitalocean/netbox/issues/3018, but that issue was about a validation bug, not a feature request…

subinterfaces usually (always?) take the form of <parent>.<id>

This is mostly true except there is no 1:1 relation between ID en vlan ID.

On linux the names of subinterfaces can be entirely arbitrary.
ip link add link eth1 name foobar type vlan id 100

I think you wanted to say the following for the Netiron case (L3 attachment point doesn't really matter for the previous discussion):

IMHO this issue is about relationship for VLAN subinterfaces or attachment point of L3 interfaces, hence the attachment point does matter. Though using examples 123 and 321 might have been confusing.

subinterfaces usually (always?) take the form of <parent>.<id>

This is mostly true except there is no 1:1 relation between ID en vlan ID.

Point and case is we need a way to administer the relationship between the interface or VLAN and the subinterface. Assuming there is a 1-to-1 relationship between subinterface ID and VLAN tag is incorrect.
It is perfectly valid to have subinterface ID 123 related with vlan tag 321

@robje

IMHO this issue is about relationship for VLAN subinterfaces or attachment point of L3 interfaces,

No, it's not. It's about the relationship between the interfaces and subinterfaces (interface unit), which is not really modelled in Netbox.
And the discussion is all about "what is a subinterface (interface unit)?" in its broad sence, so that it wouldn't be vendor dependent but compatible with the common usage and cover SP/DC-oriented use-cases.
My answer to this question is that an interface unit is a circuit attachment point, which associates a circuit, delivered to the physical port, with a set of services inside the device.
In the Ethernet worlds a circuit is a dot1q tag or a pair of Q-in-Q tags.
The services, which are attached to the interface unit (subinterface) can be:

broadcast domain (mac learning/loopkup table)
an L3 interface with IPv4/IPv6 addresses
a rate-limiter (aka policer)
ingress and egress ACL
many more.

So the relationship is:
physical-interface or LAG <--(1:N)--> interface unit <--(1:N)--> services

If you have ever seen a fortigate's network interface configuration screen this would be nice to have modeled in the netbox ui the same way.
The subinterfaces (and vlans) are attached under the main interface and can be displayed the clicking on a [+] icon to the left of the interface and then it drops down, indented. Something like this would be nice. By default the subinterfaces are not displayed and you must click the [+] to expand them.

Sorry but I have a question just a step before we reach the point of creating parent-child relationship.. How do we understand who is the parent and who is the child ? Like is there a way to get all parents of the network in a list and then check their children ?

Not to throw a wrench in the works, but an even more complex example is something like the Netgate XG-7100-1U where there are 8 front-panel ports connected to a Marvell switch with two CPU uplinks in a LAGG:

For physical connectivity, I could try to model the ETH[1-8] ports. This way I can accurately connect cables to it. I can assign VLANs and IP addresses to the ports, but those are not related in any way.
Alternatively (or additionally), I can model the virtual interfaces (e.g. lagg0.25) but then I lose the ability to "see" those IP addresses on a physical port.

There's been a lot of discussion around this it seems. To be clear, the scope of this feature is limited to associating an interface with a parent interface, similar in nature to how we assign LAG members currently. For example, the virtual subinterface eth0.100 would be assigned to the physical parent interface eth0.


Feature Request: Deploy specific stage in a release

We have a requirement to restart service, but we don't want making config & code duplicated where one is in Azure DevOps settings and another is write a script to restart a server.
For example, we have a release pipeline like this:

The ideal process is

Create a release with "Stages for a trigger change from automated to manual." set to initial stages to block auto release through API call.
Deploy a specific stage through API call.
Abandon the release through API call

@tilumi thanks for filing this feature request. I would suggest transferring this request to https://developercommunity.visualstudio.com/spaces/21/index.html .

@shashban
Did you get a chance to look at our APIs for this one?

You would be able to update each stage.  Refer: https://docs.microsoft.com/en-us/rest/api/vsts/release/releases/update release environment?view=vsts-rest-4.1
For modifying release you can use : https://docs.microsoft.com/en-us/rest/api/vsts/release/releases/update release?view=vsts-rest-4.1


Added logic to prevent downscaling

Signed-off-by: bindrad<EMAIL_ADDRESS>

/lgtm

@JohnStrunk please merge this one


required input text with ui-br-cpf-mask always $invalid

Hi, your library really saved me some time!
But when I have an Input text with a required attribute the $valid property is always false...
<input type="text" name="cpf" placeholder="CPF (somente números)" required ng-model="usuario.cpf" ui-br-cpf-mask>
One more information,I'm using your library for an Ionic App

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/12595161-required-input-text-with-ui-br-cpf-mask-always-invalid?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F1022469&utm_medium=issues&utm_source=github).

Can you provide a live demo to reproduce your problem (like http://plnkr.co/)?

Closing due to inactivity, please open a new ticket if this is still an issue!


Create OWM-CHAT Plugin Submission

Plugin takes the chat that npcs display in their dialog boxes and puts it in the chat box.

Also, I don't know why the checks were not successful so I thought it had to do with the changes I made to the gradle (putting in the information so I can create a shadowJar). I deleted those portions in the build.gradle so hopefully when it runs another check it can build it properly.

Adding the shadowJar plugin is causing the build failure, remove it and it'll work fine.

Your config group is still not really well namespaced. "User" isn't specific enough.

Your config group is still not really well namespaced. "User" isn't specific enough.

Not sure exactly how I should change this to be more specific, so I just set it to be "userChatFilterConfig" since in the future I will have users be able to set which npcs / messages they will want filtered in their config.

It's often the same as your plugin name, so something like owm-chat is what I would've chosen. This is fine though.


--alias fix

Describe your changes
Modified the set method in the Connection Class such that: if a connection with a descriptor exists, we check it's alias with the new alias argument.
Issue number
Closes #532
Checklist before requesting a review

[x] Performed a self-review of my code
[x] Formatted my code with pkgmt format
[x] Added tests (when necessary).
[x] Added docstring documentation and update the changelog (when needed)

:books: Documentation preview :books:: https://jupysql--600.org.readthedocs.build/en/600/

@AnirudhVIyer I think you removed your code

@AnirudhVIyer I think you removed your code

Yeah, an integration test is failing, trying to figure that out

@AnirudhVIyer
It seems like other PR also have test failing. Make sure you merge with the master and test again

@tonykploomber: can you check the integration tests? looks like they're failing but this PR didn't change them. so perhaps some update in the docker image we're using?

@edublancas
This is something we found earlier, https://github.com/ploomber/jupysql/issues/614

great work!

@edublancas
Any idea why tests are skipped when merged to master?

@edublancas
Any idea why tests are skipped when merged to master?

It may be due to my recently merged PR. In check_doc job, I am taking the git diff of the current branch with the master branch. This works great when running actions for a PR, but when merging, there is no diff between the master latest commit and the current branch i.e. master latest commit. May have to modify the test to run only for PR, and run all the tests when merging
What is your opinion on the above issue? @edublancas @jinniw43805 @tonykploomber


update pkgdown github action

Reran usethis::use_github_action(name = "pkgdown"). I can do this in the other packages as well if this works

I wish there was a better way to propagate this to the other packages

Is usethis::use_github_action(name = "pkgdown") documented in "how this template was created" in the wiki?

Is usethis::use_github_action(name = "pkgdown") documented in "how this template was created" in the wiki?

Yup!


resolving relative doc references only works if auto_toc_tree is enabled

In my case I don't want to use auto_toc_tree because I want better control of the structure, so I am using embedded toctree directives - and this works fine. I also have enable_auto_doc_ref set to False since it's deprecated, and if enabled I can't build anyway (due to TypeError: 'NoneType' object is not callable)
However, the problem is with the generated html output and relative links in my .md files are not getting resolved. I still need these links to get resolved though otherwise I have a bunch of broken .md links in my output.
Any suggestions? I'm new to recommonmark/AutoStructify so apologies if I missed something obvious here...

oh i think this error is already well known and why enable_auto_doc_ref was deprecated in the first place. Will close this ticket...


Hide the first navigation button for the first view

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe the problem.
In the first implementation of Bit Carousel we see two buttons for the navigation between items, but we don't want to see the first button of the list in that.
Describe the solution you'd like
We can set parameter to Bit Carousel for showing or hiding first button in the list or not
Additional context
No response

@hootanht
If I get your request correctly, do you want to have the navigation buttons (Prev/Next) to be disabled at their corresponding end of the carousel, if the InfiniteScrolling is false?
for example, the Prev button should be disabled/hidden at the start?

@hootanht
If I get your request correctly, do you want to have the navigation buttons (Prev/Next) to be disabled at their corresponding end of the carousel, if the InfiniteScrolling is false?
for example, the Prev button should be disabled/hidden at the start?

Yes, absolutely correct.

We're investigating your issue.
We'll let you know if it's possible to work on this issue or not.

The issue is accepted and planned. Resolving it will start ASAP.

Resolving this issue has started. It will be announced when this issue is resolved.

The issue has been resolved.
Note that in this state, the issue itself gets closed.

The pre-release has been published. Please give it a try and give feedback.


Data Implementation Checklist for 1.9

Opening a checklist to note of the various changes that have taken place that need to be implemented for 1.9 full functionality.

[ ] PotionData available from Tipped Arrows

[ ] PotionData available from new Potion items (Splash potions and Lingering Potions)

[ ] Potion data implementation to solely focus based on NBT stored potions or try to pre-process them through the converters

[ ] PassengerData implementation

[ ] SkullHead implementation to allow adding dragon heads

[ ] Validate that all block related data is still functional (have to iterate through every combination of possibilities to make sure the blocks are still valid)

[ ] Add new Purpur block related data.

[ ] Remove Splash potion specific data as it's now it's own item.

[ ] Bump Entity content versions to note of the various changes in new keys used in NBT etc.

[ ] Bump ItemStack content versions for those that have changed

I'm sure there are more that I'm missing: If there are any, please comment and I'll add them to this list.

Encourage the ItemStackBuilder to pass the NBTTagCompound through the data fixers to update content.


Fix components and adjust button when Dark mode is on

Some components appear visually broken when dark mode is enabled. Additionally, I believe some buttons could be redesigned to look better in dark mode.

There may be additional dark mode bugs that I haven't encountered yet. DM me if you need any further adjustments or discover any other dark mode bugs.

working on it

Components and texts fixed in commit: 842b68d

Images in Feature fixed in commit: 9a0b3c9


Create new RuntimeProvider to be associated with each ProxyOperationManager

Since RuntimeProvider manages individual testruntime & also has state w.r.t a runtime's errorstream, & raises events w.r.t that runtime. It is better to associate a new runtimeprovider with each ProxyOperationManager(in parallel scenario)

@mayankbansal018,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


feat: port Data.Subtype

I'd like help with the simplifier lints here --

why is val_eq_coe proccing the linter? it's not tagged with simp anymore
making examples of the LHS not simplifying, and trying to prove them using simp works, so I'm not sure what the problem is there

val_eq_coe is a syntactic tautology, as the linter says. That linter does not care about simp lemmas, the lemma itself says nothing. You should just remove it

bors merge


Custom branding (II)

We want to be able to customize some parts of the dashboard experience, so our community can tailor the experience for their users.

[ ] Remove Wazuh wording from the health check page

[ ] Remove duplicated help entries

[ ] Customize icons / text on the left menu

[ ] Customize logo and color in the login screen

[ ] Customize loading page logo

We need to this to be configurable in our configuration files and from the user interface / API.
Also, we should explore CSS options enabling the interface to update dynamically.
We must consider the work being done already in opensearch:
https://github.com/opensearch-project/OpenSearch-Dashboards/issues?q=is:issue+is:open+branding
If our solution could benefit all opensearch community, we should open a PR in their repository, and try to incorporate the changes into the upstream.

This has been superseded by already merged issues.


Add BcpConnection.getFeeQuote

Closes #766
Opening a draft PR to check this is going in the right direction before turning to the more complicated Ethereum case.

One note, we have completely overhauled the implementation of fees im Bnsd 0.12, not yet released. Nothing to do here, but just a note to keep in mind

This PR leaves out:

BNS fees (since they are changing in 0.12)
Ethereum fees (since hopefully we'll be in a better position to implement this after next week's workshop)
object shorthand notation/tslint rule


npm install hangs at npm-cache_locks\staging-xxxxx for some repositories

Bug Report or Feature Request (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request

Versions.
Output from: ng --version. 1.5.0
Windows (7/8/10). Linux (incl. distribution). macOS (El Capitan? Sierra?) Windows 10
node --version - 8.9.0
npm --version - 5.5.1
Repro steps.

Download any Angular app repo
Run npm install

The log given by the failure.

Desired functionality.

Mention any other details that might be useful.

It gets stuck at this message for long times and while this time, CPU usage reaches up to 95+%. Note that i installed Angular CLI and it worked just fine. This scenario is also encountered on a hit or miss basis on some repositories. Sometimes it occurs, sometimes not. I cant really make out the cause. I tried running it in PowerShell with administrator, uninstalling and reinstalling nodejs (both 64bit and 32bit versions) and clearing/verifying npm cache. Still the same problem.
For e.g. try with this repo https://github.com/cornflourblue/mean-angular2-registration-login-example

npm install failing is not a bug of the CLI, I would suggest looking into npm installation issues on stackoverflow or consulting npm documentation. Good luck!


code cleanup

Remove some unused variables.
Remove retry package (is included in http ^0.13.2)
Modify gitignore
change text font size to default (14)

Have done some updates. Firstly thanks again for the help MooNag, it's great to have others looking at some bits. Especially the stuff I know I'm weak on, like the shouldRepaint would have taken me a long while if ever to figure :D.
Now that it feels a little more together, I've re-enabled my backup tile code. So this should make it feel a bit slicker now, and not flash without much performance loss (I think anyway). (need to double check old tiles are getting cleared up, maybe part of the caching thoughts mentioned earlier)
I've made a few temp tweaks on styling, but I'm thinking maybe it needs some different styling for certain zoom ranges. Eg a motorway at zoom level 15 probably wants to look different to a zoom level of 9, so maybe a change to the styling is needed.
The lower zoom levels need some work on deciding what should go in or out, especially labels, country outlines etc. It looks okish at higher zoom levels, but befeft of info at lower ones ;D.
A few minor bits, due to the nature of tiles, we need to dedupe a few labels, i.e you can get 2 labels of a city sometimes. Should be a problem I think, maybe just a hashmap of them to prevent them being duped.
Also labels can overlap which looks ugly. So maybe we need some method for checking spacing or something.


Improve image caching

Pull Request
Brief description.
Adds parameters to pack.yml that provide more control over image caching behaviour:

images.cache.load-on-use - If set to true, images will load into memory upon use rather than on pack load.

images.cache.unload-on-timeout - If set to true, images will be removed from memory if not used after a timeout, otherwise images will stay loaded in memory.

images.cache.timeout - How many seconds to keep images loaded in the image cache for if images.cache.unload-on-timeout is enabled.

What Issues Does This Fix?
#421

Licensing

[x] I am the original author of this code, and I am willing to release it
under GPLv3.
[ ] I am not the original author of this code, but it is in public domain or
released under GPLv3 or a
compatible license.

Types of changes

[ ] Bug Fix
[ ] Build system
[ ] Documentation
[ ] New Feature
[x] Performance
[ ] Refactoring
[ ] Repository
[ ] Revert
[ ] Style
[ ] Tests
[ ] Translation

Compatiblity

[ ] Breaking
change
[x] Non-Breaking change.

Contribution Guidelines.

[x] I have read
the CONTRIBUTING.md
document in the root of the git repository.
[ ] My code follows the code style for this
project.

Documentation

[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Testing

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

You could simply the images.cache.unload-on-timeout and images.cache.timeout keys into just one key where zero is no timeout and any other number is a time out of that long. Should make configuring this easier.


Update set-project-properties.md

Undocumented feature/bug

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

VBA/Language-Reference-VBA/articles/set-project-properties.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

VBA/Language-Reference-VBA/articles/set-project-properties.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Edit AboutUs.md

Codecov Report

Merging #59 (ea6d398) into master (cd300ab) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #59   +/-   ##
=========================================
  Coverage     71.48%   71.48%
  Complexity      407      407
=========================================
  Files            73       73
  Lines          1287     1287
  Branches        130      130
=========================================
  Hits            920      920
  Misses          332      332
  Partials         35       35

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 cd300ab...ea6d398. Read the comment docs.


make async robust

there are 2 levels to this, really, that could be taken care of in one fell swoop.
level 1: the current reserve-delete semantics are such that there exists a point in time where a task could not be run to completion or stored in the db at all and at the same time there is no message on the mq to ensure that this task runs at least once.
level 2: the way the queues are designed we are bottlenecked on 1 queue, which ultimately will not scale for larger deployments + redis will also not work for large deployments. we need at least 1 level of sharding, and likely we want each route to have its own queue so we can do things like process hot functions on that queue really fast. we are also currently storing an entire json serialized *models.Call in there which is huge and message queues don't tend to do well with large things. we could probably just store the id in the mq.
i.e. not only is the way that we have the queues set up insufficient, but so are our semantics around using them in fn.
level 1, we need to store a task in the db upon receiving it (with status=queued) and then re-work when we get to delete a message for good. ultimately, it would be nice to have ran once semantics, which we should be able to do by using the db and updating the status. i can think of various ways to design this, so omitting the details.
level 2, maybe we need to play with kafka? unfortunately, it's not ideal for timestamp based job processing like it appears we want to offer (delay / timeout based). or ya know, build our own queue.
another issue with async is that if there's some kind of error like 'image not found' right now we try to run that call forever even though we may never be able to, need to clean stuff like this up too (add to call.Start)

This still an issue?

One more thing. With the current implementation, the async call reaches success status just in a matter of milliseconds, but the actual execution may still be in progress. So, calls API is consistent only for sync calls (can be a source of truth, you can get an actual execution status). For async functions,  calls API can state that request was accepted, but not completed.
Side note. Call object can't be a proof of execution even if sync function really makes each call can be represented as function's execution state. So, i think we need to split current calls into at least two relative APIs:

execution requests API as proof of execution acceptance
execution state API as a source of function's lifecycle state

thoughts?


Authentication for multiple user types

Hi Pete - I see that current_user is designed to check for current_admin and current_admin_user, both of which can be defined with authenticate routes, per the docs, like so:
authenticate :admin_user do
  mount Motor::Admin => '/admin'
end

This authentication works great for our current needs, but we're exploring a use case to expand motor admin for access with an additional user type, preferably accessed via another path, but we have not been able to figure out the best way to achieve this.
Abilities gives us the permission control we need, but as far as multiple authentication paths for differing user types -- is there any way to achieve this with motor admin?

Edit: thinking about this from another angle.. in theory a single authenticate could be used, with multiple Motor Admin engines mounted within, e.g.:
authenticate :admin_user do
  mount Motor::Admin => "/admin", as: "motor_admin"
  mount Motor::Admin => "/suppliers", as: "motor_suppliers"
end

However, I haven't really gotten this to work nicely either.

@aguynamedloren usually it's better to create new table/model to separate internal users from external users (assuming suppliers are external).
So maybe creating SupplierUser model for authentication with a separate motor admin path would work best:
authenticate :supplier_user do
  mount Motor::Admin => "/suppliers", as: "motor_suppliers"
end

And in abilities definition class you can use if user.is_a?(SupplierUser) condition to set permissions for this type of users.
Other than that motor admin doesn't provide some dedicated mechanism for multiple user types and admin directories.

Thanks @omohokcoj.  Interestingly enough, authenticate :supplier_user is what I tried first, however, I ran into an issue there as well.  It works for authentication, but then it breaks the cancan ability functionality, which depends on current_user.
authenticate :supplier_user defines current_supplier_user, which I figured I could patch into CurrentUserMethod, but I've tried various approaches and have yet to do this successfully.
Any tips on the best way to patch this to work with a current_supplier_user?

@aguynamedloren yeah you're right, current_user method should be patched in this case via motor-admin.rb initializer:
module MotorAdminCurrentUserMethodPath
  def current_user
    warden.user # or `current_supplier_user || super`
  end
end

Rails.configuration.to_prepare do
  Motor::ApplicationController.include(MotorAdminCurrentUserMethodPath)
  Motor::ApiBaseController.include(MotorAdminCurrentUserMethodPath)
end

Thanks Pete.  So, the next problem that I run into is that the two Motor Admin engines interfere with one another.  For the following configuration:
authenticate :admin_user do
  mount Motor::Admin => "/admin", as: "motor_admins"
end

authenticate :supplier_user do
  mount Motor::Admin => "/suppliers", as: "motor_suppliers"
end

To my surprise, the "admin" Motor Admin engine loads stylesheets from the "supplier" engine, which are unauthorized.  I can probably play around with the routing to get the "supplier" assets to work in the "admin" engine, but I'm confused why it's happening at all.  Any idea?

@aguynamedloren oh actually it looks like rails route helpers are overridden with the latest mount Motor::Admin definition.
It seems like having the same rails engine mounted twice is a challenge indeed.
You can try to monkey patch Motor::Assets.asset_path but I think other issues will occur after that.
Unfortunately it's too specific for your application so I can't dedicate time to make all the adjustments in the gem to make it work - but PRs are welcomed if you decide to follow this path and adjust the code to make it work with multiple engine mounting endpoints.

It seems like having the same rails engine mounted twice is a challenge indeed

😬  Okay, glad I wasn't missing something obvious here!

Unfortunately it's too specific for your application so I can't dedicate time to make all the adjustments in the gem to make it work - but PRs are welcomed if you decide to follow this path and adjust the code to make it work with multiple engine mounting endpoints.

@omohokcoj totally understand. Thanks for taking the time to work with me on this, I appreciate all of your help.  I'll keep working on this and submit a PR if it comes to that.
Thanks again!


pqt update

update of pqt package, and code regeneration
glide settings cleanup - separate glide.yaml or entire package and generator
more tests

Current coverage is 35.57% (diff: 26.58%)

Merging #26 into master will increase coverage by 2.90%

@@             master        #26   diff @@
==========================================
  Files            49         49
  Lines          2807       2814     +7
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            917       1001    +84
+ Misses         1790       1713    -77
  Partials        100        100

Powered by Codecov. Last update 89ce56b...dc6985b


🤗 [REQUEST] - Code-290k-6.7B-Instruct

Model introduction
This model is trained on DeepSeek-Coder-6.7B-Instruct. I have used my existing dataset Code-290k-ShareGPT for training purpose. It is trained on around 290000 set of codes. Along with Python, Java, JavaScript, GO, C++, Rust, Ruby, Sql, MySql, R, Julia, Haskell, etc. code with detailed explanation is used for training purpose. This model utilizes Alpaca format. Besides code generation it will also give you explanation.
Model URL
https://huggingface.co/ajibawa-2023/Code-290k-6.7B-Instruct
Data type
bfloat16
Additional instructions (Optional)
No response
Author
Yes
Security

[X] I confirm that the model is safe to run which does not contain any malicious code or content.

Integrity

[X] I confirm that the model comes from unique and original work and does not contain any plagiarism.

HE+:

MBPP+:

Thank you very much for evaluating this model!


Fix a number of Javadoc typos

I found and fixed a number of typos in Javadoc comments

Thanks a bunch!


NA value in column produce size mismatch error in calculating rolling mean

Context:

Docker image built from hpc_run, which is a few commits ahead of develop
Running predict with Janghyun's "v10_small" models FTLB_FTLBCHWMeterCHWEnergyRate_r1, FTLB_FTLBHWMeterHWEnergyRate_r1, and FTLB_FTLBMainRealPowerTotal_r1
Running the date range 2023-05-16 through 2023-05-23, i.e. one week of data
Data contain (2) NA values for snow depth: one on 5/17 and one on 5/18

Issue:
When I run predict for this date range, all (3) models, I get the following error (basically the same error for all models):
axon::EvalErr: Func failed: pyEval(PySession py,Str stmt); args: (PyMgrSession,Str)
  sys::IOErr: Python failed: operands could not be broadcast together with shapes (697,78) (697,79)
Traceback (most recent call last):
  File "/usr/src/app/hxpy/hxpy.py", line 67, in run
    self._exec(instr, local_vars)
  File "/usr/src/app/hxpy/hxpy.py", line 95, in _exec
    return exec(code, local_vars, local_vars)
  File "<string>", line 1, in <module>
  File "/wattile/wattile/buildings_processing.py", line 512, in prep_for_rnn
    data = _preprocess_data(configs, data)
  File "/wattile/wattile/buildings_processing.py", line 486, in _preprocess_data
    data = roll_data(data, configs)
  File "/wattile/wattile/buildings_processing.py", line 571, in roll_data
    means.loc[:, :] = sums.values / counts.values
ValueError: operands could not be broadcast together with shapes (697,78) (697,79)
 [proj_wattile::wattilePythonModelPredict:148]

The most useful part of this error message are the last 4 lines, which show an off-by-one error in array dimensions between sums.values and counts.values and also point to these lines as the culprit: https://github.com/NREL/Wattile/blob/hpc_run/wattile/buildings_processing.py#L567-L571
I traced this back to the (2) NA values for snow depth. If I modify my SkySpark function to scrub out NA values prior to passing data to Python, I do not get the error.
I think this may have something to do with how NA values are encoded in Pandas when passed from SkySpark to Python using hxpy? They may not be getting properly scrubbed as NA or NaN. I have data dumps from Python in both CSV and Pickle formats immediately prior to calling the models. I will send those via email for troubleshooting.

Emailed data files to @JanghyunJK and @haneslinger. Here is where the data files are exported in my SkySpark code:
// Temporary: Persist data to files for troubleshooting prior to prep_for_rnn and predict
session
  .pyExec("debug_data_csv = pathlib.Path(model_dir) / 'debug_data.csv'")
  .pyExec("predictor_data_frame.to_csv(debug_data_csv, encoding='utf-8')")
  .pyExec("debug_data_pickle = pathlib.Path(model_dir) / 'debug_data.pickle'")
  .pyExec("predictor_data_frame.to_pickle(debug_data_pickle)")

  // Prep data and run prediction
  session
    .pyExec("_, val_df = prep_for_rnn(configs, predictor_data_frame)") // Error occurs here
    .pyExec("results = model.predict(val_df)")

@haneslinger and I determined this might stem from Pandas not being able to handle the Hxpy encoding of NA, hxpy.haystack.na.NA. This may need to be converted to Pandas.NA or some other more friendly "NA" data type.

@haneslinger I added the following lines to SkySpark. Per testing in a smaller function, I believe they are correctly converting values of type hxpy.haystack.na.NA to pandas.NA.
  // NA type conversion
  session
    .pyExec("notNA = predictor_data_frame.applymap(lambda v: not isinstance(v, hxpy.haystack.na.NA))")
    .pyExec("predictor_data_frame = predictor_data_frame.where(notNA, pandas.NA)")

The syntax of where() is a bit screwy; basically if the element-wise condition is TRUE it keeps the original value and if the condition is FALSE it replaces the original value with the alternate value specified.
After this test I still get the error. Running for 2023-05-17 specifically:
axon::EvalErr: Func failed: pyEval(PySession py,Str stmt); args: (PyMgrSession,Str)
  sys::IOErr: Python failed: operands could not be broadcast together with shapes (121,78) (121,79)
Traceback (most recent call last):
  File "/usr/src/app/hxpy/hxpy.py", line 67, in run
    self._exec(instr, local_vars)
  File "/usr/src/app/hxpy/hxpy.py", line 95, in _exec
    return exec(code, local_vars, local_vars)
  File "<string>", line 1, in <module>
  File "/wattile/wattile/buildings_processing.py", line 512, in prep_for_rnn
    data = _preprocess_data(configs, data)
  File "/wattile/wattile/buildings_processing.py", line 486, in _preprocess_data
    data = roll_data(data, configs)
  File "/wattile/wattile/buildings_processing.py", line 571, in roll_data
    means.loc[:, :] = sums.values / counts.values
ValueError: operands could not be broadcast together with shapes (121,78) (121,79)
 [proj_wattile::wattilePythonModelPredict:155]

So it still seems the inclusion of the NA value messes up the calculation. Example data and configs sent via email.

Added NA type conversion to nrelWattileExt in https://github.com/NREL/nrelWattileExt/pull/40. Issue is still present with NA type conversion in place per comment above.

@stephen-frank  fixed as of FIX/281. Ready to close?

Yes; thanks.


Heroku requires a new "release phase" for deploying pushed Docker images

What's going wrong?
Followed setup as best as I could, but Heroku fails to actually deploy, or log any activity at all in the Heroku dashboard.

How can the cookiecutter-django-rest team reproduce the problem?
Complete a fresh install of the project, right up until the point of pushing to master/qa and having TravisCI build and attempt to deploy your docker image.
After doing a bit of poking around, I figured this could be the reason for it not working:
https://devcenter.heroku.com/changelog-items/1426
With that being said, I actually see no activity in my Heroku dashboard after actually creating each project (prod/qa). So something else might be off. Let me know if there's any other information that could be helpful here!
Is this a problem with a fresh install of the project?

[x] Yes
[ ] No

Update
I got it to deploy by sort of following some deployment steps in the Heroku dashboard:
Log in to Container Registry
$ heroku login

You must have Docker set up locally to continue. You should see output when you run this command.
$ docker ps

Now you can sign into Container Registry.
$ heroku container:login

Deploy the changes
Release the newly pushed images to deploy your app.
$ heroku container:release --app <APP_NAME> web

I'm still having some issues with my deployment -- namely I didn't set up the AWS keys/etc. because I didn't think they were required, but it seems like when deploying/releasing the app this breaks everything because the bucket doesn't exist (?)
In any case, this step was confusing and could probably be improved / better documented.

Hey @chrisjcook,
Thanks for opening up this issue and tracking the problem down. I'll take a look at updating the deployment steps in .travis.yml.

Hey @chrisjcook and @agconti. I'm having deployment issues as well. It would be nice to have the entire process (with and without travis) documented.
Sidenote: I'm using django-storages with google storage so I had to comment out the AWS settings.

@manticarodrigo feel free to open a PR with some more documentation! 😅✨
This project isn't intended to be an exhaustive resource of the multitude of ways that you can deploy your app and setup CI/CD for it. Those providers will always have more up-to-date and comprehensive documentation than this project could hope to duplicate. In this case, I'd encourage you to check out Heroku's deployment docs for help around the issues you're encountering.
The project aims to give you the foundation and flexibility to deploy anywhere.  For connivence, its configured out of the box for a simple deployment to heroku via travis thats suitable for small apps and internal development, like staging / QA servers. Many users will choose different deployment providers and strategies that suite them better. Some may keep some of the scaffolding. Some may not. Thats intended. Support on that path, like configuring google storage over s3, is up to user and is out of scope and the goals of this project.


SQLCheck not showing listener for a contained AG

Tested on SQL 2022 Developer CU 3
--from the log
Always-On Servers:          WIN22SQL22N2, WIN22SQL22N1
Always-On Listeners:        AGDB2022
Availability Groups:        AGDB2022, ContainedAG
--from the DMVs
ag_name	        ag_listeiner_dns_name	        agl_port	        agl_config_string
AGDB2022	AGDB2022		                1433		('IP Address: <IP_ADDRESS>')
ContainedAG	ContainedAG		                1434		('IP Address: <IP_ADDRESS>')
AGDB2022 is a regular AG
ContainedAG as the name suggests is a contained AG
Possible cause is that the port for the listener is 1434. (?)

We do not connect to the database server and run DMVs. This tool is meant to be run by a member of the Administrators group and not a SQL sysadmin. In some companies, these roles are mutually exclusive.


Run Job validation on the templates as part of JobSet validation

This is a better experience vs catching such problems at runtime when jobset attempts to create the job.

Do you know how you should do validation?  I know k/k has a validation package but not as clear what users of api libraries have.

@ahg-g AFAIK we tried this but found that there isn’t really a way to use job code for validation. I think we can close this issue.
/close


Unknown error, call getLastResponse() to find out what happened

Hey, I'm a bit confused because I'm getting this error even though the call is successfully going through and adding the user to my MailChimp list. What's even more confusing is that this call worked fine one minute, and then it started giving me this error. Even after reverting back, it's still doing it.
It only seems to be giving me this error when I ->post() a new user to a list. Deleting doesn't return this.
I also checked the getLastResponse() and I see that the HTTP code I'm getting is 200 (and everything else looks right), which according to the source code anything with $status >= 200 && $status <= 299 should give me a success.
Do you have any idea what could be causing this?
$list_id = 'a1c5bdd1b3';

$result = $this->_mailchimp->post("lists/$list_id/members", [
                'email_address' =><EMAIL_ADDRESS>// I use a real email address here
                'status'        => 'subscribed',
            ]);

print_r($result); // this shows me that the request went through

if ($this->_mailchimp->success()) {
    print_r($result);   // this doesn't print
} else {
    echo $this->_mailchimp->getLastError(); // this is what prints "Unknown error, call getLastResponse() to find out what happened"
}

Update: I removed the package from composer and ran composer update. I then added it back, and now it works fine. Not sure what happened since I never touched the package, but it works now.


KeyNotFoundException

Hey,
Don't necessarily want to say this is an issue, you may have designed it this way.  But MapTZID(string tzid) method, was thinking we should use a TryGetValue to safely return a TimeZoneInfo or null object that the user can handle instead of throwing a hard exception.
See here for reference:
https://github.com/RobThree/TimeZoneMapper/blob/master/TimeZoneMapper/TZMappers/BaseTZMapper.cs#L78
What are your thoughts?

What are your thoughts?

That you're absolutely right :stuck_out_tongue:
Don't know why I didn't implement that; I usually create a GetFoo() and TryGetFoo(); this time I somehow seem to have forgotten. Let me fix that...

1.2.9 (commit 5ebcd029cc3f7206eeb114b9a4cd5695fe934deb) :+1:


coverage regression in hashbrown 0.12.0

Coverage report from grcov is lost after upgrading to hashbrown 0.12.0.
The PR to upgrade hashbrown: https://github.com/tikv/raft-engine/pull/178
The PR to revert the upgrade: https://github.com/tikv/raft-engine/pull/197

I don't see what the problem is.

As you should see, https://github.com/tikv/raft-engine/pull/178 updates hashbrown and the codecov stops reporting via comment (and several commits afterwards). After I reverted the update in https://github.com/tikv/raft-engine/pull/197, coverage report is back on.
I can't reproduce this locally. And this issue magically goes away just now in this newly triggered update PR: https://github.com/tikv/raft-engine/pull/198. So maybe it's just a glitch with codecov. Closing this for now.


ApiCheck Generate should never Exclude Public internals

We can run the check with ignore exclude public internals, but we should always generate things with the entire API.

Engineering team triage: closing because we are de-prioritizing work on our ApiCheck tool. We plan to convert to a new tool for managing our public API surface. Until this is done, we will fix urgent issues with ApiCheck, but this does not appear to be an urgent item. See https://github.com/aspnet/BuildTools/issues/747


Add missing dependency in dev setup: sphinxcontrib-httpdomain

Fixes #430

Maybe we want to create a requirements.txt file instead?

This is a development requirement, so in that case it would seem confusing IMO.

I think this should be fine, it is not a huge project with a dozen requirements.


Support multiple filter types per index

By default most deployments of logstash I've seen have a single index logstash-date, the problem here is that LogTrail seems to expect you to create an index for every app or some sort of workaround.
It would be useful to match filters for example based on a program, e.g. if the program is nginx, then apply an nginx log filter, if it's kubes apply a kubes filter, syslog a syslog filter etc... rather than needing an separate index for each.
Please correct me if I'm wrong about how this works.

Can't you just type a query in the Logtrail search box?
E.g., type:syslog or whatever you've named the field.

It's not a problem with searching, it's a limitation of the Logtrail config file.
In all example configs you're only able to set one set of field mappings per logstash index. For example you might have nginx, kubernetes and syslog type logs in your logstash index, but the config only allows you to pick the field mappings for a single type of logs, e.g - you can't run both:

https://github.com/sivasamyk/logtrail-config-examples/blob/master/syslog/logtrail.json
and
https://github.com/sivasamyk/logtrail-config-examples/blob/master/kubernetes/logtrail.json

On the same logstash index (please correct my if I'm interpreting the config file syntax incorrectly).

I am experiencing the same limitation. I have indexes split by app but I usually want to query more apps at once to join related logs. It would be great to have multiple logtrail indexes using same es index pattern but different search, field mapping, output format, etc.
In my opinion only change that needs to be done is to add name key into config and use that in index pattern selectbox instead of mixing it with elasticsearch index name.

Something like this: https://github.com/fpytloun/logtrail/commit/68b3d4bcedf6becf7edabba65bcc4985c8b5cb42


Local notifications does not work on Android 7.0 if there is no mipmap/ic_launcher or drawable/ic_launcher resource or if icon resource is not named specifically in payload

> What version of RN and react-native-fcm are you running?
react-native: 0.51.0
react-native-fcm: 11.3.1
> What device are you using? (e.g iOS9 emulator, Android 6 device)?
Xiaomi Mi 5 with Android 7.0
> Is your app running in foreground, background or not running?
Problem occurs regardless of app state.
I've encountered very strange problem when foreign notifications worked fine but local notifications were not displayed. Notifications from firebase console showed up in notification bar without a hitch, but FCM.presentLocalNotification({...}) with payload from example did nothing. App from examples worked fine, but my app with the same javascript didn't.
Logs from adb logcat showed this message:
01-29 18:44:25.732 25466 25491 E ReactNative: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(pri=1 contentView=null vibrate=[0,500] sound=null defaults=0x0 flags=0x10 color=0x00000000 category=call vis=PRIVATE)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.app.NotificationManager.notifyAsUser(NotificationManager.java:306)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.app.NotificationManager.notify(NotificationManager.java:284)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.support.v4.app.NotificationManagerCompat$ImplBase.postNotification(NotificationManagerCompat.java:179)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.support.v4.app.NotificationManagerCompat.notify(NotificationManagerCompat.java:290)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.support.v4.app.NotificationManagerCompat.notify(NotificationManagerCompat.java:274)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at com.evollu.react.fcm.SendNotificationTask.doInBackground(SendNotificationTask.java:217)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at com.evollu.react.fcm.SendNotificationTask.doInBackground(SendNotificationTask.java:31)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.os.AsyncTask$2.call(AsyncTask.java:304)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at java.util.concurrent.FutureTask.run(FutureTask.java:237)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
01-29 18:44:25.732 25466 25491 E ReactNative: 	at java.lang.Thread.run(Thread.java:760)

I've tried various icon fields in payload - nothing worked. Setting "com.google.firebase.messaging.default_notification_icon" also didn't help.
Then I copied all mipmap directories from example and it did the trick. But notifications had my app's normal icon, not the one from example app (maybe it's just that MiUI does not support custom icons, example app also has balloon-icon, not exclamation-point-icon).
My app's icon is located at @drawable/icon and AndroidManifest.xml points to it in android:icon field.
Then I deleted files copied from example app and added icon: 'icon' to payload and it worked also. And why wouldn't it?.
I'm new to mobile development so I'm not sure is it me at fault or should this library handle such cases. Anyway, I've created this issue to help anybody who will encounter the same problem I did.

"com.google.firebase.messaging.default_notification_icon" is only for remote notification created be firebase SDK. local notification is not.

Well, it's in a Setup Local Notifications of the docs, so - easy mistake to make.

what is your icon file name in @drawable/icon

It's drawable-*dpi/icon.png.
Is android:icon field from AndroidManifest.xml accessible inside java classes? If so, maybe it should be the default value for small icon.
For reference:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    ...
    <application
            android:name=".MainApplication"
            android:allowBackup="true"
            android:label="@string/app_name"
            android:icon="@drawable/icon"
            android:theme="@style/AppTheme"
    >
        ...
    </application>
</manifest>

android:icon="@drawable/icon" is for app icon, not notification.
You need to specify it in your payload for local notification.
I've updated the misleading readme by the way

Yes, if I want custom icon I should specify it manually.
But this library uses app icon (ic_launcher) as a fallback. But app icon could be named differently and then local notifications break completely and silently - that is the problem I've encountered.
So, my proposal is to use icon specified in AndroidManifest.xml as a fallback and not rely on a hardcoded value of ic_launcher (if it's at all possible).


http-client-csharp: Add an ITypedValueExpressionFactory<T> interface for our typed value expressions

Majority of our typed value expressions will have the ctor taking a ValueExpression parameter, like this:
public record XExpression(ValueExpression Untyped) : TypedValueExpression(typeof(X), Untyped)

and we cannot add a constraint using generic syntax, this cannot compile:
public static MethodBodyStatement Declare<T>(string name, T value, out T variable) where T : TypedValueExpression, new(ValueExpression)

to have a generic method to catch all of the cases we could possibly support, we could use this newly introduced interface as the constraint:
public static MethodBodyStatement Declare<T>(string name, T value, out T variable) where T : TypedValueExpression, ITypedValueExpressionFactory<T>

where ITypedValueExpressionFactory<T> works similarly as the made-up constraint above new(ValueExpression).
I believe this should simplify our code, and make it could automatically extend when a new expression is added.

@m-nash @ShivangiReja @jorgerangel-msft could you please have a review? This is ready to review now.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Microsoft.Generator.CSharp


_curses.error: addstr() returned ERR

python: 3.6.3
rtv: 1.18.0
Traceback (most recent call last):
  File "/home/dave/.pyenv/versions/3.6.3/bin/rtv", line 7, in <module>
    from rtv.__main__ import main
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/__main__.py", line 221, in <module>
    sys.exit(main())
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/__main__.py", line 204, in main
    page.loop()
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/page.py", line 83, in loop
    self.controller.trigger(ch)
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/objects.py", line 621, in trigger
    return func(self.instance, *args, **kwargs)
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/subreddit_page.py", line 140, in open_submission
    page.loop()
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/page.py", line 81, in loop
    self.draw()
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/page.py", line 377, in draw
    self._draw_content()
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/page.py", line 498, in _draw_content
    attr = self._draw_item(subwindow, data, subwin_inverted)
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/submission_page.py", line 270, in _draw_item
    return self._draw_comment(win, data, inverted)
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/submission_page.py", line 325, in _draw_comment
    self.term.add_line(win, text, row, 1)
  File "/home/dave/.pyenv/versions/3.6.3/lib/python3.6/site-packages/rtv/terminal.py", line 279, in add_line
    window.addstr(row, col, text, *params)
_curses.error: addstr() returned ERR

I was scrolling down comments (with my mouse wheel) and had this happen.

Looks like this may have been fixed here:
https://github.com/michael-lazar/rtv/commit/a8c4b1adf477beda6c133d7c4feaeccbca0d4aee#diff-3819e52ace59e781870267ce9ff22e4e
but hasn't made it into the latest in pip yet.

The commit that you referenced has now been released into pip. Please re-open if you still see this bug, but I agree with you that it was probably fixed.


20779 Implemented Easy Legal Name Fix

Issue #: /bcgov/entity#20779
Description of changes:

Synced code from the feature branch to main
Implemented the Easy legal name fix
Implemented with feature flag
Lots of misc. fixes that I brought from the legal name branch to here
Fixed/updated unit tests
Brought in the vitest wrapper factory

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

/gcbrun

Temporary Url for review: https://business-edit-dev--pr-570-2rdpwi3s.web.app

/gcbrun

As I have a PR that I've been working on for a couple of weeks (!) and am final-testing, I'd really appreciate if my PR could go first and then  you could apply your changes on top. Is that OK?

As I have a PR that I've been working on for a couple of weeks (!) and am final-testing, I'd really appreciate if my PR could go first and then you could apply your changes on top. Is that OK?

Absolutely, I wanted to mention this to you. Some of it also overlaps with what I have here. So, you can merge yours first and then I'll rebase. No problem!

/gcbrun

Temporary Url for review: https://business-edit-dev--pr-570-2rdpwi3s.web.app


[T2A4][T09-A4] Gauri Joshi

Ready for review.

really good attempt at making the code very smelly. My eyes hurt looking at the code 😆
Now that we know what is bad, we should consciously avoid them!


GUA-597 move data structures to test helpers

@divyaparameswaran most file names seem to be snake-case but testHelpers is camel. Is there a reason for this?

@divyaparameswaran most file names seem to be snake-case but testHelpers is camel. Is there a reason for this?

Thats a good point I didn't really think much about it as I was trying to get it to be consistent with the delete lambda. I am happy to change it to "-" separated.

Fair. I’d say lets pick one style and stick with it everywhere. Snake-case seems more prevalent so my vote is going with that
Regards,
Dougal

Dougal Rees (he / him)
AccessUK - Migration & Borders Technology Portfolio
+447854500779
From: Divya @.>
Date: Friday, 23 December 2022 at 11:36
To: alphagov/di-account-management-backend @.>
Cc: Rees, Dougal @.>, Comment @.>
Subject: [EXT] Re: [alphagov/di-account-management-backend] GUA-597 move data structures to test helpers (PR #67)
@divyaparameswaranhttps://secure-web.cisco.com/1Fo7eLaLfIWjari5Xt4lXMXgDhxwGmDnPKOSTYKrZYSL2rcuZbVS5tEabYmAHcaFWVKmDyyEKi805SAxiQiaMXL1iKc4WR52WOz1NHoEH534euLwpI21fnfGyYIivxB0FuLIhEBZ8UBLWmtsJ7oIJ0VUaQ_TkWq2jzGjNx178cNigOcW1ozlejOwIMd4bEKfss83ieQStnsBeG7yCWGbVeS01q5wyiTp8jqgXHIPOTNWdIQkEzdXbyGRLrJbx4Xxycts5Sij5XV3UbyDNB3ORGsVMyKlC0Z5WRFE6yBuZUdd68LUaUaLwYccpdYuo89-j/https%3A%2F%2Fgithub.com%2Fdivyaparameswaran most file names seem to be snake-case but testHelpers is camel. Is there a reason for this?
Thats a good point I didn't really think much about it as I was trying to get it to be consistent with the delete lambda. I am happy to change it to "-" separated.
—
Reply to this email directly, view it on GitHubhttps://secure-web.cisco.com/1UtI4-r9m9YwlVBt5MFFWSbnWnnhdrudI-McAsOdo-G97WoOOUrVK1sUfZ7dZ6i7TH8GzuPnm7G8D4aY4o92YT8VK874iJQnVIBgNpEpKatmWyeW1-7Ch1pC85YPj8dFFrno4BGKHXsA7YheFZLVbkW0H4byhdd1XVzAsiL_9mNcqtv23TF3XSro-yxZ9Pl1X_QfybrlPKkAmzYA5CCP-MSyinTrFdF1uCMHWtutoU0iMbcg6fTdKPrY1J0wABRJ_uwDN3x06suOcYw8GPTGPxIaZgM0LSUg7iU9sr5aM1QMOyCj0uf77jqYNnYR_0eiu/https%3A%2F%2Fgithub.com%2Falphagov%2Fdi-account-management-backend%2Fpull%2F67%23issuecomment-1363877166, or unsubscribehttps://secure-web.cisco.com/1Bu4pyLjK-_wHX5fejOY8escfGibcXdSh2lB_04sv9_V4LoAGm5-yuA8kO6HiksL2vTlsTCEPyYBE616h7wU9aX2cj1Ohn8pixZ7TiZROYtMnzTndPdo26ohG_GFQdoKc5gEPoMddSZu7ymF_ceLpQW1Ks4XTYDUOkcPr57tf_7kFqoogHuHSlIximLtHFDraN5HoUudaKQ7owjyyk0cTC42aiyA_pLIjV_MxRxmeKZb2JlDYEdvDWUWDMweTpM5XO5QZi10b8Fo4hpbcej3L1lBe_7FiChFQo2VNICVLX6TLu6VuwEpCQDZv0V3yy2XL/https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAFYLXUZMPDSJMKUP7R6CZ5DWOWE6RANCNFSM6AAAAAATGVJTCY.
You are receiving this because you commented.Message ID: @.***>
IMPORTANT NOTICE
This communication is from Deloitte LLP, a limited liability partnership registered in England and Wales with registered number OC303675. Its registered office is 1 New Street Square, London EC4A 3HQ, United Kingdom. Deloitte LLP is the United Kingdom affiliate of Deloitte NSE LLP, a member firm of Deloitte Touche Tohmatsu Limited, a UK private company limited by guarantee (“DTTL”). DTTL and each of its member firms are legally separate and independent entities. DTTL and Deloitte NSE LLP do not provide services to clients. Please see www.deloitte.co.uk/abouthttps://www.deloitte.co.uk/about to learn more about our global network of member firms. For details of our professional regulation please see Regulatorshttps://www2.deloitte.com/uk/en/footerlinks1/regulators-and-provision-service-regulations.html.
This communication contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s), please notify<EMAIL_ADDRESS>and destroy this message immediately. Email communications cannot be guaranteed to be secure or free from error or viruses. All emails sent to or from a @deloitte.co.uk email account are securely archived and stored by an external supplier within the European Union.
You can understand more about how we collect and use (process) your personal information in our Privacy Noticehttps://www2.deloitte.com/uk/en/legal/privacy.html.
Deloitte LLP does not accept any liability for use of or reliance on the contents of this email by any person save by the intended recipient(s) to the extent agreed in a Deloitte LLP engagement contract.
Opinions, conclusions and other information in this email which have not been delivered by way of the business of Deloitte LLP are neither given nor endorsed by it.

@DougsCER I have updated the test-helpers I avoided the snake case as the front-end repo also have the "-" for file names . I hope that is okay .


Academic degrees section shows even if profile has no academic degrees

I'm assuming we should be hiding this section so that it's not there and empty. @jjchen20 @JonKusner what do you think?

@jjchen20 endorses this change


hyper pull always returns exit code 0 even if it errors in some way

If you run
hyper pull someinvalidimagename

It will return 0

Wow, that was fast.
I assume this will fix it for all cases?
I.e if the hyperd is not started or if I run a different command?

@danielbodart yes, the original code does not return non-zero value for the error of all commands execution. Sorry for the inconvenient.


AttributeError: module 'twitter' has no attribute 'Api'

Remember you can change the settings in config.py!
Traceback (most recent call last):
File "C:/Users/Nick Grichine/AppData/Local/Temp/Temp1_Twitter-Giveaways-Bot-master.zip/Twitter-Giveaways-Bot-master/main.py", line 20, in
twitter_api = twitter.Api(consumer_key=config.twitter_credentials["Sw3rdzhifEUBa4GbjDRWlP6TE"],
AttributeError: module 'twitter' has no attribute 'Api'

did you get elevated access? cause that's the only way i can see to be able to use API now


Mst2_EU_VW_P

Hi, i have the following train version: Mst2_EU_VW_PQ_P0356T, could I use this toolbox on this firmware. Should I update it to a newer if there is? Just upgraded my map’s for 2023 and have been struggling with freezing off the gps/navigation.
Just want iphone CarPlay to work

Toolbox should be compatible with this fw but updating onto 367/369 definately makes sense as 356 is buggy.


Need HttpContext in Http Trigger

Hi
I need to access the HttpContext for HttpTriggers in both middleware and services, i know there is a hackie work around to access the HttpRequest and respone in middleware, but it makes it really difficult in services.
(I primarily need to access headers and cookies at present)
Is there an plans for the HttpContextAccessor to be introduced?and possible eta?

i have no idea what that means in regards to my issue

I'm in a similar situation to the OP.
Should we be able to access HttpContext via IHttpContextAccessor in functions .net 5?
I'm in the middle of upgrading and I can't seem to access it.  I have some sample code in a repo here:
https://github.com/MikesGlitch/azure-functions-dotnet5-http-context-accessor/blob/master/HttpContextAccessor/Function1.cs
I'm just accessing it as I would normally - it stopped working when I upgraded.
I don't really know what to do here, we use it in conjunction with MediatR pipeline behaviours so we need to be able to inject it somehow.

I would also welcome any info, if this is something that should be possible or something I need to start to refactor my code, to no longer depend on ´IHttpContextAccessor`.

i have work my problem out in a different way, but it would be easier if I could inject HttpRequestData into my other services,I can't find any documentation to be able to do it,and I have a null exception in my constructors.

This needs some discussion. Potentially can expose a way to access the functions context, including http request where applicable.

exposing the functions context would be one option, but it would also mean that my services are then hard coded to Azure functions, and would dilute them with services they don't need.
I can access ILogger without issue using dependency injection, it seems odd I can't access the http request class in a http request, when its clearly been accessable iin other applications like MVC.

Just found this issue while trying to convert my in-process Http trigger Functions app to isolated so I can add middleware.  It would be nice to .AddHttpContextAccessor() in ConfigureServices.

I need a way to a route parameter value from within a configured service.  I was using the IHttpContextAccessor.HttpContext however that is null in .net 6.  Is there an alternative?  I looked into the middleware approach, but I don't see how I can access the FunctionContext from within a service after the middleware runs.

one options is use a scoped service, set the parameter using middleware into the service, then you'll have it in the service, or use a context class in the same way.

Hot familiar with this approach can you point me on an example of a scope service using parameter set by middleware

in your program.cs file add a dependency
///
s.AddScoped<IMyService, MyService>();
///
then build your middleware
///
public class MyServiceMiddleware : IFunctionsWorkerMiddleware
{
public async Task Invoke(FunctionContext context, FunctionExecutionDelegate next)
{
HttpRequestData httpRequest = context.GetHttpRequestData();
        var myService= context.InstanceServices.GetService(typeof(IMyService)) as IMyService;
        var urlParam = httpRequest.Url.SomeExtensionTothePartRequired()

        myService.AddUrlPAram(urlParam)

        await next(context);

    }
}

///
then add the middle way to the program.cs
///
builder.UseMiddleware();
///
Sorry for the really bad example but hopefully you can figure it out from there

Thanks, got it.
.ConfigureFunctionsWorkerDefaults(worker =>
    {
        worker.UseMiddleware<FunctionContextMiddleware>();
    })

services.AddScoped<ParameterProvider>();

// Classes

public class FunctionContextMiddleware : IFunctionsWorkerMiddleware
{
    public FunctionContextMiddleware()
    {
    }

    public Task Invoke(FunctionContext context, FunctionExecutionDelegate next)
    {
        var provider = context.InstanceServices.GetService(typeof(ParameterProvider));
        if (provider is ParameterProvider parameterProvider)
        {
            var bindingData = context.BindingContext?.BindingData;
            if (bindingData == null)
            {
                return null;
            }

            parameterProvider.BindingData = bindingData;
        }

        return next(context);
    }
}

public class ParameterProvider
{
    public ParameterProvider()
    {
    }

    public IReadOnlyDictionary<string, object> BindingData { get; set; }

    public string GetParameterValue(string parameterName)
    {
        if (this.BindingData == null)
        {
            return null;
        }

        if (this.BindingData.TryGetValue(parameterName, out var parameterValue))
        {
            var urlParameterValue = parameterValue as string;
            return urlParameterValue;
        }

        return null;
    }
}

@EnenDaveyBoy
You can use the GetHttpRequestDataAsync extension method to get the HttpRequestData instance, from which you can access cookies and headers. This API is available from Version 1.8.0-preview1 onwards.
HttpRequestData requestData = await functionContext.GetHttpRequestDataAsync();

Please refer the  StampHttpHeaderMiddleware middleware in the sample app for usage of this API in a middleware.
Thanks for your patience. Please let us know if you have questions.

Interesting thanks for the information, I will look into it soon.
However when is this likely to come out of preview?

The package should be out of preview in the next few weeks. This gives us enough time to consider the feedback from users about the preview version.

Closing as answered.


RDK-32883 - Support for block user inputs

https://jenkins.code.rdkcentral.com/job/github-triggered/9716/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/33840/ started.

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/4522/ started

https://jenkins.cmf.code.rdkcentral.com/job/build-component-rdk-next-platform/9854/ started.

Smoke tests for ['build-brcm-refboard'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87128/

Smoke tests for ['build-rpi-hybrid-refapp2-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87129/

Smoke tests for ['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87130/

'['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next']' Smoke test FAILURE, investigation pending.
Flash MC [SUCCESS]
Flash HYB [SUCCESS]
MC - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video HLS rdkmediaplayer [SUCCESS]
Video Streaming using aamp-cli [SUCCESS]
Video local using gst-play-1.0 [SUCCESS]
Video Streaming using rmfApp [FAILURE]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
add key intercept test failed
add key listener test failed
Number of success test - 38
Number of failed test - 2
Video Streaming using rmfApp [SUCCESS]
HYB - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video HLS rdkmediaplayer [SUCCESS]
Video Streaming using aamp-cli [SUCCESS]
Video local using gst-play-1.0 [SUCCESS]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
add key intercept test failed
add key listener test failed
Number of success test - 38
Number of failed test - 2
https://jenkins.cmf.code.rdkcentral.com/job/test-rdkv-raspberrypi-flow/25987/

'['build-brcm-refboard']' Smoke test FAILURE, investigation pending.
Flash BCMREF [SUCCESS]
BCMREF - Video Test [FAILURE]
RefApp UI Home Screen Video Test [FAILURE]
RefApp Movie Session Mgr VoD Test [FAILURE]
RefApp Movie Firebolt MP Encrypted VoD Test [FAILURE]
RefApp Channel Change Video Tests [FAILURE]
RefApp Lightning Bouncing Ball App Launch and Exit Test [FAILURE]
Clear Video Streaming using aamp-cli [SUCCESS]
Encrypted Video Streaming using aamp-cli [SUCCESS]
https://jenkins.cmf.code.rdkcentral.com/job/test-bcmref-flow-manual/1845/

https://jenkins.code.rdkcentral.com/job/github-triggered/9761/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/34011/ started.

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/4567/ started

https://jenkins.cmf.code.rdkcentral.com/job/build-component-rdk-next-platform/9992/ started.

Smoke tests for ['build-brcm-refboard'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87388/

Smoke tests for ['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87390/

Smoke tests for ['build-rpi-hybrid-refapp2-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87389/

https://jenkins.cmf.code.rdkcentral.com/job/github-triggered/4569/ started

https://jenkins.cmf.code.rdkcentral.com/job/build-component-rdk-next-platform/9996/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/9763/ started

https://jenkins.code.rdkcentral.com/job/build-component-rdk-next/34015/ started.

'['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next']' Smoke test FAILURE, investigation pending.
Flash MC [SUCCESS]
Flash HYB [SUCCESS]
MC - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video HLS rdkmediaplayer [SUCCESS]
Video Streaming using aamp-cli [FAILURE]
Video local using gst-play-1.0 [SUCCESS]
Video Streaming using rmfApp [FAILURE]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
add key intercept test failed
add key listener test failed
Number of success test - 38
Number of failed test - 2
Video Streaming using aamp-cli [SUCCESS]
Video Streaming using rmfApp [SUCCESS]
HYB - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video HLS rdkmediaplayer [SUCCESS]
Video Streaming using aamp-cli [FAILURE]
Video local using gst-play-1.0 [SUCCESS]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
add key intercept test failed
add key listener test failed
Number of success test - 38
Number of failed test - 2
Video Streaming using aamp-cli [SUCCESS]
https://jenkins.cmf.code.rdkcentral.com/job/test-rdkv-raspberrypi-flow/26065/

Smoke tests for ['build-brcm-refboard'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87391/

Smoke tests for ['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87394/

Smoke tests for ['build-rpi-hybrid-refapp2-rdk-next'] added.
https://jenkins.cmf.code.rdkcentral.com/job/test-components-flow/87393/

'['build-rpi-hybrid-wpe-rdk-next'/'build-rpi-mc-wpe-rdk-next']' Smoke test FAILURE, investigation pending.
Flash MC [SUCCESS]
Flash HYB [SUCCESS]
MC - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video HLS rdkmediaplayer [SUCCESS]
Video Streaming using aamp-cli [SUCCESS]
Video local using gst-play-1.0 [SUCCESS]
Video Streaming using rmfApp [SUCCESS]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
add key intercept test failed
add key listener test failed
Number of success test - 38
Number of failed test - 2
HYB - Video Test [FAILURE]
Video HLS gst-launch [SUCCESS]
Video HLS rdkmediaplayer [SUCCESS]
Video Streaming using aamp-cli [SUCCESS]
Video local using gst-play-1.0 [SUCCESS]
RDKShell CI Tests [FAILURE]
checking thunder security
Thunder security is disabled
add key intercept test failed
add key listener test failed
Number of success test - 38
Number of failed test - 2
https://jenkins.cmf.code.rdkcentral.com/job/test-rdkv-raspberrypi-flow/26072/


anonymous authentication in combination with LDAP

Environment

OS: Debian 9
Erlang/OTP: 29/9.0
EMQ: 2.3.6

Description
When I enable the LDAP plugin, anonymous access is no longer permitted, even though mqtt.allow_anonymous = true is set in emq.conf.
I would like to use the ACL to attain the following situation: Anonymous users will have only basic permissions (mainly subscribing). If users make a succesful LDAP authentication, they gain more rights (publishing).
Is it possible to configure emqtt like this?

@victorclaessen emqttd 3.0 will support LDAP ACL.

That is great news, but I'm not sure that that is the solution.
In the meantime I have been playing with the MySQL plugin, that already has auth and acl functions. But when I enable the MySQL plugin, the same problem occurs, i.e. anonymous connection is no longer possible.
I was thinking to rewrite the MySQL statements so that a blank username would also pass the authentication test, but I found out that emqttd doesn't even execute the query when no username is supplied by the client, so that didn't work.

Perhaps I don't really see the rationale behind the mqtt.allow_anonymous configuration item. Because apparently that doesn't mean anything anymore whenever any authentication plugin is enabled, is that right?

@victorclaessen Hi, I think you are right. mqtt.allow_anonymous need to allow empty username login or we should simply delete this configuration.

Hi @terry-xiaoyu,
The first option (to allow empty username login when mqtt.allow_anonymous = true) has my distinct preference 😄 .

@terry-xiaoyu Have you guys given this some more thought?

@terry-xiaoyu this is also a requirement for my project, is this something that can be done ?  Either now or in the future ?

Hi, @michael-c-jones , this feature has been implemented in emqx enterprise edition., if you want to integrate this in your project, please contact with @zhengyupan for further information.

Hi, @zhengyupan. I am also (still) interested in this feature. Can you tell us how to integrate this?

The ldap auth plugin has been implemented in emqx3.0.0 release, however, we have no schedule to implement the feature that do acl check for anonymous user in open source edition of emqx. Sorry, @victorclaessen .


Decide on if we just accept an object with text and images from extensions or allow to have full-scale widgets

Is it strong enough to send out widgets or is it only able to push out text string notifications
Another option is to accept a MIME bundle, which is a Jupyter primitive

with new iteration include images with toast notification example


SwaggerUI not start on default .NET Core 3.1 ASP.NET project

I'm using NSwag v13.9.4 on a .NET Core v3.1 ASP.NET project.
I've followed your sample available here.
Every time I launch the application, I get the following error:

I've already checked my settings in:

launchSettings.json
appSettings.json
Startup.cs
Program.cs
Controllers configuration

This is my Startup.cs:
public void ConfigureServices(IServiceCollection services)
{
    // Add MediatR
    services.AddMediatR(typeof(CakeCreateModel).GetTypeInfo().Assembly);

    // Add DbContext
    services.AddDbContext<BakeryDbContext>(options =>
    {
        if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
        {
            options.UseSqlServer(Configuration.GetConnectionString("BakeryDbContext"),
                opt => opt.MigrationsAssembly(typeof(BakeryDbContext).Assembly.GetName().Name)
                    .EnableRetryOnFailure(
                        maxRetryCount: 5,
                        maxRetryDelay: TimeSpan.FromSeconds(30),
                        errorNumbersToAdd: null)
            );
        }
        else
        {
            throw new Exception("Sorry! There's no alternatives for database at the moment...");
        }
    });

    services.AddControllers();

    // Add OpenAPI/Swagger document generator middleware
    services.AddOpenApiDocument();

    // Add AutoMapper
    services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
}

// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseHttpsRedirection();

    // Add OpenAPI/Swagger middlewares
    app.UseOpenApi();
    app.UseSwaggerUi3();

    app.UseRouting();

    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapControllers();
    });
}

I'm not able to figure out where can be the problem...

This is not an issue with NSwag, but an issue with ASP.net core, because the server didn't reply.
Did you check your antivirus/your firewall to see if the port was not blocked?
Did you check with a blank ASP.net core project ?

Did you check your antivirus/your firewall to see if the port was not blocked?

In Windows Firewall I've added a rule for TCP 5000-5001 ports, but no changes.
Antivirus software is disabled.

Did you check with a blank ASP.net core project ?

Yes, and I get the same behaviour.

Did you accept the dev certificate? did you try another port?
Anyway, this is more a question for stackoverflow than this site.

Just click on "Detaggli" and show us whats displayed there. The current screenshot shows the default error page without the details, anchient Internet Explorer named this Feature "friendly error messages".

@ViRuSTriNiTy

Just click on "Detaggli" and show us whats displayed there. The current screenshot shows the default error page without the details. Anchient Internet Explorer named this Feature "friendly error messages".

"Dettagli" only shows generic (useless) stuff, like: check your cable, check your internet connection, check proxy settings... the cable is in, the internet connection works and I've no proxy. 👍
It's not IE, it's the new Edge, derived from Chromium project.
@jeremyVignelles

Did you accept the dev certificate? did you try another port?

Yes, I've accpted the first time I run the application, in the question message box pop-up.
I' tried to change the port in launchSettings.json, but nothing happened and/or changed.

"Dettagli" only shows generic (useless) stuff,

My bad, I thought this word stands for details ^^

"Dettagli" only shows generic (useless) stuff,

My bad, I thought this word stands for details ^^

It actually means "Details", but unfortunately there's no useful details inside...
Any other idea about why HTTP is working and HTTPS is not?

No, this is not the right place to ask. Please go on stackoverflow or another generic asp.net core help forum and close this issue.


hope add more embedding models

I hope to add more embedding models, such as "bge-large-zh-v1.5"、”bce-embedding-base“、"gte-large"

bge-large-zh-v1.5 has been added by the community: dztech/bge-large-zh, as well as gte-large: milkey/gte.
bce-embedding-base cannot be added yet since llama.cpp doesn't support the xlm-roberta architecture.

bge-large-zh-v1.5 has been added by the community: dztech/bge-large-zh, as well as gte-large: milkey/gte.
bce-embedding-base cannot be added yet since llama.cpp doesn't support the xlm-roberta architecture.

after executing
ollama pull dztech/bge-large-zh:v1.5

I got error:
pulling manifest
Error: pull model manifest: Get "https://ollama.com/token?nonce=RpAJ5MYmZq2JN_s6hT6riA&scope=repository%!A(MISSING)dztech%!F(MISSING)bge-large-zh%!A(MISSING)pull&service=ollama.com&ts=1714456747": read tcp <IP_ADDRESS>:45624-><IP_ADDRESS>:443: read: connection reset by peer

So how to use bge-large-zh?

@AprilCat seems like a connection issue, might be the same issue as https://github.com/ollama/ollama/issues/4042 or any other networking issue. Check for issues labelled networking or create your own bug issue.


fix: Quotes in node spawn arguments make the runtime fail

Description
root cause
The system shell will strip off quotes around parameters, so the program gets the unquoted value at the end. Spawning a process bypasses this step as it bypasses the shell, so the program gets those literal quotes as part of the parameter and doesn't know how to handle them appropriately.
fix
use { shell: true }. This will pass the spawn request through the shell

Task Item
fixes #8205

Screenshots

Coverage remained the same at 54.733% when pulling 4b98eca3cc1c05bdbcf1b190e7fa32a3bf25f9a3 on fixquote into 14d60fe089ede7530ebf2d8b75df582dda8a1880 on main.

Great explanation @lei9444.

Solid debugging @lei9444!


[DV/pwrmgr] Renamed pwrmgr_all_reset_reqs_test to pwrmgr_wdog_reset_reqs_test

Renamed to avoid confusion as following up a comment in https://github.com/lowRISC/opentitan/pull/12617.
Other comments will be handled in another PR.
Signed-off-by: Joshua Park<EMAIL_ADDRESS>

thanks for renaming @jeoongp

@jeoongp it looks like the quick lint is failing your PR right now.
You just need to run clang-format on the C files you updated.

@jeoongp it looks like the quick lint is failing your PR right now. You just need to run clang-format on the C files you updated.

Yes, it's just updated. Thanks


Support whitelist for url paths

For example : route login no need an Authorization bearer

Hi @mickaelvalmier thanks for this PR!
Can't you can just not use jwt-auth wrapper in the micro handler that maps to the login route?
If not can  you please provide an example of your use case?
Thanks

Hi,
In fact, i have a single entry point for all requests provided and a lot of middlewares like that :
require('dotenv').config()
const fs = require('fs')
const { send } = require('micro')
const microCors = require('micro-cors')
const microJwtAuth = require('micro-jwt-auth')
const match = require('fs-router')(__dirname + '/routes')

const corsMiddleware = microCors({
  allowMethods: [ 'POST', 'GET', 'PUT', 'DELETE' ],
  allowHeaders: [ 'Content-Type', 'Authorization', 'Accept', 'X-Requested-With' ],
  maxAge: 86400,
  origin: '*'
})

const jwtAuthMiddleWare = microJwtAuth(fs.readFileSync(process.env.JWT_PUBLIC_KEY_PATH), ['/signin'])

const applyMiddlewares = (...middlewares) => middlewares.reduce((f, g) => (...args) => f(g(...args)))

const handleRequest = async (req, res) => {
  await sleep(800)
  const matched = match(req)
  if (matched) return await matched(req, res)
  send(res, 404, { error: 'Not found' })
}

module.exports = applyMiddlewares(
  corsMiddleware,
  jwtAuthMiddleWare
)(handleRequest)

So in need to bypass authentication middleware if user send a signin request.
With redux / rxjs, you have the same system if you check / observe the name of the current action.

Thanks, the packages has been already updated on NPM

@mickaelvalmier
If you happen to have this kind of problem in other micro middlewares, consider using this approach to conditionally load a middleware https://github.com/KaleoSoftware/micro-hoofs/blob/master/index.js

Currently only exact paths can be whitelisted (e.g "/login"). I'm currently in the situation where I'm using the micro-router package and have some dynamic paths I would like to whitelist:
/resource/:resouce_id
@mickaelvalmier @kandros what would be a goog way to handle this? I could expend the whitelisting capabilities and send a PR.

@boedy I’m not sure if this should be handled here or by the user, as you can already wrap your resource routes without passing a whitelist.
But feel free to propose something.


rs.initiate() must be triggered manually on all mongo pods of the set

In essence the stateful set is failling to configure.

@meshfields how did you resolved this issue?

I stopped using Sidecars alltogether. None of them worked for us.
Am 6. Mai 2019 um 08:26:26, Irtiza Ali<EMAIL_ADDRESS>schrieb:
@meshfields how did you resolved this issue?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@meshfields then how are you creating MongoDB statefulsets in k8s?

Sorry to not be of help here but we offshored all DataBase into the Propietery Cloud due to the parameters of the project. I know its bad.
Am 6. Mai 2019 um 12:09:17, Irtiza Ali<EMAIL_ADDRESS>schrieb:
@meshfields then how are you creating MongoDB statefulsets in k8s?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@meshfields thank you.

@meshfields this issue will not raise if you use mongodb helm chart


Add option to support updating the package-lock.json file

fixes #20

Wow!  Thank you for such a high-quality pull request!  You added a new feature in a non-breaking way, included tests, and even updated the changelog.  I wish every PR was this good.  👍


Use all available threads for analysis

Changes getThreadsFlag to default to using all available cores instead of just 1. This makes the behaviour match getMemoryFlag which uses all available memory.
I've tried testing this by analyzing git, as an example of a medium-sized repository. These are the times for the "Perform CodeQL Analysis" step, so it excludes stuff like downloading and unpacking the action. I tried on a github.com cloud worker which have 2 cores and 7GB memory, and with a self-hosted runner with 8 cores and 64GB memory.

main branch, cloud worker = 8m 16s
main branch, self hosted worker = 6m 57s
max_threads branch, cloud worker = 8m 45s (I hope this slight increase is just a fluke)
max_threads branch, self hosted worker = 2m 24s

It's worth noting this PR is still only applying the number of threads to analysis. The other place we might get reasonable improvements is to extraction of scanned languages (i.e. javascript / python / go). I think we can do that separately though and get the various language teams involved to make sure we're doing the right thing.
Merge / deployment checklist

[x] Confirm this change is backwards compatible with existing workflows.
[x] Confirm the readme has been updated if necessary.

LGTM


Data Sharing: Data sharing consent screen

Acceptance criteria

[ ] SSO container will check if DSRO exists and if so, show NEXT button (instead of ACCEPT) and navigate to the Data Sharing Consent Screen
[ ] Created data sharing consent new screen logic implemented (accept and cancel)

next sprint 1
current: 2


.devcontainer

Add a devcontainer config with pre-installed tools:

docker
docker-compose
kubectl
helm
minikube
kind
score-compose
score-helm

This will avoid the manual installation of:

score-compose
score-helm

Also, add the IDE linter for Score's JSON schema: https://docs.score.dev/docs/score-specification/ide-linter-autocomplete/
When opening this repo locally with VS Code, users will have this popup in order to get the benefice of this devcontainer:

Same approach with GitHub Codespace.

Ready for review, thanks!


Add a machine type label to GCE SD

I want to know the machine type of the instance.
@brian-brazil @fabxc
Would you please review this PR ?

Thanks!


Add seed kwarg to the tutorial scatter dataset

Allow controlling the randomness of the dataset. It's difficult to catch issues with the dataset if it always changes each run.

Wasn't this dataset that was the root cause for my issues, was a rogue set() that changed orders...
I see now that the values that are randomized are converted to strings anyway so it doesn't matter if it's random or not.
We can merge this anyway the mypy issues was real and using the default_rng follows numpys recommendations better.

Thanks for the reviews! Merging now.