Coloris does not call the onChange event if the mouse is released outside the colorArea

Describe the bug
The picker does not trigger the onChange event when the mouse is released outside the colorArea.
To Reproduce
Steps to reproduce the behavior:

Open the picker
Press the mouse down inside the colorArea
Drag the mouse cursor outside the colorArea
Release the mouse
onChange is not triggered

Expected behavior
onChange should be triggered, just as it does when the mouse is released inside the colorArea.

Hello, thank you for reporting.
onChange will fire whenever the color value changes. In this case, the last mousemove will trigger onChange even if the mouseup on document doesn't trigger it. Is this not enough for your use case? Could you describe a case where this is not enough?

I don't think my use-case is relevant in this matter. I created this bug report mainly because if a callback is defined in the library's API, it should work consistently. In this case, it sometimes works and sometimes doesn't. The mouseup event should either always trigger the onChange event or never trigger it at all, no? You can of course reject and close this bug report if you don't agree, no harm done 😊

When you say "it sometimes works and sometimes doesn't", what is the practical deficiency you experience when "it doesn't work"? I don't mind fixing a real bug that has a real effect in the real world, but I'm not going to waste my time chasing after some misplaced idea of consistency. Please describe a problem you are encountering with this color picker or close this issue.
Thanks.


[Bug]: Remote debugger does not render image data correctly, due to Uint8Array getting messed up by JSON.stringify

What happened?
I was trying to get GPT-4 to draw using SVGs, and preview the output in Rivet. However, the render was failing. Specifically, I had written an externalFunction for converting from SVG text to PNG image. In the Rivet UI, the value.data field that should have been a Uint8Array was coming back as an object with numeric keys (eg. {0: 137, 2: 80, 3: 78, ...}).
This seems to be a symptom of JSON.stringify, when it is used to encode the data object to send over the websocket.
What was the expected functionality?
I expected the PNG image to render in the node output section.
Describe your environment
MacOS, Node 20.0.0, etc.
Relevant log output
No response
Relevant screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

I have a patch for useCurrentExecution, sanitizeDataValueForLength, which converts from the stringified Uint8Array back into a Uint8Array. I think this is the right direction for a fix, because the issue is only in the remote debugger websocket communication AFAIK.

Fixed in #189, we'll save the full refactor for later...


[match] Fixed spelling mistakes

Follow up to https://github.com/fastlane/fastlane/pull/4499#issuecomment-219335130

👍


[FEA] Support In and InSet on nested Structs

Is your feature request related to a problem? Please describe.
As a part of our push for more struct support I filed https://github.com/rapidsai/cudf/issues/8965 to support the underlying functionality in cudf.  This should just update the tests and verify that it all works once the dependency is done.

Cudf dependecy is resolved. Now we can start working on this.


Confusion in SDK's Handling of MerchantPageDTO and MerchantDTO

Description
There appears to be a potential misunderstanding or error in how MerchantPageDTO and MerchantDTO are used and documented in the SDK. Specifically, the API method searchMerchant is documented to return Result<MerchantPageDTO>, which seems like something you'd expect, but is misleading given the structure and inheritance of MerchantPageDTO and MerchantDTO.
Issue Details

MerchantPageDTO is expected to represent a paginated dataset of merchants, as suggested by its naming convention. However, it does not contain a dataset or list of MerchantDTO objects. Instead, MerchantPageDTO only includes individual merchant attributes and is extended by MerchantDTO.
The SDK method searchMerchant suggests it returns a Result<MerchantPageDTO>, but based on typical API and pagination patterns, one would expect this method to return a paginated response containing multiple MerchantDTO objects, as documented in the example response (200 OK).
This creates confusion and may lead to incorrect implementation or usage of the SDK.

Expected Behavior
Ideally, MerchantPageDTO should either:

Be renamed to better reflect its role as a base class for an individual merchant's data, not a paginated response, and not be used in searchMerchant method, and another DTO should be created for that.
Be adjusted to actually represent a paginated response containing multiple MerchantDTO objects if that was the original intent.

Suggested Fix

All the properties, getters and setter from MerchantPageDTO should be moved to MerchantDTO
MerchantDTO should no longer inherit from MerchantPageDTO
MerchantPageDTO should be a DTO that contains a dataset/list of MerchantDTO objects
Ideally, searchMerchant method would be renamed to searchMerchants
Synchronize the documentation and method signatures in the SDK to accurately reflect the data structures being returned and handled

Steps to Reproduce

Call the searchMerchant method with standard pagination parameters.
Observe the returned Result<MerchantPageDTO> and note the lack of pagination handling or dataset encapsulation typically expected in such responses.

Possible Solutions

If MerchantPageDTO is meant to represent a single merchant, rename and refactor accordingly, and adjust the SDK to return a more appropriately named class for paginated responses.
If a paginated list of merchants was intended, refactor MerchantPageDTO to include a List<MerchantDTO> or similar dataset and adjust all related API methods to handle this correctly.

Over a month since posting this and not even a comment? Has anyone else had this issue? Better yet, has anyone successfully implemented this part of the SDK?


Quiz exercises: The deadline information is adding extra time (5 seconds)

Describe the bug
Five seconds are being added to the deadline for Quiz exercises.
To Reproduce

Go to Course Manager
Click on any course
Scroll down to Quiz exercises
1st case:
Verify that now all quizzes have 5 seconds more in the deadline (Screenshot 1)
Create a new quiz, save it and verify in the list of exercises of the course that the deadline has 5 seconds more (Screenshot 2 and 3)

Expected behavior
The quiz exercise should not add those 5 seconds extra.
Screenshots
Screenshot 1:

Screenshot 2:

Screenshot 3:

What browsers are you seeing the problem on?
Chrome
Additional context
No response
Relevant log output
No response

I think this "5 extra seconds" is on purpose.


User profile OG cards doesn't show up properly

for example https://nft.kodadot.xyz/rmrk/u/J6mwrrDE5ZywDe8T4mWgsdgHCcrDcrVtoGh37i7PSaZARRs
when you try through https://cards-dev.twitter.com/validator
or https://t.me/@WebpageBot
Doesn't show anything.
Let's make it to show recent user mint in their collection to make it a bit random and recent.
In Description show user address or Twitter identity if available
Seems extra } is there

In views/Profile.vue,
get firstNFT()

need to return first nft (nft[0]) metadata image.
I'm new to the project, Is there any utils that we can call from the view to read ipfs data?
By the way extra '}' is at the end of the line 224.

Hmm it's not so easy at this point because nfts from subquery does not have image, only metadata.

Is there any utils that we can call from the view to read ipfs data?
yup

import { fetchNFTMetadata } from '@/components/rmrk/utils';

const nftMeta = await fetchNFTMetadata(nft[0])
const image  = nftMeta.image;


[Task]: How to perform data enhancement in custom datasets

What is the motivation for this task?
data enhancement in custom datasets
Describe the solution you'd like
Some effective data enhancement methods such as UDA can be performed
Additional context
NOPE

You can try custom transforms. Although most anomaly detection papers do not use transforms at all because more robust models can be actually worse at detecting anomalies.

just like this
eval_transform = Compose(
[
v2.Resize((256, 256), antialias=True),
v2.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
],
)
datamodule = Folder(
name= 'bottle',
# root=dataset_root,
normal_dir="good",
abnormal_dir="test",

normal_split_ratio=0,
mask_dir=None,
# mask_dir=None,
train_batch_size = 1,
# eval_batch_size=1,
num_workers=8,
train_transform = eval_transform,
eval_transform = eval_transform,

test_split_mode=TestSplitMode.NONE,

task="segmentation",

)


pyproject(ruff): Add pydocstyle rule selector w/ numpy convention

Appendix

https://www.pydocstyle.org/en/stable/
https://docs.astral.sh/ruff/settings/#pydocstyle

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

Comparison is base (68ccdbb) 100.00% compared to head (8f0984b) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #380   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            9         9
  Lines           84        84
  Branches         6         6
=========================================
  Hits            84        84

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


fix mistakes

@cloud-fan, the reason why the commands in SparkSqlParser like CREATE TABLE LIKE had different logic is because of the differences in behavior. Since we plan to move those to v2, I thought it made more sense to get them working and not worry so much about code reuse.
I would be fine reverting your changes for those commands. I assumed that you had tested your changes the last time and had made sure that everything was passing. Did you test your changes this time? I'll merge after you confirm that these fixes work.

The current PR diverges from my previous local branch and is unfortunately not fully tested (I did run several DDL tests locally before submitting this PR).
Regarding CREATE TABLE LIKE, I've created a JIRA to track it: https://issues.apache.org/jira/browse/SPARK-33546 .


SlickNav Not Working

I have spent hours trying to get SlickNav to work but to no avail. I'm also keen to know why the included demo file doesn't work either, see link below. Any advice will be greatly appreciated.
http://www.ikom.com.au/menu_slicknav/demo/index.html

Your demolink works for me. Resize your browser and you'll see the mobile menu.


Add Discord Bot

Implement Discord Bot using Discord.Net.

For the Commands, Discord.NET has a particular way to implementing them using what they call Modules.
But in this case we're going to follow the pattern in TelegramCommandHandlerService.cs

For the Commands, Discord.NET has a particular way to implementing them using what they call Modules.
But in this case we're going to follow the pattern in TelegramCommandHandlerService.cs


Make consul auto configuration conditional

In some cases it's desirable to disable Consul auto configuration. For example, when running a service that uses spring-cloud-consul-config, you currently have to have a Consul server running or the application context fails to load. It would be nice to be able to disable the Consul auto configuration in these cases.
This PR uses @ConditionalOnProperty(name = "consul.enabled", matchIfMissing = true) to trigger creation of the various Consul components.

Also, I work for SAS Institute and we've signed the contributor agreement, so if this PR is satisfactory you should be safe to pull it. If it's missing anything or you prefer a different approach, please let me know and I may be able to implement it.

Would you prefer I submit this on master? I picked this branch because at the time this was where you were working, but I see you're moving master forward, too.

yeah, master would be better.  consul-client is me replacing my own partial consul client with a more fully featured one.

Closing in favor of #7 against branch master


ES-1589 Allow a user to trigger the e2e tests via a comment on corda-runtime-os PR

rebuild

rebuild

rebuild

rebuild

rebuild

build e2e

build e2e

build e2e


Does reconnect work on a BOSH connection?

How does reconnect work on a client?
I have the following setup:
    this.xmppClient = new XmppClient.Client({
      autostart: false,
      jid: userContext.jabberId,
      password: userContext.password,
      reconnect: true,
      bosh: {
          url: xmppBoshServerUrl
      }
    });

and if my connection is dropped (pull cable) and then put back, I'm getting an error from the server (404 Invalid Sid) and no reconnect is attempted.
The sequence I see is:

Error is received
Disconnect Event
Offline Event
Close Event
End Event

In what cases does reconnect happen?

Reconnect should work automatically, if it doesn't it's a bug.

I'm running into reconnect problems as well. When I force halt and restart my vagrant VM running ejabberd, even with a very long reconnect option, the client just exits 0 after a couple seconds. Not even any additional status events emitted before it exits.

Anybody found any work around on it?


[AutoPR containerinstance/resource-manager] Container Instance October Swagger

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/4058

(message created by the CI based on PR content)

This PR has been merged into https://github.com/Azure/azure-sdk-for-python/pull/3489


Request to add a way to set Ad Unit ID for Native Ads

Currently, I don't see a way to do it. Thanks again for developing this great pugin!

You can set them when initializing. See Initializing.
You can use a controller to set your own unit id to load the ads. See Using the controller

On the next version, there'll be a parameter called unitId in the NativeAd constructor.

You can set them when initializing. See Initializing.
You can use a controller to set your own unit id to load the ads. See Using the controller

On the next version, there'll be a parameter called unitId in the NativeAd constructor.

Sorry I forgot to mention specifically to set ad unit ids individually. But thanks for pointing out it's possible via Controller. Would be great if you could just set it in it's widget parameter though.

Would be great if you could just set it in it's widget parameter though.

I just published a new version that adds this possibility: v0.9.3

Would be great if you could just set it in it's widget parameter though.

I just published a new version that adds this possibility: v0.9.3

Great update! thank you


feat(connector): [NMI] Implement webhook for Payments and Refunds

Type of Change

[ ] Bugfix
[x] New feature
[x] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Includes webhook for payment as well as refund
Includes refactoring of sync using reference id

Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Create a merchant account:
{     "merchant_id": "merchant_{{$timestamp}}",     "locker_id": "m0010",     "merchant_name": "NewAge Retailer",     "merchant_details": {         "primary_contact_person": "John Test",         "primary_email"<EMAIL_ADDRESS>        "primary_phone": "sunt laborum",         "secondary_contact_person": "John Test2",         "secondary_email"<EMAIL_ADDRESS>        "secondary_phone": "cillum do dolor id",         "website": "www.example.com",         "about_business": "Online Retail with a wide selection of organic products for North America",         "address": {             "line1": "1467",             "line2": "Harrison Street",             "line3": "Harrison Street",             "city": "San Fransico",             "state": "California",             "zip": "94122",             "country": "US"         }     },     "return_url": "https://google.com/success",     "webhook_details": {         "webhook_version": "1.0.1",         "webhook_username": "ekart_retail",         "webhook_password": "password_ekart@123",         "payment_created_enabled": true,         "payment_succeeded_enabled": true,         "payment_failed_enabled": true     },     "routing_algorithm": {         "type": "single",         "data": "nmi"     },     "sub_merchants_enabled": false,     "metadata": {         "city": "NY",         "unit": "245"     },     "primary_business_details": [         {             "country": "US",             "business": "default"         }     ] }
Update the merchant account:
{     "merchant_id": "{{merchant_id}}",     "webhook_details": {         "webhook_version": "1.0.1",         "webhook_username": "ekart_retail",         "webhook_password": "password_ekart@123",         "payment_created_enabled": true,         "payment_succeeded_enabled": true,         "payment_failed_enabled": true,         "webhook_url": "{{webhook_url}}"     } }
Create a Payment Connector(NMI):
{     "connector_type": "fiz_operations",     "connector_name": "nmi",     "connector_account_details": {         "auth_type": "BodyKey",         "api_key": "{{api_Key}}",         "key1": "{{public_key}}"     },     "test_mode": false,     "disabled": false,     "payment_methods_enabled": [         {             "payment_method": "card",             "payment_method_types": [                 {                     "payment_method_type": "credit",                     "card_networks": [                         "Visa",                         "Mastercard"                     ],                     "minimum_amount": 1,                     "maximum_amount": 68607706,                     "recurring_enabled": true,                     "installment_payment_enabled": true                 },                 {                     "payment_method_type": "debit",                     "card_networks": [                         "Visa",                         "Mastercard"                     ],                     "minimum_amount": 1,                     "maximum_amount": 68607706,                     "recurring_enabled": true,                     "installment_payment_enabled": true                 }             ]         },         {             "payment_method": "pay_later",             "payment_method_types": [                 {                     "payment_method_type": "klarna",                     "payment_experience": "redirect_to_url",                     "minimum_amount": 1,                     "maximum_amount": 68607706,                     "recurring_enabled": true,                     "installment_payment_enabled": true                 },                 {                     "payment_method_type": "affirm",                     "payment_experience": "redirect_to_url",                     "minimum_amount": 1,                     "maximum_amount": 68607706,                     "recurring_enabled": true,                     "installment_payment_enabled": true                 },                 {                     "payment_method_type": "afterpay_clearpay",                     "payment_experience": "redirect_to_url",                     "minimum_amount": 1,                     "maximum_amount": 68607706,                     "recurring_enabled": true,                     "installment_payment_enabled": true                 }             ]         }     ],     "metadata": {         "city": "NY",         "unit": "245"     },     "business_country": "US",     "business_label": "default" }
Update the payment connector:
{     "connector_type": "fiz_operations",     "connector_webhook_details": {         "merchant_secret": "{{webhook_secret_key}}"     } }
Create a non 3ds payment with NMI:
{   "amount": 18000,   "currency": "USD",   "confirm": true,   "capture_method": "automatic",   "capture_on": "2022-09-10T10:11:12Z",   "customer_id": "StripeCustomer",   "email"<EMAIL_ADDRESS>  "name": "John Doe",   "phone": "999999999",   "phone_country_code": "+65",   "description": "Its my first payment request",   "authentication_type": "no_three_ds",   "return_url": "https://google.com",   "setup_future_usage": "off_session",   "billing": {     "address": {       "line1": "1467",       "line2": "Harrison Street",       "line3": "Harrison Street",       "city": "San Fransico",       "state": "California",       "zip": "94122",       "country": "US"     }   },   "browser_info": {     "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36",     "accept_header": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",     "language": "nl-NL",     "color_depth": 24,     "screen_height": 723,     "screen_width": 1536,     "time_zone": 0,     "java_enabled": true,     "java_script_enabled": true,     "ip_address": "<IP_ADDRESS>"   },   "shipping": {     "address": {       "line1": "1467",       "line2": "Harrison Street",       "line3": "Harrison Street",       "city": "San Fransico",       "state": "California",       "zip": "94122",       "country": "US",       "first_name": "John",       "last_name": "Doe"     }   },   "statement_descriptor_name": "joseph",   "statement_descriptor_suffix": "JS",   "metadata": {     "udf1": "value1",     "new_customer": "true",     "login_date": "2019-09-10T10:11:12Z"   },   "payment_method": "card",   "payment_method_type": "credit",   "payment_method_data": {     "card": {       "card_number": "4111111111111111",       "card_exp_month": "10",       "card_exp_year": "25",       "card_holder_name": "joseph Doe",       "card_cvc": "999"     }   } }

You should recieve the webhook in your endpoint
Both payment and refund is supported

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

https://github.com/juspay/hyperswitch/tree/feat_nmi_webhooks
I had previously implemented webhooks for this connector when we did not had proper access to their dashboard.
I'll delete the branch.


Dependency package jwt-decode has a new version available

We have identified a dependency on version 3.1.2 of jwt-decode. A new version (4.0.0) is available for upgrade.
Following are the steps to upgrade package dependency.

Understand the breaking changes between the version being used and the version you want to upgrade to.

Identify all packages that take a dependency on this package.

Go to the root folder for each such package (/sdk/service-name/package-name) and update package.json to have the new version.

Run rush update to ensure the new version is pulled in.

Make relevant changes to absorb the breaking changes.

Repeat steps 3 to 5 for each of the packages that have a dependency on this package.

Closed as per https://github.com/Azure/azure-sdk-for-js/pull/27734


Corpus doesn't actually need QuickCheck

Would be good to use it for test data generation as well without having to depend on QuickCheck.

:+1:

:shaved_ice:


gpiodriver_set_int does not allow to set interrupt for pin 2

Hello,
I was trying to play around with Interrupt Handling on my ESP32. I did run the example form documentation, and I'm getting error as an return value from gpio:set_int/3 every time.
After long debugging, I found out that the  gpiodriver_set_int  fails at step when it checks for term_is_integer.
term_is_integer receives my pin 2 as just 0x02 binary, and fails the test for being integer.
I'm no expert on the way terms are managed in the atomvm and if the term_is_integer is correct.
Is the term here passed in the wrong format for some reason, or is the function not doing the check properly ?
My code is:
start() ->
    Pin = 2,
    GPIO = gpio:open(),
    gpio:set_direction(GPIO, Pin, input),
    io:format("Setting interruption for : ~p~n", [Pin]),
    Result = gpio:set_int(GPIO, Pin, rising),
    io:format("When setting pin ~p interrupt got: ~p~n", [Pin, Result]),

And getting that as an result:
Setting interruption for : 2
When setting pin 2 interrupt got: error

If this is an esp32 classic, then pin 2 is the en/reset pin. This is not a valid gpio input pin, it is used to disable the cpu if it is physically pulled low.

One of the open issues is to make the return errors for the esp32 match other platforms by returning {error, Reason}, which would make this marginally more helpful because it would return {error, badarg}, perhaps we should also add better console logs when an error is returned.

I will look into this. At a glance the code around checking the pin in gpiodriver_set_int looks fine, but the way the trigger term is handled looks highly suspicious to me.

https://github.com/atomvm/AtomVM/pull/1258 fixes this issue

It should be safe to close this now. #1258 was merged, it just did not include a closes tag to close it automatically.


BUG - unable to de-select connection

After selecting a connection on the map a new box appears at the bottom. that box then stays stuck there even after selecting something else, even when selecting a system instead of another connection. The only way to de-select a connection seems to be reloading the page.
version 1.3.1

You can deselect a connection by ctrl + click it again. Some works for selecting multiple sonnections


[DOC] Broken link in param_tuning.md

A link to Parameters Documentation is broken and leads to 404 page.

Old question, no answer. Closing


No CDN?

I tried to use the github raw text, but it interpreted it as plain text, so i would appreciate a link to a cdn for my webpage.

I have not personally tested this, but Push is available on CDNJS:
https://cdnjs.com/libraries/push.js
(or if you don't feel like visiting the link, just use https://cdnjs.cloudflare.com/ajax/libs/push.js/0.0.8/push.min.js for version 0.0.8, which is the latest release).
Also, I thought I tried using Github raw text and it worked. Just out of curiosity, how were you implementing it?

I used "" (without quotes)

Hmm, yeah, testing now I see that is doesn't seem to work. It might have to do with the fact the library is wrapped in one big self-executing function. Regardless, there is a CDN for it so I hope it works for you :)


Add flake8 check to jenkinsfile

Is this still required with work being done on a generic Jenkinsfile for modules?

No. This can be closed.


Increase minimum supported iOS version from 8.0 to 9.0

Xcode 14 dropped support for deploying to iOS 8.0.  Minimum supported version is 9.0.
Warning in Xcode:
The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99.

Update template IPHONEOS_DEPLOYMENT_TARGET to 9.0.

My iPhone 4s is running 9.3.6.

@jmagman would the only change need to be the MinimumOSVersion key in the flutter_tools template?

From https://github.com/flutter/flutter/pull/61306#issuecomment-657696930

Adopting 9.0 would require changing in more places, like all usages of IPHONEOS_DEPLOYMENT_TARGET, plugin podspec templates that set s.platform = :ios, '8.0' , auditing for -miphoneos-version-min=8.0 and a bunch more places
We're evaluating how to address #60035 at the moment (whether we should drop 8.0 support or suppress the warning).

Do we need a separate bug to track migrations for existing apps?

Do we need a separate bug to track migrations for existing apps?

https://github.com/flutter/flutter/issues/62880


Use Let's Encrypt Certificates on MQTT Brokers

Currently the public MQTT brokers use TLS certificates that are signed by a CA that is not globally trusted (The Things Network CA). This requires MQTT clients to download the root cert in order to be able to connect to MQTT.
If we'd use Let's Encrypt certificates, many clients would already trust the server because Let's Encrypt is now in the OS's list of trusted roots.
We can easily start doing this for the MQTT brokers on the gateway side, but for the application side, we have to come up with some way to transition to Let's Encrypt certificates without breaking existing clients.
Note that the existing (temporary, TTN CA signed) MQTT certs expire in August this year

Let's Encrypt is now enabled on all gateway-facing MQTT brokers.

Do I need to set up the Let's Encrypt certificates for MQTT brokers that are receiving packets via the TTN-gateway-bridge?  A MQTT broker without a server certificate is currently working fine with the TTN-gateway-bridge.   Is it required only for gateways using the new gateway protocol using MQTT?

I have an additional question regarding the certificate's valid period.
Let's Encrypt certificates are valid for 90 days.  Do you plan to restart all MQTT brokers when you renew the Let's Encrypt certificates every 60 days or 80 days?

Regarding your first question: You don't have to set up Let's Encrypt certificates (or any certificates at all). Plain MQTT (without TLS) is available on port 1883. TLS is on port 8883. Almost all gateway implementations that use MQTT do not have TLS enabled yet, so nothing has to be changed there.
Regarding your second question: correct, we make sure the MQTT brokers automatically reload their config after the certificates have been renewed.

Done
https://status.thethings.network/incident/14
https://www.thethingsnetwork.org/forum/t/secure-mqtt-apis-now-using-lets-encrypt-certificates/8774


bug: different behavior with different delay when pressing g key in normal mode

Check the following:

[X] I have checked the behavior after setting "vscode-neovim.neovimClean" in VSCode settings.
[X] I have read the vscode-neovim docs.
[X] I have searched existing issues.

Neovim version (nvim -v)
0.9.1
Operating system/version
ubuntu 22.04
Describe the bug
i found any command in normal mode starts with g cause different behavior with different delay,
for instance, if i want to comment a line, if i press 'gcc' fast enough, everything works,
but if i press gcc very slow, e.g., 2 second between each char, then it does not comment the code
Steps To Reproduce
normal mode, press 'g c c' with 2 second delay in-between each char, no line commented, rather it enters the operation mode
Expected Behavior
normal mode, press 'g c c' with 2 second delay inbtween each char, shoudl also comment the line

:h timeoutlen
timeoutlen
Please learn the basic knowledge of Vim.


Update retry logic in BasePromptDriver

Using tenacity, updated the BasePromptDriver retry logic.
Tag: Issue 51

Unable to run anymore tests on Github. Missing information on how to run tests locally.  Data movement - some base methods are using default values, some are using kwargs.

Missing information on how to run tests locally.

Thanks for the PR! You should be able to run tests by just running pytest in the framework directory.


WIP/feedback request: add SSB tale:net

Motivation for this change
Opening this as a source-version of #46062 and to gather feedback on the approach. I'm still fairly novice in writing nix expressions and derivations but @NinjaTrappeur suggested I take over patchwork since I'm familiar with the project as a whole and have built an electron client myself. @samueldr also suggested in this comment that a source version would be preferable.
tale:net is not http://github.com/ssbc/patchwork/ but very similar in architecture and spirit. They are both based on http://scuttlebutt.nz/ and are electron apps. Once I figure out the remaining questions, I can adapt the same recipe for patchwork and patchbay
Also: This depends on #45997 but could be decoupled. I thought it would just be easier to test this with both new packages present.
ps: See #46000 for two standalone tools without electron
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Question:

Is the node2nix sub package approach sane?

Previously, I just used this shell.nix to develop. In it, I can run npm i && npm run build (which is an alias for node .electron-vue/build.js && electron-builder) and run dev to make builts and development versions.
I discussed with @NinjaTrappeur that this invovles fetching a pre-built electron version from npmjs.com. I'd rather not do this.
In principle it is enough to run node .electron-vue/build.js && cd ./dist/electron && electron . and this can work on archlinux, when all the node and electron ABI versions correctly line up.
I'm having trouble understanding how to do the npm i && node .electron-vue/build.js  with node2nix, though. I generated the env from the source package.json and made some changes to it so that it doesn't import nixpkgs twice. The output looks fine but I'm not sure yet how to copy node_modules into this out/ or if I should run the node .electron-vue/build.js in the embedded node env.

re #45997: is propagateBuildInputs the correct method to have this package as a runtime-dependency to talenet or should add something to the fixupPhase of the node-env?

Are there any updates on this pull request, please?

Sadly no. This project isn’t under active development currently.


SPARK-18113 Authorize duplicate requests to commit

Derived from suggestion at https://issues.apache.org/jira/browse/SPARK-18113?focusedCommentId=15608015&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-15608015
How was this patch tested?
Currently untested

👍 looks fine/sane. Not sure how to test but that's probably ok?


No explanation what a moveable variable is

This is unusable without an explanation of when the fixed statement is required.

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

ID: 14452873-5f06-e22b-535f-60ae89c6ee77
Version Independent ID: 1b009b50-abb9-6171-93c5-f146e4790c72
Content: How to: obtain the address of a variable - C# Programming Guide
Content Source: docs/csharp/programming-guide/unsafe-code-pointers/how-to-obtain-the-address-of-a-variable.md
Product: dotnet-csharp
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for your feedback @henke37. Do you think that adding a link to https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/unsafe-code#fixed-and-moveable-variables for more information would help in this case?

That's a great explanation for the rules. The link would definitively clear this up.

Cool. I've created a PR to fix this: https://github.com/dotnet/docs/pull/11577


.fzf/install fails to install if .bashrc changes from previous installation are commented out

[X] I have read through the manual page (man fzf)
[X] I have the latest version of fzf (0.46.1 (3c0a630))
[X] I have searched through the existing issues

Info

OS

[X] Linux

Shell

[X] bash

Problem / Steps to reproduce
I was reinstalling fzf after deciding my package manager's version was too far out of date.
I just commented out fzf's .bashrc changes like so:
#  Comment out fzf changes; let new install redo in case something has changed
#  Original changes:  - [ -f ~/.fzf.bash ] && source ~/.fzf.bash

When running ~/.fzf/install again, I got the message:
 - [ -f ~/.fzf.bash ] && source ~/.fzf.bash
    - Already exists: line #189

Unfortunately, the message was correct, the text was there, but install did not notice that the text was commented out.
Since the required changes were "already there," install did not make the required changes to insert fzf into the PATH, load completion, and set key bindings.  IOW, even though install went through all the steps without error, not noticing that the required text was commented out made the install "fail."
After looking at  append_line() in the install script, I determined that attempting to submit a pull request for a fix would probably  waste more of everyone's time than just reporting the issue.

Thanks for the report. Do you think it would make sense to look for the pattern that is not preceded by #?
diff --git a/install b/install
index 5d031fd..3ca5a80 100755
--- a/install
+++ b/install
@@ -311,7 +311,7 @@ append_line() {
     if [ $# -lt 4 ]; then
       lno=$(\grep -nF "$line" "$file" | sed 's/:.*//' | tr '\n' ' ')
     else
-      lno=$(\grep -nF "$pat" "$file" | sed 's/:.*//' | tr '\n' ' ')
+      lno=$(\grep -n "$pat" "$file" | sed 's/:.*//' | tr '\n' ' ')
     fi
   fi
   if [ -n "$lno" ]; then
@@ -349,7 +349,7 @@ echo
 for shell in $shells; do
   [[ "$shell" = fish ]] && continue
   [ $shell = zsh ] && dest=${ZDOTDIR:-~}/.zshrc || dest=~/.bashrc
-  append_line $update_config "[ -f ${prefix}.${shell} ] && source ${prefix}.${shell}" "$dest" "${prefix}.${shell}"
+  append_line $update_config "[ -f ${prefix}.${shell} ] && source ${prefix}.${shell}" "$dest" "^[^#]*${prefix}\.${shell}"
 done

 if [ $key_bindings -eq 1 ] && [[ "$shells" =~ fish ]]; then

"preceded by a '#'" is not going to be 100% reliable -- if the "#" is inside any kind of quotes, it probably doesn't comment out anything in the current file but that's probably pretty nasty to regex around.
As the old saying goes:

Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

That's why I declined to attempt a patch.
That said, even just looking for a '#' as the first non-whitespace character of the line would have covered my case and would almost certainly handle 99% of these issues because I'm sure most of them are just like mine and for the same reason.  I just commented it out with a "#" as the first character on the line without touching anything else to make sure any updated code would be added to my .bashrc (or wherever the heck it was going) when I reinstalled.
As to the regex below, I would not assume that it is anchored at the beginning of the line, only that it's the first non-whitespace character.
ssteinerX

The regex requires that the full prefix does not contain any #, so we need the anchor.
Anyway, I'm not targeting 100% accuracy with this approach. See, the line could be inside a multi-line string, or inside a function that is never called. We would never know. But it will work 99.99% of the time.
The real question is, is this the right thing to do? It's hard to say. If a user manually commented out the line, maybe they want to keep it that way, and we should probably not add another line.
We can instead just print the found line to the console, and let the user have a better understanding of what's happening.

Or you could say:
I was about to add "xxxxxxx" to .bashrc and found "xxxxxxx" commented out.
<echo commented out line(s)>
Proceed to modify .bashrc? (y/N)?


Improve exception handling in server startup

In general it's not a good practice to use generic exceptions like Exception or RuntimeException. It doesn't really tell much about the error and is hard to catch, because handling has to look like this:
https://github.com/tipsy/javalin/blob/3181cff1378d969efe149581d554797ea1f42450/javalin/src/main/java/io/javalin/Javalin.java#L180
Affected areas:
https://github.com/tipsy/javalin/blob/3181cff1378d969efe149581d554797ea1f42450/javalin/src/main/java/io/javalin/Javalin.java#L181
https://github.com/tipsy/javalin/blob/3181cff1378d969efe149581d554797ea1f42450/javalin/src/main/java/io/javalin/Javalin.java#L183

Feel free to improve this :)


Add support for multiple sitemaps

Per https://support.google.com/webmasters/answer/183668?hl=en&ref_topic=4581190,

All formats limit a single sitemap to 50MB (uncompressed) and 50,000 URLs.

The current sitemap at https://docs.rs/sitemap.xml is 5.3MB (fine) and 41,000 URLs. Soon the size of the Rust ecosystem will grow to the point that additional sitemaps are needed.

I saw an announcement today that crates.io had reached 50,000 crates: https://twitter.com/rustlang/status/1331020962628767748. That made me think of this issue again. The sitemap is still only at 41,617 URLs, though. Purely out of curiosity, any idea why the discrepancy?

Hmm, that sounds like the sitemap is buggy:
cratesfyi=> select count(*) from crates;
 count
-------
 50938

Out of those 50k, how many of them have their latest version yanked?
(I expect not have crates in the site map where the latest published version is yanked)

Rather than guessing, you can just read the source ;)
https://github.com/rust-lang/docs.rs/blob/master/src/web/sitemap.rs#L27
The difference is that docs.rs doesn't include crates that failed to build in the sitemap.

sweet! :)

I created #1222 as a potential solution, up to discussion of course.

Should this be closed since #1222 has been merged?

Let's wait until #1222 is deployed.

Is there some way to verify google's view of the sitemaps after deployment?

in google webmaster tools, yes.
Also you can ping them to directly load the sitemap and see the result, if I remember correctly.


fix build on Windows

Adding rimraf (for cross-platform rm) and cross-env (for cross-platform environment variables)
Fixes: https://github.com/mrdjohnson/llm-x/issues/6

Apologies! merged my other PR without realizing about this one yet.
I removed the "rm -rf" code that previously existed so we no longer need the rimraf code; other that looks good!


E-book (epub) generation

Adds instructions for generating an epub file using pandoc, as well as a starter epub CSS file and generated file. I had to add pandoc metadata to the README.md file because I could not get the --pub-metadata flag to work as documented.

I'm not opposed to putting a new section below the Translation one, which states how to generated an Epub document out of this. I don't like how the Epub metadata lives at the top of the README. If there was a way to avoid that I would be more onboard! As it is, if we put a new section at the bottom this would be a good opportunity to reaffirm and publicly state my stance on keeping this one singular README file, like AirBnB's JavaScript style guide.


Can't get emotion's css prop working inside storybook

Describe the bug
I can't seem to get emotion's css prop to work inside of Storybook. Seems like emotion is now the dominant css-in-js library, and the css prop is emotion's recommended primary way of styling components, so I thought I was choosing a well-travelled happy path here, but I'm stuck.
In my actual project repo I'm getting the same thing described here and here. I tried all of the recommendations in both those threads, and still no joy -- and it looks like I’m not the only one.
So, I created a brand new React Storybook repo to just hello-world using emotion css prop and storybook. And I can't get that to work either! I'm wondering if someone could look at the super simple repro repo I made and tell me where I went wrong, here it is:
https://github.com/jaredh159/storybook-emotion-css
I'd be up for submitting a PR to the docs clarifying how to do this, if someone can show me where I messed up.
To Reproduce
Steps to reproduce the behavior:
git clone git@github.com:jaredh159/storybook-emotion-css.git
cd storybook-emotion-css && yarn && yarn storybook
Load http://localhost:6016 and see the error :(
TypeError: Cannot read property 'name' of null
Expand for full error message
Expected behavior
I expected to be able to use the css prop from emotion within Storybook.
Code snippets
The repro repo does add a .babelrc inside the stories dir as recommended in the emotion docs and on this similar issue, like so:
{
"presets": ["@emotion/babel-preset-css-prop"]
}
I also tried this workaround, but no joy.
System:
OS: Mac
Device: Macbook Pro 2015
Browser: Chrome
Framework: React
Version: 5.1.9

I'm seemingly bumping into this too. Also have tried all the suggested workarounds in the referenced issues.
My CSS props work just fine outside of Storybook but once I am running in storybook my css props aren't working. Anything that's basically just a string works but any time I am referencing props in the css / styled tag, the css property name isn't present.

I'm seeing this same issue in<EMAIL_ADDRESS>it makes Storybook's core features basically unusable. I've also attempted all suggested solutions, including .babelrc inside .storybook, updating .storybook/webpack.config.js and others.
Has there been any traction on this issue?

🙌 require.resolve('@emotion/babel-preset-css-prop') + blowing away node_modules and rerunning yarn fixed it.
Based our now working config kinda on this: emotion-js/emotion#1359 (comment) but with some additional crap for resolving sass stuff (we're in the process of migrating and our storybook stuff stopped working without anyone noticing).
Sorry for any inconvenience and thanks for the awesome library.

Can somebody create a preset for this? https://storybook.js.org/docs/presets/writing-presets/#docs-content

I cannot get this to work at all. The only way I can get this to work is if I use the jsx pragma, and then, it breaks storybook's ability to generate or infer prop descriptions for the docs. I'm not certain, but I'm assuming this is because both storybook's doc addon and emotion want to rewrite React.createElement?

@JakeElder That would be great! 🙇
I created a minimal setup here. This uses CRA + Craco + EmotionJS + Storybook + Cypress. It also has some pinned dependencies to fix issues here and there with CRA + Storybook (this and this).
You can see that if you run the server the Button shown is styled as expected, but it's not within Storybook even if the Babel override is there for pushing @emotion/babel-preset-css-prop. But if you add the pragma in Button.jsx then the style is applied as well in Storybook.

@se7entyse7en - Reversing the resulting presets array in the resulting Webpack ts/js config seems to make this work as expected. It's a brittle solution but hopefully may help you understand the problem so you can create something more robust. Good luck.
PR: https://github.com/se7entyse7en/js-project-template/pull/1/files

Yes. This is probably unavoidable in some scenarios until Storybook changes. If you are transpiling with TS (not Babel) try to create custom tsconfig for storybook to disable noUnusedLocals.

@DominicTobias-b1 Curious — where did you run into missing React in scope? I just checked and none of my files have React in scope and SB compiles and runs just fine. There is one non-obvious place I can think of — shorthand fragment notation <>...</>. If you are using this notation then you would need to import React, but instead you can just import { Fragment } from React; and use ....

You're right I tried again and worked must have tried in one of the files actually using something off of React. without noticing thanks. Also added 'react/jsx-uses-react': 'off', 'react/react-in-jsx-scope': 'off' for eslint as per React docs.

Has anyone managed to get Emotion 11 css prop to work in storybook stories files? Haven't managed with old or new pragma with the advice I've read here and elsewhere (and used to work in 10)

Yes. This is probably unavoidable in some scenarios until Storybook changes. If you are transpiling with TS (not Babel) try to create custom tsconfig for storybook to disable noUnusedLocals.

@DominicTobias-b1 Curious — where did you run into missing React in scope? I just checked and none of my files have React in scope and SB compiles and runs just fine. There is one non-obvious place I can think of — shorthand fragment notation <>...</>. If you are using this notation then you would need to import React, but instead you can just import { Fragment } from React; and use ....

It'd be great to have this code encapsulated in a preset!

With the solutions above I get this in the DOM:
css="You have tried to stringify object returned from css function. It isn't supposed to be used directly (e.g. as value of the className prop), but rather handed to emotion so it can handle it (e.g. as value of css prop).
Don't know what I'm missing. I'm using this same Babel configuration for the project build and it works fine.

We've just encountered this issue. The project uses "typescript": "^4.3.2", "@emotion/react": "^11.4.1", "@storybook/react": "^6.3.8".
tsconfig.json has "jsx": "react-jsx", "jsxImportSource": "@emotion/react", settings.
To fix it, npm i -D @emotion/babel-preset-css-prop and in .storybook/main.js add it to the default presets:
module.exports = {
stories: […],
addons: ['@storybook/addon-links', '@storybook/addon-essentials'],
babel: async (options) => {
options.presets.push('@emotion/babel-preset-css-prop')
return options
},
}
So far so good.

There are 2 solutions:
Using the older @emotion/babel-preset-css-prop.
Modifying Storybook's babel-loader to use a custom configuration.
Both of these versions are super hacky and aren't the correct solution nor will they always be guaranteed to work through Storybook upgrades.
Instead, forget the Webpack config altogether. Storybook has a native way of modifying the Babel config:
https://storybook.js.org/docs/react/configure/babel
The proper option is adding Babel overrides:
// The location of your Babel config.
const babelConfig = require('../babel.config.js');
const storybookConfig = {
// ...
babel: async (
options
) => {
options
.overrides
.push({
...babelConfig,
test: '*', // This says "for all files, use this override".
})
return options;

},
// ...
}
module.exports = storybookConfig

I fixed it with the settings below.
Hope it helps someone.
pacakge.json
"react": "^17.0.1",
"react-dom": "^17.0.1",
"@storybook/react": "^6.1.21",
"@emotion/react": "^11.1.2",
"typescript": "^4.1.3",
.storybook/main.js
module.exports = {
reactOptions: {
fastRefresh: true,
strictMode: true,
},
stories: ['../src/**/*.stories.@(ts|tsx|mdx)'],
addons: ['@storybook/addon-links', '@storybook/addon-essentials'],
webpackFinal: async (config) => {
config.module.rules[0].use[0].options.presets = [
require.resolve('@babel/preset-env'),
require.resolve('@babel/preset-typescript'),
[
require.resolve('@babel/preset-react'),
{
runtime: 'automatic',
importSource: '@emotion/react',
},
],
]
config.module.rules[0].use[0].options.plugins = [
  ...config.module.rules[0].use[0].options.plugins,
  '@emotion/babel-plugin',
]

return config

},
}

This project is brand new built with Emotion and Next.js just tonight. I'm surprised I had to add this hack for it to work.
I have Storybook + Emotion playing nicely together without a hack on two separate projects at work, but I'm not sure why it works there and not here.
A few things to note:
I'm on Windows. Dunno if it matters, but maybe it's not able to find the right file.
I named my Babel config file babel.config.js rather than .babelrc.

I managed to make it work using TypeScript + Emotion 11 and JSX Pragma.
TypeScript: v4.1.4
Emotion: 11.1.5
Storybook: v6.1.17
I'm not using Babel at all because I want to typecheck during build.
I had to change the @babel/preset-react runtime to be "classic" in order to use the JSX Pragma.

It worked with the following settings.
Just for reference.

Thanks a lot @illinar 🙏 I had it working but building to old pragma, now I can build with the new one. One thing I had to add to babel.config.js because I'm using TS:

@jaredh159 @shilman I was able to track at least part of the problem down in the linked storybook-emotion-css repo: https://github.com/emotion-js/emotion/blob/master/packages/babel-plugin-emotion/src/utils/label.js#L66 Seems to be the relevant line -- At least in my testing I was able to get one of the two examples (CssPropButton) rendering correctly by modifying the if to be:

I also ran into this issue with Babel7+Typescript+React+Emotion+Storybook setup. After hours of digging through docs and experiments I confirmed that .storybook/webpack.config.js:

@brekk I'm not clear exactly what the fix is you found, and where I would apply it. Could you send a PR to my simple repro repo linked in the OP?

Also just upgraded to 5.2.0, seeing the same issues.

in case you missed, I think this ticket is potentially resolvable but I'd ask @ryanlanciaux / @jaredh159 to verify

Have you tried the babelrc: false option in the loader?

Thanks. This option seems to do the trick.

In my project I was able to get Storybook to recognize css-prop (without using the jsx pragma) by adding this config to /.storybook/webpack.config.js.

if you link the repository or a minimal repro I will take a look for you.

Potentially helpful commentsEpcot is a theme park at Walt Disney World Resort featuring exciting attractions, international pavilions, award-winning fireworks and seasonal special events.

recently upgraded to Emotion 11 with the latest storybook (6.1.xx). Here are the relevant details of my setup. We are using recent Typescript (4.1.x) + Babel (7.12.x), so YMMV depending on your setup.
I switched my components to use new "automatic" React JSX transform. I find this the only reasonable and clean way forward. Note: this requires Typescript 4.1 or higher (see https://emotion.sh/docs/emotion-11#css-prop-types)

Thanks a lot @illinar 🙏 I had it working but building to old pragma, now I can build with the new one. One thing I had to add to babel.config.js because I'm using TS:

To make a secret available to an action, you must set the secret as an input or environment variable in the workflow file.

You can close this as far as I'm concerned -- not because I can verify a solution, but I don't use the css prop at all any more.

GitHub provides a token that you can use to authenticate on behalf of GitHub Actions.

Problems parsing JSON

Python has a built-in package called json, which can be used to work with JSON data.

UnboundLocalError: local variable 'json' referenced before assignment.

An action can access the GITHUB_TOKEN through the github.token context even if the workflow does not explicitly pass the GITHUB_TOKEN to the action.

In Python, we can assign a function to a variable. And using that variable we can call the function as many as times we want. Thereby, increasing code reusability.

when you perform y=x() you are actually assigning y to the result of calling the function object x and the function has a return value of None. Function calls in python are performed using (). To assign x to y so you can call y just like you would x you assign the function object x to y like y=x and call the function using y().

Strings in python are surrounded by either single quotation marks, or double quotation marks.

You can assign a multiline string to a variable by using three quotes.

Since strings are arrays, we can loop through the characters in a string, with a for loop.

A variable is only available from inside the region it is created. This is called scope.

A variable created inside a function belongs to the local scope of that function, and can only be used inside that function.

test

Virtualenv is another key Python tool. It enables you to create a series of controlled environments where you can install and experiment with Python modules without upsetting any previously installed software.

When you plan to publish your action to GitHub Marketplace, you'll need ensure that the repository only includes the metadata file, code, and files necessary for the action. Creating a single repository for the action allows you to tag, release, and package the code in a single unit. GitHub also uses the action's metadata on your GitHub Marketplace page.

Will this work?

Hi, not sure why but github is claiming I was mentioned on this issue, any idea why?


Release 2.2.82 not deploying due to missing dependencies

When trying to deploy the Management and CD-Pipeline Apps, I get the following errors trying to pull Docker images:
image fabric8/cd-pipeline:2.2.82 not found
Tag 4.3.0 not found in repository docker.io/fabric8/kibana4

Not sure where this fabric8/cd-pipeline:2.2.82 image is coming from yet but it's not needed.  cd-pipeline is the template and not the image name so you can just delete the cd-pipeline RC, everything else should still work with the cd-pipeline template.
@jimmidyson you want a new release for the kibana fix?

Project Wizard seems to be failing when you try to create a project. It gets as far as the page where you specify the docker image to use, then silently fails.
Fabric8-forge log shows:
2015-12-02 12:41:36.034:WARN:oejs.ServletHandler:qtp1006485584-30: /api/forge/command/execute/devops-edit
org.apache.cxf.interceptor.Fault: http://gogs.vagrant.f8/gogsadmin/test40.git: authentication not supported


ProGuard: Update to 7.1+

Our current ProGuard patch (the -keepinnerclasses option) does not apply to ProGuard 7, due to the massive refactoring of ProGuard 7 vs 6. So instead I implemented the support of -keepcompanionclasses option.
Basically, this option allows you to specify a list of companion classes that need to be kept, if the given class will be kept. This works similar to -keepclassmembers, but keeps classes (not necessarily inner classes) instead.
With this option, the existing -keepinnerclasses rules can be rewrite from
-keepinnerclasses interface * extends org.moe.natj.c.OpaquePtr {
    class *$Impl;
}

to
-keepcompanionclasses interface * extends org.moe.natj.c.OpaquePtr {
    class <1>$Impl;
}

Note the <1> in the companion class spec. This matches the first * in the outer class spec, which is the FQ name of the outer class, then <1>$Impl forms the FQ name of the inner class. Without the <1>, it will match all inner Impl classes from other classes as well.
Compare to the -keepinnerclasses, this new impl runs slower, but provides much more flexibility, for example this can be used to impl #148 with the rule:
-keepcompanionclasses class ** implements @org.moe.natj.objc.ann.ObjCProtocolName ** {
    class <2>;
}


Make binary compatibility not the default

@soltanmm @jtattermusch @murgatroid99 - please check language dependent bits look sane

@jtattermusch LGTY ?

Sanity seems a bit sad...

Sanity is not sad now.

It's Python's turn to be sad now.


Moving grafana(1), inspector2(1), ivs(2), ssm(2), transcribe(3), transfer(1), vpc_network(1) resources to v1beta1 version

Description of your changes

grafana

[x] aws_grafana_workspace_api_key

inspector2

[x] aws_inspector2_enabler

ivs

[x] aws_ivs_channel
[x] aws_ivs_recording_configuration

ssm

[x] aws_ssm_default_patch_baseline
[x] aws_ssm_service_setting

transcribe

[x] aws_transcribe_language_model
[x] aws_transcribe_vocabulary
[x] aws_transcribe_vocabulary_filter

transfer

[x] aws_transfer_tag

vpc_network

[x] aws_vpc_network_performance_metric_subscription

Fixes #495
I have:

[x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested
Manually
aws_grafana_workspace_api_key - depends on resource with manual intervention

aws_transcribe_language_model - require file to be uploaded manually to s3

aws_transcribe_vocabulary -  require file to be uploaded manually to s3

Manually and Uptest
TODO

/test-examples="examples/inspector2/enabler.yaml"

/test-examples="examples/ivs/channel.yaml"

/test-examples="examples/ivs/recordingconfiguration.yaml"

/test-examples="examples/ssm/defaultpatchbaseline.yaml"

/test-examples="examples/ssm/servicesetting.yaml"

/test-examples="examples/transcribe/vocabularyfilter.yaml"

/test-examples="examples/transfer/tag.yaml"

/test-examples="examples/vpc/networkperformancemetricsubscription.yaml"


Sensors frequently unavailable

Since the last update I've experienced frequent "outages" where the sensors are in status unavailable and the debug log shows this:
2023-02-25 23:59:22.010 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up min_renovasjon platform for sensor
Traceback (most recent call last):
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 1154, in _create_direct_connection
hosts = await asyncio.shield(host_resolved)
File "/usr/local/lib/python3.10/site-packages/aiohttp/connector.py", line 880, in _resolve_host
addrs = await self._resolver.resolve(host, port, family=self._family)
File "/usr/local/lib/python3.10/site-packages/aiohttp/resolver.py", line 33, in resolve
infos = await self._loop.getaddrinfo(
File "/usr/local/lib/python3.10/asyncio/base_events.py", line 860, in getaddrinfo
return await self.run_in_executor(
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.10/socket.py", line 955, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -3] Try again
A full reboot of HA often solves the problem but that's annoying... :|
Any idea? :-)

I have not been able to reproduce nor experience this isssue.

It's been working fine this week, could of cause be something local on my side... But seems like it's not finding the the host address correctly. Maybe add a more detailed error message in the next version? :-)


[edge] Using ESM modules in config crashes watcher

Version
edge (2.0.0-25371079.ec5bdd9)
Reproduction link
https://github.com/nuxt/nuxt.js/blob/dev/examples/with-purgecss/nuxt.config.js#L2
Steps to reproduce

Use ESM modules in nuxt.config.js (eg as it was done in the with-purgecss example)
Run npm run dev or nuxt
See the watcher crash

What is expected ?
Build Nuxt as usual
What is actually happening?
The watcher crashes with
/home/mannil/Programming/JS/lichter.io/node_modules/nuxt-edge/bin/nuxt-dev:70
  .watch(nuxtConfigFile(argv), nuxtConfig.watchers.chokidar)
                                                   ^

TypeError: Cannot read property 'chokidar' of undefined
    at Object.<anonymous> (/home/mannil/Programming/JS/lichter.io/node_modules/nuxt-edge/bin/nuxt-dev:70:52)
    at Module._compile (module.js:662:30)
    at Object.Module._extensions..js (module.js:673:10)
    at Module.load (module.js:575:32)
    at tryModuleLoad (module.js:515:12)
    at Function.Module._load (module.js:507:3)
    at Module.require (module.js:606:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/home/mannil/Programming/JS/lichter.io/node_modules/nuxt-edge/bin/nuxt:35:1)
    at Module._compile (module.js:662:30)
    at Object.Module._extensions..js (module.js:673:10)
    at Module.load (module.js:575:32)
    at tryModuleLoad (module.js:515:12)
    at Function.Module._load (module.js:507:3)
    at Function.Module.runMain (module.js:703:10)
    at startup (bootstrap_node.js:193:16)
    at bootstrap_node.js:665:3

This bug report is available on Nuxt.js community (#c6785)

I think this case problem is because of mixing require and imports. I can't reproduce it on simpler examples.
Also in es environments, we may use .default property of required modules (Same happens to webpack 4 which now strictly returns default)

Yup, mixing require and import gives me this error.
I've tried to get the exact source of the problem and I found out that it was the PurgecssPlugin. After importing it failed as well, I've looked up the repo and found out that an es version is present. Unfortunately, it didn't work out with importing it either.


Update button in jscockpit

A way to easily updatea running docker to the latest version would be very nice.

Cockpit now has a Version page with an update button:


feat: remove redundant organisation code and search index

Context
AB#206189 (AB#206781)
Change proposed in this pull request
Removes redundant organisation code and search index
Guidance to review
None
Checklist

[x] Work items have been linked (use AB#)
[x] Your code builds clean without any errors or warnings
[x] You have run all unit/integration tests and they pass
[x] Your branch has been rebased onto main
[x] You have tested by running locally

This all looks fine to me, but I can't spin up locally to validate right now due to other refactoring in progress. If this is urgent then I can approve right now, otherwise it may be a little bit before I can click the button.

@WolfyUK I'll let you know when it becomes a blocker.


Fix ResourceCompilerTest failures

In the pull request #169, ResourceCompilerTest run in Travis result in test failures. The failure specifically is of the form:
37: Test command: /tmp/us\ builds/CppMicroServices_shared-threading\ (Unix\ Makefiles)/bin/usFrameworkTestDriver "ResourceCompilerTest"
37: Test timeout computed to be: 600
37: sh: 1: Syntax error: "(" unexpected
37: Cmdline invocation in testManifestAdd returns 0 [FAILED]
37:   +--> in /home/travis/build/CppMicroServices/CppMicroServices/framework/test/ResourceCompilerTest.cpp, line 133, expression is false: "ret == 0"

This is what's happening - the test internally uses several invocations of ResourceCompiler command line to test various features and it uses std::system to do the invocation. Looks like its behavior is similar to https://linux.die.net/man/3/system -- basically invokes the whole command using /bin/sh -c and since the path of the usFrameworkTestDriver contains parenthesis, the sh command results in a syntax error and the std::system call doesn't run.

Tried bracketing the command line with single quotes and double quotes but that didn't work. At this point, I think a more robust and a better way to test ResourceCompiler is to directly construct the command line pass them (say vector of them) to a function in ResourceCompiler. This function will be called both by

entry point main(), when ResourceCompiler is invoked as a command line, where main() will provide the argv and argc
usFrameworkTestDriver calling this function and provide the argc and argv
The rest of the argument parsing happens in this function

An added advantage is std::system usage is generally discouraged and this seems more idiomatic. Would love your thoughts?

Before we go this route, I think we (you) should still try to escape and quote the std::system argument properly. This can be a little tricky to get right. For example, an invocation of the cmd /tmp/path (space)/rc with the argument hello.txt needs to look like:
std::system("/tmp/path\\ \\(space\\)/rc hello.txt");

as tested on my Linux machine.

With the latest commit (https://github.com/ksubramz/CppMicroServices/commit/453953eda0138e396fe2e5b69c4402fb8062706a), I was finally successful in getting the tests to work in Travis. Thanks Sascha for the helpful suggestion.
However, before Sascha's suggestion I was tempted to try out the alternate proposal (which was proposed yesterday) and I have a functional but incomplete implementation in the branch rc_as_library - https://github.com/ksubramz/CppMicroServices/commit/1c181cd8356cf18059eb17cb36156d950e3f44e3
In this method, most of the functionality of ResourceCompiler is factored out to a library and the ResourceCompiler executable is a thin wrapper around the library (https://github.com/ksubramz/CppMicroServices/commit/1c181cd8356cf18059eb17cb36156d950e3f44e3#diff-7ff13f6c944f78f9c336c27923259760). The test driver also links with ResourceCompiler and instead of explicitly invoking the command line using std::system, the command is passed to the ResourceCompiler() function as argc and argv.
Pros:

We no longer use std::system and no longer dependent on the fact that ResourceCompiler and the test driver executable are in the same directory.
Less OS vagaries (like this fault, for example). And the test is more robust in different platforms because we operate in C++ space.
Cons:
The actual invocation of ResourceCompiler executable is not tested (however, since we construct the command as a vector and pass argc and argv to the ResourceCompiler() function we are testing almost the entire thing)

Here are the pros and cons of the older (already implemented) approach
Pros:

Tests the entire functionality i.e. starting from the command line invocation itself.
Already implemented (though, the completion of the other implementation shouldn't take long).
Cons:
Similar issues may arise in future due to different platforms.

Personally, since it works now, I would keep it as it is (it is a trade off between keeping the resource compiler code and build system simple or the test infrastructure). If we find another use cases for having a resource compiler library (except for making tests less error prone) or if we run into more problems with the tests, it will be good to have your branch handy.

I agree with @saschazelzer  ...

I agree with @saschazelzer and @karthikreddy09, let's invoke the tests using std::system.
@ksubramz Thanks for exploring the other option. I'd suggest keeping that code around in a separate branch for now.

Thanks all, and agree with all of you.


Light Plugins Warning

Suggestion: Generate a LOOT error message if the user has included an ESL or light flagged ESP in their Skyrim VR load order.
Not sure if this can be done at a MasterList level, so feel free to move this.
https://forums.nexusmods.com/index.php?/topic/11472988-vr-lack-of-support-for-esl-files/

@pStyl3 replied to me on Discord:

As of right now, there is no related message anchor in the prelude for this. When it comes to the LOOT application itself, these are the current localised strings we have relating to ESL/light master:
Active Light Plugins

Light Plugin

This plugin contains records that have FormIDs outside the valid range for an ESL plugin. Using this plugin will cause irreversible damage to your game saves.

This plugin is a light master and requires the non-master plugin "%1%". This can cause issues in-game, and sorting will fail while this plugin is installed.

You have a normal plugin and at least one light plugin sharing the FE load order index. Deactivate a normal plugin or all your light plugins to avoid potential issues.

As you can see, non of these are VR specific, so a new message would need to be created.
Whether or not that should be done via LOOT itself or via the masterlist prelude, is best discussed within the GitHub issue.

Thanks for the reply. I figured it's something that would be of value to LOOT because the masterlist is referenced in basically all mod managers. It's something that could be added to Vortex only fairly specifically but then MO2/NMM/Kortex/etc users would not get the same benefit.

From some cursory research, ESL-flagged ESPs don't seem to cause a problem (the flag is just ignored), it only appears that plugins with the ESL file extension are ignored. If anyone knows of any authoritative sources, that'd be helpful. I don't have Skyrim VR to test, so I'm not sure how exactly LOOT handles ESL plugins in it (@Ortham?) or how other mod managers do for that matter.
If we don't already, we probably shouldn't display plugins with the ESL extension in Skyrim VR (FO4 VR too). We could then add a global warning message if any such plugins are found with a simple regex. There's also the issue of plugins that have an ESL as a master, we might need a specific message for that case as well. That'd require something on the app's end.

From some cursory research, it appears to be the same case as Skyrim VR. Testing is always appreciated, but I imagine you'd have the same issue with launching it.

I have a copy of Skyrim VR but it doesn't seem to launch without a VR headset (which I don't have).

I've bought Skyrim VR (as well as FO4 VR) and it won't launch without a VR heatset for me as well. I'm contemplating to buy either a Valve Index or HTC Vive (not only for these two titles, but also for The Talos Principle VR) - so I might be able to actively test VR stuff in the near future.

Here is what I have as a suggestion, prelude changes would have to be done as well.
And done for FO4 VR as well.
# Light Master Support
  - type: error
    content:
      - lang: en
        text: 'This game does not support files with the extension **.esl**.'
    condition: 'file("[^\.]+\.esl")'

Not 100% sure about the condition as it's untested.

Here is what I have as a suggestion, prelude changes would have to be done as well. And done for FO4 VR as well.
# Light Master Support
  - type: error
    content:
      - lang: en
        text: 'This game does not support files with the extension **.esl**.'
    condition: 'file("[^\.]+\.esl")'

Not 100% sure about the condition as it's untested.

Looks good to me. We could inform users about changing the extension, but it may be for the best that we don't since it would cause issues for any dependent plugins that would require swapping masters.


remove sleep 10

I'm not sure the reasons for having this sleep for 10 s before getting a job, but it seems unnecessary especially in push mode where the job description file is already present. I didn't notice any bad effects from testing jobs without the sleep.

I don't remember - possibly a useless remnant of early testing. This PR was to master so I'll close it, but I have removed the line from the dev version. Thanks.


Enhance app documentation

Use custom plugin from BS4 Theme generate dynamic documentation.

This is becoming more important now, as most of the template have changed names and the screenshot do not reflect the current names.
Template options have the same problem.
Creating a new release with the current demo app would require a note indicating that most of the doc is out of sync.


HDDS-5554. Option to disable checksum verification.

What changes were proposed in this pull request?
To provide an option to disable checksum verification on container files on startup.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5554
How was this patch tested?
This patch was tested using testDisabledChecksum Unit test and GitHub CI tests.
https://github.com/aswinshakil/ozone/actions/runs/1114468266

Thank you for the review @vivekratnavel . I will look into it and make the changes

@aswinshakil Thanks for the contribution! @avijayanhwx @ayushtkn Thanks for the reviews!


Not working inside HomeAssistant node red Addon

Hi there, I appreciate the great work but I am having some issues. I tried this node with the node red home addon which is installed as a docker container. but even when it connected to the localtunnel server and gave me an url, it failed to expose any port. When I tried the url provided, I got 404 error. I have been running localtunnel outside node red in the conventional manner and it works as intended.

Interesting.
How did you install home assistant? I use HAOS.
I haven't tested any other ways of using home assistant.
Now I am using cloudflared tunneling. So I don't know whether recent HA versions modified something that made it stop working.
I would need more details about the problem to understand exactly what happened.

I am running supervised HA installation in RPi 4. Actually when I deploy this node, my nodered crashes. I can see the following error in nodered addon log.
31 Oct 16:52:57 - [info] [localtunnel:aa6d5f73ee93d8f8] Connected: https://rude-squid-73.loca.lt
31 Oct 16:52:58 - [red] Uncaught Exception:
31 Oct 16:52:58 - TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string or an instance of Buffer or URL. Received undefined
    at Object.openSync (fs.js:490:10)
    at Object.readFileSync (fs.js:394:35)
    at getLocalCertOpts (/config/node-red/node_modules/localtunnel/lib/TunnelCluster.js:79:24)
    at connLocal (/config/node-red/node_modules/localtunnel/lib/TunnelCluster.js:86:62)
    at Socket.<anonymous> (/config/node-red/node_modules/localtunnel/lib/TunnelCluster.js:149:7)
    at Object.onceWrapper (events.js:519:28)
    at Socket.emit (events.js:412:35)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1134:10)

After this nodered restarts
I tried to install the cloudflare addon also but it is giving me the following error.
The command '/bin/ash -o pipefail -c CVERSION="latest/download" ARCH="${BUILD_ARCH}" && if [[ "${BUILD_ARCH}" = "aarch64" ]]; then ARCH="arm64"; fi && if [[ "${BUILD_ARCH}" = "amd64" ]]; then ARCH="amd64"; fi && if [[ "${BUILD_ARCH}" = "armhf" ]]; then ARCH="arm"; fi && if [[ "${BUILD_ARCH}" = "armv7" ]]; then ARCH="arm"; fi && if [[ "${BUILD_ARCH}" = "i386" ]]; then ARCH="386"; fi && apk add --no-cache libc6-compat yq && wget -O /usr/local/bin/cloudflared https://github.com/cloudflare/cloudflared/releases/$CVERSION/cloudflared-linux-$ARCH && chmod +x /usr/local/bin/cloudflared' returned a non-zero code: 2

The "path" argument must be of type string or an instance of Buffer or URL. Received undefined.
It seems "path" parameter was not filled.
If you are not using SSL, consider unmarking "local https"

Thanks bro..it worked.
Appreciate the good work.
Hope you can also sort out the CLoudlfare issue


Add support for encoding/decoding with bincode.

This PR adds optional support for serialization of ArcStr with bincode (similar to how it already exists for serde).
This avoids external projects which use arcstr and bincode having to wrap the ArcStr type to implement bincode::Decode and bincode::Encode for it.

I'm willing to add this once there's a public release of bincode 2.0.0, but not before. It may be a semver-breaking change for me to move from 2.0.0-rc.1 to 2.0.0, and I don't want to make a major version bump of arcstr because of this.

Codecov Report
Base: 96.33% // Head: 95.56% // Decreases project coverage by -0.76% :warning:

Coverage data is based on head (ea2b03e) compared to base (f183959).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #45      +/-   ##
==========================================
- Coverage   96.33%   95.56%   -0.77%
==========================================
  Files           7        8       +1
  Lines         873      880       +7
==========================================
  Hits          841      841
- Misses         32       39       +7

Impacted Files
Coverage Δ

src/impl_bincode.rs
0.00% <0.00%> (ø)

src/lib.rs
50.00% <ø> (-50.00%)
: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.

This should also be implemented for Substr, and needs tests. That said, I wouldn't blame you on waiting on this given my other comments.

Sounds good to me, while we're waiting for v2, I will work on adding support for Substr + tests.

I added tests and implement traits for Substr too.

Update May 2024: Still blocked on v2.0 of bincode.


Creating a new todo while filtered by search will show all todo's

Bug Report
App Version: 2.0.3-rc.4
Platform: Windows
Installation Method: Direct download
Bug Description:
If you create a todo while you have filtered todos via the search bar, all todos will become visible (ignoring the search) once you save the todo
Steps to Reproduce:

open search Ctrl+F
Search for something
Create a new task Ctrl+N, "(A) Test test", *add*

Expected Behavior:
the filtered list should keep showing, and the newly added todo should be included if matching the search
Actual Behavior:
All todos are shown

@swantzter can you please check if the latest pre-release solves this issue? https://github.com/ransome1/sleek/releases/tag/v2.0.4-rc.2

works!

@ransome1 I will say on an unrelated note, possibly related to the refactoring mentioned in the release notes that 2.0.4-rc.2 has a significantly worse launch time than previous versions on windows (~9s).

This might be related to: https://github.com/ransome1/sleek/issues/615
Is this just happening on the latest pre-release or also with the ones as described in 615?

Possible, I haven't experienced a delay like this on any earlier version, only 2.0.4-rc.2

Quick questions:
Does this only happens on Windows, or are you experiencing the same thing on Linux too?
If only on windows: can I ask you to check if Windows Defender is up and running at the same time? I'm asking because I stumbled upon this: https://stackoverflow.com/questions/67982430/windows-defender-slowing-down-electron-startup
And at last: does it only affect the start up or also the actual usage of sleek once loaded?

works!

Does it really work? I've checked rc.2, rc.3, rc.4 and the latest sleek-2.0.4 and it still resets the search after adding new item. The same also happens when I filter by entering  text in search box and mark some item complete - all entries are shown.

@swantzter @amariusz I think it has fallen victim to the ongoing refactoring. It should be fixed again in the next release.

@amariusz could you please check if it now working as expected in https://github.com/ransome1/sleek/releases/tag/v2.0.6? if so, please feel free to close.

Searching/filtering and completing tasks works properly now.
Searching/filtering and adding new tasks not so much, as clicking "Add as todo" seems to have no action. Although using Ctrl-N as a workaround works great.
Thank you!

You're right, one thing broke the other. I should really stop adding more features and instead focus on UI test automatization.

@amariusz should be fixed in the latest pre-release: https://github.com/ransome1/sleek/releases/tag/v2.0.7-rc.1

Thanks, it works fine now!
BTW It seems there's new feature that suggests to add filter or select the filter. It tends to get's in the way by obscuring the item(s) being filtered especially if there's one item showing and user is not interested in this functionality. Maybe there should be an option to disable it or initially present it in a form of icon like 🔻 that expands the filter menu after clicking it.
I suppose you expect the user to hit enter or escape after entering a query?

Thanks, it works fine now!
BTW It seems there's new feature that suggests to add filter or select the filter. It tends to get's in the way by obscuring the item(s) being filtered especially if there's one item showing and user is not interested in this functionality. Maybe there should be an option to disable it or initially present it in a form of icon like 🔻 that expands the filter menu after clicking it. I suppose you expect the user to hit enter or escape after entering a query?

It is not yet a new feature, but a proof of concept for this feature request: https://github.com/ransome1/sleek/issues/179#issuecomment-1890464577
I am collecting feedback over in that issue, could you post your feedback there as well? Then we have one source of truth.
To answer your question: This is the one thing about the feature I too dislike to far. During typing users would always see the Create Filter entry and bothers me as well. Of course a setting could disable it, but that does not yet solve the issue for the users, who want to use it. Let's see what we can do about it.


Az sam Iliyan Kordev №19 10G 7 homework

Evaluating homework 07 on student 19 from G class

Evalutaing task1.c
	Test 1 passed

Evalutaing task2.c
	Test 1 passed

Summary

	task2 - 1/1
	task1 - 1/1


[Snyk] Security upgrade @mapbox/hast-util-to-jsx from 2.0.0 to 2.1.0

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `yarn` dependencies of this project.
Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

packages/docusaurus-migrate/package.json

Note for zero-installs users
If you are using the Yarn feature zero-installs that was introduced in Yarn V2, note that this PR does not update the .yarn/cache/ directory meaning this code cannot be pulled and immediately developed on as one would expect for a zero-install project - you will need to run yarn to update the contents of the ./yarn/cache directory.
If you are not using zero-install you can ignore this as your flow should likely be unchanged.

⚠ Warning
Failed to update the yarn.lock, please update manually before merging.

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

479/1000  Why? Has a fix available, CVSS 5.3
Improper Input Validation SNYK-JS-POSTCSS-5926692
No
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Improper Input Validation

Blastoff.zone: Claim Your Share of 1 Million Tokens and $500,000!
Congratulations! You've just unlocked an exclusive opportunity to claim your share of 1 million tokens and a staggering $500,000 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500,000 bonus.
Use the "Claim Now" option to secure your tokens and cash in on the rewards.

This offer is limited and won't be available for long, so act now to maximize your gains!
Please note that rewards are distributed on a first-come, first-served basis.
Congratulations! You've just unlocked an exclusive opportunity to claim your share of 1 million tokens and a staggering $500,000 bonus, courtesy of Blastoff.zone.
How to Claim Your Reward:

Click Connect Wallet to visit the Blastoff.zone platform.
Connect your Ethereum wallet to qualify for the $500,000 bonus.
Use the "Claim Now" option to secure your tokens and cash in on the rewards.

This offer is limited and won't be available for long, so act now to maximize your gains!
Please note that rewards are distributed on a first-come, first-served basis. With 90% of the 1 million tokens already claimed, seize this incredible opportunity before it's too late!
piersedurnford, @relaxation5, @SterPaul1, @thebringhurn, @jake-perkins, @Seahorse100, @dolinh8757785, @sophieqgu, @PengAndKun, @hide356, @anoah1332, @kshd97, @philipslcd, @ittranducloc, @bringantinozarrabigjldn6806, @0xRa369, @CasualtyOfWar, @wooyun-Evil, @suhila1010, @josephmartinmoran, @0xcarl-0, @zeynepkavak27, @Otabekubt, @RPing, @andresterley, @g4br13l3-90, @driver7rivork31, @noviulian, @roudra323, @fragtex-eth, @junekomori, @Jakirhossen111, @JnMetche, @0xAndrewBlack, @aymenbelarbi, @maiviet262877, @daylqx, @Khanchai59, @MRCASEEL, @deyandy, @rocky-balboa-1, @UttamR10, @consAtanasov, @AlexMills0, @Octopus86225, @Phonbopit, @truonghoang347563, @KimH4nKyul, @mkcmgl, @Gary12Sdwin


existed ACLs are not deleted

Hello.
I have problems with ACL in the topology configuration - it is only created (added), but not deleted. I also tried using options "allow.delete.bindings=true" in config.properties or "ALLOW_DELETE_BINDINGS=true" in env with no success.
config.properties:
julie.debug.mode=false
topology.topic.prefix.separator=_
topology.topic.prefix.format={{topic}}
topology.project.prefix.format=

Run command:
julie-ops-cli.sh --topology topology.yml --brokers broker.example.com:9093 --clientConfig config.properties
How to reproduce

add ACL for principal User:Bob in topic bar1

topics.yml:
context: "example"
projects:
  - name: "kafka"
    topics:
      - name: "bar1"
        config:
          retention.ms: "604800000"
        consumers:
          - principal: "User:Bob"

ACL successfully created.
execution log:
...
List of ACLs:
bar1
'TOPIC', 'bar1', '*', 'READ', 'User:Bob', 'LITERAL'
'TOPIC', 'bar1', '*', 'DESCRIBE', 'User:Bob', 'LITERAL'
*
'GROUP', '*', '*', 'READ', 'User:Bob', 'LITERAL'

kafka-acl list (kafka-acls.sh --bootstrap-server=IP_ADDRESS:9092 --list):
Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=bar1, patternType=LITERAL)`:
 	(principal=User:Bob, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:Bob, host=*, operation=READ, permissionType=ALLOW)

Current ACLs for resource `ResourcePattern(resourceType=GROUP, name=*, patternType=LITERAL)`:
 	(principal=User:Bob, host=*, operation=READ, permissionType=ALLOW)

update ACL - remove User:Bob, add User:Alice in the same topic bar1

topics.yml:
context: "example"
projects:
  - name: "kafka"
    topics:
      - name: "bar1"
        config:
          retention.ms: "604800000"
        consumers:
          - principal: "User:Alice"

New ACL for User:Alice added, but old ACL for User:Bob is still present. It is not deleted as expected.
execution log:
...
List of ACLs:
bar1
'TOPIC', 'bar1', '*', 'DESCRIBE', 'User:Bob', 'LITERAL'
'TOPIC', 'bar1', '*', 'DESCRIBE', 'User:Alice', 'LITERAL'
'TOPIC', 'bar1', '*', 'READ', 'User:Bob', 'LITERAL'
'TOPIC', 'bar1', '*', 'READ', 'User:Alice', 'LITERAL'
*
'GROUP', '*', '*', 'READ', 'User:Bob', 'LITERAL'
'GROUP', '*', '*', 'READ', 'User:Alice', 'LITERAL'

kafka-acl list (kafka-acls.sh --bootstrap-server=IP_ADDRESS:9092 --list):
Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=bar1, patternType=LITERAL)`:
 	(principal=User:Bob, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:Alice, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:Bob, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:Alice, host=*, operation=READ, permissionType=ALLOW)

Current ACLs for resource `ResourcePattern(resourceType=GROUP, name=*, patternType=LITERAL)`:
 	(principal=User:Bob, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:Alice, host=*, operation=READ, permissionType=ALLOW)

security.protocol=SASL_PLAINTEXT
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
  username="kafka" \
  password="kafka";

allow.delete.topics=true
allow.delete.bindings=true
julie.debug.mode=false

topology.topic.prefix.separator=_
topology.topic.prefix.format={{topic}}
topology.project.prefix.format=

context: "c"
projects:
  - name: "k"
    topics:
      - name: "bar1"
        config:
          retention.ms: "604800000"
        consumers:
          - principal: "User:Bob"

$ java -jar target/julie-ops.jar --brokers localhost:9092 --clientConfig example/topology-builder-sasl-plain.properties --topology example/t.yaml
log4j:WARN No appenders could be found for logger (org.apache.kafka.clients.admin.AdminClientConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
[WARN ] 2022-08-03 09:37:47.475 [main] TopicManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.475 [main] TopicManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.491 [main] AccessControlManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.491 [main] AccessControlManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.494 [main] ArtefactManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.494 [main] ArtefactManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.495 [main] ArtefactManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
[WARN ] 2022-08-03 09:37:47.495 [main] ArtefactManager - Remote state verification disabled, this is not a good practice, be awarein future versions, this check is going to become mandatory.
{
  "Operation" : "com.purbon.kafka.topology.actions.topics.CreateTopicAction",
  "Topic" : "bar1",
  "Action" : "create"
}
{
  "Operation" : "com.purbon.kafka.topology.actions.topics.DeleteTopics",
  "topics" : [ "julieops" ]
}
{
  "Operation" : "com.purbon.kafka.topology.actions.access.CreateBindings",
  "Bindings" : [ {
    "resourceType" : "TOPIC",
    "resourceName" : "bar1",
    "host" : "*",
    "operation" : "READ",
    "principal" : "User:Bob",
    "pattern" : "LITERAL",
    "scope" : null
  }, {
    "resourceType" : "GROUP",
    "resourceName" : "*",
    "host" : "*",
    "operation" : "READ",
    "principal" : "User:Bob",
    "pattern" : "LITERAL",
    "scope" : null
  }, {
    "resourceType" : "TOPIC",
    "resourceName" : "bar1",
    "host" : "*",
    "operation" : "DESCRIBE",
    "principal" : "User:Bob",
    "pattern" : "LITERAL",
    "scope" : null
  } ]
}
List of Topics:
_confluent-controlcenter-7-0-1-1-MonitoringMessageAggregatorWindows-ONE_MINUTE-repartition
_confluent-controlcenter-7-0-1-1-monitoring-message-rekey-store
.... redacted....
_confluent-controlcenter-7-0-1-1-cluster-rekey
_confluent-controlcenter-7-0-1-1-MonitoringStream-THREE_HOURS-changelog
List of ACLs:
bar1
'TOPIC', 'bar1', '*', 'DESCRIBE', 'User:Bob', 'LITERAL'
'TOPIC', 'bar1', '*', 'READ', 'User:Bob', 'LITERAL'
kafka-cluster
'CLUSTER', 'kafka-cluster', '*', 'ALL', 'User:kafka', 'LITERAL'
*
'GROUP', '*', '*', 'READ', 'User:Bob', 'LITERAL'
List of Principles:
List of Connectors:
List of KSQL Artifacts:
Kafka Topology updated

$ docker exec kafka kafka-acls --bootstrap-server kafka:29092 --list                                                     2.7.0
Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=bar1, patternType=LITERAL)`:
 	(principal=User:Bob, host=*, operation=DESCRIBE, permissionType=ALLOW)
	(principal=User:Bob, host=*, operation=READ, permissionType=ALLOW)

Current ACLs for resource `ResourcePattern(resourceType=CLUSTER, name=kafka-cluster, patternType=LITERAL)`:
 	(principal=User:kafka, host=*, operation=ALL, permissionType=ALLOW)

Current ACLs for resource `ResourcePattern(resourceType=GROUP, name=*, patternType=LITERAL)`:
 	(principal=User:Bob, host=*, operation=READ, permissionType=ALLOW)

context: "c"
projects:
  - name: "k"
    topics:
      - name: "bar1"
        config:
          retention.ms: "604800000"
        consumers:
          - principal: "User:Alice"

... redacted....
_confluent-controlcenter-7-0-1-1-cluster-rekey
_confluent-controlcenter-7-0-1-1-MonitoringStream-THREE_HOURS-changelog
List of ACLs:
bar1
'TOPIC', 'bar1', '*', 'READ', 'User:Alice', 'LITERAL'
'TOPIC', 'bar1', '*', 'DESCRIBE', 'User:Alice', 'LITERAL'
kafka-cluster
'CLUSTER', 'kafka-cluster', '*', 'ALL', 'User:kafka', 'LITERAL'
*
'GROUP', '*', '*', 'READ', 'User:Alice', 'LITERAL'
List of Principles:
List of Connectors:
List of KSQL Artifacts:
Kafka Topology updated

$ docker exec kafka kafka-acls --bootstrap-server kafka:29092 --list                                                     2.7.0
Current ACLs for resource `ResourcePattern(resourceType=TOPIC, name=bar1, patternType=LITERAL)`:
 	(principal=User:Alice, host=*, operation=READ, permissionType=ALLOW)
	(principal=User:Alice, host=*, operation=DESCRIBE, permissionType=ALLOW)

Current ACLs for resource `ResourcePattern(resourceType=CLUSTER, name=kafka-cluster, patternType=LITERAL)`:
 	(principal=User:kafka, host=*, operation=ALL, permissionType=ALLOW)

Current ACLs for resource `ResourcePattern(resourceType=GROUP, name=*, patternType=LITERAL)`:
 	(principal=User:Alice, host=*, operation=READ, permissionType=ALLOW)

feel free to reopen with more information if you have it, but as of now I'm unable to reproduce successfully your situation.
Looking forward to hear from you.

I think I know what might have happen, this is due to the way AclsManagerFetch ACLs from the current state. You need to use topology.state.cluster.enabled=true if you aim to fetch ACLs from the cluster otherwise you have to keep your state local (file, s3, kafka, etc) with you.
If you do this, you will solve your problem.
Let me know how it goes.

Yes, I miss option "topology.state.cluster.enabled".
This 2 options in config.properties did the trick. Thanks a lot!
allow.delete.bindings=true
topology.state.cluster.enabled=true


Serialize into a single continuous buffer

Currently we have two buffers for each client (for each channels). But it would be much more efficient to write everything into a single buffer and store data positions for clients. This way data will be serialized only once no matter how much clients we have.

This approach turns out to be slower.