Scroll position snaps to 0 for a frame when navigating away from a ScrollableGrid or ScrollableList

When you tap a recipe card from the main recipe grid, the scroll position briefly jumps back to the top before switching to the recipe page. I think this has something to do with ScrollableGrid. I've tried changing it to a Block instead, and I don't see the same issue.

cc @abarth in case this rings a bell

Interesting.  Doesn't ring a bell, but I'm happy to take a look if you'd like.

Using a ScrollableList in place of ScrollableGrid exhibits the same spazziness, but a ScrollableViewport does not.

Yeah, they share a lot of code.  It's probably in the common code between them.

Tracked it down to a new ScrollableState being created the instant of the tap. The new ScrollableState creates a new ScrollableBehavior that is unaware of the content and container extents (until handleExtentsChanged is called the next frame), so you see a flash where the scroll offset is clipped to 0 for these extents.

Passing a global scrollableKey to the ScrollableGrid fixed it.
I still think there's a bug here. We shouldn't be creating a new ScrollableState.

ScrollableViewport seems to be spared from this bug because its renderer (RenderViewport) has a onPaintOffsetUpdateNeeded callback to immediately adjust the paint offset in response to viewport changes. ScrollableGrid's renderer doesn't have this callback, so there's a frame of paint that happens with a paint offset of 0 before the viewport bounds are updated.

You can see this issue with the Grid and List demos in the Gallery app. Anytime you navigate away from a scrolled grid or list (with with a nonzero scroll offset), it snaps back to 0 for a frame before navigating. This includes navigating back.

Looking into this more, I'm seeing another problem. ScrollableGrid (and ScrollableList) clamps the scrollOffset to the content's size in its build function. But we don't know the content's size until layout. We then have 1 frame of paint before the grid is rebuilt to accommodate the actual content size calculated in the first layout.
This order seems wrong to me. We shouldn't clamp the scroll offset until we know the actual bounds after the first layout.

Yes, that seems wrong.  We should probably pass through the unclamped value and clamp it later once we know how big things are.

The rendering side is supposed to do a synchronous callback during layout with the actual numbers to get the scroll offset updated. Search foc onPaintOffsetUpdateNeeded.

There is a synchronous callback (though ScrollableGrid and ScrollableList call it onExtentsChanged). The problem is that it updates the extents, but the paint offset is still based on a Widget's scrollOffset - which has been clamped to 0 at build time. We have to wait for a rebuild (triggered by that synchronous callback) before getting the proper scrollOffset.

the callback is supposed to return the paint offset to actually use, IIRC.

The ScrollableList/ScrollableGrid versions don't, but even if they did, it would get overwritten here.

Doesn't that line mean that we are updating it before paint, rather than wait for the rebuild?

Yes, it's updating. But it's updating based on the widget's scrollOffset, which has been clamped to 0 during the first build. We have to wait for the rebuild for the scrollOffset to be clamped again based on the updated content size.

Actually, I think I can paper over this by having onExtentsChanged update the paintOffset after that line (_updatePaintOffset). I might do that to fix this bug, though I still think ClampOverscrolls is a problem.

We shouldn't paper over it, we should find the real fix.
I don't understand why we have to wait to rebuild. Why do we need to clamp during build? Why can't we just proactively do whatever it is we are supposed to do to find the clamped value, in response to the callback?
How does this work for the other scrollable widgets? We should just use that same solution here, if we have something that works and it is appropriate here too.

AFAICT the other scrollable widgets paper over this problem in the same way (they update paintOffset in response to onPaintOffsetUpdateNeeded). The first build always has an invalid scrollOffset and paintOffset.

I don't understand why we have to wait to rebuild. Why do we need to clamp during build?

I think that's the problem. We shouldn't be clamping during build, but that's how ClampOverscrolls currently works.

Let's change that then. :-)

Just spoke to @HansMuller . This is a bit more complicated. There's a circular dependency between the scrollOffset and the content size: LazyBlock needs to know the scrollOffset to decide what to draw, which determines the content size. And as I pointed out above, ClampOverscrolls needs the content size to clamp the scrollOffset. A proper fix might need to do layout in multiple passes (layout to find the content size, clamp the scroll offset, layout again at the new scroll offset, paint).

I wonder if https://github.com/flutter/flutter/issues/4430 would provide a solution. (I haven't thought about this specific case in that context yet.)

Found the 2 root causes of this bug. Summarizing here for posterity.

The ScrollableGrid is wrapped by a OverscrollIndicator (Android-only). When we navigate away, this indicator animates, which changes its build function. It returns a new CustomPaint(child: child) rather than the child directly. This causes the Scrollable to be rebuilt and its old ScrollableState to be discarded. This combines with 2 to cause the bug.
ScrollableGrid's Scrollable is wrapped by a ClampOverscrolls widget. This widget uses the content size to clamp the scrollOffset. Since we discarded the ScrollableState in 1, the content size is 0, so we clamp the offset to 0.

Possible fixes:

Always return have OverscrollIndicator return a new CustomPaint, so the hierarchy never changes. This way, we never rebuild the Scrollable.
Redesign ClampOverscrolls to layout the content before clamping the scrollOffset, so we know what size to clamp to.


[chore] Add Additional Conventions to purefa-metrics Specification

This is the continued work for the convention document in /specification/metrics/purefa-metrics.md
-- To note, some of the metrics desc don't match up here to the descriptions that are exported. I will open an issue to make sure they get synced at a later date.

@james-laing to review documents.

#57 to track the audit of metrics descriptions exported.

Looks really clear. Good work @chrroberts-pure.


Cannot save config bool on v1.5.1

Hi there,
Merry Christmas :)
I just upgrade to v1.5.1 and try to add bool parameter and int parameter to config but it bool param won't save, int param OK.
EDIT: I found issue with main.js which is not create json data properly.
Here the code I edit. (I'm not expert in anyway so, wait for developer to come up with better solution lol)
  $.fn.serializeObject = function() {
    var o = {};
    var a = this.serializeArray();
    $.each(a, function() {
      var input = document.getElementsByName(this.name);
      var value = this.value;
      var dataType = input[0].getAttribute("data-type");
      if (dataType == "number") value = parseFloat(value);
      //The following line was added
      if (dataType == "bool") {
		  value = (value=="true" || value==1)? true:false;
      }
      //End
      if (o[this.name]) {
        if (!o[this.name].push) {
          o[this.name] = [o[this.name]];
        }
        o[this.name].push(value || '');
      } else {
        o[this.name] = (value==null) ? '' : value; // This line was changed
      }
    });
    return o;
  };

Yeah, this is one of the reasons that data-type attribute was in there. There is probably a more elegant way to do this in JS, but this works ;)

@nrwiersma
It does correctly save data but it does not have JS to set value (checked) for boolean checkbox.

@te260701  This is now fixed.


add feature gate ClusterInit

What type of PR is this?
kind/feature
What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e2ffa5f) 13.60% compared to head (04994a5) 13.08%.
Report is 122 commits behind head on main.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #766      +/-   ##
==========================================
- Coverage   13.60%   13.08%   -0.52%
==========================================
  Files          66       78      +12
  Lines        7492     8859    +1367
==========================================
+ Hits         1019     1159     +140
- Misses       6391     7614    +1223
- Partials       82       86       +4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


feature request: support for pnpx and pnpm

Why this feature is required (specific use-cases will be appreciated)?

Projects using pnpm workspaces currently can't use the starter template as the installer uses npm to install the dependencies.
The npm dependency requirements (the requirements are not getting installed with pnpm import

Have you tried any other workarounds?

Currently, to make it work, I'm having to manually install the required packages to run the server in my devDependencies.
An example project I've fixed with the workaround is here https://github.com/mrsauravsahu/mrsauravsahu.github.io - you can check the @mrsauravsahu/blogs package

Are you willing to work on it with little guidance?

Would love to, but this depends on how complex the solution turns out to be. The solution could also be also related to how pnpm handles dependencies

Steps to reproduce

Create a start project (pnpx create-adonis-ts-app sample)
Remove npm dependencies (rm -rf node_modules)
Import dependencies with pnpm (pnpm import)
Install dependencies with pnpm (pnpm i)

The start command node ace serve --watch should give you an error like shown.

The workaround is to carefully install package into devDependencies with pnpm i -D <package-name>

Hey @mrsauravsahu! 👋
AdonisJS does not work yet with pnpm with their way of installing dependencies.
I'd recommend installing the dependencies using the flag--shamefully-hoist to make it work seamlessly with pnpm.
pnpm i --shamefully-hoist

This works nicely for now. Thanks @RomainLanz.
Closing this.


Shift+E creates Polygon E in some cases

Reported here: https://github.com/scverse/spatialdata-plot/issues/230.
Though it was not a problem anymore; I'll look into this.

I could reproduce. We could use .force_2d() from geopandas but it is only available in main and not 0.14.3. I will add shapely>=2.0.3 as a requirement where .force_2d() is available and implement this manually.

Fixed in https://github.com/scverse/napari-spatialdata/pull/228 both for points and polygons (multipolygons can't currently be drawn).


Hi! How to perform the resulting transformations to the original color images? Thanks

You can apply the warp_image function from utils.py on each channel independently.


update multi-variants search & optimize comparisonGenerator

This PR mainly addresses the issue around searching across variantSets without needing to specify a list of variantSetIds, as well as the extremely slow search/count queries due to the inefficient use of proto-to-json conversion.
Features:

VariantsGenerator now recognizes datasetId as a shortcut to search across ALL variantsets associated with the designated dataset. A dataset authorization check has also been added.

Bug fixes:

Previously, operator contains was incorrectly named as in. This has been renamed. in operator is still accepted, but only if a list of values is specified, an exception is thrown otherwise.

Previously, a MessageToDict is done every time an object gets passed into the comparisonGenerator, which slows things down.

Previously, there was no strict sanitation check on filters. This issue has now been addressed within the filtersValidator.

Previously, the BadRequestException does not communicate the error messages back to the clients, even though it has been used extensively... This issue is now fixed.

Previously, there was no dataset authorization check under the generators of variants/variantsByGeneName. This has been been fixed.

Client side update

Updating the request format to conform to the new changes to the API.
Re-worded the error messages.
Point the igv.js to <IP_ADDRESS> that is hosted on distributedgenomics.ca

Note:
This PR is related to issues https://github.com/CanDIG/ga4gh-server/issues/116, https://github.com/CanDIG/ga4gh-server/issues/112

Codecov Report

Merging #118 into develop will decrease coverage by 0.13%.
The diff coverage is 54.08%.

@@             Coverage Diff             @@
##           develop     #118      +/-   ##
===========================================
- Coverage    82.89%   82.76%   -0.14%
===========================================
  Files           37       37
  Lines        17302    17350      +48
  Branches      1633     1644      +11
===========================================
+ Hits         14343    14360      +17
- Misses        2335     2358      +23
- Partials       624      632       +8

Impacted Files
Coverage Δ

ga4gh/server/exceptions.py
98.88% <100%> (ø)
:arrow_up:

ga4gh/server/backend.py
73.21% <52.12%> (-1.5%)
:arrow_down:

Continue to review full report at Codecov.

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

Everything looks good to me.


global config with merge

As suggested on my last PR, now I've used a different approach.

We have a global configuration folder inside user $HOME/.mainframer;
Each configuration will first be taken from local .maframer folder, and if it is not set there, then and only then it will the global configuration;
Ignore files are not going to be merged, it will either use the local one, or use the global if it does not exists;
If a directory does not contain a local .mainframer with a config file folder, then mainframe will not run, but it will run even if the config file is empty when all configs are available on global config.

Known issues:

User still able to run mainframer inside $HOME dir, as it has its "local" .mainframer folder, not sure if we should add a check for it;

I hope it makes more sense.

I've just seen the new PR to rewrite the tool in Rust, so there is probably not much value on keeping this PR.

Well, we'll write this functionality in Rust yes, but I still wanted to merge this PR if you could add integration tests, because we can reuse them :)

@Pozzoooo so what do you think about adding integration tests for this so we could merge it? :)

Sounds good, gonna try to do it over the weekend

Awesome! Even if we merge Rust PR first, I'd just rebase this one and pick up the tests
To run tests you just need Docker and then you can run them by executing ci/build.sh :)

I've sent some work in progress, couldn't finish it all over the weekend... my idea is to replicate that for all the global's ignore and config files and then add some more specific ones to make sure the locals are overridden the global.

@artem-zinnatullin
Sorry for the long delay, but there it goes.
I have created tests for the 3 ignore files and the config file.

Quick update:
I've created separate issue to track and discuss this feature #213, specifically I want to make sure we agree with folder name and behavior.
I'm still planning to merge this PR (I'll only pick integration tests as code change is now out of sync with Rust version)
No action required from you :)

Probably too old by now, and I think I messed up with the branch I used to create the PR

Don't worry, would be great if you could review the PR with this for 3.x once we start it :)


Fix/intl date parsing p+ tokens

This fixes #1774.
This PR updates date-fns and uses its new feature of parsing dates based on locales using p+ tokens for the format string.
Also, I've included one new step in the parse fallback with this piece of code:
dateFormat = dateFormat
  .match(longFormattingTokensRegExp)
  .map(function(substring) {
    var firstCharacter = substring[0];
    if (firstCharacter === "p" || firstCharacter === "P") {
      var longFormatter = longFormatters[firstCharacter];
      return localeObject
        ? longFormatter(substring, localeObject.formatLong)
        : firstCharacter;
    }
    return substring;
  })
  .join("");

  parsedDate = parse(value, dateFormat.slice(0, value.length), new Date());

What this does is before the new Date(value) fallback (which only works for mm/DD/yyyy dates) we try applying a subset of the format string to the value. If this works we use this result as the parsedDate and if not we the new Date(value) fallback.

@martijnrusschen Do you mind taking a look at this too? I am really needing this to launch an internationalization feature in my project.

Looks like the build is failing, can you look into that?

@martijnrusschen Apparently, those tests are already failing in the master branch.

Nevermind, I think I got the problem. Even in the master branch, I was using the updated date-fns version. Totally my bad.
I will take a look into this.

@martijnrusschen I think now it's all set!

Thanks!

When will a version with this change be deployed?


Q: Scene States

Is the Scene Light State properties supposed to be null or should i be seeing the light state of the Scene?
If i get a light, in the State properties i can see the colour properties but i cannot see this for a Scene.
Im trying to set the light colours to a scene colour.

Which api call are you using?
Getting all the scenes? Or do you get a single scene by id?

Hi,
Below is the code I'm using

GetScenesAsync() returns all the scenes I need however when looping the returned scenes the light state is missing

GetSceneAsync(scene.Id) returns the light states but the properties are all the same on each loop.

How can I get the colour values of a scene so I can send a light command to change their colour?
// Add scenes
IReadOnlyCollection scenes = await client.GetScenesAsync();
foreach (Scene scene in scenes) // doesnt show light states
{
Scene se =  await client.GetSceneAsync(scene.Id); // Light states shown but are the same on each loop
SceneCollection.Add(scene);
}
Kevin

There's a bug in your code here:  SceneCollection.Add(scene);
It should be:  SceneCollection.Add(se); because else you're not using the detailed scene info you just requested.
When you use GetScenesAsync it only has basic info about the scene.
Using GetSceneAsync returns all detailed info about a scene, including lightstate.

Scene se was just a test to see if i was able to retrieve the full details. Thanks though
When i get a scene say Spring Blossom, the light state colours are not the same if i was to set them from the phillip Hue app.
I want to be able to get the default scenes and colouring so i can set the lights to these colours. Is there a specific reason why the colours are not correct?
Spring Blossom is coming out as a red colour and not the pink
Kevin

Check how the colors are set, which colormode is used.
XY, Hue + Sat or CT value
You can also apply the scene and read the values from the lights?


Fix off-by-one error and documentation in Huckel guess.

This PR fixes an off-by-one error in the Huckel guess, improves the documentation - orbitals, not density matrices - and splits the implementation into one step that builds the Huckel basis and another that assembles the core matrices.
The minimal atomic basis produced by the routine could be used to replace the minao guess as soon as the SAD algorithm supports ECPs.

Since formation of the minimal orbital basis has already been split into two, this pull is now just a one liner and should be mergeable straight away @sunqm


STYLE: Introduce "error_word" ivar

This commit is done anticipating follow-up improvements.

@dave3d  This is ready for review and integration. Thanks for your time :pray:


pom.xml: make junit-vintage a test dependency

Summary
Make JUnit a test dependency. This
Checklist

[n/a?] Added changelog entry
[/] Ran unit tests (rake test:unit)

Hi @jamesbroadhead - Thanks for opening this PR! We've added/tested this internally and it will be included in the next release.


HHH-17314 - Add a configuration option to ignore jdbc parameters

in native queries

https://hibernate.atlassian.net/browse/HHH-17314

In my opinion this should not be a global configuration setting, it should just be a query hint.
Global configs tend to be too coarse-grained, and make it easier to break programs.

In my opinion this should not be a global configuration setting, it should just be a query hint.
Global configs tend to be too coarse-grained, and make it easier to break programs.

This was my first thought as well, but there is a chicken-egg problem - this scanning happens when the NativeQuery reference is built but you need the NativeQuery reference to set the hint

In my opinion this should not be a global configuration setting, it should just be a query hint.
Global configs tend to be too coarse-grained, and make it easier to break programs.

This was my first thought as well, but there is a chicken-egg problem - this scanning happens when the NativeQuery reference is built but you need the NativeQuery reference to set the hint

Now we could offer the ability to specify hints while creating the Query refs.  But that would not be standard - maybe something to consider for JPA itself.  On the down side, though, yet another dimension of overloading .


Fix tpu cleanup

What does this PR do?
When running the periodic cronjob to clean up any orphaned GKE jobs, first check if any such jobs exist before trying to delete.
I temporarily added the cleanup job to the jobs that run for every commit to see if the change looks OK. I'll remove before submitting.
Before submitting

[ ] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
If we didn't discuss your PR in Github issues there's a high chance it will not be merged.
Did you have fun?
Make sure you had fun coding 🙃

I think the new version of cleanup-gke-jobs works; syntax doesn't crash, it runs, doesn't error if no jobs to cleanup:
https://app.circleci.com/pipelines/github/PyTorchLightning/pytorch-lightning/9518/workflows/dea2a6af-740e-4bd7-b828-cfd7ab37acb3/jobs/53637


Create animas table

In this PR :

[ ] I create an animals table.

[ ] I Insert some animals into the table.

[ ] I create all the necessary queries

Here is the screenshots :

I forgot to push the README file 😫


Easy REST api hooks

Consider adding an easy way to tie in to REST apis the way "admin on rest" dashboard does!
Reference: https://github.com/marmelab/admin-on-rest

@scottsanchez thanks, we'll have a look)

Will consider adding this to our roadmap. Thanks @scottsanchez !

Hey @jean-moldovan,
Is there any update on this?


[Idea] View/Component Composers

One thing which would be helpful in my specific application would be having a feature such as the view composers in Laravel. Currently I'm building a simple solution to do this in my own project, but I'm wondering if there would be any interest of putting this in the core?
I'd be happy to create a pull request for this.
Let me know what you think!

What specifically do you mean—preassigning data to specific page components, similar to sharing (global) data?

Exactly that!
Currently I have a group of pages which require the same dataset. Since it's quite a lot of data I don't want to include this on every response using share() but bind it to a specific set of components.
Ideally I'd even have access to the props originally passed to the render() method.

@reinink the idea is:
replace a Laravel view with a inertia page and use everything from the core the way it is?
 View::composer(
            'Pages/Profile/*', 'App\Http\View\Composers\ProfileComposer'
        );

Applies the Composer to all Inertia Components.

One option is to use the existing Inertia::share() functionality, and simply pass the current Inertia\Response as an argument.
Inertia::share('mydata', function (Inertia\Response $response) {
    if ($response->component === 'Users\*') {
        return [
            // some data
        ];
    }
});

Only issue there is this will always return the mydata key.

I've created a small demo version of my idea here rojtjo/inertia-laravel. Currently it only works using Closure based composers and without wildcard components.
Usage would be something like this:
Inertia::composer('Foo/Bar', function (Response $response) {
    $response->with('foo', 'bar');
});

// Or bind it to multiple components
Inertia::composer(['Foo/Bar', 'Foo/Baz'], function (Response $response) {
    $response->with('foo', 'bar');
});

@reinink , I can not get the correct result:
Inertia::share([
            'something' => function (\Inertia\Response $response) {
                return $response->component;
            },
]);

It returns: 'Unresolvable dependency resolving [Parameter #0 [  $component ]] in class Inertia\Response'

Just adding a discussion I had on Twitter, related to this:
Brad:

Sorry to bug. I can't seem to figure this one out or figure an answer.  Inertia - I have a Modal that needs access to a simple Eloquent Model. However, this modal can be clicked from all the views. Like a Global Modal. Should I use AppServiceProvider? I guess its only 1 query, so not a big deal.
In case it helps, I'm pasting a screenshot of the use case. In the Modal, I need access to AccountTypes but this should be available on All views (ie button on left side nav - create a new accout).

Me:

Hmm, great question.
I think if it's required on ALL views, I'd simply include this information on every request using the shared data functionality.
However, if it's only going to be shown on some pages, I might be inclined to simply load the required data via a classic xhr request when the modal opens.
It's honestly an interesting problem. It makes me think that it might be worthwhile to have some type of "view composer", that would allow you to only share data based on the component name.

Brad:

Thanks for the reply. Yah, I struggled with it for a bit, and then I opted to go for the AppServiceProvider option.

That's actually an interesting use case which I ran into myself recently. I opted to just include it everywhere for now even though it's not a clean as I'd hope it would be.
View composers can never really work the same as they do in Laravel though, mainly because Laravel will never know which components your 'page' uses. Which makes my earlier solution not suitable for these kind of issues.
My use case, which gave me this idea in the first place, was that I have a group of 'pages' which all require the same submenu. Normally I would just use Inertia::share() in the constructor of my controller but in this case the 'pages' were spread over multiple controllers.

I'm sure more complex use cases can and will arise, but the cases outlined in this thread so far (1. Account types, for a picker, 2. a navigational sub-menu) do not strike as cases that necessitate reaching into the database and sending back the data / models repeatedly... at least in the scope of a given user session; which is really just to corroborate that a "global" (or broad) share mechanism ala Laravel's view composers would be welcome...
And I have more experience with those, than with Inertia sharing patterns. To be able to use familiar laravel constructs and patterns and have it "just work" would be attractive, like this idea of hooking into view composers.

I did came across the need to reuse the same set of shareable data set for different components. I will share the solution that I have come across which is working for me and may find this useful to anyone else finding this issue.
I used the Larave's powerful macroable feature already included with Inertia.
Inertia::macro('composeWith', function(string $component, array $composeables = []) {

            foreach($composeables as $composeClass) {
                if(class_exists($composeClass)) {
                    $class = new ReflectionClass($composeClass);
                    if($class->implementsInterface(Shareable::class)) {
                        // the Shareable interface ensures that the method share is available
                        (new $composeClass)->share();
                    }
                }
            }

            return Inertia::render($component);
});

and here is how I have used it in the controller
return Inertia::composeWith('Auth/Login', [
      LoginView::class,
     // add more shareable classes
]);

This way it is more controllable on to which commonly shareable set of classes to use and this also gives flexibility to use the same set of shareable classes with different set of components.
Also note that inside the share method of the shareable class, it just uses the share method provided in Inertia to share the data you need as normally you would do elsewhere.

I really like how clean it's usage looks! You could even replace (new $composeClass) with app($composeClass) to allow dependency injection.
You might have to watch out when using Laravel Octane though as the ResponseFactory is bound as a singleton. This would mean that all following requests would receive all the previously shared data which could contain sensitive data.
This could be solved by tweaking your macro a bit and pass the created response to the share method. Then you just use the with method on the response to add extra props.
Inertia::macro('composeWith', function (string $component, array $composeables = []) {
    $response = Inertia::render($component);

    foreach ($composeables as $composeClass) {
        if (class_exists($composeClass) && $composeClass instanceof Shareable) {
            app($composeClass)->share($response);
        }
    }

    return $response;
});


Email Templates

Should have their own template directory outside of app, like app/layouts/*.html

I don't completely understand what this is referring to.

At one point we are going to start start sending emails to do various things like confirming reservations and reminding people of their reservations. We can use Django's templating engine to do this.
It is a common thing for email clients to be able to be styled with inline CSS to a limited extent. This stack overflow question should be a good resource on some good practices and limitations of the medium.
https://stackoverflow.com/questions/2229822/best-practices-considerations-when-writing-html-emails
You don't actually have to work on sending emails, I am already working on #103 which handles this.


Website: Typography for Text Input

Summary of the bug
Text input should be wrapped in a ic-typography tag

After investigation, this is deemed no longer an issue.


IInvoker and IDispatcher rename

Have you considered renaming the IInvoker and IDispatcher interfaces to something more Magneto specific, such as IMagnetoInvoker and IMagnetoDispatcher?
I'm wrestling internally with such a change but looking through the samples it comes across as very vague
and ambiguous type, plus there's an additional benefit (albeit minor) gained from increased memorability and awareness of the library (similar to the IMediator interface seen in alternatives such as MediatR).
cc @slang25

Only just seen this issue. It's a good suggestion and worth considering 👍

I'd like some suggestions for this, other than IMagnetoInvoker and IMagnetoDispatcher (because I think those names are a little too long and not catchy enough). I'm also thinking of combining those into one interface/implementation. I was thinking of calling it IInvoke so that your field would be named _invoke and usage would be nicely readable like:
var user = _invoke.Query(new UserById { Id = 1 });

Another idea is to call it IConnector. What do you think?

I agree (IMagnetoInvoker) is a little long, I couldn't think of anything shorter that has the name Magneto in it, which is what I feel should be added considering it's the main entry point API to the Magneto. What about IMagneto.Invoke and IMagneto.Dispatch?


#2 Top Month Always Empty (Archive Sidebar)

Removed +1 from line 8 of lib/archives/app/views/archives_sidebar/_content.html.erb.  Is now:
<%= link_to"#{month[:name]} #{counter}".html_safe,  articles_by_month_path( month[:year], "%02i" % (month[:month]) ) %>

Have you tested this code?


Safesnap amounts setting not consistent with UI input

A user report TX amounts not consistent with UI input

Link to the proposal: https://snapshot.org/#/kittyparty.eth/proposal/0x3d004a387cb9e777eaa87694a00a914fcd3e7741e462fdf9f134f1e1daf15a57
Discord:
https://discord.com/channels/707079246388133940/747049240022482974/950642754092949536
My notes:
Something is wrong with transaction data and its hashes, the hash is null
https://cloudflare-ipfs.com/ipfs/Qmcsw9P3RXJdTSMxpiNbhvoRpMdoiepq7w7JeF5GJYCAPf
User says they were using snapshot UI only

cc @carlosfebres

I'll take a look at this, thanks for reporting

I remember there was some change in how values are displayed in Safesnap recently but can't find the pull request.

I think Matic USDT is 6 decimals

https://github.com/snapshot-labs/snapshot/blob/develop/src/plugins/safeSnap/utils/coins.ts
need to update at line 13 18 -> 6

PR here: https://github.com/snapshot-labs/snapshot/pull/1920

https://github.com/snapshot-labs/snapshot/blob/develop/src/plugins/safeSnap/utils/coins.ts need to update at line 13 18 -> 6

Thanks good catch

@metrox-eth I created this PR to fix this issue.
Unfortunately, another proposal with these transactions will need to be created.

@metrox-eth I created this PR to fix this issue. Unfortunately, another proposal with these transactions will need to be created.

yeah. I will create another proposal. let me know when it deployed


Move switchlink globals to a common file

Collect the defining instances of g_default_vrf_h, g_default_bridge_h, and g_cpu_rx_nhop_h in a common source file, to provide a single point of definition for use in both krnlmon and unit tests.

IMO, global variables are risky and its exposure should be as minimum as possible given the fact that it can be modified from anywhere within the program. Now including these variables with each and every test case executable increases the chance of it getting modified and later on debugging would become scary if these test cases scale to a very high number. Instead I would suggest, each and every test case executable should have their own copy/version of  these global variables available in a totally different compilation unit, which they can simulate or modify based on their test requirements, without touching or impacting the global variables of actual source code.

You are correct. Global variables are risky. They are also one of the things that make unit testing difficult.  There are better solutions, but they require making more sweeping changes to kernel monitor. Right now, I want to focus on creating unit tests. They provide value to us as developers, and they are a specific deliverable for the next release.
You can't limit exposure to global variables. Every piece of code in krnlmon (or infrap4d, for that matter) has access to them. Any source file that #includes switchlink.h has access to the declarations. Burying the variables in the test program is no better than burying them in switchlink source files. Global is global, no matter where you define the variables.
Separating the global variable definitions from the source and test programs allows us create the executable we need by combining the necessary components, and it gives us a single copy of the defining instance. It's also an improvement in modularity. It's a safe and inexpensive way of making a small improvement to the code.

Yeah, you can access it anywhere but that doesn't mean you should. Imagine the complexity it will have if we run into debugging some bug related to these variables and see these are getting accessed in 20 such files. But I guess that's the trade-off with global variables. If you are confident with this approach, then let's go ahead with it.


MODRINTH_PROJECTS option skips fabric-api

Describe the problem
The container is skipping downloading some of the mods from modrinth, for example: fabric-api.
I tried starting a new container with empty volume and have the same problem.
I tried appending a specific version but same problem.
I checked here: https://api.modrinth.com/v2/project/P7dR8mSH/version?loaders=["fabric"]&game_versions=["1.19.4"] and the proper versions appear, thinking the mod dev miscategorized something.
Container definition
    environment:
      TYPE: "FABRIC"
      FABRIC_LOADER_VERSION: 0.14.19
      FABRIC_LAUNCHER_VERSION: 0.11.2
      VERSION: "1.19.4"
      OVERRIDE_SERVER_PROPERTIES: "true"
      MODRINTH_PROJECTS: "fabricproxy-lite,geyser,fabric-api,carpet,lithium,sodium,krypton,starlight,ledger,fabric-language-kotlin,ferrite-core,memoryleakfix,luckperms,leukocyte"
      MODRINTH_DOWNLOAD_OPTIONAL_DEPENDENCIES: "true"
      MODRINTH_ALLOWED_VERSION_TYPE: "release"

Container logs
[init] Resolved version given 1.19.4 into 1.19.4 and major version 1.19
[init] Resolving type given FABRIC
[mc-image-helper] 07:58:25.167 INFO  : Downloading FabricProxy-Lite-2.5.0.jar
[mc-image-helper] 07:58:25.677 INFO  : Downloading fabric-carpet-1.19.4-1.4.101+v230319.jar
[mc-image-helper] 07:58:25.810 INFO  : Downloading lithium-fabric-mc1.19.4-0.11.1.jar
[mc-image-helper] 07:58:26.046 INFO  : Downloading sodium-fabric-mc1.19.4-0.4.10+build.24.jar
[mc-image-helper] 07:58:26.146 INFO  : Downloading krypton-0.2.2.jar
[mc-image-helper] 07:58:26.300 INFO  : Downloading starlight-1.1.1+fabric.ae22326.jar
[mc-image-helper] 07:58:26.565 INFO  : Downloading ledger-1.2.7.jar
[mc-image-helper] 07:58:26.651 INFO  : Downloading fabric-language-kotlin-1.9.3+kotlin.1.8.20.jar
[mc-image-helper] 07:58:26.851 INFO  : Downloading ferritecore-5.2.0-fabric.jar
[mc-image-helper] 07:58:26.978 INFO  : Downloading memoryleakfix-fabric-1.17+-1.0.0.jar
[mc-image-helper] 07:58:27.109 INFO  : Downloading LuckPerms-Fabric-5.4.66.jar
[mc-image-helper] 07:58:27.252 INFO  : Downloading leukocyte-0.3.5+1.19.4-rc2.jar

Ah, the embedded designation seems to be confusing it. It skips it as a dependency, but apparently I'm not accounting for it being an explicit project:

I'll work on a fix for this.

Works for me now. Thank you for the work you put into this project!


[release/1.6] Update x/net to 0.13

This silences govulncheck detecting
https://pkg.go.dev/vuln/GO-2023-1988.
containerd only uses x/net for context and httpcontext which do not render html.
Before this change:
$ govulncheck --mode binary bin/containerd
Scanning your binary for known vulnerabilities...

Vulnerability #1: GO-2023-1988
    Improper rendering of text nodes in golang.org/x/net/html
  More info: https://pkg.go.dev/vuln/GO-2023-1988
  Module: golang.org/x/net
    Found in<EMAIL_ADDRESS>    Fixed in<EMAIL_ADDRESS>    Example traces found:
      #1: html.Render

Vulnerability #2: GO-2022-0619
    Authorization bypass in github.com/emicklei/go-restful, go-restful/v2 and
    go-restful/v3
  More info: https://pkg.go.dev/vuln/GO-2022-0619
  Module: github.com/emicklei/go-restful
    Found in<EMAIL_ADDRESS>    Fixed in<EMAIL_ADDRESS>    Example traces found:
      #1: restful.CrossOriginResourceSharing.Filter

Your code is affected by 2 vulnerabilities from 2 modules.

After this change:
$ govulncheck --mode binary bin/containerd
Scanning your binary for known vulnerabilities...

Vulnerability #1: GO-2022-0619
    Authorization bypass in github.com/emicklei/go-restful, go-restful/v2 and
    go-restful/v3
  More info: https://pkg.go.dev/vuln/GO-2022-0619
  Module: github.com/emicklei/go-restful
    Found in<EMAIL_ADDRESS>    Fixed in<EMAIL_ADDRESS>    Example traces found:
      #1: restful.CrossOriginResourceSharing.Filter

Your code is affected by 1 vulnerability from 1 module.

The remaining vulnerability is also a false positive: https://github.com/containerd/containerd/issues/8168#issuecomment-1514162291

CI is failing, not sure if relevant to this commit though
+ build
# github.com/containerd/containerd/cmd/containerd
C:\hostedtoolcache\windows\go\1.1[9](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:10).12\x64\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-1207348495\000007.o: in function `_cgo_preinit_init':
\\_\_\runtime\cgo/gcc_libinit_windows.c:40: undefined reference to `__imp___iob_func'
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-1207348495\000007.o: in function `x_cgo_notify_runtime_init_done':
\\_\_\runtime\cgo/gcc_libinit_windows.c:105: undefined reference to `__imp___iob_func'
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-1207348495\000007.o: in function `_cgo_beginthread':
\\_\_\runtime\cgo/gcc_libinit_windows.c:149: undefined reference to `__imp___iob_func'
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-1207348495\000008.o: in function `x_cgo_thread_start':
\\_\_\runtime\cgo/gcc_util.c:18: undefined reference to `__imp___iob_func'
collect2.exe: error: ld returned 1 exit status

mingw32-make: *** [Makefile:202: build] Error 1
+ bin/ctr.exe
+ bin/containerd.exe
# github.com/containerd/containerd/cmd/containerd
C:\hostedtoolcache\windows\go\1.19.12\x64\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-3358207133\000007.o: in function `_cgo_preinit_init':
\\_\_\runtime\cgo/gcc_libinit_windows.c:40: undefined reference to `__imp___iob_func'
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-3358207133\000007.o: in function `x_cgo_notify_runtime_init_done':
\\_\_\runtime\cgo/gcc_libinit_windows.c:[10](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:11)5: undefined reference to `__imp___iob_func'
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/[12](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:13).2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-3358207[13](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:14)3\000007.o: in function `_cgo_beginthread':
\\_\_\runtime\cgo/gcc_libinit_windows.c:[14](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:15)9: undefined reference to `__imp___iob_func'
C:/ProgramData/Chocolatey/lib/mingw/tools/install/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/12.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\RUNNER~1\AppData\Local\Temp\go-link-3358207133\000008.o: in function `x_cgo_thread_start':
\\_\_\runtime\cgo/gcc_util.c:[18](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:19): undefined reference to `__imp___iob_func'
collect2.exe: error: ld returned 1 exit status

mingw[32](https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130#step:6:33)-make: *** [Makefile.windows:32: bin/containerd.exe] Error 1

https://github.com/containerd/containerd/actions/runs/6277437483/job/17049319856?pr=9130

#9132 is failing with the same error:
https://github.com/containerd/containerd/actions/runs/6278970989/job/17053934880?pr=9132

@Kern-- would you please rebase it? After it's green, I will merge this one. THanks


Feat/7/wave editor

fixes #7

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


OS/X compile error with tensorflow/compiler/xla/service/allocation_tracker.cc

There is a length/signed/unsigned mismatch in an inline vector initialization.
tensorflow/compiler/xla/service/allocation_tracker.cc:178:54: error: non-constant-expression cannot be narrowed from type 'std::vector<se::DeviceMemoryBase>::size_type' (aka 'unsigned long') to 'long long' in initializer list [-Wc++11-narrowing]
        ShapeUtil::GetSubshape(allocation->shape(), {i}),
                                                     ^
tensorflow/compiler/xla/service/allocation_tracker.cc:178:54: note: insert an explicit cast to silence this issue
        ShapeUtil::GetSubshape(allocation->shape(), {i}),
                                                     ^
                                                     static_cast<long long>( )
1 error generated.

diff:
--- a/tensorflow/compiler/xla/service/allocation_tracker.cc
+++ b/tensorflow/compiler/xla/service/allocation_tracker.cc
@@ -175,7 +175,7 @@ StatusOr<std::vector<GlobalDataHandle>> AllocationTracker::DeconstructTuple(
        i < element_bases.size(); ++i) {
     element_handles.push_back(RegisterInternal(
         allocation->backend(), allocation->device_ordinal(), element_bases[i],
-        ShapeUtil::GetSubshape(allocation->shape(), {i}),
+        ShapeUtil::GetSubshape(allocation->shape(), {static_cast<long long>(i)}),
         tensorflow::strings::StrCat(allocation->tag(), ".element_", i),
         /*initial_ref_count=*/2));
   }

Can confirm.

@DavidNorman Please feel free to submit a pull request!

will be fixed by https://github.com/tensorflow/tensorflow/pull/8276


SQLite as backend

It would be amazing if moksha supported SQLite as backend for smaller instances.
If this is out of scope, feel free to close.

Thanks for the suggestion. There is already a trait for abstracting the database: https://github.com/ngutech21/moksha/blob/master/moksha-mint/src/database/mod.rs that is based on sqlx (https://github.com/launchbadge/sqlx) Since sqlx supports sqlite I think we could add this as a second option. Most of the queries should be very similar and could be copied over to the sqlx implementation of the Database trait.
But what would be the motivation using sqlite instead of postgres. I am providing a docker-compose file and helm charts for running it in k8s. So this should be fairly simple to setup. The only usecase I can think of for not using postgres would be integrating moksha-mint somewhere, like in a lightning-node where you it would be difficult to add a standalone db.


getting source tiles by pitch & yaw

Hi,
I am trying to find tiles surrounding a specific hotspot. What would be the simplest way to find a tile, on which the hotspot is located? The level would be the highest available.
Basically, a method to convert yaw/pitch to actual pixels of a cube should give me a good start.
The point of this is to be able to generate a preview 2D image of a certain location of a scene.
Thank you!

The CubeGeometry#_closestTile method does exactly that.

Thanks @tjgq , a second part of the issue is estimating pixel position on the actual tile. Is that possible? Something similar to coordinatesToScreen ?

The ray vector computed in CubeGeometry#_closestTile gives you the x and y coordinates over the entire cube face (where the bottom left corner is x = y = -0.5 and the top right corner is x = y = 0.5 - note that the y axis points up instead of down). You can compute both the tile and the position inside the tile with that information.

perfect, thank you Tiago, will try this!

@tjgq : I assume I will have to modify Marzipano to be able to get the value of ray vector, since it's not returned by the function?

I might need to do this on the server side. Is there a formula for the calculation?

What part of the calculation are you having trouble with?

I need to do this on server side for users sharing hotspots of a scene on social networks - to generate a preview image for openGraph. Can't use the javascript functions there, so I need a formula to convert pitch+yaw to actual pixels on a cubeface.
After that, calculating surrounding tiles at a defined level needed to construct the preview image should not be a problem.

I think the CubeGeometry#_closestTile implementation is still a reasonable approach. You're going to need to do 3D vector math, but hopefully you can leverage existing libraries.
One thing that can be simplified is the use of the reverse projection matrix - it's possible to do the computation starting from yaw/pitch coordinates instead. I made that change recently, so you may want to look at the code before 0840c78.

Okay, so I will just need to rewrite it all except some for the libraries I might find.
I tried to use the CubeGeometry#_closestTile before 0840c78 and it seems fairly precise, but still a few pixels off. I used the resulting x and y from the CubeGeometry#_closestTile function like this: (x - 0.5) * 512, where 512 is the tile size at the 5th level. The result was about 26-27px off in both axis. Am I doing something wrong, or is this the expected accuracy?


auto-generated CMakeLists.txt is not appropriate for VCS (clion)

I execute the following:
$ platformio init --ide clion --board d1_mini

CMakeLists.txt is generated.  It contains a lot of stuff, but also:
set(ENV{PATH} "/Users/boneskull/.nvm/v0.10.31/bin:/Users/boneskull/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Applications/Server.app/Contents/ServerRoot/usr/bin:/Applications/Server.app/Contents/ServerRoot/usr/sbin:/usr/local/git/bin:/usr/local/MacGPG2/bin:./node_modules/.bin:/usr/local/bin:/usr/local/sbin:/usr/local/heroku/bin:/usr/local/opt/coreutils/libexec/gnubin")

and references to every single library I have installed, regardless of whether or not my project uses them.

Please re-test development version.

@ivankravets By this do you mean clone & install?

@boneskull
clone repo
platformio init --ide clion -b YOUR_BOARD
open CLion

I don't see here other normal solution. We will contact with CLion vendor and discuss "PlatformIO IDE for CLion".
The other hook: I can add new target to CLion named "Rebuild C/C++ Project Index" which will regenerate CMakeLists*.txt files.
WDYT?

Please reopen this issue if you still have questions.


The navbar in the all contribution page color problem

The navbar somehow has a different color or looks like a different color.
Here is a reference to that ⬇

Need to fix it so it look consistent.

Hi
I want to work on this.Please assign this task to me.

Sure go ahead @RishabhJain0721

Sorry unable to fix it

Hi
i want to work on this

You can assign this to me @Rajdip019

@aakash-22ak work on this.

Hey is this issue closed? I can work on this , already fixed the other issues. @Rajdip019 @aakash-22ak

This issue is solved by @ishtails so closing this PR.


next steps

[x] fix tests
[x] benchmark
[x] parkinglot
[x] simpify jobs and arrays
[x] embrace copy / remove jobcell
[x] job mutex
[x] job channel
[x] custom allocator https://doc.rust-lang.org/std/alloc/struct.System.html
[x] gflags for windows

JobCellRef must check whether JobCell still lives or not

dont forget test
also, check if you can show message box in seperate thread

also, check if you can show message box in seperate thread

works
now only tests are left


How to get Credential_revocation_id

I am setting up revocation_registry in my Aca-Py. Can anyone please tell me, how to fetch credential_revocation_id?? while executing credential-revocation.
POST /issue-credential/revoke?rev_reg_id=<revocation_registry_id>
&cred_rev_id=<credential_revocation_id>&publish=<true|false>

Generally, you have to collect it when you issue the credential. You should then save it in whatever database you are linking the issued credential to the entity to whom you issued the credential.

@swcurran , There are no parameter with "Cred_rev_id" while issuing credential. Are you talking about "revocation_id" ?? .Kidnly have a look once. Thanks!!

Thanks for the help, I think revocation_id is the cred_rev_id.

Good stuff.  You have to keep both the "cred_rev_id" and "rev_reg_id" and provide them at revocation time. Unfortunate that the name of the field varies in the usage...  :-(


Add --any option to ssh command

Sometimes I just want to connect to any server matching a particular
Name tag. The --any flag supports this behavior by selecting the
first running instance in the list of instances and connecting to it.

Pull Request Test Coverage Report for Build 1350

0 of 0   changed or added relevant lines in 0 files are covered.
2842 unchanged lines in 45 files lost coverage.
Overall coverage remained the same at 34.419%

Files with Coverage Reduction
New Missed Lines
%

aws/spec/cmds_defs.go
4
0%

template/internal/ast/build.go
7
95.07%

aws/spec/accesskey.go
8
51.67%

cloud/lazy.go
8
0%

cloud/cloud.go
10
0%

aws/spec/securitygroup.go
11
65.23%

aws/doc/paramsdoc.go
13
0%

template/env.go
14
72.82%

template/params/validation.go
17
54.02%

aws/spec/images_query.go
18
36.6%

Totals

Change from base Build 1345:
0.0%

Covered Lines:
13184

Relevant Lines:
38304

💛  - Coveralls

Thanks for the PR and the work, but unfortunately this project is (so far) not maintained anymore. So it is unlikely this will ever get merged.


protein viewer addition

Maybe?

Unfortunately that doesn't seem to be an option in the download API.

OK closing


Remove Seed API call

This fixes #12 - PoE.ninja isn't tracking seed prices any more as we are no longer in Harvest. It doesn't look as if they're even tracking them in Standard, hence the total removal of the call.

wow. That was easy to fix, when you know core of the problem. I was wondering why it was stop working.
Thx for PR and sorry for delay.

wow. That was easy to fix, when you know core of the problem. I was wondering why it was stop working.
Thx for PR and sorry for delay.


Add 3d tools libraries

Adds 3d tools library w/

Measurement3d widget
Daylight widget
Elevation Profile widget
Line of sight widget
Shadow cast widget
Slice widget

Question1
On 3D Tools startup page, can we make the toolbar scrolled all the way to the left and display the currently active tab (i.e. Area Measurement)

Question2
The following links are not working testing in the branch. Are they meant to be working after merged to incubator master?

Question3
Measurement3d widget, do we need to include measure distance as well?

Issue4
Clicking New measurement button give console error.

Issue5
Elevation Profile tab needs scrollbar to access the rest of the form when:

select Elevation Profile tab
expand Ground

Question6
Elevation Profile, can you help guiding on how to use the Select line button?
I click the button and follow the instruction by clicking in the scene. It doesn't perform anything.

Question7
Elevation Profile , beside Ground  should we also include View?

Issue8
Shadow Cast, clicking outside of color picker flyout doesn't close it.

Issue9
Shadow Cast, the text size of Visualization dropdown list is too small.

Issue10
Shadow Cast, when selecting mode of Visualization , the width of form and text size shrink.

Question12
Slice, unable to select to Exclude layer from the slice.

Question13
Re-confirming that we don't include 3D Sketch as part of incubator 3D Tools?

Issue15
In Web, Elevation Profile,

https://apps.vertigisstudio.com/web/?app=4f90981ef33942a1aaee32b330818263
Perform Area Measurement using 3D tool in tab

Error in console:

Issue15
In Web, Slice,

https://apps.vertigisstudio.com/web/?app=4f90981ef33942a1aaee32b330818263
Click New slice button
Click on map

Error in console:

Issue16
In Web, Slice,
https://apps.vertigisstudio.com/web/?app=4f90981ef33942a1aaee32b330818263
Click New slice button
Add slice on map
Click Exclude layer button
Click on a layer
Error:

Issue17
Elevation Profile, width shrink in Firefox

Issue18
Shadow Cast, the text size of these 2 buttons are still small.

Issue19

1.https://webzoo.latitudegeo.com/builds/AppDesigner/master/?webUrl=https://webzoo.latitudegeo.com/builds/Web/2070/
2.Upload 3D Tools library (from http://localhost:3000/main.js )in Web Designer
3.Drag 3D tools components into Tabs in layout

No 3D tools appearing in tab in Web preview.

Issue20
In Web, When I select Slice tab in web with/without adding a slice and without clicking Exclude Layer, clicking on a feature on map giving error and failing to display results-details.
Need to reload the app to get map.click to work again
Error in console:

Note21
If Line of Sight or Slice is active on app startup. The app won't load in 5.16.1 designer.
This is because of the Esri weird layers, we fix it in the related arc-x PR (merged into 5.17 Web).


Text hint in the search entry is hardly visible

The text hint in the search area is grey on orange background. It does not look good and is a bit hard to see. Screenshot attached.

Agreed :) There is some design work on the codelab itself to get the whole UI changed. This is a first beta experiment and that issue will get fixed :)


nmiReset looks for GPIO line "ASSERT_NMI_BTN" but on some platforms it may be called "ASSERT_NMI_BTN_L"

On a Ruby for instance:
# gpioinfo gpiochip0 | grep NMI
	line 125: "ASSERT_NMI_BTN_L" unused output active-high

Taking a look at the integ branch, it seems to be updated there.


CDK version of this stack in Typescript

Would be awesome to have a CDK version of this stack in Typescript. I would have said Python but I read that every other language is converted to Typescript from AWS's end
And yes I did read the README where it says cloudformation will be the most friendly

I'm not absolutely against this, but for what purpose? As it says in the readme, I want to avoid CDK as this stack is targeted towards new users, so "deploy this stack with these 29 error prone steps" kind of misses the point. But I'm interested in other opinions anyway.
Note that if you already have a CDK deployment and just want to include this stack, it's way easier to just include it this way:
cfn_template = cfn_inc.CfnInclude(self, "Template",
    template_file="my-template.yaml"
)


engine-orchestration: expunge destroyed system vm volume

Description
Fixes #8450
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[x] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

@blueorangutan package

@shwstppr a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

@blueorangutan test

@kiranchavala a [SL] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-10428)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 45817 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr9197-t10428-kvm-centos7.zip
Smoke tests completed. 128 look OK, 3 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_arping_in_ssvm
Failure
5.21
test_diagnostics.py

test_02_trigger_shutdown
Failure
341.69
test_safe_shutdown.py

test_01_redundant_vpc_site2site_vpn
Failure
421.23
test_vpc_vpn.py


Nothing is working (No neurons, images etc) while serving local setup

Recently I tried playground to setup in my local environment. However, the play, adding neurons and images are not showing in my local setup. I also tried pushing in github pages by using the following command:
git subtree push --prefix dist origin gh-pages
But still facing the same issue, nothing is working. please find the link below for pages where I have pushed:
https://rajendraarora.github.io/nnetwork/
HELP WILL BE APPRECIATED!

Looks like D3 is deprecated instead we have to look rollup and lot of packages have to be replaced.

I think this problem is either solved or it is specific to you. Because I just ran the code without any issues.

Thank you! I downloaded the latest stable version of npm and node as well changed my OS from mac to Ubuntu. It is working fine!


Did it works with Resident Evil 4?

I have tested and looks like its working only on RE4 Steam version 1.1.0 (the last one), but people only uses 1.0.6 version cause its necessary for all the mods to work, trainers, re4 tweaks, re4 dlls like companion trainer or qingsheng dll, its a mandatory version, can you guys make it compatible? Here the EXE:
bio4 1.0.6 EXE.zip
Thanks for the attention. This will be amazing for this game.

bio4 1.1.0 EXE.zip
I also have the 1.1.0 EXE here if need. I'm not sure why don't work on the 1.0.6 version. This is super sad, nothing works without the that version for us, mainly RE4Tweaks which is without it the game has numerous of problems and it does not have support for version 1.1.0 precisely because we all are already defined in version 1.0.6, the new one capcom reduced the size of the EXE by modifying some things and with that it made everything stop working so we chose to keep it in version 1.0.6.

I concur that this is a necessary step to support modding for RE4UHD. The 1.10 version broke countless mods because it changed all addresses of the pointers that mods used to inject into memory. 99% percent of all RE4UHD mods require 1.0.6, so please consider adding support for this version of the binary. I'm 5 years deep into one of the largest modding projects ever, and I would be sad to not be able to explore RTX REMIX because of a lack of support.
Thanks!

@FutonGama For bring up of RTX Remix with a particular game I would recommend reaching out to the community discord server ( https://discord.gg/rtxremix ).


Fix for #2268 createDiagnosticCollection should be @internal

DiagnosticsCollection interface is marked @internal in src/compiler/types.ts, so this should be @internal too.
Otherwise it causes compilation errors whenever the generated type definitions for LS is used.
See #2268 for more details.

Hi @mihailik, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

:+1:

thanks @mihailik!

Glad to help!


Removed extra spaces in haproxy cfg template.

Continuation of fixes for Issue #1 & Issue #4.

LGTM


During Emerald catching tutorial, Wally's pokemon stats are revealed

Able to reproduce in v0.4.1a.
Wally, unlike the old man in FRLG, has a pokemon that he uses to do the catching tutorial. As a result, the tracker seems to think you need to see this information. Probably best to keep this hidden.

It's possible some of the reworks to the tracker's data structures I've been working on can have a clean way of resolving this (trainerid maybe?)

Doing a light amount of digging around this one today. What the game appears to do is create a special Pokemon (Wally's mon) and set it as your lead pokemon on your team. The Pokemon always and only knows Tackle. The ability and stats will still appear.
Annoyingly the TrainerID of this temp Pokemon is the same as the player's TrainerID, thus we can't use that info as a check against Wally's mon.

Fellshadow was able to find a solution to this (hurray!), which is going to be included in the 0.5.0 release.


How to customize left side menu on role base

Some menu links are common, some are for role type super admin, and some only for users. Can you please guide me how to achieve this?

You can set localstore in pinia


Could you provide your GANet-15 model? thanks very much

Dear Author,
Thank you for your sharing.
When searching in your project, I could not find the GANet-15.py.
Could you provide your GANet-15 model? thanks very much

Hi @zhiwenfan ,
I have tried to replicate GA-Net-15 following Table 6 in the paper, it seems that the  main difference between GA-Net-deep and GA-Net-15 is that GA-Net-15 without sga11, sga12, sga13, sga14 in GA-Net-deep definition, so I just commented codes related to sga11, sga12, sga13, sga14. However, the inference time is much longer (1.5s for 384x1248) than the results reported by author on KITTI15 benchmark, I am also wondering is there anything I am missing. Hi @feihuzhang , could you please take a look? thanks!

@zhiwenfan The model can be revised from GANet_deep by removing some GA and 3D conv layers (as done by @haofeixu).
@haofeixu The released code is not optimized for speed (to reduce memory usage in backward) with unnecessary computations. We reported the time with our speed-optimized models (>2 times faster). The GPU type may also be different.
For acceleration, why not try the down-sampling ratio of X4? Only slight influence on accuracy, still far better than PSMNet.

Hi @feihuzhang , thanks for the reply! Do you mean my implementation of GA-Net-15 is correct, right?
You mentioned that the model you used is optimized in backward, however, when running inference, only forward is needed, so why optimizing backward leads to faster inference speed?
BTW, I use V100 to measure the inference time, would you mind sharing your GPU type for inference? Thanks!

@haofeixu Yes, one or two 3D conv layers should also be removed for GANet-15. Both forward and backward can be optimized for faster speed. Our released pytorch version has many redundant computations. This is to reduce memory usage.

@haofeixu Also change x = self.LGA2(x, g)  to x = self.LGA(x, g) in DispAgg (line 236).

Hi @feihuzhang , seems that the difference between LGA2 and LGA is that LGA2 forwards two times, right?
I measured the number of parameters and FLOPs of PSMNet and GA-Net-15, GA-Net-15 has more parameters and FLOPs than PSMNet, is this normal? Thanks!

No! I don't know how you compare the FLOPs and PSMNet. But, you should use 1) the same feature extraction block. 2) the same down&up-sampling ratio. How did you get that 15 3D conv layers have more parameters than about 30 in PSMNet?

Currently I directly compare PSMNet with GA-Net-15, the feature extractor of PSMNet has more parameters than GA-Net-15, however, the guidance branch of GA-Net-15 also adds more parameters to learn. The FLOPs is measured by conv layers only, GA-Net-15 with 1/3 cost volume will cause more FLOPs and more parameters (as the disparity dimension increases). Also, the GA layers will result in more FLOPs. Maybe I will try to compare with fixed 1) and 2) as you said. Thanks!

In guidance block, just change 3x3 kernel to 1x1 in all reshape layers (e.g. 32 to 640) which cost too many parameters. It doesn't have any influence on accuracy and should not be there. I never pay attentions to this guidance block and only tried compare the cost aggregation and feature extraction blocks.
To compare the number of parameters of the whole model. You should remove all useless layers (defined but not used) and also reduce some unnecessary parameters in reshape layers.
For FLOPs, you need to fix the down-sampling and up-sampling ratio for GANet, PSMNet and GCNet.
They are all different.

Hi, @feihuzhang , thanks for the detailed answer! I am also wondering why the GA-Net-deep model costs 1.8s for inference on KITTI benchmark while GA-Net-15 only 0.36s, although they share similar architectures. Are they implemented in a same framework and which type of GPU is used for time counting? Thanks!

As I stated, They are based on totally different implementations! Please check the submission time of these two model. GANet-15 implementation consumed 10G mem. The released new implementation of GANet_deep only need 6.5G with even more layers. The faster pytorch version of the GANet-15 runs at about 0.3s/frame on V100 and 0.4s on P40 with 10G mem. The new implementation of GANet-15 is at about 1.0s on V100 and 1.5s on P40with 5.5G mem. Please check the cuda and lib functions for reasons.
We have a caffe version of GANet-2 which runs at >10fps. We also have a new model which achieve better accuracy and faster speed than GANet-deep. We will update it in the arxiv version in the future. We are doing model compression to get real time performance for possible commercial use.

Thank you for your kind help

Hi @feihuzhang , I further measured the FLOPs of the cost aggregation modules in PSMNet and GA-Net with an open source tool. They are both compared with same downsampling ratio (1/4). However, I found that the cost aggreagtion module in GA-Net has more FLOPs than PSMNet, even without including the GA layers. I think the reason is that GA-Net uses higher resolution feature maps, while PSMNet uses downsampling layers more frequently. When considering the guidance branch and the GA layers, more FLOPs will be introduced. The LGA layer also costs more FLOPs, as it is used in the original resolution.


Fronius GEN24 >1.34 , switch charge source to "grid allowed"

On newer firmware versions, you can toggle "use grid for AC charging" on/off. With off, this will prevent charging via batcontrol.
We need to toggle that switch while batcontrol is operating.
edit:
that toggles sends:
{"HYB_EVU_CHARGEFROMGRID":true}

URL Endpoint: /config/batteries

Maybe we send this change and expect an error if that flag is not available, or we fetch the version during intialization and reauthentication:
/status/version
{
  "apiversions": {
    "commandsApi": "6.3.1",
    "configApi": "8.4.0",
    "setupAppApi": "2.2.0",
    "setupAppUpdateApi": "2.0.0",
    "statusApi": "4.0.3",
    "updateApi": "2.0.0"
  },
  "articleNumber": "4,210,153,002,95",
  "commonName": "pilot-0.6e-1953623xxx",
  "devicegroup": "S10RW",
  "devicename": "Symo GEN24 6.0",
  "hardwareId": "pilot-0.6e-19536230xxx",
  "hwrevisions": {
    "3PN10K-34039501900xx": "34039501900002xx|4,071,594|0.6G__|3PN10K|R|",
    "PILOT-3402950180xx": "3402950180000xx|4,071,452|0.6E_B|PILOT|R|",
    "ROX-L-340595017xx": "34059501700005xx|4,071,779|0.2A_B|ROX-L|R|"
  },
  "minAppVersions": {
    "minAndroidVersion": 1,
    "minIOSVersion": 1,
    "minWinVersion": 1
  },
  "numberOfPhases": 3,
  "serialNumber": "xxxx",
  "softwareVersionPrefix": "ROW",
  "swrevisions": {
    "CoyoteCore": "1.28.1-3",
    "DEVICEGROUP": "1.34.2-1",
    "GEN24": "1.34.2-1",
    "Kronos": "1.2.1-26392",
    "KronosV3": "3.2.3-26737",
    "Rhea": "2.15.1-2",
    "S10RW-pilot": "1.28.1-3",
    "Zeus": "3.1.3-19439",
    "imx6sx-pilot": "1.28.1-3"
  }
}

This is already implemented correctly.
https://github.com/muexxl/batcontrol/blob/b64434f59295fd1c8489bafead10b780b9bb5130/inverter/fronius.py#L178-L191


Add casting support

I've integrated with a very bad API. Their JSON didn't have any types, it was all strings. It would be very usefull to have something like this:
{
  "ugly": "true",
}

@JsonSerializable()
class Example {
  Example({this.pretty});

  @JsonKey(
    name: 'ugly',
    fromJson: (v) => v == 'true',
    toJson: (v) => v.toString(),
  )
  final bool pretty;
}

It might even solve #133

build_cli does this - https://github.com/kevmoo/build_cli/blob/1e24d4b78c6e7eaa5b3a8024cd182875c76c2e02/build_cli/test/src/peanut_example.dart#L61

running into a similar issue. firebase stores a field like "created_at" as a datetime, but the generated file builds this:
..createdAt = json['created_at'] == null
          ? null
          : DateTime.parse(json['created_at'] as String)

which breaks the parsing. im gonna explore your build_cli lib but itd be nice to have a way to get around this within this lib if possible. thanks!

Far from done, but I have it bootstrapped - https://github.com/dart-lang/json_serializable/pull/146

Firebase is another problem. The values it returns are JSON-like, but do
include non-JSON values like blobs, dates, geo points, etc.
On Tue, May 8, 2018 at 12:43 PM jmrboosties<EMAIL_ADDRESS>wrote:

running into a similar issue. firebase stores a field like "created_at" as
a datetime, but the generated file builds this:
..createdAt = json['created_at'] == null
? null
: DateTime.parse(json['created_at'] as String)
which breaks the parsing. im gonna explore your build_cli lib but itd be
nice to have a way to get around this within this lib if possible. thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/json_serializable/issues/137#issuecomment-387519313,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCiss7ylSqOTt7RivCy9N4J2-lbh55ks5twfVIgaJpZM4TT7yB
.

thanks. yea, firebase's handling of date is a bit unusual. it looks like if i were able to flag the field as such, it could parse correctly if the generated file just simple did createdAt = json['created_at']. the error i receive states that the type mismatch is String != DateTime, which is the type of createdAt

RE firebase.
You could always use https://pub.dartlang.org/documentation/json_serializable/0.5.0/json_serializable/JsonSerializableGenerator/JsonSerializableGenerator.html – and put in your own TypeHelper for DateTime that's a no-op.

thanks! ill have a look.

Can the map from Firebase support non-String keys? If so, we should fix
that...
On Tue, May 8, 2018 at 9:24 PM jmrboosties<EMAIL_ADDRESS>wrote:

on the subject of Firebase, I'm getting this error when I try to use this
lib to pull down a document from Firestore and turn it into an object:
I/flutter ( 5948): type '_InternalLinkedHashMap<dynamic, dynamic>' is not
a subtype of type 'Map<String, dynamic>' where
I/flutter ( 5948): _InternalLinkedHashMap is from dart:collection
I/flutter ( 5948): Map is from dart:core
I/flutter ( 5948): String is from dart:core
my interpretation is that the map from Firebase isnt explicitly typing its
keys, whereas this json_serializable package is (to a string), causing the
error. i double checked and i'm up to date on both packages.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/json_serializable/issues/137#issuecomment-387616121,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCirB70juNWtPykM2pqR3rKu3RyuqEks5twm-TgaJpZM4TT7yB
.

What method are you calling where it returns Map<dynamic, dynamic>? What's
the stack trace?
On Tue, May 8, 2018 at 10:23 PM jmrboosties<EMAIL_ADDRESS>wrote:

I don't know how it would exactly, but the map I'm getting back says key
should be dynamic, so I guess so?
On Tue, May 8, 2018, 9:28 PM Kevin Moore<EMAIL_ADDRESS>wrote:

Can the map from Firebase support non-String keys? If so, we should fix
that...
On Tue, May 8, 2018 at 9:24 PM jmrboosties<EMAIL_ADDRESS>wrote:

on the subject of Firebase, I'm getting this error when I try to use
this
lib to pull down a document from Firestore and turn it into an object:
I/flutter ( 5948): type '_InternalLinkedHashMap<dynamic, dynamic>' is
not
a subtype of type 'Map<String, dynamic>' where
I/flutter ( 5948): _InternalLinkedHashMap is from dart:collection
I/flutter ( 5948): Map is from dart:core
I/flutter ( 5948): String is from dart:core
my interpretation is that the map from Firebase isnt explicitly typing
its
keys, whereas this json_serializable package is (to a string), causing
the
error. i double checked and i'm up to date on both packages.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<

https://github.com/dart-lang/json_serializable/issues/137#issuecomment-387616121

,
or mute the thread
<

https://github.com/notifications/unsubscribe-auth/AABCirB70juNWtPykM2pqR3rKu3RyuqEks5twm-TgaJpZM4TT7yB

.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<
https://github.com/dart-lang/json_serializable/issues/137#issuecomment-387616539
,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/AAuA1BaMN54ct0S8Z3vVzTTDMzTmjMEaks5twnBsgaJpZM4TT7yB
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/json_serializable/issues/137#issuecomment-387623506,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCitc_HnPKHfOHhj_iNXi1cBMvnBgfks5twn1IgaJpZM4TT7yB
.

The stack trace is just what I posted before, nothing more unfortunately
I/flutter ( 5948): type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' where
I/flutter ( 5948):   _InternalLinkedHashMap is from dart:collection
I/flutter ( 5948):   Map is from dart:core
I/flutter ( 5948):   String is from dart:core

This is the code that triggers it:
_firestore = Firestore.instance;

return _firestore.collection('favorites').where('user_id', isEqualTo: uid).getDocuments()
				.then((querySnap) {
					querySnap.documents.forEach((document) {
						print(document.data);

						Map<String, dynamic> json = document.data; //casts, but if you put breaklines through this its that _InternalLinkedHashMap<dynamic, dynamic> type
						Album album = new Album.fromJson(json['favorite_albums'][0]); //Throws the type exception
					});
				})
				.catchError((error) {
					print(error);
				});

The actual aim here is to just loop through the results and add them to a list, but I'm just manually grabbing object 0 here as part of my debugging, so forgive the loop for seemingly no reason haha.

Ah! You're using the Flutter firebase SDK. I was looking at the source for
https://github.com/firebase/firebase-dart
You should file an issue https://github.com/flutter/flutter/issues –
mention reference this discussion!
On Tue, May 8, 2018 at 11:31 PM jmrboosties<EMAIL_ADDRESS>wrote:

The stack trace is just what I posted before, nothing more unfortunately
I/flutter ( 5948): type '_InternalLinkedHashMap<dynamic, dynamic>' is not a subtype of type 'Map<String, dynamic>' where
I/flutter ( 5948):   _InternalLinkedHashMap is from dart:collection
I/flutter ( 5948):   Map is from dart:core
I/flutter ( 5948):   String is from dart:core
This is the code that triggers it:
_firestore = Firestore.instance;
return _firestore.collection('favorites').where('user_id', isEqualTo: uid).getDocuments()
.then((querySnap) {
querySnap.documents.forEach((document) {
print(document.data);
  				Map<String, dynamic> json = document.data; //casts, but if you put breaklines through this its that _InternalLinkedHashMap<dynamic, dynamic> type
  				Album album = new Album.fromJson(json['favorite_albums'][0]); //Throws the type exception
  			});
  		})
  		.catchError((error) {
  			print(error);
  		});

The actual aim here is to just loop through the results and add them to a
list, but I'm just manually grabbing object 0 here as part of my debugging,
so forgive the loop for seemingly no reason haha.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/json_serializable/issues/137#issuecomment-387634454,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AABCiv0CtVHjBIllP0foglsevs5D9osGks5two0tgaJpZM4TT7yB
.

ill do that, thanks!

I'm interested in trying those to/from json functions you can declare in the JsonKey. I see it committed to master, but you haven't made a release for it yet. I could pull down the source code of course but TBH I'm not sure how I would integrate that with my project if I did. Also, as a suggestion it might be nice to have a class-wide option for those to/from json functions, similar to how in Gson you can declare a custom deserializer for an entire class.
Thanks again

Thats awesome @kevmoo! Waiting for the release!!

@jmrboosties – release is coming soon
For whole classes, just add a toJson method and a fromJson ctor – it should work!


add test to make sure subsequent builds use rebuilt dependencies from initial build

also moved some utility functions I had temporarily stored in the periodic test file to interfere with @psturc recent work with the tests here
@psturc - you might find of interest my use of a watch vs. polling to get test results
over time, IIRC we have been talking about putting the SBOM stuff in tekton results, but that is not there yet so just parsed the build output
/assign @psturc
/assign @stuartwdouglas

updates from you commentes @psturc pushed
let's merge once the tests are done

cluster install fail
merging


Deployment

Need to figure out a few things:

Probably Heroku
Hobby dynos are probably fine for now
We'll definitely need the 10M rows in Postgres
We'll need a mail provider
We'll need a way to store ActiveStorage attachments

Use Heroku with the first tier of non-hobby dyno (for $25/month you really can't go wrong). You'll need a pretty big Heroku postgres for ten million rows, sadly.
For mail I use amazon SES. It's pretty easy to setup, and it's what ArtWorkDraft uses. For ActiveStorage I use S3 because it's very easy and very cheap.

Yeah but it’s only $9/mo for 10M rows so ¯_(ツ)_/¯
And the only tier below that is free for 10k

Maybe worth considering DigitalOcean: https://www.digitalocean.com/pricing/

I made some progress on this with #138

NOTE TO SELF: fix whatever this is https://github.com/connorshea/ContinueFromCheckpoint/blob/4b1a356208691973bdd2ead549376b9f75c40a54/Dockerfile#L14

Update: I gave up on using Docker, started using DigitalOcean, deployed the site to DigitalOcean, and I've currently got the site itself mostly set up, the image hosting set up, the database set up, and now I just need to configure the SSL certificate and email.

This issue might be effecting my ability to disallow unsafe-eval in my CSP config, unfortunately: https://github.com/rails/webpacker/issues/1520#issuecomment-399112369
Will need to investigate that later, for now I'm just going to loosen the CSP config.

Everything is set up, although emails won't actually send until Amazon has approved my request to leave the sandbox. So I'll leave this issue open for a bit longer.

Feel free to ignore, but I would recommend Capistrano for actual deployment. The deployment rake task that exists right now is a good start that should translate to Capistrano pretty painlessly.

Emails work now \o/ Closing.


fix(serviceintegration): sends empty strings

The string pointers in the updated client brake service integrations.

tests


Change ext test script file names back to original names

Would like to make this change at some point in the future but for now reverting for hotfix release

Oh jeez i had just updated the tests :D


Skip zoom levels if there is a minzoom

One of the bottlenecks in tippecanoe is that with top-down tiling, if there is a minzoom, it will spend a bunch of time running through the zooms below the minzoom, splitting features into sub-tiles, even though those levels don't make it into the output.
One optimization would be to skip some zooms. The bottleneck is the maximum plausible number of open files (looks like normally 1024 on Linux, 4864 on MacOS). Going one zoom at a time takes 8 files (4 reading, 4 writing). Skipping a zoom would take 2 * 4 * 4 = 32. Skipping two zooms would take 2 * 8 * 8 = 128. Skipping three would be 2 * 16 * 16 = 512, so that's about as far as is probably reasonable.
It seems like it could cut a lot off the running time of single-zoom tiling. If we need just z15, it would just do 0, 4, 8, 12, and 15, instead of all of 0 through 15.  Need to figure out if it's worth the additional complexity.
cc @aaronlidman @MateoV @morganherlocker

Working on this in https://github.com/mapbox/tippecanoe/tree/skip. Superficially seems to work, but I need to figure out if it is correct and if it is worthwhile. (Los Angeles county TIGER roads take 24 seconds with or without the change.)

A maximum increment of 3 levels (skipping 2) seems to be the performance sweet spot (<17 seconds for Los Angeles TIGER at z15). Beyond that, the overhead of making all those temporary files seems to outweigh the advantages of not having to reparse geometries.

@ericfischer just another data point for you. I ran this for the Netherlands which I've been using to test Tilemaker.
w/o skipping: 22:54
with skipping: 21:14

This has been fixed for quite a while


can not open file with error "file not included "

chrome set as:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --allow-file-access-from-files --disable-plugins
epub has its own font.

Could you send me the EPUB file?

Please try latest version. - https://github.com/satorumurmur/bibi/releases/tag/v1.2.0
If your trouble is not solved on the new version, please report it again. @librix


add HuggingGPT Agent

Description: add HuggingGPT Agent, see the paper and the original project.
Notebook: add a notebook showing its use.

@tricktreat you can run make format and make lint to perform formatting and linting locally

@baskaryan OK. Thanks!


Add hooks for ray tune/tensorboard etc. to trainer

Will be part of #43

In principle this is now done with 2da5f62732b0826c0c30ee7d8fd8f940a47b0bbc .
You could simply do
trainer.add_hook(lambda model, losses: tune.report(losses))

But if we fully buy into tune we might already add something like that by default?

Closing this as done and open different issue for discussion about future


Optional types syntax (2 defs: w/ type and w/ inline definition)

⚠ NOTE
This is not a duplicate request, as pointed out in this comment, so please elaborate before quickly marking this as a duplicate. It may look similar to other requests before, but I have not found any quite the same.
Suggestion
🔍 Search Terms
type optional syntax variable definition
✅ Viability Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion
I think it could be very useful to be able to declare optional types in TypeScript in a more clear and consise way. This proposal is two-fold— one syntax for defining a type and one syntax for inline typing on a variable.

For type usage, I propose a shorthand syntax TypeName ?= Type which would match for the specified type or undefined, where the ?= indicates that it is optional and can match either the specified type or undefined.
For inline variable usage, I propose a shorthand syntax let variableName ?: Type which would type the variable as the specified type or undefined, where the ?: indicates that the variable is optional and can either be of the specified type or undefined.

This syntax would provide a more concise and readable way to create optional variables, as opposed to using the | undefined syntax which can be somewhat unwieldy, especially when creating a handful of variables you want toi be optional within a framework.
This would make it easier to clearly communicate the intended use of a variable to other developers reading your code.
📃 Motivating Example
You could use the optional type syntax to create an optional type and then use it like this:
type Name ?= string;

let myName: Name;

// myName is now optional and can either be a string or undefined

You could use the optional inline variable syntax to create an optional type on the variable like this:
let myName?: string;

// myName is now optional and can either be a string or undefined

…but what if someone uses both?
It's plausible that in some cases, a user may use the optional inline syntax using a type that already uses the optional type syntax, or create unions or intersections using some optional and other non-optional types.
For union types, that could look something like this:
type Name ?= string;
type Age = number;

// assume `personalDetail` can be a name or age
let personalDetail: Name | Age;

// myName is now optional and can either be a string or undefined

In these cases, I think it woulkd make the most the most sense just to let any types declared with the an optional declaration be shorthand for their same usage as Type | undefined, so in the above example, the type for personalDetail would evaluate to string | undefined | number.
For intersection types, the type would usually evaluate to never, the same that it would if union-ing with undefined, like in this example:
type Name ?= string;
type Age = number;

// assume `personalDetail` can be a name or age
let personalDetail: Name & Age;

// myName is now of type `never` as `string | undefined` does not intersect with `number`.

💻 Use Cases
Working within Svelte, for example, it's not uncommon to see TypeScript used like this when defining props:
<script lang="ts">
  export let prop1: string | undefined = undefined;
  export let prop2: number | undefined = undefined;
  export let prop3: string[] | undefined = undefined;
  export let prop4: { prop: number } | undefined = undefined;
  export let prop5: string | null | undefined = undefined;
</script>

With this proposal implemented, this block could be rewritten to the following:
<script lang="ts">
  export let prop1 ?: string;
  export let prop2 ?: number;
  export let prop3 ?: string[];
  export let prop4 ?: { prop: number };
  export let prop5 ?: string | null;
</script>

The space here would be optional, as always, so this would produce the same result:
<script lang="ts">
  export let prop1?: string;
  export let prop2?: number;
  export let prop3?: string[];
  export let prop4?: { prop: number };
  export let prop5?: string | null;
</script>

For inline variable usage, I propose a shorthand syntax let variableName ?: Type which would type the variable as the specified type or undefined, where the ?: indicates that the variable is optional and can either be of the specified type or undefined.

Still a duplicate of #41901.

We don't want to put ? on variable names, and we don't want to add special syntax for type aliases (or type names, etc) just for this one thing.

This is not a duplicate request, as pointed out in ..., so please elaborate before quickly marking this as a duplicate. It may look similar to other requests before, but I have not found any quite the same.

Minor syntactic variations (type A ?= B vs type A = B?) don't really change the core thing being suggested here IMO. I'm sorry you felt this wasn't a duplicate, but in general if we decline the idea of something then that applies to all syntactic embeddings of something. If someone shows up tomorrow and proposes type A ??= B, that's getting duped against this one.


Update names_CHAR18_Common_EU.txt

N64 to Nintendo 64
Pokemon mini to Pokemon Mini

"Common" names variants are for preferably shorter names without manufacturer and "N64" is a short form used by Nintendo in their setup guide. It's also in line with the naming of the other Nintendo consoles in common names.txt (without manufacturer). "Pokemon mini" is the way it was written on the handheld and is the official stylized naming. Thus I will have to reject these changes.
In general, direct changes to the names.txt files are overwritten on next update of the names.csv. The changes need to be made there, because a script auto generates the individual files from names.csv.
I will dedicate some time to make this clear in the readme.md
Thank you that you took the time to suggest improvements, it is always appreciated.


[FEAT] Add FastAPI web framework under predefined-services/backend

Is there an existing issue for this?

[X] I have searched the existing issues

Problem-related
No response
Suggestion
Add FastAPI under backend framework.
https://fastapi.tiangolo.com/
Alternative
No response
Additional context
No response

Version 1.9.0 is now available for download.


Disable automerge, enable Grayskull checking and fix PyPI URL

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Closes gh-9
Closes gh-11
Follows up on gh-13

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.

Thanks Ralf! 🙏
The linter error would be fixed by following the recently added CFEP 25
Once done we could add a "fixes" note for issue: https://github.com/conda-forge/array-api-strict-feedstock/issues/10

The linter error would be fixed by following the recently added CFEP 25

I looked at the link, but I don't like that at all. Adding {{ python_min }} and then defining python_min in a separate file is just obscure indirection for no real reason as far as I can tell. It's very hard to understand such constructs unless you're intimately familiar with conda-forge (it's not like the variable is imported so it's obvious where it comes from).

The rationale in the CFEP makes sense for excluding too-old versions no longer supported by conda-forge, but it doesn't discuss the case where a package only supports a newer version well enough.
Something like a double constraint >={{ python_min }}, >=3.10 could make sense.

I couldn't even easily find what the current value of python_min was - it took time to locate it:
https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/a15fa36d14319f4045acefbff2dd3a55ed454f80/recipe/conda_build_config.yaml#L796-L799
This really should be easier to introspect for the average feedstock maintainer.

Thanks Ralf! 🙏
This is good feedback. Would it be possible to consolidate this feedback in issue ( https://github.com/conda-forge/conda-forge.github.io/issues/2351 )? That would really help us with tracking it
As this is a recent CFEP, fully expect there is room for improvement

Thanks, I'll do that! Will try to add some suggestions about what would have helped me.

I don't think we should disable automerge.

I don't think we should disable automerge.

Why not? It's pretty trivial to review and merge a PR, just a quick look at changelog, lints, etc. Automerge is apparently dangerous. I think even aside from the review opportunity, one of the advantages of a delay of 1-2 days is that regressions do not affect conda-forge users. This is actually quite valuable - PyPI users can report the obvious regressions.

It's an extra step, and one that I will probably forget to do when making a release, especially given that the bot tends to have a delay.

Going to merge this and leave the automerge off for now because I want to make sure the next release is correct. But I do think we should turn it back on in the future.

It's an extra step, and one that I will probably forget to do when making a release, especially given that the bot tends to have a delay.

It's possible to request a bot update, which will pick up the new version and now dependencies
Does this project have a release process checklist? If so, maybe this can be an item there

Can that be done automatically in the GitHub Actions job that does the release?

Can that GHA job raise an issue on a different repo?

Yeah, that's the question. I have no idea if that's possible. I'm assuming not. I guess we could try adding gh issue create to the job and seeing if it works.

Yeah it's a question of how to configure the permissions correctly
If you find a solution that works for you, would be interested to hear about it. Would imagine this is useful in more places
Ofc the other angle would be teaching the bot to subscribe to webhooks: https://github.com/regro/cf-scripts/issues/18

Will try to add some suggestions about what would have helped me.

I wanted to do this this morning, and then noticed I'm not the only one with this feedback. The docs now explicitly address the "lower version is newer" case and there is now a way to define python_min inside meta.yaml (see [docs](https://conda-forge.org/docs/maintainer/knowledge_base/#noarch-python)). So I think I'm happy with the current state now - will incorporate python_min` in a future PR.

Glad to hear that Ralf! 🙏
If you think of more feedback, please let us know 🙂


Override project payer deployer

What does this PR do and why?
Jango deployed a new project payer contract that changes some internals (sets beneficiary to tx.origin instead of msg.sender).
This address isn't in the npm package, so instead we'll hard-code it for mainnet.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] I have tested this PR in all supported browsers.
[ ] I have tested this PR in dark mode and light mode (if applicable).

@peripheralist would you mind reviewing this?