Release azure-cli-acr 2.0.3

Reviewers, please verify the following for this PR:

[ ] The PR title has format Release <component-name> <version>.
[ ] setup.py has been modified with the same version as in the PR title.
[ ] HISTORY.rst has been modified with appropriate release notes.
[ ] If releasing azure-cli or azure-cli-core, __version__ defined in __init__.py should also be modified to match.

Started releasing azure-cli-acr 2.0.3...

Release of 'azure-cli-acr' with version '2.0.3' successful. View at https://pypi.python.org/pypi/azure-cli-acr/2.0.3.

GitHub release created. https://github.com/Azure/azure-cli/releases.

Codecov Report

Merging #3220 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #3220   +/-   ##
=======================================
  Coverage   70.35%   70.35%
=======================================
  Files         381      381
  Lines       24777    24777
  Branches     3785     3785
=======================================
  Hits        17431    17431
- Misses       6237     6240    +3
+ Partials     1109     1106    -3

Impacted Files
Coverage Δ

...dback/azure/cli/command_modules/feedback/custom.py
34.69% <0%> (ø)
:arrow_up:

src/azure-cli-core/azure/cli/core/util.py
68.61% <0%> (ø)
:arrow_up:

...-cli-role/azure/cli/command_modules/role/custom.py
35.74% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Unable to click on the first option in the right-click menu that covers the title bar

Description
When the right-click menu pops up and covers the top of the title bar, the first menu cannot be clicked, and if it covers the minimum and maximum buttons of the program, the maximum and minimum buttons will be directly clicked instead of the menu.

Steps To Reproduce

Ensure there is a long right-click menu
Right click in the program blank near the title menu section
Popup the right-click menu to see the effect

Requirements
Each option in the right-click menu can be clicked correctly
Files Version
<IP_ADDRESS>
Windows Version
10.0.19044.2728
Log file
debug.log

Duplicated #10823


Cannot get subscriptions

I have done everything including creating a new SQS queue, registering the queue and creating subscriptions. When I list registered urls and subscriptions I see everything as expected but I am not able to receive messages.
My queue is also having the required permissions and pricinipal set as per documentation.
I would appreciate any help on this.

 Assuming you use boto3. The docs are here https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html

Thank you @elcolumbio . I don't see it as Boto3 Issue. I have actually created the SQS Queue through this script.
def createNewQueue(self, QueueName):
		sqsResource = boto3.resource('sqs')
		sqs_helper = sqsQueueHelper()
		allQueues = sqs_helper.getallQueues()
		queueNames=[]
		for url in allQueues:
			url = url.split('/')
			queueNames.append(url[-1])
		if QueueName not in queueNames:
			try:
				createQueue = sqsResource.create_queue(
					QueueName=QueueName,
					Attributes={'DelaySeconds':'5'}
					)
				addPerm = sqs_helper.addPermissions(createQueue.url)
				print(createQueue.url)
				return createQueue.url
			except:
				raise
		else:
			return jsonify(message="The client queue already exist"), 409

and then I have added permissions through this:
	def addPermissions(self, QueueUrl):
		principal = '437568002678' #Amazon Pricinpal to be set for receiving messages
		sqsClient = boto3.client('sqs')
		addPermission = sqsClient.add_permission(
			QueueUrl=QueueUrl,
			Label='testing',
			AWSAccountIds=[principal],
			Actions = ['SendMessage','GetQueueAttributes']
			)
		print(addPermission)
		return addPermission

After the Queue is created, Step 1: this is how I have first registered the Queue URL:
def registerSQSEndpoint(self, kwargs):
		#Notificaiton Types that can be registered
		NotificationType = ['ReportProcessingFinished','FeedProcessingFinished']

		#Create MWS Main Object
		mwsObj = subs.Subscriptions(kwargs['access_key'],
			kwargs['secret_key'],
			kwargs['account_id'],
			region=kwargs['region']
			auth_token=kwargs['mws_auth_token'])

# Register Queue URL Step 1
		registerUrl=mwsObj.register_destination(kwargs['marketplace_id'],{'sqsQueueUrl':kwargs['sqsQueueUrl']})
		print(registerUrl.original)
		time.sleep(5)

# Create Subscriptions - Step 2
		for types in NotificationType:
			response = mwsObj.create_subscription(kwargs['marketplace_id'],{'sqsQueueUrl':kwargs['sqsQueueUrl']},notification_type=types)
			print(response.original)
			time.sleep(5)

When I get the list of destination and the list of subscription, everything seems to be showing as expected. But apparently for no reason the notifications doesn't come through!
Has anyone faced this issue, or am I doing something wrong here?

have you checked the permissions for amazon are showing on the control panel for the queue?
have you made sure its NOT a fifo queue?

Also you can test with this function.
test = sub.send_test_notification_to_destination(marketplace_id, attributes, "SQS")

this is my very basic setup code for getting a subscription running.
# flake8: noqa
import mws

from credentials import creds
from helpers.mws_factory import MWSFactory

MARKETPLACE_ID = creds['amazon']['marketplaceids']['UK']
SHIPPING_PRICE = 4.50

subscriptions = MWSFactory.factory('subscriptions')

att_list = {"sqsQueueUrl": "https://sqs.eu-west-2.amazonaws.com/378051892504/MWS_DEV"}

## Register a destination
try:
    new_sub = subscriptions.register_destination(MARKETPLACE_ID, delivery_channel='SQS', attributes=att_list )
    print(new_sub)
except Exception as e:
    print(e)

# Create a subscription
try:
    create_subscription = subscriptions.create_subscription(marketplace_id=MARKETPLACE_ID, delivery_channel='SQS', attributes=att_list, notification_type='AnyOfferChanged', is_enabled=True )
    print(create_subscription)
except Exception as e:
    print(e)

# Check the subcriptions to make sure its taken
try:
    get_subscriptions = subscriptions.get_subscription(marketplace_id=MARKETPLACE_ID, delivery_channel='SQS', attributes=att_list, notification_type='AnyOfferChanged')
    print(get_subscriptions)
except Exception as e:
    print(e)

# try:
#     dereg = subscriptions.deregister_destination(marketplace_id=MARKETPLACE_ID, attribute_list=att_list)
#     print(dereg)
# except Exception as e:
#     print(e)

send_test_notification = subscriptions.send_test_notification_to_destination(marketplace_id=MARKETPLACE_ID, delivery_channel='SQS', attributes=att_list)
print(send_test_notification)

subs = subscriptions.list_subscriptions(marketplace_id=MARKETPLACE_ID)
destination = subscriptions.list_registered_destinations(marketplace_id=MARKETPLACE_ID)
print(subs)

please note:

I've created the queue manually on amazon aws
I've applied the access policies as per the documentation via the web console.
I'm then using the connection strings provided in there to run the rest of the code.

also, I'm calling the subscriptions api from mws via my own factory system to carry out the authentication outside of the code (do it once, use everywhere)

@Bobspadger This is awesome! Thanks for sharing this. I haven't used Factory until now. Let me read the docs and implement it... Will try and let you know. It seems pretty straight forward though.

have you checked the permissions for amazon are showing on the control panel for the queue?
have you made sure its NOT a fifo queue?

Yes sir, the permissions are set accurately, and they are standard queue.

Finally, I figure it out!!! This was an Amazon side issue and not the other way around. It drove me crazy for a while. And tonight I am getting a throttling error and rate exceeded errors on first request. When I looked the API status on their website, it said that they are seeing errors, but the service was Green.
Anyways, one of my queue is working and not the new ones that I just created. Also, this is an issue across Europe today. Hope it gets better tomorrow. Thank you again for everyone that responded.


Update README.md

I'm going to make the assumption that most people using my engine know what PIP is, so I'm not going to merge this, but if you have any other ideas for contributions, go ahead!


Feat/mlp injection to dlp

Improved GetAllDetectedPlates method to use MissingPlatesHelper

Added fake dependencies to all DetectedPlateHelperTests tests


Add update for Bundle,Topic,Subscription,Consumer if exist in dashboard

Motivation
https://github.com/apache/pulsar/issues/3226
Dashboard Consumer, Bundle,Subscription,Topic duplication
Modifications
Update Consumer, Bundle,Subscription,Topic if exist
Result
normal

run java8 tests

@merlimat can you help review this pull request again, after @tuteng addressed your comment?


anonymous

how to run server through CLI with anonymous option
ftp-srv ftp://0.0.0.:21  --root /home/Público

This is a great question - but I'm going to convert this over to a discussion, as that is where this belongs!


Request to share progress files for the experiments in the papers

Is it possible to share the progress files for the experiments so that they can be compared with our own experiments? This way we don't need to rerun the original experiments to get the graphs.

yes, we will be adding these very shortly


Render pins

apologies for the lack of commits on this one guys, was working on this in a different branch and just pulled all the work to this new branch because I was waiting for the updated version w the maps.
In this PR I
-added some photos of pins
-render pins
-used const {} = this.props so that you can call props directly by name
-css for the pin callouts

Resolves #13


UploadCollection: fileDeleted event does not fire

The UploadCollection has an event fileDeleted. In the documentation it says:
"The event is triggered when the Delete button is pressed."
https://sapui5.hana.ondemand.com/#docs/api/symbols/sap.m.UploadCollection.html#event:fileDeleted
However when I press the delete button the event does not fire. I had a very brief look into the code and there all the methods that call fireFileDeleted have some description like "Handling of the termination of an uploading file [/ process]". That rather sounds like the event is only fired during the upload process and not each time, when the delete button is pressed (regardless of the case if the file is just selected or beeing uploaded).
So either the documentation is wrong (too general) or the implementation is incomplete/buggy.
The sample application at
https://sapui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.UploadCollectionForPendingUpload/preview
does not fire the event (if the description from the documentation is considered). The later case can't be checked because one can't actually upload a file. In a small test with my own implementation  and a backend dealing with the file the event did not fire when deleting the file during the upload.
In any case, there should be an event that fires if the file is deleted before the upload has started - otherwise one can only listen to added files to the collection (via "change" event).

Internal incident<PHONE_NUMBER> has been created for this issue.

Hi v-schulz,
You are right the current JSDoc is not aligned with the code on this particular place. The JSDoc you pointed out is valid for Instant Upload scenario. The sample application you mentioned demonstrates Pending Upload scenario. We're going to align the JSDoc with the code.
Best Regards,
Petr Stribrny

Thank you for your reply. Is there any chance to get an event in case the file is delted from the list in the pending state? In my opinion that makes sense because otherwise one can only deal with the situation when a file is added (change-event). If one is deleted, this is not considered.
For example I have a button that is activated in case there are >0 files added for uploading. If I delete all files from the list the button cannot be deactivated because there is currently no event that I can listen to with my the enable/disable method. There can be other things to deal with in this situation, too.

Hi,
Thank you for the reply. Yes, we are aware of that situation and we are currently in discussion with interaction designer. I'll provide you with the results as soon as known.
Regards,
Petr

Hi,
With the current status of development you should be able to get number of files in the list if you call getItems (i.e. members of the aggregation items). No event delete is necessary. The JSDoc has been updated, the internal incident has status Solution Provided.
Regards,
Petr


feat: usePrompt, image service POCs and landing page images

api and basic hook
endpoints for image description and image generation
export request and useRequest utils
adds some placeholder images to the playground home page

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add websocket unittests and put in users app

Description
Add unit tests to websockets and other uvicorn dependencies for speedup. I've used this in production for a month now, and my CI is very happy with it. The things that were added that you can take note of:
Add websocket unittests and packages
* Added pytest-timeout in case a websocket is stuck in a while loop
* Added unittests for testing websocket connection and pinging
* Moved websocket.py to users app since users may want to utilize other Django apps
* Added additional "Cython" dependencies to base.txt requirements file to be performant
* Added ALLOWED_HOSTS to be several different hosts for websocket testing purposes
* Added TODO for developers to add authentication/authorization for websocket handling using the scope. This is currently implemented very nicely with CSRF and Session cache checking at Velnota.com, but the amount of security checking and other files prevents me from adding my knowledge to this PR. It's possible to also use Django Channels, but I still find it infuriating to use sometimes since I support one-socket-per-user connections

Checklist:

[X] I've made sure that tests/test_cookiecutter_generation.py is updated accordingly (especially if adding or updating a template option)
[ ] I've updated the documentation or confirm that my change doesn't require any updates

Rationale
Everything needs unit tests!
Edit: sorry about the large number of commits. I somehow messed up my git master branch, but I just force pushed it with a remote tracking this repo.

@browniebroke Is there a reason the changelog commits keep popping up? Perhaps I need to rebase master?

So the unittest passes based on bare metal, but it can't pass mypy

Again, mypy is gonna be funky, but I don't use it so I have no idea how to fix this...

@browniebroke This PR should also be ready.  The previous commit (i.e. b0be833) is the one that fixed this.

I don't remeber which version of Django we were using when you started this PR, but Django 3.1 added async views as well as the ability to test async code.
I was also thinking that we could review our vanilla websocket code and make it a bit more structured using django-channels (#1058), testing seems nicer: https://channels.readthedocs.io/en/latest/topics/testing.html
That's obviously a different piece of work, and I appreciate you might not have time to do it, I was wondering if you tried it on one of your projects?

It looks like I was developing this with Django 3.0 since we just upgrade to Django 3.1 recently.
I have not used channels since I like working with the low level async application. I think the testing in channels is more like the client testing in Django views; I don't exactly follow that and I have an example below. I could restructure this code such that someone could more easily test it. The change is:
import json

# Note: I had to reimplement some portions
from django.core.handlers.asgi import ASGIRequest

async def websocket_application(scope, receive, send):
    # For anyone curious about my workflow:
    request = ASGIRequest(scope)
    session_authentication(request)
    if not request.user:
        await send({"type": "websocket.close"})
        return

    ...

    if event["type"] == "websocket.receive":
        try:
            await MESSAGE_TYPES[json.loads(event["message"])["type"]](event, scope, receive, send)
        except KeyError:
            pass

MESSAGE_TYPES = {
    "text message": text_message,
    "gamble": gamble
}

async def text_message(*args)
    ...

async def gamble(*args)
    ...

@pytest.mark.asyncio
async def test_text_message():
    event = {}
    await text_message(event)

@pytest.mark.asyncio
async def test_gamble():
    await gamble()

This is how typical websocket testing would look like for me: modular test cases for different methods of events received. This way, I don't actually have to test a connection itself (which is what the current test cases show). I haven't actually looked at event in its raw form in awhile, so apologies if the code is not exactly accurate.
This technique seems like it's something used by the industry. I recall looking into GitHub networking in the browser dev tab, and their websocket requests perform the same JSON serialization as I do when a client sends a message to the server.
I think the only added benefit of channels is that they include authentication middleware which may be useful. I always just did it myself since it was 7 lines of code (with JWT), but for session cookie authentication, it definitely was a lot more work. I'm not really a fan of the classes of channels since that gives the impression that you can save class attributes but ignores the fact that a user may disconnect and reconnect. That's obviously when sessions come in, but many don't consider that.

I don't really have the time, but hopefully this is a good start for anyone who'd like to take this up for a spin.
For anyone curious, this is how most of my projects work with websockets: I do a receiver-sender method where on socket connection, I create two concurrent tasks: one for listening to Redis PubSub (for global message receiving; for instance, if a user deletes their account, you publish a message to the user's subscription channel telling the websocket to close) and another for listening to client websocket receive. These are two tasks as both require a while/infinite for loop. At the end of the client websocket connection, you'll simply cancel the task that's performing the receiver for the Redis PubSub.


Tests hang if they have an import error

e.g. if you haven't run pub get, so package imports fail, "flutter test" just hangs forever.

Is https://github.com/flutter/flutter/issues/2182 the answer?  Not sure what the plan to solve this is.

yeah this is probably a dupe of that one

Dupe of #2182


Cannot run selfie segmentation in web worker

Please make sure that this is a solution issue.
System information (Please provide as much relevant information as possible)

Have I written custom code (as opposed to using a stock example script provided in Mediapipe): N/A
OS Platform and Distribution (e.g., Linux Ubuntu 16.04, Android 11, iOS 14.4): Any
MediaPipe version: 0.1.1632777926
Bazel version:
Solution (e.g. FaceMesh, Pose, Holistic): Selfie Segmentation
Programming Language and version ( e.g. C++, Python, Java): JavaScript

Describe the expected behavior:
Solution works the same way as in main thread
Standalone code you may have used to try to get what you need :
I was using Webpack 5.x and npm install @mediapipe/selfie_segmentation.
// main thread
const worker = new Worker(new URL('./worker.ts', import.meta.url));

// worker.js
import { SelfieSegmentation } from '@mediapipe/selfie_segmentation';

const ss = new SelfieSegmentation({
    locateFile: (file) => `https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation/${file}`,
});

ss.setOptions({
    modelSelection: 1,
});

export const processFrame = (image: ImageBitmap) =>
    new Promise((resolve, reject) => {
        ss.onResults((results) => {
            ss.onResults(null);
            resolve(results.segmentationMask);
        });
        ss.send({ image }).catch(reject);
    });

Other info / Complete Logs :
Looks like some DOM objects are used in the solution code:
Uncaught ReferenceError: document is not defined
    at new Xb (selfie_segmentation.js?1643:73:229)

Additionally, ss.send has type issue:
TS2322: Type 'ImageBitmap' is not assignable to type 'InputImage'.   Type 'ImageBitmap' is missing the following properties from type 'HTMLCanvasElement': captureStream, getContext, toBlob, toDataURL, and 280 more.  index.d.ts(19, 3): The expected type comes from property 'image' which is declared here on type 'InputMap'

Similar bugs:

https://github.com/google/mediapipe/issues/2506
https://github.com/google/mediapipe/issues/2574
https://github.com/google/mediapipe/issues/3406 (marked as stale, should be revived)

Hi, I'm having the same issue with face_mesh. Have you figured it out?

Hi @kirill-konshin, Did this above workaround mentioned by @cy-moi resolves this issue. Thank you!

@kuaashish I'm not going to patch obfuscated sources, I'd rather wait for a proper fix. Moreover, the workaround is for face mesh, and I'm having issues with selfie segmentation.
I have found a bunch of document usages, including a.i=document.createElement("canvas") and case 7:d.l=document.createElement("canvas"), which I possibly can replace with OffscreenCanvas, but again, this does not feel right to patch sources like that.

@kuaashish I'm not going to patch obfuscated sources, I'd rather wait for a proper fix. Moreover, the workaround is for face mesh, and I'm having issues with selfie segmentation.
I have found a bunch of document usages, including a.i=document.createElement("canvas") and case 7:d.l=document.createElement("canvas"), which I possibly can replace with OffscreenCanvas, but again, this does not feel right to patch sources like that. And also document.createElement("script").

Not every document usage is actually called. Face mesh also has more than one document usage. I patched the face and hands packages for now. I wonder if they open-sourced the mediapipe libraries so we can modify on our own.

@kuaashish @cy-moi the above fix did not help.
Once removed, new error pop up. The lib simply cannot work in worker.
selfie_segmentation.js?1643:51 Refused to execute script from<EMAIL_ADDRESS>because its MIME type ('application/octet-stream') is not executable, and strict MIME type checking is enabled.

Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at<EMAIL_ADDRESS>failed to load.

importScripts of tflite file does not work. Has to be replaced with fetch maybe?

I don't think this error is caused by the patch of the package. Because I just tried to use selfie_segmentation directly without removing anything from its bundle, and the same error popped up. Have you solved it?

Hey, I had a look at the API of selfie segmentation. I guess they probably have already made it synchronized with the OnResult callback. So probably no need to put it in the worker?

Hey, I had a look at the API of selfie segmentation. I guess they probably have already made it synchronized with the OnResult callback. So probably no need to put it in the worker?
Worker is needed to offload all actual work from main thread. I have rest of the processing there.

Hey, I had a look at the API of selfie segmentation. I guess they probably have already made it synchronized with the OnResult callback. So probably no need to put it in the worker?

Worker is needed to offload all actual work from main thread. I have rest of the processing there.

Well, the above error is caused by accessing files through workers. So, probably try to put initialization into the main thread for an easy solution.

Hey, I had a look at the API of selfie segmentation. I guess they probably have already made it synchronized with the OnResult callback. So probably no need to put it in the worker?

Worker is needed to offload all actual work from main thread. I have rest of the processing there.

Well, the above error is caused by accessing files through workers. So, probably try to put initialization into the main thread for an easy solution.

Worker thread has no access to main thread, so this will not work. The problem is that these files are loaded via importScript instead of fetch.

Worker thread has no access to main thread, so this will not work. The problem is that these files are loaded via importScript instead of fetch.

I suppose it would be hard to pass the object around. But importScripts should work with workers. It is only the mime type problem. I think for one have you tried to host your model file with modified types to bypass the mime type check? Because I tried to host the tflite model at localhost and changed the filename to js (also need to modify the file path in mediapipe's package) and then the error is gone. So it has no problem import scripts.
Finally, I still don't see the reason for the onresult to be put in the worker as it's completely non-blocking. The official example didn't even await for initialize().

Plus have you tried this tfjs models including mediapipe

@kirill-konshin, I experienced the same problem with older versions of selfie segmentation. I do not see the problem with current version: 0.1.1671057942

There's a new issue when browser loads ``
selfie_segmentation.js?1643:71 Refused to execute script from<EMAIL_ADDRESS>because its MIME type ('application/octet-stream') is not executable, and strict MIME type checking is enabled.
next-dev.js?3515:20 MAIN: Error in loop<PHONE_NUMBER>696 Error: Error in worker: Error: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at<EMAIL_ADDRESS>failed to load.

The code was:
const ss = new SelfieSegmentation({
    locateFile: (file) => `https://cdn.jsdelivr.net/npm/@mediapipe/selfie_segmentation/${file}`,
});

I went ahead and modified the code to take files locally, with proper MIME type:
const cache = {
    'selfie_segmentation_landscape.tflite': require('@mediapipe/selfie_segmentation/selfie_segmentation_landscape.tflite'),
    'selfie_segmentation_solution_simd_wasm_bin.js'<EMAIL_ADDRESS>};

const ss = new SelfieSegmentation({
    locateFile: (file) => cache[file].replace('//', '/')
});

And following next.config.js:
module.exports = {
    webpack: (config, options) => {
        config.module.rules.push({
            test: /\.(binarypb|tflite|wasm|data|bin)/,
            type: 'asset/resource',
        });
        config.module.rules.push({
            test: /_bin\.js/,
            type: 'asset/resource',
        });
        return config;
    },
    async headers() {
        return [
            {
                source: '/_next/static/media/:file*.tflite',
                headers: [
                    {
                        key: 'content-type',
                        value: 'application/javascript',
                    },
                ],
                basePath: false,
            },
        ];
    },
};

And now I am getting:
SyntaxError: Invalid or unexpected token

So I have two questions:

Why importScripts is importing a tflite file? Does not seem right.
If it is right, then which mime type it has to be served with?

If someone could answer @kirill-konshin that'd be nice, I could at least create a custom patch or something. My solution was similar to what he was attempting.
And fyi, I also made a few attempts to initialize anything on main thread and pass it to worker, but no matter what I tried for this approach I always reached an issue like a circular dependency, a shared non-primitive variable, or even a non-serializable complex object.

@kirill-konshin,
Our MediaPipe Tasks can run in web worker. Please revert back if you still encounter the similar error.

No it cannot.
Error in worker: Error: Failed to execute 'importScripts' on 'WorkerGlobalScope': The script at 'http://localhost:3000/_next/static/media/selfie_segmentation_landscape.eec7c3d6.tflite' failed to load.
Version 0.1.1675465747 still requests tflite file via importScripts. It has to do fetch instead.
                    if ("function" !== typeof importScripts) throw Error("solutions can only be loaded on a web page or in a web worker");
                    d = b.filter(function(n) {return void 0 === n.simd || n.simd && c || !n.simd && !c}).map(function(n) {return a.locateFile(n.url, a.ha)});
                    importScripts.apply(null, ea(d));

Any updates on this major issue that @kirill-konshin is reporting. I'm blocked on that as well. Please resolve.

@kirill-konshin,
We are pleased to announce that our solutions have undergone an upgrade. Selfie segmentation has been integrated into our Image segmentation framework, in accordance with the guidelines provided on this page. Additionally, for the upgraded solution, we have discontinued comprehensive support for previous versions.
We kindly request your participation in trying out our new Task API. and the upgraded Image segmentation, which is designed to facilitate the Self Segmentation task in accordance with the guidance provided here.
These enhancements also include support for web workers. Also, We request that you inform us if you observe similar behaviour in the upgraded solution. Thank you

@kuaashish - as indicated by @kirill-konshin the issue is visible even in the new packages using the Task API.

I believe the web worker issue is when trying to install module web workers. This comes from the use of importScripts in mediapipe, which is not supported in module web workers. I've been able to replace this part of the code (to create detectors, not for selfie selection, though) and it works (mostly) fine.
The relevant part of the code calls await importScripts(…) which means it doesn't rely on importScripts being called synchronously. Instead it can be changed to await import(…) with some subsequent handling of the additions to the window scope.
So the problem is: given the code could work with import rather than importScripts, would it be possible for mediapipe to call the correct function, depending on its worker context (module vs script)?

@baumshl @dbaynard new @mediapipe/tasks-vision works in web worker.

The only problem with updated solution is that it returns canvas/texture/intarray/floatarray. Previous solution returned bitmap which was very useful. Is hope to get a method like result.confidenceMasks[0].getAsImageBitmap().

@kirill-konshin,
Thank you for the update. We kindly request that you initiate a new feature request with comprehensive details regarding the return of bitmap as a legacy solution, along with its associated benefits. This will enable our team to gain a thorough understanding and facilitate its implementation.
Furthermore, regarding the current issue, we seek your confirmation to update its status to resolved and proceed with its closure if it is no longer a concern from your end.

Created https://github.com/google/mediapipe/issues/4798 for imagebitmap

@cy-moi have you open-sourced your patch for facemesh?

@cy-moi have you open-sourced your patch for facemesh?

Hi, you can find it here. But I haven't been using it for a while now. I hope it is helpful.


vaccination data values seem too large

We have detected the values reported in vaccines_administered_nl.csv might be too large (twice as large approx.). This issue seems to first appear here: https://github.com/mzelst/covid-19/commit/bf48cfad7f3fb1b3c470abd31a66fb8b0c8b43dc.

Hi Lucas,
Thanks for notifying me. It seems that the source data has changed and more specific age groups have been added (which leads to doubling up of the data, as ALL is a separate category). I'll fix the data upcoming Monday and keep you posted on updates.
Marino

Hi @mzelst,
Any plans on fixing this issue and maintaining this data? Just checking so we can adapt :)
Thanks & kind regards


US 09.0X(2).01 Owner Issue: Delete Players (and all of its data)

As an owner, I want to be able to delete players.

When we delete the player should we also delete the linked data that is correlated with that player? Like do want to erase all the data that that player has created or should we just keep it in the database?

@Gigantorz Good question. I heard somewhere before that it's typical to never delete data in case it needs to be used somewhere (or sold lol), but for this assignment idk. We should ask for clarification from the TA or prof.


Crop image with expect size

Hello, suppose i have a image with size 2000px x 2000px, now i want to crop it to new image with aspect ratio is 16x9 and size is 1600x900. Does your lib support this work :D

@huy-lv
Hi,
I'm sorry for late answer.
I think... lib will support.

May i create a pull request :D

PR is always welcome :)

I read this issue again.
I think it's possible now
If it doesn't work, reopen please


Merge the cQube 1 Nodejs code base  to cQube-4

Merging the cQube 1 Nodejs code base to cQube-4.
The desired result should be that the UI is able to read the api and display the charts.

Merged cQube v1 nodejs code base to cQube v4. Now Able to connect the API with UI and render the Chart.

Please mention who has to review this ticket

Completed


Embed Bug Report form in Feedback tab on CC Search

Feature Description
We'd like to make an update to our Feedback page on CC Search. The page is split into two sections: Feedback and Report a Bug. The Feedback section has an embedded Google Form. We'd like to add a second embedded form to the Report a Bug section.
Link to form to embed: https://docs.google.com/forms/d/e/1FAIpQLSeSN1AIG8LrdgIdKpBj4IlPDhu6T5ndZ7z_QcISBu-ITCU0Yw/viewform
Let's also remove this content from the Report a Bug section:
"If you would like to report a bug you are encountering when using the tool, please email<EMAIL_ADDRESS>or log the issue directly at Github."
We've included these instructions in the intro text for the form, and so they are now redundant.

The email address this should go to has been updated from ccsearch@ to<EMAIL_ADDRESS>

This should happen this week @brenoferreira

I think it makes sense to make it easier for folks to submit bug reports. I've created a form and will update the description above. I'm less concerned with this going straight to Fresh Desk, which seems like a setting we can implement later.

Un-assigning @brenoferreira for the time being. This is a good task for an outside contributor.

Hey! Can I work on this?

@skidi3 go ahead

It's been 13 days since we've last heard from @skidi3, so I'm going to free up this issue for someone else to work on.

Can I work on this?

Hello, can I work on this?

@Tanuj22 indicated their interest first, so I'm going to assign it to them. Here's a reminder to check the discussion in 588 to get a clearer definition of the work to be done.

Hi @akmadian , I left a request to work on this issue in #588 discussion, before @Tanuj22 . Please check it out and let me know.

Ah, you're right! My apologies. I think I'll leave this assigned to @Tanuj22, unless they would like to turn it over to you.
In general, issues are best for indicating interest because they track discussion about the issue generally, instead of PRs which generally track discussion about a specific set of changes.

Hey @akmadian, is this issue being actively worked on? I would like to work on it.

@rajchandak I have already sent a PR that closes this and it is Ready for Final Review. Please find another issue to work on. :)


Improve messages for generate-key

When we run near generate key <accId> --seedPhease=<seed> we are always getting Account has existing key pair with ed25519:<pk> public key. It happens even when account Id and pk are not in our local storage.
Another issue:
When we run simple near generate-key <acc-name> we are getting Key pair with ed25519:<pk> public key for an account "<acc>" which is not very informative. Let's explain user where this key is stored.
Another issue:
When the key is already stored - we are getting the same message Account has existing key pair with XXX, but the existing key is replaced with the generated one. So.. the user can lose his private key. The user should be prompted that the key will be overwriteen.

Related issues:

https://github.com/near/near-cli/issues/837
https://github.com/near/near-cli/issues/783
https://github.com/near/near-cli/issues/326

Ditto.  This seems like very poor wording...
"Account has existing key pair"
Although yes, the account does JUST NOW after running the generate-key command, have an "existing" key pair... but existing in this context makes it seem like a different key pair existed before the command was run.
Maybe something along the lines of "Key pair has been generated" or some such...
This should be a relatively easy fix... anyone able to provide feedback on different verbiage?

I'm new to Near development and just encountered this in the CLI. It was very confusing, as the account doesn't even exist on the blockchain yet (just used some random unique name)- and I was generating a key for the first time from a random seed phrase.
It was even more confusing, because just before this I had used a seed phrase with an account that does exist (but wasn't in my local ~/near-credentials folder yet)- and I got the same message, which I assumed it was telling me that this key pair already existed for this account, as if it did a check on the blockchain. But its still a confusing message to get, because that has nothing to do with the fact that we're adding the key locally now.


Updated connection scripts to be more simple and actually usable

What changes were proposed in this pull request?
This will remove the secrets approach and instead use the more commonly used config map to configure .sh scripts for running during the startup of the application.
I chose to update the create-connectors.sh instead of copy pasting that in the values.yaml, mostly because it would add to much code, instead for the values.yaml i added a simple get connectors, so you can see it works
Striped out the volume and volume mounts and used a configScripts key to create the sh files that are if the key is configured, automatically are added to the deployement as volume and mounted, this way you only have to 'run' the scripts by enabling the runScripts flag
also added a default connectors liveness probe, really this can be always on since if that endpoint isn't working something is mis
configured anyway
it took me a while before figuring out what the real bug was with the original code (with secrets) it was a simple tab, but i figured i would refactor it a bit to make it a lot more user friendly for the next person.
How was this patch tested?
helm upgrade on AKS system with the configs as default and some custom configs for creating a ES-sink

I actually would prefer to use secrets rather than configmap because our kafka connect sink configuration contains sensitive connection credentials.


[TOPI] Fix x86 conv2d template when tuning with unpacked layout

Fix tuning x86 conv2d and conv2d_transpose with unpacked layout

conv2d
Without this fix, I got

UnboundLocalError("local variable 'oc_bn' referenced before assignment")

conv2d_transpose
Wihtout this fix, I got

IndexError: list index out of range

cc @kevinthesun

@kevinthesun  comments are addressed

@kevinthesun please follow up

Thanks @merrymercy  @junrushao1994 @tqchen


Remove accounts from the cache

Core Library
MSAL.js (@azure/msal-browser)
Core Library Version
2.32.1
Wrapper Library
MSAL React (@azure/msal-react)
Wrapper Library Version
1.5.2
Public or Confidential Client?
Public
Description
I would like a way to clear accounts from the cache. It seems like the clearCache method on the PublicClientApplication object doesn't exist anymore.
My hope was to iterate over the accounts and do some conditional check to determine if the account should be set to active or be removed depending on env. setActiveAccount works fine but I can't seem to find the clearCache method.
Seems to have existed in the past following this thread:
https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/1545
Maybe it has been renamed or moved somewhere else?
Any pointers are much appreciated, thanks in advance!
Regards,
G
MSAL Configuration
No response
Relevant Code Snippets
No response
Identity Provider
None
Source
Internal (Microsoft)

@georgiosApo We do not currently have a method for removing specific accounts from the cache. Are there additional reasons why setting the active account does not meet your app's need?

Hello @jo-arroyo!
That's no problem, just wondered if there was a way to achieve that programmatically.
Thanks for your reply!

@georgiosApo Alternatively, you could sign out locally, which will clear the cache locally but keep the session on the server. You can find instructions here.


Improve fonts generation: move ascent/descent calculation into python

This PR is part of #12.

Move ascent/descent calculation into python(fix_os2_metrics.py, originally modify_ascent_descent.py)
Remove fix_os2_metrics.rb and Ruby.

Closing in favor of #54.


Rename modal title when executing from a struct that derives poise::Modal?

Using the example to create a modal using a struct like this
#[derive(poise::Modal)]
struct MyModal {
    ...
}

When you execute it the title shown to the user in Discord is the struct name, so MyModal in this case. Is there a way to rename it?

Nevermind, i just found out you can use #[name = "..."].


allow custom attrs, allow multi line title

close #4

you need https://github.com/tree-sitter/tree-sitter/pull/3513 to run tests

No custom platforms or custom attributes.

Allow custom attibutes has the following benefits:

leave interface for the future. The allow user use extended attribute in a lower tree-sitter-cli.
leave interface for others. The allow others use this lib for whose own propose.
avoid ast parse error: if user provide a unknown attribute, then cli can print a warning, but not throw a ast parse exception.

and the custom platform has the same reason.

Sorry, but this grammar is specifically for tree-sitter tests, not any others. And future changes in tree-sitter will be adjusted for -- in the future. So if you want new attributes, the first order of business is to get them added to the official tree-sitter test spec.

avoid ast parse error: if user provide a unknown attribute, then cli can print a warning, but not throw a ast parse exception.

how about this reason?

tree-sitter grammars are not linters. We try to (as performantly as possible) correctly parse correct syntax, not correctly fail to parse incorrect syntax.

Ok, it seems we have difference options about this. So I will close this.


Error and Running Pages

This PR copies over Malte's designs for the Error and Running pages.

Pending Malte's approval on the looks, then will merge.


chore(main): release 1.13.0

:robot: I have created a release beep boop
1.13.0 (2024-04-18)
Features

tmux: add tmux-resurrect plugin since I lost my sessions on my remote machine lol (8af97eb)

Miscellaneous

nvim: add boole value "real/fake" (7bdb691)
nvim: conditionally remove comment.nvim if we run nvim 0.10+ (b8d526f)
sioyek: update colors in dark and custom mode (82766a8)
software: update installed (732469d)
software: update installed (10172a8)
software: update installed (15c1cd7)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/engeir/stowfiles/releases/tag/v1.13.0 :sunflower:


Checking if query starts with 'use ' is now more efficient

Pre-review checklist

[x] I have split my patch into logically separate commits.
[ ] All commit messages clearly explain what they change and why.
[x] I added relevant tests for new features and bug fixes.
[x] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[x] I added appropriate Fixes: annotations to PR description.

Fixed: https://github.com/scylladb/scylla-rust-driver/issues/176


Seldon Core Sidecar Rewrite

The current seldon charm is written in the podspec charming pattern. We need to migrate it to the new sidecar pattern.
Jira

As of above commit basic implementation is done.
 Those will be address in later commits.

Some work items.

Pulled observability library into project

https://charmhub.io/observability-libs/libraries/kubernetes_service_patch
charmcraft fetch-lib charms.observability_libs.v1.kubernetes_service_patch

Had to add containers section to metadata.yaml:

	  containers:
	    seldon-core:
		    resource: oci-image

Had to remove from metadata.yaml:

series: [kubernetes]
min-juju-version: "2.9.0"

Fix is merged https://github.com/canonical/seldon-core-operator/pull/46


[FEATURE] Scheduled snapshots should retain oldest

Is your feature request related to a problem? Please describe (👍 if you like this request)
Problem statement: I have nightly snapshots configured for various volumes and have noticed a considerable IO increase when they run, due to deletion of the oldest image (configured to retain 5).
Describe the solution you'd like
I think there might be a considerable improvement in performance if snapshots deleted the n-1 oldest image, instead of the oldest. If my understanding of how snapshots work is accurate, this means only the delta from the oldest to n-1 would be deleted which could be a considerable difference if the volume is large (i.e. 1tb with ~5g delta).
Describe alternatives you've considered
I considered creating my own cron job that queries the api to accomplish this, but haven't gotten around to it yet.
Additional context
N/A

Hello @egyptianbman. When I originally read your analysis, it sounded correct. Thanks to @PhanLe1010 (who I discussed it with) for clueing me in to the following!
When Longhorn purges snapshots after a snapshot deletion, the following steps are triggered:

processRemoveSnapshot is called on any eligible snapshots marked as removed: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/sync/rpc/server.go#L1124-L1126.
processRemoveSnapshot calls DiskPrepareRemove to determine what operations to perform on the eligible snapshot: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/sync/rpc/server.go#L1318-L1320.
In the case we are discussing, the oldest snapshot has one child which is not the head. (In Longhorn, the volume head has a parent, which is the most recent snapshot. This snapshot has a parent that is the next most recent snapshot, etc.) Two ops are queued up: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/replica/replica.go#L514-L531.

Coalesce the disk (oldest snapshot) and its child.
Replace the disk (oldest snapshot) with its child.

processRemoveSnapshot calls FoldFile to complete the coalesce operation: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/sync/rpc/server.go#L1327-L1332.
FoldFile calls coalesce, which COPIES DATA FROM THE CHILD TO THE PARENT. So the parent (oldest snapshot) receives data from its child: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/vendor/github.com/longhorn/sparse-tools/sparse/sfold.go#L100-L110.
processRemoveSnapshot calls replaceDisk to complete the replace operation: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/sync/rpc/server.go#L1339-L1344.
ReplaceDisk calls hardlinkDisk to remove the child (whose data has been copied to the parent) and create a hard link from the child's name to the parent (oldest snapshot): https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/replica/replica.go#L358-L375.
ReplaceDisk calls removeDiskNode, which reconfigures the snapshot chain: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/replica/replica.go#L358-L375.
ReplaceDisk calls rmDisk to delete the parent file. Since there is now a hard link from the child's name to the parent, the data isn't actually gone, just the original link/reference: https://github.com/longhorn/longhorn-engine/blob/182b37c15825eafabb52f0b1cd462eaa297b9252/pkg/replica/replica.go#L824-L847

So, to make a long story short, even though the oldest snapshot file appears to be removed in favor of the next oldest snapshot file, data is actually copied in reverse (from the newer snapshot file to the older one). Then, some file system metadata operations take place to make things look "right".
I would not expect the feature you are requesting to speed up this process. If you have the following snapshots:

snap1 (contains 1TiB of writes)
snap2 (contains 5 GiB of writes)
snap3 (contains 5 GiB of writes)
head (contains 5 GiB of writes)

Both of these operations are virtually identical from a Longhorn perspective:

Deleting snap1 actually involves copying 5GiB of data from snap2 to snap1, then "renaming" the resulting file snap2.
Deleting snap2 actually involves copying 5GiB of data from snap3 to snap2, then "renaming" the resulting file snap3.

Please chime in to keep me honest if I've said something incorrect @PhanLe1010 and @longhorn/dev-data-plane!

Thank you so much for such a thorough response! Are the snapshots always growing since longhorn is essentially merging oldest-1 into oldest? Is oldest then actually always the delta from the first snapshot to the oldest-1?

Are the snapshots always growing since longhorn is essentially merging oldest-1 into oldest?

Each snapshot has a maximum size that is the nominal size of the volume. If oldest-1 contains writes to blocks that were not in oldest, then the actual space consumed by oldest increases accordingly during the coalescing operation. However, if oldest is already consuming the space of the nominal size of the volume, the coalescing operation simply overwrites blocks.
In the "worst" case, coalescing does not reduce the actual size, because oldest contained some blocks and oldest-1 contained other blocks. Coalescing deletes a file, but all of the data from the snapshots must be retained. In most cases, oldest-1 mostly contains changed blocks that are also in oldest. So coalescing allows us to get rid of the outdated copy of the blocks in oldest, reducing actual space consumption.

Is oldest then actually always the delta from the first snapshot to the oldest-1?

I'm not sure I follow.

oldest is self-contained snapshot of the volumw as it existed at some point in the past. Maybe there were previous snapshots, but all history of them has been lost during previous coalescing operations.
oldest-1 has the changes to the volume since oldest. If you had oldest-1 but not oldest, you would have only a corrupted mess of blocks and that almost certainly would not contain a valid file system.
oldest-2 has the changes to the volume since oldest-1. If you had oldest-1 but not oldest AND oldest-1, you would have only a corrupted mess of blocks and that almost certainly would not contain a valid file system.
volume-head has the changes to the volume since the most recent snapshot. If you had volume-head but not all of the previous snapshots, you would have only a corrupted mess of blocks and that almost certainly would not contain a valid file system.

In some since, oldest is the most important snapshot in the chain. If you have it, you have SOMETHING useful, even if it is out-of-date. All of the others are just differences from previous. It would be very unlikely (though technically possible) for your data to be intact if you lost the oldest snapshot (outside of intentional coalescing operations performed by Longhorn of course).


fix issue with dupe search results when items share the same slug

When two items of different types but with the same slug are returned by our auto-suggest API, Force renders them as the same item, essentially eliminating the other result and displaying a dupe. For example, Code Art Fair and the Code tag share the same slug, code, but only the Fair is rendered (twice):

I fix this by setting the id attribute in our result items to the Mongo OID and moving the slug to slug. I assume the component is using the id attribute to index the items and using a slug for that is invalid since we're dealing with multiple entity types.
Fixes https://artsyproduct.atlassian.net/browse/DISCOVER-120

Merging this to test on Staging.


Improve toolbar responsiveness for mobile devices

Before

After

Demo
I've added all necessary changes into src/calendar.css
https://codesandbox.io/s/5x6x7y8wlp

thanks!


Create npm package

We should add an NPM package to make it simple to install the CLI tool, and update the README with installation instructions.

One option is to use replayio which i snagged recently
https://github.com/RecordReplay/replayio
https://www.npmjs.com/package/replayio
I think the folks who are using replay would also be open as well to transferring it https://www.npmjs.com/package/replay

We can reevaluate in the future but this feels like bikeshedding.  Using the existing recordreplay space like we do with our other npm packages is fine, we just need to actually go through the steps to publish this (which I don't know how to do).

The npm package has been set up: https://www.npmjs.com/package/@recordreplay/recordings-cli


Reorganize samples to improve VSCode experience

VSCode didn't know to apply tsconfig.samples.json to the code samples, so it showed a lot of incorrect TypeScript errors. This change moves all of the user-facing TypeScript code (examples and snippets) into a common directory, which has a nested tsconfig.json file. The main tsconfig.json file uses the rootDirs property to mark this as a subproject. This is applying the guidance in this Stack Overflow answer.
This PR introduces no changes to anything in dist or documentation/generated, so I think it should be a no-op for the Coda binary. Include paths in the markdown files were updated, as were the paths in documentation_config.ts.

is the output file of the embedded snippets in the same place?

Yes, the documentation compiler script reads the data from different paths, but writes it to the same location. This PR introduces no changes to those files.


#491 Context manager for resetting fields

Problem

There are breaking changes in FieldTracker state reset behavior described in #491
Some people need old behavior, another new one

Solution
This PR introduces FieldsContext context manager which allows to postpone state reset till outermost context exit
Commandments

[x] Write PEP8 compliant code.
[x] Cover it with tests.
[x] Update CHANGES.rst file to describe the changes, and quote according issue with GH-<issue_number>.
[x] Pay attention to backward compatibility, or if it breaks it, explain why.
[x] Update documentation (if relevant).

Closes #491

@auvipy @MRigal still one typo and docstring are waiting to be fixes.

LGTM. @auvipy up to you to check another time this MR, but IMHO it can be merged and is a great addition.


cluster_management/LeaderFollower: use Helix assigned leader as upstream before OFFLINE->FOLLOWER transition completes

Upon OFFLINE->FOLLOWER state transition, the db tries to find an upstream to catch up:

if leader is unavailable, the db will find a live follower to catch up, and use it as the upstream.
if no healthy leader/follower is available, set itself as upstream

This is problematic, because the follower would continue to use a follower or itself as the upstream after the state transition completes.
Fixing that by using the Helix-assigned true leader as the upstream, after the replica has tried to catch up (maybe from a follower), before the state transition ends.

Can you add details:

when will a follower has another follower as its upstream?

And, your current PR will not fix this case, bcz, this PR only change the logic at transition: Offline -> Follower. It does not impact the Follower itself.

Can you add details:

when will a follower has another follower as its upstream?

The summary briefly mentioned this: "if leader is unavailable". This could happen due to various errors, e.g. unreachable leader (leader down), leader is overloaded (load shedding). I have seen both cases in production.

And, your current PR will not fix this case, bcz, this PR only change the logic at transition: Offline -> Follower. It does not impact the Follower itself.

Not sure I understand, this PR ensures the replica sets the correct upstream before becoming an follower, so it'll call changeDBRoleAndUpStream to change the follower to use the correct upstream. https://github.com/pinterest/rocksplicator/blob/master/rocksdb_admin/admin_handler.cpp#L1443-L1455

I got it wrong.
I thought follower will set its upstream to another follower.
But, the actually upstream setup is right before it becomes a Follower. Which answer both parts of my question above.

I vaguely remember that when a node first becomes the leader, it will try
to set all followers replicate from itself. Is this the case?
On Tue, Mar 8, 2022 at 4:07 PM jaricftw @.***> wrote:

Can you add details:

when will a follower has another follower as its upstream?

The summary briefly mentioned this: "if leader is unavailable". This could
happen due to various errors, e.g. unreachable leader (leader down), leader
is overloaded (load shedding). I have seen both cases in production.
And, your current PR will not fix this case, bcz, this PR only change the
logic at transition: Offline -> Follower. It does not impact the Follower
itself.
Not sure I understand, this PR ensures the replica sets the correct
upstream before becoming an follower, so it'll call
changeDBRoleAndUpStream to change the follower to use the correct
upstream.
https://github.com/pinterest/rocksplicator/blob/master/rocksdb_admin/admin_handler.cpp#L1443-L1455
—
Reply to this email directly, view it on GitHub
https://github.com/pinterest/rocksplicator/pull/593#issuecomment-1062412789,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQM5NQ4ICMAILSVFZDSTX3U67TSTANCNFSM5QFTLVDQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I vaguely remember that when a node first becomes the leader, it will try to set all followers replicate from itself. Is this the case?

Yes, I think so: https://github.com/pinterest/rocksplicator/blob/master/cluster_management/src/main/java/com/pinterest/rocksplicator/LeaderFollowerStateModelFactory.java#L318.
However, that's a best effort, based on what's listed as followers in the shard map. In addition, it doesn't continuously set other followers after a leader is promoted and running, so new added followers may use the wrong leader and the true leader is not aware.


Rework clearcontainers.github.io

https://clearcontainers.github.io currently redirects to this repo but we should make use of this "github organisation level" resource to provide an overview of all elements of Clear Containers.

With the amount of time that's gone and the move to kata, I think this can be closed as will-not-do.  Please re-open if you think we should still invest in this change, @jodh-intel


CaptureRawPanic

Hey @kusora, do you mind explaining what exactly this does and what use case it covers? Rather, in what way is this different from CapturePanic?


SCB-680 Fix the wrong rev in find instance api

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run go build go test go fmt go vet to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Codecov Report

Merging #380 into master will increase coverage by 0.06%.
The diff coverage is 68.75%.

@@            Coverage Diff            @@
##           master    #380      +/-   ##
=========================================
+ Coverage   70.24%   70.3%   +0.06%
=========================================
  Files          26      26
  Lines        3784    3799      +15
=========================================
+ Hits         2658    2671      +13
- Misses        938     941       +3
+ Partials      188     187       -1

Impacted Files
Coverage Δ

server/service/util/find_cache.go
100% <ø> (ø)
:arrow_up:

server/service/instance.go
68.67% <100%> (+0.12%)
:arrow_up:

server/service/util/instance_util.go
52.36% <64.28%> (+1.9%)
:arrow_up:

Continue to review full report at Codecov.

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

Coverage increased (+0.2%) to 73.701% when pulling d520bd9646231740c9201f888132f96e7f82a00e on little-cui:master into ad0f69a38ac3ddc89e10e34e5631c5af2627870c on apache:master.


Make Leaders room usable

We already discussed this with the upper staff, and we didn't have a need for this.


python311Packages.diffusers: 0.27.1 -> 0.27.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.diffusers is: State-of-the-art diffusion models for image and audio generation in PyTorch
meta.homepage for python311Packages.diffusers is: https://github.com/huggingface/diffusers
meta.changelog for python311Packages.diffusers is: https://github.com/huggingface/diffusers/releases/tag/refs/tags/v0.27.2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.27.2 with grep in /nix/store/gzipaismsszinpc95g9dyb8dzjb31cyr-python3.11-diffusers-0.27.2
found 0.27.2 in filename of file in /nix/store/gzipaismsszinpc95g9dyb8dzjb31cyr-python3.11-diffusers-0.27.2

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.diffusers
python312Packages.diffusers

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gzipaismsszinpc95g9dyb8dzjb31cyr-python3.11-diffusers-0.27.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.diffusers https://github.com/r-ryantm/nixpkgs/archive/59af0fc65c7942576b7e3f81bacfceccbabfd2be.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/59af0fc65c7942576b7e3f81bacfceccbabfd2be#python311Packages.diffusers

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gzipaismsszinpc95g9dyb8dzjb31cyr-python3.11-diffusers-0.27.2
ls -la /nix/store/gzipaismsszinpc95g9dyb8dzjb31cyr-python3.11-diffusers-0.27.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review took longer than 45m and timed out

Maintainer pings
cc @natsukium for testing.

Result of nixpkgs-review pr 298207 run on x86_64-linux 1

2 packages failed to build:

python312Packages.diffusers
python312Packages.diffusers.dist

2 packages built:

python311Packages.diffusers
python311Packages.diffusers.dist


Index documents from published_documents message exchange

Currently, changes to topics and other tags in content-tagger don't cause the search index (accessed via rummager) to be updated correspondingly. We want such changes to be reflected as soon as possible in the search index.
Part of: https://trello.com/c/lRnxI2x5/472-make-rummager-index-the-tags-in-the-links-hash

Based on the number of comments made, I'll close this PR and reopen with different commits


Improve formatting of class documentation

And actor and primitive. Now matches more in format
to new method documentation format.

Those were real failures under "release". The package variable in doc_entity was only being used in an assert. I was building locally only doing "debug" so I didn't catch it. I updated, did an amend and a force push to this branch.

Looks like another issue popped up.

TAKE 3!

Windows fail seems unrelated - seems to be echoes of the issue we saw in #708.


How to Compare two faces?

Hello, Thank you for your great work
Is there any way to compare two detected faces and return a percentage of similarity?
In other words, is there any way to get face encodings ?

yes there is, you can look at the following function and find out your two image distance with print
diff = embs.unsqueeze(-1) - target_embs.transpose(1, 0).unsqueeze(0)
dist = torch.sum(torch.pow(diff, 2), dim=1)
print(dist) # it returns the distance between new face with all faces in your bank

it's in facelib/InsightFace/models/Learner.py
or you can write your own function in Learner Class
like the following
def compare2faces(self, conf, faces, tta=False)
        """faces : list of PIL Image (your faces for comparing) """
        faces = faces_preprocessing(faces, conf.device)
        if tta:
            faces_emb = self.model(faces)
            hflip_emb = self.model(faces.flip(-1))  # image horizontal flip
            embs = l2_norm((faces_emb + hflip_emb)/2)  # take mean
        else:
            embs = self.model(faces)

        diff = embs[0] - embs[1]
        dist = torch.sum(torch.pow(diff, 2), dim=1)
        return dist

and run it like this:
from facelib import FaceRecognizer, get_config
recognizer = FaceRecognizer(get_config())
recognizer.model.eval()
img1 = PIL.Image.open('')
img2 = PIL.Image.open('')
recognizer.compare2faces(self.conf, faces=[img1, img2], tta=self.tta)

and you can also see the embeddings at  (embs in the infer function)
if you add any new features to this project let me know

sure I will let you know, Thank you

I tried to run this code but i got this error :


⚠ Processors has degraded performance

In 8634562, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 77 ms

Resolved: Processors performance has improved in acb1f36.


Added functionality to allow ExtractionTest to verify that a value is not indexed

PR has been updated.

@dev-mlb @andrewbp I think we should consider changing notIndexed to either!index or noindex to emphasize negation of the index assertion. The same pattern can be followed if we decide to negate other assertions.

@dev-mlb @andrewbp I think we should consider changing notIndexed to either!index or noindex to emphasize negation of the index assertion. The same pattern can be followed if we decide to negate other assertions.

In looking at the other assertions and in thinking about potential future assertions, I think using "!" makes the most sense. It'd be the clearest way to describe what's happening.

@dev-mlb @andrewbp I think we should consider changing notIndexed to either!index or noindex to emphasize negation of the index assertion. The same pattern can be followed if we decide to negate other assertions.

In looking at the other assertions and in thinking about potential future assertions, I think using "!" makes the most sense. It'd be the clearest way to describe what's happening.

I think the most precise and unambiguous option would be "doesNotContain or "!contains".  I don't see a need for the mode name to include "index", given that we have 4 others that don't.
(TBH, it wouldn't suck to also add support for "contains" as an alias for "index", since it makes the intent immediately obvious when reading an answer file entry.)

Makes sense to me. I did find myself wondering what "index" meant in this context. I wouldn't be opposed to outright changing "index" to "contains", but I imagine the concern is upstream stuff that might currently be using "index". I can add it as an alias if we decide to do that as part of this ticket.

None of these other matchMode assertions have tests in TestExtractionTest. If we're future proofing for other potential matchModes, then it's probably best to make test for the matchModes that already exists. It shouldn't be done as part of this ticket, but the tests being created here should be designed with that in mind.

!contains
I'm in favor of adding an alias for index and supporting the following:

contains and index
!contains and !index

We can potentially deprecate and then removeindex in the future.

!contains
I'm in favor of adding an alias for index and supporting the following:

contains and index
!contains and !index

We can potentially deprecate and then remove index in the future.

I think this is a good approach (adding the alias and using the "!" prefix.)
I don't think deprecation should be anywhere on our radar at this point, given the huge number of warnings it would cause.

PR updated based on the various feedback provided.


[WIP] Add watch filtering by package-id label

go/config-sync-watch-filter
TODO: Convert to use applyset labels & annotations
This replaces https://github.com/GoogleContainerTools/kpt-config-sync/pull/1239 with less refactoring. The refactoring can be done separately.

/retest

/retest


Notebook 01: pd.get_dummies() resulting in True/False values instead of 1/0 - Causing issues with creating model

Not sure if I may have just done something wrong here, or if something has changed. But I noticed that when going through this I was having trouble creating the model. I discovered that the reason is that when I did this part:

It resulted in this:

I wound up changing the function to this and it fixed it for me, although not sure if this was the right thing to do or not:

What's the error that you get in creating the model? I believe that Python implements bool as a subclass to integer and should you, for example, use a Normalization layer and use your insurance_one_hot it will be [0,1] as output.
This example shows the integer subclass

And then applying normalization will just use the bool and give you a [0,1] float32 back.

Facing same issue

Hi @ralversity , @cwestergren and @uKnowKlaus ,
There has been an update to pd.get_dummies() to return bool dtypes by default (rather than float or int).
You can get the behaviour of the first screenshot by setting pd.get_dummies(dtype=int).
For example:
import pandas as pd

df = pd.DataFrame({'A': ['a', 'b', 'a'],
                   'B': ['b', 'a', 'c'],
                   'C': [1, 2, 3]})
df_one_hot = pd.get_dummies(df, dtype=bool) # bool is default
df_one_hot

Output:

C
A_a
A_b
B_a
B_b
B_c

0
1
True
False
False
True

1
2
False
True
False
False

2
3
True
False
False
True

Change to dtype=int:
import pandas as pd

df = pd.DataFrame({'A': ['a', 'b', 'a'],
                   'B': ['b', 'a', 'c'],
                   'C': [1, 2, 3]})
df_one_hot = pd.get_dummies(df, dtype=int)
df_one_hot

Output:

C
A_a
A_b
B_a
B_b
B_c

0
1
1
0
0
1

1
2
0
1
0
0

2
3
1
0
0
1

See the docs here: https://pandas.pydata.org/docs/reference/api/pandas.get_dummies.html

Hey @mrdbourke,
Thanks for your reply. I already tried changing dtype to int and float it was still returning bool values. Tried restarting the kernel no effect whatsoever.

Do you get an error when applying normalisation though?
It's still a subclass of Integers, as seen at https://docs.python.org/3/c-api/bool.html
See my previous reply.

@cwestergren I did use normalization as well but didn't work. IDK what's the issue with get_dummies.
Then I went with LabelEncoding.

Understood. If you want to share your code here please do, but label encoding would work too.

Thanks. I'm after the point of error. It will still be a bool type, but internally it's
integers.
Can you share the error you get?

Sorry, I didn't save the errors. I moved on with LabelEncoding so..

All good, happy coding :)

Hey @uKnowKlaus I had the same issue but then I tried with 'int64' instead of 'int' and it worked!

Thx everyone, I had this issue too

@samuelperezh  Hi, would you mind sharing the code you used with 'int64' ?

Hey @uKnowKlaus I had the same issue but then I tried with 'int64' instead of 'int' and it worked!

np.int64 and 'run all cell' it worked for me

I had the same issue and even after adding dtype=int however after adding df = df.astype(int) it worked perfectly well,
df = pd.get_dummies(df,sparse=False,dtype=int) df = df.astype(int)

Just use the inbuilt dtype method along with pd.get_dummies() like:
df = pd.get_dummies(df,columns=['X','Y','Z'], dtype='int')
It woks perfectly fine.


Update Standard for public code assessment

Description
This contains the assessment as performed by Jan Ainali and Eric Herman towards the Standard for Public Code version 0.7.1 as of the previous commit.
Fixes #(issue)
Checklist

[x] My contributions and commit messages follows the style guidelines of this project
[x] I have made corresponding changes to the documentation
[x] New and existing unit tests pass locally with my changes
[x] The Pull Request has an informative and human-readable title
[x] Changes are limited to a single goal (avoid scope creep)
[x] Code can be automatically merged (no conflicts)
[x] I confirm that I have read any Contribution guidelines (CONTRIBUTING)
[x] I confirm that I wrote and/or have the right to submit the contents of my PR, by agreeing to the Developer Certificate of Origin, by adding a 'sign-off' to my commits

LGTM!

Fixed in https://github.com/diggsweden/open-source-project-template/commit/8bac4131adda4cf31f340cff61835ec510e086cc


[Question]: Could we add OpenSearch to the DocStore and IndexStore catalog?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Analogous to MongoDB, I see OpenSearch as a potential DB for storing and querying nodes. Llama-index already supports OpenSearch as VectorStore and thus save node information (text, metadata, etc.). So, why not use it as docstore or indexstore?

Sure, someone just needs to make a contribution for it :)


Possible to get date & time from router/hub? (TZ-733)

Question
Is is possible for an end device to obtain/request the current data and time from the zigbee router?
Additional context.
No response

@darianbjohnson ,
The Zigbee cluster provides the timer cluster for managing time, and Zigbee devices attach a timestamp when sending frames. Which way better suits your requirements?

I just reviewed the time cluster API Documentation…. This is what I need. Is there an example that shows how to use the time cluster API?

@darianbjohnson ,
We have not provided an example for the timer cluster temporarily. However, you can implement it based on the ZCL specification and refer to the examples of other clusters, such as the temperature cluster.

@darianbjohnson please reopen if you have any further questions on this topic.


Outdated?

Doesn't specify if the Apps developed in a DoD Power Platform tenant are covered under the P-ATO and it would help if it did.

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

ID: ea524f2a-1e2a-6ade-8e2b-bc61173107c5
Version Independent ID: 5990c060-8907-62b4-a8b3-f7ed8339a70e
Content: Power Apps US Government - Power Platform
Content Source: power-platform/admin/powerapps-us-government.md
Service: power-platform
Sub-service: admin
GitHub Login: @carrema
Microsoft Alias: macarrer

Thanks for your comment, @AnthonyFern707. This issue has been assigned to the doc author for review.


ConsumerProcessingManagerSpec random failed test

Fix random fail in test:
ConsumerProcessingManagerSpec

When the response is a failed batch it should shutdown and stop processing *** FAILED ***
[info]     org.mockito.exceptions.verification.WantedButNotInvoked: Wanted but not invoked:
[info] worker.requestShutdown();
[info] -> at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec$$anon$2.$anonfun$new$7(ConsumerProcessingManagerSpec.scala:162)
[info]
[info] However, there was exactly 1 interaction with this mock:
[info] worker.getApplicationName();

[info] -> at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManager.(ConsumerProcessingManager.scala:65)
[info]     at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec$$anon$2.$anonfun$new$7(ConsumerProcessingManagerSpec.scala:162)
[info]     at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec$$anon$2$$Lambda$327/1114273098.apply(Unknown Source)
[info]     at org.scalatest.concurrent.Futures.whenReady(Futures.scala:677)
[info]     at org.scalatest.concurrent.Futures.whenReady$(Futures.scala:675)
[info]     at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec.whenReady(ConsumerProcessingManagerSpec.scala:52)
[info]     at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec$$anon$2.(ConsumerProcessingManagerSpec.scala:156)
[info]     at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec.$anonfun$new$6(ConsumerProcessingManagerSpec.scala:152)
[info]     at com.weightwatchers.reactive.kinesis.consumer.ConsumerProcessingManagerSpec$$Lambda$240/1621586683.apply(Unknown Source)
[info]     at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
[info]     at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)

duplicated


[Regression] Wallpaper appears above all windows

Describe the bug
When right-clicking the desktop with a window open, the wallpaper brings up to the top level, but the background color stays below.
Additionally, if I click somewhere in that background color, the menu from Explorer pops up for whatever the reason.
Steps to reproduce

Have a window that spans further than your wallpaper
Right-click the wallpaper
Wallpaper becomes frontmost until context menu is deactivated

Expected behavior
Either just pop up the menu, or bring up the whole Cairo's Desktop to front.
System information:

Windows version: Windows 10 version 1803 build 17134.590
Cairo version: Version 0.3.6758.0 - Pre-release
32-bit or 64-bit: 64
In Cairo Settings > Advanced, is Cairo set as shell?: yes

Screenshots
When clicking the wallpaper it overlaps the window below:

When clicking outside the wallpaper, explorer's menu pops up:

I'm a bit confused, you mentioned that Cairo is set as shell but also that Explorer is running. Have you logged off and back in after changing this setting?

Closing; appears to be running in an unsupported configuration


UI 568 trade UI improvements

Description
Will fill description soon

@evgenyboxer I haven't done the tradecardGP yet on purpose

also another general comment is to use the new script setup way of things

Some things I found in testing:

When doing ETH / USDC the graph says "Not enough data" which is confusing because this should have the most data. It's because all trades are done with WETH so I think this should show the chart for WETH / OTHERCOIN when ETH is selected.
On staging mainnet when I'm trading ETH for USDC I click the max button on ETH with 0.1186 ETH in my wallet and it only sets the value to 0.0186. Also the graph is still DAI / USDC which is what I was trading before. Maybe some state left over causing both issues?

My process was:

Open trading page
Select DAI / USDC
Change DAI to ETH
Click max button after switching to ETH.

Here's a screenshot after clicking the max button:

When clicking XNX/USDC on the left on Kovan it only shows the logo for XNX without the label.
Minor issue: Would it be possible to make the background blur or fade out when expanding the trading chart? Or maybe some shadow around it. It's currently hard to tell the chart from the background.

@timjrobinson

On staging mainnet when I'm trading ETH for USDC I click the max button on ETH with 0.1186 ETH in my wallet and it only sets the value to 0.0186.

This is because we subtract a buffer for gas.


Houdini doesn't recognise the socketClient!?

Client was set up according to the docs:
import { HoudiniClient, type SubscriptionHandler } from '$houdini/runtime'
import { createClient } from 'graphql-ws';
import { browser } from '$app/env'

async function fetchQuery({ fetch, session, text = '', variables = {} }) {...}

const socketClient: any | null = browser ? new createClient({
	url: "ws:/localhost:3200/graphql",
}) : null;

export default new HoudiniClient(fetchQuery, socketClient)

but i still get the following error message: The current Houdini Client is not configured to handle subscriptions. Make sure you passed a socketClient to HoudiniClient constructor.

Are you trying to execute a subscription during ssr? In this case browser === false and socketClient === null

Ok, found a solution:
// ItemUpdate.listen({ id: itemID })
$: browser ? ItemUpdate.listen() : null;

Follow up question: Is there  a way to preload data via a query to deliver a prerendered list (ssr) and then keep the data up to date via a subscription once it's established on the client?

Glad to see your original issue was resolved @OlmoDalco and thanks for helping out @fehnomenal!
You can definitely! The best way to pull that off is to use @list on the field in your query and then use list operation fragments inside of your subscription to mutate the result. Without knowing your query I can't give you an exact query to copy and paste but here's the general gist:
query MyQuery {
    myListField @list(name: "My_List") {
        id}
        }
    `


[Feature Request] Trusted Types support in JavaScript SDK

Problem Statement
JavaScript SDK should fully support Trusted Types API so that it can be seamlessly integrated in applications that enforce Trusted Types for all DOM XSS Injection Sinks (such as innerHTML setters) via CSP directive require-trusted-types-for.
On a practical side this means hopefully minor re-factoring of methods where string content is interpreted as HTML and possibly appended to DOM. At first glance there are only few locations in code where this is happening (e.g. assignments to innerHTML) so chances are this can be achieved with relatively low effort.
Proposed solution
Review source code of the library and identify locations that will require rewrite, groom it and do it. We could start from this list:

Empty string assignments into .innerHTML

Here we should leverage TrustedTypePolicyFactory.emptyHTML

https://github.com/microsoft/AdaptiveCards/blob/45bd264a7b64e7bc452961a83143a557b174a65f/source/nodejs/adaptivecards-react/src/adaptive-card.tsx#L127
https://github.com/microsoft/AdaptiveCards/blob/495987d1d4a3eef2e41a271111006a33b147a37b/source/nodejs/adaptivecards-controls/src/calendar.ts#L165
https://github.com/microsoft/AdaptiveCards/blob/495987d1d4a3eef2e41a271111006a33b147a37b/source/nodejs/adaptivecards-controls/src/calendar.ts#L285
https://github.com/microsoft/AdaptiveCards/blob/0ceb34c39647f0fe811e51554466a7d417855a27/source/nodejs/adaptivecards-controls/src/radiobutton.ts#L78
https://github.com/microsoft/AdaptiveCards/blob/0ceb34c39647f0fe811e51554466a7d417855a27/source/nodejs/adaptivecards-controls/src/textbox.ts#L150

Arbitrary HTML assignments into .innerHTML

Here we probably need to create unique TrustedTypesPolicy for AdaptiveCards SDK and wrap content using createHTML method prior assignment.

https://github.com/microsoft/AdaptiveCards/blob/cf1e0a81753b1240cb0325983e67398e31987497/source/nodejs/adaptivecards/src/card-elements.ts#L926
https://github.com/microsoft/AdaptiveCards/blob/cf1e0a81753b1240cb0325983e67398e31987497/source/nodejs/adaptivecards/src/card-elements.ts#L1063
https://github.com/microsoft/AdaptiveCards/blob/437e57abde755ffaac542fb52408e4eaf4994870/source/nodejs/adaptivecards/src/utils.ts#L121
https://github.com/microsoft/AdaptiveCards/blob/66af50085692bf26a58f10e903b3053ac8a2aef3/source/nodejs/adaptivecards-controls/src/inputwithpopup.ts#L192

Alternatives or Workarounds
Typical alternative is to rewrite the library to avoid using DOM XSS Injection Sinks completely. This is possible in some cases (e.g. when HTML is static and can be constructed by standard DOM manipulation methods) but not always.
We also need to be careful to keep supporting browsers without Trusted Types support. This is usually done by testing whether window.trustedTypes is defined and fall-back to current behavior if it's not.
Similar implementations in other libraries for reference:

Visual Studio Code
Webpack
Angular

@paulcam206 , @licanhua , do you plan to address my comments in the PR? Thank you.

@tosmolka what comment? If you are going to add new comment, yes, please go ahead.

@licanhua , apologies, I did not submit the review so you were unable to see them. Comments should now be visible in the PR.


[Bug report] Execution failed for task ':flutter_image_compress_common:compileDebugJavaWithJavac'.

Version
2.3.0
Platforms
Android, iOS
Device Model
Moto Edge 40
flutter info
[✓] Flutter (Channel stable, 3.7.12, on macOS 14.6.1 23G93 darwin-arm64, locale
    en-IN)
    • Flutter version 3.7.12 on channel stable at /Users/mfho-27043771/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4d9e56e694 (1 year, 6 months ago), 2023-04-17 21:47:46
      -0400
    • Engine revision 1a65d409c7
    • Dart version 2.19.6
    • DevTools version 2.20.1

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/mfho-27043771/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.3+-79915917-b509.11)

[✓] VS Code (version 1.93.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.98.0

[✓] Connected device (3 available)
    • motorola edge 40 (mobile) • ZD222CFBZ6 • android-arm64  • Android 14 (API 34)
    • macOS (desktop)           • macos      • darwin-arm64   • macOS 14.6.1 23G93 darwin-arm64
    • Chrome (web)              • chrome     • web-javascript • Google Chrome 129.0.6668.90

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

How to reproduce?
Include the package flutter_image_compress in your project, As this package internally depends on flutter_image_compress_common
Logs
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':flutter_image_compress_common:compileDebugJavaWithJavac'.
> Could not resolve all files for configuration ':flutter_image_compress_common:androidJdkImage'.
   > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
      > Execution failed for JdkImageTransform: /Users/mfho-27043771/Library/Android/sdk/platforms/android-31/core-for-system-modules.jar.
         > Error while executing process /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/jlink with arguments {--module-path /Users/mfho-27043771/.gradle/caches/transforms-3/26b10b86633c6cb11c4d8f8c1ba672d9/transformed/output/temp/jmod --add-modules java.base --output /Users/mfho-27043771/.gradle/caches/transforms-3/26b10b86633c6cb11c4d8f8c1ba672d9/transformed/output/jdkImage --disable-plugin system-modules}

Example code (optional)
No response
Contact
No response

@mshivkumar I have a workaround for this till the official fix comes. I have added the project as local dependency and updated updated JAVA Version in build.gradle

you should take a look at this https://github.com/fluttercandies/flutter_image_compress/issues/318

@mshivkumar I have a workaround for this till the official fix comes. I have added the project as local dependency and updated updated JAVA Version in build.gradle

Can you please explain how did you changed JAVA version? I am facing the same issue now.

Same issue here. I don't anything about your workaround.
Could you please detail a bit?

Because this issue is somewhat same as what I encounter, I will just copy paste my solution directly from issue #318, please try it out:
I think I found a way to solve this issue. It appears my issue has some relation with this issue.
The way to solve it is by upgrading gradle version from 8.1.0 to 8.2.2 that is located in the android/settings.gradle
plugins {
  id "com.android.application" version "8.2.2" apply false
}

It hasn't been solved with that. Did anyone find another solution?


Fix oadp operator image tag

This fixes "unknown flag: --fs-backup-timeout error"

/ok-to-test

/hold
Should we update the config files and then run make bundle to create the bundle files?

Should we update the config files and then run make bundle to create the bundle files?

ya. will push here in a bit.

/unhold

/lgtm