Disconnect after writing image sizes, with iOS 10.1.1

I'm using iOS 10.1.1 on an iPhone SE and the legacy DFU on my device. I have an Objective C project that's using version 3.0.0 of this library.
The device disconnects unexpectedly after writing the images sizes:
OTAViewController.m -[OTAViewController installFirmware]:166 parts=1 softdevice=0 bootloader=0 application=63680
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Connecting to GaitReminder...
OTAViewController.m -[OTAViewController logWith:message:]:394 00 centralManager.connect(peripheral, options:nil)
OTAViewController.m -[OTAViewController dfuStateDidChangeTo:]:271 DFU state change to 0
OTAViewController.m -[OTAViewController logWith:message:]:394 00 [Callback] Central Manager did connect peripheral
OTAViewController.m -[OTAViewController logWith:message:]:394 05 Connected to GaitReminder
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Discovering services...
OTAViewController.m -[OTAViewController logWith:message:]:394 00 peripheral.discoverServices([00001530-1212-EFDE-1523-785FEABCD123, FE59])
OTAViewController.m -[OTAViewController logWith:message:]:394 05 Services discovered
OTAViewController.m -[OTAViewController logWith:message:]:394 05 Connected to GaitReminder
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Legacy DFU Service found
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Discovering characteristics in DFU Service...
OTAViewController.m -[OTAViewController logWith:message:]:394 00 peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
OTAViewController.m -[OTAViewController logWith:message:]:394 05 DFU characteristics discovered
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
OTAViewController.m -[OTAViewController logWith:message:]:394 00 peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
OTAViewController.m -[OTAViewController dfuStateDidChangeTo:]:271 DFU state change to 1
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
OTAViewController.m -[OTAViewController logWith:message:]:394 10 DFU Control Point notifications enabled
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
OTAViewController.m -[OTAViewController logWith:message:]:394 00 peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
OTAViewController.m -[OTAViewController logWith:message:]:394 01 Writing image sizes (0b, 0b, 63680b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
OTAViewController.m -[OTAViewController logWith:message:]:394 00 peripheral.writeValue(0x0000000000000000c0f80000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
OTAViewController.m -[OTAViewController logWith:message:]:394 00 [Callback] Central Manager did disconnect peripheral
OTAViewController.m -[OTAViewController logWith:message:]:394 05 Disconnected by the remote device
OTAViewController.m -[OTAViewController dfuError:didOccurWithMessage:]:343 error 202 Device disconnected unexpectedly
OTAViewController.m -[OTAViewController logWith:message:]:394 15 Upload aborted. Part 1 flashed sucessfully

I started the DFU like this:
[self setInitiator:[[DFUServiceInitiator alloc] initWithCentralManager:_cbCentralManager target:_discoveredPeripheral]];
[_initiator withFirmware:firmware];
_initiator.packetReceiptNotificationParameter = 15;
_initiator.logger = self;
_initiator.delegate = self;
_initiator.progressDelegate = self;
[self setDfuServiceController:[[_initiator start] retain]];

I have the same problem when I use the nRF Toolbox from iOS. However, I am able to flash it with an android phone that is using Android-DFU-Library version 1.1.1 and a packet receipt notification parameter of 15.

Can you try setting PRN to 12 instead of 15 and report back ? it's a bit different on iOS than android

Hi @starblanket,
I see 3 things:

You are sending 2 parts, SD and/or BL and then App, Am I correct? And the issue you get is during the second connection.
Do you call abort() method? The last log message says the DFU was aborted so the abort flag must have been set somewhere.
Also looks like you are using quite old version of DFU bootloader, from SDK before 7.0, where there was no DFU Version characteristic.

And here are my conclusions. The worst is that they all exclude each other.

First of all why do abort the DFU? Is it intentional? If this message shows up there without you calling controller.abort() that's a bug.
If you are using the old DFU bootloader the library should find out whether you are in app mode or in bootloader mode by counting services. However, I think I made a bug, and I discover only DFU-related services, so always the number of services will be 1. In your case it should assume you are in app mode when you have more than 1 service, and in bootloader mode when only DFU service was discovered. If your design can perform DFU while in app mode, you have to set the forceDfu flag in _initiator to true. I will fix this issue soon, no matter you have it or not.
Did you flash SD/BL in the first connection successfully and failed on the second? If not, the last log message is not correct.

As for the last log message, I think you call abort() in the [OTAViewController dfuError:didOccurWithMessage:] method. You shouldn't. DFU was already terminated and destroyed at that time.

Hi, I did a commit https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/commit/a7788dead8eda7b383f64d8c00bc84363e551318 which should help you, if your DFU bootloader is from SDK 6.0 or 6.1 (no DFU Version characteristic, Buttonless Jump supported). It's on develop branch, so to test if you would have to modify your Podfile like this: https://github.com/NordicSemiconductor/IOS-nRF-Toolbox/blob/master/Podfile#L3 (but set branch name to develop and then type pod update.
Could you try it and say if it works?

Using a PRN of 12 or 15 makes no difference. I tried again with nRF Toolbox (4.2.0) and confirmed it also does not work:
Verbose: Connecting to MyDevice...
Debug: centralManager.connect(peripheral, options:nil)
Debug: [Callback] Central Manager did connect peripheral
Info: Connected to MyDevice
Verbose: Discovering services...
Debug: peripheral.discoverServices([00001530-1212-EFDE-1523-785FEABCD123, FE59])
Info: Services discovered
Info: Connected to MyDevice
Verbose: Legacy DFU Service found
Verbose: Discovering characteristics in DFU Service...
Debug: peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
Info: DFU characteristics discovered
Verbose: Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
Debug: peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
Verbose: Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
Application: DFU Control Point notifications enabled
Verbose: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
Debug: peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
Verbose: Writing image sizes (0b, 0b, 63680b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
Debug: peripheral.writeValue(0x0000000000000000c0f80000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
Debug: [Callback] Central Manager did disconnect peripheral
Info: Disconnected by the remote device

Thanks @philips77. The device was built with mbed. BLE::getVersion() returns "Nordic BLE4.1 ver:8 fw:0067" (which is S130 v1.0.0). It sounds like your patch may not apply, but I will give it try and let you know.
The zip file I am flashing contains only an app. You are seeing the complete log from immediately after [self setDfuServiceController:[[_initiator start] retain]]; was invoked.
Yes, I had been calling abort() in [OTAViewController dfuError:didOccurWithMessage:], but I will remove that. Changing that has no impact on this problem however.

I was talking about the DFU Version characteristic, not BLE::getVersion(). This char. may return 0x0100 for app mode, or one of 0x0500, 0x0600, 0x0700, 0x0800 in bootloader mode.
If there is no such app the library will count services, as I wrote.
It looks like you are in the app mode, you don't have DFU Version char (otherwise reading it would be visible in the log), and sending 0x0104 will trigger switching to DFU bootloader mode. The behavior is correct, but the lib does not expect disconnection as it should. Please, try with the change.

There is no DFU Revision Characteristic (UUID 0x1534) in the Device Firmware Update Service. All I see are the DFU Control Point and DFU Packet characteristics.
I am expecting the DFU library to switch to bootloader mode and it does do that. But then disconnects. I tested with this pod:
pod 'iOSDFULibrary', :git => 'https://github.com/nordicsemiconductor/ios-pods-dfu-library', :branch => 'develop'
and the behavior did not change. I still get the disconnect at the same place.

Hmm.. My fix fixed a case when the library would assume that the peripheral is in app mode and should jump to bootloader, not the other way around.
In your case it thinks it's in bootloader mode while in fact is in app mode. Do you have any other services on your device when in app mode except dfu?
Btw, are you sure you have Service Changed characteristic in both app and dfu mode?

The device is in app mode before  [_initiator start], but nothing is connected to it. I do have a custom service when in app mode. I have the LEDs on the device flashing different patterns when in app mode and DFU mode. I do see the expected pattern when DFU starts. So it is jumping to the bootloader.
I used the nRF Connect application to confirm that the Generic Attribute Service Changed characteristic exists both in app and DFU modes. This property is set to "indicate".
Hmmm. My view controller is such that I can re-try the flashing after the this first disconnect, while the device is already at bootloader and before the bootloader times out and returns to app mode. That second try works when the device is sitting at the bootloader when [_initiator start] was invoked. So maybe this is just a side effect of Issue 62. If the library just re-tried, it looks like all would be fine.

Hi, we've just released version 3.0.1 to CocoaPods.
Now the lib discovers all services after it connects to a peripheral, so if there is no DFU Version characteristic inside the DFU Service it should estimate the mode based on number of services. As you have a custom service it should know that it is now in app mode and should handle the disconnect event correctly. I hope.
Could you try and post logs again if it fails?

The outward behavior did not change with 3.0.1. I still get the disconnect:
-[OTAViewController installFirmware]:166 parts=1 softdevice=0 bootloader=0 application=63680
-[OTAViewController logWith:message:]:393 01 Connecting to MyDevice...
-[OTAViewController logWith:message:]:393 00 centralManager.connect(peripheral, options:nil)
-[OTAViewController dfuStateDidChangeTo:]:269 DFU state change to 0
-[OTAViewController logWith:message:]:393 00 [Callback] Central Manager did connect peripheral
-[OTAViewController logWith:message:]:393 05 Connected to MyDevice
-[OTAViewController logWith:message:]:393 01 Discovering services...
-[OTAViewController logWith:message:]:393 00 peripheral.discoverServices(nil)
-[OTAViewController logWith:message:]:393 05 Services discovered
-[OTAViewController logWith:message:]:393 05 Connected to MyDevice
-[OTAViewController logWith:message:]:393 01 Legacy DFU Service found
-[OTAViewController logWith:message:]:393 01 Discovering characteristics in DFU Service...
-[OTAViewController logWith:message:]:393 00 peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
-[OTAViewController logWith:message:]:393 05 DFU characteristics discovered
-[OTAViewController logWith:message:]:393 01 Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
-[OTAViewController dfuStateDidChangeTo:]:269 DFU state change to 1
-[OTAViewController logWith:message:]:393 01 Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
-[OTAViewController logWith:message:]:393 10 DFU Control Point notifications enabled
-[OTAViewController logWith:message:]:393 01 Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
-[OTAViewController logWith:message:]:393 01 Writing image sizes (0b, 0b, 63680b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.writeValue(0x0000000000000000c0f80000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
-[OTAViewController logWith:message:]:393 00 [Callback] Central Manager did disconnect peripheral
-[OTAViewController logWith:message:]:393 05 Disconnected by the remote device
-[OTAViewController dfuError:didOccurWithMessage:]:341 error 202 Device disconnected unexpectedly

Are you sure you have do not set initiator.forceDfu = true? It shold be false in your case.

Here's my log output:
[...]
V: Discovering characteristics in DFU Service...
D: peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
I: DFU characteristics discovered
V: Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
D: peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
Changed state to: Starting
V: Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
A: DFU Control Point notifications enabled
W: Application with buttonless update found
V: Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
D: peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
Changed state to: Enabling DFU Mode
I: Data written to 00001531-1212-EFDE-1523-785FEABCD123
A: Jump to bootloader (Op Code = 1, Upload Mode = 4) request sent

I did the test on a peripheral with DFU Service without DFU Version characteristic and with an additional service. forceDfu is false. 2 services has been found, so here true is returned. Could you put your breakpoint here and check what's going on?
Also, remember that iOS does not expose Generic Access, Generic Attribute and HID services (and perhaps some more) so if the 'custom' service in your case is one of the protected ones it will not be returned during service discovery.

@phillips77 you are correct. I had forceDfu = true (by accident). I was fiddling with it yesterday and forgot I had it in there. It now works with forceDfu = false:
-[OTAViewController installFirmware]:166 parts=1 softdevice=0 bootloader=0 application=63680
-[OTAViewController logWith:message:]:393 01 Connecting to MyDevice...
-[OTAViewController logWith:message:]:393 00 centralManager.connect(peripheral, options:nil)
-[OTAViewController dfuStateDidChangeTo:]:269 DFU state change to 0
-[OTAViewController logWith:message:]:393 00 [Callback] Central Manager did connect peripheral
-[OTAViewController logWith:message:]:393 05 Connected to MyDevice
-[OTAViewController logWith:message:]:393 01 Discovering services...
-[OTAViewController logWith:message:]:393 00 peripheral.discoverServices(nil)
-[OTAViewController logWith:message:]:393 05 Services discovered
-[OTAViewController logWith:message:]:393 05 Connected to MyDevice
-[OTAViewController logWith:message:]:393 01 Legacy DFU Service found
-[OTAViewController logWith:message:]:393 01 Discovering characteristics in DFU Service...
-[OTAViewController logWith:message:]:393 00 peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
-[OTAViewController logWith:message:]:393 05 DFU characteristics discovered
-[OTAViewController logWith:message:]:393 01 Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
-[OTAViewController dfuStateDidChangeTo:]:269 DFU state change to 1
-[OTAViewController logWith:message:]:393 01 Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
-[OTAViewController logWith:message:]:393 10 DFU Control Point notifications enabled
-[OTAViewController logWith:message:]:393 15 Application with buttonless update found
-[OTAViewController logWith:message:]:393 01 Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
-[OTAViewController dfuStateDidChangeTo:]:269 DFU state change to 2
-[OTAViewController logWith:message:]:393 00 [Callback] Central Manager did disconnect peripheral
-[OTAViewController logWith:message:]:393 05 Disconnected by the remote device
-[OTAViewController logWith:message:]:393 01 Connecting to MyDevice...
-[OTAViewController logWith:message:]:393 00 centralManager.connect(peripheral, options:nil)
-[OTAViewController logWith:message:]:393 00 [Callback] Central Manager did connect peripheral
-[OTAViewController logWith:message:]:393 05 Connected to MyDevice
-[OTAViewController logWith:message:]:393 01 Discovering services...
-[OTAViewController logWith:message:]:393 00 peripheral.discoverServices([00001530-1212-EFDE-1523-785FEABCD123])
-[OTAViewController logWith:message:]:393 05 Services discovered
-[OTAViewController logWith:message:]:393 01 Legacy DFU Service found
-[OTAViewController logWith:message:]:393 01 Discovering characteristics in DFU Service...
-[OTAViewController logWith:message:]:393 00 peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
-[OTAViewController logWith:message:]:393 05 DFU characteristics discovered
-[OTAViewController logWith:message:]:393 01 Reading DFU Version number...
-[OTAViewController logWith:message:]:393 00 peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
-[OTAViewController logWith:message:]:393 05 Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0400
-[OTAViewController logWith:message:]:393 10 Version number read: 0.4
-[OTAViewController logWith:message:]:393 01 Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
-[OTAViewController dfuStateDidChangeTo:]:269 DFU state change to 1
-[OTAViewController logWith:message:]:393 01 Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
-[OTAViewController logWith:message:]:393 10 DFU Control Point notifications enabled
-[OTAViewController logWith:message:]:393 01 Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
-[OTAViewController logWith:message:]:393 01 Writing image sizes (0b, 0b, 63680b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
-[OTAViewController logWith:message:]:393 00 peripheral.writeValue(0x0000000000000000c0f80000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
-[OTAViewController logWith:message:]:393 05 Data written to 00001531-1212-EFDE-1523-785FEABCD123
-[OTAViewController logWith:message:]:393 10 Start DFU (Op Code = 1, Upload Mode = 4) request sent
-[OTAViewController logWith:message:]:393 05 Notification received from 00001531-1212-EFDE-1523-785FEABCD123, value (0x): 100101
-[OTAViewController logWith:message:]:393 10 Response (Op Code = 1, Status = 1) received
-[OTAViewController logWith:message:]:393 10 Writing Initialize DFU Parameters...
etc.

I'm closing this. Thanks!


CII Best Practices: Silver

Closes: n/a
Goal
Word towards silver-level Best Practices.
Approach

Bump ruby to latest minor release.
Add:

contributing guidelines
code of conduct
best-practices badge
install instructions

Signed-off-by: Roderick Monje<EMAIL_ADDRESS>

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.154%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
125

Relevant Lines:
130

💛  - Coveralls


Add install script boilerplate

This merge contains the first fully functional Open Fortran Parser (OFP) installation script: install-ofp.sh. When no arguments are passed, the script downloads and installs the aterm, sdf2-bundle, and strategoxt prerequisites in OS X binary form in in /opt, which requires that the user have sudo privileges. The script then installs OFP in the subdirectory prerequisites/installations and finally the script builds the parse table required for parsing Fortran 2008.   Executing "./install-ofp.sh -h" shows the options the script accepts.  The script detects the identity of the operating system.  Future versions of the script will use that information to install binaries suitable for other operating systems or to build the prerequisites from source.
This merge also does a tiny bit of housekeeping: it renames "install_prerequisites" to just "prerequisites" both for typing simplicity and to indicate that the directory is the default location of installed prerequisites rather than just the location for the scripts that build and install prerequisites.

Current coverage is 38.73%

Merging #169 into caffeinate-opencoarrays will decrease coverage by -0.46% as of 6871d72

@@            caffeinate-opencoarrays    #169   diff @@
=======================================================
  Files                             2       2
  Stmts                           893     901     +8
  Branches                          0       0
  Methods                           0       0
=======================================================
- Hit                             350     349     -1
  Partial                           0       0
- Missed                          543     552     +9

Review entire Coverage Diff as of 6871d72

Uncovered Suggestions

+1.90% via src/mpi/mpi_caf.c#1906...1922
+1.56% via src/mpi/mpi_caf.c#2004...2017
+1.56% via src/mpi/mpi_caf.c#1559...1572
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Closing and will resubmit a new pull request with squashed commits.


Crashing Xorg

Describe the bug
XOrg crashes when certain applications are launched. More details here: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/2060354
Steps To Reproduce
Steps to reproduce the behavior:

Run any of the IntelliJ IDEs. You may have to set anti aliasing to greyscale. Xorg will crash.

Expected behavior
Xorg doesn't crash.
Additional context
This is the bug: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/2060354
It looks like a security fix caused this regression.
Ubuntu has already applied patches that fix this for Xorg and Xwayland:
see this message from the above Ubuntu thread:

I have prepared test packages for ubuntu 22.04 LTS/jammy in the https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+packages PPA for both xorg-server:
https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+sourcepub/15921802/+listing-archive-extra
and for xwayland:
https://launchpad.net/~ubuntu-security-proposed/+archive/ubuntu/ppa/+sourcepub/15921798/+listing-archive-extra
I was able to reproduce the crash under Xwayland in a jammy vm with both intellij and the glyph_memleak.c reproducer, and using the proposed upstream patch seems to address the crash, but more testing is welcome.

NixOS should use the same patches until this is fixed upstream in XOrg.
Notify maintainers
@vcunat

Add a :+1: reaction to issues you find important.

Sounds like this will be addressed by this update:
https://lists.x.org/archives/xorg-announce/2024-April/003504.html

xwayland too: https://lists.x.org/archives/xorg-announce/2024-April/003503.html
looks like updating xorg and xwayland to their latest versions will do the trick then

xwayland was bumped to the latest version in PR #302930


Dynamic line connecting not working for angular

Dynamic rendering not working, below is the piece of code. Following packages are used for development ( "leader-line-new": "^1.1.9","ngx-leader-line": "^0.0.3")
xxxx.html

Card {{ i + 1 }} Text

         <button           class="btn btn-secondary m-1"           #start           [ldrConnectTo]="button['targetCardNo']"           *ngFor="let button of data.buttons"         >           {{ button.name }}         </button>

xxxx.json
export const dynamic = [
{
cardNo: 1,
text: "Card No : 1",
buttons: [
{ name: "Yes", questionId: "q1", targetCardNo: 2 },
{ name: "No", questionId: "q1", targetCardNo: 3 },
],
},
{
cardNo: 2,
text: "Card No: 2",
},
{
cardNo: 3,
text: "Card No: 2",
},
];

Hi, I see you use 2 packages "leader-line-new": "^1.1.9","ngx-leader-line": "^0.0.3". Why? I don`t understood you code. For dynamic rendering I used method "position" see documentation.
Good coding!
self = line.position()
Re-position the leader line with current position and size of the elements as start or end option.
By default, the position of each leader line is fixed automatically when the window that loads LeaderLine was resized. You should call position method if your web page moved or resized the elements without resizing the window. For example, animation, a box that was scrolled or  that was resized.

scrollableBox.addEventListener('scroll', AnimEvent.add(function() {
  line.position();
}), false);```

closed


cloudformation rollback: no export named reinvent-vod: source found

I tried to install VOD dynamic encoding rule from Github  https://github.com/aws-samples/aws-media-services-workflow-composer/blob/master/RuleBasedEncoding/README.md
I tried coupled of time by re-installing the VOD On Demand stack with different name. The dynamic rule Cloudformation template responded as “roll back” even I used the VOD On Demand  stack name as reinvent-vod.
The rollback status reason shown “no export named reinvent-vod: source found” but the reinvent-vod stack does exist and it works for file transcoding, see attachments.
Can you advice on this issue?

There is a dependency on the lab version of the Video on Demand on AWS that is not published in the current version on AWS Answers.  Replacing the outputs of the Video on Deamnd on AWS cloudfomration with the following  Outputs section will fix the problem.  Or, use the lab cloudformation included below.
Outputs:
  DynamoDBTable:
    Description: DynamoDB Table
    Value: !Ref DynamoDBTable
    Export:
      Name: !Join [ ":", [ !Ref "AWS::StackName", DynamoDBTable ] ]

  Source:
    Description: Source Bucket
    Value: !Ref Source
    Export:
      Name: !Join [ ":", [ !Ref "AWS::StackName", Source ] ]

  Destination:
    Description: Destination Bucket
    Value: !Ref Destination
    Export:
      Name: !Join [ ":", [ !Ref "AWS::StackName", Destination ] ]

  CloudFront:
    Description: CloudFront Domain Name
    Value: !GetAtt CloudFront.DomainName
    Export:
      Name: !Join [ ":", [ !Ref "AWS::StackName", CloudFront ] ]

  UUID:
    Condition: Metrics
    Description: AnonymousMetric UUID
    Value: !GetAtt Uuid.UUID
    Export:
      Name: !Join [ ":", [ !Ref "AWS::StackName", UUID ] ]

The lab version of the VOD on AWS template is located here:
https://s3-eu-west-1.amazonaws.com/decepticons-eu-west-1/video-on-demand-on-aws/reinvent/video-on-demand-on-aws.yaml)
I'll leave this issue open until we get the fix in this project or the Video on Demand on AWS Cloudformation.


2016 Candidate Survey

Closes #118
This is as close as I could get to the mock without spending a bunch more time on small things this weekend.
Some things that could/should still be addressed if there is more time:

[ ] Make the 5 districts tabs size down to work on mobile
[ ] Add the navigable table of contents fixed sidebar section that Vickie and originally designed
[ ] Add hover states to svg icons
[ ] create a new page template so the whole width of the bottom half can have a grey background like Vickie's design called for.

https://www.open-austin.org/candidate-questionnaires/2016.html

Looks great! But Garza and Gallo did get responses in by the deadline (and Virden, kind of).


Tooltip is not displayed for the object on the border of the plot

data = {'x': [1,2,3], 's': [0,1,2] }
p = ggplot(data) + geom_point(aes('x', 'x', size='s')) + theme(legend_position='none') + ggsize(400,300)
p

Add title... And tooltip will not be displayed:
p + ggtitle('title', subtitle='subtitle')

With the title, there is a place for a tooltip above the geom_point. But the point that the tooltip points to is outside the plotting area, so the tooltip is not displayed. In this case, the tooltip should appear under the geom_point.


Rename "with =" validator to "predicate ="

It addresses https://github.com/greyblake/nutype/issues/70

This was reverted (with force push) in favor of https://github.com/greyblake/nutype/pull/76


Support GET, POST, DELETE, query methods

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
Support different types of query methods. We currently only support GET.

More benchmark https://www.notion.so/mui-org/Queries-6c9f84d68db5466c9e2738633deaa1e7
Examples 🌈
No response
Motivation 🔦
No response

This is already done in functions data source. Further enhancements to this are being explored in https://github.com/mui/mui-toolpad/issues/777
Would it make sense to provide templates for each of the above request method, so that the user doesn't have to start from scratch?
@Janpot

I'm still on a longer standing effort to bring POST request bodies to the fetch datasource and some updates on how we handle binding values as we discussed in a few team meetings ago
https://github.com/mui/mui-toolpad/pull/721


Documents WordPress support

Support for WordPress environment was already added under PR #206 but was not documented.
This PR adds it to Environment Types documentation page and it fixes #324.

Thank you @wojtekn


HiveMind: First Steps

The HiveMind interface will be a web server that accepts connections via websocket. The agent will connect to the HiveMind and stream it's binary and serialized session to it accordingly. For these first steps, whoever would like to should do the following:

Set up a basic web server in Rust that listens on <IP_ADDRESS>:1940
Accept websocket connections

For every websocket connection, await asynchronously for new messages
If text, it's the serialized json string of the agent's session
If binary and we already have an agent session, stream the bytes to the Agent's data

Create a struct AgentSessionWithContext that holds an AgentSession and some flag NeedsTraining or something like that.

First Steps: Salvin will finish learning Rust the week of the 16th.
Next week: Websocket implementation

My code in https://github.com/BradenEverson/td/blob/main/src/main.rs shows how to get running with an async webserver

okay!

DUE: 9/27/24

Update 1: submitted my first commit to the repository on the "salvin-branch" branch. Completed the following:

**Section 20.1: ** Building a Single-Threaded Web Server

**Update 2: ** submitted a second commit. Almost have the multi-threaded web server done. Complete implementation should be done by tomorrow.


FIX: bug in building documentation

Added magic mocks to mkdocstrings environment for INRO packages
Added testing for docs so catch issues in testing before build

OUTSTANDING: not properly adding config. Added issue #47 to document as outstanding need.
Closes #46

@inrokevin can you do a quick review so I can merge this? Thx

Looks good - very curious as to what is the outstanding issue with the config, if it is pydantic maybe we can mock that out as well.

This didn't work completely....investigating.


Set role in args dict from return value of fake_ifdh.getRole

We were reading the role in from the default role file, but not actually setting it in a way that the template could see.  This fixes that issue.

Ran all unit tests, and following manual tests:
Production:

--role production<EMAIL_ADDRESS>no role specified (should pick up from default role file<EMAIL_ADDRESS>
Analysis<EMAIL_ADDRESS>For all these cases, I did a dry-run where I checked that the .cmd file had the right oauth_services line.


Support incomplete logins from JS

Task/Issue URL: https://app.asana.com/0/488551667048375/1202705344705784/f
Description
Changes the domain object for credentials coming from JS to support nullable fields.
Additionally, adds a coroutine handler in the autofill processing to ensure exceptions don't crash the whole app.
Steps to test this PR

[x] Hardcode data passed into AutofillStoredBackJavascriptInterface.storeFormData(data) to be missing username and password. Verify no crashes and credentials not saved
[x] Harcode data to be missing username; verify this can be saved
[x] Hardcode data to be missing password; verify this can be saved
[x] Hardcode storeFormData to throw an exception inside the coroutine launch; verify app doesn't crash
[x] Hardcode getAutofillData to throw an exception inside the coroutine launch; verify app doesn't crash

Current dependencies on/for this PR:

develop

PR #2126   👈

This comment was auto-generated by Graphite.

A few questions around the behavior:

It seems like we are allowing to save incomplete data as long as it comes from the JS layer. However, if the user input incomplete data in a form (for example only password), we don't show the autofill save dialogg. Is this expected?
Why are we just logging the crash? I mean it wouldn't be sent anywhere right? In that case, if something is wrong, we wouldn't know about it, unless we experience it ourselves. Wouldn't it be better to let the app crash instead?

It seems like we are allowing to save incomplete data as long as it comes from the JS layer. However, if the user input incomplete data in a form (for example only password), we don't show the autofill save dialogg. Is this expected?

If the user inputs incomplete data in a form, it'll be up the JS to decide whether that constitutes a login event that can be saved. So if the JS does tell us a credential can be saved, and even if it's partial, we should be able to handle that scenario. Does that fully answer the question?

Why are we just logging the crash? I mean it wouldn't be sent anywhere right? In that case, if something is wrong, we wouldn't know about it, unless we experience it ourselves. Wouldn't it be better to let the app crash instead?

Good question @karlenDimla, I've decided to pull this crash handling out of this PR altogether.


Add code coverage

Fixes https://github.com/SouthEndMusic/SplineGrids.jl/issues/14.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


Fix terminal freezing self and whole app when internet is disconnected

Remove uses to navigator.onLine as not needed and because that value
cannot be trusted (see several bug reports on chromium)

Fix infinite loop when socket is not connected in flush

Add some simple tests

Signed-off-by: Sebastian Malton<EMAIL_ADDRESS>

@jansav I would have to play around with websockets some more but from my research using navigator.onLine is never the correct solution.


Fix a bug in how Write-Host handles XML Elements

PR Summary
Changes how the Write-Host cmdlet handles XMLElements, fixes https://github.com/PowerShell/PowerShell/issues/24508
PR Context
I'm not positive this is the right fix, spiritually I could get behind using .OuterXml instead which would print the whole XML document from that element, which seems aligned with the iteration of an Enumerable.
Either way, it is definitely the case that the current code doesn't work as expected.
PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[X] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[X] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[X] Documentation needed
- [X] Issue filed: https://github.com/PowerShell/PowerShell/issues/24508

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[X] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

Let me know if you want me to update unit tests for this case.

Another option would be to return enumerable.ToString() if the enumerable has zero elements in it (the case with XMLText) but that prints System.Xml.XmlText which I don't really think is the right output for Write-Host ([xml] '<OhElement>Where art thou?</OhElement>').DocumentElement


Fix timeout when no items are emitted

Timeout triggers if no items are emitted.
Please review.
Thank you,
Grigoriy

Thanks!


[hub.js] List models by inference status

inferenceStatus is not a stable API yet (name and values might change)
Let's not rely on it yet


Instarepl watches history build up

As you can see, my instarepl history is building up in 0.6.2. I don't think this is intended.

I also have the same issue.

Pull the latest and you should be good to go!

Indeed, I just build the latest version and it works like a charm. Thanks for the fix!


Drop c_compiler_version from build config

Comment:
Don't think we have need for a specific C compiler version on any platform, so we should be good to remove the version specification on the next release since it creates some issues on Windows builds

This is especially true because
https://github.com/conda-forge/dask-sql-feedstock/blob/4ec2ca4dbe6b95fcaa20e9bb20184d4fca1f6824/recipe/conda_build_config.yaml#L1-L3
will not do what you want it to do (c_compiler_version is not used on windows, it's only possible to change the whole toolchain, e.g. c_compiler can be vs2019 or vs2022).


Automatic filtering attributes which are relations

It would be nice if toFindOptionsRelations would filter everything out what is not a relation.

Could you share what your use case is for this?
If your RelationMap is properly typed and you are working with relations statically, you should get a compile time error from TypeScript if you reference a relation that doesn't exist.
To detect and filter out non-existent relations at run-time would require this library to validate relations against the entity metadata. It doesn't look at the metadata at all currently, it just works with relation mapping objects in a generic way.

I would like to reuse fields which includes simple datatypes and relations:
const fields = {
      id: true,
      name: true,
      customer: {
        id: true,
        name: true
        anotherRelation: {...}
      }
    };
    await ManagementDataSource.getRepository(ProjectEntity).find({
      relations: projectRelationMap.toFindOptionsRelations(fields),
      select: fields
    });

toFindOptionsRelations should filter out all simple data types and take all nested relations.


about seed

Hi, sir.
Could I know how you set the random seed.  Just set it to 111 or get the mean with  a couple of seeds.
Thanks.

Just set it to 111.

thanks


Might be a good idea to add windows support

I have to know how to use Windows in case my job requires it, so I would like a rimraf windows version of this package made available. Otherwise I get this error:
'mkdirp' is not recognized as an internal or external command, operable program or batch file.
Screws with my projects I have written on Mac and Linux.

@inunotaisho26  On windows make sure that you install the package mkdirp:
npm i -g mkdir
You can check more here: https://www.npmjs.com/package/mkdir


Change bitfields to be unsigned explicitly

Addresses issue #6350

Cherry-picked to v9.0.x branch.


Continue work on title screen

To do, as far as I can tell:

[ ] Prevent the on_update event from opening the multiplayer window unnecessarily. Should probably only happen when actually connected?
[ ] Implement chat button on title screen (crashes)
[ ] We should probably set the common format arguments through a wrapper in stringmgr.
[ ] Implement tutorial dropdown. We should probably make a wrapper (dropdown window?) for setting its items.


why the rowHeight related with columnWidth

I don't understand why the rowHeight related with columnWidth? I just want column span and custom row
height

Same here.
Can't figure out why my row heigh is wrong...


[BOT PR] to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow//e2e-simpleTests-minProfile.sh
dfcfff725ce9db87d44cfe3a495ab58b800843e0
link
/test e2e-simpleTestsMinProfile

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


too many ways to jank my project

Steps to Reproduce
My flutter create myproject works great. But my project that I started developing for Android on a linux machine does not work on a mac for iPhone. I have been reading every post I can and I find all sorts of conflicting details.
So what I'm asking... Let's say I have one project, let's call it ALPHA and it works on android and does not work on mac.  So I create project BETA on mac and it does.
NOW THE QUESTION.... what artifacts from ALPHA can I copy to BETA so that it works reliably?
OR... what s the real XCode, Android Studio, Flutter project configuration(s)?
Q: when do I need to add ENV['SWIFT_VERSION'] and which version should I be using?
Q: why is there a post_install version of the same?
Q: when uncomment the ios version flag and which version is ideal?
Q: the compiler warning from cocoa about the xcode flags that seem to override the podfile (debug, release, profile) that is described as CUSTOM?
Q: there seem to be other SDK tools that are not installed... which ones really matter?
MORE IMPORTANTLY... how do I set my project baseline so that it compiles and runs without tweaking?
Logs
n/a

@jonahwilliams Can you please help?

Could you please add the output of flutter doctor - v from you Linux and your Mac flutter Installation.

There are artifacts that do not work cross platform. These should be hidden via the .gitignore and not shared.

@jonahwilliams .gitignore has nothing to do with gradle or not to gradle and similar tools.

The bug system is not a good place for discussion of a lot of different questions at once (many of which are unrelated).
You should not be copying a whole project between macOS and Linux, or sharing a directory between them in a dual-boot or VM setup, which is what Jonah was saying. You should instead use version control, and check out one copy on your macOS machine, and one on your Linux machine.
If you do that, then things should work fine building that project on different machines. If you try that and it's not working, please file one or more new bugs with specific issues, including detailed information about the steps you are doing and the errors you are seeing.
For general Q&A-style support, please use one of the more general-purpose communities listed at flutter.dev/communities.

@stuartmorgan I COMPLETELY disagree with your interpretation. He said nothing of the sort. Neither did I. I am sharing my project thru git. And frankly, in a separate issue, it was recommended that I use beta or MASTER channel code. How is flutter ready production if that's the recommendation? How do I change my customer's mind that flutter is not ready for production.
ALSO there is nothing wrong with my question. I'm giving examples in the form of a question about topics that might be asked in separate issues, however, all are related to mac, iphone and cross architecture... the main selling points.
but feel free to close it. this is GREAT

@rbucker just to let you know the latest hotfix that was on beta is now the new stable. I only proposed trying master to see if it makes a difference to you.
You didn't post the 'flutter doctor' output from your Linux machine.

generally speaking the out of the box experience has left a lot to be desired. In a conversation with the project owner we came to the same result. There are clearly some people who have been hovering in this area and I imagine they have success. I have different expectations from my tools. And now we are really going off topic.


croc-hunter-jenkinsx to 0.0.136

Promote croc-hunter-jenkinsx to version 0.0.136

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Update scala3-library to 3.5.0

About this PR
📦 Updates org.scala-lang:scala3-library from 3.4.3 to 3.5.0
📜 GitHub Release Notes - Version Diff - Version Diff
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!

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

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

labels: dependencies, scala, library-update, early-semver-minor, semver-spec-minor, version-scheme:semver-spec, commit-count:1

Superseded by #27.


changes: there is no 1.7.0 branch, but a 1.7.x branch instead

dir:
mender-docs
files:
07.Administration/02.Production-installation/docs.md

A couple of quick comments about process,

Changes typically go to master first if not very specific to a certain branch, e.g your first commit is correct to target 1.7.x. The second change should probably go trough master first and then cherry-picked to relevant stable branches.

We require a Signed-off-by tag on all commits

The changes: prefix seems superfluous to me

Please check if this is better now.

there should be a signed-off by
extra comments were removed
only one the commit for the 1.7.x branch

In case this did not work we can drop it and I make a new pull request

The format looks good now, I left a comment on the change as well.

@mirzak, @RobertBerger, looks dead to me. Will close by the end of the day, if no activity occurs.


Remove trailing whitespace

What this PR does / why we need it:
Remove trailing whitespace.
Which issue this PR fixes(if applicable):
fixes #
Special notes for reviewers:

Release note:

NONE

/ok-to-test

/test cloud-provider-openstack-acceptance-test-csi-manila

/test cloud-provider-openstack-multinode-csi-migration-test

/lgtm
/approve


fix: Handle case where the locale param is an array and set cookie expiration to one year

Changes:

Handle case where the locale param is an array
Set cookie expiration to one year
Pin Next.js version in examples
Use latest tag in examples (for CSB)

Fixes #431

Hi 👋
I see you're pinned version for next, but do you have plan to upgrade next to the latest version?
For me not-found.tsx file not working from 13.4.10+ version of next.


Open source website

Hi
I've come across a few problems on the phprbac.net website. I'd love to be able to send pull requests for those, especially for documentation fixes. Any chance of making that website open source? Perhaps on a new orphan branch of this repository even, I'd happily do the legwork if anyone wants to send me the relevant files in a zip file.
Cheers
Sheldon

Just to reiterate, I have moved the website code to it's own repo under the "FriendsOf-PhpRbac" Github Organization: https://github.com/FriendsOf-PhpRbac/phprbac.net
Closing this Issue.


Installation of app from custom remote repo is failing

I am hosting a custom helm-repo in a gcloud bucket. I can not install the app from there, since it gives me http: no Host in request URL. If I serve the same folder locally, I don't have any trouble to install the apps.
$ helm version
Client: &version.Version{SemVer:"v2.6.0", GitCommit:"5bc7c619f85d74702e810a8325e0a24f729aa11a", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.6.0", GitCommit:"5bc7c619f85d74702e810a8325e0a24f729aa11a", GitTreeState:"clean"}

$ helm repo list
NAME            URL
stable          https://kubernetes-charts.storage.googleapis.com
local           http://<IP_ADDRESS>:8879/charts
onlinerepo        https://helmrepo.storage.googleapis.com

$ helm install --debug onlinerepo/helm-logstash
[debug] Created tunnel using local port: '50494'

[debug] SERVER: "localhost:50494"

[debug] Original chart version: ""
Error: Get http:///helmrepo.storage.googleapis.com/helm-logstash-0.0.1.tgz: http: no Host in request URL

$ helm search logstash
NAME                    VERSION DESCRIPTION
onlinerepo/helm-logstash  0.0.1
local/helm-logstash     0.0.1

Hi @krlng
Sorry you are having trouble. First thing, any idea why there is an extra slash in the repo URL returned in the error?
Error: Get http:///helmrepo.storage.googleapis.com/helm-logstash-0.0.1.tgz: http: no Host in request URL
                  ^extra slash

Okay, Thank you jascott. I did not recognize the third slash. After finding this I checked my index.yaml more carefully and recognized, it had 3 slashes as well. Then I checked my bash history and found that I accidenatly built my repo with helm repo index --url http:///helmrepo.storage.googleapis.com . (3 Slashes in the url). The the problem was my error. Closing this.

one thing be sure to do is run helm repo update to refresh the repo of changes


Better logging output for curating anndatas

Report
💡 1 non-validated categories are not saved in Feature.name: ['feat1']!
      → to lookup categories, use lookup().columns
      → to save, run add_new_from_columns

Here feat1 is a numerical feature. Seeing it called a category is very confusing. Can we call it value instead, please?
This is what I called:
adata = AnnData object with n_obs × n_vars = 2 × 3
    obs: 'feat1'
    obsm: 'X_pca', adata2 = AnnData object with n_obs × n_vars = 2 × 3
    obs: 'feat1'
    obsm: 'X_pca'

    def test_from_consistent_artifacts(adata, adata2):
        # ln.Feature(name="feat1", dtype="number").save()
        curator = ln.Curator.from_anndata(adata, var_index=bt.Gene.symbol, organism="human")
>       artifact1 = curator.save_artifact(description="My test")

Version information
No response

Fixed here: https://github.com/laminlabs/lamindb/pull/1905/commits/52572731a141be2058d9119cb35d4469b4c0e27d


Uuid.v4() not validated in python

Hello and thanks for the package !
I am using Uuid.v4() in my flutter code and i am also validating IDs with Uuid.isValidUUID(fromString: uid).
I have implemented the check in python :
def is_valid_uuid(uid, version=4):
    """
    Check if uuid_to_test is a valid UUID.

     Parameters
    ----------
    uuid_to_test : str
    version : {1, 2, 3, 4}

     Returns
    -------
    `True` if uuid_to_test is a valid UUID, otherwise `False`.

     Examples
    --------
    >>> is_valid_uuid('c9bf9e57-1685-4c89-bafb-ff5af830be8a')
    True
    >>> is_valid_uuid('c9bf9e58')
    False
    """
    try:
        uuid_obj = uuid.UUID(uid, version=version)
    except ValueError:
        logging.error(f"Not a valid uuid : {uid}")
        return False
    return str(uuid_obj) == uid

For uuid.uuid4() validation which "should" be the same in my bsic understanding.
Do you know what might cause the python to tell that the Uuid.v4() is invalid?

Sorry i wrote a bit fast, it was a mistake in my call in python, the validation is fine ! :)


Fix bazel copyright notices

It seems many Bazel files were not being properly tracked by the copyright checker. This PR adds the check and adds a copyright notice to many files that did not previously have them.

FYI, we need to re-generate the project.

Thanks for pointing this out. I didn't realize that some of these were non-template generated files. Fixed.


Failing single underscore nested delimiter in BaseSettings with submodules

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
Hi,
I am following the example for nesting a BaseSettings class with BaseModels and I am using env_nested_delimiter = '_'.
Running the example code I get:
pydantic.error_wrappers.ValidationError: 4 validation errors for Settings
sub_model -> v1
  field required (type=value_error.missing)
sub_model -> v2
  field required (type=value_error.missing)
sub_model -> v3
  field required (type=value_error.missing)
sub_model -> deep
  field required (type=value_error.missing)

While it looks possible to use the single underscore delimiter, the values are not picked up and I am not sure which ones the settings object is looking for in this example.
Example Code
import os
from unittest import TestCase

from pydantic import BaseModel, BaseSettings

class DeepSubModel(BaseModel):
    v4: str

class SubModel(BaseModel):
    v1: str
    v2: bytes
    v3: int
    deep: DeepSubModel

class Settings(BaseSettings):
    v0: str
    sub_model: SubModel

    class Config:
        env_nested_delimiter = '_'
        env_prefix = 'TEST_'

class TestConfig(TestCase):

    def setUp(self) -> None:
        self.original_env = os.environ.copy()

    def tearDown(self) -> None:
        os.environ.clear()
        os.environ.update(self.original_env)

    def test_nested_delimiter(self):

        os.environ['TEST_V0'] = 'v0'
        os.environ['TEST_SUB_MODEL_V1'] = 'v1'
        os.environ['TEST_SUB_MODEL_V2'] = 'v2'
        os.environ['TEST_SUB_MODEL_V3'] = '3'
        os.environ['TEST_SUB_MODEL_DEEP_V4'] = 'v4'

        config = Settings()

        self.assertEqual(config.v0, 'v0')
        self.assertEqual(config.sub_model.v1, 'v1')
        self.assertEqual(config.sub_model.v2, b'v2')
        self.assertEqual(config.sub_model.v3, 3)
        self.assertEqual(config.sub_model.deep.v4, 'v4')

Python, Pydantic & OS Version
pydantic version: 1.10.2
            pydantic compiled: True
                 install path: /Users/petroslabropoulos/Projects/workable/ml-utils/.venv/lib/python3.10/site-packages/pydantic
               python version: 3.10.5 (main, Jul 20 2022, 15:20:07) [Clang 13.1.6 (clang-13<IP_ADDRESS>.5)]
                     platform: macOS-13.3.1-x86_64-i386-64bit
     optional deps. installed: ['dotenv', 'typing-extensions']

Affected Components

[ ] Compatibility between releases
[X] Data validation/parsing
[ ] Data serialization - .dict() and .json()
[ ] JSON Schema
[ ] Dataclasses
[X] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[ ] Other Model behaviour - construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

Note that in my real use case, my classes had default values which hid the error and made it be completely silent. I could not find a way to print the needed env vars and so I asked this question.
Also, after experimentation I found out that if the attributes/submodels have no underscores of their own (here sub_model has one), the variables get picked up correctly.

Also, after experimentation I found out that if the attributes/submodels have no underscores of their own (here sub_model has one), the variables get picked up correctly.

Yes. the problem was the _ in one of your fields (sub_model).
I've tested your example in the new pydantic-settings and there is a problem in parsing bytes. I will prepare a patch to fix that problem.
As you may know, we are preparing Pydantic V2 and settings management will be a separate package(pydantic-settings). pydantic-settings is in alpha state and you can install it by pip install pydantic-settings --pre

Hi @hramezani, thanks for your answer.
Should I not expect a fix in the V1 version and I suspect should prepare for a migration to V2?

@hramezani I very much appreciate your prompt responses.
If I may comment on this, I think I did not find this exception in the documentation, which made it silent and hard to debug for me personally.
Also, I suspect this will happen for every delimiter that is also included the attributes. And the single underscore is as common a case as they come.

I think there is no way to fix this. Actually, it's not a bug and the user has to care about the env_nested_delimiter config.

Also, I suspect this will happen for every delimiter that is also included the attributes. And the single underscore is as common a case as they come.

Yeah, actually env variables names are strings, and pydantic-settings split them by env_nested_delimiter if exists. So, I think there is no way to raise an error.
Maybe we can say something about this common problem in the documentation. @petroslamb You can open a PR and explain the problem in doc if you have time.

The env_nested_delimiter does not work with single underscore _ values. This is not expected based on the docs where we read that nested configs are supported using any configurable env_nested_delimiter:

Another way to populate nested complex variables is to configure your model with the env_nested_delimiter config setting, then use an env variable with a name pointing to the nested module fields. What it does is simply explodes your variable into nested models or dicts.
...
env_nested_delimiter can be configured via the Config class as shown above, or via the _env_nested_delimiter keyword argument on instantiation.

Python uses underscores to name vars a lot, so it's highly problematic if env_nested_delimiter fails in case of nested configs with properties including an _. I would prefer we flag nested configs as beta or sth till we fix this issue. If no fix should be expected let's at least document _ as not supported in the docs.
Example
This is our config that fails to be (fully) loaded from the environment:
class LLMConfig(BaseSettings):
    provider: str = "openai"
    chat: bool = True
    model_name: str = "gpt-3.5-turbo"
    api_key: str = ""
    api_type: Optional[str] = "azure"
    api_version: Optional[str] = "2023-03-15-preview"
    deployment_id: Optional[str] = None
    api_base: Optional[str] = None

    class Config(BaseSettings.Config):
        env_prefix = "GENERATION_LLM_"

class GenerationConfig(BaseSettings):
    llm: LLMConfig = LLMConfig()
    ..

    class Config(BaseSettings.Config):
        env_nested_delimiter = "_"
        env_prefix = "GENERATION_"

The fields without an _ are loaded correctly from the environment:
config = GenerationConfig()
config.llm.provider # loaded with GENERATION_LLM_PROVIDER env var
config.llm.chat # loaded with GENERATION_LLM_CHAT env var

The rest of them, having an _, do not though:
config = GenerationConfig()
config.llm.api_key # not loaded from GENERATION_LLM_API_KEY
config.llm.api_type # not loaded from GENERATION_LLM_API_TYPE
...

@antonakospanos it does work with _ and any other strings.
pydantic-settings split env variables name by env_nested_delimiter and tries to build the model. So, if you set the env_nested_delimiter to _ you need to care about the field names. Actually, it is a wrong usage or misconfiguration of pydantic-settings
As I mentioned above, we can add a note to the documentation about this.

Properties like GENERATION_LLM__API_KEY are error prone. Why can't we map the env vars (i.e. GENERATION_LLM_API_KEY) to the properties (i.e. api_key) of a nested config as follows?
class GenerationConfig(BaseSettings):
    llm: LLMConfig = LLMConfig()
    ..

    class Config(BaseSettings.Config):
        env_nested_delimiter = "_"
        env_prefix = "GENERATION_"

If we concat the env_prefix, the llm name of the field in GenerationConfig and the env_nested_delimiter we come up with GENERATION_LLM_ prefix, that is the one we expect to have in the mapped env vars of LLMConfig's properties.
It seems like sth that can be supported adjusting the implementation to check all the information provided (`env_prefix, nested config name, env_nested_delimeter).

@samuelcolvin your input on this?

Is this fixed or planned to be fixed in the context of v2? Any update please?

This behavior is a bit inconvenient to work around. It doesn't seem impossible for pydantic-settings to handle a _ delimiter. If I understand correctly, is pydantic-settings starting with the env vars, splitting those up by the delimiter, and looking for fields that match in the settings class? Would the problem be solved if instead, it worked backwards? Starting from the class, grab field names, and look for env vars that match the field_name+delimiter+nested_field_name combination? I'm sure I'm missing something obvious but I wanted to ask for my own understanding

It would be really nice if it worked because the current behavior is a bit inconvenient to work around. I want to start using pydantic-settings, but I don't want to have to change the names of my existing env vars, and I like the elegant solution that pydantic-settings offers
If I understand correctly, is pydantic-settings starting with the env vars, splitting those up by the delimiter, and looking for fields that match in the settings class? Would the problem be solved if instead, it worked backwards? Starting from the class, grab field names, and look for env vars that match the field_name+delimiter+nested_field_name combination? I'm sure I'm missing something obvious, but I wanted to throw the question out there because on the surface, it does seem possible to support behavior like this


Add timers subcommand to admin CLI

What changed?
Adding helper command under admin/db section in CLI.
This command returns timers scheduled.
You can use number of filters:

time range
domain UUID
shard range
timer types to retrieve

Why?
This tool can be used for operational needs. It helps inspect what timers are scheduled for specific time range. For now, additional, external, tooling is needed to visualize results.

How did you test it?

Potential risks

Coverage decreased (-0.06%) to 67.127% when pulling c6d25fc6fddf28ef5bd9d23bbfec36e8c7c9281f on mantas-sidlauskas:timers_cli into<PHONE_NUMBER>dfa5f7e67ff3fe398492f71e57e32e on uber:master.


ESP-8266 mqtt client dont reconnect, if the connection is lost

Hello, it seems, there is serious issue to reconnect the mqttClient. It can't reconnect, even if the network connection is available. I have this code:
WiFiClient wclient;
PubSubClient mqttClient(wclient);
void disconnectMqttClient() {
if (mqtt_server[0] == 0) return;
mqttClient.disconnect();
}
void connectMqttClient() {
if (mqtt_server[0] == 0) return;
disconnectMqttClient();
Serial.println(F("Trying to connect mqtt..."));
if (!mqttClient.connected()) {
//connect client
Serial.println(F("Connecting..."));
IPAddress mqttServer(getIpAddrFromArr(mqtt_server));
mqttClient.setServer(mqttServer, mqtt_port);
if (mqtt_user.length() == 0) {
mqttClient.connect(mqtt_client_id.c_str());
} else {
mqttClient.connect(mqtt_client_id.c_str(), mqtt_user.c_str(), mqtt_pwd.c_str());
}
if (mqttClient.connected()) {
Serial.println(F("Mqtt connected."));
mqttClient.setCallback(callback);
mqttClient.subscribe(mqtt_in_topic.c_str());
} else {
Serial.println(F("Mqtt not connected."));
}
}
}
void loop() {
if (mqtt_server[0] != 0) {
if (!mqttClient.connected()) {
long now = millis();
if (now - lastReconnectAttempt > 5000) {
lastReconnectAttempt = now;
// Attempt to reconnect
connectMqttClient();
if (mqttClient.connected()) {
lastReconnectAttempt = 0;
}
}
} else {
// Client connected
mqttClient.loop();
}
}
}
So as is seen, I have reconnect functionality in place - similar like in the example. But when the connection is lost, it never connects back:
Trying to connect mqtt...
Connecting...
Mqtt not connected.
If the module boots, it connect without any problem, but after while - sometimes 10 mins, sometimes an hour, it will loose the connection and never reconnects. I have tried to ping the device and it can be ping, so it has the network connection. Seems to me, that mqttClient can't be reused.

I think, I know, what is the problem: The code is fine, and library as well. The problem is, tha in the loop method, I did some heavy operations and it looks like, that this caused the problem with the stability of the socket. I have put to these heavy operation time to time delay(10) and seems it is working fine now. Seems, that this delay let the esp8266 fw to do the socket maint. job :)

Hello. I'm programming an esp32 and have the same problem. After I reboot the router and mqtt tries to reconnect, I always get connection failed (state -2). If you have resolved this, can you please post your code here?

Did you solve it ? I had a same problem and now i solved it. I can help you if you want. @thrazu @robertgregor

Same problem, @gokhantahil can you help me?

@PixelSox yes, pm me. I’ll help you asap.

@gokhantahil can you please post your solution. I have the same problem with the reconnects.

@giovanne123 can you send me an email ?

@gokhantahil same problem, can you help as well?


Idea: Scenario Outline -> Example Provider:

like in phpUnit provider, why dont we could have
Scenario Outline:
...
Example Provider: Table
| resourceRoute | resultCodeGET|
Or
Example Provider: PHP:./data/examples.php <- return array();
Example Provider: CSV:./data/examples.csv <- read file

Gherkin is not a programming nor testing language.


[FSDE-10418] Improve disabled buttons implementation in Column customization component

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/1/. :white_check_mark:

You can check this PRs instance in https://c089a883e290201669e11c94ed8184286dadb3be-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/2/. :white_check_mark:

You can check this PRs instance in https://c7078388e9f08523d0a3123604239d08f2490b07-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/3/. :white_check_mark:

You can check this PRs instance in https://95f7b4cd0e211671f924a40c8d2cb56ce918f7ab-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/4/. :white_check_mark:

You can check this PRs instance in https://b9a1f3dde7552117faa13bdefd61c31068ba33b1-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/5/. :white_check_mark:

You can check this PRs instance in https://7904613c246ae298ce93401e7f2c332188dafbc5-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/6/. :white_check_mark:

You can check this PRs instance in https://ab9f88b8bd2228c5e7ef4d8852f5d6cae6f29932-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/7/. :white_check_mark:

You can check this PRs instance in https://57a4395cece5c023f79a1f1d47b8c356b9e2b95e-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/8/. :white_check_mark:

You can check this PRs instance in https://ff7ca139d8ec5bd9c351b5786e296372b6614506-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/9/. :white_check_mark:

You can check this PRs instance in https://e700f299e80912e929ca5cd86f86e2a1264d2627-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/10/. :white_check_mark:

You can check this PRs instance in https://76581865db562eec631e009eb4a3886e9dcad7ea-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/11/. :white_check_mark:

You can check this PRs instance in https://800974a0e327701e7996e7b62d3639d48d24788c-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/12/. :white_check_mark:

You can check this PRs instance in https://507a5502111fc8202a5782c17a58ecfbac3b3397-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/13/. :white_check_mark:

You can check this PRs instance in https://947542f53eeb439b302477a7840e863ab67a13e0-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/14/. :white_check_mark:

You can check this PRs instance in https://8546616a9c599391f581e47ef02e93788da18284-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/15/. :white_check_mark:

You can check this PRs instance in https://6945c2e7c09bfc0310dab791b8d00d6a87ce760b-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

You can check this PRs instance in https://b84a405f9ed8d4426cfac090d7597bc206b867dd-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/17/. :white_check_mark:

You can check this PRs instance in https://c6c5f07b8940975e9b14c5489d419e0a476e4631-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/18/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/19/. :white_check_mark:

You can check this PRs instance in https://6205fa7f4770ff27179cd4874994fcfdc2090ea2-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/20/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/21/. :white_check_mark:

You can check this PRs instance in https://3204cb2083f608ba04e41136165017a29512a44e-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/22/. :white_check_mark:

You can check this PRs instance in https://eb70da179a2a99bda23f713794512ba021a23b4a-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/23/. :white_check_mark:

You can check this PRs instance in https://e9a67217b6a6e1913fc1754fe01849301a231ea9-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/24/. :white_check_mark:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/25/. :white_check_mark:

You can check this PRs instance in https://015fb5f29b8490e423877daf0bc730900d93a21d-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/26/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/27/. :white_check_mark:

You can check this PRs instance in https://e16f29a90ced6cb03758921a42bbfc2d48349832-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

You can check this PRs instance in https://68dc294e40d2ecd0a0be15fe073a8951a08c592f-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)

The CI pipeline did not run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/29/. :x:

The CI pipeline run successfully in https://jenkinsprod.corp.intranet:8443/job/UX-CHI/job/Productive/job/Chi/job/PR-238/30/. :white_check_mark:

You can check this PRs instance in https://51cd692af168ab59cadc1b64992e5b53784f3344-chi-pr.enterprise.ctl.io (external) and in https://nginx-pr-238-ux-chi.kubeodc-test.corp.intranet/ (internal)


Remove .toString() method on action objects

This method was undocumented and unused (except incorrectly in tests), and removing this improves performance.
Fixes #2488

We should also create a ticket for v5 to consider removing a very similar Object.defineProperty call in the State class: https://github.com/statelyai/xstate/blob/fb7ea97465dfba0b7ef17edbf327c7c21848c7e8/packages/core/src/State.ts#L253-L257


lazy getting body

hmm... I have no idea.

It is the best solution to add get_body=True option.
If it is set False, body is None.

@feedy.add('https://www.djangopackages.com/feeds/packages/latest/rss/', no_body=True)
def djangopackages(feed_info, entry_info, _):
    print("- [{pkgname}]({link})".format(pkgname=entry_info['title'], link=entry_info['link']))


Fails to build with Android SDK 26 to library compatibility with 23.0.1

Problem - when starting the React-native app with SDK 26, react-native-youtube fails to build due to its compatibility with 23.0.1
I recently created a react-native init MyProject and followed the instructions as shown in the readme file. In my system configuration, however, I had the following under ./android/build.grade:
ext {
    buildToolsVersion = "26.0.3"
    minSdkVersion = 16
    compileSdkVersion = 26
    targetSdkVersion = 26
    supportLibVersion = "26.1.0"
}

And under dependencies:
        classpath 'com.android.tools.build:gradle:2.3.3'

When attempting to build the whole system, based in the example, it got an error claiming that I didn't sign the terms/agreements for the 23.0.1.
Workaround
When I looked this project source code, I was able to identify:
https://github.com/inProgress-team/react-native-youtube/blob/master/android/build.gradle
Which have
 buildscript {
    repositories {
        jcenter()
    }

   dependencies {
        classpath 'com.android.tools.build:gradle:1.1.3'
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    lintOptions {
        abortOnError false
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.facebook.react:react-native:+'
}

In order to have the system working, I had to update the above lines to become compatible with the SDK I had installed — after patch is the following:
buildscript {
    repositories {
        jcenter()
    }

   dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
    }
}

apply plugin: 'com.android.library'

android {
    compileSdkVersion 26
    buildToolsVersion "26.0.3"

    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    lintOptions {
        abortOnError false
    }
}

repositories {
    mavenCentral()
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.facebook.react:react-native:+'
}

I wonder how would be an elegant solution here, considering that this library normally comes from npm or that node_modules is usually not part of project repositories. Right now, any new replica of my project I depend on manually patching like the above.

I have studied a bit more and I have seen some projects to provide the component specific build.grade to reference the "rootProject".  Here is my patch:
https://github.com/taboca/react-native-youtube/commit/367d7458ba92b8ea49a446f04455b3ea8423643e
I wonder if a solution like this is considered a problem or would it make sense.

@taboca  Yeah bumping the gradle version and compileSdkVersion fixes it for me too! I don't think this would be a problem because it compiles down properly and there are no breaking backward changes with upgraded sdk version. But I'm not sure, so following this thread.

The specified Android SDK Build Tools version (28.0.3) , it is below the minimum supported version   for Android Gradle Plugin 3.2.1.

https://github.com/inProgress-team/react-native-youtube/releases/tag/v2.0.0-beta.1


Plugin is not working with sails v1.x

The plugin is not working any more with the current version of sails js 1.0
can you please post an upgrade soon ?

I would appreciate if you create a pull request with patch :-)

FYI, in SailsJS v1.0, sails-hook-blueprint-count is natively integrated.

FYI, in SailsJS v1.0, sails-hook-blueprint-count is natively integrated.
https://sailsjs.com/documentation/reference/waterline-orm/models/count

For controllers? For models it is was available before.

@dehimer yes you can call it with await Model.count(criteria) in your controller now.

@dehimer yes you can call it with await Model.count(criteria) in your controller now.

I implemented count now. Added count action to base/Controller and added routes to config/routes.
If you will not specify route - you will get undefined model in options and get error in
const Model = actionUtil.parseModel(request);

module.exports = {
  /*
   * Generic count action for controller.
   *
   * @param   {Request}   request
   * @param   {Response}  response
   */
  count(request, response) {
    console.log('count');
    const Model = actionUtil.parseModel(request);
    const criteria = actionUtil.parseCriteria(request);

    Model
      .count(criteria)
      .exec((error, count) => {
        if (error) {
          console.log(error);
          response.negotiate(error);
        } else {
          console.log(count);
          response.ok({ count });
        }
      });
  },
};

@dehimer How do I specify my routes?
I tried the following code but get "No model specified in route options." error 😢
// Count   'GET /*/count' : {     action: 'main/count'   }

@dehimer How do I specify my routes?
I tried the following code but get "No model specified in route options." error 😢
 'GET /*/count' : { action: 'main/count' }
I did it in this way:
'GET /timeentry/count': {     controller: 'TimeEntryController',     action: 'count',     model: 'timeentry'   },
For every model


[FEATURE REQ] Update quick-start doc of Spring Data JDBC with SQL Database to include passwordless connection

Context
The driver of SQL Database has already supported Azure AD authentication, we should update our quickstart doc of Spring quickstart SQL Database JDBC to include the passwordless connection method. Since this driver doesn't support DefautAzureCredential, we can only mention how to use Managed Identity and service principals.
There's a template worked out by Alex can be found here:

https://github.com/MicrosoftDocs/azure-docs-pr/pull/203348#issuecomment-1205727432
https://github.com/MicrosoftDocs/azure-docs-pr/pull/203348#issuecomment-1203381358

We should demo two connection methods in this doc, one using passwordless connections and one using username/password, using contextual tabs to distinguish them. We should make the credential-free tab as the default/recommended.
Goal
Update the quick-start doc to include the passwordless part.

https://github.com/MicrosoftDocs/azure-dev-docs-pr/pull/3511

Close this issue since the pr has been closed and the content has merged.


Using as Web Components

Is there a way to use Beer CSS components as Web Components? Calling the ui() function every time is tedious. Web components make it very easy to make a good UI fast, without any JS. It also makes code more readable. Another advantage is that if it can be used/converted into Web components then using Beer CSS with Vue, React, etc will be a breeze, Currently, every rerender would require another call of the ui() function

Absolutely. We are working to not call ´ui()´ anymore.

Hello @tomatopickle ,
Finally we don't need to call ui() anymore in https://github.com/beercss/beercss/releases/tag/v2.1.0 🍺🍺🍺! Just import our js script as usually with zero configuration.
We will think about a web component in future, It's a interesting idea.


[BUG] The client response body can only be consumed once

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior

I am using shenyu2.4.2 for stress testing, when the concurrency exceeds 4, the exception shown in the figure above will be thrown. Changed to shenyu2.4.1 for the same test, and no exception occurred.
Expected Behavior
No response
Steps To Reproduce

1、Using apache-shenyu-incubating-2.4.2-bootstrap-bin.tar.gz；
2、A very simple backend http application that returns 10 characters directly. As shown in above FIG.
3、Using apachebench(ab): ab -n 20000 -c 16 http://localhost:8080/aaa
Environment
ShenYu version(s):2.4.2

Debug logs
No response
Anything else?
No response

@wls981 maybe try the last version at the master branch.  we used the shenyu for a long time,  this problem does not exist.

I close this issue, you can try the last version. if this bug is present again,  tell me and refer issue again.    @wls981

在压力测试下，基本会一直重现这个异常：
Caused by: java.lang.IllegalStateException: The client response body can only be consumed once.
at org.springframework.http.client.reactive.ReactorClientHttpResponse.lambda$getBody$0(ReactorClientHttpResponse.java:66)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
请问都是怎么处理的。


Stop sending raw location updates from Publisher to Subscriber

I've removed all code connected to sending raw location updates from the Publisher to the Subscriber.
I've left the "raw location changed" event in the Publisher, since we're using the raw location as the current location when setting a destination.

@paddybyers @KacperKluka by looking at this, and also considering that we had a beta release right on the 14th, I think the reason we removed the raw locations was that we didn't have time to think through the API for this. I think now we have this time, and there is a potential use case in mind (debugging), so I am wondering if we can get back to this


Day75

Resolves #159.

Pull Request Test Coverage Report for Build 326

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 324:
0.0%

Covered Lines:
24

Relevant Lines:
24

💛  - Coveralls


better chunks

currently, we just send a stone chunk that the player doesn't even spawn in. change this to chunks that contain flatgrass, this way, it will be easier for implementing players spawning and seeing each other, then we can move on to better generation with a noise library

done in #11


feat: add remove duplicate newline text transformation

Description
Add a pipe text command script to remove duplicate newlines.
Screencast
NA
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Do you mind checking @pomdtr


Problem with WallabyJS

Problem with WallabyJS:
A child compiler (html-webpack-plugin for "index.html") does not
have a memory cache. Enable a memory cache with webpack's
`cache` configuration option. HardSourceWebpackPlugin will be
disabled for this child compiler until then.

[at-loader] Using<EMAIL_ADDRESS>from typescript and "tsconfig.json" from <path-removed>/tsconfig.json.

Tue, 28 Feb 2017 02:06:19 GMT wallaby:project Error: ENOENT: no such file or directory, open '<path-removed>/cache/196e18401b67579637a91b58941ad614b3b1bdcb3c12a6cd5063f831ad665f03/stamp'
From previous event:
  at _combinedTickCallback (internal/process/next_tick.js:67:7)
  at process._tickCallback (internal/process/next_tick.js:98:9)
From previous event:
  at Object.postprocessor (/<path-removed>/Library/Caches/WebStorm2016.3/wallaby/wallaby/server.js:16:16202)
  at <path-removed>/Library/Caches/WebStorm2016.3/wallaby/wallaby/server.js:16:31466
  at Timeout._onTimeout (/<path-removed>/Library/Caches/WebStorm2016.3/wallaby/wallaby/server.js:16:31017)
  at ontimeout (timers.js:365:14)
  at tryOnTimeout (timers.js:237:5)
  at Timer.listOnTimeout (timers.js:207:5)
Tue, 28 Feb 2017 02:06:19 GMT wallaby:project Test run finished
Tue, 28 Feb 2017 02:06:19 GMT wallaby:project Test run data re-queued

Postprocessor run failure: ENOENT: no such file or directory, open '/<path-removed>/cache/196e18401b67579637a91b58941ad614b3b1bdcb3c12a6cd5063f831ad665f03/version'

Pruning old issues.


Restrict DuplicateAssociation cop to ActiveRecord

Previously this cop would run against all classes, which led to false positives when the class was not descended from ActiveRecord::Base and thus might have acceptable use cases for repeating association declarations in ways that would not be acceptable in AR classes.

Can you add a changelog entry?

Sure thing.
Rebased against master, accepted the suggested changed, added changelog entry.

Thanks! Can you squash your commits into one?

Squashed.

👍


docs(core/#2611): improve build docs and dependencies

Small change to include all the builds deps for Fedora 32. I've updated the Revery deps already, since that is just in the Wiki there and doesn't need a PR.
Also just updated to explain what the 3 build steps do, a common question I see is "The bootstrapping is taking ages! The build is going to take even longer..." when really the build step is a few seconds since 99% of the work happens in the bootstrap bit. (We can't swap the steps around as eventually you hit an error as the bootstrap files are needed and getting and error during the build would cause even more questions).
Fixes #2611.

(Made a typo in my commit....Probably shouldn't edit in the GitHub UI. Took that as an opportunity to do a speedy spellcheck pass over the doc pages).

Awesome, thanks @CrossR !


Merging master into live

OPS Build status updates of commit af96123:
:clock10: Preparing: average preparing time is 46 sec(s)

OPS Build status updates of commit af96123:
:clock10: Incremental building: average incremental building time is 19 sec(s)

OPS Build status updates of commit af96123:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/get-started-uwp.md
:white_check_mark:Succeeded
View

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


Powertools not available after installation

Microsoft PowerToys version
0.82
Installation method
WinGet
Running as admin
Yes
Area(s) with issue?
General
Steps to reproduce
I installed Powertoys on my ARM64 laptop and tried searching for it using Windows Search but I could not find the app anywhere in the system. I only find the app in the control panel as an option to uninstall.
✔ Expected Behavior
To find PowerToys in the Windows Search and be able to open it
❌ Actual Behavior
Nothing. The app does not show in search after installation.
Other Software
No response

/reportbug


"int object is not callable" error when running sta_connect_example.py

Sorry for spamming, but just wanted to note that running sta_connect_example on my setup seems to fail when trying to finish the connection (the only things I changed in the script were putting in my own ssid and password values, and also adding sleep statements between setup() and start(), and between stop() and finish())
$ python3 sta_connect_example.py
Adding new stations  sta000,
Configuring
 sta000,
Bringing ports up...
Waiting until  ports appear admin-up...
Waiting for 1 stations to associate to AP: .... sta000 +AP 84:80:94:B0:05:76,
Starting CX Traffic
Refresh CX stats
Stopping CX Traffic
Traceback (most recent call last):
  File "sta_connect_example.py", line 51, in <module>
    main()
  File "sta_connect_example.py", line 35, in main
    staConnect.finish()
TypeError: 'int' object is not callable

I got the same error when I ran it on my system, because its default port is eth2. I changed it to eth1 to match my device, I'm going to work on this tomorrow.

OK, I just pushed some modifications. Set flags for the eth port you are using and network credentials which you use on your system and let me know if that works for you. If you need or want assistance, contact me and I can walk you through it over a video call.

Thank you so much Matthew! I no longer get the "int object is not callable" error when running on the latest commit; for some reason the call to set_port always fails for me with a 400 error so I have to manually click DHCP for my test station (I thought this was a timing issue and increased the sleep between adding the station and configuring it in sta_connect.py to 1 second, but saw no difference) but after that the test will continue working :) It seems to have some difficulty in the cleanup (tries to remove the UDP endpoints repeatedly it looks like), but maybe there's something specific about my setup that's causing it to struggle.
[lanforge@ct525-f314 py-scripts]$ ./sta_connect_example.py -u "eth1.3" --ssid "Acme1" --passwd "123456789" --security wpa2
Adding new stations  sta000,
Configuring
 sta000,----- LFRequest::json_post:147 HTTPError: --------------------------------------------
<http://localhost:8080/cli-json/set_port> HTTP 400: Bad Request
Error:  <class 'urllib.error.HTTPError'>
Request URL: http://localhost:8080/cli-json/set_port
Request Content-type: application/json
Request Accept: application/json
Request Data:
(b'{"shelf": 1, "resource": 1, "current_flags":<PHONE_NUMBER>, "interest": 16386, '
 b'"port": "sta000", "suppress_preexec_cli": false, "suppress_preexec_method": '
 b'false, "suppress_postexec_cli": true, "suppress_postexec_method": true}')
Response Connection: close
Response Content-Length: 111
Response Content-Type: application/json
Response Date: Wed, 24 Mar 2021 17:52:29 GMT
Response X-Error-0: baseCheckPortExists: phantom port: 1.1.8
Response X-Error-1: unable to execute set_port
------------------------------------------------------------------------

Bringing ports up...
Waiting until  ports appear admin-up...
Waiting for 1 stations to associate to AP: .................. sta000 +AP 84:80:94:B0:05:76,
Starting CX Traffic
Refresh CX stats
Stopping CX Traffic
----- LFRequest::json_post:147 HTTPError: --------------------------------------------
<http://localhost:8080/cli-json/rm_endp> HTTP 400: Bad Request
Error:  <class 'urllib.error.HTTPError'>
Request URL: http://localhost:8080/cli-json/rm_endp
Request Content-type: application/json
Request Accept: application/json
Request Data:
b'{"endp_name": "testUDP-sta000-A"}'
Response Connection: close
Response Content-Length: 106
Response Content-Type: application/json
Response Date: Wed, 24 Mar 2021 17:54:10 GMT
Response X-Error-0: endpoint not found: testUDP-sta000-A
Response X-Error-1: unable to execute rm_endp
------------------------------------------------------------------------
----- LFRequest::json_post:147 HTTPError: --------------------------------------------
<http://localhost:8080/cli-json/rm_endp> HTTP 400: Bad Request
Error:  <class 'urllib.error.HTTPError'>
Request URL: http://localhost:8080/cli-json/rm_endp
Request Content-type: application/json
Request Accept: application/json
Request Data:
b'{"endp_name": "testUDP-sta000-B"}'
Response Connection: close
Response Content-Length: 106
Response Content-Type: application/json
Response Date: Wed, 24 Mar 2021 17:54:10 GMT
Response X-Error-0: endpoint not found: testUDP-sta000-B
Response X-Error-1: unable to execute rm_endp
------------------------------------------------------------------------
Tests pass

Ah, please ignore the comment above about set_port failures -- after bumping up the timeout to 30s between adding a station and configuring, set_port succeeds. Still get the "unable to execute rm_endp" failures on unknown UDP endpoints, but otherwise all good :)

will do!