/block missing swapSigner operation

I created a swap key transaction and it's landed on chain and  executed successfully on block
106251. See filfox. But when I query block 106251 (suppose to be 106252) it does not show the swap key transaction within the response
curl --location --request POST 'http://<IP_ADDRESS>:8080/block' \
--header 'Content-Type: application/json' \
--data-raw '{
    "network_identifier": {
        "blockchain": "Filecoin",
        "network": "ignition"
    },
    "block_identifier": {
        "index": 106252
    }
}'

{
    "block": {
        "block_identifier": {
            "index": 106251,
            "hash": "0171a0e40220f267e9310938076e93ba38464d39e8059071e71b8b24f5aeea8ee84e13acbfb2"
        },
        "parent_block_identifier": {
            "index": 106250,
            "hash": "0171a0e40220e2a5763f0e1f9f6cb156da988faebc5617c682cd222d9628a808905da104df58"
        },
        "timestamp":<PHONE_NUMBER>000,
        "transactions": [
            {
                "transaction_identifier": {
                    "hash": "bafy2bzacea5ljsf44bxpfjvekhrjy3tu2sivajg7zeuxk7wvqc6rrps2tmssi"
                },
                "operations": [
                    {
                        "operation_identifier": {
                            "index": 0
                        },
                        "type": "Send",
                        "status": "Ok",
                        "account": {
                            "address": "f020522"
                        },
                        "amount": {
                            "value": "-1570930883653067943",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 1
                        },
                        "related_operations": [
                            {
                                "index": 0
                            }
                        ],
                        "type": "Send",
                        "status": "Ok",
                        "account": {
                            "address": "f099"
                        },
                        "amount": {
                            "value": "1570930883653067943",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 2
                        },
                        "related_operations": [
                            {
                                "index": 1
                            }
                        ],
                        "type": "Send",
                        "status": "Ok",
                        "account": {
                            "address": "f016408"
                        },
                        "amount": {
                            "value": "-209457451153742392",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 3
                        },
                        "related_operations": [
                            {
                                "index": 2
                            }
                        ],
                        "type": "Send",
                        "status": "Ok",
                        "account": {
                            "address": "f099"
                        },
                        "amount": {
                            "value": "209457451153742392",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 4
                        },
                        "related_operations": [
                            {
                                "index": 3
                            }
                        ],
                        "type": "Send",
                        "status": "Ok",
                        "account": {
                            "address": "f016408"
                        },
                        "amount": {
                            "value": "-631737796978014767",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 5
                        },
                        "related_operations": [
                            {
                                "index": 4
                            }
                        ],
                        "type": "Send",
                        "status": "Ok",
                        "account": {
                            "address": "f099"
                        },
                        "amount": {
                            "value": "631737796978014767",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    }
                ]
            }
        ],
        "metadata": {
            "blockCIDs": [
                "bafy2bzacedom3utiadx45hpfo2h336oxxgtbzfh64zrfd5lvbgqktgdih55ji",
                "bafy2bzacecvyr35gkt3etcjw7ukab23oqvq3v5d7jjtsn7tyn3xki67pgrc6i",
                "bafy2bzaceb5onlw334fgtc3otfeuszyz6drpvzzlx5crxzsfy5nohrhmkuh3g",
                "bafy2bzacedzmqejthyhmt3wbndt2vp4rjph3ql5a4rke7v4yuesk3knsqkko4",
                "bafy2bzaceahc4xdzjnpvwfrfftvethqi3zai3yuib4a6gjsua3bhjasq4owpm",
                "bafy2bzacecee6xcn3gq3ozkf5rohfzhkqe7iapenokwdy6asuumrbzdcimfuk",
                "bafy2bzacebzhqo2gauyrfkwd35sssoxxkdwlp56bfleur5duwkbzrvxugoyf6",
                "bafy2bzaceb6psbihpalizwdwskwg4tzu5jqbzae2gljt7pjpggzs37cirv7xq"
            ]
        }
    }
}

the related_operations also seems off since it's just related to the previous one. But I think these are separate pairs.
also there is no fee for the send, which is also wired.

I'm still investigating why the Propose operation is missing

Ok, I have a clue... is the actors versioning that excluded that tx. I'll find a way to make the proxy decoupled as possible to actor's versioning.

Ok, it looks better now: https://gist.github.com/raynaudoe/7313beae7f7e5d6202ee594833768f78

Why do we have 2 swap signer operations?
           {
                "transaction_identifier": {
                    "hash": "bafy2bzacebh2fawdpg53sscfc4boeuxs6euc7n5uqxhtfbvfkxdvv7umk5wyq"
                },
                "operations": [
                    {
                        "operation_identifier": {
                            "index": 0
                        },
                        "type": "Propose",
                        "status": "Ok",
                        "account": {
                            "address": "f1zdqprv6ryul3md3xiqpsczpui7xmqwjztvhirsy"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 1
                        },
                        "related_operations": [
                            {
                                "index": 0
                            }
                        ],
                        "type": "SwapSigner",
                        "status": "Ok",
                        "account": {
                            "address": "f023232"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 2
                        },
                        "related_operations": [
                            {
                                "index": 1
                            }
                        ],
                        "type": "SwapSigner",
                        "status": "Ok",
                        "account": {
                            "address": "f023232"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 3
                        },
                        "type": "Fee",
                        "status": "Ok",
                        "account": {
                            "address": "f1zdqprv6ryul3md3xiqpsczpui7xmqwjztvhirsy"
                        },
                        "amount": {
                            "value": "-1780759",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    }
                ]
            },

Seems like the From and the To fields are the same on the SwapSigners op (1 op for each). That's odd...

From and To are different for that transaction thought 🤔  See the filfox link for reference
From t1zdqprv6ryul3md3xiqpsczpui7xmqwjztvhirsy
To t023232

The Propose op is now compliant with filfox.
My question above was if we should return only one SwapSigner op with the corresponding From and To data on the operation's Metadata field or leave as it shown below:
"transactions": [
            {
                "transaction_identifier": {
                    "hash": "bafy2bzacedsv6ueul4jexxcnotvxq6eywfvzozltessus2cinuqaxzqkwz6lo"
                },
                "operations": [
                    {
                        "operation_identifier": {
                            "index": 0
                        },
                        "type": "Propose",
                        "status": "Ok",
                        "account": {
                            "address": "f1zdqprv6ryul3md3xiqpsczpui7xmqwjztvhirsy"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 1
                        },
                        "related_operations": [
                            {
                                "index": 0
                            }
                        ],
                        "type": "Propose",
                        "status": "Ok",
                        "account": {
                            "address": "f023232"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 2
                        },
                        "related_operations": [
                            {
                                "index": 1
                            }
                        ],
                        "type": "SwapSigner",
                        "status": "Ok",
                        "account": {
                            "address": "f1zdqprv6ryul3md3xiqpsczpui7xmqwjztvhirsy"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 3
                        },
                        "related_operations": [
                            {
                                "index": 2
                            }
                        ],
                        "type": "SwapSigner",
                        "status": "Ok",
                        "account": {
                            "address": "f1u232mkcpzm2souuvx6s7unlvi2vrt6satkf6ssi"
                        },
                        "amount": {
                            "value": "0",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    },
                    {
                        "operation_identifier": {
                            "index": 4
                        },
                        "type": "Fee",
                        "status": "Ok",
                        "account": {
                            "address": "f1zdqprv6ryul3md3xiqpsczpui7xmqwjztvhirsy"
                        },
                        "amount": {
                            "value": "-1780759",
                            "currency": {
                                "symbol": "FIL",
                                "decimals": 18
                            }
                        }
                    }
                ]
            },
            {

I think what you have right now is perfect! Thanks @raynaudoe


Sending inventory updates or creating new products

Is there a class for making inventory updates or creating new products?

Hi, I have this error when I try to upload my file;
(naturally I've double checked the keys)
-['exception']	MWSError('\n\n  \n    Sender\n    InvalidAccessKeyId\n    The AWS Access Key Id you provided does not exist in our records.\n  \n  ...\n\n',)	MWSError

Do you get that response for a particular request method or for all of them?
And can you provide a sample of the code that is failing?

Hi @GriceTurrble thank you for reply,
I solved..it was my error in passing parameters
Seems to work now
If anyone interested maybe I can share my code later

Sorry,maybe is a dumb question:
for example, I had to send one feed to italian marketplace and a different one to Spain marketplace;
we have declared
MARKETPLACES = {
    "CA": "https://mws.amazonservices.ca",  # A2EUQ1WTGCTBG2
    "US": "https://mws.amazonservices.com",  # ATVPDKIKX0DER",
    "DE": "https://mws-eu.amazonservices.com",  # A1PA6795UKMFR9
    "ES": "https://mws-eu.amazonservices.com",  # A1RKKUPIHCS9HS
    "FR": "https://mws-eu.amazonservices.com",  # A13V1IB3VIYZZH
    "IN": "https://mws.amazonservices.in",  # A21TJRUUN4KGV
    "IT": "https://mws-eu.amazonservices.com",  # APJ6JRA9NG5V4
    "UK": "https://mws-eu.amazonservices.com",  # A1F83G8C2ARO7P
    "JP": "https://mws.amazonservices.jp",  # A1VC38T7YXB528
    "CN": "https://mws.amazonservices.com.cn",  # AAHKV2X7AFYLW
    "MX": "https://mws.amazonservices.com.mx",  # A1AM78C64UM0Y8
}

so the endpoints for all european market are the same (https://mws-eu.amazonservices.com);
how to point to specified marketplace id like APJ6JRA9NG5V4 or A1RKKUPIHCS9HS?

The endpoints for MWS are a bit different from the marketplace ID (the naming of the above constant is a bit confusing here, so we may adjust that a little in the future).
Amazon documentation has details here: http://docs.developer.amazonservices.com/en_US/dev_guide/DG_Endpoints.html
(side note: our code are missing the marketplace IDs for Australia and Brazil)
Endpoints are used to send data to an MWS server somewhere in the world by the URL of that endpoint. According to their docs, "Calls to Amazon MWS must go through an endpoint for a region or marketplace where the seller is registered to sell": that is, your SellerId must be registered in the region for that endpoint in order to access it.
Marketplaces are used as arguments to MWS APIs to specify which Amazon market the request pertains to. In calls like submit_feed for instance:
https://github.com/python-amazon-mws/python-amazon-mws/blob/6c67339c5a1f99937c60f809526ce06a4ada460e/mws/mws.py#L339-L351
...you would provide a list of marketplaceids* for the feed. For the Italy market, this would be "APJ6JRA9NG5V4". You should be able to use this MarketplaceId to submit a feed for the Italy market, regardless of your MWS endpoint (above).
*in current develop branch and later 1.0 release, this argument is named marketplace_ids instead.

Thank you, I didn't realize that I had to pass marketplaceids to submit_feed

Some example to read a file txt for send throught submitFeed?

reading files in python is probably out of the scope of this project but an example would be something like this:  (omitting setting up the api etc in the first place)
with open('myfile.txt' , 'r') as f:
    result = feeds_api.submit_feed(f, '_POST_FLAT_FILE_INVLOADER_DATA_')

The problem the loop file is:

The first line is the column information (sku, description, type, quantity, etc)

The ideal is load the file and send the content file into submit_feed, anyone help me?

@ssheduardo I'll make some assumptions here that you are reading from a csv file or a tsv file?
Amazon require you send the headers in the file, so as long as you have the correct headers in there, and the file is the correct format (tab seperated) then you should just be able to upload it.
for us here, we create the file on the fly from database information, and send the headers as such:
feed_header = 'sku\tproduct-id\tproduct-id-type\tprice\titem-condition\tquantity\tadd-delete\tmerchant-shipping-group-name\n'

We could send the file columns in any order , as long as they are correctly labeled.

Ok, I understand that first build the header and body (strings).
I try create manually the data example.
I have a demo in Java (I only working with php / python), this example send a file with this flat: POST_FLAT_FILE_LISTINGS_DATA, previously the file is did read as Stream.
I can load file as stream and send to submit_feed?
Thanks @Bobspadger

When send the string, the script return this error
Traceback (most recent call last):
  File "test-amazon.py", line 32, in <module>
    result = feeds_api.submit_feed(feed, '_POST_FLAT_FILE_INVLOADER_DATA_')
  File "/home/demo/anaconda3/lib/python3.7/site-packages/mws/mws.py", line 351, in submit_feed
    md = calc_md5(feed)
  File "/home/demo/anaconda3/lib/python3.7/site-packages/mws/mws.py", line 75, in calc_md5
    md5_hash.update(string)
TypeError: Unicode-objects must be encoded before hashing

TypeError: Unicode-objects must be encoded before hashing

You will have some unicode characters in your string by the sounds of thigs

I not understand same error, see the example:
feed = 'TemplateType=sports\tVersion=2016.0601\t\tOferta-Información de ofertas - Estos atributos se utilizan para que los clientes puedan comprar su artículo en la página web.\n' \
    + 'SKU\tNombre del artículo\tActualizar o borrar\tPrecio de publicación\tCantidad\tPrecio\tPrecio en oferta\tFecha de comienzo de la oferta\tFecha de finalización de la venta\tUnidad de medida peso del artículo en display	Peso del artículo en display\n' \
    + 'item_sku\titem_name\tupdate_delete\tlist_price\tquantity\tstandard_price\tsale_price\tsale_from_date\tsale_end_date\titem_display_weight_unit_of_measure\titem_display_weight\n' \
    + '84\tActualizar parcialmente\t409\t\t\t\t\t\t'

result = feeds_api.submit_feed(feed, '_POST_FLAT_FILE_INVLOADER_DATA_')

Traceback (most recent call last):
  File "test-amazon.py", line 32, in <module>
    result = feeds_api.submit_feed(feed, '_POST_FLAT_FILE_INVLOADER_DATA_')
  File "/home/demo/anaconda3/lib/python3.7/site-packages/mws/mws.py", line 351, in submit_feed
    md = calc_md5(feed)
  File "/home/demo/anaconda3/lib/python3.7/site-packages/mws/mws.py", line 75, in calc_md5
    md5_hash.update(string)
TypeError: Unicode-objects must be encoded before hashing

feed = feed.encode('utf-8')

@NicolaErario work for me.
Thanks you.

This is correct when add my MarketPlaceId
result = feeds_api.submit_feed(feed, '_POST_FLAT_FILE_LISTINGS_DATA_','','XXXXXXXXX')

The problem is, when not send a marketplaceid, the amazon try send the information to many marketplace :(
Is correct as add the markeplaceid in the method submit_feed?
@NicolaErario  anyone solutions?

@ssheduardo
result = feeds_api.submit_feed(feed, '_POST_FLAT_FILE_LISTINGS_DATA_', marketplaceids='XXXXXXXXX')
in your code there are quotes and commas not needed;
I don't push my feeds to all the marketplaces, so I use the "submit_feed" with marketplaceids that I need

@NicolaErario
Adding the marketplaceids='XXXXXXXXX',  amazon set correctly the marketPlaceId
Thanks you.

This example has worked for me.

# coding=utf-8
import mws
import os

#################################

MWS_ACCOUNT_ID = 'YOUR-ACCOUNT-ID'
MWS_ACCESS_KEY = 'ACCESS-KEY'
MWS_SECRET_KEY = 'SECRET-KEY'
MARKETPLACEID = 'YOUR-MARKET-PLACE-ID'
#################################

file_amazon = 'your-file.txt'
feeds_api = mws.Feeds(
    access_key=MWS_ACCESS_KEY,
    secret_key=MWS_SECRET_KEY,
    account_id=MWS_ACCOUNT_ID,
    region='ES',  # if necessary
)

service_status = feeds_api.get_service_status()
print(service_status.parsed)

#send file
feed = open(file_amazon, "r").read()

feed = feed.encode('utf-8')

result = feeds_api.submit_feed(feed, '_POST_FLAT_FILE_LISTINGS_DATA_',marketplaceids=MARKETPLACEID)

print(result.parsed)

As good practice I suggest you to use:
with open ('file_amazon') as f:
    feed = f.read()

as suggested by python doc (7.2);
@ssheduardo

as @NicolaErario has suggested @ssheduardo try to use the with context helper as this will close the file handle after use.
Your code currently leaves the feed file open

Thanks @NicolaErario  and @Bobspadger


Escape multiline comments in the properties with a hash-sign

Some descriptions of properties contain html code, that gets translated
into multiline strings. Those strings are not starting with a hash-sign
and will generate invalid properties files.
Introduce a comment function, that can be used by the template engine
to escape these multiline strings into valid multiline strings, where
each line starts with a hash-sign. The comment function strips carriage
returns chars, as in my experiments the resulting property files had no
such chars at other line endings.
As the comment function has to be placed in the model of the template
execution, the properties will be placed inside of the templateVariables
instead of replacing them completely. That leads to changes in the templates,
where references to properties have to be changed to model.properties.

The issue is here as well - https://github.com/apereo/cas-initializr/blob/master/app/src/main/resources/common/gradle/build.gradle.mustache#L374

Thank you for the patch. The fix here is no longer applicable, as the functionality is removed.


MessageDialog NegativeButton styling

MessageDialog NegativeButton styling is not set to AccentedDialogSquareButton. Would be nice if it would use also this style so text casing would stay same as it is when i set it.

@soend which version?

master branch of Mahapps.
https://github.com/MahApps/MahApps.Metro/blob/master/MahApps.Metro/Themes/Dialogs/MessageDialog.xaml

NegativeButton still does not respect the casing set in string: NegativeButtonText = "No"
Nuget package 1.0.1-ALPHA047

@soend This is the expected behavior. Use the ButtonHelper.PreserveTextCase attached property if you don't want the buttons to change the casing

Im little lost here, when i pull the source from github and run the MetroDemo and open the MessageDialog from menu then the text casing is preserved. But in my application its not. Can anybody point out where in MetroDemo is ButtonHelper.PreserveTextCase set?

I noticed that text casing is preserved when i use ColorScheme = MetroDialogColorScheme.Theme and not preserved when i use ColorScheme = MetroDialogColorScheme.Accented in the MetroDialogSettings, is this expected behavior?

@soend Sounds like a bug. Anyways, when you use the ButtonHelper.PreserveTextCase property, it should always be preserved

Could you give me example how to use this property?

My fault, it's currently only possible in custom dialogs

@soend @flagbug -> https://github.com/MahApps/MahApps.Metro/pull/1793


feat: remove deprecated pvc setup for atlantis data dir

Removing deprecated pvc setup (related to this https://github.com/runatlantis/helm-charts/pull/173)
Just to prepare it and don't forget it

Hello, I participate to Hacktoberfest, is it possible to add a HACKTOBERFEST-ACCEPTED label? 🙏

sure, but we need to review it first

hello @jamengual
Any update on this one? 🙏

Hello @jhaumont please rebase your branch

Instead of removing the pvc, could we disable it instead in case people still want to use it? Is there a need to deprecate it?

Instead of removing the pvc, could we disable it instead in case people still want to use it? Is there a need to deprecate it?

I don't understand. I don't remove the PVC here. I just remove the deprecated values to declare it. We have change the way to do it in another PR #173 with volumeClaim: values. And pvc is still activated by default (enabled: true).

@nitrocode any update regarding the merge of this one?

Looks like the chart version is a conflict even though it bumps to 5.0

@jhaumont could you fix the conflicts? Thanks.

@jhaumont could you fix the conflicts? Thanks.

@jamengual done, you will merge it ? 🙏


Potential DB connection leak

On staging cluster, it is observed that a high amount of active connection with low transactions per second. It is possible that some connections are leaked.

In v2.3.0 we have this https://github.com/SkygearIO/skygear-server/commit/b7fceb0aebf88dd61380b7ab14dcca4d643f6ab7
The bug report is using v2.2.0


Cleanup README

I will close this PR as the repo seem to have moved to its own GitHub organization and hence is not a Pion repo any more..


Force requests dependency version

Why the latest?

Oh, it seemed we had some issues with older requests versions which didn't have support for retrying yet. This should make the coverage reporter working again in CIs.


Add Support for Polyfilled 'crypto' Module.

This PR allows the replicate-js package to run in environments where 'node:crypto' isn't available, given that crypto is polyfilled.
This change is necessary since environments like Vercel's Edge Runtime don't support 'node:crypto' but have a preinstalled crypto polyfill available.
This change doesn't affect Node.js users at all; tests continue to pass and 'node:crypto' is still imported.

I have two sites using replicate-js in production via Vercel Edge Runtime, so this PR is critical to me. Right now, the routes using replicate-js are the only routes running in serverless Node.js, so merging this PR would save me seconds in cold-starts per request.

Closed: Found Workaround


move plugin initializer code into Vmdb::Plugins

the reasoning behind this is, that in a rails console reload! will
reset all classes and also this Vmdb::Plugins singleton
Moving the code that registers all plugins to the initializer makes
sure the all plugins are registered even after a reload.
I think it will save future developers some frustration, when doing stuff in the console or even development mode, when more and more parts of the app rely on the arrays @vmdb_plugins and @registered_automate_domains to be filled.
Its also safe to assume the singleton is accessed after all rails initializers are run - if there is a way to check this, I could add it to the initializer of the singleton class.
@miq-bot add_labels developer, enhacement
@miq-bot assign @bdunne
cc @Fryguy

@miq-bot add_labels enhancement

@bdunne does my reply make sense? I don't see a reason for keeping an initializer... merge?

The initial reason for having this initializer ordering was to make sure the settings initializer had access to Vmdb::Plugins (see  https://github.com/ManageIQ/manageiq/pull/13138)
Which is probably ok if we have only have this one dependency.
What if the : load_inflections initializer suddenly needs Vmdb::Plugins setup before running? Or another one, we dont have yet?
Now, we would have to fine tune the ordering of the :register_vmdb_plugins initializer.
By moving it to def initialize of  Vmdb::Plugins we make sure it's properly setup before anyone calls it.
Maybe I'm missing something very subtle here, but for me this reduces dependencies

@Fryguy @bdunne I leave it up to you to merge or close this.
I still think this makes sense because it prevents developer confusion and bug hunting when they reload
Maybe even without a console reload, but also in rails auto class reloading in devel mode
Maybe even in production if a initializer dependency sneaks in (se my last comment)

@bdunne sorry for resurrecting an old PR. I still think this is a good improvement. If you dont feel like it, just close the PR, no offence taken


(FACT-2676) fix os identifier for opensuse-leap

Opensuse-leap is incorrectly is incorrectly identified as linux, thus the os family name was wrong

No other acceptance tests failed for this PR for any of the supported platforms. Link to Jenkins test results: https://jenkins-master-prod-1.delivery.puppetlabs.net/view/__experimental automatic/job/experimental_auto_puppet-agent-extra_puppet-agent-integration-suite_adhoc-ad_hoc/1/testReport/


NimPlant C2 Detection

Description
Detect NimPlant C2 Servers - https://github.com/chvancooten/NimPlant
The body hash part of the query, while the body seems fairly generic the hits right now all match the same servers so it could prove an additional method of detection for the cases where a reverse proxy is used to hide the server header.
Censys Search Query
NimPlant C2.
services.http.response.headers.Server="NimPlant C2 Server" OR services.http.response.body_hashes="sha256:636d68bd1bc19d763de95d0a6406f4f77953f9973389857353ac445e2b6fff87"

Additional context
Reference: https://twitter.com/chvancooten/status/1629911090774589442

Just added this and a couple others! Thanks for adding!


Add an optional layer showing existing turn restrictions.

Draft for now

Here’s a screenshot of some progress. Basically, showing the original icons (now in purple) alongside svg icons deliberately offset 10m to the east.

In this screenshot, I’m using the icons from JOSM, but I won’t commit these to ABStreet without checking licensing/permissions etc.
Todo:

[ ] Decide on whether to use JOSM icons or not:
[ ] Handle cases where turn geometry does not match turn restriction tagging
[ ] Handle false-positive U-turn labelling

Details
Decide on whether to use JOSM icons or not:

Check JOSM icon licences/permissions/attribution requirements etc prior to including them.
If no to JOSM, find/make alternative icon

OSM tagging is applied to the legal turn, not the prohibited turn:
There are examples where turn restriction tags are applied to the legal turn, not the prohibited turn:

https://www.openstreetmap.org/relation/7710682

Because we’re using “the intersection geometry + the fact there is a banned turn at this intersection”, then this gets mapped the wrong way round (this should be a no-left turn):

I got lost in a bit of an OSM-wiki-rabbit-hole, but can’t find anything that says you shouldn’t map turn restrictions like this. I can kinda see why someone might think that way, and hence it might happen elsewhere too.
Hence I’m not sure where to put this down to incorrect OSM tagging or a situation we should handle.
False positives for U-turn
There are a few examples where the threshold for U-turns results in false positives. eg:

https://www.openstreetmap.org/relation/6677881
https://www.openstreetmap.org/relation/9480138
https://www.openstreetmap.org/relation/9480137
https://www.openstreetmap.org/relation/12140019

I could change the threshold easily enough but I wanted to check if there would be unexpected consequences.
EDIT: Whilst writing these notes, I found make_vehicle_turns, which has more detailed logic to avoid false positives. I’ll do a little be of refactoring so that we can reuse that logic here too.

OSM tagging is applied to the legal turn, not the prohibited turn:

Looking at the example, I'm confused in two ways. The second part of the relation is the north piece of Clayton Street, and so the relation is geometrically referring to a right turn, but it uses "no_left_turn." The left turn from Pink Lane would go against the one-way, so I think the relation is itself redundant; otherwise OSM would be littered with these redundant relations for every one-way road around.
I suspect this is incorrectly tagged. Should I start a thread in the osmus slack, a great place for these kinds of questions? I would say as a first cut, render what's in OSM to surface errors like this, and manually fix up problems we find. We could try to auto-detect certain classes of problems later and maybe hide them from being shown, but that feels less important (and maybe bad, because it stops bad OSM data from being dealt with).

Whilst writing these notes, I found make_vehicle_turns, which has more detailed logic to avoid false positives.

Refactoring sounds great! All of the turn generation code is old and probably convoluted, please ask questions early and often about weird things there! Maybe some of the refactoring effort here can get "upstreamed" into https://github.com/a-b-street/osm2streets/pull/207 a little later.

I've made some more progress on this.

The goldenfiles now contain a section on the turn types and a section on turn restriction.
The tests programmatically compare the test result with the content of the goldenfiles on each run (rather than relying on overwriting them and noticing the changes in the version control).
I’ve wrapped the tests up in a #[cfg(test)]. This has been convenient to allow me to easily select individual tests from the command line. However, I strongly suspect that this is not the idiomatic thing to do. The Test Organization page in the Rust Book, doesn’t really cover integration tests spanning multiple crates and I’ve not looked beyond that, so I’ve left this as is for now.
I’ve made some minor changes to the docs that detail the integration tests. I’ll create a PR for this soon.

Remaining Todo (or at least make as separate issues):

[ ] For now I’ve stuck with the logic of adjusting the size of the icons to match the width of the road. I’m not convinced by this because in some cases the icons are very small. In the LTN mapping, the modal filters are fixed size. Visually the modal filters are more important than the turn restrictions. But perhaps it would be worth trying fix size turn signs, that as smaller than the model filter signs?
[ ] More important are cases where there are more than one turn restriction centred on the same node. Currently, this means that turn signs overlap and only the last-drawn sign is visible. (Here is an example https://www.openstreetmap.org/node/11134462)
[ ] An optional extra feature (though a possible partial solution to the overlapping sign problem above) - it would be nice to have a mouse-over feature. When you move your mouse over the turn-restriction sign, it highlights the relevant road segments. I’ve thought of a couple of ways I could do this, but it might depend on the work you’re doing on osm2streets.
[ ] I made some functions public for testing purposes. It would be appropriate to check that this is still required and revert to private wherever possible.

I have some thoughts about RestrictionType, TurnType, Turn and how they relate to each other, though I’ve no idea how feasible they are. Happy to talk about this at some point.

Notes from discussion. Rather than interpret turn_restrictions, complicated_turn_restrictions, and all the other raw OSM level info, we can take advantage of existing logic that generates lane-level Turns and road-level Movements and figure out what's banned from that.

Change make_all_turns to return two Vec<Turn>s. The first is legal turns, the second is all the illegal stuff that currently gets filtered out. Continue to only store legal Turn when we serialize Map.
In the LTN tool, we can summarize all of the road-to-road turn restrictions in a way that's useful for drawing and editing. First call make_all_turns and only keep the second list, of illegal turns.
Then refactor Movement::for_i to take a specific list of turns as input. It groups Turns into Movements, which are at the entire road level.
To figure out restricted movements, we have to do set difference of illegal movements - legal movements. The reason is that when there are roads with dedicated turn lanes, there will be individual turns banned for some lanes, but not all.

This approach will break for complicated_turn_restrictions, but maybe we can just special-case that and continue to read those directly from Road as we do today.

@dabreegster I think this PR is ready to merge. Happy to hear your feedback.


ci: use quay.io images in upstream tests

test-upstream-k8s

test-upstream-k8s

This got reviewed, upstream k8s tests passed and no other jobs were touched in this PR, marking as ready-to-merge


ESPHome module: Failure to compile firmware because of DynamicUsers

Describe the bug
After setting up ESPHome, plugging in the device to the server and configuring its yaml configuration, trying to install it causes a compilation failure with this error:
Multiple ways to build the same target were specified for: /var/lib/esphome/.esphome/build/m5stack-atom-echo-1/.pioenvs/m5stack-atom-echo-1/adc.o  (from ['/var/lib/private/esphome/.platformio/packages/framework-espidf/components/driver/adc.c'] and from ['/var/lib/private/esphome/.platformio/packages/framework-espidf/components/driver/esp32/adc.c'])
File "/var/lib/esphome/.platformio/platforms/espressif32/builder/frameworks/espidf.py", line 684, in compile_source_files

Steps To Reproduce

Set up ESPHome with this config and a reverse proxy for https

{
  services.esphome = {
    enable = true;
    address = "<IP_ADDRESS>";
    port = 6052;
  };
}

Get the yaml config for my device from here: https://github.com/esphome/wake-word-voice-assistants
Connect the device to the server using a USB cable
Click on install and wait for error to show up

Expected behavior
I expect the firmware to be compiled.
Additional context
Because of DynamicUsers, all of the esphome user's files are placed in /var/lib/private/esphome which gets symlinked to /var/lib/esphome (source). This apparently causes issues with ESPHome and platformio as seen here: https://github.com/platformio/platform-espressif32/issues/515.
I managed to work around this and get it to work by doing this:
{config, lib, ...}: {
  systemd.services.esphome = let
    inherit (lib) mkForce;

    cfg = config.services.esphome;
    stateDir = "/var/lib/private/esphome";
    esphomeParams =
      if cfg.enableUnixSocket
      then "--socket /run/esphome/esphome.sock"
      else "--address ${cfg.address} --port ${toString cfg.port}";
  in {
    environment.PLATFORMIO_CORE_DIR = mkForce "/var/lib/private/esphome/.platformio";

    serviceConfig = {
      ExecStart = mkForce "${cfg.package}/bin/esphome dashboard ${esphomeParams} ${stateDir}";
      WorkingDirectory = mkForce stateDir;
    };
  };
}

I don't know if this is the proper way to get this to work which is why I didn't do a PR.
Notify maintainers
@oddlama
@megheaiulian
@Stunkymonkey
@rhoriguchi
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.6.48, NixOS, 24.11 (Vicuna), 24.11.20240831.12228ff`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.24.4`
 - nixpkgs: `/nix/store/bd4fmzws6n5542khxbifbkr6nrygi232-source`

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

Could you attach the exact config file you are usesing.
Have you tried to compile the firmware manually?
nix-shell -p esphome --command 'esphome compile /var/lib/esphome/DEVICE-CONFIG.yaml'

@rhoriguchi
I'm not sure how I can compile the firmware manually, I keep getting Permission denied: ... even with sudo -u esphome.
However, I changed the ExecStart to the compile command and it only worked when PLATFORMIO_CORE_DIR pointed to /var/lib/private/esphome/.platformio.
All my nix code related to ESPHome is in my first message if that's what you asked.
This is my device config
packages:
  remote_package: github://esphome/firmware/voice-assistant/m5stack-atom-echo.adopted.yaml@main

api:
  encryption:
    key: "xxx"

ota:
  - platform: esphome
    password: "xxx"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  manual_ip:
    static_ip: <IP_ADDRESS>
    gateway: <IP_ADDRESS>
    subnet: <IP_ADDRESS>

  ap:
    ssid: "Esp1 Fallback Hotspot"
    password: "xxx"

Tested it with your config example and got the same issue. The option I suspect causing this issue here https://github.com/NixOS/nixpkgs/blob/574d1eac1c200690e27b8eb4e24887f8df7ac27c/nixos/modules/services/home-automation/esphome.nix#L118
From the man page:

ProtectSystem=
Takes a boolean argument or the special values "full" or "strict". If true, mounts the /usr/ and the boot loader directories (/boot and /efi) read-only for processes invoked by this unit. If set to "full", the /etc/ directory is mounted read-only, too. If set to "strict" the entire file system hierarchy is mounted read-only, except for the API file system subtrees /dev/, /proc/ and /sys/ (protect these directories using PrivateDevices=, ProtectKernelTunables=, ProtectControlGroups=). This setting ensures that any modification of the vendor-supplied operating system (and optionally its configuration, and local mounts) is prohibited for the service. It is recommended to enable this setting for all long-running services, unless they are involved with system updates or need to modify the operating system in other ways. If this option is used, ReadWritePaths= may be used to exclude specific directories from being made read-only. Similar, StateDirectory=, LogsDirectory=, … and related directory settings (see below) also exclude the specific directories from the effect of ProtectSystem=. This setting is implied if DynamicUser= is set. This setting cannot ensure protection in all cases. In general it has the same limitations as ReadOnlyPaths=, see below. Defaults to off.

I haven't tried this, but try to set option to off

I would report this to upstream since the package has a strange way of handling this option.

Setting ProtectSystem to false did not fix my issue

Did you delete the 2 dirs before starting the service? Without that option, it should be able to see both dirs but it won't recreate that private symlink so you should delete it first but make a backup of your config.

/var/lib/esphome
/var/lib/private/esphome

I just tried deleting the 2 dirs and it didn't work either

I tried the solution and it did work for me.

I tried the solution and it did work for me. Thanks!

Hi @GrumpyMeow, where in your configuration did you set that option to off?

I remember deleting the directories, but don't know what else i did. Sorry.

@matt1432 Did you figure out this issue?

I still have to use the workaround that is in my original message


Add Tomcat Settings

Similar to Jetty and Undertow, but using HashMap because there are many options.
What do you think ?
This a first approach with some settings ... there are many more (see here: http://tomcat.apache.org/tomcat-8.0-doc/config/http.html). Thats why I used a HashMap.

And there are an improvement: no need for default values ;)

Closed because issue #166


UNKNOWN_TOPIC A

Hello,
I'm trying deepstream, so i started with docker (v2.2.2):
docker run --rm -it --name deepstream -p 6020:6020 --network network_118 -v $(pwd)/data:/data deepstreamio/deepstream.io:latest

I install deepstream npm package: ("deepstream.io-client-js": "^2.1.5",)
npm install --save deepstream.io-client-js

I do:
import deepstream from 'deepstream.io-client-js';
let client = deepstream('localhost:6020');
client.on('error', function( error, event, topic ){
            console.log(error);
            console.log(topic);
            console.error(event);
          });
client.on('connectionStateChanged', function(state){
              console.log("deepstream state", state);
              if( state == "AWAITING_AUTHENTICATION") {
                console.log("deepstream login");
                client.login({username: "test"});
              } else if( state == "OPEN" ) {
                  console.log("deepstream open");
              }
          });

In my chrome dev i can see an error "UNKNOWN_TOPIC A"
Here a copy/paste of chromedev tools
09:21:02.806 dashboard.tag.html?e17e:20 A
09:21:02.806 dashboard.tag.html?e17e:21 X
09:21:02.806 dashboard.tag.html?e17e:22 UNKNOWN_TOPIC
(anonymous) @ dashboard.tag.html?e17e:22
Emitter.emit @ index.js?9678:145
Client._$onError @ client.js?e3ae:193
Client._onErrorMessage @ client.js?e3ae:218
Client._$onMessage @ client.js?e3ae:147
Connection._onMessage @ connection.js?142c:362
09:21:02.807 dashboard.tag.html?e17e:20 (2) ["UNKNOWN_TOPIC", "A"]

Why do i have this error ?

Can you please paste the frames from the websocket connection? This seems
very odd. Thanks!
On Fri 26. May 2017 at 07:31, pgoergler<EMAIL_ADDRESS>wrote:

Hello,
I'm trying deepstream, so i started with docker (v2.2.2):
docker run --rm -it --name deepstream -p 6020:6020 --network network_118 -v $(pwd)/data:/data deepstreamio/deepstream.io:latest
I install deepstream npm package: ("deepstream.io-client-js": "^2.1.5",)
npm install --save deepstream.io-client-js
I do:
import deepstream from 'deepstream.io-client-js';
let client = deepstream('localhost:6020');
client.on('error', function( error, event, topic ){
console.log(error);
console.log(topic);
console.error(event);
});
client.on('connectionStateChanged', function(state){
console.log("deepstream state", state);
if( state == "AWAITING_AUTHENTICATION") {
console.log("deepstream login");
client.login({username: "test"});
} else if( state == "OPEN" ) {
console.log("deepstream open");
}
});
In my chrome dev i can see an error "UNKNOWN_TOPIC A"
Here a copy/paste of chromedev tools
09:21:02.806 dashboard.tag.html?e17e:20 A
09:21:02.806 dashboard.tag.html?e17e:21 X
09:21:02.806 dashboard.tag.html?e17e:22 UNKNOWN_TOPIC
(anonymous) @ dashboard.tag.html?e17e:22
Emitter.emit @ index.js?9678:145
Client._$onError @ client.js?e3ae:193
Client.onErrorMessage @ client.js?e3ae:218
Client.$onMessage @ client.js?e3ae:147
Connection._onMessage @ connection.js?142c:362
09:21:02.807 dashboard.tag.html?e17e:20 (2) ["UNKNOWN_TOPIC", "A"]
Why do i have this error ?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/deepstream.io/issues/685, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ACm7S_yavxnL6isrgKR4ICgb3P_aaAP7ks5r9mOjgaJpZM4NnMIS
.

How can i get them ?

https://kaazing.com/inspecting-websocket-traffic-with-chrome-developer-tools/
On Mon 29. May 2017 at 08:05, pgoergler<EMAIL_ADDRESS>wrote:

How can i get them ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/deepstream.io/issues/685#issuecomment-304579501,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACm7S6SDO570n5EM3M-Dfuv_yw3TD8h1ks5r-mAmgaJpZM4NnMIS
.

Here the copy/paste
CCH	5	10:11:22.102
CCHRws://localhost:6020/deepstream	37	10:11:22.106
CA	4	10:11:22.118
AREQ{"username":"paul"}	36	10:11:22.127
AREQ{"username":"paul"}	36	10:11:22.128
AA	4	10:11:22.160
RCRasterisk	14	10:11:22.163
XEUNKNOWN_TOPICA	20	10:11:22.164

Looks like you are calling .login twice
The second time it is called your connection may already be authenticated
and hence your receiving unknown action
On Mon 29. May 2017 at 08:14, pgoergler<EMAIL_ADDRESS>wrote:

Here the copy/paste
C�CH�	5	10:11:22.102
C�CHR�ws://localhost:6020/deepstream�	37	10:11:22.106
C�A�	4	10:11:22.118
A�REQ�{"username":"paul"}�	36	10:11:22.127
A�REQ�{"username":"paul"}�	36	10:11:22.128
A�A�	4	10:11:22.160
R�CR�asterisk�	14	10:11:22.163
X�E�UNKNOWN_TOPIC�A�	20	10:11:22.164
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/deepstream.io/issues/685#issuecomment-304580480,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACm7S7mQOW4sloczkW373fUesd6K_d-mks5r-mImgaJpZM4NnMIS
.

We could probably improve that log 😁
On Mon 29. May 2017 at 08:15, Yasser Fadl<EMAIL_ADDRESS>wrote:

Looks like you are calling .login twice
The second time it is called your connection may already be authenticated
and hence your receiving unknown action
On Mon 29. May 2017 at 08:14, pgoergler<EMAIL_ADDRESS>wrote:

Here the copy/paste
C�CH�	5	10:11:22.102
C�CHR�ws://localhost:6020/deepstream�	37	10:11:22.106
C�A�	4	10:11:22.118
A�REQ�{"username":"paul"}�	36	10:11:22.127
A�REQ�{"username":"paul"}�	36	10:11:22.128
A�A�	4	10:11:22.160
R�CR�asterisk�	14	10:11:22.163
X�E�UNKNOWN_TOPIC�A�	20	10:11:22.164
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/deepstream.io/issues/685#issuecomment-304580480,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACm7S7mQOW4sloczkW373fUesd6K_d-mks5r-mImgaJpZM4NnMIS
.

This is weird, because as you can see id do :
client.on('connectionStateChanged', function(state){
              console.log("deepstream state", state);
              if( state == "AWAITING_AUTHENTICATION") {
                console.log("deepstream login");
                client.login({username: "paul"});
              } else if( state == "OPEN" ) {
                  console.log("deepstream open");
              }
          });

So the login request is only done after console.log("deepstream login");, but in the javascript console the log appear only once

Here the console log:
deepstream state AWAITING_CONNECTION
10:11:22.104 dashboard.tag.html?e17e:54 deepstream state CHALLENGING
10:11:22.118 dashboard.tag.html?e17e:54 deepstream state AWAITING_AUTHENTICATION
10:11:22.119 dashboard.tag.html?e17e:56 deepstream login
10:11:22.120 dashboard.tag.html?e17e:54 deepstream state AUTHENTICATING
10:11:22.127 dashboard.tag.html?e17e:54 deepstream state AUTHENTICATING
10:11:22.160 dashboard.tag.html?e17e:54 deepstream state OPEN
10:11:22.161 dashboard.tag.html?e17e:59 deepstream open
10:11:22.169 dashboard.tag.html?e17e:51 (2) ["UNKNOWN_TOPIC", "A"]

Only one deepstream login appear but 2 AUTHENTICATING

I have also override "client logging" with:
let fn = tag.client.login;
          client.login = function() {
            console.error("deepstream login request");
            return fn.apply(this, arguments);
          };

And there is only one "deepstream login request" in the console log.

I need to see the code, this is most likely a weird use of the API, which
is a bug in itself for allowing the state.
Would that be possible?
On Mon 29. May 2017 at 08:24, pgoergler<EMAIL_ADDRESS>wrote:

I have also override "client logging" with:
let fn = tag.client.login;
client.login = function() {
console.error("deepstream login request");
return fn.apply(this, arguments);
};
And there is only one "deepstream login request" in the console log.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/deepstream.io/issues/685#issuecomment-304582014,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACm7S7aU-5z8XDmPi7KwfEU8aZhxD9yiks5r-mSlgaJpZM4NnMIS
.

ok i'll prepare a clean project

Here the project which use webpack:

thanks! Will get back to you soon

@yasserf I've seen this while testing 2.3.4 when I start up a second DS server (mac osx) I see the below console msgs on the second server (uuid -> 02 below) console when I attempt to use a DS java client to setData through first server (uuid -> 01 below):
CLUSTER_JOIN | RVD-02-DEBUG-deepstream-redis-localhost
INFO | Listening for websocket connections on <IP_ADDRESS>:6021/deepstream
INFO | Listening for health checks on path /health-check
INFO | connectionEndpoint ready: WebSocket Connection Endpoint
INFO | Deepstream started
CLUSTER_JOIN | RVD-01-DEBUG-deepstream-redis-localhost
UNKNOWN_ACTION | A
The UNKNOWN_ACTION does NOT show up on the console of the first server node (uuid -> 01)

After some investigation, the ** UNKNOWN_TOPIC** appear when i do login() in the
client.on('connectionStateChanged', function(state){
}```

i did it here, because i though we should wait the "AWAITING_AUTHENTICATION".

Hey,
Apologies for the delay, we got a spit swept away with the 2.3.

Generally you can login from anywhere, the states are maintained by the
SDK. It appears the server needs to return a better error message since
your still in the connection state when you send that message possibly.
On Fri 9. Jun 2017 at 09:02, pgoergler<EMAIL_ADDRESS>wrote:

After some investigation, the ** UNKNOWN_TOPIC** appear when i do login()
in the
client.on('connectionStateChanged', function(state){
}```
i did it here, because i though we should wait the "AWAITING_AUTHENTICATION".
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/deepstreamIO/deepstream.io/issues/685#issuecomment-307312266,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACm7S81-D3FZvRGp6Jo4U7_wYvQjtlAoks5sCO35gaJpZM4NnMIS
.

@pgoergler Your code does reproduce the error, but it has to do solely with your code.
If you call login from within the connectionStateChanged it happens to be trigger twice.
Checkout out this repo where I've reproduced your bug with your code and I have a normal version too:
https://github.com/deepstreamIO/bugs-reproduction/tree/685/685
@yasserf It turns out that if you happen to call client.login from within the connectionStateChanged event listener, it sort of gets trigger twice, I've checked that and it calls _sendAuthArguments twice and same goes with submitting to the endpoint so...

We will fix this by adding an 'ALREADY_AUTHENTICATED' error rather than an unknown topic.
We'll also fix this in the client to avoid getting into that state

Can you link this to the PR you made?


Download error with changed download path

https://github.com/devhotteok/TwitchLink/issues/23
버그맞아요. 무슨 not a bug.

Others are using it without problems, and if you're the only one having problems, it's because of your computer settings. This may be due to an antivirus program or other permission settings.


Fix dry run

Currently in dry run phase, honggfuzz partially reads files and mangle them, which is more wet than dry. This PR fixes that behaviour.

Thanks


Bluetooth: Controller: Use sys_get_le24 to fetch 24-bit data

Use sys_get_le24 to pass CRC init value.
Define RADIO_CRC_POLYNOMIAL to replace the magic number.
Fixes #27971.
Signed-off-by: Adhipta Putra<EMAIL_ADDRESS>

@adpu88 could you please fix the whitelist errors?

Commit 2bad17bbe8:
1: UC5 Title exceeds max length (76>75): "Bluetooth: Controller: Replaced RADIO_CRC_POLYNOMIAL with PDU_CRC_POLYNOMIAL"
2: B4 Second line is not empty: "Replaced 0x555555 with PDU_AC_CRC_IV"


Add English <-> Spanish language toggler to patient experience pages

Related Issue or Background Info
Closes #2115
Changes Proposed

Add a button to the patient experience header to toggle the display language between English and Spanish

Additional Information

N/A

Screenshots / Demos
Self-registration:
https://user-images.githubusercontent.com/27730981/128412168-efb0673a-3c5a-4d2d-ab82-f4cf99ec0323.mov
https://user-images.githubusercontent.com/27730981/128412134-f93f81de-014a-4d53-999a-d669ba71408a.mov
View test result:
https://user-images.githubusercontent.com/27730981/128412271-201758fc-d684-42fb-98f5-e2fe2ce1982d.mov
Checklist for Author and Reviewer

[ ] @kenieh - everything look good design-wise? How's the placement/size of the icon and text for the toggle?
[ ] @aliciabeckett-gov - to your knowledge, does this fully satisfy the requirements of this epic?
[ ] @nickscialli-usds - general technical review. My CSS feels a little gross but hopefully it's OK.
[ ] @Rebecca-LM - if you notice any mistakes in either the English or Spanish copy, please let me know!

UI

[x] Any changes to the UI/UX are approved by design
[x] Any new or updated content (e.g. error messages) are approved by design

Testing

[x] Includes a summary of what a code reviewer should verify

Changes are Backwards Compatible

[x] ~Database changes are submitted as a separate PR~

[x] ~Any new tables that do not contain PII are accompanied by a GRANT SELECT to the no-PHI user~
[x] ~Any changes to tables that have custom no-PHI views are accompanied by changes to those views~
~(including re-granting permission to the no-PHI user if need be)~
[x] ~Liquibase rollback has been tested locally using ./gradlew liquibaseRollbackSQL or liquibaseRollback~

[x] ~GraphQL schema changes are backward compatible with older version of the front-end~

Security

[x] ~Changes with security implications have been approved by a security engineer (changes to  authentication, encryption, handling of PII, etc.)~
[x] ~Any dependencies introduced have been vetted and discussed~

Cloud

[x] ~DevOps team has been notified if PR requires ops support~
[x] ~If there are changes that cannot be tested locally, this has been deployed to our Azure test environment for verification~

@nathancrtr corrections below.

Under the Spanish DOB we have the instructions in Spanish, but then the ghost text in the field itself is still the letters for English (mm/dd/yyyy). If possible the ghost text year should be changed to "mm/dd/aaaa" so it has the 4 a's at the end.
For the Spanish registration complete screen, change the word "examen" to "prueba"
For view test result, Spanish version, it says "or" between the month/day/year options. Please change "or" to "o".

I'm curious how the self-registration looks on mobile. Could we see an example of that?

This is basically ready, just one small nitpick. I don't want to "approve" yet because we probably should not land this until some of those constants translations are sorted out

Exactly right. See 6c8a9fe for a proposed way of resolving the issue: namely, passing the translate function from the i18n hook into functions that return the constants.
It feels a little... hideous... but fully resolves the issue of translated constants living outside of React components. There is still one small hiccup with this solution, in that the form validation errors don't consistently stay in step with the rest of the translated components:
https://user-images.githubusercontent.com/27730981/128553853-82a22611-1cfa-4dc7-9242-a21566e568f0.mov
Please let me know what you think of the changes made in 6c8a9fe. By all means, I would be happy to land on a more elegant approach 🙂

I'm curious how the self-registration looks on mobile. Could we see an example of that?

Here's the full workflow (in English, fwiw):
https://user-images.githubusercontent.com/27730981/128555752-7e690a6d-43e3-4e1a-b714-62e58679362b.mov


Support google service account for server 2 server applications

Hi
It would be nice if you can support google service accounts:
https://developers.google.com/identity/protocols/OAuth2ServiceAccount
With this model there is no need for the user to accept the api on a popup and hopefully the image in the alert email does not show a "Annotation query failed"-message anymore.

What kind of admin account do you need?

I'm not sure, because I'm not admin.
This is just another trial.
https://github.com/mtanda/grafana-google-calendar-datasource/pull/13
I can't test it, but it may work...
You need to create service account, and download json file from google console.
Then, change Access to Server (Default), specify the file path in datasource setting page.

Tested plugin from master branch.
Configuration seems to work:
Enter path to service account file -> "Save & Test" -> "Testing..." -> "Data source is working"
But opening a dashboard with calendar annotation shows a red box with
"Annotation Query Failed
Metric request error"

I should tell you one important point.
This backend code depends on
https://github.com/grafana/grafana/commit/4533f22871c207764f704f6280a555febe4c7c50#diff-36fa1b3501cb9f21b877adee5dc840c5 .
To use plugin, you may need to use Grafana nightly build.
I guess the "Metric request error" is happen before response result, so the oauth2 client fail to get access token.


Mixin Crash w/ Resourceful Bees

Minecraft v1.15.2
Forge v31.2.45
Dungeons' Gear v1.2.2
Resourceful Bees v0.3.8a
I started getting this crash with mixin after installing the Resourceful Bees mod.
Error Log

See #7. This is up to Resourceful Bees to fix.

Ok, thanks.


mandatory/optional field

[x] label some fields as mandatory
[ ] add the mention (optional) in the text placeholder of the optional fields
[x] validate formatting of fields with mandatory format (eg: date-of-interview and userID)

mandatory and date validations forms done with wtforms.
Not going to mention (optional)


Change  to

In my testing, these methods seem to use clientCode in place of tenantId in the request URLs. The current-customer facing documentation says to use tenantId, which could cause confusion for customers since tentandId and clientCode do not always match on customer accounts.

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

When I attempted to use tenant instead of client code, it returned an error, so there may be some troubleshooting that needs to be done if tenant is the intended value!

Worth noting that on the account I'm using, tenant and client code are different values. Though that is not always the case, it is definitely a frequent occurrence.


Gabh

Hello,
Edited the Imagery on a web map from DEA

now has an easy location selector
points to a image in Ghana

Thanks @Gabzgit
Couple of minor things to fix up:

Remove the Compatibility section at the top of the notebook as this is redundant for DE Africa.

I would remove the markdown cell for the set_default_rio_config section, and instead put the import and the function at the bottom of the load-packages cell. I think its just confusing for the user and we don't have this as it's own cell in any of the other notebooks. You can also remove the if 'AWS_ACCESS_KEY_ID' in os.environ: part because DE Africa is always in the AWS environ.

Reduce the number of decimal points on the lat/lon as once you get beyond 3 or 4 decimal points you're well beyond the resolution of the satellite.  See here for a bulletproof guide.

The link to the explorer under the Find datasets heading should use the [explorer](link-goes-here) method.

The description for the Load red/green/blue bands section is no longer relevant as load_ard uses 'find_datasets' under-the-hood now.

The Additional Information section needs to be changed to the DE Africa one, you can copy it from on of the other notebooks or from the template. Same for the tags


Upgrade Aiohttp 2.1.0

Upgrading to Aiohttp 2.1.0 anytime soon? https://pypi.python.org/pypi/aiohttp
adds speed increases...

Finally uvloop gives performance improvement. Overall performance improvement should be around 70-90% compared to 1.x version.

http://aiohttp.readthedocs.io/en/latest/migration.html

I'm not really worried about it. It's for a test suite that doesn't really care about performance.
If you can find a way to do this without breaking the tests I'm down for it.


feat: enable concurrent reconciling for push secret reconciler

Problem Statement
What is the problem you're trying to solve?
Related Issue
Fixes https://github.com/external-secrets/external-secrets/issues/4123
Proposed Changes
How do you like to solve the issue and why?
Checklist

[ ] I have read the contribution guidelines
[ ] All commits are signed with git commit --signoff
[ ] My changes have reasonable test coverage
[ ] All tests pass with make test
[ ] I ensured my PR is ready for review with make reviewable

Frigging publisher failing on cancelled is so weird. The build works normally.
09:01:35 [ OK ] docker build


how to get XCode user defined settings in a lane

New Issue Checklist

[X ] Updated fastlane to the latest version
[ X] I have read the Contribution Guidelines

Issue Description
How can I get the value of a user defined setting in my Xcode project for use in a lane? Let's call it MY_CUSTOM_ID for discussion. It is printing the variable in the gym log file (under ~/Library/Logs/gym) as "export MY_CUSTOM_ID=xxx".   But trying to get it via ENV['MY_CUSTOM_ID'] is blank.
Some additional context is at the link below but its more of a general fastlane question.
https://github.com/hjanuschka/fastlane-plugin-upload_symbols_to_new_relic/issues/2
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:

✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.1

Ruby
2.3.1

Bundler?
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

Git
git version 2.10.0

Installation Source
/Users/vamsee/Software/ruby/bin/fastlane

Host
Mac OS X 10.12.1 (16B2555)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2h  3 May 2016

fastlane gems

Gem
Version
Update-Status

credentials_manager
0.16.2
✅ Up-To-Date

spaceship
0.36.2
✅ Up-To-Date

fastlane_core
0.53.0
✅ Up-To-Date

deliver
1.14.5
✅ Up-To-Date

snapshot
1.16.3
✅ Up-To-Date

frameit
3.0.0
✅ Up-To-Date

pem
1.3.2
✅ Up-To-Date

cert
1.4.3
✅ Up-To-Date

sigh
1.11.2
✅ Up-To-Date

produce
1.2.1
✅ Up-To-Date

gym
1.11.3
✅ Up-To-Date

pilot
1.11.1
✅ Up-To-Date

scan
0.13.1
✅ Up-To-Date

supply
0.7.1
✅ Up-To-Date

match
0.10.0
✅ Up-To-Date

screengrab
0.5.5
✅ Up-To-Date

fastlane
1.106.2
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-upload_symbols_to_new_relic
0.1.1
✅ Up-To-Date

Loaded gems

Gem
Version

did_you_mean
1.0.0

highline
1.7.8

commander
4.4.0

terminal-table
1.4.5

json
1.8.3

multipart-post
2.0.0

faraday
0.9.2

faraday_middleware
0.10.0

dotenv
2.1.1

net-ssh
3.2.0

net-sftp
2.1.2

plist
3.1.0

rubyzip
1.1.7

security
0.1.3

krausefx-shenzhen
0.14.10

slack-notifier
1.5.1

i18n
0.7.0

thread_safe
0.3.5

tzinfo
1.2.2

activesupport
<IP_ADDRESS>

CFPropertyList
2.3.3

claide
1.0.1

colored
1.2

nanaimo
0.1.2

xcodeproj
1.4.0

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

addressable
2.4.0

credentials_manager
0.16.2

multi_xml
0.5.5

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161021

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
1.6.8

xcode-install
2.0.8

word_wrap
1.0.0

multi_json
1.12.1

babosa
1.0.2

excon
0.54.0

gh_inspector
1.0.2

fastlane_core
0.53.0

bundler
1.12.5

mini_magick
4.5.1

xcpretty-travis-formatter
0.0.4

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

logging
2.1.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

google-api-client
0.9.19

io-console
0.4.5

fastlane-plugin-upload_symbols_to_new_relic
0.1.1

generated on: 2016-10-29

i think that the export inside the log is printed by xcodebuild itself - wich is not a part of fastlane (atleast not directly) - i guess.
can you provide a trimmed-to-essentials sample project? so we can see where you set MY_CUSTOM_ID ?

@hjanuschka  you may be right. The nice thing is that xcodebuild is doing the required scheme specific variable expansion (in this case NEW_RELIC_ID) that I 'm unable to get via the get_info_plist_value action even if I can get past the problem of dynamically building the target specific plist path.
Trimmed project is a bit of work but here are 3 semi-anonymized screenshots that might convey my setup enough to may be setup something if someone feels like its worth supporting.
Lets start with build settings. In this screenshot you can see a variable called NEW_RELIC_ID initialized to one of the 3 New Relic app keys on the right (anonymized with black,  purple and red) depending on the build scheme.  The three schemes are shown at the top left (for Adhoc, Debug and Release respectively) for the selected target on the immediate left.
You can also see 7 targets on the left each of which has 3 schemes, corresponding to build configs for Adhoc, Debug, Release which nicely map to match provisioning profiles. I have a ruby settings file where I specify the New Relic app ids as I only need them during symbol upload. The 3 app keys in the build settings are however needed by the Swift code and Xcode IDE so they can't live in the outside ruby settings file (may be there is some clever way to do that I don't know).

Here is a build config in the scheme.

Here is the plist (one per target) that has a NewRelicAppId initialized to the aforementioned NEW_RELIC_ID. In the Swift is it accessed as newRelicAppId = infoPlist["NewRelicAppId"] as we discussed in the other thread in your plugin repo.

The Swift app at runtime picks up the right New Relic key based on the scheme. It is also printed in the gym log file (which I have extracted in the lane I shared on the other thread).

I should add that if Fabric is much better at handling multiple apps compared this New Relic complication with multiple keys but our apps need this data in  both for various reasons.

ok got you, yeah me too thinks that fabric is eaysier to handle, but anyway - its not the tool you use so - lets try it  👏
you can use the xcodeproj gem - than something like this would work (i guess, as said without a sample project wich i can clone - its hard to 100% verify)
require 'xcodeproj'

proj = XcodeProject::Project.new('app.xcodeproj')
data = proj.read
ENV['NEW_RELIC_ID'] =  data.target('example').config('Release').build_settings['NEW_RELIC_ID']

you have to adjust the target and config - and probably use .inspect on data.target('example').config('Release').build_settings  to see what it returns 🙏

Thanks for that suggestion. Somehow your code does not work in a lane. Gives an error like this:
Fastfile:398:in block (2 levels) in parsing_binding': [!] undefined method target' for #Xcodeproj::Project:0x007fee8b99f7d8 (NoMethodError)
Did you mean?  targets
If I change it to targets it says I need to supply a integer index into it. I looked up docs but didn't find much. After some trial and error this kind of looping gets the right values but would be nicer if there is a working hash based indexing to get to them directly.
project = Xcodeproj::Project.open('../iPhone/My.xcodeproj')
project.targets.each do |target|
    target.build_configurations.each do |config|
        puts config.build_settings['NEW_RELIC_ID']
    end
end

hmmm - ok seems to be i was reffing to another gem :D xcodeproject instead of xcodeproj - seems to be a fork - bet
require 'xcodeproject'
proj = XcodeProject::Project.new('app.xcodeproj')
data = proj.read
ENV['NEW_RELIC_ID'] =  data.target('example').config('Release').build_settings['NEW_RELIC_ID']

yes. that works. thanks.

awesome 🚀 , glad it helped!

@hjanuschka  while that worked in a test lane, the xcodeproject gem seems to trigger a conflict in another lane where gym is used. here's the error. I have gym 1.11.3. I 'm going to stay with my solution of parsing the gym build log for now. You might be able to reproduce this easily in a test project. Just try to invoke gym with the xcodeproject-0.3.13 gem installed. If you remove xcodeproject gem gym runs fine.
[20:30:20]: ▸ Archive Succeeded
[20:30:20]: Generated plist file with the following values:
[20:30:20]: ▸ -----------------------------------------
[20:30:20]: ▸ {
[20:30:20]: ▸   "method": "ad-hoc"
[20:30:20]: ▸ }
[20:30:20]: ▸ -----------------------------------------
[20:30:20]: Variable Dump:
[20:30:20]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios beta", :SIGH_PROFILE_TYPE=>"ad-hoc"}
[20:30:20]: undefined method `to_plist' for :method:Symbol

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | cocoapods                           | 61          |
| 4    | match                               | 12          |
| 💥    | gym                                 | 383         |
+------+-------------------------------------+-------------+

[20:30:20]: fastlane finished with errors

Looking for related GitHub issues on fastlane/fastlane...

Found no similar issues. To create a new issue, please visit:
https://github.com/fastlane/fastlane/issues/new
/Users/me/Software/ruby/gems/xcodeproject-0.3.13/lib/xcodeproject/extend/hash.rb:30:in `block in to_plist': [!] undefined method `to_plist' for :method:Symbol (NoMethodError)
	from /Users/me/Software/ruby/gems/xcodeproject-0.3.13/lib/xcodeproject/extend/hash.rb:30:in `each'
	from /Users/vamsee/Software/ruby/gems/xcodeproject-0.3.13/lib/xcodeproject/extend/hash.rb:30:in `map'
	from /Users/vamsee/Software/ruby/gems/xcodeproject-0.3.13/lib/xcodeproject/extend/hash.rb:30:in `to_plist'
	from /Users/vamsee/Software/ruby/gems/gym-1.11.3/lib/gym/generators/package_command_generator_xcode7.rb:175:in `config_content'
	from /Users/vamsee/Software/ruby/gems/gym-1.11.3/lib/gym/generators/package_command_generator_xcode7.rb:19:in `generate'
	from /Users/vamsee/Software/ruby/gems/gym-1.11.3/lib/gym/generators/package_command_generator.rb:16:in `generate'
	from /Users/vamsee/Software/ruby/gems/gym-1.11.3/lib/gym/runner.rb:118:in `package_app'

Without xcodeproject gem, gym output looks like this around the same lines and it succeeds.
....
....
[20:49:15]: ▸ Archive Succeeded
[20:49:16]: Generated plist file with the following values:
[20:49:16]: ▸ -----------------------------------------
[20:49:16]: ▸ {
[20:49:16]: ▸   "method": "ad-hoc"
[20:49:16]: ▸ }
[20:49:16]: ▸ -----------------------------------------
[20:49:16]: $ /usr/bin/xcrun /Users/me/Software/ruby/gems/gym-1.11.3/lib/assets/wrap_xcodebuild/xcbuild-safe.sh -exportArchive -exportOptionsPlist '/var/folders/69/5dwbppxx1h1c89l7msfw05fm0000gn/T/gym_config20161031-43664-1fh14l8.plist' -archivePath /Users/vamsee/Library/Developer/Xcode/Archives/2016-10-31/MyApp\ 2016-10-31\ 20.43.40.xcarchive -exportPath '/var/folders/69/5dwbppxx1h1c89l7msfw05fm0000gn/T/gym_output20161031-43664-1fqkt2f'
[20:50:04]: Compressing 17 dSYM(s)
....
...

Seems like xcodeproject is somewhat older and not actively maintained.
https://rubygems.org/gems/xcodeproject/versions (last version at 0.3.13 in dec, 2014)
whereas xcodeproj seems to be more actively maintained.
https://rubygems.org/gems/xcodeproj/versions (last version 1.4.0 a couple of days ago).
Sounds like that older xcodeproject doesn't play well with gym. I will look into solving this (low pri) via xcodeproj as an alternative to parsing gym logs.

Here is another approach that does not involve importing anything extra and does not involve parsing gym log file.

    # assume we got the following three via some  via some app custom hash
    target='MyAppDebug'
    build='Debug'
    nrAppId = 'nr-myAppDebug
'
    # figure out the nr key by looping through the project targets.
      nrKey = ''
      project = Xcodeproj::Project.open('../MyApp.xcodeproj')
      project.targets.each do |mtarget|
          if mtarget.name == target
              mtarget.build_configurations.each do |mbuild|
                  if mbuild.name == build
                      nrKey =  mbuild.build_settings['NEW_RELIC_ID'].chomp
                  end
              end
          end
      end

      puts "  #{nrKey} #{nrAppId}"
      unless nrAppId.nil?
          upload_symbols_to_new_relic(
                new_relic_license_key: nrKey,
                new_relic_app_name: nrAppId
            )
      end


Snowplow CLI: add reprocess bad rows sub-command

Using Hadoop Bad Rows
A couple of notes:

Disable GZIP
From R72 onwards, reprocessing the shredded bad bucket won't be very useful (because the enrichment process has all the same JSON Schema validation)

running with df-runner, closing


depthai: 2.20.2-2 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository depthai to 2.20.2-2:

upstream repository: https://github.com/luxonis/depthai-core.git
release repository: https://github.com/luxonis/depthai-core-release.git
distro file: noetic/distribution.yaml
bloom version: 0.11.2
previous version for package: 2.20.2-1

depthai
* Fix for ColorCamera at high resolution while using isp scaling
* Fix for OV9282 SW sync on devices with OV9782 RGB camera
* Fix for IMX378/477/577 on sockets other than CAM_A (RGB)
* Contributors: Alex Bougdan, Szabolcs Gergely, Martin Peterlin

Holding for Noetic sync


miller: 5.10.3 -> 6.1.0

Description of changes
Fixes #163851.

Things done

Built on platform(s)

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

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

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

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

[x] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[x] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Thanks!
Fixes #163851 .
(above text might need to be in the PR description or commit message to auto-close, but that's fine :), at least want to link the two)

I haven't checked my email for a while. Thanks for letting me know about #163851.
Updated the PR description.

Version 6.2.0 was released in the meantime, so I updated this PR.

Could you squash your commits? Otherwise, LGTM.

Squashed, thanks.


[bug] ⏱ 01 January 1970

right click menu > video > related videos
on the main window, all videos display the age (⏱) as 01 January 1970

The published date no longer seems to be provided by YouTube for related videos.


Hello,I use the offline version of stable diffusion，I want to ask, can I use Lora or a model (ckpt、VAE)? How do I set it up?

Describe the feature you'd like to see:
Hello,I use the offline version of stable diffusion，I want to ask, can I use Lora or a model (ckpt、VAE)? How do I set it up?
Additional information

Yes, you can choose the model through the Automatic1111 UI first, and then it will be used by AI Render. The presets (the thumbnail images in your screenshot - Anime, Abstract, Iridescent, etc) are a different thing. Those are just extra words added to your prompt.

I see. Thank you for your guidance


Commented out unused imports that were causing warnings.

Some of the classes/packages being imported weren't included in the code, causing warnings. I commented them out and they can be removed later if not needed.

Hello! Thanks for submitting this PR, and welcome to the team!
I'd suggest you delete the imports since they are unused
Generally we don't hunt down warnings in the code since there are a lot of them and they continue to appear over time
I went ahead and ran "Optimize Imports" with IntelliJ, it seems to have caught a few more that you missed, ae10de2c992202d3ba3f2ace848231ba7cefe65d
Again, thank you for the PR!