Variant value?

What value should I enter the variant?
I tried COMP-CONTROLLINO but it doesn't work

Yes this doesn't work just yet. It's a work in progress

Hi. Is there a variant variable known now?

would be great when this works now, because of the crappy service fee of contollino :-X

I am afraid this is a dead end too :( no response in months. Perhaps it's due to a lack of agreement between nebra and controllino? I don't know...

Just FYI this repo is not really monitored.
But in any case, we haven't been able to get this working yet. As you can see here:
https://github.com/NebraLtd/hm-pyhelper/issues/127

Thanks. Even that one is stuck since July :(
Do you guys need any help with testing or anything else to get it working? There are few of us controllino users who can assist in any way we can.

@uros76 yes unfortunately we haven't had the time to dedicate to another manufacturers software.
The main issue is that they use a concentrator with a power enable, which we don't currently support in our software. And we haven't actually figured out how the enable works yet.
We were hoping to get some info on this directly from controllino but didn't hear back.

Ah ok I understand @shawaj. Controllino was dissolved recently and the new iteration of a maker company is doing crazy stuff like making users wait months for support. Or the new crazy thing they decided to charge for support from next year.
You can forget about them coming back to you with any technical development or clarification. In fact they would probably want to charge you for any information. It's that bad.
That's why controllino users community is trying to find a solution to untether from this maker and their crazy ideas completely.
I am not a tech expert sadly to help on the concentrator side. The power enable is an unique feature of Embit concentrator?
Did you have a look at these docs?
http://www.embit.eu/wp-content/uploads/Datasheet-EMB-LR1301-mPCIe_.pdf
http://www.embit.eu/wp-content/uploads/Datasheet-EMB-RasPI-130x-Cape.pdf

@uros76 Who is the new company that took over controllino?
The datasheets are helpful thanks. They show the power enable pin and the i2c bus :-)
I think the other issue as well was that they put the ECC chip on the concentrator itself. But not sure if that will be a blocker.
I'll have to find my controllino hotspot now to check it out 😂
I can't give any idea of how long this will take though as it requires building in new functionality that we don't currently have

PDFs for future reference
Datasheet-EMB-LR1301-mPCIe_.pdf
Datasheet-EMB-RasPI-130x-Cape.pdf

Controllino was not sold but kind of changed name with the same owner. New name is Conelcon. Good luck getting anything useful from them. Many of us have escalated issues with Helium already...
Some users reported that they could swap rpi board and the hotspot resumed working. Not sure if that changes anything but yeah chip seems to be on the concentrator.
Pls dig out that old controllino of yours and play around. If you need ant tips or help or some guinea pig for testing send me a DM ;)

Of course, I have two of them. Shoot me DM and I will set up remote access for you as needed.

One more thing @shawaj I created an unofficial controllino community discord server back in September where I shared tons of findings and our knowledge. Check it out perhaps something useful for your discovery
https://discord.io/controllino

Can you flash the image shown here to the SD card?
https://hub.balena.io/nebraltd/helium-controllino
Click get started, then choose pi 4 as the device type

That link takes me to generic page.
You mean this one? https://hub.balena.io/organizations/nebraltd/fleets/HELIUM-CONTROLLINO

Yes sorry that's the correct link

Downloading slowly don't know why. Once I load it will report back

Awesome thanks @uros76 then I'll have a poke around 🙂

I tried downloading the image twice and it fails on transfer. Now trying the flashing straight from the browser and etcher app. Let's see if it finally works

If not try downloading from here, I just downloaded and uploaded to Google drive.
This one will only work on ethernet though...
https://drive.google.com/file/d/1fpkCHyoVbMrWjaXeyA6HbCFUHwAmtaFE/view?usp=drivesdk

The file from gdrive worked. I just flashed on an sd card and plugged it into my controllino.
Do you see it online?

I do see a new dot on the fleet map, it must be working then :)
Let me know what you find out.

Thanks! I'll try and take a look tomorrow 🙂

@shawaj any progress? 😊

@uros76 I didn't have any time to take a look yet, but I'm home alone tonight so planning to take a look in a bit. Will let you know if I make any progress :-)

@uros76 good news - i have the concentrator on your unit working. it requires us to turn on the power using the power enable chip
we are going to have to add some new logic to the pyhelper module or somewhere else in order to automatically handle this based on the variant.
this may take a bit of time but will see if we can push it ahead :-)

@kashifpk @KevinWassermann94 - do you have any thoughts on where this logic should go?
it is a power enable chip to turn on the power to the HAT on the controllino unit. I am thinking maybe in hm-pyhelper?
Pull in the pin number for a power enable param in hardware definition (false if not there, number of pin if there?) and then make output and set to 1?
What do you think?

Yes will keep you updated. Thanks for agreeing to be the guinea pig here 👌😋

@uros76 I think units should work for controllino now on this software. Will monitor your one to check but it looks like it's working to me.
It would be useful if you know anyone else with controllino units who could flash this software so we have some more to test with.

@MzTechnology97 @c0r391 this should be working now just FYI
You can install by going to https://hub.balena.io/organizations/nebraltd/fleets/HELIUM-CONTROLLINO and clicking on "Get Started"

@shawaj AMAZING it does work. It just had activity. Let me spread the message amongst controllino community and find more testers.
Can we fork as a private fleet and use balena dashboard? Or we need to wait for that option a bit more?

Hi
Have the firmware installed thanks to Uros76.
On the dashboard about the Ip of the Controllino I see Animal Name Unavaible and Errors Found is this normal? or do I have to do something else after downloading the firmware?
Radio Operation is Flase and ECC Detected also Flase

Where are you looking at those errors? On balena dashboard?

No Ip-Adress from Miner

Ah no need to looks at that. I have not even opened my hotspots IP,  will probably see same. As long as it's working I don't care about local IP dashboard. I do care about balena dashboard if it will work 😃

Can we fork as a private fleet and use balena dashboard? Or we need to wait a bit longer for that option?

@uros76 yes you can fork the fleet and run your own Balena fleet and use the dashboard but you will lose the automatic updates (or have to set them up yourself using GitHub actions or whatever)
@gery800 can you share the model number shown on your hotspot and a few pictures? Also have you already onboarded this hotspot and asserted location or not?

The hotspot was online with the Controllino firmware and earned HNT.
Location is set.

The hotspot was online with the Controllino firmware and earned HNT. Location is set.

@gery800 Can you share pictures of the unit? And the model number?
I am taking a look at it now from the backend. I think it's possibly got corrupted while downloading the image as the miner container seems to be crashing out. Leave it powered on as I'm trying a couple of things

Thanks again @shawaj I tried to download the base firmware again today and it kept failing during the download process. Perhaps that's issue @gery800 is having.
One more thing regarding forking. Do I need to set some controllino specific variable value on my fleet?

Never mind, found it on hardware_definitions.py
Should be "COMP-CONTROLLINO"

You will need to set:
In device variables:
VARIANT    COMP-CONTROLLINO
In device configuration:
Define DT parameters for the default overlay. Set to "i2c_arm=on","spi=on","audio=on"
Define DT overlays. Set to "spi0-1cs","gpio-poweroff,gpiopin=17,active_low"

Okey, thanks. Will give it a go now.
I am downloading forked firmware and it's still alarmingly slow. I don't know is it my computer hating balena source these days...

@gery800 can you also share the animal name of your unit?
There appears to be an issue with the ECC key failing some tests. It's probably just that it's configured slightly differently to how we do ours but will need to dig a little deeper.

The hotspot was online with the Controllino firmware and earned HNT. Location is set.

@gery800 Can you share pictures of the unit? And the model number?
I am taking a look at it now from the backend. I think it's possibly got corrupted while downloading the image as the miner container seems to be crashing out. Leave it powered on as I'm trying a couple of things

Ethernet Mac DC:A6:32:EF:ED:A6
Hardware Serial Number:<PHONE_NUMBER>cb57b5

The firmware download keeps failing for me regardless of the device I am downloading with. That's for base firmware and my forked fleet image :(

Any idea why this is happening?

Update on downloading problems: I connected with VPN to different country with one of my devices and now it worked fine.
There must be something blocking balena traffic to Poland where I live

Something doesnt seem to be working on forked fleet hotspot:

I did setup variable and device configurations:

@shawaj any idea what could be wrong?

Looks to me like it's running older containers might need an update

@uros76 just pushed an update. Try pushing the updated docker-compose https://github.com/NebraLtd/helium-controllino/blob/master/docker-compose.yml

I tried going back to the base firmware, not forked version. And now I get similar errors like gery above

I will retry my forked version and push the update.

I reloaded my forked firmware, updated it, and still something seems to be missing or wrong:

Device variable and configuration are set as instructed above...

@uros76 yes I think gpio-poweroff isn't working quite as expected. It seems the power enable isn't working right.
I'm investigating further

@uros76 try with the dtoverlay bit changed to:
"spi0-1cs","gpio-shutdown,gpio_pin=17,active_low=1,gpio_pull=up"
This seems to work for me

@gery800 yours is working now too it looks like. Will keep an eye on it until it witnesses and beacons

That seems to do the the trick. Hotspot dashboard has no errors now and balena dashboard log looks cleaner now. Will keep monitoring the activity.

@uros76 great stuff! Fingers crossed 🤞

thanks Dashboard no longer shows any errors I will of course monitor and give feedback to the miner great work

@gery800 great. Just need it to beacon and witness now 👌

New URL is https://nebra.io/controllino FYI

My hotspot witnessed and beaconed. I consider this a big win, miner works fine with forked firmware.
Massive kudos and thanks @shawaj for helping out controllino community break free from dirty makers practices.

No problem and glad it's working 😊
I'm going to leave this issue open for now as I want to add some more documentation etc to this repo and this can serve as a reminder.
We hope to apply for a Helium Foundation grant when they open again to develop and maintain a fully open source firmware that supports all existing and future miners so that people always have choice.

Looks like yours has beaconed and witnessed too @gery800 so all seems to be working well 👌

By the way, if anyone has found this useful please consider donating some funds at https://github.com/sponsors/NebraLtd
This will help us to dedicate resources to maintaining the 3rd party helium firmwares going forward

@shawaj welcome.
I have spread the news amongst controllino community on how to use nebra firmware. I believe more and more users will get on it in the following weeks

Hello,
unfortunately it doesn't work for me from my fleet. I double checked everything. It always says: "packet-forwarder KeyError: 'COMP-CONTROLLINO'"
And I can't access the dashboard over my internal network. I tried going back to the base firmware and that works with no problems. What else can I try?

@garfield1981 my guess would be that you are using an old release. As that error means the hm-pyhelper module is missing the controllino definition. Only an older release would be missing that.

@shawaj
Thanks for your answer. Sorry I'm not a pro.
I followed Uros76 instructions exactly which he published in the Controllino Discord.
Where can I see the version?
My Controllino V1 is from the end of May 22, so it is a very late V1. is that maybe a problem?

@garfield1981 I haven't seen the instructions I'm afraid so can't comment on them.
But is there a reason you need to use your own Balena fleet? If you aren't very technical then I would suggest to just use the standard install by going to https://nebra.io/controllino and clicking on Get Started.
The instructions are the same as this guide for RAK, just substituting the rak link for the controllino one https://support.nebra.com/support/solutions/articles/24000078640-getting-started-with-rak-mntd

@shawaj  I'm always very interested in testing and trying out new things.
Yes, the standard install by going to https://nebra.io/controllino also worked immediately. I've installed it again and will leave it that way for now.
The most important thing for me is not to be dependent on Controllino anymore.
Thank you for your time and have a nice evening.

@garfield1981 the Balena fleet of your own will work, but it won't auto update. You will have to push the new release every time there is an update.
So unless you want to do the manual updates and you have a specific need for having your own fleet then I'd say to just use the standard fleet we provide.
But of course, it's up to you 😉

Hello, @uros76  I followed your instructions exactly. That doesn't work for me. I tried it 5 times.
I started from scratch and flashed the SD card again.
The image from https://hub.balena.io/organizations/nebraltd/fleets/HELIUM-CONTROLLINO works for me immediately.

I don't know what else could be wrong. Those are the steps I did and it worked. Are you still getting "packet-forwarder KeyError: 'COMP-CONTROLLINO'" issue?

Another idea. @shawaj. If someone with a private fleet enables the "Support access" do you have access to that device than and can look at it?
I just worry that it might not be isolated case and more like above issue could pop up.

@uros76 no that would be Balena support not Nebra

Ah ok, never mind then. Let's see if more users support same issue

I'm thinking it was due to me updating this repo (splitting it into testnet and master branches). That was around the same time.
Possibly just deleting the fleet and starting again might solve it.
Also @uros76 just to check you are aware that this will require you to manually update every time we push an update?

Yes fully aware, thanks. I am using nebra rak/mntd firmware on my private fleet for months now.

Yes fully aware, thanks. I am using nebra rak/mntd firmware on my private fleet for months now.

Awesome. Glad it's been of use to you 😊

FYI to anyone who needs it:
https://support.nebra.com/support/solutions/articles/24000078655

@uros76 I found a way to auto-populate all the configuration variables.

If you go to https://hub.balena.io/organizations/nebraltd/fleets/HELIUM-CONTROLLINO and click on fork fleet, when you create the fleet it should automatically populate all the environment variables and config variables for you.
Let me know if it works!

@uros76 I found a way to auto-populate all the configuration variables.

If you go to https://hub.balena.io/organizations/nebraltd/fleets/HELIUM-CONTROLLINO and click on fork fleet, when you create the fleet it should automatically populate all the environment variables and config variables for you.
Let me know if it works!

Seems to be working. Good job!
Is "HELIUM_MINER_HEIGHT_URL" also needed?

Great thanks @uros76 😊🙏
The Helium miner height URL isn't really needed anymore but we put it in in any case on our main fleets so included in here as well.

Just FYI, I've found an alternative (and better) way to the gpio-shutdown dtoverlay mentioned in this comment - https://github.com/NebraLtd/helium-controllino/issues/1#issuecomment-1350774547

Still on configuration section, activate "Define DT overlays" and edit this text including quotation signs "spi0-1cs","gpio-shutdown,gpio_pin=17,active_low=1,gpio_pull=up"

The better way is to set:

"Define DT overlays" and edit this text including quotation signs "spi0-1cs"
"Allows GPIO pins to be set to specific modes and values at boot time" and edit this text including quotation signs "17=op,dh"

Whilst unlikely, the way using the gpio-shutdown overlay could potentially have unintended consequences (shutdowns) if there is some issue with power supply or something that causes pin 17 to be pulled low externally. With the updated method, this is not a risk.

well...
who can help? :)

well... who can help? :)

Are you getting any error messages when you push the image?
Or on the dashboard there?

honestly I don't know how to push this image. I have already deployed a device but there seems to be no helium related SW on it. Also there is no dashboard. Appartently its because of the error.

Please follow the instructions here https://nebra.io/controllino

Sorry that was the wrong link. This is the correct one https://support.nebra.com/support/solutions/articles/24000078655

Thank you!
On the unofficial helium discord there is a pinned message with a tutorial which says:
"- Visit https://nebra.io/controllino and click on "Fork this fleet""
Which is what I did.
I will now repeat following your instructions.

Fork this fleet is not what you want to do unless you are fairly technical with experience of docker containers etc.
For auto updates etc you want https://support.nebra.com/support/solutions/articles/24000078655
Maybe you can ask them to update?

I did :) thanks for your help!
waiting for the device now :) it seems busy

I did :) thanks for your help! waiting for the device now :) it seems busy

No problem at all. The fork fleet is quite manual and requires you to do your own updates etc

any new Updates for the Controllino Miners with Nebra Software?
@shawaj

What update do you need?

i was only looking what is the latest update for nebra Miners.. and latest was on the 28.Oct 2023.
until now no updates.. befor we got more updates in the months

@acaltas there hasn't been any helium network updates since then


Student Home View Bug

ITS-Pro time category: MA-34
This is complete when:

[x] Students do not see the gray box on the home view, which may be an infinite height

Resolved on the back-end and reinforced on the mobile app client in #964


Update to 6.x

@conda-forge-admin please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin please rerender

@conda-forge-admin please rerender

@conda-forge-admin please rerender

@conda-forge-admin please rerender

@conda-forge-admin please rerender

@conda-forge-admin please rerender

@conda-forge-admin please rerender

hi @conda-forge/qt-main what do you think ?

Hey @jschueller, thanks for continuing your work here. You need to start from the current scripts and meta.yml and document in your git history why you need to add/remove certain things to get Qt6 compiled. That will help us to review your work and also future maintainers to clearly understand how the recipes work.
For an example of that kind of work, please take a look at this PR: https://github.com/conda-forge/qt-feedstock/pull/206.

Well, I pretty much restarted from scratch given that the build system is completely different.

There are many patches that are necessary to make Qt work with conda environments and also for cross-compilation. So, I'm sorry but we can justify that you simply throw them away because the Qt6 system is a different one.
If you want to pursue this, please open a new PR and follow the guidelines I provided above. If not, we'll try to take a look at this probably in Q2 of this year or the next one.

Hi @jschueller @ccordoba12,
First of all many thanks @jschueller for your effort in getting qt6 built here, this is great!
I think the comparison of the bump from 5.12 to 5.15 to that here from 5 to 6 is not quite the same, is it? The build system indeed has changed completely, so as far as I can tell the build.sh needs a complete rewrite indeed. On the other hand, I agree that some patches that are currently removed in this PR should remain/be adapted (others are obsolete as they specifically target the old build system), and that changes in the meta.yaml should be minimized (and where needed documented).
I am sure a few people would be interested in getting Qt6 here sooner rather than later (myself included). What if the points above are addressed (potentially in a community effort), would that suffice to get the PR reviewed/merged?

What if the points above are addressed (potentially in a community effort), would that suffice to get the PR reviewed/merged?

Sure, that's enough for me. As I said, the changes in build scripts and specially patches need to be well documented to move forward.

I'd be happy to re-add relevant patches @jschueller - are you okay if I modify your fork (I think I have write access as I'm a maintainer of the qt-feedstock)?
@jschueller - as a first step, I suggest to minimize the changes in the meta.yaml and  leave some comments why things were added/removed. Are you happy to do that?

@jschueller That's an amazing piece of work you've done here!! 😮 Any chances for us bystanders to see this cross the finish line anytime soon? Is there any way we could help? Thank you so much! 🙏

Hello, I just wanted to ask if there are currently any plans to revive this PR? :)

This is another friendly ping – are there any news here? Is there any way in which the community can help – e.g., by starting a fundraiser?

I am sure a few people would be interested in getting Qt6 here sooner rather than later (myself included). What if the points above are addressed (potentially in a community effort), would that suffice to get the PR reviewed/merged?

I created a branch on this repo called qt6 so that the community can collaborate on this. I think the first step is to take @jschueller's excellent work, update it and make a PR against it.
All patches need to be reviewed to see if they still apply, can be removed, or need to be kept for conda-forge. Also, tests need to be restored (this PR removed all of them).

This is another friendly ping – are there any news here? Is there any way in which the community can help – e.g., by starting a fundraiser?

Updating Qt/PyQt to 5.15 was a huge deal of work, so at least on the Spyder team we won't be looking at Qt6 for at least a year, perhaps more. And I don't know who else will be willing to do this as a paid effort, sorry.

Sure, that's a good idea too. Then the PR made out of that branch should go against the qt6 branch I created, because I think we'll have to maintain Qt 5 and 6 for a couple of years.

goto #44


Create a cloud flow to create a placeholder meeting

This is to create a placeholder meeting within a shared calendar when someone reschedules a meeting to different date.
Input:
CalendarName
Date
start time
End time
Notes(optional)
Participants
Subject
Output
Success or Failed status
If failed, cloud flow should send an email to Dev team.

I have created the cloud flow, but I haven't integrated it into the app.
The inputs are:

Calendar Name
Meeting Type
Event Payload (see this doc for the schema)
Additional Notes

A couple of things to mention about this flow:

It will add the reviewers as optional attendees, always. It won't require their reponsa back and the placeholder email will be sent as Low Priority
If it fails, it will send to the App an error response. It will also send an email to us letting us know it failed.
The placeholder subject and body contents are in the cloud itself.


Remove IE < 11 support on April 11, 2017

:tada: :tada:
Microsoft will drop support for any Internet Explorer < Version 11 (IE9 & IE10).
We should remove those instantly.

Only on the latest OS:

The company continues to support IE9 on Vista (and Windows Server 2008), and will do so until support for Windows Vista ends on April 11, 2017

Oh noooo :sweat_smile: well so I'll switch that. 2017 is coming

@ianobermiller What about this? https://www.microsoft.com/en-us/WindowsForBusiness/End-of-IE-support

As in the earlier comment, IE9 is still supported for Vista users: https://support.microsoft.com/en-us/lifecycle#gp/Microsoft-Internet-Explorer. That being said, usage has dropped below 1%, and will stop being supported by major websites soon. Can you quantify the burden or amount of code that is just for IE9 and IE10?

@ianobermiller the entire plugins folder is about 5kb, not sure how much of that is strictly for old IE.
For what it's worth, we officially dropped IE9 at Khan Academy a couple of days ago. It sounds like IE10 support will stick around in the industry for quite a while, though... :P

Version 3.0.0 will drop IE < 11 for bundle size reasons. We will have a new way to configure custom prefixer instances without cloning the repository.


Message template should be compile time constant

There are some issues with the logging if you are trying to keep things to standard.  They are showing up as warnings in Rider currently.
The following logging method has two issues

Message template should be compile time constant

Log event messages should be fragments, not sentences
_logger.LogInformation($"{nameof(TimerHostedService)} is running.");

May I suggest that all logging in this sample should be fixed. Removing the period at the end of the sentence as well as removing the string interpolation of the message. As shown below
  _logger.LogInformation("{TimerHostedService} is running", nameof(TimerHostedService));

I am willing to put in a pull request if you like I just need to find out where the source for the doc is.

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

ID: 8b247969-9dc8-e710-ca64-745596cc3082
Version Independent ID: 483cf588-2b7b-73cd-f9f9-a231a9c8dd7f
Content: Implement the IHostedService interface
Content Source: docs/core/extensions/timer-service.md
Product: dotnet-fundamentals
GitHub Login: @IEvangelist
Microsoft Alias: dapine

Hi @LindaLawton, great observations! You're correct, and I would happily welcome a PR to review. Please reference this issue in the PR and feel free to tag me for review. Thanks

Hi again @LindaLawton, I'm following on this. Do you think you'll have time to send over a PR for this?


Error 500 on currency

i can't use your API it say error 500

Neither do I. I also get an error 500

me too

Still getting this.


define_method calls inside while iterating inside the class

Hi,
I've come across a use case which i hardly find any documentation for. Lets say I want to define functions that basically are written the same way, just certain literals differ. P.ex. this case:
def pigeon
container.pigeon.increment!
end
def lion
container.lion.increment!
end
Now i refactor this to look like this:
%w(pigeon lion).each do |animal|
define_method :"#{animal}" do
container.send("#{animal}").increment!
end
end
Fairly simple. The thing is, i'd like to document these dynamically created functions, and even tough there's an handler for the define_method call, this does not get called when the function is inside the iterator. I couldn't seem to find a good enough workaround other than forget the iterator and define the functions one after the other, copy-pasting til the day i die.
Do you know any workaround, or is this really a missing feature?

Even if YARD could recognize the define_method in the above example, there's no way it can know what methods you are defining, when using arbitrary string values. Note that dynamic method definitions are inherently undocumentable in this form, and not recommended. If you really wanted to use define_method in an ad-hoc fashion on an arbitrary list like the above, you would need to write a plugin to handle this and actually do the parsing/evaluating of code to figure out what it is Ruby is creating at runtime. YARD doesn't evaluate code by default and there are no plans to make it do so, that would be the job of a plugin.
Instead of iterating an arbitrary list, you would generally use macros to define the methods by wrapping the dynamic behaviour into a class method that can be documented as DSL-style calls in your class:
class Maker
  class << self
    private
    # @macro [attach] container.increment
    #   @method $1()
    #   Increment the $1 container
    def self.make(name)
      define_method(name) { container.send(name).increment }
    end
  end

  make :lion
  make :pigeon
end

With this setup, you could even add extra specific documentation to each method defined, like a normal def:
# For lions only!
make :lion

# For pigeons only!
make :pigeon

The above would generate "Increment the lion counter. For lions only!" etc.


Sort by Area

Would it be possible to enable sorting by Area?
Allocating devices to an Area within HA is common for grouping devices in the same room. Whilst it is possible to create a parent child relationship with remaining child state entities it would be cleaner to reuse the HA attributes.
It would also be significantly easier for less experienced users.

That would be nice. I will keep it in mind for the future.
My current focus will be to simplify the card because configuration is too difficult.


How can 'github.ref_name' be attacker controlled?

Given the following example workflow:
name: "Example"

on:
  push:
    tags: [ "*" ]

permissions:
  actions: read
  contents: read

jobs:
  build:
    name: "Example"
    runs-on: ubuntu-latest
    steps:
      - name: Test
        run: |
          echo "${{ github.ref_name }}"

The use of github.ref_name will be flagged as being possibly attacker controlled, but I'm genuinely curious how?
My understanding is that this value will only refer to either a commit SHA, or a tag name.

(Great tool, by the way. Workflow security is such an interesting topic to me)

Hi @ecnepsnai, thanks for the report and the kind words!
We currently flag github.ref_name because it can be either the tag or branch name when it isn't a SHA ref. In typical workflows the tag won't be attacker controlled, but the branch name could potentially be.
(More generally however, it's also difficult to prove that a tag ref can't be attacker controlled -- a user could theoretically allow external tag creation through a workflow or other automation, and subsequent expansions in a template context would then be attacker controlled.)
TL;DR: we consider it potentially attacker controllable since it can in theory expand to something besides a SHA ref, even if in typical scenarios a dangerous expansion is unlikely.
With that being said, I'm curious if you think this is too sensitive -- one possibility would be lowering the severity for this particular context access, or potentially gating it behind --pedantic (although the latter would require some more thought IMO).

Ahh I see, I forgot that the ref name could be a branch, and yeah I see how that is attacker controlled.
As for being too sensitive, in my specific example I would say it is, but my example isn't a good representation, I wonder if perhaps zizmor could look at the triggers and determine if its likely to be a risk, and use that to determine if it should or shouldn't flag it?

I didn't see this issue when I started discussion #102, but I think the best (from a "make zizmor broadly useful" perspective) approach is to use the WIP ignore functionality in #116 to exclude the cases that you believe to be reasonably safe.

Closing in favor of ongoing discussion in #102.
Also for viz: #127 will reduce template-injection's sensitivity by making it aware of safe vs. unsafe expressions. This won't directly impact the github.ref_name case, but it's the first step towards actual flow analysis here.


Only first item in the result list can be clicked

Hi,
I'm using your excellent autocomplete directive but for some reaon, I can only select/click on the first item in the result list?
<ion-autocomplete ng-model="parcel.pickup.address" placeholder="Enter your address ..." items-method="geoPlacesLookup(query)" item-view-value-key="description" items-clicked-method="clickedPlace(callback)"/>

I've written a custom Google Places AutocompleteService() which I call using the function geoPlacesLookup(query). This works perfectly but I can only click on the first item in the list.
The rest remains visible but not clickable?
Regards,
Tim

Corrected a typo in the title

Hi Tim,
thanks for the praise ;). Do you need to have multiple selection? If yes please have a look here on how to achieve this: https://github.com/guylabs/ion-autocomplete#the-multiple-select. Which Ionic and ion-autocomplete version are you using? I just released 0.2.3 last Friday and maybe try it with this one.
And does it also happen with this template: https://github.com/guylabs/ion-autocomplete/blob/master/test/e2e/ion-autocomplete.single-select.e2e.html? It is hard to reproduce as I never had this issue, and maybe you are able to reproduce it somehow.
Thanks and regards,
Guy

Hi Guy,
I'm using the latest ionic v1.0.1 and try to use a single select.
I have tried the single select from your template:

  Single select autocomplete
  <ion-autocomplete ng-model="model"
                                  item-value-key="name"
                                  item-view-value-key="view"
                                  items-method="getTestItems(query)"
                                  items-method-value-key="items"
                                  placeholder="Enter test query ..."
                                  items-clicked-method="itemsClicked(callback)"
                                  component-id="comp1"/>

I have by the way an update, on the issue.
On a another screen have 2 elements on the screen, it seems that the ion-autocomplete items are clickable only when they are positioned above the form elements.

The top 2 are clickable, but the rest not.

Do I need to set a height of the io-autocomplete items or am I missing something?
Regards,
Tim

Hi Tim,
I had a look at this and changed some Ionic collection repeat height values but I couldn't reproduce it. Do you also have this issue when you use a standard Ionic collection repeat?
Thanks and regards,
Guy

Hi Tim,
I will close the issue now. If you have any news on this please reopen it.
Thanks and regards,
Guy


Recompile parsed query into SQL?

Hi there!
Thank you so much for taking the time to extract this into its own package, it's awesome! I was wondering if you could provide any guidance if there were any functions exposed that takes a parsed query and can recompile it back into an SQL statement?
Thank you so much for your time!

Aha! I was able to find this section: https://github.com/xwb1989/sqlparser/blob/120387863bf27d04bc07db8015110a6e96d0146c/parsed_query_test.go#L137-L156
This does what I am looking for, thanks again!


Update Get-AzureADGraphApps.ps1

Add #Requires statement to prevent the script from running on incompatible PowerShell versions.

@BinaryWizard904
Glad to see this PR is here. Just spent wayyy too much time waiting for dependencies to load.
@merill @dhruvchand @jeevansd
Can this be merged sooner than later? Issues will see an uptick as the deadline looms and admins seek to proactively migrate APIs.

You're the man, @dhruvchand !!

Thanks @BinaryWizard904 for the PR, and @Wittionary and @hkystar35 for the quick reviews!


[BUG] Failed to write atrribute with src/app/WriteClient.cpp:504: CHIP Error 0x00000032: Timeout

Reproduction steps
I have used python controller to done a stress test on my RPI sample dut (all-clusters-app) on Read-Write operation for 100000 iteration. The iteration 8467 is passed without any error but the 8468 is Failed to write the node-label attribute with the below traceback error and the next iteration 8469 is also passed without any issues.

Traceback (most recent call last):
File "/Users/chaitanyajandhyala/code/python/matter-qa/src/matter_qa/scripts/reliability_scripts/TC_Read_Write.py", line 79, in verify_read_write
await self.default_controller.WriteAttribute(self.dut_node_id, [(0, Clusters.BasicInformation.Attributes.NodeLabel(nodelabel_write_value))])
File "/Users/chaitanyajandhyala/code/python/matter-qa/.venv/lib/python3.9/site-packages/chip/ChipDeviceCtrl.py", line 1130, in WriteAttribute
return await future
chip.exceptions.ChipStackError: src/app/WriteClient.cpp:504: CHIP Error 0x00000032: Timeout

Bug prevalence
Whenever i do this
GitHub hash of the SDK that was being used
3718e996b56f36a553c1b4571f77728396590776
Platform
python, raspi
Platform Version(s)
RPI-4, 8GB RAM
Anything else?
Example of Failed iteartion details:
The iteartion number 8467 is passed below file for the same
TH log: log_2024-05-27_21-06-50.log
The iteration number 8468 is failed with this error below the logfile
TH log : log_2024-05-27_21-07-32.log
The iteartion number 8469 is passed below file for the same
TH log: log_2024-05-27_21-07-54.log
For the detailed summary please reference this json: summary.json
Script reference: https://github.com/CHIP-Specifications/matter-qa/blob/main/src/matter_qa/scripts/reliability_scripts/TC_Read_Write.py

Where are the DUT logs for all of these runs? We need the DUT logs to diagnose.

@tcarmelveilleux Currently we didn't have the dut log for this error will try to fetch the dut log from the next run

closing this issue for now and following it up in a different issue


[Addition]: EDA-IoT Cluster making > 2 HNT / day / HS

Hotspot b58 Addresses
1127sgwYppjMsmeTLHGAX9HqzgeqVhktc2qem16WHWX51ULthw9u
11HvZ4devRjWWFMU6PTnt3AcFh4yv45DwPB7hq2F6L5PzaimD1t
112dAbNDTiv3fQU3BVUb9pn3i6NkM6GXMheEc66mxDNQMMkfiCR2
Discord Handle
No response
Reason(s)

self-witnessing cluster of 3
all asserted at the same time
same maker
misusing targeting

https://www.crowdspot.io/hotspots/1127sgwYppjMsmeTLHGAX9HqzgeqVhktc2qem16WHWX51ULthw9u
https://www.crowdspot.io/hotspots/11HvZ4devRjWWFMU6PTnt3AcFh4yv45DwPB7hq2F6L5PzaimD1t
https://www.crowdspot.io/hotspots/112dAbNDTiv3fQU3BVUb9pn3i6NkM6GXMheEc66mxDNQMMkfiCR2

Right in the same location as the previously denied batch.
Each sending out >30 beacons per day!

3x hotspots, each earning 1.6-2.0 HNT/24h!
What are they exploiting?
Are the 90 denied hotspots nearby helping somehow?

They are exploiting the h3dex bug. Several other Heltec hotspots just joined the party: https://github.com/helium/denylist/issues/7601


ValueError: Requested crop size (2063, 2452) is larger than the image size (3690, 2443) (on compressed SD7K)

Dear authors, thanks for sharing the SD7K dataset! I have downloaded the compressed version of the data, but when run python train.py with the default config file, I see ValueError:
ValueError: Requested crop size (2063, 2452) is larger than the image size (3690, 2443)
I did not change any other settings when run the train.py script. I can run the script using Jung dataset without error.
Here are the full traceback:
Traceback (most recent call last):
  File "train.py", line 132, in <module>
    train()
  File "train.py", line 65, in train
    for i, data in enumerate(tqdm(trainloader, disable=not accelerator.is_local_main_process)):
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/tqdm/std.py", line 1181, in __iter__
    for obj in iterable:
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/accelerate/data_loader.py", line 462, in __iter__
    next_batch = next(dataloader_iter)
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 631, in __next__
    data = self._next_data()
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1346, in _next_data
    return self._process_data(data)
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/utils/data/dataloader.py", line 1372, in _process_data
    data.reraise()
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/_utils.py", line 705, in reraise
    raise exception
ValueError: Caught ValueError in DataLoader worker process 2.
Original Traceback (most recent call last):
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/utils/data/_utils/worker.py", line 308, in _worker_loop
    data = fetcher.fetch(index)  # type: ignore[possibly-undefined]
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 51, in fetch
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/torch/utils/data/_utils/fetch.py", line 51, in <listcomp>
    data = [self.dataset[idx] for idx in possibly_batched_index]
  File "/sensei-fs/users/bxiao/DocShadow-SD7K/data/dataset_RGB.py", line 61, in __getitem__
    transformed = self.transform(image=inp_img, target=tar_img)
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/albumentations/core/composition.py", line 210, in __call__
    data = t(force_apply=force_apply, **data)
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/albumentations/core/transforms_interface.py", line 97, in __call__
    return self.apply_with_params(params, **kwargs)
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/albumentations/core/transforms_interface.py", line 112, in apply_with_params
    res[key] = target_function(arg, **dict(params, **target_dependencies))
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/albumentations/augmentations/crops/transforms.py", line 246, in apply
    crop = F.random_crop(img, crop_height, crop_width, h_start, w_start)
  File "/opt/conda/envs/BGShadowNet/lib/python3.8/site-packages/albumentations/augmentations/crops/functional.py", line 25, in random_crop
    raise ValueError(
ValueError: Requested crop size (2063, 2452) is larger than the image size (3690, 2443)

I was wondering if you have any suggestions on this issue?

What is the W and H in your config yml file, the default value of width and height should be 512.

This crop size looks unusual.

Here are the settings in config file:
# Optimization arguments.
OPTIM:
  BATCH_SIZE: 1
  NUM_EPOCHS: 300
  LR_INITIAL: 2e-4
  LR_MIN: 1e-6
  SEED: 3407
  WANDB: False

TRAINING:
  VAL_AFTER_EVERY: 1
  RESUME: False
  PS_W: 512
  PS_H: 512
  TRAIN_DIR: '/bxiao/DocShadow-SD7K/data/train/' # path to training data
  VAL_DIR: '/bxiao/DocShadow-SD7K/data/test/'    # path to validation data
  SAVE_DIR: './checkpoints/'     # path to save models and images
  ORI: False

I used the default value (512, 512) for width and height. It works for both Jung and Kligler dataset, but raised that error on the SD7K data (9G version).
One observation: if changing the RadomResizedCrop in this line to RadomCrop, then it runs without error. But this change provides less diversity in data augmentation and therefore may not be proper.

No, you are right. Changinig this line is indeed a way to fix your problem. We control the crop size by PS_W and PS_H, there must be something revision that causes these two parameters cannot go here. I am not sure if you revise something but they are the same, so don't worry about the diversity in data augmentation.

Thanks @zinuoli for the reply. In case I revised something by accident, I deleted and cloned the repo again just now. But I still got the same error on the SD7K data (9G version). So it is unlikely to be the case something in the code was changed from the original repo.

Yes it is another way to solve. Could you just change A.RandomResizedCrop(height=img_options['h'], width=img_options['w']) to A.RandomResizedCrop(height=512, width=512) and see what happend?

Just tried A.RandomResizedCrop(height=512, width=512). It gives the same error.

Seems strange...let me try and get back to you.

Hi, which version of albumentations are you using? I don't have any problem here.

The version of albumentations on my server is 1.3.0

That's strange, I did't encounter any problem you mentioned above, I can ensure that our codebase has no bugs.


Automatically accept Java license agreement when sdkman_auto_answer is true

Currently sdkman forces to manually accept license agreement during installation of JDK, regardless of sdkman_auto_answer setting:
~$ sdk version
SDKMAN 5.1.18+191
~$ grep auto_answer ~/.sdkman/etc/config
sdkman_auto_answer=true
~$ sdk install java 8u121

Oracle requires that you agree with the Oracle Binary Code License Agreement
prior to installation. The license agreement can be found at:

  http://www.oracle.com/technetwork/java/javase/terms/license/index.html

Do you agree to the terms of this agreement? (Y/n):

@marc0der suggested that is should be possible to fix it in pre-installation hook.

+1
Very important for me.

AFAIK this would contravene the license agreement and make it illegal to
install the Oracle JDK. The agreement must be explicitly agreed to.
We could do something for Zulu JDKs though. Would this work for you?
On Fri, 23 Feb 2018, 13:22 Martin Dünkelmann<EMAIL_ADDRESS>wrote:

+1
Very important for me.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sdkman/sdkman-cli/issues/537#issuecomment-368007402,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAI0BtMW9UpFZyplY3SJdzj8eND2DL5Iks5tXrt3gaJpZM4L6sjj
.

Thank you. The Zulu SDK is fine to avoid the agreement. :)
But one problem is still there.
After installing a second java version, I need to press y/n to declare it to the default java version.
How I can automate this in a script?

@MartinX3 You can bypass this by using a configuration setting. sdkman_auto_answer=true is the one you're looking for.

@nartamonov unfortunately we won't be able to address this in the pre-installation hook as we explicitly need to opt in to the Oracle Binary Code License Agreement. As discussed earlier in this thread, the Zulu JDK does not require this manual step, would this work for you too?

Closing this issue as we cannot bypass this step for legal reasons.


:bug: Fixing sha256sum generation

This is fixing generation of sha256sum, it was not being formatted properly before which was resulting in wrong hash.

/test-ubuntu-integration-release-1-2

/lgtm

/approve


Generating client for Enode API fails

Xcode 15.0 beta 6
swift-open-api-generator: 0.1.11
Hi,
using versions mentioned above I tried to generate a client for EnodeAPI. It fails with reason:
Schema "oneOf ()" is not supported, reason: "not an object-ish schema (object, ref, allOf)", skipping [context: foundIn=#/components/schemas/TemperatureTargetState]
warning: Schema "oneOf ()" is not supported, reason: "not an object-ish schema (object, ref, allOf)", skipping [context: foundIn=Components.Schemas.PartialTemperatureSchedule (#/components/schemas/PartialTemperatureSchedule)/defaultTargetState]
warning: Schema "oneOf ()" is not supported, reason: "not an object-ish schema (object, ref, allOf)", skipping [context: foundIn=Components.Schemas.PartialTemperatureSchedule.rulesPayloadPayload.Value2Payload (#/components/schemas/PartialTemperatureSchedule/rulesPayload/value2)/targetState]
Error: In discriminator.mapping, found multiple keys for the same value.

Hi @bartoszirzyk, thanks for taking the time to file this issue!
The formatting isn't great here, but there are actually 4 issues here.
The first 3 are warnings:
Schema "oneOf ()" is not supported, reason: "not an object-ish schema (object, ref, allOf)", skipping [context: foundIn=#/components/schemas/TemperatureTargetState]
warning: Schema "oneOf ()" is not supported, reason: "not an object-ish schema (object, ref, allOf)", skipping [context: foundIn=Components.Schemas.PartialTemperatureSchedule (#/components/schemas/PartialTemperatureSchedule)/defaultTargetState]
warning: Schema "oneOf ()" is not supported, reason: "not an object-ish schema (object, ref, allOf)", skipping [context: foundIn=Components.Schemas.PartialTemperatureSchedule.rulesPayloadPayload.Value2Payload (#/components/schemas/PartialTemperatureSchedule/rulesPayload/value2)/targetState]

This is a genuine bug in the generator, as we don't currently support nesting oneOfs. I'll file a separate issue to track that, but it'll only make sense to fix once #144 is landed, so marking this blocked for now.
Separately, there seems to be a fatal error, which is why the generator fails:
Error: In discriminator.mapping, found multiple keys for the same value.

This seems to be caused by another generator bug, this time because the discriminator mapping's values aren't unique. I don't remember why it's enforced, and it seems incorrect, so I'll file a separate issue as well.
I'll keep this issue open until the two blocking issues get resolved, to make it easier to track once this OpenAPI doc can be generated.

Okay, @bartoszirzyk - I just confirmed that with Swift OpenAPI Generator 0.1.13, the Enode OpenAPI document produces compiling code.
Note that you'll need to enable all these feature flags, e.g. in your openapi-generator-config.yaml, by adding:
featureFlags:
  - proposal0001
  - multipleContentTypes
  - strictOpenAPIValidation
  - closedEnumsAndOneOfs

They will become the default in the upcoming 0.2.0 as well, at which point you won't need to explicitly specify them.
But you should be unblocked now, please file new issues if you find anything else.

Perfect, thanks a lot @czechboy0


Allow to build on Linux arm64/aarch64

This allows to build ghidra on ar
I could build with this changes, but I haven't tested if everything works yet, I only know it starts as normal.

Similar to #395, which was rejected.


ETags are sent with stylesheets, Safari will reuse the first seen version of a stylesheet indefinitely

[X] I have tried upgrading by running bundle update vite_ruby.
[X] I have read the troubleshooting section before opening an issue.

Description 📖
In Safari on macOS (at least) when using vite_stylesheet_tag it is difficult to get new copies of a stylesheet as it changes. I believe this is because Safari isn't respecting the Cache-Control: no-cache when an ETag header is set. I am unsure if this is a bug in rails, vite-ruby or vite-rails. I was unable to work out where the ETag is set. I also tried in Chrome and there didn't seem to be an issue.
Reproduction 🐞
Please provide a link to a repo that can reproduce the problem you ran into.

Vite Ruby Info
Run bin/rake vite:info and provide the output:

Logs 📜
If not providing a reproduction:

Output
Run DEBUG=vite-plugin-ruby:* bin/vite dev or DEBUG=vite-plugin-ruby:* bin/vite build and provide the output:
bin/vite present?: true
vite_ruby: 3.2.3
vite_rails: 3.0.12
rails: <IP_ADDRESS>
node: v16.17.0
npm: 8.15.0
yarn: 1.22.19
pnpm: 7.5.2
ruby: ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin21]

installed packages:
pimiibo@ /Users/powersurge360/projects/pimiibo
├─┬<EMAIL_ADDRESS>│ └──<EMAIL_ADDRESS>deduped
└──<EMAIL_ADDRESS>

Screenshots 📷
Provide console or browser screenshots of the problem.
On first load

On second load

On manually clearing caches and reloading again

Hi Kevin!
Sounds like a bug in Safari, as the spec is very clear on that responses with  no-cache should always be revalidated with the server before reusing.
I'll investigate during the week, but given that this library is using Rails stylesheet_link_tag it's unlikely that I'll include a workaround for Safari's behavior here.

Yeah, adding this to the Troubleshooting section, including the "import from JS" workaround would be nice.
PRs are welcome!

Closed by #261, thanks!


Simplify Getting Started

I would like to volunteer to improve the immediate user-facing documentation of this project. The reason is simply that I do not find it easy to quickly get started using the library purely as a consumer based on the information in the readme file and webview.dev.
Closes #688.
Here are some specific things that come to my mind:

Information in the "Getting Started" section must be simple and concise (see note no. 1).
All of the mentioned languages must have at least one basic example for getting started.
All of the distinct examples for each language must be nothing more or less than equivalent.
The Go module must be usable purely using MinGW-w64 on Windows without requiring the library to be built as a DLL using Visual C++. This should be the new official method.
The "Getting Started" section must not require library consumers to use the build script on any platform, but if it needs to be mentioned at all then it must be clear what the purpose of it is.
Developers should have a short section on how to build the library, examples and run the tests (basically use the build script from #763).
Developers should ideally also have a section on how to get started with developing and debugging the library. How are people developing and debugging the library right now?
Ideally the latest API reference should be generated and published somewhere, but for now I would like to focus on the readme file to keep things more self-contained. I think that it would be good to either commit to update webview.dev, the readme file, or if both, make a clear distinction between what to publish where with less room for duplicate content and inconsistencies.

Please share any suggestions you may have.
Notes

Information required for using the library must be immediately available without forcing anyone to refer to external resources except for further exploration and more advanced use cases. We must be able to expect that people either know how to do things that are way outside the scope of the library or that they are capable of finding that information on their own. A wiki would be suitable for elaboration.

Completed in #773.


sempy-labs connect_workspace_to_git() function contradictory errors from function and API

Bug:
When using the sempy-labs connect_workspace_to_git() function, it gives me an error message.
I used the following code with the parameters as mentioned:
labs.connect_workspace_to_git(organization_name="<orgname>", repository_name="<reponame>", branch_name="<branchname>", project_name="<reponame>", directory_name="<foldername>", git_provider_type="GitHub", workspace="<workspacename>")
ErrorMessage:
FabricHTTPException: 400 Bad Request for url..."moreDetails":[{"errorCode":"InvalidParameter","message":"The OwnerName field is required."}],"message":"The request has an invalid input"}
When I referred to the API code, I can see it requires OwnerName (here is the example from the documentation)
POST https://api.fabric.microsoft.com/v1/workspaces/1565e6a3-c020-4c0c-dda7-92bafe99eec5/git/connect
{
"gitProviderDetails": {
"ownerName": "Test Owner",
"gitProviderType": "GitHub",
"repositoryName": "Test Repo",
"branchName": "Test Branch",
"directoryName": "Test Directory/Test Subdirectory"
},
"myGitCredentials": {
"source": "ConfiguredConnection",
"connectionId": "3f2504e0-4f89-11d3-9a0c-0305e82c3301"
}
}
We can see there is a difference in the arguments needed by the function and the API such as OwnerName and ProjectName etc..,
So when I call the code with the ownerName (or OwnerName) as follows:
labs.connect_workspace_to_git(organization_name="<orgname>", repository_name="<reponame>", branch_name="<branchname>", project_name="<reponame>", ownerName="<ownername>", directory_name="<foldername>", git_provider_type="GitHub", workspace="<workspacename>")
it then gives me the error:
TypeError: connect_workspace_to_git() got an unexpected keyword argument 'ownerName'
Docs referred to apart from this git repo:
sempy-labs library docs
API documentation
Has anyone seen and resolved this issue? Thanks!

Thanks for raising this issue. It appears this API has been updated to support not just Azure DevOps but GitHub too. Since the API request bodies are different enough they probably warrant their own functions (connect_workspace_to_github & connect_workspace_to_azure_dev_ops).

The new functions are available in 0.8.11.


leftTop option doesn't seem to work

I love the library and the documentation is great! I'm having an issue however with the leftTop option that doesn't seem to have an effect on the way the items are being moved. I want to use simple left and top coordinates from a dragged object in order to store and recall position of DOM elements from a json file, but regardless of the leftTop option it's using transform: translate css every time. Is this a known issue or am I missing something? Otherwise I would love to hear any other ways I could get coordinates from draggable elements for storage use!

That seems strange; I also have been playing around with the library the last couple days and leftTop does work for me...
let draggable = new PlainDraggable(html, {leftTop: true});
One thing is occasionally in my browser I need to do a "Empty Cache and Reload" so that when it loads my JS; it uses the "changed" version...

@NathanaelA It is definetly strange. All else works as expected and I'm using the option in the constructor like you do. It's not a cache issue because all other changes are picked up on immediately. Confused as I am, I hope to find an answer, or a different way of storing the coordinates because all the rest is working like a charm.

@bparticle - Make sure it is leftTop in that specific case.   I kept trying to do topLeft and that doesn't work.

Hi @bparticle, thank you for the comment.
Could you show me an example using e.g. https://jsfiddle.net/ to reproduce that?

Thank you @anseki for looking into it. This is a jsFiddle that reproduces the problem for me on Chrome https://jsfiddle.net/6sjkaydq/1/. Browser version and environment is Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36.
I will test this on other browsers now to see if it persists (since it's working for @NathanaelA it must be some odd environment variable, unless I made a funny typo)

@bparticle - I was using HTML, Your using SVG -- I have no idea if leftTop works properly with SVG.  :grinning:     Just a fyi; you can get the location by doing  draggable.top and draggable.left

SVG doesn't support left and top regardless of PlainDraggable.
You can use left/top to get/set the position.

I see, that explains it. I should've specified it in my issue description. Maybe it's not a bad idea to add this detail to the leftTop option paragraph in the docs!

Thank you for your suggestion.
I might update the document.
So, could you close this issue if it was solved?

Oh yes sorry! Thanks again.


The continuous action input and environmental changes

I trained the diffusion world model using my own data, where the action inputs are continuous poses. However, after training, I found that the world model does not respond well to given action inputs. It usually just loops between certain actions, and there are significant environmental changes between consecutive frames. Could these issues be caused by insufficient training or data? Also, what are your thoughts on continuous action sequences as inputs? In the CSGO model, discrete inputs are used.

Hi! Yes, those issues could be caused by insufficient data, particularly if there is a change in action distribution between the training data and the actions provided at test time. If the world model has not seen the effect of certain actions in certain states it may lead to modeling the effect of the modal action instead as you describe. For example, this can be the case when:

The model is trained on random actions, but then played by a human at test time.
The model is trained on expert data, but then more random actions are taken at test time (e.g. our CS:GO model does not accurately model random actions such as walking into a wall, since the human players do not often do this in the training data).

The significant environmental changes you describe between consecutive frames seems unusual, but could potentially be due to a bug in your data, for instance if the episode trajectories you provide are not contiguous in time.
Regarding action inputs, our action inputs are discretized following the CS:GO dataset so we did not investigate continuous action inputs.
Hope that helps!


table

Version info

Milligram:
Other (e.g. normalize.css, node.js, npm, bower, browser, operating system) (if applicable):
Test case

Steps to reproduce

Expected behavior

Actual behavior

mistake...


Rebuild the email templates using react.email for better consistency

React.email is a collection of high-quality, unstyled components for creating beautiful emails using React and TypeScript.

Hello @devkiran, I'd love to work on this.
Are there any specific designs in mind for the email templates, or should I just convert the current implementation to React.email?

Thanks for your interest. We don't have any specific designs in mind. You can convert the current implementation to React.email.
We would like to keep it simple - A header with logo, body and simple footer with the company name and address.
Example https://demo.react.email/preview/dropbox-reset-password
Please open a draft PR with one of the email templates and we can review it.

Alright, that sounds good.


SCRIPT7002: XMLHttpRequest: Network Error 0x2ef3, Could not complete the operation due to error 00002ef3

We are getting the below error, while using angular 1.2.X
 SCRIPT7002: XMLHttpRequest: Network Error 0x2ef3, Could not complete the operation due to error 00002ef3
Error details:

Post request calls are getting aborted by the browser randomly throws the above said error in browser's console.
It happens only in IE 9-11 browser intermittently.

We have been investigating this issue for a long time, we could not arrive at a conclusion to close this item. Any help would be appreciated.

This error is very generic and we cannot identify the cause. There seem to be several possible reasons (e.g. see here, here, here), ranging from incorrect server configuration to bad mime-types, but we can't investigate further without more info. In any case, there is no indication that this is Angular-related.
Closing since this is not actionable in its current state.


Add ChangeIndicator, for tooltips

closes
Prerequisites:

[x] Unless it is a hotfix it should be merged against the dev branch
[x] Branch is up-to-date with the branch to be merged with, i.e. dev
[x] Build is successful
[x] Code is cleaned up and formatted

Summary
Compare data values where hovering with data at 'currentDate'.

Here is how it looks on the Details panel for the Cases data, which has multiple parts.

Do we want to show changes for all these parts of the data?

Do we want to show changes for all these parts of the data?

IMHO, I think only having counts/pop is needed in the pop-over.  Thoughts?


Fix class initialization (solves #2)

its a bit ugly because you're not supposed to use both Authentication and DeviceAuthentication as parents, but this solves the immediate issues

Thanks for the PR! I will make a note of the comment and revisit it sometime later!


[FEAT]: add review loop

Description
incorporate previous reviews into new brainstorming process
Additional Information
No response

supported in the engine part.


Update insertion benchmark

This refreshes insertion benchmark stats + does a couple of minor fixes to the bench README.md.
I couldn't update all benchmarks due to a failure that I haven't had time to look into.
Benchmarking MyXQL Loader with input Date attr ...
Benchmarking MyXQL Loader with input Medium 100 Thousand ...
Benchmarking MyXQL Loader with input Small 1 Thousand ...
Benchmarking MyXQL Loader with input Time attr ...
Benchmarking MyXQL Loader with input UUID attr ...
Benchmarking Pg Loader with input Big 1 Million ...
Benchmarking Pg Loader with input Date attr ...
Benchmarking Pg Loader with input Medium 100 Thousand ...
Benchmarking Pg Loader with input Small 1 Thousand ...
Benchmarking Pg Loader with input Time attr ...
Benchmarking Pg Loader with input UUID attr ...
Benchmarking SQLite3 Loader with input Big 1 Million ...
Benchmarking SQLite3 Loader with input Date attr ...
Benchmarking SQLite3 Loader with input Medium 100 Thousand ...
Benchmarking SQLite3 Loader with input Small 1 Thousand ...
Benchmarking SQLite3 Loader with input Time attr ...

09:27:11.506 [error] Task #PID<0.352.0> started from #PID<0.98.0> terminating
** (FunctionClauseError) no function clause matching in Calendar.ISO.parse_time/1
    (elixir 1.16.2) lib/calendar/iso.ex:297: Calendar.ISO.parse_time(~T[21:25:04.361140])
    (elixir 1.16.2) lib/calendar/time.ex:255: Time.from_iso8601/2
    (ecto_sqlite3 0.15.1) lib/ecto/adapters/sqlite3/codec.ex:83: Ecto.Adapters.SQLite3.Codec.time_decode/1
    (ecto 3.11.1) lib/ecto/type.ex:932: Ecto.Type.process_loaders/3
    (ecto 3.11.1) lib/ecto/schema/loader.ex:71: anonymous fn/5 in Ecto.Schema.Loader.unsafe_load/4
    (elixir 1.16.2) lib/enum.ex:2528: Enum."-reduce/3-lists^foldl/2-0-"/3
    (elixir 1.16.2) lib/enum.ex:1700: Enum."-map/2-lists^map/1-1-"/2
    (benchee 1.3.0) lib/benchee/benchmark/collect/time.ex:17: Benchee.Benchmark.Collect.Time.collect/1
Function: #Function<2.121299024/0 in Benchee.Utility.Parallel.map/2>
    Args: []
** (EXIT from #PID<0.98.0>) an exception was raised:
    ** (FunctionClauseError) no function clause matching in Calendar.ISO.parse_time/1
        (elixir 1.16.2) lib/calendar/iso.ex:297: Calendar.ISO.parse_time(~T[21:25:04.361140])
        (elixir 1.16.2) lib/calendar/time.ex:255: Time.from_iso8601/2
        (ecto_sqlite3 0.15.1) lib/ecto/adapters/sqlite3/codec.ex:83: Ecto.Adapters.SQLite3.Codec.time_decode/1
        (ecto 3.11.1) lib/ecto/type.ex:932: Ecto.Type.process_loaders/3
        (ecto 3.11.1) lib/ecto/schema/loader.ex:71: anonymous fn/5 in Ecto.Schema.Loader.unsafe_load/4
        (elixir 1.16.2) lib/enum.ex:2528: Enum."-reduce/3-lists^foldl/2-0-"/3
        (elixir 1.16.2) lib/enum.ex:1700: Enum."-map/2-lists^map/1-1-"/2
        (benchee 1.3.0) lib/benchee/benchmark/collect/time.ex:17: Benchee.Benchmark.Collect.Time.collect/1

@warmwaffles to your question:

How did you run the benchmarks. Were you running MySQL and Postgres locally vs running them in docker?

I ran MySQL in a container, but PostgreSQL locally.
Your question made me realise its not fair to compare results of SQLite3 and PostgreSQL running on my computer natively with results for MySQL running inside a container, e.g. via virtualization which has a performance penalty. I'm using orbstack which claims to be faster the Docker, but still. I'll install MySQL on my mac natively and will regenerate the benchmark once again.
On a separately note, to clarify existence of commit https://github.com/elixir-sqlite/ecto_sqlite3/pull/144/commits/a9902f38ba8699a989eacd4b96b111aa49bbe361. Using docker image for MySQL 5.7 didn't work for me, because there's no arm64 OCI manifest generated for 5.7 version, but there's for 8.

I was able to reproduce the exception mentioned in my message with this self-contained Elixir script:

Mix.install([:ecto_sqlite3])

Application.put_env(:foo, Repo, pool_size: 1, database: ":memory:")

defmodule Repo do
  use Ecto.Repo,
    adapter: Ecto.Adapters.SQLite3,
    otp_app: :foo
end

defmodule Migration0 do
  use Ecto.Migration

  def change do
    create table("posts") do
      add(:title, :string)
      add(:published_at, :time)
    end
  end
end

defmodule Post do
  use Ecto.Schema

  schema "posts" do
    field(:title, :string)
    field(:published_at, :time)
  end
end

defmodule Main do
  import Ecto.Query, warn: false

  def reproduce do
    :ok = Repo.__adapter__().storage_up(Repo.config())

    {:ok, _pid} = Supervisor.start_link([Repo], strategy: :one_for_one)

    Ecto.Migrator.run(Repo, [{0, Migration0}], :up, all: true, log_migrations_sql: :debug)

    Repo.load(Post, %{title: "New blog post", published_at: ~T[21:25:04.361140]})
  end
end

Main.reproduce()

If I make a change to a script - it will no longer raise:
diff --git a/time-issue-repro.exs b/time-issue-repro.exs
index 8643d65..52e173e 100644
--- a/time-issue-repro.exs
+++ b/time-issue-repro.exs
@@ -38,7 +38,7 @@ defmodule Main do

     Ecto.Migrator.run(Repo, [{0, Migration0}], :up, all: true, log_migrations_sql: :debug)

-    Repo.load(Post, %{title: "New blog post", published_at: ~T[21:25:04.361140]})
+    Repo.load(Post, %{title: "New blog post", published_at: "21:25:04.361140")
   end
 end

@warmwaffles I added this commit https://github.com/elixir-sqlite/ecto_sqlite3/pull/144/commits/bceff9a7bf38518b875e41bc6c13f631e76598f2 just to see if I am able to get pass the issue when running the benchmark
It work, so not only "insert" part, but all benchmarks were regenerated successfully. However, I don't believe my fix is correct. For example, running benchmark having %Date{} struct as a value appears to run just fine without any changes:
https://github.com/elixir-sqlite/ecto_sqlite3/blob/86b76bb3996221d1ef2d9dd021b9b261c48bdf45/bench/scripts/micro/load_bench.exs#L33-L34
I am not sure why explicit handling of %Time{} is necessary in principle 🤔

Sorry this took so long to merge. It completely slipped through on me. Feel free to ping mention me if you see another PR for these libraries fall through.

@warmwaffles noted, and no worries, I kind of forgot about this one too 🙈 I just hope this change is not going to break anything https://github.com/elixir-sqlite/ecto_sqlite3/pull/144/commits/bceff9a7bf38518b875e41bc6c13f631e76598f2 🙏

It shouldn't. You added a test for it and I think it was just an oversight by me initially.


Filter suggestions based on device "content"

Issue type
[ x ] Feature request
Environment

Python version:  3.5.4
NetBox version:  2.2.1

Description
When connecting a device, let's say a Server to a PDU, using the Search capability, devices returned in suggestions are all showing. It would be interesting to filter them to remove those who have no corresponding connectivity declared (ie: if a device has no power port, it should not show up in the suggestion list when connecting a power device... Same logic should then would be applied for networking and console.
A similar scenario would be in a page like "Add a new device", where all declared manufacturers would show up even if there are no Device Type created for some of the manufacturers. It would make the interface less loaded and easier to use if non relevant information was filtered.
Another scenario would apply to us, but I'm not sure if this would apply by default is that a Device type categorized as "Child" should not be suggested when adding devices to a rack.

This could result in very confusing behavior. We don't want to omit objects from a list unless the user knows why they're being omitted, and we don't have a way of expressing that when populating a selection field. For instance, if a user is expecting to find a certain device which has been silently omitted because it's missing a particular component, they're left wondering why the device isn't showing up. The more transparent approach is to allow them to select the device, and quickly realize that it's missing a particular component, which is easily resolved.

Based on the logic applied when you try to assign a child device to a device bay where only suitable devices are being showed (Child devices must first be created and assigned to the site/rack of the parent device.), I would say this feature request would provide a more coherent than confusing behavior.
Having no listing filtering provide a crowded interface that can lead to misselection by the user especially when the device nomenclature is not ideal...
I have the feeling the device definition (from the device types definition & modification) should drive the whole behavior. If it's not there in the list, the user can always go back to the device page and ensure it has the proper connection definitions instead of being proposed superfluous choices...
Could this "filtering" be proposed as an on/off option if we cannot convince everybody? :)

@jeremystretch , based on my last comment can this be reevaluated?


Fixed some bugs

Description
Fixes some bugs
Fixes # (issue)
#128
#129
#130
#131
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] Any dependent changes have been merged and published in downstream modules
[x] I have added all the three reviewers: @vinitshahdeo, @kashish121 & @ishika1727

The print statement syntax is valid for python 2.7 for python 3.x check out feature/python 3.8 branch.
@vinitshahdeo please look into this.

@Kashish121 @vinitshahdeo @ishika1727 please have a look, this PR fixes 4 issues at once

@vinitshahdeo please add levels to it


Migration 1.13 -> 2.0.x guide?

Search before asking

[X] I had searched in the issues and found no similar issues.

Documentation Related
Updating from 1.13 to 2.x on an existing project yields compiler errors.  I searched but have not found a migration guide and I'd like to make sure the presumed changes are correct.
Is there a guide available?
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Unfortunately, there is no migration guide currently.
You can refer to individual issues in the Release Notes: https://github.com/apache/shiro/releases/tag/shiro-root-2.0.0
If you would like to contribute your findings, we would welcome that.
Or, if you have any specific questions, you can ask them on the mailing list of slack.

thank you.  I'll try and compile some notes when I have a chance to work on
the migration and will be happy to share them.
On Thu, Jul 11, 2024 at 1:15 PM Lenny Primak @.***>
wrote:

Unfortunately, there is no migration guide currently.
You can refer to individual issues in the Release Notes:
https://github.com/apache/shiro/releases/tag/shiro-root-2.0.0
If you would like to contribute your findings, we would welcome that.
Or, if you have any specific questions, you can ask them on the mailing
list of slack.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/shiro/issues/1589#issuecomment-2223477900, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJDHB4C2GOJHUCWKUJZKQTZL24TJAVCNFSM6AAAAABKXL77L2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRTGQ3TOOJQGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


added ability to pass node_args to forked process

Hello!
I haven't been using this plugin very long because there hasn't been JavaScript support until very recently, but so far it is excellent. However, I was running into issues with tsserver running out of heap memory (I'm using it on a large project). I was able to fix it by just upping the heap size with --max-old-space-size, so I wanted to extend the plugin to be able to support any arbitrary arguments to pass to the node process. I believe this PR does it in a pretty succinct and usable way, though please let me know if I should make any tweaks.
Thanks!

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

@rkoval - this can't be merged until the CLA is accepted ( see https://github.com/microsoft/TypeScript-Sublime-Plugin/pull/697#issuecomment-450613518 )
Otherwise, feels reasonable to me

feel free to close then. i'm not interested in signing the CLA for such a small change.


what the roles in  sg_roles_mapping.yml and  the backendroles  in sg_internal_users.yml mean

I'm confused  with   the roles  in sg_internal_user   it's mean indices ?
kirk:
hash: $2a$12$xZOcnwYPYQ3zIadnlQIJ0eNhX1ngwMkTN.oMwkKxoGvDVPn4/6XtO
#password is: kirk
roles:
- captains
- starfleet
What is the role of the  backendroles in sg_roles_mapping
sg_role_vulcans:
backendroles:
- vulcangov
users:
- kirk
did  the roles in sg_internal_user   and    the  backendroles in sg_roles_mapping    have
any relationship?

roles in sg_internal_user are roles (not indices) the user have, for example "starfleet". These are called "backendroles" cause these are roles the user have in a specific backend (internal, ldap, etc). The roles are only related to sg_roles_mapping and not to  sg_roles
These roles are mapped to sgroles in sg_roles_mapping (you can also map directly users)
The mapped roles (=sgroles, for example sg_role_vulcans) are related to sg_roles which defines the permissions for a particular sgrole

this is not an issue, pls ask questions (which are not issues or bugs) here https://groups.google.com/forum/#!forum/search-guard

yeah, thanks for your replay. i will  map directly users.
if roles in sg_internal_user  are just used to show  user have and not authenticate ?


SVG: Unreadable headline

html renderer works
PDF: xx.pdf
Screenshot:

Steps to reproduce:
gulp dist-install
node examples/node/pdf2svg.js /tmp/xx.pdf

Console output:
# Document Loaded
Number of Pages: 1

# Page 1
Size: 612x792

Warning: Unknown colorspace 12
Warning: Unknown colorspace 12
Warning: Unknown colorspace 12
Warning: Unknown colorspace 12
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Warning: Unimplemented operator setFlatness
Page: 1
# End of Document

Possibly a duplicate of issue #10588.


The navigation properties were removed after updating to EFDesigner2022 from EFDesigner2019

Hi,
First of all you have great extension!.
Since I switched to VS2022 instead of VS2019, I had to use the new version of this extension.
When I first added a model using the extension, the DbContext that was generated did not have all the navigation properties that the old version did, which caused me some problems.
Is this a known issue, or are those properties no longer needed? Is there something I'm missing?

No, the code should be pretty much the same, and the navigation properties should certainly be there. Which version of the 2022 designer are you using (current version on Marketplace is <IP_ADDRESS>).

No, the code should be pretty much the same, and the navigation properties should certainly be there. Which version of the 2022 designer are you using (current version on Marketplace is <IP_ADDRESS>).

currently <IP_ADDRESS>

Hmm. Haven't seen that happen. Could you please post a small sample .efmodel file that shows the problem?

just to be clear i'm attaching here this photo that shows what happens when the code is generated..

Thanks for that. In order to determine what's going on, I'd need an .efmodel file. I understand not wanting to share the .efmodel that produced the code above, but if you can get the same behavior to occur with a simpler file, say with 2 entities and a bidirectional association between them (with the same cardinality on both sides as your production model), I'd be able to see why that's happening.
Note that the navigation properties are indeed being specified. I see TenantInfo.ResourceDefs and ResourceDef.TenantInfo in a bidirectional, one-to-many association (TenantInfo 1 <--> * ResourceDef). The delete behavior isn't generated, but it shouldn't be - specifying NoAction will cause tons of hard-to-find SQL exceptions when the necessary objects aren't in memory. Since it's required, when the TenantInfo is deleted, you most definitely need to have the associated ResourceDefs deleted. If this isn't what you want done, you'll need to change the cardinality to 0..1 - the database definitely complain otherwise.
It looks like, in VS2019, the relationship was 0/1..N rather than 1..N. Did that get changed? The IsRequired call gets generated when there's a required association; if 0/1, it's optional, so it wouldn't get generated.
Unfortunately, that's the most I can see without an .efmodel file to go by.

Hi, i'm attaching zip with .efmodel and the generated .cs file.
EFModel1.zip

Thanks for that. I opened that file and ran code generation on it. Things look right.
The DbContext-derived class created
namespace iBI.CCR.Orchestrator.Benchmark
{
   /// <inheritdoc/>
   public partial class EFModel1 : DbContext
   {
      #region DbSets
      public virtual Microsoft.EntityFrameworkCore.DbSet<global::iBI.CCR.Orchestrator.Benchmark.Entity1> Entity1 { get; set; }
      public virtual Microsoft.EntityFrameworkCore.DbSet<global::iBI.CCR.Orchestrator.Benchmark.Entity2> Entity2 { get; set; }

      #endregion DbSets

      /// <summary>
      ///     <para>
      ///         Initializes a new instance of the <see cref="T:Microsoft.EntityFrameworkCore.DbContext" /> class using the specified options.
      ///         The <see cref="M:Microsoft.EntityFrameworkCore.DbContext.OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder)" /> method will still be called to allow further
      ///         configuration of the options.
      ///     </para>
      /// </summary>
      /// <param name="options">The options for this context.</param>
      public EFModel1(DbContextOptions<EFModel1> options) : base(options)
      {
      }

      partial void CustomInit(DbContextOptionsBuilder optionsBuilder);

      /// <inheritdoc />
      protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
      {
         optionsBuilder.UseLazyLoadingProxies();

         CustomInit(optionsBuilder);
      }

      partial void OnModelCreatingImpl(ModelBuilder modelBuilder);
      partial void OnModelCreatedImpl(ModelBuilder modelBuilder);

      /// <summary>
      ///     Override this method to further configure the model that was discovered by convention from the entity types
      ///     exposed in <see cref="T:Microsoft.EntityFrameworkCore.DbSet`1" /> properties on your derived context. The resulting model may be cached
      ///     and re-used for subsequent instances of your derived context.
      /// </summary>
      /// <remarks>
      ///     If a model is explicitly set on the options for this context (via <see cref="M:Microsoft.EntityFrameworkCore.DbContextOptionsBuilder.UseModel(Microsoft.EntityFrameworkCore.Metadata.IModel)" />)
      ///     then this method will not be run.
      /// </remarks>
      /// <param name="modelBuilder">
      ///     The builder being used to construct the model for this context. Databases (and other extensions) typically
      ///     define extension methods on this object that allow you to configure aspects of the model that are specific
      ///     to a given database.
      /// </param>
      protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
         base.OnModelCreating(modelBuilder);
         OnModelCreatingImpl(modelBuilder);

         modelBuilder.HasDefaultSchema("dbo");

         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.Entity1>()
                     .ToTable("Entity1")
                     .HasKey(t => t.Id);
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.Entity1>()
                     .Property(t => t.Id)
                     .ValueGeneratedOnAdd()
                     .IsRequired();
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.Entity1>()
                     .HasMany<global::iBI.CCR.Orchestrator.Benchmark.Entity2>(p => p.Entity2)
                     .WithMany(p => p.Entity1)
                     .UsingEntity(x => x.ToTable("Entity2_Entity1_x_Entity1_Entity2"));

         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.Entity2>()
                     .ToTable("Entity2")
                     .HasKey(t => t.Id);
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.Entity2>()
                     .Property(t => t.Id)
                     .ValueGeneratedOnAdd()
                     .IsRequired();

         OnModelCreatedImpl(modelBuilder);
      }
   }
}

and the two entities are
namespace iBI.CCR.Orchestrator.Benchmark
{
   public partial class Entity1
   {
      partial void Init();

      /// <summary>
      /// Default constructor
      /// </summary>
      public Entity1()
      {
         Entity2 = new System.Collections.Generic.HashSet<global::iBI.CCR.Orchestrator.Benchmark.Entity2>();

         Init();
      }

      /*************************************************************************
       * Properties
       *************************************************************************/

      /// <summary>
      /// Identity, Indexed, Required
      /// Unique identifier
      /// </summary>
      [Key]
      [Required]
      [System.ComponentModel.Description("Unique identifier")]
      public long Id { get; set; }

      /*************************************************************************
       * Navigation properties
       *************************************************************************/

      public virtual ICollection<global::iBI.CCR.Orchestrator.Benchmark.Entity2> Entity2 { get; private set; }

   }
}

and
namespace iBI.CCR.Orchestrator.Benchmark
{
   public partial class Entity2
   {
      partial void Init();

      /// <summary>
      /// Default constructor
      /// </summary>
      public Entity2()
      {
         Entity1 = new System.Collections.Generic.HashSet<global::iBI.CCR.Orchestrator.Benchmark.Entity1>();

         Init();
      }

      /*************************************************************************
       * Properties
       *************************************************************************/

      /// <summary>
      /// Identity, Indexed, Required
      /// Unique identifier
      /// </summary>
      [Key]
      [Required]
      [System.ComponentModel.Description("Unique identifier")]
      public long Id { get; set; }

      /*************************************************************************
       * Navigation properties
       *************************************************************************/

      public virtual ICollection<global::iBI.CCR.Orchestrator.Benchmark.Entity1> Entity1 { get; private set; }

   }
}

Are you getting something different?
Note that the model you forwarded doesn't have the same characteristics as the code you posted above. The original is a 0.1..N association, whereas this one is an N..N association.
If I change it to be

then I get an OnModelCreating of
      protected override void OnModelCreating(ModelBuilder modelBuilder)
      {
         base.OnModelCreating(modelBuilder);
         OnModelCreatingImpl(modelBuilder);

         modelBuilder.HasDefaultSchema("dbo");

         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.ResourceDef>()
                     .ToTable("ResourceDefs")
                     .HasKey(t => t.Id);
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.ResourceDef>()
                     .Property(t => t.Id)
                     .ValueGeneratedOnAdd()
                     .IsRequired();

         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.TenantInfo>()
                     .ToTable("TenantInfoes")
                     .HasKey(t => t.Id);
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.TenantInfo>()
                     .Property(t => t.Id)
                     .ValueGeneratedOnAdd()
                     .IsRequired();
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.TenantInfo>()
                     .HasMany<global::iBI.CCR.Orchestrator.Benchmark.ResourceDef>(p => p.ResourceDefs)
                     .WithOne(p => p.TenantInfo)
                     .HasForeignKey("TenantInfoId")
                     .IsRequired();

         OnModelCreatedImpl(modelBuilder);
      }

and the entities become
namespace iBI.CCR.Orchestrator.Benchmark
{
   public partial class TenantInfo
   {
      partial void Init();

      /// <summary>
      /// Default constructor
      /// </summary>
      public TenantInfo()
      {
         ResourceDefs = new System.Collections.Generic.HashSet<global::iBI.CCR.Orchestrator.Benchmark.ResourceDef>();

         Init();
      }

      /*************************************************************************
       * Properties
       *************************************************************************/

      /// <summary>
      /// Identity, Indexed, Required
      /// Unique identifier
      /// </summary>
      [Key]
      [Required]
      [System.ComponentModel.Description("Unique identifier")]
      public long Id { get; set; }

      /*************************************************************************
       * Navigation properties
       *************************************************************************/

      public virtual ICollection<global::iBI.CCR.Orchestrator.Benchmark.ResourceDef> ResourceDefs { get; private set; }

   }
}

and
namespace iBI.CCR.Orchestrator.Benchmark
{
   public partial class ResourceDef
   {
      partial void Init();

      /// <summary>
      /// Default constructor. Protected due to required properties, but present because EF needs it.
      /// </summary>
      protected ResourceDef()
      {
         Init();
      }

      /// <summary>
      /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving.
      /// </summary>
      public static ResourceDef CreateResourceDefUnsafe()
      {
         return new ResourceDef();
      }

      /// <summary>
      /// Public constructor with required data
      /// </summary>
      /// <param name="tenantinfo"></param>
      public ResourceDef(global::iBI.CCR.Orchestrator.Benchmark.TenantInfo tenantinfo) : this()
      {
         if (tenantinfo == null) throw new ArgumentNullException(nameof(tenantinfo));
         this.TenantInfo = tenantinfo;
         tenantinfo.ResourceDefs.Add(this);

      }

      /// <summary>
      /// Static create function (for use in LINQ queries, etc.)
      /// </summary>
      /// <param name="tenantinfo"></param>
      public static ResourceDef Create(global::iBI.CCR.Orchestrator.Benchmark.TenantInfo tenantinfo)
      {
         return new ResourceDef(tenantinfo);
      }

      /*************************************************************************
       * Properties
       *************************************************************************/

      /// <summary>
      /// Identity, Indexed, Required
      /// Unique identifier
      /// </summary>
      [Key]
      [Required]
      [System.ComponentModel.Description("Unique identifier")]
      public long Id { get; set; }

      /*************************************************************************
       * Navigation properties
       *************************************************************************/

      /// <summary>
      /// Required
      /// </summary>
      public virtual global::iBI.CCR.Orchestrator.Benchmark.TenantInfo TenantInfo { get; set; }

   }
}

which is also the proper code for that design.

I do get the same results.
To conclude I understand that the navigation properties in the entities themselves are enough and the modelBuilder.Entity<global::iBI.DaaS.Concurrent.Metadata.Models.ResourceDef>().Navigation(e => e.TenantInfo).IsRequired(); and likewise that had been generated in the previous versions of the extension are redundant.
Am i right?

For the most part, yes.
Having navigation properties in the entities lets EFCore know they need to be handled, and they really don't need to be specified in the DbContext configuration. If they're not specified there, convention takes over and EFCore will give them its default behavior.
The designer emits a lot of code that truly isn't needed, but rather than assume that conventions won't change, that emitted code explicitly states what behavior should occur. That's helpful for both the programmer, and to stabilize things should conventions change in a later EFCore version.
The line of code you list above, though, is needed because something special is going on ... the IsRequired() call. Without it, EFCore would assume the association was 0/1..N rather than 1..N. At the time that specific syntax was emitted, there was a bug in EFCore that made the IsRequired call be the last thing in a fluent call chain, so we decided to emit it on a line by itself. It has since been reintegrated into the call chain, as you can see above with the code
         modelBuilder.Entity<global::iBI.CCR.Orchestrator.Benchmark.TenantInfo>()
                     .HasMany<global::iBI.CCR.Orchestrator.Benchmark.ResourceDef>(p => p.ResourceDefs)
                     .WithOne(p => p.TenantInfo)
                     .HasForeignKey("TenantInfoId")
                     .IsRequired();

The upshot is that the code generated using VS2019's designer was valid, as is the code generated by VS2022. There are an uncountable number of ways to specify the DbContext configuration, and they'll evolve both as the designer evolves and as the EFCore libraries do.

@msawczyn Thank you very much for the elaborated answer.


Add try_from_iter for *MemoryRegion and *RegisterData

See #33

Ah yeah, CI is broken. We can ignore macos and windows.

@diondokter please validate carefully if  the new try_from_iter methods actually never panic.


Integrate TestCafe with Google Chrome lighthouse

https://github.com/GoogleChrome/lighthouse
https://stackoverflow.com/questions/54863796/how-to-integrate-lighthouse-with-testcafe

Any chance  for an update here? Thx

Hello @tsvetann,

Thank you for your interest in our tool. At present, Lighthouse integration won't be very useful because the underlying testcafe proxy will negatively affect Lighthouse metrics. To implement this feature, we need to support native browser protocols first: https://github.com/DevExpress/testcafe/issues/2623 and https://github.com/DevExpress/testcafe/issues/2624. Feel free to vote for them.

+100 - I would love to use TestCafe to integrate LightHouse into our testing! Their suggestion of puppeteer introduces a completely different language into my Automation that I do not want.  This would be 100% beneficial!  Please implement. :)

Thank you for your input.

Same here. I would love Lighthouse to get integrated with TestCafe so that I no need to rely on other frameworks to Audit our App.

Hi @abhinaba-ghosh
Thank you for your efforts. I've tried to run your module and found a problem.

I guess you need to replace the export keyword with the import one.

Hi @abhinaba-ghosh
Thank you for your efforts. Before we close this enhancement, we need to perform a small test your library.

Hi @miherlosev That would be great. Feel free to raise PR and suggest enhancements.

The module checking is blocked by this issue: https://github.com/DevExpress/testcafe/issues/5190. We will research the cause of the issue and check for a suitable solution. We will update this thread once we have any news.

The exports issue related to testcafe-lighthouse is solved in version 1.2.0
Reference: https://github.com/abhinaba-ghosh/testcafe-lighthouse/issues/4

Thank you for the update. We will take it into account.

@miherlosev Is it good to close now?

Yes, we can close this issue.


Changed gitignore for more readability

Fixes
Checklist

[ ] I have made a material change to the repo (functionality, testing, spelling, grammar)
[x] I have read the [Contribution Guide] and my PR follows them.
[x] I updated my branch with the master branch.
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation about the functionality in the appropriate .md file
[ ] I have added in line documentation to the code I modified

Short description of what this PR does:

Improved gitignore, so it's more complete, more readable and future proof

If you have questions, please send an email to Sendgrid, or file a Github Issue in this repository.

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


I have added a HTML PDF

I have added a HTML PDF that I think would really help coders. Please review my PR. Thank you 😄

@HareerSakhi LGTM

@HareerSakhi Congratulations for your first PR.

@all-contributors add @HareerSakhi for content.


Update falsification review 1

Updating falsification guide with references to trek separation, how its depicted graphically, and how we could use it to falsify our hypothesized causal graphs with latent confounders.

Tagging you all for visibility in case you're interested!
@bouzaghrane
@hassanobeid1994