Relaychain DB errors

Describe the bug
Running the same setup on 3 machines.
VPS 1. No problem, synced using RocksDb from polkashots.io (after 0.9.12 update)
VPS 2. Problem with RocksDb - giving error: Unsupported BABE DB version: 3. Then I tried letting it sync by itself and succeeded.
VPS 3. Problem with RocksDb - giving error: Unsupported BABE DB version: 3.

Then I tried letting it sync by itself after finishing it gave error: [Relaychain] DB has been previously marked as corrupted, attempting repair, Error: Service(Client(Backend("Corruption: force_consistency_checks: L0 files seqno 865146853 865787239 1808995 vs. 865524326 865626223 1810803")))
Another syncing attempt resulted in this error:
DatabaseError(DatabaseError(Custom { kind: Other, error: Error { message: "IO error: No such file or directory: While open a file for appending: /home/kintsugi_user/kintsugi/polkadot/chains/ksmcc3/db/full/008326.log: No such file or directory" } }))
After trying private relaychain snapshot from Dominik, got this error: Error: Service(Client(Backend("Invalid argument: Column families not opened: col11, col10, col9, col8, col7, col6, col5, col4, col3, col2, col1, col0")))

To Reproduce
Running as a systemd service:
[Unit]
Description=Kintsugi full node
[Service]
User=kintsugi_user
Group=kintsugi_user
ExecStart=/usr/local/bin/interbtc-parachain
--name=Polkadotters
--base-path=/home/kintsugi_user/kintsugi
--telemetry-url "wss://telemetry.interlay.io/submit 0"
--chain=kintsugi
--execution=wasm
--wasm-execution=compiled
--unsafe-ws-external
--rpc-methods=unsafe
--pruning=archive
--
--rpc-cors=all
--no-telemetry
--execution=wasm
--wasm-execution=compiled
--database=RocksDb
--unsafe-pruning
--pruning=1000
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target
Expected behavior
Errors from the bug description
Version / Commit (e.g. 1.0.0):
version 1.2.0-0f43318-x86_64-linux-gnu
Additional context

Closing, @Curu24 please re-open if necessary.


Client side render: parseMarkdown returns null on Safari for iOS 16 and below

app.vue
<template>

    <nuxt-link to="/">Home</nuxt-link>

    <nuxt-link href="/article">Article</nuxt-link>
    <NuxtPage />

</template>

/pages/article
<template>

  <! -- not work -->
    <MDCRenderer :data="ast?.data" :body="ast?.body" />

</template>

Client side: click to article page，returns null on Safari for iOS 16 and below

Unfortunately, I don't have access to iOS 16 to reproduce it.
Do you have ay error log in the console? What error do you get in asyndata?
const { data: last, error } = await useAsyncData('markdown', () => parseMarkdown(`# heading 1`))

console.log(error)

Thanks for your help!
I got this error: Error: Invalid regular expression: invalid group specifier name
I guess some  regex patterns of MDC are not supported on Safari for iOS 16 and below.
Looking forward to your reply.
Thank you again!


Jump pad

Player is yeeted upwards when walking over jump pad.

Open Questions
How would you place a jumppad in tiled?
As an object or as a tile?

A tile would already have a sprite associated, but can't have a custom size (has tile size).
You would still be able to place multiple tiles next to each other to make bigger jumppads.
An object would need to have a sprite associated somewhere else
(through config file or tiled properties). But it could have any size.

I would say as a tile, for now at least. Unless we already need custom-sized jumppads.
How would you define a tile/object to be a jumppad?

With the type field?
With the type field, it could have associated data in its config file (such as yeet strength).
We could still make the strength overwritable through tiled properties.
Or with a custom property?
With a custom property, yeet strength could only be specified
as another (or the same) property.

I would say with the type field.
@hoichael thoughts?

Seems fine, I don't see any problems with placing jumppads as a tile and defining them through their type should enable all the customization we need.

@hoichael 👍

@hoichael


[hack] do not consider it an error if nothing has changed

If the main branch already has the updated Kiali server repo code, the hack script that is run by the release action will attempt to add/commit zero changed files and that results in "git commit" returning a non-zero exit code. This aborts the hack script and the release action assumes a failure occurred.
This is actually OK to happen - it just means we already updated the main branch with the latest code.
This PR checks to see if nothing needs to be committed, and if so, it just exits normally since this is an OK condition.

The --quiet option to git diff-index makes the command exit with a status of 1 if there are differences (files to be committed) and 0 if there are none, without showing any output. It implies the --exit-code option. See git diff-index --help for details.


Place the documentation on ReadTheDocs

Place the documentation on ReadTheDocs and update README file.

Done (incl. API doc):

http://cli-proton-python.readthedocs.io/en/latest/

Dcumentation reference added to README.rst:
https://github.com/rh-messaging/cli-proton-python/commit/c4383f03345318c7deaecda5a51e8bff3476e5a1


v1.7 backports 2021-02-05

#13989 -- runtime: specify ICMP ids on connectivity test (@kkourt)
Add definition for PingTimeout, created in commit e1e1f50.

Once this PR is merged, you can update the PR labels via:
$ for pr in 13989; do contrib/backporting/set-labels.py $pr done 1.7; done

test-backport-1.7

test-backport-1.7

test-backport-1.7

retest-4.9

test-missed-k8s

test-upstream-k8s

test-missed-k8s

test-missed-k8s

test-backport-1.7

test-backport-1.7

k8s-upstream required job failed with:
https://jenkins.cilium.io/job/Cilium-PR-Kubernetes-Upstream/2819/execution/node/56/log/
04:56:22      k8s1-1.17: Get https://k8s1:5000/v2/: x509: certificate has expired or is not yet valid

Seen before on other branches, issue https://github.com/cilium/cilium/issues/11641 . Probably we need to cherrypick a commit to address this.

Probably we need to cherrypick a commit to address this.

Do you want it to be part of this PR, or should I open a follow-up issue?
I've been looking for the fix but haven't found much yet. I'm trying to pin down where this certificate is generated. From what I understand, it is created by vagrant when setting up the VMs for the test. The error message could indicate that invalid certificates have been created, or that the time on the machine is not set correctly. I'm not sure what control we have over Vagrant for creating the certificate or setting up the time of the machine. Is this something that we could have fixed in the cilium/ubuntu-next image itself? What about https://github.com/cilium/packer-ci-build/pull/237?

I think you've found the "fix" for longer term, but when v1.7 was first created that change was not in the image. It's now been about a year since we first branched for v1.7, so that's probably why the cert expired. AFAIK something like https://github.com/cilium/cilium/commit/2035ba3ae6a2c9a725a93e05b92b9d4f5798e527 (linked from #11641) should likely do the trick, or we can try to rebase against a newer version of the VM images... though that can end up being more work than just working around the cert issue in the way that commit does.
Given that this PR is only making CI changes to the runtime tests, and they passed here, I think that clearly shows that these changes are not the culprit of any of the failures so I'm okay with merging this as-is. But we still need to triage & ensure we have issues filed for these so that in future, backporters can search for and identify common CI issues on this branch.


⚠ Bofrost.es has degraded performance

In 9b31d73, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1494 ms

Resolved: Bofrost.es performance has improved in 4c1a652 after 9 minutes.


chore(package): update lint-stagged

Fixes #2911.

Codecov Report

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

@@           Coverage Diff           @@
##           master    #2914   +/-   ##
=======================================
  Coverage   99.67%   99.67%
=======================================
  Files         161      161
  Lines        2733     2733
=======================================
  Hits         2724     2724
  Misses          9        9

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 530a0d6...dbee108. Read the comment docs.

Released in<EMAIL_ADDRESS>


[FEATURE] Show password button

Detailed description
Add show password button to sign up page as it is already present in sign in page
Context

Possible implementation
No response
Additional information
Assign this issue to me under GSSOs'23
Code of Conduct

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

can any one assign me this issue?

Hey, there is a pr for this already so I'm closing it for now.


How to get current chart options?

For example, I add a multiBarChart with "showControls: true".
This will show chart with two radio buttons "grouped" and "stacked".
And user can click on them and change chart appearance.
I need somehow to get current chart options and save them to database to restore then when user will comeback.
Any ideas?

You can get chart object that contains all available options via api:
<nvd3 options="options" data="data" api="api"></nvd3>

and in js:
var chart = $scope.api.getScope().chart;
var isStacked = chart.stacked(); //if true - stacked, if false - grouped

Thanks! It works.


numbergen - change range bounds & add helper functions

change numbergen.range to be inclusive on both ends of range
add numbergen helper functions;
bump numbergen crate to 0.1.4
Signed-off-by: steve<EMAIL_ADDRESS>

@stevelr please confirm, looks like #6 is a superset of this one. If so, we should close this PR.


Set coord name concat when concating along a DataArray

[x] Closes #5240
[x] Tests added
[x] Passes pre-commit run --all-files

Technically this creates user visible changes, but not sure whether it's worth adding it to the whatsnew.

Sorry this got missed @gcaria — it looks good. Let's merge in the next couple of days if unless anyone has any thoughts.
Would it be possible to merge main into this so the tests pass?

No worries @max-sixty, rebased to main and all tests work fine now!

Thanks @gcaria


Template Distribution.

I think it is worth starting a serious discussion on how these templates are going to be distributed and how Plaster could potentially detect installed templates. I have been seeing several people getting interested about Plaster, and the problem of distribution and just finding Plaster templates is becoming evident.
PSGallery
I think the best distribution method would likely be the PSGallery and add a flag or something for plaster. However, I feel there is an issue with this that conflicts with the prevention of Code Execution in the Plaster Templates. If you install a module from the PSGallery, you just bypassed any attempt at preventing Code execution. If you are wanting to be malicious just have the code run at module installation and/or module import. The same goes with any other module, if you want to be malicious, just have it execute at module installation.
Template Detection
If Templates are distributed as modules, I think it would be beneficial for Plaster to be able to detect those templates in the module directories in some way. Maybe you have a standard folder name or other signal that Plaster can find. Instead of supplying a template path, I think it would be beneficial to either have a new command that prompts the user of template choices, or add a new method to invoke plaster that searches for installed templates and prompts the user.
I just wanted to get a dedicated discussion going on this and see what peoples thoughts were.

@KirkMurno and I have been talking about this occasionally but haven't yet had a chance to start working on a solution for it.
Yeah, the Gallery is the best place to do distribution by default.  The idea we've been kicking around is to define a common folder structure for modules to include extensions that apply to other modules.  If we couple that with a special tag on the module in the Gallery then it should be pretty easy to find a list of modules on the user's machine that contain Plaster templates.  Once we locate those modules we should be able to check the module's installation path for the included templates and then present them to the user, no loading of the module needed.  A pure Plaster module shipped via the Gallery should only need a .psd1 and the correct folder structure.
Now that I read through your issue completely, it seems like you're saying the same thing :)
I think we'll definitely need a basic story for this for the first official release (which should theoretically should be happening in the next month or two).

Any thoughts on also allowing the user to pull down a template from a Git repository? Obviously Git would need to be available on the system but I can see use cases where this would be useful.
Something like this would clone the repository into a temporary location, Plaster would use the template in the temp folder, generate the module, then remove the temp folder.
Invoke-Plaster -GitUri 'https://github.com/devblackops/Module.Template.git' -Destination .\NewModule

I don't think that Invoke-Plaster needs to support Git directly.  You can script this as:
$tempPath = "${env:Temp}\$([guid]::NewGuid())"
New-Item $tempPath -ItemType Directory | Set-Location
git.exe clone https://github.com/devblackops/Module.Template.git
Invoke-Plaster -Template ./Module.Template -Destination $somePath
Remove-Item $tempPath -Recurse -Force

Just filed an issue for implementing a Get-PlasterTemplate cmdlet which will use a template module resolution strategy that I'm currently designing: https://github.com/PowerShell/Plaster/issues/106
Working on a proposal for how we'll resolve template modules, will give more info on that in the next couple of days!

Along the those lines, we probably should have a New-PlasterManifest command to help folks create the manifest file.  I'll add that one to my TODO list.

Or have a Plaster template for creating Plaster templates :)

My thinking was to mirror New-ModuleManifest kind of like we've done with Test-ModuleManifest / Test-PlasterManifest.  I want to be able to point to a directory of files and have the New-PlasterManifest auto-generate the <file> file directives in the manifest.  Since Plaster itself isn't quite full blow T4 type tool, this would be hard to do.

That sounds good to me, it'd make things easier for a user who created a project and then wants to templatize it.

I'm working on this command today.  Hopefully will have something ready to go in a few days.  Then need to start working on templates and integration with VSCode (unless we think we can rope in

The New-PlasterManifest command has been implemented.


Expose internal methods / Low-level wrapper?

I've encountered a situation when it would be convenient to have access to internal methods several times. These methods are mostly the ones taking IntPtr as arguments.
For example:
void SetUnorderedAccessViews(int startSlot, int numUAVs, IntPtr unorderedAccessViewsOut, IntPtr uAVInitialCountsRef)
This would allow me to write extension methods (for convenience) and in several cases avoid filling array of values which gets eventually copied to stackallocated array and passed to DX.
Temporary arrays are annoying, especially because I have to store them somewhere (I don't want to allocate new arrays everywhere).
I'd like to discuss the topic.
I know it would be probably a lot of work, but what do you think about creating Low-level DirectX wrapper? It would be separate classes with static methods only (pass instance pointer as first argument), all arguments would be compatible with native API (primitive types, Vectors, IntPtr).
Then classic SharpDX wrapper would be built on the top of that.
There are cases when this would be very convenient, for example: DirectWrite TextLayout
I draw every frame different text, but I don't want to allocate new TextLayout object every time just to draw it once and let GC collect it. In this case I would use low-level API.

This is something I have been thinking recently, to move SharpDX to a struct based approach instead of using classes for ComObjects. It requires to change the code gen. The problem is that lots of APIs are huge to transform to this model (like Direct2D, DirectWrite). I have currently no much spare time for heavy code changes for SharpDX, but if you want to tackle this, I can give more details

It seems that struct inheritance would be very useful for this case, unfortunately it's not available. What do you have in mind, something like code below? (that's my PhysX wrapper)
    public struct PxRigidBody : INativeInterface
    {
        internal physx::PxRigidBody* Native; // Could be IntPtr

// No struct inheritance, thus conversion operators
        public static explicit operator PxRigidBody(PxActor obj);
        public static explicit operator PxRigidBody(PxBase obj);
        public static explicit operator PxRigidBody(PxRigidActor obj);
        public static implicit operator PxBase(PxRigidBody obj);
        public static implicit operator PxActor(PxRigidBody obj);
        public static implicit operator PxRigidActor(PxRigidBody obj);

// Interface implementation
        public bool IsNull { get; }
        public IntPtr Pointer { get; }
        public IntPtr UserData { get; set; }
        public void Release();

// PxRigidBody methods
        public void AddForce(ref Vector3 force, PxForceMode mode, bool autowake);
        public void AddTorque(ref Vector3 torque, PxForceMode mode, bool autowake);
        public void ClearForce();
// ...more PxRigidBody methods

// PxRigidActor methods
        public void AttachShape(PxShape shape);
        public PxShape CreateShape(PxGeometryPtr geometry, PxMaterial material);
        public void DetachShape(PxShape shape);
// ...more PxRigidActor methods

// PxActor methods
        public PxActorFlag GetActorFlags();
        public PxAggregate GetAggregate();
        public sbyte GetName();
// ...etc....
    }

Few notes:

Struct represents native pointer to object and it's used in very similar fashion
It contains all conversion operators for base types (upcasting explicit, downcasting implicit)
It contains all the method from all base classes (otherwise using it would require constant casting)
You're responsible to call Release()

Use struct, interface and extension methods with generics. Something like this:
public struct ComObject : ComObject.Interface
{
	public IntPtr NativePointer { get; set; }

	public interface Interface
	{
		IntPtr NativePointer { get; set; }
	}
}

public static class ComObjectExtensions
{
	public static int AddReference<T>(this T comObject) where T : ComObject.Interface
	{
		return Marshal.AddRef(comObject.NativePointer);
	}

	public static int ReleaseReference<T>(this T comObject) where T : ComObject.Interface
	{
		return Marshal.Release(comObject.NativePointer);
	}

	public static int QueryInterface<T>(this T comObject, ref Guid guid, out IntPtr interfacePtr) where T : ComObject.Interface
	{
		return Marshal.QueryInterface(comObject.NativePointer, ref guid, out interfacePtr);
	}
}

public struct Device : Device.Interface
{
	public IntPtr NativePointer { get; set; }

	public interface Interface : ComObject.Interface
	{
	}
}

The idea is to move interop code into extension methods. The good thing about this is that all ComObject structs contain only a pointer to the com object, so they are acting exactly like a reference. The downside of this approach is that generic code will generate JIT/AOT for each struct that use a " base" method. For instance, in the example above, if you do a device.Release() it will generate a code specifically for the struct Device even though the code is the same for all ComObject.Interface

I see, in my case above, there was also different Release() for every type in hierarchy (truly different, not just different generic instantiation)
I'm not sure about VS2015, but in VS2013, there's error:
Circular base class dependency involving 'ComObject' and 'ComObject.Interface'
I had to put interfaces out of the class which implements them.
IL seems fine:
IL_0000: nop
IL_0001: ldarga.s comObject
IL_0003: constrained. !!T
IL_0009: callvirt instance native int ConsoleApplication5.ComObjectInterface::get_NativePointer()
IL_000e: call int32 [mscorlib]System.Runtime.InteropServices.Marshal::AddRef(native int)
IL_0013: stloc.0
IL_0014: br.s IL_0016
IL_0016: ldloc.0
IL_0017: ret

I was worried about callvirt, but it's OK (thanks to constrainted)
I wonder, is there advantage in moving interop code to extension methods? Since the wrapper code is generated, isn't easier to just duplicate the methods in derived types and add implicit/explicit cast operators?

For this seems should ask C# lang - why constrain is possible, but not instantiation?
using System;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

namespace unsafe_com_generic
{
    public unsafe struct Com<T> where T:unmanaged, void*
    {

    }

    public struct MyDevice { }

    public static class Extensions
    {

    }

    public static class TestClass
    {
        public static void Test()
        {
            //Error CS0306  The type 'void*' may not be used as a type argument
            //var t = new Com<void*>();
            //var t2 = new Com<MyDevice*>();
        }
    }
}


Ticket/08 button reset

Hello @carmenpmoreno!
I have created a component called ButtonReset, to which I pass several things by props and the text that it must take I pass it with children.
I have also implied the use of propTypes for the data that is passed through props.
Any doubt you tell me ;)

Hello @irenegf83 ! Your button resset looks great!!


Fix rbac rule matching

Fixes https://github.com/istio/istio/issues/44256
Probably needs more tests but i am signing off for the weekend so snapshoting where I got

cc @ilrudie

@stevenctl can you take a look?


List structure

The ability to add to the list has been added
the ability to delete has been added
the ability to edit has been added
Add function goes to the local storage
Remove function goes to the local storage
Edit function goes to the local storage
Added the functionality to clear the completed tasks

The project has been completed on the previous review so I just need re-approval please


Fix: multiarch build by using crosscompilation

What this PR does / why we need it:
Use quay.io/centos/centos:stream9 with the –platform=$BUILDPLATFORM flag,
in this case the image is pulled for the builder host's current architecture.
The BUILDOS and BUILDARCH args are used to download the right go binary for
the build platform.
Cross-compilation occurs in the builder image using TARGETOS and TARGETARCH build arguments to determine the target OS/arch.
These args are set automatically by the multiarch-build process (with docker buildx).
The final container image (registry.access.redhat.com/ubi9/ubi-minimal) is pulled for the correct target architecture, such as amd64 or arm64.
This update fixes support for multiarch builds and speeds up image building, as cross-compilation is faster than compiling on a non-native platform.
Special notes for your reviewer:
Fixes support for multiarch builds added in https://github.com/k8snetworkplumbingwg/ovs-cni/pull/307
Multiarch build was broken by https://github.com/k8snetworkplumbingwg/ovs-cni/pull/319
Release note:

NONE

@phoracek @SchSeba  please take a look on this one

Additional context is in this message
https://github.com/k8snetworkplumbingwg/ovs-cni/issues/260#issuecomment-2495530500
Example of the job with the code from this PR:
https://github.com/ykulazhenkov/ovs-cni/actions/runs/12008233711/job/33470460458
And artifacts
https://github.com/ykulazhenkov/ovs-cni/pkgs/container/ovs-cni-plugin/311494909?tag=v0.101.0

@ykulazhenkov We should update the GOARCH ?= amd64 line (as seen in this Makefile) to:
GOARCH ?= $(shell uname -m | sed 's/x86_64/amd64/')
This change will dynamically set GOARCH based on the host architecture, converting x86_64 to amd64 as needed.
@oshoval changes look good to me, assuming the idea is to provide multiplatform support only through GitHub Actions, exclusively for the Docker container runtime, and not through make commands or for the Podman container runtime.

@oshoval changes look good to me, assuming the idea is to provide multiplatform support only through GitHub Actions, exclusively for the Docker container runtime, and not through make commands or for the Podman container runtime.

thanks
at the end we will do need also images that are multi platform though isnt it? (as the issue / PRs you work on)
it is fine to do so in steps, as long as those steps can co exists

@oshoval changes look good to me, assuming the idea is to provide multiplatform support only through GitHub Actions, exclusively for the Docker container runtime, and not through make commands or for the Podman container runtime.

thanks
at the end we will do need also images that are multi platform though isnt it? (as the issue / PRs you work on) it is fine to do so in steps, as long as those steps can co exists

Yes, we can consider adding multiplatform support using a Makefile(using make commands) for both Docker and Podman in the future. This would allow us to build images on our local machine, in a specific environment, or within any CI system, giving us more control over the build process and environment.
For Podman, there are no additional dependencies required to build multiplatform images, while for Docker, we would need the docker buildx tool.

We should update the GOARCH ?= amd64 line (as seen in this Makefile) to:
GOARCH ?= $(shell uname -m | sed 's/x86_64/amd64/')
This change will dynamically set GOARCH based on the host architecture, converting x86_64 to amd64 as needed.

done

/ok-to-test
/lgtm


[Select] Fix defaultValue not being recognised

Description
I've been using Select a lot recently in forms and noticed defaultValue wasn't being reflected when the element's value was checked; e.g. in a form submission event with an uncontrolled Select. Instead the first option was defaulting as the value.
Here is an issue covering the same thing https://github.com/radix-ui/primitives/issues/1223

Removed the defaultValue prop from the <select /> inside BubbleSelect and just added value={value}
Ensured this change fixed uncontrolled behaviour with unit and integration tests
Ensured this change didn't break controlled behaviour with unit and integration tests

Did you see the comment in the code above the change you made?

 * We purposefully do not add the `value` attribute here to allow the value
 * to be set programatically and bubble to any parent form `onChange` event.
 * Adding the `value` will cause React to consider the programatic
 * dispatch a duplicate and it will get swallowed.

@anthify See https://github.com/radix-ui/primitives/pull/1224#discussion_r821566517

Yeah as others have pointed at, that's what we've been discussing over in #1224.
I can't immediately see a way to fix it.
I can think of a way to get around it but it would probably break the initial render without JS (that said, the portalling probably means it's broken already…)

Closing this as duplicate of #1224


feat(github-code-colors): support gist.github.com

test: https://gist.github.com/s1n7ax/3d2b476ecbde72693572b8652044e5a4

Thanks!


Fix/qml resources

fix/non_lang_resources  - follow up to #130
the resource file refactor was not handling non-lang resources properly, it would miss top level folders that are not localized
QML files were completely ignored in the mk2 refactor, this commit adds "new style" support for handling of qml files

QML files are been resolved from a deeper level than the UI folder, it should only resolve the UI folder not deeper levels, for example its resolving for timer skill the "ui/+mediacenter/Timer.qml" where it should only be resolving "ui/Timer.qml"


TypeScript-wiki content doesn't mention content license

If I go to Special:Random page on Wikipedia right now and edit whatever I found, anyone is free to use the result under CC-BY-SA 3.0.
Under what terms is the TypeScript wiki content available?

I would think (and prefer) either CC-BY-SA or Apache 2.0. Can @jonathandturner or @mhegazy please weigh in on this?

I'm not exactly a lawyer, but I think we should license this as CC-BY-SA, for example azure-docs is that.

Added this 👍


Please make a replicate demo

This model is amazing! Good work guys! It would be awesome if you guys could push it to replicate.com, where many models are being shared rn

Yes, I'd also really appreciate that too!

@1049451037 Would you be able to take this up? Happy to help!!


[Feature Request] C# - Add Whisper Sample

Scenario
As a user, I want to be able to process the audio stream in meetings via OpenAI Whisper TTS.
Solution
Add a sample that demonstrates how to work with audio streams in Meetings, preferably using Whisper.
Additional Context
No response

Thanks for the feature request. I've added it to the backlog for us to review.


cannot copy with editor drap and drop

open editor
select text and drag
press Alt-key
drop text somewhere
🐛 text is moved, not copied which pressing Alt while dragging means (at least on mac)

I didn't touch this part yet as alt is multi-cursor related. It requires careful testing against edge cases so let's not rush it in this iteration.
As we try to mimic the browser behavior, this one is a good feature request.

👎 in favor of #21862. ctrl+d&d is more conventional.

As said in #21862
Apparently on a Mac you use the Alt-key when copying. On Windows it is the Ctrl-key.
Maybe the labels can be updated for this issue as this is not a 'mac' only issue
And in that issue I suggested to adjust the mouse cursor while dragging, similar to what Word does.

#21862
-- Sorry for the English, I used Google Translator --
Allow to DragAndDrop content to another VSCode tab and to other programs. This is currently not possible. (Without having to click Ctrl)
By clicking Ctrl it would only copy within the same file, right?

Since pressing Alt key first and then clicking on a selection might have special meaning later on (eg, aligning column select with Sublime), right now to use this feature:

Click on a selection and start dragging
Press Alt and hold
Drop. The selected text is pasted into the editor without cutting old selection.

-- Sorry for the English, I used Google Translator --
@rebornix Sorry, but that's not much practice.
Another thing I'm a Windows user and Ctrl is better than Alt. I think it is possible to do a check of which operating system.
It would not have like him to interpret by pressing Ctrl (please change this in Windows) and click and start dragging it?
Another thing .. I still can not drag and drop to another VSCode tab or to another program. Is this in another issue?

This should definitely be implemented as OS specific feature.
On a Mac one uses Alt while dragging/dropping selection, but on Windows Ctrl is used for the same purpose. It can't simply be unified for both systems as that will be very confusing for users.

Yes gentlemen, it's Ctrl on Windows now ;) thanks for your feedback.

@rebornix

Another thing .. I still can not drag and drop to another VSCode tab or to another program. Is this in another issue?

@Tekbr that's actually another feature request, thanks!


Textview ctrl+v, ctrl+c, and ctrl+a

Hey so errrr this is my second issue today but if i can solve both issues i have in one day, i wont ever have to get frustrated over this library ever again.
Basically, ctrl+v, ctrl+c and ctrl+a doesnt work for textview for me.
Is it possible to use the following shortcuts in textview? Or do the shortcuts go under different key combinations in this library?
If not, is there any way to implement this? I have been doing a lot of searching and I still cant find a solution

I don't think this is implemented in TextView.  There is a Clipboard class but it doesn't interact with the system clipboard of the OS.  You might be able to find a NuGet package somewhere for cross platform clipboard.
            textView.KeyPress += (k)=>
            {
                if(k.KeyEvent.Key == Key.ControlC)
                    Clipboard.Contents = textView.Text;
                if(k.KeyEvent.Key == Key.ControlV)
                    textView.Text = Clipboard.Contents;
            };

Note that this is code for the current release of gui, I think in 1.0 it will change to Key.C | Key.CtrlMask instead of Key.ControlC

I don't think this is implemented in TextView.  There is a Clipboard class but it doesn't interact with the system clipboard of the OS.  You might be able to find a NuGet package somewhere for cross platform clipboard.
            textView.KeyPress += (k)=>
            {
                if(k.KeyEvent.Key == Key.ControlC)
                    Clipboard.Contents = textView.Text;
                if(k.KeyEvent.Key == Key.ControlV)
                    textView.Text = Clipboard.Contents;
            };

Note that this is code for the current release of gui, I think in 1.0 it will change to Key.C | Key.CtrlMask instead of Key.ControlC

I don't think this is implemented in TextView. There is a Clipboard class but it doesn't interact with the system clipboard of the OS. You might be able to find a NuGet package somewhere for cross platform clipboard.
            textView.KeyPress += (k)=>
            {
                if(k.KeyEvent.Key == Key.ControlC)
                    Clipboard.Contents = textView.Text;
                if(k.KeyEvent.Key == Key.ControlV)
                    textView.Text = Clipboard.Contents;
            };

Note that this is code for the current release of gui, I think in 1.0 it will change to Key.C | Key.CtrlMask instead of Key.ControlC
I also don't think TextView has a notion of selected areas... (although I could be wrong)

Alright thanks. I am not too worried about ctrl+a so this is fine by me.

I don't think this is implemented in TextView. There is a Clipboard class but it doesn't interact with the system clipboard of the OS. You might be able to find a NuGet package somewhere for cross platform clipboard.
            textView.KeyPress += (k)=>
            {
                if(k.KeyEvent.Key == Key.ControlC)
                    Clipboard.Contents = textView.Text;
                if(k.KeyEvent.Key == Key.ControlV)
                    textView.Text = Clipboard.Contents;
            };

Note that this is code for the current release of gui, I think in 1.0 it will change to Key.C | Key.CtrlMask instead of Key.ControlC
I also don't think TextView has a notion of selected areas... (although I could be wrong)

Alright thanks. I am not too worried about ctrl+a so this is fine by me.

These features aren't already implemented yet in TextView like in the TextField.
Indeed it is a good solution the Clipboard class could interact with the system clipboard of the OS.

These features aren't already implemented yet in TextView like in the TextField.
Indeed it is a good solution the Clipboard class could interact with the system clipboard of the OS.

Nevermind. Turns out the clipboard works, but the key detection seems to be off. Opened a new issue regarding that.

Nevermind. Turns out the clipboard works, but the key detection seems to be off. Opened a new issue regarding that.


Fix #1337 by removing top alias to htop.

Remove the alias top=htop behavior from the utility module.

Thanks for your contribution! I appreciate it. :)


mdx errors out on blank spaces

When running the RWO build, I got the following error:
[yminsky@tiamat RWO]$ make
         mdx book/testing.html (exit 125)
(cd _build/default/book && /home/yminsky/Documents/code/RWO/_opam/bin/mdx output testing/README.md -o testing.html)
mdx: internal error, uncaught exception:
     Failure("invalid padding: \"\"")

The source of the problem appears to be a block that looks like this:
sh file=../../examples/code/testing/broken_inline_test/run.sh
  $ jbuilder runtest --dev
           run alias runtest (exit 2)
  (cd _build/default && ./.foo.inline-tests/run.exe inline-test-runner foo -source-tree-root . -diff-cmd -)
  File "test.ml", line 3, characters 0-73: rev is false.

  FAILED 1 / 1 tests
@@ exit 1

The space before the FAILED line appears to be the issue.  The failure is one problem, and the lack of line number in the error message is another.
@avsm pointed to this bit of code in mdx as the culprit:
let of_lines t =
  let pad = pad_of_lines t in
  let unpad line =
    if String.length line < pad then Fmt.failwith "invalid padding: %S" line
    else String.with_index_range line ~first:pad

Could we close this one?

is the underlying issue reported fixed?

I added tests for the reported failures so it looks fine by me.


Add editTag and deleteTag commands

Will put in tests for commands later

Codecov Report

Merging #66 (2bb720b) into master (cd86dd4) will decrease coverage by 2.57%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #66      +/-   ##
============================================
- Coverage     68.45%   65.87%   -2.58%
  Complexity      564      564
============================================
  Files            93       97       +4
  Lines          1864     1937      +73
  Branches        212      216       +4
============================================
  Hits           1276     1276
- Misses          527      600      +73
  Partials         61       61

Impacted Files
Coverage Δ

...va/seedu/address/logic/commands/AddTagCommand.java
0.00% <ø> (ø)

...seedu/address/logic/commands/DeleteTagCommand.java
0.00% <0.00%> (ø)

...a/seedu/address/logic/commands/EditTagCommand.java
0.00% <0.00%> (ø)

.../seedu/address/logic/parser/AddressBookParser.java
66.66% <0.00%> (-6.07%)
:arrow_down:

...u/address/logic/parser/DeleteTagCommandParser.java
0.00% <0.00%> (ø)

...edu/address/logic/parser/EditTagCommandParser.java
0.00% <0.00%> (ø)

...in/java/seedu/address/logic/parser/ParserUtil.java
71.83% <0.00%> (-4.29%)
:arrow_down:

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 cd86dd4...2bb720b. Read the comment docs.


Bower distribution no longer contains browser build file

Recently (perhaps from 2.5.2 to 2.5.3) the bower distribution that results from bower install bluebird no longer contains the "browser" builds. This seems like a bug, but maybe it's a feature? Is the intent that that bower clients now need to perform the build step themselves?
(CC @mcilroyc)

The browser build is no longer in the git repo but in npm, is there a way to specify that in bower?

I don't believe there is a way to add files to the bower distribution without changing the files in the repository, but I could be wrong. A workaround might be to use [https://github.com/bower/bower/blob/master/HOOKS.md](bower hooks).

Bower basically just pulls semver git tags. Hooks can't be used for something like this.  I deal with it automatically by releasing using browserify-bower-release which I'm planning on cleaning up, testing, and renaming soonish. Essentially it builds on a new branch, commits the build, tags the commit, then deletes the branch. The result is that the tag remains.

If it pulls the repo then you can generate the browser files by doing node tools/build --browser, I suppose that could be added as post install hook?

Right on being able to manually run the build. Bower hooks are for users though, not package authors. Basically you can set stuff up that will be called when you call bower install or other commands from the same directory. But it's not like the special npm scripts where you can run build steps when you package is installed by someone else.

Yes, we can build ourselves after pulling, possibly with a bower hook. Of course it's more complicated than just that one-liner, since bluebird itself has npm dependencies which have to be installed before building.
I realize that this is essentially bower's fault for making this complicated but... are you sure you want to put this burden on all of your bower users instead of just keeping the different builds in the git repo?

Having those files in the repo means most pull requests fail because the authors always commit the build files then I tell them they need to remove them and I never hear from them again.
I'll write a script similar to what bendrucker described

You can basically copy the important bits from mine:
https://github.com/bendrucker/browserify-bower-release/blob/master/src/index.js
While it's a pain to not be able to just use npm version, it's been easy enough on the roughly half a dozen or more projects I use it on. I bury the releases in tags for the same reason. Even if you put a note in CONTRIBUTING.md people still modify them.

Fixing this would be very nice. I am using bluebird in browser with bower to download latest version and gulp to include it in my project. Not sure how easy it is to add another step to build the library before including it...

This hit me too. I would consider this a broken bower release and issue a new one. My team is locked on "~2.5.2" but I'm going to lock it to "2.5.2" for now.

The 2.6.1 tag contains the browser files js/browser/bluebird.js and js/browser/bluebird.min.js
Here's the script in case anyone is interested https://gist.github.com/petkaantonov/6a73bd1a35d471ddc586

Thanks!f


Add FabricBot config to support auto-merge type generation PRs created by CI

The config was created via the FabricBot UI: https://portal.fabricbot.ms.

Codecov Report

Merging #839 (c84565d) into main (644ff52) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #839   +/-   ##
=======================================
  Coverage   95.57%   95.57%
=======================================
  Files          18       18
  Lines         294      294
=======================================
  Hits          281      281
  Misses         13       13

Flag
Coverage Δ

dotnet
95.57% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Does this config cause updates to be automatically merged, or do they still require approval from one of us humans?

Does this config cause updates to be automatically merged, or do they still require approval from one of us humans?

It causes updates created by the GitHub workflow to be automatically merged.


Add a Cohere model provider

Let's add an inference provider for Cohere (provider_type = "cohere").

Create a new provider in gateway/src/inference/providers
Add the necessary entries to gateway/src/model.rs and gateway/src/error.rs
Add your provider to the E2E test suite: gateway/tests/e2e/providers
Add a minimal example to examples/guides/providers
As the codebase evolves, providers are references elsewhere as well. Search for mistral and see wherever it is mentioned. Chances are there should be a similar mention of cohere.

See #529 and #547 for recent provider integration PRs.

@KatoStevenMubiru (via #654) Would you like to claim this one? Please comment and I'll assign it to you. Thanks!

I'd (and @WHITELOTUS0) like to work on the Cohere integration. I've reviewed the existing provider implementations and am familiar with the Cohere API. Would appreciate any specific guidance on:

Preferred testing approach
Documentation requirements
Any specific features to prioritize

Great @KatoStevenMubiru!

Please add dedicated unit tests (same file) and include it in the E2E test suite (see common.rs in the original comment above). See CONTRIBUTING.md for instructions on running tests. See other providers (e.g. xAI) for an example of both.


Add Signatures and Signing Keys

This PR adds everything needed to sign Invoices, along with some convenience methods for working with a keyring.toml file, generating keys, etc.
This has been tested against the bindle server on the main branch as of the day this was opened (3de704c8e66f50bb956938c6d63915149cf13ca1)

@thomastaylor312 I'd appreciate a review :)

Note, the tests are failing because we haven't updated this library in a while. Just need to add a flag to the integration tests. If you have any problems, I can open up a quick PR to fix it. Just let me know!

@thomastaylor312 I've addressed your comments and (pretty sure) fixed the integration tests (works locally)... adding some tests for the signing keys now.

@thomastaylor312 added some tests and more convenience funcs, I think this is good for another review :)

I think CI is failing because the Go version in go.mod is 1.15, and the os package was introduced in 1.16:
# github.com/deislabs/go-bindle/keyring
keyring/keyring.go:45:23: undefined: os.ReadFile
keyring/keyring.go:78:12: undefined: os.WriteFile
keyring/keyring.go:89:12: undefined: os.WriteFile
keyring/keyring.go:98:19: undefined: os.ReadFile

Bumping the version in go.mod should use the correct version (the cached Go versions available in the runner are Go 1.15.15, 1.16.13, 1.17.6).

@thomastaylor312 @radu-matei this should be good to go! Hopefully tests pass, all comments addressed.

Ugh...looks like it doesn't pick up Go 1.16 by default. Probably easiest to use https://github.com/actions/setup-go to select the right version

@thomastaylor312 ah dang, I was wondering what was configuring that :)
Hopefully good now?

Final thing, @cohix  — I don't want to squash all your commits, would you please mind rebasing and keeping the useful ones?
Thank you so much!

@radu-matei squashed the useless ones :) CI is green so merge at will!

Thanks folks <3


"Show/hide ordering table" customization: remove this choice

If by ordering is meant the order of elements in a statement, e.g. what comes first, what then, then remove this from the menu. Because the order feature is deprecated - superseded by adding entity anchors in the full text and parsing the order from that.

@davidzbiral what about those users not using text annotation who, for some reason, care about the order of elements in the statement? Are there no such people at all?

@davidzbiral When somebody requests it, we can implement, for now the function is really deprecated and I do not recommend this solution. I will be pushing users to have full-texts and annotate them, they will get more valuable data.

@jancimertel also needs to be removed on BE - elementsOrders in statement object


Implement Windows I/O

Closes #30

@mafintosh Tests are green 🥳

👀

@mafintosh This is ready for review when you have the time.

Amazing. Are you blocked if I wait until tmw to test this? Wanna try this on my Windows machine

Not at all!

Worked great!


Feature request: Is update/upgrade avaiable

Feature request: Is update/upgrade avaiable

You need to define what you mean by update/upgrade and why that needs to be a feature of dunnart itself.
My immediate reaction is that a general solution would require a huge amount of work, and I don't see it being worth the effort, but perhaps what you have in mind is very different.

Do you mean add a system check that the packaging system recognizes that some packages could be updated?
In that case you need to specify which packaging systems you want to support.

Thanx for your quick reply. Yes, i do mean "is an update avaiable". Like is a new firmware avaiable in Home Assistant. For my purpose Debian/Ubuntu apt is the only platform i use.

Ok, so what command can be used to determine if there are updates available?  I would rather not use anything that requires root access, as dunnart doesn't run as root - at least not how I use it.

apt list --upgradeable will run as non root. But I have to wait for some upgradeable packages to see what it will list, when some are available.

pi@devpi:~ $ apt list --upgradable | grep upgradable

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

less/stable 590-2.1~deb12u2 armhf [upgradable from: 590-2]
libdav1d6/stable 1.0.0-2+rpi1+deb12u1 armhf [upgradable from: 1.0.0-2+rpi1]
libglib2.0-0/stable 2.74.6-2+deb12u2 armhf [upgradable from: 2.74.6-1]
pi@devpi:~ $

So you get a warning that you shouldn't rely on apt output.
And the return code is always 0 as far as I can tell, independent of whether updates are available or not.

Strange
I put it into t.sh (for testing in Debian Bullseye) and get following output:
user@server:~$ ./t.sh
Auflistung… Fertig
containerd.io/bullseye 1.6.33-1 amd64 [aktualisierbar von: 1.6.32-1]
docker-buildx-plugin/bullseye 0.14.1-1~debian.11~bullseye amd64 [aktualisierbar von: 0.14.0-1~debian.11~bullseye]
docker-ce-cli/bullseye 5:26.1.4-1~debian.11~bullseye amd64 [aktualisierbar von: 5:26.1.3-1~debian.11~bullseye]
docker-ce/bullseye 5:26.1.4-1~debian.11~bullseye amd64 [aktualisierbar von: 5:26.1.3-1~debian.11~bullseye]
docker-compose-plugin/bullseye 2.27.1-1~debian.11~bullseye amd64 [aktualisierbar von: 2.27.0-1~debian.11~bullseye]

Not strange, given that apt does not have a stable CLI interface.
What is in your t.sh?  Cos I get the same thing if I run it from within a t.sh.
I am trying to count the lines - the ones containing "upgradable", and that is when I the warning - if you pipe the apt output then you get the warning not to rely on that.

If we can't find a suitable command, how about a generic hook where dunnart executes a command and uses the exit status to control the value of an input for HA?  Then what you put in your command is up to you and can be customised to suit your application.

That's a good idea.

Ok, I'll look into doing that.

I've committed a cmd module in 67759a7 that can run arbitrary commands and set a binary sensor in HA based on their exit code.
It is preliminary, and not documented yet, so I'm not guaranteeing it wont change, but you might want to try it to see if it does what you need.
I add this to my config to get it to report the apt status:
cmd:
    binary_sensors: [apt_status]
    apt_status:
        name: "apt status"
        cmd: /opt/dunnart/apt_status.sh
        device_class: update

with cmd added to the list of modules to be loaded.
The apt_status.sh script is:
#!/bin/sh
apt list --upgradable 2>&1 | grep -q upgradable

You would change that grep to "aktualisierbar" for your German apt, and change the path to the script as required.
All that gives me an apt update sensor in HA.

Thanx, i will try it. And report!

After some more digging around, I've discovered the apt -qq option.  With that, apt -qq list --upgradable will only return the packages to be updated, one per line, which is predicable enough to base a sensor off.  So I've added a couple of sensors to the sys_info module; apt_status which gives a boolean upgrade available indicator, and apt_upgradable that provides a count of how many packages can be upgraded.
To use them you just need to add them to your config, e.g.
sys_info:
  entities: [apt_status, apt_upgradable, kernel_release, os_release]

which is a bit simpler than the cmd approach.

I will try it the next week.


Create spam_mismatched_name_no_subject.yml

2500+ hits, 25 actions 2k are from a single source. fyi @aidenmitchell


pull request bbbc009

Missing PR description
Missing docstring in class BBBC009
anno_dict property should be a dictinoary
Let me know if you need help


Graphically create / view NodeGraphs

***  prerequisite ***
https://github.com/Timmoth/AptacodeStateNet/issues/8#issue-532208661
It would be very helpful for our end users to have a WPF component which allows them to visually define the relationships between nodes.
Something as primitive as:

Added a network creation tool based on Msagl


Update IBMQ; remove VQE program/uploader, use qiskit VQE

The vqe_runner broke, because the IBMQ uploader system just seems to have... disappeared. Fortunately, IBM also created a VQE program so we don't need to upload one! We just need to use the new qiskit-ibm-runtime package to invoke it, and re-work some stuff on our end a bit.
Some notable changes:

🚨 breaking change 🚨 : The first argument to vqe_runner, program_id, has been removed. It used to be the ID of the program you'd upload, but now it's always the program provided by IBM (vqe)
We must now give initialized optimizers to Qiskit rather than just their names (pl_qiskit users still just provide "SPSA" or some SciPy optimizer name as a string). However, if you initialize a Qiskit QNSPSA optimizer with their fidelity function, it fails to serialize, so I've disabled it on our end (this needs a story to follow up on)
Their new-style Hamiltonian observables must be in the Pauli basis, so I removed support for Hadamard being part of terms. Sounds familiar 😄
I didn't change any of the code below vqe_runner, just indents and stuff. The only exception is that I swapped the order of the coeff-term tuple-pair returned by hamiltonian_to_list_string because that's the order expected by the PauliSumOp.from_list constructor

Stating this because it seems we don't run it on CI: I ran test_runtime.py locally. It all passes!
Closes #287
Closes #289
EDIT: this PR now includes the contents from #301, related to upgrading the IBMQ runtime/provider code.

@timmysilv There is a couple of issues with the token of the Xanadu account. https://github.com/PennyLaneAI/pennylane-qiskit/actions/runs/4851351615/jobs/8645110884
Also there is one additional test that needs to be updated: FAILED tests/test_ibmq.py::test_track - KeyError: 'CREATED'

the tracker test is failing on master too : (
I checked, and the dict with the KeyError only has {'CREATING': datetime.datetime(2023, 5, 1, 9, 55, 49, 445000, tzinfo=tzlocal())}. Maybe a timing issue? I tried to wait for the _current_job to finish, but got the same issue. Very strange.

Users have reported issues with connecting to Qiskit. It seems like the old providers are degraded. We should consider this PR along with provider upgrades for a bugfix release.

[sc-36867]

it should indeed close that issue! I'll update the description

Integration tests for IBMQ are passing: https://github.com/PennyLaneAI/pennylane-qiskit/actions/runs/4887305149


Allow to handle nested params in search context

I implemented a date range field as a single FieldGroup in this way:
class DateRangeField extends FieldGroup {

    public function __construct($name) {
        parent::__construct(
            DateField::create($name . '[min]', 'Min'),
            DateField::create($name . '[max]', 'Max')
        );
        parent::setName($name);
    }

    public function setName($name) {
        $this->children[0]->setName($name . '[min]');
        $this->children[1]->setName($name . '[max]');
        return parent::setName($name);
    }
}

Then when using it inside a search context I got a fatal error in the trim() call because trim cannot be applied to an array.
The provided patch solves the issue by making the trim call recursive and it should not have any drawback.

Something's up with behat, so I've restarted the build.
If you would like this to get merged do you mind squashing your commits?

If you would like this to get merged do you mind squashing your commits?

Done.

@tractorcow Please merge this PR into 3.2 branch as well, since trimming was introduced in 3.2.0-beta1 https://github.com/silverstripe/silverstripe-framework/commit/7484b4f

Done https://github.com/silverstripe/silverstripe-framework/pull/5056


[$500] New feature request: Frequently used emoji is not updated when reacting to messages

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.47-6
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @iwiznia
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1709671306336899
Action Performed:

Open any chat
React with emoji for a message

Expected Result:
Emoji should be displayed in the frequently used emojis
Actual Result:
Frequently used emoji list is not updated.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/38435837/f2c96817-8d79-42e9-8068-6b48e3ed18cc

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01a421e19748004629
Upwork Job ID:<PHONE_NUMBER>562845696
Last Price Increase: 2024-03-11

Proposal
Please re-state the problem that we are trying to solve in this issue.

Frequently used emoji is not updated when reacting to messages

What is the root cause of that problem?

When AddEmojiReaction, we do not call API UpdateFrequentlyUsedEmojis like we did when we typing a emoji message

What changes do you think we should make in order to solve the problem?

We can update this to:

    User.updateFrequentlyUsedEmojis(EmojiUtils.getFrequentlyUsedEmojis(emoji));

What alternative solutions did you explore? (Optional)

NA

hey @jayeshmangwani - please can you review the proposals above?

Starting reviewing proposals

@neonbhai Your RCA seems wrong

But we don't have it for when emoji is selected from the popover.

We call updateFrequentlyUsedEmojis when we select the emoji from the suggestions.
I like the @nkdengineer 's proposal as they suggest to call the updateFrequentlyUsedEmojis when we call the toggleEmojiReaction function
🎀👀🎀 C+ reviewed

hmmmmm I think this issue needs to be solved in the backend probably, no? In AddEmojiReaction and RemoveEmojiReaction otherwise we would not be following our principle of only doing 1 API request per user interaction...

Yeah @iwiznia is right, this needs to be remedied in the backend.

@yuwenmemon But we still need the BE change as I mentioned in my proposal, right? For example, we still need to handle the offline case

Yes, that's correct we'd want to optimistically update the frequently used emojis. However, we shouldn't be doing that until the backend solution is in place.

@yuwenmemon Thanks. Can this issue be external after the BE change?

@yuwenmemon Please help ping on this issue if the BE is done. I just want to test it again after BE changes. Please help check my comment as well

to be clear @yuwenmemon would you be backing those backend changes? should we make this weekly and on hold for those changes for now then?

@zanyrenney yeah that sounds like a good idea as it will take me a little bit of time to get to this

Ahh great catch @nkdengineer! You are correct, we need to do this both in the backend and the frontend.
@yuwenmemon I think both changes could be made independently, no?

Well, wouldn't it be weird to optimistically update your frequently used emojis when it's not actually getting saved in the backend just yet?

Hmmm maybe weird, but I can't think of anything bad that would happen. Yes, if you switch deices or log out and back in the list would change, but that's a bit meh especially if we are adding the backend part soon afterwards.
Anyway, we can hold too, just pointing out that it might not be totally necessary.

Actually, you know what, since the front-end sends the entire FrequentlyUsedEmoji array anyway, I think it's something that will need to be passed to AddEmojiReaction as a param, in addition to optimistic data. So, okay let's actually do the FE first - and @nkdengineer can you send the updated FrequentlyUsedEmoji array to AddEmojiReaction similar to how we would do when calling UpdateFrequentlyUsedEmoji directly so that we can update it there?
cc @stitesExpensify as I'm admittedly unfamiliar with the emoji code to double check me on this.

Huh? I don't follow... why would we need to pass the whole array if you are just adding one reaction?
How I thought this would work is that the backend would just get the emoji passed and add it to the recently used nvp.

All the logic for generating the content for the frequentlyUsedEmojis NVP is done in the front-end:
https://github.com/Expensify/App/blob/f31cd54bb4255396ce0564c9c14068cf686c46f0/src/libs/EmojiUtils.ts#L211-L240
There's some validation in the API, but in general, it's just saving what is passed to it:
https://github.com/Expensify/Web-Expensify/blob/e96ff0ff608fe147ef4c294be4fc3b614c7b0e5c/lib/UserAPI.php#L3992-L4024
The way I see it we can:

Duplicate all the above logic in the back-end in Auth, risking the two get out of sync at some point, or have minor inconsistencies that are hard to tell.

or

Reuse the method above (getFrequentlyUsedEmojis) to generate the Frequently Used Emojis the same way we would as if saving them the way we currently do, and then just save that front-end generated value in Auth when calling AddEmojiReaction

Option 2 seems simpler to me. Again, I'd also want to check with @stitesExpensify to see what he thinks.

@stitesExpensify What do you think about these two options?

Gonna be working on the back-end for this

👋 apologies for the delay I was OOO.
I don't think that 3 is an option @iwiznia because that is not offline first.
Between 1/2 I agree that 2 is the cleaner option compared to duplicating logic in both the front and back end

I don't think that 3 is an option @iwiznia because that is not offline first.

We don't have to be extremists, I don't think it matters if we don't update optimistically the recently used emojis

2 is the cleaner option compared to duplicating logic in both the front and back end

2 is IMO the worst option

@jasperhuangg assigning to you if you're gonna be working on the BE for this!

@yuwenmemon  Can I fix the offline case in the FE side parallel?

@iwiznia Can you clarify why option 2 is the worst?
I think if we already have offline-first behavior we shouldn't break it in order to get rid of UpdateFrequentlyUsedEmojis. Can you point out which part of this approach you don't agree with?

We remove UpdateFrequentlyUsedEmojis everywhere in the code.
We use the front-end function getFrequentlyUsedEmojis to generate optimistic frequently used emojis debounced as the user types. We call it again when we call AddComment or AddEmojiReaction in the front-end.
We send the value it generates to the AddComment and AddEmojiReaction commands, and let Auth handle setting the NVP.

To me it feels like this approach is a pretty big improvement over the existing one:

We don't call UpdateFrequentlyUsedEmojis debounced anymore–IMO that was pretty wasteful since a user wouldn't switch devices while they were in the middle of typing a comment and wouldn't need the NVP set on their other devices.
We still maintain offline-first functionality
We can do all the writes in a single Auth command

@nkdengineer We're still discussing the best approach for tackling this issue–we'll see what we land on before deciding the order in which the FE/BE changes need to be handled.

@iwiznia Can you clarify why option 2 is the worst?

Because if you send a message with just 👍 we would also send a list of 25 emojis that takes up ~1950 bytes. This would happen on every message you send with an emoji. It would also happen whenever you added a reaction to any message. But really, that information is not needed, given that the backend already has that data.

@iwiznia Got it, I guess that makes sense. I think I agree with your opinion on option 3 then.
What I've gathered from this is:

What we currently have is bad, because we're calling UpdateFrequentlyUsedEmojis multiple times as the user is typing. This creates a lot of unnecessary load on our servers as it is a write command, plus it's a command that has known performance issues: https://github.com/Expensify/Expensify/issues/379910
Option 1 is bad, because we'll be duplicating logic in the front-end and back-end, which means we're doing the same work twice and could also cause bugs.
Option 2 is bad, because we'll be sending way too much data that will slow down AddComment and AddEmojiReaction, two very frequently used commands.

Option 3 is bad because it isn't offline-first, but after thinking about it some more, how bad would not optimistically updating the frequently used emojis really be? Worst case is, if someone is using emojis offline or as they type:

The sorting order of two emojis won't be swapped in the frequently used list
An emoji won't be added to the end of the frequently used list

But I feel like neither of those cases would even happen that frequently–it's not like the frequently used emoji NVP changes every time someone uses an emoji.
cc @stitesExpensify I know you handled the design for making this offline-first, what are your thoughts on what I've laid out here?

Yeah, that's a great point @jasperhuangg I don't think we need to update your frequently used emojis when offline. Especially after sustained use the frequently used emojis would become relatively static anyway.

lol ok so you agree 😄

If we are okay with not having it be offline first then option 3 seems like the best to me

Going OOO for the rest of the week so I won't have time to look into this until next week.

Seeing as this is performance related, I have added this to NewExpensify performance project, though I think it is low.

@jasperhuangg any update here? I can see you're back now. Would be great to get this closed out please.

Thanks for the update @jasperhuangg
Going by the weekly cadence makes sense i think! Did you have time write up that straightforward solution though so that we can have it in this GitHub issue and move forward? Thanks!

@zanyrenney The solution requires back-end changes, so unless we get another internal engineer on this we won't really be able to move forward.
It essentially involves deleting all frontend logic related to updating the optimistic frequently used emojis and implementing logic in the back-end that handles updating the NVP every time a user reacts to or sends a report action.

Moving this to #vip-vsb project.

Made some good progress with the release PRs I have assigned, so I'm updating the priority of this to Daily.

Made some more progress on the PRs today, not overdue.

any further progress here @jasperhuangg ?

bump @jasperhuangg

@zanyrenney Sorry was OOO. I'm back now and prioritizing the PRs for this since they have to do with API performance.

Should we make this weekly then? Sounds like the ksv2 prioritsation is wrong? @jasperhuangg

Changing to weekly, feel free to change it back if you disagree.

@zanyrenney Ah sorry for the confusion, I think we should actually keep it Daily. I've been working on this with a Daily cadence, since this issue has to do with API performance, which is a top priority.

Steady progress on this, looking to submit the PRs for review either today or early tomorrow depending on how testing goes.

Still working on this! Not overdue, moving on to manual testing and should be able to submit for official review soon.

PRs are still under review

The App PR was deployed to production, and I just took the HOLD off of https://github.com/Expensify/Auth/pull/10919, we should be good for one last review before merging it!

Just the following PRs left on this, will push them forward now that the most important parts in the Auth PR are deployed.
https://github.com/Expensify/App/pull/42208
https://github.com/Expensify/Web-Expensify/pull/42176

Issue not reproducible during KI retests. (First week)

Just merged the Web-E PR officially removing the UpdateFrequentlyUsedEmojis command!

I think we can close this out :)

@jasperhuangg Can we please open the issue for handling the payment of reviewed PR?

Oops, yes sorry @jayeshmangwani. @zanyrenney we need to handle paying them out for the review of that PR. Thanks fo bringing that to my attention!

Oops, yes sorry @jayeshmangwani. @zanyrenney we need to handle paying them out for the review of that PR. Thanks fo bringing that to my attention!

Issue not reproducible during KI retests. (Second week)

[x]  [@jayeshmangwani] The PR that introduced the bug has been identified. Link to the PR: New feature
[x]  [@jayeshmangwani] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: New feature
[x]  [@jayeshmangwani] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: N/A
[x]  [@jayeshmangwani] Determine if we should create a regression test for this bug. Yes
[x]  [@jayeshmangwani] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.

Regression Test Proposal

Create a new account.
Using this account, send a message with a few emojis in any report.
Open the emoji picker in the composer.
Verify the emojis you used in the message appear in the "Frequently Used" section.
Now react to the comment you just made.
Open the emoji picker in the composer.
Verify the emoji you used to react is sorted to the front of the "Frequently Used" list.

Do we agree 👍 or 👎

@zanyrenney, can you please add a payment summary for the issue? The issue is now ready to be closed. The PR hit production on July 17.

Sure thing!

payment summary
$500 owed to @jayeshmangwani for this issue.

Requested as per https://github.com/Expensify/App/issues/37807#issuecomment-2262959655

$500 approved for @jayeshmangwani


Add HmIP-SRH rotary handle sensor to device list

Adding support for http://www.eq-3.com/products/homematic-ip/homematic-ip-window-handle-sensor.html

Thanks. Could you please provide your device-inventory generated with datapoints.py as a gist? The data is anonymized. But it will help me to write tests that ensure nothing about this device will break because of future contributions.


Update documentation for v0.1: Index, Quick start and Feature overview

We're nearly at v0.1!! The final touches on the documentation :slightly_smiling_face:
(There isn't actually many changes, it's just that one doc page was renamed)
Here's the new doc: https://geoutils-rhugonnet.readthedocs.io/en/update_quickstart/
This PR:

Turns the old "Quick start" (that was far too long, but valuable) into a new page "Feature overview" (with almost no change), for users that want more details on all features centralized in a starting page,
Adds a new "Quick start" that consists of a single code cell show-casing a short example with a couple core functionalities, and the links to Gallery examples at the bottom,
Updates some statements at the landing page + simplifies the page (removes the long description that came first, felt a bit too much), and removes the "Tip" to use Binder: I checked, it still works but is capricious, and doesn't seem so popular anyway; people are starting to know the "rocket" at the top can be used for this).

After review, also:

Refactor all the print(rast_or_vect.info()) into just .info(),
Updates the API with some missing functions,
And other minor things.

All done!
Except @adehecq's point:

In "How to install", "Installing for contributors", the command pip install -e . is missing for finalizing the install.

Because this is not needed anymore: there is now a pip: -e . line in the dev-environment.yml file since we made environments consistent a couple months ago :wink:.

Because this is not needed anymore: there is now a pip: -e . line in the dev-environment.yml file since we made environments consistent a couple months ago 😉.

I didn't know we could do it this way, great !


Item rotation glitch

Description

Place down an item (or look at an already existing item) is weirdly rotated. Rotating the screen doesn't fix it.
It's also serverside since the other player with me was experiencing it as well.
Screenshots

Additional context

Round #49912 on Vulture, Reach.

... duplicate of #26529


Weird bugs with updating data properties (Options API only)

I'm experiencing weird bugs with attempting to use the DevTools to update a component's internal state. Using a very basic Vue 3 setup.
See this link for a simple reproduction:
https://stackblitz.com/edit/vitejs-vite-xhoeo7?file=src%2FApp.vue,src%2Fcomponents%2FHelloWorld.vue,src%2Fcomponents%2FHelloWorld2.vue&terminal=dev
I've created two near-identical components:

HelloWorld uses the Composition API - updating its internal variables works fine
HelloWorld2 uses the Options API - updating its internal variables does not work (the variables retain their existing value with no changes), and sometimes it even modifies the variables inside the first HelloWorld component, instead

Is this a bug with how the DevTools updates vars that are defined via the Options API?

Great. Thanks @alexzhang1030.
I haven’t tested it out yet, but looks like you spent a fair bit of time setting up a prototype to properly test this. Thanks for your efforts! 😊👏


containerd 1.6.12 crash with fatal error: concurrent map iteration and map write

Description
Our containerd crashed with fatal error: concurrent map iteration and map write. This happened less than 24 hours after it was updated to 1.6.12 on that node.
Log: https://gist.github.com/haslersn/369d6ce347c29b845ac9ee7d444960b0
Describe the results you received and expected
containerd should not crash
What version of containerd are you using?
containerd containerd.io 1.6.12 a05d175400b1145e5e6a735a6710579d181e7fb0
Any other relevant information
runc version 1.1.4
commit: v1.1.4-0-g5fd4c4d
spec: 1.0.2-dev
go: go1.18.9
libseccomp: 2.5.1
Debian 5.10.149-2 (2022-10-21) x86_64 GNU/Linux

I think we should stop to use %v or %+v to the non-error types.

Hi, @fuweid Can we use%p instead of %v?  If we can, I can submit a pr.
https://github.com/containerd/containerd/blob/3508ddd3dd96796c134196f285d56374ccaeeaeb/pkg/cri/streaming/portforward/httpstream.go#L155-L163

I think we should stop to use %v or %+v to the non-error types.

Hi, @fuweid Can we use conn=%p instead of conn=%v?  If we can, I can submit a pr.
https://github.com/containerd/containerd/blob/3508ddd3dd96796c134196f285d56374ccaeeaeb/pkg/cri/streaming/portforward/httpstream.go#L155-L163

I am unable to handle it right now. Please feel free to file pr to fix it. Thanks.


Randomly hitting 'read access violation' in CompositonVisualDiagnostics.cpp

Describe the bug
I've started hitting an issue where VS will constantly hit a 'read access violation' in CompositionVisualDiagnostics.cpp and it won't let me continue execution of my application even after excluding the checkbox of breaking on this type of exception.
Restarting the app/unit test app (happens in both types) doesn't resolve the issue. I need to restart Visual Studio in order to be able to resume normal execution. I had seemingly encountered this more frequently while in Mixed debugging mode, but am now seeing it in Managed debugging mode only, even with 'just my code' enabled, which is extra odd...
This is while running in debug mode. I do have other XAML files open in the VS editor, but not the active tab. It seemed to occur more often when setting a debug breakpoint in my files. Happened in two different cases, once just as the app, and again after I added a Unit Test project and started using that.
Expected behavior
No exception.
Screenshots

Version Info
Built-in windows controls (not referencing NuGet package)

Windows 10 version
Saw the problem?

Insider Build (19615)
Yes

November 2019 Update (18363)

May 2019 Update (18362)

October 2018 Update (17763)

April 2018 Update (17134)

Fall Creators Update (16299)

Creators Update (15063)

Device form factor
Saw the problem?

Desktop
Yes

Mobile

Xbox

Surface Hub

IoT

VS info: VS 2019 16.5.4
Additional context
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr. occurred

Stack Trace:
>	Windows.UI.Xaml.dll!CompositionVisualDiagnostics::~CompositionVisualDiagnostics() Line 50	C++
 	Windows.UI.Xaml.dll!CompositionVisualDiagnostics::`scalar deleting destructor'(unsigned int)	C++
 	Windows.UI.Xaml.dll!Microsoft::WRL::Details::RuntimeClassImpl<Microsoft::WRL::RuntimeClassFlags<2>,1,0,0,Windows::UI::Composition::ICompositionTreeChangedDiagnostics>::Release() Line 1588	C++
 	Windows.UI.Xaml.dll!Microsoft::WRL::ComPtr<Windows::Foundation::Collections::IVector<Windows::UI::Composition::Scenes::SceneNode *>>::InternalRelease() Line 235	C++
 	[Inline Frame] Windows.UI.Xaml.dll!Microsoft::WRL::ComPtr<CompositionVisualDiagnostics>::{dtor}() Line 290	C++
 	Windows.UI.Xaml.dll!Microsoft::WRL::Details::MakeAndInitialize<CompositionVisualDiagnostics,CompositionVisualDiagnostics>(CompositionVisualDiagnostics * * result) Line 2480	C++
 	[Inline Frame] Windows.UI.Xaml.dll!Microsoft::WRL::Details::MakeAndInitialize(Microsoft::WRL::Details::ComPtrRef<Microsoft::WRL::ComPtr<CompositionVisualDiagnostics>>) Line 2488	C++
 	Windows.UI.Xaml.dll!CompositionVisualDiagnostics::Create(CompositionVisualDiagnostics * * ppInstance) Line 20	C++
 	Windows.UI.Xaml.dll!XamlDiagnostics::CreateCompVisualDiag() Line 67	C++
 	Windows.UI.Xaml.dll!XamlDiagnostics::AdviseVisualTreeChange(IVisualTreeServiceCallback * pCallback) Line 247	C++
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11048e57()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll![Frames below may be incorrect and/or missing, no symbols loaded for Microsoft.VisualStudio.DesignTools.UwpTap.dll]	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!110528c0()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11063e33()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11056e5a()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11059398()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!1107fda9()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11079bd1()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11074a4f()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!11074c15()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!1107678a()	Unknown
 	Microsoft.VisualStudio.DesignTools.UwpTap.dll!110b8c20()	Unknown
 	kernel32.dll!763c6739()	Unknown
 	ntdll.dll!771abc60()	Unknown
 	ntdll.dll!771abc2a()	Unknown

If I continue execution, it continues indefinitely (as far as I was willing to keep hitting continue) and gave the same exception in the seemingly same spot. I did notice some differences in my output window:
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\UnitTestProject.exe'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntdll.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\KernelBase.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.VCLibs.140.00.Debug_14.0.27810.0_x86__8wekyb3d8bbwe\vcruntime140_app.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreRuntime.2.2_2.2.27902.3_x86__8wekyb3d8bbwe\uwphost.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ucrtbase.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\combase.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rpcrt4.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreRuntime.2.2_2.2.27902.3_x86__8wekyb3d8bbwe\coreclr.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\advapi32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcrt.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\sechost.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ole32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msvcp_win.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\win32u.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\gdi32full.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\user32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\oleaut32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shlwapi.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\version.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcrypt.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\imm32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.StateRepositoryCore.dll'. Symbol loading disabled by Include/Exclude setting.
The thread 0x8f8 has exited with code 0 (0x0).
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreRuntime.2.2_2.2.27902.3_x86__8wekyb3d8bbwe\System.Private.CoreLib.dll'.
'UnitTestProject.exe' (CoreCLR: DefaultDomain): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreRuntime.2.2_2.2.27902.3_x86__8wekyb3d8bbwe\System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreRuntime.2.2_2.2.27902.3_x86__8wekyb3d8bbwe\clrjit.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\entrypoint\UnitTestProject.exe'.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\entrypoint\UnitTestProject.exe'
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\entrypoint\UnitTestProject.exe'.
'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\entrypoint\UnitTestProject.exe'. Symbols loaded.
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\System.Runtime.dll'.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\System.Runtime.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\System.Runtime.dll'.
'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\System.Runtime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WinTypes.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\WinMetadata\Windows.winmd'. Module was built without symbols.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\WinMetadata\Windows.winmd'
'UnitTestProject.exe' (Win32): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\WinMetadata\Windows.winmd'. Module was built without symbols.
'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Users\\source\repos\TokenizingTextBoxLayoutTest\UnitTestProject\bin\x86\Debug\AppX\WinMetadata\Windows.winmd'. Module was built without symbols.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\mscorlib.dll'.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\mscorlib.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\mscorlib.dll'.
'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\mscorlib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.InteropServices.WindowsRuntime.dll'.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.InteropServices.WindowsRuntime.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.InteropServices.WindowsRuntime.dll'.
'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.InteropServices.WindowsRuntime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\kernel.appcore.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\bcryptprimitives.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.Xaml.dll'. Symbols loaded.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\Windows.UI.Xaml.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.Xaml.dll'. Symbols loaded.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\iertutil.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\twinapi.appcore.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\SHCore.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreMessaging.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\WindowManagementAPI.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\OneCoreUAPCommonProxyStub.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\uxtheme.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\urlmon.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\dxgi.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ResourcePolicyClient.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\ResourcePolicyClient.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\MrmCoreR.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\MrmCoreR.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\MrmCoreR.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.StateRepositoryClient.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d3d11.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_529e3d8e49058c6d\igd10iumd32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ncrypt.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\ntasn1.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_529e3d8e49058c6d\igdgmm32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_529e3d8e49058c6d\igc32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\shell32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\profapi.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\DXCore.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cfgmgr32.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\BCP47mrm.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\d2d1.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\DWrite.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\msctf.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\TextShaping.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.Shell.ServiceHostBuilder.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\execmodelproxy.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\CoreUIComponents.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\rmclient.dll'. Symbol loading disabled by Include/Exclude setting.
The thread 0x25f8 has exited with code 0 (0x0).
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\InputHost.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\UiaManager.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\XamlDiagnostics\x86\Microsoft.VisualStudio.DesignTools.UwpTap.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\XamlDiagnostics\x86\Microsoft.VisualStudio.DesignTools.UwpTap.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\CommonExtensions\Microsoft\XamlDiagnostics\x86\Microsoft.VisualStudio.DesignTools.UwpTap.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.Core.TextInput.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\TextInputFramework.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\Windows.UI.Immersive.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\DataExchange.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\windows.storage.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Windows\SysWOW64\windows.storage.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\xmllite.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Windows\SysWOW64\cryptbase.dll'. Symbol loading disabled by Include/Exclude setting.
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.WindowsRuntime.dll'.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.WindowsRuntime.dll'
'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.WindowsRuntime.dll'.
'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Runtime.WindowsRuntime.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Exception thrown at 0x096FB455 (Windows.UI.Xaml.dll) in UnitTestProject.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr.

Exception thrown at 0x096FB455 (Windows.UI.Xaml.dll) in UnitTestProject.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr.

'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Numerics.Vectors.dll'.
'UnitTestProject.exe' (Win32): Unloaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Numerics.Vectors.dll'
Exception thrown at 0x096FB455 (Windows.UI.Xaml.dll) in UnitTestProject.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr.

'UnitTestProject.exe' (Win32): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Numerics.Vectors.dll'.
Exception thrown at 0x096FB455 (Windows.UI.Xaml.dll) in UnitTestProject.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr.

Exception thrown at 0x096FB455 (Windows.UI.Xaml.dll) in UnitTestProject.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr.

'UnitTestProject.exe' (CoreCLR: CoreCLR_UWP_Domain): Loaded 'C:\Program Files\WindowsApps\Microsoft.NET.CoreFramework.Debug.2.2_2.2.28529.0_x86__8wekyb3d8bbwe\System.Numerics.Vectors.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
Exception thrown at 0x096FB455 (Windows.UI.Xaml.dll) in UnitTestProject.exe: 0xC0000005: Access violation reading location 0x00000000.
Unhandled exception thrown: read access violation.
this->m_spCompDiagInterop.**ptr_** was nullptr.

This is tracked by internal bug https://microsoft.visualstudio.com/OS/_workitems/edit/26071662
@simeoncran can you please confirm this is the same issue ?

Thanks @ranjeshj, this looks like the same issue. Is this an Insider build issue with the OS?

I can confirm that is the issue. Not sure how far it escaped. It's a race condition so you can get unlucky, and turning on or off native debugging can perturb it.

I noticed the issue doesn't seem to occur if I use the restart button after hitting it to deploy again instead of stopping and deploying again.

I am hitting this also with WinUI 2.4.
Windows 10 Enterprise Insider Preview
Version 2004
OS Build 19624.1000
Windows Feature Experience Pack 120.10601.30.0
Exception thrown: read access violation.
this->m_spCompDiagInterop.ptr_ was nullptr. occurred
source is in compositionvisualdiagnostics.cpp

I am also facing this issue. Using the restart button does not fix this issue for me. I am running Build 19631 (Windows Insider Fast Ring)

@simeoncran Has this issue been resolved ? Can you share which insider build has the fix ?

The issue has been resolved in the OS (internal id: 26071662 fyi).
Flighting in: 20133.1000.rs_prerelease.200519-1427

When is this going to hit Windows Update?  This is a blocker for me.

The fix has been checked in. I don't have an exact ETA, because it still is being figured out internally,  but it will be available in an upcoming flight, because it . I will update this thread as soon as that I know.

Still broken on the latest Insider Fast Ring build.

Thanks Ticomware for proposing that workaround, I d recommend using that workaround to get unblocked. I got some clarity on when this fix will reach Insiders Fast ring and its going to be in late June, unfortunately.

I solved the issue by moving my development to Win 10 v1909 where the issue does not appear.

I'm still seeing this on build 19645.

Closing stale external bug. If you are still seeing this issue, please open a new issue in the Feedback Hub so that it may gather related logs/diagnostics.