Set retry count for scheduled event to 0

The events must not retry, since this could lead to duplicate reporting

Basically this should be as simple as adding
RetryPolicy:
  MaximumRetryAttempts: 0
  MaximumEventAgeInSeconds: 60

to the template.yaml. But then publish fails due to a bug in sam: https://github.com/aws/serverless-application-model/issues/1931

Reopening since the workaround did work: On the second publish step SAM does not change the app in the repository but just reports a success (probably another bug in SAM-CLI).

Blocked. Waiting for https://github.com/aws/serverless-application-model/issues/1931


fix API token guide link

What this PR solves / how to test:
The previous link for Creating an API token in a non-interactive environment 404'd, and didn't show the user any useful information. This points the link to the correct one in the docs
Associated docs issues/PR:

N/A

Author has included the following, where applicable:

[x] Tests
[x] Changeset

Reviewer has performed the following, where applicable:

[ ] Checked for inclusion of relevant tests
[ ] Checked for inclusion of a relevant changeset
[ ] Checked for creation of associated docs updates
[ ] Manually pulled down the changes and spot-tested

Can you open a docs PR to redirect the old link as well please?

The rule already exists at https://github.com/cloudflare/cloudflare-docs/blob/ace52a8fd4a8cceb0aff4b8664c6586e93bc9ffd/content/_redirects#L136, but functions run over that route, so none of the /api redirects are applying


Output window does not update during run, only afterwards (same: #7568)

No updates during run in Output window. Only when run finished
Running functions with RAISE INFO. This info is not being shown in the Output window. With version 6.3.0 no problems.
System information:
Windows 10
DBeaver version: Version <IP_ADDRESS>002011957
Additional extensions: none
Connection specification:
Postgres EDB 9.6 & PostgreSQL 11
Driver name: default (local client: Postgres 11 and/or Built in 9-6 version)
Describe the problem you're observing:
No updates during run in Output window. Only when run finished

cannot reproduce it for now.
if the issue is still actual - feel free to reopen the ticket.


Add dream2nix to the flake registry

We should make a PR and add dream2nix to the flake registry.
That would allow users to run the dream2nix apps more easily.
We could name a few example commands commands to make a compelling argument.

do you mean over here: https://github.com/NixOS/templates

No, over here: https://github.com/NixOS/flake-registry/blob/master/flake-registry.json


Added two missing Tal Rasha set assets (in 1920x1080).

these are also included in your other pr, closing this one in favour of the more recent one

Accidentally started from the Tal Rasha branch with the other PR. Sorry for the double.


Graphs interface

My intern @olegfafurin and I are trying to formalize the AbstractGraph interface in this repo: https://github.com/gdalle/GraphsInterfaceChecker.jl
We might poke around and find missing stuff in Interfaces.jl

Cool.l! @olegfafurin please feel free to make issues here for literally any problems you have or missing features you find. That kind of feedback is really useful at this stage.
Note that #37 will change testing and implementation definition a little and #34 will allow (multiple) inheritance soon.

The interface is more or less complete for the time being, and the tests have grown larger, in case you're interested to see your package in action @rafaqz

The tests look good! Happy its useful :)

Also nice use of readme as the interface description!
Do you imagine packages will have this as a dependency, or just for checking the interface?

For now it's a prototype, still waiting to evolve. Ideally I'd put this in Graphs.jl, but I fear there might be some pushback.

Yes abosolutely. Packages could have it as a test dependency.


How to support all languagse in a Kernel

With the notebook controller we need to define the langauges supported by a Notebook Kernel:
        /**
         * An array of language identifiers that are supported by this
         * controller.
         */
        supportedLanguages: string[];

In classic jupyter (not VS Code extesnion), we could have a kernel such as SOS, .NET Kernel, etc that support other langauges as well.
At this point the metadata only tells us that the langauage is sos or Csharp.
But these kernels could internally support other languages (meta kernels).
& in such cases, users might want to get the syntax highlighting for these other languages.
E.g. .NET kernel supports F#. But since the kernel spec says that Csharp is supported, now users cannto create a cell and change it to F# so that they can get the necessary syntax highlighthing.
Is it possible to leave supportedLanguages blank so that it supports all langauges (as it was previously).
Else this has the potential to break other kernels out there.
Another scenario is:

With python kernel you can have cell magics.
Users can install other python packages that support execution of SQL or the like from within the python kernel.
At this point users would create a python cell and add the magic %%sql as the fist line.
The rest of the code in that cell would be SQL, now users would want syntax highlighitng for SQL (but they cann't as the cell language is limited to Python).
Similarly there are other magics, kusto, sql, html, svg, javascript, perl, bash, & others that support cells with those languages & gets executed by the python kernel.

@jrieken @rebornix /cc

Is it possible to leave supportedLanguages blank so that it supports all langauges (as it was previously).

Yes - that's what I have pushed today

Thanks, closing this issue


Moving just app distribution, not CI/builds

Hi, we're using HockeyApp just for distribution purposes - we build the apps elsewhere. For the distribution itself, we're using 2 of HockeyApp's endpoints, first one to create new version and second one to upload the build (.ipa or .apk). So now we wonder how much this will have to change. What we really liked is a possibility to select from multiple builds there, without the need to create new releases and without the annoying spam of emails every time someone creates a PR build. Is this transition going to be easy for us, or will we have to allocate some considerable time to figure out new workflow? Thanks!

And just to clarify - I'm talking specifically about distribution to our test users and developers, no Store needed.

Hi @jkotrlik
In App Center you can easily use just Distribution, either through the portal or via the CLI or API.
If you build elsewhere (not using App Center), App Center will not perform any action when you open a PR and will not send any emails.
It is not possible to create multiple releases at once through the portal, but you can automate the creation of releases through the CLI or API. When distributing a release to users and developers, you can choose whether you want to notify them of the release or not.
I hope your transition from HockeyApp to App Center worked out. Since this question is quite old and HockeyApp is no more, I will close the issue. If you have further questions, just comment below or reopen.


Try to use gzip encoding for artifact downloads

This greatly speeds up downloading speed for me, and closes most (if not all?) of the remaining gap with mach wpt-fetch-logs in mozilla-central when used to download WPT reports.

I consider this both a bug and an enhancement; it "only" improves the experience, but brings things to parity with tooling that competes with it (which is an explicit goal here).


Add an option to get the target route from the middleware

Please add an option to get the target route from the middleware, this is necessary to implement authorization in the API when the JWT token contains the user role, and valid permissions for roles are loaded from the configuration.
I think it is wrong to pass the check to the controller
And it also seems strange that middleware does not know for what purpose it is being executed.

Hi @Concentum - just a note first of all, any pull requests require passing tests and to follow the coding standards for the project.
Secondly, this feels a bit too much like framework/app logic as things are, could you give me a full example of what you're trying to achieve and the problem you're solving?
Are you saying that your roles are defined by access to a controller method? If that is the case I'd suggest that that check is indeed passed off to the controller, even if the logic is invoked elsewhere.
By introducing something aimed for use in middleware defined by a specific attribute key, we'd be tying any applications that use that functionality to league/route, which is something I try to avoid.

Hi @philipobenito
sorry for the hasty PR, please explain how it happened that the route does not have an official way to get the end point.

@Concentum the simple answer is that route isn't a framework, it doesn't care about your controller at all. If you're defining roles by controller method then I'd suggesting that mechanism being attached to the controller, not the router or middleware, if you'd prefer to handle it in middleware, then I'd suggesting attaching rolls to HTTP paths/methods instead, as that is what the router/dispatcher/middleware does deal with.

@philipobenito, sorry for my importunity
Here is the code of my middleware
`
container = $container;
    }

    private function getPermissions($action)
    {
        $permissions = $this->container->get('permissions');
        return isset($permissions[$action]) ? $permissions[$action] : [];
    }

    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
    {
        // so or something like that I planned to get the goal of the current route
        $target = $request->getAttribute('routeTarget');

        if ($request->hasHeader('Authorization') === false) {
            throw new UnauthorizedException('Access token is required.');
        }
        $header = $request->getHeader('Authorization');
        try {
            $identity = new Identity(
                trim(str_replace('Bearer', '', $header[0])),
                $this->container->get('settings')['secretKey']
            );
        } catch (\InvalidArgumentException $e) {
            throw new UnauthorizedException($e->getMessage());
        }

        if (!empty($this->getPermissions($target)) &&
            empty(
                array_intersect(
                    $identity->getRoleIds(),
                    $this->getPermissions($target)
                )
            )) {

            throw new ForbiddenException('Access is denied.');
        }
        return $handler->handle($request);
    }
}
`
It seemed to me that middleware is the place for such client code, because doing checks in each action of each controller is a pain :(

I understand what you're trying to avoid by defining specific keys, but you can come up with one open method without side effects in the route class, right?

Why does your target have to be Class::method? Can't it be GET::/route for example? As you already have access to that and it's a standardised thing rather than something very specific which is what league/route is avoiding


Wrong value returnef by ing.gcd()

According to the int.gcd() documentation (https://api.dartlang.org/stable/1.20.1/dart-core/int/gcd.html)

For any integer x, x.gcd(x) is x.abs().

But in fact print(-17.gcd(-17)); // prints -17

Good catch.


Animations issues (multiple)

There are a couple of issues with ReactTransitionGroup that are causing some problems.
Issues

Has to wrap all animated components in a HTML tag, breaking CSS for Semantic.
RTG consumes refs for all animated components.
When using custom components ReactTransitionGroup doesn't cosume the component prop.

Results

Labels in select dropdowns can't animate.
Anything that animates leave/enter will get a warning for invalid component prop.
We can't use a Animations for Dropdown because it will consume the search boxes ref.

Hi, did you looked at the react-motion for animation purpose? The project looks very promise. If not, then I suggest you to check them examples and especially video on GH page.

I actually really like react-motion, but the goal of this project is a 1:1 translation of Semantic UI's jquery to react which is counter to react-motions "let me animate this for you", which is why I implemented my own animation library. I can definitely see a future where we either replace or allow react-motion as an option.


When using "help ", the exit code is 0, despite exitCodeOnUsageHelp = ExitCode.USAGE

The title says almost all: I have a CLI app that is arranges as main command + subcommands. When I issue something like: java MainCommand help subCommand, the OS exit code is 0, not 2, despite both MainCommand.class and SubCommand are annotated with:
@Command ( ... exitCodeOnUsageHelp = ExitCode.USAGE, exitCodeOnVersionHelp = ExitCode.USAGE)
when doing java MainCommand -h, it exits with 2 as expected. Unless I'm missing something, to me it is a bug.
Until this is changed, it's possible to write a workaround like: in the static main(), check if the first argument is 'help'.

I think you are correct, and this is a bug in the implementation of picocli.CommandLine.HelpCommand.
This class currently implements Runnable.
To fix the issue, it should implement Callable<Integer> and should either
return subcommand.getCommandSpec().exitCodeOnUsageHelp() if a subcommand was specified, or
return parent.getCommandSpec().exitCodeOnUsageHelp() if not.
Will you be able to provide a pull request with tests for this?

Hi @remkop, I've tried to write a fix, but I don't have much time and I barely managed to change HelpCommand. It's hard to write a test and even without any changes, the clone doesn't build for me, mvn clean package gives me errors (starting with package org.junit does not exist), I can't use Gradle.

Note to self:
// src/test/java/picocli/HelpSubCommandTest.java

    @Command(name = "issue2355", exitCodeOnUsageHelp = 123)
    static class Issue2355 implements Runnable {
        @Override public void run() {}
    }

    @Test
    public void testIssue2355ExitCode() {
        @Command(name = "top", subcommands = Issue2355.class) class Top { }
        int actual = new CommandLine(new Top()).execute("help", "issue2355");
        assertEquals(123, actual);
    }


Have thumbnail/banner separate?

Is there a way to separate the "banner" (shown on top of post) from the "thumbnail" (shown in the article list) in the front matter? I would like to have thumbnails, but no banners on some posts.

vote up

It has been over year since the request, and this one has not seen any "love" 😞
If there is a way, and maintainers do not have time - can you please provide directions how one may proceed, if they wanted to implement this feature ?


Cannot edit claim 2nd time around via Edit Claim button

The Issue
The Edit Claim button doesn't seem to re-populate any claim data when trying to edit a claim that was recently edited.  Developer>Reload or clearing the cache don't help, need to restart the app again to be able to edit via the button. You are able to edit via the Publish screen after typing the URL > Copy existing claim data.
Note- after the first edit, updated claim info is not shown on the claim page until the app is reloaded (via Developer Reload) - this issue is waiting on https://github.com/lbryio/lbry-app/issues/392
Steps to reproduce

Edit an existing claim, wait for blockchain confirmation
Try to edit the claim again using the Edit claim button
It goes to Publish page, but no data is populated

Expected behaviour
Should be able to edit the claim
Actual behaviour
Tell us what happens instead
System Configuration

LBRY Daemon version: 0.16.1
LBRY App version: 0.16.0
LBRY Installation ID:
Operating system: Windows/Linux

Anything Else

Screenshots

@tzarebczan I can't recreate this in last master, can you confirm this ?

Never mind, after the third edit I was able to recreate this issue

Per @btzr-io, if it does work and you get it to edit a 2nd time, it shows old claim data which in part may be related to https://github.com/lbryio/lbry-app/issues/392.  The real question is why is fileinfo is blank after an update sometimes. I'll see if I can reproduce with the debugging info.
Some notes from Slack chat:
not that simple, I found the main issue which is also causing other issues...
[12:16]
fileInfo : null
outpoint: "024839f1be1f118de633361e894faf1cfff25d507160f58023bbdb7df8644592:0"
Object
type : "FETCH_FILE_INFO_COMPLETED"

[12:17]
to edit a claim you need to pass fileInfo.claimId
[12:17]
but as you can see is returning null after the re-publish :confused:
[12:18]
this also prevents me to remove or unclaim it
https://github.com/lbryio/lbry-app/blob/master/ui/js/actions/file_info.js#L44
btzr [6 days ago]
did some more deep debugging ^^
btzr [6 days ago]
it fails when you search for a file_list and pass the outpoint of the updated claim

This might be fixed after https://github.com/lbryio/lbry-app/issues/693 changes, will confirm.

This is no longer an issue after v19 daemon.


Release 1.0.2

Purpose of the issue

[ ] Bug report (encountered problems/errors)
[x] Feature request (request for new functionality)
[ ] Question

Description of the issue

Prepare release 1.0.2

Released


[Bug] Can't springboard

Describe the bug
When I hold space on anything object it just vaults when I need to springboard
To Reproduce
Steps to reproduce the behavior:

Go to any object
Run and hold space
Doesn't springboard

Expected behavior
Meant to jump really high
Screenshots/Videos
I don't think a video is needed
Additional information:
Non beta, x64, single player
Additional context
Downloaded some of the workshop stuff at the top of the page when searching beatrun

Video

https://youtu.be/1ZKsou__s3c

Disable all your addons. There is literally a constant error spam, but you don't see it behind your keystrokes thing (beatrun already has those. You don't need to use 2 of those)

Oh i only now found out i had this addon called "beat the run" my friend made it install it so i could play with him but now i deleted it. It works now.

Oh i only now found out i had this addon called "beat the run" my friend made it install it so i could play with him but now i deleted it. It works now.

Great! "Beat the run" was my attempt on uploading beatrun to workshop but it got DMCAd in like 10 minutes


problems in urls with special characters

When the user writtes in the editor some urls with parameters like this: ?$filter=parentmasteragent=%JCL% this url is not saved.
We cannot control if the url writted by the user is correct. Can you correct this point?
Besides, when the user writes in the editor urls with '(' , ')' characters, we get a 404 , but if we access from navigator the url
works correctly.
Thanks

I just tried some test links and they all work fine for me:

Test link  with special characters -> http://example.com/?$filter=parentmasteragent=%JCL%
Test link with parentheses -> http://example.com/?caniuse=(parentheses)
Test link with parentheses & special characters -> http://example.com/?$filter=(parentmasteragent)=%JCL%

My best guess is that your CMS is sanitizing user input and removing or replacing characters in the links.

Yes, I agree with you if we remove satinaze option point number one works.
The problem with http://example.com/?caniuse=(parentheses) is that the last ) is removed, and this url works without ), and our url does not work without it.

I think you have "unbalanced" parentheses in your links, meaning no opening or closing parenthesis. This messes up the rendered link:

Link no parens -> http://example.com?parens=absent
Link with balanced parens -> http://example.com?parens=(balanced)
Link with unbalanced parens) -> http://example.com?parens=unbalanced)
[Link with unbalanced parens](http://example.com?parens=(unbalanced) -> http://example.com?parens=(unbalanced

Links with unbalanced parentheses or unbalanced square brackets will work if you enter them between < and > characters:

http://example.com?parens=unbalanced) -> <http://example.com?parens=unbalanced)>
http://example.com?parens=(unbalanced -> <http://example.com?parens=(unbalanced>

The parentheses and pointy/angle brackets can also be escaped with a backslash.

Links could be escaped if entered with the JS prompt (option promptURLs needs to be set to true).
The same applies to image links.
/**
 * Action for drawing a link.
 */
function drawLink(editor) {
    var cm = editor.codemirror;
    var stat = getState(cm);
    var options = editor.options;
    var url = 'https://';
    if (options.promptURLs) {
        url = prompt(options.promptTexts.link, 'https://');
        if (!url) {
            return false;
        }

        if (/[()<>]/.test(url)) url = escapeUrl(url);
    }
    _replaceSelection(cm, stat.link, options.insertTexts.link, url);
}

/**
 * Escape URLs to prevent breaking up rendered Markdown links
 * @param url {string} The url of the link or image
 */
function escapeUrl(url) {

    url = url.replace(/\(/g,'\\(')
             .replace(/\)/g,'\\)')
             .replace(/</g,'\\<')
             .replace(/>/g,'\\>');

    return url;
}

Good idea @Ionaru ?
By the way, I tried looping over an object but that didn't work out, hence the consecutive replaces.
Ofcourse people cannot be stopped entering URLs manually and forgetting to escape them, and the problem with unbalanced square brackets in the link text remains...

The first of the above two commits can be skipped/omitted.

I'm not sure if escaping is the right call here, sorry for the late reply.
Maybe we should encode them instead? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURI

Been thinking about that too but the question is whether encoded parentheses (%28 and %29) and angle brackets (%3C and %3E) are accepted/recognized by the CMS it's send to.
Only parentheses and angle brackets mess up link rendering., but it's just as simple a fix as escaping :)
Simpler yet because no extra function is needed.
if (/[()<>]/.test(url)) url = encodeURI(url);

Or create a new option where people can choose:

Keep the URL as is
Encode the URL
Escape the URL

transformURL: "encode|escape"

Parentheses aren't encoded... so the problem remains when encoding URLs

Or do both. First encoding and then escaping if parentheses are present:
url = encodeURI(url);
if (/[()]/.test(url)) url = escapeURI(url);

...

function escapeURI(url) {

    url = url.replace(/\(/g,'\\(').replace(/\)/g,'\\)');

    return url;
}

The last suggestion sounds good.

optional or automatic?

Automatic, I think an option is overkill.

Just did a PR #393


troubles with installing VS Code

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.82.0
OS Version: OS Name	Microsoft Windows 11 Enterprise, Version	10.0.22621 Build 22621

I have troubles installing VS Code on my device, when installing VS Code I get the error below. I ignore it multiple times and proceed and installation succeeds, but after a certain period (it varies from a few days after to a month after), I get the same error and need to install it again. Could you please help me fix this? I do not know if this error has other implications or not.

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!

I have updated to the newest version. Issue is still there. And now I actually get the error whenever I restart my device. Could you please help looking into it?
Kind regards,
Zahra
From: VSCode Triage Bot @.>
Sent: Thursday, 14 September 2023 14.21
To: microsoft/vscode @.>
Cc: Zahra Heidarnia @.>; Author @.>
Subject: Re: [microsoft/vscode] troubles with installing VS Code (Issue #193105)
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.82.1. Please try upgrading to the latest version and checking whether this issue remains.
Happy Coding!
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/193105#issuecomment-1719343173, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BCSM3OBQXE7WBQDP27IFZNTX2LZBFANCNFSM6AAAAAA4YAKHYE.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>

This user had success using the System Setup: https://github.com/microsoft/vscode/issues/56537#issuecomment-599840412
Can you try that?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!

I used the system installer, but the issue is still there. I really appreciate any feedback/input on this.
From: João Moreno @.>
Sent: Friday, 22 September 2023 11.28
To: microsoft/vscode @.>
Cc: Zahra Heidarnia @.>; Author @.>
Subject: Re: [microsoft/vscode] troubles with installing VS Code (Issue #193105)
This user had success using the System Setup: #56537 (comment)https://github.com/microsoft/vscode/issues/56537#issuecomment-599840412
Can you try that?
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/vscode/issues/193105#issuecomment-1731106503, or unsubscribehttps://github.com/notifications/unsubscribe-auth/BCSM3OAX53CEVKUFJ4Q3RLTX3VKY5ANCNFSM6AAAAAA4YAKHYE.
You are receiving this because you authored the thread.Message ID<EMAIL_ADDRESS>


Concerning register and replace functions and certain columns in the dataset table

Topics to be discussed:

Do we need replace_date and replace_uid given that, under normal circumstances, delete_date and delete_uid will have just been updated? How do the delete_ columns interact with is_overwritten?

We have to enforce suitable constraints in code on relative_path since we can't do it with database constraints.

Prefer not to halt user's execution due to minor database inconsistencies not having to do with the current process (as long as continuing is not going to compound the problem).

Do we need replace_date and replace_uid given that, under normal circumstances, delete_date and delete_uid will have just been updated?

Yes this is right, they are redundant, given we delete the dataset during replace. We can add another bit to the status field (going to valid, deleted, archived, replaced)?

How do the delete_ columns interact with is_overwritten?

Currently delete() only checks if the dataset is valid and not deleted, so will need to add a check to make sure its not also a replaced dataset. Is this what you mean?

We have to enforce suitable constraints in code on relative_path since we can't do it with database constraints.

Ok, a pre-register check on if the relative path is available, will do. To make things simple, if the auto generated relative path is not available (I find this hard to see happening), raise and error saying they have to chose a manual relative path?

Prefer not to halt user's execution due to minor database inconsistencies not having to do with the current process (as long as continuing is not going to compound the problem).

Not sure what you mean here

Currently delete() only checks if the dataset is valid and not deleted, so will need to add a check to make sure its not also a replaced dataset. Is this what you mean?
Yes, I guess so. The check is just against the value 1, I believe (valid and not archived and not deleted) so if we use another bit to mean replaced the check against 1 would still be correct, but not very clear what's going on.  We should give it a name (VALID_ONLY ?), meaning only the "valid" bit is set and everything else is clear, and compare against that.

Ok, a pre-register check on if the relative path is available, will do. To make things simple, if the auto generated relative path is not available (I find this hard to see happening), raise and error saying they have to chose a manual relative path?
Yes.

Prefer not to halt user's execution due to minor database inconsistencies not having to do with the current process (as long as continuing is not going to compound the problem).

In particular I was thinking of the error thrown when more than one previous dataset is discovered. That code is gone now, but the idea is still worth consideration.
If a user operation is about to fail because the database is in some unexpected state, it may be possible and desirable to proceed anyway.  Perhaps the database irregularity can be fixed by whatever detected it.  Or maybe it's harmless. Whether this is a good idea or not depends on how the unexpected state arose: if it's due to a bug or bad design this could prolong the process of finding and fixing it. So even if the code doesn't halt it should at least issue a warning message.

Started to address these in #142


Error: use of closed network connection

Today I started to receive these errors very randomly and not consistently
read tcp <IP_ADDRESS>:50842-><IP_ADDRESS>:3306: use of closed network connection\nio.ReadFull(header size) failed (errno 2013) (sqlstate HY000) during query: <OMITED>

We run both mysql and this in docker via compose
we haven't changed anything on our end, so I'm a bit surprised this started to happen. It might be unrelated, but I wanted to ask anyways if this could be an issue coming from ps-http-sim

I don't particularly see how, in theory I can have more robust connection handling to reconnect and whatnot, which is fair. But I don't know why the networking would break in this setup. I have very little experience with docker in general.

It was a long shot, I don't see any changes here that would've caused this, not did we change anything. I've been running this docker setup for months now and running tests suites against it frequently.
If this is not coming from ps-http-sim, then we can close it this

Ok, I see what's going on here.
So I can reproduce this based on the -mysql-idle-timeout flag. The logic here is pretty naive, but this timing by default is 10 seconds.
This logic is naive in that it starts the idle timeout when it's pulled from the connection pool. The timer is also reset after every query, so in practice I think this can only get hit if the actual running query takes longer than this idle timeout.
I see in your case, you have this set to 1s: https://github.com/unkeyed/unkey/blob/main/deployment/docker-compose.yaml#L27
So any query that executes for over 1 second is going to be prematurely cut off.
Let me refactor this logic a tad so the timer is stopped while a connection is in use.

Wanna try out v0.0.9? https://github.com/mattrobenolt/ps-http-sim/releases/tag/v0.0.9
I assume it'll work better for you. :)


Q. Can I use gmail.js in a firefox addon for gmail?

I have already used this cool script to create a gmail extension for chrome. I want to port that same feature to a firefox add-on for the gmail. Can I use this script as it is?

@KartikTalwar  Thanks for your reply. I have used it in firefox and it is working perfectly till now with my requirements. You may close this issue.

Anyone needed a starting point how to use gmail.js in firefox addon can check https://github.com/rinkudas/gmail-firefox-addon-boilerplate. It provides basic functionality to inject gmail.js within gmail for using in an addon.

@rinkudas thank you so much for actually getting this to work! If you'd like to make a pull request and add a link to your repo on the README, I'd be happy to merge it

It should work fine. I'm using it as we speak. :)
Closing.


Projects and "More" don't show a tooltip

The Projects and "More" dropdown in the main menu don't show a tooltip.

Not using the Semantic tooltips for those. It had rendering issues. We should stick to simple "title" tooltips.


set project purpose on project page

fixes #931.

I am stuck on this error where modal becomes null when trying to be closed.


Expose pinch-to-zoom from scroller

The scroll system supports it, so we should expose this through the scroll system.

Hello,
I know this is a very old issue but wonder if it's possible that a new update broke it on Android ? I'm testing a very simple code :
<ion-modal-view>
	<ion-scroll zooming="true" style="width: 100%; height: 100%;">
		<img ng-src="{{modalMediaThumb}}" class="maxPage" ng-if="modalMediaType == 1" />
	</ion-scroll>
</ion-modal-view>

And it doesn't allow zooming - pinching the screen don't do anything.

Any news for this zoom problem ? In ionic 1.3.1 it does not work

+1. Android zoom still does not work


isEmpty for String

Codecov Report

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

@@            Coverage Diff            @@
##            master      #126   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           20        20
  Lines          798       798
=========================================
  Hits           798       798

Impacted Files
Coverage Δ

x/isEmpty.js
100.00% <ø> (ø)

Continue to review full report at Codecov.

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

Welcome Frederic. LGTM


Manage or Delete your uploads

Would it be possible to add a view where you can see all of your uploads, with a button to delete them? I can think of a number of use cases where you would not want old uploads being available after a short period of time.

Yeah I think this is a feature Zulip should have.

To provide some notes for what'd be involved in adding this, currently Zulip doesn't actually store in its own database which files were uploaded by which users (instead the data is stored as metadata in S3).  So either we need to write code to query S3 for the metadata, or (likely simpler) have Zulip start storing the metadata in a new database table declared in models.py.
To start on this feature, one will probably want to start by setting up the Amazon S3 integration in their development environment, and then modify zerver/lib/upload.py to start recording the data needed for this.  Then we can work on adding the new view to display the uploads.

@timabbott
Currently zulip stores attachments without actually checking if they are being referenced in the message being sent(the sender can just remove the upload string after the upload). This will cause a major problem in implementing this. Ive made a PR to address this #584

Just a quick update on this issue, thanks to some great work by @rahuldeve, we now track all new uploaded files in the Attachment model in the database; so this project is now primarily one of building a UI for managing uploads...

hi
i've noticed that to create such UI I'll need to continue work on new popup settings interface.
from which branch can I checkout to use it?

Hmm, yeah, let me try to merge that branch as it'll make life easier here.

the timabbott/settings-redesign branch works.  It currently fails casper tests (needs changes to the tests) but is otherwise final; so just ignore casper tests for now.


Add dimension blacklist for clouds

What would be the purpose of this, vanilla already has a way of controlling clouds modders should just use that

clouds appears on galacticraft planets

That was meant by the mod author but I could add it


Killing Simulators accounts for Simulator.app-less booted Simulators.

Given that it will soon be possible to boot Simulators (and get a framebuffer #150) without a Simulator.app process, it's important that  FBSimulatorTerminationStrategy can account for this.
This change improves things in this regard:

Makes FBSimulatorTerminationStrategy a bit simpler and easier to comprehend
Documentation
Doesn't couple Application Termination to the Simulator.app, processes that are applications can get use NSWorkspace termination for free.
Fallback behaviour for NSWorkspace termination.
Separating the concerns of 'killing the Simulator.app' process vs. 'shutting down a Simulator'. This will be important in #150 as getting CoreSimulator into a stable state on launch may not require killing Simulator.app processes.

lgtm


[PipelineX](complex type pushdown) do not push down complex type to storage layer based on PR#25007

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Doc fix-ups for staged pass manager plugin

Summary
A few small tweaks to the staged pass manager documentation I thought might be worthwhile after following it to integrate qiskit-toqm in PR https://github.com/qiskit-toqm/qiskit-toqm/pull/30.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.001%) to 84.758%

Files with Coverage Reduction
New Missed Lines
%

qiskit/extensions/quantum_initializer/squ.py
2
79.78%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
61936

Relevant Lines:
73074

💛  - Coveralls


Feature/na 356 changes

Changes:

Removes all the svg files that are not from ikonate
Small changes in the css to account for change 1 upsetting some padding and margins
Remove the border on the right and left from the panel resolution table (the layer resolution table already had this)
Small refactor in CSS
More specific usage in CSS for the elements as they were bleeding through to main neuroglancer. Use :is for this, but open to suggestions.

For me, one change is not showing in the PR review, so just in case. I changed the div span... selector to use :is because they were bleeding through to regular neuroglancer div and span etc. elements without it. Let me know if you have another suggestion!
.neuroglancer-screenshot-overlay
  :is(
    div,
    span,
    a,
    img,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    p,
    form,
    input,
    textarea,
    select,
    strong,
    table,
    tr,
    td,
    th,
    tbody,
    button
  ) {
  box-sizing: border-box;
  outline: 0;
}


OWIN bridge doesn't pass it through the next guy and 404s

replace the default app on AppBuilder: https://github.com/aspnet-contrib/AspNet.Security.OpenIdConnect.Server/blob/vNext/samples/Mvc/Mvc.Server/Extensions/AppBuilderExtensions.cs#L66


accept strings or symbols as keys in opts hash

was confused for a while why specifying platforms manually wasn't
working before realizing that keys in the option hash needed to be
strings, and i was using the 2.0 hash literals. made a change here to
symbolize keys from metadata.json and in the opts being passed in so
either way can be used, enabling use of the new 2.0 hash literal format.
added a test using symbols instead of strings as keys in a hash passed
to on_supported_os.

Coverage increased (+0.6%) to 95.349% when pulling 5a58ae2641f5f89850c27e3e4d73d4118228ccb0 on pjjw:symbolize-json-keys into 026e8ef054b1e2053d6f690d7113a7e94863b546 on mcanevet:master.

@pjjw I think I we can close this one and keep only #32

@pjjw closed in favor of #32


Unable to download video

Checklist

[ x] I'm reporting a broken site support issue
[x ] I've verified that I'm running youtube-dl version 2021.12.17
[ x] I've checked that all provided URLs are alive and playable in a browser
[ x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ x] I've searched the bugtracker for similar bug reports including closed ones
[ x] I've read bugs section in FAQ

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'yuyV6G6atoQ']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: none
[debug] Proxy map: {}
[youtube] yuyV6G6atoQ: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 815, in wrapper
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 836, in __extract_info
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 534, in extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\youtube.py", line 1794, in _real_extract
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 1012, in _search_regex
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

WRITE DESCRIPTION HERE
Not sure why it can't download tbh

I'm having the same issue here.

Same issue here
Output from --verbose:
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=3qNtUVf__XU', '--verbose']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.9 (CPython) - Linux-6.1.14-1-lts-x86_64-with-glibc2.37
[debug] exe versions: ffmpeg 5.1.2, ffprobe 5.1.2
[debug] Proxy map: {}
[youtube] 3qNtUVf__XU: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 815, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 836, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 1794, in _real_extract
    'uploader_id': self._search_regex(r'/(?:channel|user)/([^/?&#]+)', owner_profile_url, 'uploader id') if owner_profile_url else None,
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 1012, in _search_regex
    raise RegexNotFoundError('Unable to extract %s' % _name)
youtube_dl.utils.RegexNotFoundError: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

I'm seeing the same error, I tried downgrading with same results

Same issue. Not happening on all videos, only specific ones. For example: https://www.youtube.com/watch?v=i9QFXBcrK58

Same issue with this short video, for debugging: https://www.youtube.com/watch?v=xYE-tm8UBSM

Same issue. Unable to extract uploader id; please report this issue on https://yt-dl.org/bug

Same, youtube may have block this so I hope this will get patch...

Read this before opening a new issue.

Known issues, fixed in git master code:

YouTube: Unable to extract uploader id

Ok, then this is a duplicate of issue #30839 See fix in the thread for that issue.


Existing let operator is not combined into the pipe operator

rxjs-tslint version 0.0.0
BEFORE
this.actions$
    .withLatestFrom(this.store$.select(getOrdersState))
    .let(effects.loadAllDataActionEffect);

AFTER
this.actions$
    .pipe(withLatestFrom(this.store$.select(getOrdersState)))
    .let(effects.loadAllDataActionEffect);

I would have expected that the let operator be merged with the pipe operator.
EXPECTED:
this.actions$
    .pipe(
      withLatestFrom(this.store$.select(getOrdersState)),
      effects.loadAllDataActionEffect);

This is a legit issue. cc/ @mgechev @igorminar


A few of the character were rigged in a-pose

Need to convert to t-pose for vrm.

set T pose ???
Check edit pose is T pose
Check vrm rigging
run SVD / 4 influences bone rigging corrector.

I think these are resolved.


VG-5103: New task parameter for permissions

Just updated. Please review. I tested this and when logged in as someone other than admin, I see the same behavior now as I would using the save search dialog with that user.

Codecov Report

Merging #88 into master will decrease coverage by -0.17%.
The diff coverage is 15.78%.

@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
- Coverage   79.75%   79.59%   -0.17%
==========================================
  Files         113      114       +1
  Lines        7455     7474      +19
  Branches     1098     1099       +1
==========================================
+ Hits         5946     5949       +3
- Misses       1509     1525      +16

Impacted Files
Coverage Δ

app/src/taskrunner/params/template-service.js
95.45% <100%> (+0.21%)
:white_check_mark:

app/src/taskrunner/params/permissions-param.js
5.88% <5.88%> (ø)

Continue to review full report at Codecov.

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


Documentation Request: Transfer Learning in TF 2 with same and/or different final layer

Please make sure that this is a documentation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:doc_template
System information

TensorFlow version: 2 alpha
Doc Link: N/A

Describe the documentation issue
Hello, I'm in the process of porting some of our existing TF 1.x based code to be ready for TF 2.0. This means we are trying to be focused around tf.keras, so I was hoping for an example of the best way to do transfer learning in tf.keras. Specifically, we have the following (I assume common) use case.

Train a model (say it's classification) with on dataset a, with 100 classes in the outputs.
Finetune the model on dataset b, using the same architecture, also with 100 classes.
Finetune the model on dataset c, which is the same except it has 50 classes, and thus the final layer has a different shape. So, we want to load all of the weights except the final layer,  and then train.

In TF 1.x, we used tf.estimator. For task 3, we would label the final layer with the name "final_layer", and then when warm-starting the models for finetuning, we would use the WarmstartSettings object to exclude weights that have final_layer in them. What is the equivalent for tf.keras in TF 2.x? Probably the cleanest way we could have the old functionality is if tf.keras.Model.load_weights had a regex field in the same form as WarmStartSettings, which only loaded a subset of variables.
Thanks!
We welcome contributions by users. Will you be able to update submit a PR (use the doc style guide) to fix the doc Issue?
I'm happy to write the docs if someone could give a high-level summary of how this is done. All the ways I've come up with are pretty jank, and I assume there is a better way to do this given how elegant it was in TF 1.X.

The easiest would be to collect the common layers in a single Model and save and load weights on that. While training each configuration (50 / 100 classes) you can save_weights and load_weights on the slightly larger Model which includes the common Model, but to make the transfer I'd use the common Model.
Does that make sense? So three Models, one common and one which includes it for each task. It should just work with current saving APIs.

Thanks very much for the help!
To clarify, are you suggesting something like this:
common_model = tf.keras.Model(..)
50_model = tf.Sequential([common_model, tf.keras.Dense(50)])
100_model = tf.Sequential([common_model, tf.keras.Dense(100)])

then, for example, I could train 100_model, and then save_weights on that.
When I want to train 50_model, would first running 50_model.load_weights on the exported weights from 100_model work? I would have guessed that would yell at me since the architectures are different. I'd like to use the SavedModel format for backwards compat with other stuff if possible.

Yep, those are the models I had in mind. Then if you use common_model.save_weights after training model_100, you can load it into a compatible common_model with common_model.load_weights when you want to train model_50. (Or if you can keep them both in the same program they'll naturally share weights.)
It's also possible to extract common_model's weights from model_100's checkpoint, by making a tf.Sequential([common_model]) and using load_weights on that. It'll ignore the weights from the missing final Dense, and then you can use common_model in model_50.
Not sure what you mean by the SavedModel comment. You can save in the TensorFlow checkpoint format from save_weights; that's the default as long as you don't use a .h5 suffix. You could also save a SavedModel for common_model and re-use that if you wanted.

Got it, that makes sense!
Is there any equivalent (or planned equivalent) to the regex-based selection system for loading weights as was the case in WarmstartSettings? That was very convenient since it let us train a model in 1 way, but then flexibly experiment with warmstarting different subsets of it.

No, I don't know of any plans for regex matching of variables. We don't use variable names to match checkpoints with variable objects in 2.x (except in Estimator), so it'd be a pretty weird API.
It's certainly possible to programatically filter weights like you describe, though. Just mirror the objects in the real model, attaching just the variable objects you want to load. There's some mention of this in the 2.x checkpoints guide. Without too much work you could wrap that in an API that takes regular expressions.

Got it, thanks.
OK, I like that idea. Could you just clarify what you mean by "mirror the objects in the real model"? My thinking is I have a model that's something like,
def build_model():
    return tf.keras.Sequential([
        Dense(10, input_shape=(50, ), activation="relu"),
        Dense(5, name="final_layer")
    ])

model = build_model()
model.fit(...)
model.save_weights(..)

Now, when I want to load just the weights associated with the first dense layer in the model, here is my thinking of how to do it:
model = build_model()
model_mirror = build_model()
model_mirror.load_weights(..)

for variable, mirrored_variable in zip(model.variables, model_mirror.variables):
    if regex_matches(variable.name):
        variable.assign(mirrored_variable.value())

Does that match what you were thinking?

That's better than what I was thinking. Eventually you should be able to do a traversal over the object graph and re-construct it with modifications. The problem is we don't yet have a public API for iterating over checkpoint dependencies with their names.
If we did, you could do something like this:
import tensorflow as tf

model = tf.keras.Sequential(
    [tf.keras.layers.Dense(5),
     tf.keras.layers.Dense(6),
     tf.keras.layers.Dense(7)])
model(tf.constant([[1.]]))  # create variables

def visit_and_filter(obj, substitute, variable_predicate):
  for k, v in obj._checkpoint_dependencies:
    if isinstance(v, tf.Variable):
      if variable_predicate(v):
        setattr(substitute, k, v)
    elif isinstance(v, tf.keras.layers.Layer):
      v_substitute = tf.keras.Model()
      setattr(substitute, k, v_substitute)
      visit_and_filter(v, v_substitute, variable_predicate)

mirrored = tf.keras.Model()
visit_and_filter(model, mirrored, lambda v: "bias" in v.name)

print([w.name for w in model.weights])
print([w.name for w in mirrored.weights])

Which works, but uses a non-stable/private API (_checkpoint_dependencies). I've considered adding a stable API for this in the past, but haven't gotten something everyone was happy with. dict or vars() doesn't really work because Sequential tracks things without assigning them to attributes; changing that would be another fix.
This would also let you filter whole Layer or Model objects, which might be neat. And if you filtered Layer objects instead of Variables directly, you wouldn't even need the model() call to create variables and could instead use restore-on-create.

Got it, this makes a lot of sense. OK thanks so much for the help!

@ankitvgupta Is this resolved? If yes, please close the issue. Thanks!

I think it was resolved. I am closing the issue. But, please let me know if I'm mistaken.


[REQUEST] Increase default terminal width in GitHub Actions

Have you checked the issues for a similar suggestions?
yes
How would you improve Rich?
Currently the terminal width is very narrow in github actions, making content, particuarly in tables hard to read, or missing completely.
Example: https://github.com/pydantic/pydantic-core/actions/runs/3933397938/jobs/6727055614

Would be great if rich could detect that it's being used in github actions and use a wider default width.

Otherwise/until this is changed, is there a env var I can see to increase the default?

(Comes from use of rich via pytest-pretty)

You can set the COLUMNS env var. There’s no other way for Rich to detect the width when not writing to a real tty

Increase it to what though? There’s no optional width for everyone. Any value I pick will be wrong for someone. And if I go down road route I’ll soon have a load of spaghetti logic to try and detect what CI system is in use.
I think think is best left to the user. Columns being a standard env var that might already be set.

I get that, but I think github actions is so widely used that something like
# GitHub Actions is extremely widely used, so we make an exception for it
# and increase the default terminal width
if os.getenv('GITHUB_ACTION'):
    default_columns = 120
else:
    default_columns = ...

Wouldn't be too crazy.
But I also understand if you don't want to.

For anyone else coming to this, adding the following the to the top level of your workflow file helps rich and also appears to help pytest.
env:
  COLUMNS: 120


There is no response after clicking the "Refresh" action in the context menu of resource group

OS: Win10
Build Version: 20220516.8
Regression: Not a regression
Repro Steps:

Make sure the resource groups by Resource Group -> Right click a resource group -> Refresh.
Check whether succeeds to execute the "Refresh" action.

Expect:
Succeed to execute the "Refresh" action.
Actual:
There is no response after clicking the "Refresh" action.

Fixed by https://github.com/microsoft/vscode-azureresourcegroups/pull/339


Bad zero-shot results on TVQA

Hi, I ran the zero-shot result on TVQA dataset with the given zero-shot checkpoint  frozenbilm.pth and the given TVQA video features clipvitl14.pth. I also used the microsoft/deberta-v2-xlarge checkpoint. However, I got the val acc 31.59 instead of the reported 59.7.

Are you loading the subtitles correctly? The text-only model with subtitles should already get better accuracy without further training. You may check that the perf looks ok on other datasets too.

Are you loading the subtitles correctly? The text-only model with subtitles should already get better accuracy without further training. You may check that the perf looks ok on other datasets too.

Thank you for your reply. I found that I loaded an empty subtitles. I used the dataset providers to download the subtitles and got an empty subtitle file. When I replace the subtitles to your given Google drive subtitles, I got the right results.


how to configure with CWL the total number of CPUs?

Hi Brad, I am just testing CWL and I do not get how to configure the total number of CPU for a run?
https://github.com/bcbio/test_bcbio_cwl/archive/master.tar.gz is also missing the index file for two bam file in the somatic test set (6_100326_FC6107FAAXX_2 and 6_100326_FC6107FAAXX). (just for your information)
bcbio_vm.py cwlrun cromwell somatic-workflow --no-container -s lsf -q cpuqueue -n 12
usage: bcbio_vm.py [-h] [--datadir DATADIR]
                   {template,cwl,cwlrun,install,upgrade,run,ipython,ipythonprep,runfn,devel,aws,elasticluster,graph,saveconfig}
                   ...
bcbio_vm.py: error: unrecognized arguments: -n 12

Alessando;
Thanks much for testing this out. CWL and Cromwell runs don't have the same idea of limiting total cores because the run approach is different. The main runner dispatches jobs as they're available and then lets the scheduler decide on allocating them from the queue according to the resources. Cromwell does have a configuration parameter, concurrent-job-limit we could use to limit total jobs submitted concurrently, rather than cores, if this approach becomes a problem. It would be useful to know how the approach of just submitting jobs and letting the scheduler handle it works for you, and then determine how best to limit jobs if it causes issues. Thanks much for starting this discussion.


didExceedMaxLines in TextPainter works wrong with latest web version

I use the "auto_size_text" library on the web platform and it doesn't work correctly (everything is fine on the mobile platform).
I decided to find out what the problem is, and I realized that didExceedMaxLines always returns false, and because of this does not work out the condition in the library

Hi @nikpozdnyakov,
auto_size_text is a 3rd party plugin. Please consider logging this issue in their repo : https://github.com/leisim/auto_size_text/issues
Closing. as this isn't an issue with Flutter.

the fact that a third-party library does not work due to the fact that the flutter in the web version does not work correctly didExceedMaxLines in TextPainter
That's why I wrote here.

@darshankawar

@nikpozdnyakov fair point. reopening.

@nikpozdnyakov I see there's now a new open issue without using the 3rd party plugin, 65940. Please follow-up there for updates.
Closing this as duplicate.


Find how to avoid "No auto configuration classes found in META-INF/spring.factories" error in IntelliJ IDEA

Seems to happen when:

Both main and test generated sources/resources/classes are present in Maven projects
The app is ran without -DspringAot=true

Based on my test with IDEA 2021.3, when I run CommandLineRunnerApplication in the commandlinerunner sample, ClassUtils.isPresent("org.springframework.aot.TestContextBootstrapInitializer", null) return true, leading to AotModeDetector#isRunningAotTests returning true as well and triggering the wrong codepath in SpringFactoriesLoader#loadFactories.
Even ClassUtils.isPresent("org.junit.jupiter.api.Test", null) return true so it seems test and main classpath are mixed. Not sure how yet of the scope of this issue.

If the test classpath is present when running a main app, this is a bug that should be reported to Jetbrains.

I can't reproduce anymore, I updated IDEA in the meantime, so maybe that was indeed just an IDEA bug.

I continue to happen in IDEA, that's really and IDEA bug, but I have find a nice way to avoid it.


Replace animal-sniffer plugin with Javac "--release" flag

Copied from the animal-sniffer Github page:

Please note this plugin is now in maintenance level as the exact same feature can be now easily achieved using the --release flag from Javac see (https://openjdk.java.net/jeps/247)

This project uses an extension for animal-sniffer to support Android. The Android SDK doesn't implement the full functionality of the the JDK at the same release level, so the plain ole -release flag isn't enough to ensure we have Android compatibility.

See here for more information:
https://github.com/open-toast/gummy-bears?tab=readme-ov-file#android


only enable cookie based session state when request path match

Commit Message: only enable cookie based session state when request path match
Additional Description:
To address #19655
Risk Level: Low.
Testing: Add.
Docs Changes: N/A.
Release Notes: N/A.
Platform Specific Features: N/A.

cc @howardjohn

/assign @dio

Hi, here is a minor opt/fix for stateful session. Can you take a quick look when you have free time @dio 😄

Ping @dio, I think this one is waiting for a review

Hi, @dio can you give a review when you have free time? 😄
Because here are some minor behaviour changes, may a change log is needed after your reivew.

friendly ping @dio PTAL

@dio gentle ping

@dio appears to be unresponsive. @zuercher, can you review, please?

/assign @zuercher

Hi, @zuercher could we merge this PR? Otherwise it often conflicts with other PRs. 🤣


Git Fatal error: File outside repository

VSCode Version: 1.46.1
OS Version: Windows_NT x64 10.0.19041

Steps to Reproduce:

Setup git with core.ignorecase = false
try to add a file where the full-path has mixed case
See error

Does this issue occur when all extensions are disabled?: Yes/No
Yes (technically it is a git issue)
Suggested remediation:

You could let people know, in more human terms that this is a git config issue, and that core.ignorecase = true in a .gitattributes or global config will overcome the error surfaced via vscode.
You could use the relative path to the file from the workspace. In my case my repository only contains lower-case files, so using relative path, git has no issues.

This IS a resolution rather than closing of locked #88890
this IS NOT a duplicate of #41246 or #85666 which are entirely separate

@Lewiscowles1986 what is the version number of your local Git? There have been several similar issues opened lately that got resolved by a Git update.

$ git --version
git version 2.9.0.windows.1

I'll try with 2.27.0 64-bit (I'm on 64-bit Windows 10 when experiencing. No issues on Linux or Mac)

can confirm that newer Git does not have the issue... My bad. Closing
$ git --version
git version 2.27.0.windows.1

On a side not I had vscode git path configured to point to a different version of git that the one used globally (e.g. in the terminal).
In that case, make sure the user setting "git.path": "... is pointing to the proper git version


View and ViewModel caching option in router

Currently, the aurelia router always re-create ViewModel and View when navigated. There doesn't seem to be an option in the router to cache the ViewModel and its associated View, avoiding them to be re-created in subsequent navigation. The benefit of caching is obvious: better user experience. It's also a common implementation used by top commercial apps, including iCloud.
Regarding experience, let's use iCloud as reference. Goto Mail, scroll down a few times, select a message. Now navigate to Contacts. Go back to Mail again, notice that everything is beautifully persisted. Aurelia router already have powerful capabilities, so I'd like to see caching options available, so achieving such experience will be a piece of cake.
Regarding the implementation, that won't be too hard. During swap, instead of replacing the old DOM with new one, we can store the old DOM and the respective ViewModel to a hidden container, or perhaps in-memory array. In subsequent navigation, if the View/VM already available, simply pick it up. In this case, I expect only activate cycle will be called, allowing me to perform additional operation in "re-entrance".

+1
it's tedious to recreate viewstate by code all the time
i've commented already on https://github.com/aurelia/router/issues/170
basically i would like to see a "cache" parameter on the route config

Agree. The navigation caching is a standard feature in most app framework. This should be a top priority for Aurelia team, quoting the aurelia mission to be "strongly focused on developer experience".

It is planned. If you want, you can implement it now yourself. What you would need to do is create your own version of the router-view element that caches and re-uses view instances. We will build that in though.

Sounds good. I'll prefer to wait then. It'll be great to see this implemented before beta though. Thanks!

@jimmyps Note that half of this is readily available. Put @singleton(false) on your viewmodel and it's re-used.
This at least persists and restores your VM state, but the other half (View reuse) is stil required because not all the UI state is in your VM... I give sample use cases in #21

Thanks @jods4 for the update. Since the view caching is my primary concern, I'll be looking forward to it and give it a spin once it's available. Is it currently in progress? Any ETA yet?

With respect to the view cache...no "official" work has been done yet. However, as part of some work for a customer, I built a floating window system on top of the router. So, when routes were re-visited it would use the existing view and view model (and simply  bring the window to front) rather than re-create them. That work will help in implementing the router-view's caching implementation.
There are a few other high priority issues that need to come first, but this is still planned and that bit of very specific work has some general code that will likely make implementing this much faster.

Thanks for the insight @EisenbergEffect. No worries, just take your time to proceed with other higher priorities for now. It'll be great if the view cache can make its way sometime after the beta, or possibly before the RTM.

Will some form of offline (aka web storage) technology be implemented?

just loud thinking:
maybe we can just use browser history instead of view restoring
history.go(number|URL)

Any progress on this @EisenbergEffect ? I'm trying to build an "admin" style application. There's a main router on "app" linking to "login", "register" and "shell". "shell" in turn has a child router, with all the application's menu items in the sidebar (think WordPress's admin app). I'm desperately trying to find a way to reuse the Views and ViewModels inside the child router, its where the complexity and UX lies. I also attempted to eliminate the child router and use two view ports, but to be able to utilize this approach, I would need to only link to either the link on the "app"'s , or the "shell"s . Aurelia doesn't allow this, it seems I have to use both for each route.

You can implement it yourself. There's no need to wait on us. The router-view can be replaced with your own custom element. If you can't wait for us, I recommend you copy/paste the source code of our router-view into your own project, rename the custom element and implement the caching behavior that you desire. The router  knows how to communicate with any custom element that registers itself as a view port with the router and that implements the proper interface. It was designed this way so that developers could extend the system in this way.

Ok, thanks will take a look at router-view and give it a go.

Just to add my 5 cents on this topic I'd expect a similar behavior than in xaml PRISM framework.
Each UI region (a router view in aurelia) keeps a list of View/ViewModels that have been activated. Each time a view is navigated to it checks if any of the cached views has the same ID (route). If so, it calls a method on the view/view-model canNavigateTo, this way every view/view-model can decide if it can be recycled or a new instance must be created. In addition, PRISM implements a mechanism to handle view life time in order to control when views must be removed from the region's list.
I like this way of handling views although I suspect it's no so easy i. html than in xaml to keep views alive in memory disconnected of the visual tree.

a couple more cents to add :smile:
@Alxandr gave me a solution a long time ago:

add a custom element, resource-pooled to the view's template

in the resource-pooled custom element custom element, implement bind and unbind methods

in the resource-pool service, implement get and free methods

ping @EisenbergEffect

@cmichaelgraham I think the issue here is not Resource pooling but View caching. At least I understood it differently. Notice how the OP wrote:

Go back to Mail again, notice that everything is beautifully persisted

Currently the problem with back navigation in Aurelia is that there's no way to restore any state that is not bound to a singleton ViewModel. Binding all state is tedious and useless. Typical state that you would not bind but can expect to persist: scrollbar positions, active tab in a tabcontrol, maybe focus, etc.
I see that your code uses the view url as pool name, which should make it unique and implies you will get back the same (===) view instance when you get back. A few comments on that design:

Using a resource pool to cache singletons is a waste of resources... you don't need to store a dictionary of lists if you're only going to store a single instance.
If you expose a generic Resource pool kind of API, it would be nice if it was a little more fully featured. In particular a way to decrease pool sizes (e.g. back pressure or MRU) would be nice.
Reusing the view instance is required, but I'm not sure if it is sufficient to solve the problem. From what I see in your code, all lifecycle events will run when the view is unloaded (resp. loaded again). Isn't doing that going to destroy UI state?

I'd just like to note that the resource-pool mentioned was done by me as a proof of concept. It has basically no features, and was just a test to see mainly if it could be done.

I should have mentioned that @Alxandr work was a Poc.  Also @jods4 I appreciate your input.  I may have misunderstood the original ask.
i'm trying to figure out a clean way to make this globe from esri maintain its state when you navigate away and back.  it definitely falls outside the normal view case...
http://cmichaelgraham.github.io/skel-nav-esri4-vs-ts/index-release.html#/esri-globe

@cmichaelgraham I don't know how you did it, but it seems to work ;) When I go back the globe is at the exact same position!
I think using 3rd party plugins (e.g. jQuery plugins) that were wrapped into a custom attribute or custom element is the perfect example where you don't control the complete UI state and need a very special solution if you want to restore the view exactly as it was before.

I need multiple instances of the same viewModel class to be active at the same time (I have a tree view on the left side of the screen and as I click the node in the treeview the right side is populated with data. Every node has it's own instance of viewModel)
I copied routerView element and changed process method to read the viewModel from cache (based on the route fragment). This works but it feels like it's the wrong place to do it because aurelia creates the viewModel somewhere before the process method and then if I have a viewModel in the cache I discard the created view model. (This works because I have registered my view models as transient).
I would like to read my cache (based on the route fragment) before Aurelia creates the view model and if the view model exists in the cache pass that down the pipeline.
Is that even possible? Were is the best place to do it?

You would need to implement your own RouteLoader as well. It's another extensibility point. You can look at the default implementation. It's also in the templating-router repo. Once you implement your own, you would need to register it in the root DI container. aurelia.registerSingleton(RouteLoader, CustomRouterLoader)

Thank you. It works great. I really enjoy working with Aurelia.
Is there any way to skip Activate pipeline step. I have tried implementing
determineActivationStrategy in my VM like this
determineActivationStrategy() {
  return activationStrategy.noChange;
}

but that method was never called. So I looked through the source code and found that this always overrides my strategy (in router, class BuildNavigationPlanStep)
if (prevViewPortInstruction.moduleId !== nextViewPortConfig.moduleId) {
        viewPortPlan.strategy = activationStrategy.replace;

Is there any way I could skip activate method on VM?
The idea is to call activate method once the VM is first instantiated, and skip it if the VM is found in cache?

You can always implement a simpel isActivated boolean value guard internally.

@EisenbergEffect In the same vein of what @rborosak asked, but opposite:
Is there a way to instantiate a fresh VM when navigating to the current route again? Is there even a way to detect that?
Scenario is a "New item" form that gets invoked from a menu entry. When clicking the shortcut again, it would be nice if the current form was dismissed and a brand new one shows up. Obviously the route doesn't change...

Yes, 7use determineActivationStrategy There should be notes on that in the cheat sheet.

I have exactly the same question / need as @jods4. I've got a "users" route (list of users) and a "users/add" route (to add a user). If I add a user and navigate back to the list and then navigate to "users/add" again, the previous values are populated.
I've added the determineActivationStrategy() as suggested in the cheat sheet, but that never fires on my "users/add" VM. Feels like there's something fundamental that is wrong or that I'm interpreting / implementing incorrectly.
Could this be as a result of the view being cached and its "bound" values are pulling through to the VM? Or is the VM (as well as the V) possibly cached in a way that I'm not aware of? I've played around with @transient as well, if I add it to the "users/add" VM, the route never fires.

@stefan505 You have something else going wrong. If you navigate back and then you navigate to a new route, you will get new instances unless you changed something somewhere explicitly. I'm going to take a wild guess here.. are you trying to inject User into your VM? If so, that's getting registered as a singelton and you are getting the same user instance even though you are getting a different view model instance. In general, you don't want to use DI with model objects. That's just a guess. I'd need a lot more info to figure out what your issue is.

@EisenbergEffect, you are right, something else is going wrong, but I found the problem.
I'm navigating from "users" to "users/add", then back to "users" then back "users/add" again. After testing all DI components one-by-one (i.e. one at a time trial-and-error), I found the error within aurelia-validation:
@ensure(function (it: ValidationGroup) { it.isNotEmpty().isEmail() })    <------------
    public email: string;

The @ensure decorator is somehow causing my VM data to be "cached" incorrectly. If I Uncomment / remove that, I get a new instance every time as expected. Note, I was participating this thread: https://github.com/aurelia/validation/issues/216 where I'm using validationGroup = validation.on(MyClass.prototype) to get the property decorators to work.

@PWKad I suspect that something strange is going on with the way metadata and  instance values are stored. I think @stefan505 may be right about the connection to the other issue.

@EisenbergEffect How would you put the cache on the history, in order to replicate the behavior of a Navigation View in iOS or Android? New view going forward, popping the view cache going backward.
I may be wrong but it seems you don't have that kind of info in the router-loader.loadRoute() nor the route-view.process().
Are those kind of features already planned? You sure need those for Aurelia-Interface.

We are experimenting with the best way to handle this in Aurelia Interface. Any improvements we make as part of that process will be migrated back to the APIs you mention above.

This would be a great enhancement! I think it is kind of expected in a SPA to find at the same state you left a certain view(-model); isn't that the definition of singleton, btw? As far as I understand all VM are singletons by default, then why are they recreated every time? I tried with @singleton(false) as suggested, but my route hierarchy somehow screwed up…

The view models used in navigation are singletons per the request scope, not for the application. If you need an app-wide singleton you would hadd @singleton() to the view model. That would not cause the view to be cached though. That only affects the view model. Views will still be created and destroyed.
We're investigating enhancements to the route loading and view creation for navigation scenarios that would enable developers to control this more. We're testing it out first in AI. When we get something we think we like and is robust enough, we will fold it back into the core.

Thank you @EisenbergEffect for the explanation, this might not be the right thread for me since I don't really need view caching, I'd just like to reuse the state of a previous instantiated VM for a specific route; i.e. navigating this path /res => /res/123 => /res using the same instance of the VM for /res in steps 1 and 3. I tried with @singleton on the VM, but then I get this error:
ERROR [app-router] Error: Error invoking . Check the inner error for details.
------------------------------------------------
inner error: TypeError: Cannot read property 'hasOwnProperty' of undefined
    at Object.Reflect.defineMetadata (https://local.best.saiv.it:9001/jspm/npm/aurelia-polyfills@1.0.0-beta.1.0.6/aurelia-polyfills.js:750:37)

That sounnds like a bug. Please create an issue on the aurelia-polyfills repo and attach a zip containing the source for a simple reproduction on top of the nav skeleton.

Opened https://github.com/aurelia/polyfills/issues/17. No zip needed I think, since the bug triggers just adding @singleton to e.g. users.js in the nav skeleton! I'll track the issue there. Thank  you!

@EisenbergEffect - I really need to have my ViewModel be reused.  I thought that I would roll-my-own as that is the solution you recommended for this 10 months ago (and from what I can see is still the recommended solution).
So I found the router-view.js file and I put it in project.  I changed the name of the class to CachingRouterView and the name of the element to @customElement('caching-router-view').
I then when to my app.html and swapped out <router-view></router-view> for  <caching-router-view></caching-router-view>.
I was hopping that would give me a starting point to start playing with caching.  But when tested it by switching "screens", each of my views would paint over each other.  As I navigated back and forth, the elements would paint further and further down the window (still leaving the previous elements on the screen).
What more do I need to do to get setup to start working on a feature to keep my screens around?

I just want to say +1 on this feature request.  I think this should be considered a "core" feature that should have been done a while ago.
I have been trying to make it myself and it is hard for someone not familiar with the internals of Aurelia.

@Vaccano  Just follow what @EisenbergEffect  suggested. I'm a total JS noob and I got it working so I believe anyone can.
I have created my own RouteLoader implementation where I read my view model from cache (if it exists) and pass it down the pipeline.
I have also created my ViewFactory that loads my view from cache.
If you need help I'll provide a code sample.

@rborosak I would LOVE a code sample.  I am am not doing to well on this one.

@rborosak if it too much to post, you could put it on a gist  or email it to me at<EMAIL_ADDRESS>

Here is a link. That works for me, but as I said I'm a JS noob so it might not be the best solution :)
https://gist.github.com/rborosak/dc505e32a672e60c061dccd048767a98

@rborosak  Thank You!  I will give it a look.

@rborosak That was really good stuff!  Thanks!
Would you be willing to show where/how you plugged into the ViewFactory?

Here it is, but I'm not sure if it works. I think there is some problem with should invalid data (red square around invalid text boxes) with cached view so I'm not using view caching. I always create a new. Although I wasn't using the new version of aurelia validation.
https://gist.github.com/rborosak/265ece1aee0628219af0566fb552d721

I'm also interested in this feature. In the mean time I'm developing hybrid mobile apps with ionic, but I plan to start with Aurelia as I think it's the better javascript framework . Ionic implement this feature out the box. From ionic docs:

By default, views are cached to improve performance. When a view is navigated away from, its element is left in the DOM, and its scope is disconnected from the $watch cycle. When navigating to a view that is already cached, its scope is then reconnected, and the existing element that was left in the DOM becomes the active view. This also allows for the scroll position of previous views to be maintained.

@jesuslpm I implemented a navigation-view for that reason:
https://gist.github.com/Scapal/20518b932c4c8e3c1940
Demo:
https://gist.github.com/Scapal/27e46dd56fb48f5b02aa725ac04b26ca

@Scapal Great!! Thanks!!

@EisenbergEffect - You mentioned this was coming with Aurelia Interface. But now that project is "dead".
Is this feature dead too?
I ask because getting something working here is not too hard, but getting it working well with the router is hard.
And really is something I am supprised is not just "baked in".

There's already work being done for this. There are two PRs being worked on by @jdanyow for this.

@EisenbergEffect This new feature is in progress? #425 looks like in suspended.

Jeremy just moved across the country and took a new job. So, that has slowed down his contributions while he's been making the transition.

@jdanyow @EisenbergEffect I have been working on this in my code for days.  It is a very hard problem to solve.
The problem is that if you just cache the view that is the routed view you get issues with custom elements that you have composed on to the "parent" view.  I have found a way to iterate down the tree of custom elements and custom attributes.
But there is a MAJOR hang up.  Items that use Aurelia's repeater don't show like normal composed custom elements.  When I get to the repeat I just get a controller that is a "Repeat" controller, and it does not have a view that would let me know what controllers it has in it.
Since this feature is on hold for now, could someone give me a hint on how to get to the "views" in a Repeat controller?
In case it is useful, here is my overridden router view (CachedRouterView) that is trying to dig into the sub elements.  Most of the relevant stuff starts with the call to "disableStartupMethodsForControllerChildern".

@Vaccano You can get the views from the viewModel on the controller. I do think @jdanyow is going to pick this back up soon though and try to finish it out. Hopefully the two of you can talk shop a bit so he can understand the challenges you are facing.

@EisenbergEffect  @jdanyow  - I am about to start a significant overhaul on my application to work around this issue.  I have spend significant amounts of time trying to "roll my own" on this and, while it may seem easy on the surface, significant knowledge of the inner working of Aurelia is needed to even get close.
I am planning split all my View Models (just under 20) and store all of the things that should be remembered between tab switches in external classes.  My hope is that I can get the correct instance of these classes each time a new view model is made by Aurelia.  The Aurelia view models will end up just performing Aurelia events/logic updates to the "real" view models.
I don't want to do this, but I keep having too many bugs that come down to this functionality/issue.
Before I  make this change, I just want to make sure that there is not hidden development that has been going on for this issue (where I could expect an update soon).  (I am guessing not, since this has been open for 1 3/4 years.)

I haven't had time to get back to this yet. I'd say your plan is a good approach either way.

Does anyone know what the status of this as a built-in feature happens to be?

Originally, this was funded by a company specifically, but they decided to focus their funding in other areas. As a result, at the time, the work on this stopped. The core team is not actively investing in this above other areas of the router right now. We're always open to community contributions. As an alternative, you may want to consider using a portal to cache heavy screen components outside of the core view for certain routes. @bigopon has written a portal plugin for Aurelia and may have some thoughts on this.

Note that the router can treat VMs as singletons to cache those. You can also implement getViewStrategy on your VM instance along with creating a custom ViewStrategy/ViewFactory to enable caching of the view. That's been possible since the beginning, more or less. You could create a ViewStrategy that wraps one of the built-in strategies and just returns a factory that wraps the default factory, but that caches the view instance and always returns the same instance after creation. I've never tried it but it should work, in theory.

Thanks for the detailed and upfront guidance. 😊

@jfstephe - just a word of warning. I tried to implement this. It looks as if is should work, but there are problems that cannot be resolved once you get into the details.
See my post above for how I worked around this. What I did was a lot more work, but it functioned perfectly.

@CedusJenkins @jfstephe Would https://github.com/aurelia/router/pull/538 work for your use cases?

@jwx - It sounds like it thanks.


Ensure supported flags are resolved before compilation starts.

This removes all shared mutable state from the actual process of compilation, and sequentializes some operations that can otherwise be nondeterministic because of TOCTTOU. Fixes #303.

Thanks! I agree with @SimonSapin though in that this unfortunately is a breaking change, but perhaps some Mutex-like synchronization could be helpful to resolve the flags up front and then use them afterwards?

Closing in favour of #306.


climacell API  added

🎯 Title and Issue Number

Closes #404

🗒 Checklist:

[X] I have mentioned the issue number in my Pull Request.
[X]  I have gone through rules of when PR will get merged.
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have created a helpful and easy to understand README.md
[X] I have followed proper file structure.
[X] I have gone through CONTRIBUTING GUIDELINES.md.

Thank you for contributing!❤
Don't forget to show some love by ⭐ the repository!

pls review this pr

add readme

hey @Kritika30032002
made required changes pls review


WSL version 2 Stopped Working

I'm running Windows 10 version 2004 (build 19041.508) under Bootcamp on my Macbook Pro version 11,1 (late 2013).  I have WSL 2 installed, along with the required kernel upgrade.  My debian WSL 2 instance had been working until I tried to start it up today and now it fails, saying:
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/wsl2-install
msinfo32 reports that "Hyper-V Virtualization Enabled in Firmware" is "No."  However, if that is the case, how was it ever working?
This is incredibly frustrating because it was working.  Has anyone had any issue with this occurring?
Thank you!

I am closing this issue.  Apparently, all I had to do to make MS Windows happy about Hyper-V Virtualization being enabled in firmware was to reboot to Mac OS and then reboot into Windows.  No idea why, but that's what fixed it for me.  WSL 2 working properly now.

I appear to be having this issue... what is it that you had to do on both sides? I'm not following.

I appear to be having this issue... what is it that you had to do on both sides? I'm not following.

Wow. It literally was boot in / out of macos again. I did go through the install steps again... Was not expecting things to be this simple after some of the Bootcamp battles I've had.


feat: Add nox support

Adopt the use of nox as a workflow runner and add a noxfile.py to provide nox "sessions" that allow for OS agnostic execution of scripted workflows. nox comes to me from introduction by @henryiii and I view it as much nicer replacement to Makefile driven tasks that makes it super simple to get people onboarded into a developer environment with just a python -m pip install nox and then to run the tests it is as easy as nox -s tests.
The reason I'm adding it here now is to make it very easy to build the docs across OSes when the docs workflow is added next (which will add nox -s docs).

Update .flake8 config.

Use 'extend-ignore' option to compliment command line ignores.
Use 'exclude' pattern to get most common files and tests.

@gordonwatts This is ready for review but should follow PR #247.

How do you integrated nox into your vscode workflow?

I used the tests built-in integration so I can quickly debug a test or see the errors associated with that text inline with the editor.


Update GitHub Actions CI

The following updates are performed:

update actions/checkout to v4
replace unmaintained actions-rs/toolchain by dtolnay/rust-toolchain

Still using the outdated / unmaintained actions will generate several warnings in CI runs, for example in https://github.com/rust-lang/pkg-config-rs/actions/runs/7556790008:

The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

The PR will get rid of those warnings.

Thanks!


Bypassing validation by spoofing array input with input name containing dot

Let's assume you have input
<input type="text" name="product[name]">
and you have the following code in your controller to validate it and save to db
$this->validate($request, ['product.name' => 'required']);

Product::create([name => $request->input('product.name']);

By changing input name from "product[name]" to "product.name" attacker can save NULL value to db, as $request->input('product.name'] returns NULL for input named "product.name".

But null won't pass the required validation rule, no?

Could'nt reproduce this with
$this->validate($request, ['product.name' => 'required']);

Also tried:
        $validator = \Validator::make($request->all(), [
            'product.name' => 'required',
        ]);

        if ($validator->fails()) {
            dd('fails');
        }

        dd($request->input('product.name').' passes');

Test results:
//As form-data

product[name] => 14
"14 passes"

product.name => 15
"fails"

product.name => 15
product[name] => 14
"14 passes"

product.name => null
product[name] => 14
"14 passes"

product[name] => 14
product.name => 15
"14 passes"

product[name] => 14
product.name => null
"14 passes"

product[name] => null
product.name => null
"fails"

product.name => null
product[name] => null
"fails"

If som1 could reproduce this please share an example, looks like input as well as the validator does'nt even read the field sent as product.name, this way it does'nt passes the validation...

Seems to be impossible to recreate this issue with regular html form, as PHP server by default converts dots and spaces in variable names to underscores, and it seems like Laravel relies on this feature. But with an "application/json" request type it is possible to bypass this conversion and present Validator with an input containing a dot in a name, which will pass validation. The following code returns "true":
$validator = Validator::make(
    ['product.name' => 'somevalue'],
    ['product.name' => 'required']
);
dd($validator->passes());

To recreate live scenario:
Add validator to your controller
$this->validate($request, [
	'product.name' => 'required',
]);
dd('passes, and product name is ', $request->input('product.name') );

Send ajax "application/json" request with e.g. jQuery ajax:
	$.ajax({
		beforeSend: function (xhr) {
			xhr.setRequestHeader("X-XSRF-TOKEN", 'YOUR LARAVEL TOKEN ENCRYPTED')
		},
		method: "POST",
		url: 'http://yoursite.com/path_to_controller_route',
		contentType: 'application/json',
		data: '{"product.name":"any value here only to pass the required rule"}'
	})

You will get:
"passes, and product name is " null

@denho
Confirmed, passes with this:
"application/json"
{"product.name":"any value here only to pass the required rule"}

"passes, and product name is "
null

This issue doesn't exist anymore in laravel 5.3, we replace the dot in attribute names with -> before starting any check.


fix permissions for directories before starting ES

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Add custom string to head

Could you elaborate on the use case you are looking for?  Do you have an example?  Thanks.

We could allow this, but I'd like to understand the use case to put in some validation to make debugging easier for people using it.


[MINOR][Documentation] Mention that short names can be used in data sources not only for built-in sources

What changes were proposed in this pull request?
This PR proposes to fix the documentation in order to mention the short names can be used for other external data sources as well (not only built-in ones).
How was this patch tested?
Manually built the docs.
Before

After

Please let me cc @weiqingy and @rxin as we talk about this.

Test build #67158 has started for PR 15540 at commit 0945a7a.

Test build #67158 has finished for PR 15540 at commit 0945a7a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/67158/
Test PASSed.


Provide a secure GitOps Way to provide the token

Currently it's not possible to commit the Chart + Configuration in a GitOps way, was the Token is part of the values and not referenced from a secret.
Example for ArgoCD
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: traefik-hub
  namespace: argocd
  finalizers:
    - resources-finalizer.argocd.argoproj.io # cascade on delete
  annotations:
    argocd.argoproj.io/sync-wave: "0"
spec:
  project: traefik-hub
  source:
    repoURL: 'https://helm.traefik.io/hub'
    chart: hub-agent
    targetRevision:  1.0.0
    helm:
      values: |
        token: "plop"
  destination:
    server: https://kubernetes.default.svc
    namespace: traefik-hub
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

Hi @rowi1de, thanks for raising this! This feature has been added as part of #66

@charlie-haley thanks for implementing 🙏🏻


Object.entries doesn't exist in older browsers

Version
5.0.6
Browser and OS info
Chrome 51/Windows 7
Steps to reproduce
Turned on Chrome extensions
Choose Vue panel in development panel
Choose any component in list
What is expected?
Expected to work
What is actually happening?
backend.js:1982 Uncaught TypeError: Object.entries is not a function

Polyfill should be added for Object.entries

how to resolve this problem？

Use polyfill somehow: https://github.com/tc39/proposal-object-values-entries