Minor Grammar Correction in I2C Documentation

This pull request addresses a minor grammar issue in the I2C documentation. The phrase “in particularly” has been corrected to “particularly” to improve readability and accuracy. This change affects the doc/hardware/peripherals/i2c.rst file, with 3 additions and 4 deletions. The update ensures that the documentation is clear and professional.

Hello @rlneumiller, and thank you very much for your first pull request to the Zephyr project! Our Continuous Integration pipeline will execute a series of checks on your Pull Request commit messages and code, and you are expected to address any failures by updating the PR. Please take a look at our commit message guidelines to find out how to format your commit messages, and at our contribution workflow to understand how to update your Pull Request. If you haven't already, please make sure to review the project's Contributor Expectations and update (by amending and force-pushing the commits) your pull request if necessary. If you are stuck or need help please join us on Discord and ask your question there.

Change looks great, commits need fixing. One commit, no merge commits, needs a signoff etc. As @pdgendt noted take a look at the commit expectations. You can force push to this branch again and the PR will update with your changed commits.

do you mind doing a global search and replace in the tree? i3c has the same typo! Thanks :)

Will do.

Please check the compliant (linter) errors and fix those so CI goes green

Rather than continue to waste resources on this minor doc fix, I think it might be best that I close this pull request and try again once I've gotten the compliance checker configured and passing in my local repo.

Rather than waste any more resources due to my not heeding the pull request requirements, I'll try again once I have the repo setup properly, compliance checker configured and passing, etc. rather than working from a simple repo clone.


Flaky tests: It was not possible to find any compatible framework version

I've seen this failure couple times mostly in AppVeyor runs:
 It was not possible to find any compatible framework version [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
 The specified framework 'Microsoft.NETCore.App', version '2.2.0-preview1-26606-01' was not found. [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
   - Check application dependencies and target a framework version installed at: [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       C:\Program Files\dotnet\ [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
   - Installing .NET Core prerequisites might help resolve this problem: [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409 [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
   - The .NET Core framework and SDK can be installed from: [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       https://aka.ms/dotnet-download [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
   - The following versions are installed: [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       1.0.4 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       1.0.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       1.1.1 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       1.1.2 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       2.0.0 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       2.0.3 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       2.0.5 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       2.0.6 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       2.0.7 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]
       2.1.0 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] [C:\Users\appveyor\.dotnet\buildtools\korebuild\2.2.0-preview1-17081\KoreBuild.proj]

We had a similar issue fixed earlier: https://github.com/aspnet/IISIntegration/issues/875
https://ci.appveyor.com/project/aspnetci/iisintegration/build/1.0.1131

A bit more information from latest failure with new logs. Seems like where.exe is either not invoked or failed.
[aspnetcore.dll] Resolving hostfxr parameters for application: dotnet arguments: .\InProcessWebSite.dll path: C:\Users\appveyor\AppData\Local\Temp\1\4712c6cc-f801-4ec6-90fa-199c1caa790a\
[aspnetcore.dll] Process path C:\Users\appveyor\AppData\Local\Temp\1\4712c6cc-f801-4ec6-90fa-199c1caa790a\dotnet is dotnet, treating application as portable
[aspnetcore.dll] Resolving absolute path do dotnet.exe from C:\Users\appveyor\AppData\Local\Temp\1\4712c6cc-f801-4ec6-90fa-199c1caa790a\dotnet
[aspnetcore.dll] Found dotnet.exe in Program Files at C:\Program Files\dotnet\dotnet.exe
[aspnetcore.dll] Resolving absolute path do hostfxr.dll from C:\Program Files\dotnet\dotnet.exe
[aspnetcore.dll] hostfxr.dll located at C:\Program Files\dotnet\host\fxr\2.1.0\hostfxr.dll
[aspnetcore.dll] Resolving hostfxr_main arguments application: C:\Program Files\dotnet\dotnet.exe arguments: .\InProcessWebSite.dll path: C:\Users\appveyor\AppData\Local\Temp\1\4712c6cc-f801-4ec6-90fa-199c1caa790a\
[aspnetcore.dll] Argument[1] = C:\Users\appveyor\AppData\Local\Temp\1\4712c6cc-f801-4ec6-90fa-199c1caa790a\InProcessWebSite.dll

Turns out it's just a where.exe invocation timeout because appveyor is slow.


Unable to log in

I just pulled a new version onto my Mac after developing on a different computer all week. I'm unable to log in all of a sudden.
 However, with correct credentials I'm seeing 5 tries with error: Fetching RPC endpoint failed, received status code 51 in the server logs.
It looks like a problem with a dependency, so I've opened an issue with PogoBuf.
Is anyone else getting this or is it just me?

There's a solution to this issue from @comcaptain on that PogoBuf issue I referenced:

SOLUTION
go to file pogobuf.client.js, in line 195, change code from
message: new RequestMessages.GetPlayerMessage({
app_version: appVersion
}),
to message: new RequestMessages.GetPlayerMessage({}),

Hopefully the PogoBuf will integrate that into master soon so that I can close this issue

Fixed in PogoBuf 1.5.3


Use material icons in Select option

I would like to put icons in the options for select elements.
Not next to the entire select, but one for each option (just left to the text).
When I do this, the icon does not render.
Is this possible yet? If not, are you planning to add it?

You should read the documentation... it clearly explains that you can add an image to the left of a select option. Based on your explanation above, this is exactly what you're asking for. http://materializecss.com/forms.html

You can add icons to your options in any type of select. In the option you add the image source with the data-icon attribute. You can add the left or right class to align your icon.

    <select class="icons">
      <option value="" disabled selected>Choose your option</option>
      <option value="" data-icon="images/sample-1.jpg" class="left circle">example 1</option>
      <option value="" data-icon="images/office.jpg" class="left circle">example 2</option>
      <option value="" data-icon="images/yuna.jpg" class="left circle">example 3</option>
    </select>
    Images in select

Two issues with that:

I want the "data-icon" to be just to the left of the option, not on the right.
The main issue: I want a Material font icon, not an image.

You can add a class of "left" on the option to solve issue 1. So the only issue is the material icon.

related: #2709 (HTML in select), #3299 (class name in select), #3981 (fontawesome icons in select)
HTML in select would also allow tags for sprites

This can be done with Select2, why can't Materialize handle this addition?
http://jsfiddle.net/qCn6p/208/

Hey so i found a small workaround for this. Im Using Angular 6.
Essentially what i did was grab the URL for the Google Material Icons, and found that if i place the name of the icon I want, in the url i can have a sort of mini API for the svg icons google provides. then in the HTML i add [attr.data-icon] with a function that return image link of that icon.
Component:
  public iconsParse(icon): string { return `https://material.io/tools/icons/static/icons/baseline-${ /* icon-name goes here */}-24px.svg` }

html:
<select class="icons"  materialize="material_select" [materializeSelectOptions]="things_list" >
    <option disabled [value]="null">- Select a Team -</option>
    <option *ngFor="let stuff of things"
            [value]="i"
            [attr.data-icon]="iconsParse(team.team_icon)">{{team.team_name}}</option>
</select>

There is an easy fix that works for showing ONLY the material icons in the dropdown;
.dropdown-content li > span {   font-family: 'Material Icons'; }
This assumes you have the value of the icons (e.g. 3d_rotation) as options.

can this be reopened ?

can this be reopened ?

This should be very easy to do - just looking through select.js, we already have this functionality with the standard dropdown (which select uses) and with option group - that is, an icon or checkbox prepended to the option.

Agree it can  done (everything is possible)
I'm just saying It would be just nice to be built in the framework itself for lazy developers like myself. But fair enough
if anyone is interested in another solution, here is my super lazy solution with Font awesome:

           select.icons name="website_type"
              option disabled="" value="website"  Zvoľte druh stránky
              option.left data-icon="/fa-icon-images/globe-europe-solid.svg" value="website" Web stránka
              option.left data-icon="/fa-icon-images/facebook-f-brands.svg"  value="facebook" Facebook
              option.left data-icon="/fa-icon-images/twitter-brands.svg"   value="twitter" Twitter

I'm taking advantage of built in select with icon image https://materializecss.com/select.html  and I've downloaded the "svg" from Font Awesome and saved it as image to the project. I'm linking the "data-image" to the svg image

Agree it can done (everything is possible)
I'm just saying It would be just nice to be built in the framework itself for lazy developers like myself. But fair enough
if anyone is interested in another solution, here is my super lazy solution with Font awesome:

           select.icons name="website_type"
              option disabled="" value="website"  Zvoľte druh stránky
              option.left data-icon="/fa-icon-images/globe-europe-solid.svg" value="website" Web stránka
              option.left data-icon="/fa-icon-images/facebook-f-brands.svg"  value="facebook" Facebook
              option.left data-icon="/fa-icon-images/twitter-brands.svg"   value="twitter" Twitter

I'm taking advantage of built in select with icon image https://materializecss.com/select.html and I've downloaded the "svg" from Font Awesome and saved it as image to the project. I'm linking the "data-image" to the svg image

Sorry, maybe it wasn't clear - I meant that from looking at select.js, it should be easy for the devs to add icons in a future release! Not meaning do it yourself :)
Nice workaround!

There was also the suggestion of making HTML possible in select - see https://github.com/Dogfalo/materialize/issues/2305 - this way you could add sprites, font awesome, etc.

I used the direct SVG links from the Material Design site ( https://material.io/resources/icons/?style=baseline ) in the data-icon attribute.  The direct URL looks something like this:
https://fonts.gstatic.com/s/i/materialicons/6_ft_apart/v2/24px.svg (after you remove the ?download=true from the link)

Hello,
I came up with a rather simple solution to adding material icons on the left side, since still, by September 2021, this is not addressed:
.select-dropdown li img {
  float: left;
}

<select class="validate" id="object_type white-text" >
    <option class="white-text" value="" selected>Välj objekt typ...</option>
    <option class="white-text" value="1" data-icon="home_white_48dp.svg"></option>
    <option class="white-text" value="2" data-icon="holiday_village_white_48dp.svg"></option>
    <option class="white-text" value="3" data-icon="apartment_white_48dp.svg"></option>
    <option class="white-text" value="4" data-icon="rounded_corner_white_48dp.svg"></option>
</select>

2023 still can't use font icons as icons,
Solution : go to https://fonts.google.com/icons and download the icons you need as SVG.


Bower package

Beautiful script, please add bower package!

If you have bower you also have npm, just use npm install and you'll have one less dependency (bower)
https://www.quora.com/Why-use-Bower-when-there-is-npm

In general, I can even agree with you, but many people use bower and they do not want to reconfigure their stack with browserify. For example I use Sage as Wordpress Starter Theme (https://roots.io/sage/) and all project components are installed and configured with bower.
You may also not agree with the use of bower, but why put limits on who use it? I ask you to reconsider your position. Thanks.

Because I would be the one who has to support that.

Thanks for the support, and I'm sorry for my disappointment, your project is stil great even without bower support.

+1


Figure out a linked database

I am an Inventory Manager, and I want to keep track of our inventory. Having a Database fulfills this need.


Adding implicit conversion of bytes[] calldata -> storage.

Adds the functionality to perform implicit conversions between calldata and storage of byte arrays.
Fixes Sem test: tests/behaviour/solidity/test/libsolidity/semanticTests/array/copying/calldata_to_storage_different_base.sol

Code can be cleaned up post Audit or if there is spare time.


After GIF generation, video generation no longer works

Deforum animation generation is working (yay!) but I've noticed that after the first output of an animation, after generating the GIF, it is no longer responsive. That is, you can't start a 2nd animation without stopping the cell in Colab and restarting the server.

did you try simply refreshing the page ? without restating the cell

I'll give it a shot next time. Would that clear all the settings out? (If so I see the option to load saved settings, but I haven't figured out how to use that yet)

I know you can load the previous settings with the blue button at the end of the prompt input box, but I"m not about deforum tab.

Refreshing works FYI. Settings need to be entered again (or loaded, don't have time at the moment to figure that process out.)
Thanks! This at least saves some credits not having to reload all the models.

I'm working on a solution

You are just gorgeus mate!


Nativescript Typescript-Angular ListView can't not render item with ngIf

From @LeCaoPhuc on May 19, 2018 9:27

Did you verify this is a real problem by searching the NativeScript Forum and the other open issues in this repo?
Yes
Tell us about the problem
Hello . Sorry if my english so bad.
I see some issue for this problem but solution is not work or not good.
ListView iOS do not render item in TypeScript - angular if use ngIf or visibility.
Which platform(s) does your issue occur on?
iOS
Please provide the following version numbers that your issue occurs with:

CLI: 4.0.1
Cross-platform modules:  "4.0.1"
Runtime(s):  4.0.1"

Please tell us how to recreate the issue in as much detail as possible.
ListView iOS do not rendering in TypeScript - angular if use ngIf unless scroll to up until it lost and scroll down again.
I try to use property "visibility" but it have another problem. If you set default is "visible" it will work  good, but if default is a "collapse" , it will likely ngIf and can't work.
If use get element with getChildAt() and set "visibility" again it don't work.
Have  solution is use refresh() but it poor UX because If list have a textfield like my app TextField will lost focus and many problem as it will scrollToIndex if item is a big layout.
link playground recreate problem : https://play.nativescript.org/?template=play-ng&id=h72kgd&v=2
In project i try visibility but it was comment in .html file.
Thanks.
Copied from original issue: NativeScript/NativeScript#5840

HI @LeCaoPhuc,
If I understand you correctly, you are trying to hide the Achilles label on button tap event. I tested the scenario with the getChildAt method, and it seems to work as expected on my side and the Labels were hiding and showing correctly. For your convenience, I am attaching a sample project. You can review it and check if I am missing something.

Hi @tsonevn.
No my mean not only it. I want hide Achilles label  and show Atalanta label in one click button event. But when Achilles label hidden then Atalanta not show. I must scroll listview up down then Atalanta label be show and it work from then on.
This is project eddited.

Hi @LeCaoPhuc,
I found that similar issue with the Change detection for iOS is already logged here.  You can keep track on it for further info.
Meanwhile, you can call ListView's refresh method after changing the value of the Labels visibility properties. For example:
onClick(args) {
        let button: Button = args.object;
        let parent:GridLayout = <GridLayout>button.parent;
        let firstChild = parent.getChildAt(0);
        let secondChild = parent.getChildAt(1);
        var visbility = firstChild.visibility;
        if (visbility === "collapse") {
            firstChild.visibility = "visible";
            secondChild.visibility = "collapse";
        }
        else{
            firstChild.visibility = "collapse";
            secondChild.visibility = "visible";
        }
        this.listView.nativeElement.refresh();
    }

You can check this  example.

Hi @tsonevn .
Before, refresh() listview is a solution I tried. But I need use a textField in a listView, when i
focus a TextField after call refresh()  textField will lost focus.
I don't know this is bug or no ? And  if i call textField.focus() to focus again  it is prolem with UX, so i can't use it.
I tried create a project iOS native with swift 4 and  test with isHiden of UILabel and it work.
I can't find a reason of this problem.
Hope can you check it.
Thanks.

Hi @LeCaoPhuc,
Closing the keyboard for the selected TextField is something expected when the ListView is refreshed.
Can you tell us more about the UX issue, which appears after the focus is called?

Hi @tsonevn .
You can see here . I need validated 1 textField in a listView . So when I change showError to show a Label username is invalid in textChange event but if don't use refresh() it don't show, but use refresh it will lost focus and call this.username.nativeElement.focus() it not work.
The main problem I want to say here not only issues above, I think those solution is temporary solution. ListView  iOS is a power UI. But it have a weakness is a not "AUTO" binding like  another UI. We must be call refresh() or any way such as getChildAt and set visibility etc..etc... to it can binding.
I hope can find a absolute solution to resolve problem ListView not render item  when use binding by *ngIf  or visibility without use refresh().
Thanks!


After 2.0.2 upgrade...

I cannot edit my messages on zulip app. Can you help me please?

@cb0n3y sorry for the slow reply, but you need to provide more details for anyone to help you investigate.  E.g. is there anything in /var/log/zulip/errors.log when you try?  And what precisely do you mean -- can you note send messages, or just not edit them?

@timabbott everything is working fine. I guess that the install package was corrupt and that's why i got a lot of errors like django problems and so on. I downloaded the package again and i installed once again. Like i said, everything is fine. This should be closed. Thank you for your time. Have a nice week.


Sorry if i'm asking in the wrong place, How can i install the wayland-server package?

I'm trying to install Hyprland on the latest version of fedora. i followed the instructions but when i try to build it it says i need wayland-server. I tried to install that with "sudo dnf install wayland-server" but the package isn't there. How can i install it?
Thanks in advance!

I think you might be looking for the other Fedora, the operating system?
https://getfedora.org/
This git repository is for the Fedora repository platform, which is a preservation focus linked data/http API:
https://duraspace.org/fedora/

Oh i'm so sorry!


Use cross-env for environment variables in scripts

Environment variables won't work in Windows if written the way they are on OSX and Linux, use cross-env to get it working.

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: traffic-metrics example

<Explain your change!>
Did you sign your commit? Instructions
Have you read Contributing guidelines?

@slonka  and @lukidzi fixed. This doc is very hard to follow :)


nifti_file is used before it's defined in headerChecks

A variable named nifti_file is first used here https://github.com/INCF/bids-validator/blob/master/validators/headerFields.js#L73, but not defined until here https://github.com/INCF/bids-validator/blob/master/validators/headerFields.js#L158.
If the header 'dim' or 'pixdim' checks are triggered the following error will be thrown.
/Users/zack/Projects/crn/validator/validators/headerFields.js:82
                issues[nifti_file.relativePath] = new utils.Issue({
                                 ^

TypeError: Cannot read property 'relativePath' of undefined
    at headerField (/Users/zack/Projects/crn/validator/validators/headerFields.js:82:34)
    at headerFields (/Users/zack/Projects/crn/validator/validators/headerFields.js:21:22)
    at /Users/zack/Projects/crn/validator/validators/bids.js:266:50
    at /Users/zack/Projects/crn/validator/node_modules/async/lib/async.js:52:16
    at done (/Users/zack/Projects/crn/validator/node_modules/async/lib/async.js:246:17)
    at /Users/zack/Projects/crn/validator/node_modules/async/lib/async.js:44:16
    at /Users/zack/Projects/crn/validator/validators/bids.js:259:33
    at NIFTI (/Users/zack/Projects/crn/validator/validators/nii.js:217:5)
    at /Users/zack/Projects/crn/validator/validators/bids.js:257:29
    at Gunzip.<anonymous> (/Users/zack/Projects/crn/validator/utils/files.js:135:21)

I'm not super familiar with headerFields.js but it looks like a variable name may have changed during an update and a few instances of the variable were missed. I just pushed a branch to correct what I believe the naming issue is. @rwblair and/or @chrisfilo please take a look and see if there are any issues I may have missed otherwise feel free to merge it in.
I've locally tested the command line and web version with a dataset that trips issue 41 (invalid xyzt units).
Here's the branch.
https://github.com/INCF/bids-validator/tree/issue-163

Changes look good tested them locally without issue. References to nifti_file appears to have been copied directly from the headerField function.


While we deploy helm chart for KEDA through meshery UI this error event is sent.

###Current behaviour
[Slack Message]
How old are MeshKit’s k8s libraries, I wonder?
(https://layer5io.slack.com/archives/CFGG6U10E/p1717455689361619?thread_ts=1717455689.361619&cid=CFGG6U10E)
###Desired behaviour
Should be deployed.
Screencast from 2024-06-04 15-46-36.webm

@sangramrath Here  you go.

The current Kubernetes version
WARNING: This version information is deprecated and will be replaced with the output from kubectl version --short.  Use --output=yaml|json to get the full version.
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:20:07Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v5.0.1
Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:13:28Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"linux/amd64"}```

@Jougan-0 this is fixed by the pr in meshkit

Closing this issue @MUzairS15.
PR Merged.


Tool tip should not open when popup panel is open

https://github.com/carina-studio/PixelViewer/commit/23b0c6525a16e932158a03135ae4569713e1c052


Integrate accessibility checker within the page editor

Is your proposal related to a problem?
The accessibility checker currently displays within the userbar. This means its output will only ever be seen if developers have enabled the userbar on the site, and when CMS users directly access a page on the site’s frontend.
Describe the solution you'd like
Accessibility issues would be simpler to address if flagged as part of the page editing experience, alongside the live preview.
Potentially, we could also surface the issues when users click "Save draft" or "Publish" (like users would see normal form validation errors) – so it’s harder to miss the checks.
Describe alternatives you've considered
Keep the checker to the userbar only.
Additional context
This has been discussed in Built-in accessibility checker for Wagtail. We have existing designs for this produced by Nick.
There are a few critical considerations here. Architecture:

Ideally the checker should work without the userbar being configured on the page – so it’d need to dynamically inject a script tag with Axe bundled.
Since we display the results within the page editor, it would be much simpler to resolve any issues if they are connected to specific fields in the form. This is potentially very complex since the checker only reports on which part of the site’s frontend the error is.

UX:

It’s important for the rendering of any issues to not be too distracting, and not create confusion between form validation errors (mandatory to fix at this time) and accessibility checks failing (optional to fix)
There isn’t enough space in the UI to display the editing form, the live preview, and checker results all at the same time. So it needs to be straightforward to move between the different panels.
The UI should still account for errors that aren’t connected to any part of the form, either because they’re with content produced elsewhere, or because we couldn’t find which part of the form is relevant.
Keyboard or screen reader users will also need a way to cycle between the different panels – matching the experience of the F6 key in Windows apps (so Ctrl + F6 within a page?)

Mapping accessibility errors to page fields
Here is early R&D, rule-by-rule. At a high level, matching by element text feels possible in a wide number of cases but not all. An alternative would be to change the rendering of Wagtail content on sites to contain field marks (repurposing comments’ contentpath?)
empty-heading

In rich text: Possible by relying either on Draftail block key, or text of rich text elements before/after.
In Django fields: Impossible
In StreamField: Impossible unless we introduced a special HeadingBlock as a CharBlock derivative as a CMS feature. For a project-specific HeadingBlock: at least likely to be a required field.

heading-order

In rich text: Possible by relying on Draftail block key, or heading text.
In Django fields: Possible by text match.
In StreamField: Possible by text match. Would be helped by a custom HeadingBlock.

p-as-heading

In rich text: Possible by relying on Draftail block key, or element text match.

Empty button, link, frame

Everywhere: likely too hard to do reliably.

Table validation issues

TableBlock: likely possible via text match, or could output a block key in our table template
TypedTableBlock: perhaps possible via text match, or could output a block key in our table template

Custom link text rule

In rich text: Possible by relying on Draftail block key, or element text match.
In Django fields: Possible by text match.
In StreamField: Possible by text match.

Custom image alt text rule

In rich text: Possible by relying on Draftail block key, or alt text / other attributes match
In Django fields: Possible by alt text / other attributes match
In StreamField: Possible by alt text / other attributes match

Hi @thibaudcolas thibaudcolas I would like to work on this issue, it would be really nice if you assign this issue to me.

Thanks for your interest @sande265! This is not a good issue for new contributors, as it requires in-depth knowledge about how the page editor is built and how fields and StreamField blocks are rendered. We also do not assign issues outside of the core team - we just ask that people indicate their intention to work on an issue to avoid duplicating efforts.
We recommend that you look for smaller issues, e.g. ones that are labelled as "good first issue".
For further help in getting started, please see https://dev.to/lb/ten-tasty-ingredients-for-a-delicious-pull-request-hgc - you may also wish to join our #new-contributors channel on Slack.

From @cnk in #10394:

I want my content editors to make incremental improvements to my site's accessibility and mobile formatting. The accessibility checker is getting better and better - but at the moment it's warnings are only available from the userbar on live pages or when viewing the preview in a separate page. I would love for my users to be able to see accessibility warnings while they are using the mobile preview pane inside the page editor. The most consistent option is probably to add the userbar to the inline preview panels (perhaps only displaying the accessibility link), but there may be better options.


Allow to skip storing the value in memory cache

Is your feature request related to a problem? Please describe.
Application A sets a key value but never tries to get it. Instead, application B gets and removes the cache value and also would like to use the memory cache as the key will be accessed multiple times.
Since the fusion cache allows the backplane notifications, when the cache value is changed by Application A, then Application B will refresh its value in the memory cache.
In other words, one process sets the value, and another process gets and removes the cache value.
Describe the solution you'd like
A flag SkipMemoryCache on entry options like SkipDistributedCache so the memory cache can be skipped while setting it. It will be set to true in another process, thus using the memory cache.
Alternate
Setting the duration 0, and distributed duration to the desired time, might work.
Additional Context
In some cases, when the data is large in size you might want to skip the memory cache altogether but still be able to take advantage of backplane notifications and other features.

Hi @marafiq and thanks for using FusionCache!
That is an interesting scenario to think about: let me think about it a little bit and will come back to you with my thoughts on that.

I have the same feature request, but a slightly different setup: I'm using an Azure Function and to stick to @marafiq's terminology:
Application A is a TimerTrigger (a cron job) that periodically regenerates a list of large cache values. These are set using IFusionCache.SetAsync.
Application B is a HttpTrigger (a web server route), that serves those cache values.

The problem
The worker executing the TimerTrigger ends up with a MemoryCache of ~6GB whilst the DistributedCache (Redis) is only at ~3GB, possibly because of compression. This is why I only want to serve these large values directly from Redis, even at the expense of latency.
I've tried setting:
options.Duration = TimeSpan.Zero;
options.IsFailSafeEnabled = false;
options.DistributedCacheDuration = TimeSpan.FromDays(1);

for IFusionCache.SetAsync but the worker executing the TimerTrigger always ends up with the same 6GB of memory usage, whilst the workers only serving directly from the distributed cache are at less than 1GB.
I would also propose a SkipMemoryCache or to find out the reason why setting an instant MemoryCache expire doesn't free the underlying memory.

I also have a similar request. We run some database calls inside GetOrSetAsync, wrapped in a try/catch block. In case the database call fails and hits our catch block, we set the Duration to TimeSpan.FromTicks(1). However we're seeing some exceptions because FusionCache sees that as in the past by the time the code actually gets to checking that duration.
If we had a way to say "Actually, don't cache this value because it's not good" that would be really helpful for us.

Now that we have context.Modified and context.NotModified perhaps we could get context.Ignore or context.DoNotCache or something like that?

Hi @celluj34

I also have a similar request. We run some database calls inside GetOrSetAsync, wrapped in a try/catch block. In case the database call fails and hits our catch block, we set the Duration to TimeSpan.FromTicks(1).
However we're seeing some exceptions because FusionCache sees that as in the past by the time the code actually gets to checking that duration.

I'll check this out, will let you know.
One question though: is fail-safe enabled in this case? I'm asking because even by handling TimeSpan.Zero natively, I cannot avoid saving it in the cache if fail-safe is enabled, because it would actually mean something like "save it as already expired, but keep it available for future problems as a fallback".
Makes sense?
In case fail-safe is disabled or can be disabled, I can natively handle zero as a special case, like it's already done for infinity.

If we had a way to say "Actually, don't cache this value because it's not good" that would be really helpful for us.
I was about to tell you to just not catch the exception, but that may trigger fail-safe (if enabled) which may not be what you want.

The problem I see is that GetOrSet() MUST return a value, so in the case of not wanting to return anything, what should FusionCache return?
In other words: if you want it to throw, you can avoid catching the exception (or re-throw it), and if you want to return some some of default value with a low duration, you can return the default value and set the Duration to something like 1ms, and disable fail-safe.
I think I'm missing something though, can you help me understand it more?
Thanks!

Hi @marafiq

Application A sets a key value but never tries to get it. Instead, application B gets and removes the cache value and also would like to use the memory cache as the key will be accessed multiple times. Since the fusion cache allows the backplane notifications, when the cache value is changed by Application A, then Application B will refresh its value in the memory cache.
In other words, one process sets the value, and another process gets and removes the cache value.

Ok, this is quite clear.

A flag SkipMemoryCache on entry options like SkipDistributedCache so the memory cache can be skipped while setting it. It will be set to true in another process, thus using the memory cache.

I'm on it, will update you soon 🙂

Hi @CM2Walki

for IFusionCache.SetAsync but the worker executing the TimerTrigger always ends up with the same 6GB of memory usage, whilst the workers only serving directly from the distributed cache are at less than 1GB.

I agree, this is strange.

I would also propose a SkipMemoryCache entry flag or to find out the reason why setting an instant MemoryCache expire doesn't free the underlying memory.

I'll investigate it, will let you know. Maybe I'll special-case it like with infinity.

This is related to #59, as Azure Functions when not self-hosted have a memory limit of ~1.5GB, being able to fine-tune the usages of the MemoryCache is important. You get billed for cpu and memory time.

ps: btw, my "fear" regarding totally disabling the memory cache is that, if you then call GetOrSet(), you may be convinced you are still protected from Cache Stampede & similar problems, but that is basically impossible without a memory cache.

One question though: is fail-safe enabled in this case? I'm asking because even by handling TimeSpan.Zero natively, I cannot avoid saving it in the cache if fail-safe is enabled, because it would actually mean something like "save it as already expired, but keep it available for future problems as a fallback".

In our use case, fail-safes are not enabled. Having special handling for TimeSpan.Zero would work for me!

The problem I see is that GetOrSet() MUST return a value, so in the case of not wanting to return anything, what should FusionCache return?

Yes, this is a difficult problem, one that I had tried not thinking about, lol. Perhaps null? But I know there is a difference between returning a null value (which is a valid use-case) and not having a value to return.
In our case, what we're doing is returning a FluentValidation-style result. If it's valid, use it, otherwise return some error back up through the API. We had to do the try/catch and wrapper object initially because we were seeing strange problems when exceptions were thrown inside IMemoryCache.GetOrSetAsync using a custom "atomic" extension. The tl;dr is that we sometimes saw the value factory code run more than once when an exception was thrown, so this is our workaround which we've just carried forward (and may not even be neccessary anymore, but here we are).

Hi all, this is the official issue to track the development of the feature.
The feature is basically done, with tests and everything, and I'll release it in the week end.

Hi @CM2Walki

I've tried setting:
options.Duration = TimeSpan.Zero;
options.IsFailSafeEnabled = false;
options.DistributedCacheDuration = TimeSpan.FromDays(1);

for IFusionCache.SetAsync but the worker executing the TimerTrigger always ends up with the same 6GB of memory usage, whilst the workers only serving directly from the distributed cache are at less than 1GB.

See here for the special handling of "zero" durations 🎉

Hi @celluj34

In our use case, fail-safes are not enabled. Having special handling for TimeSpan.Zero would work for me!

See here for the special handling of "zero" durations 🎉

Hi all, v0.22.0 has been released and this is included 🎉


Added parameterless ctor to the Serializers to allow load them from hazelcast standard config file.

As suggested by @vladimir-bukhtoyarov during the discussion on the Issue #477 I'm submitting a PR to enable the loading of the Bucke4j custom serializers through the Hazelcast standard configuration file instead of the need to do it programmatically.
A quick disclaimer:
I'm not a skilled java guy and this is the first Spring-less project I'm working on since the University, and I was used to play the brand new "Legend of Zelda: Ocarina of time" at that times!
This PR includes:

a new static class SerializationUtility where I put all the logic to retrieve the typeIdBase based on System Properties or Environment Variables and compute all the typeId for the well-known Serializers based on the offsets declared statically
a new parameterless ctor in all ther three well-known Serializers to allow them being used in the hazelcast configuration file with just their name
a new JTest class to test the SerializationUtility helper
a new JTest class (cloned by the already existing HazelcastWithCustomSerializersTest with a different loading of the hazlecast server using the same hazelcast config primitives used by hazelcast when it loads from configuration file.
a new test dependency to help adding Env Var during tests

I forgot to mention I also touched the already existing HazelcastProxyManager<K>.addCustomSerializers just to make it using the new SerializationUtility helper class so we put only there the well-known serializers typeId offsets instead of having them in the form of +n close to the typeIdBase.
The change is functionally invariant and it has been successfully tested.

Good. I need a time to test this request, especially for case of backward compatibility.

It would be nice to add paragraph there https://github.com/bucket4j/bucket4j/blob/master/asciidoc/src/main/docs/asciidoc/distributed/jcache/hazelcast.adoc bout to serialization configs in standalone cluster.

It would be nice to add paragraph there https://github.com/bucket4j/bucket4j/blob/master/asciidoc/src/main/docs/asciidoc/distributed/jcache/hazelcast.adoc about of serialization configs in standalone cluster.

Agree, I was just waiting till we finalize the entire change. Once you'll be ok with the entire change I'll write the doc.
Is it ok?

Just added both: the new parameter name and the asciidoc documentation chapter.

I am going to release this weekand.

I am going to release this weekend.

Nice!
Thank you very much.


Update Shopify/logrus-bugsnag and bugsnag-go to v2

This PR updates github.com/Shopify/logrus-bugsnag from a very old version the Go package registry doesn't even know about to the latest version. Along with that came the update to github.com/bugsnag/bugsnag-go from an ancient version from 2014 to github.com/bugsnag/bugsnag-go/v2, which required a slight change in our configuration. Due to the configuration change we should try to get this merged before v3.

Codecov Report
Patch coverage has no change and project coverage change: -0.03% :warning:

Comparison is base (6ccc551) 55.85% compared to head (f38dcc1) 55.83%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3991      +/-   ##
==========================================
- Coverage   55.85%   55.83%   -0.03%
==========================================
  Files         110      110
  Lines       11069    11073       +4
==========================================
  Hits         6183     6183
- Misses       4193     4197       +4
  Partials      693      693

Files Changed
Coverage Δ

configuration/configuration.go
65.10% <ø> (ø)

registry/registry.go
45.00% <0.00%> (-0.57%)
:arrow_down:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I need to mull over this for a bit...I think there is a better way to do this.

Honest question here, because I'm neither a "bugsnag" user, nor do I run a registry (beyond spinning up a quick registry for testing);

Is bugsnag something that would be commonly used (enough to make it an essential part of the standard feature-set provided by the registry?)
Are there ways to integrate with bugsnag outside of compiling in this package?
^^ I know there's a lot of movement on integrating OTEL in many projects; could OTEL provide similar data when running a registry?

Reason I'm asking is that I know we want to reduce some feature-bloat that this repository has acquired over the years, to save maintenance, but also because slog is becoming a thing, and I know various projects start to move away from logrus (or at least start to abstract things in preparation of being able to swap it for other solutions), so I'm wondering if there's alternatives we should look into.

I have been wondering the same thing, especially in light of another PR that updates NewRelic integration.
These things are useful to folks running registry in some sort of production setup but are not required for running registry or related to any open standards.
It's clear we are missing some sort of plug-in [middleware] plumbing or some such - the same thing with storage drivers. Something to think about before we merge this.

I'm also not a bugsnag user, just wanted to update the dependency to something not ancient to cleanup the code a bit. I'm pretty sure all it's doing is shipping the log lines of the registry to bugsnag, which in theory could also be replaced by using OTEL and shipping them to an OTEL receiver, which then would forward to bugsnag (I assume this exists, or they are doomed to fail).
I would be all for ripping this out, which means we should probably also remove NewRelic. However, I expect users of either to disagree. Especially if we haven't provided an alternative like OTEL before we remove them.

I think focussing on OTEL would be better than on particular 3rd party vendors 🤔

FWIW: I agree with all of the above, but I'm NOT against updating this dependency to be on a current version for the main branch.
While this code hasn't been ripped out, and the main branch targeting a major release ("v3"), it's better to ship with current dependencies than unmaintained ones ("now" is the moment to update dependencies, as we generally prefer not to risk doing so in patch releases).
But we should have a discussion / decision on what to do with these kind of features, especially with "the world" converging towards OTEL, and most (all?) other options may be too opinionated to consider including as a "default". With a limited number of maintainers (and bandwidth among those), there's only so many options we can reasonably "support" (or be comfortable with supporting). But yes, ideally we would have things more pluggable (or an alternative approach) so that those that really need these features can use them (without being forced to maintain a fork of the code just for that).

@DavidSpek moving to v3 we have an opportunity to remove this now with the option of putting it back in if and only if there's truly a user base out there for this. It's not ideal if we have to re add it, but it's better than including it in perpetuity.

That's also an option. Which does ensure the problem is fixed without the possibility of things getting in the way. I'll prepare 2 PRs to remove them tomorrow so either way we have the pieces in place on time for v3.

I am also in favour of chucking both Bugsnag and NewRelic dependencies. I understand the pros and cons of their being and not being in the codebase but v3 is an opportunity to clean up this codebase from third-party dependencies and outdated cruft which, in the grand scheme of things, only add burden to the project.
Until we have a good way of dealing with plugins we should consider proper yak shave.


autocomplete breaks on large types

Hello, I'm experiencing problems when using type providers that generate a large amount of properties on a type. For example https://github.com/zanaptak/TypedCssClasses used with TailwindCSS.
It always restart filtering when i write a dash and for some reason it stops completely after I write tw.bg-green- that second dash seems to break it. It also stops working after I delete some chars and start typing again. When I delete everything and start typing from the dot it works again.
Rider version 2020.3
FSharp support version 2020.3.120
in Ionide it behaves like this:

in Rider it works like this https://imgur.com/gallery/3172ZbV

I've created a example repository where it is reproducible: https://github.com/landy/typeproviders-autocomplete

@landy Thanks for the complete example! I guess we'll need to add some F#-specific logic to this matching handling.

That would be great :) without it the library is almost unusable :(


Update runc version to version used by docker

The docker update to use this version of runc can be found in the PR
https://github.com/moby/moby/pull/34356.

@beweedon,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Don't you need to update the vendor?

(also in reply to Cheng-mean) The vendored runc is used by the docker/containerd packages. I didn't change the vendored version because I mostly wanted this to be a testing/documentation change, but you're right, I should probably change the vendored version as well for consistency/rather than making another change.

Actually, on second thought, because the vendored runc package is only used by docker and containerd, if we update runc we should probably also update those. So I think this is better in another change just for generically updating the vendored dependencies which need to be updated. I'll make an issue.

#122

It looks like the output of "runc -v" has changed
from
./runc -v
runc version 1.0.0-rc3
commit: 2d41c047c83e09a6d61d464906feb2a2f3c52aa4
spec: 1.0.0-rc5
to
./runc -v
runc version spec: 1.0.0
it would be great if our doc could reflect that to avoid confusion.

Ah, OK, I see that the doc was meant to represent the output of "runc -v" now. So, actually, runc installed with Go has always had the one-line output as far as I can remember. If you build it using the makefile in the runc repo, however, it produces that extra output information (I assume because it's building a "developer" build or something). I can update customosbuildinstructions.md to reflect the two possible outputs.


Set up a "Hello Microverse" project

Create a new GitHub repository.
Create a new branch according to the GitHub flow rules.
Add a .gitignore file.
Set up a linter for HTML and CSS and make sure that any files that are not relevant are ignored by git.
Add a descriptive README file to your project - please use this template but remember to customize it to your project.
Add 3 files (each one in a separate commit):
A .html file that includes a header with the text "Hello Microverse!". Use h1 tag for that.
A .css file that includes one class with styles for your header (make it in your favorite color).
A test.md file with the text "This file should be ignored by git".

thank you so much for approved my project Sent from my Verizon, Samsung Galaxy smartphone
-------- Original message --------From: ismail courr @.> Date: 8/18/22  11:04 AM  (GMT+05:00) To: RashidMenhas/Hello-Microverse @.> Cc: RashidMenhas @.>, Mention @.> Subject: Re: [RashidMenhas/Hello-Microverse] Set up a "Hello Microverse" project (PR #1)
@Ismailco approved this pull request.
Hi @RashidMenhas,
Your project is complete!  There is nothing else to say other than... it's time to merge it
Congratulations! 🎉
Highlights
✔  No linter errors
✔ Used Github Flow
✔ Work documented professionally
Optional suggestions
Branch should have the name of a feature or action (e.g. 'created_sidebar' or 'added_comments_section'), kindly consider following this rule in your future projects
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.
As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>
[
{
@.***": "http://schema.org",
@.***": "EmailMessage",
"potentialAction": {
@.***": "ViewAction",
"target": "https://github.com/RashidMenhas/Hello-Microverse/pull/1#pullrequestreview-1076742410",
"url": "https://github.com/RashidMenhas/Hello-Microverse/pull/1#pullrequestreview-1076742410",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
@.***": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]


When command returns multiple choices, allow user to choose

Currently, commands like /monster and /item show a list of possible values when the name doesn't match correctly a result.

Then the user has to use the command again with the correct name.
The idea is to show the results with numbers, and let the user just type the number instead of having to use the command again.

Implemented in 03bb83cc9f9b463827d1ea81a050d579ed73285f


Question about alpha calculation in forward pass

Hi,
Thank you for developing this fantastic tool!
I have a question regarding the use of your package for performing online inference. Specifically, I am trying to implement the equation 𝛼hat = 𝑃(𝑧𝑛 ∣ 𝑥1, … , 𝑥𝑛) as described in Bishop (2006).
Does your package or API include a function that calculates this directly? From my review of the source code, the closest functionality I found is in the forward_pass function where the alphas are computed (this line in messages.py). Is this 𝛼 the same as 𝛼hat?
Any insights or guidance you can provide would be greatly appreciated.
Best regards,
Nick

Hello Nick,
$\hat{\alpha}_n=P(z_n|x_1,\ldots,x_n)$, in Eq. 13.55 of Bishop, 2006, is computed inside function hmm_filter in variable pz_tt, but it is not returned by this fuction. It only returns $P(z_{n+1}|x_1,\ldots,x_n)$. It would be better if hmm_filter, and function filter which calls it, returned both of these quantities.
@slinderman would a pull request changing the return values of these functions be welcomed?
Joaquin


Multiple sprites for each character

Now the framework have the avaliability to use only one sprite for each character.
The idea is to give him a list or dict of Sprites and create an action to set the proper one on dialog tree when the user want use it.

closed with c982936f3722c5fd31c3cecd92e9291c3c823bc3


Module Manager should restore contents of the resources

Description
Module Manager should be able to restore resources that have been modified manually. Right now it only checks whether the list of resources is aligned with the desired state, it does not check the values inside the CRs.
We should have some diff implemented to check whether the resources were modified and need to be recreated.
The other potential way to solve that would be to compare the resource versions and restore the CR if it changed (it would require caching though, not sure that's feasible when it comes to resource usage).
Acceptance Criteria

[x] Resources that were manually modified in the cluster are restored to their original state.
[x] Verify Force Apply via Client Side Force (without 3 way merge) and SSA Force Apply with Field Manager override through perftest cluster.
[x] Extend TemplateOperator documentation to clearly state that any changes to the values of resources created with the chart will be reverted. All the customer-configurable parameters should be put in the Component CR so that the configuration is not lost.

Additional Resources

Types supported by ArgoCD diffing

Since diffing proves to be difficult for all cases and we probably do not have the capacity for an own diffing engine, we should consider adopting well-known diff handlers, e.g. https://github.com/argoproj/gitops-engine from Argo which is capable of all important diffing cases based on Unstructured as well as caches.

After investigating, I have found we do not only have this problem in module manager but also the catalog sync could be implemented with this engine. However this adoption leads to big refactorings as the cache is affected.
The main reason for this is that the gitops-engine works with a Sync Cache that we either need to replace or imitate.

Aligned with @pbochynski that client side apply should be preferred in favor of performance issues.

We will perftest an approach simulating old force-apply behavior without 3 way merge in the perf test cluster and then get back here with results. That will give us a decision base on what we will support for now

Unfortunately, we had a bug in the perf test cluster that forced us to reconcile all 10.000 clusters permanently (two conflicting module templates were reverting each others applies). This lead to false statistics and I will have to rerun tests again.
Currently we had 2 major findings regarding performance:

We currently always force-apply during installation. If we replace this with non-force apply for the chart installation, helm library will default to 3-way merge instead of resource-version overrides, which will also reduce the amount of generated patches. This we will attempt to fix and then use the consistency check with a normal patch install instead of a resource len comparison.

We have tons of unnecessary client creations when building up resource info for helm, which I am attempting to fix with client creation reconsolidation. This should reduce both CPU and memory.

See https://github.com/kyma-project/module-manager/pull/167
I am also experimenting with cloning and adopting Argo CDs diffing engine for our own diffing calculation instead of relying on Helms 3 way patch.

After lots of back-and-forth, I analyzed the findings and came to the conclusion to do the following changes:

Change Implementation to not use force flag to force patch all resources via resource version. This leads to the improvement that for non-force, we use a regular 3-way-merge from Helm 3 (see https://helm.sh/docs/faq/changes_since_helm2/#improved-upgrade-strategy-3-way-strategic-merge-patches). Edge cases will be considered but all regular consistency updates will now also run a 3-way-patch calculation. If there is nothing to be patched, no API-Server call is made.

Unify All Helm / Kubernetes Clients created in reconciliation for more stable and non-spiking Memory Profile that is not too heavy on the GC (now behaves stable around 18GB Ram idle, 26 GB Ram under load for 200k Manifests). This is a huge improvement over >45 GB Ram that can occur under load of the current implementation if consistency check works correctly. Less Client creation also results in ~100ms improvement per reconcile, which leads to a net improvement of around 45 Minutes to reconcile 200k Manifests in Ready State from an empty cache (200k Manifests with filled cache takes less than 3 seconds).

Do not use an externally adjusted Argo Diffing Engine for now as the Argo Engine behaves much more rigid and is less memory-efficient for big json-patch generations (can lead to memory spikes of up to 35 GB Ram under load). When we switch to SSA, instead of going for diffing, we should probably force-apply all changes and run a single API call while not considering the active state in the cluster.

Click on this (somehow not showing) svg to see a CPU Profiling I did for Helm-Native 3-way Merge

TLDR: New Consistency Check works (almost) as efficient as previous comparison with more RAM and API Server calls due to active consistency checks instead of Resource Amount comparison.
Aligned with @adityabhatia that we think this is a sufficient improvement and will fix our consistency checks for all consumers of module manager and declarative library.

All issues fixed and solutions provided.


Make it build with ghc-9.8

This is an early and incomplete draft. I am hope to get enough working so that I can start doing the same with ledger.
Before this gets merged to master:

Must remove all added SRPs.
~Remove use of head.hackage repo.~

I pushed a commit adding CI for 9.8.

glory be

I'd like to merge this so we have the basics in place, feel free to make a new PR for further removals of the 9.8-specific stuff.
Thanks again!


Workflow stuck after failover due to decision task not getting dispatched

Last few events in the history:
79  TimerFired                 (TimerId:13,
                                 StartedEventId:73)
  80  DecisionTaskScheduled      (TaskList:(Name:samar-C02Q512VG8WM:f36e9080-cf7c-4939-bc80-0aa4a04197ff),
                                 StartToCloseTimeoutSeconds:180, Attempt:0)

Logs from the replicator:
WARN[2018-06-05T10:34:44-07:00] Dropping stale replication task.  CurrentV: 11, LastWriteV: 11, LastWriteEvent: 80  Service=cadence-history execution-id=cron.workflow.sanity first-event-id=81 next-event-id=82 run-id=56726d3e-336f-4d40-a47b-fb5621d1b8cd shard-id=0 source-cluster=standby version=10 wf-component=history-replicator
WARN[2018-06-05T10:34:44-07:00] Dropping stale replication task.  CurrentV: 11, LastWriteV: 11, LastWriteEvent: 80  Service=cadence-history execution-id=cron.workflow.sanity first-event-id=82 next-event-id=85 run-id=56726d3e-336f-4d40-a47b-fb5621d1b8cd shard-id=0 source-cluster=standby version=10 wf-component=history-replicator

this bug should be gone after #777 is merged.
keep an eye on this issue until confident that this will not re-appear

We are not seeing this recently.  Let's keep an eye out to make sure it does not appear again.

Resolving this.  Reactivate if it happens again.


Destination is not cleared

Hi,
https://github.com/user-attachments/assets/1184e41b-c248-45af-be4e-37b3fb4df205
as you can see in the video
by starting a MapEventPage with trigger = Autorun
the Destination is not cleared
AND
after the Autorun-Page is done then the player continues moving to this previuos set destination.
And:

even adding this doesn't help.

Good catch, and the video is quite helpful! I want you to know that I'm working on it. This is a complex plugin, so it may take some time. Thanks for your patience!

Hi,
I am glad that you directly answered ❣

Please also check the other issue I posted (about  YEP_RegionRestrictions is not working #6 )

To get both issues solved is very important to me, because I have a finished RPG-Maker-MZ Game
and I want to add pixelmovement as an update(addon).
The plugin I got free.
So I am glad if you fix those .. doesn't matter if it takes longer.
INFO:
I couldn't find a support(paypal/...) button anywhere.

Thanks for your patience! Now that I've finished fixing the region restrictions compatibility issue, this touch input issue is my top priority to work on this Monday.

Hi @Nafraju, I'm trying to reproduce your bug in my test project, but I haven't managed it yet. Tyruswoo Altimit Movement touch input is working as intended for me.
You said that the destination doesn't clear when an Autorun event is running, but in my experience the player can't use touch input (or any kind of input) to set a destination or move the player at all while an Autorun event (or any foreground event) is playing out, and that's how RPG Maker is supposed to work, with or without this plugin.
Did you mean that a parallel (background) event is running? I tried using touch input as a parallel event ended, but nothing went wrong.
Would you please send us a build of your project where you're observing the bug, so that I can debug in context and see what you're seeing? You may email your project zip file to<EMAIL_ADDRESS>Thank you!

Hi @McKathlin,

You said that the destination doesn't clear when an Autorun event is running, but in my experience the player can't use touch input (or any kind of input) to set a destination or move the player at all while an Autorun event (or any foreground event) is playing out, and that's how RPG Maker is supposed to work, with or without this plugin.

Yes.
But,
when you do [as a testsetup] a MapEvent with
Page 1 NoneCondition Trigger Parallel and Content

wait 300 Frames / 5 sec
set self-switch "A" = true

Page 2 Contition Selfswitch "A" Trigger Autorun and Content

wait 300 Frames / 5 sec
set self-switch "A" = false

When you clicking in circle on the screen to keep the PlayerAvatar moving,
while Page 1 is running,
then - when it switches to Page 2
it blocks as it should the moving of the Player
BUT
a)
the DestinationSprite keeps showing
b)
AFTER the Page 2 (the autorun) is done - WITHOUT - another clicking
the PlayerAvatar continues moving to that last set destination(Sprite).
ℹ This testsetup is NOT something unusual = a expired timer starts a autorun Page

The issue in you coding is:
there is ONLY one $gameTemp.clearDestination(); in the whole js file and this is in line 2181
as a part of Game_Player.prototype.moveByInput = function() {
but this function is ONLY called from Game_Player.prototype.update = function(sceneActive) {
if sceneActive ...
So there is somewhere missing a
$gameTemp.clearDestination();
in
Game_Player.prototype.update = function(sceneActive) { ???
if (!this.canMove() .. busy .. or sceneNOTactive)
ℹ
I tried to add this, but it didnot work.
Maybe it ($gameTemp.clearDestination();) needs to be placed in another update-function (Scene-Update) or where ever.

Marked in screenshots of you code:

Hi @McKathlin, (again)

Would you please send us a build of your project where you're observing the bug, so that I can debug in context and see what you're seeing? You may email your project zip file to<EMAIL_ADDRESS>Thank you!

I did an empty new project MZ

only your's plugin in it
only this one MapEvent [as a testsetup]
that is all ..
.. and the issue happends even in this default project.

I uploaded it to here:
https://mega.nz/file/KckkFKAa#WE3NVlRe7_wzB015a4P65mLhttGGPvhLwpXx1fdYmiA
ℹ
E-Mail doesn't accept such large files.
For security-reasons I don't send zips only rars, because zips are open .. rars not.

This is exactly what I needed. Thank you so much!

Hi @Nafraju,
I greatly appreciate your patience in communicating with me about the touch target issue. The bugfix is ready and it's part of the newly released Tyruswoo Altimit Movement v0.9.3.

Hi @McKathlin,
Thank you. It is working, now.
Can you please post here a screenshot of what you changed ?
Reason:

While trying to fix it myself I have nearly the whole Code in my brain.
And I like to understand what did you changed, without comparing the 2 Versions.
I am using over 5 years my own plugin which blocks the PlayeravatarMovement, to have Parallel running CEvents with Story and Cutscenes and .. so on. I used this Plugin in my project .. which I will upgrade with Pixelmovement. So I need to adapt the my Plugin, now, too.

Sure! Here's a screenshot of the code snippet I changed to get touch input destination to clear.

The code inside the green rectangle is the code I added to fix the bug. Whenever a non-parallel event page starts, the touch input target clears. I discovered that if I put $gameTemp.clearDestination() there, nothing happened, but if I reset $gamePlayer._touchTarget, that made the target circle go away and canceled the player's remaining movement path. After this, no other changes to the code were necessary.
Does that give you what you need?

Hi @McKathlin,
FIRST - you did so much, so I again ask for a support-donation-tip possibility ❣

Then I want to ask you to do all-sides a favor ❣
Could you please ADD this to your offical version
and make it also Plugincommand
"AltMovementAltMovement Playersavatar lock" btw "AltMovementAltMovement Playersavatar unlock"
by providing the scriptcall
$gamePlayer._locked = true;
$gamePlayer._locked = false;
[see VS-Code-screenshot very down]
Reason:
The last about 10 years I teached everyone to use my (free) plugin to lock/unlock the PlayerAvatar,
because it makes it possible to use CEvents in Parallel-Mode
and that makes GameMonitoring possible, too.
This CEvent #0001 GAME-MONITOR runs ALL IF-Blocks from New Game until the End.
◆If：GAME_PROZESS_V = 1
◆Variablen steuern：#0001 GAME_PROZESS_V = 10
◆
：Beenden
◆If：GAME_PROZESS_V = 10
◆Variablen steuern：#0001 GAME_PROZESS_V = 20
◆
：Beenden
And in those IF-Blocks you write the whole Game/Story/VN
interacting with Charcater-MapEvents or Deko-MapEvents.
With that by GAME_PROZESS_V ariable the Eventscripting got "line-numbers" like in VS-Code.
And Ingame(!!!) by this other parallel-running CEvent
◆If：Button [Pageup] is pressed down
◆Text：None, Dim, Middle
：    ：GAME_PROZESS_V = \V[0001]
◆
：End
you can let EVERY-time prompt this "line-number" to correct issues WITHOUT searching on 100Maps*50MapEvents.
AND THIS WONT WORK without blocking/deblocking the PlayerAvatar 😉

Hi @Nafraju, thank you so much for offering to donate! You may visit Tyruswoo.com's donation page to make a donation. We've recently updated it to enable one-time donations as well as monthly donations.
I need to address other high-priority bug reports, but I'll return to your latest change request once I have those resolved. I will need time to review your notes, understand the change you're proposing, and document it in a way that makes sense to uninitiated plugin users. If you've written about this feature previously, please feel free to share a link to your previous work.
I appreciate your expertise and attention to detail. I hope you'll get in touch whenever you need help or have an idea. When you do, please open a new issue on the relevant plugin, use Tyruswoo.com's contact form, or send us an email at<EMAIL_ADDRESS>Thank you!

Hello again @Nafraju, I've looked over your proposal and I think I understand what it accomplishes. You want to make it possible to run foreground common events as part of a parallel (background) common event loop. If I understand correctly, you can do the same thing without any plugin code changes. Please try the following steps:
Step 1: Set up a common event that does whatever foreground commands you want. Set its trigger to Autorun and its switch to a switch that you're not using for anything else. Make sure this autorun common event turns off its own trigger switch at the end.

Step 2: In your parallel event, go to where you want to call your common event. Instead of directly calling it, turn ON the autorun common event's switch.

A plugin-based approach sometimes clashes with other plugins, while an event-only approach is more likely to be compatible with all plugins. That's why I recommend this event-only approach.
I've modified your test project to demonstrate what I've explained. I'm following your lead and sharing it with you as a RAR file. You can download it here.
If you've tried the test project and my steps, and you find that you still have a reason for the player lock feature to be added to Tyruswoo Altimit Movement's code, please open a new issue to request it and explain your specific use case. Thank you!

Hi @McKathlin,
You obviously didn't understand me. I'll make you a sample project, but it will take some time.

@Nafraju, I apologize for misunderstanding your request. If you send a sample project my way, I'll be happy to look over it, try to get a better understanding of your request, and include your proposed changes in our build of the plugin if @Tyruswoo and I see fit.
I also want you to know that you have our full permission to alter and redistribute our plugins, per the MIT License. You are welcome to make changes yourself and share those changes with anyone you like. Going through me is optional. :)

Hi @McKathlin,
[I prefered to not do a new Thread.]
Common Event Demo for Nafraju.rar | 1,1GB
First - please play it as I set it.

while playing it press sometime the [PageUp] key .. then you get a Message on which "line number" the game is.

After you finished the testplaying (by the 'Woof')
Please before you do anything else
Have a look into CommonEvent #0001
scroll it down and you will see what I mean by "line number" (Blocknuimbers).
After this,
have a look into the MapEvents (All of them) and you will see
that they are only working as triggers for what happend in CEvents.

Second,
play it again with this PluginManager (ON/OFF) setting

then you will get all issues I found / got too.
Third,
play it with your original Plugin

and try to get it working by Autoruns and without this :

...

Hello again @Nafraju,
Am I understanding right that the change you're proposing would make Tyruswoo Altimit Movement compatible with PlayerMovementLocking.js? If that is the case, would you please provide a link to where people can find and download PlayerMovementLocking.js?
I am asking because we only provide a compatibility patch for a third party plugin if that plugin is publicly available. When we do release a compatibility patch, we include a link to the other plugin in our release notes.

Hi @McKathlin,
No I am not proposing this (make Tyruswoo Altimit Movement compatible with PlayerMovementLocking.js).
What I am saying is, with this little changes [see in images above]

adding this IF-condition in line 2062 to line 2068
adding a plugin-command for toggle §gamePlayer._locked true/false
includes the whole funtion of the PlayerMovementLocking.js.

.

Hi @McKathlin,
the PlayerMovementLocking.js - plugin is just
ONE function.

@McKathlin
Game_Player.prototype.executeMove = function(direction) {
        if (!this._locked && !this._lockedwoe) {
            this.moveStraight(direction);
        } else if (this._lockedwoe) {
            $gameTemp.clearDestination();
        }
    };

That is the whole PlayerMovementLocking.js - plugin
besides the header.
But it is for 4 directions only.

@McKathlin
wait

@McKathlin
Game_Player.prototype.executeMove = function(direction) {
        if (!this._locked) {
            this.moveStraight(direction);
        } else {
            $gameTemp.clearDestination();
        }
    };

I used this plugin for many years
and nowadays this is all - what is need.
just ON / OFF loccking the Movement of the Player

 * @command set0
 * @text Playersavatar lock
 * @desc see help part of this Plugin
 *
 * @arg text
 * @type note
 * @text Info jsscriptcall
 * @desc Changing this has no effect
 * @default "$gamePlayer._locked = true;"
 *
 * @ --------------------------------------------------------------------------
 *
 * @command set1
 * @text Playersavatar unlock
 * @desc see help part of this Plugin
 *
 * @arg text
 * @type note
 * @text Info jsscriptcall
 * @desc Changing this has no effect
 * @default "$gamePlayer._locked = false;"

 * ----------------------------------------------------
 * These are a list of following Plugin Commands:
 * ----------------------------------------------------
 *
 * Playersavatar lock
 *
 *   Locks the movement of the players avatar,
 *
 * Playersavatar unlock
 *
 *   unlocks the movement of the players avatar,

@McKathlin that is all.

@McKathlin
additional note:
please keep

this $gamePlayer._locked = true; / $gamePlayer._locked = false;
this Playersavatar lock / Playersavatar unlock
because it is used in many projects.

Hi @Nafraju!
First of all, I'm glad @McKathlin was able to help and fix the "Destination is not cleared" bug in this thread, as well as the "Region restrictions are not working" bug you reported.  Thank you so much for your help in finding and reporting these bugs!
Thank you also for sharing your code and a sample project demonstrating how to use game monitoring with a parallel process common event, game process variable, and player locking and unlocking.  We have found the example project is working perfectly the way you have it set up.  However, @McKathlin and I won't be adding the feature to Altimit Movement, for the following reasons:

The feature of player locking and unlocking is useful for games both with and without pixel movement.  Therefore, the feature you are recommending does not belong bundled inside Altimit Movement, but rather belongs in another plugin.  Such other plugin would ideally include the plugin commands you have recommended, and either alias methods or replacement methods as you have outlined, so as to work correctly with both default RPG Maker movement and with Altimit Movement.
We generally recommend our users avoid using parallel process events.  This is due to the increased processing burden of parallel process events, and due to the number of bugs and design errors that occur when beginner users try to use parallel processes (and many of our users are beginner users).  Player locking and unlocking is a feature designed for working with a global parallel process common event, so isn't a good fit for our Tyruswoo Studio plugin design style.

That being said, the reason we have our plugins under MIT license is so that it is easy for others to make plugins with any needed alias or replacement methods to override our plugins' behaviors, depending on the project.  We would be happy if you maintain and distribute a plugin with the features you have outlined that would be compatible with and extend the Tyruswoo Studio edition of Altimit Movement.
Thanks for your help with our edition of Altimit Movement!  Please let us know if you encounter any other bugs you would like us to fix.

Hi @McKathlin
this following "letter" is mainly addresed to Mr/Mrs @Tyruswoo
but I want you to know about its content,
because you liked @Tyruswoo 's post,
this post, which shocks me.
Hi @Tyruswoo
Reading your (@Tyruswoo) response is kinda shocking me, because since the RPG-Maker-MV is out I am playing a lot of games which are available on the internet. 99% had bugs. To get them playable I start to fix them without having any Maker (because at this time I didn't know that such Makers are existing. So I fixed them by only editing the data.json files.
Because of mostly fixing existing games - for me and my friend - there are no much project out there, because publishing those repaired games is illegal because of license-reasons (doing it private for me and friends is legal).
After I got to know that there are Makers existing, and also a german community I am helping by fixing even more projects.
The listing of all projects on my PC is so long that it is difficult to count them. I think it is 1000000+.
By ALL of the games which I fixed with a Maker

I first moved the Switch and Variable #0001 to another index
rename #0001 to GAME-IS-RUNNING and GAME_PROZESS_Variable
then I started to make those IF-Block in CEvent GAME-MONITORING
and skimmed ALL storyrelated Eventscriptings out from the MapEvents in my IF-Blocks
[To do those IF-Block is a fast thing if you can use Switch and Variable #0001 because they are selected everywhere by default.]
by the way of transferring the storyrelated Eventscriptings into my IF-Blocks

I connect also the none-storyrelated MapEvents (I call them DekoEvents)
I find every bug.

At this point I need to mention that the RPG-Maker are truly made for this Method of Game-Monitoring,
because they are providing CEvents (on PARALLEL-Mode) and everywhere Switch and Variable #0001 is preselected.
AND in generall here is ONLY this ONE CEvent PARALLEL-running for the GAME-MONITORING.
Exception (depending on the kind of the projects):
Quests/Missons beside the MainStory are having each its own CEvent / Switch / Process-Variable,
BUT there are NEVER running more then 10 CEvent for Quests/Missons at the same time,
AND all of them are most of the time running in (german "Leerlauf") like "in Neutral" like a car-gear,
because they are ONLY checking if the condions of the IF-Blocks are valid,
when ONE IF-Block is valid ONLY this ONE IF-Block will be executed.
So there are NEVER two or more IF-Blocks at a time executed.
Exception (depending on the kind of the projects):
Some Games having a internal clock and calendarium where points in time are triggering

wheater effects
tinting
sounds
...
and storyroutes
here you would have more Parallel-running CEvents
BUT here - as I recall - maximum plus another 10 to 20 CEvents
and they are also ONLY doing counting Frames (not rendering sprites)
and if the counting is matching a value they are setitng Switches-ON/OFF or Variables.

NOW
⚠ REASON number ONE the devs of the projects got lost in their own projects !!!
Having the whole Story in the ONE CEvent GAME-MONITOR (+ Missions/Quests)
and not in 1000 MapEvents scattered over all Game-Maps
avoids years-time of searching
avoids getting lost in their own projects
And @Tyruswoo as a coding/scripting/programming guy a question for you:
EVERY software like VS-Code/Studio Atom ... even the browser-dev-tools
are having Linenumbers,
so where are the Linenumbers for the Eventscripting of the Maker(s) ❓❓❓
ANSWER
There are NONE ‼
BUT with the GAME_PROZESS_V (and the Quests/Missions Process-Variables)
used by the IF-Blocks you have Blocknumbers (almost Linenumbers)
and with ONE other PARALLEL-running-CEvent Debug (also by Switch #0001)
◆If：Button [Pageup] is pressed down
◆Text：None, Dim, Top
：    ：\V[0001] \V[1010] \V[1011] \V[1012] \V[1013] \V[1014] \V[0998]
：End
you have the possibility INGAME to prompt those Blocknumbers (almost Linenumbers).
Even if there is only a typing error in a textmessagebox of the Story
it will be found and corrected in under a minute - yes in under a minute.
Most devs are keeping those typing error because they can not find the place where to correct them.
And now @Tyruswoo you are saying to me
who found in one day many bugs in your plugin:

We generally recommend our users avoid using parallel process events. This is due to the increased processing burden of parallel process events, and due to the number of bugs and design errors that occur when beginner users try to use parallel processes (and many of our users are beginner users). Player locking and unlocking is a feature designed for working with a global parallel process common event, so isn't a good fit for our Tyruswoo Studio plugin design style.

that you recommend STARTERS (beginner users)
to use the get-lost-method
to have even less people using the RPG-Maker
because they get frustrated ⁉
INSEAT OF HELPING them by teaching them to use a Game-Monitoring ⁉⁉⁉
As said I am shocked.
Sorry - by all my effort helping you removing bugs - it is a slap in my face.
And @Tyruswoo

The feature of player locking and unlocking is useful for games both with and without pixel movement. Therefore, the feature you are recommending does not belong bundled inside Altimit Movement, but rather belongs in another plugin. Such other plugin would ideally include the plugin commands you have recommended, and either alias methods or replacement methods as you have outlined, so as to work correctly with both default RPG Maker movement and with Altimit Movement.

you want put a SINGLE Playersavatar MOVEMENT lock function separate of your Altimit MOVEMENT plugin in another MOVEMENT plugin with only this one function in it ⁉⁉⁉
[Beside - that it is impossible by the structure of yours Altimit Movement Plugin.]
[Beside - that your Altimit MOVEMENT plugin provides the default RPG Maker movement (4-directions), too]
Sorry - I am really focused on staying calm, polite and respectful.
But this is nonsense to not saying bullshit.
And your answer shows that you haven't understood my propose
and it shows that you have NOT even read my posting all above including the screenshots
because if you would have then you would have understood that I am talking
about ONLY

adding 3 lines in the coding (one if else condition about $gamePlayer._locked)
adding 1 Block in the plugin-command-section (to set $gamePlayer._locked true/false by the command Playersavatar lock/Playersavatar unlock)
adding 1 Block in the headers plugin-command-section  (to set $gamePlayer._locked true/false by the command Playersavatar lock/Playersavatar unlock)
adding 5 lines in in the headers help-section  (to set $gamePlayer._locked true/false by the command Playersavatar lock/Playersavatar unlock)

In the interest of ALL RPG Maker users, especially beginners,
I hope and wish that you change your mindset and make the suggested changes ❣
Kindest Regards
Nafraju

Hi @Nafraju,
I'm appreciative of you sharing your code and the game monitoring design, but I still disagree that it belongs in AltimitMovement.  Player locking and unlocking is useful for projects with either pixel movement or tile-based movement.  Therefore, player locking and unlocking does not belong in a pixel movement plugin, but in a more general game monitoring plugin.
I encourage you to develop, maintain, and distribute a plugin designed for improving the game monitoring experience.
My design opinion is that if I were to add game monitoring, I would not make it a stand-alone plugin, but I would include it with a debug or playtest control plugin, such that the plugin can be disabled and removed from the game prior to game deployment, leaving no trace.  I would create the plugin in a way that does not require parallel processing, but instead outputs relevant information (such as map name, map ID, event name, event ID, event page, and event list command line number) to the console window, so that users can see the information by accessing the console window with the F12 key as is default for RPG Maker.  I would use console.log to output relevant game monitoring information to the console window.  Such a plugin could be added to a project and removed from a project without changing any event or common event inside the project, simply by activating and deactivating the plugin from the plugin manager.
You are also welcome to take the AltimitMovement code from us, modify it, and distribute it on your own with your changes however you see fit, according to MIT License terms.  That way, my design choices will not be an obstacle.  You can create your own design and your own code and promote and share it.
Please note that AltimitMovement was not originally a Tyruswoo Studio plugin, but is in the process of gradually being adopted into the Tyruswoo Studio collection due to user demand.  The original creator was not updating the AltimitMovement code but kindly put the code under free and open source licensing.  Correcting the original bugs in the plugin takes time since I do not use it in my own projects, but I continue to offer AltimitMovement as a free service to the community due to user requests.


Update changelog for 0.15.0

Codecov Report

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

@@           Coverage Diff           @@
##           master     #492   +/-   ##
=======================================
  Coverage   63.98%   63.98%
=======================================
  Files          53       53
  Lines        4445     4445
=======================================
  Hits         2844     2844
  Misses       1601     1601

Continue to review full report at Codecov.

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


Add support for ALB alarms and dashboard

Description

Add support for ALB alarms and dashboard for the metrics are

HTTPCode_ELB_5XX_Count
RejectedConnectionCount
HTTPCode_Target_5XX_Count
UnHealthyHostCount
LambdaInternalError
LambdaUserError

Motivation and Context

HTTPCode_ELB_5XX_Count- The number of HTTP 5XX server error codes that originate from the load balancer. This count does not include any response codes generated by the targets.
RejectedConnectionCount- The number of connections that were rejected because the load balancer had reached its maximum number of connections.
HTTPCode_Target_5XX_Count- The number of HTTP response codes generated by the targets. This does not include any response codes generated by the load balancer.
UnHealthyHostCount- The number of targets that are considered unhealthy.
LambdaInternalError- The number of requests to a Lambda function that failed because of an issue internal to the load balancer or AWS Lambda. To get the error reason codes, check the error_reason field of the access log.
LambdaUserError- The number of requests to a Lambda function that failed because of an issue with the Lambda function. For example, the load balancer did not have permission to invoke the function, the load balancer received JSON from the function that is malformed or missing required fields, or the size of the request body or response exceeded the maximum size of 1 MB. To get the error reason codes, check the error_reason field of the access log.

How Has This Been Tested?

Unit tests added

Screenshots (if appropriate):
Types of changes

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

Checklist:

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

Coverage decreased (-0.1%) to 99.893% when pulling 28213ba0a9e2213be84484be318b530f5f0115c8 on alb-metrics into 45904989a7e1951db79d6677faa17fb03222dc44 on main.


Add astropy logo favicon

Right now it looks like the favicon is missing from https://www.astropy.org/learn-astropy/

This looks like it's fixed!


CluserInfo: Use Envoy::ProtobufTypes:String.

Due to mismatch between internal and external string types used by
protobuf the compiler was unable to deduce the type of this expression
used in ClusterInfoImpl constructor:
config.alt_stat_name().empty() ? name_ : config.alt_stat_name()
Make name_ an Envoy::ProtobufTypes:String to fix.
Testing: bazel test //test/...
Signed-off-by: Dan Noé<EMAIL_ADDRESS>

Got error while creating host: instance not ready yet: pending
We had an unexpected error preparing a VM for this build, potentially due to our infrastructure or cloud provider.  Please retry the build in a few minutes.

:( Is there any way to retrigger just the release build?


mitmproxy crashes with OSError: [WinError 10038] An operation was attempted on something that is not a socket

Problem Description
With mitmproxy running, browsing to the bbc.co.uk website and most other web sites, mitmproxy crashes with the error "OSError: [WinError 10038] An operation was attempted on something that is not a socket"
This is running on a newly setup windows 10 PC, I have used pipx to install mitmproxy. I have configured the proxy in Windows Settings to point to http://locahost and the port 8080.

Steps to reproduce the behavior:

In windows settings configure the proxy to point to http://localhost and the port to b 8080
start mitmproxy in a terminal window
open chrome and browse to bbc.co.uk

System Information
Paste the output of "mitmproxy --version" here.
Mitmproxy: 8.0.0.dev
Python:    3.10.2
OpenSSL:   OpenSSL 1.1.1m  14 Dec 2021
Platform:  Windows-10-10.0.19042-SP0

Thanks! Duplicate of #5016. 7.x should work as expected.

https://docs.mitmproxy.org/dev/overview-installation/
Our standalone binaries are 7.x, and pipx install mitmproxy should also install 7.x.

pipx install mitmproxy is definitely installing the <IP_ADDRESS>dev version for me. I want to avoid using the binaries as I am trying to install additional Python packages alongside mitmproxy.
my attempts at pipx installing a previous version don't work
pipx install 'mitmproxy<<IP_ADDRESS>dev' --force-reinstall
Is there another way? Thanks!

There are no 8.0.0.dev binaries on PyPI (https://pypi.org/project/mitmproxy/), so I'm a bit confused where pipx would pick them up from?
PS C:\Users\user> pipx install mitmproxy
  installed package mitmproxy 7.0.4, installed using Python 3.10.0

What's the output of pipx list and Get-Command mitmproxy on your system?

So, I pipx uninstalled mitmproxy. Then I did pipx install mitmproxy and it reported that 7.0.4 had been installed. I updated windows proxysettings to turn on the proxy and browsed to bbc.co.uk and I got the same error again.
When I went back to the terminal and did a mitm --version, it reports I have 8.0.0.dev installed.
When I do a pipx list, it reports that package mitmproxy 7.0.4 is installed.

This looks like you also have a pip-installed mitmproxy, and the pip-installed version comes first on your PATH.

I've reset the windows machine to a clean install (using the windows settings -> update & security ->  recovery -> reset this pc) and completely reset all files and install.
I have git cloned my project and installed the requirements then pipx installed mitmproxy. My pip list and pipx list results are below showing mitmproxy only in the pipx list.
mitmproxy --version does now show 7.0.4 after an error occurs, but I still get mitmproxy 7.0.4 crashing with an error when I browse bbc.co.uk website and other popular sites, as seen in screengrab below.

C:\Users\admin>pipx list
venvs are in C:\Users\admin\.local\pipx\venvs
apps are exposed on your $PATH at C:\Users\admin\.local\bin
   package mitmproxy 7.0.4, installed using Python 3.10.2
    - mitmdump.exe
    - mitmproxy.exe
    - mitmweb.exe

C:\Users\admin>pip list
Package          Version
---------------- ----------
argcomplete      2.0.0
asgiref          3.4.1
blinker          1.4
Brotli           1.0.9
certifi          2021.10.8
cffi             1.15.0
click            8.0.3
colorama         0.4.4
cryptography     36.0.1
Flask            2.0.3
h11              0.12.0
h2               4.1.0
hpack            4.0.0
hyperframe       6.0.1
itsdangerous     2.0.1
Jinja2           3.0.3
kaitaistruct     0.9
ldap3            2.9.1
MarkupSafe       2.0.1
msgpack          1.0.3
packaging        21.3
passlib          1.7.4
pip              22.0.3
pipx             1.0.0
protobuf         3.19.4
publicsuffix2    2.20191221
pyasn1           0.4.8
pycparser        2.21
pydivert         2.1.0
pyOpenSSL        21.0.0
pyparsing        3.0.7
pyperclip        1.8.2
ruamel.yaml      0.17.21
ruamel.yaml.clib 0.2.6
setuptools       58.1.0
six              1.16.0
sortedcontainers 2.4.0
tornado          6.1
urwid            2.1.2
userpath         1.8.0
Werkzeug         2.0.3
wsproto          1.0.0
zstandard        0.16.0

(please post text and not screenshots where possible, that simplifies finding related issues)
Thanks! This is a different error now. Can you reproduce this with mitmdump instead of mitmproxy? This way we should not get the console UI in the way. bbc.co.uk works fine on my Windows system...

Apologies for this moving from one error to another. I completely reset the windows machine again (again using the windows settings -> update & security -> recovery -> reset this pc), but this time did nothing but install python and pipx. I then tried the pipx install mitmproxy but got this error
C:\Users\admin\Documents>pipx install mitmproxy

Traceback (most recent call last):
  File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\admin\AppData\Roaming\Python\Python310\Scripts\pipx.exe\__main__.py", line 7, in <module>
  File "C:\Users\admin\AppData\Roaming\Python\Python310\site-packages\pipx\main.py", line 779, in cli
    return run_pipx_command(parsed_pipx_args)
  File "C:\Users\admin\AppData\Roaming\Python\Python310\site-packages\pipx\main.py", line 202, in run_pipx_command
    return commands.install(
  File "C:\Users\admin\AppData\Roaming\Python\Python310\site-packages\pipx\commands\install.py", line 60, in install
    venv.install_package(
  File "C:\Users\admin\AppData\Roaming\Python\Python310\site-packages\pipx\venv.py", line 238, in install_package
    subprocess_post_check_handle_pip_error(pip_process)
  File "C:\Users\admin\AppData\Roaming\Python\Python310\site-packages\pipx\util.py", line 349, in subprocess_post_check_handle_pip_error
    print(completed_process.stderr, file=pip_error_fh, end="")
  File "C:\Users\admin\AppData\Local\Programs\Python\Python310\lib\encodings\cp1252.py", line 19, in encode
    return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u2502' in position 112: character maps to <undefined>

I have seen this before and have worked around it by building the library using the setup.py script, however, I would avoid this on this occasion as I want the pipx installed version so that I can ad packages to its virtual environment.
These are the results of my pip and pipx installs on this fresh install windows 10 machine
C:\Users\admin\Documents>pip list
Package     Version
----------- -------
argcomplete 2.0.0
click       8.0.3
colorama    0.4.4
packaging   21.3
pip         22.0.3
pipx        1.0.0
pyparsing   3.0.7
setuptools  58.1.0
userpath    1.8.0

C:\Users\admin\Documents>pipx list
nothing has been installed with pipx 😴

I'm afraid I can't help you with that. That's not a mitmproxy issue, that's a pipx issue. You can also just use pip if that's easier for you.

The simple fact of the matter is that you cannot do MITM Proxy with Pip on Windows, period.

Both pip and pipx work great for me on Windows to install mitmproxy. It's my primary development environment. But I'm happy to hear whatever issues you are facing if they are in some way related to mitmproxy. 🙃

Ah yeah, my mistake. It does work, but you have to install "Microsoft C++ Build Tools", because of this package:
Building wheel for urwid (setup.py) ... error

which I refuse to do. I dont think I should have to install a C compiler for a Python package. So in the end I chose to use the prebuilt version. Is it possible for MITM Proxy to dump the requirement on urwid?

We need urwid for the console UI, unfortunately there's no way around it.


Untrain or create new chatterbot

So I'm very new to python and chatterbot. I have started training a bot and have made some minor grammatical errors such as
Me: What is your name?
bot: Your name is DEX
Keeps saying this even after I set a new conversation trainer to try and correct it. So I'm trying to wipe the bot I currently have so I can start fresh. I can't seem to find where the data is stored. I'm using the python interpreter so I don't understand where the files are being stored. No files are attached to the python interpreter on my computer that has to do with chatterbot. Any help with be greatly appreciated thanks!

look for db.sqlite3 file, for me it is only one folder up. delete that and redo training with files you need.


tensorflow from nixpkgs fails with mach-nix 2.1.0

let
  mach-nix = import (builtins.fetchGit {
    url = "https://github.com/DavHau/mach-nix/";
    ref = "2.1.0";
  });
in mach-nix.mkPython {

  requirements = ''
    tensorflow
  '';

  providers = {
    tensorflow = "nixpkgs";
  };
}

attribute 'sdist' missing, at /nix/store/js7jvdbqp1i804frs52c7aqsqp0zj7py-nix-pypi-fetcher/default.nix:26:25

fixed in 2.2.0


Typo error in mesos/nginx-proxy.yml

There was a duplicate tags instruction which should be a notify.

@tgermain thanks!