Zebra's address book can use all available memory

Motivation
Zebra does not limit the size of its address book. Since it accepts up to 1000 addresses from each peer address request, other nodes can fill up Zebra's memory with junk addresses.
This issue is mitigated by:

the existing Zebra implementation, which ignores gossiped peers unless it specifically requested them
#1869 Zebra should limit the number of addresses it uses from a single node

Solution
This fix depends on #1849 and #1871.
Zebra should limit the address book size:

[ ] have a fixed-size address book of around 1000 peers

large enough to contain most active peer addresses, even if we're not connected to them (approx 250, required by #706)
allow for future growth in the number of active peers (5x in 5 years, assuming we never review this fixed constant)
small enough to avoid using too much memory
small enough to trigger peer deletion reasonably often, so we actually run this code (less than the 5000 addresses currently gossiped on mainnet and testnet)
small enough to cycle through all peers at the new peer reconnection rate (10 per second - #1847), within the individual peer reconnection limit (120 seconds, #1848), this helps recovery after temporary network interruptions

Zebra should delete peers based on how successful they have been.
Conceptual:

Zebra should retain peers in the following state order, choosing the newest timestamps first within each state:

recently live peers, which will be re-added to the peer set on their next message anyway
recently disconnected or failed peers which have previously been successful
request pending peers, which will be re-added to the peer set if they are successful
never attempted peers, which have just been gossiped by other peers, and are untrusted
peers that have never been successful

Implementation:

[ ] Zebra should sort peers in the following order, then delete the last peers in the list:

newest last_success_time
if last_success_time is None, newest untrusted_last_seen (requires the far-future fix in #1871)

[ ] provide an accessor method on MetaAddr to simplify the interface to these times
[ ] Zebra should delete peers in batches or on a timer, to reduce any performance impact of this code

Alternatives
This is a critical security issue, so we must do something.
We could choose a random selection of untrusted_last_seen peers instead, but choosing the newest peers retains peers that are more likely to be available. We deliberately ignore last_failed_time, so that we don't risk losing all our peers after a network interruption.
Context
zcashd does not have this issue.

This ticket is not Critical, because #1889 resists this attack. (And zcashd should resist these kinds of attacks anyway.)


Slap inline_for_extraction on more types to avoid uu__is in public headers

This is unsightly. Currently, the following headers have uu__is__ discriminators appearing in public headers.

EverCrypt.{AEAD,CTR,DRBG,Error,Hash,HMAC}
Hacl.HMAC.DRBG

@R1kM tried but it didn't work, @msprotz to take a look


How to add popup to heat points.

I'd like to have a popup with some details for each point is this possible.

Not what heatmaps are for. Also, there'll be problems with the edge case of several points at the same coordinates.


add: bootstrap the application

Included a basic python repository tree based on setuptools.
To install the module for development please execute the following
steps using python3 on Linux.
    cd /path/to/the/repository
    python3 -m pip install wheel setuptools virtualenv
    python3 -m venv venv
    venv/bin/pip install -r ./requirements.txt
    venv/bin/pip install -e .

To build the module in order to share it, please execute the following
steps:
    cd /path/to/the/repository
    python3 setup.py bdist_wheel
    # A .whl file has been created in the dist/ folder, share it, it
    # is pip-installable.

Related to #4

J'approuve.


NVidia driver 546.01 causes extreme lag in built C# project

Godot version
v4.1.1.stable.mono.official [bd6af8e0e]
System information
Godot v4.1.1.stable.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 Ti (NVIDIA; <IP_ADDRESS>18) - Intel(R) Core(TM) i9-10850K CPU @ 3.60GHz (20 Threads)
Issue description
GPU: NVidia RTX 3070 TI
Game build was working fine with 120+ fps yesterday when I had an older GPU driver installed (531.18 - 02/28/2023).
But today after updating to the most recent drivers the same game was running at around 5 FPS and no errors we're being thrown so after like an hour trying to debug this I ended up reverting the driver to the old one and it fixed the issue.
Steps to reproduce

Install most recent NVidia drivers: 546.01
Build a game using version equal or higher than Godot 4.1.1
Game must use Forward+

Minimal reproduction project
N/A

Can you please try this with a supported version, like 4.1.3 (only the latest patch version is supported, and it might already be fixed)

I already tried the latest patch and the error still happened

Please update your description accordingly :)


Compability with Random Things

Got this crash report from a user: lumien231/Random-Things/issues/177
Any clue what is happening here?

Thanks for raising the issue.  I've never played modded before (I know right!!) so will have to setup a test env for it and repro - shouldn't be tricky.


Is there a Webcam Recognition App for JavaScript SDK?

Hi everyone,
I have recently tested out the compreface_webcam_recognition_demo.py file and it works well in Detection as well as Recognition of saved faces.
I would like to test out the JavaScript sdk for the same application but running on a browser, the app.js in the webcam_demo works well as well but it is only able to perform face detection (I've provided the detection_key)
I would like to ask, is there a similar application to the compreface_webcam_recognition_demo.py but in JavaScript where I can run the application on a web browser and I am able to detect as well as recognize the saved faces?
Thanks and regards,
Abu

We didn't create such a demo, but it's easy to change the detection demo to a recognition demo.
You need to change a couple of methods and API key in App.js file

Hi @pospielov,
I see, I actually came across the webcam_demo.html recently which performed recognition and was exactly what I was looking for. I am now trying to convert the following html file to a .js file to use in my application, unfortunately, I have so far yet to be successfully (apologies as I'm fairly new to JS). I am posting my codes here and would highly appreciate any input.
function video() {
    let video = document.getElementById("live");
    let canvas = document.getElementById("canvas");
    let canvas2 = document.getElementById("canvas2");
    let ctx = canvas.getContext('2d');
    let ctx2 = canvas2.getContext('2d');

    navigator.mediaDevices.getUserMedia({
        video: {width: 640, height: 480}
    }).then(function (stream) {
        video.srcObject = stream;

        document.addEventListener("next_frame", draw);

        const evt = new Event("next_frame", {"bubbles": true, "cancelable": false});
        document.dispatchEvent(evt);
    });

    function draw() {
        ctx.drawImage(video, 0, 0, 640, 480);
        canvas.toBlob(function (blob) {
            blob.name = "blob.jpeg"
            let fd = new FormData();
            fd.append('file', blob, "blob.jpeg");

            fetch('http://localhost:8000/api/v1/recognition/recognize',
                {
                    method: "POST",
                    headers: {
                        "x-api-key": "5a5daa59-e85d-4f16-b92b-3f192c4bdcd3"
                    },
                    body: fd
                }
            ).then(r => r.json()).then(
                function (data) {
                    const evt = new Event("next_frame", {"bubbles": true, "cancelable": false});
                    document.dispatchEvent(evt);
                    ctx2.clearRect(0, 0, 640, 480);
                    ctx2.drawImage(video, 0, 0, 640, 480);
                    if (!data.result) {
                        return;
                    }
                    let box = data.result[0].box;
                    let similarity = data.result[0].subjects[0].similarity
                    let name = data.result[0].subjects[0].subject;
                    if (similarity > 0.95)
                        name = data.result[0].subjects[0].subject;
                    else
                        name = "guest";
                    ctx2.lineWidth = 3;
                    ctx2.strokeStyle = 'green';
                    ctx2.strokeRect(box.x_min, box.y_min, box.x_max - box.x_min, box.y_max - box.y_min);
                    ctx2.font = '24px serif';
                    ctx2.strokeText(name, box.x_min, box.y_min - 20);
                    console.log("Welcome: ", name)
                });
        }, 'image/jpeg', 0.95);
    }
}
window.onload = video;
{
<head>
    <title>test</title>
</head>
<video id="live" width="640" height="480" autoplay style="display:none;"></video>
<canvas width="640" id="canvas" height="480" style="display:none;"></canvas>
<canvas width="640" id="canvas2" height="480"></canvas>
}

Best regards,
Abu

You can just open webcam_demo.html in a browser, it should work as is.
Just don't forget to change api-key

Hi @pospielov,
sorry for the late response, I have been away for awhile but I am back now, I was trying to find "webcam_demo.html" in this entire repository but was unable to locate it. I am not sure exactly where I have gotten a hold of it the last time, but your help in locating it would be highly appreciated.
Best,
Abu

Sorry, I didn't mention that it's located in the main repository:
https://github.com/exadel-inc/CompreFace/blob/master/docs/demos/webcam_demo.html


SSH fingerprint failed to verify

I have set up a Xcode project with a private repository as dependency using Swift Package Manager. Therefore I have to add the ssh key for the dependency. Cloning the repository in a Github Action step is working well, but when I try to build the app in a step with xcodebuild I get the following error:
xcodebuild: error: Could not resolve package dependencies:   The server SSH fingerprint failed to verify.

I don't know about the Swift Package Manager... Do you want to clone the private repo from GitHub at all?

No I dont want to clone the repository directly. I only want to build my app with xcodebuild. But the application depends on the private repository. Normally xcodebuild pulls all the dependencies added with SPM, but here it fails due to the fingerprint. The dependency was added via ssh, so I added the ssh keys to my action.

I think the issue here is that your host containing the private repo does not have its public key in the /etc/ssh/ssh_known_hosts file?

Can you provide a public demo project that shows the error?

Finally I figured it out. It seems like its a known issue in Xcode 11 (https://developer.apple.com/documentation/xcode_release_notes/xcode_11_release_notes).
Thanks to Dosium in this post (https://discuss.bitrise.io/t/xcode-11-resolving-packages-fails-with-ssh-fingerprint/10388), I was able to get it work.
The solution is to run the following command before running xcodebuild:
for ip in $(dig @<IP_ADDRESS> github.com +short); do ssh-keyscan github.com,$ip; ssh-keyscan $ip; done 2>/dev/null >> ~/.ssh/known_hosts

@yakuhzi It's generally safer to not rely on ssh-keyscan. First, webfactory/ssh-agent adds GitHub host keys anyway. Second, you can find a workaround here.

It’s been a while, but maybe the answer is that by default, xcodebuild uses its own version of Git which is a separate set of config files.
see https://github.com/webfactory/ssh-agent#using-deploy-keys-with-swift-package-manager

I think the issue here is that your host containing the private repo does not have its public key in the /etc/ssh/ssh_known_hosts file?

 You are my hero today


Using postgres plugin without pg_password

Hello,
I am using the shield bosh release to perform a backup for all databases.
I am performing the backup using the "vcap" user without a pg_password.
I am not able to use the postgres plugin without setting up a pg_password.

Validating TARGET plugin postgres...
======================================
✓ pg_host      <IP_ADDRESS>
✓ pg_port      5524
✓ pg_user      vcap
✗ pg_password  No 'pg_password' key specified in the endpoint json
✓ pg_database  none (all databases will be backed up)
postgres: invalid configuration

To avoid this error, i set up the plugin configuration with an empty pg_password (pg_password:"") .
What about having a default value (an empty string) for pg_password ?
Best regards,

I'd rather not, Did the empty password string work for you?

@jhunt yes it work for me, thank you.


Provide a link to a visualization editor-3

Users having the feature flag (#6425) could have a new link in the dashboard linking the editor3 page.

@xavijam Would you like me to provide this link form the backend? Through what end point should it be?

We will take care of this task in the frontend. But as the label describes, minor.

Ok, @xavijam thanks!

We are going to postpone this issue for the moment.

It was the PR -> https://github.com/CartoDB/cartodb/pull/6476


fix fallback if target table has inverted index

Proposed changes
Memtable on sink node does not support inverted index yet.
Fallback to sink v1 if target table has inverted index.


Generate links for initially filled-in training request form

When accessing https://amy.software-carpentry.org/workshops/request_training/?group=antarctica-2016, the "group" field should be filled in with antarctica-2016.
Admins should be able to enter a list of email addresses and bulk send email with this link.

@karenword @sheraaronhurt
Would you find this useful?  It may help for links we share with our member sites.  However I'd also be worried about people sharing the links externally, and end up prepopulating the field even though it's not their code.
As with all the others please rate on this scale:
Which of the following applies to when you want to see this fixed?

Would like to see this fixed as soon as possible, in the next 1-2 development cycles (i.e., by September 2019)
Would like to see this fixed later (by the end of 2019)
Would like to see this fixed, but possibly as part of a larger project that needs more planning
Not sure
No longer relevant - OK to close

I think this is really more of an admin issue, so I'll defer. On the training end I don't see much benefit except in the case of in-person events — online events will need the registration code for Eventbrite anyway (unless that can be changed), so only in-person trainees & communications will get out of having to use/distribute the registration code by auto-filling it here.

@maneesha @karenword  I would say a #4. This is something that isn't really relevant right now but the use of group/registration codes do need to be discussed as it relates to the IT application form.

Closing this as we are not using this feature.


Remove type conversion in device_save_loader.py

Following https://github.com/bluesky/ophyd-async/issues/360 the types coming out of the signals should be pure python types. Therefore, we do not need to do the conversion in device_save_loader.py

Is this fixed?

Yes


add sql maintenance window rule

The SQL Maintenance Window Constraint will scan GCP SQL instances and validate that a maintenance window has been set.

If you do not specify a maintenance window, disruptive updates can happen at any time

@googlebot I fixed it.


CB-10577: Removed CDP_SDX_MEDIUM_DUTY entitlement check for AWS and changed required version to 7.2.7

Jira: https://jira.cloudera.com/browse/CB-10577
Simply added logic to not check for the entitlement if a medium duty datalake is being created for AWS.
Also changed required version for medium duty setups to 7.2.7

Made y'all's desired changes.

Made y'all's desired changes.


Case insensitive search

Hello!
Currently, the both search functionalities, filter and fuzzy-search, are case-sensitive, which can be limiting for users who may not remember the exact casing of the terms they are searching for. Implementing a case-insensitive search would improve the user experience by allowing users to find results regardless of how they input the search terms.
Would it be possible to consider this feature in a future update?
Thank you for your hard work on this project!

Very thanks for the suggestion. It makes sense for sure to have the option for case insensitive search in filter and Fuzzy finder...
I'll investigate on the possible solutions:

Option in configuration or in popup controls
Which option should be the activated by default.

I'll start looking into it that after fixing publishing on homebrew when I get time for it :+1:


Add docs

Set up sphinx docs and documented Content API and image serving.

Coverage remained the same at 96.643% when pulling 33c8415283f548151ccf1e4f586298af193a0bad on rtd into cd339529b320ca5fad34a6f2a54e941895fca9a3 on master.


Opacity and custom shapes

Contact Details
No response
What do you need?
I am using the React implementation of this library.
I want to use a custom shape implementation for a particle. It is mostly working, I can see my new particle rendering.
The issue/question I have is how to properly deal with opacity, because the opacity seems to be controlled by some external factor rather than the implementation of my shape drawing function.
The effect I'm going for is a semi-transparent circle, overlaid with solid colour, 100% white, text.
The effect achieved is that no matter what I do, the overlaid text is not solid colour, e.g. whites look gray.
Here is my shape implementation:
export const bubbleTextShape = (
    context: CanvasRenderingContext2D,
    particle: IParticle,
    radius: number,
    opacity: number,
    delta: IDelta,
    pixelRatio: number,
) => {
    context.save()

    context.globalAlpha = opacity

    const bubbleText = particle.shapeData as BubbleTextShape
    const bubbleTextParticle = particle as BubbleTextParticle

    const text = "Hello World"

    // It seems to render the circle anyway without this beginPath and fill
    context.beginPath()
    context.arc(0, 0, radius, 0, Math.PI * 2)
    context.fill()

    const fontStyle = bubbleText.style ?? 'normal'
    const fontWeight = bubbleText.weight ?? '400'
    const fontSize = radius / 3.2
    const font = bubbleText.font

    context.font = `${fontStyle} ${fontWeight} ${fontSize}px ${font}`
    context.textAlign = 'center'
    context.textBaseline = 'middle'

    context.globalAlpha = 1.0
    context.fillStyle = 'white'
    context.fillText(text, 0, 0)

    context.restore()
}

In my particles config, I set opacity to 0.5.
If I set the opacity in the particles config to 1, then:

I only see the circle, not the overlaid text
Setting context.globalAlpha = 0.5 in the shape function has no effect on the circle

Screenshot shows semi-transparent circle when config opacity is 0.5. The overlaid text is not white.

I'm trying to do the equivalent of this:
<canvas style="background-color: black" id="myCanvas" width="578" height="250"></canvas>
    <script>
      var canvas = document.getElementById('myCanvas');
      var context = canvas.getContext('2d');

      context.fillStyle = '#0000ff';
      context.globalAlpha = 0.5;

      context.beginPath();
      context.arc(100, 120, 75, 0, Math.PI * 2);
      context.arc(300, 120, 75, 0, Math.PI * 2);
      context.fill();

      context.font = 'normal bold 30px sans';
      context.fillStyle = 'white';

      context.globalAlpha = 0.5;
      context.fillText("Bad", 50, 130);

      context.globalAlpha = 1.0;
      context.fillText("Good", 250, 130);

    </script>
</canvas>

Any clues as to where I am going wrong?
tsParticles Version
2.9.3
Code of Conduct

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

Can you please provide also your config or a full working repro so I can check what's going on?

OK, I will do, it will take a little time as I have to factor out code that can't be public, but I will follow-up.

I've changed your code to work fine using the right functions, you can see a sample here: https://codepen.io/matteobruni/pen/NWOVMgd?editors=0010
The IShapeDrawer interface is better than the single function, so you can check other available functionalities, like the afterEffect like in this case.
export class BubbleTextShape implements IShapeDrawer {
  draw(
    context: CanvasRenderingContext2D,
    particle: IParticle,
    radius: number,
    opacity: number,
    delta: IDelta,
    pixelRatio: number
  ): void {
    context.arc(0, 0, radius, 0, Math.PI * 2);
  }

  afterEffect(
    context: CanvasRenderingContext2D,
    particle: IParticle,
    radius: number,
    opacity: number,
    delta: IDelta,
    pixelRatio: number
  ): void {
    const bubbleText = particle.shapeData;
    const bubbleTextParticle = particle;

    const text = "Hello World";

    const fontStyle = bubbleText.style ?? "normal";
    const fontWeight = bubbleText.weight ?? "400";
    const fontSize = radius / 3.2;
    const font = bubbleText.font;

    context.font = `${fontStyle} ${fontWeight} ${fontSize}px ${font}`;
    context.textAlign = "center";
    context.textBaseline = "middle";

    context.globalAlpha = 1.0;
    context.fillStyle = "white";
    context.fillText(text, 0, 0);
  }
}

The circle is drawn using the standard draw function, since it's all you need there, the draw function is already prepared with all the particles options, and the draw function should only draw stuff, not changing the context values.
The afterEffect function is called after the draw function, so the particle can get something additional from a more generic function, like a custom white text. The only thing the afterEffect is sharing with the draw method is the position in the canvas. Everything in the afterEffect is your duty, from the save/restore to the fill function. The draw function instead is already in a save/restore context and the fill function is called after that, if needed.
https://particles.js.org/docs/interfaces/tsParticles_Engine.Core_Interfaces_IShapeDrawer.IShapeDrawer.html
This is the url describing the IShapeDrawer interface, you can also init the particle there, with some values that you may need for customization, instead of checking them every time in draw or afterEffect functions

You can use that repo to test the updated code, if there's something that is not working it's easier to check out other issues

Works perfectly, thank you very much.


order imports

The order of imports should be:
from collections import OrderedDict

import PySpin
import pyaudio
import pyrealsense2 as rs

import neurobooth_os.config as cfg
from neurobooth_os.iout.mbient import Sensor

instead of
https://github.com/neurobooth/neurobooth-os/blob/265231538fb0e93cbb05ad00ae01e5034f3245e0/neurobooth_os/iout/get_dev_metainfo.py#L8-L13
that is more general libraries (e.g., Python builtins) first, then specific ones.
to be done in all files

closed by #46


ERROR

2020-12-05 20:52:45,387 Websocket client connected.
2020-12-05 20:52:45,402 POST: https://auth.iqoption.com/api/v2/login headers: {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36', 'Accept-Encoding': 'gzip, deflate', 'Accept': '/', 'Connection': 'keep-alive'} cookies: {}
2020-12-05 20:52:45,404 Starting new HTTPS connection (1): auth.iqoption.com:443
2020-12-05 20:52:46,014 {"name":"timeSync","msg":1607181766119}
2020-12-05 20:52:46,015 {"name":"heartbeat","msg":1607181766119}
2020-12-05 20:52:46,273 <Response [401]>
2020-12-05 20:52:46,274 {"code":"invalid_credentials","message":"You entered the wrong credentials. Please check that the login/password is correct."}
2020-12-05 20:52:46,274 {'Server': 'nginx', 'Date': 'Sat, 05 Dec 2020 15:22:46 GMT', 'Content-Type': 'application/json; charset=utf-8', 'Content-Length': '126', 'Connection': 'keep-alive', 'Vary': 'Origin', 'X-Tracing-Key': '9571cde3-829d-4074-93d2-d593f8147aae'}
2020-12-05 20:52:46,274 <RequestsCookieJar[]>
2020-12-05 20:52:46,468 Websocket connection closed.
Start getting candles ... ============================>
2020-12-05 20:52:46,470 error get_candles need reconnect
2020-12-05 20:52:47,482 Websocket client connected.
2020-12-05 20:52:47,497 POST: https://auth.iqoption.com/api/v2/login headers: {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/53

Run this command on your terminal:
cp env.example .env

And then edit your .env file using your account info(email and password for IQ_Option dashboard).
Above error is showing you are not authorized to receive any data.
Feel free to ask further!
I'm just starting the project. :)


GitHub App deprecation plan

ref: #38
So here's what I'm thinking:
We'll announce the deprecation on Discourse and tell everyone to move to GitHub Actions. I'm not sure when this will be, I need to improve the new version and add tests and stuff first, I just haven't had much time to work on it.
The deprecation period can be a few months, there's no real rush. During this period, the GitHub App should:

Completely ignore repos that already have TagBot set up as a GitHub Action
Create pull requests to enable TagBot in all other enabled repos that are Julia packages (this can happen in bulk right at the beginning)
When writing the final release notification comment, add a deprecation notice with reference to the Discourse post and the PR that was previously created.

After the deprecation period, we can either shut everything off, or keep it running but with no functionality except for a "Move to GitHub Actions now" message.

We should probably coordinate a bit with https://github.com/davidanthoff/PkgButlerEngine.jl, to make sure we don't have different bots/workflows try to configure different things in repos, right?

I think they can operate separately. The worst that can happen is the user gets one PR from TagBot and another from Butler, which isn't the end of the world.
But to be safe, TagBot can check if Butler is configured, and not do the PR in those repos.
Unrelated, but will Butler try to revert changes to a workflow file? e.g. if I manually update the TagBot configuration that Butler added, will it become "out of date"?

Yes, butler "owns" certain files, and so those shouldn't be manually edited.
There are also some other files where it makes targeted changes, but again, those changes would come back as soon as one tries to revert them.
Detecting whether the butler version of tagbot is installed is simple, though: just check whether the file jlpkgbutler-tagbot-workflow.yml is present (like in https://github.com/davidanthoff/StringBuilders.jl/tree/master/.github/workflows).

In that case, there could be some thinking to do on how to support configurable stuff (which TagBot is to some extent). I guess you'd have to configure each action through Butler (like putting a TagBot section in the Butler config file).
Alternatively, you could just say that Butler supports the base case and if you deviate from that, you should be managing your stuff yourself.

Yes, I've been thinking about that a lot :) I think (right now) I'm thinking that a) I'd like to keep options really minimally, so that it enforces some unity across the ecosystem, but b) when we really need options, have those in the .jlpkgbutler.toml. Another option is that if you buy into a given template, then you just have to live with the defaults for that template (or choose a different template that for example just leaves certain parts of your package alone). But I'm not super sure about any of this yet...

Meh, different opinions. :man_shrugging:

@christopher-dG Can this be closed now that you've made all those PRs?


readableColor not returning the correct accessible value

polished version: 4.0.4
JSS-in_CSS library and version: styled-components 5.2.1
Any relevant JS library and version: React 17.0.0

Mixin/Helper/Shorthand Usage
readableColor("purple",  "pink",  "navy", true);

What You Are Seeing

The Problem
on readableColor unit tests, the it block on line 13 "should return custom light background when passed dark color" is being tested passing a dark colour as the 2nd argument and light color as the 3rd argument, however, the function input signature expects a light colour as the 2nd param and dark colour as the 3rd parameter.
What You Expected To See

As specified on the documentation:

Returns black or white (or optional light and dark return colors) for best contrast depending on the luminosity of the given color.

So, following the current function input signature, if I pass the following values:

// purple as my given color
// pink as my optional light color, 2nd arg
// navy as my optional dark color, 3rd arg

 readableColor("purple",  "pink", "navy", true);

I expect the returning value to be my optional light color "pink",  as it has no contrast issues with "purple", (the "given color")  but instead,  I got "white" as the defaultLightReturnColor.
Reproduction

I have created a CodeSandbox example to reproduce the issue

@dgattoni This is working as intended, albeit with slightly confusing parameter names. lightReturnColor is the color you want to be returned for light backgrounds and vice versa for dark. We can update to be more explicit (lightBackgroundReturnColor). The way to reason about it is we can't guarantee you are actually passing a light color so we are naming it after the background color vs the color you are passing.

Docs and signature updated in v4.0.5.

Awesome! Thank you @bhough for the update! 🙌


Update Node.js version to ensure Windows compatibility

The previous version did not have a corresponding Windows file at https://nodejs.org/download/v8-canary/v21.0.0-v8-canary202309143a48826a08/.
This change ensures that the project can now be built on Windows without altering any existing functionality.
Running this project on Windows before the change results in the following error message:
Could not determine the dependencies of task ':kotlinNodeJsSetup'.
> Could not resolve all files for configuration ':detachedConfiguration1'.
   > Could not find org.nodejs:node:21.0.0-v8-canary202309143a48826a08.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/org/nodejs/node/21.0.0-v8-canary202309143a48826a08/node-21.0.0-v8-canary202309143a48826a08.pom
       - https://nodejs.org/download/v8-canary/v21.0.0-v8-canary202309143a48826a08/node-v21.0.0-v8-canary202309143a48826a08-win-x64.zip Required by: project :

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

Hi! Thank you for your contribution.
I've just updated Node.js and switched to the more stable nightly channel. Could you please check if it helps?

Hi! Thank you for your contribution. I've just updated Node.js and switched to the more stable nightly channel. Could you please check if it helps?

That solves it :)

@bashor
That solves it :)

Great! Thanks for checking!


SAK-33920 Preferences hidden sites shows html entities for non-englis…

…h characters

This seems like a pattern that may be needed elsewhere, does it make sense to put decodeEntities in a more global namespace (maybe headscript)?

That's probably a good idea, @ern!

I don't know but it seems not so common. The server is rendering a hidden html div with all the information and then using javascript to rewrite the page. I think this is not very common, all the tools render the data directly from the server, or should use html data attributes. IMHO this is a little bit tricky, so the js decodeEntities shouldn't have use in other places.


The container operating system does not match the host operating system.: unknown

Issue:
I am unable to run a Windows container nerdctl + containerd, using the following command:
nerdctl run -it hello-world:latest
When running the above command, I get the following error:
time="2022-01-28T04:05:51-08:00" level=fatal msg="failed to create shim: hcs::CreateComputeSystem 29e97983ef3a26e0f4d214059d65229c1ecf65c20686a2e2537d4eaf8a9e7ca5: The container operating system does not match the host operating system.: unknown"

Also, if I try using the following command to manually specify the platform type --platform windows/amd64 I get this slightly different error message:
time="2022-01-28T04:05:30-08:00" level=warning msg="Platform \"windows/amd64\" seems incompatible with the host platform \"windows/amd64\". If you see \"exec format error\", see https://github.com/containerd/nerdctl/blob/master/docs/multi-platform.md"
time="2022-01-28T04:05:32-08:00" level=fatal msg="failed to create shim: hcs::CreateComputeSystem fb3c289785a8ff2f3f71b018f689fa3eeae36ae1820c6b47eeb39053d0c561b3: The container operating system does not match the host operating system.: unknown"

If it helps, I noticed something weird when I run nerdctl.exe images. When I run the command, it prints the container image twice for some reason:

Finally, for some additional information, here's the information I get back if I run nerdctl.exe info:
PS C:\Users\Administrator> nerdctl.exe info
Client:
 Namespace:     default
 Debug Mode:    false

Server:
 Server Version: v1.5.9
 Storage Driver: windows
 Logging Driver: json-file
 Cgroup Driver:
 Cgroup Version:
 Plugins:
  Log: json-file
  Storage: windows-lcow windows
 Security Options:
 Kernel Version:
 Operating System:
 OSType: windows
 Architecture:
 CPUs: 0
 Total Memory: 0B
 Name: WIN-J0I7NK4V564
 ID: 4855ff2e-67d5-4f2a-94da-a86773dec56d

Is there something I did wrong with setting up containerd, or is there something I need to configure with nerdctl? Any guidance would be greatly appreciated.
My Environment:

OS: Windows Server 2019
OS Version: 1809 (OS Build 17763.1282)
CPU arch: Intel x86-64
nerdctl version: v0.16.0
containerd version v1.5.9
Other information:

Is the Windows Container feature enabled: Yes
Is Hyper-v enabled: Yes, and I also tried with it uninstalled but I still encounter the same issue

This looks like something it is parsing the manifest properly.  Since you are on WS2019, could you try using hello-world:nanoserver-1809 directly?

confirmed nerdctl run -it hello-world:latest is failing on WS2019 and nerdctl.exe run -it hello-world:nanoserver-1809 works.  Also repo's on containerd 1.6
Haven't debugged but I think it maybe something in this area. Interestingly we are using a multi arch image in test suite
https://github.com/containerd/nerdctl/blob/2f0cf7586ed6763df2a6252d6f97d5512f8fc2f4/cmd/nerdctl/run.go#L626-L631

Nice! As you recommended nerdctl.exe run -it hello-world:nanoserver-1809 works for me as well. I guess it was partially my mistake of not using the correct image. But also, I'm guessing that the multi arch windows image also still should have worked. Is my understanding correct?

yes hello-world:latest should work as it has a windows manifest for 1809:
(docker manifest inspect hello-world:latest -v | ConvertFrom-Json).Descriptor.platform."os.version"
10.0.20348.473
10.0.17763.2458

Tracked it down to https://github.com/containerd/containerd/blob/9c676e98dde995db46841a2c6126ad709e3fc7d7/platforms/platforms.go#L263
This is clearing out the OSVersion and is called with https://github.com/containerd/nerdctl/pull/448
The reason CI is passing is due to 1809 being the first in the manifest of the image being used with tests.

Multi arch is works with https://github.com/containerd/containerd/pull/6491

Damn, thanks for the lightening fast turnaround @jsturtevant !  😀

It was a little more complicated than initially thought but I know have it working properly I think.  See the containerd pr for details


[ACR] Close client

Checked samples and tests folder, close client in each of the test.

API change check
API changes are not detected in this pull request.

Out of curiosity, did you also try calling .close() on the client? I think that should also work, but I could be mistaken

I didn't call .close(), but I think that also works. I was trying to call close after each test, but was recommended to write in with style.


Deprecation of before_first_request leads to issue with Gunicorn --preload while launching a Thread in the Setup Code

Flask 2.2.2 has deprecated before_first_request, advising us to instead run the setup code in the the factory function that creates the app.
I've found a case where this solution does not work. The prerequisite is that the application is launched from Gunicorn with the --preload option, and that you want to have a global variable which is shared among all the workers/threads.
Running generic setup code results in the memory of the global variable apparently not being shared, while running the code in before_first_request behaves according to expectations.

Here is the code to reproduce.
It has a global variable called global_list. There is a thread that is supposed to be launched in the setup code that append values onto the global variable. A GET API will return the result of the global variable.
When using before_first_request, it runs as expected. Calling GET will return the populated values in the list.
When using independent setup code, the global variable is not global and is not shared.
from flask import Flask, Blueprint
import threading
import time

global_list = []

bp = Blueprint('hello', __name__)

@bp.get('/')
def home():
    return global_list

def create_app():
    app = Flask(__name__)
    app.register_blueprint(bp)
    run_setup_code()
    # this works fine but is deprecated in 2.2.2
    # app.before_first_request(run_setup_code)
    return app

def run_setup_code():
    t = threading.Thread(target=work, daemon=True)
    t.start()

def work():
    for i in range(100):
        global_list.append(i)
        print('in _setup', global_list)
        time.sleep(2)

Run this code via:
gunicorn --preload --workers=1 --threads=1 "app:create_app()" --bind=<IP_ADDRESS>:3000

You will see from the print statement that the global variable is being appended to. You can confirm this variable is not being shared correctly by calling the following, which will not return the values in the global list.
http GET :3000/

The desired behavior here is that the global_variable will be shared between the work thread and the gunicorn worker process. Calling GET / should return a list of all the values that have been appended in the work thread.
The actual behavior is that calling GET / will not return the list of values.

This works fine with before_first_request while using gunicorn's --preload option.
It also works fine if you remove the --preload option and just run the setup code in the factory function.

Environment:

Python version:3.9,3.10
Flask version:2.2.2

Hi @davidism
Would you happen to know of a possible workaround to this issue, short of not using --preload?


Fail release workflows on forks

Description
The workflows are running as scheduled and are creating pull requests on forks. I even checked @Saransh-cpp's fork to confirm (See https://github.com/Saransh-cpp/PyBaMM/pulls).
It will now fail release related workflows on forks.

Everyone, if you have any PRs created on your fork, please close them. Thanks.

Oh, I did not notice the PRs on my fork 😂


Add ScriptsToInclude to the Module Manifest.

Summary of the new feature / enhancement
To extent on issue #18740 Best practice: import functions in a module with a more practical propose:
Adding a ScriptsToInclude to Module manifest elements would IMO allow for a safer (in terms of making module design misstakes) way to include scripts than dot-sourcing (invoking) multiple scripts from the <module>.psm1 file where only the embedded function (usually with the same name as the script file) is ment to be included.
Proposed technical implementation details (optional)
My expectation of a ScriptsToInclude module manifest element, is that it loads one or more scripts (possibly supporting wildcards) into the module as a function using the script name as the function name similar as installing a script from the PowerShell Gallery (Install-Script -Name <MyScript>).
Maintaining (as debugging) the script apart (or not) from the module would also be easier as one might simply be able to test it by using it's file name .\MyScript.ps1 (without dot-sourcing first) and even would be able compare the result with the already loaded module function (just named MyScript).

Thanks for the link to the previous issue. I thought that had the best solution.
The ideal form of a script module is a single psm1 file and no dot-sourced scripts. Your approach is trying to shift the responsibility of what the module packager should be doing onto the import process.
Regarding the testing, Pester will let you test complete modules so all the tools are already there.

Besides by rebuilding and reloading the whole module, you will loose the reference of how the the orginal function reacted in the prior full module release..

Not really. That is all part of Test-Driven-Development and software versioning.
You should always be able to refer to how a previous revision behaves by simply running the previous revision of the module.
Likewise your tests should be written first and define how you want the module to behave. You write the code to meet the tests.
Your tests should alert you when your module changes in expected behaviour.
For every bug, defect, change etc add more tests to your suite so you are defining exactly how your module behaves and prevent regressions.

I can understand the ask, thou we already have NestedModules for importing into the Module Scope (which you could do what you want with) or the ScriptsToProcess field which will import any script you specify into the session before loading the module that's to be imported, which also could be used to do what you want, just differently.
Not all scripts to add are a single function, so adding this is not ideal either.
I personally can't see a need for this especially as we recommend a build and test process that rolls up into a single psm1 when working with script modules. Due to the amount of performance gains you get with it
Regarding

Besides, by rebuilding and reloading the whole module, you will loose the reference of how the the orginal function reacted in the prior full module release..

One of the ways that i've used in developing locally in my own projects in a way that enables me to not loose this and until I am happy with how it functions, I may end up with 5..100 run sessions in that time split across devices and across multiple different days.
I do this with Transcription enabled, and if it's a simple small change to a function definiton I often will just overwrite it in the Function:\ path & test out how this is manually.
I then tend to run each new build of a module in a side-by-side session for inspection of intention vs actual behavior.
That way I can inspect as I go and if I want to dump out to disk any session info I use Export-CLIXML for this so that I can inspect it at a later date if needs be.

@kilasuit,
Thank you for you feedback, comments and suggestions.
Maybe this issue (and the one #18740 referring to) should be more of a discussion topic.
I guess that the point I am trying to make comes down to that PowerShell module (.psm) files aren't (in a broad sense) as safe to work with as they could be. Using the NestedModules or ScriptsToProcess fields won't change that.
You might compare this to a general PowerShell Data (.psd1) file: one could rename the .psd1 file to a .ps1 file and just invoke (dot-source) that, the results are the same but it is not recommended because it is not safe. PowerShell Data (.psd1) file are protected by the PowerShell Restricted Language Mode. (I bet that somewhere under the hood, the .SafeGetValue() method is used for this.)
For a PowerShell module (.psm1) files (or any other way to define the module), there are no boundaries, I can only invoke script (without any restrictions) similar to invoking a .ps1 script in Full Language Mode, where essentially I only need to define a set of specific items as functions, classes, enums and statements as requires and using and possibly a few things more as (hardcoded) variable definitions (anything else could be done via the ScriptsToProcess field). You might almost think of a "PowerShell Definition Language Mode". But than, there is already a restricted manifest that is further bound by its predefined settings. Unfortunately each manifest settings is invoking one or more (cascaded) scripts to define the items (as functions, classes, etc.) rather than loading these definitions into the module...


*sentry.Scope has no field or method Transaction

Summary
I have a problem while trying to setup sentry according to this docs. https://docs.sentry.io/platforms/go/guides/gin/performance/?original_referrer=https%3A%2F%2Fwww.google.com%2F
Steps To Reproduce
func initSentry(cfg *config.Config) error {
	if err := sentry.Init(sentry.ClientOptions{
		Dsn:           cfg.Sentry.DSN,
		EnableTracing: cfg.Sentry.EnableTracing,
		Environment:   cfg.App.Environment,
		TracesSampler: sentry.TracesSampler(func(ctx sentry.SamplingContext) float64 {
			hub := sentry.GetHubFromContext(ctx.Span.Context())
			name := hub.Scope().Transaction()
			return 0.2
		}),
		AttachStacktrace: true,
	}); err != nil {
		fmt.Printf("Sentry initialization failed:%v\n", err)
		return err
	}
	return nil
}

Expected Behavior
I wan to filter out some request.
Screenshots

Environment
SDK

sentry-go version: 0.23
Go version: 1.20
Using Go Modules? [yes/no] yes

Sentry

Using hosted Sentry in sentry.io? [yes/no] yes

You can do the following.
TracesSampler: func(ctx sentry.SamplingContext) float64 {
	if ctx.Span.Name == "GET /health" {
		return 0
	}
	return 1
},

I'll get the docs updated.


Example training script for autoregressive lm task

Fixed a few bugs, and added a tokenization utility. Added a script to demo that trains a tiny GPT on 2000 samples from OpenWebText


Feature suggestion: node output and input remember choice suggestions on dragging to nothing

Your Context node when dragged don't suggest another Context node.
Most of the time your reroute don't suggest another reroute.
I think you could maybe fix this for your nodes, but a great feature would be to make Comfy remember when we drag any connection to nothing and then "add" a node manually, make that chosen node to always show when the same connection get dragged by the same node. I think It would help so much with expanding workflows.
Thank you so much!

You're right. ComfyUI only compiles the suggestion nodes from "required" inputs, but the CONTEXT input/output are optional so ComfyUI skips them. Just commited a fix to manually add all the Context nodes to this suggestion box.
It looks like ComfyUI does add reroute (including rgthree reroute), so that seems to be working.


Feature request: Public Groups

Is your feature request related to a problem?
When a user joins converse they are met with the daunting task of finding people
Let's give them an easier way to join groups that are made public
Describe the solution to the problem
When creating a group invite have some way to set if the group invite should be Public
If Public store public = true in backend
Create an endpoint to expose public groups (let's just pretend the latest 10 that have been joined)
End user will have a screen to navigate to to see the list, which will allow them to click to get more info on the group and join via the existing GroupInvite screen
Describe the uses cases for the feature
No response
Additional details
No response

One challenge here is the group size limit. How does this work once we get past the 400 person limit?

Ah good callout, I think we may need to hide it once it gets close to the limit in some way 🤔


All command parameters cleanup

Update commands that can accept (for e.g.) discord Role/Emoji/Channel

Commands that use it :

Refactor removerole to take Role as parameter instead?

Partially Fixed in 0da8563 - No commands have un-needed args anymore.
Not fixed : String to Role/Emoji/Channel implicit conversion etc.

Updated in https://github.com/kevslinger/bot-be-named/commit/8c760366996c807bd658d63d44f86101c2bdaa77 because removing args requires quotes and quotes are a pain when not required

Reopening. Going to use @Role @TextChannel mention etc as parameters as well instead of string conversations only.
Probably just need to grep for replace in the code to get most of it

Reopening. Going to use @ROLE @TextChannel mention etc as parameters as well instead of string conversations only.
Probably just need to grep for replace in the code to get most of it

Done for all commands except find_channel, assignrole in 1773648

Done for assignrole in ecdc2d8

Change Category commands to CategoryChannel instead of str and see what happens (~clonecat ~shiftcat etc)


Add README

Please add README with some description and example

added a first version of a readme, is this enough for now, or do you think it needs more specific informations?

now it is way better


View Storm Cluster status

Hello,
I'm trying to Add a STORM cluster to burrow (2 Kafka clusters are working ok)
Here is the config:
[storm "STORM"]
zookeeper=xetl1.our-domain.com
zookeeper=xetl2.our-domain.com
zookeeper=xetl3.our-domain.com
zookeeper=xetl4.our-domain.com
zookeeper=xetl5.our-domain.com
zookeeper-port=2181
zookeeper-path="/kafkaspoutsdp1"
In "debug" logging i see these lines
2016-07-11 16:44:13 [DEBUG] Add Storm Kafka consumer group RTEnrichmentTopology to cluster STORM
and then i can actually see the topology id etc... as you can see here:
2016-07-11 16:44:45 [DEBUG] Parsed storm state [{"topology":{"id":"ddf7dcd4-cab2-4c18-9104-3f140d26a975","name":"RTEnrichment"},"offset":2446846616,"partition":75,"broker":{"host":"i-xetl3","port":9092},"topic":"adEvent1"}] to structure [&{{ddf7dcd4-cab2-4c18-9104-3f140d26a975 RTEnrichment}<PHONE_NUMBER> 75 {i-xetl3 9092} adEvent1}]
2016-07-11 16:44:45 [DEBUG] About to sync Storm offset: [RTEnrichmentTopology,adEvent1,75]::[2446846616,1468255485271]
2016-07-11 16:44:45 [DEBUG] Parsed storm state [{"topology":{"id":"ddf7dcd4-cab2-4c18-9104-3f140d26a975","name":"RTEnrichment"},"offset":2446634547,"partition":74,"broker":{"host":"i-xetl2","port":9092},"topic":"adEvent1"}] to structure [&{{ddf7dcd4-cab2-4c18-9104-3f140d26a975 RTEnrichment}<PHONE_NUMBER> 74 {i-xetl2 9092} adEvent1}]
However i'm unable to view this storm cluster in burrow.
if it is named "STORM" in the config, how can i view its status ?
If i go here:
http://burrow.our-domain.com/v2/kafka
or here
http://burrow.our-domain.com/v2/zookeeper
I only see the "KAFKA" clusters and the STORM does not exists

does anyone have any leads, even just a direction for me to investigate will be great
Thank you


TypeError: Cannot read property 'route' of undefined

I am trying to test below code -
But when I am calling html() or render() method I am getting error.
I am using react-router v4 and enzyme 2.6.0
import React from 'react';
import { expect } from 'chai';
import { shallow, mount, render } from 'enzyme';
import { NavLink } from 'react-router-dom';

describe("<NavLink  />", () => {
    it("contains correct passed prop", () => {
        const comp = (
            <NavLink to="/home"  className={"test"}>
                NaveLink Test
            </NavLink>
        );
        const wrapper
            = shallow( comp );
        console.log(wrapper.html());
    });
});

Error :
 at Route.computeMatch (node_modules/react-router-dom/node_modules/react-router/Route.js:66:22)
      at new Route (node_modules/react-router-dom/node_modules/react-router/Route.js:43:20)
      at node_modules/react-dom/lib/ReactCompositeComponent.js:295:18
      at measureLifeCyclePerf (node_modules/react-dom/lib/ReactCompositeComponent.js:75:12)
      at ReactCompositeComponentWrapper._constructComponentWithoutOwner (node_modules/react-dom/lib/ReactCompositeComponent.js:294:16)
      at ReactCompositeComponentWrapper._constructComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:280:21)
      at ReactCompositeComponentWrapper.mountComponent (node_modules/react-dom/lib/ReactCompositeComponent.js:188:21)
      at Object.mountComponent (node_modules/react-dom/lib/ReactReconciler.js:46:35)
      at node_modules/react-dom/lib/ReactServerRendering.js:45:36
      at ReactServerRenderingTransaction.perform (node_modules/react-dom/lib/Transaction.js:140:20)
      at renderToStringImpl (node_modules/react-dom/lib/ReactServerRendering.js:43:24)
      at renderToStaticMarkup (node_modules/react-dom/lib/ReactServerRendering.js:83:10)
      at ShallowWrapper.<anonymous> (node_modules/enzyme/build/ShallowWrapper.js:765:88)
      at ShallowWrapper.single (node_modules/enzyme/build/ShallowWrapper.js:1504:25)
      at ShallowWrapper.html (node_modules/enzyme/build/ShallowWrapper.js:764:21)
      at Context.<anonymous> (test/components/navlink.spec.js:16:16)

What's your component code look like?

My component is already there in test case. Actually I am using NavLink from react-router-dom.

Ah, sorry, I missed that. Calling .html() or .render() fully renders the entire NavLink tree - if you render your example component directly on the page, with nothing else, I'd expect you'd get the same error. Do you?

Yes you are right.

Wait. I did not get your answer. Please explain a little bit why that error is occurring?

That component is required to be used inside a certain context from react-router. It cannot be completely rendered in isolation.  You may be able to provide a mock context that imitates the one that react-router provides, but otherwise I would stick to some assertions about what NavLink shallow-renders.
Separately, you should only ever test only components. NavLink is not yours; you do not need to test it.

But I felt that each react component is like a well isolated system in itself so it can be tested in isolation as long as I am passing props and State required for that component. Also while instantiating NavLink did not complained anything about context related thing.
I don't know from where route.js is coming into picture. May be I am missing some important stuff.

That's not accurate; there's also context, but either way, you shouldn't be writing tests for code you didn't write yourself.

Ok so context could be the issue. But regarding the test case What if I used NavLink to compose another component? I was doing that only, I wrote test case for my component only. But there also I was getting exactly same error. Why do I  bother about re testing react-router NavLink?  An example could be a header bar where NAV link can be used.
So if I pickup somebody else component how do I know that there is hidden context as well other than props or state.

All you need to test is that your code shallow renders a NavLink with the proper props and children.


subfinder: 2.6.3 -> 2.6.4

Diff: https://github.com/projectdiscovery/subfinder/compare/v2.6.3...v2.6.4
Changelog: https://github.com/projectdiscovery/subfinder/releases/tag/v2.6.4
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

subfinder


Support a kubeadm-dind-cluster

Is the ksync supports a kubeadm-dind-cluster?
https://github.com/kubernetes-sigs/kubeadm-dind-cluster
I got an error of the Docker Storage Root in ksync doctor as below:
$ ksync doctor
Extra Binaries                              ✓
Cluster Config                              ✓
Cluster Connection                          ✓
Cluster Version                             ✓
Cluster Permissions                         ✓
Cluster Service                             ✓
Service Health                              ✓
Service Version                             ✓
Docker Version                              ✓
Docker Storage Driver                       ✓
Docker Storage Root                         ✘
↳	The configured docker storage root (/dind/docker) on node (kube-node-2) does not match the storage root specified: /var/lib/docker. Please check your remote storage root or pass the correct root in init with --docker-root.

Or, am I forgot something?

@timfallmk Thank you for your support. I will check it!

I tried with --docker-root=/dind/docker and works well.
$ ksync init --docker-root=/dind/docker
$ ksync doctor --docker-root=/dind/docker


Resolves #1693

Name parameter accepts wildcard characters.
https://github.com/MicrosoftDocs/windows-powershell-docs/issues/1693

Docs Build status updates of commit 437a5c5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/windows/netadapter/Enable-NetAdapterVmq.md
:white_check_mark:Succeeded

docset/winserver2012-ps/netadapter/Enable-NetAdapterVmq.md
:white_check_mark:Succeeded

docset/winserver2012r2-ps/netadapter/Enable-NetAdapterVmq.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Feature request: mark all messages as "read"

Woah, sorry for not responding promptly haha. Should be easy to implement, I'll see if I can get to this sometime soon, if not pull requests are accepted!


Storage Medium

I see the below  behavior when I choose to have localStorage as the storage medium. I would like to double check, if that is what it is intended to be or am misinterpreting it.
So I create a cache as follows,
var cnCache = CacheFactory("CNCache",{
maxAge: 24 * 60 * 60 * 1000
,deleteOnExpire: 'aggressive'
,storageMode: 'localStorage'
});
And set the following attribute in cache, cnCache.put("myAttr","myValue");
Once the attribute is set am able to find it from localStorage. All is well till now.
Now I refresh the page and try to get the CNCache from cache factory which does not exist. But the data (myAttr) is still in localStorage. So I have been pushed to recreate the cache with the same name and options, again once the page is refreshed.
Now everything is back in shape, we were able to get hold of the attributes from the localStorage which was set before the page refresh.
Am not clear where in, though we set storageMode as localstorage it will not retain the cache but just the localStorage. And to access it every time we need to recreate the cache with the same options.
Please clarify.

to access it every time we need to recreate the cache with the same options.

That right there is the truth of JavaScript in the browser. localStorage can only hold strings. The JavaScript objects and methods created when you run var cnCache = CacheFactory("CNCache",{...}); cannot be serialized to localStorage (and they are wiped from memory when you refresh), so every time your apps boots up, it needs to execute var cnCache = CacheFactory("CNCache",{...});, which will then be able to access any data that was previously saved to localStorage.

Closing because I’m not sure this is an issue, if you are convinced that this is really a bug, please feel free to re-open the issue and add more information:

good - Your versions of Angular, Angular-cache, etc, relevant console logs/error, code examples that revealed the issue
better - A plnkr, fiddle, or bin that demonstrates the issue
best - A Pull Request that fixes the issue, including test coverage for the issue and the fix

Otherwise support is done via the mailing list.


Always use double quotes for comments

When trying to fix double quotes in a comment (https://github.com/tdwg/dwc/commit/5a35c10c4c3437177f05d89cc212b6391d31fef1), I noticed that the CSV with comments for each term (https://github.com/tdwg/dwc/blob/use-quotes/build/config/terms.csv) only uses double quotes for the comment when necessary (e.g. when there was a comma in the comment).
I think this can lead to problems if the file is edited manually: introducing a comma in the comment field would break the csv. This pull requests adds quotes for all comments. It does not affect the guide and the CSV is now rendered correctly on GitHub: https://github.com/tdwg/dwc/blob/8fabcf056b9eb30fe08b8169bef25bdcbc3f40c9/build/config/terms.csv
Note 1: I wonder what will happen if this file is imported and exported in Google Refine though. Will quotes be stripped again?
Note 2: If this PR is not accepted, https://github.com/tdwg/dwc/commit/5a35c10c4c3437177f05d89cc212b6391d31fef1 still needs to be fixed in some way.

I don't think this is a good idea for the reasons given. Editing in anything that does a CSV export will not be able to reproduce this rule around a subset of the fields in the file. It COULD enclose all fields in double quotes though. No matter what, there is the possibility of messing things up when editing manually. I would suggest to leave it as it is.

Agreed to not implement/enforce


Amplify codegen for TypeScript generate broken custom queries when have no parameters

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
v18.9.0
Amplify CLI Version
12.5.1
What operating system are you using?
Mac
Amplify Codegen Command
codegen
Describe the bug
I have custom queries & mutations in my schema.graphql that does not have parameter.
The snippet of my schema.graphql is in other section below.
The generated code in queries.ts that I got is:
export const getOverview = /* GraphQL */ `query GetOverview {
  getOverview {
    id
    __typename
  }
}
` as GeneratedQuery<
  APITypes.GetOverviewQueryVariables,
  APITypes.GetOverview
>;

and in the graphql.ts there is no APITypes.GetOverviewQueryVariables.
So, it's causing error "... has no exported member name xxx" when I ran npm run build
This is my .graphqlconfig.yml
projects:
  myConnect:
    schemaPath: amplify/backend/api/myConnect/build/schema.graphql
    includes:
      - src/graphql/**/*.ts
    excludes:
      - ./amplify/**
    extensions:
      amplify:
        codeGenTarget: typescript
        generatedFileName: src/graphql/graphql.ts
        docsFilePath: src/graphql
        region: us-east-1
        apiId: null
        maxDepth: 4
extensions:
  amplify:
    version: 3

Expected behavior
queries.ts should not have errors when a custom query don't have parameters.
or in the API.ts should generate APITypes.GetOverviewQueryVariables that could handle queries with no parameters.
So the generated queries.ts, mutations.ts, & subscriptions.ts could compile on npm run build
Reproduction steps

amplify upgrade to 12.5.1
have custom queries that have no parameters in schema.graphql
run amplify codegen
run npm run build
it will cause the build error with " ... has no exported members"

GraphQL schema(s)

type Query {
  getOverview : ResponseObject
    @function(name: "functionName-${env}")
    @auth(rules: [{ allow: private }])
}

Log output

# Put your logs below this line

Additional information
No response

Incidentally, I asked pretty much the same question on stackoverflow.com recently.

We're having the same issue, could you verify that your API.ts is actually being generated?
In our case, the new codegen actually failed to generate a new API.ts file and it was using an older version which caused this error.

We're having the same issue, could you verify that your API.ts is actually being generated?
In our case, the new codegen actually failed to generate a new API.ts file and it was using an older version which caused this error.

Yes, the API.ts is generated.
I previously had issue with the API.ts not being generated, but now I got it generated by re-doing amplify codegen configure as mentioned by someone in the discord channel:
https://discord.com/channels/705853757799399426/1155199104985604126/1155199104985604126
Specifically, by changing the includes part in the .graphqlconfig.yml to src/graphql/**/*.ts, which previously was the default value src/graphql/**.grapql.ts
After, API.ts got generated, now my next issue is with queries with no parameters that still ask for *QueryVariables that is not generated in the API.ts

Thank you. In our case, we were unable to generate the API.ts file unless we made sure the output directory was empty before running the codegen.
We're also having the exact same issue as you btw, all of our custom Mutations / Queries / Subscriptions without input parameters failed after running codegen with the latest CLI version.  +1

I was able to reproduce the issue with the following minimum schema. There seems to be an issue with any custom query.
type Query {
  getCustomFoo: Foo
}

type Foo @model {
  id: ID!
}

Marking as a bug and investigating a fix.

Fixed by https://github.com/aws-amplify/amplify-codegen/pull/737. It will be available in a future release.

Duplicate of https://github.com/aws-amplify/amplify-codegen/issues/736


This removes files with problematic licenses

We are trying to get OpenNI2 into Debian and found these files with
unfree Licenses. It would be great if you could make a new release soon
with these commits, so we can submit it to Debian.

Any news on this? Otherwise I will remove them for the Debian upload for now.

Hello Jochen,
Apologies for the delay... We took steps to be more responsive from now on.
I'm not certain we can definitely get rid of these problematically licensed files on master, for everybody, because I believe they're needed to build the windows installers.
In the meantime, I merged your changes on a debian branch, here: https://github.com/occipital/OpenNI2/tree/debian.
Would that be enough to get the Debian submission going, for the time being?
Thanks for taking care of this! Much appreciated.
NT

Actually we would need a new release without these files. I've pushed a DFSG free version to the Debian git already, so we should be ok as well. Still it would be great to get this fixed upstream :).

Would this work for you, temporarily?
https://github.com/occipital/OpenNI2/releases/tag/v2.2.0-debian

Thanks, but I've done the same on the Debian side already. The pull request is rather for a more permanent solution (like in future releases).

OK, got it. I'll try and think of something more permanent. Thanks again!


make star catcher project easier

break up step 3 into bite sized steps
break up step 4 into two steps

Happy to do this.
If we're breaking up step 4 into two parts, I'd suggest breaking up step 5 into two parts as well

That's a good point.
Putting a variable on the screen is not trivial in woof. However, I feel like it's important to put the variable on the screen first because otherwise you don't know if you're doing it right. Maybe start with the text sprite as the first part and then have them get the behavior of the variable

My thoughts exactly


Editor doesn't resolve module aliases

For example in the Password.elm you have "import Graphics.Input.Field as Field" the editor will then not show the docs for things such as Field.password which should be interpreted as Graphics.Input.Field.password.

This should be resolved in the latest redo of the website.
Thanks for the report!


SBW cannot parse Lightning addresses if they have non-latin characters

REPRO:
Enter a Lightning address (as specified here) which contains special characters, for example<EMAIL_ADDRESS>into the field "Bitocin address, invoice, email..." and press OK.
EXPECTED:
Move on to the "Lightning payment link" dialogue, as is the case for other latin-only Lightning addresses (e.g<EMAIL_ADDRESS>ACTUAL:
The field is cleared.

This behavior is compliant with spec here: https://github.com/fiatjaf/lnurl-rfc/blob/luds/16.md.
Specifically: The <username> is limited to a-z0-9-_..

Hi! The  part of the Lightning Address above is limited to a-z0-9-_.., e.g. leo. The spec does not limit the domain part of the Lightning Address, e.g. 比特幣.組織.香港.
Any valid domain should also be able to host valid Lightning Addresses. I hope this can be reopened and make it into a future update!

Non-ascii domains are not allowed in many places, I think it's because they're used in scams by faking ascii letters. Instead punycode is used.
My suggestion is that you try typing the lightning address as punycode in SBW: https://www.punycoder.com


Create: 0084-largest-rectangle-in-histogram.rb

File(s) Modified: 0084-largest-rectangle-in-histogram.rb.
Language(s) Used: ruby.
Submission URL: _https://leetcode.com/problems/largest-rectangle-in-histogram/submissions/971842653/_

Important
Please make sure the file name is lowercase and a duplicate file does not already exist before merging.

@Abdullah-J-Mustafa Thanks for your contribution 👍


remove the redundant id property on the first getStats result

this is always the same as the id on the outer object. Subsequent delta compression optimizes it away but on the first call it is still quite large. Saves ~2kb on the wire.
breaking change, requires new server version (see multistream branch)

server commit: https://github.com/opentok/rtcstats-server/commit/f10cb3658dd8bd13b8aeb83d0e67549a39a96cf3


feat: astro-font - optimize fonts & prevent CLS

Astro Font: https://www.launchfa.st/blog/building-astro-font
Changes
This PR integrates astro-font which automatically generates the fallback font and pass it as the CSS Variable.

I dont see the need, but nice try.


Package Lock File

Currently the nonexistence of a package lock file is stopping the project from being able to be expanded upon even on the simplest features like remove. This is because I do not want to put all the packages inside package.json like it is being done right now.
Following industry standards, I will make it so that the direct dependencies of the project are placed into package.json while all dependencies including the dependencies of the dependencies are placed in the package lock file.
I personally like the way yarn handles their lock file. It is simple, simple to parse but for cross package manager compatibility sake using default lockfileVersion 3 may be good as I do not want this project to be another package manager contributors need to install.

I definitely think it is a good idea to use lockfile version 3. Due to this here is a list of things that need to be implemented in terms of info not already obtained by default but is still included (tgz url).

[ ] version
[ ] resolved
[ ] integrity
[ ] dependencies
[ ] engines
[ ] dev


How to write log to a file

Feature Request
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I have an issue when [...]
I put the Probot on a server which I have no access to terminal, which means I cannot use npm start >> log.txt to write log to file.
Is there any option for me to configure a log path for app.log to write to?
Describe the solution you'd like
A clear and concise description of what you want to happen. Add any considered drawbacks.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Teachability, Documentation, Adoption, Migration Strategy
If you can, explain how users will be able to use this and possibly write out a version the docs.
Maybe a screenshot or design?

Any update on this?

@Ovilia you can add a new stream to the logger at runtime, see Bunyan's docs on getting this working: https://github.com/trentm/node-bunyan#adding-a-stream
I've verified that this works as expected (logs everything to the file my-logs.log):
module.exports = app => {
  // Add a Bunyan stream
  app.log.target.addStream({
    path: path.join(__dirname, 'my-log.log')
  })

  // Regular Probot code
  app.on('...')
}

I'm going to close this out, but feel free to reopen if this isn't doing the trick!

Feature Request
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I have an issue when [...]
I put the Probot on a server which I have no access to terminal, which means I cannot use npm start >> log.txt to write log to file.
Is there any option for me to configure a log path for app.log to write to?
Describe the solution you'd like
A clear and concise description of what you want to happen. Add any considered drawbacks.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Teachability, Documentation, Adoption, Migration Strategy
If you can, explain how users will be able to use this and possibly write out a version the docs.
Maybe a screenshot or design?

#931 #917


Dead Link in all wiki pages

All wiki pages refer to this site: http://gatling.io/docs/
This is a dead link

Indeed.
Will fix ASAP.

On 27 févr. 2015, at 15:33, Philipp Sander<EMAIL_ADDRESS>wrote:
All wiki pages refer to this site: http://gatling.io/docs/
This is a dead link
—
Reply to this email directly or view it on GitHub.

Fixed :)


Doesn't sort numeric fields

If you have a data set with numeric values in, the values don't get sorted as you'd expect: they're sorted as strings (1 < 12 < 9).
For CSV data this is sort-of understandable as you have no way of telling, but for JSON can't you introspect the data type?

Yes, that is something that I noticed too and is on my roadmap to fix.
Originally there was some distinction made between numerical fields and categorical fields (strings), but that affected performance poorly and was mostly hardcoded to certain field names. However there is more intelligent approach I can take here - every column can be initially considered numerical, until content of the field proves otherwise.

The sorting of numeric values is now what you would expect - 1 <  9 < 12. It was fixed in this PR

On 4 December 2015 at 20:34, Tim G<EMAIL_ADDRESS>wrote:

The sorting of numeric values is now what you would expect - 1 < 9 < 12.
It was fixed in this PR https://github.com/tumblr/data-lasso/pull/8

Presumably the demo instance online wasn't updated?  If it was, then it
isn't working.
Ross

Good catch, updated the demo with latest build files. Thanks!


Error text is not accessible

The current implementation of error text is only distingushed as an error by the color. It should have some other sort of marker that distinguishes it as an error, so that it is easily separated from help text after failed validation. Maybe just a dot, like below?

Let the discussion commence 🏁

Is this still relevant?

Hvis vi skal begrense ikonbruk er kanskje dit eller kryss bra nok. Menja, er nok relevant enda

Tror dette bør sees på sammen med mulig ikonbehov for meldingsboksene våre hvor vi har samme problem.


No Code Highlighting in Sidebar Response

Issue: No Code Highlighting in Sidebar Response
Description:
In the sidebar, when displaying code snippets, there is no syntax highlighting being applied. The expected behavior is that code blocks should be highlighted according to the selected programming language and theme. Currently, code appears as plain text, making it harder to distinguish between syntax elements like keywords, variables, and comments.

Hi, can I work on this?

hey @andrewpareles can I work on this?

@Aryann15 go for it!

Some progress has been made here, but ideally we'd use Monaco editor. See https://github.com/voideditor/void/pull/77#issuecomment-2406719595


babelHelper is not defined is ES version

When using module with webpack2 (that uses ES version by default) you will get error:
Uncaught ReferenceError: babelHelpers is not defined

I found that compiled ES version of the module includes this part of code:
if ((typeof _ret === 'undefined' ? 'undefined' : babelHelpers.typeof(_ret)) === "object") return _ret.v;

but babelHelpers is not included in result compiled bundle.
Current workaround for me is to use:
import createFilterOptions from 'react-select-fast-filter-options/dist/commonjs';

If you'd like to submit a PR that fixes this I'll be happy to review it.

@bvaughn done, please check it

Fixed via b89e17d, available in 0.2.2


Bug in Documentation Page

Description
Found a bug on the documentation page 'docs/running-on-device.md' . Although the highlighted section in RED is not present on markdown file, unfortunately, it appears on Android/Windows page as evident in the screenshot.
Documentation version

0.67

hi @BattleOfPlassey thanks for the issue i sent a PR to fix this, thank you!!.

hi @BattleOfPlassey thanks for the issue , I sent a PR to fix this, thank you!!.

Thanks.

PR https://github.com/facebook/react-native-website/pull/2944 and https://github.com/facebook/react-native-website/pull/2943 fix this. So Closing this issue.


Review PxWeb_sabinevidal.json

It's all good @sabinevidal, don't worry about our tags, it helps our internal processes on who/how does the review :)


Galsim installation issue

Hi @tobias-liaudat,
I have encountered an issue with the current Galsim installation used by MCCD.
MCCD Issue
When installing MCCD from PyPi,
pip install mccd

Galsim is installed via pip as a dependency. Then when attempting to verify the current version of MCCD,
python -c "import mccd; print(mccd.__version__)"

I get the following errors:
macOS
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/sfarrens/Documents/Library/miniconda3/envs/mccd/lib/python3.7/site-packages/mccd/__init__.py", line 11, in <module>
    from .mccd import MCCD, mccd_quickload
  File "/Users/sfarrens/Documents/Library/miniconda3/envs/mccd/lib/python3.7/site-packages/mccd/mccd.py", line 22, in <module>
    import galsim as gs
  File "/Users/sfarrens/Documents/Library/miniconda3/envs/mccd/lib/python3.7/site-packages/galsim/__init__.py", line 112, in <module>
    from .position import Position, PositionI, PositionD
  File "/Users/sfarrens/Documents/Library/miniconda3/envs/mccd/lib/python3.7/site-packages/galsim/position.py", line 19, in <module>
    from . import _galsim
ImportError: dlopen(/Users/sfarrens/Documents/Library/miniconda3/envs/mccd/lib/python3.7/site-packages/galsim/_galsim.cpython-37m-darwin.so, 2): Library not loaded: @rpath/libgalsim.2.2.dylib
  Referenced from: /Users/sfarrens/Documents/Library/miniconda3/envs/mccd/lib/python3.7/site-packages/galsim/_galsim.cpython-37m-darwin.so
  Reason: image not found

CentOS Linux
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home/sfarrens/.conda/envs/mccd/lib/python3.7/site-packages/mccd/__init__.py", line 11, in <module>
    from .mccd import MCCD, mccd_quickload
  File "/home/sfarrens/.conda/envs/mccd/lib/python3.7/site-packages/mccd/mccd.py", line 22, in <module>
    import galsim as gs
  File "/home/sfarrens/.conda/envs/mccd/lib/python3.7/site-packages/galsim/__init__.py", line 112, in <module>
    from .position import Position, PositionI, PositionD
  File "/home/sfarrens/.conda/envs/mccd/lib/python3.7/site-packages/galsim/position.py", line 19, in <module>
    from . import _galsim
ImportError: libgalsim.so.2.2: cannot open shared object file: No such file or directory

ShapePipe Issue
This also creates an issue for ShapePipe (in particular on Candide, which uses CentOS Linux). ShapePipe installs Galsim from conda-forge, which a) allows MCCD to work fine but b) creates a conflict between the two Galsim installations on certain systems.
Proposed Solution
I recommend removing Galsim from your requirements.txt and making an new release of MCCD. This will resolve the ShapePipe issues.
With regards to the stand-alone MCCD installation, I think you can include a note that MCCD requires Galsim but it would be better to install this from source or via Conda.

Thanks @sfarrens I'll look at it and make a release to fix this issue and also #2

Thanks @sfarrens I'll look at it and make a release to fix this issue and also #2

Once the issue in the ModOpt package is handled , so that I can solve the issue #2 I will make a new release.

Once the issue in the ModOpt package is handled , so that I can solve the issue #2 I will make a new release.

This issue is solved.


Can't add DNS issues to watchlist

Operation System: Fedora Linux 29
Beaker version: 0.8.0

Open dat://example.com/

Expected: Error page with button that allows you to add the site to your watchlist.
Actual: You'll see a page saying "No DNS record found for dat://example.com".

Should we be watching, in that case? It's not really a "failed to find a peer" issue -- it's a "there isn't a dat setup here" issue.

I think it kinda depends on what the error is. If the error occurred because you have no internet and can't do a DNS query, it should be added. If the DNS query worked, but a record wasn't found, it shouldn't be added.

@RangerMauve Good point

Or there was an issue on the server, such as with Hashbase earlier today ... .


Add gradients to Vector FE

This PR requires #4326
This PR adds Gradients to vector-valued finite elements.
This allows H(div) elements to be used to solve a Stokes problem, for instance.
Only NURBS-based vector-valued finite elements have actual implementations of the gradient.
A stokes miniapp has been add to demonstrate the functionality.
Linear and bilinear integrators have been update to provide the integrators required for the Stokes problem.
The DenseTensor class has been extended to facilitate the integrators. Most notable are the 2 options to "flatten" the 3 dimensional array (I x J x K) in a classical matrix ((IJ) x K) vs (I x (JK)).

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#4375
@IdoAkkerman
@tzanio
@dylan-copeland + @mlstowell
7/14/24
⌛due 7/28/24
⌛due 8/4/24

PR Checklist

[ ] Code builds.
[ ] Code passes make style.
[ ] Update CHANGELOG:

[ ] Is this a new feature users need to be aware of? New or updated example or miniapp?
[ ] Does it make sense to create a new section in the CHANGELOG to group with other related features?

[ ] Update INSTALL:

[ ] Had a new optional library been added? If so, what range of versions of this library are required? (Make sure the external library is compatible with our BSD license, e.g. it is not licensed under GPL!)
[ ] Have the version ranges for any required or optional libraries changed?
[ ] Does make or cmake have a new target?
[ ] Did the requirements or the installation process change? (rare)

[ ] Update continuous integration server configurations if necessary (e.g. with new version requirements for each of MFEM's dependencies)

[ ] .github
[ ] .appveyor.yml

[ ] Update .gitignore:

[ ] Check if make distclean; git status shows any files that were generated from the source by the project (not an IDE) but we don't want to track in the repository.
[ ] Add new patterns (just for the new files above) and re-run the above test.

[ ] New examples:

[ ] All sample runs at the top of the example source file work.
[ ] Update examples/makefile:

[ ] Add the example code to the appropriate SEQ_EXAMPLES and PAR_EXAMPLES variables.
[ ] Add any files generated by it to the clean target.
[ ] Add the example binary and any files generated by it to the top-level .gitignore file.

[ ] Update examples/CMakeLists.txt:

[ ] Add the example code to the ALL_EXE_SRCS variable.
[ ] Make sure THIS_TEST_OPTIONS is set correctly for the new example.

[ ] List the new example in doc/CodeDocumentation.dox.
[ ] If new examples directory (e.g.examples/pumi), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add example-specific documentation, see e.g. the src/examples.md.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] In examples.md, list the example under the appropriate categories, add new categories if necessary.
[ ] Add a short description of the example in the "Extensive Examples" section of features.md.

[ ] New miniapps:

[ ] All sample runs at the top of the miniapp source file work.
[ ] Update top-level makefile and makefile in corresponding miniapp directory.
[ ] Add the miniapp binary and any files generated by it to the top-level .gitignore file.
[ ] Update CMake build system:

[ ] Update the CMakeLists.txt file in the miniapps directory, if the new miniapp is in a new directory.
[ ] Add/update the CMakeLists.txt file in the new miniapp directory.
[ ] Consider adding a new test for the new miniapp.

[ ] List the new miniapp in doc/CodeDocumentation.dox
[ ] If new miniapps directory (e.g.miniapps/nurbs), add it to MINIAPP_SUBDIRS in the makefile.
[ ] If new miniapps directory (e.g.miniapps/nurbs), list it in doc/CodeDocumentation.conf.in
[ ] Companion pull request for documentation in mfem/web repo:

[ ] Update or add miniapp-specific documentation, see e.g. the src/meshing.md and src/electromagnetics.md files.
[ ] Add the description, labels and screenshots in src/examples.md and src/img.
[ ] The miniapps go at the end of the page, and are usually listed only under a specific "Application (PDE)" category.
[ ] Add a short description of the miniapp in the "Extensive Examples" section of features.md.

[ ] New capability:

[ ] All new public, protected, and private classes, methods, data members, and functions have full Doxygen-style documentation in source comments. Documentation should include descriptions of member data, function arguments and return values, template parameters, and prerequisites for calling new functions.
[ ] Pointer arguments and return values must specify whether ownership is being transferred or lent with the call.
[ ] Any new functions should include descriptions of their intended use e.g. for internal use only, user-facing, etc., along with references to example code whenever possible/appropriate.
[ ] Consider adding new sample runs in existing examples to highlight the new capability.
[ ] Consider saving cool simulation pictures with the new capability in the Confluence gallery (LLNL only) or submitting them, via pull request, to the gallery section of the mfem/web repo.
[ ] If this is a major new feature, consider mentioning it in the short summary inside README (rare).
[ ] List major new classes in doc/CodeDocumentation.dox (rare).

[ ] Update this checklist, if the new pull request affects it.
[ ] Run make unittest to make sure all unit tests pass.
[ ] Run the tests in tests/scripts.
[ ] (LLNL only) After merging:

[ ] Update internal tests to include the new features.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.


Support IO latency analysis  in  the request tracing analysis process

Currently, we break the request latency into 3 parts that don't include I/O latency, so we can't get the influence of the IO part. The feature can indicate if I/O high latency affects the request latency.

Implementing this metric won't be scheduled on our calendar recently. Maybe we can add it later. If there is anyone who needs it, please feel free to open this issue again.


main.CRITICAL: SOAP-ERROR: Encoding: string '\xf7...' is not a valid utf-8 string {"exception":"

Cannot use the extension at the moment for a .fr domain.
Magento 2.3.4
PHP 7.3
[2020-05-26 08:46:31] main.CRITICAL: SOAP-ERROR: Encoding: string '\xf7...' is not a valid utf-8 string {"exception":"[object] (SoapFault(code: 0): SOAP-ERROR: Encoding: string '\xf7...' is not a valid utf-8 string at /var/domains/x/vendor/buckaroo/magento2/Soap/Client/SoapClientWSSEC.php:42)"} []
$result = [parent::__soapCall($function_name,$arguments,$options,$input_headers,$output_headers)];

file_put_contents('log_this.log',
    $function_name . PHP_EOL .
    print_r($arguments,true) . PHP_EOL .
    print_r($options,true) . PHP_EOL .
    print_r($input_headers,true) . PHP_EOL .
    print_r($output_headers,true) . PHP_EOL
    ,FILE_APPEND);
$result = [parent::__soapCall($function_name,$arguments,$options,$input_headers,$output_headers)];

There is no 'weird' character as you can see.
log_this.log
TransactionRequest
Array
(
    [0] => Array
        (
            [Currency] => EUR
            [AmountDebit] => 65.58
            [AmountCredit] => 0
            [Invoice] =><PHONE_NUMBER>
            [Order] =><PHONE_NUMBER>
            [Description] => TracPartz
            [ClientIP] => stdClass Object
                (
                    [_] => <IP_ADDRESS>
                    [Type] => IPv4
                )
            [ReturnURL] => https://www.x.fr/buckaroo/redirect/process/?form_key=sI6fQ5LTQjksuDVT
            [ReturnURLCancel] => https://www.x.fr/buckaroo/redirect/process/?form_key=sI6fQ5LTQjksuDVT
            [ReturnURLError] => https://www.x.fr/buckaroo/redirect/process/?form_key=sI6fQ5LTQjksuDVT
            [ReturnURLReject] => https://www.x.fr/buckaroo/redirect/process/?form_key=sI6fQ5LTQjksuDVT
            [OriginalTransactionKey] =>
            [StartRecurrent] =>
            [PushURL] => https://www.x.fr/rest/V1/buckaroo/push
            [Services] => stdClass Object
                (
                    [Service] => Array
                        (
                            [Name] => maestro
                            [Action] => Pay
                            [Version] => 1
                        )
                )
            [AdditionalParameters] => stdClass Object
                (
                    [AdditionalParameter] => Array
                        (
                            [0] => Array
                                (
                                    [_] => pay
                                    [Name] => service_action_from_magento
                                )
                            [1] => Array
                                (
                                    [_] => 1
                                    [Name] => initiated_by_magento
                                )
                        )
                )
        )
)

Hi @martijn-bigbridge !
Could you please specify is this new plugin installation or you did an upgrade of Buckaroo's plugin and error has appeared after it ?
Or maybe error is appeared after some other actions (e.g.: PHP version upgrade) ?
Any other additional information will be useful to solve your issue.

Anyway, two things you need to try do first are:

clear WSDL cache (check your php's wsdl_cache_dir setting and clean wsdl files)
re-save buckaroo credentials form in admin area

@vladislav-padalka-hys
That did the trick.
Thanks !


[BUG] Coroutines cannot be created as IL.

Application version: 2021.3.4
Target application: Gems of War (32-bit)
Displayed error:
Generated IL:
    Action of type Cpp2IL.Core.Analysis.Actions.Important.CallManagedFunctionAction at (0x102645C2) is corrupt (Don't know what method is being called) and cannot be created as IL. Aborting here.

Part of the generated pseudocode includes:
    [instruction error - managed method being called is null]
    return
    throw new System.NullReferenceException()

This error appears when attempting to reverse a function which calls MonoBehavior.StartCoroutine. See Unity's documentation on Coroutines, which follow an abnormal execution flow, utilizing yield calls to pause execution, resuming execution during the next frame of the game loop. These types of functions are tricky for .NET decompilation too, (ILSpy and dnSpy can reverse them now but weren't able to a couple of years ago).
Please let me know if anything else would be helpful in resolving this issue (such as the full method dump file, or the log output from the reversing process). Your hard work and excellent understanding of reverse engineering is greatly appreciated.
As an aside, the application I am reversing is a unique case in which very similar versions of the application binaries exist just before and just after the switch to IL2CPP.

This is probably a case of something previous missing such that cpp2il can't work out what the instance for that method is, while there are multiple methods at the same address there.
I'm familiar with how coroutines work, and it's actually even more complicated than you say - there is no such thing as a "yield" instruction in the underlying IL code, instead the c# compiler creates an anonymous IEnumerator class which does the logic on each call to MoveNext. But an actual call to StartCoroutine shouldn't error, but it won't show anything useful at all.
Also, on average, 50-60% of a game cannot be created as IL, so coroutines aren't a particularly novel case.
That said, I do actually have Gems of War in my steam library, so if you can tell me which function this is, I'll take a look and try and fix this one case for you, if the method is of particular interest.

Hey, thanks for taking the time to write up your response.
The particular case I chose was not because of any particular interest. One of the main functions I'm interested in (PuzzleSpell#DelayCallDoSpellSteps) is a massive and complicated function that handles a lot of things, and is about 3,000 lines long, and is a heaping spaghetti pile of goto calls (yes, in C#), but Cpp2IL outputs almost nothing. I instead looked at a smaller function (MedalEquipMenu#SaveAndCloseMenu), which has the following benefits:

The function is much smaller and thus easier to evaluate, while still utilizing coroutines and thus containing a mostly blank Generated Pseudocode body.
The function experiences a similar issue to the one above, where almost all of the function is left blank.
The function, unless the developers did some modification to fix a bug or something, should be very similar or almost identical as its state just before the binary conversion to IL2CPP. DelayCallDoSpellSteps probably changes every update at least somewhat.

Doing some evaluation on the actual game would be greatly appreciated, not just from me but the other members of the Gems of War community who have been continuing to utilize reverse engineering to create things like player profile viewers and PvP leaderboard archives, and additionally from other users who interact with games that heavily utilize coroutines. 😄
As mentioned, an earlier version of the game exists which ILSpy can trivially decompile to allow you to see the exact corresponding code, at least for some functions. DepotDownloader can fetch the files from version 5.1.0.

Thanks, I'll take a look when I can. Probably won't do the whole depotdownloader thing - I don't often need to refer to the original method for small ones like this MedalEquipMenu one.

@SamboyCoding, I don't want to bother you if you're busy, but I see several changes have been made to this repo recently, and I'm wondering if any progress has been made on this. Thank you for all the hard work, I understand open source development can be time consuming :)

Hi @MasterEric I've been focused on arm stuff recently, so nothing has been done on this. That said, it's still on my radar.

Just from a cursory glance, SaveAndCloseMenu is missing a call to an il2cpp helper function of some sort. I'm now trying to work out what it is.

Okay, worked out the root cause and fixed it in https://github.com/SamboyCoding/Cpp2IL/commit/d94b6949ff91a45655017f2a693901cf8992f5cf. The method doesn't contain a lot, which is what I expected - it is indeed "mostly empty":

There's still a problem there with that Dispose call - it should actually be a constructor call - but that's a larger issue.

Going to close this for now as the underlying problem (the api calls) has been fixed


Doc and smp_svr conf update: Mcumgr/smp_svr supports direct image selection for upload

The PR contains two commits

Increases workqueue stack size, which is needed by new mcumgr feature: direct image upload;
adds, to documentation, information on how to directly upload image.

Committed as a part of https://github.com/zephyrproject-rtos/zephyr/pull/37136, closing.


refactor: performance optimizations

@Kovensky... was this switched to tabs recently? im pretty sure it's always been spaces during my working with this repo... only way I can think of them getting mixed like this would be when i pulled from master and resolved merge conflicts
Really hoping tabs are not intentionally preferred...

Everything in contrib is spaces

Looks like the .eslintrc in this repo needs to be fixed, then. It's specifying tab indent.

@Kovensky - Should be taken care of with the defaults PR.

@hulkish - It's usually helpful to put at least a brief description in the original comment outlining the reason for the change / what problem you are solving & the approach you took.

After creating the test PR and running those tests on this PR... I realized i had bugs which was causing the disproportionate performance gain i saw originally.
Therefore... I'm going to abandon this because after fixing said bugs there was still a performance gain - but too tiny to really be valueable.
🔥 this pr!


add docker-compose support

This adds support for using docker-compose. You can now just run docker-compose up and it will automatically build the tink-wizard container image (it builds it from source; so you do not even need go in your machine), it will then launch redis and then the tink-wizard container.
Please note that I had to remove the .env file because its not compatible with docker-compose (it complains about white-spaces in .env; I think you cannot have export  before a variable declaration).
PS: I'm using this at https://github.com/rgl/rpi-tinkerbell-vagrant.

This looks pretty stale. Can it be closed out or is there still some valuable work here?

@nshalman I have already started work to bring the dashboard back to life and in sync with tink. So, yeah I could use this PR.

I failed to notice that this PR is in the repo that had moved out of the @tinkerbell org during today's triage party.


Missing annotation for dag and tools

Needed for swagger to be aware of optional auth for tools and dag
permissions check fix for test parameters for tools
Follows #1706  (DAG and tool listing potentially leak information about unpublished tools/workflows, but UI needs to display them for your own)

Will follow up with more testing/investigation after staging deploy