Wrong status response when raise exception from catch_404 method

When I raise an exception from the catch method (favicon.ico request), the raised exception is not correctly processed, I get a 200 status code in the browser, maybe I'm doing something wrong, this is my first time with Sanic.
I've tested it in v0.6 and @master branch
My code:
from sanic import response
from sanic.exceptions import NotFound
from os.path import dirname, abspath, join
from sanic.app import Sanic

_CURDIR = dirname(abspath(__file__))

if __name__ == '__main__':

    app = Sanic(__name__)
    app.static('', join(_CURDIR, 'static' ))

    @app.route('/')
    async def index(_):
        return await response.file_stream(join(_CURDIR, 'static', 'index.html'))

    @app.exception(NotFound)
    async def catch_404(request, exception):
        if '.' not in request.path:
            return await index(request) #Used for angular routes
        raise exception

    app.run('<IP_ADDRESS>', 5000, debug = True)

The server log trace:
[2017-12-01 16:26:30 +0100] [14367] [INFO] Goin' Fast @ http://<IP_ADDRESS>:5000
[2017-12-01 16:26:30 +0100] [14367] [INFO] Starting worker [14367]
[2017-12-01 16:26:34 +0100] - (sanic.access)[INFO][1:2]: GET http://<IP_ADDRESS>:5000/  200 -1
[2017-12-01 16:26:34 +0100] - (sanic.access)[INFO][1:2]: GET http://<IP_ADDRESS>:5000/favicon.ico  200 1712
[2017-12-01 16:26:39 +0100] [14367] [INFO] KeepAlive Timeout. Closing connection.

From browser I get a 200 status, in plain/text, with the response content:
Error while handling error: File not found
Stack: Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sanic/static.py", line 76, in _handler
    stats = await stat(file_path)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 213, in coro
    res = yield from res
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/concurrent/futures/thread.py", line 56, in run
    result = self.fn(*self.args, **self.kwargs)
FileNotFoundError: [Errno 2] No such file or directory: '/Users/rob/git/GITHUB/zzzz-server/scripts/static/favicon.ico'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sanic/app.py", line 565, in handle_request
    response = await response
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 109, in __next__
    return self.gen.send(None)
  File "/Users/rob/git/GITHUB/zzzz-server/scripts/dummy.py", line 21, in catch_all
    raise exception
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sanic/app.py", line 556, in handle_request
    response = await response
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/asyncio/coroutines.py", line 128, in throw
    return self.gen.throw(type, value, traceback)
  File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/sanic/static.py", line 120, in _handler
    relative_url=file_uri)
sanic.exceptions.FileNotFound: File not found

I think that the expected behavior should be a 404 response, Am I wrong ?

I think I've found the problem, but I'm not sure what would be the best solution, because I see 2 problems:

The original exception (with the proper http status) is lost in the error management
The resulting response shouldn't return a 200 status code (We are dealing with an exception)

In app.py, the code to manage exceptions in responses is this:
        except Exception as e:
            # -------------------------------------------- #
            # Response Generation Failed
            # -------------------------------------------- #
            try:
                response = self.error_handler.response(request, e)
                if isawaitable(response):
                    response = await response
            except Exception as e:
                if self.debug:
                    response = HTTPResponse("Error while handling error: {}\nStack: {}".format(e, format_exc()))
                else:
                    response = HTTPResponse("An error occurred while handling an error")

I would change it by something like this:
        except Exception as e:
            # -------------------------------------------- #
            # Response Generation Failed
            # -------------------------------------------- #
            try:
                response = self.error_handler.response(request, e)
                if isawaitable(response):
                    response = await response
            except Exception as ex:
                if ex == e: # <- If It's the original exception, IMHO we should return it
                    response = self.error_handler.default(request=request, exception=ex)
                elif self.debug:
                    response = HTTPResponse(
                        "Error while handling error: {}\nStack: {}".format(
                            ex, format_exc()), status=500)
                else:
                    response = HTTPResponse(
                        "An error occurred while handling an error", status=500)

Instead of status==500, maybe we can get it from the exception if it contains status_code, besides, if the ex object is a SanicException, maybe we should return it, instead of a generic "An error occurred while handling an error", I mean, if in the catch method the user raise a custom exception (different to the original one), that exception is lost and replaced by a generic response, I don't think this is a desired behavior for most users.


Spam Checks : Timed out when scanning for spam

Spamd is configured and active but is Postal I get this message "Timed out when scanning for spam"

Please help if anybody fix this

Hello @adamcooke thank you for your reply. I

You should check your configuration and restart Postal as necessary. If you are still having problems then a discussion is best.


Add Rails 5 API support in proper way

Fix #418 introduce bug
Application level before this PR failed result and after result

Thank you!


sudo docker push image, apache return 411

When I use the Docker Registry and ceph radosgw storage, radosgw the front end is apache .
apache -> fastcgi -> radosgw
However, in the apache returns 411, No downward forwarding
apache log:
chunked Transfer-Encoding forbidden: /swift/v1/registry/files/docker/registry/v2/repositories/demo/busybox/_uploads/be55d02e-b314-4a46-af29-d3ae78268fab/startedat
Requests are not sent to radosgw, In apache was rejected.
Server version: Apache/2.4.7 (Ubuntu)
Here is the apache source code :
AP_DECLARE(int) ap_setup_client_block(request_rec *r, int read_policy)
{
    const char *tenc = apr_table_get(r->headers_in, "Transfer-Encoding");
    const char *lenp = apr_table_get(r->headers_in, "Content-Length");

    r->read_body = read_policy;
    r->read_chunked = 0;
    r->remaining = 0;

    if (tenc) {
        if (strcasecmp(tenc, "chunked")) {
            ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01592)
                          "Unknown Transfer-Encoding %s", tenc);
            return HTTP_NOT_IMPLEMENTED;
        }
        if (r->read_body == REQUEST_CHUNKED_ERROR) {
            ap_log_rerror(APLOG_MARK, APLOG_INFO, 0, r, APLOGNO(01593)
                          "chunked Transfer-Encoding forbidden: %s", r->uri);
            return (lenp) ? HTTP_BAD_REQUEST : HTTP_LENGTH_REQUIRED;
        }

        r->read_chunked = 1;
    }

I found some information :

In http1.1 and later versions. If keepalive, the content-length and chunk must be a second election
Content-Length if exists and is valid, then the transmission must be exactly the same length and content of the message

Now I'm not sure

hi @lnsyyj can you compare your apache setup with the recommended way (https://github.com/docker/distribution/blob/master/docs/recipes/apache.md).

hi @RichardScothern , My apache configuration file looks like this
FastCgiExternalServer /var/www/s3gw.fcgi -socket /tmp/radosgw.sock

<VirtualHost *:80>
        ServerName B-80-11
        #ServerAlias B-80-11
        DocumentRoot /var/www
        RewriteEngine On
        RewriteRule  ^/(.*) /s3gw.fcgi?%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

        <IfModule mod_headers.c>
            Header set Access-Control-Allow-Origin "*"
            Header set Access-Control-Allow-Methods "HEAD,GET,PUT,POST,DELETE,OPTIONS"
            #Header set Access-Control-Allow-Headers "content-length,transfer-encoding,authorization,content-type,x-amz-date,x-amz-user-agent,content-md5,neunn-token,neunn-user-id,x-amz-copy-source,x-amz-acl,neunn-radosgw-user-id,neunn-user-adminops"
            Header set Access-Control-Allow-Headers "transfer-encoding,authorization,content-type,x-amz-date,x-amz-user-agent,content-md5,neunn-token,neunn-user-id,x-amz-copy-source,x-amz-acl,neunn-radosgw-user-id,neunn-user-adminops"
            Header set Access-Control-Expose-Headers "ETag"
            Header set Content-Disposition "attachment"
        </IfModule>
        #RequestHeader add Transfer-Encoding "chunked"

        <IfModule mod_fastcgi.c>
        <Directory /var/www>
                        Options +ExecCGI
                        AllowOverride All
                        SetHandler fastcgi-script
                        Order allow,deny
                        Allow from all
                        AuthBasicAuthoritative Off
        </Directory>
        </IfModule>

        LogLevel debug
        #WSGIChunkedRequest On
        TraceEnable off
        #KeepAlive  Off
        AllowEncodedSlashes On
        ErrorLog /var/log/apache2/error.log
        CustomLog /var/log/apache2/access.log combined
        ServerSignature Off
</VirtualHost>

What I meant by that, is can you compare your apache conf with the recommended way, see what differences there are and experiment with your setup to fix your issue.

@lnsyyj ?

Thank you. I should have nginx. See Apache source may be the fastcgi module does not achieve chunked function.


How the DNABERT pre-train with long sequences?

HI!
Today I found that there is not a selection called "dnalong" in the pre-training process. Actually it only exists in the fine-tuning part.
Here I wonder if there will be some problems if I use "dna" to pre-train by using long sequences. For example, if I use the 1000bp-long sequences, what problems will I meet?
Although I knew there were some issues about how the DNABERT deals with the long sequences, I browsed them and thought they could not solve this issue.
Thank you so much in advance!

hi，do you solve it？can we have a talk in QQ，64604790

hi，do you solve it？can we have a talk in QQ，646047990

Of course not. I want to hear their suggestions in fact.

嗨，你解决了吗？我们可以用QQ讲话，64604790

hi，do you solve it？can we have a talk in QQ，646047990

Of course not. I want to hear their suggestions in fact.

能加个qq吗？想请教一下具体怎么使用？我是按照huggingface来使用的，但是作者是按照命令行来写readme的，不知你是如何使用和学习这个模型的的，如果可以，希望可以交流一下

嗨，你解决了吗？我们可以用QQ讲话，64604790

hi，do you solve it？can we have a talk in QQ，646047990

Of course not. I want to hear their suggestions in fact.

能加个qq吗？想请教一下具体怎么使用？我是按照huggingface来使用的，但是作者是按照命令行来写readme的，不知你是如何使用和学习这个模型的的，如果可以，希望可以交流一下

很抱歉回复这么晚了，DNABERT本质就是huggingface的extension，所以按照huggingface来使用是没有问题的

@Celestial-Bai BERT has a maximum window of 512 tokens if I'm not mistaken. This model / repo is mainly useful for the pre-trained models in my view. If you're going to pre-train again, you might instead want to look into longformer or other alternatives if you require 1000+bp, and take from here some of the preprocessing logic.

@simonlevine Sorry for my late reply. I finally to fix the segment length to 500 bp. Thanks!


Add tool for converting an SVG file into a multiple-resolution Windows icon

Description:

A common method of setting and Icon for a Windows executable is to set the APPICON in the resource file. Unfortunately, you can't supply a SVG file for this icon. It would be handy if wxUiEditor had a tool that would take an SVG file and convert it to a Windows icon using 16x16, 32x32, 48x48 and 256x256. Besides being useful for wxUiEditor itself, it could potentially be useful for anyone else wanting to use an SVG file for the application's icons.

It is simple way that make ico file from wxBitmapBundle. the ICO file is supported from Windows Vista and later. This code was referenced from Wikipedia.

#include <wx/bmpbndl.h>
#include <wx/wfstream.h>

struct IconDir {
	uint16_t reserved;
	uint16_t image_type;
	uint16_t num_of_images;
};

struct IconDirEntry {
	uint8_t width;
	uint8_t height;
	uint8_t color_palette;
	uint8_t reserved;
	uint16_t color_planes;
	uint16_t bits_per_pixel;
	uint32_t bytes_width_of_image;
	uint32_t offset_of_image;
};

bool SaveBundleToIco(wxOutputStream& stream, wxBitmapBundle& bundle) {
	if(!stream.IsSeekable())
		return false;

	const wxFileOffset offset_start = stream.TellO();
	IconDir header{};
	IconDirEntry entries[4] {};

	header.image_type = 1;
	header.num_of_images = 4;

	entries[0].width = 16;
	entries[0].height = 16;

	entries[1].width = 32;
	entries[1].height = 32;

	entries[2].width = 48;
	entries[2].height = 48;

	entries[3].width = 0;
	entries[3].height = 0;

	stream.Write(&header, sizeof(header));
	stream.Write(&entries, sizeof(entries));
	for(auto& entry: entries) {
		int size = entry.width != 0 ? entry.width : 256;
		wxBitmap bitmap = bundle.GetBitmap(wxSize(size, size));
		wxImage img = bitmap.ConvertToImage();
		entry.offset_of_image = stream.TellO();
		img.SaveFile(stream, wxBITMAP_TYPE_PNG);
		entry.bytes_width_of_image = stream.TellO() - entry.offset_of_image;
		entry.bits_per_pixel = (entry.bytes_width_of_image / (size * size)) * 8;
		entry.color_planes = 0;
	}

	stream.SeekO(offset_start + sizeof(header));
	stream.Write(&entries, sizeof(entries));
	return true;
}

Thanks! I copied your email directly into the issue. I hadn't looked into
wxIcon, so I mistakenly thought I could just create a wxIcon and call it's
save method -- but it doesn't have one, so your info will be very helpful.
On Tue, Apr 2, 2024 at 7:44 AM Kumazuma @.***> wrote:

It is simple way that make ico file from wxBitmapBundle. the ICO file is
supported from Windows Vista and later. This code was referenced from
Wikipedia
https://en.wikipedia.org/wiki/ICO_(file_format)#Structure_of_image_directory
.
#include <wx/bmpbndl.h>
#include <wx/wfstream.h>
struct IconDir {
uint16_t reserved;
uint16_t image_type;
uint16_t num_of_images;
};
struct IconDirEntry {
uint8_t width;
uint8_t height;
uint8_t color_palette;
uint8_t reserved;
uint16_t color_planes;
uint16_t bits_per_pixel;
uint32_t bytes_width_of_image;
uint32_t offset_of_image;
};
bool SaveBundleToIco(wxOutputStream& stream, wxBitmapBundle& bundle) {
if(!stream.IsSeekable())
return false;
const wxFileOffset offset_start = stream.TellO();
IconDir header{};
IconDirEntry entries[4] {};
header.image_type = 1;
header.num_of_images = 4;
entries[0].width = 16;
entries[0].height = 16;
entries[1].width = 32;
entries[1].height = 32;
entries[2].width = 48;
entries[2].height = 48;
entries[3].width = 0;
entries[3].height = 0;
stream.Write(&header, sizeof(header));
stream.Write(&entries, sizeof(entries));
for(auto& entry: entries) {
int size = entry.width != 0 ? entry.width : 256;
wxBitmap bitmap = bundle.GetBitmap(wxSize(size, size));
wxImage img = bitmap.ConvertToImage();
entry.offset_of_image = stream.TellO();
img.SaveFile(stream, wxBITMAP_TYPE_PNG);
entry.bytes_width_of_image = stream.TellO() - entry.offset_of_image;
entry.bits_per_pixel = (entry.bytes_width_of_image / (size * size)) * 8;
entry.color_planes = 0;
}
stream.SeekO(offset_start + sizeof(header));
stream.Write(&entries, sizeof(entries));
return true;
}
—
Reply to this email directly, view it on GitHub
https://github.com/KeyWorksRW/wxUiEditor/issues/1405#issuecomment-2032234420,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKGN3U6L4UR7XY6MJYTMQ2LY3K735AVCNFSM6AAAAABC6MYCKWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMZSGIZTINBSGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

I appreciate about it is helped you. however it should be changed in the code.
		entry.bits_per_pixel = (entry.bytes_width_of_image / (size * size)) * 8;

to
		entry.bits_per_pixel = 32;

Okay, I updated the code above.


Add checks for SelfContained in AppNotificationManager and PushNotificationManager

Issue:
Self-Contained apps may not support notifications in some cases. Please refer to the matrix below:

In general, All local notification scenarios will be supported in self-contained mode. We will not support a subset of Push scenarios for Self-Contained apps.
Fix:
For local notifications, we gate the calls to the Long Running Singleton via a Self-Contained checks so that API calls don't blow up.
For Push notifications, we introduce an IsSupported gatekeeping API that the developer could use to infer Push functionality.
Also added some checks to prevent races in AppNotificationManager::Register() APIs.

What is "vibranium"? What Windows release number is that?

Done in another PR. Closing


How to use events with angular?

Can you show me a small example of hooking in to the onScrollEnd event using angular?  I see the javascript examples but I'm using you example.  I'm missing something basic.  I was hoping to specify in html using iscroll={options} or $scope.instance.on('event') but that does not seem to be the right approach.
Update: I was able to hook into it with the global configuration option.  I'm wondering if I can access it from my instance directly or would you recommend I broadcast an event from my configuration.
Ultimately - trying to implement an easy to use PullDownRefresh() for mobile anywhere I need it.
thanks - awesome wrapper!
<div class="iscroll-wrapper" iscroll iscroll-instance="instance"

```   .

So, maybe this could help you. I think iscroll={options} is the best place for event handlers.
Js:
app.controller('MainCtrl', function () {
    this.PullDownRefresh = function () {};
});

Html:

  <div class="iscroll-wrapper" iscroll="{ onScrollEnd: vm.PullDownRefresh}"

Thanks!  I did get it to work in configuration, but I wanted to use it as you posted local to controller
thanks again!

Thank you so much for handling this issue, @DarthBender.


Deal with robots that enter infinite loop

When a robot is not responding, end the match and the opponent wins 10:0.

How do you think we should go about doing this?
Here is what I could see as "doable but certainly not nice":

Overload get_new_data and make it emit something each second (to a named pipe or to some file -- something like a heartbeat)
Have an outside checker that will take a look at all the processes/files and within some grace period (say each 5 or 10 seconds) check whether the heartbeat came in
If it did not, end the match

Do you think something like that could work?

How do you think we should go about doing this?
Here is what I could see as "doable but certainly not nice":

Overload get_new_data and make it emit something each second (to a named pipe or to some file -- something like a heartbeat)
Have an outside checker that will take a look at all the processes/files and within some grace period (say each 5 or 10 seconds) check whether the heartbeat came in
If it did not, end the match

Do you think something like that could work?

Yes, this is probably the best doable solution at the moment. We should probably mention this in the rules - let's discuss it in the meeting.

Yes, this is probably the best doable solution at the moment. We should probably mention this in the rules - let's discuss it in the meeting.

@Adman Guess what, it's got a very simple solution in the end!
Seems like the home-take point is that we should have just asked...
https://github.com/cyberbotics/webots/issues/2859#issuecomment-800042125


Downgrade blinker for compatibility with selenium-wire

selenium-wire is unmaintained and breaks with blinker>=1.8.0

yes the version is pip install blinker==1.4
im i right?

I'm sure that version works, but it's probably better to use 1.7.X, since only versions 1.8.0 and after are incompatible.


After the HMR link is closed, automatically retry connecting.

What problem does this feature solve?
When developing with vscode remote, sometimes the hmr WebSocket will disconnect. I hope it can automatically retry like vite.
https://github.com/vitejs/vite/blob/v5.0.12/packages/vite/src/client/client.ts#L107
What does the proposed API look like?
N/A

It seems to have already been there, but it doesn't seem to be running. I don't know if it's a problem with my environment.
https://github.com/farm-fe/farm/blob/v0.16.4/packages/runtime-plugin-hmr/src/hmr-client.ts#L60

I'll try your question.

What does vscode remote mean? I don't quite understand how this remote is developed.

I'm very sorry, I came to the wrong conclusion. I tried using Vite in VSCode Remote and encountered the same issue.
This request will keep waiting.

vscode did not experience a normal TCP reset. I found the relevant issue.
https://github.com/microsoft/vscode-remote-release/issues/3561

What does vscode remote mean

What I mean is to use the Forwarded Ports feature of vscode ssh remote to proxy the ports of the remote server to local.

@skywalker512  Thank you for sharing. I will continue to follow up on this question.


add a magic number in the Player

Hello,
I saw a "TODO magic constant" in Player class. So I added a variable for readability.

Hi, thanks for the pull request
Check out Wikipedia's article on magic constants for what this comment means. We need to know what the constant actually represents - simply calling the field `MAGIC_NUMBER


Swift 3 support!

Hello @mdabrarniyazi, thanks for your request. The recent version of the library has already been updated to Swift 3.0 syntax. Do you have any difficulties with it in Xcode 8?

@evgenyneu Hi, Sorry I didn't notice.
Is there any way I can change the shape of badge, like square or triangle!

It is alright. Good question about the shape. No, unfortunately the badges are rectangular with rounded corners at the moment.

@evgenyneu Thank you. Please provide this in future if you could.
Also when I am using it in my project, badge quality is decreasing. Border looks like broken or somewhat blurred.

Thank you for reporting this bug. Could you provide the settings you use (sizes, colours, paddings, border widths) so I can reproduce it? A screenshot would also be very helpful. Thank you.

@evgenyneu If you notice it look like low quality. This 160160. I want size from 5050 to 160*160 and border 2 to 5.

Thanks for the info, @mdabrarniyazi. I have used your parameters to make the badge and I could not reproduce your issue. The badge edge looks smooth both on iOS 10 device and emulator. There is clearly something else that I am missing. What could it be?
Please find the screenshot and the demo project attached.

UsingBadgeSwift.zip

Hi @mdabrarniyazi, just an update. One can now specify the corner radius for the badge. You asked if the badge can be a square. Yes, now one can make it square by setting the corner radius to zero. All the best.

Closing the issue, feel free to reopen if it still exists.


Unable to install Brainiak with Conda on Mac (M1, Ventura 13.01)

I ran:
conda install -c brainiak -c defaults -c conda-forge brainiak
Error given:
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:

brainiak

Current channels:

https://conda.anaconda.org/brainiak/osx-arm64
https://conda.anaconda.org/brainiak/noarch
https://repo.anaconda.com/pkgs/main/osx-arm64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/osx-arm64
https://repo.anaconda.com/pkgs/r/noarch
https://conda.anaconda.org/conda-forge/osx-arm64
https://conda.anaconda.org/conda-forge/noarch

To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org

and use the search bar at the top of the page.

For M1 and other non-x86 CPUs, you need to install from source. There are a couple of prerequisite steps:
https://brainiak.org/docs/installation.html#macos
Alternatively, you could use Docker:
https://brainiak.org/docs/#docker
We are open to providing pre-compiled binaries for M1 once we finish the work in PR #511.

I have followed the installation instructions for MacOS on a M1 MacBook air but get the following error:

RuntimeError: Unsupported compiler -- at least C++11 support is needed!
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for brainiak
Failed to build brainiak
ERROR: ERROR: Failed to build installable wheels for some pyproject.toml based projects (brainiak)

echo $CC gives me /usr/local/opt/llvm/bin/clang, echo $CXX gives me /usr/local/opt/llvm/bin/clang++.
Any idea?


py_trees_js: 0.6.3-1 in 'humble/distribution.yaml' [bloom]

Increasing version of package(s) in repository py_trees_js to 0.6.3-1:

upstream repository: https://github.com/splintered-reality/py_trees_js.git
release repository: https://github.com/stonier/py_trees_js-release.git
distro file: humble/distribution.yaml
bloom version: 0.11.2
previous version for package: null

py_trees_js
* [js] remove buggy early view update and optimise them, #142 <https://github.com/splintered-reality/py_trees_js/pull/142>

@stonier, I tried to do a simple accept both to resolve the merge conflicts. Unfortunately, that doesn't make the PR jobs happy. Would you mind fixing this? This is an unfortunate part of releasing multiple repositories with similar names.
(The same goes with https://github.com/ros/rosdistro/pull/35907)

No worries - closing this one and shifting to the new gbp release repos for py_trees.


ChangeFeedEstimator returns wrong estimatedPendingChanges

We are continuously addressing and improving the SDK, if possible, make sure the problem persist in the latest SDK version.

Describe the bug
I tried to use the ChangeFeedEstimator, but got wrong numbers.
I have a container with 20K Items in it. I have a single ChangeFeedProcessor that should mangle them in some way and I would like to know how many items are left to be processed. The estimator is always off by around 100x. (20K Items estimator estimates 200-300 items).
To Reproduce
// See https://aka.ms/new-console-template for more information
using Microsoft.Azure.Cosmos;

#region Setup
var runSetup = true;
var cosmosClient = new CosmosClient("<connString>", new CosmosClientOptions() { AllowBulkExecution = true });

const string dbName = "EstimatorDb";
const string containerName = "EstimatorContainer";
const string leaseContainerName = "leases";

await cosmosClient.CreateDatabaseIfNotExistsAsync(dbName);
var database = cosmosClient.GetDatabase(dbName);

var container = database.GetContainer(containerName);
var leaseContainer = database.GetContainer(leaseContainerName);

var deleteAndRecreate = new Func<string, string, Task>(async (name, key) =>
{
    var cont = database.GetContainer(name);
    try
    {
        await cont.DeleteContainerAsync();
    }
    catch
    {
        // Nothing to do
    }
    await database.CreateContainerIfNotExistsAsync(new ContainerProperties(name, key), 6000);
});

if (runSetup)
{
    await deleteAndRecreate(containerName, "/id");
    var inserts = new List<Task>();
    foreach (var i in Enumerable.Range(0, 20_000))
    {
        var testdata = new Testdata(Guid.NewGuid().ToString(), "First", "Last");
        inserts.Add(container.CreateItemAsync(testdata, new PartitionKey(testdata.id)));
    }
    await Task.WhenAll(inserts);
}

await deleteAndRecreate(leaseContainerName, "/id");

using var iterator = container.GetItemQueryIterator<dynamic>(new QueryDefinition("SELECT count(1) as Count FROM c"));
var response = await iterator.ReadNextAsync();
long count = response.Resource.Single().Count;

Console.WriteLine($"We have {count} items in {containerName}");

#endregion

var changeFeedProcessor = container.GetChangeFeedProcessorBuilder<dynamic>("processor", OnChangesDelegate)
                                    .WithStartTime(DateTime.MinValue.ToUniversalTime())
                                    .WithInstanceName("instance")
                                    .WithMaxItems(1000)
                                    .WithPollInterval(TimeSpan.FromMilliseconds(100))
                                    .WithLeaseContainer(leaseContainer)
                                    .Build();
await changeFeedProcessor.StartAsync();

var estimator = container.GetChangeFeedEstimatorBuilder("processor", EstimationDelegate, TimeSpan.FromSeconds(1))
                                    .WithLeaseContainer(leaseContainer)
                                    .Build();

await estimator.StartAsync();

Task EstimationDelegate(long estimatedPendingChanges, CancellationToken cancellationToken)
{
    Console.WriteLine($"Estimation: {estimatedPendingChanges}");
    return Task.CompletedTask;
}

async Task OnChangesDelegate(IReadOnlyCollection<dynamic> changes, CancellationToken cancellationToken)
{
    // Do Nothing just slow down
    await Task.Delay(100);
}

Console.ReadLine();

public record Testdata (string id, string Firstname, string Lastname);

Expected behavior
I get back the correct amount of how many items the change feed needs to process. (20k in the beginning)
Actual behavior
Estimator returns ~300 items and gets down to 0 while processing the changes.
I have tried both approaches that are mentioned in the docs. (on-demand detailed estimation and the push model) Both approaches give me the same numbers. And i have tried with CosmosDB Emulator and with a real CosmosDB.
Environment summary
SDK Version: 3.23.0
OS Version Win 10 Pro 20H2
Additional context
No Context

@ealsur can you take a look?

Were the items created using Bulk/TransactionalBatch?

This same behavior applies to TransactionalBatch or operations within a Stored Procedure execution.

Ok, that explains why I get different estimations if I use the NodeJS SDK to insert the data.
So there is absolutely no possibility to get the remaining items? Because the consumption of the change feed can differ greatly from the insert batch size. Also, different applications use different insertion models. So the estimation can be off by a factor of 100 max if I use max batch size or not off at all if I insert one item at a time. This sounds not like an estimation at all...
Also, it would be nice if this gets added to the Docs. I would have never expected, that if I change a single property AllowBulkExecution to affect a totally different part of an Application. But thanks for the explanation.

For sure, we can add it to the Estimator API xml docs


ghasum as an Action

Depends on #2
Summary
Make it convenient to run ghasum as part of a GitHub Actions workflow in order to continuously and at runtime check the integrity of the Actions in a workflow. To achieve this, I think it makes to most sense to offer ghasum as a GitHub Action.
Example
name: Example
on: [push]

jobs:
  example:
    name: example
    runs-on: ubuntu-latest
    steps:
    - name: Validate Actions Integrity
      uses<EMAIL_ADDRESS>    - name: Checkout repository
      uses<EMAIL_ADDRESS>    # Rest ...

Goals

The Action should validate the integrity of the actions used in the current job.
Ideally this can validate the repositories as pulled by the GitHub Actions infrastructure.

The ${{ github.action_path }} context value can be used to determine the location of checkout out action as ${{ github.action_path }}/../... This works both for "normal" jobs and jobs running in a container: (ref #43).

This project has been using something like this (though not as a Action) for a while now, see e.g.:
https://github.com/ericcornelissen/ghasum/blob/64c3f1728a966fd77d85e1c9f73df22f8e85934d/.github/workflows/check.yml#L21-L27
which satisfies both of the goals stated in the original issue (i.e. "The Action should validate the integrity of the actions used in the current job." and "Ideally this can validate the repositories as pulled by the GitHub Actions infrastructure.").


[$500] [Wave 8] [Ideal Nav] Chat list scroll position is reset on refocus

Action Performed:

Click the Chat Button on the bottom tab
Make sure that you have enough number of chats so that the list can be scrolled. Scroll the list to a random position.
Click Settings Icon 🔧 to go to Settings page. Click the Chat icon again to navigate back to Chats page.

Expected Result:
The scroll position of the chat list should be preserved.
Actual Result:
The scroll position is reset.
Additional Note
As part of a potential solution, we can make sure that we don't reload the chat/report list when switching between Chat and Settings on the Bottom Tab.
Workaround:
N/A
Platforms:

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

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

Screenshots/Videos
video -> https://github.com/Expensify/App/pull/33280#issuecomment-1885789713

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

Upwork Job URL: https://www.upwork.com/jobs/~01af2fb1053774c16b
Upwork Job ID:<PHONE_NUMBER>866393600
Last Price Increase: 2024-02-05

Proposal
Please re-state the problem that we are trying to solve in this issue.
We are not able to remember the state of the chats in the home route, when navigating to the all-settings page.
What is the root cause of that problem?
This is because BOTTOM_TAB_NAVIGATOR is responsible for both routes and can only display one at a time. When navigating to all-settings it will unmount the chats home route and it's chat components.
What changes do you think we should make in order to solve the problem?
We could move the all-settings route, and place it in our existing RIGHT_MODAL_NAVIGATOR. This Navigator can render alongside the BOTTOM_TAB_NAVIGATOR. this navigator is a modal that would overlay the home chats. So that when you close it would show the previous underlying state.
This implementation requires correct verification of back buttons, as there will be some deeplinking in all the nested navigation routes of all-settings. Overall not a small bug fix but rather a new feature.
What alternative solutions did you explore? (Optional)

still accepting proposals

Hey @hayata-suenaga this task may be something I should take a look at

@adamgrzybowski will take a look at this

@adamgrzybowski is going to take a look at this when they have time
changing the priority to weekly for now

Another performance issue was reported by David
-> internal Slack thread where David posted the issue

Make sure your account has several workspaces with a lot of chats/reports
Open the Chat Switcher (Search Page) by pressing CMD + K
Switch to a different chat/person (possibly one in a different workspace
Observe that the LHN that displays the list of chats loads very slowly

This is probably related more to this issue, but I wanted to keep you in the loop 🙇 (I also posted this issue in that GH ticket)

@adamgrzybowski is OOO. They will work on this once they're back

I am back and looking at it @hayata-suenaga

@situchan could you do the checklist when you have time? 😄

Will get to this tomorrow

@situchan paid $500 for C+

@situchan waiting for you to complete the checklist

@muttmuure, I think situation is OOO for whole April. Let's wait for them to come back. I changed the priority of this issue to weekly 🙇

Not overdue

Looks like this was already paid out


Support for AppDirs

@Samueru-sama Sorry to bother you, I got an initial AppDir edition working, what is different about AppImages? How do they make the programs access the shipped files under "usr/"? Any cool tricks to do this? Thanks!

Usually (99% of the cases) the AppDir contains a script named AppRun that sets a few env variables, including the current location of the program and then starts it.
However access to files in usr/ is done by linuxdeploy as it patches the binary to have its path relative to the usr inside the appimage instead of /usr from the filesystem.
that way it can always find what it needs without needing to use stuff like LD_PRELOAD or LD_LIBRARY_PATH.
You can also change the default behavior of the program this way, for example here is how the AppRun of my mpv appimage looks like:
#!/bin/sh
CURRENTDIR="$(dirname "$(readlink -f "$0")")"
if [ -z "$@" ]; then
	"$CURRENTDIR/usr/bin/mpv" --player-operation-mode=pseudo-gui
else
	"$CURRENTDIR/usr/bin/mpv" "$@"
fi

By default mpv doesn't launch its GUI when you run the binary (double click on the appimage) this change makes it do so.
And here is the AppRun of suyu which is a bit more complex:
#!/bin/sh -e

# A shell script that does the same as the binaries in the release section.

cd "$(dirname "$0")"

cxxpre=""
gccpre=""
execpre=""
libc6arch="libc6,x86-64"
exec="./bin/$(sed -n -e 's|%f||' -e 's|^Exec=||p' $(ls -1 *.desktop))"

if [ -n "$APPIMAGE" ] && [ "$(file -b "$APPIMAGE" | cut -d, -f2)" != " x86-64" ]; then
  libc6arch="libc6"
fi

cd "usr"

if [ -e "./optional/libstdc++/libstdc++.so.6" ]; then
  lib="$(PATH="/sbin:$PATH" ldconfig -p | grep "libstdc++\.so\.6 ($libc6arch)" | awk 'NR==1{print $NF}')"
  sym_sys=$(tr '\0' '\n' < "$lib" | grep -e '^GLIBCXX_3\.4' | sort -V | tail -n1)
  sym_app=$(tr '\0' '\n' < "./optional/libstdc++/libstdc++.so.6" | grep -e '^GLIBCXX_3\.4' | sort -V | tail -n1)
  if [ "$(printf "${sym_sys}\n${sym_app}"| sort -V | tail -1)" != "$sym_sys" ]; then
    cxxpath="./optional/libstdc++:"
  fi
fi

if [ -e "./optional/libgcc/libgcc_s.so.1" ]; then
  lib="$(PATH="/sbin:$PATH" ldconfig -p | grep "libgcc_s\.so\.1 ($libc6arch)" | awk 'NR==1{print $NF}')"
  sym_sys=$(tr '\0' '\n' < "$lib" | grep -e '^GCC_[0-9]\\.[0-9]' | sort -V | tail -n1)
  sym_app=$(tr '\0' '\n' < "./optional/libgcc/libgcc_s.so.1" | grep -e '^GCC_[0-9]\\.[0-9]' | sort -V | tail -n1)
  if [ "$(printf "${sym_sys}\n${sym_app}"| sort -V | tail -1)" != "$sym_sys" ]; then
    gccpath="./optional/libgcc:"
  fi
fi

if [ -n "$cxxpath" ] || [ -n "$gccpath" ]; then
  if [ -e "./optional/exec.so" ]; then
    execpre=""
    export LD_PRELOAD="./optional/exec.so:${LD_PRELOAD}"
  fi
  export LD_LIBRARY_PATH="${cxxpath}${gccpath}${LD_LIBRARY_PATH}"
fi

# Force xcb platform for Qt applications
if [ -z "${QT_QPA_PLATFORM}" ]; then
    export QT_QPA_PLATFORM=xcb
fi

# Find correct root CA file
_POSSIBLE_CERTIFICATES="/etc/ssl/certs/ca-bundle.crt \
/etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt \
/etc/ssl/ca-bundle.pem /etc/pki/tls/cacert.pem"

if [ -z "$SSL_CERT_FILE" ]; then
    for i in $_POSSIBLE_CERTIFICATES; do
        if [ -f "$i" ]; then
            export SSL_CERT_FILE="$i"
            break
        fi
    done
fi

#echo ">>>>> $LD_LIBRARY_PATH"
#echo ">>>>> $LD_PRELOAD"

exec $exec "$@"

So, I shouldn't worry because the AppRun supplied by the user already does the handling?

Any vars that AppRuns expect to be set?

So, I shouldn't worry because the AppRun supplied by the user already does the handling?

Yes, although the AppRun needs to be created. iirc linuxdeploy-qt and linuxdeploy-gtk do generate some sort of generic AppRun if the user doesn't make one.
And some applications do make their AppRun a binary, those are very very rare though. And sometimes AppRun is just a symlink to the binary inside usr/bin as well.
But at the very minimum the AppRun has to launch the main binary in the application.

Any vars that AppRuns expect to be set?

None.

Are you planing on taking an AppDir and make able to work on BSDs?
You can experiment with this as that AppImage even works on musl distros because it uses the static runtime with a static htop binary, I don't know if the binary itself can work on BSD though.

Okay. So, it seems like I've already added AppDir support and I didn't even know it :laughing:
So, what's left know is handling thumbnails and icon files. The format used by PELF is simple, but AppImages aren't so simple, they pack various resolutions of the icons, so I haven't yet figured out how to handle that.
case "$1" in
    --pbundle_help)
        printf "This bundle was generated automatically by PELF __PELF_VERSION__, the machine on which it was created has the following \"uname -mrspv\":\n %s \n" "__PELF_HOST__"
        printf "Usage:\n <--pbundle_link <binary>|--pbundle_help|--pbundle_xpmIcon|--pbundle_pngIcon|--pbundle_svgIcon|--pbundle_desktop> <args...>\n"
        printf "EnvVars:\n USE_BULKLIBS=[0,1]\n USE_SYSTEM_LIBRARIES=[1,0]\n SHOW_DISCARDPROCESS=[0,1]\n HELP_PAGE_LIST_PACKEDFILES=[0,1]\n REUSE_INSTANCES=[0,1]\n CREATE_THUMBNAILS=[1,0]\n"
        if [ "$HELP_PAGE_LIST_PACKEDFILES" = "1" ]; then
            ls "$TMPDIR"/*
        fi
        exit 1
        ;;
    --pbundle_link)
        binDest="$2"
        shift 2
        ;;
    --pbundle_pngIcon)
        for icon_path in "$TMPDIR/bundledMetadata/icon.png" "$TMPDIR/.DirIcon"; do
            if [ -f "$icon_path" ]; then
                base64 "$icon_path"
                exit 0
            fi
        done
        exit 1
        ;;
    --pbundle_xpmIcon)
        icon_path="$TMPDIR/bundledMetadata/icon.xpm"
        if [ -f "$icon_path" ]; then
            base64 "$icon_path"
            exit 0
        else
            exit 1
        fi
        ;;
    --pbundle_svgIcon)
        icon_path="$TMPDIR/bundledMetadata/icon.svg"
        if [ -f "$icon_path" ]; then
            base64 "$icon_path"
            exit 0
        else
            exit 1
        fi
        ;;
    --pbundle_desktop)
        desktop_path="$TMPDIR/bundledMetadata/app.desktop"
        if [ -f "$desktop_path" ]; then
            base64 "$desktop_path"
            exit 0
        elif desktop_file=$(find "$TMPDIR" -maxdepth 1 -name '*.desktop' -print -quit); then
            if [ -n "$desktop_file" ]; then
                base64 "$desktop_file"
                exit 0
            fi
        else
            exit 1
        fi
        ;;
esac

Okay. So, it seems like I've already added AppDir support and I didn't even know it 😆 So, what's left know is handling thumbnails and icon files. The format used by PELF is simple, but AppImages aren't so simple, they pack various resolutions of the icons, so I haven't yet figured out how to handle that.

Any appimage made with linuxdeploy or appimagetool or go-appimagetool (aka 99.99% of appimages) will have a .DirIcon file in the top level of the appimage.
Sometimes that file is a symlink and one has to be careful when extracting it. This is how AM handles it
Same applies for the .desktop

I've also created a small utility called "getlibs" that basically gets the .so files a binary needs and copies them to a directory. Since I found out that linuxdeploy doesn't do this already, at least not with every dependency.

Yeah there is a list of libs which don't get copied in linuxdeploy as those are expected to be in every linux distro.
However, go-appimage has a deploy everything mode that bypasses the list and bundles everything.

Thanks for explaining everything. What about Schemas?

It should work in a normal Linux system, however, this was generated in Musl, I am trying to bundle the LD.so so that it also works in Glibc, but I am not sure it will work.
pelf_appdir_and_a_demo.tar.gz

linuxdeploy gtk does it: https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/blob/master/linuxdeploy-plugin-gtk.sh#L247

linuxdeploy gtk does it: https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/blob/master/linuxdeploy-plugin-gtk.sh#L247

I generated my appdir with --plugin gtk

I corrected something in the loader script, if you wish to try it, use this new archive.
pelf_appdir_and_a_demo.tar.gz
I generated the bundle/blob with: "./pelf_appdir --output-to ./caja.blob --add-appdir ./caja.AppDir caja --add-ld-and-li
bc /lib/ld-musl-x86_64.so.1 /lib/libc.musl-x86_64.so.1"
Check out the bundle's help page with --pbundle_help. Thanks for your help!

linuxdeploy gtk does it: https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/blob/master/linuxdeploy-plugin-gtk.sh#L247

I generated my appdir with --plugin gtk

linuxdeploy gtk does it: https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/blob/master/linuxdeploy-plugin-gtk.sh#L247

I generated my appdir with --plugin gtk

I can't see the GSETTINGS_SCHEMA_DIR being defined anywhere though. iirc linuxdeploy-gtk makes a few separate scripts from AppRun where that env variable is set.

Oh, I just read that part. Is there any way to make the linuxdeploy plugin create the AppRun? I think making PELF rely ONLY on AppDirs will be the better approach, having to do everything twice makes the code ugly and the loader slower...

edit2: yeah I can't see GSETTINGS_SCHEMA_DIR in the .blob and also the AppDir is lacking the usr/share/glib-2.0/schemas dir.

I will create a new AppDir and try again once I make PELF handle the GSETTINGS_SCHEMA_DIR var

edit2: yeah I can't see GSETTINGS_SCHEMA_DIR in the .blob and also the AppDir is lacking the usr/share/glib-2.0/schemas dir.

I will create a new AppDir and try again once I make PELF handle the GSETTINGS_SCHEMA_DIR var

linuxdeploy-gtk should have set all of that.
If you want a reference, look inside the cpu-x appimage as that one uses said tool (in fact linuxdeploy-gtk was made by the same dev of cpu-x lol)

I need a working AppDir, so that I can test the changes I make to PELF.
Things made with Glibc in mind won't work in my setup.

I need a working AppDir, so that I can test the changes I make to PELF. Things made with Glibc in mind won't work in my setup.

Good luck finding a musl gtk appimage.
The AppRun in cpu-x seems to be have fully autogenerated though.
#! /usr/bin/env bash

# autogenerated by linuxdeploy

# make sure errors in sourced scripts will cause this script to stop
set -e

this_dir="$(readlink -f "$(dirname "$0")")"

source "$this_dir"/apprun-hooks/"linuxdeploy-plugin-gettext.sh"
source "$this_dir"/apprun-hooks/"linuxdeploy-plugin-gtk.sh"
source "$this_dir"/apprun-hooks/"linuxdeploy-plugin-ncurses.sh"

exec "$this_dir"/AppRun.wrapped "$@"

And each script inside apprun-hooks set a bunch of env variables, including export GSETTINGS_SCHEMA_DIR="$APPDIR//usr/share/glib-2.0/schemas"

I think I figured out what I should do:

PELF will package things with just a CLI command.
PELF will also handle AppDirs, but they will have to ship their own loader (an AppRun), if you want integration for such AppDir-generated .AppBundles, you'll have to use --add-metadata ./yourAppDir/.DirIcon and so on, for your .desktop, .svg icon, etc.

If I were to make everything automatic, I should write a program, not a shell script. At which point you should consider AppImages, even if they aren't as portable.

If you have any AppDirs laying around that contain an AppRun, try the new release. I just pushed the changes.


Update copyright year

In the footer section, the year is not updated.

I an a member of LGM SOC
Please allow me, I can do this

please assign it to me @QAZIMAAZARSHAD

Don't just change the text.
It should update automatically every year according to date.

I an a member of LGM SOC
Please allow me, I can do this

@AnjaniSriya this issue has already been assigned look for some other issues.

hello sir can i work on this issue
please assign it to me

hello sir can i work on this issue
please assign it to me

@MEETOZA123 this issue has already been assigned look for some other issues.

Thank you for assign this task to me.
I will make Pr in next 30 min.

Hello I had worked on this issue
Please assign it to me.

Hello I had worked on this issue
Please assign it to me.

Already resolved. Will be closed soon.


[SP-3218] Backport of PDI-15821 - java.lang.ArrayIndexOutOfBoundsException with metadata injection and microsoft excel input step (6.1 Suite)

backport of #3284

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f engine/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/excelinput/ExcelInputMeta.java
  engine/test-src/org/pentaho/di/trans/steps/excelinput/ExcelInputMetaTest.java
  engine/test-src/org/pentaho/di/trans/steps/replacestring/ReplaceStringTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.core.auth.core.impl.DefaultAuthenticationConsumerFactory

Branch Change: -7.14%:small_red_triangle_down:
Complexity Change: -7.69%:small_red_triangle_down:

org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -1.64%:small_red_triangle_down:
Line Change: -1.97%:small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Instruction Change: -.19%:small_red_triangle_down:
Line Change: -.27%:small_red_triangle_down:

org.pentaho.di.trans.steps.excelinput.ExcelInputMeta

Branch Change:  + 2.05%
Complexity Change:  + .41%
Instruction Change:  + 2.02%
Line Change:  + 1.39%
Method Change:  + 1.19%

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change:  + 1.18%
Complexity Change:  + 1.35%

org.pentaho.di.trans.steps.replacestring.ReplaceStringMeta

Instruction Change:  + .07%

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change: -.18%:small_red_triangle_down:

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -.53%:small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change:  + .18%

org.pentaho.di.trans.Trans

Branch Change: -.10%:small_red_triangle_down:
Complexity Change: -.14%:small_red_triangle_down:
Instruction Change: -.09%:small_red_triangle_down:
Line Change: -.11%:small_red_triangle_down:

Integration test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.step.BaseStep

Branch Change: -.30%:small_red_triangle_down:
Complexity Change: -.18%:small_red_triangle_down:
Instruction Change: -.05%:small_red_triangle_down:
Line Change: -.08%:small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/test-src/org/pentaho/di/trans/steps/replacestring/ReplaceStringTest.java

:heavy_exclamation_mark: Using a static member import should be avoided - org.junit.Assert.assertArrayEquals. at Line: 36

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Matchers.any. at Line: 37

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Matchers.anyObject. at Line: 38

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Matchers.anyString. at Line: 39

:heavy_exclamation_mark: Using a static member import should be avoided - org.mockito.Mockito.*. at Line: 40

Build Completed
:x: This pull request has errors. They will need to be addressed before it can be accepted. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f engine/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/excelinput/ExcelInputMeta.java
  engine/test-src/org/pentaho/di/trans/steps/excelinput/ExcelInputMetaTest.java
  engine/test-src/org/pentaho/di/trans/steps/replacestring/ReplaceStringTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -1.64%:small_red_triangle_down:
Line Change: -1.97%:small_red_triangle_down:

org.pentaho.di.trans.steps.excelinput.ExcelInputMeta

Branch Change:  + 2.05%
Complexity Change:  + .41%
Instruction Change:  + 2.02%
Line Change:  + 1.39%
Method Change:  + 1.19%

org.pentaho.di.trans.steps.memgroupby.MemoryGroupByMeta

Branch Change:  + 1.18%
Complexity Change:  + 1.35%

org.pentaho.di.trans.steps.randomvalue.RandomValueMeta

Branch Change: -2.17%:small_red_triangle_down:
Complexity Change: -2.17%:small_red_triangle_down:
Instruction Change: -.15%:small_red_triangle_down:

org.pentaho.di.trans.steps.sortedmerge.SortedMergeMeta

Instruction Change:  + .18%

org.pentaho.di.trans.steps.symmetriccrypto.symmetriccryptotrans.SymmetricCryptoTransMeta

Branch Change:  + 3.33%
Complexity Change:  + 1.85%
Instruction Change:  + .28%

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -.53%:small_red_triangle_down:

Integration test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.step.BaseStep

Instruction Change: -.08%:small_red_triangle_down:
Line Change: -.16%:small_red_triangle_down:

Checkstyle violations
The code submitted is not complying with one or more of our guidelines. To perform these checks locally, please use this tool.
/home/buildguy/project/engine/test-src/org/pentaho/di/trans/steps/replacestring/ReplaceStringTest.java

:heavy_exclamation_mark: ',' is not followed by whitespace. at Line: 55 Column: 83

:heavy_exclamation_mark: '.' is followed by whitespace. at Line: 55 Column: 91

Build Completed
:fire: This pull request has some issues. It would be preferable to fix them in order for it to be just perfect. See below for more details. Some links are also available below for further assistance in addressing those issues.
Build Commands
ant -Dtestreports.dir=bin/reports/unit-test -f engine/build.xml clean-all resolve jacoco && ant -Dtestreports.dir=bin/reports/integration-test -f engine/build.xml jacoco-integration checkstyle publish-local

Cleanup Commands
rm -r ~/.ivy2/local || echo no publish local to remove

Changed files
  engine/src/org/pentaho/di/trans/steps/excelinput/ExcelInputMeta.java
  engine/test-src/org/pentaho/di/trans/steps/excelinput/ExcelInputMetaTest.java
  engine/test-src/org/pentaho/di/trans/steps/replacestring/ReplaceStringTest.java

Unit test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.job.entries.sql.JobEntrySQL

Instruction Change: -1.64%:small_red_triangle_down:
Line Change: -1.97%:small_red_triangle_down:

org.pentaho.di.trans.step.StepMeta

Instruction Change:  + .19%
Line Change:  + .27%

org.pentaho.di.trans.steps.excelinput.ExcelInputMeta

Branch Change:  + 2.05%
Complexity Change:  + .41%
Instruction Change:  + 2.02%
Line Change:  + 1.39%
Method Change:  + 1.19%

org.pentaho.di.trans.steps.textfileinput.TextFileInputMeta

Branch Change: -.53%:small_red_triangle_down:

org.pentaho.di.trans.steps.uniquerows.UniqueRowsMeta

Instruction Change: -.18%:small_red_triangle_down:

Integration test coverage change
These statistics help you identify how your changes have affected the coverage of the following files. If a file is not in this list, then its coverage was not affected by your changes. To get some help interpreting these metrics, please refer to Jacoco's documentation.
org.pentaho.di.trans.step.BaseStep

Branch Change: -.30%:small_red_triangle_down:
Complexity Change: -.18%:small_red_triangle_down:
Instruction Change: -.13%:small_red_triangle_down:
Line Change: -.08%:small_red_triangle_down:

@mbatchelor @mchen-len-son please review

Double-checked locally.
@Advent51
I'll merge this one, but next time, please keep fix itself and checkstyle changes separated when backporting.


Custom heading display funcs

Makes it possible to customise the display logic of headings.
I was struggling to make some simple customisations of how headings are displayed, both in the document and in the outline. For example, I wanted to add additional separation between the numbering and title of headings. I initially tried adding spaces to the numbering parameter, but that causes spaces to be added to the end of references as well, which is not desired. After a few more not-quite-right attempts, I eventually settled on this monstrosity of a show rule:
#show heading: content => {
    show text: c => {
        // Insert more space between heading numbering and name
        if repr(c).contains(regex("^\[[A-Z\d]+(\.\d+)*\]+$")) {
            box(inset: (right: 2mm, rest: 0mm), c)
        } else {
            c
        }
    }
    content
}

...but that feels icky.
Instead, this PR would allow you to override the default display logic with a set rule like this:
#set heading(
    numbering: "1.1",
    display: (numbering, title) => text(style: "italic", numbering) + h(1em, weak: true) + title,
)

...which in this example would give you italic numbering and a full em space before the title.
Additionally, you can customise the appearance of the associated outline entries:
#set heading(
    outline: (numbering, title) => numbering + h(0.75em, weak: true) + text(style: "italic", title),
)

...which in this example would give you plain numbering followed by a 3/4 em space and an italic heading title.
Suggestions and edits welcome - or if there's a better way, I'd love to know! :)

You can already do something like
#set heading(numbering: "1.1")
#show heading: it => [
    #emph(counter(heading).display(it.numbering))
    #h(1em, weak:true)
    #it.body
    #linebreak()
]```

to achieve the same effect.

(Though I think customizing the outline is harder)

Thank you @Enivex, that does half of what I need. I still feel there needs to be a way of customising the outline entries though. Perhaps not exactly as I've done it here, but right now it feels too rigid.

There is an open PR for outline customization: #1423.

There is an open PR for outline customization: #1423.

Yep, although I guess the discussion regarding on changing the outlined text for specific headings is valid. This could be used to omit certain symbols or styling from that specific heading's outline, as it could be quite annoying to use show rules with outline entries for that (for comparison, it could also make sense to customize the bookmark text of a heading in a similar way). Might need more bikeshedding still, however.
Despite that, the other option added by this PR - display: - should certainly be dropped in favor of show rules (as that is their purpose). A separate proposal, however, could be to make it easier to get a heading's displayed numbering (some alias for numbering(h.numbering, ..counter(heading).at(h.location()), maybe), but that's a very separate thing.

Some sort of short title as LaTeX allows might be useful (especially for figure captions, but maybe for headings, too). That wouldn't be a function you set, but rather an argument you pass when creating the heading though. Regarding the display function here: As said before, this is exactly what show is made for. :) I would thus close this PR.

Relevant other issue: https://github.com/typst/typst/issues/1295


Component updates May 20-2022

Update to TF 3.7 and some minor nuget updates

validated in e2e
@heoelri

Seems like the dependabot check interval is to high for you.. ;)


Remove Openlava support

CfnCluster 1.3.2 is removing support for Openlava, but we forgot to remove the nodewatcher and sqswatcher plugins for openlava.  This won't hurt anything, but is dead code.  We should remove the code in a future release of cfncluster-node.

After further discussion, we're going to leave the Openlava node scripts in place in future releases.  Closing this issue.


Batch compression support

An application is packaged based on squoosh, supporting mac and win. Supports batch compression.
https://img.imoolee.com/en.html?r=github

Seems like advertisement to me... :)


Hello, I want to generate ipk  from the react tv project.

Can you generate a ipk from project's result or source code, Can you explain more?

Hey @etibar, when you run react-tv-cli run-webos it will generate the IPK for you. https://github.com/raphamorim/react-tv/blob/master/packages/react-tv-cli/scripts/webos/run.js#L133

Unfortunately there’s no build-webos to just create the IPK file. Feel free to open a PR if you want to, would be a good feature to have. Closing this issue.


Missing Headings, just only works for Contents (Messages)

I appreciated for this awesome lib. I'd like to send headings data with contents in payload. Please update !!
Thanks again

Hi,
You can use the headings, I had the same problem, you only use the message as an object to specify the language, for the headings it goes in the options object.
Here's an example:
client.sendNotification(
  {
     en: 'your message',
  },
  {
    headings: { en: 'your headings'},
  },
);


Resolves #81 in linking the participating guide in the footer.

Resolves #81 by adding a link for the Participating Guide in the footer.

Looks good to me :+1:

:+1: , @simonmcmanus I'll let you merge

Thank you!


Unipin (most) clients

We no longer rely on the command line in our automation, and we don't
rely on the libraries as much any more given use of shade. Unpinning
these seems to make the clients work again, including openstackclient,
which wasn't previously working.
Keystone client is pinned under 3.0.0 as the newer one does break a few
things.

👍


NodeUri(f.BaseFilter) does not support tcp connections

https://github.com/iotaledger/iota.lib.py/blob/e345de981829a36ceaccf3862835c0dd28486950/iota/filters.py#L62
It's not possible to add / remove nodes when the tcp protocol is used.

Thanks for reporting this @danielfaust !  I agree that PyOTA is probably a bit too opinionated about what constitutes a node URI.  If IRI (or for that matter, custom IOTA node software) supports TCP neighbour connections, then we should definitely support that.

@todofixthis Has anybody picked this up yet?

@laumair not to my knowledge.  Or at least, I haven't seen any pull requests for it yet.


D&D_3-5/charsheet is not calculation total attributes and attr mod.

The file D&D_3-5/charsheet_3-5.html has a problem the total attr and attr_mod the inputs are disable and the sheet can't calculate the total values. We should change the "disabled" back to readonly="readonly".

@hoyer555 Bringing your attention to this as the person that last made changes to this sheet.


[Feature request] SLIP-39 Shamir Backup support?

Trezor now ships with support for SLIP-0039 : Shamir's Secret-Sharing for Mnemonic Codes.  It would be great if the BitBox02 would also add support for this emerging standard to prevent vendor lock-in and give users an easy way to restore their wallet on either device.

Sorry for the late reply.
It's a very interesting feature for sure! Currently we have our hands full, so we are not looking into adding this in the near future.
It's definitely on our radar though.
Thanks!

@benma would you mind re-opening this issue so that we can subscribe to it and be notified of the feature being implemented (hopefully) in the future?
SLIP-39 seems to be a nice way to backup the device as part of a 2-of-3 scheme to not expose full access to the funds when someone gets hold of only one of the seed backups (which is the case right now, since there is only a backup of the whole seed in plain sight).

Ok, done ;)
To manage expectations: this feature is still not on our roadmap, and it is not likely it will be be on the roadmap in the short/mid term.
Other solutions that can protect your backups in the meantime, for expert users only:

Optional passphrase
[Multisig[(https://shiftcrypto.ch/blog/bitbox02-electrum-bitcoin-multisig/)

while I am not a particular fan of the SLIP39 implementation of shamir (mainly due to lack in compatibility to BIP39) I think shamir is a pretty helpful way of having secure but redundant backups, especially since Multisig needs multiple devices and stuff it's in my opinion more suited when multiple parties are supposed to have control over any given set of funds, like for example when you have a company like a financial board in a company with 5 people of which 3 are needed to authorize stuff.
like with Passphrase you basically have a 2-of-2 scheme which is surely nice for security but no redundancy except by storing your seed and passphrase multiple times.

I would love to see thus implemented, since it would allow a more redundant backup for my single hot wallet.
Cold wallet should be multisig anyway IMO.

I think the effort is better spent in improving the multisig experience, as multisig not only provides a distributed backup, but also distributed signing.

Copying here for the record

Multisig in altcoins is non existent or relies on smart contracts. Also, some institutions use a combination of multisig and Shamir shares for added redundancy. Shamir would be great to have in addition to multisig when developer resources allow.

Hallo and sorry if I am at the wrong place for writing this but currently I deliberate to switch my hardwarewallet to a BitBox02. The only dealbreaker currently holding me up is the missing support for SLIP-39.
My thoughts regarding this discussion are

I think the effort is better spent in improving the multisig experience, as multisig not only provides a distributed backup, but also distributed signing.

That there are several standards by the BitBox are not compatible with multisig (e.g. BIP-85 which "can be used to onboard friends and families" and as described by @benma thoses people (which are no experts) should not be introduced to multisig. Therefore my single seed must be better secured.)

Other solutions that can protect your backups in the meantime, for expert users only:

Optional passphrase

Multisig

In my opinion there are some problems to your suggestion @benma.
1st more complex multisig (except by using keyaggregation through taproot-keypath) consumes more blockspace than a single key. Which can be argued (as by @My1) can be unpractical for a single person scenario.
2nd there is a feasable limit for non keyaggregation multisig which is, as far as I know, already surpassed by SLIP-39 (e.g. I have two shares from which I can recover my wallet alone or if one of those is lost I can request 3 of my 5 friends' share (which I gave them) to recover my wallet.
3rd if I lost some of my SLIP-39 shares or want to rearrange my distribution I can let my hardwarewallet create a new set of shares and continue as if nothing happend (which has some caviats I will add) while in a multisig setup I need to make some onechain transactions to heal or change my distributed backup
The caviats to my 3rd point is that a new set of shares does not invalidate the old shares so someone creating a new set should either have both sets be part of the backup/distribution strategy or should make sure that there is no overlap in shares, which should be regarded as compromised, which could result in a third party gaining the ability to restore the seed. This caviat is one of the reasons for SLIP-39 being incompatible to BIP-39 as @My1 already pointed out as a single surving compromised BIP-39 backup would be a single point of failure a proceeding SLIP-39 setup.
Finally I would like to help implementing SLIP-39 into the BitBox02 as I am confident in my abilities to write in C. But as this would be my first contribution to anything part of a hardwarewallet I am hesitent as to not introduce some vulnerabilities. Therefore I would like to know if my help could be used and if so I would limit myself to creating kind of a SLIP-39-library-code to your specifications for others to just need to integrate this code to the data-storage and BitBoxApp-UI.

Just to be clear, I no longer believe SLIP-39 is a protocol that should be adopted.  After experimenting and learning about the limitations, I believe there are critical features missing.  Very sad that Satoshi Labs went ahead with this particular implementation of SSS.  Blockchain Commons has a superior protocol which allows bi-directional conversion between BIP-39 seed phrase and SSS shares. https://github.com/BlockchainCommons/lethekit/issues/38#issuecomment-640919432

@jonathancross in the linked comment the rationale is

My deal breaker here is that losing the ability to round trip from BIP39<->seed<->shards means that wallets are locked in to supporting SLIP39 the way Satoshi Labs does it. With our current sharding method (which will need to be changed to not confuse with SLIP39), you are not locked in to the Trezor

I find this unconvincing. There is no vendor lock-in if others adopt SLIP-39, in the same way others would have to adopt SSKR. Also SLIP-39 is open source (protocol and code), so one can always create&recover on an offline computer, same as with SSKR (which afaik currently does not have any HWW support).

Copying here for the record (just in case the #1351 will be handled here)

Lastly I want to ask for some additional quality of life features if this would be included in the BitBox:

Continue Recovery in case of powerloss (not a partial typed in shard just from the last complete shard)
Continue a begun recovery without a PC (e.g. just power from a powerbank) to not need to bring all shards together (just go from shard to shard and type them in / read in the SD-card)
Continue a "completed" Dry-Run Recovery for the remainding shards to check the whole setup at once


Cannot find Red Pitaya on LAN despite able to connect through browser

I am setting up pyrpl for the first time to connect with a Red Pitaya. I am able to connect to the Red Pitaya by connecting to hostname <IP_ADDRESS> in my web browser and access STEMlab functionality. However, when I try to start pyrpl (either through binary executable or  python -m pyrpl it does not find the Red Pitaya on the network. If I manually type in the IP address above I get
Could not connect to Red Pitaya device with the following parameters:
...
Error message: [WinError 10054] An existing connection was forcibly closed by the remote host...

Occasionally when "Searching LAN for Red Pitayas" I get the error:
ERROR:paramiko.transport:Socket exception: An existing connection was forcibly closed by the remote host(10054)

Closing this because I cannot reproduce this. In case this proves to be a blocker please re-open and try to supply more information


Option to whitelist urls for caching

We have an app that pings multiple APIs, but we need caching for just one of them. Can you add whitelisting?

You can solve this by adding a custom Dio interceptor before the cache to remove your cache options if the request is for a non-whitelisted url.

// dio_cache_whitelist_interceptor.dart
import 'package:dio_http_cache/dio_http_cache.dart' show DIO_CACHE_KEY_TRY_CACHE;
import 'package:dio/dio.dart';

class DioCacheWhitelist extends Interceptor {
  DioCacheWhitelist(this.whitelist);

  final List<Uri> whitelist;

  @override
  Future onRequest(RequestOptions options) async {
    final target = options.uri;
    if (!whitelist
        .any((uri) => uri.scheme == target.scheme && uri.host == target.host)) {
      print('NOT whitelisted for caching: $target');
      options.extra[DIO_CACHE_KEY_TRY_CACHE] = false;
    }
    return options;
  }
}

Thank you so much!

Uri.https('example.org', ''),

whats second parameter on this your pasted code which that empty string?
Uri.https('example.org', ''),

If you are using an IDE (like Android Studio) or an editor that has something like IntelliSense (VSCode) you could right-click on the https keyword and view the definition.
Here’s the Dart page to the Uri class: https://api.dart.dev/stable/2.9.3/dart-core/Uri-class.html
I hope that helps.

If you are using an IDE (like Android Studio) or an editor that has something like IntelliSense (VSCode) you could right-click on the https keyword and view the definition.
Here’s the Dart page to the Uri class: https://api.dart.dev/stable/2.9.3/dart-core/Uri-class.html
I hope that helps.

yes i see, url's should be define completely when we want to cache?

@MahdiPishguy the code snippet I posted above is public domain - feel free to change it to your liking.
It expects Uris, which are immutable by design.
You can do whatever you want with the code - you can match with a String or a Pattern, or a custom class you specify.
It is only limited by our imagination.


74-transform-column-enhancement

This PR resolves #74 and my boredom on a Saturday.
PR Checklist
Please ensure that you have done the following:

[X] PR in from a fork off your branch. Do not PR from <your_username>:master, but rather from <your_username>:<branch_name>.
[X] If you're not on the contributors list, add yourself to AUTHORS.rst.

Quick Check
To do a very quick check that everything is correct, follow these steps below:

[X] Run the command make check from pyjanitor's top-level directory. This will automatically run:

black formatting
pycodestyle checkin
running the test suite
docs build

Code Changes
If you are adding code changes, please ensure the following:

[X] Ensure that you have added tests.
[X] Run all tests ($ pytest .) locally on your machine.

[X] Check to ensure that test coverage covers the lines of code that you have added.
[X] Ensure that all tests pass.

Documentation Changes
If you are adding documentation changes, please ensure the following:

[X] Build the docs locally.
[X] View the docs to check that it renders correctly.

PR Description
Please describe the changes proposed in the pull request:

Gives user ability to store result of a column transformation in a new destination column

Relevant Reviewers
Please tag maintainers to review.

@ericmjl

I must have based this branch on my other PR... sigh.

https://xkcd.com/1597/

Uhhhh, turns out make check i.e., black is doing the underscore thing... wat.

@ericmjl should be good to go.

Uhhhh, turns out make check i.e., black is doing the underscore thing... wat.

Weird! Didn't think Black would do that. It's actually a good thing; makes the numbers readable. I have no strong opinions on this at the moment haha.


Unify mc/cpu and mc/gpu

The two stages mc/cpu.py and mc/gpu.py contain a lot of duplicate code and therefore should be merged into one more general stage.

I don't think these stages exist anymore, so I'm closing it..


python3Packages.waterfurnace: init at 1.1.0

Motivation for this change
Python interface to waterfurnace geothermal systems.
https://github.com/sdague/waterfurnace
This is a Home Assistant dependency.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

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

3 packages built:

python37Packages.waterfurnace
python38Packages.waterfurnace
python39Packages.waterfurnace

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

3 packages built:

python37Packages.waterfurnace
python38Packages.waterfurnace
python39Packages.waterfurnace


:host-context generates bad CSS

Same issue as https://github.com/angular/angular/issues/11466.

Am I missing something or is this rule unusable until this is fixed? Or is there a workaround for it?

@leonsenft Can you take a look at this?

This is a known issue and a fix should be landing shortly to address it.

Ping @leonsenft did this merge into MASTER here?

@matanlurey Not yet, still WIP.


🚀 Feature: Add Generate PDF for Python

Appwrite Functions allow you to extend and customize your Appwrite server functionality by executing your custom code. 🤩 You can learn more at our official Appwrite Functions docs.
Your task is to implement the Generate PDF function in Python. You can look at the existing Appwrite Functions Templates in another coding language.
Your function should behave and be implemented similarly to existing Generate PDF Node.js template.
Tasks summary:

[ ] Fork & clone Appwrite's templates repository
[ ] Create a branch feat-implement-generate-pdf-python
[ ] Write code for the function in folder python/generate_pdf/.
[ ] Test the function using Appwrite, provide a video.
[ ] Write a README.md explaining what the function does, how to use it, and customize it. Here is an example.
[ ] Submit a pull request to our templates repository

If you need any help, contact us on our Discord server.
Are you ready to work on this issue? 🤔 Let us know, and we will assign it to you 😊
Happy Appwriting!

Kushagra S


Consistent testing standards for randomised functions

We should decide on standard thresholds for checking the values generated by randomised functions (e.g. n * variance or standard deviation) so that our tests are consistent.

Should look at github actions to configure how to respond when a statistical test fails -- which they will sometimes at least. We don't want other tests to be cancelled because of statistical tests which are actually working properly.

We've now added support for consistent seed so that we get replicable test results

For now we can set a standard at 3 standard deviations; we can adjust if this becomes an issue.


[do not merge] support explicit input object fields

fixes https://github.com/charlypoly/graphql-ruby-hive/issues/12
What changed

inspect node.value during on_enter_argument

if its a variable, add all values (all fields if an input object or all possibilities of an enum) as used
if its an explicit value, iterate through the given values and mark the input object fields, or given enum value, as used

Hmm I realized this doesn't yet handle list values yet.

Okay!  Lists of enums / input objects are now supported.
Though now I also realize that hardcoded null values in arguments/lists would probably break things


img_utils uses 3.6 construct of f'' formatting

Our code needs to be supported for Python 3.5 (due to incompabilities of 3.6 with Tensorflow on Windows). The img_utils.py file uses a f'' style formatting of strings that was not introduced until 3.6. Thus the code now will through errors with anyone running python 3.5
For the time being, I commented out the inclusion of img_utils in gapml/utils/init.py

fixed by David Molina


Add 1600p_SMF_en support

Added 1600p Medium font support for SDR.

@josdemmers, great work with the tool, found it recently and it was very fun to check how you made it work! Also, the Debug mode is awesome!
The reason this PR is a draft is that I could not manage to test it locally, as the app only allows to "download" presets already in master. I changed UpdateSystemPresetInfo() to use my local file instead of the uri, and it worked finally found my preset, but I still have to download it and the button is greyed out 😅

Maybe this could be a future update for debug mode.
Thanks you!

Thank you for the extra system preset. Good to hear you like the project!
Regarding the download button, that is disabled while the overlay is active. If you disable it you can download and change the system preset.
For local testing you don't have to use the Download button. You can directly use the selection on the left.
Add your preset to the .\Diablo4Companion\Images\ folder and restart the app and you will be able to select it.

Updated the icons as suggested.
While testing locally, the items were never detected by the debugger. I had it working on my 1440 monitor though with the 1440p_SMF_en preset, so it could be the icons I captured are now too cropped, or am I missing something?

Maybe the issue could be the height, as this is a taller aspect ratio (16:10), and the shift key is not visible on the item.

Your icons are looking fine now. Must be something else.
Let's first try to get it working at your end before merging it.
You mentioned a 1440p monitor. That pc has multiple monitors connected?

Your intuition was on point.
After testing individually with each monitor (laptop 1600p and widescreen 1440p), the app worked correctly. I was using it without restarting the app when changing monitors, which caused the issue.
Noticed one thing, both on 1600p_SMF_en and 1440p_SMF_en presets, the unique icon was not detected.

Also confirm that controller mode worked in both presets.

Great, going to merge this tomorrow.

Noticed one thing, both on 1600p_SMF_en and 1440p_SMF_en presets, the unique icon was not detected.

Probably working fine. Unique aspects are not marked because you can't extract them.
You can verify if it works at the debug tab.

Merge is done, one last question. What is the ingame brightness you are using?
Is that the same as the default?

Reason is I was testing and updating some of the other presets and noticed that with the default ingame brightness setting changing this app setting worked better:

Brightness Thresshold: 60 --> 70


New package: NewCloud.NewSSTeacher version 1.03.1197

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?

[x] Does your manifest conform to the 1.5 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

@microsoft-github-policy-service agree company="NewCloud"

Hi @haohuancheng,
This manifest results in the installer being placed onto the PC, instead of the application installed. This appears to be an InstallShield installer instead of a Portable installer.

I'm not sure why this install got the Student installer despite downloading the Teacher installer.

I'm not sure why this install got the Student installer despite downloading the Teacher installer.

in each installer file, there are same exe application filename, but not config file.

Hi @haohuancheng,
This manifest results in the installer being placed onto the PC, instead of the application installed. This appears to be an InstallShield installer instead of a Portable installer.

So, installtype should be exe. I'm trying to make some changes. How can I update them again?


[WIP] Remove DatabaseBackup

Part of https://github.com/ManageIQ/manageiq/issues/21100
Depends on https://github.com/ManageIQ/manageiq-ui-classic/pull/7816
Remove DatabaseBackup model and related code.  Should be merged after related UI PR.
Links

https://github.com/ManageIQ/manageiq/issues/21100
Possible UI PR:  https://github.com/ManageIQ/manageiq-ui-classic/pull/7816

Hmm, I wonder what lj.out contained...

Hmm, I wonder what lj.out contained...

@jrafanie it was from when we were debugging the locking issues with the UI:
$ cat x.rb
trap(:INFO) {
  # Thread.list.each do |t|
  #   puts "#" * 90
  #   p t
  #   puts t.backtrace
  #   puts "#" * 90
  # end

  puts ActionDispatch::DebugLocks.new(nil).send(:render_details, nil).last.last
}
$ ruby -I. -rx bin/rails s

not sure if we need a rebase or just to kick off the build again. I kicked one of them and will see if that fixes the first travis build


Update CI scripts

If this looks good I'll create the same against master

If this looks good I'll create the same against master


Replace deprecated getTransactionStatus with getTransaction.

See stellar/soroban-tools#339.
TODO:

[ ] Decide whether or not getTransactionStatus should stick around
[ ] Add tests for the success/error cases

Think this is a duplicate of work @tamirms was doing - https://github.com/stellar/js-soroban-client/pull/52

Lol :facepalm: good catch, :ninja:'d by 11 hours.


Identify chip reference

I am trying to get the reference (C6, S3 ....) of the chip I am using since it is embedded in a module.
Is it possible to have this information?
The best I got from espflash board-info is:
Chip type:         esp32 (revision v3.0)
Crystal frequency: 40MHz
Flash size:        4MB
Features:          WiFi, BT, Dual Core, 240MHz, Coding Scheme None

Yours is an ESP32, no suffix. It's in the first line.

As @bugadani pointed, yours is an ESP32, thanks for the quick help @bugadani! I will be closing the issue, should you have any further question feel free to reopen it.


Magic Missiles force vector is frame dependent.

The "force" vector that turns magic missiles is used every frame and the force is not scaled according to the time step.

fixed


Improve decode_ignored_any coverage

related to @haydnv/destream#2, I've found that attempting to utilize decode_ignored_any wasn't working for me.  After looking at the code, it seems like this implementation could have better coverage.
goals for this issue:

[x] #3 adds CI with automated tests based on serde-rs/json
[x] adds a test suite for this function, to ensure it's able to deserialize correctly and efficiently
[x] reimplement it, see this pr in my fork
[x] reach feature parity with serde's implementation (of this function)
[x] once #3 is merged, open up a PR for my fix/2-decode-ignored-any branch

i'll likely have some questions about how some aspects should be approached.  i'll start with the test suite though, in order to have a benchmark of it working.
(I'm not sure if I can assign myself to this issue, but feel free to do that @haydnv)

finished with the merge of #4 in v0.12.2 🎉


feat: Add AWSRetryErrorInfoProvider

Issue #

Description of changes

New/existing dependencies impact assessment, if applicable

Conventional Commits

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/test


Improve readme

The readme could use usage example and docs.

Yeah, I've been bashing out a load of packages for the Got cache stuff. This readme is just my starter template, I wanna get them working with Got cache before I start documenting them all.

Done 🎉


Errors Loading Project

Did you resolve the error?

is there anyone? who can solve the error of this application. Because this application crashed when click on any button, both emulator and mobile..


Task18,19,20,21

Task18: Changes Verified.
Task19: Code not executed.

The automation encountered difficulty in locating the required user-interface (UI) element for the intended action.
Consider these steps: Ensure application is open and UI element visible, validate Target with Debug, re-indicate if properties changed, use 'Check state' activity, or adjust 'Delay before' for rendering time
Task20: Changes Verified.
Task21: Changes Verified.


Apply multi responses to one HttpStatus or apply arbitrary str as responses key

In current flask-openapi3, I can only map 200 to Resp, 201: Resp1.
app = OpenAPI(__name__)

class Resp(BaseModel):
  a: int

class Resp1(BaseModel):
  b: int

@app.get("/", responses={200: Resp, 201: Resp1})
def book():
  pass

But I want to map all of these to one HttpStatus, because they are both HttpStatus 200. like
responses = {200: [Resp, Resp1]}

Or allow the key of responses can be arbitrary str like
responses = {"success": Resp, "success1": Resp1}

You can do this:
https://docs.pydantic.dev/latest/concepts/models/#rootmodel-and-custom-root-types
from pydantic import RootModel

class Resp(BaseModel):
  a: int

class Resp1(BaseModel):
  b: int

class UnionRespResp2(RootModel):
    root:Union[Resp, Resp1]

@app.get("/", responses={200: UnionRespResp2})
def book():
  pass

Thanks, now I can see the schema of the responses, but I want the example value to be shown both of them.

However, I can only see one of the example value like

If I want to see the both example value of the responses, how should I do?

When you don't have a configuration example, the Swagger UI automatically generates one. You can do this by configuring openapi_extra fields in the model_config.
from typing import Union

from pydantic import BaseModel, RootModel

from flask_openapi3 import OpenAPI

app = OpenAPI(__name__)

class Resp(BaseModel):
    a: str

class Resp1(BaseModel):
    b: int

class UnionRespResp2(RootModel):
    root: Union[Resp, Resp1]

    model_config = {
        "openapi_extra": {
            "examples": {
                "Success Example": {
                    "summary": "Success Example",
                    "value": {
                        "a": "sss"
                    }
                },
                "Fail Example": {
                    "summary": "Fail Example",
                    "value": {
                        "b": -1
                    }
                }
            }
        }
    }

@app.get("/", responses={200: UnionRespResp2})
def book():
    return "ok"

if __name__ == "__main__":
    app.run(debug=True)


DK: OIOUBL extension - field names longer than 30 characters

In the Danish OIOUBL extension you have created table field names longer than 30 characters.
Example:
field(13634; "OIOUBL-Electronic Invoice Created"; Boolean) (33 chars)
field(13635; "OIOUBL-Sell-to Contact Phone No."; Text[30]) (32 chars)
https://github.com/microsoft/ALAppExtensions/blob/master/Apps/DK/OIOUBL/app/src/SalesInvoice/TAB112-Ext13630.SalesInvoiceHeader.al
Gives major headache when trying to integrate with Scribe, as it expects field names to be max. 30 chars.

@spookymattress Could you please provide some more background on what you are trying to achieve?

The problem is that the Scribe connector crashes, as it expects that field names are not longer than 30 chars.
You could argue that this is a problem in the Scribe connector, that it cannot handle that, BUT field names in BC are per definition max. 30 chars.
So, in essence you are breaking are own guidelines here: Specifications for Tables.
Here it says that "Maximum number of characters in a field name" = 30.

Looking into this old issue. We cannot simply change field names, as this is breaking change for all Danish customers. You can workaround this issue, if you add same fields with shorter names in extension and copy field values from DK fields to you own fields  before submitting to Scribe connector. I don't know architecture of your integration solution, seems you have intermediate app where you can do this kind of changes. Please reply if this is possible for you?

I did take a copy of the OIOUBL extension and shortened the field names to make it work with the external Scribe connector.
My initial reason to comment on this issue is that MS are violating its owm specification for length of field names

You can close the issue


Travis build fix for php 7.1

The problem in tests here:
https://github.com/Ph3nol/NotificationPusher/blob/master/tests/units/Sly/NotificationPusher/Model/Push.php#L95
From Travis:
=> tests\units\Sly\NotificationPusher\Model\Push::testStatus():
In file /home/travis/build/Ph3nol/NotificationPusher/tests/units/Sly/NotificationPusher/Model/Push.php on line 84, mageekguy\atoum\asserters\dateTime() failed: object(DateTime) is not a clone of object(DateTime)
-Expected
+Actual
@@ -2 +2 @@
-class DateTime#163 (3) {
+class DateTime#180 (3) {
@@ -4 +4 @@
-  string(26) "2017-06-12 07:31:20.585408"
+  string(26) "2017-06-12 07:31:20.568968"

Fixed https://github.com/Ph3nol/NotificationPusher/pull/141


[Bug] 打包notion路由跳转时候整屏幕刷新的

Search before asking

[X] 我在 issues 列表中搜索，没有找到类似的内容。
I searched in the issues and found nothing similar.

Pake version
2.3.6
System version
macOS 14.3.1 (23D60)
Node.js version
v21.7.0
Minimal reproduce step
pake https://www.notion.so/ --name Notion --icon "https://www.notion.so/front-static/favicon.ico" --inject ./Notion\ Chinese.js
What did you expect to see?
期望可以正常使用notion, 不整页刷新
What did you see instead?
每次切换page都整页刷新了.
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

I was able to fix this for MacOS in src-tauri/src/inject/event.js:
  const detectAnchorElementClick = (e) => {
    const anchorElement = e.target.closest('a');
    if (anchorElement && anchorElement.href) {
      if (anchorElement.target !== '') anchorElement.target = '_self'; // <-- added this line to fix for MacOS
      ...

But it does not work for my app as Windows build via Github Actions.
I am unable to debug the behavior in Windows because I do not find a way to enable the developer tools there.
I tried to enable devtools like so:
https://tauri.app/v1/guides/debugging/application/#:~:text=To enable the devtools in production builds
Sadly, it has no effect. Does anybody know how to achieve this with Pake?

You can open this devtools using the local debugging of Pake code, or via the command line with pake-cli, and you're also more than welcome to submit pr for support!

Hi @tw93!
Maybe this is a misunderstanding. I am on MacOS and I cannot open devtools in the Windows build on another computer. I have no Windows environment to run npm run dev to locally debug there.

Thank you for your support. I recently updated a version of the code and expect to release a version in the next few days.
@ChasLui @globalexport

<EMAIL_ADDRESS>


Implement the literal function in hiera

https://puppet.com/docs/puppet/5.5/hiera_merging.html#the-literal-function

Did I break something?

@bartavelle I have just tested the new master with my stack ( and a few others) without any problem. Looks good. Thanks you.


Issue with new @material/textfield package [codelab]

I followed all the steps but the output was not as expected. After checking the complete project code, I found that the issue is with the version.
If I am using -
"dependencies": {
"@material/ripple": "^4.0.0",
"@material/textfield": "^4.0.0"
}
then everything is working fine. But while I was installing these packages using npm, it was giving issue. New version which is 6.0.0 ("@material/textfield": "^6.0.0") is having some issue. It is giving below error while starting -
ERROR in ./login.scss
Module build failed:
@use "./mixins";
^
@use is coming soon, but it's not supported in this version of Dart Sass.
╷
23 │ @use "./mixins";
│ ^^^^^^^^^^^^^^^
╵
<EMAIL_ADDRESS>23:1  root stylesheet
stdin 2:9                                                  root stylesheet
in<EMAIL_ADDRESS>(line 23, column 1)
@ multi (webpack)-dev-server/client?http://localhost:8081 ./login.scss

Please upgrade to latest Sass version to use latest Dart Sass syntax that supports @use rule.
If you're following MDC-101-web codelab which suggests @import syntax existing version of Sass should still work. You should be able to still use @import with either v4 or v6 of MDC Web.
Please follow getting started guide for full setup instructions.
We'll update our codelabs to latest version of MDC Web (v6.0.0), please follow this bug for updates.


add: Himanshu Kumar Mahto

Description
[Include a brief description of the changes you've made]
Related Issues
[Include any related issues or pull requests that this PR addresses or is related to. Use GitHub's shorthand syntax to link to them, like #1234.]
Changes Proposed
[Describe the changes you've made in detail. Be specific and include any relevant code snippets.]
Checklist

[x] I have read and followed the Contribution Guidelines.
[x] All new and existing tests passed.
[x] I have updated the documentation to reflect the changes I've made.
[x] My code follows the code style of this project.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
Note to reviewers

@HimanshuMahto Thank you so much for your contribution! Your efforts are greatly appreciated and will go a long way in improving our project. Please feel free to share it with others and help us grow even further!