text:
Position for phone numbers real / fake written as code displayed dynamic mobile first to a user

Position for phone numbers real / fake written as code displayed dynamic mobile first to a user
As a user of government services online, I want to recognise phone numbers when scanning the screen for a phone number that I want to click to call or want to copy and paste and send to someone in a message or email or want to write down on paper without having to worry that if I dial this number on a land line that I won't be connected.
What do you need
Need to know that the style chosen for showing phone numbers in content make sense now and takes into account future changes in telecommunications that are already known about. The guidance shall reflect best practice in terms of technology, accessibility and also have input from the Subject Matter Expert The ACMA under the Telecommunications Act.
Also, in the entry check that phone numbers isn't underlined in the example so it looks like a click to call hyperlink but is not one.
Which entry/section is this related to?
Phone numbers: http://content-style-guide.apps.staging.digital.gov.au/az-indexes/p.html#phone-numbers
Also relates to the UI Kit Design Guide as phone numbers today are a design pattern in terms of Schema: https://schema.org/docs/gs.html and Microdata: https://developers.google.com/schemas/formats/microdata Have been informed of this by Toby GOV.AU Developer.
Good example
Have you seen style content elsewhere we should look at?
ACMA is the government authority for Australia's phone numbers:
www.acma.gov.au/Industry/Telco/Numbering/Numbering-Plan/all-about-numbers-ipnd-i-acma
www.acma.gov.au/Citizen/Consumer-info/All-about-numbers/Special-numbers/fictitious-numbers

@LausKovu could you elaborate? (:

Need to know that the style chosen for showing phone numbers in content make sense now and takes into account future changes in telecommunications that are already known about.

Is this about the entry specifically (http://content-style-guide.apps.staging.digital.gov.au/az-indexes/p.html#phone-numbers) or about their styling or both?
We have support in the uikit to automatically add an inline icon of our choosing based on various properties of a link, eg if it ends in .pdf we could append a PDF icon*… similarly, we could pick up that the link is a telephone number (because it starts with tel:), and add a phone icon to the link.
* https://gov-au-ui-kit.apps.staging.digital.gov.au/section-link-styles.html

@joolswood to review this task and check is done

authors: LausKovu joolswood klepas

repo: AusDTO/gov-au-content-guide


text:
Build is failing

Hey @erquhart, any idea why the build is failing? It's failing on gatsby-netlify-cms.netlify.com and I was able to replicate it locally. Below is the error I'm getting:
error Generating JavaScript bundles failed
  Error: app-57675578fd6eed3803db.js from UglifyJs
  SyntaxError: Unexpected character '`' [./~/gatsby-plugin-netlify-cms/gatsby-browser.js:10,0]

Just waiting for a release on the Gatsby repo.

The fix was in https://github.com/gatsbyjs/gatsby/pull/4233, which is now released, just pushed a lockfile update and restarted the build.

Fixed, but looks like something from the recent changes broke the query.
5:10:59 PM: success Building production JavaScript bundles — 52.268 s
5:11:04 PM: error Building static HTML for pages failed
5:11:04 PM: See our docs page on debugging HTML builds for help https://goo.gl/yL9lND
5:11:04 PM:   36 |   return (
5:11:04 PM:   37 |     <BlogPostTemplate
5:11:04 PM: > 38 |       content={post.html}
5:11:04 PM:      |                     ^
5:11:04 PM:   39 |       contentComponent={HTMLContent}
5:11:04 PM:   40 |       description={post.frontmatter.description}
5:11:04 PM:   41 |       helmet={<Helmet title={`Blog | ${post.frontmatter.title}`} />}
5:11:04 PM:
5:11:04 PM:   WebpackError: Cannot read property 'html' of null
5:11:04 PM:
5:11:04 PM:   - blog-post.js?ab37:38 exports.default
5:11:04 PM:     src/templates/blog-post.js?ab37:38:21

Hmm, looks like #41 removed necessary graphql fields. Seems like you caught it here https://github.com/AustinGreen/gatsby-starter-netlify-cms/pull/41/commits/2259ee4a00368c2d6214b81944aa783f3c59f6cb#r170452856
I can add these back and make a PR

☝This concurs with my assessment messing around with https://github.com/rdela/voidcluster

Fixed in #46.

Yeah I was wrong earlier fix in in #46 thanks @erquhart @AustinGreen
@KyleAMathews!
https://github.com/AustinGreen/gatsby-starter-netlify-cms/pull/46#issue-171536023

Removing passing in path surfaced a bug in the data where one of the paths was missing its forward slash. Gatsby adds to paths if you don't add it but because of the discrepancy, the query now failed because the path in the page object was different than the path in the markdown file.

https://github.com/rdela/voidcluster/commit/0bf263a07f2b0089301845981a82322b0910d502

I fixed this issue by upgrading Gatsby to the latest version (currently 1.9.243)

source: gharchive/issue

authors: AustinGreen aboutaaron erquhart rdela

repo: AustinGreen/gatsby-starter-netlify-cms

license: MIT

license_type: permissive

license_source: github-api


text:
refactor end game

alter game over method
refactor create elements functions
remove commented code

glad we got those big methods refactored

source: gharchive/pull-request


text:
[Question] What about repeatable Jobs?

Hi... Exist a way to configure repeatable jobs? Maybe like a cron job like bull does

Any update here? Would love to use a repeatable job with kue or a way to enqueue the same job with a timer based on a condition.
Newbee here, looking forward to any alternatives

repo: Automattic/kue


text:
Requirements on specific gui controls for core

Requirements :
https://docs.google.com/document/d/19R0SiykrlGALWU9ONDdtmni4PNBmJ-95s9i755FhWgg/edit#

[x] Scenario explorer
[x] Scenario viz
[x] Job explorer
[ ] Job viz
[x] Data node explorer
[x] Data node viz
[ ] Scenario comparator
[ ] Login

Specifications :
https://docs.google.com/document/d/10GMDUZj0PJ5Tz24nOueA3whgTLHfU8WYvjwHoUv6K1w/edit#
POC : https://github.com/Avaiga/taipy-core/tree/feature/notification

figma

authors: FredLL-Avaiga jrobinAV

repo: Avaiga/taipy


text:
WindowNotificationManager.Show() throws NullReferenceException

Describe the bug
Calling WindowNotificationManager.Show() in a ReactiveCommand.ThrownExceptions observable subscription in a view model's constructor causes a NullReferenceException to be thrown
To Reproduce

Add public WindowNotificationManager NotificationManager { get; set; } to a ViewModel
Initialize NotificationManager in the View like so:

protected override void OnAttachedToVisualTree(VisualTreeAttachmentEventArgs e)
{
    base.OnAttachedToVisualTree(e);

    this.ViewModel.NotificationManager = new((Window)this.VisualRoot);
}

Call Show() in a ReactiveCommand.ThrownExceptions handler like so:

this.LoadMapGeometryCommand.ThrownExceptions.Subscribe(ex =>
{
    this.NotificationManager?.Show(
        new Notification("Oopsie woopsie fucky wucky!!!", "amogus", type: NotificationType.Error)
    );
    this.Log().Error(ex);
});

Expected behavior
I expect a notification to be shown in the window
Screenshots

Desktop (please complete the following information):

OS: Windows 11 22H2
Version: 0.10.18

Additional context
Since there is absolutely no documentation for how to use the notifications API, I followed the usage at: https://github.com/AvaloniaUI/Avalonia/blob/master/samples/ControlCatalog/Pages/NotificationsPage.xaml.cs

I found a solution for how to use the WindowNotificationManager properly by replicating the notifications code used in WalletWasabi.

Import the Avalonia.Xaml.Interactivity nuget package.
Create a DisposingBehavior class in Behaviors folder

using Avalonia;
using Avalonia.Xaml.Interactivity;
using System.Reactive.Disposables;

namespace lol2gltf.Behaviors
{
    public abstract class DisposingBehavior<T> : Behavior<T> where T : class, IAvaloniaObject
    {
        private CompositeDisposable _disposables;

        protected override void OnAttached()
        {
            base.OnAttached();

            this._disposables?.Dispose();
            this._disposables = new CompositeDisposable();

            OnAttached(this._disposables);
        }

        protected abstract void OnAttached(CompositeDisposable disposables);

        protected override void OnDetaching()
        {
            base.OnDetaching();

            this._disposables?.Dispose();
        }
    }
}

Create a NotificationHelper static class which will store a static instance of the WindowNotificationManager
Create a RegisterNotificationHostBehavior:

using Avalonia.Controls;
using lol2gltf.Helpers;
using System.Reactive.Disposables;

namespace lol2gltf.Behaviors
{
    public class RegisterNotificationHostBehavior : DisposingBehavior<Window>
    {
        public RegisterNotificationHostBehavior() { }

        protected override void OnAttached(CompositeDisposable disposables)
        {
            if (this.AssociatedObject is null)
                return;

            NotificationHelper.SetNotificationManager(this.AssociatedObject);
        }
    }
}

Add the following into your MainWindow.axaml

xmlns:i="using:Avalonia.Xaml.Interactivity"

<i:Interaction.Behaviors>
    <behaviors:RegisterNotificationHostBehavior />
  </i:Interaction.Behaviors>

You can now use the NotificationHelper any where in your code to show notifications

This should probably be added into the Avalonia documentation. I find it quite shocking that such a useful control/feature is not documented at all.

It was expected behavior in 0.10.
But in 11.0 WindowNotificationManager was changed to not require you to wait until window is loaded.

repo: AvaloniaUI/Avalonia


text:
ProgressBar overflows if BorderThickness is used

Hello!
I noticed a rather strange bug with the ProgressBar.
To find this problem, I subscribed to changing the text in the TextBox to calculate the complexity of the password and output in the ProgressBar, Maximum = 300.
With BorderThickness = 0 and CornerRadius = 5, everything is fine, working as expected.

But if you set BorderThickness to 1, you get this:

Avalonia: 0.10.999-cibuild0009903-beta, the problem was observed in previous versions

Duplicated, but with extra details.
When you have a border thickness set (higher the worse things get):

The precision position is offset (by the left border)
Also, the right side is clipped off.
And some corner (radius) clipping.

Saw a report on it in gitter from "Printer", but because of any sensitivity for users on having the progress being true/exact, I'd thought I'd drop a note here.
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical">
    <TextBlock HorizontalAlignment="Center">|</TextBlock>
    <ProgressBar Height="30" Width="300" Minimum="0" Maximum="10" Value="5" BorderThickness="5" BorderBrush="Black" Foreground="SteelBlue"/>
    <TextBlock HorizontalAlignment="Center">|</TextBlock>
</StackPanel>

A possible work around is to wrap the progressbar in a border and use that border. I think the PART_Indicator doesn't really account for it's parents' border.
<StackPanel VerticalAlignment="Center" HorizontalAlignment="Center" Orientation="Vertical">
     <TextBlock HorizontalAlignment="Center">|</TextBlock>
     <Border BorderThickness="2" BorderBrush="Black" CornerRadius="5">
          <ProgressBar Height="30" Width="300" Minimum="0" Maximum="10" Value="5" Foreground="SteelBlue"/>
     </Border>
     <TextBlock HorizontalAlignment="Center">|</TextBlock>
</StackPanel>

Yes, PART_Indicator should use its parent bounds instead of total progress bar bounds.

authors: Onebeld SCLD-JMcCoard maxkatz6


text:
Crash on Big Sur

A user reported a problem on Big Sur.
https://github.com/btcpayserver/BTCPayServer.Vault/issues/24 (the crash dump is there)
We are on avalonia 0.9.2 so I will try to update and see how it goes.

@danwalmsley i think the same happened with avalonia master too right?

if so, you should be able to repro by running the btcpayserver vault.

from my experience with macOS bigsur, apps with 0.9 avalonia are crashing at start, but working fine with 0.10+

Every release Apple break us... there hasnt been a single release they didnt!

@NicolasDorier you should update to 0.9.12 which has a lot more stability fixes from 0.9.2. probably it wont solve this one but a good idea.

@NicolasDorier I guess we will release a 0.9.13 service release to fix this shortly.

@danwalmsley thanks you will update to 0.9.13 then.

@danwalmsley any eta for the release?

I will close this, I tried to update to latest avalonia, and it seems to work.
https://github.com/btcpayserver/BTCPayServer.Vault/issues/24#issuecomment-735597361

authors: NicolasDorier danwalmsley donandren jmacato


text:
Big Sur - Process finished with exit code 137.

I am trying to run the starter console app on Big Sur 10.15.7.
On Avalonia version 0.9.12 it crashes at startup
On Avalonia versison 0.10.0-rc1, it exits immediately on startup with an exit code 137, no error throw anywhere.

Nevermind just figured out if i run it directly with dotnet run, then it works fine. Must be something with the configuration from the starter template or rider...


text:
Manually handle name scope registrations

The problem: our current name scope system is currently incapable of properly handling nested name scopes.
This PR removes all the magic that was doing name scope registration before, it's now the responsibility of whoever is building the object graph to properly assign the name scope and register controls in it.
IRootObjectProvider now has IntermediateRootObject property which holds the "current" root object which might be also be the root element returned by the data/control template. (@grokys  this can be used for https://github.com/AvaloniaUI/Avalonia/issues/1100, I believe)

This PR may be required to correctly handle compiled bindings. I'll try to get around to reviewing this quickly once it's green.

@grokys
The PR breaks the behavior of unregistering controls on visual tree detachment, since the whole user control containing them might be detached and re-attached later.
Any idea what we can do to circumvent that?

I think that there is no valid scenario in which one would want to automatically unregister controls on detaching from the visual tree, so I'll leave it as is.

User control: named elements are bound to the user control lifetime anyway
Control template:  named elements are bound to the control template lifetime anyway
Data template:  named elements are bound to the control template lifetime anyway

Am I missing something? For control templates we probably want to remove the name scope from the visual tree entirely and make bindings take the name scope from IServiceProvider

@kekekeks is this ready for review?

@jkoritzinsky I think for this PR to work correctly I also need to change how ElementName works.

NameScope attached property is only kept for user controls for compatibility with this.Find, for templates the name scope is ephemeral
IControlTemplate.Build now returns  ControlTemplateResult that contains the name scope to be used in OnApplied

authors: jkoritzinsky kekekeks


text:
Beta 8 support

Please, add beta 8 support

	function (Dispatcher $events) {

		// save the discussion slug in arabic
		$events->listen(Saving::class, function(Saving $event){
			$event->discussion->slug = Str::slug($event->discussion->title);
		});
}

Str file
class Str
{
    /**
     * Create a slug out of the given string.
     *
     * Non-alphanumeric characters are converted to hyphens.
     *
     * @param string $str
     * @return string
     */
    public static function slug($str, $separator = '-', $language = 'ar')
    {
        $str = $language ? static::ascii($str, $language) : $str;
        // Convert all dashes/underscores into separator
        $flip = $separator === '-' ? '_' : '-';
        $str = preg_replace('!['.preg_quote($flip).']+!u', $separator, $str);
        // Replace @ with the word 'at'
        $str = str_replace('@', $separator.'at'.$separator, $str);
        // Remove all characters that are not the separator, letters, numbers, or whitespace.
        $str = preg_replace('![^'.preg_quote($separator).'\pL\pN\s]+!u', '', mb_strtolower($str));
        // Replace all separator characters and whitespace by a single separator
        $str = preg_replace('!['.preg_quote($separator).'\s]+!u', $separator, $str);
        return trim($str, $separator);
    }

    /**
     * Transliterate a UTF-8 value to ASCII and arabic letters.
     *
     * @param  string  $value
     * @return string
     */

    public static function ascii($value) {
        foreach (static::charsArray() as $key => $val) {
            $value = str_replace($val, $key, $value);
        }
        return preg_replace('/[^\x20-\x7E\x{0621}-\x{063A}x{0641}-\x{064A}]/u', '', $value);
    }

    /**
     * Returns the replacements for the ascii method.
     *
     * Note: Adapted from Stringy\Stringy.
     *
     * @see https://github.com/danielstjules/Stringy/blob/2.3.1/LICENSE.txt
     *
     * @return array
     */
    protected static function charsArray() {
        static $charsArray;
        if (isset($charsArray)) {
            return $charsArray;
        }
        $charsArray = [
            '0'    => ['°', '₀', '۰'],
            '1'    => ['¹', '₁', '۱'],
            '2'    => ['²', '₂', '۲'],
            '3'    => ['³', '₃', '۳'],
            '4'    => ['⁴', '₄', '۴', '٤'],
            '5'    => ['⁵', '₅', '۵', '٥'],
            '6'    => ['⁶', '₆', '۶', '٦'],
            '7'    => ['⁷', '₇', '۷'],
            '8'    => ['⁸', '₈', '۸'],
            '9'    => ['⁹', '₉', '۹'],
            'a'    => ['à', 'á', 'ả', 'ã', 'ạ', 'ă', 'ắ', 'ằ', 'ẳ', 'ẵ', 'ặ', 'â', 'ấ', 'ầ', 'ẩ', 'ẫ', 'ậ', 'ā', 'ą', 'å', 'α', 'ά', 'ἀ', 'ἁ', 'ἂ', 'ἃ', 'ἄ', 'ἅ', 'ἆ', 'ἇ', 'ᾀ', 'ᾁ', 'ᾂ', 'ᾃ', 'ᾄ', 'ᾅ', 'ᾆ', 'ᾇ', 'ὰ', 'ά', 'ᾰ', 'ᾱ', 'ᾲ', 'ᾳ', 'ᾴ', 'ᾶ', 'ᾷ', 'а', 'အ', 'ာ', 'ါ', 'ǻ', 'ǎ', 'ª', 'ა', 'अ'],
            'b'    => ['б', 'β', 'Ъ', 'Ь', 'ဗ', 'ბ'],
            'c'    => ['ç', 'ć', 'č', 'ĉ', 'ċ'],
            'd'    => ['ď', 'ð', 'đ', 'ƌ', 'ȡ', 'ɖ', 'ɗ', 'ᵭ', 'ᶁ', 'ᶑ', 'д', 'δ', 'ဍ', 'ဒ', 'დ'],
            'e'    => ['é', 'è', 'ẻ', 'ẽ', 'ẹ', 'ê', 'ế', 'ề', 'ể', 'ễ', 'ệ', 'ë', 'ē', 'ę', 'ě', 'ĕ', 'ė', 'ε', 'έ', 'ἐ', 'ἑ', 'ἒ', 'ἓ', 'ἔ', 'ἕ', 'ὲ', 'έ', 'е', 'ё', 'э', 'є', 'ə', 'ဧ', 'ေ', 'ဲ', 'ე', 'ए'],
            'f'    => ['ф', 'φ', 'ƒ', 'ფ'],
            'g'    => ['ĝ', 'ğ', 'ġ', 'ģ', 'г', 'ґ', 'γ', 'ဂ', 'გ', 'گ'],
            'h'    => ['ĥ', 'ħ', 'η', 'ή', 'ဟ', 'ှ', 'ჰ'],
            'i'    => ['í', 'ì', 'ỉ', 'ĩ', 'ị', 'î', 'ï', 'ī', 'ĭ', 'į', 'ı', 'ι', 'ί', 'ϊ', 'ΐ', 'ἰ', 'ἱ', 'ἲ', 'ἳ', 'ἴ', 'ἵ', 'ἶ', 'ἷ', 'ὶ', 'ί', 'ῐ', 'ῑ', 'ῒ', 'ΐ', 'ῖ', 'ῗ', 'і', 'ї', 'и', 'ဣ', 'ိ', 'ီ', 'ည်', 'ǐ', 'ი', 'इ'],
            'j'    => ['ĵ', 'ј', 'Ј', 'ჯ'],
            'k'    => ['ķ', 'ĸ', 'к', 'κ', 'Ķ', 'က', 'კ', 'ქ', 'ک'],
            'l'    => ['ł', 'ľ', 'ĺ', 'ļ', 'ŀ', 'л', 'λ', 'လ', 'ლ'],
            'm'    => ['м', 'μ', 'မ', 'მ'],
            'n'    => ['ñ', 'ń', 'ň', 'ņ', 'ŉ', 'ŋ', 'ν', 'н', 'န', 'ნ'],
            'o'    => ['ó', 'ò', 'ỏ', 'õ', 'ọ', 'ô', 'ố', 'ồ', 'ổ', 'ỗ', 'ộ', 'ơ', 'ớ', 'ờ', 'ở', 'ỡ', 'ợ', 'ø', 'ō', 'ő', 'ŏ', 'ο', 'ὀ', 'ὁ', 'ὂ', 'ὃ', 'ὄ', 'ὅ', 'ὸ', 'ό', 'о', 'θ', 'ို', 'ǒ', 'ǿ', 'º', 'ო', 'ओ'],
            'p'    => ['п', 'π', 'ပ', 'პ', 'پ'],
            'q'    => ['ყ'],
            'r'    => ['ŕ', 'ř', 'ŗ', 'р', 'ρ', 'რ'],
            's'    => ['ś', 'š', 'ş', 'с', 'σ', 'ș', 'ς', 'စ', 'ſ', 'ს'],
            't'    => ['ť', 'ţ', 'т', 'τ', 'ț', 'ဋ', 'တ', 'ŧ', 'თ', 'ტ'],
            'u'    => ['ú', 'ù', 'ủ', 'ũ', 'ụ', 'ư', 'ứ', 'ừ', 'ử', 'ữ', 'ự', 'û', 'ū', 'ů', 'ű', 'ŭ', 'ų', 'µ', 'у', 'ဉ', 'ု', 'ူ', 'ǔ', 'ǖ', 'ǘ', 'ǚ', 'ǜ', 'უ', 'उ'],
            'v'    => ['в', 'ვ', 'ϐ'],
            'w'    => ['ŵ', 'ω', 'ώ', 'ဝ', 'ွ'],
            'x'    => ['χ', 'ξ'],
            'y'    => ['ý', 'ỳ', 'ỷ', 'ỹ', 'ỵ', 'ÿ', 'ŷ', 'й', 'ы', 'υ', 'ϋ', 'ύ', 'ΰ', 'ယ'],
            'z'    => ['ź', 'ž', 'ż', 'з', 'ζ', 'ဇ', 'ზ'],
            'aa'   => ['आ'],
            'ae'   => ['ä', 'æ', 'ǽ'],
            'ai'   => ['ऐ'],
            'at'   => ['@'],
            'ch'   => ['ч', 'ჩ', 'ჭ', 'چ'],
            'dj'   => ['ђ', 'đ'],
            'dz'   => ['џ', 'ძ'],
            'ei'   => ['ऍ'],
            'gh'   => [ 'ღ'],
            'ii'   => ['ई'],
            'ij'   => ['ĳ'],
            'kh'   => ['х', 'ხ'],
            'lj'   => ['љ'],
            'nj'   => ['њ'],
            'oe'   => ['ö', 'œ', 'ؤ'],
            'oi'   => ['ऑ'],
            'oii'  => ['ऒ'],
            'ps'   => ['ψ'],
            'sh'   => ['ш', 'შ'],
            'shch' => ['щ'],
            'ss'   => ['ß'],
            'sx'   => ['ŝ'],
            'th'   => ['þ', 'ϑ'],
            'ts'   => ['ц', 'ც', 'წ'],
            'ue'   => ['ü'],
            'uu'   => ['ऊ'],
            'ya'   => ['я'],
            'yu'   => ['ю'],
            'zh'   => ['ж', 'ჟ'],
            '(c)'  => ['©'],
            'A'    => ['Á', 'À', 'Ả', 'Ã', 'Ạ', 'Ă', 'Ắ', 'Ằ', 'Ẳ', 'Ẵ', 'Ặ', 'Â', 'Ấ', 'Ầ', 'Ẩ', 'Ẫ', 'Ậ', 'Å', 'Ā', 'Ą', 'Α', 'Ά', 'Ἀ', 'Ἁ', 'Ἂ', 'Ἃ', 'Ἄ', 'Ἅ', 'Ἆ', 'Ἇ', 'ᾈ', 'ᾉ', 'ᾊ', 'ᾋ', 'ᾌ', 'ᾍ', 'ᾎ', 'ᾏ', 'Ᾰ', 'Ᾱ', 'Ὰ', 'Ά', 'ᾼ', 'А', 'Ǻ', 'Ǎ'],
            'B'    => ['Б', 'Β', 'ब'],
            'C'    => ['Ç', 'Ć', 'Č', 'Ĉ', 'Ċ'],
            'D'    => ['Ď', 'Ð', 'Đ', 'Ɖ', 'Ɗ', 'Ƌ', 'ᴅ', 'ᴆ', 'Д', 'Δ'],
            'E'    => ['É', 'È', 'Ẻ', 'Ẽ', 'Ẹ', 'Ê', 'Ế', 'Ề', 'Ể', 'Ễ', 'Ệ', 'Ë', 'Ē', 'Ę', 'Ě', 'Ĕ', 'Ė', 'Ε', 'Έ', 'Ἐ', 'Ἑ', 'Ἒ', 'Ἓ', 'Ἔ', 'Ἕ', 'Έ', 'Ὲ', 'Е', 'Ё', 'Э', 'Є', 'Ə'],
            'F'    => ['Ф', 'Φ'],
            'G'    => ['Ğ', 'Ġ', 'Ģ', 'Г', 'Ґ', 'Γ'],
            'H'    => ['Η', 'Ή', 'Ħ'],
            'I'    => ['Í', 'Ì', 'Ỉ', 'Ĩ', 'Ị', 'Î', 'Ï', 'Ī', 'Ĭ', 'Į', 'İ', 'Ι', 'Ί', 'Ϊ', 'Ἰ', 'Ἱ', 'Ἳ', 'Ἴ', 'Ἵ', 'Ἶ', 'Ἷ', 'Ῐ', 'Ῑ', 'Ὶ', 'Ί', 'И', 'І', 'Ї', 'Ǐ', 'ϒ'],
            'K'    => ['К', 'Κ'],
            'L'    => ['Ĺ', 'Ł', 'Л', 'Λ', 'Ļ', 'Ľ', 'Ŀ', 'ल'],
            'M'    => ['М', 'Μ'],
            'N'    => ['Ń', 'Ñ', 'Ň', 'Ņ', 'Ŋ', 'Н', 'Ν'],
            'O'    => ['Ó', 'Ò', 'Ỏ', 'Õ', 'Ọ', 'Ô', 'Ố', 'Ồ', 'Ổ', 'Ỗ', 'Ộ', 'Ơ', 'Ớ', 'Ờ', 'Ở', 'Ỡ', 'Ợ', 'Ø', 'Ō', 'Ő', 'Ŏ', 'Ο', 'Ό', 'Ὀ', 'Ὁ', 'Ὂ', 'Ὃ', 'Ὄ', 'Ὅ', 'Ὸ', 'Ό', 'О', 'Θ', 'Ө', 'Ǒ', 'Ǿ'],
            'P'    => ['П', 'Π'],
            'R'    => ['Ř', 'Ŕ', 'Р', 'Ρ', 'Ŗ'],
            'S'    => ['Ş', 'Ŝ', 'Ș', 'Š', 'Ś', 'С', 'Σ'],
            'T'    => ['Ť', 'Ţ', 'Ŧ', 'Ț', 'Т', 'Τ'],
            'U'    => ['Ú', 'Ù', 'Ủ', 'Ũ', 'Ụ', 'Ư', 'Ứ', 'Ừ', 'Ử', 'Ữ', 'Ự', 'Û', 'Ū', 'Ů', 'Ű', 'Ŭ', 'Ų', 'У', 'Ǔ', 'Ǖ', 'Ǘ', 'Ǚ', 'Ǜ'],
            'V'    => ['В'],
            'W'    => ['Ω', 'Ώ', 'Ŵ'],
            'X'    => ['Χ', 'Ξ'],
            'Y'    => ['Ý', 'Ỳ', 'Ỷ', 'Ỹ', 'Ỵ', 'Ÿ', 'Ῠ', 'Ῡ', 'Ὺ', 'Ύ', 'Ы', 'Й', 'Υ', 'Ϋ', 'Ŷ'],
            'Z'    => ['Ź', 'Ž', 'Ż', 'З', 'Ζ'],
            'AE'   => ['Ä', 'Æ', 'Ǽ'],
            'CH'   => ['Ч'],
            'DJ'   => ['Ђ'],
            'DZ'   => ['Џ'],
            'GX'   => ['Ĝ'],
            'HX'   => ['Ĥ'],
            'IJ'   => ['Ĳ'],
            'JX'   => ['Ĵ'],
            'KH'   => ['Х'],
            'LJ'   => ['Љ'],
            'NJ'   => ['Њ'],
            'OE'   => ['Ö', 'Œ'],
            'PS'   => ['Ψ'],
            'SH'   => ['Ш'],
            'SHCH' => ['Щ'],
            'SS'   => ['ẞ'],
            'TH'   => ['Þ'],
            'TS'   => ['Ц'],
            'UE'   => ['Ü'],
            'YA'   => ['Я'],
            'YU'   => ['Ю'],
            'ZH'   => ['Ж'],
            ' '    => ['{','}','[',']','(',')',"\xC2\xA0", "\xE2\x80\x80", "\xE2\x80\x81", "\xE2\x80\x82", "\xE2\x80\x83", "\xE2\x80\x84", "\xE2\x80\x85", "\xE2\x80\x86", "\xE2\x80\x87", "\xE2\x80\x88", "\xE2\x80\x89", "\xE2\x80\x8A", "\xE2\x80\xAF", "\xE2\x81\x9F", "\xE3\x80\x80"],
        ];
        return $charsArray;
    }
}

authors: XakepSDK ziymed

license: mit

license_source: bigquery


text:
📃: Handwritten Digit Recognition using CNN

:red_circle: Title : Handwritten Digit Recognition using CNN
:red_circle: Aim : Develop a Convolutional Neural Network (CNN) model to recognize handwritten digits from images.
:red_circle: Brief Explanation :

Use the MNIST dataset, which contains images of handwritten digits (0-9).
Train a CNN model on the dataset to recognize the digits.
Create a UI for users to upload images of handwritten digits and display the recognition results.
Ensure the UI is user-friendly and provides accurate results.

Screenshots 📷

N/A

:white_check_mark: To be Mentioned while taking the issue :

Full name :
What is your participant role? (Mention the Open Source Program name. Eg. GSSOC, SSOC, JWOC, etc.)

Happy Contributing 🚀
All the best. Enjoy your open source journey ahead. 😎

Hi @Avdhesh-Varshney , Could I have a look at this issue?

Hi @Avdhesh-Varshney , what kind of photos can we expect? because the mnist dataset has a very small resolution of 28x28. I can try to use a different dataset if there is one with a larger resolution.

I would like to work on it please kindly assign me

Hi @Avdhesh-Varshney , what kind of photos can we expect? because the mnist dataset has a very small resolution of 28x28. I can try to use a different dataset if there is one with a larger resolution.

Scan the document and extract the digits by identifying from the uploaded image.

Hey @Avdhesh-Varshney , I have created a PR for the changes: https://github.com/Avdhesh-Varshney/Jarvis/pull/120, Please review and comment any neccesary changes.

repo: Avdhesh-Varshney/Jarvis


text:
🛑 Mojang's Public API is down

In 3819050, Mojang's Public API (https://api.mojang.com/) was down:

HTTP code: 429
Response time: 97 ms

Resolved: Mojang's Public API is back up in 67e555d after 7 minutes.

repo: AventiumSoftworks/helios-status-page


text:
basic cookie pattern

Hello @guillaume-chervet, thanks again for the library!
Note:
Hey my apologies, this is my first time forking repo and I was not expecting the PR to show up on this Repo. I can delete and do it as an issue if you'd like? I figured the PR would be nice for the diff, but once again, was not expecting it to show up here :/
Currently I have a niche situation where I am forced to use cookies in order to store JWTs, to support the view layer of an application(which has additional CSRF protections) alongside newer React/Next apps. I don't want to get too much into the details about that, but rest assured the tokens will still be sent through authorization header for any AJAX requests. Sadly, I cannot use the service worker so cookies are probably about === to localStorage in the XSS department, but with the added benefit of enabling a single location for the JWTs for both the older app and newer Next/React ones.
Anyways, I think this code/branch probably would not be helpful to other consumers of your library, but I was hoping to get some personal advice if you have the spare time. I was hoping you could take a look and let me know if theres any glaring problems that I would need to address, or if there is some tests I could potentially run?
Also, as you probably have noticed, theres a bit of weirdness with the code, which I hope to explain below:
Originally, I wanted to simply wrap the setters/getters for storage[] =/storage[], to keep the main logic inside the initSession object the same. I would then be able to update the set/gets to optionally use cookies instead of a client-side store.
Something like:
const set = (key, value, useCookie) => {
  if (useCookie) // do cookie logic and return
  // otherwise do the usual
  return storage[key] = value
}

// and then do something like
const setTokens () => {
  // old
  storage[`oidc.${configurationName}:${redirectUri}`] = JSON.stringify({tokens});
  // new
  helper.set(`oidc.${configurationName}:${redirectUri}`, JSON.stringify({tokens});

}

However, I quickly ran into issues with fitting the whole object inside a single cookie, plus I wanted to be able to specify the cookie names. I found that because of all the cookie splitting/merging, the basic set/get abstraction wasn't preventing additional logic from being added into the initAsync object methods(although in hindsight, perhaps I could move the splitting/merging of cookies into more complex helper methods in the helper object instead)...Anyway the cookie size limitation, is the main reason for the splitting and merging.
Also I was experiencing some issues getting logout to function properly.
If I don't delete the all the cookies during the clearAsync(), I am unable to logout the user. Removing the cookies during theclearAsync()  function seems to remedy the problem. It also seems that when deleting the "main cookie"(the one that has the accessToken/status key) it triggers the clearAsync() method which clears the remaining the cookies(maybe? not sure if thats whats actually happening yet).
On the surface, it also appears that the splitting of the tokens object creates an odd situation where pieces of the object are enough to refresh the other bits:
https://user-images.githubusercontent.com/85503587/190058831-77736da7-8830-4ada-ba43-70bbfd180a43.mp4
Lastly, even after deleting the cookies I seem to get a quick screen flash before the unauthenticated popup unless I don't set the initial cookie in the initAsync method:
https://user-images.githubusercontent.com/85503587/190058915-4c9a027d-abe1-4b0b-b6d0-5f59bd4ef9c0.mp4
I was wondering if there is any potential implications/issues that could arise from not doing that bit?
"Working Example":
https://user-images.githubusercontent.com/85503587/190059137-74c6014c-06ba-4a03-8bdf-4b685dc58afc.mp4
So, this is a lot(of text...maybe more than the code lol) and I'm sure you're quite busy...if you don't have time to look over this I totally understand and am still very thankful for the library...However, if you do find the time any feedback/assistance is appreciated!
Best,
Kainan

hi @kainanftf ,
Thank you for your pull request, i understand your need.
You do not need to modify react-oidc, you can implement you own Storage implementation it would be simpler.
 /** This Web Storage API interface provides access to a particular domain's session or local storage. It allows, for example, the addition, modification, or deletion of stored data items. */ interface Storage {     /** Returns the number of key/value pairs. */     readonly length: number;     /**      * Removes all key/value pairs, if there are any.      *      * Dispatches a storage event on Window objects holding an equivalent Storage object.      */     clear(): void;     /** Returns the current value associated with the given key, or null if the given key does not exist. */     getItem(key: string): string | null;     /** Returns the name of the nth key, or null if n is greater than or equal to the number of key/value pairs. */     key(index: number): string | null;     /**      * Removes the key/value pair with the given key, if a key/value pair with the given key exists.      *      * Dispatches a storage event on Window objects holding an equivalent Storage object.      */     removeItem(key: string): void;     /**      * Sets the value of the pair identified by key to value, creating a new key/value pair if none existed for key previously.      *      * Throws a "QuotaExceededError" DOMException exception if the new value couldn't be set. (Setting could fail if, e.g., the user has disabled storage for the site, or if the quota has been exceeded.)      *      * Dispatches a storage event on Window objects holding an equivalent Storage object.      */     setItem(key: string, value: string): void;     [name: string]: any; }
So you just need to set
`
var youOwnCookieStorage = {}; // Your implementation
export const configurationIdentityServer = {
client_id: 'interactive.public.short',
redirect_uri: window.location.origin+'/authentication/callback',
silent_redirect_uri: window.location.origin+'/authentication/silent-callback',
//silent_login_uri: window.location.origin+'/authentication/silent-login',
scope: 'openid profile email api offline_access',
authority: 'https://demo.duendesoftware.com',
//authority_time_cache_wellknowurl_in_second: 60* 60,
refresh_time_before_tokens_expiration_in_second: 10,
service_worker_relative_url:'/OidcServiceWorker.js',
service_worker_only: false,
storage: youOwnCookieStorage,      // <------------------------------------  Set your own storage
//silent_login_timeout: 3333000
//monitor_session: true,
};
`

Ahh, thank you so much! I will go ahead and do this approach instead! Appreciate the quick response!

@guillaume-chervet
Hey wanted to say thanks and share the results of your advice! I used a proxy object so that I could use custom bracket notation setters/getters(not sure if theres a better way to do that). Here's the first draft:
// Helper used by handler
const initCookieHelper = () => {
  const set = (name: string, value: any) => {
    document.cookie = name + '=' + value + '; path=/';
  };

  const get = (name: string) => {
    const nameEQ = name + '=';
    const ca = document.cookie.split(';');

    for (let i = 0; i < ca.length; i++) {
      let c = ca[i];
      while (c.charAt(0) == ' ') c = c.substring(1, c.length);
      if (c.indexOf(nameEQ) == 0) {
        return c.substring(nameEQ.length, c.length);
      }
    }
    return null;
  };

  const erase = (name: string) => {
    document.cookie =
      name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
  };
  return { set, erase, get };
};

// The CookieHandler Initializer
const initCookieHandler = (
  tokenKey: string,
  identifier: string = 'test'
) => {
  const cookieHelper = initCookieHelper();

  const tokenPaths = [
    `${identifier}.accessToken`,
    `${identifier}.idToken`,
    `${identifier}.refreshToken`,
    `${identifier}.rest`,
  ];

  const clearSplitCookies = () => {
    tokenPaths.forEach((tp) => cookieHelper.erase(tp));
  };

  const setSplitCookies = (tokens: { [key: string]: any }) => {
    const {
      accessToken,
      idToken,
      refreshToken,
      accessTokenPayload,
      expiresIn,
      expiresAt,
      idTokenPayload,
      issuedAt,
      tokenType,
      scope,
    }: {
      [key: string]: string | number | any;
    } = { ...tokens };
    cookieHelper.erase(identifier);
    cookieHelper.set(`${identifier}.accessToken`, accessToken);
    cookieHelper.set(`${identifier}.idToken`, idToken);
    cookieHelper.set(`${identifier}.refreshToken`, refreshToken);
    cookieHelper.set(
      `${identifier}.rest`,
      JSON.stringify({
        accessTokenPayload,
        expiresIn,
        expiresAt,
        idTokenPayload,
        issuedAt,
        tokenType,
        scope,
      })
    );
  };

  const get = (_target: any, key: string) => {
    if (key !== tokenKey) return cookieHelper.get(key);

    const tokenCookies = tokenPaths
      .map((tp) => cookieHelper.get(tp))
      .filter(Boolean); // strips falsey matches

    // if pieces are missing clear em all
    if (tokenCookies.length < 4) {
      clearSplitCookies();
    } else {
      return JSON.stringify({
        tokens: {
          accessToken: cookieHelper.get(tokenPaths[0]),
          idToken: cookieHelper.get(tokenPaths[1]),
          refreshToken: cookieHelper.get(tokenPaths[2]),
          ...JSON.parse(cookieHelper.get(`${identifier}.rest`)!),
        },
      });
    }

    return cookieHelper.get(identifier);
  };

  const set = (_obj: any, prop: string, value: string) => {
    if (prop !== tokenKey) {
      cookieHelper.set(prop, value);
      return true;
    }

    const tokens = JSON.parse(value).tokens;

    if (!tokens) {
      clearSplitCookies();
      cookieHelper.set(identifier, value);
      return true;
    }

    const keys = Object.keys(tokens);
    if (
      keys.includes('accessToken') &&
      keys.includes('accessTokenPayload')
    ) {
      setSplitCookies(tokens);
      return true;
    }

    clearSplitCookies();
    cookieHelper.set(identifier, value);
    return true;
  };

  return {
    set,
    get,
  };
};

// exporting the Proxy Object/CookieStore
export const cookieStore = (tokenKey: string, identifier: string) =>
  new Proxy({}, initCookieHandler(tokenKey, identifier));

And I can pass in into the config like:
const configuration {
  storage: cookieStore(
    'oidc.default:http://localhost:3000/home', // this needs to be same as the path that is used to store tokens in initSessions.ts
    'test' // this is the tokens prefix
  ),
}

It seems to be working(although we shall see over time):
https://user-images.githubusercontent.com/85503587/190235179-7a5d6806-0c55-427b-a5c7-5eb09abb5eb0.mp4
So yeah, like you said, we don't have to modify/fork the lib and we can keep getting those updates :D !
But seriously thank you again, you're a life saver!

Thank you, as long as it's not broken you have my permission for sure!

Hey just a quick update for the snippet, added a expiry argument for the cookies setter, so it can be synced up with with token lifespans:
// Helper used by handler
const initCookieHelper = () => {
  const set = (
    name: string,
    value: any,
    expiry: number | string = 10
  ) => {
    document.cookie =
      name + '=' + value + ';' + 'max-age=' + expiry + ';' + 'path=/';
  };

  const get = (name: string) => {
    const nameEQ = name + '=';
    const ca = document.cookie.split(';');

    for (let i = 0; i < ca.length; i++) {
      let c = ca[i];
      while (c.charAt(0) == ' ') c = c.substring(1, c.length);
      if (c.indexOf(nameEQ) == 0) {
        return c.substring(nameEQ.length, c.length);
      }
    }
    return null;
  };

  const erase = (name: string) => {
    document.cookie =
      name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
  };
  return { set, erase, get };
};

// The CookieHandler Initializer
const initCookieHandler = (
  tokenKey: string,
  identifier: string = 'test'
) => {
  const cookieHelper = initCookieHelper();

  const tokenPaths = [
    `${identifier}.accessToken`,
    `${identifier}.idToken`,
    `${identifier}.refreshToken`,
    `${identifier}.rest`,
  ];

  const clearSplitCookies = () => {
    tokenPaths.forEach((tp) => cookieHelper.erase(tp));
  };

  const setSplitCookies = (tokens: { [key: string]: any }) => {
    const {
      accessToken,
      idToken,
      refreshToken,
      accessTokenPayload,
      expiresIn,
      expiresAt,
      idTokenPayload,
      issuedAt,
      tokenType,
      scope,
    }: {
      [key: string]: string | number | any;
    } = { ...tokens };
    cookieHelper.erase(identifier);
    cookieHelper.set(
      `${identifier}.accessToken`,
      accessToken,
      expiresIn
    );
    cookieHelper.set(`${identifier}.idToken`, idToken, expiresIn);
    cookieHelper.set(
      `${identifier}.refreshToken`,
      refreshToken,
      3600 // PLEASE SET THIS TO REFRESH TOKEN LIFE SPAN
    );
    cookieHelper.set(
      `${identifier}.rest`,
      JSON.stringify({
        accessTokenPayload,
        expiresIn,
        expiresAt,
        idTokenPayload,
        issuedAt,
        tokenType,
        scope,
      }),
      expiresIn
    );
  };

  const get = (_target: any, key: string) => {
    if (key !== tokenKey) return cookieHelper.get(key);

    const tokenCookies = tokenPaths
      .map((tp) => cookieHelper.get(tp))
      .filter(Boolean); // strips falsey matches

    // if pieces are missing clear em all
    if (tokenCookies.length < 4) {
      clearSplitCookies();
    } else {
      return JSON.stringify({
        tokens: {
          accessToken: cookieHelper.get(tokenPaths[0]),
          idToken: cookieHelper.get(tokenPaths[1]),
          refreshToken: cookieHelper.get(tokenPaths[2]),
          ...JSON.parse(cookieHelper.get(`${identifier}.rest`)!),
        },
      });
    }

    return cookieHelper.get(identifier);
  };

  const set = (_obj: any, prop: string, value: string) => {
    if (prop !== tokenKey) {
      cookieHelper.set(prop, value);
      return true;
    }

    const tokens = JSON.parse(value).tokens;

    if (!tokens) {
      clearSplitCookies();
      cookieHelper.set(identifier, value);
      return true;
    }

    const keys = Object.keys(tokens);
    if (
      keys.includes('accessToken') &&
      keys.includes('accessTokenPayload')
    ) {
      setSplitCookies(tokens);
      return true;
    }

    clearSplitCookies();
    cookieHelper.set(identifier, value);
    return true;
  };

  return {
    set,
    get,
  };
};

// exporting the Proxy Object/CookieStore
export const cookieStore = (tokenKey: string, identifier: string) =>
  new Proxy({}, initCookieHandler(tokenKey, identifier));

authors: guillaume-chervet kainanftf

repo: AxaGuilDEv/react-oidc


text:
The Tabs component can't accept only one Tab children

Issue and Steps to Reproduce
The Tabs component can't accept only one Tab.
https://axaguildev.github.io/design-system/molecules/tabs/
Expected
In some case, it's necessary for a the Tabs component (the one who contains the tabs) to accept only one tab in children. For example when the tabs are dynamically generated.
Actual
For the moment, you have an error when you try to pass only one tab because the map is impossible.

I don't understand use case with only one tab ?

Est ce que tu es sur qu'en terme d'UX une seule Tab est possible ? @djaumes @johnmeunier

C'est pas génial en effet,
tout dépend si le titre du tab apporte du sens ou non dans le contexte de la page.
Si ça apporte du sens au contenu on peut le garder,
Si ça n'apporte rien c'est inutile de le garder.

Pour moi s'il y a qu'une seule tab c'est un titre (car tabs = section).

J'ai un cas concret dans un projet où une activité pour être sur différents marché, mais également sur un seul. Cette notion est évidemment dynamique. J'ai un tab pour choisir le marché des données que je suis en train de configurer :

Par contre si mon activité est sur un seul marché :

Deux raisons ici de laisser un tab. Facilité de développement évidemment et surtout cohérence UX. La page aurait eu une apparence très différente entre les activités mixe et mono marché car le composant tab impose un certain style (fond blanc, gros bouton bleu, etc). Le fait d'afficher un seul tab n'a jamais été remonté lors des tests comme quelque chose de mauvais.
Une autre solution possible aurait été de toujours afficher les deux mais de mettre en grisé celui qui ne peut être actif mais on aurait affiché une info totalement inutile dans notre cas.

D'un point de vue accessibilité et logique (un tab = une section titre et P), Arnaud a raison. D'un point de vue l'exemple, le tab fait vraiment sens... Si on arrive à faire un joli titre dans le bloc blanc, ça me va aussi :) Pose la question sur le channel UX/Dev!

Est-ce que ca serait pas l'occasion de challenger le design des tabs pour faire quelque chose de moins tranchant, plus épuré ? Je pense notamment à ce fond bleu, cette bordure, ces gros boutons bleus, etc

@johnmeunier Très bonne idée. Je te propose qu'on prenne le sujet en point hebdo design system, qu'on évoque les problématiques et solutions envisageables sur le réfacto.

authors: arnaudforaison djaumes johnmeunier

repo: AxaGuilDEv/react-toolkit


text:
Add toggle ignoreCache to usage

User story
Add the toggle -ignoreCache to the usage and a hint to use it when nothing is returned.

The ignoreCache toggle will be part of release 1.3.0

repo: Axway-API-Management-Plus/apim-cli


text:
[b10] crash when using the grappler

it doesn't happen 100% of the time when you fire it but if you play around with it a little it produces this crash
https://gist.github.com/lag42/b4b8e4d009e391370b5b3338231330de

Please let me know if this problem persists in B11 onwards. I couldn't duplicate it on my side, but I put in some checks that will hopefully prevent it.

repo: Azanor/thaumcraft-beta


text:
Completely updated de_de.lang

I think I got everything translated.
If something is wrong, just notify me.
Legondas

This also opens up the good old can of worms again of whether or not to translate "taint", since in this version it's sometimes translated and sometimes not.

Thanks for your review. I think I need a lot more practice.

This also opens up the good old can of worms again of whether or not to translate "taint", since in this version it's sometimes translated and sometimes not.

I was unsure. I think in the previous translation it was sometimes changed.

Exactly, and let's not touch that for now.

authors: Legondas Vexatos


text:
Fel Horde Quest Refactor

[ ] #676
[ ] starting quests changed to only controlling outland again
[ ] Removal of extra gold mines in Outland
[ ] removal of Quests related to Draenei
[x] Start in Killsorrow
[x] Black Temple is now an Illidari base

preplacedUnitSystem.GetUnit(Constants.UNIT_N081_UNFOCUSED_DEMON_GATE_T0, new Point(-506.6f, -24855.8f))));
This gate needs to be assigned again

repo: AzerothWarsLR/WarcraftLegacies


text:
noir.nargoPath to not have user name in path (VSCode Ext 0.0.11)

The noir.nargoPath is configured with the full home path (instead of say ~/.aztec/bin/...), so when shared between users can be problematic.
.vscode/settings.json file is not git ignored. For a user setting, consider: ~/.config/Code/User/settings.json

CC: @TomAFrench

repo: AztecProtocol/aztec-packages


text:
feat: do not allow slot 0 in noir-libs

Fixes #1692
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

@sirasistant are we able to pass an error message to assert() yet? (Just curious)

Currently working on it! it was a bit blocked by the dynamic backends work in the ACVM

authors: benesjan iAmMichaelConnor sirasistant


text:
Public kernel cbind errors

Description

Capture public kernel circuit failures and bubble up in TS (commit 1)
Fix mocks in circuits.js (commit 2)
Fix tests in sequencer, circuits! (commit 2)
PS: Ignore test.cpp -> just linting changes

Checklist:

[x] I have reviewed my diff in github, line by line.
[x] Every change is related to the PR description.
[x] I have linked this pull request to the issue(s) that it resolves.
[ ] There are no unexpected formatting changes, superfluous debug logs, or commented-out code.
[x] The branch has been merged or rebased against the head of its merge target.
[x] I'm happy for the PR to be merged at the reviewer's next convenience.

Ah merging is blocked until @PhilWindle approves


text:
chore: format

Please read contributing guidelines and remove this line.

Benchmark results
Metrics with a significant change:

tx_sequencer_processing_time_ms (5): 1,326 (-36%)
note_successful_decrypting_time_in_ms (8): 242 (-17%)
note_trial_decrypting_time_in_ms (32): 97.7 (+207%)
note_trial_decrypting_time_in_ms (64): 91.6 (+162%)

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,796
6,784
6,796

l1_rollup_execution_gas
587,277
587,265
587,277

l2_block_processing_time_in_ms
1,411 (-2%)
5,132 (-3%)
10,334 (-3%)

note_successful_decrypting_time_in_ms
:warning: 242 (-17%)
588 (+12%)
976 (-12%)

note_trial_decrypting_time_in_ms
45.4 (-52%)
:warning: 97.7 (+207%)
:warning: 91.6 (+162%)

l2_block_building_time_in_ms
10,911
38,961
78,165

l2_block_rollup_simulation_time_in_ms
10,712
38,276
76,830

l2_block_public_tx_process_time_in_ms
5,318
20,826
41,495 (-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
15,167
29,105

note_history_successful_decrypting_time_in_ms
1,238 (+4%)
2,261 (-3%)

note_history_trial_decrypting_time_in_ms
59.0 (+18%)
125 (+25%)

node_database_size_in_bytes
18,722,896
35,070,032

pxe_database_size_in_bytes
29,859
59,414

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
151
44,561
26,424

private-kernel-inner
155 (+1%)
72,188
26,424

private-kernel-ordering
108
51,090
39,297

base-parity
3,910 (-1%)
128
311

root-parity
1,070 (-3%)
1,244
311

base-rollup
13,548
110,820
957

root-rollup
49.4
4,551
821

public-kernel-app-logic
81.8 (-1%)
48,151
40,933

public-kernel-tail
120 (-1%)
53,644
7,385

merge-rollup
10.9 (-1%)
2,760
957

public-kernel-teardown
76.8 (-25%)
48,151
40,933

public-kernel-setup
76.4 (-26%)
48,151
40,933

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.5 (-2%)
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.8
31.6
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.642
0.543 (-2%)
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
50.7 (-1%)
80.3
258 (-1%)
494 (-2%)
974
1,980 (+1%)
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
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.520 (-1%)
0.496
0.471
0.462 (-2%)
0.464
0.475 (+1%)
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
59.4 (-1%)
119
372 (-1%)
729 (-1%)
1,450
2,909
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
105
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.527 (-1%)
0.538
0.508
0.502 (-1%)
0.504
0.508
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.6 (-1%)

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
109

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.583 (-1%)

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
41,005
528,889

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
905
1,161
1,377

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,156 (+1%)
780 (-1%)
3,353 (-3%)

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
453 (-1%)
301 (-1%)
800 (-2%)
391 (-2%)
:warning: 1,326 (-36%)
453 (-2%)

authors: AztecBot IlyasRidhuan


text:
refactor: initializer nullifier read in the kernel

Fixes #7845
This was such an easy PR to pull of 🤣 Standing on the shoulders of giants 🧙♀

#7876  👈
master

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

Join @benesjan and the rest of your teammates on  Graphite

Benchmark results
Metrics with a significant change:

proof_construction_time_sha256_100_ms (16): 6,970 (+22%)
app_circuit_witness_generation_time_in_ms (FPC:fee_entrypoint_public): 21.5 (-35%)
protocol_circuit_simulation_time_in_ms (private-kernel-tail-to-public): 2,280 (-21%)
avm_simulation_time_ms (Token:transfer_public): 90.3 (+201%)
avm_simulation_time_ms (Token:_increase_public_balance): 55.6 (+332%)
protocol_circuit_proving_time_in_ms (base-parity): 1,138 (-36%)

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.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,817 (+2%)
1,566 (+2%)
708
756 (+2%)
768 (-1%)

proof_construction_time_sha256_30_ms
11,992 (+2%)
3,211 (+2%)
1,434 (+1%)
1,445 (+1%)
1,480 (+1%)

proof_construction_time_sha256_100_ms
44,311 (+1%)
12,564
:warning: 6,970 (+22%)
5,605 (+1%)
5,564 (+1%)

proof_construction_time_poseidon_hash_ms
79.0 (+1%)
34.0
34.0
58.0 (-2%)
88.0

proof_construction_time_poseidon_hash_30_ms
1,534 (+1%)
421 (+1%)
200
222 (-4%)
271 (+2%)

proof_construction_time_poseidon_hash_100_ms
5,686 (+1%)
1,536 (+1%)
677
735 (+1%)
752 (-1%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
4,324
7,844
14,852

l1_rollup_calldata_gas
49,564
92,420
177,572

l1_rollup_execution_gas
1,292,083
2,039,907
3,867,098

l2_block_processing_time_in_ms
248 (-2%)
440
819 (+4%)

l2_block_building_time_in_ms
9,543
18,732 (-1%)
37,307 (+1%)

l2_block_rollup_simulation_time_in_ms
9,542
18,732 (-1%)
37,306 (+1%)

l2_block_public_tx_process_time_in_ms
7,943
16,923 (-1%)
35,338 (+1%)

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

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
2,912 (+1%)
3,879 (+1%)

node_database_size_in_bytes
12,767,312
16,916,560

pxe_database_size_in_bytes
16,254
26,813

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

Circuit
simulation_time_in_ms
witness_generation_time_in_ms
input_size_in_bytes
output_size_in_bytes
proving_time_in_ms
proof_size_in_bytes
num_public_inputs
size_in_gates

private-kernel-init
96.6 (-4%)
389 (-9%)
21,846
44,858
N/A
N/A
N/A
N/A

private-kernel-inner
175 (+4%)
697 (-7%)
72,545
45,005
N/A
N/A
N/A
N/A

private-kernel-tail
662 (-1%)
745 (-6%)
52,710
52,256
N/A
N/A
N/A
N/A

base-parity
5.99
620 (+4%)
160
96.0
:warning: 1,138 (-36%)
13,188
19.0
65,536

root-parity
110 (+3%)
134 (+3%)
69,084
96.0
32,251 (+5%)
13,188
19.0
4,194,304

base-rollup
2,961 (-1%)
5,716
187,824
664
99,538 (+2%)
14,020
45.0
16,777,216

root-rollup
96.5
120 (-2%)
54,525
716
28,541 (+2%)
13,988
44.0
4,194,304

public-kernel-setup
90.8
2,839
104,025
71,222
18,172
129,220
3,645
2,097,152

public-kernel-app-logic
105 (-1%)
4,097 (+1%)
104,025
71,222
10,479 (+2%)
129,220
3,645
1,048,576

public-kernel-tail
572
30,872 (-1%)
409,190
16,414
110,150 (+2%)
34,308
679
16,777,216

private-kernel-reset-tiny
193 (+5%)
830 (-10%)
68,621
44,750
N/A
N/A
N/A
N/A

private-kernel-tail-to-public
:warning: 2,280 (-21%)
1,515 (-6%)
931,564
1,697
N/A
N/A
N/A
N/A

public-kernel-teardown
85.9
4,100 (-2%)
104,025
71,222
19,155 (-1%)
129,220
3,645
2,097,152

merge-rollup
59.4 (-1%)
N/A
35,742
664
N/A
N/A
N/A
N/A

undefined
N/A
N/A
N/A
N/A
69,062 (+1%)
N/A
N/A
N/A

Stats on running time collected for app circuits

Function
input_size_in_bytes
output_size_in_bytes
witness_generation_time_in_ms
proof_size_in_bytes
proving_time_in_ms

ContractClassRegisterer:register
1,344
11,731
340
N/A
N/A

ContractInstanceDeployer:deploy
1,408
11,731
18.0
N/A
N/A

MultiCallEntrypoint:entrypoint
1,920
11,731
473
N/A
N/A

FeeJuice:deploy
1,376
11,731
387 (-1%)
N/A
N/A

SchnorrAccount:constructor
1,312
11,731
175 (-1%)
N/A
N/A

SchnorrAccount:entrypoint
2,304
11,731
533
N/A
N/A

Token:privately_mint_private_note
1,280
11,731
215 (-2%)
N/A
N/A

FPC:fee_entrypoint_public
1,344
11,731
:warning: 21.5 (-35%)
N/A
N/A

Token:transfer
1,312
11,731
438
N/A
N/A

AuthRegistry:set_authorized (avm)
18,491
N/A
N/A
147,296
2,523 (+1%)

FPC:prepare_fee (avm)
22,958
N/A
N/A
147,360
3,305 (+3%)

Token:transfer_public (avm)
61,614
N/A
N/A
147,360
18,350 (-5%)

AuthRegistry:consume (avm)
41,719
N/A
N/A
147,328
7,875 (+4%)

FPC:pay_refund (avm)
26,227
N/A
N/A
147,328
7,626 (+2%)

Benchmarking:create_note
1,344
11,731
169
N/A
N/A

SchnorrAccount:verify_private_authwit
1,280
11,731
27.4 (-1%)
N/A
N/A

Token:unshield
1,376
11,731
660 (-2%)
N/A
N/A

FPC:fee_entrypoint_private
1,376
11,731
885 (+2%)
N/A
N/A

AVM Simulation
Time to simulate various public functions in the AVM.

Function
time_ms
bytecode_size_in_bytes

FeeJuice:_increase_public_balance
92.8 (-1%)
8,139

FeeJuice:set_portal
9.88 (-1%)
2,362

Token:constructor
127 (+2%)
31,107

FPC:constructor
94.1
22,380

FeeJuice:mint_public
77.4 (-1%)
6,150

Token:mint_public
92.8 (-1%)
11,720

Token:assert_minter_and_mint
79.5 (+2%)
8,028

AuthRegistry:set_authorized
7.26 (-26%)
4,537

FPC:prepare_fee
290 (+1%)
8,812

Token:transfer_public
:warning: 90.3 (+201%)
47,374

FPC:pay_refund
73.6 (+16%)
12,114

Benchmarking:increment_balance
1,012 (-1%)
7,450

Token:_increase_public_balance
:warning: 55.6 (+332%)
8,960

FPC:pay_refund_with_shielded_rebate
152 (+12%)
12,663

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.159 (-2%)

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
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
2.12
3.81
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.110 (+1%)
0.108
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
11.4 (+3%)
18.3 (+5%)
31.3 (+3%)
58.5
116 (+5%)

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.110 (+2%)
0.107 (+5%)
0.102 (+4%)
0.101
0.104 (+4%)

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
14.1 (-1%)
25.6 (+3%)
44.5 (+4%)
81.3 (-1%)
166 (+5%)

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.107 (-1%)
0.104 (+3%)
0.105 (+1%)
0.101 (-1%)
0.105 (+4%)

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
16.2 (+1%)
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
132
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.104 (+1%)
N/A
N/A
N/A
N/A

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
64,756
668,997

Transaction size based on fee payment method
| Metric |  |
| - |  |

authors: AztecBot benesjan


text:
fix: build sys

Description
Force base to rebuild when circuits changes in order to get the new wasm
Checklist:

[ ] I have reviewed my diff in github, line by line.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to the issue(s) that it resolves.
[ ] There are no unexpected formatting changes, superfluous debug logs, or commented-out code.
[ ] The branch has been merged or rebased against the head of its merge target.
[ ] I'm happy for the PR to be merged at the reviewer's next convenience.

superseded by https://github.com/AztecProtocol/aztec3-packages/pull/197


text:
Fixed Code

updaed project to use TokenValidationParameters.ValidAudience instead of
Audience

Thanks. The code is taken into account.

authors: jmprieur kunalbabre


text:
Azd 0.5.0 beta1

Purpose
This PR contains the changes necessary to be compliant with version 0.5.0-beta.1 of the Azure Developer CLI.
This especially comprises the changes in the CI/CD specific area due to the change in the login procedure but also further updates and enhancements of the templates
Does this introduce a breaking change?
[X] Yes
[ ] No

Pull Request Type
What kind of change does this Pull Request introduce?
[ ] Bugfix
[] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[X] Other... Please describe: Fixes for azd compatibility

How to Test

Get the code from the PR

Test the code:

azd provision (check infrastructure setup)
azd deploy (deployment of application)
azd up (Provide infrastructure and app in one run)
azd pipeline config- configuration of pipeline

What to Check
All operations from above should work successfully.
Other Information
azd login does not work for me, see issue https://github.com/Azure/azure-dev/issues/1366. Not relevant for the code changes, but to be kept in mind when testing the changes.

Added compatibility information to version 0.5.0-beta2 of azd which contains the bug fix for logging into personal Azure accounts via azd


text:
Improvements to load balancer setup script

Purpose
I had the chance to try out the aca-lb last night and ran into some issues with the script. However, I think it's easier to grab the URL from the outputs, so I'm curious if we need this script.
Does this introduce a breaking change?

[ ] Yes
[X] No

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

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

How to Test

Run the script after filling in vars

The purpose of the script is to reduce the manual steps a customer has to do to set up the chat bot to use the ACA load balancer. The FQDN is one part but the env set is the other part. Every manual step in docs is an opportunity for the customer to not be able to complete it. I would like to keep the script in the repo.

Since I'm working on the APIM doc now, should this script be generalized to handle either LB, or should there be a separate script for APIM @pamelafox ?

@diberry For APIM, would the arguments be the same?
I'm okay with keeping the script, I just felt like I was doing a fair amount of work just to set an env variable. (Looking up the resource group and container apps name). I also had to download azure CLI, connect it to the right subscription, etc. So my thought was that it might be just as much work / just as much that could go wrong with the aca-lb repo outputting the URI.

authors: diberry pamelafox

repo: Azure-Samples/azure-search-openai-demo


text:
BuildInfo members not containing values

Please provide us with the following information:

This issue is for a: (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce
trying to read ServerStatus->BuildInfo with a OPC-UA Foundation sample client I can read BuildInfo string but if I try to read the single members I get null values
I'm on Windows 10 Build 19044  source code compiled with VisualStudio 2022 Community 17.5.4
Mention any other details that might be useful
I've tried the console reference server from OPC Foundation with the same client and it works fine

@fabolo this is what we see when we try:

Are you using the latest reference client and OPC-PLC server?

Apparently there was indeed an issue with BuildInfo that was fixed in the OPC UA SDK *.86. Please ensure that you are using OPC-PLC >= v2.8.4.

downloaded 2.8.5 it works! With previous version, I was just starting to test my client, and I went: "what can I try to read? Let's try BuildInfo" :) Murphy's Law ruling the world...

see https://github.com/OPCFoundation/UA-.NETStandard/issues/2027

authors: fabolo luiscantero mregen

repo: Azure-Samples/iot-edge-opc-plc


text:
[synapse deploy] Invalid return character or leading space in header during deployment

Description
Looks like there is an error when deploying deploy.sh
\e2e_samples\parking_sensors_synapse\scripts\deploy_synapse_artifacts.sh
(Pretty sure line 72)
Expected Behavior
Successful Deployment
Reproduce
run bash deploy.sh
Additional Context
Uploading Library Wheel Package to Workspace: ddo_transform-localdev-py2.py3-none-any.whl
ERROR: The command failed with an unexpected error. Here is the traceback:
ERROR: Invalid return character or leading space in header: Authorization
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/util/custom.py", line 19, in rest_call
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 922, in send_raw_request
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/sessions.py", line 456, in prepare_request
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/models.py", line 317, in prepare
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/models.py", line 451, in prepare_headers
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/utils.py", line 978, in check_header_validity
requests.exceptions.InvalidHeader: Invalid return character or leading space in header: Authorization
To open an issue, please run: 'az feedback'
The command failed with an unexpected error. Here is the traceback:
Invalid return character or leading space in header: Authorization
Traceback (most recent call last):
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\knack/cli.py", line 231, in invoke
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 658, in execute
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 721, in _run_jobs_serially
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 692, in _run_job
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/__init__.py", line 328, in __call__
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/commands/command_operation.py", line 121, in handler
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/command_modules/util/custom.py", line 19, in rest_call
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\azure/cli/core/util.py", line 922, in send_raw_request
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/sessions.py", line 456, in prepare_request
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/models.py", line 317, in prepare
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/models.py", line 451, in prepare_headers
  File "D:\a\1\s\build_scripts\windows\artifacts\cli\Lib\site-packages\requests/utils.py", line 978, in check_header_validity
requests.exceptions.InvalidHeader: Invalid return character or leading space in header: Authorization
To open an issue, please run: 'az feedback'

Azure CLI
azure-cli                         2.32.0

core                              2.32.0
telemetry                          1.0.6

Extensions:
application-insights              0.1.14
azure-devops                      0.22.0

Dependencies:
msal                              1.16.0
azure-mgmt-resource               20.0.0

Python location 'C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\python.exe'
Extensions directory 'C:\Users\mike.leuer\.azure\cliextensions'

Python (Windows) 3.8.9 (tags/v3.8.9:a743f81, Apr  6 2021, 13:22:56) [MSC v.1928 32 bit (Intel)]

Legal docs and information: aka.ms/AzureCliLegal

Your CLI is up-to-date.

Please let us know how we are doing: https://aka.ms/azureclihats
and let us know if you're interested in trying out our newest features: https://aka.ms/CLIUXstudy

@mikeleuer Did you try using the devcontainer?

I was able to fix it

authors: devlace mikeleuer


text:
Update readme to explain the tls feature support status now for enterprise tier

Purpose

...

Does this introduce a breaking change?

[ ] Yes
[ ] No

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

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

How to Test

Get the code

git clone [repo-address]
cd [repo-name]
git checkout [branch-name]
npm install

Test the code

What to Check
Verify that the following are valid

...

Other Information

@selvasingh would you please take a look?


text:
make managed grafana name configurable

What this PR does
the name for managed grafana needs to be unique, so making it configurable allows us to adapt in different environments. for personal dev environments our defaults ensure uniqueness
NameNotUnique - The Grafana Workspace name 'aro-hcp-grafana' is already being used. Please choose another name.

Jira:
Link to demo recording:
Special notes for your reviewer

close in favor of #460 460

repo: Azure/ARO-HCP


text:
use checkAccessv2 for all permission validations and deprecate listPermissions for validations

Which issue this PR addresses:
https://issues.redhat.com/browse/ARO-6756
What this PR does / why we need it:
Since CheckAccessV2 is now supported in all the environments, the dependency on the permissions client to request ARM for allowed permissions on a service principal can be deprecated. Slack Ref:- https://redhat-external.slack.com/archives/C03F6AA3HDH/p1712252632744119?thread_ts=1707941750.696919&cid=C03F6AA3HDH
This will set a base for upcoming Managed Identity/Workload Identity feature where validation will be required on the managed identity using FPSP and Object IDs of Managed Identities.
Test plan for issue:
-> Updated Unit Tests with dependencies only on CheckAccessV2
-> Create a Cluster in dev - Required changes in the Dev FPSP Custom Role.
-> e2e passed successfully

Is there any documentation that needs to be updated for this PR?
Document already exists for CheckAccessV2 in ADO:- https://msazure.visualstudio.com/AzureRedHatOpenShift/_wiki/wikis/AzureRedHatOpenShift.wiki/409184/CheckAccess-API-migration
The document will be updated with the getAccess marked as deprecated once the changes are merged and available in production.

How do you know this will function as expected in production?
Currently, the production already relies on CheckAccessV2, so no functionality change from that point of view.

/azp run e2e

/azp run e2e

/azp run e2e

/azp run ci

repo: Azure/ARO-RP


text:
Bug fix - Add nil pointer check for LoadBalancerProfile in cluster metrics

Which issue this PR addresses:
ARO-9146

Fixes
What this PR does / why we need it:
If the doc.OpenShiftCluster.Properties.NetworkProfile.LoadBalancerProfile  is nil, checking for a nil doc.OpenShiftCluster.Properties.NetworkProfile.LoadBalancerProfile.ManagedOutboundIPs will cause a panic.
Relevant line from stack trace:
(*openShiftClusterBackend).gatherNetworkMetrics(0xc000a0cff0, 0x5c35fa0?, 0xc00109c600, 0x6?)\n\t/app/pkg/backend/metrics.go:221 +0x930\ngithub.com/Azure/ARO-RP/pkg/backend.

Checking for doc.OpenShiftCluster.Properties.NetworkProfile.LoadBalancerProfile first will stop a nil doc.OpenShiftCluster.Properties.NetworkProfile.LoadBalancerProfile.ManagedOutboundIPs from being de referenced.

Test plan for issue:
Covered by unit tests.
Will also create a UDR cluster with this document: https://github.com/Azure/ARO-RP/blob/master/docs/deploy-development-rp.md#run-the-rp-and-create-a-cluster

Is there any documentation that needs to be updated for this PR?
No.

How do you know this will function as expected in production?
Unit tests added pass a nil LoadBalancerProfile on this branch, while causing a panic on master.

/azp run ci,e2e

/azp run e2e

authors: cadenmarchese s-fairchild sankur-codes


text:
fix: configure subscription in e2e LB backend address pool ID

What type of PR is this?
/kind bug
What this PR does / why we need it:
The e2e-local.sh script has a SUBSCRIPTION_ID parameter, but if you change it from the default then the VMSS update fails with an error about the LB backend address pool using the wrong subscription.
Fix it by replacing the hard-coded subscription ID with opts.suiteConfig.subscription.
Requirements:

[x] uses conventional commit messages
[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

Pull Request Test Coverage Report for Build 5720148086

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall First build on widaly/subscription-param-in-lb-backend-addr-pool at 60.655%

Totals

Change from base Build 5719026529:
60.7%

Covered Lines:
2576

Relevant Lines:
4247

💛  - Coveralls

authors: coveralls wedaly

repo: Azure/AgentBaker


text:
AzOps Rewrite

Full Rewrite / Refactor of the module

Recreated PR without conflicts

Recreated PR without conflicts

repo: Azure/AzOps


text:
fixes query for VMSS Flex recommendation

Overview/Summary
The existing query checked for VMs in a VMSS and did not check for VMSS in uniform orchestration mode.

Related Issues/Work Items
AB#32794
This PR fixes/adds/changes/removes

fixes the Resource Graph query

Breaking Changes

none

As part of this pull request I have

[x] Read the Contribution Guide and ensured this PR is compliant with the guide
[x] Checked for duplicate Pull Requests
[x] Associated it with relevant GitHub Issues or ADO Work Items (Internal Only)
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Ensured PR tests are passing
[x] Performed testing and provided evidence (e.g. screenshot of output) for any changes associated to ARG queries
[ ] Updated relevant and associated documentation (e.g. Contribution Guide, Docs etc.)

The recommendation is to migrate VMs in Availability Sets to VMSS. The existing query identifies VMs in Availability Sets. I don't see an issue with the existing query and I don't think this new query is aligned with the recommendation.

Hey @ejhenry you are right. I misunderstood something here. Closing this as the existing query does what it should do.


text:
Data Connector Exchange Security Insights On-Premise Collector

Describe the bug
The data connector "Exchange Security Insights On-Premise Collector" is not collecting any data after installing the collection script, adding the permissions, and setting up a schedule.
To Reproduce
Steps to reproduce the behavior:

Go to the data connector page in Sentinel and follow all of the steps.
Install the collection script as instructed.
Ensure the account has the correct permissions and setup the schedule.

Schedule is setup

Script runs successfully

Account has correct permissions:

Exchange Configuration Function has errors:

Exchange Environment List has errors:

Expected behavior
I expect to see the logs arrive in Azure Sentinel when I search the table name ESIExchangeConfig_CL

Hi @NickNicolaou2129, Thanks for flagging this issue, we will investigate this issue and get back to you with some updates by 12-02-2024. Thanks!

Hi @NickNicolaou2129, Could you please share mail address with us So if required, we connect with you via call and check on issue. Thanks!

Email sent to you

@NickNicolaou2129, Thanks!

Hi @NickNicolaou2129 ,Scheduled call with you on 14Feb24,please join the meeting for further trouble shooting.

Hi @NickNicolaou2129 ,As discussed on friday,need more details with logs,could you please share it,if needed we can have a call over  teams with Exchanges server team

Hi @v-muuppugund, I sent this to your email last Friday. I will send it again

Hi @NickNicolaou2129 ,The logs shared earlier are the table logs and yesterday in teams call shared the server logs and have trouble shooting session today with server team.

HI @NickNicolaou2129 ,as discussed on last call,scripts and shared the logs ,scripts are executing 5n now,please let me know if any issues.

Hi @NickNicolaou2129, Could you please check on the above comment and let us know if your issue get resolve. Thanks!

Resolved

repo: Azure/Azure-Sentinel


text:
Noname api security for azure sentinel

Change(s):

Created Package with CreateUiDefinition.json and MainTemplate.json

Reason for Change(s):

Created Package with CreateUiDefinition.json and MainTemplate.json

Version updated:

Yes

Testing Completed:

Yes

Checked that the validations are passing and have addressed any issues that are present:

Yes

@nniryanb Kindly create the package using the V2 package creation tool according to the process mentioned here - https://github.com/Azure/Azure-Sentinel/blob/master/Tools/Create-Azure-Sentinel-Solution/V2/README.md. Thanks!

Please advise why these files are causing this error when using the Sentinel tool
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:245 char:95

...           text =  $contentToImport.WorkbookBladeDescription ? $conten ...

                                                            ~

Unexpected token '?' in expression or statement.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:245 char:94

...             text =  $contentToImport.WorkbookBladeDescription ? $cont ...

                                                             ~

The hash literal was incomplete.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:246 char:41

                                    }

                                    ~

Missing closing ')' in subexpression.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:218 char:62

                if ($objectKeyLowercase -eq "workbooks") {

                                                         ~

Missing closing '}' in statement block or type definition.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:215 char:33

            if ($validJson) {

                            ~

Missing closing '}' in statement block or type definition.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:178 char:56

        foreach ($file in $objectProperties.Value) {

                                                   ~

Missing closing '}' in statement block or type definition.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:177 char:57

    if ($objectProperties.Value -is [System.Array]) {

                                                    ~

Missing closing '}' in statement block or type definition.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:175 char:73

... foreach ($objectProperties in $contentToImport.PsObject.Properties) {

                                                                    ~

Missing closing '}' in statement block or type definition.
At C:\one\Azure-Sentinel\Tools\Create-Azure-Sentinel-Solution\V2\createSolutionV2.ps1:131 char:48

foreach ($inputFile in $(Get-ChildItem $path)) {

                                           ~

Missing closing '}' in statement block or type definition.
https://mail.google.com/mail/u/0?ui=2&ik=bcfa289953&attid=0.1&permmsgid=msg-a:r-7591833692388820479&th=185cd558f2c11b04&view=att&disp=safe&realattid=f_ld3zl5sq0
inputfiles.zip

@nniryanb, can you please check your input file, there must be a parameter of workbook description that we need to remove, thanks.

I sent you the input files
Please advise what is wrong with the json
On Wed, Jan 25, 2023 at 5:42 AM v-sabiraj @.***> wrote:

@nniryanb https://github.com/nniryanb, can you please check your input
file, there must be a parameter of workbook description that we need to
remove, thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/Azure-Sentinel/pull/6946#issuecomment-1403480823,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVQWCXLHFVXHXHWRWTQ6GTTWUEGUDANCNFSM6AAAAAATF4EKCU
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Best Regards
Ryan B
Technical Director, Strategic Solution Architectures
Ethical Noname API Security Expert

please advise on why the input files are causing a parsing error with the createSolutionV2.ps1 tool

@nniryanb We have created the package for the Noname Solution, please use this to upload in Partner Center as well as in this PR
2.0.0.zip

authors: nniryanb v-sabiraj v-vdixit


text:
Create User Session Impersonation(Okta).yaml

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

@praveenthepro - Closing this as it needs to be from a branch off master, not local master to github master branch.

authors: praveenthepro shainw


text:
Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals.

Check this module doesn't already exist in the module indexes

[X] I have checked for that this module doesn't already exist in the module indexes; or I'm proposing the module to be migrated from CARML/TFVM.

Bicep or Terraform?
Bicep
Module Classification?
Resource Module
Module Name
avm/res/network/application-gateway
Module Details
Module that deploys Azure Application Gateway resource
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username (handle)
ilhaan
(Optional) Secondary Module Owner's GitHub Username (handle)
No response

I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

Hi @ilhaan,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities!
We just want to ask you to double check a few important things and take the next steps before you start the development.
Please use the following values explicitly as provided in the module index page:

For your module:

ModuleName - to name your module
TelemetryIdPrefix - to be used in your module's telemetry

For your module's repository:

Repository name and folder path are defined in RepoURL
Create the GitHub teams defined in the ModuleOwnersGHTeam and ModuleContributorsGHTeam columns and grant them permissions as described here.

In case of a Bicep module, please let the AVM core team know when you created these teams, and we'll help you with assigning the necessary permissions as described here.
In case of a Terraform module, follow the instructions here and assign the necessary permissions.

Grant the right level of permissions for  the AVM core team and PG teams on your GitHub repo as described here.
You can now start the development of this module! ✅ Happy coding! 🎉
Please respond to this comment and request a review from the AVM core team once your module is ready to be published! Please include a link pointing to your PR if available. 🙏
Any further questions or clarifications needed, let us know!
Thanks,
The AVM Core Team

NOTE:

This Module Proposal issue MUST remain open until the module is fully developed, tested and published to the relevant registry. Do NOT close the issue before the successful publication is confirmed!
Once the module is fully developed, tested and published to the relevant registry, and the Module Proposal issue was closed, it MUST remain closed.

ilhaan,
Due to a recent change in the naming convention for AVM Bicep modules, this module is getting an updated name.
The title and description of this GH issue has been updated to reflect the name change. Please make sure you adhere to the new naming convention when publishing your module!
Please see the new naming convention in:

RMNFR1 for resource modules
PMNFR1 for pattern modules

Please note that the Telemetry ID and name of GitHub Teams haven't changed.
If you feel uncertain about any details, please check the Bicep modules indexes.

Thanks @matebarabas. GitHub Teams created:

https://github.com/orgs/Azure/teams/avm-res-network-applicationgateway-module-owners-bicep
https://github.com/orgs/Azure/teams/avm-res-network-applicationgateway-module-contributors-bicep

I've just requested the -owners- team to be added to the -technical-reviewers- team. Please approve.

@matebarabas approved

@ilhaan, I just would like to check back on this issue and ask how far do you think you are? Can you please share your expected timeline on publishing this module? Is there anything you need help with?
Thank you!
CC: @jeanchg

@matebarabas I should be able to send out an initial PR by the end of next week.

That's great news, thanks for the update!

Draft PR: https://github.com/Azure/bicep-registry-modules/pull/835

Still working on this

Still working on this

Still working on this. Draft PR here: https://github.com/Azure/bicep-registry-modules/pull/835

PR ready for review: https://github.com/Azure/bicep-registry-modules/pull/835

[x] Module published.
[x] GitHub teams are available and assigned to their parents.
[x] CODEOWNERS file updated.

Thank you for your work @ilhaan! I'm closing this issue now.

authors: ilhaan matebarabas

repo: Azure/Azure-Verified-Modules


text:
Azurite vs. Blob storage Range header inconsistency

Which service(blob, file, queue, table) does this issue concern?
blob
Which version of the Azurite was used?
3.18
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
In the Julia ecosystem, we have a system for packaging cross-platform "binary artifacts"; so the azurite_jll repo is a Julia package that provides a node runtime & azurite javascript files that can run on supported platforms.
What's the Node.js version?
16.15 (as provided here)
What problem was encountered?
When I make a signed request with the Range header like:
GET /devstoreaccount1/jl-azurite-23624/test6.csv HTTP/1.1
│ Range: bytes=0-8388607
│ Host: 127.0.0.1:41606
│ Accept: */*
│ User-Agent: HTTP.jl/1.8.0-rc3
│ Content-Length: 0
│ Accept-Encoding: gzip
│ x-ms-date: Wed, 14 Sep 2022 18:54:51 GMT
│ x-ms-version: 2020-04-08
│ Authorization: SharedKey devstoreaccount1:/2uZrhkeWUF+uyIURjrg7PKCTImDK+3J2kVEFy51QVA=

I get a successful 206 response back, like:
HTTP/1.1 206 Partial Content
│ Server: Azurite-Blob/3.18.0
│ last-modified: Wed, 14 Sep 2022 18:45:09 GMT
│ x-ms-creation-time: Wed, 14 Sep 2022 18:45:09 GMT
│ content-length: 0
│ content-type: application/octet-stream
│ content-range: bytes 0--1/0
│ etag: "0x23A7EC871C26440"
│ content-md5: 1B2M2Y8AsgTpgAmY7PhCfg==
│ x-ms-blob-type: BlockBlob
│ x-ms-lease-state: available
│ x-ms-lease-status: unlocked
│ x-ms-request-id: 8cb500af-903f-45a5-b9e7-636bc342cf50
│ x-ms-version: 2021-08-06
│ accept-ranges: bytes
│ date: Wed, 14 Sep 2022 18:54:51 GMT
│ x-ms-server-encrypted: true
│ x-ms-blob-content-md5: 1B2M2Y8AsgTpgAmY7PhCfg==
│ Connection: keep-alive
│ Keep-Alive: timeout=5

But issuing the same kind of "Range" request against actual blob storage results in a response like:
HTTP/1.1 416 Requested Range Not Satisfiable
│ Content-Length: 249
│ Content-Type: application/xml
│ Content-Range: bytes */0
│ Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
│ x-ms-request-id: xxxxxxx
│ x-ms-version: 2020-04-08
│ x-ms-error-code: InvalidRange
│ Date: Wed, 14 Sep 2022 18:56:17 GMT
│
│ <?xml version="1.0" encoding="utf-8"?><Error>InvalidRange<Message>The range specified is invalid for the current size of the resource.
│ RequestId:xxxxxxxx
│ Time:2022-09-14T18:56:18.1411730Z</Message></Error>"""

@quinnj
I can't repro this issue on real Azure server.
When I send following request to Azure server to a blob with only 512B length, server returns 206.
(I use "x-ms-range", per rest API doc, "Range" and "x-ms-range" should have same functionality in this API.)
There might be other reason caused your request fail on server.
Would you please share your failed request trace on server (especially the request ID), hide credential if any, then we might can help to look why it fails?
GET https://[accountName].blob.core.windows.net/sparkconnectortests1/test.txt HTTP/1.1
x-ms-range: bytes=0-8388607
x-ms-client-request-id: 1b2dff67-ab29-4cbe-a02c-5405f551f112
User-Agent: Azure-Storage/11.2.2 (.NET Core; Win32NT 10.0.19044.0)
x-ms-version: 2019-07-07
x-ms-date: Thu, 15 Sep 2022 08:19:25 GMT
Authorization: SharedKey [accountName]:***
Host: [accountName].blob.core.windows.net
Connection: Keep-Alive

HTTP/1.1 206 Partial Content
Content-Length: 512
Content-Type: application/octet-stream
Content-Range: bytes 0-511/512
Last-Modified: Thu, 15 Sep 2022 08:17:09 GMT
Accept-Ranges: bytes
ETag: "0x8DA96F2AF643FF6"
Server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: ab49821a-a01e-0084-45dc-c8a8c3000000
x-ms-client-request-id: 1b2dff67-ab29-4cbe-a02c-5405f551f112
x-ms-version: 2019-07-07
x-ms-meta-tag2: value22
x-ms-meta-tag1: value1
x-ms-creation-time: Thu, 15 Sep 2022 08:17:09 GMT
x-ms-blob-content-md5: xymujwc2zDd6l2emYOqgTg==
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
x-ms-server-encrypted: true
Date: Thu, 15 Sep 2022 08:20:30 GMT

***

Oof, so sorry. I totally forgot to add the most important detail. The discrepancy is only manifest on 0-byte objects. I.e. if I upload an empty object, then try to do a Range request on the empty object: azurite says that's ok and returns, but real azure blob storage returns 416.

@quinnj
I can repro this error with a 0 size blob.
We can fix this by check the blob properties ContentLength and return error then contentlenth is 0,  in https://github.com/Azure/Azurite/blob/aeba39deac9205abae2e3dc421147809fd39ff74/src/blob/handlers/BlobHandler.ts#L102.
Azurite welcome contribution!
It would be great if you can raise a PR to fix this issue.

authors: blueww quinnj

repo: Azure/Azurite


text:
Action name field loses focus after each keystroke

Describe the Bug with repro steps

Open a Logic App workflow (I'm working in a standard workflow)
Create or click on any action
Type into the action's name field
After each keystroke, the field loses the focus. It's necessary to type the name in a text editor and paste it in, but that is made difficult because the backspace nor delete key work in the field correctly.

What type of Logic App Is this happening in?
Standard (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos
No response
Browser
Chrome
Additional context
Tried reloading the Logic App (Standard) designer several times but the problem persists.

@rllyy97 can you take a look?

repo: Azure/LogicAppsUX


text:
Enable PostgreSQL Advanced Threat Protection

Rule request
Suggested rule change
Use Advanced Threat Protection for Azure Database for PostgreSQL server.
Applies to the following
The rule applies to the following:

Resource type: Microsoft.DBforPostgreSQL/servers

Additional context

Azure resource template
Advanced Threat Protection in Azure Database for PostgreSQL - Single Server

Similar to Azure.SQL.ThreatDetection

I'll take it.


text:
API Management sample products have been removed

Rule request
Suggested rule change
Check API Management default products have been removed.
A new API Management instance include starter and unlimited products. Accidentally adding APIs to these sample products may expose APIs more than intended.
Applies to the following
The rule applies to the following:

Resource type: Microsoft.ApiManagement/service

Additional context
Azure template reference

API Management sample products have been removed #344
I am currently seeing in API management - Sample products are available .
Would like to know ... Api Management Sample products are removed as  per the issue#344 ? So does it means "Sample products are available now right ? Could you please clarify on this.
Thanking you in advance !

API Management sample products have been removed https://github.com/Azure/PSRule.Rules.Azure/issues/344
I am currently seeing in API management - Sample products are available .
Would like to know ... Api Management Sample products are removed as per the issue#344 ? So does it means "Sample products SHOULD NOT  available now right ? Could you please clarify on this.
Thanking you in advance !

authors: BernieWhite rchithracse


text:
[Feature Request]: Align CognitiveServices CMK implementation once provider bug is fixed

Description
Once the compiler bug for CognitiveServices, submitted to the Bicep team, is fixed,we should align its CMK implementation (e.g., by using existing resources) as per issue #1484.

Note to self: Should be revisted as the PG stated they fixed the issue no their end and it should be resolved with the next release (which likely happened by now)

Re-Implemented and tested the logic & the provider issue still exists in the latest API Version. Will re-test with the next release.

repo: Azure/ResourceModules


text:
DCOS: validate integrity of downloaded packages

Validating the integrity of downloaded packages by comparing their checksums
Adding option to provision bootstrap public IP for debugging purposes

/appprove
/lgtm
pending E2E

authors: dmitsh jackfrancis

repo: Azure/acs-engine


text:
feat: Add nodeSelector to helm

Add nodeSelector to helm like most other helm charts do, it helps in hybrid cluster, schedule pods to linux nodes only, we can also add other constraints such as limit pods to specific node pool.
Fixes #79

Fixes: https://github.com/Azure/application-gateway-kubernetes-ingress/issues/79

authors: akshaysngupta zhiweiv


text:
Convert [Resource]Data to [Resource] in LRO

Description
Convert [Resource]Data to [Resource] in LRO, so we don't need to use PhArmOperation for it.
This PR should unblock resolving several comments in #1180
Checklist
To ensure a quick review and merge, please ensure:

[x] The PR has a understandable title and description explaining the why and what.
[ ] The PR is opened in draft if not ready for review yet.

If opened in draft, please allocate sufficient time (24 hours) after moving out of draft for review

[x] The branch is recent enough to not have merge conflicts upon creation.

Ready to Land?

[x] Build is completely green

Submissions with test failures require tracking issue and approval of a CODEOWNER

[x] At least one +1 review by a CODEOWNER
[ ] All -1 reviews are confirmed resolved by the reviewer

Override/Marking reviews stale must be discussed with CODEOWNERS first

After merging the resource container PR #1180 there are some stuff I need to catch up in this one, so I decided to also include some container improvements in this PR. They are:

5852 in [Resource]Container Start[Method] should return concrete LRO type
5850 Remove the need for the extra constructor in [Resource]Operations
5853 in [Resource]Container LRO should use waitforcompletionasync in async methods