not for the microbit?

I was trying to use this library to do a DFU of the microbit but it appears the services are completely different and hence is not working at all.
https://lancaster-university.github.io/microbit-docs/resources/bluetooth/bluetooth_profile.html
The microbit exposes
uuid_service_dfu_control = CBUUID(string:"E95D93B0-251D-470A-A062-FA1922DFA9A8")
uuid_service_device_info = CBUUID(string:"180A")

What am I missing? Shouldn't this library work with the microbit as well?

I can't confirm that right now, but it seems like the identifier is different, We have a bunch of microbits at work so i'll give one a try and see, but from what it seems jumping to bootloader has a bit of a different mechanism, but my guess is that things should work right after you manage to jump to bootloader, can you try doing that using nRF Connect ? I'll need some time before getting to that task

@mostafaberg I assume you mean the DFU from the nRF Toolbox?
With nRF Toolbox I select DFU, the device, the firmware and it's stuck saying "Connecting..."
When I use the nRF Connect I select to connect to the microbit and I don't see nothing more than "Connecting" either.

Yeah that will porbably not work, i actually mean nRF Connect not nRF Toolbox, with nRF Connect you need to connect (and pair depending on your firmware version), then you'll need to manually jump to bootloader, after that the Micro Bit restarts in DFU mode, only then you'll be able to flash.
Does your peripheral require Pairing or does it work without that ?

@mostafaberg is does require pairing

you'll need to manually jump to bootloader

Urgh. OK. So IIUC the library only takes care of the second part (after the restart)?

You are pretty much correct, seems like according to their Spec linked in your question that there are two different versions, the old one does not support pairing, and in order to jump to bootloader, you have to write a secret key to characteristic UUIDE95D93B1251D470AA062FA1922DFA9A8
Which is described as:

Writing 0x01 initiates rebooting the micro:bit into the Nordic Semiconductor bootloader if the DFU Flash Code characteristic has been written
to with the correct secret key.
Writing 0x02 to this characteristic  means "request flash code".

Then there seems to be an updated version that supports pairing (the one you are using currently), which dropped that secret key to be written since you're already bonded to the MicroBit
Then there is an updated version >= 1.7 that states:

DFU Control Service has lost the the DFU Flash Code characteristic since we're now using standard Bluetooth pairing.

So it seems that if you are on firmware 1.7 or newer, you no longer need to use the flash code featre as it's gone, if your MicroBit does not initiate a pairing when you connect to it, that means you have to use the flash code feature to jump to bootloader.
I'm uncertain since I haven't tested this, but according to the spec , and your information provided, to jump to bootloader mode (only after being bonded) do the following:

Write 0x01 to characteristic UUIDE95D93B1251D470AA062FA1922DFA9A8
Observe the MicroBit rebooting in bootloader.
Start the Normal DFU Process by connecting to the MicroBit using this library.

I'm not sure if your bonding info will be persisted after flashing, so on iOS, after flashing the MicroBit you will need to go to Settings->Bluetooth and select your MicroBit in the peripheral list and tap Forget to remove the bonding data from your iOS device.
if bonding persists, you will be able to reconnect, if not you will have issues reconnecting

@mostafaberg thanks a lot - that did get me a bit further. After rebooting I call the library and then get this:
Connecting to BBC micro:bit...
centralManager.connect(peripheral, options: nil)
Connecting
[Callback] Central Manager did connect peripheral
Connected to BBC micro:bit
Discovering services...
peripheral.discoverServices(nil)
2017-08-24 12:29:16.712745+0200 Calliope[10056:4409703] [CoreBluetooth] WARNING: The delegate for <CBPeripheral: 0x1740f5180, identifier = 19D1B789-0D1A-4103-8E2E-80C981934FF1, name = BBC micro:bit, state = connected> does not implement -[peripheral:didModifyServices:]
Services discovered
Starting Legacy DFU...
Connected to BBC micro:bit
Services discovered
Legacy DFU Service found
Discovering characteristics in DFU Service...
peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
DFU characteristics discovered
Reading DFU Version number...
peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0400
Version number read: 0.4
Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x06, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
[Callback] Central Manager did disconnect peripheral
Disconnected by the remote device
The init packet is required by the target device

As you can see - unfortunately the upload does not go through.
Seems like the device disconnect - for some reason.
Any thoughts?

That's perfect, seems like you got it working already, your issue is in the last line in the log
The init packet is required by the target device
You need to have an init packet in the DFU file, here is how to create one
After fixing that, i'm sure your firmware will work flawlessly :)

@mostafaberg sounds good - progress :)
IIUC I need to create a zip and add a file with crc information to that zip? ATM I only have a hex - no zip and I was under the impression the library would generate the required init packet.
I am on macOS not windows. So those .exe don't help much - but I got hex2bin compiled. Is the crc a crc32?

Als: is there a DFU file out there where the init package is available?
So I can verify my init package generation?

Hmm good question, @philips77 do you know where to find ready made ones ?

Hi, afaik there are in SDK in dfu folder. You'll find there hex, but also test zip files. Also here: https://github.com/NordicSemiconductor/Android-nRF-Connect/tree/master/documentation/Automated tests/DFU Tests
To create init file you should use nrfutil python app, read more here https://github.com/NordicSemiconductor/pc-nrfutil. The pdf given above is outdated, i have to update it.

For legacy dfu, use version 0.5.2 of nrfutil, the newest one isn't compatible.

What I still don't get is:
Via USB I can upload hex file just fine. No further metadata needed. Does it just assume the metadata and generates the checksums on the fly?
From the API it looks like the library does support hex, bin and zip.
Now when I try the hex way the init packet is missing.
If it's required, wouldn't it make sense to be able to specify the required information as parameter to the DFUFirmware or DFUStream objects?

Is the pem a requirement?
BTW: Seems we are using SDK version 10.0.0

Nope, pem is a requirement in Secure DFU. In legacy it was added in SDK 8(?) and optional/hard to enable.

Init pack is required for dfu since sdk 7.1. It contains fw and hw version and CRC which a bit prevents from flashing wrong fw on a different device. It's not secure, as the init packet isn't signed, and you may remove the app without actually having any zip packet. You may just send that you are about to send new SD, which will clear app to make space for new sd in dual bank.
It's up to the bootloader to require this or that. In the lib I can't say what's needed before starting dfu.

@philips77 thanks for helping in clearing things up but...
if the init packet is not signed - what's the pem for? And when I look at the protobuf at https://github.com/NordicSemiconductor/pc-nrfutil/blob/master/nordicsemi/dfu/dfu-cc.proto I see a SignedCommand which holds a signature.
So what I did now is generate some keys (I wouldn't know where to find the proper key) and then the zip
nrfutil keys generate private.pem
nrfutil pkg generate --hw-version 51 --sd-req 0x80 --application-version 4 --application app.hex --key-file private.pem app_dfu_package.zip

When I try to upload the zip (via DFUFirmware(urlToZipFile: url)) I get
uploading file:///var/containers/Bundle/Application/22CB2315-C0E0-4283-A3E5-73A7B0892069/Calliope.app/app_dfu_package.zip
Connecting to BBC micro:bit [vatuz]...
centralManager.connect(peripheral, options: nil)
Connecting
[Callback] Central Manager did connect peripheral
Connected to BBC micro:bit [vatuz]
Discovering services...
peripheral.discoverServices(nil)
2017-08-25 13:30:38.956825+0200 Calliope[10687:4625737] [CoreBluetooth] WARNING: The delegate for <CBPeripheral: 0x1740e3e80, identifier = 19D1B789-0D1A-4103-8E2E-80C981934FF1, name = BBC micro:bit [vatuz], state = connected> does not implement -[peripheral:didModifyServices:]
Services discovered
Starting Legacy DFU...
Connected to BBC micro:bit [vatuz]
Services discovered
Legacy DFU Service found
Discovering characteristics in DFU Service...
peripheral.discoverCharacteristics(nil, for: 00001530-1212-EFDE-1523-785FEABCD123)
DFU characteristics discovered
Reading DFU Version number...
peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0400
Version number read: 0.4
Enabling notifications for 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.setNotifyValue(true, for: 00001531-1212-EFDE-1523-785FEABCD123)
Starting
Notifications enabled for 00001531-1212-EFDE-1523-785FEABCD123
DFU Control Point notifications enabled
Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
Writing image sizes (0b, 0b, 257056b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x000000000000000020ec0300, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
Data written to 00001531-1212-EFDE-1523-785FEABCD123
Start DFU (Op Code = 1, Upload Mode = 4) request sent
Notification received from 00001531-1212-EFDE-1523-785FEABCD123, value (0x): 100104
Response (Op Code = 1, Status = 4) received
Error 4: Data size exceeds limit
Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x06, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
[Callback] Central Manager did disconnect peripheral
Disconnected by the remote device
Data size exceeds limit

Which is a bit odd. The hex file uploads and works just fine via USB.
I am wondering if it tries to cram into the application space what really is softdevice + application.
Could that be possible? Is there a way to check? I didn't create that file.

Also, from the log I see you changed the number returned from DFU Version char to 0x04:
Reading DFU Version number...
peripheral.readValue(00001534-1212-EFDE-1523-785FEABCD123)
Read Response received from 00001534-1212-EFDE-1523-785FEABCD123, value (0x): 0400
Version number read: 0.4

May I ask why? This should not be changed, as based on this number the lib determines features of your botloader and know how to handle it. In SDK 10 (since SDK 8) the value returned should be 0700 or 0800, as far as I remember. Check here: https://github.com/NordicSemiconductor/IOS-Pods-DFU-Library/blob/2969438633ef1f242e3ab8621ea7f13a54b44823/iOSDFULibrary/Classes/Implementation/DFUServiceInitiator.swift#L108

To use nrfutil 0.5.2 (actually I see now 0.5.3 is latest) you have to clone the repo and change branch to 0.5.3:
https://github.com/NordicSemiconductor/pc-nrfutil/tree/0_5_3

Also, from the log I see you changed the number returned from DFU Version char to 0x04:
May I ask why? This should not be changed, as based on this number the lib determines features of your bootloader and know how to handle it. In SDK 10 (since SDK 8) the value returned should be 0700 or 0800, as far as I remember. Check here:

I am just the poor guy trying to get the DFU working from iOS :)
I don't know why they changed the version. I will pass that on.
I didn't find the version specific code paths in the library yet.
Sorry for the 3.2.0 - totally missed that. Now I installed 0.5.2 (can also upgrade to 0.5.3)
nrfutil dfu genpkg \
  --application app.hex \
  app_dfu_package.zip

but I am still getting Data size exceeds limit

nrfutil dfu genpkg --application app.hex --application-version 0xffffffff --dev-type 0xffff --dev-revision 0xffffffff --sd-req 0x64 app_dfu_package.zip

The DFU packet (dat file) should be (8+4+4+4+4+4) 28 bytes long. The app.bin inside should be small enough to fit between the old app and bootloader. Could you put the new log here?

I also tried
nrfutil dfu genpkg \
  --softdevice app.hex \
  app_dfu_package.zip

I do see a difference:
Writing image sizes (0b, 0b, 257056b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x000000000000000020ec0300, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
Data written to 00001531-1212-EFDE-1523-785FEABCD123
Start DFU (Op Code = 1, Upload Mode = 4) request sent

vs
Writing image sizes (257056b, 0b, 0b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x20ec03000000000000000000, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
Data written to 00001531-1212-EFDE-1523-785FEABCD123
Start DFU (Op Code = 1, Upload Mode = 1) request sent

but it still fails with the data size exceeded.

@philips77 I tried this
nrfutil dfu genpkg \
  --application app.hex \
  --application-version 0xffffffff \
  --sd-req 0x64 \
  --dev-type 0xffff \
  app_dfu_package.zip
  # --dev-revision 0xffffffff \

The value for dev revision seems to be a problem and I get a stacktrace.
Without it I am getting the following zip:
  257056  Stored   257056   0% 08-25-2017 14:46 9d0bdfc3  app.bin
      14  Stored       14   0% 08-25-2017 14:46 f09623f9  app.dat
     492  Stored      492   0% 08-25-2017 14:46 1e4c281f  manifest.json

but that shows 14 - not 28 bytes for the dat file. But looking at this: Given that the device has 256kb flash no wonder it doesn't fit I guess.
The log is still the same:
Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x0104, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
Writing image sizes (0b, 0b, 257056b) to characteristic 00001532-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x000000000000000020ec0300, for: 00001532-1212-EFDE-1523-785FEABCD123, type: .withoutResponse)
Data written to 00001531-1212-EFDE-1523-785FEABCD123
Start DFU (Op Code = 1, Upload Mode = 4) request sent
Notification received from 00001531-1212-EFDE-1523-785FEABCD123, value (0x): 100104
Response (Op Code = 1, Status = 4) received
Error 4: Data size exceeds limit
Writing to characteristic 00001531-1212-EFDE-1523-785FEABCD123...
peripheral.writeValue(0x06, for: 00001531-1212-EFDE-1523-785FEABCD123, type: .withResponse)
[Callback] Central Manager did disconnect peripheral
Disconnected by the remote device
Data size exceeds limit

14 is OK, I was counting hex as 2 ;) Sorry!

Well.. if your app is 257056 bytes then it may be too large to do a DFU with dual bank. Then the flash memory contains MBR (0-0x1000), SD (0x1001-?), old app (?), bootloader (?-?). The space between old app and bl is used to store the new app (second bank, in case the upload failed you still have the old one and device is working).
Try compiling your app with space optimization or... reduce functionality. I guess you can't add more flash to the hw. You may also change to single bank update, but with legacy DFU it may require flashing new bootloader as they support either dual or single bank). In secure DFU single bank is automatically on when not enough space for dual.

To check what's the maximum available size you may try to cut some bytes from your "zip" and send smaller file until it works. Then tell your fw colleges that that's the limit.

OK. So I just checked:
The hex that I was trying to flash as application is either BL+SD+APP or SD+APP - hence the size (problems). It's basically the hex used for flashing via USB. Not sure what that is supposed to look like.
I guess if I'd know the position of the various parts I could split the file and could then create the proper zip that should work for DFU via BLE.

Hi, then you are lucky. The SD can't be uploaded together with an App. You have to have 2 HEX files. If you can't get them from your fw team, you may split them manually (however it's not that trivial). If you want to upload SD(+BL) as well, you must have 2(3) hex files and then pass them to nrfutil as --application app.hex --softdevice sd.hex --bootloader.hex. It will automatically merge the SD+BL, but the app will be as a separate file, sent in the second connection. If you just update the app - that's easier, just give the --application param and it will work.

I finally got it working. The original hex file was for upload via USB. I had to manually cut out the application part. Then after creating the dat file the upload worked and so does the app.
This really needs some more documentation - but I think it's safe to close the issue for now.


chore: bump to GK 3.13

Description
What this PR does / why we need it:
Bumps testing and scripts to use GK 3.13 as default.
Removes enableExternalData flag from GK installation where GK version is specified to be >= 3.11.0
Which issue(s) this PR fixes (optional, using fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when the PR gets merged):
Fixes #995
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Helm Chart Change (any edit/addition/update that is necessary for changes merged to the main branch)
[x] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Please also list any relevant details for your test configuration

[ ] Test A
[ ] Test B

Checklist:

[ ] Does the affected code have corresponding tests?
[ ] Are the changes documented, not just with inline documentation, but also with conceptual documentation such as an overview of a new feature, or task-based documentation like a tutorial? Consider if this change should be announced on your project blog.
[ ] Does this introduce breaking changes that would require an announcement or bumping the major version?
[ ] Do all new files have appropriate license header?

Post Merge Requirements

[ ] MAINTAINERS: manually trigger the "Publish Package" workflow after merging any PR that indicates Helm Chart Change

Tests failing likely due to new GK ED response cache which has a ttl of 3 min. Working with GK team to see how we can turn off or reduce ttl via helm chart

TODO items to discuss:

Do we plan to still support 3.11 in our testing pipeline?
GK introduced an external data provider response cache in GK 3.13. This cache has a default ttl of 3 min. For our tests, there are some scenarios where we deploy the same subject image twice expecting different behaviors. We would like to reduce our TTL for GK 3.13. Currently this is not exposed as a helm parameter. I've added a check that for GK 3.13, the GK controller manager deployment is patched with an overridden ttl argument. 3.14 will have support for this in helm chart

TODO items to discuss:

Do we plan to still support 3.11 in our testing pipeline?
GK introduced an external data provider response cache in GK 3.13. This cache has a default ttl of 3 min. For our tests, there are some scenarios where we deploy the same subject image twice expecting different behaviors. We would like to reduce our TTL for GK 3.13. Currently this is not exposed as a helm parameter. I've added a check that for GK 3.13, the GK controller manager deployment is patched with an overridden ttl argument. 3.14 will have support for this in helm chart
I have some concerns with the new cache's default ttl being so large in admission scenarios. Currently, if there's a system failure (timeout of request, or some body/request parsing error) then the response will not be cached. This is good. But, if there are errors during verification operations (such as failed to pull from registry, auth failure etc) and these failures are transient, then response will still be cached. This is because the error is surfaced only in the verifier report and not as an actual 'error' in the response. From GK's perspective, this is a valid response (makes sense). But we don't want a user to wait 3 min before trying to deploy the same image again.

As discussed in community meeting on 8/30/23:

support 3 versions of GK
This is fine temporarily
Will continue to discuss.

3. en response will still be cached. This is because the error is surfaced only in the verifier report and not as an actual 'error' in the response.

Should we return an "error" instead of a verifier report then?


Dirichlet's theorem on arithmetic progressions

I would like to add Dirichlet's theorem on arithmetic progressions

Go ahead
Deadline 22 May,2021


[Refactor] Add a configure to enable and disable auto creating tablet

What type of PR is this：

[ ] BugFix
[ ] Feature
[ ] Enhancement
[x] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

If the user does not specify the tablet number upon creating a table or adding a partition, we will auto-determine the tablet distribution.
If the table exists, the user wants to use the feature. Change the enable_auto_tablet_distribution to true.
If the user wants to disable the auto distribution, specify the tablet num manually after setting enable_auto_tablet_distribution to false.

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

run starrocks_admit_test

[FE PR Coverage Check]
:heart_eyes: pass : 5 / 5 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/common/Config.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/server/LocalMetastore.java
4
4
100.00%
[]

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test


How to set up tab cycling?

Hey,
I added the key binding snippet from your docs to my user keymap in sublime but my tabs aren't folding. Tab isn't doing anything at all after that. Is there anything else I'm supposed to do?
Other than that, this is an amazing extension and I love it. Thank you for you work! :)

Oh i think that bit of doc is old.
You shouldnt have to so anything anymore for tab cycling. It should work
out of the box.
I will probably remove the mouse map to get it through review an give you a
command to add it back. It is just there to let you click on a date in the
calendar view.
Thanks for the feedback.
Ian
On Sun., Jan. 17, 2021, 2:52 p.m. Dean Gvozdic<EMAIL_ADDRESS>wrote:

Hey,
I added the key binding snippet from your docs to my user keymap in
sublime but my tabs aren't folding. Tab isn't doing anything at all after
that. Is there anything else I'm supposed to do?
Other than that, this is an amazing extension and I love it. Thank you for
you work! :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ihdavids/orgextended/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAICTCQN6POM3K7JXY7IR63S2NS3PANCNFSM4WGO7GPQ
.

Oh i think that bit of doc is old.
You shouldnt have to so anything anymore for tab cycling. It should work
out of the box.
I will probably remove the mouse map to get it through review an give you a
command to add it back. It is just there to let you click on a date in the
calendar view.
Thanks for the feedback.
Ian
On Sun., Jan. 17, 2021, 2:52 p.m. Dean Gvozdic<EMAIL_ADDRESS>wrote:

Hey,
I added the key binding snippet from your docs to my user keymap in
sublime but my tabs aren't folding. Tab isn't doing anything at all after
that. Is there anything else I'm supposed to do?
Other than that, this is an amazing extension and I love it. Thank you for
you work! :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ihdavids/orgextended/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAICTCQN6POM3K7JXY7IR63S2NS3PANCNFSM4WGO7GPQ
.

Thank you for getting back at me. I removed the key binding but now the tab key works as a normal tab key. Maybe it's one of my other plugins creating a conflict. I'll try to figure it out.

Thank you for getting back at me. I removed the key binding but now the tab key works as a normal tab key. Maybe it's one of my other plugins creating a conflict. I'll try to figure it out.

Hmmm, the Default.sublime-keymap has all the core keybindings. Perhaps the filetype is not an org file?
Perhaps the package is throwing an exception? Can you check the Ctrl-` panel?
I use custom contexts to determine the appropriate tab handler (for folding a property / link / heading / block etc)
Perhaps something in there is throwing an exception?

Hmmm, the Default.sublime-keymap has all the core keybindings. Perhaps the filetype is not an org file?
Perhaps the package is throwing an exception? Can you check the Ctrl-` panel?
I use custom contexts to determine the appropriate tab handler (for folding a property / link / heading / block etc)
Perhaps something in there is throwing an exception?

I apologize.  I cloned the repo in the packages folder instead of the packages/OrgExtended and obviously it didn't install correctly. I managed to debug everything after I started to check the console. Thank you for your support and once again, tnx for this plugin :)

I apologize.  I cloned the repo in the packages folder instead of the packages/OrgExtended and obviously it didn't install correctly. I managed to debug everything after I started to check the console. Thank you for your support and once again, tnx for this plugin :)


centos-8: build fails with missing btrfs/ioctl.h

On CentOS-8, running make would fail to build libpod regardless which system dependencies you install because it needs btrfs/ioctl.h which is not provided by any  official distro repository.
Describe the results you received:
TBH
Describe the results you expected:
Detect missing dependency and attempt to install it, with failure if it fails to sudo.

I don't think this is a job for our makefile; we need to run on multiple distributions, and the names of packages are not really consistent between them (not to mention we might be building in a minimal container without a functioning package manager). Best we can do is probably to use pkg-config to detect whether things are installed, and warn if they're not (or set build tags, if there are tags available for the feature in question). I'm under the impression that we're presently doing that for btrfs; our build-tag generation should handle that case already.

Correct
cat ./hack/btrfs_tag.sh
#!/bin/bash
cc -E - > /dev/null 2> /dev/null << EOF
#include <btrfs/version.h>
EOF
if test $? -ne 0 ; then
echo btrfs_noversion
fi

This seems to be an downstream issue, closing.


Despite removing it, once you attach a broker with outbound mapping, the operation will still get published.

Despite removing it, once you attach a broker with outbound mapping, the operation will still get published. Below find the steps to reproduce it.

Create an outbound mapping.
Attach the MQTT service broker.
create an operation and it will published to the MQTT service broker—I'm receiving messages only in the MQTT service broker.
Attach another external broker—create an operation and it will published to both the MQTT service broker and the external broker (this is the expected behavior).
Remove the external broker from the outbound mapping, save, and activate it.
If I create an operation, the message is still being published to both brokers (the MQTT service broker and the external broker).

Note - I guess it might be happening with inbound mapping as well, please validate once.

Good catch! Will try to fix it. It should only be sent to existing and active brokers.
To fix this we should remove the connector from internal maps when deactivating, removing it (I think this is currently not the case).

Fixed with release v4.5.0


add some zoo types presets

add petting zoo preset, documented since 2009, used ~600 times. A children's zoo with farm animals.
add wildlife_park preset, documented since 2017, used ~180 times. A zoo with indigenous animals in natural environment.
add safari_park preset, documented since 2017, used only ~24 times. A drive-through zoo with exotic animals.

The wildlife park seems to be mostly unknown in the USA / United Kingdom, but it is a thing in Germany, Austria, Switzerland (Wildpark), France (Parc de vision), Netherlands (Wildpark), Israel (חי-בר) maybe other countries.
So, it is difficult to find a name in English that does not collide with the Safari Park. This is the reason why I added the Safari Park preset as well, even though it is used only a few times so far - so that in English-speaking countries, Safari parks will not be incorrectly added as Wildlife parks because iD only would only know the latter.

Looks good, thanks @westnordost 👍

I adjusted the icons a bit, because having a giraffe in a petting zoo seemed funny 🦒

Cool, neat icons!
With the wiki description and pictures so well integrated, I am starting to wonder if the subtitle descriptions feature is worth the huge translation effort and possible clutter in the unexpanded search results list.
At least the former would need a very clear hint for translators that subtitles should only ever added of the name itself is not clear enough in the target language.
Am 5. Mai 2019 06:07:25 MESZ schrieb Bryan Housel<EMAIL_ADDRESS>
I adjusted the icons a bit, because having a giraffe in a petting zoo
seemed funny 🦒>

>

-- >
You are receiving this because you were mentioned.>
Reply to this email directly or view it on GitHub:>
https://github.com/openstreetmap/iD/pull/6317#issuecomment-489387946

I think the typical animal in a wildlife park would be a deer or wolf. If you don't mind, I'll change it? (and fix that broken English in the wiki description)
Am 5. Mai 2019 06:07:25 MESZ schrieb Bryan Housel<EMAIL_ADDRESS>
I adjusted the icons a bit, because having a giraffe in a petting zoo
seemed funny 🦒>

>

-- >
You are receiving this because you were mentioned.>
Reply to this email directly or view it on GitHub:>
https://github.com/openstreetmap/iD/pull/6317#issuecomment-489387946

Okay nevermind, I did not find any usable icons for deers, wolves, foxes etc


CSP Final, N@TM Retrospective | Sergi S. | Period 2

CPT Individual Review
Link to Video

Blog

The blog effectively showcases and elucidates all the efforts made.
I appreciate the way you include visual representations of your code beneath your explanations, especially how they align with the CPT guidelines.  Additionally, the practice of linking your commits alongside major features is commendable.
Functionality surpasses all the requirements set by the college board by updating a database and utilizing that data to create a leaderboard.
Just try to utilize more technical terms and explain your features more to go above and beyond for the CPT requirements.

Video

The quality of the video is impressive, and the captions are effectively synchronized with the content.
I would also suggest an ending page for your video to summarize your features as it remains on the screen after the video is playing. I think your video could also be a bit more technical to be CPT ready.
The video is easy to understand
the video does cover a majority of the subjects.
The video is of high quality, satisfying all CPT standards, and delivers information concisely with relevance to real-world use.

0.9/1 --> 1/1


TerminateThread

TerminateThread doesn't work, maybe you should look at that.

Thank you for the heads up. Doesn't work how? Is it throwing an error or just doing nothing?
Also you can copy my work, you need to include my license in your code:
https://github.com/Henry12116/hackee-dispatch/blob/master/LICENSE#L12-L13
https://github.com/cdgmx/custom_dispatch

it does nothing I guess. I tested the terminate thread but it doesn't work.
I'll try to send you some changes I made.
On Tue, Aug 18, 2020, 6:04 AM Hackee<EMAIL_ADDRESS>wrote:

Thank you for the heads up. Doesn't work how? Is it throwing an error or
just doing nothing?
Also you can copy my work, you need to include my license in your code:
https://github.com/Henry12116/hackee-dispatch/blob/master/LICENSE#L12-L13
https://github.com/cdgmx/custom_dispatch
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Henry12116/hackee-dispatch/issues/1#issuecomment-675137826,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMDFLLQYQLCUYM6IHZMEC3LSBGSOFANCNFSM4QBWB6FQ
.

Hmm I see. I think I read about TerminateThread here but it seems like this doesn't work for other people either. We can stop a thread by simply calling return or break.
Maybe create a new table that basically maps threadID --> shouldBeTurnedOff. Initialize as false for newly created threads. Then within each NPC thread, at the start check if it should be turned off. If so break. Something like this maybe:
while true do
   shouldTurnOff = tableStatuses[threadID]
   if shouldTurnOff then
        break
   end

    local plyPed = GetPlayerPed(-1)
    local plyPos = GetEntityCoords(plyPed)
    Citizen.Wait(1)
    if ESX.PlayerData.job ~= nil and table.contains( squad.EnemiesWith, ESX.PlayerData.job.name) and (GetVecDist(plyPos, squad.CentralPos) < squad.TriggerDistance) and IsShockingEventInSphere(squad.Event, squad.CentralPos.x, squad.CentralPos.y, squad.CentralPos.z, squad.TriggerDistance) then
      SpawnEnemyDispatch(squad)
      Citizen.Wait(squad.TimeBeforeUpAgain)
    end
end

Then stopAOEListener will only have to toggle the status for each thread.


Add flow framework system indices and roles

Description
Adds 2 flow-framework related roles to the plugin: read only and fully access.
Adds flow-framework system indices to demo scripts as well.
Issues Resolved
Testing
manual testing of roles
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

@amitgalitz Will flow framework be released in 2.12?

@amitgalitz Will flow framework be released in 2.12?

It will be under experimental release for 2.12


IGNITE-8570 Create lighter version of GridStringLogger

The ticket is resolved, closing PR. Feel free to reopen if needed.


Add Cursor

It's not easy to follow what other people do. Maybe add a colored cursor displaying their position?

Yea, thanks for the info, we also noticed it. But we need to wait until https://github.com/firebase/firepad/issues/181 is done to implement this.


fix: addFilter crashes/hangs the game if always returns true

Due to how filters are handled in the raycast code, if a filter on tracer always return true it would crash/hang the game, because of the infinite recursion.
Setting _maxRaycasts to a positive value (lets say 10) would "fix" the issue, but in some cases would end up cancelling tracers earlier that ignores more than 10 hits.

fixed in 2d64de6f35c1a9c8b8377b06bdb65c73312a8105


Bugfix: needextract not correctly rendering nested needs

Fixes #329

Looks good, but have to make 1-2 additional tests.
I hope I can give more feedback or merge it soon.
But overall, thanks for your commitment here. :+1:


Split Accessibility class

Get the Accessibility class ready for the bidi protocol

Accessibility doesn't have a base class


LDAPS failed

Hi there,
Please could you help us with LDAPS. In the iPSK app we get "failure" but are unable to work out why.
We have tried using the ldapsearch tool with the following result.
Thanks in advance
ldap_sasl_bind
ldap_send_initial_request
ldap_new_connection 1 1 0
ldap_int_open_connection
ldap_connect_to_host: TCP cutomerserver.LOCAL:636
ldap_new_socket: 3
ldap_prepare_socket: 3
ldap_connect_to_host: Trying serverip:636
ldap_pvt_connect: fd: 3 tm: -1 async: 0
attempting to connect:
connect success
tls_write: want=407, written=407
---- cert --
tls_read: want=5 error=Connection reset by peer
TLS: can't connect: Error in the pull function..
ldap_err2string
ldap_sasl_bind(SIMPLE): Can't contact LDAP server (-1)

@garns78 Can you uncomment lines 99 and 122 in BaseLDAPClass.php and see if it works?  Those lines being uncommented would stop the LDAP connection validation of the certificates.  This would rule out a issue with the CA being trusted.

@garns78 Did you try what I put in the last message?  If so did it solve the issue?

@garns78 closing this issue due to lack of response


Cache DNS records based on the record requested

Currently amp/dns caches records returned from the dns server indexed by their returned type instead of the requested type. that means if we look up a DNAME record and instead receive a
CNAME record, it'll be cached under CNAME, leading to amp/dns making additional
requests for the DNAME record although it received a CNAME as an alternative after the first request.
This commit changes this behavior and instead caches the record with the
requested type as the key rather than the returned type.

I guess it should store both?

@kelunik is it guaranteed that when you ask for DNAME and get a CNAME instead, that when you later ask for CNAME you'll get the same CNAME record?
if so, then sure thing. ill push an update

@Peleg I honestly don't know. Better ask @bwoebi or @DaveRandom.

I don't either, deferring to @DaveRandom ...

https://tools.ietf.org/html/rfc6672#section-3.1

Servers MUST be able to answer a query for a synthesized CNAME.  Like other query types, this invokes the DNAME, and then the server synthesizes the CNAME and places it into the answer section.  If the server in question is a cache, the synthesized CNAME's TTL SHOULD be equal to the decremented TTL of the cached DNAME.

As I read that, the short answer is yes.
The long answer, considering the wider implications, is a thing that I am going to need to think about a lot more and probably read that entire RFC through another 10+ times before I even have an opinion :-P

thanks @DaveRandom. fwiw, this commit would also apply to other record types and not just DNAME => CNAME. ie when requesting an AAAA type record and getting a CNAME in return from the server, should it be cached under CNAME and AAAA, or just under AAAA as that was the type requested?
before this commit, AAAA resolving in CNAME would only be cached under CNAME. so i doubt caching under both keys would break anything. or at least it hasn't been brought up.

Sure I understand that 👍
I'm sorry but I've not really had time to properly review this patch and the implications of it, and I'm probably not going to be able to in the next week or so, but if others are happy with it I'll defer to them.
It may make sense to have a 2-layered approach to caching - caching entire responses, so that if a response is cached for a with an exact match for the query that can be used, if that isn't present then a "record"-level cache can be used to try and build a complete response. This is complicated somewhat by the fact that some servers will transparently dereference CNAMEs in some scenarios.
That is beyond the scope of this PR though, which from a cursory look seems to stand on it's own and provide a useful change.

@DaveRandom given that it's really easy to miss small things in RFCs, I'd prefer you do it as you're probably most familiar with it of us all. It's not required that it's merged quickly, I'd rather be 100% sure it's done correctly.

I think we should just remove CNAME / DNAME requests, right?

The Amp v2 version will only query CNAME if there's no A or AAAA record and only query DNAME if there's no CNAME, I think that solves it. Additionally, negative results are cached for 300 seconds.


mgr: fix enabling of mgr module on mimic

The data structure has slightly changed on mimic.
Prior to mimic, it used to be:
{
    "enabled_modules": [
        "status"
    ],
    "disabled_modules": [
        "balancer",
        "dashboard",
        "influx",
        "localpool",
        "prometheus",
        "restful",
        "selftest",
        "zabbix"
    ]
}

From mimic it looks like this:
{
    "enabled_modules": [
        "status"
    ],
    "disabled_modules": [
        {
            "name": "balancer",
            "can_run": true,
            "error_string": ""
        },
        {
            "name": "dashboard",
            "can_run": true,
            "error_string": ""
        }
    ]
}

This means we can't simply check if item is in item in _ceph_mgr_modules.disabled_modules
the idea here is to use filter map(attribute='name') to build a list
when deploying mimic.
Fixes: #2766
Signed-off-by: Guillaume Abrioux<EMAIL_ADDRESS>

jenkins test luminous-ansible2.4-update_cluster

need a BZ to get this backported

jenkins test luminous-ansible2.4-update_cluster

jenkins test pipeline

jenkins test pipeline


Update Discord rare drop notificator

No more Osrsbox API
Only api used is osrs wiki
Sent to discord using user set endpoints
Removed warning, please advise
Cache a JSON on startup

I updated the version number to 1.4.0


Any plans to update the software?

It doesn't work anymore, it used to be the best app for e-hentai

Many libraries have discontinued support over time and  unable to fix past bugs, so I'm starting to create new ones.


[copypp] update to 0.3.0

Library name
copypp
New version number
0.3.0
Other information that may be useful (release notes, etc...)
No response

Duplicate of https://github.com/microsoft/vcpkg/pull/35797.


Gallery, widget, and Lucene error (all one related issue?)

I am running into three issues, that all may or may not be related.
First, the gallery page does not show any modules or themes. After reviewing other issues, I realized that my gallery feed link is empty. I tried to add the gallery link, but received the following error ("The url of the feed or its content is not valid."):

Second, I am also issues with widgets. Whenever I try to save a new widget, I receive the following runtime error ("Cannot perform runtime binding on a null reference"):

Third, when I build the root project for the website on visual studio, I receive the following error:
Severity Code Description Project File Line Suppression State
Error The type or namespace name 'Lucene' could not be found (are you missing a using directive or an assembly reference?) c:\Users\nkisa\AppData\Local\Temp\Temporary ASP.NET Files\root\12a3c9a5\acde505f\App_Web_1xekvbnv.0.cs 35
The website is also very slow, but it is up and running. Again, I'm not sure if these are related, but they all started happening at the same time. Please let me know if you know how to resolve/how to start resolving any or all of these issues.
Thank you!

The https cert was out of date, can you try again?


Add new checks

Provider
Resource
Description
Implemented
Released

google
google_storage_bucket_iam_member
Ensure that Cloud Storage bucket is not anonymously or publicly accessible
:x:
:x:

google
google_storage_bucket_iam_binding
Ensure that Cloud Storage bucket is not anonymously or publicly accessible
:x:
:x:

google
google_storage_bucket
Ensure that Cloud Storage buckets have uniform bucket-level access enabled
:x:
:x:

google
google_sql_database_instance
Ensure that Cloud SQL database Instances are not open to the world
:x:
:x:

google
google_sql_database_instance
Ensure SQL database do not have public IP
:x:
:x:

google
google_sql_database_instance
Ensure SQL database 'cross db ownership chaining' flag is set to 'off'
:x:
:x:

google
google_sql_database_instance
Ensure SQL database 'contained database authentication' flag is set to 'off'
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_temp_files flag is set to '0'
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_min_messages' flag is set to a valid value
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_min_duration_statement' flag is set to '-1'
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_lock_waits' flag is set to 'on'
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_disconnections' flag is set to 'on'
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_connections' flag is set to 'on'
:x:
:x:

google
google_sql_database_instance
Ensure PostgreSQL database 'log_checkpoints' flag is set to 'on'
:x:
:x:

google
google_sql_database_instance
Ensure MySQL database 'local_infile' flag is set to 'off'
:x:
:x:

google
google_sql_database_instance
Ensure all Cloud SQL database instance requires all incoming connections to use SSL
:x:
:x:

google
google_sql_database_instance
Ensure all Cloud SQL database instance have backup configuration enabled
:x:
:x:

google
google_project_iam_member
Ensure that Service Account has no Admin privileges
:x:
:x:

google
google_project_iam_member
Ensure that IAM users are not assigned the Service Account User or Service Account Token Creator roles at project level
:x:
:x:

google
google_project_iam_member
Ensure no roles that enable to impersonate and manage all service accounts are used at a project level
:x:
:x:

google
google_project_iam_member
Ensure Default Service account is not used at a project level
:x:
:x:

google
google_project_iam_binding
Ensure that IAM users are not assigned the Service Account User or Service Account Token Creator roles at project level
:x:
:x:

google
google_project_iam_binding
Ensure no roles that enable to impersonate and manage all service accounts are used at a project level
:x:
:x:

google
google_project_iam_binding
Ensure Default Service account is not used at a project level
:x:
:x:

google
google_project
Ensure that the default network does not exist in a project
:x:
:x:

google
google_organization_iam_member
Ensure no roles that enable to impersonate and manage all service accounts are used at an organization level
:x:
:x:

google
google_organization_iam_member
Ensure default service account is not used at an organization level
:x:
:x:

google
google_organization_iam_binding
Ensure no roles that enable to impersonate and manage all service accounts are used at an organization level
:x:
:x:

google
google_organization_iam_binding
Ensure default service account is not used at an organization level
:x:
:x:

google
google_kms_crypto_key
Ensure KMS encryption keys are rotated within a period of 90 days
:x:
:x:

google
google_folder_iam_member
Ensure no roles that enable to impersonate and manage all service accounts are used at a folder level
:x:
:x:

google
google_folder_iam_member
Ensure Default Service account is not used at a folder level
:x:
:x:

google
google_folder_iam_binding
Ensure no roles that enable to impersonate and manage all service accounts are used at a folder level
:x:
:x:

google
google_folder_iam_binding
Ensure Default Service account is not used at a folder level
:x:
:x:

google
google_dns_managed_zone
Ensure that RSASHA1 is not used for the zone-signing and key-signing keys in Cloud DNS DNSSEC
:x:
:x:

google
google_dns_managed_zone
Ensure that DNSSEC is enabled for Cloud DNS
:x:
:x:

google
google_container_node_pool
Ensure Container-Optimized OS (cos) is used for Kubernetes Engine Clusters Node image
:x:
:x:

google
google_container_node_pool
Ensure 'Automatic node upgrade' is enabled for Kubernetes Clusters
:x:
:x:

google
google_container_node_pool
Ensure 'Automatic node repair' is enabled for Kubernetes Clusters
:x:
:x:

google
google_container_cluster
Ensure Stackdriver Monitoring is set to Enabled on Kubernetes Engine Clusters
:x:
:x:

google
google_container_cluster
Ensure Stackdriver Logging is set to Enabled on Kubernetes Engine Clusters
:x:
:x:

google
google_container_cluster
Ensure PodSecurityPolicy controller is enabled on the Kubernetes Engine Clusters
:x:
:x:

google
google_container_cluster
Ensure Network Policy is enabled on Kubernetes Engine Clusters
:x:
:x:

google
google_container_cluster
Ensure master authorized networks is set to enabled in GKE clusters
:x:
:x:

google
google_container_cluster
Ensure Legacy Authorization is set to Disabled on Kubernetes Engine Clusters
:x:
:x:

google
google_container_cluster
Ensure Kubernetes Clusters are configured with Labels
:x:
:x:

google
google_container_cluster
Ensure Kubernetes Cluster is created with Private cluster enabled
:x:
:x:

google
google_container_cluster
Ensure Kubernetes Cluster is created with Alias IP ranges enabled
:x:
:x:

google
google_container_cluster
Ensure GKE Control Plane is not public
:x:
:x:

google
google_container_cluster
Ensure a client certificate is used by clients to authenticate to Kubernetes Engine Clusters
:x:
:x:

google
google_compute_subnetwork
Ensure that VPC Flow Logs is enabled for every subnet in a VPC Network
:x:
:x:

google
google_compute_ssl_policy
Ensure no HTTPS or SSL proxy load balancers permit SSL policies with weak cipher suites
:x:
:x:

google
google_compute_project_metadata
Ensure oslogin is enabled for a Project
:x:
:x:

google
google_compute_instance
Ensure VM disks for critical VMs are encrypted with Customer Supplied Encryption Keys (CSEK)
:x:
:x:

google
google_compute_instance
Ensure that no instance in the project overrides the project setting for enabling OSLogin(OSLogin needs to be enabled in project metadata for all instances)
:x:
:x:

google
google_compute_instance
Ensure that IP forwarding is not enabled on Instances
:x:
:x:

google
google_compute_instance
Ensure that instances are not configured to use the default service account with full access to all Cloud APIs
:x:
:x:

google
google_compute_instance
Ensure that instances are not configured to use the default service account
:x:
:x:

google
google_compute_instance
Ensure that Compute instances do not have public IP addresses
:x:
:x:

google
google_compute_instance
Ensure Compute instances are launched with Shielded VM enabled
:x:
:x:

google
google_compute_instance
Ensure 'Enable connecting to serial ports' is not enabled for VM Instance
:x:
:x:

google
google_compute_instance
Ensure 'Block Project-wide SSH keys' is enabled for VM instances
:x:
:x:

google
google_compute_firewall
Ensure Google compute firewall ingress does not allow unrestricted ssh access
:x:
:x:

google
google_compute_firewall
Ensure Google compute firewall ingress does not allow unrestricted rdp access
:x:
:x:

google
google_compute_disk
Ensure VM disks for critical VMs are encrypted with Customer Supplied Encryption Keys (CSEK)
:x:
:x:

google
google_bigquery_dataset
Ensure that BigQuery datasets are not anonymously or publicly accessible
:x:
:x:

azure
azurerm_virtual_machine
Ensure that no sensitive credentials are exposed in VM custom_data
:x:
:x:

azure
azurerm_sql_firewall_rule
Ensure no SQL Databases allow ingress from <IP_ADDRESS>/0 (ANY IP)
:x:
:x:

azure
azurerm_security_center_subscription_pricing
Ensure that standard pricing tier is selected
:x:
:x:

azure
azurerm_security_center_contact
Ensure that security contact 'Phone number' is set
:x:
:x:

azure
azurerm_security_center_contact
Ensure that 'Send email notification for high severity alerts' is set to 'On'
:x:
:x:

azure
azurerm_security_center_contact
Ensure that 'Send email notification for high severity alerts' is set to 'On'
:x:
:x:

azure
azurerm_role_definition
Ensure that no custom subscription owner roles are created
:x:
:x:

azure
azurerm_postgresql_server
Ensure 'Enforce SSL connection' is set to 'ENABLED' for PostgreSQL Database Server
:x:
:x:

azure
azurerm_postgresql_firewall_rule
Ensure no SQL Databases allow ingress from <IP_ADDRESS>/0 (ANY IP)
:x:
:x:

azure
azurerm_postgresql_configuration
Ensure server parameter 'log_connections' is set to 'ON' for PostgreSQL Database Server
:x:
:x:

azure
azurerm_postgresql_configuration
Ensure server parameter 'log_checkpoints' is set to 'ON' for PostgreSQL Database Server
:x:
:x:

azure
azurerm_postgresql_configuration
Ensure server parameter 'connection_throttling' is set to 'ON' for PostgreSQL Database Server
:x:
:x:

azure
azurerm_network_watcher_flow_log
Ensure that Network Security Group Flow Log retention period is 'greater than 90 days'
:x:
:x:

azure
azurerm_network_security_rule
Ensure that SSH access is restricted from the internet
:x:
:x:

azure
azurerm_network_security_rule
Ensure that RDP access is restricted from the internet
:x:
:x:

azure
azurerm_network_security_group
Ensure that RDP access is restricted from the internet
:x:
:x:

azure
azurerm_mysql_server
Ensure 'Enforce SSL connection' is set to 'ENABLED' for MySQL Database Server
:x:
:x:

azure
azurerm_mysql_firewall_rule
Ensure no SQL Databases allow ingress from <IP_ADDRESS>/0 (ANY IP)
:x:
:x:

azure
azurerm_mssql_server_security_alert_policy
Ensure that 'Threat Detection types' is set to 'All'
:x:
:x:

azure
azurerm_mssql_server_security_alert_policy
Ensure that 'Send Alerts To' is enabled for MSSQL servers
:x:
:x:

azure
azurerm_mssql_server_security_alert_policy
Ensure that 'Email service and co-administrators' is 'Enabled' for MSSQL servers
:x:
:x:

azure
azurerm_monitor_log_profile
Ensure that Activity Log Retention is set 365 days or greater
:x:
:x:

azure
azurerm_monitor_log_profile
Ensure audit profile captures all the activities
:x:
:x:

azure
azurerm_mariadb_firewall_rule
Ensure no SQL Databases allow ingress from <IP_ADDRESS>/0 (ANY IP)
:x:
:x:

azure
azurerm_managed_disk
Ensure Azure managed disk have encryption enabled
:x:
:x:

azure
azurerm_linux_virtual_machine
Ensure Azure Instance does not use basic authentication(Use SSH Key Instead)
:x:
:x:

azure
azurerm_kubernetes_cluster
Ensure RBAC is enabled on AKS clusters
:x:
:x:

azure
azurerm_kubernetes_cluster
Ensure Kube Dashboard is disabled
:x:
:x:

azure
azurerm_kubernetes_cluster
Ensure AKS logging to Azure Monitoring is Configured
:x:
:x:

azure
azurerm_kubernetes_cluster
Ensure AKS has an API Server Authorized IP Ranges enabled
:x:
:x:

azure
azurerm_kubernetes_cluster
Ensure AKS cluster has Network Policy configured
:x:
:x:

azure
azurerm_key_vault_secret
Ensure that the expiration date is set on all secrets
:x:
:x:

azure
azurerm_app_service
Ensure web app redirects all HTTP traffic to HTTPS in Azure App Service
:x:
:x:

azure
azurerm_app_service
Ensure web app is using the latest version of TLS encryption
:x:
:x:

azure
azurerm_app_service
Ensure the web app has 'Client Certificates (Incoming client certificates)' set
:x:
:x:

azure
azurerm_app_service
Ensure that Register with Azure Active Directory is enabled on App Service
:x:
:x:

azure
azurerm_app_service
Ensure that 'HTTP Version' is the latest if used to run the web app
:x:
:x:

azure
azurerm_app_service
Ensure App Service Authentication is set on Azure App Service
:x:
:x:

azure
azure_security_group_rule
Ensure that SSH access is restricted from the internet
:x:
:x:

azure
azure_security_group_rule
Ensure that RDP access is restricted from the internet
:x:
:x:

aws
aws_api_gateway_method
Ensure there is no open access to back-end resources through API
:x:
:x:

aws
aws_api_gateway_stage
Ensure API Gateway has X-Ray Tracing enabled
:x:
:x:

aws
aws_api_gateway_method_settings
Ensure API gateway cache data is encrypted
:x:
:x:

aws
aws_cloudtrail
Ensure CloudTrail logs are encrypted at rest using KMS CMKs
:x:
:x:

aws
aws_cloudtrail
Ensure CloudTrail log file validation is enabled
:x:
:x:

aws
aws_cloudtrail
Ensure CloudTrail is enabled in all Regions
:x:
:x:

aws
aws_db_instance
Ensure all data stored in the RDS is securely encrypted at rest
:x:
:x:

aws
aws_db_instance
Ensure all data stored in the RDS bucket is not public accessible
:x:
:x:

aws
aws_db_security_group
Ensure every security groups rule has a description
:x:
:x:

aws
aws_docdb_cluster
Ensure DocDB Logging is enabled
:x:
:x:

aws
aws_docdb_cluster
Ensure DocDB is encrypted at rest (default is unencrypted)
:x:
:x:

aws
aws_docdb_cluster_instance
Ensure DocDB is encrypted at rest (default is unencrypted)
:x:
:x:

aws
aws_dynamodb_table
Ensure Dynamodb point in time recovery (backup) is enabled
:x:
:x:

aws
aws_dynamodb_table
Ensure Dynamodb point in time recovery (backup) is enabled
:x:
:x:

aws
aws_ebs_volume
Ensure all data stored in the EBS is securely encrypted
:x:
:x:

aws
aws_ebs_volume
Ensure all data stored in the EBS is securely encrypted
:x:
:x:

aws
aws_ecr_repository
Ensure ECR image scanning on push is enabled
:x:
:x:

aws
aws_ecr_repository
Ensure ECR image scanning on push is enabled
:x:
:x:

aws
aws_ecr_repository_policy
Ensure ECR policy is not set to public
:x:
:x:

aws
aws_ecr_repository_policy
Ensure ECR policy is not set to public
:x:
:x:

aws
aws_ecs_cluster
Ensure container insights are enabled on ECS cluster
:x:
:x:

aws
aws_ecs_cluster
Ensure container insights are enabled on ECS cluster
:x:
:x:

aws
aws_efs_file_system
Ensure EFS is securely encrypted
:x:
:x:

aws
aws_efs_file_system
Ensure EFS is securely encrypted
:x:
:x:

aws
aws_eks_cluster
Ensure EKS Cluster has Secrets Encryption Enabled
:x:
:x:

aws
aws_eks_cluster
Ensure Amazon EKS public endpoint not accessible to <IP_ADDRESS>/0
:x:
:x:

aws
aws_eks_cluster
Ensure Amazon EKS public endpoint disabled
:x:
:x:

aws
aws_eks_cluster
Ensure Amazon EKS control plane logging enabled for all log types
:x:
:x:

aws
aws_eks_cluster
Ensure EKS Cluster has Secrets Encryption Enabled
:x:
:x:

aws
aws_eks_cluster
Ensure Amazon EKS public endpoint not accessible to <IP_ADDRESS>/0
:x:
:x:

aws
aws_eks_cluster
Ensure Amazon EKS public endpoint disabled
:x:
:x:

aws
aws_eks_cluster
Ensure Amazon EKS control plane logging enabled for all log types
:x:
:x:

aws
aws_elasticache_replication_group
Ensure all data stored in the Elasticache Replication Group is securely encrypted at transit and has auth token
:x:
:x:

aws
aws_elasticache_replication_group
Ensure all data stored in the Elasticache Replication Group is securely encrypted at transit
:x:
:x:

aws
aws_elasticache_replication_group
Ensure all data stored in the Elasticache Replication Group is securely encrypted at rest
:x:
:x:

aws
aws_elasticache_replication_group
as auth token
:x:
:x:

aws
aws_elasticache_replication_group
Ensure all data stored in the Elasticache Replication Group is securely encrypted at transit
:x:
:x:

aws
aws_elasticache_replication_group
Ensure all data stored in the Elasticache Replication Group is securely encrypted at rest
:x:
:x:

aws
aws_elasticache_security_group
Ensure every security groups rule has a description
:x:
:x:

aws
aws_elasticsearch_domain
Ensure Elasticsearch Domain enforces HTTPS
:x:
:x:

aws
aws_elasticsearch_domain
Ensure all Elasticsearch has node-to-node encryption enabled
:x:
:x:

aws
aws_elasticsearch_domain
Ensure all data stored in the Elasticsearch is securely encrypted at rest
:x:
:x:

aws
aws_globalaccelerator_accelerator
Ensure Global Accelerator accelerator has flow logs enabled
:x:
:x:

aws
aws_iam_group_policy
Ensure no IAM policies documents allow '*' as a statement's actions
:x:
:x:

aws
aws_iam_group_policy
Ensure IAM policies that allow full '-' administrative privileges are not created
:x:
:x:

aws
aws_iam_policy
Ensure no IAM policies documents allow '*' as a statement's actions
:x:
:x:

aws
aws_iam_policy
Ensure IAM policies that allow full '-' administrative privileges are not created
:x:
:x:

aws
aws_iam_policy_attachment
Ensure IAM policies are attached only to groups or roles (Reducing access management complexity may in-turn reduce opportunity for a principal to inadvertently receive or retain excessive privileges.)
:x:
:x:

aws
aws_iam_role
Ensure IAM role allows only specific services or principals to assume it
:x:
:x:

aws
aws_iam_role
Ensure IAM role allows only specific principals in account to assume it
:x:
:x:

aws
aws_iam_role_policy
Ensure no IAM policies documents allow '*' as a statement's actions
:x:
:x:

aws
aws_iam_role_policy
Ensure IAM policies that allow full '-' administrative privileges are not created
:x:
:x:

aws
aws_iam_user_policy
Ensure no IAM policies documents allow '*' as a statement's actions
:x:
:x:

aws
aws_iam_user_policy
Ensure IAM policies that allow full '-' administrative privileges are not created
:x:
:x:

aws
aws_iam_user_policy
Ensure IAM policies are attached only to groups or roles (Reducing access management complexity may in-turn reduce opportunity for a principal to inadvertently receive or retain excessive privileges.)
:x:
:x:

aws
aws_iam_user_policy_attachment
Ensure IAM policies are attached only to groups or roles (Reducing access management complexity may in-turn reduce opportunity for a principal to inadvertently receive or retain excessive privileges.)
:x:
:x:

aws
aws_instance
Ensure all data stored in the Launch configuration EBS is securely encrypted
:x:
:x:

aws
aws_kinesis_stream
Ensure Kinesis Stream is securely encrypted
:x:
:x:

aws
aws_kms_key
Ensure rotation for customer created CMKs is enabled
:x:
:x:

aws
aws_lambda_function
X-ray tracing is enabled for Lambda
:x:
:x:

aws
aws_lambda_function
Ensure no hard coded AWS access key and secret key exists in lambda environment
:x:
:x:

aws
aws_launch_configuration
Ensure all data stored in the Launch configuration EBS is securely encrypted
:x:
:x:

aws
aws_launch_template
Ensure Instance Metadata Service Version 1 is not enabled
:x:
:x:

aws
aws_mq_broker
Ensure MQ Broker logging is enabled
:x:
:x:

aws
aws_mq_broker
Ensure MQ Broker is not publicly exposed
:x:
:x:

aws
aws_msk_cluster
Ensure MSK Cluster logging is enabled
:x:
:x:

aws
aws_msk_cluster
Ensure MSK Cluster encryption in rest and transit is enabled
:x:
:x:

aws
aws_neptune_cluster
Ensure Neptune storage is securely encrypted
:x:
:x:

aws
aws_rds_cluster_instance
Ensure all data stored in the RDS bucket is not public accessible
:x:
:x:

aws
aws_redshift_cluster
Ensure Redshift Cluster logging is enabled
:x:
:x:

aws
aws_redshift_cluster
Ensure all data stored in the Redshift cluster is securely encrypted at rest
:x:
:x:

aws
aws_redshift_security_group
Ensure every red shift security groups rule has a description
:x:
:x:

aws
aws_s3_bucket
Ensure S3 bucket does not allow an action with any Principal
:x:
:x:

aws
aws_s3_bucket
Ensure all data stored in the S3 bucket have versioning enabled
:x:
:x:

aws
aws_s3_bucket_policy
Ensure S3 bucket policy does not allow an action with any Principal
:x:
:x:

aws
aws_s3_bucket_public_access_block
Ensure S3 bucket has ignore public ACLs enabled
:x:
:x:

aws
aws_s3_bucket_public_access_block
Ensure S3 bucket has block public policy enabled
:x:
:x:

aws
aws_s3_bucket_public_access_block
Ensure S3 bucket has block public ACLS enabled
:x:
:x:

aws
aws_s3_bucket_public_access_block
Ensure S3 bucket has 'restrict_public_bucket' enabled
:x:
:x:

aws
aws_sagemaker_notebook_instance
Ensure all data stored in the Sagemaker is securely encrypted at rest
:x:
:x:

Is there a link to said spreadsheet?

Yeah, we'll make it available soon - we need to clean it up

We are waiting :P

@michal-franc See the original post :)

aws | aws_eks_cluster | Ensure Amazon EKS public endpoint not accessible to <IP_ADDRESS>/0 - is already covered by AWS068

I would also love to see checks for Scaleway  and Hetzner.


Easy way to check if an option is set

Hi,
After reading the docs and the source, I couldn't find an easy way to check if an option is set or not.
For example, if I have this option:
string "-t", required: false
If I run without the "-t" flag but I want to check in my command if the flag is set, I can't do simply:
if options.t
I get a:
Missing hash key: "-t" (KeyError)
The only way I find is:
if options.__options__string.includes? "-t"
which is tedious to write.
Is there any other simpler solution for this?

Same question about the boolean flags, the only way I found was using options.__options__bool

Correctly, there is no way to check if an option is set. But you can safely access to unset options with ? methods.
options.string_option? # nil if unset
options.boolean_option? # false if unset

For more details, visit optarg.
Thank you.

That's exactly what I was looking for indeed. Thank you!


[BUG] Overridden components on Windows 10

Describe the bug
Overridden components (SwHeader, SwFooter, etc.) are ignored while developing on Windows 10
Steps to reproduce:

create a customized version of a default component (SwHeader);
on Windows the custom component won't be loaded, the default component will be loaded instead.

hey @fsavina, sorry for that! You check working version on canary!
Do you need it as a hotfix for stable release?

thanks @patzick, it works like a charm now!
we are working with the canary version so no rush to have it in a stable release


Example could be helpful to understand the necessary rule

I would say that an example figure as below would help customers to understand the necessary rule for BastionSubnet.

I suggest that this page have an example as above regarding the NSG rule on BastionSubnet.

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

ID: cc46ceac-e45e-6f29-dd5b-6453c614d9b2
Version Independent ID: b8b3bb83-5204-1f8b-787f-eb3da444e22e
Content: Working with VMs and NSGs in Azure Bastion
Content Source: articles/bastion/bastion-nsg.md
Service: bastion
GitHub Login: @charwen
Microsoft Alias: charwen

@KosukeHosoda
Thanks for the feedback! I have assigned the issue to content author to check and update the document as appropriate.

@charwen
Can you please check and add your comments on this doc update request as applicable.

Thank you for you dedication to our documentation.
Unfortunately, we have been unable to review this issue in a timely manner. We sincerely apologize for the delayed response. We are closing this issue. If you feel that the problem persists, please respond to this issue with additional information.
Please continue to provide feedback about the documentation. We appreciate your contributions to our community.
#please-close


Make creation not fail even if things already exist.

I want to use bits of chalice as a library which would allow deploying parts of an API even if other parts are already deployed.
In order to work in this direction I made a patch which makes the actual API creation functions run inside a try/except.  Currently it's a bit of a hack which I'm showing primarily to get comments.  If you would be interested to merge then I would be willing to clean this up as suggested.

Closing out old PR.  The internals have changed a bit so we now use swagger to generate the API, and we no longer use the low level create_rest_resource() API calls.


Add CHANGELOG.md into main files

If people fork check-my-repo it will showed up as a failed repo, as it does not contains a changelog file. Fix it by adding it to it.

Done :) https://github.com/saucelabs/check-my-repo/pull/162


Accordions should require less mark-up

Ideally adding an accordion is simple. Hopefully you aren't doing them too often, or are doing it in a templated way, but I can see people putting the HTML directly in the page.
This is all the markup (from the test) required to get one on the page:

		Accordion title

			Here is some accordion content

It is a lot! The more you put in here, the more you have to change if an update occurs.
It also could be more semantic (for the title/heading), and programatically insert some elements. Ideally the mark-up is something like:

Accordion title

		Here is some accordion content

This gives you an accordion that is:

easy to put in the page
easy to style without JavaScript, and doesn't contain links that don't do anything
supports doing something more semantic according to the structure of the rest of the page with the title (eg, a h3)

You then use JavaScript to:

add the  in the title
add the click event to the
toggle classes and set initial ARIA attributes

It is a few lines of jQuery, but a lot more in vanilla JavaScript.

The problem here is that we try to stay away from javascript frameworks and make our packages work on all of them. That requires us to think about dynamically injections and the state of things.
The markup we came up with is a fine line between convenience and compatibility. You can use it in react as well as in a jquery website.
The HTML is self correcting though once you interact with it. If you do happen to put the wrong arial role on it will be corrected once you open or close it. However we can't force people to use the right aria roles. All we can do is show the best way it should be done and go from there. We do hope a11y tests are being used to test arial roles on integration.
Having said that I like the idea of using a wrapping section tag for the accordion. That's just from the tests and the accordion can be use with any markup as long as it doesn't interfere with the styling.
So to reiterate:

Rendering HTML is impossible to manage with dynamic DOM.
We do as much as we can to correct mistakes
The accordion works in react and you can manage the state of it in your own code if you want to

Hope that gives some context.

We just had a spike with the every charming @elisechant about how we might integrate jquery and react component entry points into the uikit. We came up with a solution that gives you the ability via pancake to select those favours. That will automatically mean the accordion stays as is but will have a flavour that is jquery which means we can manipulate the DOM and add even listeners and aria rols for you. Easy.
Watch this place

The markup is what it is @mgdhs. HTML doesn't have to be lean, it should also be as OOHTML as possible.

I'm not sure React is your main target audience with the UI toolkit. Have you spoken to any of your users about this? Two versions would be great.
Maybe the title and mentioning jQuery didn't articulate the issue I have with the current implementation. Here is a better list.
1. More semantic and accessible title
 likely doesn't give enough structure to a page. "link, some content, link some content" vs "heading x with a link, some content, heading x with a link, some content".
It is also likely not accessible for the same reason.
Ideally the 'title' was an element the accordion didn't directly interact with, but it wraps the  and gets style. Example:
Accordion title
.
2. More programatic where possible
At a minimum, seeing an onclick shows that the separation of concerns has likely not been achieved. It is a bit of a flashback to 2005 JavaScript :P Why not do this through addEventListener.
This makes updating to a new version easier as it is likely to involve less HTML changes. It also gets closer to something that is easier to insert in the page - you may shudder like I do, but I bet a government department will do this.

Good points @mgdhs
Let's get through them together :)
React is a big part of our user base and we need to make sure we don't build something that stops us from transforming government. So with that in mind let's look at the semantics:

	The clickable element that will toggle the visibility of the container below

	This container has content and other bit in it. Lots of fun.

This to me is the most semantic markup for an accordion. Switch everything off, Javascript and css and you get something that works. The title links to a content bit. It scrolls there to show you what you selected. That's what we do in an accordion. We show you something... or we hide it.
We make no assumptions about your page while you can still add a headline in there if you want to.
An even better HTML markup would use  and  but that unfortunately doesn't work in all browsers and won't let us make it work in them either in an accessible way. E.g. in old browsers this will fallback to divs... no meaning :( also not clickable or even selectable.
Now let's talk about  onClick :)
Indeed we used them in the early days of web development and then moved as far away from it as possible. Today, however, we re-embrace it again in application frameworks like Angular or React. That's how fast things move... we are so far we are back where we started :)
Anyway all this exposes a couple issues I take on board now. I think it is important to have a jquery entry point and a react entry point. Both using a vanilla core that we maintain.
In detail this will look like this:

one vanilla js file with core functionality like UIKIT.accordion.Toggle() etc
one file that is jquery specific that renders an HTML element adding aria roles, and event handlers
one ES6 jsx file that makes it easy for you to add the component into your react app without making assumptions about your state management

You chose:

if you use the module in a website where jquery is available => use the jquery version and you have less HTML markup
if you use the module inside a react app (backend or front end) then use the ES6 jsx file
if you use none of the above use the vanilla way we have published so far

For us that means we provide value to the biggest two vectors we have plus we don't have to maintain two different implementations while still providing a way for others to use it.

Hey @mgdhs have a look at 56888e2. First working draft of a jquery entry point.
All files here:
https://github.com/govau/uikit/tree/feature/jquery-react/packages/accordion/tests/jquery

Hi @mgdhs
The accordion has now a jquery entry point and should be close to what you suggested.
Hope it helps


adobe_xd version isn't compatible with flutter svg package version

Bug Description
When you try to use this package now, it requires the flutter_svg ^0.21.0+1 but the flutter svg is updated to 0.21
many packages depend on flutter svg so if you try to downgrade the flutter svg version other packages will throw an error like for example the device preview package
Example in the existence of many packages ( here: adobe xd , flutter svg , device preview )
adobe_xd >=2.0.0 depends on flutter_svg ^0.21.0+1 and app_test depends on flutter_svg ^0.22.0, adobe_xd >=2.0.0 is forbidden.
So, because app_test depends on adobe_xd ^2.0.0+1, version solving failed.
pub get failed (1; So, because app_test depends on adobe_xd ^2.0.0+1, version solving failed.)
exit code 1

To Reproduce
upgrade the package to a newer version that is compatible with the newest version of flutter svg package
Versions:

XD: <IP_ADDRESS>
plugin: 3.0.0
Flutter: 2.5.1

Apologies, we've been working on defining the next sprint. I was hoping that would happen quickly and we could just tackle this there, but it has not.
I'll try to take a look at this today, and hopefully push out a fix ASAP.

I'd actually be interested in some community feedback here. Best practices suggest that we use caret syntax to avoid issues with breaking "major version" changes, but flutter_svg is still <1.0, and releases a lot of fairly minor changes as major versions (per the semantic system for <1.0).
It seems like it might be worth switching to:
>=0.21.0
This would risk incompatibilities with future versions, but given our limited exposure to the API (iirc only SvgPicture.string), that may be vastly preferable to drawing an arbitrary line in the sand for future compatibility and having the package break every release.
We could be a little more cautious and go with something like:
>=0.21.0 <2.0.0
Making the assumption that 1.0 is likely to be a direct descendant of <1.0, but that 2.0 is more likely to introduce breaking API changes.
Thoughts? @ItsYasser @FetFrumos

In the interim, I believe the best practice for this would be to use a dependency override for your project:
https://dart.dev/tools/pub/dependencies#dependency-overrides
So you could force your project to use 0.2.3 for example, which should be compatible with the current version of adobe_xd. I'll test this soon to ensure.

I've been giving this more thought, and I'm not convinced its in anyone's best interest to misrepresent our dependencies. Per the above, Flutter provides a mechanism to "properly" work around this issue.
I'll definitely test and update the supported version range in the upcoming release, and I'll also look at adding some documentation on this to the README.
Again, I'd welcome any additional thoughts on this.

Just a quick update — Adobe should be pushing a v2.0.1 update to adobe_xd soon that will update the flutter_svg dependency to ^1.0.3. Now that flutter_svg is on major versions, it should reduce the frequency of future updates causing this issue. I'll close this off once it's live.

FYI - v2.0.1 of adobe_xd is now live on pubdev.

Awsome, nice work !

Ha. Thanks! If only all issues could be resolved by changing 3 characters. :)


About'Enable awakeFromNib '

Could not find such a content，how to use 'Enable awakeFromNib',
when i use:
pod 'MSSimpleGauge',:git=>'https://github.com/sabymike/MSSimpleGauge.git', :branch=>'circlegauge'
content is the same, i'm wrong?
Hope support IB_DESIGNABLE

Sorry, I don't know what you mean by "enabling awakeFromNib". SimpleGauge will call [self setup]; in side its awakeFromNib method if thats what you mean.
I have not added support for IB_DESIGNABLE but would happily accept a pull request if you'd like to provide it.


Improve loading time for images

I have added a bot for compressing images on pull requests so that the loading time for the website is improved
Please, go through these steps before you submit a PR.

[x] My Pod Leader knows I'm working on this Pull Request
[x] I've explained what the Pull Request is adding.
[x] I've explained why this is important.

Really Good job @Pheogrammer 👏🏼 👏🏼


febs init should generate a package.json

It can just call npm init and then add properties to package.json after.

related to #22

I meant for the title to not be perscriptive but the first comment is just me quickly throwing out an idea about how to impliment. npm init may work if the febs executable were bash but I forget that its not.
Related: If we did end up making the exectuable bash it may help with #23, I definately wouldn't call it a recommendation at this point though
I wonder if we could use this: https://github.com/npm/init-package-json
and then make additional modifications by requiring the package.json file, manipulating the object and writing it back to disk, also not a recommendation but may be worth exploring for the task

Removed init in 3.0.0.


ImportError: cannot import name 'packaging' from 'pkg_resources'

Hi,
I follow the readme to create conda env:
conda env create -f conda_env[_cpu].yml
conda activate colbert

and then install colbert through:
pip install colbert-ai

but I get error:
File "/opt/conda/envs/colbert/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 25, in <module>
    from pkg_resources import packaging  # type: ignore[attr-defined]
ImportError: cannot import name 'packaging' from 'pkg_resources'

when I run from colbert import Indexer. I have checked that setuptools and packaging are both installed and I can run:
import pkg_resources
print(pkg_resources.__file__)

Any suggestions? Thanks.
Best,
Zhiyuan.

problem solved after downgrad setuptools from 70 to 69.5.1.


How to avoid section's value can't be zero?

Hi,
After upgrade to version 0.35.0 I receive section's value can't be zero (which is expected as it's breaking change from 0.30.0 to 0.35.0), because in some cases section.value is 0.
What should I do if I want to show 0 value on chart?
FlChart 0.30.0:

For example, I use a chart (https://github.com/imaNNeoFighT/fl_chart/blob/master/example/lib/pie_chart/samples/pie_chart_sample2.dart) with 2 predefined sections and one section can be 0.
If I use ternary operation value: myValue != 0 ? myValue : null, the error goes away, but chart's look is incorrect in this case (code below):

When value is 1, for example:

Versions
Flutter: 2.0
FlChart: 0.35.0
double myValue;

return PieChartSectionData(
            color: const Color(0xff0293ee),
            value: myValue,
            title: myValue.toString(),
            radius: radius,
            titleStyle: TextStyle(
                fontSize: fontSize, fontWeight: FontWeight.bold, color: const Color(0xffffffff)),
          );

double myValue;

return PieChartSectionData(
            color: const Color(0xff0293ee),
            value: myValue != 0 ? myValue : null ,
            title: myValue.toString(),
            radius: radius,
            titleStyle: TextStyle(
                fontSize: fontSize, fontWeight: FontWeight.bold, color: const Color(0xffffffff)),
          );

Okay fair enough.
We remove the exception. And allow you to pass zero value.
Instead we remove those zero sections from output internally.

Thanks! 👍