Number clicker component

Description
A numerical input component that allows users to increment values by a set amount.
Component classification
Is this component an atom, molecule or organism?

[x] Atom
[ ] Molecule
[ ] Organism

Details / user needs
Users often need to be guided as to:

The fact that an input is numeric
It can only be incremented as a specific value (e.g. multiple of 10)
It has a specific unit, for example percentage, hours or £££

We need a component that allows this input to be made in a quick, accessible and easy to comprehend way.
We should ensure that when using a mobile keypad, the numeric keypad is selected when the element is in focus.

Used in 3x exemplar projects
Variations

Pre and post fixed fixed functionality
Enabled, disabled, in focus, hover states

Questions

There has been some discussion about how to treat error scenarios when the user inputs a value that is not a valid increment. This needs further discussion with the Product Owner.

Definition of done

[ ] The Sketch file is updated with the component
[ ] There are screenshots of all component variations in this ticket
[ ] All states are included if applicable (default, hover, active, focus)
[ ] A design documentation PR is linked from this ticket
[ ] All questions laid out in this ticket have been resolved
[ ] A pull request for a component must contain a fully tested, documented and finished component in a state it can be shared with partner developers

Number Clicker
The simple number clicker can either have a value entered in the same manner as a text input, or the user can use the incremental up/down arrows.

Abstract link
https://share.goabstract.com/e13d7d86-745f-4c19-bc04-d57542754099?sha=c7226d3e551d7d83470dbb287d92cbc868ae406d


[1.20.1] Item Filters

Description
readd filters but slightly different

BASIC_ITEM_FILTER 9x2 with basic nbt strictness support
BIG_ITEM_FILTER 9x4 same as it's basic counterpart

** THIS DOESN'T FIX CONDUITS NOT SAVING ITEMS IN THE FILTER SLOT **
other ideas: literal tag item renamed on anvil for itemtags (not consumed, only copied -> converted to )

TODO

[x] filter UI
[ ] (optional, currently looking how to impl this) make the conduit ui have the tooltip back and the slot icons

Checklist

[x] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you).
[x] I have made corresponding changes to the documentation.
[ ] My changes are ready for review from a contributor.

So I realise I didn't comment here on the PR itself. I have some issue with thus PR that need to be adressed before we will consider merging it: The first one is that it targets 1.20.1. We have moved our active dev version to 1.20.6 since it had nice additions that make our lives a lot easier. This means that before we will merge ir in 1.20.1, it needs to be merged upstream. Secondly, I have some issues with how the conduit filter item is retrieved. This should be done on the API level instead. Conduits are a sensitive part if the code that we need to be carefull with, as one small mistake can destroy performance. Another issue is the filters themselves: they need to be in the base enderio module as other machines also need them, and ideally they use some ´Predicate´ based capability. That would make inter mod compat also possible. I have started a private branch with a proof of concept conduit filter impl already. If you are interested I will open it up so you can continue the work on that one (and backport it later).

The only reason they made it for 1.20.1 is because they need it for their modpack


Native builds

Similarly to aarch64-host, having a way to build AOSP natively on RV would be nice.
Currently it seems to only be possible on x86.

yeah, that's not something we're likely to work in for the foreseeable future, given the absence of usable hardware.


How to get data binding to work with timer countdown?

So I create HTML with PHP like this:
<timer  countdown="vars['<?php echo $content->id ?>']" interval="1000">{{days}} day{{daysS}}, {{hours}} hour{{hoursS}}, {{minutes}} minute{{minutesS}}, {{seconds}} second{{secondsS}}.</timer>
It looks like this when it compiles:
<timer countdown="vars['20037']" interval="1000"> ...
Then I set value in JS but data binding doesnt work. Its always 0.
Any suggestions?
Best Regards

You could also use ng-if on your timer element to check for your countdown variable.
This way, the directive will only be initialised when you have your date, and it will work. Original answer here:
https://github.com/siddii/angular-timer/issues/36

After read all the related problems about this databinding issue, for some reason, still having this problem.
Using the ng-if to check the countdown variable works when you set the countdown for the first time, but  it don't show de right value if I try to set this value to the variable again.
I've tried too to add the value to the existent countdown variable, but still doesn't work.
How can I set again the variable value or add to the existent countdown this value in the right way?


Create a "Release" workflow

With a portable and runnable jar file to be added under Releases.
Include all the resources within the jar (?)

Created a release v0.2.0


Empty DynImport constructor can lead to crash if blackbone is mapped to another process

In my products, there was a problem that caused my protected software (VMProtect), which I map in another process, to crash when trying to use the Process class. After a little debugging I came to the conclusion that crash occurs in InitOnce::LoadFuncs when the LOAD_IMPORT macro is called.
The problem is that the DynImport class constructor does not initialize its members, namely _funcs and _mapGuard, because of this they contain random binary data, which led to a crash.

Initialization of these class members solved the problem.

There are a few more places in which crash can occur when calling the Process constructor (for example - when NameResolve::Instance().ResolvePath called in ProcessModules::GetModule, the crash reason - this of ProcessModules is 0). At the moment I am trying to find all of them, but I believe that the problem may be hidden in other similar bad constructors.

Pretty weird, those 2 constructs should be equal from the language standpoint. But the fix seems easy at least.

Have the same problem. I think need rewrite constructors (initialize all when constructor run).


[HACK] - Take the easy way out when it comes to delayed convergence

This resolves the issue where the initial Chef run of VMs will fail ( #729 ) , albeit in a somewhat bad way. Since this is what we've been doing to make our builds work on the first run anyway, we might as well merge it and fix the real issue later on.

I would really rather see us fix the underlying bug.

Is this a chef eventual consistency issue? Running automated_install.sh I hit this. When I separated out the cluster-assign-roles steps out by hand and ran them by hand I did not hit this issue.


Track benchmark improvements

Benchmark the cache performance too
Benchmark the load_many in a way that it shows time of one op, not the
whole bunch.

Codecov Report

Merging #49 (dde84f6) into master (9a2533b) will decrease coverage by 0.17%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #49      +/-   ##
==========================================
- Coverage   89.10%   88.93%   -0.18%
==========================================
  Files          15       15
  Lines        1157     1157
==========================================
- Hits         1031     1029       -2
- Misses        126      128       +2

Impacted Files
Coverage Δ

src/gen_lock.rs
84.90% <0.00%> (-1.89%)
:arrow_down:

src/strategy/helping.rs
85.41% <0.00%> (-0.42%)
:arrow_down:


[TACHYON-524] Shutdown worker gracefully

https://tachyon.atlassian.net/browse/TACHYON-524

The DataServer, Thrift and BlockMasterSync related threads have already shutdown. This PR adds the shutdown logic of WebServer and BlockDataManager.

+1 LGTM

+1 LGTM

Jenkins, test this please.


3x Pass icon

Hi, I've made these 3 icons for my design system using remix icon :

Pass valid
Pass pending
Pass expired

Hope it will be added to your library !

Hi @AntoinePoindron and @xiaochunjimmy
Thanks for this request, I like those and would like to use them too.
Do you have an idea when the icons can be added ? Could I make something to speed up the process ?
Have a nice day !!
Joffrey

Hi @AntoinePoindron ,
Thanks for the beautiful icons, we've added them to our library. Based on your design, I made a few sizing adjustments to make the icons look the same size.
Search pass on our website and you'll find them.

cc @joffreymougel

Many thanks @xiaochunjimmy !!

Thanks, it will be so useful for us !
Le jeu. 6 avr. 2023 à 09:36, Joffrey Mougel @.***> a
écrit :

Many thanks @xiaochunjimmy https://github.com/xiaochunjimmy !!
—
Reply to this email directly, view it on GitHub
https://github.com/Remix-Design/RemixIcon/issues/451#issuecomment-1498621626,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATDCM5N5P2GRW6N7MO56BRTW7ZXBXANCNFSM6AAAAAAQLQNXAY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Weird spacing

          hmm what was that weird spacing

Originally posted by @hoangnhan2ka3 in https://github.com/soranoo/next-css-obfuscator/issues/9#issuecomment-1925548768

I discovered that when I break a line like this, it will cause the above spacing error:

When I put className on the same line as usual, everything is fine:

Oh here we go again https://github.com/soranoo/next-css-obfuscator/issues/4 🫡

I don't know, but...
I just tried using cssnano in postcss.config.js and the problem seems to be resolved

Multi-line className:

Result ✅:

Although in production cssnano reports some Parse error or UNKNOWN_DIMENSION errors if you use viewport unit in a calc with other units (?)
eg: calc(100% - 0.94dvw)...

But in general, these errors are harmless, so this can be considered an effective temporary method.

Or do you have any updates on this issue in v2.1.4 @soranoo ? I hope I don't misunderstand

2.1.4 is just the official release of 2.1.4-beta.1. Nothing related to this issue.

Sorry, I have a problem unrelated to this issue, which is caching.
You know, every time you run build the obfuscate process will start from the beginning, meaning the random obfuscated classes will be completely different from the previous time. This causes nextjs cache related issue.
If a user has visited my page before, then after I update (new deployed), and they reload the page without clearing the cache, it will look like this:

And no matter how many times they try to 'refresh' the website, it will still look the same.
Unless they press Ctrl + Shift + R (aka hard reload), the site is updated.

Even when I try view page source without hard reload, the css file doesn't have any new obfuscated class, which causes an error like my website doesn't have css at all.
Do you have the same problem in your version of Next Js, or do you have any advice for me, I've been searching for it all night.

The problem probably only occurs when I enable next-css-obfuscator.
If you don't enable it from the beginning, the TW classes will just update the new values after each deployment, and the old classes don't need to be changed, and it will be cached, I think.

Please open a new issue for ANY ISSUE NOT related to the current one.

Yes, I just wanted to ask your opinion if this is considered an issue with this plugin 🫡.

Since the issue was not caused by this package, I decided to leave it alone.


Calculate the libyear for multiple projects

Currently Freshli will only calculate the libyear for the first csproj file it finds but often a repository contains multiple csproj files in a solution.  Freshli should be able to determine the libyear for all the csproj files it finds in the repository.  Basically I want to run to be able to run Freshli on Freshli.
This issue will be influenced by the decisions we make in #10 (Handle multiple manifests design).

Turns out PR #327 enabled handling multiple .NET manifest along with other manifest types.


VW MQB: Switch to comfort blinker signal

Description
Resolve #21157 by populating CarState.[left|right]Blinker from CAN signals that observe the comfort signal timer.
Requires commaai/opendbc#402 and an opendbc bump.
Verification
Drove it and looked for the conditions I laid out in the bug above, LGTM.
Route
Route: 7aae592fc08e895f|2021-06-13--22-02-38

The A3 reference drive looks to have a lane-change in it. The process_replay delta is expected and desired.
***** results for segment ef895f46af5fd73f|2021-05-22--14-06-35--6 *****
	controlsd
		carState.leftBlinker: 149
	radard
	plannerd
	calibrationd
	dmonitoringd
	locationd
	paramsd
	ubloxd


(docs) Clarify Python and CUDA Toolkit version requirement

Clarifies in the documentation that Python 3.8 is supported
Updates CUDA Toolkit download URLs for newer patch releases
Minor improvements to some error log messages in CUDA setup

N.B. I haven't considered the maximum Python range; not sure if anything special needs to be done for upcoming Python 3.13.

Thanks @matthewdouglas that was super helpful! Very much appreciated.


Create separate repository for Portal test vectors

Currently test vectors are added in *.md files within this repository. This was the fastest way to get started with the few tests we had back then.
More and more test vectors are being added, and I think we are at the point where it would be beneficial to look into creating a separate repository and defining a way (naming convention, file format, etc.) on how to store those test vectors in that repository.
This is not only useful for the different clients, but also for portal-hive.
We can draw some inspiration perhaps from the consensus test vectors: https://github.com/ethereum/consensus-spec-tests/tree/master
For Fluffy, we are already using a separate repository with the test vectors stored in files: https://github.com/status-im/portal-spec-tests/
I'm not sure if it is fully consistent everywhere, and if it is the format we prefer. But if wanted we can start from that one (and move it).

This is done now?

https://github.com/ethereum/portal-spec-tests/


Add support of Arabic language

This pull request is built atop of the Italian pull request.
I've added credits to Rahma Sghaier who provided me support for the arabic.

Does this mean we can close #51?

or that you have first to merge the other one. as you wish :)

Grazie!


[WIP] Add multiple namespaces support

This commit adds multiple namespaces support for the functions.
Signed-off-by: Vivek Singh<EMAIL_ADDRESS>

How have you tested it?

Yes I have tested it on local using tester helper.
go run cmd/tester/main.go
Handling connection for 8080
2019/09/25 14:02:53 Syncing topic map
2019/09/25 14:02:54 Invoke function: nodeinfo.fn
Handling connection for 8080
Handling connection for 8080
2019/09/25 14:02:54 Syncing topic map
2019/09/25 14:02:54 Invoke function: cows.openfaas-fn
2019/09/25 14:02:54 connector-sdk got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
[200] vm.powered.on => nodeinfo.fn
Hostname: nodeinfo-6df94d649d-46cfl

Platform: linux
Arch: x64
CPU count: 4
Uptime: 9757

2019/09/25 14:02:54 tester got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
2019/09/25 14:02:54 connector-sdk got result: [200] vm.powered.on => cows.openfaas-fn (105) bytes
[200] vm.powered.on => cows.openfaas-fn
          (__)
          (oo)
   /-------\/ 5+2=?
  / !     !!
 *  !!----!!
    ^^    ^^
cow who cow'nts

2019/09/25 14:02:54 tester got result: [200] vm.powered.on => cows.openfaas-fn (105) bytes
Handling connection for 8080
2019/09/25 14:02:55 Syncing topic map
Handling connection for 8080
2019/09/25 14:02:56 Syncing topic map
2019/09/25 14:02:56 Invoke function: nodeinfo.fn
Handling connection for 8080
2019/09/25 14:02:56 Invoke function: cows.openfaas-fn
2019/09/25 14:02:56 connector-sdk got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
[200] vm.powered.on => nodeinfo.fn
Hostname: nodeinfo-6df94d649d-46cfl

Platform: linux
Arch: x64
CPU count: 4
Uptime: 9760

2019/09/25 14:02:56 tester got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
2019/09/25 14:02:57 connector-sdk got result: [200] vm.powered.on => cows.openfaas-fn (134) bytes
[200] vm.powered.on => cows.openfaas-fn
               (__)
(__)           (oo)
(oo)      ______\/
-\/    /|      |
| |   * |______|
| |        ||
---        --
Cow Computer

2019/09/25 14:02:57 tester got result: [200] vm.powered.on => cows.openfaas-fn (134) bytes
Handling connection for 8080
2019/09/25 14:02:57 Syncing topic map
Handling connection for 8080
2019/09/25 14:02:58 Syncing topic map
2019/09/25 14:02:59 Invoke function: nodeinfo.fn
Handling connection for 8080
2019/09/25 14:02:59 Invoke function: cows.openfaas-fn
2019/09/25 14:02:59 connector-sdk got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
[200] vm.powered.on => nodeinfo.fn
Hostname: nodeinfo-6df94d649d-46cfl

Platform: linux
Arch: x64
CPU count: 4
Uptime: 9762

2019/09/25 14:02:59 tester got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
2019/09/25 14:02:59 connector-sdk got result: [200] vm.powered.on => cows.openfaas-fn (283) bytes
[200] vm.powered.on => cows.openfaas-fn
   ___________________________
| |                (__)       \
| |                (oo)        |
| |         /-------\/          \____
| |        / |     ||            ____)   Cow'ndom
| |       *  ||----||           /
| |          ~~    ~~          |
| |___________________________/

2019/09/25 14:02:59 tester got result: [200] vm.powered.on => cows.openfaas-fn (283) bytes
Handling connection for 8080
2019/09/25 14:02:59 Syncing topic map
Handling connection for 8080
2019/09/25 14:03:00 Syncing topic map
2019/09/25 14:03:01 Invoke function: nodeinfo.fn
Handling connection for 8080
2019/09/25 14:03:01 Invoke function: cows.openfaas-fn
2019/09/25 14:03:01 connector-sdk got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
[200] vm.powered.on => nodeinfo.fn
Hostname: nodeinfo-6df94d649d-46cfl

Platform: linux
Arch: x64
CPU count: 4
Uptime: 9764

2019/09/25 14:03:01 tester got result: [200] vm.powered.on => nodeinfo.fn (89) bytes
2019/09/25 14:03:01 connector-sdk got result: [200] vm.powered.on => cows.openfaas-fn (91) bytes
[200] vm.powered.on => cows.openfaas-fn
         (__)
         (oo)
   __[_]__\/
 / |     ||
*  ||----||
   ^^    ^^
 Portable Cow

2019/09/25 14:03:01 tester got result: [200] vm.powered.on => cows.openfaas-fn (91) bytes
Handling connection for 8080
2019/09/25 14:03:01 Syncing topic map

Thank you. Is it still WIP, or ready to merge/test?

This is almost ready and tested but I have not added unit test for this. Will add unit test and push it.
Thanks @alexellis  @martindekov

I have added unit test and updated the existing unit tests.

@martindekov WDYT?

Thanks for the added unit tests @viveksyngh, @alexellis I think the implementation is good, I will vendor the change in the kafka-connector and possibly the vcenter-connector and try to test them also :+1:

Thank you 👍 there is a new release ready.

@embano1


Add (def f (fn [...] ...) forms to the report

Currently def top level forms aren't being added to the report because most of them aren't interesting, but there is the exception of the ones that define functions. Those should be included.

This is fixed in 0.2.0


when accessing soca swagger api, it shows Not Authorized

Hi team,
As title, i have a sudo user admin, and when i access soca swagger api:/api/ldap/user, it shows "Not Authorized". Actually other apis also show the same error. I checked the code and found there is decorator method named admin_api applied on these methods
def admin_api(f):
    @wraps(f)
    def admin_resource(*args, **kwargs):
        user = request.headers.get("X-SOCA-USER", None)
        token = request.headers.get("X-SOCA-TOKEN", None)
        if token == config.Config.API_ROOT_KEY:
                return f(*args, **kwargs)

        if user is None or token is None:
            return {"success": False, "message": "Not Authorized"}, 401
        else:
            token_has_sudo = ApiKeys.query.filter_by(token=token,
                                                     user=user,
                                                     scope="sudo",
                                                     is_active=True).first()
            if token_has_sudo:
                return f(*args, **kwargs)
            else:
                return {"success": False, "message": "Not authorized"}, 401
    return admin_resource

As code shown, it needs header parameters: X-SOCA-USER and X-SOCA-TOKEN, however even i provided these ones, it also show the same error

Please could you guide me how to fix it?

Hello @aqiao  - Just to confirm you are using the API Token (https://awslabs.github.io/scale-out-computing-on-aws/web-interface/control-hpc-job-with-http-web-rest-api/#step1-retrieve-your-api-key) and not the user password for X-SOCA-TOKEN

hi @mcrozes ,
Thanks for your response, it works. However, when i call /api/user/api_key, it still show "Not Authorized", then i checked the code again, i found the get method is marked as @restricted_api, then i checked the restricted_api code as below
def restricted_api(f):
    @wraps(f)
    def restricted_resource(*args, **kwargs):
        token = request.headers.get("X-SOCA-TOKEN", None)
        if token == config.Config.API_ROOT_KEY:
                return f(*args, **kwargs)
        return {"success": False, "message": "Not authorized"}, 401
    return restricted_resource

it used config.Config.API_ROOT_KEY as token, and config.Config.API_ROOT_KEY value comes from os environment variable :os.environ["SOCA_FLASK_API_ROOT_KEY"], but when i echo this variable on soca schedule node , it shows empty, so how can i get this variable

The /api/user/api_key is a little bit different as this endpoint returns the actual API key of the user. On older version, this endpoint was restricted to the web ui for security purpose.
On newer version, you will notice this API is now protected by retrieve_api_key decorator: https://github.com/awslabs/scale-out-computing-on-aws/blob/main/source/soca/cluster_web_ui/api/v1/user/api_key.py
To access this endpoint, you will need to authenticate with X-SOCA-USER and X-SOCA-PASSWORD (aka: you regular username/password) (https://github.com/awslabs/scale-out-computing-on-aws/blob/780fcba33e72d35cf2744e100fe1951fdbf81a37/source/soca/cluster_web_ui/decorators.py#L95).
So tu summarize, to authenticate to /api/user/api_key, you need to use X-SOCA-USER and X-SOCA-PASSWORD (your password)
To authenticate to other APIs , you need to use X-SOCA-USER (your username) and X-SOCA-TOKEN (your API key)
If possible, I recommend upgrading your cluster to the latest version. If not possible, you can retrieve the root API key under cluster_web_ui/keys folder (https://github.com/awslabs/scale-out-computing-on-aws/blob/780fcba33e72d35cf2744e100fe1951fdbf81a37/source/soca/cluster_web_ui/socawebui.sh#L94)

there is no keys folder under cluster_web_ui, and no admin_api_key.txt neither. i listed all txt files under cluster_web_ui
[root@ip-10-0-0-22 cluster_web_ui]# ls -l *.txt
-rw------- 1 root root 45 7月   8 07:31 dcv_secret_key.txt
-rw------- 1 root root 33 7月   8 07:31 flask_secret_key.txt

What version of SOCA are you using?

2.6.4

i checked socawebui.sh, it indeed created environment the variable , but every time it runs, it will generates a random string
            # Creating unique, random and temp credentials
            export SOCA_FLASK_FERNET_KEY=$(dd if=/dev/urandom bs=32 count=1 2>/dev/null | openssl base64)
            export SOCA_FLASK_API_ROOT_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

export SOCA_FLASK_API_ROOT_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
You can add a print statement just after this to get the API key information when you run a socawebui.sh start or store the output of the command into a text file.
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 > keys/admin_api_key.txt
chmod 600 keys/admin_api_key.txt
export SOCA_FLASK_API_ROOT_KEY=$(cat keys/admin_api_key.txt)```

so i have to re-deploy soca or just re-run socawebui.sh on the existing environment?

Okey, i got it. Very appreciate your support, have i nice day!!!


Skate + ShadyCSS issue - native ShadowDom Browsers

<custom-style> element from ShadyCSS throws error with skate-web-components polyfill within browsers that implements shadow dom ( Chrome ... )
It throws during parsing
shadycss.min.js?6d2b:2481 Uncaught TypeError: Illegal invocation
    at HTMLElement.w._findStyle (shadycss.min.js?6d2b:2481)
    at Function.w.findStyles (shadycss.min.js?6d2b:2452)
    at Object.applyStyle (shadycss.min.js?6d2b:2128)
    at Object.updateStyles (shadycss.min.js?6d2b:2256)
    at shadycss.min.js?6d2b:2402

DEMO (with skate-web-components): http://codepen.io/Hotell/pen/VPbdGo?editors=1010
Although if polyfills are used separately, it works
DEMO (with webcomponents/@ polyfills) : http://codepen.io/Hotell/pen/ygbjRO?editors=1010

Possibly an issue with using very old commits. Updating now to see if that fixes things. Your pen ws using master (and not including the native-shim).

Once they release I we can set the dep versions to * and not have to do this dance anymore.

great! thanks!

Updated both pens:

http://codepen.io/treshugart/pen/rjmZZW?editors=1010
http://codepen.io/treshugart/pen/rjmZwe?editors=1010

There was an issue with the @ one where you needed to drop babel transpilation for CE's to work in native. I had issues when using the native-shim with Babel. Not sure why.

great, no errors.
Closed by https://github.com/skatejs/web-components/releases/tag/v5.0.2

hmm but still. With Raw polyfills, contents of custom-style are transformed correctly
from .hello{ color: red } to .hello:not(.style-scope) {  color: red; }
although with skate polyfills, there is no transformation at all :-|

That's really interesting.

Had to fix the entry points we were importing as the polyfills have different conventions for each repo. This is a result of them not publishing unminified sources as we have to consume unminified sources so we can create our bundles. Raised an issue in https://github.com/webcomponents/custom-elements to see if we can address that.


Using functools.lru_cache for Automatic Memoization

#279
functools.lru_cache is a decorator in Python that automatically caches the results of function calls, speeding up recursive or repetitive computations by storing previously computed values.

@ananyag309 correct file name from Tests/Performance/test_ functoolslru_cache_AutomaticMemoization.py to Tests/Performance/test_functoolslru_cache_AutomaticMemoization.py

@UTSAVS26 please check now


feat: add initial support for writing cucumber based e2e tests.

Generally in favour of more tests, but I'm not familiar with the library.
I'm much more familiar with seen https://onsi.github.io/ginkgo/ which I believe is more widely adopted for BDD style tests in Go.
Curious as to whether you gave that a look, or whether the "human readable" cucumber style tests were a hard requirement.

Yeah. I tend to like that they are more readable, and that they compare api responses against expected json, without an intermediate client doing any magic.

It’s also easier to write test that send bad requests to the api servers.

Same as Dave, only used Gingkgo but have seen cucumber in the wild. I'm good learning a new framework as it looks like you've laid out a nice groundwork. I'm all for easier and more readable.


Can't get the Authorization to work.

I love the idea behind slim-jwt-auth and i'm trying to use it for my API, but i'm completely stuck trying to get my supersecret key to even validate.
Somehow it is not clear to me, how to properly pass the secret key to the Middleware for it to properly authenticate it, and respond.
I get constantly an 401 in my browser, or when testing with test-cors http://client.cors-api.appspot.com/client#?client_method=GET&client_credentials=true&client_headers=Authorization%3ABearer r8uGz9YQFPLdmWQBHRU9eNYe2j3FP4rLQ9NgrShQTBv7FMxjaXnjhJcvUkXeh7gS&server_url=https%3A%2F%2Fapi.teamglobalapp.com%2Fv1%2Fslides&server_enable=true&server_status=200&server_credentials=false&server_tabs=remote
I already added the configuration needed to the .htaccess.
Maybe i'm doing something wrong ? Do i need to encode the secret pass first at http://jwt.io/ ??
I have spent hours trying to understand how to properly validate this and nothing, if you can kindly point me in the right direction, i will most likely appreciate it, as it is not clear in the docs.
Thank you so much !

You pass the secret key for verifying signature in the secret parameter.
$app->add(new \Slim\Middleware\JwtAuthentication([
    "secret" => "supersecretkeyyoushouldnotcommittogithub"
]));

I do not know how you generated the token, but looking at the example url above the header it tries to send is.
Authorization: Bearer r8uGz9YQFPLdmWQBHRU9eNYe2j3FP4rLQ9NgrShQTBv7FMxjaXnjhJcvUkXeh7gS

The token part is not a valid JWT.
Header with valid example JWT token looks something like below. You can also verify this. Token is signed using secret fearlex (you need to write that in the verify box).
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiQXJsZXlzIFJlc2NvIiwiYWRtaW4iOnRydWV9.Rvsr4CScemkXpY0qvA21iF1hD07yGiGZJSo9REoXYcE

Middleware itself expects to find the token in either the Authorization: Bearer header or cookie named token.

Thank you so much, your response help clarify a few things. I appreciate you taking your time to help and to build such an amazing tool.
Thanks again.


Fatal error "Array::New: invalid len -2147483642" in object.cc: 21515 on some devices

#############################################################
#####    HOST COMPUTER WITH LINUX FEDORA-24, 64 BIT     #####
#############################################################

#############################################################
##### NO ERROR ON MOTO G (3rd GENERATION), ANDROID 6.01 #####
#############################################################

[johndoe@a-comp temp]$ flutter create myapp
Creating project myapp...
Wrote 59 files.

Running 'flutter packages get' in myapp...            3.6s

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done! In order to run your application, type:

  $ cd myapp
  $ flutter run

Your main program file is lib/main.dart in the myapp directory.

[johndoe@a-comp temp]$ cd myapp
[johndoe@a-comp myapp]$ flutter run
Launching lib/main.dart on MotoG3 in debug mode...
Running 'gradle wrapper'...                          10.6s
Running 'gradlew assembleDebug'...                   24.0s
Built app-debug.apk (21.9MB).
Uninstalling old version...
Installing android/app/build/outputs/apk/app.apk...  10.2s
Syncing files to device...                            6.0s

🔥  To hot reload your app on the fly, press "r" or F5. To restart the app entirely, press "R".
The Observatory debugger and profiler is available at: http://<IP_ADDRESS>:8100/
For a more detailed help message, press "h" or F1. To quit, press "q", F10, or Ctrl-C.

############ 1st ATTEMPT ##################
##### ERROR ON JK 960 3G, ANDROID 5.1 #####
###########################################

[johndoe@a-comp temp]$ flutter create myapp
Creating project myapp...
Wrote 59 files.

Running 'flutter packages get' in myapp...            4.4s

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done! In order to run your application, type:

  $ cd myapp
  $ flutter run

Your main program file is lib/main.dart in the myapp directory.

[johndoe@a-comp temp]$ cd myapp
[johndoe@a-comp myapp]$ flutter run
Launching lib/main.dart on JK 960 3G in debug mode...
Running 'gradle wrapper'...                          10.2s
Running 'gradlew assembleDebug'...                   23.8s
Built app-debug.apk (21.9MB).
Uninstalling old version...
Installing android/app/build/outputs/apk/app.apk...  17.4s
Exception from flutter run: FormatException: Bad UTF-8 encoding 0xb4 (at offset 512)
dart:isolate  _RawReceivePortImpl._handleMessage

E/DartVM  (10900): ../../dart/runtime/vm/object.cc: 21515: error: Fatal error in Array::New: invalid len -2147483642
E/DartVM  (10900):
E/DartVM  (10900): Dumping native stack trace for thread 2b0a
E/DartVM  (10900): Stack dump aborted because GetAndValidateThreadStackBounds.
Exception from flutter run: TimeoutException: Request to Dart VM Service timed out: getIsolate({isolateId: isolates/458579633})
package:flutter_tools/src/vmservice.dart 614                      VM.invokeRpcRaw
package:flutter_tools/src/vmservice.dart 792                      Isolate.invokeRpcRaw
package:flutter_tools/src/vmservice.dart 775                      Isolate._fetchDirect
package:flutter_tools/src/vmservice.dart 314                      ServiceObject.reload
package:flutter_tools/src/vmservice.dart 285                      ServiceObject.load
package:flutter_tools/src/vmservice.dart 558                      VM.getFromMap
package:flutter_tools/src/vmservice.dart 199                      _upgradeList
package:flutter_tools/src/vmservice.dart 188                      _upgradeMap.<fn>
dart:collection                                                   _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach
package:flutter_tools/src/vmservice.dart 184                      _upgradeMap
package:flutter_tools/src/vmservice.dart 177                      _upgradeCollection
package:flutter_tools/src/vmservice.dart 476                      VM._update
package:flutter_tools/src/vmservice.dart 356                      ServiceObject.update
package:flutter_tools/src/vmservice.dart 319                      ServiceObject.reload
package:flutter_tools/src/vmservice.dart 150                      VMService.getVM
package:flutter_tools/src/resident_runner.dart 214                ResidentRunner.connectToServiceProtocol
package:flutter_tools/src/run_hot.dart 189                        HotRunner._run
package:flutter_tools/src/run_hot.dart 79                         HotRunner.run.<fn>
package:stack_trace                                               Chain.capture
package:flutter_tools/src/run_hot.dart 78                         HotRunner.run
package:flutter_tools/src/commands/run.dart 284                   RunCommand.runCommand
package:flutter_tools/src/runner/flutter_command.dart 148         FlutterCommand.verifyThenRunCommand
package:flutter_tools/src/commands/run.dart 199                   RunCommand.verifyThenRunCommand
package:flutter_tools/src/runner/flutter_command.dart 119         FlutterCommand.run
package:args/command_runner.dart 194                              CommandRunner.runCommand
package:flutter_tools/src/runner/flutter_command_runner.dart 221  FlutterCommandRunner.runCommand
package:args/command_runner.dart 109                              CommandRunner.run.<fn>
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 109                              CommandRunner.run
package:flutter_tools/src/runner/flutter_command_runner.dart 150  FlutterCommandRunner.run
package:flutter_tools/executable.dart 128                         main.<fn>.<fn>
package:stack_trace                                               Chain.capture
package:flutter_tools/executable.dart 127                         main.<fn>
package:flutter_tools/src/base/context.dart 76                    AppContext._run
package:flutter_tools/src/base/context.dart 66                    AppContext.runInZone.<fn>
dart:async                                                        runZoned
package:flutter_tools/src/base/context.dart 65                    AppContext.runInZone
package:flutter_tools/executable.dart 98                          main
../../flutter/packages/flutter_tools/bin/flutter_tools.dart 8     main
===== asynchronous gap ===========================
dart:async                                                        _Completer.completeError
package:flutter_tools/src/vmservice.dart 623                      VM.invokeRpcRaw
===== asynchronous gap ===========================
dart:async                                                        _asyncErrorWrapperHelper
package:flutter_tools/src/vmservice.dart                          VM.invokeRpcRaw
package:flutter_tools/src/vmservice.dart 792                      Isolate.invokeRpcRaw
package:flutter_tools/src/vmservice.dart 775                      Isolate._fetchDirect
package:flutter_tools/src/vmservice.dart 314                      ServiceObject.reload
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/vmservice.dart                          ServiceObject.reload
package:flutter_tools/src/vmservice.dart 285                      ServiceObject.load
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/vmservice.dart                          ServiceObject.load
package:flutter_tools/src/vmservice.dart 558                      VM.getFromMap
package:flutter_tools/src/vmservice.dart 199                      _upgradeList
package:flutter_tools/src/vmservice.dart 188                      _upgradeMap.<fn>
dart:collection                                                   _HashVMBase&MapMixin&&_LinkedHashMapMixin.forEach
package:flutter_tools/src/vmservice.dart 184                      _upgradeMap
package:flutter_tools/src/vmservice.dart 177                      _upgradeCollection
package:flutter_tools/src/vmservice.dart 476                      VM._update
package:flutter_tools/src/vmservice.dart 356                      ServiceObject.update
package:flutter_tools/src/vmservice.dart 319                      ServiceObject.reload
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/vmservice.dart                          ServiceObject.reload
package:flutter_tools/src/vmservice.dart 150                      VMService.getVM
package:flutter_tools/src/resident_runner.dart 214                ResidentRunner.connectToServiceProtocol
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/resident_runner.dart                    ResidentRunner.connectToServiceProtocol
package:flutter_tools/src/run_hot.dart 189                        HotRunner._run
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/run_hot.dart                            HotRunner._run
package:flutter_tools/src/run_hot.dart 79                         HotRunner.run.<fn>
package:stack_trace                                               Chain.capture
package:flutter_tools/src/run_hot.dart 78                         HotRunner.run
package:flutter_tools/src/commands/run.dart 284                   RunCommand.runCommand

Error connecting to the service protocol: TimeoutException: Request to Dart VM Service timed out: _flutter.listViews({})
[johndoe@a-comp myapp]$

############ 2nd ATTEMPT ##################
##### ERROR ON JK 960 3G, ANDROID 5.1 #####
###########################################
[johndoe@a-comp temp]$ flutter create myapp
Creating project myapp...
Wrote 59 files.

Running 'flutter packages get' in myapp...            5.4s

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done! In order to run your application, type:

  $ cd myapp
  $ flutter run

Your main program file is lib/main.dart in the myapp directory.

[johndoe@a-comp temp]$ cd myapp
[johndoe@a-comp myapp]$ flutter run
Launching lib/main.dart on JK 960 3G in debug mode...
Running 'gradle wrapper'...                          10.2s
Running 'gradlew assembleDebug'...                   23.7s
Built app-debug.apk (21.9MB).
Uninstalling old version...
Installing android/app/build/outputs/apk/app.apk...  17.8s
Exception from flutter run: FormatException: Bad UTF-8 encoding 0xb4 (at offset 408)
dart:isolate  _RawReceivePortImpl._handleMessage

E/DartVM  (14576): ../../dart/runtime/vm/object.cc: 21515: error: Fatal error in Array::New: invalid len -2147483642
E/DartVM  (14576):
E/DartVM  (14576): Dumping native stack trace for thread 392f
E/DartVM  (14576): Stack dump aborted because GetAndValidateThreadStackBounds.
Exception from flutter run: TimeoutException: Request to Dart VM Service timed out: getVM({})
package:flutter_tools/src/vmservice.dart 614                      VM.invokeRpcRaw
package:flutter_tools/src/vmservice.dart 466                      VM._fetchDirect
package:flutter_tools/src/vmservice.dart 314                      ServiceObject.reload
package:flutter_tools/src/vmservice.dart 150                      VMService.getVM
package:flutter_tools/src/resident_runner.dart 214                ResidentRunner.connectToServiceProtocol
package:flutter_tools/src/run_hot.dart 189                        HotRunner._run
package:flutter_tools/src/run_hot.dart 79                         HotRunner.run.<fn>
package:stack_trace                                               Chain.capture
package:flutter_tools/src/run_hot.dart 78                         HotRunner.run
package:flutter_tools/src/commands/run.dart 284                   RunCommand.runCommand
package:flutter_tools/src/runner/flutter_command.dart 148         FlutterCommand.verifyThenRunCommand
package:flutter_tools/src/commands/run.dart 199                   RunCommand.verifyThenRunCommand
package:flutter_tools/src/runner/flutter_command.dart 119         FlutterCommand.run
package:args/command_runner.dart 194                              CommandRunner.runCommand
package:flutter_tools/src/runner/flutter_command_runner.dart 221  FlutterCommandRunner.runCommand
package:args/command_runner.dart 109                              CommandRunner.run.<fn>
dart:async                                                        Future.Future.sync
package:args/command_runner.dart 109                              CommandRunner.run
package:flutter_tools/src/runner/flutter_command_runner.dart 150  FlutterCommandRunner.run
package:flutter_tools/executable.dart 128                         main.<fn>.<fn>
package:stack_trace                                               Chain.capture
package:flutter_tools/executable.dart 127                         main.<fn>
package:flutter_tools/src/base/context.dart 76                    AppContext._run
package:flutter_tools/src/base/context.dart 66                    AppContext.runInZone.<fn>
dart:async                                                        runZoned
package:flutter_tools/src/base/context.dart 65                    AppContext.runInZone
package:flutter_tools/executable.dart 98                          main
../../flutter/packages/flutter_tools/bin/flutter_tools.dart 8     main
===== asynchronous gap ===========================
dart:async                                                        _Completer.completeError
package:flutter_tools/src/vmservice.dart 623                      VM.invokeRpcRaw
===== asynchronous gap ===========================
dart:async                                                        _asyncErrorWrapperHelper
package:flutter_tools/src/vmservice.dart                          VM.invokeRpcRaw
package:flutter_tools/src/vmservice.dart 466                      VM._fetchDirect
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/vmservice.dart                          VM._fetchDirect
package:flutter_tools/src/vmservice.dart 314                      ServiceObject.reload
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/vmservice.dart                          ServiceObject.reload
package:flutter_tools/src/vmservice.dart 150                      VMService.getVM
package:flutter_tools/src/resident_runner.dart 214                ResidentRunner.connectToServiceProtocol
===== asynchronous gap ===========================
dart:async                                                        Future.Future.microtask
package:flutter_tools/src/resident_runner.dart                    ResidentRunner.connectToServiceProtocol
package:flutter_tools/src/run_hot.dart 189                        HotRunner._run
===== asynchronous gap ===========================
dart:async                                                        _asyncThenWrapperHelper
package:flutter_tools/src/run_hot.dart                            HotRunner._run
package:flutter_tools/src/run_hot.dart 79                         HotRunner.run.<fn>
package:stack_trace                                               Chain.capture
package:flutter_tools/src/run_hot.dart 78                         HotRunner.run
package:flutter_tools/src/commands/run.dart 284                   RunCommand.runCommand

Error connecting to the service protocol: Exception: Error connecting to observatory: WebSocketChannelException: WebSocketChannelException: HttpException: Connection closed before full header was received, uri = http://<IP_ADDRESS>:8100/ws

[johndoe@a-comp myapp]$ flutter analyze
Analyzing lib/main.dart...
No analyzer warnings! (ran in 8.5s)
[johndoe@a-comp myapp]$ flutter doctor
[✓] Flutter (on Linux, channel master)
    • Flutter at /home/johndoe/flutter
    • Framework revision 257be181fd (11 hours ago), 2017-02-17 21:38:20
    • Engine revision ab09530927
    • Tools Dart version 1.23.0-dev.0.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at /home/johndoe/Android/Sdk
    • Platform android-25, build-tools 25.0.2
    • Java(TM) SE Runtime Environment (build 1.8.0_121-b13)

[✓] IntelliJ IDEA Community Edition (version 2016.3)
    • Dart plugin version 163.13137
    • Flutter plugin version 0.1.10

[✓] Connected devices
    • JK 960 3G •<PHONE_NUMBER>ABCDEF • android-arm • Android 5.1 (API 22)
[johndoe@a-comp myapp]$

##################################################################
##### THE SAME ERROR ON PHONE FLY IQ4415 QUAD, ANDROID 4.4.2 ####
##################################################################

[johndoe@a-comp temp]$ flutter create myapp
Creating project myapp...
Wrote 59 files.

Running 'flutter packages get' in myapp...            5.0s

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done! In order to run your application, type:

  $ cd myapp
  $ flutter run

Your main program file is lib/main.dart in the myapp directory.

[johndoe@a-comp temp]$ cd myapp
[johndoe@a-comp myapp]$ flutter run
Launching lib/main.dart on IQ4415 Quad in debug mode...
WARNING: linker: libvc1dec_sa.ca7.so has text relocations. This is wasting memory and is a security risk. Please fix.
WARNING: linker: libvc1dec_sa.ca7.so has text relocations. This is wasting memory and is a security risk. Please fix.
Running 'gradle wrapper'...                          10.4s
Running 'gradlew assembleDebug'...                   23.8s
Built app-debug.apk (21.9MB).
Installing android/app/build/outputs/apk/app.apk...  29.6s
Exception from flutter run: FormatException: Overlong encoding of 0x0 (at offset 24294)
dart:isolate  _RawReceivePortImpl._handleMessage

E/DartVM  ( 5510): ../../dart/runtime/vm/object.cc: 21515: error: Fatal error in Array::New: invalid len -2147483642
E/DartVM  ( 5510):
E/DartVM  ( 5510): Dumping native stack trace for thread 15ad
E/DartVM  ( 5510): Stack dump aborted because InitialRegisterCheck.
E/DartVM  ( 5649): ../../dart/runtime/vm/object.cc: 21515: error: Fatal error in Array::New: invalid len -2147483642
E/DartVM  ( 5649):
E/DartVM  ( 5649): Dumping native stack trace for thread 1621
E/DartVM  ( 5649): Stack dump aborted because GetAndValidateThreadStackBounds.
Error waiting for a debug connection: Exception: Timeout while attempting to retrieve Uri for Observatory
Error launching application on IQ4415 Quad.
[johndoe@a-comp myapp]$ flutter analyze
Analyzing lib/main.dart...
No analyzer warnings! (ran in 9.0s)
[johndoe@a-comp myapp]$ flutter doctor
[✓] Flutter (on Linux, channel master)
    • Flutter at /home/johndoe/flutter
    • Framework revision 257be181fd (12 hours ago), 2017-02-17 21:38:20
    • Engine revision ab09530927
    • Tools Dart version 1.23.0-dev.0.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at /home/johndoe/Android/Sdk
    • Platform android-25, build-tools 25.0.2
    • Java(TM) SE Runtime Environment (build 1.8.0_121-b13)

[✓] IntelliJ IDEA Community Edition (version 2016.3)
    • Dart plugin version 163.13137
    • Flutter plugin version 0.1.10

[✓] Connected devices
    • IQ4415 Quad • Fly • android-arm • Android 4.4.2 (API 19)
[johndoe@a-comp myapp]$

#############################################################
#####   NO ERROR ON TABLET NEXUS 7, ANDROID  4.4.4      #####
#############################################################

[johndoe@a-comp temp]$ flutter create myapp
Creating project myapp...
Wrote 59 files.

Running 'flutter packages get' in myapp...            3.8s

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done!
Running 'gradle wrapper'...                          23.7s
Running 'gradlew assembleDebug'...                   32.7s
Built app-debug.apk (21.9MB).
Installing android/app/build/outputs/apk/app.apk...  35.4s
Syncing files to device...                           11.5s

🔥  To hot reload your app on the fly, press "r" or F5. To restart the app entirely, press "R".
The Observatory debugger and profiler is available at: http://<IP_ADDRESS>:8100/
For a more detailed help message, press "h" or F1. To quit, press "q", F10, or Ctrl-C.
q
Application finished.
[johndoe@a-comp myapp]$ flutter analyze
Analyzing lib/main.dart...
No analyzer warnings! (ran in 8.3s)
[johndoe@a-comp myapp]$ flutter doctor
[✓] Flutter (on Linux, channel master)
    • Flutter at /home/johndoe/flutter
    • Framework revision 257be181fd (13 hours ago), 2017-02-17 21:38:20
    • Engine revision ab09530927
    • Tools Dart version 1.23.0-dev.0.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at /home/johndoe/Android/Sdk
    • Platform android-25, build-tools 25.0.2
    • Java(TM) SE Runtime Environment (build 1.8.0_121-b13)

[✓] IntelliJ IDEA Community Edition (version 2016.3)
    • Dart plugin version 163.13137
    • Flutter plugin version 0.1.10

[✓] Connected devices
    • Nexus 7 • 015d25689c4c1412 • android-arm • Android 4.4.4 (API 19)
[johndoe@a-comp myapp]$

##################################################################
#####     THE SAME ERROR ON PHONE JY G5S, ANDROID 4.2.2       ####
##################################################################

[johndoe@a-comp temp]$ flutter create myapp
Creating project myapp...
Wrote 59 files.

Running 'flutter packages get' in myapp...            4.3s

[✓] Flutter is fully installed. (on Linux, channel master)
[✓] Android toolchain - develop for Android devices is fully installed. (Android SDK 25.0.2)
[✓] IntelliJ IDEA Community Edition is fully installed. (version 2016.3)
[✓] Connected devices is fully installed.

All done!
Running 'gradle wrapper'...                          10.5s
Running 'gradlew assembleDebug'...                   24.0s
Built app-debug.apk (21.9MB).
Uninstalling old version...
Installing android/app/build/outputs/apk/app.apk...   8.3s
Exception from flutter run: FormatException: Overlong encoding of 0x0 (at offset 37259)
dart:isolate  _RawReceivePortImpl._handleMessage

Exception from flutter run: FormatException: Overlong encoding of 0x0 (at offset 7435)
dart:isolate  _RawReceivePortImpl._handleMessage

E/DartVM  ( 9630): ../../dart/runtime/vm/object.cc: 21515: error: Fatal error in Array::New: invalid len -2147483642
E/DartVM  ( 9630):
E/DartVM  ( 9630): Dumping native stack trace for thread 25af
E/DartVM  ( 9630): Stack dump aborted because GetAndValidateThreadStackBounds.
Error waiting for a debug connection: Exception: Timeout while attempting to retrieve Uri for Observatory
Error launching application on JY G5S.
[johndoe@a-comp myapp]$ flutter analyze
Analyzing lib/main.dart...
No analyzer warnings! (ran in 8.3s)
[johndoe@a-comp myapp]$ flutter doctor
[✓] Flutter (on Linux, channel master)
    • Flutter at /home/johndoe/flutter
    • Framework revision 257be181fd (17 hours ago), 2017-02-17 21:38:20
    • Engine revision ab09530927
    • Tools Dart version 1.23.0-dev.0.0

[✓] Android toolchain - develop for Android devices (Android SDK 25.0.2)
    • Android SDK at /home/johndoe/Android/Sdk
    • Platform android-25, build-tools 25.0.2
    • Java(TM) SE Runtime Environment (build 1.8.0_121-b13)

[✓] IntelliJ IDEA Community Edition (version 2016.3)
    • Dart plugin version 163.13137
    • Flutter plugin version 0.1.10

[✓] Connected devices
    • JY G5S • KZ6L7SPRC6F6ONVC • android-arm • Android 4.2.2 (API 17)
[johndoe@a-comp myapp]$

@johnmccutchan would you expect the vm to crash like this?  Trying to guess if this is an issue in our tool code or the vm or the device.
I suspect we have a Moto G 3rd gen in the pile on my desk, if not, I'm sure the central lab has one.

@eseidelGoogle  There is no error on Moto G 3rd gen. I showed it as an example of normal work.

@eseidelGoogle The VM aborted because somehow an Array of negative length was requested. There are checks in Dart code that catch this and throw an exception in Dart code, so this must be coming from within the VM itself.
Also, this appears to be a crash on the phone and not on the host machine.

@rmacnak-google @a-siva FYI

@sethladd Do we have these devices available?

I'll speculate this was fixed by https://github.com/dart-lang/sdk/commit/683077944b67ccd21dd656cf8fb573a45eaeb340


feat: 4567- E2E tests for Gene Expression Right Side Bar and Top Nav

Description
E2E tests for Right side bar and top Nav of Gene Expression
Ticket
#4567
Overview
The test aims to ensure that the right side bar (RSB) loads properly with the legend, methodology, and source data. Additionally, when the scaled checkbox is checked, gene expression should scale from 0 to 1, and the darkest color should show up in the dot plot. The methodology section should include a link to the scExpression documentation. Clicking on the cellxgene logo should take the user back to the data portal, and the help and documentation should link out to the cellxgene documentation. The test should verify that all these features are working as intended and are providing accurate information to the user.

Added @ashin-czi since I'll be out till 5/8! Thank you!

I noticed a lot of refactors for wheresMyGene.test.ts
I tried running these tests locally but many of them are failing.
Some examples, but there are more errors for other tests:

Is there something that I need for these tests to pass locally for me?
Also I noticed that retries are commented out, was the plan not to retry tests anymore? I believe we should keep retries but I'm unsure if this was a conversation had with Timmy at some point, or if this was accidental and was meant to only be for local.

@ashin-czi the retry thingy is definitely a left over from local testing. As for refactoring, we generally shouldn't touch those tests except when we refactor and use the utilities we someime have to make changes.
@victorikeokoro6 pls check this out

ok I would  check it out @ashin-czi @charles-testco

Hi @charles-testco I have implemented the fixes to my tests

I also looked into the failing into the failing tests, I don't know who mad the last changes to  wheresMyGene.test.ts

@charles-testco thanks for fixing the PR 🙏
Can you please help run WMG tests locally to ensure everything passes before approving the PR?
Thanks so much!

Thanks a will


atomgraph: remove redundant method redefinition to fix build warning

Remove the redundant, duplicate method defintion of the AtomGraph
constructor that takes builds an AtomGraph from an adjacency matrix.
This fixes the warning -
WARNING: Method definition (::Type{ChemistryFeaturization.Atoms.AtomGraph})(Array{R<:Real, N} where N, Array{String, 1}) where {R<:Real} in module Atoms at /home/zephyr/Chemellia/ChemistryFeaturization.jl/src/atoms/atomgraph.jl:51 overwritten at /home/zephyr/Chemellia/ChemistryFeaturization.jl/src/atoms/atomgraph.jl:55.
** incremental compilation may be fatally broken for this module **
Signed-off-by: Anant Thazhemadam<EMAIL_ADDRESS>

Codecov Report

Merging #95 (0524b25) into main (99618bc) will increase coverage by 0.28%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #95      +/-   ##
==========================================
+ Coverage   85.28%   85.57%   +0.28%
==========================================
  Files          12       12
  Lines         299      298       -1
==========================================
  Hits          255      255
+ Misses         44       43       -1

Impacted Files
Coverage Δ

src/atoms/atomgraph.jl
73.77% <ø> (+1.18%)
:arrow_up:

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 99618bc...0524b25. Read the comment docs.


Add Pester tests for the module

The module should have Pester tests that are run during build, to ensure that commands behave as expected.

Also consider code coverage, seems to be possible from quick googling. Some links:
https://github.com/coverlet-coverage/coverlet/issues/187
https://github.com/felixfbecker/PSKubectl/blob/master/ci/Invoke-Tests.ps1


Accordion won't open on Template details page

When I click the +/- to expand the accordion for the phase on the main template details page ('Data management plan' in screenshot below) the + and - changes but the accordion doesn't open.

@briri working now - thanks! if not too much trouble can you load the page w/accordion expanded by default? i think this was a request @sjDCC made in the templates issue sam was working on.


Add a minValue option to nonNegativeDerivative and perSecond

It works in a way similar to maxValue: when the counter wraps, instead of
producing a null value, it computes the difference assuming the counter wrapped
to minValue.
See also #2374

Can you add documentation for minValue and maxValue to the docblock?

Codecov Report

Merging #2375 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2375      +/-   ##
==========================================
+ Coverage   79.62%   79.63%   +<.01%
==========================================
  Files          85       85
  Lines        8893     8897       +4
  Branches     1899     1901       +2
==========================================
+ Hits         7081     7085       +4
  Misses       1551     1551
  Partials      261      261

Impacted Files
Coverage Δ

webapp/graphite/render/functions.py
96.22% <100%> (ø)
:arrow_up:

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 839b443...f4de560. Read the comment docs.

Can you add documentation for minValue and maxValue to the docblock?

Added. I tried to be concise; let me know if you would prefer a longer explanation.

Can I haz more reviews for this? @piotr1212 @DanCech @iksaif ?
Thanks!

Tested and works great thanks.
Only found that we have an issue in the code on Python 3. The issue was already there, so I suggest to first merge this and then fix the issue.
  File "/home/piotr/venv37/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/home/piotr/venv37/lib/python3.7/site-packages/django/core/handlers/base.py", line 126, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/home/piotr/venv37/lib/python3.7/site-packages/django/core/handlers/base.py", line 124, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/home/piotr/venv37/lib/python3.7/site-packages/graphite/render/views.py", line 118, in renderView
    data.extend(evaluateTarget(requestContext, targets))
  File "/home/piotr/venv37/lib/python3.7/site-packages/graphite/render/evaluator.py", line 28, in evaluateTarget
    result = evaluateTokens(requestContext, target)
  File "/home/piotr/venv37/lib/python3.7/site-packages/graphite/render/evaluator.py", line 57, in evaluateTokens
    return evaluateTokens(requestContext, tokens.expression, replacements)
  File "/home/piotr/venv37/lib/python3.7/site-packages/graphite/render/evaluator.py", line 93, in evaluateTokens
    return func(requestContext, *args, **kwargs)
  File "/home/piotr/venv37/lib/python3.7/site-packages/graphite/render/functions.py", line 2171, in nonNegativeDerivative
    delta, prev = _nonNegativeDelta(val, prev, maxValue)
  File "/home/piotr/venv37/lib/python3.7/site-packages/graphite/render/functions.py", line 2192, in _nonNegativeDelta
    if maxValue is not None and val > maxValue:
TypeError: '>' not supported between instances of 'NoneType' and 'int'  ```

Nice catch, @piotr1212 !
I opened https://github.com/graphite-project/graphite-web/issues/2384 for that.


claws-mail: install desktop item, take maintainership

Tested locally, Claws appears in the KDE application menu with this patch.

Thanks, porting to 15.09 as well.


Haiku needs all hk.Module must be initialized inside an hk.transform

Hi. Ia am trying to execute the graphcast model in a conda enviornment built with the same packages version of a working execution at google collab but whenever I try to build the model at construct_wrapped_graphcast function returns this error:
Traceback (most recent call last):
  File "/home/eloy.anguiano/repos/graphcast/0.get_model.py", line 76, in <module>
    model = construct_wrapped_graphcast(model_config, task_config)
  File "/home/eloy.anguiano/repos/graphcast/0.get_model.py", line 58, in construct_wrapped_graphcast
    predictor = graphcast.GraphCast(model_config, task_config)
  File "/home/eloy.anguiano/repos/graphcast/graphcast/graphcast.py", line 261, in __init__
    self._grid2mesh_gnn = deep_typed_graph_net.DeepTypedGraphNet(
  File "/home/eloy.anguiano/miniconda3/envs/graphcast_iic/lib/python3.10/site-packages/haiku/_src/module.py", line 139, in __call__
    init(module, *args, **kwargs)
  File "/home/eloy.anguiano/miniconda3/envs/graphcast_iic/lib/python3.10/site-packages/haiku/_src/module.py", line 433, in wrapped
    raise ValueError(
ValueError: All `hk.Module`s must be initialized inside an `hk.transform`.

I checked that both dm-haiku versions (collaboratory and local) are 0.0.11. Is there any dockerfile to build a working environment or something like that? It is very difficult to run the same collab env at local.
How to reproduce:
from google.cloud import storage
from graphcast import autoregressive
from graphcast import casting
from graphcast import checkpoint
from graphcast import graphcast
from graphcast import normalization
import xarray

MODEL_VERSION = 'GraphCast_operational - ERA5-HRES 1979-2021 - resolution 0.25 - pressure levels 13 - mesh 2to6 - precipitation output only.npz'

# @title Authenticate with Google Cloud Storage
gcs_client = storage.Client.create_anonymous_client()
gcs_bucket = gcs_client.get_bucket("dm_graphcast")

with gcs_bucket.blob(f"params/{MODEL_VERSION}").open("rb") as f:
    ckpt = checkpoint.load(f, graphcast.CheckPoint)
params = ckpt.params
state = {}

model_config = ckpt.model_config
task_config = ckpt.task_config
print("Model description:\n", ckpt.description, "\n")
print("Model license:\n", ckpt.license, "\n")

with gcs_bucket.blob("stats/diffs_stddev_by_level.nc").open("rb") as f:
  diffs_stddev_by_level = xarray.load_dataset(f).compute()
with gcs_bucket.blob("stats/mean_by_level.nc").open("rb") as f:
  mean_by_level = xarray.load_dataset(f).compute()
with gcs_bucket.blob("stats/stddev_by_level.nc").open("rb") as f:
  stddev_by_level = xarray.load_dataset(f).compute()

def construct_wrapped_graphcast(
    model_config: graphcast.ModelConfig,
    task_config: graphcast.TaskConfig):
    """Constructs and wraps the GraphCast Predictor."""
    # Deeper one-step predictor.
    predictor = graphcast.GraphCast(model_config, task_config)

    # Modify inputs/outputs to `graphcast.GraphCast` to handle conversion to
    # from/to float32 to/from BFloat16.
    predictor = casting.Bfloat16Cast(predictor)

    # Modify inputs/outputs to `casting.Bfloat16Cast` so the casting to/from
    # BFloat16 happens after applying normalization to the inputs/targets.
    predictor = normalization.InputsAndResiduals(
        predictor,
        diffs_stddev_by_level=diffs_stddev_by_level,
        mean_by_level=mean_by_level,
        stddev_by_level=stddev_by_level)

    # Wraps everything so the one-step model can produce trajectories.
    predictor = autoregressive.Predictor(predictor, gradient_checkpointing=True)
    return predictor

model = construct_wrapped_graphcast(model_config, task_config)
print("Done")

Thanks for your message, this is totally expected in Haiku, because as the error says all hk.Modules must be initialized inside an hk.transform, and GraphCast is a Haiku module.
See this bit of code in the GraphCast demo:
@hk.transform_with_state
def run_forward(model_config, task_config, inputs, targets_template, forcings):
  predictor = construct_wrapped_graphcast(model_config, task_config)
  return predictor(inputs, targets_template=targets_template, forcings=forcings)

which contains an example of how to use hk.transform.


TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.
If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.
If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/80469

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/80805

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/80813

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/81610

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83757

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83775

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/83786

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request: https://github.com/JuliaRegistries/General/pull/118965

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.

Triggering TagBot for merged registry pull request
This extra notification is being sent because I expected a tag to exist by now, but it doesn't.
You may want to check your TagBot configuration to ensure that it's running, and if it is, check the logs to make sure that there are no errors.