Update commons-configuration2 to 2.10.1

About this PR
📦 Updates org.apache.commons:commons-configuration2 from 2.9.0 to 2.10.1
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (2.9.0).
You might want to review and update them manually.
build.sbt

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.commons", artifactId = "commons-configuration2" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.apache.commons", artifactId = "commons-configuration2" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, old-version-remains, commit-count:1

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 78.91%. Comparing base (27f1885) to head (b1c308d).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2871      +/-   ##
==========================================
+ Coverage   78.88%   78.91%   +0.03%
==========================================
  Files         467      467
  Lines       15966    15966
  Branches     2577     2577
==========================================
+ Hits        12595    12600       +5
+ Misses       3371     3366       -5

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Superseded by #2912.


[bug] Trending tab data issue on mode switching(Day/Night)

News on Trending tab not appear after switching to night mode.

Issue fixed in release 1.0.1
Link https://play.google.com/apps/testing/com.fafadiatech.newscout


How to change the time zone of the docker container o(╥﹏╥)o

hi！
I tried to use the timedatectl command to modify the time zone, but the system prompted that the command does not exist. Later, I tried manually modifying the/etc/localtime file, but it didn't work

Changing the timezone of the container is not something this project supports or recommends.


add validations.json to bundle generation

I added this new generated file in the src/ directory. In theory there could be collision between address space in a bundle steps because they are separate tf states. @chrisghill lmk if this file is expected at top level (next to massdriver.yaml) should be simple to move it.
during this PR I noticed a lot of the files in this repo don't obey the pre-commit and we could use to turn on some more aggressive go linting. I'lll propose those changes in a separate PR.

I added this new generated file in the src/ directory. In theory there could be collision between address space in a bundle steps because they are separate tf states.
The validations.json goes in the src/ directory. Since each bundle step is in its own directory, it would also have its own validations.json file to prevent collisions 👍


PR: Updates

@nerohmot we need to create a secret named
CONDA_UPLOAD_TOKEN with the token to upload artifacts.
If you can give me admin access to th repo I can set it up.


Better handling of the '[' and ']' characters in the body of the object

Ideally, I would like to prepend '[' and ']' with a backslash, so I can these characters in property names and notes.
Something like '[This is a note about item [123] in array]
Thanks,
Vladimir

hi Vladimir, I think that's the case, but I will review it, something like this shall work:
[This is a note about item \\[123\\] in array]

Unfortunately, neither \[ nor [ worksL
I looked at the code and I think that the splitYumlExpr function needs to be improved to support this scenario.
I was playing with idea of the ‘universal’ regex to split the string into parts, but I couldn’t build one because of the vanilla Javascript implementation of the regex (I needed a positive lookbehind feature).
The easiest way to solve it, but not an elegant one, I’m afraid, is to replace special characters prepended with ‘\’ before parsing and restore them after.
Kind of like this:
this.splitYumlExpr = function(line, separators) {
var word = "";
var lastChar = null;
var parts = [];
// a special handling for the ( ) < > | [ ]
// we are going to replace them with special characters and restore after
// the parsing
line = line
.replace(/\(/g, '&&op&&')
.replace(/\)/g, '&&cp&&')
.replace(/\[/g, '&&osp&&')
.replace(/\]/g, '&&csp&&')
.replace(/\</g, '&&oap&&')
.replace(/\>/g, '&&cap&&')
.replace(/\|/g, '&&pp&&');
for (var i = 0; i < line.length; i++) {
c = line[i];
if (separators.indexOf(c) >= 0 && lastChar === null) {
if (word.length > 0) {
parts.push(word.trim());
word = "";
}
switch (c) {
case '[':
lastChar = ']';
break;
case '(':
lastChar = ')';
break;
case '<':
lastChar = '>';
break;
case '|':
lastChar = '|';
break;
default:
lastChar = null;
break;
}
word = c;
} else if (c === lastChar) {
lastChar = null;
parts.push(word.trim() + c);
word = "";
} else {
word += c;
}
}
if (word.length > 0)
parts.push(word.trim());
// replace back
for (var p = 0; p < parts.length; p++) {
parts[p] = parts[p]
.replace(/&&op&&/g, '(')
.replace(/&&cp&&/g, ')')
.replace(/&&osp&&/g, '[')
.replace(/&&csp&&/g, ']')
.replace(/&&oap&&/g, '<')
.replace(/&&cap&&/g, '>')
.replace(/&&pp&&/g, '|');
}
return parts;
}
As I said, not an elegant, but workable solution….
Thank You,
Vladimir
From: Jaime Olivares<EMAIL_ADDRESS>Reply-To: jaime-olivares/vscode-yuml<EMAIL_ADDRESS>Date: Wednesday, November 16, 2016 at 8:41 PM
To: jaime-olivares/vscode-yuml<EMAIL_ADDRESS>Cc: Vladimir Yangurskiy<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [jaime-olivares/vscode-yuml] Better handling of the '[' and ']' characters in the body of the object (#15)
hi Vladimir, I think that's the case, but I will review it, something like this shall work:
[This is a note about item \[123\] in array]
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Created https://github.com/jaime-olivares/vscode-yuml/pull/18 with another idea for a fix. Please have a look.
Not sure how to link the PR to this issue, thought it might be about the title - unfortunately not... Please advise.

Replaced the PR by an improved https://github.com/jaime-olivares/vscode-yuml/pull/19. Sorry, have to edit from a web terminal...

Already solved in PR #19


fix(ws_transport): correct split header bytes (IDFGH-13859)

Not ready to submit, prototype fix only. Posting for discussion.
Description
Prototype workaround for WS failing to parse when WS frames get split across a very specific timing and spacing pattern.
This fix is functional, but may rarely exceed the expected timeout.
I'm not sure if this is the right layer to fix it - perhaps the underlying TCP and TLS transports should be fixed instead to always wait up to the max timeout before returning failed bytes?
Related
Fixes #14704
Testing
To test, a printout was added when fallback is triggered. When we tried to make this failure more consistent, we could only get it to around 10% of the time. It's network-timing and traffic-burst specific.

Checklist
Before submitting a Pull Request, please ensure the following:

[ ] 🚨 This PR does not introduce breaking changes.
[ ] All CI checks (GH Actions) pass.
[ ] Documentation is updated as needed.
[ ] Tests are updated or added as necessary.
[ ] Code is well-commented, especially in complex areas.
[x] Git history is clean — commits are squashed to the minimum necessary.

I occasionally encounter an issue with the websocket where a semaphore is halted for 10 seconds. It seems that the underlying transport_ws layer is experiencing performance problems and sometimes gets stuck. Additionally, there are other issues in the transport layer that close the connection with errno 118/119. We haven't been able to solve these problems yet.
We need to conduct more tests. We will try to check and print the payload sizes to determine what is causing the issue.

Could be related? I'm not familiar with when that semaphore is held. What file is that in?
The problem I've run into is whenevr the next layer down's read function returns early(before the timeout with fewer bytes than expected). When that happens, transport_ws's parser gets off a few bytes, then may misinterpret the payload as header. Worst-case, the following payload starts with byte 126 or 127, which are RFC6455 codes for "extended payload length". When that happens, transport_ws may try to read a large(125B - 4GB) frame - if the other side isn't sending a lot of data, this may take approximately far too long for the read to complete.

Are you using esp_websocket_client? It looks like that lock would be held across the call to esp_websocket_client_recv(), which can hang while parsing garbage. Are you using a binary payload by chance? That's likely to be worse - we're sending EngineIO, so our misinterpreted payload-as-header bytes are usually ASCII numbers.

Are you using esp_websocket_client? It looks like that lock would be held across the call to esp_websocket_client_recv(), which can hang while parsing garbage. Are you using a binary payload by chance? That's likely to be worse - we're sending EngineIO, so our misinterpreted payload-as-header bytes are usually ASCII numbers.

We are using text for both sending and receiving. The problem sometimes occurs during both receiving and sending, and we haven't been able to identify the source to reproduce it consistently. We can reproduce it by dropping the Wi-Fi connection and through other external actions, but this doesn't reveal the origin of the problem.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: bryghtlabs-richard:x: david-cermakYou have signed the CLA already but the status is still pending? Let us recheck it.


SuiteCloud Extension for VSCode - Compare to Account File doesn't work as expected

Select the SuiteCloud tool where you encountered the issue
SuiteCloud Extension for VSCode
Version of the SuiteCloud Tool
2.0.0
Operating system
Windows 11 23H2
Node Version / VSCode Version
v18.20.3
JAVA Version
java 17.0.5+9-LTS-191
Bug description
Months ago this function was working as expected but since quite some time it seems to be broken.
Whenever you try to compare a file to the account, only the first comparison is working like it should. All others will be compared against the first selected local file until you reload VS Code.
Steps To Reproduce

You select a file in the cabinet and choose 'Compare to Account File'
You get a diff view comparing the account and local file, so far so good
You select a new file in the cabinet and choose 'Compare to Account File'
Incorrect diff view pops up comparing account file to the file from step 1.

Actual Output
No response
Expected Output
No response
Anything else?
No response

Hi @Elroban85,
I'm not able to reproduce your described behavior. I have tried in 2 machines, one with macos and another one with Windows.
These are the specification on my windows machine. I just see a different java version, and I don't know which is your vscode version.
Select the SuiteCloud tool where you encountered the issue
SuiteCloud Extension for VSCode
Version of the SuiteCloud Tool
2.0.0
Operating system
Windows 11 pro 23H2
Node Version / VSCode Version
This should be the vscode version, in my case: 1.92.2
(internally uses nodejs 20.14.0)
JAVA Version
"17.0.12" 2024-07-16 LTS
Please try to update your java version to the latest oracle available for java 17 LTS, and also update your vscode version to the latest.
If the problem persists, I would like to know even more preciselly, if you have more files open, if you close the comparation opened tabs between first and second comparision, and how do you trigger the compare files commands (I might be missing something that you are doing differntly).

Hi @davidecorreu
My VS Code version is 1.92.2, and I have just updated my JDK to Java 17.0.12 (2024-07-16 LTS), so everything should be up to date.
It doesn't matter if I have multiple files open or not; the file to be compared seems to be cached for a while. I noticed that if I leave VS Code idle for some time (not sure exactly how long), it will eventually compare the latest selection.
I was mistaken—it is not the local file that is cached, but rather the account file as you can see in the video. Everything is compared to file 2.
In the attached video, you can see what I do and how I perform the comparison.
https://github.com/user-attachments/assets/1b506bcf-79a4-47ed-8ff1-88c4502a04fb

Hi @Elroban85 ,
Thanks for the provided video, it actually helped in the investigation.
I have been able to reproduce the behavior by comparing files in a project that has git vcs initialized on it.
So far I tried with 3 files that haven't been committed, and have the same green color as in your video.
I'm not sure why this is happening but at least we can replicate for further investigation.
This it's just a quick heads up message, to let you know that we are able to reproduce the same behavior.

Hi @Elroban85 ,
The problem it's not related with git. After some digging I have found that our vscode-extension implementation code doesn't work well when trying to compare multiple files.
The work around is to close any previous comparison tab generated by the Compare with Account File command on vscode before trying to compare a new file. If you do so, you'll see that account file content will be properly refreshed in the new comparison tab.
I now this isn't very convenient and will need to decide how to tackle this. We'll let you know about it soon.

Not at my pc at the moment but you're sure that works?
In my video I closed all file tabs and it didn't work though, or do you mean in a different way?

I'll investigate further, but you are right, you are closing al the tabs in you video.
I did close the tab manually by clicking on the X, which who knows if it makes a difference.
Anyway I have seen that we are reusing always a vscode text document provider with the same scheme label, and I suspect that could be the source of the problem.
We'll keep investigating further.

I was experiencing the same issue long time ago with version 1.6.0.
I found that it happened only with installed and activated GitHub and/or GitHub Pull Requests VSCode extensions. Uninstalled them and Compare to Account File started working again.

Hi @Elroban85 ,
We have just released SuiteCloud Extension for VSCode version 2.0.1.
Compare to Account File should work as expected now.


Is it possible to insert an alternative STA?

If the main STA is missing, is it possible to insert a secondary STA?

Another SSID it is looking for? Could be done, but requires manual scanning as the ESP usually just looks for one configured SSID. I don't think I will add this in the near future.


Update README.md

Added. Note: this service only supports desktop browser testing
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Merged, thank you again for your contribution!


Deploy to market

Diol backend service:
https://github.com/Dotnet-IO-logger/core/releases
Diol VSIX:
https://marketplace.visualstudio.com/items?itemName=Diol.diol

Deployed


Javadoc documentation and improved mouse drag button customization

See notes from my original pull request:

See ogallagher/fxgraph #1 and ogallagher/fxgraph #5 for already mentioned details as to what I’ve changed.
Other issues in my fork are conjectures that shouldn’t have been worked on yet.
Since by comparison sirolf2009 doesn’t seem to be actively maintaining their fxgraph root repo, for now I’m requesting to merge into the Col-E fork.

Let me know whenever you're done working on the PR's and I'll take a look 👍
Feel free to @ me so I can see the notification.

I can merge this locally along with the following PR when I get back to my PC👍

Added some minor adjustments so mvn package would build, merged 👌


Window events web resize bug

Window resize events works incorrect on web target. (Check luxe/tests/features/window_event). Probably it's happened because of snow WindowSystem implementation.
Check line 561 in WindowSystem.
I've tried to fix it, simply removed iteration is fs_windows array, but I'm not sure if it's correct.

Could you please elaborate on what you are actually expecting and what you are seeing? :)
I don't see anything wrong here from the quick event test, I pushed an updated version - run it and press the R key. When the actual canvas resizes, the events are fired. The browser window doesn't resize the child elements unless there is css to do that, by default there is not.
Try also the snow sink test,

run with flow build web --timeout 0
press alt+enter to go window fullscreen
resize the window or toggle alt+enter
note that the box always bounces back on the "right edge"

If you could elaborate on what you expected, perhaps that might clear things up?

When I resized a browser window I expect that a window resize event should be fired, so it would make possible to change a canvas size and fit it into browser window. But only a window(canvas) move event has been called, instead of resize event.

Yea, this is expected because if you wanted the BROWSER resize event - it is not the event that comes from the snow window itself. snow window = canvas element. If the browser resize fires on the window event, it would break all the logic across web vs other targets, especially when a user starts adding logic or css to the canvas (which is normal) and this is bad.
I can see the value in wanting to know when the browser is resized, but I will have to see if this fits anywhere in snow level - for example in regular haxe code you have access to js.Browser.window.addEventListener('resize', function(e){ trace(e); } ); or similar, using #if js that would give you the event you wanted in the mean time?

Yeah, sure, sorry, my bad, I misunderstood an architecture a little bit so it's little bit confused me. Thank you for help. And your explanation is great. I think you should write more articles about luxe.

No problem!
I will write A LOT more when things are a bit more finalized, as if they change it's 2x as much work :)
The alphas won't be too many or too long, and by beta everything will be written out.
If you have specific questions, feel free to ask them on github, the snowkit.org site or the chat and I'll be happy to answer short term.


Call to esp_wifi_sta_get_ap_info significantly delays wifi response (IDFGH-7070)

Environment

ESP32 Pico Dev Kit 4.1 running ESP-IDF 4.4 stable version
CMake build system
xtensa-esp32-elf-gcc v8.4.0
Operating System: Windows
Environment type: PowerShell, Eclipse ESP-IDF
Power Supply:  USB

Problem Description
I'm running an application that acts as a wifi IoT device that connects to my wireless AP. Normally, when I ping the device, the ping response varies between 20ms and 120ms when the application is "idle". This seems excessive already, however, when I start up a task which calls esp_wifi_sta_get_ap_info once per second to obtain the RSSI value, even though this call only takes less than 500us, the ping response of the device varies between about 200ms and 4000ms. It appears that the call to esp_wifi_sta_get_ap_info is ithe wifi handler, but I am not really sure what's actually happening.  There's no indication in the ESP-IDF documentation that this might be a concern.
I also found that other HTTP requests to the ESP32 from a client are also disrupted or delayed. They don't seem to get lost, but can be delayed by a few seconds.
Expected Behavior
I would expect a call every second to esp_wifi_sta_get_ap_info to have little or no effect on ping or other network command response.
Actual Behavior
Calling esp_wifi_sta_get_ap_info once per second causes ping response to degrade severely (by about 10x). It often in fact does not respond for several seconds at a time to pings or to other network requests. I can relax the interval for reading RSSI to, say, every 5 seconds. But then the network request will be delayed intermittently accordingly. That is, every few seconds, in that case, a ping response, for example, may be delayed and require 1 second or up to several seconds.
The interference to response is not limited to ping. The REST API server also is delayed by the calls to esp_wifi_sta_get_ap_info in a similar way.

Steps to reproduce

Run ESP32 application that connects to wifi
Put ESP32 application in a mode which checks RSSI once per second
Ping the ESP32 application from another client on the network
Observe very slow ping response.

Hello @mbratch, Thanks for reporting the issue. With help of the information that you have provided, we are able to reproduce the issue and are looking into it. This is possibly caused due to messages missing the timing to reply because of the blocking nature of esp_wifi_sta_get_ap_info API, and timing is important as power save is enabled by default in the station example.
So meanwhile, if power saving is not an issue, you can try disabling it by making the following API call esp_wifi_set_ps(WIFI_PS_NONE); after esp_wifi_start();. This should fix the normal latency issue and the turnaround time after calling the esp_wifi_sta_get_ap_info API should also not be that high.

Thank you for the reply. I already have power save turned off for wifi when I observe the issue I reported.

Ohh. The latency on my side after turning off power save seems quite low (2ms to 10ms) compared to when it is on (similar to reported observations https://user-images.githubusercontent.com/7990964/160707521-ed7fe232-09b9-4646-a1d7-26368eacb042.png).
Can you please provide a sniffer capture containing the ping data? Please try to either include the communication of AP with other nodes in the network or isolate the test device and ping device altogether.

@hpdhaba thanks for the quick reply. Overall, what is the ping latency you observe? Without the calls to esp_wifi_sta_get_ap_info I'm seeing a range of ping response times of my ESP32 device of 30-150ms. Average close to 100ms. Is that normal? I ran the basic wifi example application with the same results, so I confirmed it isn't affected by my own wifi event handling.
Regarding the esp_wifi_sta_get_ap_info call, I don't think it matters, but I should indicate that I am calling it from a FreeRTOS software timer function, once per call, at regular intervals.
I will try to get you a sniffer capture. I have to confess I am not practiced at Ethernet sniffer captures, but I really need to be... :)

Overall, what is the ping latency you observe?

40ms to 200ms.

I'm seeing a range of ping response times of my ESP32 device of 30-150ms. Average close to 100ms. Is that normal?

Yes, that is normal in the case of esp32 as the station defaults to power save enabled.
If you disable it, it should improve a lot. I got close to 2ms and 20ms.

Regarding the esp_wifi_sta_get_ap_info call, I don't think it matters, but I should indicate that I am calling it from a FreeRTOS software timer function, once per call, at regular intervals.

There is definitely something wrong with the API though. We are trying to get to the bottom of it.
Thanks.

Thank you @hpdhabe . To be clear though, I have always been operating with the wifi power save OFF and my ping response is 30-150ms. It may be longer if I turn on power save. So it seems it is abnormal.

Hi @hpdhabe I did a couple of Wireshark captures. ws1ap.pcap is without the calls to esp_wifi_sta_get_ap_info. ws2ap.pcap is with a call to esp_wifi_sta_get_ap_info every 2.5 seconds.
wsap.zip

Thanks you for the effort @mbratch.
I took a look at the sniffer capture that you have attached and indeed the response time is more that what it should ideally be. But the key information that is required to make sense of the situation is missing from the sniffer. That might be possible if you had used IP addresses as the filter in wireshark. (ip.addr) instead of MAC addresses (wlan.addr).

I did include the AP (<IP_ADDRESS>) in the filter, but I didn't see anything in the capture to/from that address.

This is expected to happen as the WiFi frames will not have IP information. To get those packets, you will have to use wlan.addr.
It will be great if you can update the sniffer capture and also upload the sdkconfig.

Hi @hpdhabe I did a couple of Wireshark captures based upon MAC address. One without the RSSI calls and one with, as before. See attached file. MAC of my ESP32 device is D8:A0:1D:5D:C0:4C.
wsap_mac.zip

Hi @mbratch, I still cannot see WiFi frames in the capture that you have provided. Can you please elaborate on the setup that you are using for sniffing.
It might be possible that you are sniffing on the network instead of sniffing the channel on which the network resides. In which case, you will have to put your sniffing device in monitor mode and sniff the channel. What we are trying to achieve here is, capture the 802.11 packets and by taking a look at them we can access the situation of power save, channel congestions or some other unknown factor.

@hpdhabe I have Wireshark running on my laptop. From that laptop I am continually pinging the ESP32 device and capturing the packets in wireshark, filtering on the MAC address of the ESP32.
I definitely appreciate what you are after. I am just not sure how to set up to obtain it for you. Can I do it with Wireshark? If so I can do some digging in the documentation for setting it up properly.

@mbratch,

Can I do it with Wireshark? If so I can do some digging in the documentation for setting it up properly.

Yes, you will ultimately have to use Wireshark. But first, put your laptop in Monitor mode and then sniff the WLAN interface.
Here are some resources that might help you to capture 80211 packets.
If you are using a Windows machine, try: https://www.youtube.com/watch?v=As9BUoOMk_A
If you are using an iOS machine, try: https://www.macupdate.com/app/mac/56809/airtool/old-versions
If you are using a Linux machine, try:
ifconfig wlp0s20f3 down
iwconfig wlp0s20f3 mode monitor
ifconfig wlp0s20f3 up
iwconfig wlp0s20f3 channel 3
wireshark

Please note that a lot of WiFi cards (NIC) don't support putting them in monitor mode. So it is vital to check the compatibility of your laptop's NIC.
Hope that helps.

Sadly, I don't think the wifi hardware on my laptop (Qualcomm Atheros QCA9377) supports monitor mode. I do have a Linux server but it's on the wired network. If I were to ping my ESP32 from the server it's going through wired then wireless but will it capture what I need?

I am also having this issue. I have one network setup where the ping delays go from 50-100ms normally to 1.5 seconds or more. I have another network where it seems to be much worse and it misses pings entirely for 5-6 seconds.  I think I do have power saving enabled.
I'm also running 4.4. My own branch with minimal fixes. Last merged point was 121ddb87e5 ("Merge branch 'bugfix/fix_adc_digital_not_reset_issue_v4.4' into 'release/v4.4'", 2022-03-08)
Some observations:
I can poll the RSSI (via my own Modbus lib and UART) and it returns super quickly (~20ms). If I poll it quickly (~100ms) it returns a different RSSI value each time. So it is doing something and it does it fast. So it seems to be an issue with returning to a normal operating state after fetching the AP info.
I have access to the right adapter to capture packets (wifi monitor mode), but it's been a long time since I tried to do it. I can have a go at capturing something if it is helpful? I have not yet tried with power saving disabled.

I have tried it with power saving disabled.
esp_wifi_set_ps(WIFI_PS_NONE);

This does reduce my normal pings to <10ms. It also does seem to work fine regardless of how often I call esp_wifi_get_sta_ap_info().
I'm probably not going to bother capturing packets as it seems the issue as far as I can observe it has been reproduced already. Is there anything to be learned from my network that goes out for 5+ seconds?

Hi @not-my-real-name, your results match the testing that I have done.

Is there anything to be learned from my network that doesn't reply at all for 5+ seconds after calling this function with power-saving enabled?

It is that the issue is with the power save mechanism and I have also raised a fix for the same.
The ping with power-save mode enabled should now not be more than 200-250ms and should ideally be below 100ms regardless of which API is being called.

I can have a go at capturing something if it is helpful?

I think we can pass on this since the root issue has already been isolated. And thanks for considering.
I have raised a fix for the master branch but it will take time for it to be back-ported on other release branches.
@mbratch This issue will automatically close once the change is available on the latest master.

Hello @hpdhaba. As I mentioned in a prior comment, I have the problem even though I have WiFi power save turned off. However, I would still like to try the fix when available in case it still resolves my issue before deciding that the issue I raised is closed.

I believe I might be seeing a related issue. I'm seeing total lockups that I haven't fully tracked down, but seem to be in a micropython function that calls this API, with power save enabled.

@jack0c  I may not be reading the commit 51f6091 correctly, but does the commit only affect ESP32s3 and ESP32c3? My processor is ESP32-pico-d4.

Hi @mbratch , it does fix all chips. Since no WiFi rom code on esp32, there is no modification in esp32.rom.ld.

Thanks for reporting, feel free to reopen.


Disable autocorrect on iOS for issue #1473

The best I can do for #1473, I can't work out any reason why the autocorrect window would be bugged like that.

Merged in 2bba983f1d90b26fac4560600a226156e6721b2a


Issue 2479 - Update installation documentation

Make sure you have checked all steps below.
Issue

[x] My PR addresses the following issues and references them in the PR title. For example, "Issue 1234 - My Sleeper
PR"

Resolves https://github.com/gchq/sleeper/issues/2479

Tests

[x] My PR adds the following tests OR does not need testing for this extremely good reason:

Just documentation

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it, or I have linked to a
separate issue for that below.
[x] If I have added, removed, or updated any external dependencies used in the project, I have updated the
NOTICES file to reflect this.

I think we should explicitly document the best way to use a released version, i.e. run sleeper builder, then git clone the repo, then checkout the desired version, then run buildForTest, etc.


feat: Support of additional helm values for kubernetes-addons

What does this PR do?
This PR add the ability to set multiple helm values for kubernetes-addons without deleting the default values.
There is a many way to set the values depending on how the consumer is building the raw yaml content. Function like yamlencode, templatefile, file etc... can be used.
Below is an example with 3 different additional values for Karpenter installations
 karpenter_helm_config = {
    name       = "karpenter"
    chart      = "karpenter"
    repository = "https://charts.karpenter.sh"
    version    = "0.6.3"
    namespace  = "karpenter"
    values = [
      templatefile("${path.module}/values.yaml", {
        eks_cluster_id       = var.eks_cluster_id,
        eks_cluster_endpoint = var.eks_cluster_endpoint,
        service_account_name = var.service_account_name,
        operating_system     = "linux"
      }),
      file("karpenter-custom-values.yaml"),
      templatefile("karpenter-additional.yaml", {}),
      yamlencode({
        "nodeSelector" : {
          "kubernetes.io/os" : "linux"
        }
      })
    ]
  }

Motivation

Resolves #512 and #863

More

[x] Yes, I have tested the PR using my local account setup (Provide any test evidence report under Additional Notes)
[ ] Yes, I have added a new example under examples to support my PR
[ ] Yes, I have created another PR for add-ons under add-ons repo (if applicable)
[x] Yes, I have updated the docs for this feature
[x] Yes, I ran pre-commit run -a with this PR

Note: Not all the PRs require a new example and/or doc page. In general:

Use an existing example when possible to demonstrate a new addons usage
A new docs page under docs/add-ons/* is required for new a new addon

For Moderators

[ ] E2E Test successfully complete before merge?

Additional Notes

Hello, any chance to review/merge this PR?
This PR is justing extending values attribute related to helm configurations.
It is going to be hard to keep it up to date whenever a new addon is added.
If it is merged earlier, new addon can take advantage of it and will include that feature from the baseline PR.
Thanks

From what I can see this still won't let me use the default values file from an addon but provide additional values files? It looks like using values in the addon config completely overrides the addons core values file.

Hello.
The values file inside the module is always use.
This PR created an array :
custom values provided by your config + values.yaml defined in the module
and passed to the helm-addon modules

Thanks @florentio. This will be handled in a separate PR. cc @bryantbiggs


Does this recursively render nested pages?

I have a book written in Notion where each chapter is its own Page, all collected in one master Page. Does this library recursively render those child pages (and any child pages they may have) into one single concatenated Markdown string?
Thanks!

No it does not. Link to those pages are converted into markdown links.

Thanks for the reply!

Hey, to validate the same use case i tried with a very small page which has nested pages and I got desired output.
[Page 1](67795d5b-7733-452a-83dc-025724b930bf)

        This is the content of the page 1

        [Page 1.1](13860609-1fa5-417a-9be2-729fb83706bf)

                This is the content of Page 1.1

But when I tried with a pretty big book I am just getting the appropriate page ids and not the whole content. IN both the cases I used pageToMarkdown with just the page id and when I tried with a total page number like 100 am still getting the same. Any help?

Okay, i figured that in the case which it didn't work as expected the pages are inside the 'column_list' type. So is there any inbuilt support to get the same as similar to above example I shared should i need to handle it by myself?

Can you provide steps to reproduce the issue?  @abudhakeer  or maybe share the notion page link with similar format?

Sure. Here it is https://www.notion.so/Blendle-s-Employee-Handbook-7692ffe24f07450785f093b94bbe1a09

@souvikinator Were you able to check it out?

@abudhakeer Thanks for creating this issue. I am also looking forward to learning how to fetch all inner pages as well.

@souvikinator Any update ser?

Hey, my bad I got occupied with stuff. I checked out the page and as you said, there is an inconsistency in parsing.
In the column, the page content is not being fetched however that is not the case when the pages are listed typically.
Also, the content of the page is not being rendered properly.
I would like to know how you want this to be parsed. Do you want the content of the nested pages on the same page or only link to the nested pages?

Thank you for the response. Would be better if it's something similar to this example shared here https://github.com/souvikinator/notion-to-md/issues/58#issuecomment-1455556816

Page 1
    This is the content of the page 1

    [Page 1.1](13860609-1fa5-417a-9be2-729fb83706bf)

            This is the content of Page 1.1

so the problem with this is, due to indentation the markdown parser treats it as a code block as you can see here as well.
After the fix hopefully, the indentation won't be there.

Gentle reminder @souvikinator

Hey, @abudhakeer just to give you an update I'm working on it and the fix should be live in the upcoming update along with other features. Thanks for your patience :))

Awesome. Thank you for the update. BTW, any approx timeline for the next release ser?

@abudhakeer PR #67 should fix the issue, works fine on my end.
Can you confirm?


Update Tuya RCBO quirk power factor calculation for home-assistant/core#107641

Proposed change

Amend power_factor calculation to respect Zigbee cluster specification - required for release of zha fix:
https://github.com/home-assistant/core/pull/107641
Additional information

This updates the power factor calculation to multiply by 100 rather than 1000, this is because the ElectricalMeasurement attribute is supposed to expose values between -100 and 100 (see the pre-requisite PR 107641 for details).
The current code exposes values between 0 and 1000, which is subsequently divided by 10 due to the behaviour of the zha cluster sensor corrected in https://github.com/home-assistant/core/pull/107641
If released without https://github.com/home-assistant/core/pull/107641 the value reported will be an order of magnitude too low.
Checklist

[x] The changes are tested and work correctly
[x] pre-commit checks pass / the code has been formatted using Black
[ ] Tests have been added to verify that the new code works

The Tuya quirks tests probably need to be corrected to expect the new value then. See:

https://github.com/zigpy/zha-device-handlers/actions/runs/7553664099/job/20564936540?pr=2896
https://github.com/zigpy/zha-device-handlers/pull/2896/files (test file should be annotated on web)

(and ideally, the HA PR needs to have tests for the added code)

@TheJulianJES once you are good with this you can merge this and the corresponding HA PR: https://github.com/home-assistant/core/pull/107641


Add RowsScanner interface

Currently it is impossible to fully unit test code that is using sqrl since Query method requires *sql.Rows as return value. I am proposing to add RowsScanner interface that would allow *sql.Rows to be replaced by another struct that implements required methods.
type Queryer interface {
    Query(query string, args ...interface{}) (RowsScanner, error)
}

As far as I can tell, RowsScanner could look something like this:
type RowsScanner interface {
    Columns() ([]string, error)
    Next() bool
    Close() error
    Err() error
    RowScanner
}

Hi @ajpetersons! Thanks for the idea! Sorry for taking so much time.
This change needs some thought, though. The purpose of sqrl is to help building SQL queries, not running them. IMHO, this part is more like "syntactic sugar": you provide your *sql.DB connection, sqrl generates a query, runs it and returns familiar sql.* objects. Just to support interface of *sql.DB and keep return types consistent. Personally, I'd be surprised to get sqrl.RowsScanner instead of *sql.Rows I expected from *sql.DB calls.
What do you think?

What I am proposing (in my mind) is to have something similar to QueryRow method. At the moment QueryRow returns an interface which is no problem to operate with the same way as if it was *sql.Row. As long as the proposed RowsScanner interface is complete, you could use the interfaced object anywhere you would normally use *sql.Rows as it does not have exported fields, only methods.


Force interpretation of state vars as the array

I propose to standardize the control function call. In case of having only 1 state var, _bondgraph_to_residuals() will call control function with x as number, but later on in the residual() routine (line 213) it will be called with x as array[1].

I'm not sure, may be it's done for some valuable reason, but for me it's very strange. I define control function and it is called with different parameters later on.


Certificate not regenerated when domains are added/removed

With the cert or manage commands, providing new domains or removing some will not regenerate a new certificate if the current one is not expired. Perhaps an option could be added to force regeneration if the provided domains don't strictly match the current certificate ?
An option to unconditionally regenerate could also be useful.

Or maybe we could revoke current one. Is there a date to get it in a new release @zealot128 ?

I've pushed some code that should handle the added case. I havn't tested it thoroughly, as I have no use case atm and not too much time. Feel free to try version 0.3.0 on Rubygems and report if that fixes your issue!


Support page size and page token

When the Cloud Resource Manager supports paging, we should add in page size and page token as list options.

Update: Cloud Resource Manager now seems to support paging.


Add compatibility for Compute API /v2.1/{tenant_id}/servers POST

Add compatibility for CIAO Compute API for /v2.1/{tenant_id}/servers
for method POST, the calls and results should be in same format as
Nova to be fully compatible with OpenStack.
Signed-off-by: Leoswaldo Macias<EMAIL_ADDRESS>

Fix for  https://github.com/01org/ciao/issues/209

Coverage increased (+0.01%) to 60.873% when pulling 4aa603d12b1238600b0e3b6a27d70b864f13db32 on leoswaldo:master into 18dd5982f1f66628ec93a353953cdbe3a44079c7 on 01org:master.

Coverage increased (+0.01%) to 60.873% when pulling e2a9a85c78c6ad5ffd7bdcf2ea90d8faa62f8095 on leoswaldo:master into 18dd5982f1f66628ec93a353953cdbe3a44079c7 on 01org:master.

Coverage increased (+0.005%) to 60.866% when pulling cadd360d04cbfe17b1152a7147e18e1760bf40f3 on leoswaldo:master into 18dd5982f1f66628ec93a353953cdbe3a44079c7 on 01org:master.

need to coordinate this change with @sameo next week since it will impact the release tests.

Coverage increased (+0.02%) to 60.874% when pulling 7d61065c58837ce8896ca6f5236dea03f59225bc on leoswaldo:master into a0bbe1aa8c73e1e33905e076bc764b93e3279f9f on 01org:master.

Coverage increased (+0.03%) to 60.881% when pulling 7d61065c58837ce8896ca6f5236dea03f59225bc on leoswaldo:master into a0bbe1aa8c73e1e33905e076bc764b93e3279f9f on 01org:master.

Looks good to me, this is ready to be merged.

Coverage increased (+0.05%) to 61.86% when pulling d5926e359e6086e9dd8a3b4c665d4eddf05104bd on leoswaldo:master into 5a036d82ade421fbc7cef2ca575bed5b24e24b2e on 01org:master.

Coverage increased (+0.05%) to 61.86% when pulling d5757eb7c76e04f4b572576f088b15dedfeace3a on leoswaldo:master into 5a036d82ade421fbc7cef2ca575bed5b24e24b2e on 01org:master.


[FEAT] hardened Unprivileged user namespaces by Apparmor

Describe the benefit this feature would provide to the project
Unprivileged user namespaces blocked on system level, but available for some apps/packages.
With this settings, podman, distrobox, flatpak could work with no extra workarounds.
Namespaces available just for selected apps.
Describe the solution you'd like
Apparmor: https://gitlab.com/apparmor/apparmor/-/wikis/unprivileged_userns_restriction
Describe alternatives you've considered
no alternative
Declaration
I declare that I have read the README and my feature request is in-scope.

Not directly applicable since Fedora uses SELinux, not AppArmor.
IIRC this AppArmor restriction also relies on a downstream patch in Ubuntu's kernel and as such is not available in all kernels.
IMHO figuring out how to replicate Ubuntu's behaviour regarding UUNs with SELinux would be worthwhile, though.

On second thought this doesn't sound like a good idea anymore. A malicious process could simply call podman/distrobox/bubblewrap (the not-SUID variant) to set up a user namespace with additional capabilities, enabling the same security concerns as having them available to any process by default.
Especially bubblewrap specifies that it does not consider itself a security boundary when user namespaces are used:
https://github.com/containers/bubblewrap/security#system-security

mixing selinux and apparmor is a recipe for disaster :smile:

if there's another way to accomplish this, please reopen this. until then this isn't actionable


  See https://github.com/kgiusti/skupper-router/suites/17632363727/artifacts/1007932331
The GrpcServiceMethodsTestOverTcpTls log directory is empty besides having the config file.

I am closing this since we have not seen this in a while. Reopen when necessary


Temporarily disable Github ldc testing

Upstream script has issues which need to
be resolved.

https://github.com/mihails-strasuns/setup-dlang/issues/6

Merge at will


FormBuilderTextField  onChange callback behavior

Hi,
Version: 4.2.0
Current behavior: The onChange behavior of FormBuilderTextField is emitted when focusing.
Expected behavior: The onChange behavior of FormBuilderTextField is emitted when text change only.
Btw, can i know about status of #617 . I think it's a basic status of the form. And do we have any way to validate only when the field is dirty?
Thanks!

This still an issue?

Due to lack of response and an old error, I will close this issue.
If the bug still exists, feel free to open a new issue


[community] add databend to poem community show case

Thanks for the PR(https://github.com/datafuselabs/databend/pull/2670) from @sunli829 , we refactored our http apis to poem!

Thanks!


Deprecate resource properties

Detailed description

Deprecate resource properties
Remove from documentation

Context
Resource properties were added to the Score spec as an option for users to implement validation. Since they aren't utilised by any of the current CLIs and have caused confusion with users did we decide to deprecate them.
Possible implementation
Mark as deprecated
Additional information
No response

What is the expected behaviour for the CLI tool? Should we look for properties and print out the warning into logs (what would be the message), or should we completely ignore those?
CC: @sujaya-sys


ci: Allow for single exercise test exection

I often want to execute only one of the tests in the exercises when adjusting tests, to speed up the process.
This PR will allow me to e.g. run only the tests for exercise book-store by adding an additional parameter.
It can be done in more way.
composer test:run -- book-store

PHPUNIT_BIN='phpunit' bin/test.sh book-store

I hope this will get accepted as it gives me a better workflow when updating the PHP track.

Thanks for your feedback, will have a look at in the following days.

Using the -name filter allows wildcards like b*, too. Please test that this works also.

This works if b* is wrapped in quotes.
$ composer test:run -- "b*"

I'll have to check why it's failing, will look into it.

It fails, because the shell has set -u (fail on use of unbound variables). Therefore [ $# -ge 1 ] && [ -n "$1" ] is required, as you had it.


Added buttons and routing

looks good! Index.js and App.js are connected as required and routes are set up for current pages. We will have to create more routes as the app develops.
Thanks for your help !


newexp-mock fails to download IERS file

Minitest notebook failed on the wrap-newexp stage.  One of the newexp-mock jobs failed.  Why is this file not already cached at NERSC?  Maybe the job couldn't find the cached copy?  Maybe desisim/specsim should cache this file so that downloads don't happen in the pipeline?
Here's the log output:
INFO:newexp_mock.py:73:main: Simulating night 20200315 expid 10 tile 28408
DEBUG:simexp.py:408:simulate_spectra: loading specsim desi config desi
DEBUG:simexp.py:412:simulate_spectra: creating specsim desi simulator
Downloading http://maia.usno.navy.mil/ser7/finals2000A.all [Failed]
WARNING: failed to download http://maia.usno.navy.mil/ser7/finals2000A.all: <urlopen error timed out>.
A coordinate or time-related calculation might be compromised or fail because the dates are not covered by the available IERS file.  See the "IERS data access" section of the astropy documentation for additional information on working offline. [astropy.utils.iers.iers]
WARNING: Tried to get polar motions for times after IERS data is valid. Defaulting to polar motion from the 50-yr mean for those. This may affect precision at the 10s of arcsec level [astropy.coordinates.builtin_frames.utils]
Traceback (most recent call last):
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/desisim/master/bin/newexp-mock", line 9, in <module>
    sys.exit(main())
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/desisim/master/py/desisim/scripts/newexp_mock.py", line 82, in main
    obsconditions=obs, psfconvolve=False)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/desisim/master/py/desisim/simexp.py", line 294, in simscience
    obsconditions=obsconditions, psfconvolve=psfconvolve)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/desisim/master/py/desisim/simexp.py", line 431, in simulate_spectra
    desi.observation.exposure_start = astropy.time.Time(obsconditions['MJD'], format='mjd')
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/specsim/master/specsim/observation.py", line 115, in exposure_start
    self._update_model()
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/specsim/master/specsim/observation.py", line 79, in _update_model
    self.pointing, self.observing_model)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/code/specsim/master/specsim/transform.py", line 392, in sky_to_altaz
    altaz_out = sky_coords.transform_to(observing_model)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/coordinates/sky_coordinate.py", line 482, in transform_to
    new_coord = trans(self.frame, generic_frame)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/coordinates/transformations.py", line 1314, in __call__
    curr_coord = t(curr_coord, curr_toframe)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/coordinates/transformations.py", line 914, in __call__
    return supcall(fromcoord, toframe)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/coordinates/builtin_frames/cirs_observed_transforms.py", line 58, in cirs_to_altaz
    get_dut1utc(obstime),
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/coordinates/builtin_frames/utils.py", line 87, in get_dut1utc
    return time.delta_ut1_utc
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/time/core.py", line 1246, in _get_delta_ut1_utc
    delta = iers_table.ut1_utc(jd1, jd2)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/utils/iers/iers.py", line 229, in ut1_utc
    self.ut1_utc_source if return_status else None)
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/utils/iers/iers.py", line 327, in _interpolate
    self._check_interpolate_indices(i1, i, np.max(mjd))
  File "/global/common/software/desi/cori/desiconda/20180709-1.2.6-spec/conda/lib/python3.6/site-packages/astropy/utils/iers/iers.py", line 602, in _check_interpolate_indices
    raise ValueError(INTERPOLATE_ERROR)
ValueError: interpolating from IERS_Auto using predictive values that are more
than {} days old.

Normally you should not see this error because this class
automatically downloads the latest IERS-A table.  Perhaps you are
offline?  If you understand what you are doing then this error can be
suppressed by setting the auto_max_age configuration variable to
``None``:

  from astropy.utils.iers import conf
  conf.auto_max_age = None

Odd.  Is this reproducible for you?  I just tried it and didn't have any problems, including no messages about Downloading these data.  If it is reproducible for you, can you post your exact wrap-newexp command and log file location (should be printed in the notebook cell output)?

The text I pasted above is the log file.  But my point is that this error should never happen at all because that file should be pre-downloaded and cached by the pipeline.

I agree that it should never happen, but my starting point was to try to figure out if it always happens for you or only sometimes happens for you, and why it didn't happen for me.  Digging deeper, astropy.config.get_cache_dir() reports that my cache dir is /global/homes/s/sjbailey/.astropy/cache.  I cleared my cache using astropy.utils.data.clear_download_cache() and then reran wrap-newexp, and indeed  3 of the 15 MPI ranks tried to simultaneously download the same file (ugh) though I didn't get the same end failure that you did (lucky).
For the purposes of this data release, I suggest that you file a ticket in desisim to improve this later, but just re-run the notebook to use your new cache and proceed (or otherwise report if it remains a problem).
Related work to add to the desisim ticket: desisurvey.utils.freeze_iers() has code for caching the IERS table.

This sounds like the type of problem that desisurvey.utils.freeze_iers() is designed to solve. Is there some reason not to use it here?

This time all the wrap-newexp jobs completed successfully. I've already submitted a ticket in desisim.  This is probably safe to close, but two questions before we do:

Should the desisim ticket be added to 18.6?
Should the freeze_iers functionality be moved to desiutil, so that we're not duplicating code?


Update Model.php

TypeError
Argument 2 passed to CodeIgniter\Database\BaseBuilder::whereIn() must be of the type array or null, string given, called in /home/wanda-exchange/site/system/Model.php on line 802
on update('string', 'entity');

@lonnieezell this was actually resolved by https://github.com/codeigniter4/CodeIgniter4/pull/1963 and should be closed.

Resolved


Go to top of page on route change?

On some routes i need the page to scroll up to the top instead of staying in the same position as on the route coming from. is there an easy way to do it or do i need to be doing that with jQuery?

You can implement that via jQuery using FlowRouter triggers.
On Thu, Jul 23, 2015 at 9:01 PM Sergiy Dybskiy<EMAIL_ADDRESS>wrote:

On some routes i need the page to scroll up to the top instead of staying
in the same position as on the route coming from. is there an easy way to
do it or do i need to be doing that with jQuery?
—
Reply to this email directly or view it on GitHub
https://github.com/meteorhacks/flow-layout/issues/36.

Thanks @arunoda !


Add Integration Tests for Resources

The following resources are missing integration tests. This leads to PRs like #71. We should add integration tests for these resources.

MSFT_xDNSServerAddress
MSFT_xDefaultGatewayAddress
MSFT_xDnsConnectionSuffix
MSFT_xIPAddress

Thinking out loud here:
I've been thinking about this one for a while now. The problem I keep running into with this is figuring out a "non-destructive" method of implementing these. E.g. we'd want to avoid stopping network connectivity when these tests execute.
What would happen if network connectivity stopped while AppVeyor tests run - I guess we could find out? Assuming AppVeyor was OK with a disruption of network connectivity, we could allow the integration tests to modify the network settings and then restore them afterwards - this might work, but it feels a bit risky to me.
I thought about trying to add a loopback adapter we can use to run integration tests on, but this will require quite a bit of code and I couldn't get it working (didn't try for that long though). We just need some form of adapter we can add that we can mess with the IP config on.
But I'm with you 100% - we need these!

Oh for sure, I'm not sure how to "fix" it either without accidently doing some terrible things to an operators machine that may knock it off the network etc.  Just putting it out there that we need to test these resources.

Adding a loopback adapter seems the most promising approach. Is it worth me spending a bit more time trying to get a loopback adapter added via powershell?
I've seen some code floating around to do this, but it is quite "nasty" (downloads scripts/apps off the internet etc). So, I'd rather not use that code if I can avoid it - too many dependencies that we couldn't ensure will always be there. Pity there isn't a single cmdlet to add a loopback adapter device.

Mulling it over with some of my coworkers we think it makes the most amount of sense to add a loopback device to try to work over. If you wanted to work on it let's try solving just that for now, and then move on to the rest. This is a pretty tough problem that I want to make sure we handle well.

Ok, will do.


Issue with own Vuex store plugin

I have setup a store in module mode as described in the documentation.
Now i want to add a Plugin to the store to add WebSocket functionality to the app.
After a long trial and error process i tried the bare minimum setup for a Plugin.
The mutation works correctly but the Plugin never gets called.
Is this a Bug?
Here is my code to reproduce the issue
mystore/index.js
const incrementPlugin = store => {
	store.subscribe((mutation, state) => {
		if (mutation.type === "mystore/UPDATE_DATA") {
			console.log("from plugin");
			state.counter++;
		}
	});
};

export const plugins = [incrementPlugin];

export const state = () => ({
  counter: 0
})

mystore/state.js
export default () => ({
	counter: 0,
	fakeText: 'text'
  })

THX for your help!

This question is available on Nuxt community (#c8329)

@codanator Were able to solve this issue? I'm having the same problem right now


redshift does not work with 4.11 release

see https://stackoverflow.com/a/72447000/8874837 and https://github.com/liquibase/liquibase/pull/2812#issuecomment-1148469330

also from stackoverflow
"
0
Looks like the issue is related to Liquibase version 4.11.0, just use Liquibase v4.10.0
"

I am also getting hit by this with Postgres and 4.11
When running with no --defaultSchemaName I get this in my update-sql:
-- Changeset baseline/baseline.xml::baseline.global_ext_other::baseline SET SEARCH_PATH TO global, "$user", global, public;
When running with --defaultSchemaName=public I get this:
-- Changeset baseline/baseline.xml::baseline.global_ext_other::baseline SET SEARCH_PATH TO public, "$user", global, public;

In your case @akhil-ghatiki, it's erroring because your $user isn't properly quoted. I wonder if that is caused by the representation returned to liquibase, or liquibase changing things on you.
You using Postgres? What does a SHOW search_path; when you open a connection to that database show?

@Tostino We are not directly dealing with $user in our code. Seems like liquibase is doing it
Show search_path return me $user, public and we are using redshift

yes, getting the same issue on Redshift deployments after upgrading.
And Brew doesn't have older versions.. will be reverting to 4.10 manually until this is fixed.
is there no testing on these releases for Redshift?

Getting the same issue on Redshift deployments while using the latest image on Dockerhub ( I believe 4.12).
Upon reverting to 4.10 it worked.

Please see the pr associated with this issue :) We are getting ready to merge it and it will be out in the next release. Thanks!


[Need Help] Why is ast.Call node having strange error?

So I am testing the water on adding new AST cases, by modifying UnaryOp to UnaryOpC, a supposedly equivalent class.
However, Call start to give error, while it has nothing to do with UnaryOp!
I think it might be caused by Call having UnaryOpC inside, but I'm not certain, any idea?

When making an extended AST, we should set _fields manually.
https://github.com/Xython/YAPyPy/blob/85c9d254bef3a7bf2b7af0590a554195377e50c5/yapypy/extended_python/extended_ast.py#L24

@lfkdsk

got it!
maybe we could append it to the doc and make it better.

well, to be finished tonight.

But why we don't split origin AST and extended AST into two emit point?

Codecov Report

Merging #53 into master will increase coverage by 0.07%.
The diff coverage is 88.88%.

@@            Coverage Diff             @@
##           master      #53      +/-   ##
==========================================
+ Coverage   81.21%   81.29%   +0.07%
==========================================
  Files          19       19
  Lines        1853     1871      +18
  Branches      331      332       +1
==========================================
+ Hits         1505     1521      +16
- Misses        262      263       +1
- Partials       86       87       +1

Pull Request Test Coverage Report for Build 141

17 of 18 (94.44%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.08%) to 85.997%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

yapypy/extended_python/emit_impl/operations.py
7
8
87.5%

Totals

Change from base Build 137:
0.08%

Covered Lines:
1609

Relevant Lines:
1871

💛  - Coveralls


SDAS-8 / SDAS-13

Can you please change the following:

There is an error when you create a user ("uName.trim(...).isEmpty is not a function" on new-user.js:12)


⚠ RPC server - Conflux has degraded performance

In dc8ae61, RPC server - Conflux ($CONFLUX_RPC_URL) experienced degraded performance:

HTTP code: 0
Response time: 0 ms

Resolved: RPC server - Conflux performance has improved in 5e26552.


Colors in theme doesn't match tonal palette

Hi! I'm creating a primary color based on #304FFE. The tonal palette looks fine, but the primary color shows a color that is not in the palette. It also use primary 40 as reference, which I clearly can see is wrong. Is there a logical reason for this? I've tried toggling on/off color match in the settings, but there is still a mismatch with the tonal palette. Just need to know what is happening, so that I'm in control.

Seeing this as well.
Examples:
Seed value: #4D83E5
Color Match setting enabled

Variable/palette/P40 & style/ref/primary/40 becomes #185BBB. I expect this one to be true
Variable/schemes/light/primary is #004CA7 (however the deprecated Surface Tint is correctly applied as #185BBB)
Style/sys/light/primary is #004CA7

Color Match setting disabled

Same variable/palette/P40 & style/ref/primary/40 is #185BBB as it seems they should be.
Variable/schemes/light/primary is #445E91 AND the deprecated Surface Tint is correctly applied as #445E91
Style/sys/light/primary is #445E91

Color Match at least produces something closer to expected, but the mismatches are confusing.

I want to add few things here. The error in the mapping of generated palette is not consistent. It varies from seed colour provided. I've added one such example in the issue #251. There is also a Figma file where you can see the difference in the palette for a seed colour of (#008489)
Here is the Figma Link where you can check the mappings of colour roles to the reference tokens

same here.
problem: the values of the color roles (sys) are not always chosen from the tonal palettes (ref). some values match, but many others differ.
it is the same problem with the figma-plugin, the web version (2.0.1) and the latest web version (which is "prerelease"?).

The problem still exists until today. I lost a lot of time trying to figure out what went wrong. I'm looking into manually making adjustments to the styling sheet so guidance from the Material 3 team on a manual alternative would be appreciated.

The palettes are only displaying the color match variation currently, regardless if color match or content color variant settings are off. We are investigating this issue to see if we can have the algorithm display the corresponding palettes.
Please note the resulting scheme colors are correct! If you have color match on, your colors will be used in container roles.
If color match is off, then the tonal spot variant is used.

Yeah, I lost a lot of time too. Ended up defining the tonal palettes and
color roles manually so that I have total control of the colors.
Kjetil
tir. 20. feb. 2024 kl. 22:22 skrev Mohammad @.***>:

The problem still exists until today. I lost a lot of time trying to
figure out what went wrong. I'm looking into manually making adjustments to
the styling sheet so guidance from the Material 3 team on a manual
alternative would be appreciated.
—
Reply to this email directly, view it on GitHub
https://github.com/material-foundation/material-theme-builder/issues/240#issuecomment-1955118943,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFCBF4TTNV4ZWWWBA43LE33YUUHXVAVCNFSM6AAAAABBKCWBV2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJVGEYTQOJUGM
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

i too have to manually readjust hundreds of variables in figma.
the plugin and web version of theme builder seems very buggy right now.
the visible and exported color palettes should respect the color match and other settings. I hope this gets fixed soon.
what i do not understand is that it is not possible to simply export all of the generated color palettes and color roles. eg. the palettes of error role or the palettes of custom colors. they are shown at least in the web version, but can beither be exported nor manually copied or read out. I guess that would be too easy... ;)

We highly recommend only using the color scheme and not the tonal palettes, the color scheme is used for your app's theme. The tonal palettes are only there as reference.
Color match places the input color into the Container role. The rest of the color roles are shifted and generated using Material Color Utilities algorithm.
For more granular control, the styles in Figma and the exported color file values can be updated.

Additionally, the Color Match setting enabled reverses Container and On Container values. It should produce a light container (P/S/T/E-90) with a dark on-container color (P/S/T/E-10) but creates light text on dark (again with values which don't match refs)


Allow users to abort game

If there is time remaining, but I cannot think of any words anymore, I'd like to be able to go to the results screen without having to wait until time is up.

There already is! The stop button on the "AppBar" in the top right corner. But apparently (because of this issue) that is not obvious enough. Might it be that the "debug" ribbon next to it hides this option? Would it help if the color is red? Or it just needs to be more in your face? Open for suggestions.

The debug banner doesn't help, but I think making it red would be an improvement.

Pull request #16 makes the stop button red

I think that the red button is good enough. I close the issue. Let's await other users' feedback to see if they agree.


Migrations not executed with Node 18, stuck on connecting

I'm submitting a...

[x] Bug report
[ ] Feature request
[ ] Question

Current behavior
After upgrading to Node 18, db-migrate does not execute the migrations but exits silently without any error message.
We are using a PostgreSQL db. db-migrate seems to try connect, but no matter if the database is running or not, the process exists without any notice.
After going back to Node v16 everything works again as expected.
Expected behavior

Migrations should run
Minimal reproduction of the problem with instructions

      const dbmigrate = DBMigrate.getInstance(true, {
        config: {
          'heroku-ssl': {
            url: databaseUrl,
            addIfNotExists: {
              native: true,
              sslmode: 'require',
              rejectUnauthorized: false,
            },
            overwrite: {
              native: true,
              sslmode: 'require',
              rejectUnauthorized: false,
            },
          }
        },
        cmdOptions: {
          table: 'schema_migrations',
          'migrations-dir': migrationsDirPath,
          verbose: true,
        },
      });
     dbmigrate.up()

What is the motivation / use case for changing the behavior?

Environment

db-migrate version: 0.11.11
db-migrate-pg: 1.2.1

Additional information:
- Node version: 18.15.0
- Platform:  Heroku

Others:

@wzrdtales Can you have a look?

if you're using ssl auth, this might be your issue. i just ported from the cockroachdb driver the SSL handling over to the pg driver version v1.2.3. It accepts and uses the same params which are used with the native pg lib.
"ssl": {
      "sslrootcert": { "ENV": "ca_crt" },
      "sslcert": { "ENV": "ssl_cert" },
      "sslkey": { "ENV": "ssl_key" },
      "sslmode": { "ENV": "ssl_mode" }
    }

@wzrdtales
Database version - PostgreSQL 14.7
Logs for a verbose run with the native config removed

[INFO] require: db-migrate-pg
[INFO] connecting
[INFO] connected
[SQL] show server_version_num
"message":"Migration Failed: no pg_hba.conf entry for host \"*\", user \"*******\", database \"********\", no encryption"

Logs for a verbose run with the native config

[INFO] require: db-migrate-pg
[INFO] connecting
Segmentation fault

It runs locally on Node18, but fails to run in a node docker container - node:18.15.0-alpine3.16

these are not verbose logs. verbose logs contain more information. do not strip information away... .
anyhow the segmentation fault on node 18 is expected with native. so stop using it. I can't do anything about it, this is the fault of https://github.com/brianc/node-libpq/issues/94 . So you will have to ask there for a fix.

and btw. it runs locally only b/c of some special constraints then in your setup. The whole issue is about openssl being upgraded to version 3.

Okay, thanks. I'll check my setup to try to find the special constraints. Heroku only provides a DB connection string. We don't have the SSL parameters for the non-native mode.

end of story is, find out how to run it without the native mode. If there are issues with the non native mode and you provide me with the information what exactly doesn't work, I can look what can be done.

and that you don't have ssl params is wrong.
sslmode: 'require',

in your example it is there. I suggest just install the latest db-migrate-pg driver and just try with native disabled, it may just work

Using the latest db-migrate-pg driver fixed the issue.


json() timestamp issue

I'm running into packet_timestamp issues because (according to other places in the code) both a str or datetime object is valid. However, that assumption is not carried through everywhere. For example, calling json() twice is not working as the first time around, packet_timestamp is updated to a str, but the second time around, a datetime is expected:
https://github.com/XSEDE/amieclient/blob/18d768603050c5e5954900ab403cb0da63a5fa12/amieclient/packet/base.py#L386-L398
I also saw a similar problem somewhere in send_packet, where invalid json was generated. I'll need to dig to find this one again.

I'm having trouble reproducing this. I'm able to create a packet and call pkt.json() twice:
In [13]: pkt = Packet.from_dict(DEMO_JSON_PKT_1)

In [14]: pkt.json()
Out[14]: '{"DATA_TYPE": "Packet", [snipped]

In [15]: pkt.json()
Out[15]: '{"DATA_TYPE": "Packet", [snipped]

Can you maybe share an example that triggers the issue you're seeing?
Regarding the client's timestamp handling when a packet is created, if we're given a string as a timestamp, we convert that to a datetime object:
https://github.com/XSEDE/amieclient/blob/18d768603050c5e5954900ab403cb0da63a5fa12/amieclient/packet/base.py#L152-L161
So, after packet creation, the internal representation of the timestamp should always be a datetime. If there's anywhere we assume that the internal representation is a string, that's a bug that should be fixed, but nothing obvious came up with a quick check.
The timestamp is exposed as a read-only property (or, at least, as much of one as python allows), so nothing should be able to change the timestamp unless it's directly modifying the underlying _packet_timestamp attribute:
In [17]: pkt.packet_timestamp = 'a bag of chips'
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-17-0c480326a7bc> in <module>
----> 1 pkt.packet_timestamp = 'a bag of chips'

AttributeError: can't set attribute

In any event, if I'm not mistaken, from a client's perspective the timestamp field is read-only and set on the server side. I believe the API ignores any values it gets from client JSON, (although @ericblau please correct me if I'm wrong).

You're not wrong: the AMIE API (well, the database behind it) generates all packet and transaction timestamps.  You can POST a packet that includes a timestamp value, but the API will ignore it.

One place I got into trouble is when generating reply packets and then trying to save then. Example:
>>> pkt.json()
[valid json]
>>> pkt2 = pkt.reply_packet()
>>> pkt2.json()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/rynge/tmp/venv/lib/python3.9/site-packages/amieclient/packet/base.py", line 393, in json
    formatted_time = (d['header']['packet_timestamp']
AttributeError: 'NoneType' object has no attribute 'astimezone'

Right, good catch, we should just leave packet_timestamp in the json unset in that case. I'll push a fix


Always re-inject the chalice runtime into the zip file

This ensures more seamless upgrades when new functionality is
added to the runtime (such as Response classes).

Codecov Report

Merging #245 into master will decrease coverage by -0.05%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #245      +/-   ##
==========================================
- Coverage   79.31%   79.27%   -0.05%
==========================================
  Files          13       13
  Lines        1518     1515       -3
  Branches      200      200
==========================================
- Hits         1204     1201       -3
  Misses        257      257
  Partials       57       57

Impacted Files
Coverage Δ

chalice/deployer.py
71.42% <100%> (-0.2%)
:x:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 48d69a0...11ccb27. Read the comment docs.


Bump Dependencies #2539523294

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/2539523294

 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.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


MongoDB: Fix addon addon name in backup docs

LogicalBackup -> logical-backup

fixes by https://github.com/kubedb/docs/pull/709


Interpretation of results of two-sample test

Hello,
first thank you very much for this implementation, I have looked for something similar for a very long time and this will help me a lot in my master's thesis (of course I have given credit to you for the code). I have a few questions regarding how to understand the results of two tests I have done on populations:

A and B
A and C (C is a subset of B)

The results I got are, respectively:

(0.07785494519464609, 0.0)
(0.17752050146508203, 0.0)

For both prob = 0, so I can obviously reject the null hypothesis. But can I refer to this value as the p-value like when I do an univariate K-S test? Also, can I understand the difference in D value, that distribution of C is more different from A than B? Finally, does the D in your code refer to D_BKS or Z_n in the original Foseno-Franceschini paper, or to another value?
Thank you in advance for your help.
Best regards
Przemek

Dear Przemek,
The output of ks2d is (D, prob), with D the KS test statistic and prob the significance level as they are shown [3] Numerical Recipes in C.
I have no grasp on what a p-value is, and I don't know what is the relationship between the output of ks2d2s and a p-value.
Best Regards,
Gabriel Taillon


Prototype: IPAM Namespaces

Closes: #3337
What's Changed
This is the very rough around the edges prototype of IPAM Namespaces. It is not yet complete.
It has drifted somewhat from what was discussed in the design chats and what is scoped on #3337, due to the experimentation in the data design during prototyping.
The gist

VRFs can have prefixes assigned to them
VRFs can have devices assigned to them
VRFs can be used across devices
Any number of unique VRFs may be assigned to any number of devices, therefore allowing VRF names to be reused across devices
An RD is only significant upon assignment of a VRF to a device; therefore the same VRF can be assigned to multiple devices, each with a distinct (including null) RD if so desired
Any number of unique Prefixes may be assigned to any number of VRFs, so long as they are in the same namespace

Changes that drifted related to VRF/RD

VRF has FK to Namespace instead of deriving namespace through RD
VRF has m2m to Device, Prefix with through tables for each
VRF through table for Device is where RD is assigned; validation asserts that RD (if set) namespace matches VRF namespace
VRF through table for Device; validation asserts that if set, VRF namespace must match Prefix namespace

Caveats

This will likely not work in any API or UI views. It's rough.
This is tested at the ORM only at this time, expecting manual creation of objects to assert functionality.
There are fields commented out in serializers/views/forms/filters so that database migrations work without complaining

TODO

[ ] Explanation of Change(s)
[ ] Added change log fragment(s) (for more information see the documentation)
[ ] Attached Screenshots, Payload Example
[ ] Unit, Integration Tests
[ ] Documentation Updates (when adding/changing features)
[ ] Example Plugin Updates (when adding/changing features)
[ ] Outline Remaining Work, Constraints from Design

@jathanism Can you describe the why we deviated from the original design? As far as I can tell this moves the validation into Python as opposed to schema/DB. Is this long-term desirable? What were the limitation with the original?

An RD is only significant upon assignment of a VRF to a device; therefore the same VRF can be assigned to multiple devices, each with a distinct (including null) RD if so desired

Is this, could this not be, done behind the scenes from the API interfaces? Where we get schema performant validation but simplified APIs for integrators? Is that the plan and this just a compromise for the prototype?

Could you add a class diagram similar to https://github.com/nautobot/nautobot/issues/3337#issuecomment-1448756759 and https://github.com/nautobot/nautobot/issues/3245#issuecomment-1434806956? I'm having a hard time telling from the text description alone how this implementation differs from those and what the implications are.

Could you add a class diagram similar to #3337 (comment) and #3245 (comment)? I'm having a hard time telling from the text description alone how this implementation differs from those and what the implications are.

@jathanism Can you describe the why we deviated from the original design? As far as I can tell this moves the validation into Python as opposed to schema/DB. Is this long-term desirable? What were the limitation with the original?

An RD is only significant upon assignment of a VRF to a device; therefore the same VRF can be assigned to multiple devices, each with a distinct (including null) RD if so desired

Is this, could this not be, done behind the scenes from the API interfaces? Where we get schema performant validation but simplified APIs for integrators? Is that the plan and this just a compromise for the prototype?

Context, descriptions and some Mermaid diagrams have been provided in the issue: https://github.com/nautobot/nautobot/issues/3337#issuecomment-1450855876

Could you add a class diagram similar to #3337 (comment) and #3245 (comment)? I'm having a hard time telling from the text description alone how this implementation differs from those and what the implications are.

This is the output from:
nautobot-server graph_models -a -g -I Namespace,Prefix,IPAddress,RouteDistinguisher,VRF,VRFDeviceAssignment,VRFPrefixAssignment,Interface,Device` -o nautobot_ipam_namespace.png

The boxes for Device and Interface were cropped out of this render for conciseness, but you can see the relationship lines pointing to them at the top of the image.

https://github.com/nautobot/nautobot/pull/3395
This is the implementation based on the original discussion we had. @jathanism and I collaborated on this.

Latest changes:
Got UI/API working with bare minimum effort to keep things flowing.
Namespace

Went with default "Global" namespace for foreign keys FOR NOW just to keep things moving
Basic API/UI views

General

Had to remove vrf from select_related for Prefix, IPAddress in about 7,000 places

RouteDistinguisher

Basic API/UI views

VRF

VRF edit includes namespace/devices, prefixes limited by namespace
VRF detail includes devices/prefixes
Filter by namespace now possible

Prefix

Prefix.objects.annotate_tree now filters on namespace not VRF
Edit view includes namespace
List view groups by namepace
Filter by namespace now possible
Prefix.get_duplicates() changed to a noop (returns queryset.none())
Available prefixes now filtered by namespace instead of VRF

IPAddress

WIP: Not filtering on VRF, but also not updated for Prefix parenting yet

Generic

Had to patch ObjectEditView to catch ValidationError for PrefixEditView because of the unique_together constraint ValidationError/IntegrityError not being caught the form validation due to network and prefix_length fields being excluded from validation due to not being included in the form fields.

Not Done

Linking RD to VRF when assigned to Devices "somehow"
Show assigned VRFs in Device detail view
Assigning a VRF to an Interface
Showing assigned VRF in Interface detail view

I was reviewing the test changes in the prototype and the changes being made in #2403 and I still have some thoughts around the VRF-Prefix M2M:

Intuitively we will be adding an optional FK on (VM)Interface to VRF.
Considering #2403 change, or even the old behavior where an Interface can have many IPs, it would be expected that if I have a VRF set on the Interface, I should only see the IPAddress selections from Prefixes that are a part of the same VRF

Hand-wavey: We should eventually as a part of UX make this easier for the user to assign the VRF/Prefixes to each other but call out that we are building it for them (think modal popup "add prefix to VRF" when editing Interface)

If a Prefix was allowed to be a part of multiple VRFs (via M2M) then is that address assignable because it's through a different VRF or is that not a separate network?
- Interface(ETH0) is a member of VRF(Orange)
- Interface(ETH1) is a member of VRF(Blue)
- Prefix(<IP_ADDRESS>/24) is a member of VRF(Orange) and VRF(Blue)
- I want to assign IPAddress(<IP_ADDRESS>) which has a (concrete relationship to Prefix(<IP_ADDRESS>/24))  to Interface(ETH0), this would work but then it's an assignment to Interface(ETH1) would be :sus: because
- These are effectively the same network (and impose the same VRF) and I would get an address conflict, or at least would have to be a "backup" IP and have additional validation check
- These are different networks and then I should not be using the same IPAddress object and that would require a different Namespace and VRF entirely

Also, Prefix-VRF was non-M2M before and this never came up before as a limitation, but it was a uniqueness constraint and it would create a unique object because it was implied to be a different network and on the off-chance you did want them to be the same you would have to manage the duplicates manually between these prefixes.
Though there's probably a single sentence that unravels my train of thought here...

I was reviewing the test changes in the prototype and the changes being made in #2403 and I still have some thoughts around the VRF-Prefix M2M:

Intuitively we will be adding an optional FK on (VM)Interface to VRF.
Considering IPAM Overhaul: Assignment IP Address to Multiple Interfaces #2403 change, or even the old behavior where an Interface can have many IPs, it would be expected that if I have a VRF set on the Interface, I should only see the IPAddress selections from Prefixes that are a part of the same VRF

These are done as of 4019193

Hand-wavey: We should eventually as a part of UX make this easier for the user to assign the VRF/Prefixes to each other but call out that we are building it for them (think modal popup "add prefix to VRF" when editing Interface)
If a Prefix was allowed to be a part of multiple VRFs (via M2M) then is that address assignable because it's through a different VRF or is that not a separate network?

Interface(ETH0) is a member of VRF(Orange)
Interface(ETH1) is a member of VRF(Blue)
Prefix(<IP_ADDRESS>/24) is a member of VRF(Orange) and VRF(Blue)
I want to assign IPAddress(<IP_ADDRESS>) which has a (concrete relationship to Prefix(<IP_ADDRESS>/24))  to Interface(ETH0), this would work but then it's an assignment to Interface(ETH1) would be :sus: because
These are effectively the same network (and impose the same VRF) and I would get an address conflict, or at least would have to be a "backup" IP and have additional validation check
These are different networks and then I should not be using the same IPAddress object and that would require a different Namespace and VRF entirely

They are in fact the same networks. And so being able to assign an IP to an interface with VRF(Orange) or VRF(Blue) shouldn't matter. So currently as of 4019193 this is currently implemented.

Also, Prefix-VRF was non-M2M before and this never came up before as a limitation, but it was a uniqueness constraint and it would create a unique object because it was implied to be a different network and on the off-chance you did want them to be the same you would have to manage the duplicates manually between these prefixes.

If you do want the Prefixes to be distinct from each other, this would be the use-case for using a Namespace to differentiate them.

Though there's probably a single sentence that unravels my train of thought here...

"Use namespaces."


Remove PDM

We haven't made an official decision on what will replace it, but the combination of conda and pdm was causing some weirdness with virtual environments, so let's switch it out to managing dependencies via pip-tools, even if only temporarily.

@elray1 I'm gonna start submitting PRs to the data-pipeline branch we have going. PDM was getting on my nerves, so wanted to ditch it before doing further work.


0.2 initial upload fix

https://favro.com/organization/b03d6d6d9b11b61167ac4246/418c53a770389640d415a230?card=Dev-11382
The main fix for this is on master, but this is for older sites which need the fix on a stable branch.

I've done LICENSE and setup.py changes in the same PR - it's been a long time since this has been updated!