Variable number of arguments are used in the constructor only when a data type contains single array only, but not when a data type contains 2 or more field

Sample fpp:
namespace App\Model\Job\Action {
    marker JobUpdateAction;
    data ChangeJobSamplePictures: JobUpdateAction = ChangeJobSamplePictures { string[] $samplePictures } deriving (FromArray, ToArray);
}

This generates a PHP class that takes variable number of string arguments. fromArray() method won't work in this case because it just passes array without PHP's ...$array syntax.
<?php

// this file is auto-generated by prolic/fpp
// don't edit this file manually

declare(strict_types=1);

namespace App\Model\Job\Action;

final class ChangeJobSamplePictures implements \App\Model\Job\Action\JobUpdateAction
{
    private $samplePictures;

    public function __construct(string ...$samplePictures)
    {
        $this->samplePictures = $samplePictures;
    }

    public function samplePictures(): array
    {
        return $this->samplePictures;
    }

    public function withSamplePictures(array $samplePictures): ChangeJobSamplePictures
    {
        return new self(...$samplePictures);
    }

    public static function fromArray(array $data): ChangeJobSamplePictures
    {
        if (! isset($data['samplePictures']) || ! \is_array($data['samplePictures'])) {
            throw new \InvalidArgumentException("Key 'samplePictures' is missing in data array or is not an array");
        }

        foreach ($data['samplePictures'] as $__value) {
            if (! \is_string($__value)) {
                throw new \InvalidArgumentException("Value for 'samplePictures' in data array is not an array of string");
            }

            $samplePictures[] = $__value;
        }

        return new self($samplePictures);
    }

    public function toArray(): array
    {
        return [
            'samplePictures' => $this->samplePictures,
        ];
    }
}

If data type in the fpp contains 2 fields or more, it just uses arrays. Why not use arrays in all cases? Probably to make arrays strong typed?
namespace App\Model\Job\Action {
    marker JobUpdateAction;
    data ChangeJobSamplePictures: JobUpdateAction = ChangeJobSamplePictures { string[] $samplePictures, ?int $unused } deriving (FromArray, ToArray);
}

<?php

// this file is auto-generated by prolic/fpp
// don't edit this file manually

declare(strict_types=1);

namespace App\Model\Job\Action;

final class ChangeJobSamplePictures implements \App\Model\Job\Action\JobUpdateAction
{
    private $samplePictures;
    private $unused;

    public function __construct(array $samplePictures, ?int $unused)
    {
        foreach ($samplePictures as $__value) {
            if (! \is_string($__value)) {
                throw new \InvalidArgumentException('samplePictures expected an array of string');
            }
            $this->samplePictures[] = $__value;
        }

        $this->unused = $unused;
    }

    public function samplePictures(): array
    {
        return $this->samplePictures;
    }

    public function unused(): ?int
    {
        return $this->unused;
    }

    public function withSamplePictures(array $samplePictures): ChangeJobSamplePictures
    {
        return new self($samplePictures, $this->unused);
    }

    public function withUnused(?int $unused): ChangeJobSamplePictures
    {
        return new self($this->samplePictures, $unused);
    }

    public static function fromArray(array $data): ChangeJobSamplePictures
    {
        if (! isset($data['samplePictures']) || ! \is_array($data['samplePictures'])) {
            throw new \InvalidArgumentException("Key 'samplePictures' is missing in data array or is not an array");
        }

        foreach ($data['samplePictures'] as $__value) {
            if (! \is_string($__value)) {
                throw new \InvalidArgumentException("Value for 'samplePictures' in data array is not an array of string");
            }

            $samplePictures[] = $__value;
        }

        if (isset($data['unused'])) {
            if (! \is_int($data['unused'])) {
                throw new \InvalidArgumentException("Value for 'unused' is not a int in data array");
            }

            $unused = $data['unused'];
        } else {
            $unused = null;
        }

        return new self($samplePictures, $unused);
    }

    public function toArray(): array
    {
        return [
            'samplePictures' => $this->samplePictures,
            'unused' => $this->unused,
        ];
    }
}

I consider this behavior to be confusing, and it would be much nicer to use variable number of arguments only when you ask fpp to do so. It's confusing because the constructor arguments suddenly stop using variable number of more arguments if you add arguments to the data type, and since the constructor is public, it will affect the users of the class. Could we introduce php-like syntax to fpp for variable number of arguments, rather than generating different code for those 2 cases?

Yes there's something we can do in order to improve it. Currently I don't have enough time for this, well get to it as soon as I can.

A release 0.1.0 has been tagged. There is currently a rewrite going on, so I will close all open issues. If you still want to resolve this issue yourself, you can submit a pull request to the 0.1.x branch.


Abdu acl

work-in-progress. Added permissions.js that enables apps to programatically modify acls of a resource. Still needs a lot of testing for all possible use cases.

@deiu @nicola - I went over the PR with Abdo on Skype this morning.
I'm going to merge this code to serve as a starting baseline of our ACL functionality in solid.js, and work with Abdo & you guys to refactor it to match our ACL specs. (Which we need to write/clarify). And will also be pulling in functionality from Tim's tabulator ACL code, as well.

I'd like to take a look at it first.

Sure thing.

@ghanemabdo I have created a new branch called permissions. Can you please send your PR to that branch, so we can easily manage work in progress for permissions? I'm hesitant to merge this PR into master right away. The permissions branch gives us more flexibility.

Pushed to permissions branch instead of master.

On Mar 31, 2016, at 6:09 PM, Andrei<EMAIL_ADDRESS>wrote:
@ghanemabdo https://github.com/ghanemabdo I have created a new branch called permissions. Can you please send your PR to that branch, so we can easily manage work in progress for permissions? I'm hesitant to merge this PR into master right away. The permissions branch gives us more flexibility.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub https://github.com/solid/solid.js/pull/77#issuecomment-203979858

@ghanemabdo Perfect, thanks! Closing this PR, will work on that one.


Print out pending test information gone from new version of Cedar.

I've updated Cedar, and I no longer receive a 'P' during test run nor do I receive information about the pended test (one that I have places an 'x' in front of).

Hey @pivotal-domenic-curro and @xtreme-gavin-enns I've been on a couple few iOS projects in the SF office since you filed this issue and I haven't seen it occur with CocoaPods on the three codebases I worked on. Do you think we can close this out? Is there still something we can investigate and possibly fix?

Isn't this due to XCTest not supporting pending tests? I assume the difference in observed behaviors here is one of test bundle vs. spec suite app.
On Thu, Jun 11, 2015 at 10:43 PM, Tim Jarratt<EMAIL_ADDRESS>wrote:

Hey @pivotal-domenic-curro and @xtreme-gavin-enns I've been on a couple few iOS projects in the SF office since you filed this issue and I haven't seen it occur with CocoaPods on the three codebases I worked on. Do you think we can close this out? Is there still something we can investigate and possibly fix?
Reply to this email directly or view it on GitHub:
https://github.com/pivotal/cedar/issues/303#issuecomment-111366686

Yeah, based on conversations I've had with people around the office the problem is just with people using XCTest. As someone who prefers running their tests in a test bundle it would be nice if we could somehow still get the pending test output in the console when running test bundles, but it seems like this isn't really possible to do without pending tests showing up as "passing" in Xcode, which might be kind of problematic.

We have a story for this in the backlog now; I'm not sure if it's a regression or not but we'll see if at least the cedar reporter can support this
https://www.pivotaltracker.com/story/show/99707426
On Thu, Jul 23, 2015 at 8:07 AM, pivotal-ryan-mcleod
<EMAIL_ADDRESS>wrote:

Yeah, based on conversations I've had with people around the office the problem is just with people using XCTest. As someone who prefers running their tests in a test bundle it would be nice if we could somehow still get the pending test output in the console when running test bundles, but it seems like this isn't really possible to do without pending tests showing up as "passing" in Xcode, which might be kind of problematic.
Reply to this email directly or view it on GitHub:
https://github.com/pivotal/cedar/issues/303#issuecomment-124134645


Storing and processing event variable.

Need function to store events that pass from user input.

need a button and some text fields to show data of event obj on GUI to do more testing on #11

already do necessary testing on d8cc581921e55986070af1644098e48bb117f4ab so I'm closing this


hexpatch: init at 1.9.4

Added hexpatch, a binary patcher and editor with terminal user interface written in Rust.
Closes #346039.
Initial work done by @vandrw, I open this new PR since the previous one closed more than one month ago without new one.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

I applied all your suggested changes, thanks for the review!


Fix post_model_hook call in data and unit tests

Resolves #10822

Problem

https://github.com/dbt-labs/dbt-core/pull/10258
https://github.com/duckdb/dbt-duckdb/issues/448

Solution

Checklist

[ ] I have read the contributing guide and understand what's expected of me.
[ ] I have run this code in development, and it appears to resolve the stated issue.
[ ] This PR includes tests, or tests are not required or relevant for this PR.
[ ] This PR has no interface changes (e.g., macros, CLI, logs, JSON artifacts, config files, adapter interface, etc.) or this PR has already received feedback and approval from Product or DX.
[ ] This PR includes type annotations for new and modified functions.

See https://github.com/dbt-labs/dbt-core/issues/10822#issuecomment-2521842260


Type mismatch on line (d3d11)

Great resource!
Works on about half the shaders I've tried so far.
One common error I get is a 'Type mismatch' error (d3d11)
For instance on the following line
"fixed2x2 rot1=fixed2x2(cos(a1),sin(a1),-sin(a1),cos(a1));"
I think part of the problem in debugging is that the line indicated is not the REAL line causing the issue
In my case the actual line I think was 2 -3 lines further down
dir.xz*=rot1;
Which i fixed after searching other issues
https://github.com/smkplus/ShaderMan/issues/10
like so
dir.xz= mul(dir.xz,rot1);

Fixed.


1.23-1.26 sprint planning

1.23-1.26 sprint planning
Peer Review

@nnnnn319 -> @Baihhh
@xhyqaq -> @Baihhh
@wu-jj -> @xhyqaq
@IRONICBo  -> @xhyqaq
@Baihhh -> @IRONICBo
@linjie7674 -> @IRONICBo
@Kasey0727-> @nnnnn319

Article section

[ ] Optimize the front and back end paging logic of homepage 1 @Baihhh  @Kasey0727
[ ] personal home page add edit and modify blog list 1 @Baihhh @Kasey0727
[x] Search page optimization 1 @Baihhh @Kasey0727
[ ] Support visit history 2 @LiusCraft

Markdown editing

[ ] Modify markdown editing page, nested in gop community 2 @nnnnn319
[ ] support compiling into html to support gop to display and run 2 @nnnnn319
[x] markdown editor page design 1 @Kasey0727

User Interface

[x] interact with the account subsystem, add the interface to get user information, and consider supporting rpc. 2 @IRONICBo @wu-jj
[ ] Support wechat login, and wechat share. @wu-jj @xhyqaq

Video Player Part

[ ] support video player embedding from media source, and add subtitle file logic 3 @xhyqaq

Yap framework

[ ] support yap middleware injection 1 @xhyqaq
[ ] yap middleware unified user processing, and security features 1 @IRONICBo @wu-jj
[x] error page redirect, support automatic redirect to 5xx/2xx/4xx error page. @xhyqaq @Kasey0727

CI/CD processing

[ ] support code formatter in CI check.
[ ] test machine environment variable configuration support 1 @linjie7674

For Release:

research goreleaser to do community release @linjie7674
build production(targetmain branch) env and staging(target dev branch) env @linjie7674

Support export hole markdown.

Markdown editor.


[5.7] Easy attach related models to Eloquent Factories

This PR allows for something like:
$server = factory(Server::class)
            ->withSites(2, 'siteWithWWW')
            ->withDatabases(4, ['mysql', 'migrated'])
            ->create();

This will create a Server, create 2 sites with the factory named siteWithWWW, and create 4 databases with states of mysql and migrated.
It works with all relationship types except HasManyThrough.
You can also do:
$certificate = factory(Certificate::class)->forSite($site)->create();

@themsaid Really love this implementation 👍 Especially the ability to pass in the states as a second parameter, which wasn't possible in the architecture of my original concept.
I looked at the examples throughout my side project where I'm using my classed-based factories and with this, I could replace them entirely since they all just essentially build relationships.

Finally! I like it.

That would definitely be really useful and reduce the amount of « boilerplate » I write when using factories.

Really love the fluent API this POC is proposing

It looks amazing. This fluent API will make data setup in tests more readable. Is it possible to add custom data to related models? I see that the make() call isn't receiving any.
Great work @themsaid 👌

I want to see that as soon as possible in Laravel! Having the possibility to override the values from the factory should be possible too as @asantibanez said! :)

This is a good addition to the factories, but I think the magic method is making it harder to see the relation to the model it represents.
Would it be better to implement the class name instead?
$server = factory(Server::class)
            ->with(2, Site::class)
            ->with(4, Database::class, ['mysql', 'migrated'])
            ->create();

Maybe we can support both @themsaid's implementation and @LasseHaslev proposal?
I like them both actually

@MichaelDeBoey @LasseHaslev you use the relationship method name.

@themsaid Ah! Nice! 💡

Haha. Literally just wrapping up on a package that does the exact same thing 😅
https://github.com/makeabledk/laravel-factory-enhanced/blob/master/tests/Feature/RelationsTest.php
But looks awesome and happy news this might become core. Pretty similar syntax to our package too..
Does it allow nested relationships as well?

Greate !!

great, it looks amazing!

Hope to see in next relaasw

This looks nice, will be very useful

@themsaid , @driesvints  should  it be target to the 5.8?

Looking forward to this!

It will be very nice to have this feature.

For anyone disappointed this was not part of the initial 5.8 release, I suggest taking a look at https://github.com/makeabledk/laravel-factory-enhanced
Not only does it support the features this PR introduces; it also supports nested relations
factory(Team::class)
    ->with(3, 'servers.sites')
    ->create();

... and a whole bunch of other pretty Zonda stuff 🔥

much better to add test assertions for this

I'm sorry I have to close this because the base branch was changed. @GrahamCampbell please be aware that the bug with switching branches in Github is still very much present. We wouldn't know for 100% if some commits came along.
In any case, since this pr is a few months old, it's best that this PR is rebased with 5.8 before being merged so it has a chance to run the test suite with all of the 5.8 changes. Otherwise the risk of introducing breakages is too large.

@themsaid Any chance of bringing this back to life? I think it'd be a pretty sweet addition to 6.0.

In https://github.com/laravel/framework/pull/26811#issuecomment-467767202 a package was mentioned; seems maintained and cover this PR and much more. With tests.
I don't want to diss the efforts of this PR but using a maintained and more equipped package seems better here?

Thanks @mfn - yeah we're pretty committed to maintaining and improving this package on an ongoing basis.
We're already using it in 2 big projects, and can honestly say it feels like this is how factories were meant to be used in Laravel all along. It's simply mirroring how Eloquent relations already works.
On a related note I'd be curious to know how the Laravel core team would welcome a PR that implements this package into the Laravel 6 core.
I'm aware of concerns regarding complexity and maintainability, so I'm hesitant to spend too much time on a draft if there is no sign of interest.
Maybe @themsaid or @driesvints can give some initial thoughts / feedback on this?
(Link to package: https://github.com/makeabledk/laravel-factory-enhanced)

You can always attempt a new pr as long as it has sufficient tests.

@rasmuscnielsen I dig the package! I'd personally still love to see this in core because I think it's a natural extension of factories, but I'll definitely be giving this a go as well.

Thanks @imjohnbon - appreciate it!
I've published a PR that implements the package into the core: https://github.com/laravel/framework/pull/29592
Appreciate any feedback and 👍 to show your support :-)
ICYMI @driesvints


zOS & AIX workaround for compRefExecute.fileSep OsHelper bug

Signed-off-by: andrew-m-leonard<EMAIL_ADDRESS>

Grinder with jck-compiler-api-java_rmi test passes: https://hyc-runtimes-jenkins.swg-devops.com/view/Test_grinder/job/Grinder/7871/console
This PR should fix https://jazz103.hursley.ibm.com:9443/jazz/web/projects/JTC-JAT#action=com.ibm.team.workitem.viewWorkItem&id=143330
Thanks @andrew-m-leonard

Thanks Mesbah, fyi, I have run several Grinder's on AIX, zOS and other platforms with this...
i;m just running a full sanity.jck as well


.repeat broken for self-hosters

Hello,
I updated to version 2.20 and since then .repeat does nothing. When i type for example ".repeat 5 hello" the message disappears, the bot console shows it's a correct command but as soon as I type ".repeatlist" the message appears saying "no active repeaters".
I've enabled the ".ve" thing and tried, that doesn't report any issues with what i'm typing. It's just broken.

This also appears to be affecting commands related to streaming, such as .streamadd and its similar commands. They no longer show when users begin streaming.

.remind -m "Hello" -i 5 Read the new command description.

So there is no longer a .repeat command? I thought .remind and .repeat were separate commands?

I think he just typo'd, @anthonyrgib. It seems to still be .repeat:

When in doubt, just .h .command. 😉


SQL Replication follow up question

Salaam Raki.
Firstly, a quick question about something different. I checked some other post on your blog site. Did you draw your diagram and artwork that you published on your page? Which tool you used to draw those diagrams, specially those with code snippet.
Now about your solution. I comment on the last one first. Event driven one. I would love to do that but wouldn't you agree that would be a massive project. I ran CDC project and they are complex. However you simplify it, CDC is always complicated.
As of Replication based, even cost wise, it's cheaper (than ADF). I saw a video about ADF pricing, man...this is major ....Back to replication, I am not sure if I fully understood as to what you were saying on Preview. Does feature in preview means it's not available in AU region?
I look forward to hearing from you soon.

About having watermark column, it always makes me uncomfortable. But the below tells me it's possible to have CDC without the need of watermark column -
https://docs.microsoft.com/en-us/azure/data-factory/tutorial-incremental-copy-change-data-capture-feature-portal

Walaikum Salam - My apologies for the extremely late reply, I had missed this.
I use PowerPoint for the blog. "Preview" in Microsoft terms refers to guaranteed SLAs and not regional availability. In the link you posted, Data Factory is actually made to read from the CDC tables in Azure SQL MI. Reading these same tables using a CDC tool like Debezium achieves exactly the same thing, except the latency for Data Factory is higher because it's batch processing (5 minutes for ADF vs 5 seconds for Debezium).


Fix --insecure-registry not working in some circumstances for #775

#775

@AkihiroSuda I have already updated my PR, PTAL
BTW, I think it's a little hard to add UT for this situation. Maybe we can add extra e2e test?

@AkihiroSuda ping

CI failing due to lack of DCO sign: https://github.com/apps/dco
Could you squash and sign the commit?

BTW, I think it's a little hard to add UT for this situation. Maybe we can add extra e2e test?

You can new a registry for testing like https://github.com/containerd/nerdctl/blob/v0.16.1/cmd/nerdctl/login_linux_test.go#L51


Project lifecycle update - Archive stage

Signed-off-by: John Mertic<EMAIL_ADDRESS>

This kind of makes it seem like a project that hasn't had the need for changes for >6 months could be involuntarily put into a state where the only allowed changes are security issues (not even ordinary bug fixes).
I can imagine a project whose development is inactive for months or even years -- because it is 100% successful, has all the desired features and no important outstanding bugs -- but still need to accommodate the occasional bug found, or needing changes to support new compiler versions, etc.
I think the criteria for involuntary archival ought not to be frequency of commits, but rather status of use in the industry. If nobody is using it any more, then you archive it. If it's widely used but just doesn't happen to need any code changes, even for long periods of time, it should still be "adopted,"  even if it's "inactive." It may be that an adopted, but inactive, project no longer needs a standing meeting, a formal TSC beyond a sole administrator, or a voting seat on the TAC. But that doesn't necessarily mean it should be frozen without any changes allowed.

Hey @lgritz - fair points. The language is meant to be vague because there can be a multitude of reasons why a project is archived, thus giving the TAC some latitude on the why. Generally, I see archiving as a realization by the project that the momentum has come to an end or the maintainers no longer wanting to do the work; I don't think I've ever seen a TAC force a project into archival against a project's will.
The intention of archiving is that there wouldn't be any active support from the part of the foundation until someone came forward to do that. I've never seen a project where there are people willing to do work be forced into archival...

Perhaps it's adequate to just clarify that "insufficient activity" doesn't refer to the frequency of commits (which may be infrequent because they simply are not necessary), but rather refers to either inattention of any developers or apparent lack of users needing the project to be updated.

Feel free to tweak the language with a PR. Agreed this should be spelled
out.
On Mon, May 24, 2021 at 4:24 PM Larry Gritz @.***>
wrote:

Perhaps it's adequate to just clarify that "insufficient activity" doesn't
refer to the frequency of commits (which may be infrequent because they
simply are not necessary), but rather refers to either inattention of any
developers or apparent lack of users needing the project to be updated.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/AcademySoftwareFoundation/tac/pull/270#issuecomment-847311103,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACIOINVUNM4O7L6U4M4E2TTPKYXRANCNFSM45NKHVUA
.


remove TransactionsMetricSet from metrics settings

closes #1396

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2021-11-15T09:40:51.203+0000

Duration: 33 min 44 sec

Commit: 44097cda29f367889bc30f228014ba619614b24e

Test stats :test_tube:

Test
Results

Failed
0

Passed
10227

Skipped
8977

Total
19204

:green_heart: Flaky test report
Tests succeeded.
:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)


Improving user login.

Added functionality to prevent SQL Injection attacks on user login.
I am currently working with add user functionality.

Closing the pull request

Hey @EuricoMazivila
Another pull request may have created conflicts here. Can you resolve them soon?
I'm really excited to merge your changes 😀


resolve Xcode 11.4 warning

Nothing fancy, Xcode complains about dangling pointer. Its more readable too

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

Sorry, but I wont give "CLA assistant" that many permissions to modify my repositories. You can copy the one-line change yourself, then I'll delete this repository.


feat: omnipool - dynamic fees integration

We need to update to latest master (I guess warehouse change is there already)


HTTP2 support

Idle musing prompted by http://pca.st/p47h :
What would be the best webpack configuration for fast HTTP2 loading? Simply put each processed file in a separate chunk? Maybe provide loading hints for images?
It would be nice to have two builds, serving the HTTP2 build when appropriate…

It's not good enough to stick the files in separate chunks.  You have to have a web server that is capable of server-pushing or server-hinting the dependent assets when something is requested from the web server, and you have to have a way of telling it what to send.
If someone wrote a webpack plug-in to put every asset in its own chunk, AND generate a manifest of all dependent assets, AND modified a webserver to be able to read that manifest and do server-push for dependencies, then you'd be all set for HTTP2.
None of this work is done yet as far as I can tell.  Someone should go do it :)

Is it really necessary to do server push? Isn't that an optimization,
sometimes resulting in too much data being sent?
Doesn't HTTP2 make multiple requests by the browser almost equivalent to
concatenation?
On Tue, Jul 7, 2015, 18:52 Alan<EMAIL_ADDRESS>wrote:

It's not good enough to stick the files in separate chunks. You have to
have a web server that is capable of server-pushing or server-hinting the
dependent assets when something is requested from the web server, and you
have to have a way of telling it what to send.
If someone wrote a webpack plug-in to put every asset in its own chunk,
AND generate a manifest of all dependent assets, AND modified a webserver
to be able to read that manifest and do server-push for dependencies, then
you'd be all set for HTTP2.
None of this work is done yet as far as I can tell. Someone should go do
it :)
—
Reply to this email directly or view it on GitHub
https://github.com/webpack/webpack/issues/1223#issuecomment-119266214.

--
Wout.
(typed on mobile, excuse terseness)

Isn't that an optimization, sometimes resulting in too much data being sent?

It can lead to that, but if you do what I outlined above, you would never send too much data.  If script A is requested, and X Y and Z are required() dependencies according to webpack, you need to send all 4 scripts to be able to execute A.

Doesn't HTTP2 make multiple requests by the browser almost equivalent to concatenation?

Not at all.  Imagine you request script A, which requires script B, which requires script C.  The browser doesn't know about script B until it full downloads and executes script A.  Same for C.  There's a round-trip between each download, as a result.
HTTP2 will make it so that if script A requires script B, C, and D, the browser can request all 3 and receive all 3 with only one round-trip, but that isn't nearly as fast as the server preemptively pushing down all the resources.

sure, but in the case of already-cached files the browser has to send a
reset and depending on latency a good chunk of unnecessary data might have
been sent before the server stops sending…
On Sat, Jul 11, 2015, 22:51 Alan<EMAIL_ADDRESS>wrote:

Isn't that an optimization, sometimes resulting in too much data being
sent?
It can lead to that, but if you do what I outlined above, you would never
send too much data. If script A is requested, and X Y and Z are required()
dependencies according to webpack, you need to send all 4 scripts to be
able to execute A.
Doesn't HTTP2 make multiple requests by the browser almost equivalent to
concatenation?
Not at all. Imagine you request script A, which requires script B, which
requires script C. The browser doesn't know about script B until it full
downloads and executes script A. Same for C. There's a round-trip between
each download, as a result.
HTTP2 will make it so that if script A requires script B, C, and D, the
browser can request all 3 and receive all 3 with only one round-trip, but
that isn't nearly as fast as the server preemptively pushing down all the
resources.
—
Reply to this email directly or view it on GitHub
https://github.com/webpack/webpack/issues/1223#issuecomment-120661036.

--
Wout.
(typed on mobile, excuse terseness)

One idea is to have the entry point script (or maybe an inline-script in the index.html?) include a list of all the files in the depended-on bundles. Wouldn't that tackle part of the problem in a reasonably simple way?

+1

or you could just use JSPM, which has depcache support from the day 1. Only package manager truly ready for HTTP2 world.

@capaj From what I can gather, that only sends multiple requests for modules to the server. The initial HTML/JS still have to be downloaded/parsed before it can begin that. Also depCache is being deprecated: depCache is being deprecated for a straightforward call of Object.keys(trace.tree).. While sending multiple requests to the server for the modules takes advantage of HTTP/2 multi-plexing, it does not benefit from server-push or server-hints which will send the resources to the client with the initial HTML request/response which reduce round trips.

@polarathene depCache method is an implementation detail. The feature I was talking about is depcache generated by JSPM, when invoked from commandline jspm depcache ... as documented here: https://github.com/jspm/jspm-cli/blob/master/docs/production-workflows.md#creating-a-dependency-cache
It is NOT deprecated and I suspect it won't ever be.
It works by traversing whole tree of dependencies and then storing the map in config.js. This file then can be used on the server/client to get/push all of the dependencies up front.

@capaj See the github issue I linked to, the blue text specifically highlights the last comment by the owner of SystemJS. It's fairly recent so I'm pretty sure the intention is to deprecate depCache.
Your link mentions that once the initial js file is loaded/parsed by the client(1 request for html, 1 request for the initial js file once html is parsed) then it will request from the server for all dependencies(many requests which is fine on HTTP/2 or SPDY supported browsers provided the server supports those protocols). There is nothing special going on there, using the dependency graph to fetch all the dependencies in advance from then is neat and takes advantage of multi-plexing to download the assets faster, however server-push and server-hints are server based.
With the server support you'd link your js assets with the html request(1 round trip), or individually hint/push assets with their dependencies as they're requested(eg send html with linked assets above the fold, but request the rest as normal via lazy loading). This requires the server to support push/hints for the protocol along with knowing what assets to link with requests for push/hinting in the headers sent to the client.

@polarathene yes the method is depracated, but it does not mean that depcache is depracated in JSPM.  He is awesome.
Doing a server push library which will use JSPM's config.js to push dependencies to client is trivial- if I actually had HTTP2 enabled website, I would make it myself in less than one evening. Unfortunately I don't.

I want webpack to allow turning off concatenation and being able to spit out all the files that have been referenced by a single page as simple script referenes. This is what makes sense to me in a HTTP 2.0 world.

Alistair, webpack can split the bundle into multiple files. You still only reference one in a script tag though, when those scripts are needed they're requested, this makes no difference with http 2. If you want to use features beyond making many quests you need to do some server sided hinting or push.

@AlistairB how about splitting the bundle into multiple files/chunks and using the ManifestPlugin? You could reference the generated manifest file server-side and create the required script tags.

Any update on this?

It's on the roadmap... The plan is:

automatically split the bundle into many chunks (i. e. by module age)
emit a push manifest for module assets

I'm especially interested in how the the push manifest might be structured and how that could be integrated into CDNs such as MaxCDN, Akamai, CloudFlare etc. Most do not support preemptive server pushing of assets to clients thus far.
Or running your own static server: are there options for nginx or mod_http2 to make use of manifests to offload the responsibility of an app developer needing to know which assets need pushed down to the client?

I think the ideal scenario is individual files included by script tags with a hash of the contents in the filename / path which can be server pushed via a manifest. At the same time CDNed resources are just included from the CDN.
@sokra Are they arbitrary chunks? That wouldn't be ideal as with each build all of the chunks would be invalidated, unlike using the actual files with a hash.

FWIW: https://github.com/GoogleChrome/simplehttp2server https://www.youtube.com/watch?v=qx9tHwhjkHs

+1 to @AlistairB's comment. I think the only initial requirements are:

Generate one versioned output file (chunk) per input file
Generate corresponding script tags which can be injected into HTML

Many CDNs and modern browsers already support HTTP2, so I for one would use this functionality immediately.
@sokra Any chance that requirements #1 and #2 are already supported?

Additional long-term improvements would include:

HTTP2 push support
Staged loading of assets... like chunking, but at the protocol level. This way you could load all assets needed for the initial page in one go (via script tags) and then load additional asset collections via an async loading API.

I would hope that this be a top priority @sokra. Is there a roadmap?

Yes. It''s the next feature on the list. 80% done...

Ok I've got an experimental version of it:
https://github.com/webpack/webpack/tree/master/examples/http2-aggressive-splitting
You need to do the following:

add new webpack.optimize.AggressiveSplittingPlugin()
use [chunkhash] in the filenames
add multiple script tags to the HTML page (see stats.entrypoints["main"] for a list)
use records to store chunk/module ids and the splittings
This is production only, don't use it in development

It then generates a HTTP2 optimized version.
Advantages:

It allows to cache parts for the application (without 304)
It loads parts for the application in parallel
Still allow to uglify and gzip effectively

Disadvantages:

It causes more requests for non HTTP2 clients
You need infrastructure to keep the records
It could make builds slower

@ampedandwired webpack now emits information about entrypoints into the stats. I. e. which assets are required for a entrypoint and in which order.
entrypoints: {
  main: {
    chunks: [1, 2, 4],
    assets: ["123.js", "456.js", "789.js"]
  }
}

@sokra Can you elaborate on this?

You need infrastructure to keep the records

webpack need the keep "state" between compilations. It's called the records, which are saved and loaded from a file (specified by recordsPath). You need to be able to keep this file between compilation, which may be more difficult if you using a build server.

Ah ok. Thanks!

@sokra I am in the process of webpackifying a large app with around 4000 modules.
A big issue I am running into is the incremental build speeds which are critical to be low in order to have a pleasant development process. I've applied all the optimizations I could find online, but could only get it to 8 - 19s. It seems to have a variance depending on the size of the chunk the module I am editing belongs to. My app has a lot of legacy with deps that are hard to break up, we're gradually working on it though.
In any case, what I was wondering is if http2 could help with the incremental build speeds since the chunks are always small. Would it not keep the speed pretty much constant no matter how your app grows? That is also assuming that webpack-dev-server gets http2 support.
Btw, is there a version of webpack in npm that has the experimental support you mention above?

Question 1 : Can someone judge whether my understanding is right or wrong?
https web: will help multiple files to be transfer between server and client in a single connection.
http web multiple files will be stitched together and sent in a single connection.
My theory is that bundling wont be needed in case of http2.
Question 2:  Is it fine to get these kinds of doubts to be clarified here in github issue thread? I feel i may have deviated the thread.

Right now the webpack default approach is "bundling" and exceptions to that use terms like "splitting". To me this sounds philosophically reverse of a future HTTP2 approach where the default should be not bundling. In most cases I don't want to "split my bundles" - I want no bundling as default and to optionally bundle. Can webpack support this reverse preference/philosophy?

@rarkins brought a very good point here.
For static assets, when it comes to HTTP2, we like caching and multiplexing; when it comes to bundler, we like the composition to hide the detail. I want to lay some groundwork by sharing our practice first.
In our practice, we like both. We use webpack as an emitter to get those packed files. We use HTTP2 as a transporter to get packed file to user browser.  Not only this, we also want it lives with a package manager doom(we choice bower at no bias as it does the job). The emitted packed files from webpack only contain the implementation code and the stuffs not shareable. Reference to the dependencies are preserved with webpack externals and declared in the bower.json.
When comes to the integration application, as an organization, we want all shareable package be shared in all products via a CDN. We have a publish service to publish all bower component to CDN server.  All publish files are versioned and cached by maxAge:bignumber. In browser, we use a loader to download the main files by package name and add the bootstrap/configuration code as a callback. With the help of HTTP2 and CDN,  the transporter did a great job.
As a plan B, the loader is pluggable, application developer could live with the old grunt/gulp pack workflow as well, only to generate a different index.html which contains the packed bundles(vendor.js, helper.js, app.js).
This has been validated as a pretty smooth workflow in new app building.  The shortcoming is, it can not be easily added to existing aged application. In enterprise, it is hard to promote as you have to make all peer teams agree. Most of it become to sociological problems.
Back to webpack here, I think we could control webpack-dev-server suspend before bundling work and emit the packed sub application chunk to memfs only. Reference to the dependencies are preserved with webpack externals, and be served from node_modules/bower_components. Then in prod mode, memfs and the static files will be replaced with a CDN publish service.
It is more enterprise workflow specific and not as general as webpack's work here.  But this solves some problem brought by bundle and the practice could be extended to production practice as well in a HTTP2 user case.
ps: I love @sokra  's work a lot and I am a huge webpack fan.

@sokra I am trying to use this plugin with webpack. It is able to split bundles into smaller chunks but when I am loading these script files in html, these modules are not being executed. Any idea?

Does anyone know of companies that are using aggressive splitting and HTTP/2 to serve their web content?

Ok I've got an experimental version of it:
https://github.com/webpack/webpack/tree/master/examples/http2-aggressive-splitting
You need to do the following:

add new webpack.optimize.AggressiveSplittingPlugin()
use [chunkhash] in the filenames
add multiple script tags to the HTML page (see stats.entrypoints["main"] for a list)
use records to store chunk/module ids and the splittings
This is production only, don't use it in development

It then generates a HTTP2 optimized version.
Advantages:

It allows to cache parts for the application (without 304)
It loads parts for the application in parallel
Still allow to uglify and gzip effectively

Disadvantages:

It causes more requests for non HTTP2 clients
You need infrastructure to keep the records
It could make builds slower

This error shows ：https://github.com/webpack-contrib/mini-css-extract-plugin/issues/257#issue-355517064
How could I solve this？

Ok I've got an experimental version of it:
https://github.com/webpack/webpack/tree/master/examples/http2-aggressive-splitting
You need to do the following:

add new webpack.optimize.AggressiveSplittingPlugin()
use [chunkhash] in the filenames
add multiple script tags to the HTML page (see stats.entrypoints["main"] for a list)
use records to store chunk/module ids and the splittings
This is production only, don't use it in development

It then generates a HTTP2 optimized version.
Advantages:

It allows to cache parts for the application (without 304)
It loads parts for the application in parallel
Still allow to uglify and gzip effectively

Disadvantages:

It causes more requests for non HTTP2 clients
You need infrastructure to keep the records
It could make builds slower

The plugin splits chunks by setting min and max size. But There's a stream number limit parameter in HTTP2: SETTINGS_MAX_CONCURRENT_STREAMS. And my server sets it to 128. Then how could I maximize the initial/async chunk number near to the max concurrent streams ?


Remove density flags in load test

What type of PR is this?
/kind cleanup

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.:

/assign @mborsz

/ok-to-test
/lgtm
/approve

I checked that this is enabled in all test-infra tests using master and load/config.yaml config.


path in variable

if i set path in variablle then crawler function is not working
like var path=process,env.path
var Crawler = require("js-crawler");
new Crawler().configure({depth: 3})
.crawl(path, function onSuccess(page) {
console.log(page.url);
});

Is the variable path is set? Probably also the crawler should check better for when the path is not defined and report it clearly. Looks like now it is not the case.
var path=process,env.path

var Crawler = require("js-crawler");

console.log('path = ', path);

new Crawler().configure({depth: 3})
.crawl(path, function onSuccess(page) {
console.log(page.url);
});

yes that is nice suggestion crawler should check for path.Path variable was set but there were double quotes in path variable so it was not crawling.
I am closing this issue now as it was related to double quotes which was mistake on user end


GPU inference in C++ application

I've built a C++ application that can import and run a trained net successfully on CPU, however I would now like to run the net on GPU.
What changes do I need to make to the net definition and/or my C++ application?
If I add device_option {device_type: 1} to each operator in my net definition it runs successfully on GPU in python (I know it is running on GPU as it is significantly faster), however my C++ application now fails when I call the CreateNet function (the error appears to be a caffe2 EnforceNotMet in the CreateOperator function). I have included caffe2/core/context_gpu.h and added the following lines:
caffe2::DeviceOption option; option.set_device_type(caffe2::CUDA); new caffe2::CUDAContext(option); _initNet.mutable_device_option()->set_device_type(caffe2::CUDA); _predictNet.mutable_device_option()->set_device_type(caffe2::CUDA);
What am I missing?

Hi m00nkeh,
I am running into the exact same issue you mentioned in windows. Just wondering if you found a solution to the problem?
thanks.

Have you solved this problem? I run into the same issue.


Fix error message

Description
Error message given when the orientation vector is the wrong size is misleading, due to copy-pasting it from the error above.
How I Tested
Tried it with a wrong-size vector and observed the correct error message.
I fulfilled the following requirements

[x] All new code is formatted according to our style guide (for C++ run clang-format, for Python, run flake8 and fix all warnings).
[x] All new functions/classes are documented and existing documentation is updated according to changes.
[x] No commented code from testing/debugging is kept (unless there is a good reason to keep it).

Another fix: the error message counters weren't being initialized in the constructor, so they contained garbage. This caused it to not print error messages on the first occurrence, which meant that they got missed for callers who exit after HasError returns true.


Alloy running in a container with loki.source.journal unable to scrape journald logs from host if path is not specified

What's wrong?
According to the documentation for the loki.source.journal component, if no path is specified for the loki.source.journal component, then /var/log/journal is used by default .
When using the very basic configuration from the example:
loki.source.journal "LABEL" {
  forward_to    = RECEIVER_LIST
}

When running alloy with the loki.source.journal component configured as above on a host directly, logs are discovered and scraped properly; however, when running within a container on the host and mounting /var/log/journal as a volume into the container, the logs are not discovered.
After digging into the code, this is due to the fact that, when no path is specified, alloy takes a different code path which uses go-systemd's defaults for discovering the journal entries which uses the SD_JOURNAL_LOCAL_ONLY option which ensures that only logs generated on the local machine are discovered. If you explicitly specify a path configuration option to the loki.source.journal component, then journal entries are discovered a different way which does not specify the SD_JOURNAL_LOCAL_ONLY option, which does not limit it to local logs only and it is able to discover the logs from the host /var/log/journal.
I'm not sure if this is a documentation issue for the component where it should state that you must set path = "/var/log/journal" when running in Docker, or probably more appropriately a code change where the default path is specified explicitly in alloy codebase and then go-systemd/sdjournal is invoked the same way regardless of whether a path was supplied or not which removes the behavior of alloy being dependent upon go-systemd's implementation.
I am happy to contribute a fix, but wanted to let the maintainers determine what is most appropriate to avoid confusion for users like this one
Steps to reproduce
Create the following config in config.alloy
loki.source.journal "read" {
  forward_to    = [ loki.write.loki.receiver ]
  labels        = {component = "loki.source.journal"}
}

loki.write "loki" {
  endpoint {
    url = "http://loki-gateway:8080/loki/api/v1/push"
  }
}

Run it locally on a linux machine
./alloy-linux-amd64  run --server.http.listen-addr=<IP_ADDRESS>:12345 --storage.path=./alloy ./config.alloy

Ensure journal targets are discovered:
curl -s http://localhost:12345/metrics | grep 'loki_source_journal_target_lines_total{'

loki_source_journal_target_lines_total{component_id="loki.source.journal.read",component_path="/"} 2580

Run it in docker:
docker run -v /var/log/journal:/var/log/journal -v `pwd`/config.alloy:/etc/alloy/config.alloy -p 12345:12345 grafana/alloy:v1.1.0 run --server.http.listen-addr=<IP_ADDRESS>:12345 /etc/alloy/config.alloy

Ensure no journal targets are discovered
curl -s http://localhost:12345/metrics | grep 'loki_source_journal_target_lines_total{'

loki_source_journal_target_lines_total{component_id="loki.source.journal.read",component_path="/"} 0

Modify the config to explicitly set the path
loki.source.journal "read" {
  forward_to    = [ loki.write.loki.receiver ]
  labels        = {component = "loki.source.journal"}
  path          = "/var/log/journal"
}

loki.write "loki" {
  endpoint {
    url = "http://loki-gateway:8080/loki/api/v1/push"
  }
}

Re-run in docker, and ensure that targets are now discovered
curl -s http://localhost:12345/metrics | grep 'loki_source_journal_target_lines_total{'

loki_source_journal_target_lines_total{component_id="loki.source.journal.read",component_path="/"} 2580

System information
Linux / Docker
Software version
v1.1.0 and master
Configuration
loki.source.journal "read" {
  forward_to    = [ loki.write.loki.receiver ]
  labels        = {component = "loki.source.journal"}
  path = "/var/log/journal"
}

loki.write "loki" {
  endpoint {
    url = "http://loki-gateway:8080/loki/api/v1/push"
  }
}

Logs
No response

I  think you're right.. and what can we do for this problem?

same here.
took me a bit a time to find out this.
if the bug can't be resolved quickly, it would be good to at least indicate the workaround in the docs example (add path even if default when running on docker)

i also hit this issue. If this cannot be quickly fixed in the code, please at least specify this containerized scenario in the documentation.


error: file location not found

I tried it for hoi4 and it gave me this error, I tried again and it gave me again.
(my hoi4 is original)

v Hearts of Iron IV
ERROR: cannot locate file in current directory
Press enter to exit
btw I'm using the latest version <IP_ADDRESS>bda (c998) and it didn't work.

You should move patcher executable file (universal-checksum-patcher.exe) to game directory and run it from there. If you can't find game directory, you can right-click on game in Steam, then press Manage and in dropdown menu press Browse local files. Patcher trying to locate file with name hoi4.exe, so please look for it in this directory

thank you it worked.
I think it would be better if you write in more detail on readme.


ConditionalVariance?

Hi,
Just want to make sure, whether the term ConditionalVariance corresponds to the greedy variance selection in the paper?

Apologies for the late response, but the answer is yes :)


[PR]

Hey, bro, what you do is very excellent!
And, I just find something need to be modified, so I open a PR.
Hope you can merge it and I really want to work with you to make this repo great.
Thanks.

Thanks for your PR, as soon I will make the next release I will take a closer look at this and merge it, if everything is fine.

sorry but the changes doesn't seem to work, I get the following js error in with my demo files, also after changing the the data-lang to something hardcoded like "python" I cant see the language of the block.
perlite.js:49 Uncaught TypeError: Cannot read properties of undefined (reading 'substr')
    at perlite.js:49:72
    at NodeList.forEach (<anonymous>)
    at Object.success (perlite.js:48:15)
    at c (jquery-3.6.1.min.js:2:28327)
    at Object.fireWith [as resolveWith] (jquery-3.6.1.min.js:2:29072)
    at l (jquery-3.6.1.min.js:2:80045)
    at XMLHttpRequest.<anonymous> (jquery-3.6.1.min.js:2:82499)

Ok, I will check it and maybe another time I will RP again(lol


Nokogiri error

Hi.
When I tried to run "bundle install", I got an error related to nokogiri.
Fetching nokogiri 1.8.2
Bundler::GemspecError: Could not read gem at /home/evgheni_melnic/.rvm/gems/ruby-2.5.0/cache/nokogiri-1.8.2.gem. It
may be corrupted.
An error occurred while installing nokogiri (1.8.2), and Bundler cannot continue.
Make sure that gem install nokogiri -v '1.8.2' --source 'https://rubygems.org/' succeeds before bundling.
In Gemfile:
datagrid was resolved to 1.5.7, which depends on
rails was resolved to 4.2.10, which depends on
actionmailer was resolved to 4.2.10, which depends on
actionpack was resolved to 4.2.10, which depends on
actionview was resolved to 4.2.10, which depends on
rails-dom-testing was resolved to 1.0.8, which depends on
nokogiri
I am not sure why that is happened and how to fix it.
My server is Ubuntu 14.04 and current ruby version is 2.5.0.
Please let me know if you have any hint about this problem.
Thanks.

Install DevTools. Please, refer to Nokogiri repo for this problem.


[Bug]: F-Droid build failed

Summary
https://monitor.f-droid.org/builds/log/fr.free.nrw.commons/1035#site-footer
Could you please take a look? Thanks!
Steps to reproduce
None
Expected behaviour
None
Actual behaviour
None
Device name
None
Android version
None
Commons app version
4.2.0
Device logs
No response
Screen-shots
No response
Would you like to work on the issue?
None

We plan to update Proguard within a month, that should fix it.

My internet searches lead me to that info too, but I didn't quite figure out where is that setup :)

@licaon-kter We've fixed the issue and pushed out a new v4.2.0-beta release that should build without issues. Could you push that as a new beta release of the app?
Also, the v4.2.0 contains non-working code. So, better to keep that disabled. 🙂

It has the same version name and version code as 4.2.0. What do you want us to do?

@sivaraam I would advise creating a 4.2.1 ... it is just a number :-)

Ah. Totally missed that. Would it be possible to use the v4.2.0-beta in place of the v4.2.0 one so that the same version code and version are used?

@sivaraam I would advise creating a 4.2.1 ... it is just a number :-)

We certainly need to do that for the production release. It would be nice if we could publish v4.2.0 version itself via F-droid since that's what we've published on Google Play.
If there's no to do that, we could certainly consider the alternative you suggest

https://gitlab.com/fdroid/fdroiddata/-/merge_requests/13874 Done. :ok_hand:

Thanks much @linsui ! 🙂

@linsui @licaon-kter The v4.2.0 update of the app doesn't seem to appear on the app page on F-droid. I could see the app listed in the "Need updating" page. Could you let us know what that means?
Is it just a matter of time for the app to deploy? Or is there something that needs to be done at our end?

@sivaraam fyi https://gitlab.com/fdroid/wiki/-/wikis/FAQ#how-long-does-it-take-for-my-app-to-show-up-on-website-and-client


Update dependencies to make Floorist compatible with Python 3.10

The current package versions (specifically the pyarrow version pinned to 5.0.0) make Floorist incompatible with Python 3.10 (Again, PyArrow 5.0.0 package seems to require Python version <= 3.9).
Maybe reviewing the available packages there's an update to make it work with the latest current stable Python release (3.10.2)

We can't move further without the missing ubi8 python3.10 base image.

We should stay tuned, https://github.com/sclorg/s2i-python-container/tree/master/3.10 - were can we ask for this image to be available ?


Cypress/E2E: Fix cloud test related to max file size

Summary

changed default max file size to 100MB
make the text verification depends on what's with the current config instead of hard-coded value

Screenshots

Release Note
NONE

As discussed offline, I'll leave this as is so that Cass will be able to check merging a PR once given GH permission/access.


automate updating pdf.js submodule revision

Dependabot seems to be handling everything else

This has been pretty much solved by https://github.com/GrapheneOS/PdfViewer/pull/138
It's not automated in the sense like dependabot or whatever, but it's now simply checking out new pdfjs-dist tag and committing.

Not using submodules anymore, switched to using the pdf.js package from npm as pdfjs-dist has too many issues with reliability, slow time to respond to fix their buggy bot, and the tags are unsigned. Dependabot updates the npm package automatically.


Toast Component Overlaps with Status Bar in Top Placement Expo

Description
When triggering a toast with the placement set to "top," it renders under the StatusBar, causing a visibility problem. The toast component should appear above the StatusBar to ensure that notifications are clearly visible to users.
CodeSandbox/Snack link
No response
Steps to reproduce

Set up an Expo project with Gluestack.ui.
Add a StatusBar to the App.tsx

      <StatusBar style="dark" translucent />

Trigger a toast with placement set to 'top'

 toast.show({
        placement: 'top',
        render: () => (
          <Toast>
            <Box>
              <Text>Success</Text>
            </Box>
          </Toast>
        ),
      })```
5. Observe the toast appearing below the StatusBar.

Expected Behavior:
The toast should appear above the StatusBar, ensuring clear visibility and readability of the notification.

Actual Behavior:
The toast renders below the StatusBar, making it difficult for users to see the notification clearly.

Additional Information:
This issue affects the usability of the application. It's crucial to address this problem to maintain a seamless user experience.

### gluestack-ui Version

1.0.1

### Platform

- [X] Expo
- [ ] React Native CLI
- [ ] Next
- [ ] Web
- [ ] Android
- [ ] iOS

### Other Platform

_No response_

### Additional Information

_No response_

Hey @luiz504, StatusBar doesn't come as view or element in react-native. Currently with react-native it is not possible(AFAIK). you can give marginTop or render it under safeAreaView. If you have any solution please feel free to reopen.


Minimal updates to get the lessons working with gl-matrix-2.2.1

@tparisi, I realize the repo has outstanding pull requests that do some of what mine does.
In going through the lessons, I had the impulse to update the glMatrix library, thinking I might learn from the experience. Having done it, I have to say, the experience had very little educational value, and there's no reason to put others through it. I've updated the code, making minimal changes, and flagging them, so that someone following the old lessons can clearly see what's changed as a result of upgrading from glMatrix-0.9.5 to gl-matrix-2.2.1.
I've done a little JavaScript cleanup, adding semicolons, removing commas at the end of arrays, and replacing = Array(); with = []; in two or three instances. I've adjusted z values to approximate the composition of the original lessons.
My changes are outlined in UPDATES.txt. There remain issues, such as duplicate variable declarations. Perhaps in the future, someone will jshint all this code, but that's beyond the scope of what I'll tackle at this time.

Almost a year... it is still not merged :(, it shouldn't be that hard

Appreciate the comment, @chaliy, thanks.
@tparisi's active promoting other projects around the San Francisco Bay Area these days and, not having merged a single pull request in the two years since he's taken over this repo, it seems he's just starving it in hope it'll go away.

well done

Merged.
But the problem is I need to update all the text in the lessons.... that's what I've never had time for. Got it?


SetInteriorVehicleData.md

Use case describes system behavior for SetInteriorVehicleData RPC

3.1 Request is disallowed by policies -> SDL returns USER_DISALLOWED and doesn't transfer the request to HMI.
USER_DISALLOWED --> DISALLOWED

5.1 Requested moduleType_X is unavailable on HMI -> SDL returns DISALLOWED and doesn't transfer the request to HMI. Does unavailable mean that the remoteControlCapabilities does not contain moduleType_X ?
UNSUPPORTED_RESOURCE might be a better result code.

SDL checks if signed in request moduleType_X is controlled by another application
Need an additional check that the moduleType_X is not busy. No current request pending finish to the same moduleType_X

7.2 Application requested to set available control settings with read only and settable control items -> SDL cuts off read_only control items and transfers only settable control items to HMI

Similar to above, assume moduleType_X and if there are parameters than moduleType_X supports, the additional parameters are cut off

3.1 It is tandard behavior in case RPC is not included in functional grouping of assigned policies - SDL returns USER_DISALLOWED
5.1 Agree, will update
6. This check is described in resource allocation use case
7.2 That's exactly the meaning of it

7.2 What I mean if xxxModuleControlData has control items a,b,c,d,e, but the request has control item x,y,z. Do you cut off x,y,z or do you return INVALID_DATA?

7.2 means that module has a,b,c,d settable items and x,y,z, read_only items, if app sends SetInteriorVehicleData with x,y,z only - the response will be INVALID_DATA, SDL won't request to set data for read_only parameters
The case case that you described - mobile app sent only fake items it will be INVALID_DATA
In case app sent a,b,c,d,x,y,z where x,y,z are fake - items that don't exist at all or they are related to another module then SDL will cut them off and transfer only a,b,c,d

looks good to me


OS.execute cannot capture shell output

executing applications works fine like xterm for example or firefox
but i cannot get the shell output from command line apps like ls
   _ready() {
        let args = new godot.PoolStringArray(["-c", "ls"])
        let arr = []
        godot.OS.execute("sh", args, true, arr)

        godot.print(arr) // prints empty []
    }

We don't support return values by out arguments.
You have to make a gdscript wrap then call from JavaScript to achieve this

hmm ok any example how i can achieve this

OSExecuter.gd
var code: int = 0
var output: Array = []
func execute(path: String, arguments: PoolStringArray = [],  blocking: bool = true, read_stderr: bool = false):
	code = OS.execute(path, arguments, blocking, self.output, read_stderr)
	return self

main.jsx
import OSExecuter from 'res://OSExecuter.gd'

export default class Main extends godot.Control {
	_ready() {
		const executer = OSExecuter.new();
		executer.call("execute", "node", ["-v"])
		console.log(executer.get("code"), executer.get("output"))
	}
}

If you are using TypeScript you can wrap call and get by decorators to avoid mannually passing member names as string.

ty but that will make things so verbose and complicated thx again anyways i hope in the future you can sort this out

This is because the Array and Dictionary is diffrent thing in JavaScript and Godot. For most maybe >99% use case they looks like same so I convert JavaScript Array/Object to Godot Array/Dictionary internally in the  binding implementation.
I'm not going to fix this as it will make most use case become more complicated like this
let arr = new godot.Array();
arr.push_back(0);
arr.push_back(1);
this.connect('signal_name', this.callback_method, arr);

In current implemention it is much clear
this.connect('signal_name', this.callback_method, [0, 1]);


How to open Date dialog box on click of a icon outside the Input field

How to open Date dialog box on click of a icon outside the Input field

Did you find the answer?

+1


Restyles diff detail dialog to fit content properly

Addresses dialog scaling uncontrollably when dealing with JSON content.

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

https://github.com/xh/hoist-react/assets/70573025/e08ed810-4c35-4bad-918d-b533c0769809

@TomTirapani -- can you take a look at this for Don  L when you have a chance?

@lbwexler Yes, will take a look today


Can't buy you a coffee

https://www.buymeacoffee.com/unnohwn

is returning a 404

Hi, thanks for pointing that out. No idea why it has been disabled. You can donate via Ko-fi.
Thank you so much from the bottom of my heart.
https://ko-fi.com/unnohwn


Does gdrcopy work with CUDA Virtual Memory Management APIs?

Does gdrcopy work with memory allocated with cuMemAddressReserve/cuMemCreate/cuMemMap?

vmm cases are there in sanity test cases,  you can run it if your cuda version > 11.0

confirming that it works, provided that the allocation has the gpudirect rdma flag set.


Zfs arc

Allow to set the maximum zfs arc usage as a percentage
cc @johnalotoski

I already rebuilt clients with this, and seems to be working fine :)


pantheon.wingpanel-indicator-sound: 6.0.1 -> 6.0.2

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for pantheon.wingpanel-indicator-sound is: "Sound Indicator for Wingpanel"
meta.homepage for pantheon.wingpanel-indicator-sound is: "https://github.com/elementary/wingpanel-indicator-sound"
meta.changelog for pantheon.wingpanel-indicator-sound is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 6.0.2 with grep in /nix/store/ygczmlbi7bxj0ribrq6qzvycxdlp9x0q-wingpanel-indicator-sound-6.0.2
found 6.0.2 in filename of file in /nix/store/ygczmlbi7bxj0ribrq6qzvycxdlp9x0q-wingpanel-indicator-sound-6.0.2

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
pantheon.elementary-greeter
pantheon.wingpanel-indicator-sound
pantheon.wingpanel-with-indicators

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ygczmlbi7bxj0ribrq6qzvycxdlp9x0q-wingpanel-indicator-sound-6.0.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pantheon.wingpanel-indicator-sound https://github.com/r-ryantm/nixpkgs/archive/f78a0ee0ce19b634bbe44fca4e0783d6212edb19.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ygczmlbi7bxj0ribrq6qzvycxdlp9x0q-wingpanel-indicator-sound-6.0.2
ls -la /nix/store/ygczmlbi7bxj0ribrq6qzvycxdlp9x0q-wingpanel-indicator-sound-6.0.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

3 packages built:

pantheon.elementary-greeter
pantheon.wingpanel-indicator-sound
pantheon.wingpanel-with-indicators

Maintainer pings
cc @davidak @bobby285271 for testing.

I will do the merge when I finish reviewing this

[ ] PulseAudioManager: Provide a fallback icon in case none is available (#228)
[ ] Animate switch (#235)
[ ] Consistent margin (#234)
[ ] Bind volume step to gnome setting (#237)
[ ] Update codestyle (#238)
[ ] PulseAudioManager: fallback to fd.o icon name (#239)
[ ] PulseAudioManager: fall back to device form factor when icon name unavailable (#240)
[ ] PulseAudioManager: add more form factor icon fallbacks (#241)
[ ] Update sound.appdata.xml.in
[ ] Update sound.appdata.xml.in
[ ] Fix switch animation on first open (#243)
[ ] Release 6.0.2 (#242)

Tags: 6.0.2
Files: meson.build

Looks like we also need to do https://github.com/elementary/wingpanel-indicator-sound/pull/244? :thinking:

@ofborg test pantheon


Feature/heterodon experiment

Coverage decreased (-9.6%) to 66.964% when pulling 52c6da55621ab525d31783583f1956b4cceb51f3 on feature/heterodon_experiment into 78cb90a0e3bd14aba6322b8527604e8a5cd6df02 on develop.


fix: updated DOI form field value on edit.

Reviewers
Functional:
@tihuan

Changes

Updated create of link view model to only convert DOI URLs to path if filter state is enabled.

QA steps
Steps to Reproduce

Remove filter feature flag.
Edit collection that has a DOI specified.

What Happened
DOI form field displays a DOI path (e.g. /123/123).
What I Expected
DOI form field displays the full DOI URL (e.g. https://doi.org/123/123).

@tihuan will create a merge PR from staging back to main after this is merged into `staging!


Action Not Working?

My repo is here:
https://github.com/actuarysailor/gha-repo-manager/actions/runs/9341088605/job/25707464059
Readme has corresponding sections:

Nevermind.... it is because we used to not have the  source="action-file.yml" piece in the tags...  Adding that fixed it.


The 'Translate' and 'Generate example' buttons don't work correctly on mobile

Both buttons don't get released/unclicked when tapping on them and somehow 'get stuck'. While tapping the ' Generate example' button indeed results in examples being generated, the 'Translate' button doesn't work at all and nothing happens.

Hi! Thanks for the message. Any help on this matter would be appreciated.
Are you still interested?
On Thu, 20 Jul 2023 at 17:30, Thaung Than Han @.***>
wrote:

Hello, I would like to take on this bug.
—
Reply to this email directly, view it on GitHub
https://github.com/jacekode/lang-control/issues/2#issuecomment-1644140959,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6DJH7HDS3S7SODDHCBTGBLXRFFJ5ANCNFSM6AAAAAA2RMYQ2I
.
You are receiving this because you authored the thread.Message ID:
@.***>


Add method to get the PciAddress of a PciHeader

The PciHeader only contains a PciAddress, yet currently it hides it from the user. As such if someone need access to both a PciHeader for accessing the config space and needs to know the PciAddress, either both need to be passed separately, or every function that needs both needs to recreate the PciHeader and in the case of EndpointHeader unwrap the result of EndpointHeader::from again.

Hey, thanks for the suggestion.
e309f7d adds a PciHeader::address helper method to get the address. Published as pci_types v0.9.0.

Thanks!


Add a way of safely doing an upsert in CHashMap

I would like to be able to do something like this:
let map = CHashMap::new();

// ...

let values = vec![1, 2, 3];

match map.get_mut(&"x") {
    None => { map.insert("x", values); }
    Some(mut existing) => existing.extend(values),
}

I'm assuming another thread might be able to insert an entry into map between the time of the lookup and the call to CHashMap::insert. This would cause that previous entry to be discarded. It would be nice to be able to ensure this would not happen!

I guess this can implemented with the Entry api

Yeah, Entry API would be nice. I've added it to my list of things to do.

Entry API is pretty complex, and won't be completed today, but there's now a way to do upsert.

Hm, the sad thing is with the upsert API as given I would probably have to clone the values vector:
let map = CHashMap::new();

// ...

let values = vec![1, 2, 3];

map.upsert(&"x", values.clone(), |existing| {
    existing.extend(values);
});

That's a good point actually. It should take a closure instead.

done. 1.0.0 is on crates.io now.

Doesn't really solve the problem, because either one has to take ownership :P
// makes rustc sad:
    fn write_events<Events>(&self, aggregate_id: &Id, events: Events)
        where Events: IntoIterator<Item = Event>,
    {
        self.event_log.upsert(aggregate_id.clone(),
                              || events.into_iter().collect(),
                              |existing| existing.extend(events));
    }

Oh welse!

Doesn't really solve the problem, because either one has to take ownership :P

Hmm, that's interesting. Moving seems a bit overkill so maybe a separate method for that?

A single FnMut(Some(&mut V)) then?

How'd you insert with that?

@brendanzab
What about
fn insert_map<F: Fn(Some(V)) -> V>(key: K, f: F)

What about:
fn alter<F: Fn(Some(V)) -> Some(V)>(key: K, f: F)

I like that.

That's what Haskell has anyway.

Update would be:
fn update<F: Fn(V) -> Option<V>>(key: K, f: F)

Should it return an Option<V> too?

Added alter.

Should it be FnOnce?

Gonna be a pain with semver now... perhaps you could 2.0 it, and remove upsert? 😓

@brendanzab It's fine. I've not removed upsert because I still think the ability to get a reference is useful, but they now take a FnOnce.


Try to reproduce flaky test

https://github.com/termbox/termbox2/runs/4954966559?check_suite_focus=true

Unforunately the logs got deleted and I don't remember what test even failed.
Error: The log was not found. It may have been deleted based on retention settings


Crash reporting using Hremes

Description
Reporting unhandled crashes in android with hermes enabled
Issue
Unhandled crash is not reported when hermes is enabled
Environment
Android, React-native 60, Hermes enabled
Library versions:
├─<EMAIL_ADDRESS>├─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>

cocoapods version (if any) (pod -v): NA
iOS/Android version(s): Android api version 28
simulator/emulator or physical device?: Physical device
debug mode or production?: production with hermes enabled

We are using hermes with react-native. Our code is like below:
try {
//Crash code
} catch(err) {
bugsnag.notify(err)
}

In debug mode and with hermes the crash is reported to bugsnag
If we disable hermes, Then crash is reported to bugsnag in production

The above crash is not reported ONLY WITH HERMES ENABLED IN PRODUCTION.
Note: Above crash is a unhandled crash. In debug mode we get red-screen. In release mode the app screen will become blank when the exception happens but if we navigate to previous screen the app works fine.
Please resolve this issue ASAP.

Hi @learnyst thanks for reaching out.
From your example code, it looks like what you are trying to report is a handled error, rather than an unhandled one. We have tested reporting errors to Bugsnag in this manner with Hermes in production mode, so we are unsure as to why this might be failing for you.
Can you please provide more information about what you are expecting to happen and what is actually happening (with screenshots and links as appropriate)? It would be helpful to see what the error is which is not being reported.
Are you able to provide us some additional information about your code where you believe the crash is not being reported to Bugsnag? and can you provide details of how you have configured Bugsnag in your application?

Closing since we're not able to reproduce. This is likely to be a misconfiguration issue which can be resolved by following this up with<EMAIL_ADDRESS>


Fails to create Newsgroups table; ssl not activated on the server...

info
git revision / version: 1
OS: Both: OpenBSD-6.5 && Ubuntu Disco
Architecture: x86_64
problem
While setting up srndv2, recieve error that script cannot create the table Newsgroups, because SSL is not enabled on the server.
SSL is enabled on both servers. Curious if there is another means of creating the needed table and/or loading the database template differently? Regardless, a work around is needed to create the missing table. Is it possible to disable the requirement of SSL on the server? Regardless, cannot run application or progress any further in configuration until this has been successfully achieved.
backtrace / error messages
Error messages: yes
cannot create table Newsgroups, pq: SSL is not enabled on the server, login was 'user=srnd password='SomePassword' host=<IP_ADDRESS> port=5432 client_encoding='UTF8''
Backtrace: no
How do you switch on debugging for srnd?

On Thu, May 09, 2019 at 01:11:44PM -0700, Anoduck wrote:

info
git revision / version: 1
OS: Both: OpenBSD-6.5 && Ubuntu Disco
Architecture: x86_64
problem
While setting up srndv2, recieve error that script cannot create the table Newsgroups, because SSL is not enabled on the server.
SSL is enabled on both servers. Curious if there is another means of creating the needed table and/or loading the database template differently? Regardless, a work around is needed to create the missing table. Is it possible to disable the requirement of SSL on the server? Regardless, cannot run application or progress any further in configuration until this has been successfully achieved.

try using a socket file instead of a loopback address that may work.

backtrace / error messages
Error messages: yes
cannot create table Newsgroups, pq: SSL is not enabled on the server, login was 'user=srnd password='SomePassword' host=<IP_ADDRESS> port=5432 client_encoding='UTF8''
Backtrace: no
How do you switch on debugging for srnd?

it does not have a debug mode at this time. so much crap it needs a good refactor but i don't have much time.

--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/majestrate/nntpchan/issues/178

Having difficulty getting postgresql to run solely in socket mode in OpenBSD. Going to get Ubuntu configured for socket only, and trying again.

info
Git revision: 1
OS variety: Ubuntu Disco
Architecture: Intel x86_64
problem
In Ubuntu, I get a slightly different error message. The setup script fails to initialize tls. What am I doing or not doing wrong?
Backtrace / Error Messages
Error Messages: Yes
failed to initialize tls: open certs/overchan-$HOSTNAME.crt: no such file or directory
Backtrace: No
Thank you for your help, kindness, time, and contribution.

On Thu, May 09, 2019 at 08:44:23PM -0700, Anoduck wrote:

info
Git revision: 1
OS variety: Ubuntu Disco
Architecture: Intel x86_64
problem
In Ubuntu, I get a slightly different error message. The setup script fails to initialize tls. What am I doing or not doing wrong?
Backtrace / Error Messages
Error Messages: Yes
failed to initialize tls: open certs/overchan-$HOSTNAME.crt: no such file or directory

does a directory called certs exist? if not create it, it should be auto made if it's not that's a bug

Backtrace: No
Thank you for your help, kindness, time, and contribution.
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/majestrate/nntpchan/issues/178#issuecomment-491145054

EUREKA! Finally! Success. It works!
Thank you, so much.

On Sun, May 12, 2019 at 06:12:13AM +0000, Anoduck wrote:

EUREKA! Finally! Success. It works!
if you need peering info email me for it.
Thank you, so much.
yw
--
You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
https://github.com/majestrate/nntpchan/issues/178#issuecomment-491567756

Emailed you for peer information, and am I suppose to close the issue or are you? Thanks again.

yeah you can close it if you want


More logging

Remove all remaining use of TraceListener for logging

@larshg Sorry - this one probably makes #680 even harder to merge - perhaps if you think this one's OK then we'll take this first and then the AD group logging stuff from 680?


Theming

For avatar and avatar-group

Lumo
Material
should use user colors defined by the theme
themable parts?

not for now unless we come up with something important

Lumo theme should have predefined size variants, for both vaadin-avatar and vaadin-avatar-group.

theme="xlarge" → --lumo-size-xl
theme="large" → --lumo-size-l
default → --lumo-size-m
theme="small" → --lumo-size-s
theme="xsmall" → --lumo-size-xs

When applied on the avatar-group, it should propagate the variant to all the avatar items. The sizing should affect the clipping mask as well, so that the overlap and the border/margin is always a full pixel value.

The Material theme will only have one size, which is 2.25rem (36px).

Note, that the sizing of the icon and the abbreviation in those size variants is not specific. That needs to be adjusted in code, so that it looks good in all sizes.
In the mockup, the smaller sizes have less padding around the icon and the abbreviation than in the bigger sizes. Not sure if that’s possible to achieve with computed sizing.


groups.close no longer works

I'm showing that the groups.close API is no longer working, and there seems to be an open issue on the Slack API spec for this:
https://github.com/slackapi/slack-api-specs/issues/12
Proposed solution: Remove this function from the library.

seems reasonable if it has actually stopped working. feel free to submit a PR.


feature request: store blockchain data/cache in normal application data store

Every time I get a new phone, I have to resync breadwallet.  I get a new phone several times per year.  It would be really nice if I could have the option to backup my key (if the iOS backup is encrypted, like health data and Google Authenticator data) and also the downloaded blockchain data, so that way when I restore onto a new device, it doesn't take hours to sync and receive my first payment.

its best that it resyncs when on a new device.It needs to be up to date

This is in progress - we are addressing it as part of our warp sync project.


Navigation within sub frame

I just want to ask, if you support navigation within subframe. What I want to say: Normally we have RootFrame and some pages in it. But let's say I have another Frame, in which I navigate to other subpages. Can your NavigationService work with other frames? I want to use it in ViewModel - so no this way: MyCustomFrame.Navigate(...). It would violate MVVM.

Yes, you can nav in a sub frame, but you cannot nav in multiple frames handle it custom.


Feature: Please add zoomOut option from the center

Hi,
I've set the transform-origin as Left top through CSS, and while zoomIn it starts from Top Left, but even at zoomOut it goes same. But I actually want it to zoomOut from center. So could you please add this feature and update me.
And Thank you for this easy JS.

This library relies on the transform-origin in the simple cases. Things get more complicated when the default transform-origin is changed. As I say in the docs, change the default origin at your own risk. Is there any way you can unset or restore the transform-origin and go from there?


Replace console logging with static central console logger, add more log statements

Logger can be completely disabled via CLI arg --enableLogging=false It is enabled by default.
Debug logging can be enabled via arg --debugLogging=true. It is disabled by default.
More log statements have been added.
All errors now use one function that by default logs the error as console.error(...) before throwing. This can be disabled.

@msujew this should be ready now.


Error "this video is not available in your country" but I'm able to watch it on youtube

I am trying to play the song Hello by Adele(Vevo) and get this error.
[XCDYouTubeKit] Video operation finished with error: This video is not available in your country due to a copyright claim by NPG Music Publishing. Domain: XCDYouTubeVideoErrorDomain Code:   150 User Info: {     NSLocalizedDescription = "This video is not available in your country due to a copyright claim by NPG Music Publishing.";     NSURL = "https://www.youtube.com/get_video_info?eurl=https://youtube.googleapis.com/v/EPV1QJvEuw4&hl=en&sts=16832&video_id=EPV1QJvEuw4"; } Optional(Error Domain=XCDYouTubeVideoErrorDomain Code=150 "This video is not available in your country due to a copyright claim by NPG Music Publishing." UserInfo={NSURL=https://www.youtube.com/get_video_info?eurl=https://youtube.googleapis.com/v/EPV1QJvEuw4&hl=en&sts=16832&video_id=EPV1QJvEuw4, NSLocalizedDescription=This video is not available in your country due to a copyright claim by NPG Music Publishing.})
The weird thing is that I am in the US and it isn't blocked in the US.

I have the same issue, all Vevo videos do not play. I believe this happened once before. YouTube has made some change and the author had to apply a fix.

The error says due to a copyright claim by NPG Music Publishing so I believe it’s not available at all. Can you watch it on YouTube in your web browser?
Also, the video with this error is Purple Rain (Original Performed by Prince & The Revolution), not Adele - Hello.
@SepiaApps I think you are talking about #231 which is already fixed in XCDYouTubeKit 2.5.1.

@0xced Yes, that was my issue, disregard my previous post. Thanks!


What is this .. can anyone help me understand ?.

You're probably already running no code without permissions.


Being able to hide subtotals columns when expanding.

Hey  @nagarajanchinnasamy
This time I'm trying to find the way to display subtotals columns only when collapsed. Once we expand I want to hide the subtotals column in order to see only the children. In the next example, Australia is expanded I therefore need to hide the subtotals columns (and values) highlighted in yellow.
Thanks !

Hi @Dams591 I've started working on this. You can track the progress in hide-on-expand branch. Work In Progress.
I have added a rendererOption called rowSubtotalDisplay: "HideOnExpand" to indicate hiding of subtotal rows when expanded. Please check 270_hide_subtotal_on_expand.html for an example.` The work is not complete yet.
Similarly, I will be adding colSubtotalDisplay: "HideOnExpand" for hiding column subtotals when expanded.
Will need couple of weekends to complete. Hope that estimate helps you :)

You are welcome :)
Pure css only solution was possible for rows. But for columns I could not find a solution only with css.
Still trying to figure out a generic logic to make it work for both row-subtotal-hide-on-expand and col-subtotal-hide-on-expand options. One specific race-condition i need to resolve. Very close...but not there yet :)

@Dams591, both rowSubtotalDisplay: "Hide On Expand" and colSubtotalDisplay: "Hide On Expand" are added and committed to hide-on-expand branch. Pls note the spaces between the words in "Hide On Expand"
Following examples are added:

examples/270_hide_subtotal_on_expand.html
examples/273_hide_subtotal_on_expand.html
examples/275_hide_subtotal_on_expand.html

Performance improvement and a bit of code clean up is pending.
Could you please check and let me know your feedback. Thanks :)

Amazing ! Let me review your changes I'll give you my feedback ASAP. Thank you so much for being so reactive !

I have made more commits with bug fixes. Pls take the latest version. I will be making couple of more commits before I merge this with master branch.

Feature supported as part of release v1.7.1 (Pull request #28)

@nagarajanchinnasamy I succesfully implemented it to my solution also made it compatible with multiple values. In case you are interested in having multiple values in your plugin one day check this out
http://codepen.io/anon/pen/YNVbJm?editors=0010
Thank you for your help on this, let's keep sharing the good stuff ! I'm heading to the position of the row subtotals as we speak I'll let you know asap.

@Dams591 Glad to know you could integrate your solution. Hope it was easy :)
I am still thinking of a generic logic for (or trying to understand) multiple values feature.
All the best on positioning row-sub-totals #12 . Points to remember are:

Current logic makes use of row-span, which is always upper-row-to-lower-row expansion in HTML
Expand and Collapse operations affect the parent header's row-span values

So, the secret is in buildRowHeaders, collapseRow and expandRow functions :)


Don't save project settings when not necessary

Fixes #45243
Resolves #45965

Thanks!

Cherry-picked for 3.2.4.


[SPARK-45786][SQL][3.3] Fix inaccurate Decimal multiplication and division results

What changes were proposed in this pull request?
This PR fixes inaccurate Decimal multiplication and division results.
Why are the changes needed?
Decimal multiplication and division results may be inaccurate due to rounding issues.
Multiplication:
scala> sql("select  -14120025096157587712113961295153.858047 * -0.4652").show(truncate=false)
+----------------------------------------------------+
|(-14120025096157587712113961295153.858047 * -0.4652)|
+----------------------------------------------------+
|6568635674732509803675414794505.574764              |
+----------------------------------------------------+

The correct answer is<PHONE_NUMBER>732509803675414794505.574763
Please note that the last digit is 3 instead of 4 as
scala> java.math.BigDecimal("-14120025096157587712113961295153.858047").multiply(java.math.BigDecimal("-0.4652"))
val res21: java.math.BigDecimal =<PHONE_NUMBER>732509803675414794505.5747634644

Since the factional part .574763 is followed by 4644, it should not be rounded up.
Division:
scala> sql("select -0.172787979 /<PHONE_NUMBER>45018957788294905796.5").show(truncate=false)
+-------------------------------------------------+
|(-0.172787979 /<PHONE_NUMBER>45018957788294905796.5)|
+-------------------------------------------------+
|-3.237521E-31                                    |
+-------------------------------------------------+

The correct answer is -3.237520E-31
Please note that the last digit is 0 instead of 1 as
scala> java.math.BigDecimal("-0.172787979").divide(java.math.BigDecimal("533704665545018957788294905796.5"), 100, java.math.RoundingMode.DOWN)
val res22: java.math.BigDecimal = -3.237520489418037889998826491401059986665344697406144511563561222578738E-31

Since the factional part .237520 is followed by 4894..., it should not be rounded up.
Does this PR introduce any user-facing change?
Yes, users will see correct Decimal multiplication and division results.
Directly multiplying and dividing with org.apache.spark.sql.types.Decimal() (not via SQL) will return 39 digit at maximum instead of 38 at maximum and round down instead of round half-up
How was this patch tested?
Test added
Was this patch authored or co-authored using generative AI tooling?
No

Should type coercion consider rounding?  I think there might be confusion on what truncate=false means but it's more about trimming a result - not a toggle to round when set to false.
@kazuyukitanimura would you get the result you want if your forced the result as an explicit cast to the default DecimalType decimal(38, 18)?

Thanks @jcdang

@kazuyukitanimura would you get the result you want if your forced the result as an explicit cast to the default DecimalType decimal(38, 18)?

Did you mean like Cast(x * y as Decimal(38, 18)I? It may not give a correct result depending on the data. The underlying issue is that there are two places that do rounding. MathContext and TypeCoercion. Let's say
x * y =<PHONE_NUMBER>789012345.678901234567890123456 (40 digits)
First x.multiply(y, new MathContext(38, HALF_UP)) will round it to<PHONE_NUMBER>789012345.6789012345678901235(38 dibits). Please note the last digits45are rounded to5[0]. Next casting (or type coercion) to decimal(38, 18)will round it again to7890123456789012345.678901234567890124(18 fraction scale). Please note the last digits35are rounded to4[0]. This is not correct because<PHONE_NUMBER>789012345.678901234567890123(no round up) should be the right answer because the original number was followed by456that is less than500`, there shouldn't be any rounding up.
This PR changes not to round with MathContext. Hopefully this clarifies. Some comments are here https://github.com/apache/spark/pull/43705/files#diff-87807d437248d04876eac9e116a527577f1a8e53e28337bf26423e5bf94630e1R567-R571

This is a backport of #43678 but Spark 3.3 decimal works differently from 3.4, need to update the tests more.

In any way, Apache Spark 3.3 will reach the end of life in two weeks.

https://lists.apache.org/thread/ml25jdzmtcl8r6fhg849zzmqz82qh3jw (Apache Spark 3.3.4 EOL Release?)

If you don't have enough time, we close this anyway, @kazuyukitanimura .

Thanks @dongjoon-hyun closing

Thank you for the decision.


[WIP] AWS Worker independent of database

@kegl @aboucaud @glemaitre this should be ready for review.
It's working locally, with code like this:
conf = read_backend_config(os.path.join(HERE, 'config.yml'))
worker = AWSWorker(conf['aws'], submission='local_starting_kit',
                       ramp_kit_dir=ramp_kit_dir)
worker.setup()
worker.launch_submission()
worker.collect_results()
worker.teardown()

which trains the submission and downloads the logs and predictions from amazon.
I didn't test the train_loop which is currently being used on the server (I updated it for the changes I made, but for sure there is something I will have missed). It would be nice to have a way to test this, but on the long term I think we also want to replace this code with a generic loop that uses the worker interface.

Hello @jorisvandenbossche! Thanks for updating the PR.

In the file ramp-engine/ramp_engine/aws/__init__.py, following are the PEP8 issues :

Line 1:30: W292 no newline at end of file

In the file ramp-engine/ramp_engine/aws/aws_train.py, following are the PEP8 issues :

Line 67:80: E501 line too long (88 > 79 characters)
Line 140:80: E501 line too long (87 > 79 characters)
Line 146:80: E501 line too long (84 > 79 characters)
Line 148:80: E501 line too long (92 > 79 characters)
Line 149:80: E501 line too long (87 > 79 characters)
Line 150:80: E501 line too long (88 > 79 characters)
Line 151:80: E501 line too long (93 > 79 characters)
Line 152:80: E501 line too long (82 > 79 characters)
Line 154:80: E501 line too long (88 > 79 characters)

In the file ramp-engine/ramp_engine/aws/ramp_aws_train.py, following are the PEP8 issues :

Line 21:66: W291 trailing whitespace
Line 24:80: E501 line too long (94 > 79 characters)
Line 24:95: W291 trailing whitespace
Line 27:80: W291 trailing whitespace
Line 33:80: E501 line too long (119 > 79 characters)
Line 48:73: W291 trailing whitespace
Line 70:28: W291 trailing whitespace
Line 87:80: E501 line too long (80 > 79 characters)

In the file ramp-engine/ramp_engine/aws/ramp_aws_train_loop.py, following are the PEP8 issues :

Line 36:80: E501 line too long (85 > 79 characters)

Some remaining waste from the merging.
ImportError while importing test module '/home/travis/build/paris-saclay-cds/ramp-board/ramp-engine/ramp_engine/tests/test_aws.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
ramp-engine/ramp_engine/tests/test_aws.py:16: in <module>
    from rampbkd.aws import AWSWorker
E   ModuleNotFoundError: No module named 'rampbkd'

I tested it locally and the tests (both just the worker, as integrated with the dispatcher) work.
There is only still a problem that, when used from the dispatcher or ramp-test, there are failures in connecting to AWS. Not yet fully sure why that is, but we might need to add some more retries or give certain actions more time.


Zoho Notebook notes are black text on dark gray?

Thanks!  Should be fixed now...feel free to re-open and attach screenshots if it's not


Feature/cwltool update

Updates cwltool to fix a couple of provisioning requests

[x] Check that you pass the basic style checks and unit tests by running mvn clean install

Coverage decreased (-0.004%) to 71.255% when pulling 7638b83e76278fd7ff92c74e03a61a11654046de on feature/cwltool_update into 09bd0dd529f97aebaf572172b5e092a1cd4c7c90 on develop.

Coverage decreased (-0.004%) to 72.773% when pulling 261680c3d1ff7746a31cb7fef67c51d01fa6318b on feature/cwltool_update into 8e1d12a212aa135c6e9bdce89f95af9a3a4bcc9e on develop.