Cannot handle devices that do not set CCCD_ID (2902) includes BLUNO

Some devices - including the widely used Bluno do not actually set the CCCD_ID.
When setNotifyValue is called is attempts to fetch the BluetoothCharacteristic from the device, as it is not found it throws an exception and does not set the notify.
This stops FlutterBlue from being used with these devices.
I have implemented the following fix:

I have hard coded the descriptors and properties in the BluetoothCharacteristic .
I have prevented the exception from being thrown - which seems to cause the hardcoded descriptor to be used:
FlutterBluePlugin.java

if(cccDescriptor == null) {
                        log(LogLevel.INFO, "could not locate CCCD descriptor for characteristic: " +characteristic.getUuid().toString());

                        //throw new Exception("could not locate CCCD descriptor for characteristic: " +characteristic.getUuid().toString());
                    }

FlutterBluePlugin.m (UNTESTED)
@try {
      // Find peripheral
      CBPeripheral *peripheral = [self findPeripheral:remoteId];
      // Find characteristic
      CBCharacteristic *characteristic = [self locateCharacteristic:[request characteristicUuid] peripheral:peripheral serviceId:[request serviceUuid] secondaryServiceId:[request secondaryServiceUuid]];
      // Set notification value
      [peripheral setNotifyValue:[request enable] forCharacteristic:characteristic];
      result(nil);
    } @catch(FlutterError *e) {
        NSLog(@"Error: %@", e);
      //result(e);
    }

A more elegant approach may be to check if the CCCD descriptor is set in the characteristic and not check for it at all.
I'd be happy to contribute to the fix.
I look forward to your thoughts.

@raphael-bmec-co  I am running into this issue with an iTag button only on Android. It works fine on iOS. How did you hardcode the cccDescriptor ?

@vikramkapoor
Code extract below:
const String BLUNO_SERVICE = "0000dfb0-0000-1000-8000-00805f9b34fb";
const String BLUNO_CHARACTERISTIC = "0000dfb1-0000-1000-8000-00805f9b34fb";
const String BLUNO_CCCD_DESCRIPTOR = "00002902-0000-1000-8000-00805f9b34fb";
BluetoothCharacteristic characteristic = BluetoothCharacteristic(
uuid: Guid(BLUNO_CHARACTERISTIC),
serviceUuid: Guid(BLUNO_SERVICE),
descriptors: [
BluetoothDescriptor(
uuid: Guid(BLUNO_CCCD_DESCRIPTOR),
serviceUuid: Guid(BLUNO_SERVICE),
characteristicUuid: Guid(BLUNO_CHARACTERISTIC),
),
],
properties: CharacteristicProperties(
read: true,
writeWithoutResponse: true,
write: true,
notify: true,
),
);

Just a ping here. Can we look to implement a fix on this?

I am having the same issue with MiBand3. I would be really glad if this fix becomes permanent in flutter_blue. I am getting crashes all over the place:( @raphael-bmec-co do you have a separate branch for the fix?

All I did to get around this issue was to change an exception to a print statement so it doesn't crash.
On Monday, November 4, 2019, 09:16:41 AM PST, aytunc<EMAIL_ADDRESS>wrote:
I am having the same issue with MiBand3. I would be really glad if this fix becomes permanent in flutter_blue. I am getting crashes all over the place:( @raphael-bmec-co do you have a separate branch for the fix?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

This is the "correct" solution"All I did to get around this issue was to
change an exception to a print statement so it doesn't crash."
Raphael Smith | Managing Director
[image: | BMEC Technologies |]
Ethical Elegant Engineering
+2779 496 5971
bmec.co
On Mon, 4 Nov 2019 at 19:42, Vikram Kapoor<EMAIL_ADDRESS>wrote:

All I did to get around this issue was to change an exception to a print
statement so it doesn't crash.
On Monday, November 4, 2019, 09:16:41 AM PST, aytunc <
<EMAIL_ADDRESS>wrote:
I am having the same issue with MiBand3. I would be really glad if this
fix becomes permanent in flutter_blue. I am getting crashes all over the
place:( @raphael-bmec-co do you have a separate branch for the fix?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/pauldemarco/flutter_blue/issues/185?email_source=notifications&email_token=AF42V75DZJF5CJ2OFNVGMZ3QSBNGVA5CNFSM4GVJWIT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDADEKY#issuecomment-549466667,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF42V74SSEAKH3NINJWYZP3QSBNGVANCNFSM4GVJWITQ
.

--
*Disclaimer: *The information in this e-mail is confidential. It is
intended solely for the addressee. Access to this e-mail by anyone else is
unauthorised. If you are not the intended recipient, any disclosure,
copying, distribution or any action taken or omitted in reliance on it, is
prohibited and may be unlawful. Whilst all reasonable steps are taken to
ensure the accuracy and integrity of information and data transmitted
electronically and to preserve the confidentiality thereof, no liability or
responsibility whatsoever is accepted if information or data is, for
whatever reason, corrupted or does not reach its intended destination. If
you have received this email in error, please notify the sender immediately
by e-mail, fax or telephone and thereafter return and/or destroy the
original hereof.

Same issue here. Any fix?

D/FlutterBluePlugin(21510): [onServicesDiscovered] count: 3 status: 0
I/flutter (21510): Service: 00001801-0000-1000-8000-00805f9b34fb
I/flutter (21510): --------------------
I/flutter (21510): Service: 00001800-0000-1000-8000-00805f9b34fb
I/flutter (21510): --------------------
I/flutter (21510): Service: 6e400001-b5a3-f393-e0a9-e50e24dcca9e
I/flutter (21510): --------------------
I/flutter (21510): > Characteristic: 6e400002-b5a3-f393-e0a9-e50e24dcca9e
I/flutter (21510): TRANSMITTER!
I/flutter (21510): > > Properties: CharacteristicProperties{broadcast: false, read: false, writeWithoutResponse: true, write: false, notify: false, indicate: false, authenticatedSignedWrites: false, extendedProperties: false, notifyEncryptionRequired: false, indicateEncryptionRequired: false}
I/flutter (21510): > --------------------
I/flutter (21510): > --------------------
I/flutter (21510): > Characteristic: 6e400003-b5a3-f393-e0a9-e50e24dcca9e
I/flutter (21510): RECEIVER!
D/BluetoothGatt(21510): setCharacteristicNotification() - uuid: 6e400003-b5a3-f393-e0a9-e50e24dcca9e enable: true
I/flutter (21510): > > Properties: CharacteristicProperties{broadcast: false, read: false, writeWithoutResponse: false, write: false, notify: true, indicate: false, authenticatedSignedWrites: false, extendedProperties: false, notifyEncryptionRequired: false, indicateEncryptionRequired: false}
I/flutter (21510): > --------------------
I/flutter (21510): > > Descriptor: BluetoothDescriptor{uuid: 00002902-0000-1000-8000-00805f9b34fb, deviceId: E3:84:01:B2:21:0A, serviceUuid: 6e400001-b5a3-f393-e0a9-e50e24dcca9e, characteristicUuid: 6e400003-b5a3-f393-e0a9-e50e24dcca9e, value: []}

Then... when I try to setNotify on the trasmitter characteristic...
characteristic.setNotifyValue(true)

D/FlutterBluePlugin(21510): [onDescriptorWrite] uuid: 00002902-0000-1000-8000-00805f9b34fb status: 0
I/flutter (21510): PlatformException(set_notification_error, could not locate CCCD descriptor for characteristic: 6e400002-b5a3-f393-e0a9-e50e24dcca9e, null)

And even, when I try to write to the receiver, I get...
characteristic.write(utf8.encode("hello"))

E/flutter (21510): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(write_characteristic_error, writeCharacteristic failed, null)

This isn't related to BLUNO tho, I am trying to work with a custom Arduino BLE with UART.
The android app "nRF UART v2.0" works, so I am guessing I am missing something with flutter blue.
Thanks in advance.

If you are using the Arduino BLE library you need to set the 2902 descriptor for each characteristic as is done in the uart example provided with the library.
pCharacteristic->addDescriptor(new BLE2902());

If you are using the Arduino BLE library you need to set the 2902 descriptor for each characteristic as is done in the uart example provided with the library.
pCharacteristic->addDescriptor(new BLE2902());

I am using the STBLE library example (TinyZero + TinyBLE).
I was curious about the descriptor you mentioned because I found the descriptor mentioned at the receiver address...
So, after some research about descriptors and after digging through the STBLE example code, I also found the method that writes the data, is labeled TX, but it uses the RXHandler
uint8_t Write_UART_TX(char* TXdata, uint8_t datasize)
{
  tBleStatus ret;

  ret = aci_gatt_update_char_value(UARTServHandle, UARTRXCharHandle, 0, datasize, (uint8_t *)TXdata);

  if (ret != BLE_STATUS_SUCCESS) {
    PRINTF("Error while updating UART characteristic.\n") ;
    return BLE_STATUS_ERROR ;
  }
  return BLE_STATUS_SUCCESS;

}

I also couldn't found where the STBLE example sets 2902 the descriptor for the characteristic, I guess it's predefined somewhere else, maybe at the STBlueNRG library... (https://github.com/TinyCircuits/TinyCircuits-TinyShield-BLE-ASD2116/tree/master/examples/STBLE/examples/UARTPassThrough)
So, in the flutter app after swapping the characteristics order, and using the one with the 2902 descriptor to receive the data, it worked. I don't know if the example is wrong, or, it's supposed to be swapped by the UART standards...
Anyways, thank you so much.

@vikramkapoor
Code extract below:
const String BLUNO_SERVICE = "0000dfb0-0000-1000-8000-00805f9b34fb";
const String BLUNO_CHARACTERISTIC = "0000dfb1-0000-1000-8000-00805f9b34fb";
const String BLUNO_CCCD_DESCRIPTOR = "00002902-0000-1000-8000-00805f9b34fb";
BluetoothCharacteristic characteristic = BluetoothCharacteristic(
uuid: Guid(BLUNO_CHARACTERISTIC),
serviceUuid: Guid(BLUNO_SERVICE),
descriptors: [
BluetoothDescriptor(
uuid: Guid(BLUNO_CCCD_DESCRIPTOR),
serviceUuid: Guid(BLUNO_SERVICE),
characteristicUuid: Guid(BLUNO_CHARACTERISTIC),
),
],
properties: CharacteristicProperties(
read: true,
writeWithoutResponse: true,
write: true,
notify: true,
),
);

@raphael-bmec-co The class BluetoothCharacteristic doesn't have a default constructor now. How did you create the CCCD descriptor for the BluetoothCharacteristic now or you just log the error statement?

Hi
We've moved onto ESP32 so we no longer have this issue. To be honest, the server should provide that descriptor, so I'm not sure it's a reasonable expectation for flutter_ble to support this use case.

@vikramkapoor
Code extract below:
const String BLUNO_SERVICE = "0000dfb0-0000-1000-8000-00805f9b34fb";
const String BLUNO_CHARACTERISTIC = "0000dfb1-0000-1000-8000-00805f9b34fb";
const String BLUNO_CCCD_DESCRIPTOR = "00002902-0000-1000-8000-00805f9b34fb";

Is there a methodical way to determine this CCCD? I get the same error for a Precor Spinning Power Chrono console. I don't have any documentation on CCCD descriptors, let alone service GUIDs and characteristics GUIDs...

@MrCsabaToth I'm afraid the correct answer to your question is to readup on BLE GATT and once you have a clear understanding of that you will understand the need for the server to provide these descriptors. If the device and/or library you are using is unable to, I would recommend finding another device/library.

It's been a while since I have looked at this code but in my use case just changing the exception to a debug log was a sufficient fix.
On Wednesday, September 2, 2020, 11:04:14 PM PDT, Csaba Toth<EMAIL_ADDRESS>wrote:
@vikramkapoor
Code extract below:
const String BLUNO_SERVICE = "0000dfb0-0000-1000-8000-00805f9b34fb";
const String BLUNO_CHARACTERISTIC = "0000dfb1-0000-1000-8000-00805f9b34fb";
const String BLUNO_CCCD_DESCRIPTOR = "00002902-0000-1000-8000-00805f9b34fb";
Is there a methodical way to determine this CCCD? I get the same error for a Precor Spinning Power Chrono console. I don't have any documentation on CCCD descriptors, let alone service GUIDs and characteristics GUIDs...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

To celebrate we are exhibiting some of our client's amazing projects...
It is our 5th anniversary!
To celebrate we are exhibiting some of our client's amazing projects on instagram (https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=31d1e783bf&e=1221793728) .
Click on any cover pic below to see the full post
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=664ca505de&e=1221793728
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=ec6ae3acbf&e=1221793728
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=5b4e63810c&e=1221793728
<EMAIL_ADDRESS>https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=22937a8303&e=1221793728
Suction dissector - a blunt dissector with integrated suction...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=43dd7efc3d&e=1221793728
Any guesses?
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=dd942ee62c&e=1221793728
SmartSpreader - a electromechanical GPS-enabled precision farming system that...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=c19602a4db&e=1221793728
SmartSocket - conceptualised at the height of load shedding this wall socket...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=68475f872d&e=1221793728
Oculosubarachnoid shunt - a novel surgical implant for the treatment of...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=ec19ebbe3c&e=1221793728
Optic nerve bench tester - a test rig for...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=87977057b5&e=1221793728
Water management device - an IoT node for tank-level sensing, flow-rate monitoring and...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=15fbe2f968&e=1221793728
Wind correction system - an electronic system that corrects for wind offset in...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=9da7704468&e=1221793728
Oculosubarachnoid shunt deployment system - a medical device for the deployment...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=5b1b8f36f4&e=1221793728
BikeRV - an electric assist recumbent trike you can camp in!
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=be73df49f7&e=1221793728
Orbital retractor - a novel surgical instrument that enables...
https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=571de5629f&e=1221793728
Industrial Ozone Sanitation System - an ozone-based sanitation system for food processing...
Contact us (mailto:info@bmec.co?subject=Anniversary%20email%20follow-up)
============================================================
** Instagram (https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=ece9308432&e=1221793728)
** Website (https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=e156b94b38&e=1221793728)
** LinkedIn (https://bmec.us17.list-manage.com/track/click?u=1bc589e22bf937b7a9eae02b9&id=404e0edb5d&e=1221793728)
** Email<EMAIL_ADDRESS>Copyright © 2020 BMEC Technologies Pty Ltd, All rights reserved.
This email was sent to<EMAIL_ADDRESS><EMAIL_ADDRESS>why did I get this? (https://bmec.us17.list-manage.com/about?u=1bc589e22bf937b7a9eae02b9&id=08ebaf1385&e=1221793728&c=2853997c09)     unsubscribe from this list (https://bmec.us17.list-manage.com/unsubscribe?u=1bc589e22bf937b7a9eae02b9&id=08ebaf1385&e=1221793728&c=2853997c09)     update subscription preferences (https://bmec.us17.list-manage.com/profile?u=1bc589e22bf937b7a9eae02b9&id=08ebaf1385&e=1221793728)
BMEC Technologies . 6 Aliwal Rd . Kenilworth . Cape Town, Western Cape 7708 . South Africa
Email Marketing Powered by Mailchimp
http://www.mailchimp.com/email-referral/?utm_source=freemium_newsletter&utm_medium=email&utm_campaign=referral_marketing&aid=1bc589e22bf937b7a9eae02b9&afl=1

Hi
We've moved onto ESP32 so we no longer have this issue. To be honest, the server should provide that descriptor, so I'm not sure it's a reasonable expectation for flutter_ble to support this use case.

In any way flutter_blue shouldn't poop itself even if there are bad actors around. A bad BLE implementation basically Denial of Services the plugin and it crashes? Not good.

List value = await c.read();
print("value=======" + value.toString());
c.value.listen((value) {
});
iOS can get the data all the time, but Android cannot get this data and data

List value = await c.read(); print("value=======" + value.toString()); c.value.listen((value) { }); iOS can get the data all the time, but Android cannot get this data and data

@MuFengYi  Just a thought: have you tried to just listen? I never combine read and then listen. I read (single values) or listen (to a stream) but I don't mix those.

I tried to modify it, but the value cannot be read. There is a message notification but no value. My Bluetooth read-write characteristic has no notifiy and 2902 description. I now use flutter_reactive_ble for Android and use flutter_blue for iOS.

I tried to modify it, but the value cannot be read. There is a message notification but no value. My Bluetooth read-write characteristic has no notifiy and 2902 description. I now use flutter_reactive_ble for Android and use flutter_blue for iOS.

flutter_reactive_ble

Thanks for pointing me to flutter_reactive_ble. What's the reason you aren't using that for iOS? Does it have too many problems with iOS (I see quite a few issues). It's a little concerning that flutter_ble_lib which is Polidea's own plugin (flutter_reactive_ble is also based on Polidea's RxAndroidBle. I'm running my own fork of flutter_blue (https://github.com/CsabaConsulting/flutter_blue/) for a good while now and I'm keeping an eye out for alternatives. My app has 40 dependencies, I had to fork more than half a dozen of those (including bluetooth_enable as well) and I'd rather like to focus on my own app than dealing with deprecated Android API calls, v1 Flutter embeddings and crafting PRs for plugins.

Because I need the value of manufacturerData, I need to change the source code to use this value on flutter_reactive_ble on iOS.


Proposal: add NBs to a pull request template.

Probably won't be missed in this case but maybe it's a pain to read it in every pull request now :|
Won't be heart broken if we don't include this but just a thought.

Mmm, but it's not really a template?
"Pull Request check list"?  That would make more sense to me.
Or a script even? :)
It could also include things like doing a local test build, etc.

@juhp, you mean adding a name 'checklist' to it? Or?

I am suggesting the filename is not so good.
Maybe rename it to PULL_REQUEST_CHECKLIST.md.
A script people could run to check their submissions would be awesome but I haven't thought about how hard or possible that is.

Ah I see - I didn't realise github does that... then I guess it's good.
Then contributors should remove the text before submitting, I guess?  since it's not really a template.
I guess we can give it try and see how people react to it.

Oh yeah, good idea! I've updated it.

Any other comments?

Oh, let's try it. If anyone is annoyed by it, we can revert - no worries.


Chore (E2E) Convert email-change.js to Typescript

Checklist:

[X] I have read and followed the contribution guidelines.
[X] I have read and followed the how to open a pull request guide.
[X] My pull request targets the main branch of freeCodeCamp.
[X] I have tested these changes either locally on my machine, or GitPod.

Related to #48753

I am running into errors like
Failed prop type: Invalid prop bsStyleof valueerrorssupplied toAlert, expected one of ["success","warning","danger","info"].
and
Warning: Invalid DOM property tabindex. Did you mean tabIndex?

Hi, could you post a screenshot of the errors? The TS spec file ran on my system without any errors.

There might be a fairly large possibility that a couple of dependencies may not exist on my system locally.

Do you have the mailhog server running?

I unfortunately did not. After running the test with the mail server , all tests complete successfully. However I still get that warning about the tabIndex property name in the background.  I've noticed both "tabIndex" and "tabindex" be used in the codebase. I'm assuming for a BlockSaveButton element somewhere, it is using the incorrect one. Should I try to figure it out and apply the fix to this PR?

Should I try to figure it out and apply the fix to this PR?

It would be better if you made a new PR as its out of scope of this PR. Remember to reference your comment in that PRs description.


Alternative implementations of an algorithm

What is the issue?
Open discussion adding multiple methods of code to accomplish the same algorithm. There is always different ways to do the same thing. If it completes the same algorithm in the same time complexities it would be great to show different ways to implement. Some may understand different ways better.
Example
This is proposing to add a quick sort and binary search alternative code examples to the one in the repo currently. The quick sort currently is a little more advanced. This proposes to add a simpler quick sort, no need an extra function for partition.
Quick sort alternative
func quickSort<T: Comparable>(inout array: [T], left: Int, right: Int) -> [T] {
    if array.count <= 1 { return array }
    var i = left
    var j = right

    let mid = array[(left + right) / 2]

    repeat {
        while array[i] < mid && i < right {
            i += 1
        }

        while mid < array[j] && j > left {
            j -= 1
        }

        if i <= j {
            if i != j {
                swap(&array[i], &array[j])
            }
            i += 1
            j -= 1
        }
    } while (i <= j)

    if left < j {
        quickSort(&array, left: left, right: j)
    }

    if i < right {
        quickSort(&array, left: i, right: right)
    }

    return array
}

Binary search alternative
func binarySearch<T :Comparable>(arry: [T], key: T, low: Int, high: Int) -> Int? {
    if arry.count == 0 {
        return nil
    }

    if low > high {
        return nil
    }

    let mid = (low + high) / 2

    if arry[mid] == key {
        return mid
    }

    if arry[mid] < key {
        return binarySearch(arry, key: key, low: mid + 1, high: high)
    } else {
        return binarySearch(arry, key: key, low: low, high: mid - 1)
    }
}

Discussion
This isn't about adding 15 ways to implement some simple algorithms but more about showing simpler ways to implement harder to comprehend algorithms such as merge sort, quick sort and binary tree. The more lower level the better. The algorithms should be written in Swift but not depend on Swift helper methods to achieve the goals. It defeats the purpose of understanding the underlying algorithm.

I'm personally aware of this as I write the SAC posts at www.raywenderlich.com, but IMO I prefer to go as "Swifty" as possible. This generally means using methods specific to the Swift language from the standard library.
I've wrote 2 articles so far for the monthly algorithm articles at www.raywenderlich.com, and I did remember providing a lower level alternative to one of the methods that required the usage of map.
It'll be interesting to see how others feel about this.

Interesting examples. In keeping with a focus on Swiftiness ~ any chance the initial if statements could be refactored as guard statements for the recommended function. Otherwise, excellent suggestions.


Remove BusinessLink and Directgov assets

@edds Addressing your comment on an already-closed pull request, thanks for spotting :+1:

:+1: thanks @camilleldn


ModuleNotFoundError: No module named 'bind'

After installing requirement, and installing setup still got error !
Traceback (most recent call last):
File "/usr/local/bin/shellpop", line 4, in
import('pkg_resources').run_script('shellpop==0.3.5', 'shellpop')
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 765, in run_script
self.require(requires)[0].run_script(script_name, ns)
File "/usr/lib/python3/dist-packages/pkg_resources/init.py", line 1545, in run_script
exec(code, namespace, namespace)
File "/usr/local/lib/python3.6/dist-packages/shellpop-0.3.5-py3.6.egg/EGG-INFO/scripts/shellpop", line 30, in
from shellpop import *
File "/usr/local/lib/python3.6/dist-packages/shellpop-0.3.5-py3.6.egg/shellpop/init.py", line 1, in
from bind import *
ModuleNotFoundError: No module named 'bind'

use python 2.* for this tool..... in your error i clearly see u r using python 3.6 which is not recommended.

i m closing this issue.... if u face any further use ... raise an issue ... we happy to help you. Thanks


Synchronous XMLHttpRequest on the main thread is depreciated

Chrome is reporting depreciated request usage:

[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.

    RequestIntercept = (function(_super) {
        __extends(RequestIntercept, _super);

        function RequestIntercept() {
            var monitorXHR, _this = this;
            RequestIntercept.__super__.constructor.apply(this, arguments);
            monitorXHR = function(req) {
                var _open;
                _open = req.open;
                return req.open = function(type, url, async) {
                    if (shouldTrack(type)) {
                        _this.trigger('request', {
                            type: type,
                            url: url,
                            request: req
                        });
                    }
                    return _open.apply(req, arguments);
                }
                ;
            }

The error appears against the return _open.apply(req, arguments);

This is appearing whilst using pace as part of https://github.com/cacti/cacti/ project.


RocketMQ Client can't run in GraalVM environment

FEATURE REQUEST
RocketMQ Client support run in GraalVM environment. it can't run now. You can reproduce this issue by following these steps：
Prerequisites Start RocketMQ broker and nameserver

Download the Spring Cloud Alibaba project, switch to the 2022.x branch, enter the rocketmq-broadcast-producer-example module, enter the pom.xml file and add below configuration  to the native-maven-plugin plugin.

<buildArgs>
--trace-class-initialization=org.apache.commons.logging.LogFactoryService
</buildArgs>

Execute mvn clean -Pnative spring-boot:run. After the application starts, it will scan the code dynamic properties. After about 10 seconds, stop the application through control+C, and there will be a META-INF.native in the resources directory. image directory, there will be a static configuration file corresponding to the dynamic properties of the code below. You need to enter the reflect-config.json file to delete the corresponding item of org.springframework.integration.config.ConverterRegistrar$IntegrationConverterRegistration.
Execute mvn clean -Pnative native:compile to build the native image. If it goes well, it will be built successfully, and then target/rocketmq-broadcast-producer-example should start the application and the problem should be reproduced.

It seems like your client can not connect to the nameserver. Please try nc <IP_ADDRESS> 9876 -zv to check if the nameserver is running.

It seems like your client can not connect to the nameserver. Please try nc <IP_ADDRESS> 9876 -zv to check if the nameserver is running.

No, I confirm that the nameserver and broker is running, I can send message in general method.

@steverao The auto-scan of the reflection classes should be incomplete, check out the log output, there should be some ClassNotFound exceptions raised.

Check the client log

ClassNotFound

yes, there are a lot of relevant ClassNotFound warning logs when I use mvn clean -Pnative native:compile to compile the demo, it's hard to find which one cause the sending message error. Do you have any suggestion to help me solve it?

hello，man  I have same problem with you ,Do you have solve your problem?


assignment operation inside an 'if' condition should be marked with a warning

If we want to spot some more bugs at compile time, I believe that something like:
if (data.id = id) { ...

while being perfectly legal, it can be a coding bug most of the times.
it would be nice if TsLint could spot this type of code and give us a warning instead of using a custom regex that scan all our files.

sounds good. it could be called... no-assignment-in-conditional? cc @ashwinr for thoughts on rule name

eslint has the same rule. even just no-conditional-assignment seems good.

ESLint has an option for the rule where they allow assignments that are wrapped in parenthesis. Do we want the same option or should we ust flag all assignments in a conditional no matter what?

let's just do the simple thing for now and disallow all assignments in a conditional. we can add the other option later if it's requested.


MaterialProductGroupReport's modal should show the JobName/JobTimestamp

like this

I changed the MaterialProductReport's modal dialog to show the title (name of the HTML file withoug .html). The title contains JobName and

done 0.12.4


downRemovalMargin - stack overflow

Hi, I'm trying to use your library but it seems there's an infinite recursion. I set up the downing strategy according to README but the application crashes immediately with
java.lang.StackOverflowError
	at tanukki.akka.cluster.autodown.OldestAutoDowning.downRemovalMargin(OldestAutoDowning.scala:13)

After inspecting the code, it really seems the overridden method downRemovalMargin is calling itself.

fixed in 0.0.12


Possibly incompatible with PHP v.8+

Hi!
I have this log record: PHP Fatal error: Uncaught Error: Non-static method BlogPost::_finderAllinlang() cannot be called statically and it happens when I switch to PHP 8+. It is about dynamically created methods. With PHP 7.4 it works just fine.
Do you have any solution for this?
Thanks!

@mrpsiho take a look at this.
https://php.watch/versions/8.0/non-static-static-call-fatal-error
I would think you could test this by generating the log for PHP Notices in PHP 7.4, and see if you find the deprecation notice in your log.

@geniuswebtools Thanks! I have made all my methods 'static' and now everything works with PHP 8+.


discord_rpc not updating/installing

so every time i try to install discord_rpc it just says
"Discord_RPC already installed"
"updating Discord_RPC"
then it just stays like that for hours without doing anything

delete discord rpc then intall it again


Client certificate issue when attempting to fetch https://login.microsoftonline.com/db05faca-c82a-4b9d-b9c5-0f64b6755421/v2.0/.well-known/openid-configuration

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
1.14.5
Wrapper Library
Not Applicable
Wrapper Library Version
NA
Public or Confidential Client?
Confidential
Description
We are getting an error when attempting to use this library after updating from 1.5 to 1.14:

endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: https://login.microsoftonline.com/db05faca-c82a-4b9d-b9c5-0f64b6755421/v2.0/.well-known/openid-configuration

When I just go to that endpoint in my browser it works just fine but for some reason I am no longer able to retrieve it from my server. I managed to disable certificate validation by creating a custom https agent:
new https.Agent({ rejectUnauthorized: false })

And it now starts working, so it seems like there is some kind of a certificate validation problem with that endpoint. Do I require some kind of special certs that I need to have installed to make this work? I am just using the node:16 base Docker image for my server and not doing anythign fancy with certificates at all.
Error Message
endpoints_resolution_error: Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: https://login.microsoftonline.com/db05faca-c82a-4b9d-b9c5-0f64b6755421/v2.0/.well-known/openid-configuration
callstack
at ClientAuthError.AuthError [as constructor] (/var/app/node_modules/@azure/msal-common/src/error/AuthError.ts:49:9)
at new ClientAuthError (/var/app/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:215:15)
at Function.ClientAuthError.createEndpointDiscoveryIncompleteError (/var/app/node_modules/@azure/msal-common/src/error/ClientAuthError.ts:261:16)
at Function.<anonymous> (/var/app/node_modules/@azure/msal-common/src/authority/AuthorityFactory.ts:49:35)
at step (/var/app/node_modules/@azure/msal-common/dist/index.cjs.js:79:23)
at Object.throw (/var/app/node_modules/@azure/msal-common/dist/index.cjs.js:60:53)
at rejected (/var/app/node_modules/@azure/msal-common/dist/index.cjs.js:51:65)
at processTicksAndRejections (node:internal/process/task_queues:96:5)

Msal Logs
No response
MSAL Configuration
const authority = 'https://login.microsoftonline.com/db05faca-c82a-4b9d-b9c5-0f64b6755421'
new ConfidentialClientApplication({
  auth: {
    clientId,
    clientSecret,
    authority,
    knownAuthorities: [authority],
  }
})

Relevant Code Snippets
NA

Reproduction Steps
Using the above msal config, simply call any api such as:
await client.getAuthCodeUrl({
  scopes: DEFAULT_SCOPE,
  redirectUri: this.getRedirectUri(),
  domainHint: 'example.com',
  loginHint: email,
  state: encodedState,
})

Or you can reproduce this in a single line with docker like so:
docker run --entrypoint sh docker.repo1.uhc.com/node:16-alpine -c 'wget https://login.microsoftonline.com/db05faca-c82a-4b9d-b9c5-0f64b6755421/v2.0/.well-known/openid-configuration'

Which emits this error:

Connecting to login.microsoftonline.com (<IP_ADDRESS>:443)
48ABA7EA8D7F0000:error:0A000086:SSL routines:tls_post_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1889:
ssl_client: SSL_connect
wget: error getting response: Connection reset by peer

Expected Behavior
I expect it to connect and have no certificate issues.
Identity Provider
Azure AD / MSA
Browsers Affected (Select all that apply)
None (Server)
Regression
@azure/msal-node 1.5.0
Source
External (Customer)

I was able to confirm that this is actually a red herring. My company VPN does something funny with certificates, closing for now.


Added maintenance and host operation. Added check zabbix version for different action in event.acknowledge.

Added maintenance and host operation with tests.
Added check zabbix version for different action in event.acknowledge:
https://www.zabbix.com/documentation/1.8/api/event/acknowledge
https://www.zabbix.com/documentation/2.0/manual/appendix/api/event/acknowledge
https://www.zabbix.com/documentation/3.4/manual/api/reference/event/acknowledge
https://www.zabbix.com/documentation/4.0/manual/api/reference/event/acknowledge

Thanks!


Import PropTypes and createReactClass

This relates to a breaking change in React 16 where PropTypes and
createClass were removed from React
Fixes #56
Fixes #57

Can this please be merged?

@lelandrichardson, can you add @parndt as a collaborator so he can merge this?

+1!!!!!!!!

Can this please be merged?

This repository doesn't seem to be maintained.
I created the same library that solved this problem.
https://github.com/100010/react-native-parallax-header-view


Support DateTimeOffset

Adds support for DateTimeOffset.
Valid and invalid test cases for the extended ISO 8601-1 that is being used in Utf8JsonReader.TryGetDateTimeOffset were inspired from here

Codecov Report
Base: 85.86% // Head: 86.01% // Increases project coverage by +0.14% :tada:

Coverage data is based on head (ae88c90) compared to base (0d85cda).
Patch coverage: 100.00% of modified lines in pull request are covered.

:exclamation: Current head ae88c90 differs from pull request most recent head bc40c8c. Consider uploading reports for the commit bc40c8c to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##           master       #4      +/-   ##
==========================================
+ Coverage   85.86%   86.01%   +0.14%
==========================================
  Files           2        2
  Lines         474      479       +5
==========================================
+ Hits          407      412       +5
  Misses         67       67

Impacted Files
Coverage Δ

src/JsonReader.cs
95.49% <100.00%> (+0.06%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


stm32 can: zcan_frame from fifo uninitialized

Describe the bug
struct zcan_frame is uninitialized at entering the can_stm32_rx_isr_handler.
It's filled by can_stm32_get_msg_fifo. If a standard frame is provided, the ext_id part of the reserved union of the zcan_frame might contain invalid data. This seems not to be a problem because the id_type is set to standard, which tells us it's a standard frame.
But when the socketcan driver is enabled, it converts a received zcan_frame to a socketcan frame. Without masking the ext_id, which could lead to invalid data in the can_frame
To Reproduce
This problem has occurred to me on a stm32f091 board
And it can be reproduced by building the socketcan sample for a stm32f0 and sending standard frames to the board : cangen can0 -I r -L i -D r
Expected behavior
Or the can_copy_zframe_to_frame should mask the id or the stm32 can driver should set the content of the union to zero before writing the standard id:
if (mbox->RIR & CAN_RI0R_IDE) {
	msg->ext_id = mbox->RIR >> CAN_RI0R_EXID_Pos;
	msg->id_type = CAN_EXTENDED_IDENTIFIER;
} else {
+	msg->ext_id = 0;
	msg->std_id =  mbox->RIR >> CAN_RI0R_STID_Pos;
	msg->id_type = CAN_STANDARD_IDENTIFIER;
}

@maxvankessel can you try this one?
static inline void can_copy_zframe_to_frame(const struct zcan_frame *zframe,
					    struct can_frame *frame)
{
	frame->can_id = (zframe->id_type << 31) | (zframe->rtr << 30) |
		(zframe->id_type == CAN_STANDARD_IDENTIFIER zframe->std_id :
				    zframe->ext_id);
	frame->can_dlc = zframe->dlc;
	memcpy(frame->data, zframe->data, sizeof(frame->data));
}

@maxvankessel I just made a PR for that. #20102

I will check this out this afternoon, but by the looks of it, this should fix it.

Fixed by #20102.


Clean up the code of RichTextAnnotatedStringParser

Foremost, thanks for the great library, we really needed that in compose multiplatform.
About PR:
Before release of 0.2.0 I tried to implement similar encoding and decoding functionality. I think the suggested solution is better.
For encode, only the functional approach is used (compare to the mix of approaches previously).
I also used destruction declaration for the SpanStyle and RichTextPart.

Thanks for your contribution, I really liked the destruction it makes it cleaner.
For the currentStyles the preview approach is better in term of performance, we only need to loop the parts a single time.


Add compatibility UUID for XCode 6.3.2

Thanks!!

No thank you, great plugin.
Though, may i ask what version of XCode you're using? For me, Tuna hasn't been working since 6.3.1 or 6.3 even.
I haven't really looked into it yet but i hope its just my configuration that's affected.

The PR already merged.
(https://github.com/dealforest/Tuna/commit/6f57f6b0e9439e8e48b81f9951e5737e134a515c)
I've pressed the revert button at my operation mistake.
Sorry.


A game built without --device running on device tries to run the Lua playdate.update

I’m not sure if this is a bug but it might be worth documenting if not.
I made a PR with some changes that allow interacting with the Lua runtime. I had to define an empty main.lua file and add the resulting main.pdz file to assets in Crank.toml or I got an error about main.pdz being missing when running in the simulator, but otherwise everything worked great.
(I’m now wondering if that’s even necessary if I build with --device and will try that later, see below)
As explained in this dev forum post; if I build with crank build and then upload via the simulator, something tries to call playdate.update in Lua. This obviously doesn’t exist, but if I define it in main.lua the function gets called.
If I build with crank build --device and upload to device via the simulator, my Rust update function gets called.
For what it’s worth, I’m uploading to device via the simulator because crank run --device hangs (https://github.com/pd-rs/crankstart/issues/41#issuecomment-1763471714)

I suppose this may actually belong in the crank repo, but I'll follow up here anyway.

I had to define an empty main.lua file and add the resulting main.pdz file to assets in Crank.toml or I got an error about main.pdz being missing when running in the simulator, but otherwise everything worked great.
(I’m now wondering if that’s even necessary if I build with --device and will try that later, see below)

I just tried this and it is necessary. --device makes no difference.

As explained in this dev forum post; if I build with crank build and then upload via the simulator, something tries to call playdate.update in Lua. This obviously doesn’t exist, but if I define it in main.lua the function gets called.
If I build with crank build --device and upload to device via the simulator, my Rust update function gets called.

The opposite appears to be true as well. If I do crank build --device and open the resulting .pdx in the simulator, I get a no such function 'update' error because something is trying to run a Lua playdate.update function. If I go to Device > Upload Game to Device the Rust update function runs on the device and things work as expected.


Installation and Question

@codebytere,
I will not lie this is a really cool project!!! which leads me to my question would it be cool with you applying this project to my portfolio nicotravassos.co.za which is currently a dead link because I cannot come up with something cool like this 😢.
Second could you kindly add to the README how would I go by publishing this as a production version on a naked Ubuntu server? Requirements and commands would be nice 😋
Thanks again 🤗

Thanks for reaching out! I'm glad you appreciate my project, but it's deployed as a simple static site through GitHub pages, which means that I did not need to configure it for an Ubuntu server at any point. You are more than welcome, however, to fork this project, figure out how to do what you seek, and then PR those discoveries back to this project for others users.


Optimize expression compare filter on bitmap index

Use bitmap index if possible.

Expressional range filter on dimension like x > 'abc' did not used bitmap. And fixed some invalid filtering on complex expression.


Add support for custom templates

Introduce the ability for any user to create a custom template from an existing stack (v2 or v3) or via a UI/UX similar to the stack creation view.
Custom template management must be introduced as well to allow an administrator user or the user who created the template to manage it (edit, remove).
Custom templates will be available across all the endpoints of a Portainer instance. If any custom template is available, add a new type to stack deployment being Custom template (similar to the Edge stack template UI/UX) allowing a user to select an existing custom template and tune it in the web editor before deployment.
Custom template management will be available as a sub-entry of the "App Templates" section in the sidebar.
A new API resource called CustomTemplate will be introduced to support this feature.

client

stack edit view

add button - create template from stack (this will redirect the user to the template creation page)

stack create view

add another build method "Custom template" that will appear only when there are custom templates
when selected, a selector with the existing custom templates will appear, and when a template is selected its stack file will appear in the code editor

custom template mgmt

add list, create and edit views
list view will include a table of existing custom templates,

template will be clickable and selectable only if the user is admin or the user created the template

create view will include a form:

template name - text field
type (editor/upload/git)

edit view will include a form to edit the name or the stack file

sidebar

add a new entry under "app templates"

Server

new resource CustomTemplate

Name string
ProjectPath string
EntryPoint string

new API handler /custom_templates

GET /
GET /:id
POST /
PUT /:id
DELETE /:id

add button - create template from stack (this will redirect the user to the template creation page)

@deviantony which endpoints/stacks should have this button? I saw that limited stacks don't have the file, so it's hidden on the stacks. any other? is it related only to swarm stacks?

@chiptus limited stacks should not have this option as we can't use their docker-compose file.
We should support both standalone and swarm.

As we have a new custom template UI I will close and link all of the previous issues and feature requests related to template creation opened against our repo that are no longer applicable to the new custom templates functionality.

As we have a new custom template UI I will close and link all of the previous issues and feature requests related to template creation opened against our repo that are no longer applicable to the new custom templates functionality.

is there a beta of 2.0 that one can try? I'm really not sure I like this...

Portainerci/portainer:develop.
But dont upgrade your running system with it.

thanks! so I'm looking at the "costom templates creation" UI, and there seems to be no way to build forms like there was in 1.x, how would one do something like that now? where the user who starts a container from a template can select preset values from a dropdown, etc?

You now add apps to templates by either adding a compose file, or by converting/cloning a running stack into a template.
Deploy a compose file, then click it, and you can see the options to convert/clone it to a template.
Rgds,
Neil Cresswell

You now add apps to templates by either adding a compose file, or by converting/cloning a running stack into a template. Deploy a compose file, then click it, and you can see the options to convert/clone it to a template. Rgds, Neil Cresswell

That does not answer my question... for some of my templates I need to have the option of passing data to the container as it's being deployed. With the old template mechanism I was able to create a form that shows when you start the deployment, and then the user selects from predefined values and/or enters their own data... how do I do that now?
Do I seriously have to create different templates for every possible combination of data presets?

by the way: here's a godsend for anyone who wants to create templates from running containers:
https://github.com/Red5d/docker-autocompose

@lemmy04 @ncresswell Same for me. I use heavily the options to add environment variable in the template yml files which I added in portainer 1.24 as "user input" either via drop-down or as txt user input. The option called "Environment" was placed between "Stack" and "Actions" in 1.24. In 2.0 this whole section of defining those environment variables is not available any more.  Thats why 2.0 is not usable for me. Is is planed to add the 1.24 template feature to define user input for environment variables to 2.0 or not?

The change in architecture for App Templates was always going to be contentious, as we have a lot of people using them in 1.24.1, however they were impossible for us to maintain or support… so change had to be made.
What we released in 2.0 is a MVP rewrite, and yes, we plan to enhance these as part of CE 2.1 (and ongoing) to get them better and better… we do however want to centralise on them being “stack/compose” based, but will look at ways to enhance the capability so that its as feature equivalent to what we had in 1.24.x.
This is why we are saying 1.24.x is LTS and available for the next 12 months whist we get the areas of 2.0 up to par where its considered weak.
Neil

TBH: at this point I have working templates that all have "edit compose file before deploying" in the description... :(
but frankly, I like the fact that now I can have resource contraints in the templates A LOT. What I'd wish for would be support for version 1 and version 3 compose files - python-docker-autocompose doesn't support version 2...


Update README.md

Coverage remained the same at 100.0% when pulling 744db0741f4daedea8a77b4de1566a9fc959d9b2 on jeantimex-patch-1 into aa7d13d95a9175360a932d3b3cf0913b5943b846 on master.


model.evaluate does not print metrics when run from within a script

I have a line of code like this in my script file:
model.evaluate(testData, testLabels, verbose=1)
and it does not print the metrics, only this output:
5285/5285 [==============================] - 0s
but when the exact same line of code with model.evaluate is run at the python console, I get:
4000/5285 [=====================>........] - ETA: 0s0.0011901330899327374
I understand this is not an issue per se, but it seems better for evaluate to print the evaluation metrics when called (as well as outputting it) at least when default loss is used.

I am also facing a same issue. So is this happening?


Posts are not published

Even when clicking publish post, and confirming that the published_at field is not null, posts are still shown as draft on a fresh install using Laravel 8 and latest Canvas.

Are there any console or network errors when you do that?

@webhaikal I have encountered the same problem. Even after clicking publish, the post is just saved as a draft and is not published.
I am using PHP 7.4.16, and canvas v6.0.29 on Windows 10 Xampp Environment

First, lets write a test post

Then After clicking on publish now, and we go back to drafts, it is still there

@YveOms Are there any console or network errors when you do that?

Hey @austintoddj . Thanks or pointing out the console thing. I am fairly new to Laravel, and I went back to their website and used the command php artisan serve --port=8080 to serve the app. And the Canvas Blog is now working perfectly.  The posts are actually being posted.
As for @webhaikal, if you don't see your posts immediately, check your UTC offset of your location and adjust the post time correctly.

the php artisan serve --port=8080 not helping m instead theres an error in the console
all the post are save as draft

Save problem. How did u solve guys


CORS problems with Auth0 and React

I am currently trying implement Auth0 in my NodeJS + React App.
This tutorial given is really good and helpful, though I have one big problem.
Every time I try to login/register via Auth0 I get
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
So I have a rough understanding what that means. But I just don't know where to set the needed options to allow this request to Auth0. On the Server side? In the Browser code?
Do I need to enter my local IP (when developing) into the Allowed Origins (CORS) section of the App?
Best regards

This is a configuration issue with your app. You need to set the allowed domains in the Auth0 app settings. Please contact<EMAIL_ADDRESS>for assistance.


SpotOptions needs "persistent"?

I think when SpotPrice is set, the spot request is defaulting to one-time instead of persistent. Once an instance is scaled out of the group, it never gets replaced.
https://docs.aws.amazon.com/en_us/AWSCloudFormation/latest/UserGuide/aws-properties-ec2-launchtemplate-launchtemplatedata-instancemarketoptions-spotoptions.html

Thanks @ianwremmel, what version of the stack are you using?

I think it's Description: "Buildkite stack v4.3.3". I've cobbled together a script via terraform and the "latest" url is the only url that I could find as working.
https://s3.amazonaws.com/buildkite-aws-stack/latest/aws-stack.yml

I suppose this may also be the underlying cause of #596

That's very odd @ianwremmel, that template uses a LaunchConfiguration, not a LaunchTemplate 🤔 Are you sure you aren't using master somehow?

Can you check what template was used to create the stack and confirm if you have a LaunchConfiguration or a LaunchTemplate?

Beyond that, it shouldn't need to be persistent. The auto-scaling group manages that I believe. It has for years with the LaunchConfiguration at any rate.

The relevant bits my terraform config are:
variable "template_url" {
  default = "https://s3.amazonaws.com/buildkite-aws-stack/latest/aws-stack.yml"
}

resource "aws_cloudformation_stack" "this" {
  name = "buildkite-${var.buildkite_queue}"

  parameters = {
    # Buildkite Configuration

    BuildkiteAgentToken = "${var.buildkite_agent_token}"
    BuildkiteQueue      = "${var.buildkite_queue}"

    # Network Configuration

    VpcId   = "${var.vpc_id}"
    Subnets = "${var.subnet_ids}"

    # Instance Configuration

    ArtifactsBucket  = "${module.artifacts_bucket.name}"
    InstanceType     = "${var.instance_type}"
    KeyName          = "${aws_key_pair.this.key_name}"
    ManagedPolicyARN = "${join(",", var.managed_policy_arns)}"
    SecretsBucket    = "${module.secrets_bucket.name}"
    SpotPrice        = "${var.spot_price == "" ? null : "${var.spot_price}"}"

    # Autoscaling Configuration

    MaxSize             = "${var.max_size}"
    MinSize             = "${var.min_size}"
    ScaleCooldownPeriod = "${var.scale_cooldown_period}"
    ScaleDownAdjustment = "-${abs(var.scale_down_adjustment)}"
    ScaleDownPeriod     = "${var.scale_down_period}"
    ScaleUpAdjustment   = "${var.scale_up_adjustment}"

    # Docker Daemon Config

    EnableDockerUserNamespaceRemap = "${var.enable_docker_user_namespace_remap}"

    # Docker Registry Configuration

    ECRAccessPolicy = "${var.ecr_access_policy}"
  }

  template_url = "${var.template_url}"
  capabilities = ["CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"]
  on_failure   = "ROLLBACK"
}

I've been finding that:

when I set a spot_price on multiple queues, only one queue can start agents
when I set a spot_price, agents aren't replaced when they're scaled down

As far as I can tell, I'm using a template with LaunchConfiguration rather than LaunchTemplate. I think https://s3.amazonaws.com/buildkite-aws-stack/latest/aws-stack.yml points at https://s3.amazonaws.com/buildkite-aws-stack/v4.3.3/aws-stack.yml, but I can try changing the url, now that I've figured out what the versioned url looks like.

Beyond that, it shouldn't need to be persistent.

Really? I keep seeing my spot request in the fulfilled state, which seems to indicate that it's never going to request more: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-bid-status.html

I believe the ASG uses multiple spot requests, rather than just one persistent one.

I’m going to close this one, folks have been using this stack with spot instances for 3-4 years now, I reckon the problem will be somewhere else. Happy to help troubleshoot!

@lox fair enough. What's the best way to troubleshoot? Open a support ticket?
Also, does #596 fall into the same category?

Either<EMAIL_ADDRESS>or jump into #aws-stack in https://chat.buildkite.community and I'll assist!

great, thanks! It's still the weekend here, so probably nothing today, but I'll send something this week.

Cross posting from #596

So, I think I worked out what was happening here: it turns out AWS accounts have a limited spot instance count that they don't tell you about. As far as I can tell, I'm limited to roughly two spot instances, so it appeared that the first queue was the only one that could allocate spot instance, but it was simply that in my case, the first queue used up my quota.

Might be worth putting something in the docs about that. There error message is in a relatively obvious spot if you've spent a week digging through the EC2 console, but for newcomers to autoscaling and spot pricing, it's less intuitive. I stumbled up it mostly by accident last night.


AM or PM should default to current time

When I pick the time, it defaults to the current hour and minute but the AM/PM is always AM.

it's a bug in the library I'm using to display this window. So I can't fix it :(

Will it be fixed in the new version?
On Wed, Apr 12, 2023, 5:23 PM Alexander Kolmachikhin <
@.***> wrote:

it's a bug in the library I'm using to display this window. So I can't fix
it :(
—
Reply to this email directly, view it on GitHub
https://github.com/epicarchitect/breakbadhabits/issues/5#issuecomment-1504949916,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHRPKTF2KTW62ARVDCKWTITXAZYB5ANCNFSM6AAAAAAWU6LHDM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes, I will have a self-written calendar and time selection

Ok. We can close this ticket when you publish your new version.
On Wed, Apr 12, 2023, 5:57 PM Alexander Kolmachikhin <
@.***> wrote:

Yes, I will have a self-written calendar and time selection
—
Reply to this email directly, view it on GitHub
https://github.com/epicarchitect/breakbadhabits/issues/5#issuecomment-1504995357,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHRPKTBDGGWSYXZFKEADQI3XAZ37VANCNFSM6AAAAAAWU6LHDM
.
You are receiving this because you authored the thread.Message ID:
@.***>

it should have been fixed in the new version, please check

I'm not using the app anymore but you can close this if you think it's fixed. Thanks!


Optional file paths with existing files get duplicated

With this project configuration:
name: Project
targets:
  Project:
    type: application
    platform: iOS
    sources:
      - Sources
      - path: Sources/Foo.swift
        optional: True

And this folder structure:
.
├── Sources
│   └── Foo.swift
└── project.yml

1 directory, 2 files

Foo.swift is included twice if it already exists at the time the project file is generated.
Here's an example project demonstrating the issue: XcodeGenTest.zip

I also noticed that this is case sensitive. Meaning if you change the sources directive to be Sources/foo.swift, it will appear twice in the xcodeproj for the same file on disk

The casing wasn’t the only issue here, did that fix also fix the problem of the file being added to the compile sources twice?

Ahh I see. No, I fixed the duplicate file references, but not the duplicate build files. That would have to be a more in depth solution


Add libxslt

Added a port for libxslt. I had to fix libxml2 in the process because of the new CRT checks.

Hi @muemart, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

This looks good.
I noticed all builds are being done in the same folder. For example, both debug and release are in the same folder. Can you change the builds to be in different folders?
In general, portfiles use:
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel for release
${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-dbg for debug
This also makes builds from different triplets be placed in different folders. To see how this would look like, you can do:
vcpkg install zlib zlib:x86-windows-static
and then check the buildtrees\zlib folder. You will see:
src\, x86-windows-dbg\, x86-windows-rel\, x86-windows-static-dbg\, x86-windows-static-rel\
If out-of-source builds are not supported, then it is fine to copy paste the sources in each folder as necessary.
This will also fix the pdb warning that the build emits. Since the builds are stomping on top of each other, only the pdbs of the last build are available and vcpkg warns that it cannot find the pdbs for all the dlls.

Alternatively, a quick and easy solution would be to just copy the pdbs after each build, before they get overwritten by the next build.

I patched the makefile to support different output directories. The release builds didn't generate debug symbols, so I fixed that too while I was at it.

I see the directories being created, but it doesn't look like the build is actually done in them.
Did a commit not get pushed perhaps?
(also pdbs are missing, but this is probably because the above step didn't work)
Also, I have merged the libxml2 fixes.

Hm, it works for me and I have no local changes. Sounds like the patch wasn't applied, maybe it works if you delete the buildtree and try again?

You are right, cleaning up buildtrees and it worked. My bad.
Merging this, thanks for the solid work!
On a side note, we have some work in progress about applying patches that will (among other things) prevent things like not-having-patches-applied from being an issue.


Add a switch between £ and % for the pension contributions

For example, salary sacrifice should be able to switch between  £ and %

And the Tax Savings vs Pension Contribution (£) plot should allow showing Pension Contribution (%).


bind port mappings to HostIP, if specified

When using podman run -p <IP_ADDRESS>:8443:8443 before this commit, port 8443 would be reachable on all interfaces, as if one used podman run -p 8443:8443.
This is obviously not great for security — I’m using podman on an internet router with multiple network interfaces and really want to have my container ports reachable only internally, not also on the public internet :)

@stapelberg , do you want to take on the ownership of this repo? If you do, I will transfer it to you. Nowadays, I am far away from nft and wondering whether the people using it be better off with a maintainer like you.

Hey @greenpau! I’m stretched pretty thin myself, but certainly closer to nft and an active user of this project. Feel free to grant me owner permission on the repository and I can help with some best-effort maintenance :)

@stapelberg, this is great! Thank so much! I sent you an invite to join. I am doing it for the first time. Did not see the option to grant you the owner directly. My guess is that after you accept. I set the owner level.

Accepted. Let me know how you want to proceed with this PR: Do you want to merge it? Would you prefer if I did?

@stapelberg , please see if you can do it with your current permissions. There is no way for me to add ownership level through this interface.

Thank you, @stapelberg!


Error when loading lora weights

I get the following error when I execute the code in generate.py.

TypeError                                 Traceback (most recent call last)
 in <cell line: 41>()
46         device_map="auto",
47     )
---> 48     model = PeftModel.from_pretrained(
49         model,
50         lora_weights,
/usr/local/lib/python3.10/dist-packages/peft/peft_model.py in from_pretrained(cls, model, model_id, adapter_name, is_trainable, config, **kwargs)
276         # load the config
277         if config is None:
--> 278             config = PEFT_TYPE_TO_CONFIG_MAPPING[
279                 PeftConfig._get_peft_type(
280                     model_id,
/usr/local/lib/python3.10/dist-packages/peft/config.py in from_pretrained(cls, pretrained_model_name_or_path, subfolder, **kwargs)
132
133         kwargs = {**class_kwargs, **loaded_attributes}
--> 134         config = config_cls(**kwargs)
135         return config
136
TypeError: LoraConfig.init() got an unexpected keyword argument 'enable_lora'

Part of code with error:
model = PeftModel.from_pretrained(model,         lora_weights,         torch_dtype=torch.float16,)
I am using huggyllama/llama-7b as the base model and tloen/alpaca-lora-7b for the lora weights.
Any help would be greatly appreciated!

Issue solved in https://github.com/huggingface/peft/issues/1087

@kelsey-um I followed the same procedure as you and was able to get the generate.py script working. However, with the finetune.py script I'm facing the following error:

Any idea how to solve it? It seems to be because the load_in_8bit parameter is set to True but if I set it to False then even a GPU with vRAM of 44Gb is not enough to train the model.


MBean in Jboss 4.3 EAP

Brett,
I couldn't find mbean in jboss jmx-console page for one of the mysql datasources I configured. One of them is below.
<bean id="auxDataSource" class="com.zaxxer.hikari.HikariDataSource" destroy-method="close" autowire="no">     <property name="dataSourceClassName" value="com.mysql.jdbc.jdbc2.optional.MysqlDataSource"/>     <property name="registerMbeans"      value="true"                                         />     <property name="poolName"            value="auxDSHikariCP"                                />     <property name="allowPoolSuspension" value="true"                                         />     <property name="minimumIdle"         value="1"                                            />     <property name="maximumPoolSize"     value="50"                                           />     <property name="maxLifetime"         value="1800000"                                      />     <property name="idleTimeout"         value="600000"                                       />     <property name="leakDetectionThreshold"   value="2000"                                    />     <property name="dataSourceProperties">       <props>         <prop key="url">jdbc:mysql://dbapp.dev.monstersecurities.com/dev_aux</prop>         <prop key="user">ramkumar</prop>         <prop key="password">Dream33On</prop>         <prop key="prepStmtCacheSize">250</prop>         <prop key="prepStmtCacheSqlLimit">2048</prop>         <prop key="cachePrepStmts">true</prop>         <prop key="useServerPrepStmts">true</prop>       </props>     </property>   </bean>
It did show up in hawtio when I deployed the same war in tomcat 8.0.30. Do we need to do anything else apart from setting registerMbeans to true in spring xml context files?

This is probably a question for the Spring guys.  Maybe they create separate JMX contexts for web apps?  Or intercept registrations an prefix names with a unique identifier?  Anyway, the HikariCP code is very simple, so it seems likely that it is a configuration issue.


Authentication failed LDAP

Describe the bug
There seems to be a problem with the certificate check in ocis5.0.8. I don't use LDAP for authentication and set up a basic docker configuration. Please find my docker-compose below.
When I want to log in to the web portal, I get an authentication failed error. The corresponding debug from the container is:
2024-10-18T12:27:03Z ERR IdentifierIdentityManager: fetch failed to get user from userID error="ldap identifier backend get user connect error: LDAP Result Code 200 \"Network Error\": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2024-10-18T12:27:03Z is after 2024-10-18T08:29:32Z" line=github.com/owncloud/ocis/v2/ocis-pkg/log/logrus_wrapper.go:50 service=idp
Setting the environment variable OCIS_LDAP_INSECURE: true resolves the issue. However, I would expect that the certificate either renews itself or is not checked since I haven't integrated an LDAP service.
Could it be related to PROXY_ENABLE_BASIC_AUTH: true, which I need for webdav? If yes, what should I change in the config?
Steps to reproduce

Spin up ocis5.0.8 on docker.
let the LDAP certificate, created at setup, expire.
try to log in.

Expected behavior
A clear and concise description of what you expected to happen.
Login
Actual behavior
A clear and concise description of what happened.
Authentication failure
Setup
Please describe how you started the server and provide a list of relevant environment variables or configuration files.

networks:
  <redacted>:
    external: true
services:
  ocis:
    hostname: owncloud
    image: owncloud/ocis:5
    dns:
      - <IP_ADDRESS>
    networks:
      - <redacted>
    environment:
      OCIS_SERVICE_ACCOUNT_ID: "<redacted>"
      OCIS_SERVICE_ACCOUNT_SECRET: "<redacted>"
      OCIS_INSECURE: false
      #OCIS_LDAP_INSECURE: true
      FRONTEND_ARCHIVER_MAX_SIZE: "53687091200"
      OCIS_LOG_COLOR: true
      OCIS_LOG_PRETTY: true
      PROXY_ENABLE_BASIC_AUTH: true
      OCIS_URL: "<redacted>"
      OCIS_LOG_LEVEL: debug
    volumes:
      - <redacted>
    restart: unless-stopped

Additional context
Add any other context about the problem here.

Setting the environment variable OCIS_LDAP_INSECURE: true resolves the issue. However, I would expect that the certificate either renews itself or is not checked since I haven't integrated an LDAP service.

We have the requirement that we are "secure by default". Auto-Renewal is out of scope for the built-in Idm.
Solution
Just delete ldap.crt and ldap.key and restart.

I've been locked out of my OCIS instance since June, and I finally chanced upon this. Can confirm the above works for me.

Can confirm that too but why have the pain of manually deleting the cert, redeploy the instance to create a new one than just automatically renewing the cert?

Can confirm that too but why have the pain of manually deleting the cert, redeploy the instance to create a new one than just automatically renewing the cert?

You asked for it 😄 Let me explain.
The built-in LDAP server is there to test ocis and run some evaluation setups. The default setup needs to be "secure by default" because most people would run it on a shared environment.
So the expiration time of the Certs is long enough.
For running ocis continuously in production we always suppose to use a productive LDAP server like OpenLDAP.

If I'm understanding correctly, this is a pretty terrible end user experience. If OCIS is fine issuing the cert in the first place, then it needs to also be fine renewing it. Otherwise, this ends up randomly breaking your install without the operator even understanding that this was their responsibility in the first place (the situation I find myself in now). I get the desire to be secure-by-default, but there must be a way to achieve that without surprise breakages down the line.

You should use a proper OpenLdap service and take care of the cert by a certbot like letsencrypt.

Same issue here. A quick solution to delete the files but I agree that this is a terrible user experience for folks who do not use LDAP with a simple install.
Can we get a solution for this or should simple installs expect to have to do this manual step every time a cert expires? In that case I rather migrate to an alternative option.

I think it could be more prominently highlighted in the installation guides that an LDAP service is required to run OCIS permanently. However, I agree that it makes sense to separate user management from the file service.


Menu in reverse order

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
A menu is in reverse order. In the image below see Annotations. That list is in reverse order. Annotations should be at the bottom.

Specifically it looks like all sub-lists in the TOC are in alphabetical order.

Yes, alphabetical order is the default in Hugo. We have to go in and manually assign weights to individual pages to customize the order. It's on a TODO list; thanks for filing the issue.

Duplicate of #8239.


Various Video Call web bugs

Describe the bug

Safari, iOS 15.4.1 (iPhone 13 Pro) — Local and Remote videos do not render (Video does broadcast and can be seen by other participants)
Chrome 101.0.4952.61, Android 12 (Pixel 3A) — Same issue as 1
Safari 14.0.2, MacOS 11.1 (Macbook Pro 2014) — Video freezes after a few seconds (Could be related to old browser version)

To Reproduce
Join a video call via the mobile browser with the targets above
Expected behavior
Video rendering smoothly on the local device(s)
Screenshots
Chrome Mac Screenshot - Works properly with no issues
Safari iOS Screenshot - No rendered previews
Additional context
Current sdk being used is agora_rtc_engine: ^5.2.0

same here.

I'm having the same issue as well. No mobile devices see to be able to show video on Flutter web. The same code running in Chrome and Safari on desktop work fine. Mobile devices are transmitting video to desktop, just the mobile devices do not show any local or remote video.

I can replicate this with the example app in this repo:

In the example app folder, run flutter run -d chrome
Note the port in which the app launches
Run export PORT=60878 && adb reverse tcp:$PORT tcp:$PORT with the noted port for PORT
Follow the instructions here: https://developer.chrome.com/docs/devtools/remote-debugging/ to debug Chrome on android
On the Android device, go to localhost:$PORT. This should load the app and allow the computer to get log data.

Any dev thoughts on this? Mobile web seems so close to working.

also for me working on chrome on mac, not working on chrome and firefox on android

Here is an update on what I've tried (cc: @blopker)

My hunch is that the AgoraRtcWrapper.bundle.js may not be configured correctly. Old examples of the flutter web library include a script tag in the index.html file. I cloned the repo, built the new file, installed it manually, and experienced the same issue. I also tried to find and older bundle js, and found the same problem. I created an issue in Iris repo (https://github.com/AgoraIO-Community/Iris-Rtc-Web/issues/1)

I downloaded a web sdk example and tried it in safari mac and it worked well. Maybe the pipeline from the web SDK to the wrapper SDK isn't up to date?

I currently have a ticket open with support about this issue. Will update here when I get a response. I would imagine Agora would like this to work as I am very confident Agora is the most popular p2p video library for Flutter in the world.

any update?

any update?

The web support for agora_rtc_engine 6.x has landed in the main branch, If you still face issues, please try the latest code in main branch to see if it works or not.

There is no documentation on how to use it @littleGnAl

The web support for agora_rtc_engine 6.x has landed in the main branch, If you still face issues, please try the latest code in main branch to see if it works or not.

@oexza
Add the main branch as git package:
agora_rtc_engine:
  git:
    url: https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK.git
    ref: main

Then follow the integration guide https://github.com/AgoraIO-Extensions/Agora-Flutter-SDK?tab=readme-ov-file#web-alpha


Not able to modify circle in open layers 3.7

Hello,
I am not able to modify circle using open layers 3.7. Also, when creating a box, it is taking box as general polygon.
Thanks,
Tarun

Please ask questions like these (with more info so people can help you) on stack overflow. Thanks.


Median of two sorted array problem is added

I have added a new problem solution from leetcode medium difficulty

please star the repo , thanks :)


cmd/vet: go 1.18 vet undocumented behavior change with use of -vettool

What version of Go are you using (go version)?

$ go version
go version go1.18beta1 darwin/amd64

Does this issue reproduce with the latest release?
No, this issue does not reproduce with go1.17.5.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN="/Users/leighmcculloch/.local/bin"
GOCACHE="/Users/leighmcculloch/Library/Caches/go-build"
GOENV="/Users/leighmcculloch/Library/Application Support/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/leighmcculloch/.local/gopath/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/leighmcculloch/.local/gopath"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/Users/leighmcculloch/.local/bin/go/latest"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/Users/leighmcculloch/.local/bin/go/latest/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.18beta1"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="0"
GOMOD="/Users/leighmcculloch/Code/stellar--go/go.mod"
GOWORK=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/q5/xb4dl4bs3cs32khlg0ryy0vw0000gp/T/go-build3668798394=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
I ran go vet using the -vettool option.
go vet -all -composites=false -unreachable=false -tests=false ./...
go vet -vettool=$(which shadow) ./...

What did you expect to see?
I expected to see go vet, when run with -vettool, to only run the vettool and not to run all the other vet checks. This is the behavior of go vet prior to Go 1.18.
I also expected to see the shadow tool get used to vet the code.
What did you see instead?
I saw go vet output errors about composites, and I saw no outputs about issues that would normally be identified when running with -vettool.
It seems like the -vettool option is no longer taking any affect.
This issue is related to https://github.com/stellar/go/pull/4143.

I've attempted to reproduce this on another shell, and now I'm not seeing the same issue, so there's something environmental at play here that has happened on my local machine once, and is happening consistently inside GitHub Actions.

Ok, I believe the issue is the way we install the shadow tool in our scripts. We are using go get to do the install, which won't actually affect an install of a binary with Go 1.18.

Can you include the [possibly sanitized] output of go vet -x or go vet -n?


Examples 1 and 2 Not Working

Examples 1 and 2 are NOT WORKING.
While they do not error in PowerShell, there is no subsequent Holiday created in Holidays in TAC.
Powershell returns the schedule but it cannot be used in TAC or applied to any Auto Attendant

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

ID: 93094674-2964-b558-4543-ac3f60ee1e8f
Version Independent ID: 5b46aa89-0965-e0d2-6e73-e831651e0271
Content: New-CsOnlineSchedule (SkypeForBusiness)
Content Source: skype/skype-ps/skype/New-CsOnlineSchedule.md
Service: skypeforbusiness-powershell
GitHub Login: @tomkau
Microsoft Alias: tomkau

Well, the code in examples 1 and 2 defines business hours schedule that we then can use in New-CsAutoAttendantCallHandlingAssociation during Auto Attendant creation. See examples
If you created them but have not attached them to Auto Attendants, then they just sitting there doing nothing.
You can find CsOnlineSchedule objects that are not attached to anything:
Get-CsOnlineSchedule | where Type -EQ 'WeeklyRecurrence' | where { -not $_.AssociatedConfigurationIds }

To delete unused ones:
Get-CsOnlineSchedule | where Type -EQ 'WeeklyRecurrence' | where { -not $_.AssociatedConfigurationIds } | Remove-CsOnlineSchedule

I guess it would make sense to update description for examples 1 & 2 with some reference to New-CsAutoAttendantCallHandlingAssociation

Yes agree that makes sense since example 3 does create an actual Holiday perhaps a reference for any business and after hours examples that more configuration is required before you will see anything in TAC.


Add OneRuleClassifier to the registry

Model loads fine but we should probably wait for:

[x] https://github.com/roland-KA/OneRule.jl/issues/4
[x] https://github.com/roland-KA/OneRule.jl/issues/3

@roland-KA

Codecov Report

Merging #455 (a4a33a7) into dev (ad16a0d) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #455      +/-   ##
==========================================
+ Coverage   74.95%   75.07%   +0.12%
==========================================
  Files          12       12
  Lines        1014      979      -35
==========================================
- Hits          760      735      -25
+ Misses        254      244      -10

Impacted Files
Coverage Δ

src/MLJModels.jl
100.00% <100.00%> (ø)

src/metadata.jl
77.64% <0.00%> (-2.15%)
:arrow_down:

src/model_search.jl
73.00% <0.00%> (-1.00%)
:arrow_down:

src/loading.jl
61.90% <0.00%> (-0.45%)
:arrow_down:

src/registry/src/Registry.jl
0.00% <0.00%> (ø)

src/registry/src/check_registry.jl
0.00% <0.00%> (ø)

src/builtins/Transformers.jl
96.59% <0.00%> (+0.16%)
:arrow_up:

src/utilities.jl
16.12% <0.00%> (+0.97%)
:arrow_up:

src/builtins/ThresholdPredictors.jl
92.04% <0.00%> (+2.68%)
:arrow_up:

Continue to review full report at Codecov.

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

Tested locally:
using MLJModels, MLJBase

M = @load OneRuleClassifier
model = M()

x1 = coerce(rand("ab", 100), Multiclass);
x2 = coerce(rand("cde", 100), Multiclass);
X = (; x1, x2);
y = x1;

mach =  machine(model, X, y) |> fit!
julia> accuracy(predict(mach, X), y)
1.0


string.replace odd behavior.

Some might already have noticed this:
The string.replace() function only replaces one letter. I would like that fixed to replace ALL letters, since it's annoying to call it multiple times to replace all letters.

That's a feature with regular Javascript though and not limited to just this game engine.
There is a string.replaceAll method.


MuleConfigFileSize

Need to define what is large. number of Line / Flow.

Check all mule configuration file and raise error for mule configuration file that passes specified threshold value.

Might need to revisit this idea later, but I'm going to close this for now.


nixos/mandoc: manpath and makewhatis fixes

Description of changes
Resolves https://github.com/NixOS/nixpkgs/issues/173261
This PR will hopefully fix three issues with nixos/mandoc:
1. adding another language path to manPath can cause system fail to deploy.
For example, I've attempted to add share/man/zh_CN to documentation.man.mandoc.manPath and enable documentation.man.generateCaches, but then I get this:
error: builder for '/nix/store/<hash>-user-environment.drv' failed with exit code 5;
       last 2 log lines:

/nix/store/<hash>-user-environment/share/man/zh_CN: realpath: No such file or directory
       For full logs, run 'nix log /nix/store/<hash>.drv'.

error: 1 dependencies of derivation '/nix/store/<hash>-nixos-system-Aleksana-Laptop-23.11.20230801.<hash>.drv' failed to build

Because makewhatis is getting a non-existent directory. It can exit without error when the directory is empty, but cannot when it doesn't even exist.
2. mandoc ignores manpath in /etc/man.conf when MANPATH is set.
This makes it hard to create mandoc module in Home Manager. If we set MANPATH directly, mandoc can't get system wide manpages, so we have to parse that file beforehand, but Home Manager doesn't seem to allow calling scripts in user profiles (And even if it's possible, it's a rather dirty approach).
3. manpages installed in nix profiles are ignored.
Also see https://github.com/NixOS/nixpkgs/issues/173261
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

A problem that I see with your approach is that there is no way to set man path via the configuration file now

Will this bring some actual drawbacks?

A problem that I see with your approach is that there is no way to set man path via the configuration file now

After digging into the previous approach which does make sense, I found something really troublesome. It's unreasonable to directly call /run/current-system/sw (Not only it's not a config.environment.currentSystem blahblah), because that's not the only place a manpage can appear. So I end up with this:
etc."man.conf".text = lib.concatStringsSep "\n" (
        (lib.concatMap
          (
            (path: map (profile: "${profile}/${path}")) config.environment.profiles
          )
          cfg.manPath)
      );

It looks better, but environment.profiles is actually this: [ "$HOME/.nix-profile" "/etc/profiles/per-user/$USER" "/nix/var/nix/profiles/default" "/run/current-system/sw" ]. And sadly, nix.conf can't parse environment variables in it this way. So we'll end up with some non-NixOS approach, which doesn't make sense at all and can't fit into our configuration.

@Aleksanaa You convinced me that using MANPATH makes sense, but I don't see why we can't accept documentation.mandoc.manPath = null; and let the user set documentation.mandoc.settings.manpath = [ … ]; with an warning if both have an explicit value at the same time.

The most important issue here is, do we still use /run/current-system/sw or something else to prefix the specified manpage paths (at least as a default value for settings.manPath)? If we were to choose a certain prefix, is our reason good enough?

The most important issue here is, do we still use /run/current-system/sw or something else to prefix the specified manpage paths (at least as a default value for settings.manPath)? If we were to choose a certain prefix, is our reason good enough?

We are addressing this problem by default by using MANPATH set via profileRelativeSessionVariables which solves the problem. Users can set settings.manPath at their own peril and we can default to [ ] (so no manpath directive in man.conf).
The question is, of course, if there's a situation where we would need to have a manpath set in man.conf.

@sternenseemann please review it if you have time, thanks!

@sternenseemann I'm back 😃

@sternenseemann Could you please review this🥺

@ofborg test man

Small note for myself: MANPATH will not be set if cfg.manPath is a blank list:
https://github.com/NixOS/nixpkgs/blob/b141712299da1e5b5a91b5d738e8cd36f2a9edcf/nixos/modules/config/shells-environment.nix#L17-L20

@ofborg test man

Seems like nix-build nixos/tests/man.nix got broken by this change, not sure why exactly yet, seems like a man page is no longer found…

diff --git a/nixos/tests/man.nix b/nixos/tests/man.nix
index 1ff5af4e8059..00dede65e47c 100644
--- a/nixos/tests/man.nix
+++ b/nixos/tests/man.nix
@@ -45,6 +45,7 @@ in {

   testScript = ''
     import re
+    import os
     start_all()

     def match_man_k(page, section, haystack):
@@ -76,6 +77,8 @@ in {
   '' + lib.concatMapStrings (machine: ''
     with subtest("Test direct man page lookups in ${machine}"):
       # man works
+      print("detected PATH: " + os.environ["PATH"])
+      print("detected MANPATH: " + os.environ["MANPATH"])
       ${machine}.succeed("man man > /dev/null")
       # devman works
       ${machine}.succeed("man 3 libunwind > /dev/null")

Will fail at
detected PATH: /nix/store/jhflvwr40xbb0xr6jx4311icp9cym1fp-python3-3.10.12/bin:/nix/store/7qv673w08jb40gs7jvqac48bqnfwdfwi-nixos-test-driver-1.1/bin:/nix>
Test "Test direct man page lookups in mandoc" failed with error: "'MANPATH'"

So the problem is MANPATH not being set at all. man-db doesn't rely on any environment variables so no problem:
https://github.com/NixOS/nixpkgs/blob/6df37dc6a77654682fe9f071c62b4242b5342e04/nixos/modules/misc/man-db.nix#L61-L84
There's probably something wrong with the test system, or I'm doing something silly.

There's probably something wrong with the test system

There may be no user session?

(The above changes are unrelated to the failure but seems required)

There may be no user session?

But if there's no user session, how do we test the correctness of nixos modules...?

@ofborg test man

(The above changes are unrelated to the failure but seems required)

This seems to have solved the problem, though?

diff --git a/nixos/tests/man.nix b/nixos/tests/man.nix
index 1ff5af4e8059..7ad583109739 100644
--- a/nixos/tests/man.nix
+++ b/nixos/tests/man.nix
@@ -31,6 +31,8 @@ import ./make-test-python.nix ({ pkgs, lib, ... }: let
         };
       }) manImplementations);
     };
+
+    users.users.root.shell = "/bin/sh";
   };

   machineSafe = builtins.replaceStrings [ "-" ] [ "_" ];
@@ -76,11 +78,11 @@ in {
   '' + lib.concatMapStrings (machine: ''
     with subtest("Test direct man page lookups in ${machine}"):
       # man works
-      ${machine}.succeed("man man > /dev/null")
+      ${machine}.succeed("su - root -c 'man man > /dev/null'")
       # devman works
-      ${machine}.succeed("man 3 libunwind > /dev/null")
+      ${machine}.succeed("su - root -c 'man 3 libunwind > /dev/null'")
       # NixOS configuration man page is installed
-      ${machine}.succeed("man configuration.nix > /dev/null")
+      ${machine}.succeed("su - root -c 'man configuration.nix > /dev/null'")

     with subtest("Test generateCaches via man -k in ${machine}"):
       expected = [
@@ -93,7 +95,7 @@ in {
       ]

       for (keyword, page, section) in expected:
-        matches = ${machine}.succeed(f"man -k {keyword}")
+        matches = ${machine}.succeed(f"su - root -c 'man -k {keyword}'")
         if not match_man_k(page, section, matches):
           raise Exception(f"{page}({section}) missing in matches: {matches}")
   '') machineNames;

I've succeeded with this patch.

@ofborg test man

Eh, you may be right. Works without it.

I've succeeded with this patch.

It does succeed without the patch on CI now, can't you reproduce locally?

Bisect says 4f3e29f3a3d6f1a115b23ba8fd5dd560b825d6d8 nixos/mandoc: use MANPATH environment variable broke evaluation of nixosTests.documentation test:
$ nix build -f. nixosTests.documentation
error:
       … while calling the 'derivationStrict' builtin

         at /derivation-internal.nix:9:12:

            8|
            9|   strict = derivationStrict drvAttrs;
             |            ^
           10|

       … while evaluating derivation 'documentation-check'
         whose name attribute is located at /home/slyfox/dev/git/nixpkgs-master/pkgs/stdenv/generic/make-derivation.nix:352:7

       … while evaluating attribute 'optionsJSON' of derivation 'documentation-check'

         at /home/slyfox/dev/git/nixpkgs-master/nixos/modules/misc/documentation/test.nix:42:43:

           41| {
           42|   inherit (sys.config.system.build.manual) optionsJSON;
             |                                           ^
           43| } ''

       error: The option `environment.profileRelativeSessionVariables' does not exist. Definition values:
       - In `/home/slyfox/dev/git/nixpkgs-master/nixos/modules/misc/mandoc.nix':
           {
             _type = "if";
             condition = false;
             content = {
               MANPATH = [
           ...

Bisect says 4f3e29f3a3d6f1a115b23ba8fd5dd560b825d6d8 nixos/mandoc: use MANPATH environment variable broke evaluation of nixosTests.documentation test:

   … while evaluating attribute 'optionsJSON' of derivation 'documentation-check'

     at /home/slyfox/dev/git/nixpkgs-master/nixos/modules/misc/documentation/test.nix:42:43:

       41| {
       42|   inherit (sys.config.system.build.manual) optionsJSON;
         |                                           ^
       43| } ''

   error: The option `environment.profileRelativeSessionVariables' does not exist. Definition values:

So this test uses a subset of nixos modules?

https://github.com/NixOS/nixpkgs/blob/836a47d2c33d02da35d56338cfe9f34721eb762f/nixos/modules/misc/documentation.nix#L157-L170


First benchmark checkpoint

[ ] Use AlloyDB to execute mainnet transactions.
[ ] Add an RPC integration test that executes 1-3 most packed (no. transactions, gas used, etc.) mainnet blocks in each spec.
https://github.com/risechain/block-stm-revm/blob/7c5bf31f379bf51f46c33bd92cc8123be5785da4/src/primitives.rs#L9-L35
[ ] Persist state data needed for each block to load into memory for benchmarks.
[ ] Implement and record the first benchmark with these mainnet blocks:

Block Number
Spec
No. Transactions
Gas Used
Sequential Execution Time
Parallel Execution Time

19869045
CANCUN
329 + 78
23,474,009
?
?

[ ] Profile parallel execution to identify low-hanging fruit optimizations.

Done for now.


Not accurate background on Windows 10

Describe the bug
Window background has a weird color and sometimes it's just white.
To Reproduce
Open WPF UI app on Windows 10.
Expected behavior
Show dark colors when Mica is not available.
Screenshots
Screenshots from friends computer - 3 more friends had the same issue on Windows 10.

OS version
Windows 10
.NET version
6.0
WPF-UI NuGet version
2.0.3
Additional context
No response

When I try this I can't click on the window title bar unless the whole window has a color with the lowest transparency possible :/

My friend tried the new version and it looks like this

Could you check my demo application: https://github.com/alkalinin/WPF-Samples/tree/main/HelloWorld ? On my Windows 10 it works without problems.

I didn't apply that background brush, that's probably the problem. Thank you so much for helping me with my problem! :)
Btw. Where can I find a list of all resources? I know that WinUI 3 shows it in editor but I don't know how to find it in WPF.

Btw. Where can I find a list of all resources? I know that WinUI 3 shows it in editor but I don't know how to find it in WPF.

In my Visual Studio 2022 I can start typing the property and editor shows me variants, see image below. And also in WPFUI in the development branch (not yet released) there is a great application Wpf.Ui.Gallery, where we can find list of all controls.

It shows me that property. I mean how did you know which resource to use in that ThemeResource?

First, I looked at the demo application https://github.com/lepoco/wpfui/blob/main/src/Wpf.Ui.Demo/Views/Container.xaml. And second I looked at the https://github.com/lepoco/wpfui/blob/main/src/Wpf.Ui/Styles/Theme/Dark.xaml , it is a definition of the theme color.

Thank you! Btw. Your solution work for me but I didn't have to set transparent window without style

First, I looked at the demo application https://github.com/lepoco/wpfui/blob/main/src/Wpf.Ui.Demo/Views/Container.xaml. And second I looked at the https://github.com/lepoco/wpfui/blob/main/src/Wpf.Ui/Styles/Theme/Dark.xaml , it is a definition of the theme color.

Links are 404

This has been resolved in the latest previews


live init on next branch should not use inventory-template.yaml

Default behavior in 1.0 release is to use inventory field in Kptfile and ResourceGroup.

The default behavior in 1.0 is that new packages which call kpt live init will store the Inventory fields in the kptfile (which creates a ResourceGroup custom resource when applied).
Just to be clear, any existing ConfigMap inventory objects in clusters previously created with inventory-template.yaml will continue to work (we're not going to force all users to recreate their cluster deployments). We will provide a kpt live migrate command to upgrade existing packages from ConfigMap to the ResourceGroup inventory object.

https://github.com/GoogleContainerTools/kpt/pull/1734

gentle reminder: let's put the triaged label on for things that are already understood by the team 🙇

Completed


Batch - Management Plane Version 8.0.0

@dsgouda I have made the requested change to update AssemblyInfo to the correct version.

Will merge once CIs pass

@jafreck have you joined the Azure org here

@jafreck have you joined the Azure org here

Yes, I am a member. However, it appears as though the CI is stuck.

@azuresdkci Retest this please


Upgrade spring boot version

What this PR does / why we need it?
upgrade pom.xml spring boot version.
Summary of your change
upgrade pom.xml spring boot version.
Please indicate you've done the following:

[ ] Made sure tests are passing and test coverage is added if needed.
[ ] Made sure commit message follow the rule of Conventional Commits specification.
[ ] Considered the docs impact and opened a new docs issue or PR with docs changes if needed.

Codecov Report
Base: 72.59% // Head: 72.52% // Decreases project coverage by -0.06% :warning:

Coverage data is based on head (9dc62ab) compared to base (a266304).
Patch has no changes to coverable lines.

Additional details and impacted files
@@             Coverage Diff              @@
##               main    #1052      +/-   ##
============================================
- Coverage     72.59%   72.52%   -0.07%
+ Complexity    17985    17964      -21
============================================
  Files           716      716
  Lines         75612    75606       -6
  Branches      16181    16181
============================================
- Hits          54888    54833      -55
- Misses        13919    13957      +38
- Partials       6805     6816      +11

Impacted Files
Coverage Δ

...main/java/com/alibaba/fastjson2/util/JDKUtils.java
55.82% <0.00%> (-3.07%)
:arrow_down:

...ain/java/com/alibaba/fastjson2/util/BeanUtils.java
75.82% <0.00%> (-2.31%)
:arrow_down:

...java/com/alibaba/fastjson2/reader/FieldReader.java
70.16% <0.00%> (-1.66%)
:arrow_down:

.../alibaba/fastjson2/writer/ObjectWriterCreator.java
69.46% <0.00%> (-0.54%)
:arrow_down:

.../alibaba/fastjson2/reader/ObjectReaderCreator.java
78.94% <0.00%> (-0.26%)
:arrow_down:

...java/com/alibaba/fastjson2/writer/FieldWriter.java
66.15% <0.00%> (-0.26%)
:arrow_down:

...java/com/alibaba/fastjson2/internal/asm/Frame.java
83.13% <0.00%> (-0.17%)
:arrow_down:

...ibaba/fastjson2/writer/ObjectWriterCreatorASM.java
93.46% <0.00%> (-0.15%)
:arrow_down:

...ibaba/fastjson2/writer/ObjectWriterBaseModule.java
76.02% <0.00%> (-0.14%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Re-enable preview deployment database

Switch from Heroku to Vercel to allow publishing charts again from the Vercel preview deployments.

Done by @ptbrowne 🎉