Page segmentation deletes some parts of the text, how to avoid?

I am using ocropy to extract data from old documents that list electoral results. These are big pages arranged in up to 4 colums, from which I have taken screenshots of each column. See a sample of the raw image (I know the quality is very bad, but is basically running OCR on this or copying it entirely by hand): https://user-images.githubusercontent.com/3774527/32782400-9111bab6-c948-11e7-9ea6-6266cc828627.png
To avoid problems, I'm trying to make ocropy read the text as a one-column text (see issue #240), after deleting every  and so far it's more or less going well. In some cases, however, ocropy is deleting some parts (mainly numbers) when it does the segmentation. See below two screenshorts of the original binary file and the segmentation output (the .nrm.png files):
Missing some part of '207', original binary:

Image after segmentation:

The '3' is completely removed, original binary:

After segmentation:

In some cases (e.g. when there are a few 1s, see below), it seems ocropy thinks these are black lines delimiting columns and tries to ignore them. But I don't want to do this, as I'm removing every black line that could be mistaken in Gimp.
Several 1s together might appear like a black line?:

Solution?
Does anyone know if there is any piece of code I can modify to avoid this? I've been looking into the gpageseg code but haven't found anything.
Your Environment

Python version: 2.7.14
Git revision of ocropy: Downloaded & installed today (Nov 2017)
Operating System and version: OS X 10.12

Hey @franvillamil,
could you please provide a whole example page? It is hard to reproduce the error with an image of a single column.

Several 1s together might appear like a black line?
It probably could. I know that it needs "black line separators" of height 20scale or 20xheight to recognize it as delimiting a column, please see issue #250 .

During page segmentation there is also a step which deletes small component remove_noise and another one which deletes vertical lines remove_hlines. Moreover, it is possible that some characters interfer with the column segmentation itself.
However, as already @lehzwo mention, I also cannot reproduce your issues with the images you provide and I don't know whether you use any special parameter during the call.
@franvillamil if you provide more information such that we can reproduce the issue, then we can look here again, otherwise I suggest to close this issue.

I also faced this issue. Here are some sample images.
Commands used to process the image
pyflash.utils - INFO - python2 /home/chillaranand/projects/ocr/ocropy/ocropus-nlbin /home/chillaranand/projects/ocr/data/vishadam-021.png -o output -n
pyflash.utils - INFO - python2 /home/chillaranand/projects/ocr/ocropy/ocropus-gpageseg output/????.bin.png -n
pyflash.utils - INFO - python2 /home/chillaranand/projects/ocr/ocropy/ocropus-rpred -Q 4 -m /home/chillaranand/projects/ocr/ocropy/models/te.pyrnn.gz output/????.bin.png -n

@ChillarAnand Okay, it looks that for your examples the parts below the baseline (descenders?) are larger than expected. The computed lines look then like this:

and lines from the descender part are then neglected. Try to adjust the vscale/scale manually, e.g.
./ocropus-gpageseg temp/chillar0001.bin.png --debug -n --vscale 1.5

which should work well, except for the page number on the top left (but I think this is a known issue).

I tried the above image with different --vscale values. With  --vscale 2.0 it gets all the text but gets 2 lines per image (ie. gets 13 images instead of 26). Without it, it gets only 2 lines in the whole page.
 ocropus-gpageseg 'book/????.bin.png' --debug -n --vscale 2.0  --maxcolseps 0 --maxseps 0
INFO:
INFO:  ########## /usr/local/bin/ocropus-gpageseg book/????.bin.png --debug -n
INFO:
INFO:  book/0001.bin.png
INFO:  scale 57.236352
INFO:  computing segmentation
INFO:  computing column separators
INFO:  considering at most 0 whitespace column separators
INFO:  debug _1thresh.png
INFO:  debug _2grad.png
INFO:  debug _3seps.png
INFO:  debug _4seps.png
INFO:  debug _colwsseps.png
INFO:  computing lines
INFO:  debug _cleaned.png
INFO:  debug _lineseeds.png
INFO:  debug _seeds.png
INFO:  propagating labels
INFO:  spreading labels
INFO:  number of lines 14
INFO:  finding reading order
INFO:  writing lines
INFO:      12  book/0001.bin.png 57.2 13

ocropus-gpageseg 'book/????.bin.png'
INFO:
INFO:  ########## /usr/local/bin/ocropus-gpageseg book/????.bin.png
INFO:
INFO:  book/0001.bin.png
INFO:  scale 57.236352
INFO:  computing segmentation
INFO:  computing column separators
INFO:  considering at most 3 whitespace column separators
INFO:  computing lines
INFO:  propagating labels
INFO:  spreading labels
INFO:  number of lines 54
INFO:  finding reading order
INFO:  writing lines
INFO:       1  book/0001.bin.png 57.2 2

_lineseeds.png seems to be identifying all the lines.


NDS-22: useId hook

useId Hook
Isomorphism in React
An isomorphic app is one that shares almost all of its code between the server and the client. Let’s recap very quickly what client and server-side stand for.
Client-side rendering
In client-side rendering, the app is loaded by the client. According to how much data is sent from the server, the process may take a long time and this is not ideal for our users.

Server-side rendering
However, when using server-side rendering, the server sends out-of-the-box data ready to display on the screen. Improving significantly the user experience and performance.

React runs on both sides (client and server). That’s why Next.js, for example, improves performance using SSR.
What problem is solved with useId?
When you work with form, for example. You link several HTML elements with an ID. Something like this.
    Full Name
    <input id="fullname" type="text" name="Full Name" />

This is ideal. However, sometimes you are not able to do so. You work with dynamic and complex apps. Therefore, a common solution to “solve” this problem tend to be something similar to the following.
    const ID = Math.random().toString(16);

    Full Name
    <input id={ID} type="text" name="Full Name" />

The problem lies when your app is executed on both sides (client and server) because the ID will not be the same. Hence, at the moment we want to link the apps from both sides (sometimes for sake of accessibility), they are virtually different. In those cases is when you want to use useId instead.
Introduction to useId()
With this hook, you are going to be able to generate a really unique ID and if your app is executed on both sides, there will be the same.
    import { useId } from '@wwnds/react';

    const ID = useId();

    Full Name
    <input id={ID} type="text" name="Full Name" />

In case you have more than one input box, you do not need to use more than one useId. In other words, you can use only one ID for a whole form using prefixes.
    import { useId } from '@wwnds/react';

    const ID = useId();

    <form id={ID}>
        <label htmlFor={`${ID}-name`}>Full Name
        <input id={`${ID}-name`} type="text" name="Full Name" />

        <label htmlFor={`${ID}-country`}>Country
        <input id={`${ID}-country`} type="text" name="Country" />
    </form>

Where and why do we use the useId hook?
We use the useId hook only for joining two HTML elements. If you think you can use it for id generation, it is perfect but makes sure you do not target id in CSS because its unique id generates different ids every time for you.

@wguevara-norton, it's not clear to me whether this is ready for review yet since it's still in draft and the pipeline is failing, but I did take a quick look.
As I said last week, we don't need to rehash the problem—it's clearly stated in NDS-22 and extensively documented across many libraries, including React itself. I'd like to see a better discussion of the solution you chose and why. This looks similar enough to the @accessible/use-id solution that you need to explain why you chose it, the changes that you made and why, and you need to reference it in the code in a comment. We should be giving credit when copying and modifying existing code.
Additionally, this solution doesn't appear to be compatible with React 18's useId, which I could see causing problems in the future.


can't export video in pdf.

Describe the bug
can't export video in pdf.
To Reproduce
Steps to reproduce the behavior:

insert video in ppt <iframe width="560" height="315" src="https://www.youtube.com/embed/8KavBpfLLtY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
export pdf
pdf only show image

Desktop (please complete the following information):

OS:
Browser:
Slidev version:v0.20.4

Sorry I don't think you can have iframe in PDF. The SPA export might fit better to your needs.

Hi, whenever whenever you try to deploy to vercel, with a youtube video, it fails because of the print.


Add docstrings #56

Added docstrings. In the future, I'm going to add type hinting, which will make the docstrings more clear. I think a higher level documentation page or two might be helpful, which I will work on after type hinting.

@MarcCote Hopefully this should be good. Thanks!

Okay that should be good.


use the collection id (less the key) as the assembly name instead of …

…as an alias, so that other parts of the system that don't understand aliasing will work properly (#14). "human readable" specification for collection becomes --displayName. Left the call to add-track as is, since the same considerations don't seem to apply.

I also tried to get away with it by specifying the alias to the index command but although this created indexes successfully, the client did not recognize them as being associated with the tracks. Probably I could have renamed them but this way seems better. Agreed that it seems like a jbrowse2 bug though


Release Blog

Spelling:
Add to dictionary.txt:

debuggable (after dataloaders)
evolvability (after entityframework)
frontends (after fricking)
inspectable (after initializable)

Fix:

colocated -> collocated (x3)

Other:

payload-esque – this is valid, but perhaps payload-like would be simpler?
OTEL – Perhaps it's best to spell this out, for those not familiar? (OpenTelemetry).

Regarding colocated... I know that it's with two ll in general but I thought that it's one o in technical context

Regarding colocated... I know that it's with two ll in general but I thought that it's one o in technical context

This seems super confusing.
According to Copilot:
Q: "Operation fields can also be colocated into extension types." vs "Operation fields can also be collocated into extension types."
A:

Both “colocated” and “collocated” are correct, but they have slightly different connotations:

Colocated: This term generally means that things are placed together in the same location. It emphasizes the idea of sharing the same physical or logical space.
Collocated: This term also means placed together, but it often implies a more deliberate or strategic placement. It can suggest that the items are not just together, but arranged in a way that serves a specific purpose.

In the context of your sentence, both could work, but “collocated” might imply a more intentional arrangement of operation fields within extension types.


CrabNet v1.2.1 with default hyperparameters (baseline comparison)

This is meant to serve as a baseline comparison for Ax+CrabNet v1.2.1. Please see that submission's notebook for details.
@ardunn Not sure I have permission to label the PR as a new benchmark.

Great, thanks for the sbumission!


Why do all entities of a class suddenly become valid after calling a registry's create() function?

I initially found this behaviour in a project of mine, and proceeded to isolate the problem through a test program. The test's code is as follows:
#include <iostream>

#include "entt.hpp"

class TestClass
{
public:
  TestClass();
  void run();

private:
  entt::registry registry;
  entt::entity entityA;
  entt::entity entityB;
};

TestClass::TestClass()
  : registry()
  , entityA()
  , entityB() {}

void TestClass::run()
{
  std::cout << (this->registry.valid(this->entityA) ? "Entity A is valid." : "Entity A is invalid.") << std::endl;
  std::cout << (this->registry.valid(this->entityB) ? "Entity B is valid." : "Entity B is invalid.") << std::endl;

  this->entityA = this->registry.create();

  std::cout << (this->registry.valid(this->entityA) ? "Entity A is valid." : "Entity A is invalid.") << std::endl;
  std::cout << (this->registry.valid(this->entityB) ? "Entity B is valid." : "Entity B is invalid.") << std::endl;
}

int main()
{
  TestClass testClass{};
  testClass.run();
}

One should expect that the output be:
Entity A is invalid.
Entity B is invalid.
Entity A is valid.
Entity B is invalid.

However, the actual output is:
Entity A is invalid.
Entity B is invalid.
Entity A is valid.
Entity B is valid.

which is not what we expected. To fix the problem, we have to initialize the entities in the class to entt::null. Why do we have to do so? Is this expected behaviour or is it a bug?

This happens because you default initialise entities which gives them values equivalent to 0 which is a valid entity identifier in general. When you first test for the validity you get "entity invalid" result because no entities have been created thus far. Later on, when you actually create an entity it gets identifier 0 and thus your default initialised entities become valid.
If you want to store entities in variables that should be invalid by default and only initialised later you should use entt::null for initialising those variables:
class TestClass
{
public:
  TestClass();
  void run();

private:
  entt::registry registry{};
  entt::entity entityA{entt::null};
  entt::entity entityB{entt::null};
};

As @Innokentiy-Alaytsev correctly pointed out, entt::entity e{}; isn't the null entity. Instead, it's a potentially valid one (in short, entity 0).
So, yes, using entt::null is the intended way to initialize your data members. It's definitely not a bug and somewhat the reason for which entt::null exists. 🙂

@Innokentiy-Alaytsev, I see. Thanks!
@skypjack, why aren't entities initialized to entt::null by default?

why aren't entities initialized to entt::null by default?

Because entt::entity is an enum and as such it doesn't have a constructor or the like that would allow it to be given a default value. It's as if you want to give a default value to an int at construction time, the only way to do this is to assign the value to the variable.
However, it's easy to define your own entity type as a class and use it with the registry. There is an example here if you're interested.

@skypjack: Ah, so it gets defaulted to something equivalent to 0 instead. And letting 0 be equivalent to null might break projects, based on the issue I've read about introducing a entt:null entity type. Thanks!
I don't have a reason yet to create my own entity type and I'm fine with instantiating entity variables to entt::null on class construction, but thanks anyway for making me aware of the feature. It might come in handy in the future.

I'm glad to help. Let me know if you have any other doubt.
I also invite you to join the gitter channel or the discord server (link in the README) for a more direct discussion in future. 👍
I'm closing this issue because I think it has been asnwered. Feel free to continue the discussion here if needed or to reopen it.


Still getting a report after making secrets invalid

I created a credentials file but it has an invalid format for use with testing detect-secrets. I was expecting it won't return any but it did. What am I doing wrong? I'm thinking of using detect-secrets as a server side git hook instead of cron scanning individual repos.
credentials file
$ cat credentials
[default]
aws_access_key_id = SKIAZCNXR66N6IXXXXXX
aws_secret_access_key = YKyGR8kFcXHSrq1wn6efna1/jDcvR

[master]
aws_access_key_id = TSAPIOOVW3BCHXXXXXXX
aws_secret_access_key = jloBH5ifRvD61zVgdRZo9vEg0LNc

[dev]
aws_access_key_id = TSAPJNJIPRGTGXXXXXXX
aws_secret_access_key = 4J8FgCyQjjFxs27rlCAxOtQ45/ZO

[build]
aws_access_key_id = TSAPIYJE6D4YXXXXXXXX
aws_secret_access_key = 0dztyCcXawu8w8qsewquvZg2xouA

[stage]
aws_access_key_id = TSAPIHFSZJ3GKXXXXXXX
aws_secret_access_key = ZmI+2Mc2Q2UxSp12xhiZcIuxce04

[prod]
aws_access_key_id = TSAPJA73NXMOWXXXXXXX
aws_secret_access_key = mMlpk6ATwcTAPIsx/ylReZzPQ9wD

[prods]
aws_access_key_id = TSAPI3D4P3FU7XXXXXXX
aws_secret_access_key = +XIdFcnyITloif4eEBiDG2YKvKrY

[prodp]
aws_access_key_id = TSAPIUR22PYJXXXXXXXX
aws_secret_access_key = H5ockH2/4XpEVk2QIdHIuu9qjlnH

[sandbox]
aws_access_key_id = TSAPZCNXR66N6XXXXXXX
aws_secret_access_key = KyGR8kFcXHSrq1wn6efna1/jDcvR

[free]
aws_access_key_id = TSAPJUJOH3FNDXXXXXXX
aws_secret_access_key = 7Q8UWgRsz9lgRMimepoEuVPvj2bI

The result of  detect-secrets scan credentials is below
$ detect-secrets scan credentials
{
  "exclude": {
    "files": null,
    "lines": null
  },
  "generated_at": "2019-08-14T15:28:23Z",
  "plugins_used": [
    {
      "name": "AWSKeyDetector"
    },
    {
      "name": "ArtifactoryDetector"
    },
    {
      "base64_limit": 4.5,
      "name": "Base64HighEntropyString"
    },
    {
      "name": "BasicAuthDetector"
    },
    {
      "hex_limit": 3,
      "name": "HexHighEntropyString"
    },
    {
      "name": "KeywordDetector"
    },
    {
      "name": "PrivateKeyDetector"
    },
    {
      "name": "SlackDetector"
    },
    {
      "name": "StripeDetector"
    }
  ],
  "results": {
    "credentials": [
      {
        "hashed_secret": "54d05b408759e1caad13e81fdb2d0b3dc7dc69ea",
        "is_verified": false,
        "line_number": 3,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "5ec1e4b54771d0481d0238ecf9e5db8d8a4ac8c0",
        "is_verified": false,
        "line_number": 3,
        "type": "Base64 High Entropy String"
      },
      {
        "hashed_secret": "40d0fbfa834998164311d8f460314c060d5c92e9",
        "is_verified": false,
        "line_number": 7,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "5bb3923bb989c66397c69b4db4e9059bf5b010b0",
        "is_verified": false,
        "line_number": 7,
        "type": "Base64 High Entropy String"
      },
      {
        "hashed_secret": "d3d69c89730f2696800d0b3276fb67cb9b8b8590",
        "is_verified": false,
        "line_number": 11,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "37c1631be01aaba225d7ceef56d5f3222f304ece",
        "is_verified": false,
        "line_number": 15,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "3b747a8328ae79d644ef8a26974a84182e0ac64b",
        "is_verified": false,
        "line_number": 19,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "b1cd16670af6ec305f371658555ae90efabcd205",
        "is_verified": false,
        "line_number": 23,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "288d894aef49f0bec3fbfe7b6bf303760e3baadc",
        "is_verified": false,
        "line_number": 27,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "c01becff75043ace05f9e840421dab424234fbfa",
        "is_verified": false,
        "line_number": 27,
        "type": "Base64 High Entropy String"
      },
      {
        "hashed_secret": "9ee62a2d419a136d22b58efc944371db56a642a3",
        "is_verified": false,
        "line_number": 31,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "01874c139023a708a4e28eee84e6b9096076270f",
        "is_verified": false,
        "line_number": 35,
        "type": "Base64 High Entropy String"
      },
      {
        "hashed_secret": "53a710c27260094934656d9d0d1b967c8cc1ff39",
        "is_verified": false,
        "line_number": 35,
        "type": "Secret Keyword"
      },
      {
        "hashed_secret": "255637dbfcd54815d49f781f12d775d504d19620",
        "is_verified": false,
        "line_number": 39,
        "type": "Base64 High Entropy String"
      },
      {
        "hashed_secret": "a7df8d85d6d6b7804cd225fd309c0a00cf5345eb",
        "is_verified": false,
        "line_number": 39,
        "type": "Secret Keyword"
      }
    ]
  },
  "version": "0.12.5"
}

Well, you passed a file to detect-secrets on scan mode and it returned all the secrets that It found... I think that it's working as intended!
Instead, if this issue is more about... the AWS secrets have bad formating but another plugin is catching them... You can exclude plugins from the scan with the --no--plugin-name flag (e.g. --no-keyword-scan).

Got it. Here's what I'm thinking now. If let's say a user makes a commit and my server side hook thinks the branch he pushed contains a secret but user thinks it is not a secret, can I update my detect-secrets script to exclude the value so it becomes whitelisted?

So... a developer is pushing a secret to the repo, thinking that it isn't a secret (but it is) and is caught by your detect-secrets server. Why would you want to get the secret whitelisted on the script? Are you referring to the developer's machine script?  I'm not sure if I understand the situation!

Just to clarify, you want a server-side hook, but without developers having a client-side hook?
You could maybe somehow make Github issues at the reported lines, for the developer to resolve in the PR, I am not sure of anything that does this for Github but would love to hear about it. Or e.g. Jira tickets assigned to the author. Though I agree within the PR would be nicer.
You could have code that uploads past reported secrets (past JSON output from detect-secrets) to S3, and subtracts out previously reported secrets from anything that detect-secrets reports now. Just make sure you add the uploading to S3 as the last step, so in case the service dies unexpectedly, you'll have a duplicate issue and not a false-negative.

I like this idea
You could have code that uploads past reported secrets (past JSON output from detect-secrets) to S3, and subtracts out previously reported secrets from anything that detect-secrets reports now. Just make sure you add the uploading to S3 as the last step, so in case the service dies unexpectedly, you'll have a duplicate issue and not a false-negative.

Yes, I didn't want to implement it on the client side hooks since I've noticed for the past years, not all developers follow. We have thousands of developers too and it will be hard to implement on the client side.
I can easily implement your suggestion by uploading the output of detect-secrets to an s3 bucket as well as making git push fail and spitting out the error and  s3 url on the screen of the user who pushed.

Unfortunately outside of the client-side part, what you do to inform users will probably be highly company specific, but once you have JSON of new secrets added by a developer, it should be possible to come up with something easy to digest, even if it takes some iteration.
You can probably get good metrics too if you ask people to label tickets as (false|true)-positives or see which issues were "Dropped", which can be useful for tuning --line-excludes server-side or contributing to e.g. keyword detector.

Thank you!


Block TLS 1.0 and 1.1

https://github.com/nuget/engineering/issues/2617

The link is dead? Or private?

@304NotModified , it's private. We will announce TLS 1.0, 1.1 deprecation a few weeks prior to applying it. There's no concrete date yet.

Turned out this was the incorrect way to do this. Closing in favor of https://nuget.visualstudio.com/NuGetMicrosoft/_git/NuGetDeployment/pullrequest/1068


Virus detected in v1.7.0

Windows Defender detected Trojan:Script/Wacatac.B!ml

which file?

I suspect it might have triggered on an old dependency npm-programmatic which we don't use since a few years but was left in the package.json. Went ahead and removed it and made v1.7.1 release. Let me know if that stopped the trigger warning.
See https://github.com/getnamo/NodeJs-Unreal/releases/tag/v1.7.1

Yes, that solved the issue, thank you.


Add an inclinometer

Could be useful for seeing if a slope is high risk for avalanches: https://avalanche.org/avalanche-tutorial/avalanche-terrain/
Or you could use it to measure the height of an object by supplying a known distance away from the base and the height of the user.
This probably won't be useful for most wilderness treks or survival situations - I may just add it to a button in settings (eventually if there are enough small use case tools, I may add a miscellaneous tools tab)

Actually, I am going to make a misc. tools tab, but it will be disabled by default and you will need to enable it in settings.


Reorg project structure

Finally settled on the new project structure.
We'll split the project in these sub-projects:

project Sincron (atomic references, unsafe, other low-level concurrency utils)
monifu-execution (Scheduler, Cancelable, CancelableFuture)

monifu.execution.schedulers
monifu.execution.Scheduler
monifu.execution.Scheduler.Implicits.global
monifu.execution.cancelables
monifu.execution.Cancelable
monifu.execution.CancelableFuture
monifu.execution.FutureUtils

monifu-tasks (Task)

monifu.tasks.Task
monifu.tasks.Callback
async macros to come later

monifu-streams (Observable)

monifu.streams.Observable
monifu.streams.Observer
...

Done.


Update Corp FFA07 plugin

New Features

Allow tagging of players
Take screenshots of crashers
Check gear on spawn instead of just when a player attacks corp
Show the player's wielding a non-spec weapon if a player has 0/1 specced
Regroup config options to be more user friendy
Remove "always on" config option as it was not needed

Bug fixes

Remove teled players from the player count
Fix duplicate player names in player list

Generally we disallow player tagging, though its probably fine if you make it limited strictly to the Corp cave. As it is this works anywhere as long as you have visited the cave once

Whenever the player changes location, there is a check for if they are in the corp cave which makes the plugin active/disabled. If  IsActive is false (i.e not in corp cave) then player tagging and the other features aren't enabled. Because of this logic and in my testing, this should already be limited to corp cave.
If this is still against the rules then I'm happy to remove the tagging feature :)


[Bug] Incorrect results for targetCount:Auto

Current codebase, benchmark:
    public class Program
    {
        private const int Count = 10 * 1000;

        static void Main(string[] args)
        {
            BenchmarkRunner.Run<Program>();
        }

        [Benchmark(Baseline = true)]
        public void Baseline() => Thread.SpinWait(Count);

        [Benchmark]
        public void SlowerX3() => Thread.SpinWait(3 * Count);
    }

part of output:
MainWarmup 1: 2048 op, 283982469.15 ns, 138.6633 us/op

MainTarget 1: 2048 op, 283552921.72 ns, 138.4536 us/op
MainTarget 2: 2048 op, 285226436.09 ns, 139.2707 us/op
MainTarget 3: 2048 op, 282084974.32 ns, 137.7368 us/op
MainTarget 4: 2048 op, 284826169.13 ns, 139.0753 us/op
MainTarget 5: 2048 op, 287191547.67 ns, 140.2302 us/op
MainTarget 6: 2048 op, 283267663.59 ns, 138.3143 us/op
MainTarget 7: 2048 op, 283271285.92 ns, 138.3161 us/op
MainTarget 8: 2048 op, 287422772.78 ns, 140.3432 us/op
MainTarget 9: 2048 op, 286220160.72 ns, 139.7559 us/op
MainTarget 10: 2048 op, 285216172.84 ns, 139.2657 us/op
MainTarget 11: 2048 op, 289273479.23 ns, 141.2468 us/op
MainTarget 12: 2048 op, 282808533.84 ns, 138.0901 us/op
MainTarget 13: 2048 op, 288167764.38 ns, 140.7069 us/op
MainTarget 14: 2048 op, 286347545.83 ns, 139.8181 us/op
MainTarget 15: 2048 op, 284229391.01 ns, 138.7839 us/op
MainTarget 16: 2048 op, 286027573.75 ns, 139.6619 us/op
MainTarget 17: 2048 op, 285252697.95 ns, 139.2835 us/op
...

Result 1: 2048 op, 0 ns, 0.0000 ns/op
Result 2: 2048 op, 0 ns, 0.0000 ns/op
Result 3: 2048 op, 0 ns, 0.0000 ns/op
Result 4: 2048 op, 0 ns, 0.0000 ns/op
Result 5: 2048 op, 0 ns, 0.0000 ns/op
Result 6: 2048 op, 0 ns, 0.0000 ns/op
Result 7: 2048 op, 0 ns, 0.0000 ns/op
Result 8: 2048 op, 0 ns, 0.0000 ns/op
Result 9: 2048 op, 0 ns, 0.0000 ns/op
Result 10: 2048 op, 0 ns, 0.0000 ns/op
Result 11: 2048 op, 0 ns, 0.0000 ns/op
Result 12: 2048 op, 0 ns, 0.0000 ns/op
Result 13: 2048 op, 0 ns, 0.0000 ns/op
Result 14: 2048 op, 0 ns, 0.0000 ns/op
Result 15: 2048 op, 0 ns, 0.0000 ns/op
Result 16: 2048 op, 65685984.36 ns, 32.0732 us/op
Result 17: 2048 op, 66107079.7 ns, 32.2788 us/op
Result 18: 2048 op, 66544173.64 ns, 32.4923 us/op
Result 19: 2048 op, 66640768.99 ns, 32.5394 us/op
Result 20: 2048 op, 66662804.8 ns, 32.5502 us/op
Result 21: 2048 op, 66793208.52 ns, 32.6139 us/op
Result 22: 2048 op, 66925423.4 ns, 32.6784 us/op

Looks like there's something wrong with the result calculation (first 16 samples as Unroll factor == 16),
And therefore:
// BaselineScaledColumn.cs
            bool invalidResults = baseline == null ||
                                 summary[baseline] == null ||
                                 summary[baseline].ResultStatistics == null ||
                                 !summary[baseline].ResultStatistics.CanBeInverted() ||
                                 summary[benchmark] == null ||
                                 summary[benchmark].ResultStatistics == null;

// ResultStatistics.CanBeInverted()
        public bool CanBeInverted() => Min > 1e-9;

Min == 0, CanBeInverted() returns true and the output is:
   Method |       Mean |    StdErr |     StdDev | Scaled | Scaled-StdDev |
--------- |----------- |---------- |----------- |------- |-------------- |
 Baseline |  8.4592 us | 0.6132 us |  4.8286 us |      ? |             ? |
 SlowerX3 | 25.4619 us | 1.8444 us | 14.5229 us |      ? |             ? |

I'm seeing the same behavior as well sometimes (with manual build from current master).

@adamsitnik, it was your bug. Recently you moved List<Measurement> in EngineWarmupStage and EngineTargetStage from a local variable to a field. Unfortunately, we share these stages between idle and main iterations. As a result, both idle and main lists have references to the same instance of List<Measurement> which has all the measurements. It spoils calculation of the results. I have revered this fix (https://github.com/PerfDotNet/BenchmarkDotNet/commit/8647e737b3473528e96a22f83691d72023bf9daf). You have to find another way to reduce the amount of allocation here.

@AndreyAkinshin Sorry for that! I will find other way.

@adamsitnik, and another bug: you sorted the values in the MainStage. It's wrong because it produces sorted Result measurements (we need the original order in the summary). I pushed another hotfix; it looks ugly and produces another allocation, but it works properly. Please note it when you will refactor these stages in the next time.

@AndreyAkinshin Ok, I have synchronized the gc branch, and found a way to solve this problem:

start memory tracking after pilot & warmup stage, so these stages can allocate and this won't be included in final results. no need for hacks here anymore
target stage - in the ctor I create a stack with few (10) lists with max size. I use .Pop() to get list when executing so if 10 will ever be not enough we will get exception and we will find out about this without silent error. I know it's not perfect, but I believe it's the lesser evil ;)

@adamsitnik, I like the idea, but could you make the source code more pretty? Like create an additional generic class (e.g. ListPool<T>) with nice API? I want to keep the stage classes as simple as possible and hide all "not-about-measurements" code somewhere else.

@AndreyAkinshin done


Fixes for ntpd and the unit test

The ntpq command uses around 17K of stack with libbsd. Increase the stack size of the shell to 32K
A bug fix to handle removing the last fd from the activefd set if it is the max fd had a bug where the max active fd was incorrectly being set to 0 if the max fd is removed
Only call the clean in the finish safe handle so an calls to exit or any asserts are correctly caught
Set the ntpq fd set size
Detect if the target supports libdebugger

Tested on aarch64 with the libbsd stack and powerpc with the legacy stack. The stack use for the ntpd thread on both stacks are close however the ntpq stack usage is 10K less on the legacy stack compared to libbsd.


Cannot 'play' trained model or use model in Unity 2.0.3, ml-agents v0.8

I am trying to train agents using different openAI baselines, for use in Unity. I got your original environments working, but I wanted to use the most up to date open AI baselines and ml-agents v0.8, so I have updated both of them and incorporated your code.
I successfully trained the Unity 3D ball example environment using:
python -m baselines.run_multiagent_unity --alg=ppo2 --env="\Lib\site-packages\mlagents\envs\envs\3dball\Unity Environment.exe" --num_timesteps=1e6 --save_path=\models\3dball_ppo2_1
However the file 3dball_ppo2_1 is not accepted by Unity's '3DBallLearningBrain' in the 'model' option.
When trying to play it using this command:
python -m baselines.run_unity --alg=ppo2 --env="\Lib\site-packages\mlagents\envs\envs\3dball\Unity Environment.exe" --num_timesteps=0 --load_path=\models\3dball_ppo2_1 --play
I get the error:
gym_unity.envs.unity_env.UnityGymException: The environment was launched as a single-agent environment, however there is more than one agent in the scene.
My aim is to get the model working with the most recent Unity and ml-agents, any help would be appreciated!

The error sounds like your environment has multiple instances of the brain. I was creating special run versions of the environment, 'hopper-run' etc, which only have 1 instance of the agent and are also set to frame sync
I don't think I ever got inference working from within Unity (i.e. using their brains) - This may be easier now that Unity switched to their new inference engine, however, we would need to figure out the conversion.


Support for uploading valuesets as json

It would be great if I could upload valuesets as json files - as far as I see I have to pass a URL to a hosted one right now.
In a similar vein, it would be great if I could upload jsons for both questionnaires and valuesets in one go - that way I can select everything I need from a prepared folder (say, SUSHI output) and load it up.

Hi, thank you for the issue report! This is a feature we have already discussed, and it is on our todo-list. I will try to implement it next week.


No such file or directory error: library.yml

I installed the latest version (0.6.16) of RII_Pandas using pip on Windows. When I tried to run RII_Pandas for the first time and build the database, I got the following error:

import riip
ri = riip.RiiDataFrame()
Catalog file not found.
Cloning Repository...
Done.
Creating catalog file...
Traceback (most recent call last):
File "", line 1, in
File "C:\Python311\Lib\site-packages\riip\dataframe.py", line 113, in init
_catalog, _raw_data = self._load_catalog_and_raw_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\riip\dataframe.py", line 133, in _load_catalog_and_raw_data
catalog = self._add_my_db_to_catalog(self._create_catalog())
^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\riip\dataframe.py", line 222, in _create_catalog
list(self._extract_entry(self._db_path)),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\site-packages\riip\dataframe.py", line 167, in _extract_entry
with open(library_file, "r", encoding="utf-8") as f:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'C:\Python311\Lib\site-packages\riip\data\refractiveindex.info-database\database\library.yml'

This may be because the Polyanskiy directory now has library-nk.yml and library-n2.yml files, instead of a library.yml file.

Thank you for your report. This issue has been fixed in v0.7.0.


Add gets_many to HashClient.

@nichochar I raised the issue that HashClient is missing gets_many here https://github.com/pinterest/pymemcache/issues/136. Could you please review my PR for adding this feature? Thanks.

This looks good, a part from a quick style change. The travis failure I believe is unrelated, due to some issue with gevent 1.1 and python 2.6... Travis always gives us a hard time. I will look into this and try and fix it so you can rebase and we can go ahead and merge your change.

@nichochar Thanks for reviewing this PR. I have made the gets=True style change. My fork is rebased and squashed.

@nichochar Thank you for merging my PR. Could you kindly update the PyPI package? Let me know if you want me to do the release steps up to uploading the packages step from https://github.com/pinterest/pymemcache/wiki/Release-Checklist

Yep, the pypi package is updated now, 1.4.1


Firefox: Using code generated image sometimes doesn't display

From what I can find, this is only producible on Firefox. I can't 100% reproduce it outside of our working environment but I can trigger it by chance sometimes.

Make an image from a canvas data url.
Add the image to the feature style.

May take multiple attempts to produce the bug.
Clicking on the map or resizing the window causes it to draw properly.
Copy and paste what is in the text box a few times and hit Draw Label.
https://codepen.io/anon/pen/mqMmXy?editors=1010#0
Here's a clip of it happening.
https://streamable.com/52xe9

According to the documentation, an img that you pass to ol.style.Icon has to be loaded already. This is not the case right after you set the src of that image. To make things work, you can simplify your code and pass the src to your ol.style.Icon:
  var png = canvas.toDataURL();

  var style = new ol.style.Style({
    image: new ol.style.Icon({
      src: png,
      anchor: [0.5, 0],
      anchorYUnits: "px"
    })
  });

Also note that the kind of style you are trying to create here (text with background) will be supported directly by the library soon. See #7454.

Then you get
TypeError: Argument 1 of CanvasRenderingContext2D.drawImage could not be converted to any of: HTMLImageElement, SVGImageElement, HTMLCanvasElement, HTMLVideoElement, ImageBitmap.
That kind of styling with a background and border will be supported properly but it still doesn't change that this happens.

Will you be able to explicitly state line breaks and individually color each line?

Will you be able to explicitly state line breaks and individually color each line?

No, the background is per text style. But you'll be able to achieve this by creating multiple text styles with different offsetY.


Too long Button Text

... can result in a
jss.exceptions.JSSPutError: Response Code: 409  Response: Conflict. Unable to update the database
Not sure where to place this note, but atleast you now can find this using google ;)

I'll look for a way to error out informatively if too-long button text is added to a recipe. What is the specific object / tag that freaks out about this?

<policy>
	<self_service>
		<use_for_self_service>true</use_for_self_service>
		<install_button_text>a freaking long button text which will fail for sure</install_button_text>
	</self_service>
</policy>

install_button_text is the bad one :-)

@ChrOst do me a favor and let me know what the max length that will fit would be. I'd love to get this in for the next release, but I don't actually have a JSS!

32 Chars is the Limit :-)

Just to confirm-that's <= 32, or < 32?

Hmm. The max length is 31 characters.
Version 9.101 seems to accept too-long button text and just truncates it to 31 characters, so I'm going to say this is solved moving forward.


Fixed scheme issue that prevented Carthage build

Installing CoreDataStack through Carthage resulted in this error:
error: module 'CoreDataStack' was not compiled for testing
@testable import CoreDataStack

This issue was caused by invalid flags in scheme settings that forced the test bundle to be compiled on run and analyze actions too.

Looks good. :+1:
Citing recommendation: https://github.com/Carthage/Carthage/issues/517


Update the version of Qiskit to 0.32

Hi,
I think we should update to the latest version of Qiskit.
This might help with a problem where the execution of QSVM is very slow.

Agree. @qbarthelemy I expect this do be a huge refactoring. Do you think we can freeze the code, and release 0.0.1 dev before doing this?

Related to https://github.com/pyRiemann/pyRiemann-qiskit/issues/15

Yes, it's a good idea. But I don’t have much time.
Our BDFL, @sylvchev, is ok to give you maintainer rights so as not to slow down pyriemann-qiskit developments. Congrats!

Link to the migration guide:
https://github.com/Qiskit/qiskit-aqua#migration-guide
Usages:
In pyriemann_qiskit/utils/hyper_params_factory.py:
from qiskit.circuit.library import ZZFeatureMap, TwoLocal
from qiskit.aqua.components.optimizers import SPSA

In pyriemann_qiskit/classification.py
from qiskit import BasicAer, IBMQ
from qiskit.aqua import QuantumInstance, aqua_globals
from qiskit.aqua.quantum_instance import logger
from qiskit.aqua.algorithms import QSVM, SklearnSVM, VQC

Note: Preferrable to address in a separate issue as QSVM was refactoring in SVM + quantum kernel.
In pyriemann_qiskit/datasets/utils.py
from qiskit.ml.datasets import ad_hoc_data

In setup.py, requirements.txt and doc/requirements.txt
install_requires=[ 'qiskit==0.20.0']


License

Hey @voidberg,
many companies require a license in order to be allowed to use a project. I would like to add an MIT licenses. Are you fine with this?

Nevermind, it was always at the bottom, will add the Licenses file during the week.


Fix build on latest nightlies when using the nightly feature

As described in https://github.com/mcountryman/simd-adler32/issues/15, the stdsimd feature was removed.
I have tested that these changes do not introduce any behavior changes by running the defined unit tests.
Resolves #15.

Looks like the build is still failing.  When I have a moment I can take a look and see why.  I imagine we'll have to somehow do a #[cfg(...)] rustc version check to support old rust versions.
Also I kinda want to implement a test suite that explicitly compiles with avx512, sse, etc. support and checks that the appropriate symbols are exported to make sure the cfg rules aren't bunk.

Hey, thanks for the prompt review!

[...] I imagine we'll have to somehow do a #[cfg(...)] rustc version check to support old rust versions.

I thought about using the unstable #[cfg(version(..))] attribute to broaden compatibility, but then I stumbled upon the tracking issue for it explaining how it does not work with the required granularity for nightly versions: https://github.com/rust-lang/rust/issues/64796. Given this fact, and that there already is some expectation for nightly features to require the latest nightly compilers (https://github.com/rust-lang/rust/issues/64796#issuecomment-625474439), I'd say we do not need to care about older nightly compilers.

Looks like the build is still failing. When I have a moment I can take a look and see why.

My two cents on the failures:

The MIPS build fails because the rust-std component is missing for the target mips-unknown-linux-gnu. If we don't need such component (I think we don't as we are not using -Z build-std or something like that), we can "fix" this by not installing it. Also, I'd migrate away from the actions-rs/toolchain action because it's unmaintained; the best current alternative is dtolnay/rust-toolchain.
The ARM and AArch64 builds may fail because the latest tags of their images date from 2022, so the Rust compiler they have can be pretty old: https://github.com/cross-rs/cross/pkgs/container/arm-unknown-linux-gnueabi, https://github.com/cross-rs/cross/pkgs/container/aarch64-unknown-linux-gnu. For the simple cross-compilation needs of simd-adler32, I'd recommend doing away with cross entirely, as it introduces more fragile moving pieces than just using Rust's native cross-compilation support, which should require little system setup for projects without direct C dependencies: just install the Ubuntu cross-compilation toolchain package and you're good to go. Coincidentally, this is what I did for OxiPNG :smile:

I believe you misidentified both issues:

MIPS does not have the component rust-std because MIPS is now a tier 3 target. You either build it yourself... or you don't use it at all.
dtolnay/rust-toolchain is very questionable, but that's just my personal opinion
The cross issue has almost certainly nothing to do with cross itself and instead almost certainly because AVX512 being used on ARM. cross uses the host compiler.

Indeed, you're right that the build failure for ARM was caused due to missing cfg_attr target guards. I idle speculated about the causes in a hurry without checking, so sorry about that. I wanted to help getting the ball rolling with a fix.
I've pushed a commit that should fix the build failure on those targets. I've tested that the crate works okay for AArch64 targets by using RUSTFLAGS="-C linker=aarch64-linux-gnu-gcc" CARGO_RUNNER="qemu-aarch64" cargo test --features nightly --target aarch64-unknown-linux-gnu on a Debian box set up for cross-compilation.
I've also tested that AVX512 instructions are emitted for x86-64 targets even when explicitly compiling with AVX512 support by running RUSTLFAGS="-C target-cpu=x86-64-v4" cargo asm --color --features nightly --lib "simd_adler32::imp::avx512::imp::update_imp" and confirming that AVX512 instructions were present, such as vextracti64x4.

Hey so I'm gonna merge this and cross my fingers that the CI pipeline doesn't release a new version.
I have some sweeping changes planned to clean-up some issues others and I have had unrelated to this issue.   Likely soon a new release with these changes will be coming.
Thank you @AlexTMjugador for your time and effort!


fix(styling): Add layout to profile modal

Should be merged at the same time as https://github.com/ozone-development/ozp-webtop/pull/659

Pulled and tested. Looks much nicer. :+1:

:+1:


accesslog: remove ALS gRPC initialMetadata

fixes: https://github.com/envoyproxy/gateway/issues/3737

@zirain  Could you please explaining why this fix https://github.com/envoyproxy/gateway/issues/3737 in the comment?

@zirain Could you please explain in the comment why this fixed #3737 ?

        // Header value.
	//
	// The same :ref:`format specifier <config_access_log_format>` as used for
	// :ref:`HTTP access logging <config_access_log>` applies here, however
	// unknown header values are replaced with the empty string instead of “-“.
	// Header value is encoded as string. This does not work for non-utf8 characters.
	// Only one of “value“ or “raw_value“ can be set.

Header valus support access log format, but didn't support extension formatter(e.g. METADATA, CEL etc.)
InitialMetadata is designed to send something for auth(e.g. got token from request header)
ALS doesn't need it in current stage.


Clicking the full screen button again should exit full screen

Related to #602
@aviklai

@danielhers  No problem - will do.


SQLite code: 21 execution error: not an error

CREATE TABLE segments ("distance" REAL NOT NULL, "endDate" INTEGER NOT NULL, "id" TEXT PRIMARY KEY, "index" INTEGER NOT NULL, "region" TEXT NOT NULL, "speed" REAL NOT NULL, "startDate" INTEGER NOT NULL, "tripId" TEXT NOT NULL, "startLat" REAL NOT NULL, "startLng" REAL NOT NULL, "endLat" REAL NOT NULL, "endLng" REAL NOT NULL) STRICT;

Error: [op-sqlite] SQLite code: 21 execution error: not an error
    at execute (native)
    at anonymous (http://localhost:8081/index.bundle//&platform=android&dev=true&minify=false&app=dev.world.oone.driverapp&modulesOnly=false&runModule=true:422897:26)
    at execute (http://localhost:8081/index.bundle//&platform=android&dev=true&minify=false&app=dev.world.oone.driverapp&modulesOnly=false&runModule=true:423039:32)
    at createSegmentsTable (http://localhost:8081/index.bundle//&platform=android&dev=true&minify=false&app=dev.world.oone.driverapp&modulesOnly=false&runModule=true:422692:19)

fails to execute table creation

I just tried it and everything seems to be working for me:

Here is the code I used:
    const testDB = open({
      name: 'testDB',
    });

    testDB.execute('DROP TABLE IF EXISTS segments;');

    testDB.execute(`CREATE TABLE segments ("distance" REAL NOT NULL, "endDate" INTEGER NOT NULL, "id" TEXT PRIMARY KEY, "index" INTEGER NOT NULL, "region" TEXT NOT NULL, "speed" REAL NOT NULL, "startDate" INTEGER NOT NULL, "tripId" TEXT NOT NULL, "startLat" REAL NOT NULL, "startLng" REAL NOT NULL, "endLat" REAL NOT NULL, "endLng" REAL NOT NULL) STRICT;`,
    );

    const result = testDB.execute(`SELECT EXISTS (
      SELECT 1
      FROM sqlite_master
      WHERE type='table'
      AND name='segments'
   );`);

None of the statements threw an error for me

I am testing on Android. Will try to experiment with clear project

Android is also working, make sure you are running the latest version

I figure it out - it's trimming issue, but error is confusing.
const sqlite = open({
  name: 'beb',
});
const sql = `SELECT EXISTS (
  SELECT 1
  FROM sqlite_master
  WHERE type='table'
  AND name='your_table_name'
);
`;
const sqlTrimmed = sql.trim();

console.log('execute trimmed', sqlTrimmed, sqlite.execute(sqlTrimmed));
try {
  console.log('execute stripping sql', sql, sqlite.execute(sql));
} catch (err) {
  console.log('execute stripping sql error', err);
}

You are right, didn't knew SQLite would behave like this, you can see it's trying to execute "\n ". I would expect it to throw an error at the moment of preparing the statement though... weird...

Ok, looks like if the statement is parsed as empty it doesn't fail with an error code, but rather the statement pointer is returned as null, therefore meaning there is nothing to execute.
I've fixed it by just skipping the execution block if the statement is returned as NULL. Will be there in version 2.0.5


Tap tab to scroll to top

I'd like to be able to quickly scroll back up a timeline. An Android convention is to be able to tap the current tab to do this.

Cool, didn't know that about Android. Hopefully that'll be easy to implement.


⚠ Bofrost.nl has degraded performance

In 0ad8782, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1066 ms

Resolved: Bofrost.nl performance has improved in fc31da9.


Writing function in spreadsheet shows the actual logic of the function

When write "=SUM" in the cell and enter it. It did not say "#NAME?" like in excel. Instead it shows the actual logic behind "=SUM" function. Is there a way to fix this?

Hi,
On this version, no is a behavior of javascript (native)
var function test() { alert('OK'); }
console.log(test); // show in console function () {alert('OK');}

On most recent versions, it will show an error...

Now there is a Formula Pro, a extension can be used with CE.
https://jspreadsheet.com/products/formulas


Test with larger dataset?

Thanks for your hard work. The hash implementation is amazing and outperforms many hash maps in C++.
By the way, do you guys have recommended settings with larger datasets (real industrial systems) and heavier hash collisions?
etc, I can tell the default load factor is 0.8.

There might be no short answer.
We have been using NeighborHash-based KV services in our real industrial systems for years, and the configurations gurdually change over time along with data size, data characteristics and hardware specifications (including but not limited to CPU features, high performance block storage such as NVMe and network bandwidth, etc.). Typically, we often use sharding to split a large dataset (e.g. a huge table) into several pieces with appropriate sizes, while providing a client SDK for users to behave as a single one.
We'd be glad to discuss with you on some detailed sceanrios and do our best to make recommendations.
Also, @ZT-Alonzo for deep insights.

@Tokkiu Thank you for your interest in NeighborHash.


[FIX] Also strip 'secure' cookie flag at the end of the header.

Currently the 'secure' flag is not stripped if it appears at the end of the set-cookie header. This change will fix the issue.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks 👍

Released with 0.7.6


Error: "Class 'pocketmine\level\generator\GeneratorManager' not found" (EXCEPTION) in "MyPlot.phar/src/MyPlot/MyPlot" at line 518

[x] This issue isn't duplicated - you can check if it is by using the search bar located at the top left hand corner and select "Issues" on the left.
[x] This issue includes appropriate markdown for sections - e.g. code blocks for crash dumps.
[x] This issue is understandable - feel free to use your native language to write issues if you are not comfortable with English.

Issue description
What problem do you have?

Reproducing the issue

...
...

Client information
PocketMine-MP Version:
Plugin Version:
PHP version: 7.2.1 (default)

Optional information
Put a console error here, but please make sure you have your debug level set to 2 in your pocketmine.yml

Error: "Class 'pocketmine\level\generator\GeneratorManager' not found" (EXCEPTION) in "MyPlot.phar/src/MyPlot/MyPlot" at line 518

fill out the issue template


Proxy support

please consider adding
http (connect) proxy and socks5 proxy support
to be able to connect to switchserver when you are behind one of these

Let it support socks5 when I have time


Attention visualization

Hi,
in the appendix of Attention Is All You Need some very nice visualizations of the attention mechanism can be seen.
How can I create those visualizations for my own dataset/language pair?
Would be great if the authors can give some hints :)

LLion, who wrote the scripts to do the visualizations, is on vacation this week. I'll leave this open and ping when he's back.

@lukaszkaiser That would be great :)

@lukaszkaiser I too will wait for this. Thanks very much for the guidance

It seems that dot_product_attention (which is used in multihead_attention which is used in the Transformer) calls attention_image_summary which adds an image summary op, which should be written out to TensorBoard during training. Have you checked the image summaries tab in TensorBoard during training?

https://github.com/tensorflow/tensor2tensor/blob/master/tensor2tensor/layers/common_attention.py#L285

I meant these kind of visualizations:

:)

An iPython notebook with our viz code is included in the new release 1.2.0, give it a try!


chore: rename repository references

This PR changes any references to the old repository, JamieMagee/osv-offline, to the new repository, renovatebot/osv-offline.

The integration tests cannot download the database from this repository, hence the failures.


GitHub Actions updater uses LF newline for modified lines even if file uses CRLF

Is there an existing issue for this?

[X] I have searched the existing issues

Package ecosystem
GitHub actions
Package manager version
No response
Language version
No response
Manifest location and content before the Dependabot update
https://github.com/microsoft/TypeScript/blob/main/.github/workflows/nightly.yaml
dependabot.yml content
https://github.com/microsoft/TypeScript/blob/main/.github/dependabot.yml
version: 2
updates:
  - package-ecosystem: 'github-actions'
    directory: '/'
    schedule:
      interval: 'weekly'
    groups:
      github-actions:
        patterns:
          - '*'

Updated dependency
From:
actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0

To:
actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1

What you expected to see, versus what you actually saw
When dependabot updates the yaml file, it should use the line endings already used in the file. However, it appears to always use LF line endings on the lines it modifies. This leads to mixed line ending files, which is bad. In the TypeScript repo, this manifests as a CI failure due to the file not being formatted.
Native package manager behavior
No response
Images of the diff or a link to the PR, issue, or logs
https://github.com/microsoft/TypeScript/pull/56870 is an example of a failing PR.
microsoft/TypeScript@d9cabbf (#56870) is the commit, but doesn't show the difference.
Locally, I can run a script which splits the lines on just \n. On main, the lines changed for one of these files looks like:
  '    steps:\r',
  '      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1\r',
  '      - uses: actions/setup-node@8f152de45cc393bb48ce5d89d36b731f54556e65 # v4.0.0\r',
  '        with:\r',
  '          # Use NODE_AUTH_TOKEN environment variable to authenticate to this registry.\r',
  '          registry-url: https://registry.npmjs.org/\r',

But after:
  '    steps:\r',
  '      - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1\r',
  '      - uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 # v4.0.1',
  '        with:\r',
  '          # Use NODE_AUTH_TOKEN environment variable to authenticate to this registry.\r',
  '          registry-url: https://registry.npmjs.org/\r',

Note the missing \r on the updated line.
A workaround is to not use CRLF
Smallest manifest that reproduces the issue
No response

This sounds like it's related to another issue:

#8642


Long-Term Tracking of Testbed Kubernetes Versions

Describe the problem/challenge you have
Currently, we are using various testbeds such as CAPV, Multicast, Multicluster, VMAgent, Kind, and Windows for Antrea CI pipeline. The Kubernetes versions used in these testbeds may not always align with the latest Kubernetes releases. This misalignment can lead to issues, test failures, or missed opportunities to take advantage of new Kubernetes features.
Describe the solution you'd like
We would like to create a long-term tracking mechanism to keep our testbed Kubernetes versions up to date. This involves the following steps:

Maintain a record of the current Kubernetes version in use for each testbed.
Periodically check for new Kubernetes releases.
Plan and execute the upgrade of Kubernetes versions for each testbed as needed.
Document the process, any issues encountered, and the outcome.

Anything else you would like to add?
It's essential to maintain our testbeds with the latest Kubernetes versions to align with the Kubernetes releases and to provide the best quality testing for Antrea. This long-term tracking task can help us stay on top of Kubernetes updates and ensure our testing environment remains robust and effective.

Testbed Name
Current Kubernetes Version
Latest Kubernetes Version (if different)

CAPV
v1.28.0
v1.29.0

Multicast
v1.27.2
v1.29.0

Flexible-IPAM
v1.27.1
v1.29.0

Multicluster
v1.27.1
v1.29.0

VMAgent
v1.27.2
v1.29.0

IPv6
v1.27.1
v1.29.0

Windows
v1.28.2(with ginkgo flaky issue)
v1.29.0

CAPV 1.29.0 image has been released: https://storage.googleapis.com/capv-templates/v1.29.0/ubuntu-2204-kube-v1.29.0.ova

Updated the status of testbeds after the latest migration. For kind testbeds, we will no longer continue tracking their Kubernetes versions.


Deprecation warning with webpack 3: Module.chunks

Do you want to request a feature, report a bug or ask a question?
bug
What is the current behavior?
The following deprecation message appears:

(node:3170) DeprecationWarning: Module.chunks: Use Module.forEachChunk/mapChunks/getNumberOfChunks/isInChunk/addChunk/removeChunk instead

What is the expected behavior?
No deprecation warning
If the current behavior is a bug, please provide the steps to reproduce, at least part of webpack config with loader configuration and piece of your code.
relevant config:
const SpriteLoaderPlugin = require('svg-sprite-loader/plugin');

plugins: [
	new SpriteLoaderPlugin()
],

Please tell us about your environment:

Node.js version: v8.2.1
webpack version: 3.5.2
svg-sprite-loader version: 3.1.3
OS type & version: MacOS Sierra

Shipped with<EMAIL_ADDRESS>


Some tables don't have ids

It might be deliberately done, but I think it would still be nice to have ids for all values, as it might be handy later.
Some examples would be appverification, userownedapp
CC @danielsilverstone-ct

This is probably not worth the invested time


sideBar visually added and frontend folder structure changed

SideBar is there visually but does nothing atm.
semantics-ui-react and semantics-ui-css added.
Frontend folder structure changed so that we have a pages folder that App.js will call from.

it good

thanks

it good

thanks

wth man

yes


Can you provide the weight of SV3D encoder?

Thanks for your work.
You'v mentioned that the video_latent.pt is the video latent encoded by SV3D encoder. So where could I find the weight of this encoder? It seems that the weight in sv3d_p.safetensors only includes the vae (first_stage_model) decoder weights. Since you have already utilized the first_stage_model.decode_first_stage() during log and inference, could you please tell how can I find the encoder weights?
Thanks a lot!

You're right. sv3d_p.safetensors does not contain the encoder since the authors preprocessed the encoder phase before training, as mentioned in the SV3D paper.
Therefore, as you can see here, you might have to use SVD's encoder.
Note that you should save the latents just before 'regularization', that have channel size 8, not 4.
Thank you for informing me. We'll add the description soon.

You're right. sv3d_p.safetensors does not contain the encoder since the authors preprocessed the encoder phase before training, as mentioned in the SV3D paper.
Therefore, as you can see here, you might have to use SVD's encoder. Note that you should save the latents just before 'regularization', that have channel size 8, not 4. Thank you for informing me. We'll add the description soon.

Thanks for your interpretation. You'v mentioned that I need to save the latents before regularization, I also noticed that in the sv3d initial repository, in the config file the target of regularizer_config was set to DiagonalGaussianRegularizer, so I'm wondering if I replaceDiagonalGaussianRegularizer by torch.nn.Identity, whether I can just save the latents directly generated by vae in this situation?
vae = AutoencoderKLTemporalDecoder.from_pretrained("")
torch.save(vae.encode(img).latent_dist.mode()*0.18215,"")

In DiagonalGaussianRegularizer, the func sample is implemented by
x = self.mean + self.std * torch.randn(self.mean.shape).to(device=self.parameters.device )

Not just the mean. Are there any difference?
Thanks a lot for your former prompt responses!

To my knowledge, DiagonalGaussianRegularizer is needed to train VAE in a reparameterization manner. However, although we do not train VAE in SV3D training, I used the regularizer to directly follow the config file from the original SV3D repository.
Actually, I also wondered whether I should use the regularizer or just use torch.nn.Identity when I implemented it, but I decided to follow the config file 🥲.
In some sense, I think the regularizer can introduce some stochasticity in the training phase. You can try it, and please inform me if you gain any insights from that.


[Feature] Print logs from a webservice

It would be great user experience if it can pipe underlying pods' logs via a single command:
vela webservice:log <name>

I'm going to solve it by using https://github.com/wercker/stern

This issue also rely on https://github.com/crossplane/oam-kubernetes-runtime/issues/174

fixed by  #414


Export/Import libkb.NotFoundError

r? @maxtaco
cc @strib in relation to https://keybase.atlassian.net/browse/CORE-2652 comments

👍


Updating develop with release branch

Current coverage is 61.13% (diff: 100%)

Merging #626 into develop will not change coverage

@@            develop       #626   diff @@
==========================================
  Files           354        354
  Lines         10995      10995
  Methods           0          0
  Messages          0          0
  Branches       1598       1598
==========================================
  Hits           6722       6722
  Misses         3739       3739
  Partials        534        534

Powered by Codecov. Last update a2cfc29...8942d0d


[Bug] Android AppCheck "No AppCheckProvider installed"

Description
Android FirebaseAppCheck.GetAppCheckTokenAsync will return as faulted with the error "No AppCheckProvider installed" if FirebaseAnalytics.GetAnalyticsInstanceIdAsync has been called prior.
If FirebaseAnalytics.GetAnalyticsInstanceIdAsync has not been called, FirebaseAppCheck.GetAppCheckTokenAsync completes without error.
Reproducing the issue

Invoke FirebaseAnalytics.GetAnalyticsInstanceIdAsync
Invoke FirebaseAppCheck.SetAppCheckProviderFactory(PlayIntegrityProviderFactory.Instance);
Invoke FirebaseAppCheck.DefaultInstance.GetAppCheckTokenAsync()
Observe the GetAppCheckTokenAsync() task exception message "No AppCheckProvider installed"

Firebase Unity SDK Version
12.4.1
Unity editor version
2022.3.49f1
Installation Method
.unitypackage
Problematic Firebase Component(s)
App Check
Other Firebase Component(s) in use
Analytics
Additional SDKs you are using
No response
Targeted Platform(s)
Android
Unity editor platform
Windows
Scripting Runtime
IL2CPP
Release Distribution Type
Pre-built SDK from https://firebase.google.com/download/unity
Relevant Log Output
No response
If using CocoaPods for Apple platforms, the project's Podfile.lock

Expand Podfile.lock snippet

👀 Replace this line with the contents of your Podfile.lock!

AppCheckFailLogs.txt

Hey @BigTeaTime, thanks for reaching out. This is working as intended. According to the docs, you need to instantiate the FirebaseAppCheck before any firebase calls, including instantiation of Firebase.

Add the following initialization code (AppCheck code) to your app so that it runs before you use any Firebase services including any creation of Firebase Apps

Here's an sample implementation with DebugAppCheckProvider:
public virtual void Start() {
      // Add AppCheck here
      DebugAppCheckProviderFactory.Instance.SetDebugToken(".......................");
      FirebaseAppCheck.SetAppCheckProviderFactory(DebugAppCheckProviderFactory.Instance);

      // Initialize Firebase
      FirebaseApp.CheckAndFixDependenciesAsync().ContinueWithOnMainThread(task => {
        dependencyStatus = task.Result;
        if (dependencyStatus == DependencyStatus.Available) {
          InitializeFirebase();
        } else {
          Debug.LogError(
            "Could not resolve all Firebase dependencies: " + dependencyStatus);
        }
      });
    }

Let me know if this works. Thanks!

@argzdev we have very similar situation and we set AppCheckProviderFactory before doing any other calls to Firebase SDK.
What I noticed while checking logs - right after application starts there is initialization of Crashlytics happening (this happens way before the first scene is initialized) and it logs initialization of FirebaseApp.
Also wanted to mention that we have the same code (with exception of using another provider) for iOS and there AppCheck works as expected. On Android we get the same error message about no provider initialized.
Here is part of the log that I see moments after starting application on device:
2024-12-10 16:47:38.932 26560-26560 SessionsDependencies    *****          D  Dependency to CRASHLYTICS added.
2024-12-10 16:47:38.943 26560-26560 FirebaseApp             *****          I  Device unlocked: initializing all Firebase APIs for app [DEFAULT]
2024-12-10 16:47:39.019 26560-26560 FirebaseSessions        *****          D  Initializing Firebase Sessions SDK.
2024-12-10 16:47:39.031 26560-26560 FirebaseCrashlytics     *****          I  Initializing Firebase Crashlytics 19.2.1 for games.starberry.idlevillage
2024-12-10 16:47:39.070 26560-26560 SessionsDependencies    *****          D  Subscriber CRASHLYTICS registered.
2024-12-10 16:47:39.078 26560-26591 DynamiteModule          *****          I  Considering local module com.google.android.gms.measurement.dynamite:127 and remote module com.google.android.gms.measurement.dynamite:130
2024-12-10 16:47:39.078 26560-26591 DynamiteModule          *****          I  Selected remote version of com.google.android.gms.measurement.dynamite, version >= 130
2024-12-10 16:47:39.078 26560-26591 DynamiteModule          *****          V  Dynamite loader version >= 2, using loadModule2NoCrashUtils
2024-12-10 16:47:39.104 26560-26603 NetworkSecurityConfig   *****          D  No Network Security Config specified, using platform default
2024-12-10 16:47:39.148 26560-26592 FirebaseCrashlytics     *****          I  No version control information found
2024-12-10 16:47:39.152 26560-26560 FirebaseInitProvider    *****          I  FirebaseApp initialization successful

Issue is still present. @argzdev do you have any updates?

Any update here?

Adding comment to prevent issue auto-closing.


rvm: handle -head, etc. more gracefully.

Closes #575

I like the way you handled this better =]

@docwhat @rjorgenson - Thanks for working together on this in #575, and then in #582 and here! I think your discussion yielded the best result, and this looks great 👍
I had wanted to put this on master since it's a bit of a bugfix, but I'm going to try and push out a release, shortly, so I'll just go ahead and merge for now.
Thanks again!


Can I use a variable in repositories:ref ?

Using Azure DevOps Git repo
Two branches: master and feature/myfeature
In feature branch I am using:
resources:
repositories:
- repository: templates
type: git
name: MyProject/MySolution
ref: refs/heads/feature/myfeature
In master branch:
resources:
repositories:
- repository: templates
type: git
name: MyProject/MySolution
ref: refs/heads/master
I would like to use a variable for 'ref' so whichever branch is being used it always references itself.
The default is to reference 'refs/heads/master' so can't just omit this parameter.
I've tried using:
ref: $(Build.SourceBranch)
But it doesn't work error:
62638: "/azure-pipelines.yml: Could not get the latest source version for repository MySolution hosted on Azure Repos using ref refs/heads/$(Build.SourceBranch)."
Can we have some additional documentation for 'ref:' param to explain how variables can be used?

Thanks for your question. It looks like you're working through an issue with your scenario or implementation, rather than an issue with the documentation. Here are a few options where you might consider asking your question:

Azure DevOps on Stack Overflow
Azure DevOps Support Bot


brew cleanup should continue even if it wasn't permitted to remove a file

Provide a detailed description of the proposed feature
Current situation:
$ brew cleanup --debug
...
Removing: /usr/local/Cellar/icu4c/67.1... (258 files, 71MB)
Error: Directory not empty @ dir_s_rmdir - /usr/local/Cellar/icu4c/67.1

/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1431:in `rmdir'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1431:in `block in remove_dir1'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1442:in `platform_support'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1430:in `remove_dir1'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1423:in `remove'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:760:in `block in remove_entry'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1480:in `ensure in postorder_traverse'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:1480:in `postorder_traverse'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:758:in `remove_entry'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:610:in `block in rm_r'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:606:in `each'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/fileutils.rb:606:in `rm_r'
/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.6.3_2/lib/ruby/2.6.0/pathname.rb:589:in `rmtree'
/usr/local/Homebrew/Library/Homebrew/keg.rb:275:in `uninstall'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:252:in `block in cleanup_keg'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:338:in `cleanup_path'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:252:in `cleanup_keg'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:238:in `each'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:238:in `cleanup_formula'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:190:in `block in clean!'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:189:in `each'
/usr/local/Homebrew/Library/Homebrew/cleanup.rb:189:in `clean!'
/usr/local/Homebrew/Library/Homebrew/cmd/cleanup.rb:58:in `cleanup'
/usr/local/Homebrew/Library/Homebrew/brew.rb:129:in `<main>'

Atm, brew cleanup crashes instead of continuing to clean up.
Feature suggestion: ignore errors, or at least if a flag like --ignore-errors, -i is given.
What is the motivation for the feature?
There might be dynlibs I want to hang on so that upgrades do not remove them.  After all, other programs (outside of the brew universe) have been linked against than and brew cleanup breaks them mercilessly.  A simple workaround is to forbid brew to remove this files by making them read-only, but then brew cleanup crashes.
How will the feature be relevant to at least 90% of Homebrew users?
I suppose only 10% use brew exclusively for everything.
What alternatives to the feature have been considered?
N/A

I've merged #11931. If you're on the brew master branch (e.g. if you're run a dev command -- see brew developer), then you should be able to do this with brew update. If not, you can wait until it lands on a release tag, or run brew developer on && brew update.

@carlocab Wonderful, that's great!  I tried HOMEBREW_NO_CLEANUP_FORMULAE=icu4c with brew cleanup on the developer version and it did what I had wanted for a long time!

HOMEBREW_NO_CLEANUP_FORMULAE is also in 3.2.11, so you don't need to be on the developer branch to use it.


Jesse: Blacklist +971-554-7897-24

Jesse requests the blacklist of the number +971-554-7897-24. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Approved by Jeff Schaller in Charcoal HQ


how to contact you to improve the script on the site Replicate?

for the script https://replicate.com/arielreplicate/deoldify_image you need to add a parameter to the API so that you can remove the logo. Can YOU ArielReplicate do it?

if you don't want to completely remove the watermark then please add an option to disable it

@OmlineEditor  is the change for making watermark option ever implemented?

@OmlineEditor is the change for making watermark optional ever implemented?

This is open source and it is not necessary to add a watermark. the answer is that the watermark is not necessary and it is better to remove it or add a setting for cleaning


Autocompletion error

Description
What steps will reproduce the problem?

When I open up Spyder, after a while (a few seconds), the Issue reporter window pops up. It seems that there's something wrong with kite autocompletion
Traceback
  File "C:\Users\Amin\Anaconda3\envs\pmeal\lib\site-packages\spyder\plugins\completion\kite\client.py", line 135, in perform_request
TypeError: 'NoneType' object is not subscriptable

Versions

Spyder version: 4.0.0b4
Python version: 3.7.2
Qt version: 5.9.7
PyQt5 version: 5.9.2
Operating System: Windows 10

Dependencies
pygments >=2.0    :  2.4.2 (OK)
qdarkstyle >=2.6.4:  2.7 (OK)
sphinx >=0.6.6    :  2.1.2 (OK)
pyls >=0.27.0     :  0.28.0 (OK)
nbconvert >=4.0   :  5.6.0 (OK)
pandas >=0.13.1   :  0.25.0 (OK)
numpy >=1.7       :  1.15.0 (OK)
sympy >=0.7.3     :  1.4 (OK)
cython >=0.21     :  None (NOK)
qtconsole >=4.5.2 :  4.5.2 (OK)
IPython >=4.0     :  7.2.0 (OK)
matplotlib >=2.0.0:  None (NOK)
pylint >=0.25     :  2.3.1 (OK)

@ma-sadeghi, thanks for reporting. Do you have Kite installed in your system?
@andfoy, please take a look at this one.

@ccordoba12 yes, I have Kite installed.

We're not preventing None responses to not be attended. I'll fix this


Setting the x margin in a plot of a data frame with a DatetimeIndex is ignored.

from mailing list
Hello,
I noticed that setting the x margin in a plot of a data frame with a DatetimeIndex is ignored.
Example plot:

#!/usr/bin/python

from matplotlib.pyplot import *
from pandas import *
from pylab import show

fig, axes = subplots(2,1)

df1 = DataFrame([0.5,1,1.5,2,2.5,3,3.5])
df1.plot(ax=axes[0],drawstyle='steps',style='g')

# this x axis margin is honored
axes[0].margins(0.05,0.05)

df2 = DataFrame([0.5,1.5,2.5,3.5],index=date_range('1-1-2000',periods=4))
df2.plot(ax=axes[1],drawstyle='steps',style='r')

# this x axis margin is ignored
axes[1].margins(0.05,0.05)

show()

Why was this closed? I encounter the same issue.

I hope this gets reopened as I am also having the same issue.

@BlackArbsCEO feel free to poke around and see what's up. A fix would probably accepted. I don't think it has anything to do with DatetimeIndexes though.

@TomAugspurger @languitar I was able to find a simple workaround via stackoverflow that was effective.
ax.set_xlim(ax.get_xlim()[0] - 1, ax.get_xlim()[1] + 1)


Is it possible to remap keys with multiple modifiers from the cli?

I am trying to bind ctrl+alt+shift+f1 up to ctrl+alt+shift+f9 to new bindings using keyd-application-mapper. Because my mappings did not work, I started trying to do it manually from the cli, with the following results:
$ keyd bind control.alt.shift.f1=kp1
alt.shift.f1 is not a valid key or alias

So I tried something else, but without success:
$ keyd bind control+alt+shift.f1=kp1
control+alt+shift is not a valid layer

Would something like this (basically remapping keys with multiple modifiers using keyd bind) be possible?

Thanks, but I don't really understand how you would trigger that layer... Also, I guess capslock is also a layer, and this part shows two layers with a +:
# New private window
capslock+shift.n = C-S-p

Isn't that what I am searching for? How does that work?

@Vosjedev Layers must be defined in /etc/keyd/*.conf.
If you do the following, you can use it in ~/.config/keyd/app.conf like HYPER.a = b.
# /etc/keyd/keyd.conf
[HYPER:S-C-A-M]
esc = clear()

Sorry for the very late response. I eventually solved it using a device-specific remap and some aliases. Thanks for the help, this information could be usefull in the future.

The correct way to solve this is to use composite layers.
That is:
[control+alt+shift]

f1 = <action>

Please see the man page for more details.


simple bug fix for color scheme of editor

If you reload the page on dark mode then when you first open the editor there is a theme mismatch. This is a simple bug fix for that issue.

Nice! Thank you for the PR


Possible fix for the failing long draft test in messaging

Took a stab at this test since I was seeing it last week as well. Wasn't sure about what was causing the failure since it passes as expected in every run on my local server, thus increased the wait from half a second to 3 seconds for assertions after the draft is typed. Hopefully this fixes the flakiness.
Also demoted the test from prod. Will keep an eye out to see if this fixes the issue before promoting it back to prod.

Cherry pick is scheduled.


[Color 4] Add specs for JS API

https://github.com/sass/sass/pull/3718
https://github.com/oddbird/dart-sass/pull/1

 I want JS users to have access to new color spaces.

Closing in favor of upstream PR.


fix regulatory calcualtions and add example on docs

Fix MDA8 ozone calculations
Add two days of output to ftp site for testing and ReadTheDocs example
Add ReadTheDocs example for regulatory options
Update a couple items to get rid of warnings (i.e. add numeric_only=True in two areas of driver)
Add description for how read in code with the conda environment, so we are ready for this for next week
Fix regulatory example in examples folder to exclude spatial overlay plot for consistency with ReadTheDocs
Update docs in supported diagnostics to include 2 plots that do not work for regulatory options
Updated version to 0.1 in prep for conda release

This actually looks great, Becky!


Request help: add etcd retry in hertz etcd doc

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Add docs for streaming gzip middleware.  Related pr: https://github.com/hertz-contrib/registry/pull/91.
Describe alternatives you've considered
Add docs under https://www.cloudwego.io/zh/docs/hertz/tutorials/service-governance/service_discovery/etcd/ both in EN & CH.
Additional context
Add any other context or screenshots about the feature request here.
Related reference:
https://github.com/hertz-contrib/registry/tree/main/etcd#retry
https://github.com/hertz-contrib/registry/tree/main/etcd/example/server/retry

I want to work on this

sry, i correct it.


ScrollToEnd with VirtualizingStackPanel and dynamic items sizes not always working

Describe the bug
Calling ScrollToEnd in virtualized lists with items of dynamic height works only randomly.
Sometimes it scrolls to the end correctly and sometimes it scrolls to a random position.
To Reproduce

The test project of the Video is here:
https://github.com/agnauck/AvaloniaListBoxBug3
Expected behavior
should always scroll to the end of the list
Environment

Windows
Avalonia-Version: 10.0,7

dynmaic size in a virtualized panel are really hard... But could you give nightly builds a try? https://github.com/AvaloniaUI/Avalonia/wiki/Using-nightly-build-feed

But could you give nightly builds a try? https://github.com/AvaloniaUI/Avalonia/wiki/Using-nightly-build-feed

tried the latest nightly. There is no difference in behaviour

dynmaic size in a virtualized panel are really hard...

I know how hard it is. But there are lots of applications that require good virtualization support for dynamic heights and infinite scrolling/paging in both directions. Chat apps, Twitter like social apps etc...... For many of those apps the virtualized lists are the most important component.
The current implementation of the VirtualizingStackPanel is also using some classes and methods which are internal. Which makes it also harder to build your own and take it as a base.
When the actual heights are unkwn the ScrollToEnd probably works only when the view gets build reversed form bottom to top, or right to left for horizontal scroll.

I don't think adding your own panel is the best way to go tbh. Better would be to solve it on Avalonia side and file a PR if you found a solution. My feeling is ScrollToEnd should scroll again if there is more to show.