text:
Compare to on-chain prices

Fetch prices from the most liquid on-chain markets and add a check that the final price given by Empiric is +/- x% depending on the liquidity of the asset on-chain.

Run cron jobs to generate proofs for a set of uniswap pools (e.g ETH/USDC)
Use get_storage method on FactsRegistry contract using storage slot 0 which returns the PriceSQRTx96
Convert the returned price to the same precision as the one we get from off-chain sources.
This can be done this way uint(sqrtPriceX96).mul(uint(sqrtPriceX96)).mul(1e18) >> (96 * 2);
Check if the price is within the specified range (e.g +-5%)
Revert if out of range + save the timestamp at which it reverted. / If it has been reverting for more than a certain time range (should be configurable e.g 1 hour), don't revert but return the TWAP price.

The interface should be well documented.

List of pools that will be supported :

ETH/USDC
WBTC/ETH
DAI/USDC

authors: EvolveArt mattegoat

repo: Astraly-Labs/Empiric


text:
Add tests for aborted Pool::acquire and Semaphore::acquire calls showing a memory leak

I wanted to show the reason for the deadlock I reported in #2 but found a memory leak instead.
A aborted Semaphore::acquire does leave the waker behind in the queue which causes the memory to grow indefinitely.
The thing I don't understand: I wanted to show that the aborted task A leaves a waker for itself in the queue and when the permit is returned task A is woken instead of task B thus causing the code to deadlock. This does not happen. Instead I found that calling waker.wake() for task A actually wakes task B.
I'm trying to wrap my head around why it works that way and doesn't deadlock. Whatever the reason for that behavior is. It's a memory leak nonetheless.

Codecov Report

Merging #3 (a0f4a8f) into main (9702306) will increase coverage by 4.96%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #3      +/-   ##
==========================================
+ Coverage   85.14%   90.11%   +4.96%
==========================================
  Files           6        6
  Lines         202      263      +61
==========================================
+ Hits          172      237      +65
+ Misses         30       26       -4

Impacted Files
Coverage Δ

qp/src/pool.rs
84.54% <100.00%> (+5.02%)
:arrow_up:

qp/src/sync.rs
92.68% <100.00%> (+13.51%)
:arrow_up:

Continue to review full report at Codecov.

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

The thing I don't understand: I wanted to show that the aborted task A leaves a waker for itself in the queue and when the permit is returned task A is woken instead of task B thus causing the code to deadlock. This does not happen. Instead I found that calling waker.wake() for task A actually wakes task B.

I don't know why this happens, but the problem that the queue is not completely empty seems to be caused by calling the Acquire::poll function once more when the Acquire future is cancelled.
This is a commit that just fixed the memory leak issue.
Thank you for your enthusiasm!

source: gharchive/pull-request

authors: Astro36 bikeshedder codecov-commenter

license: MIT

license_type: permissive

license_source: github-api


text:
feat: skip option for usequery

This just adds skip param to useQuery.
https://www.apollographql.com/docs/react/api/react-apollo/#configskip
Thanks!

Hey there, thanks for your contribution. The code looks good we'll be able to merge once the conflicts are solved!

Should be okay now!

Thanks!

authors: fakenickels momentiris

repo: Astrocoders/reason-apollo-hooks


text:
Find the Self *PID

Sorry,
But I could not find how to get the current actor pid. I have tried with actor.Context.Self():
pid := actor.Context.Self()
but I got the error:

not enough arguments in call to method expression actor.Context.Self

But the definition of actor.Context.Self defines that it wll return *PID.
Can you help me

I found the problem.
You are using actor.Context.Self() which is the fully qualified type. the argument you have access to is
context, so context.Self() is what you want.

It worked, Thanks

source: gharchive/issue

authors: mvbaffa rogeralsing

repo: AsynkronIT/gam

license_source: bigquery


text:
Fixes #8

This fixes #8

Thanks! 🎉

authors: Atlinx pcloves


text:
AudioKitUI: Include of non-modular header inside framework module

I'm trying to include AudioKitUI in my Swift project targeting iOS 10.0 (same for 11.0). Whenever I add import AudioKitUI to a Swift file and try building the project, I encounter multiple errors of the following type:
***/Pods/AudioKit/iOS/AudioKit.framework/Headers/EZAudio.h:55:9: Include of non-modular header inside framework module 'AudioKit.EZAudio': '***/Pods/AudioKit/iOS/AudioKit.framework/Headers/EZAudioUtilities.h'

Problematic headers seem to be EZAudioUtilities.h and TPCircularBuffer.h.
I added the library to my poject via Cocoapods:
pod 'AudioKit', '~> 4.0'

I already tried setting Allow Non-modular Includes in Framework Modules  to Yes in both my target and the Pods project with no success.
AudioKit itself is be imported with import AudioKit and used without any issues so far.
I am submitting this as an issue rather than a Stackoverflow question because I believe this is a problem within the framework itself or its Podspec.

Can you try to remove the ~> 4.0 part from your pod? You're probably just using an old version.

To my knowledge, the optimistic operator will lead to using the latest compatible version according to semver. So in my case, both ~> 4.0 and no version will lead to:
Installing AudioKit (4.2.4)

That being said, I removed the version operator from the Podfile, but the issue remains.

Huh, optimistic, but scared of 3's?  Why didn't it get 4.3?

Yes, that was my bad. I had to update my Repos by using pod repo update first to get the latest version. The issue remains though.

hi @rob-k I am having exactly the same issue. Was building/running my experiments with AudioKit with no issues whatsoever, and as soon as I wanted to use some of the UI components, I'm having the issue with non-modular headers.
For me the issue is with EZPlot.h line 27: #import "AudioKit/EZAudioUtilities.h"
I attempted the usual (now old) fixes like
post_install do |installer|
    installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
        configuration.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
    end
end

but to no avail.
My only concern is I am working on a project which has both Swift and Objective-C code, I was unsure if AudioKit did not support such an enviorment.
Is there a possible hotfix to moving the header to the .m file or is this on our end? Thanks so much

I haven't encountered this kind of issue with AudioKit yet, but I have
before when wrapping an Objective-C written framework inside of a new Swift
framework, most recently over this past weekend. This solution I found
worked very well and resolved the issue immediately, hopefully it can do
the same for you.
I adapted the instructions I found on StackOverflow here (also included
below):
https://stackoverflow.com/questions/32149371/import-objective-c-framework-into-swift-framework-google-analytics-cocoapod
For those who have continued to ask if I had solved this problem, the
following is how I accomplished this task importing the KochavaTracker SDK
Cocoapod into a framework. That SDK is currently written in Objective-C.
This answer is based on the answer provided by nuKs, with these specific
steps.

Create a folder named KochavaTracker under your project folder, i.e.
MyFramework/MyFramework/KochavaTracker.

Within that folder create a file named module.modulemap and insert the
following content:

/*
This is the private module which is used to make private ObjC headers
available to Swift code.
Note how all header files need to be specified with paths relative to this
file.
This file lives inside a folder, and that folder is the actual module. In
Xcode the SWIFT_INCLUDE_PATHS needs to include the parent directory to that
folder.
*/
module KochavaTracker {
header

"../../Pods/KochavaTrackeriOS/KochavaTrackeriOS/Classes/KochavaTracker.h"
export *

}
This effectively creates a module which is a wrapper for interface of the
SDK, which Swift can later import like it does other Swift modules. Note
that it relies on a relative path to the Pods folder.

As found in build settings, modify your SWIFT_INCLUDE_PATHS to include:

$(SRCROOT)/MyFramework
This makes it so that you will be able to import the module and it will
locate it in/as the KochavaTracker folder which you created under it.

Add to your Swift code, where appropriate:

import KochavaTracker
From there you should be able to reference the classes in the
KochavaTracker module.
On Fri, Aug 3, 2018 at 7:38 PM Maximilian Maksutovic <
notifications@github.com> wrote:

hi @rob-k https://github.com/rob-k I am having exactly the same
issue. Was building/running my experiments with AudioKit with no issues
whatsoever, and as soon as I wanted to use some of the UI components, I'm
having the issue with non-modular headers.
For me the issue is with EZPlot.h line 27: #import
"AudioKit/EZAudioUtilities.h"
I attempted the usual (now old) fixes like
post_install do |installer|
installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
configuration.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
end
end
but to no avail.
My only concern is I am working on a project which has both Swift and
Objective-C code, I was unsure if AudioKit did not support such an
enviorment.
Is there a possible hotfix to moving the header to the .m file or is this
on our end? Thanks so much
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/AudioKit/AudioKit/issues/1454#issuecomment-410416807,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFunMP0OrAQApEKL6o8fQKgX2Wc9ySuxks5uNQkRgaJpZM4VjdgH
.

I may be wrong, but I suspect that all of us in this thread that are having problems are using Objective-C in our app. Given the errors that I'm seeing, that seems to be central to the problem and why it doesn't show up in the MicrophoneAnalysis project for example (plus, the MicrophoneAnalysis project doesn't use a Podfile, it includes the framework directly). If I can find a few minutes I might take the MicrophoneAnalysis code, switch it over to using a Podfile and if it still works that way I'll include some Objective-C and see if that teases out the problem.

Okay, my assumption about a project needing to have some portions written in Objective-C was incorrect. I created a new Swift project, copied the MicrophoneAnalysis files into it, added a Podfile, tried to build and am having the exact same two errors show up that I'm having in my own project.
The quick sample app I whipped up to show the problem can be found here:
https://github.com/ryangrimm/MicrophoneAnalysis
Hopefully this simple test case will help the team figure out a solution.

I'm going to assign this to @megastep and myself as something to resolve on next release.  I really want to make the Audiokit UI repo dynamic anyway, which will affect this.

@aure I have a sample project that reproduces the issue here: https://github.com/ryangrimm/MicrophoneAnalysis
I did a pod update to grab the 4.5.1 version, opened the workspace in Xcode 10 and the problem remains.

My Podfile.lock reports 4.5.1. I did a pod install just for safe measure. Cleaned (again). Build still fails:
/Users/test/MicrophoneAnalysis/Pods/AudioKit/iOS/AudioKitUI.framework/Headers/EZPlot.h:27:9:
    error: include of non-modular header inside framework module 'AudioKitUI.EZPlot':
    '/Users/test/MicrophoneAnalysis/Pods/Headers/Public/AudioKit/AudioKit/EZAudioUtilities.h'
#import "AudioKit/EZAudioUtilities.h"

@aure What version of Xcode are you running? Perhaps that could explain the differences.

I am running the latest version of Xcode10 and Mojave.  Do you want to do a screen share with me today?

The issue is not with the AudioKitUI but with how you are referencing it. When you have a framework that does not include objective-c bridging header you would have to use a modulemap file to gain access to you imported objective-c framework.
I had this issue with a different library and resolved it in the following way:
I'll use SampleFramework as my framework for this example and AudioKitUI as my objective-c framework
My project directory:
SampleFramework
  - AudioKitUI // _Folder_
    - module.modulemap //  _NOTE: The name has to be module.modulemap not anything else_
  - AudioKitUI.h //  _File: You can name this file anything you wish, and must reference it with the same name_
  - SamplePublicHeader.h
  - SampleFramework.h // _Must be the same name as the framework_
  - SampleSwiftClass.swift

The contents of the files:
module.modulemap
module AudioKitUI {
    header "../AudioKitUI.h" // _This is the header file we have at SampleFrameWork/AudioKitUI.h. Notice the relative reference "../"_

    export *
}

AudioKitUI.h
#import <Foundation/Foundation.h>
#import AudioKitUI

SamplePublicHeader.h // Not really necessary if you didn't include it in the 'SampleFramework.h' file because it is not needed
#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface SamplePublicHeader : NSObject

- (void)publicObjCMethod;

@end

NS_ASSUME_NONNULL_END

SampleFramework.h
#import <UIKit/UIKit.h>

//! Project version number for SampleFramework.
FOUNDATION_EXPORT double SampleFrameworkVersionNumber;

//! Project version string for SampleFramework.
FOUNDATION_EXPORT const unsigned char SampleFrameworkVersionString[];

// In this header, you should import all the public headers of your framework using statements like #import <SampleFramework/PublicHeader.h>
#import <SampleFramework/SamplePublicHeader.h>

SampleSwiftClass.swift
import AudioKitUI // _This will import your module, which will in-turn import the external module_

// _You can import any other module/framework you desire by including it in the AudioKitUI.h file as an import_

class SampleSwiftClass {
}

authors: aure maksutovic megastep pimisi rob-k ryangrimm thomjordan

repo: AudioKit/AudioKit


text:
MusicHandler.m  Line50  image name typo

MusicHandler.m  Line50
no image named "music_lock_screen_placeholder",it will lead to crash because image is also null.

Checkout this commit to get more details

authors: Aufree PascoCoder

repo: Aufree/ESTMusicPlayer

license: mit


text:
Candlestick Chart changes

Design has made tweaks to charts.
move ETH label to top to reduce redundancy

@matt-bullock plz rvw and close if complete

Label is in but needs correct type size and spacing. Closing for now as this can be addressed in ticket 1602

authors: Chwy5 bthaile matt-bullock

repo: AugurProject/augur


text:
Missing Orders when added to pre-liquidity in market creation

just created a market added pre-liq orders in market creation but never got the message in portfolio  to add my orders after the market created.

havent seen this in a while - closing


text:
place bets and  cancel all buttons get hidden when using metamask mobile

Seems to have been fixed by a MM update.

authors: bconfortin matt-bullock

repo: AugurProject/turbo


text:
Complience with python coding standards

The use of an underscore allow other developer to understand immediately that they are not supposed to use like the position attributes.
This is a good practice.
PS: Are you still maintaining this project ? I really like it !

Good point. Thanks for bringing it up. Yes, I am still maintaining this project.

authors: AustL slashformotion

repo: AustL/PygameWidgets


text:
batch-launch-plugin causing Tomcat errors at startup

Running from main branch as opposed to the v1.8 one. When including the batch-launch-plugin, Tomcat delivers the following upon startup
10-Jan-2022 21:48:17.071 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/ROOT]
10-Jan-2022 21:48:17.305 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDirectory Error deploying web application directory [/usr/local/tomcat/webapps/ROOT]
        java.lang.IllegalStateException: Error starting child
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:720)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:692)
                at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1184)
                at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1925)
                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
                at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1094)
                at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:476)
                at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1611)
                at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
                at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
                at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
                at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:936)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:829)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1384)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1374)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:909)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:433)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:930)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:498)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:342)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:473)
        Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@4ae82894]
                at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173)
                at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:726)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4830)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4966)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:717)
                ... 37 more
        Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: error in opening zip file
                at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:143)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                ... 44 more
        Caused by: java.util.zip.ZipException: error in opening zip file
                at java.util.zip.ZipFile.open(Native Method)
                at java.util.zip.ZipFile.<init>(ZipFile.java:225)
                at java.util.zip.ZipFile.<init>(ZipFile.java:155)
                at java.util.jar.JarFile.<init>(JarFile.java:166)
                at java.util.jar.JarFile.<init>(JarFile.java:130)
                at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:241)
                at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:226)
                at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:140)
                ... 45 more
10-Jan-2022 21:48:17.312 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/ROOT] has finished in [240] ms

If I exclude the batch-launch-plugin from the packer build, Tomcat starts up fine.

Upgrading to 0.5.0 does not help
https://bitbucket.org/xnatx/xnatx-batch-launch-plugin/downloads/

xnat@xnat:~/xnat-build$ make
wget --no-verbose -O batch-launch-plugin-0.4.0.jar https://bitbucket.org/xnatx/xnatx-batch-launch-plugin/downloads/
2022-01-10 22:05:13 URL:https://bitbucket.org/xnatx/xnatx-batch-launch-plugin/downloads/ [66335/66335] -> "batch-launch-plugin-0.4.0.jar" [1]
wget --no-verbose -O xnat-web-1.8.2.2.war https://github.com/Australian-Imaging-Service/xnat-web/releases/download/release-1.8.2.2-ais/xnat-web-1.8.2.2.war
2022-01-10 22:06:14 URL:https://objects.githubusercontent.com/github-production-release-asset-2e65be/435317261/a8fe479b-afdd-4760-b2df-f1d475dc292e?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20220110%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220110T220515Z&X-Amz-Expires=300&X-Amz-Signature=83e7c7ebeabf4e24cf91acc0b6b430872a0c15352a440ac8c73748fcfeb1b421&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=435317261&response-content-disposition=attachment%3B filename%3Dxnat-web-1.8.2.2.war&response-content-type=application%2Foctet-stream [165509133/165509133] -> "xnat-web-1.8.2.2.war" [1]
xnat@xnat:~/xnat-build$ jar tf batch-launch-plugin-0.4.0.jar
java.util.zip.ZipException: error in opening zip file
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.(ZipFile.java:228)
at java.util.zip.ZipFile.(ZipFile.java:157)
at java.util.zip.ZipFile.(ZipFile.java:128)
at sun.tools.jar.Main.list(Main.java:1115)
at sun.tools.jar.Main.run(Main.java:293)
at sun.tools.jar.Main.main(Main.java:1288)
xnat@xnat:~/xnat-build$ unzip -t batch-launch-plugin-0.4.0.jar
Archive:  batch-launch-plugin-0.4.0.jar
End-of-central-directory signature not found.  Either this file is not
a zipfile, or it constitutes one disk of a multi-part archive.  In the
latter case the central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of batch-launch-plugin-0.4.0.jar or
batch-launch-plugin-0.4.0.jar.zip, and cannot find batch-launch-plugin-0.4.0.jar.ZIP, period.
xnat@xnat:~/xnat-build$ ls -ahl batch-launch-plugin-0.4.0.jar
-rw-rw-r-- 1 xnat xnat 65K Jan 10 22:05 batch-launch-plugin-0.4.0.jar

Looks like there might be a typo in the Makefile (or best-case an inconsistency)
$(plugin_batch-launch_jar) :
	wget --no-verbose -O ${plugin_batch-launch_jar} $(plugin_batch-launch_url)

...should be:
$(plugin_batch-launch_jar) :
	wget --no-verbose -O $(plugin_batch-launch_jar) $(plugin_batch-launch_url)

Found the issue. There's a mixture of snake and kebab-case in the naming of variables in the Makefile that means that the fetch of the batch-launch-plugin is actually just a webpage - not a JAR file. The -O argument passed to the wget command hides this by defining the output filename.

repo: Australian-Imaging-Service/xnat-build


text:
Could not find artifact com.github.auties00:protobuf-base:pom:3.0.0 in clojars (https://repo.clojars.org/)

Could not find artifact com.github.auties00:protobuf-base:pom:3.0.0 in clojars (https://repo.clojars.org/)

It's normal, you have to build protobuf yourself from my ModernProtobuf while I work on the new update


text:
Update README.md

Replace old (very old, actually) location of @moodmosaic blog with the current one. The reason is, if I add a new AutoFixture post, it will show up in the new location, but won't show up in the old one.

(Sure I could add a redirect, but I just consider web to be currently broken anyways, unless ...etcetera). :wink:

Merged, thanks 👍
Instead of reading the PR, you made me spend half of the evening reading about IPFS :D

I ended up doing the same 🤣

reading about IPFS

Then you might also want to look into this. :wink:

authors: Kralizek moodmosaic zvirja

repo: AutoFixture/AutoFixture


text:
memory leaks on windows clients in V1.3.3, V1.2.1

Have an app that sends permanent data to more than ten windows clients so users can choose what they need. This app should run 24/7 . After round about 2 days firefox quitted responding on all machines. So used the simplest socket.io app I could find (http://stackoverflow.com/questions/9914816/what-is-an-example-of-the-simplest-possible-socket-io-example) with the latest socket.io v1.3.3 and got the same results: In 10 Minutes 3.5 MB, in 30 Minutes nearly 14 MB, in 90 Minutes more than 26 MB.
Used this files:
app.js
var http = require('http'),
fs = require('fs'),
index = fs.readFileSync(__dirname + '/index.html');
// Send index.html to all requests
var app = http.createServer(function(req, res) {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(index);
});
// Socket.io server listens to our app
var io = require('socket.io').listen(app);
// Send current time to all connected clients
function sendTime() {
io.sockets.emit('time', { time: new Date().toJSON() });
}
setInterval(sendTime, 100);
io.sockets.on('connection', function(socket) {
socket.emit('welcome', { message: new Date().toJSON() });
socket.on('i am client', console.log);
});
app.listen(3000);
index.html
<!doctype html>

Can you add the complete index.html also? I would like to debug this...

Sorry,
index.html
<!doctype html>

For that particular case the memory on Chrome 40 and socket.io 1.3.3 is < 10Mb, and I cannot find any obvious leaks at least.

Maybe its because I used Firefox 34.0.5. But I don't think so. Maybe its when more than 1 machine are used. Maybe it needs time. After nearly exact 1 day the used RAM in taskmanager  decreases by round about 50 MB from 131 to 81 MB. And then grows to more than 131MB and falls to 83MB and so on (Don't know the exact values).
On 3 of my test machines the game is over.  On  the other I started with ws the same test later .
In the case you would not believe it, I made screenshots:

.

What I meant is that I cannot find obvious leaks on Chrome 40. I made memory snapshots and analize them, and I could not find anything suspicious. You could also debug a bit more in firefox, just checking the task manager is not going to tell you much, it could be a leak in Firefox for all we know...

You could also debug a bit more in firefox.
What are your suggestions?

https://developer.mozilla.org/en-US/docs/Mozilla/Performance/about:memory

Thank you for now. I'll check it.

We can bring it to an end. Neither socket.io nor my app caused firefox quitting responding. It was firefox's setting ""firefox will remember history". After I gave it a last try with "firefox will never remember history" it is now 2 weeks running. Interisting is the memory consumption compared with chromium. 5 Days after start chromium reached its peak working set with 80272k and 71240k and is unchanged since 7 days. Firefox's peak working set is yet increasing and is now 197176k.
Pagefaults after 2 weeks: firefox 343.373.099 and chromium 2.976.538 and 127.783.
Looks like I have to switch my clients over to chromium.
@manast: thanx for your collaboration.
cu

It looks the problem has been solved.

authors: jollek manast nkzawa


text:
Fix the dependency  between Autonomiccs components.

Some components of version 1.0.0 were using as dependency version
0.0.1-SNAPSHOT. That was fix using the ${project.version} in order to
provide a runtime version resolution.
Also, I am removing the startup “notify” class. That is not needed
anymore.

The code LGTM.

authors: GabrielBrascher rafaelweingartner

repo: Autonomiccs/autonomiccs-platform


text:
mixed enlish-persian filename

Describe the bug
reported here https://github.com/0x90d/videoduplicatefinder/issues/426 in that app but the developer said it is Avalonia's issue so I report it here too.
I used this app to find duplicate videos:https://github.com/0x90d/videoduplicatefinder
in the list of app there were two videos that were found and their name has persian and english characters mixed in.
"Topoli - فیلم تپلی (FilmFarsi - فیلمفارسی) 360p 25fps VP9 AAC128-2020.08.18-1h_57m_26s (VxKnqahB5Jg).mkv"
"فیلم قدیمی - تپلی با شرکت همایون، مرتضی عقیلی، زری خوشکام ۱۳۵۱ Topoli (FilmFarsi - فیلمفارسی) 360p 25fps VP9 AAC128-2019.08.19-1h_57m_26s (Q4MiGUUf9pE).mkv"

but in the app the english "360p" part in filename is shown in persian script as "۳۶۰p" .

should I keep this open till then or close it now?

Keep it open

on my machine a font changed a character from english to persian?
are you sure about that?
what font would do that?

Windows

my issue is on linux.

repo: AvaloniaUI/Avalonia


text:
Could we have DrawBoxShadows api, or DrawGeometry with BoxShadows parameter?

It would be very handy to have DrawGeometry with BoxShadows parameter in the same way as DrawRectangle? Or something like DrawBoxShadows (with clipping lile DrawRectangle).
The idea is to be able to draw such geometry without relying on ICutstomDrawOperation like I did:

Thanks a lot!

In Avalonia (and CSS for that matter) box shadows do make sense only with rectangles.
And we already have an API for that:
https://github.com/AvaloniaUI/Avalonia/blob/43f1b9d8ca9389fea51a5463b003af325b171349/src/Avalonia.Base/Media/ImmediateDrawingContext.cs#L119
This DrawRectangle accepts box shadows argument, and can be used to achieve the same result.


text:
BoxShadow style doesn't trigger redraw on style change

Describe the bug
Depending on what changes between :focus and not :focus styles, the style of control that should lose focus isn't updated correctly.
Image shows three buttons where a white BoxShadow is applied to :focus style. Only one button should be in focus, but pressing the second one didn't remove the BoxShadow style from the first one.

If I change the :focus style to also change the background color of the Button, then the style is updated correctly when changing focus.
If I set the background to the same color as the default state, then the focus state isn't updated, so my guess it that the BoxShadow change isn't getting registered as something that needs a redraw of the control for some reason.
To Reproduce
Sample code:
EDIT: Updated sample
<Styles xmlns="https://github.com/avaloniaui"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
    <Design.PreviewWith>
        <StackPanel Orientation="Vertical" Spacing="4">
            <Button Classes="test"> Button 1 </Button>
            <Button Classes="test"> Button 2 </Button>
        </StackPanel>
    </Design.PreviewWith>

    <Style Selector="Button.test">
        <Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
            <Setter Property="BoxShadow" Value="0 0 3 2 Red" />
            <Setter Property="Foreground" Value="Red" />
        </Style>
        <Style Selector="^:focus /template/ ContentPresenter#PART_ContentPresenter">
            <Setter Property="BoxShadow" Value="0 0 3 2 White" />
            <Setter Property="Foreground" Value="Blue" />
        </Style>
    </Style>
</Styles>

Expected behavior
The focus styling should be removed correctly when the focus is changed, without requiring background to be changed as well.
Environment:

OS: Windows
Avalonia-Version: 11.0.5

Add a neutral setter for non focused style

I tried that as well with no luck. I think that BoxShadow changes in this case are just getting ignored.

Another thing, hovering over the item with the leftover :focus styling correctly updates it.
Potentially due to :pointerover styling triggering a redraw.

Add a neutral setter for non focused style

I tried that as well with no luck. I think that BoxShadow changes in this case are just getting ignored.

Please update the sample to reflect your neutral setter. Is it only the BoxShadow not updating?

Did a simple test and seems to be related to BoxShadow explicitly not triggering the redraw. Using this sample shows that Foreground updates while BoxShadow does not:
<Style Selector="Button.Standard">
    <Style Selector="^ /template/ ContentPresenter#PART_ContentPresenter">
        <Setter Property="BoxShadow" Value="0 0 3 2 Red" />
        <Setter Property="Foreground" Value="Red" />
    </Style>
    <Style Selector="^:focus /template/ ContentPresenter#PART_ContentPresenter">
        <Setter Property="BoxShadow" Value="0 0 3 2 White" />
        <Setter Property="Foreground" Value="Blue" />
    </Style>
</Style>

Updated the sample and issue title

Are there any workarounds that I could use that wouldn't involve changing the appearance of the button to trigger a redraw?

best bet:

copy that into src/Samples/Sandbox
Try to add AffectsRender for BoxShadows
Prive a PR if 2) was successful

I can't seem to build the Avalonia project, apparently missing some dependency (Error CS0246 : The type or namespace name 'DCOMPOSITION_FRAME_STATISTICS' could not be found (are you missing a using directive or an assembly reference?)).
Don't want to derail this issue with building problems though. If anyone else is able to try the above out I would be very grateful!

read build instructions carefully. Most likely submodule not init correctly

Fixed the build issue I had, had to install .net framework 2.0.
Created a PR with the Fix above. I tested it and with the change the BoxShadow now updates correctly.

Thank you for your first contribution ❤. Now it's up to the team to review it, but looks good to me 👍


text:
Add support for Auto for Width and Height properties

Repro:
<DockPanel LastChildFill="True" Background="Pink">
    <DockPanel LastChildFill="True" Width="180" DockPanel.Dock="Left">
        <Border Background="Red" Width="180" Height="250" DockPanel.Dock="Top"/>
        <Border Background="Blue" Width="180" Height="Auto" DockPanel.Dock="Bottom"/>
    </DockPanel>
    <DockPanel LastChildFill="True" Width="240" DockPanel.Dock="Right">
        <Border Background="Green" Width="240" Height="250" DockPanel.Dock="Top"/>
        <Border Background="Orange" Width="240" Height="Auto" DockPanel.Dock="Bottom"/>
    </DockPanel>
    <Grid>
        <Border Background="Gray" Width="300" Height="300"/>
    </Grid>
</DockPanel>

Exception:
Portable.Xaml.XamlObjectWriterException
  HResult=0x80131500
  Message=Could not convert object 'Auto' (of type System.String) to {http://schemas.microsoft.com/winfx/2006/xaml}Double: Auto is not a valid value for Double.
  Source=Avalonia.Markup.Xaml
  StackTrace:
   at Portable.Xaml.XamlObjectWriterInternal.GetCorrectlyTypedValue(XamlMember xm, XamlType xt, Object value)
   at Portable.Xaml.XamlObjectWriterInternal.StoreAppropriatelyTypedValue(ObjectState state, MemberAndValue ms, Object obj, Object keyObj)
   at Portable.Xaml.XamlObjectWriterInternal.OnWriteValue(Object value)
   at Portable.Xaml.XamlServices.Transform(XamlReader xamlReader, XamlWriter xamlWriter, Boolean closeWriter)
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.LoadFromReader(XamlReader reader, AvaloniaXamlContext context, IAmbientProvider parentAmbientProvider)
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(Stream stream, Assembly localAssembly, Object rootInstance, Uri uri)
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(Type type, Object rootInstance)
   at Avalonia.Markup.Xaml.AvaloniaXamlLoader.Load(Object obj)
   at Core2D.Avalonia.Views.MainControl.InitializeComponent() in D:\DOWNLOADS\GitHub-Avalonia\Core2D\src\Core2D.Avalonia\Views\MainControl.xaml.cs:line 26
   at Core2D.Avalonia.Views.MainControl..ctor() in D:\DOWNLOADS\GitHub-Avalonia\Core2D\src\Core2D.Avalonia\Views\MainControl.xaml.cs:line 18

Inner Exception 1:
Exception: Auto is not a valid value for Double.

Inner Exception 2:
FormatException: Input string was not in a correct format.

In WPF:
In addition to acceptable Double values, this property can also be Double.NaN. This is how you specify auto sizing behavior in code. In XAML you set the value to the string "Auto" (case insensitive) to enable the auto sizing behavior. Auto sizing behavior implies that the element will fill the height available to it. Note however that specific controls frequently supply default values through their default theme styles that will disable the auto sizing behavior unless it is specifically re-enabled.
https://msdn.microsoft.com/en-us/library/system.windows.frameworkelement.height(v=vs.110).aspx?f=255&MSPPError=-2147217396

Wow, I didn't even know this was supported in WPF. Yes we should do this too.

That would be great, I came across this when doing docking control, without Auto (from code I you set double.NaN) its impossible to position correctly the control automatically using DockPanel.

@grokys Not sure how currently double.NaN is handled for Width and Height in Avalonia across different layouts. The double.NaN seems to be default value: https://github.com/AvaloniaUI/Avalonia/blob/44da9df5d490b4a203740c4c8e906ad03fb2698a/src/Avalonia.Layout/Layoutable.cs#L75-L85

Source: WPF 4.5 Unleashed
So actually Auto is just synonym got NaN when used in Xaml.

@grokys Looks like I don't need Auto to get functionality as this works fine (using NaN instead of Auto):
<DockPanel LastChildFill="True" Background="Pink">
    <DockPanel LastChildFill="True" Width="180" DockPanel.Dock="Left">
        <Border Background="Red" Width="180" Height="250" DockPanel.Dock="Top"/>
        <Border Background="Blue" Width="180" Height="NaN" DockPanel.Dock="Bottom"/>
    </DockPanel>
    <DockPanel LastChildFill="True" Width="240" DockPanel.Dock="Right">
        <Border Background="Green" Width="240" Height="250" DockPanel.Dock="Top"/>
        <Border Background="Orange" Width="240" Height="NaN" DockPanel.Dock="Bottom"/>
    </DockPanel>
    <Grid>
        <Border Background="Gray" Width="300" Height="300"/>
    </Grid>
</DockPanel>

Anyway in the feature implementing support for Auto would be nice.

This would involve adding a DoubleConverter the rest is just straight forward.

And also something like Width="*"

Is there a workaround for this that already exists?

@derekantrican

Is there a workaround for this that already exists?

Width="NaN"

That doesn't seem to work (maybe I'm doing something wrong). I would imagine that my ComboBox should fill the remaining space of the column here, right?
XAML:
  <Grid>
    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"/>
      <RowDefinition Height="*"/>
      <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
      <ColumnDefinition Width="Auto"/>
      <ColumnDefinition Width="Auto"/>
      <ColumnDefinition Width="*"/>
      <ColumnDefinition Width="Auto"/>
    </Grid.ColumnDefinitions>
    <StackPanel Orientation="Horizontal">
      <TextBlock Text="Calendar:" VerticalAlignment="Center" Margin="5"/>
      <ComboBox Height="25" Width="NaN" VerticalAlignment="Center" Margin="5"/>
    </StackPanel>
    ...
</Grid>

Screenshot:

Do you need HorizontalAlignment set to Stretch?

I don't think that was required in the WPF world, but even so - setting HorizontalAlignment="Stretch" doesn't produce any different results for my situation here

I know I'm resurrecting an old thread, but derek, what's the content of the ComboBox? Auto (or NaN) only takes up as much space as it needs, so if there is no contents in it, it will be tiny. "*" will fill.

I ended up hardcoding the width (Width="190"), but haven't tried this with a newer version of Avalonia since I originally posted this.

I ended up hardcoding the width (Width="190"), but haven't tried this with a newer version of Avalonia since I originally posted this.

It works now with Combobox.HorizontalAlignment set to Stretch.

Height="NaN" does not work for elements. Such as TextBox, ToggleSwitch, etc

authors: Banyc Gillibald derekantrican grokys jpgarza93 maxkatz6 pavlovsg stesmi wieslawsoltes


text:
Window with HasSystemDecorations="false" is resizable on macOS, but not on Windows

I'm not sure which of these is intended behavior. I intend for my app to be resizable, so I am missing out on this functionality on Windows. If non-resizable is intended, I would implement two hidden rectangles for resizing on the sides myself.

this seems to be how osx works, if you hide the chrome it still allows resizing... unless someone can point me to how to turn this off.
If you implement hidden rectangles, then the window will resize on all os.

I ended up working around it with hidden rectangles, but the core problem here is that the behavior is not consistent across platforms, which means Avalonia has that bit of platform-dependency with this property

I'd consider this a bug only on Windows. Having no decorations is not the same as having a borderless window, right? Correct me if I'm wrong.

authors: adroslice danwalmsley mat1jaczyyy


text:
Implemented Dispatcher.Yield

What does the pull request do?
Implements Dispatcher.Yield according to #14199.
Checklist

[x] Added unit tests (if possible)?
[x] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Fixed issues
Fixes #14199

This API behaves differently from from Microsoft's. In WPF you cannot use this method to switch execution to the dispatcher thread. It's static and always targets the current thread's dispatcher, throwing an exception if there isn't one installed. So it's only useful for the documented purpose:

Creates an awaitable object that asynchronously yields control back to the current dispatcher and provides an opportunity for the dispatcher to process other events.

I've seen awaiters used to resume execution on a specific thread before, but these are called something else. Unfortunately I forget the name, but it's definitely not a "yield".

Now that I start to think about it, creating an awaiter that resumes on an unrelated sync context is IMO an abuse of the async/await pattern. The design intent of async/await is to capture and later resume execution on the current context, but these "request foreground" designs do the diametric opposite: they switch execution it to an entirely different context, and provide no way to return to the current one. Perhaps this is why Microsoft locked Dispatcher.Yield to the calling thread's dispatcher.
I'm not in a position to block such things being added to Avalonia. But could I request that any method called "yield" throw an exception if called from off the dispatcher's thread, like WPF's yield method does?

We should follow the behavior of Task.Yield here in terms of dispatchers. So we always continue execution on current dispatcher's thread with given priority.

Having an instance of the dispatcher and checking it to be the current dispatcher doesn't sound for me. It's like you're my current, but not really.
My proposal on that topic is to have Dispatcher.Current which can be null. It should be stored by a static field while the dispatcher runs and changed to null when it isn't.

Nope, it's not a real async method, just a factory producing an awaitable. Even .NET itself has Task.Yield without the suffix.

Hi,
As mentioned by others, if we are to follow the WPF spec, Yield must check that it is called in the UI thread and raise an exception if not.
https://github.com/dotnet/wpf/blob/dfa261b64a52a1067a13ad8f8bec19bfbd919b57/src/Microsoft.DotNet.Wpf/src/WindowsBase/System/Windows/Threading/Dispatcher.cs#L353-L377

WPF doesn't check for an "UI thread", it checks if the current thread has an associated dispatcher.
At some point we want to have support for multiple dispatchers though.

WPF doesn't check for an "UI thread", it checks if the current thread has an associated dispatcher. At some point we want to have support for multiple dispatchers though.

Precisely because at the moment avalonia only supports the dispatcher, if it is not the dispatcher's thread it must raise an exception.

WPF doesn't check for an "UI thread", it checks if the current thread has an associated dispatcher. At some point we want to have support for multiple dispatchers though.

Precisely because at the moment avalonia only supports the dispatcher, if it is not the dispatcher's thread it must raise an exception.

This feature just needs to be implemented in a non static way

If the design is to yield to the "current dispatcher", then the method can be static, just like WPF's. The dispatcher is associated with the current thread so a static method can work out which one it should target. This avoids the user having to do that work themselves.

My proposal is to have Yield as static which will try to access the current dispatcher if it is (currently it's UIThread, but it can be captured in a thread local while executing), and in addition to it Resume:
public class Dispatcher
{
    public static DispatcherPriorityAwaiter Yield() =>
        Yield(DispatcherPriority.Background);

    public static DispatcherPriorityAwaiter Yield(DispatcherPriority priority)
    {
        UIThread.VerifyAccess();

        return UIThread.Resume(priority);
    }

    public DispatcherPriorityAwaiter Resume() =>
        Resume(DispatcherPriority.Background);

    public DispatcherPriorityAwaiter Resume(DispatcherPriority priority) =>
        new(priority);
}

The name of Resume can be better, I suppose, but then all parties should be happy. It's WPF compatible and allows continuation on a specific dispatcher using an instance method without any check.

Yield is supposed to change priority of execution under the current thread.

My proposal is to have Yield as static which will try to access the current dispatcher if it is (currently it's UIThread, but it can be captured in a thread local while executing), and in addition to it Resume:
public class Dispatcher
{
    public static DispatcherPriorityAwaiter Yield() =>
        Yield(DispatcherPriority.Background);

    public static DispatcherPriorityAwaiter Yield(DispatcherPriority priority)
    {
        UIThread.VerifyAccess();

        return UIThread.Resume(priority);
    }

    public DispatcherPriorityAwaiter Resume() =>
        Resume(DispatcherPriority.Background);

    public DispatcherPriorityAwaiter Resume(DispatcherPriority priority) =>
        new(priority);
}

The name of Resume can be better, I suppose, but then all parties should be happy. It's WPF compatible and allows continuation on a specific dispatcher using an instance method without any check.

My proposal is:

    /// <summary>
    ///     Returns the Dispatcher for the specified thread.
    /// </summary>
    /// <param name="thread">The thread you want would get Dispatcher</param>
    /// <remarks>
    ///     At this time return Dispatcher only thread is UI thread,
    ///     this method will return null.
    /// </remarks>
    public static Dispatcher? FromThread(Thread thread)
    {
        if (UIThread.CheckAccess())
        {
            return UIThread;
        }
        return null;
    }

    /// <summary>
    ///     Returns an awaitable object that can be used to queue
    ///     continuations at background priority.
    /// </summary>
    public static DispatcherPriorityAwaitable Yield()
    {
        return Yield(DispatcherPriority.Background);
    }

    /// <summary>
    ///     Returns an awaitable object that can be used to queue
    ///     continuations at the specified priority.
    /// </summary>
    public static DispatcherPriorityAwaitable Yield(DispatcherPriority priority)
    {
        Dispatcher currentDispatcher = FromThread(Thread.CurrentThread);

        if (currentDispatcher == null)
        {
            throw new InvalidOperationException("Dispatcher Yield is nto Available");
        }

        return new new(currentDispatcher, priority);
    }

Not different from mine except adding FromThread which might cause an issue later if there are multiple dispatchers allowed because someone should keep a map of thread-dispatcher relations. Having a thread static variable would be enough to get the current dispatcher.

Not different from mine except adding FromThread which might cause an issue later if there are multiple dispatchers allowed because someone should keep a map of thread-dispatcher relations. Having a thread static variable would be enough to get the current dispatcher.

Yes, FromThread is the idea that one day Avalonia will support multiple dispatchers. When it is supported just change FromThread

because I may need to perform an operation on a Dispatcher other than the current one

Yes, and you can get it while its creation, or retrieving it from an AvaloniaObject you have and/or might want to access. If there would be a real case for getting it from a Thread, then let's discuss it first, but at the moment I don't want to pollute Avalonia with a controversial API which then has to be removed. I know that the team is in favor of API stabilization because the customers are not happy when something breaks or requires code changes.

So, I made Yield static like in WPF which behaves exactly the same. It throws if invoked on non-dispatcher thread and yields in other cases. Since there's only one UIThread at the moment it uses that dispatcher.
No CurrentDispatcher is added at the moment because for WPF this property creates a new dispatcher if it doesn't exist. That's unsupported by Avalonia, and I'm not sure about making it nullable.
In addition to static Yield methods there are two Resume which are instance methods and close to what WinRT has.
Also I did a breaking change since I changed DispatcherPriorityAwaiter and DispatcherPriorityAwaitable types. AwaitWithPriority now return a task back.

Closing due to inactivity. Let me know, if this PR should be reopened.

@YohDeadfall,
Please read the following Contributor License Agreement (CLA). If you agree with the CLA, please reply with the following:
@cla-avalonia agree

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ( “Agreement” ) is agreed to by the party signing below ( “You” ),
and conveys certain license rights to the AvaloniaUI OÜ ( “AvaloniaUI OÜ” ) for Your contributions to
AvaloniaUI OÜ open source projects. This Agreement is effective as of the latest signature date below.
1. Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to AvaloniaUI OÜ under this Agreement.
“Project” means any of the projects owned or managed by AvaloniaUI OÜ and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
2. Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
3. Originality of Work.  You represent that each of Your Submissions is entirely Your
original work. Should You wish to Submit materials that are not Your original work,
You may Submit them separately to the Project if You (a) retain all copyright and
license information that was in the materials as you received them, (b) in the
description accompanying your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any
licenses or other restrictions of which You are aware, and (c) follow any other
instructions in the Project's written guidelines concerning Submissions.
4. Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
5. Licenses.
a. Copyright License. You grant AvaloniaUI OÜ, and those who receive the Submission directly
or indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable
license in the Submission to reproduce, prepare derivative works of, publicly display, publicly perform,
and distribute the Submission and such derivative works, and to sublicense any or all of the foregoing
rights to third parties.
b. Patent License. You grant AvaloniaUI OÜ, and those who receive the Submission directly or
indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license
under Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
c. Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.
6. Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3 ). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
7. Notice to AvaloniaUI OÜ. You agree to notify AvaloniaUI OÜ in writing of any facts or
circumstances of which You later become aware that would make Your representations in this
Agreement inaccurate in any respect.
8. Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
9. Governing Law/Jurisdiction. This Agreement is governed by the laws of the Republic of Estonia, and
the parties consent to exclusive jurisdiction and venue in the courts sitting in Talinn,
Estonia. The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens.
10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by AvaloniaUI OÜ.
AvaloniaUI OÜ dedicates this Contribution License Agreement to the public domain according to the Creative Commons CC0 1.

1 out of 2 committers have signed the CLA.

[x] @maxkatz6
[ ] @YohDeadfall

@maxkatz6, it's active on my side. I commented 22 days ago and am waiting for answers from @kekekeks. As an example, see https://github.com/AvaloniaUI/Avalonia/pull/14212#discussion_r1725057465.

@cla-avalonia agree

@maxkatz6, it doesn't need any action on my side. Could you remove the tag, please?

@kekekeks

authors: Gillibald TomEdwardsEnscape YohDeadfall cla-avalonia kekekeks maxkatz6 workgroupengineering


text:
Another workaround for broken TopLevel.cs causing crash on X11

Another stopgap measure for:
#7323
#7272
#7245
#7367
All caused by API misuse.
Unlike #7369 this PR makes X11 backend to swallows errors just like Win32 backend does, so it's safe to backport.

Hi, when can we see this backported / in a release? Unfortunately, my applications are basically bricked as FluentAvalonia uses tooltips all over the place in its design, causing my application to crash just hovering over a navigation item for example.

authors: kekekeks nlogozzo


text:
Table body is mapping by key

Change mapping by key: <tr key={key}>

done

repo: Avezen/react-auto-table


text:
Do not discover unregistered API #5

Fix to discover active apis

change filtering based on querystring

Fix review comments

repo: Axway/agents-mulesoft


text:
Check if Sentence is Pangram (Leetcode) in Java Under LGMSOC'21

Aim

Want to add solution for Check if the Sentence is Pangram in Java Under LGMSOC'21.

Details

Problem link - https://leetcode.com/problems/check-if-the-sentence-is-pangram/

Language Used - Java.
@Ayush7614 @ravikr126 please assign me this.
Programming language

[ ] C
[ ] C++
[x] Java
[ ] Python

@Ayush7614 Can I work on this issue, Language - Cpp.

Im preparing for my coding interviews and it would really help me if you assign this question to me
Kindly assign me this
I have immense interest  in codin

##Check if Sentence is Pangram (Leetcode)
class Solution {
public boolean checkIfPangram(String sentence) {
HashSet set = new HashSet<>();
for(char ch : sentence.toCharArray()){
set.add(ch);
}
return set.size()==26;
}
}


text:
Item dulpcation and salis mundus recipe

Crafting salis mundus does not require 3 types of Vis crystals.
Can be crafted with just one Vis crystal in the arcane workbench and it consumes flint, redstone and bowls. Any items in table left over get duplicated in multiple stacks when shift clicking them out.
Using Thaumcraft-1.12.2-6.1.Beta and forge 14.23.3.2681.

Same as #655?

Yes except “Crafting salis mundus does not require 3 types of Vis crystals.” it can be crafted with one or two.

It consumes bowl and flint when I try to craft it in arcane workbench

authors: Geethebluesky red360 withercrusher

repo: Azanor/thaumcraft-beta


text:
Fuure ahn qirak/twilight hammer units

https://www.hiveworkshop.com/threads/atgeir.205220/

https://www.hiveworkshop.com/threads/ancient-sandlord.324428/

https://www.hiveworkshop.com/threads/lion-rider.321421/

https://www.hiveworkshop.com/threads/tigerian-slicer.48908/

https://wowpedia.fandom.com/wiki/Neferset_tribe

https://www.hiveworkshop.com/threads/sandelemental.244919/

https://www.hiveworkshop.com/threads/ramkahen-sentinel.263198/

https://www.hiveworkshop.com/threads/nerubian-stinger.187899/

https://www.hiveworkshop.com/threads/rhinolox-coleoidus.173371/

https://www.hiveworkshop.com/threads/egyptiontomb.105851/

repo: AzerothWarsLR/WarcraftLegacies


text:
chore(master): Release 0.24.0

:robot: I have created a release beep boop
aztec-packages: 0.24.0
0.24.0 (2024-02-13)
⚠ BREAKING CHANGES

move noir out of yarn-project (#4479)
note type ids (#4500)

Features

Add fee payment methods (#4504) (d107746)
Add hashing to stdlib transcript (#4161) (e78b86f)
Added cast opcode and cast calldata (#4423) (e58eda8)
Added cast opcode and cast calldata (https://github.com/AztecProtocol/aztec-packages/pull/4423) (db803bd)
avm-transpiler: Implement tags for SET and others (#4545) (3063bf3)
avm: Implement addressing modes for MOV (#4490) (ab4eaf0)
avm: Introduce small e2e test  (#4470) (7b4c6e7)
Aztec.js API for registering a contract class (#4469) (d566c74)
docs: DIP1 - Extracting how-tos (#4251) (9d50e24)
Enable gmock and upgrade gtest to 1.13 (#4480) (5fc02e7)
IVC bench (#4515) (d8ae42b)
Nicer API for instance deployment (#4493) (99c3fba)
Note type ids (#4500) (e1da2fd)
Op count timers (#4471) (26918de)
PG + Goblin (#4399) (295cd55)
Prototype native merkle trees (#4457) (7d5e056)
Update rollup circuits and contracts in yp (#4536) (6e89d53)

Bug Fixes

bb: Publishing bb for mac intel (#4523) (4982e3c)
Broken links in docs [REDO] (#4540) (ce2a205)
build-system: Image expiring (#4521) (1501afd)
Convert folding recursive verifier ops to batch mul (#4517) (3750b26)
Cycle_group validate_is_on_curve bug (#4494) (fecf3f7)
Field divison / journal comparisions (#4489) (15c06c5)
Master (#4547) (490ca26)
Mirror_noir_subrepo.yml (#4550) (f8d8311)
Mul with endomorphism (#4538) (1f4c90d)
noir-mirror: Don't update .gitrepo on push  (#4555) (686140a)
Recreate jest.config.ts for sequencer-client (#4553) (d172f0b)
StandardCircuitBuilder create_logic_constraint and uint logic_operator (#4530) (ce51d20)
Use ordered-binary value encoding for multi maps (#4565) (04ae0d2)

Miscellaneous

Aligning some naming in BaseOrMergeRollupPublicInputs (#4510) (47d66f9)
avm-circuit: Tests use OpCode enum's  instead of hardcoded values (#4554) (ca4dd60)
avm-simulator: Reduce boilerplate in AVM memory types (#4542) (da2f5ed)
avm: Add/improve tests for AvmContext, tagged memory, etc (#4484) (2fccdf2)
avm: Remove field support for comparators and bitwise ops (#4516) (87a9663)
avm: Use some matchers gtest functionalities to improve unit tests (#4502) (bf4fc6c), closes #4495
Cleanup of abi.nr in aztec-nr (#4473) (6d9c73a)
Cleanup of abi.nr in aztec-nr (https://github.com/AztecProtocol/aztec-packages/pull/4473) [skip ci] (db803bd)
Create constraints for sha256 compression opcode (#4503) (64bef49)
Little cpp style improvements (#4528) (dcc9ba4)
Move noir out of yarn-project (#4479) (1fe674b), closes #4107
Pull noir (#4546) (acf5cf2)
Pull noir (https://github.com/AztecProtocol/aztec-packages/pull/4546) (db803bd)
Redo noir subrepo force push (#4514) (7b519a4)
Remove .oldValue in contract state update request (#4499) (a796bef)
Removing redundant utilities (#4532) (79bf445), closes #3470
Rename kernel circuits and disambiguate inputs (#4535) (ed6d521)
Replace relative paths to noir-protocol-circuits (f1accbf)
Replace relative paths to noir-protocol-circuits (20ee430)
Replace relative paths to noir-protocol-circuits (101ab59)
Simulator utils cleanup (#4507) (1dd0ebf)
Sync to noir-lang/noir (db803bd)
Testing all values in PublicGlobalVariables and PrivateGlobalVariables (#4481) (bc25f9b)
Testing historical header in contexts (#4509) (c00229a)
Updating field conversion code without pointer hack (#4537) (94f436e)
Uses sha256compression opcode in Noir and implements acvm solver for it (#4511) (9dc05bc)

Documentation

Describe the new message box model (#4485) (14cc1dd)
Review of docs, so far (#4505) (140c508)
yellowpaper: Avm tree-access operations (#4552) (913f4bd)
yellowpaper: Separate section for AVM state (#4440) (7881f09)

barretenberg.js: 0.24.0
0.24.0 (2024-02-13)
Features

Prototype native merkle trees (#4457) (7d5e056)

barretenberg: 0.24.0
0.24.0 (2024-02-13)
Features

Add hashing to stdlib transcript (#4161) (e78b86f)
Added cast opcode and cast calldata (#4423) (e58eda8)
Enable gmock and upgrade gtest to 1.13 (#4480) (5fc02e7)
IVC bench (#4515) (d8ae42b)
Op count timers (#4471) (26918de)
PG + Goblin (#4399) (295cd55)
Prototype native merkle trees (#4457) (7d5e056)

Bug Fixes

Convert folding recursive verifier ops to batch mul (#4517) (3750b26)
Cycle_group validate_is_on_curve bug (#4494) (fecf3f7)
Mul with endomorphism (#4538) (1f4c90d)
StandardCircuitBuilder create_logic_constraint and uint logic_operator (#4530) (ce51d20)

Miscellaneous

avm-circuit: Tests use OpCode enum's  instead of hardcoded values (#4554) (ca4dd60)
avm: Use some matchers gtest functionalities to improve unit tests (#4502) (bf4fc6c), closes #4495
Create constraints for sha256 compression opcode (#4503) (64bef49)
Little cpp style improvements (#4528) (dcc9ba4)
Updating field conversion code without pointer hack (#4537) (94f436e)

Documentation

yellowpaper: Avm tree-access operations (#4552) (913f4bd)

This PR was generated with Release Please. See documentation.

Benchmark results
Metrics with a significant change:

batch_insert_into_append_only_tree_32_depth_ms (512): 303 (+27%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 2fccdf24 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,700
180,580
720,100

l1_rollup_calldata_gas
222,808
871,180
3,465,844

l1_rollup_execution_gas
315,999
989,628
3,686,222

l2_block_processing_time_in_ms
1,225 (+6%)
4,363
17,333 (+1%)

note_successful_decrypting_time_in_ms
310
1,003 (+2%)
3,704 (+1%)

note_trial_decrypting_time_in_ms
22.6 (+19%)
38.1 (-67%)
150 (+2%)

l2_block_building_time_in_ms
17,777 (-1%)
70,542 (+1%)
283,986 (+1%)

l2_block_rollup_simulation_time_in_ms
13,055 (-1%)
51,781
208,763 (+1%)

l2_block_public_tx_process_time_in_ms
4,693
18,681 (+1%)
74,951 (+2%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,657 (-8%)
26,174 (-6%)

note_history_successful_decrypting_time_in_ms
2,511
4,585 (-4%)

note_history_trial_decrypting_time_in_ms
130 (+37%)
234 (+8%)

node_database_size_in_bytes
17,371,216
33,042,512

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
307
44,528
25,825

private-kernel-ordering
194
44,145
16,225

base-rollup
1,407
128,654
933

root-rollup
82.3
4,192
729

private-kernel-inner
438
71,331
25,825

public-kernel-private-input
241
32,287
25,825

public-kernel-non-first-iteration
237
32,329
25,825

merge-rollup
7.86 (+1%)
2,712
933

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
128 leaves
64 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.3 (+1%)
11.0 (+3%)
15.4 (+19%)
17.0 (+1%)
22.9
64.5 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.9
17.5
23.0
31.6
47.0
143
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.597 (+1%)
0.593
0.655 (+19%)
0.527 (+1%)
0.479
0.444 (+1%)
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
N/A
N/A
N/A
74.5
47.6
:warning: 303 (+27%)
459
901
3,570 (+1%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
N/A
N/A
N/A
159
96.0
543
1,055
2,079
8,223

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.461
0.488
0.552 (+27%)
0.431
0.428
0.429

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
N/A
N/A
N/A
103
56.9 (+1%)
349 (-1%)
685
1,366
5,432 (+1%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
N/A
N/A
N/A
197
104
691
1,363
2,707
10,771

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
0.491
0.498
0.476 (-1%)
0.472
0.474
0.472

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
56.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
94.1
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
0.579
N/A
N/A
N/A
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
16,859
40,167

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
567 (+3%)
1,305

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.578 (+10%)
578 (+1%)

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/aztec-packages-v0.24.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg.js-v0.24.0 :sunflower:

:robot: Release is at https://github.com/AztecProtocol/aztec-packages/releases/tag/barretenberg-v0.24.0 :sunflower:

repo: AztecProtocol/aztec-packages


text:
test: vite build

Please read contributing guidelines and remove this line.

#5861  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @alexghr and the rest of your teammates on  Graphite

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
740
740
740

l1_rollup_calldata_gas
6,656
6,692
6,668

l1_rollup_execution_gas
586,788
586,824
586,800

l2_block_processing_time_in_ms
1,548 (+4%)
5,337
10,326

l2_block_building_time_in_ms
19,601
76,431
152,068

l2_block_rollup_simulation_time_in_ms
19,392
75,657
150,584

l2_block_public_tx_process_time_in_ms
8,936
34,990
69,845

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
16,640 (-3%)
30,238

node_database_size_in_bytes
20,766,800
37,720,144 (+1%)

pxe_database_size_in_bytes
29,868
59,425

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
161
47,651
32,150

private-kernel-inner
185
80,894
32,150

private-kernel-ordering
175 (+1%)
57,904
49,477

base-parity
9.29 (+1%)
128
64.0

root-parity
103 (-2%)
27,064
64.0

base-rollup
12,043 (-1%)
111,062
925

root-rollup
60.1
11,454
789

public-kernel-app-logic
1,591 (-1%)
62,385
26,285

public-kernel-tail
4,412 (-1%)
168,730
3,898

merge-rollup
3,144 (-1%)
2,696
925

public-kernel-teardown
129 (-2%)
62,385
34,820

public-kernel-setup
142 (+1%)
62,385
34,820

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
11.0
17.8 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.7
31.8
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.640
0.548
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
51.9 (+1%)
80.3
263 (+2%)
502 (-1%)
988 (+1%)
1,946
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.530 (+1%)
0.496
0.479 (+1%)
0.469 (-1%)
0.469 (+1%)
0.466
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.9
121 (+1%)
379 (+1%)
741
1,472 (+1%)
2,930 (+1%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
208
692
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.535
0.544 (+1%)
0.515 (+1%)
0.509
0.509
0.510 (+1%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
67.0

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
108

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.589

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
51,575
537,087

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
897
1,145
1,345

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,297
919 (+1%)
3,585

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
880
794 (-1%)
1,425
930 (-1%)
2,195 (-1%)
1,116 (-1%)

authors: AztecBot alexghr


text:
chore: redo typo PR by stayweek

Thanks stayweek for https://github.com/AztecProtocol/aztec-packages/pull/6074. Our policy is to redo typo changes to dissuade metric farming. This is an automated script.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
64 txs

l1_rollup_calldata_size_in_bytes
772
772
772

l1_rollup_calldata_gas
6,832
6,832
6,784

l1_rollup_execution_gas
587,313
587,313
587,265

l2_block_processing_time_in_ms
1,486
5,458 (-1%)
10,325 (-1%)

l2_block_building_time_in_ms
19,597
76,300 (-1%)
152,095 (-1%)

l2_block_rollup_simulation_time_in_ms
19,387
75,538 (-1%)
150,614 (-1%)

l2_block_public_tx_process_time_in_ms
8,949
34,973 (-1%)
69,722 (-1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
16,439 (-3%)
30,618 (-3%)

node_database_size_in_bytes
20,742,224
37,400,656 (-1%)

pxe_database_size_in_bytes
29,868
59,425

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
163 (-1%)
47,763
32,254

private-kernel-inner
186
81,070
32,254

private-kernel-ordering
174
58,008
49,589

base-parity
9.09 (-2%)
128
64.0

root-parity
101 (-3%)
27,064
64.0

base-rollup
11,982 (-1%)
111,202
957

root-rollup
60.1
11,518
821

public-kernel-app-logic
1,589 (-1%)
62,569
26,341

public-kernel-tail
4,480
168,842
3,953

merge-rollup
3,205 (+1%)
2,760
957

public-kernel-teardown
131 (-3%)
62,569
34,895

public-kernel-setup
147 (+4%)
62,569
34,895

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.9
17.7
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.7
31.8
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.637
0.546
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
52.0
79.9
260
499
981
1,933
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.533
0.494
0.474
0.467
0.466 (-1%)
0.463
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
60.4
120
377
735
1,474
2,923
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
208
692
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.533
0.539
0.514
0.506
0.510
0.510
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
66.7

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
108

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.587

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
51,687
537,196

Transaction size based on fee payment method

Metric
native fee payment method
fpc_public fee payment method
fpc_private fee payment method

tx_with_fee_size_in_bytes
897
1,145
1,345

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes
2 new note hashes

tx_pxe_processing_time_ms
1,283 (-1%)
918 (-1%)
3,554 (-1%)

Metric
1 public data writes
2 public data writes
3 public data writes
4 public data writes
5 public data writes
8 public data writes

tx_sequencer_processing_time_ms
884
789 (-1%)
1,429 (-1%)
928 (-1%)
2,203 (-1%)
1,109 (-1%)

authors: AztecBot TomAFrench


text:
chore(docs): authwit note, not simulating simulations

Adds notes to the docs that indicate that authwits only work in single player mode, describes the problems with not simulating simulations, and updates the bberg readme install instructions
closes https://github.com/AztecProtocol/dev-rel/issues/422
closes https://github.com/AztecProtocol/dev-rel/issues/433
closes https://github.com/AztecProtocol/aztec-packages/issues/9256
closes https://github.com/AztecProtocol/dev-rel/issues/423

Docs Preview
Hey there! 👋 You can check your preview at https://67228ec2a5240446c38b26d8--aztec-docs-dev.netlify.app

authors: AztecBot critesjosh


text:
feat: Complete chat history panel integration

Added chat history functionality to display transcriptions from both model responses and user inputs.
Modified App.tsx, types.ts, and history-panel.tsx to support the history panel logic.
Updated translation.json for localized strings related to the chat history.

This update enhances the user experience by providing a comprehensive view of the conversation history.

The screenshot is slightly misleading. The changes I am committing are only for the history panel pieces. I have not committed any UI changes that are for my demo around Starbucks AI Assistant. Apologies for the confusion in advance. I wanted to show the grounding files in the assistant's chat bubbles and this was my only working demo at the moment.

This is what the UI looks like. Open to suggestions on how the chat history can be shown. Right now it's the blue button in the middle.

I'd render the 'Show Chat History' button in a smaller one, e.g.
<Button variant="outline" size="sm" className="rounded-full">
    <History className="mr-2 h-4 w-4" />
    Show history
</Button>

Current UI showing transcript history panel:

This Pr is ok for merge or not ?

authors: chuwik john-carroll-sw olivMertens

repo: Azure-Samples/aisearch-openai-rag-audio


text:
Optimised infrastructure deployment, fixed AppInsights telemetry

Purpose
I didn't find that App Insights was correctly wired up, so what started as a simple fix ended up as

Rewritten Arm JSON as Bicep.
Optimised the process for getting connectionstring for cosmos, it's all done in the bicep now - no powershell needed
Optimised the deployment of code to app service, it's all done in the bicep now (pulling from GitHub) - no local az or git commands
Optimised a bunch of little things in the Arm Json, (param metadata/defaults/etc), bumping up resource API version where I could
Enabled in app diagnostic logging for App Service
Fixed the App Service -> App Insights link so telemetry flows
Simplified the deployment script

Does this introduce a breaking change?
[ ] Yes
[X ] No

Pull Request Type
What kind of change does this Pull Request introduce?

[x] Bugfix
[x] Feature
[x] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[x] Documentation content changes
[ ] Other... Please describe:

How to Test
Follow the readme instructions

Closing due to lack of engagement from repo owners.


text:
Added Traefik as an available ingress controller

PR Summary
Added Traefik as an available ingress controller to postdeploy script and options in the GUI.
Fixed a bug with NGINX where the helm chart would deploy, however there was no pods or services deployed. This turned out to be a typo within the postdeploy script.
This PR covers feature #96

PR Checklist

[x] PR has a meaningful title
[x] Summarized changes
[x] This PR is ready to merge and is not Work in Progress
[x] Link to a filed issue
[x] Screenshot of UI changes (if PR includes UI changes)

Looks good to me.
Just make sure to add traefik to the cspell dictionary (cspell.json)

@khowling - Can you take a look?

@msftbot merge the PR once @khowling approves.

Hey Matt, looks great! thanks for catching the case bug for nginx,  just a couple of questions for qa.

ingress_controller_kind  - this is used by nginx and contour, and now traefik.  Does the change work with contour, or do we need to have a special logic for contour?  (I think I did most of my testing originally with contour & so bit worried it will break)
When adding a ingress controller, I like to test with the most complex options with certman / external-dns and grafana, to see if you get a ssl fqdn for grafana.  If that all works, then we are in good shape

@MattLeach25 I can walk you through these advanced testing scenarios on Monday. Stick some time in.

@MattLeach25 I can walk you through these advanced testing scenarios on Monday. Stick some time in.

Keith has already talked me through the changes so I can get going. If I get stuck I’ll pop up next week :)
thanks both.

Added tests to cover Traefik install

OK. I'm pretty confident we just need to enable the traefik version of this nginx feature @MattLeach25

--publish-service
Service fronting the Ingress controller. Takes the form "namespace/name". When used together with update-status, the controller mirrors the address of this service's endpoints to the load-balancer status of all Ingress objects it satisfies.

Damn. Maybe not.

Ok, lets find the problem next week!

Looks like this has fixed it @MattLeach25
--set providers.kubernetesIngress.publishedService.enabled=true

helm upgrade --install traefik traefik/traefik \
        --set deployment.kind="Deployment" \
        --set service.spec.externalTrafficPolicy=Cluster \
        --set metrics.prometheus.enabled=true \
        --set providers.kubernetesIngress.publishedService.enabled=true \
        --set logs.general.level=INFO \
        --set logs.access.enabled=true \
        --set ports.traefik.expose=false \
        --set additionalArguments={--log.level=DEBUG} \
        --namespace ingress-basic
```

authors: Gordonby MattLeach25 khowling

repo: Azure/AKS-Construction


text:
[BUG] K3S New-AksEdgeDeployment fails on current PowerShell versions (7.3.x) due to incorrect command line spacing

Describe the bug
With PoweShell 7.x (most) calls to nodectl.exe fail with error "unknown command "" ..."
C:\Program Files\AksEdge\nodectl.exe  security login --loginpath c:\programdata\wssdagent\nodelogin.yaml --identity failed to execute [Error: unknown command "" for "nodectl security login"]
Initialization of host services failed: False OK at line 2608
To Reproduce
Steps to reproduce the behavior:

Start Windows Powershell and follow instructions to "Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows"
Install PowerShell 7.3.1
https://github.com/PowerShell/PowerShell/releases/download/v7.3.1/PowerShell-7.3.1-win-x64.msi
Install AKS/K3S as suggested ( https://learn.microsoft.com/en-us/azure/aks/hybrid/aks-edge-howto-setup-machine ):
msiexec.exe /i AksEdge-K3s-0.7.22335.1024.msi
Clone github.com/Azure/Aks-Edge
Configure ./tools./aksedge-config.json as appropriate
Run AksEdgePrompt-PS7.cmd as admin
New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json
Screen output: see below

Additional context
Looking at the module code of "C:\Program Files\WindowsPowerShell\Modules\AksEdge\0.7.22335.1024\AzureEFLOW.psm1" Line 6223:
Execute-NodeCommand $(" security login --loginpath "+$script:nodeloginYAMLLocation+" --identity")
the nodectl parameters are indented by a space and the downlevel execute-Command function then splits it in line 5227
$argumentsToUse = $arguments.Split(" ")
leading to the first array-member being empty. The PowerShell 7 call parser ( & ) apparently directly parses the command line arg vector into nodectl.exe::main() and argv[0] is then NULL leading to nodectl.exe bailing out with empty command error "unknown command "" for ..."
Searching AzureEFLOW.psm for 'Execute-NodeCommand " ' (with leading space character after command line string start) shows 28 occurances that will break due to command line being split on space. This will also break for commandline arguments on paths with space character (i.e. yaml files in standard AKS install directory "c:\Program Files\Aks-Edge\yaml..." )
Screen output
PowerShell 7.3.1
Loading AksEdgeDeploy module from C:\Repos\AKS-Edge\tools\modules..
Hyper-V is enabled
HostOS  : Microsoft Windows 11 Enterprise(4)
Version : 10.0.22621.963
Lang    : en-US
Name    : js-de-aks-node
Total CPUs              : 4
Free RAM / Total RAM    : 12 GB / 16 GB
Free Disk / Total Disk  : 102 GB / 126 GB
Running as a virtual machine in Azure environment (Name= js-de-aks-nodevmSize= Standard_D4s_v3offer= windows-11sku= win11-22h2-ent )with Nested Hyper-V enabled
AKS Edge Essentials - K3s (Public Preview) 0.7.22335.1024 is installed.
Loading AksEdge module..
AksEdge version         : 0.7.22335.1024
AksEdgeShell  version   : 1.0.221212.1200
AksEdgeDeploy version   : 1.0.221212.1200
PS C:\Repos\AKS-Edge\tools> $PSVersionTable
Name                           Value

PSVersion                      7.3.1
PSEdition                      Core
GitCommitId                    7.3.1
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0
PS C:\Repos\AKS-Edge\tools> New-AksEdgeDeployment -JsonConfigFilePath .\aksedge-config.json

Configuration does not exist. Creating a default configuration...

[01/03/2023 10:52:21] Creating configuration

Configuration created successfully

[01/03/2023 10:52:21] *** No errors found in the Deployment Configuration.
[01/03/2023 10:52:23] AksEdge - deploying a new Linux single machine k3s cluster
[01/03/2023 10:52:24] Checking host for required features

Checking the status of 'Microsoft-Hyper-V'
Checking the status of 'Microsoft-Hyper-V-Management-PowerShell'
Checking the status of 'Microsoft-Hyper-V-Hypervisor'
Checking the status of 'OpenSSH.Client*'

[01/03/2023 10:52:26] Creating single machine cluster hcs network

AksEdge - private network carved:
Name  : WindowsVmIp4Address
Value : 192.168.0.3

Name  : ip4Subnet
Value : 192.168.0.0
Name  : ip4PrefixLength
Value : 24
Name  : ip4GatewayAddress
Value : 192.168.0.1
Name  : ServiceIPRangeStart
Value : 192.168.0.4
Name  : LinuxVmIp4Address
Value : 192.168.0.2
Name  : ServiceIPRangeEnd
Value : 192.168.0.23

Determining DNS servers capable of resolving the endpoint 'microsoft.com' from the list of potential servers (10.1.0.1 168.63.129.16)...
Success, one or more eligible DNS servers found (168.63.129.16)...

[01/03/2023 10:52:39] Deploying AKS Edge Essentials - K3s (Public Preview)

WARNING: This is a Public Preview version of AKS Edge Essentials - K3s (Public Preview), not intended for production use.
WARNING: A clean install may be required for production use once the final General Availability (GA) release is available.

[01/03/2023 10:52:39] Step 1: Preparing host for AKS Edge Essentials - K3s (Public Preview)
[01/03/2023 10:52:39] Enabling Microsoft Update. This will allow AKS Edge Essentials - K3s (Public Preview) to receive updates.

Microsoft Update is enabled.

[01/03/2023 10:52:40] Checking for virtual switch with name 'aksedgesw-int'

The virtual switch 'aksedgesw-int' of type 'Internal' is present

[01/03/2023 10:52:43] Associating wssdagent service with nodectl
C:\Program Files\AksEdge\nodectl.exe  security login --loginpath c:\programdata\wssdagent\nodelogin.yaml --identity failed to execute [Error: unknown command "" for "nodectl security login"]
Initialization of host services failed: False OK at line 2608
[01/03/2023 10:52:45] Collecting logs from deployment...
[01/03/2023 10:52:45] Collecting 'AKS Edge Essentials - K3s (Public Preview)' configuration
[01/03/2023 10:52:45] Collecting 'AKS Edge Essentials - K3s (Public Preview)' event logs
[01/03/2023 10:52:46] Collecting wssdagent configuration
[01/03/2023 10:52:46] Collecting wssdagent logs
[01/03/2023 10:52:46] Collecting node logs
[01/03/2023 10:52:46] Exception caught!!!
C:\Program Files\AksEdge\nodectl.exe compute vm list -o tsv --query "[*].name" failed to execute [Error: rpc error: code = Unavailable desc = connection error: desc = "transport: authentication handshake failed: x509: certificate signed by unknown authority"] at line 5254
[01/03/2023 10:52:46] Compressing logs
[01/03/2023 10:52:46] Zip file is located at "C:\ProgramData\AksEdge\logs\aksedgelogs-230103-1052.zip"
C:\ProgramData\AksEdge\logs\aksedgelogs-230103-1052.zip
[01/03/2023 10:52:46] Attempting to remove hcs single machine cluster network

Cleaning up single machine cluster HNS network 'aksedgesw-int' ...
OK

Expected behavior
Installation should succeed
aksedgelogs attached :
aksedgelogs-230103-1052.zip

Once you get past #35 and setup AKS/K3S from a plain Windows Powershell session, trying to access K3S using AKS Edge Commands mostly fail with Error
[Error: unknown command "" for "nodectl ...
Examples (now from "real" dev device):
PowerShell 7.3.1
PS C:\Users\jschwert> cd C:\Repos\Azure\AKS-Edge\tools\
PS C:\Repos\Azure\AKS-Edge\tools> .\aksEdgeShell.ps1
Loading AksEdgeDeploy module from C:\Repos\Azure\AKS-Edge\tools\modules..
Hyper-V is enabled
HostOS  : Microsoft Windows 11 Enterprise(4)
Version : 10.0.22621.963
Lang    : en-US de-DE en-GB
Name    : JS-MS-P1
Total CPUs              : 16
Free RAM / Total RAM    : 43 GB / 64 GB
Free Disk / Total Disk  : 712 GB / 952 GB
AKS Edge Essentials - K3s (Public Preview) 0.7.22335.1024 is installed.
Loading AksEdge module..
AksEdge version         : 0.7.22335.1024
AksEdgeShell  version   : 1.0.221212.1200
AksEdgeDeploy version   : 1.0.221212.1200
Current PowerShell is:

Name                           Value
----                           -----
PSVersion                      7.3.1
PSEdition                      Core
GitCommitId                    7.3.1
OS                             Microsoft Windows 10.0.22621
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

PS C:\Repos\Azure\AKS-Edge\tools> Get-AksEdgeKubeConfig

Confirm
Are you sure you want to perform this action?
Performing the operation "Retrieve and write the cluster kubeconfig file" on target "C:\Users\jschwert\.kube".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y

[01/03/2023 16:40:36] Exception caught!!!

 - C:\Program Files\AksEdge\nodectl.exe  compute vm list -o tsv --query "[?tags.keys(@).contains(@,'9f0ea5f3-5769-47e3-b504-2afacd1fef0f')].name" failed to execute [Error: unknown command "" for "nodectl compute virtualmachine list"] at C:\Program Files\WindowsPowerShell\Modules\AksEdge\0.7.22335.1024\AzureEFLOW.psm1:5254

PS C:\Repos\Azure\AKS-Edge\tools> Get-AksEdgeNodeName

[01/03/2023 17:06:32] Exception caught!!!
 - C:\Program Files\AksEdge\nodectl.exe  compute vm list -o tsv --query "[?tags.keys(@).contains(@,'9f0ea5f3-5769-47e3-b504-2afacd1fef0f')].name" failed to execute [Error: unknown command "" for "nodectl compute virtualmachine list"] at line 5254

PS C:\Repos\Azure\AKS-Edge\tools> Get-AksEdgeDeploymentInfo
[01/03/2023 17:07:23] Acquiring 'AKS Edge Essentials - K3s (Public Preview)' deployment information
 - Caught exception C:\Program Files\AksEdge\nodectl.exe  compute vm list -o tsv --query "[?tags.keys(@).contains(@,'9f0ea5f3-5769-47e3-b504-2afacd1fef0f')].name" failed to execute [Error: unknown command "" for "nodectl compute virtualmachine list"], while retrieving ARC deployment information
Exception: C:\Program Files\AksEdge\nodectl.exe  compute vm list -o tsv --query
"[?tags.keys(@).contains(@,'9f0ea5f3-5769-47e3-b504-2afacd1fef0f')].name" failed to execute [Error: unknown command ""
for "nodectl compute virtualmachine list"]

PS C:\Repos\Azure\AKS-Edge\tools> Get-AksEdgeNodeAddr
[01/03/2023 17:08:04] Exception caught!!!
 - C:\Program Files\AksEdge\nodectl.exe  compute vm list -o tsv --query "[?tags.keys(@).contains(@,'9f0ea5f3-5769-47e3-b504-2afacd1fef0f')].name" failed to execute [Error: unknown command "" for "nodectl compute virtualmachine list"] at line 5254

[01/03/2023 17:08:04] Exception caught!!!
 - Virtual machine name could not be retrieved, failed to get IP/MAC address at line 3831

Hi @JuergenSchwertl,
Thanks for your detailed information. We will fix this issue in our next version.
Thanks,
Francisco

Hi @JuergenSchwertl,
This issue was fixed in the 1.0.266.0 update.
Thanks,
Francisco

repo: Azure/AKS-Edge


text:
Add Service Account and roles for integration

What this PR does
https://issues.redhat.com/browse/ARO-9988
Jira:
Link to demo recording:
Special notes for your reviewer

/lgtm

authors: janboll oriAdler

repo: Azure/ARO-HCP


text:
weekly image cve patching from Sec Pipelines

weekly image cve patching from Sec Pipelines

Pull Request Test Coverage Report for Build 6805731167

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 79.007%

Totals

Change from base Build 6805154460:
0.0%

Covered Lines:
2243

Relevant Lines:
2839

💛  - Coveralls

authors: HDYA coveralls

repo: Azure/AgentBaker


text:
Importing performance

Currently importing takes 1min for every 500 KVs, which is a bit long for people in front of monitors. Potential performance improve?
Experiments:
10 -> 2s
100 -> 10s
200 -> 23s
500 -> 1min
1000 -> 2min

Closing. We will revisit if this causes customer issues.

authors: recao zhenlan

repo: Azure/AppConfiguration