Update AbstractForm

This incorporates the changes by @donbeave to AbstractForm.
This fixes #232.

gwtbootstrap3 » gwtbootstrap3 #461 SUCCESS
This pull request looks good
(what's this?)


feat(contracts): batch token bridge

Purpose or design rationale of this PR
This PR add contracts used for batch token deposits from L1 to L2.
PR title
Your PR title must follow conventional commits (as we are doing squash merge for each PR), so it must start with one of the following types:

[x] feat: A new feature

Deployment tag versioning
Has tag in common/version.go been updated or have you added bump-version label to this PR?

[x] No, this PR doesn't involve a new deployment, git tag, docker image tag
[ ] Yes

Breaking change label
Does this PR have the breaking-change label?

[x] No, this PR is not a breaking change
[ ] Yes

Codecov Report
Attention: Patch coverage is 93.23308% with 9 lines in your changes are missing coverage. Please review.

Project coverage is 56.23%. Comparing base (71f88b0) to head (8232a51).
Report is 19 commits behind head on develop.

Files
Patch %
Lines

...ontracts/src/batch-bridge/L1BatchBridgeGateway.sol
94.04%
5 Missing :warning:

...ontracts/src/batch-bridge/L2BatchBridgeGateway.sol
90.90%
4 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #1282      +/-   ##
===========================================
+ Coverage    56.12%   56.23%   +0.10%
===========================================
  Files          156      160       +4
  Lines        12108    12383     +275
===========================================
+ Hits          6796     6963     +167
- Misses        4786     4894     +108
  Partials       526      526

Flag
Coverage Δ

contracts
56.39% <93.23%> (+0.56%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Listening beyond launch.

I am trying to make it so people can log in at any time, as it is right now all players must be in the lobby before launch.
Any direction on where and how to make this happen?

It doesn't sound too hard on a technical level, but it seems like there'd be a lot of edge cases for joining mid-day. The only thing I can think of off-hand is joining late in the day on the day when your wedding should have been. (And, to be fair, I think weddings are glitchy now anyways).
Anyways, at a minimum you'd need to keep the listener running, preferably in it's own thread (Multiplayer.startHost()), and once they connect and send their farmer data go ahead and start the day for them. Probably send them a time sync packet as well.
There's probably a lot of tweaking that would need to be done though.


Release 18.0.0

I think also need to update common/version.properties and bump to 18.0.0

I think also need to update common/version.properties and bump to 18.0.0

you were too fast :D


Cannot tracing db connection in scope

What you expected to happen?
Hello Weave team,
For this moment, my team is using the weave scope for real-time connections. The connection to the aws resource or external auth server can be traced within scope, but the db connection does not seem to be traced.
Please see number 3 of following picture.

The rds of my system is aurora db of AWS.
What happened?

Cannot tracing Aurora db connection from a backend service.
How to reproduce it?

Anything else we need to know?

Server is on AWS(EKS), kubernetes and helm configures my cluster.
Stable helm is used for deploying Weave Scope.
Versions:

$ scope version 1.10.1
$ docker version 18.09.2
$ uname -a  4.13.0-36-generic #40~16.04.1-Ubuntu SMP Fri Feb 16 23:25:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ kubectl version v1.13.0
$ kubectl version v1.11.8-eks-7c34c0

Hi @shindanim , How are you deploying Aurora DB? Is it a part of the EKS Kubernetes cluster?
If its not, then it will not be visible in the Scope.

@satyamz Hello, thanks for your kind reply :)
My Aurora DB exists outside of my cluster. Is it the normal behaviour for the Weave Scope?
If then, I have another question.
Sometimes, I found external connections like auth server connection which is not a part of my eks cluster, (which is not checked wich a kubectl command) become part of the topology while it is connected.
How can Weave detect connections outside the cluster?

Sometimes, I found external connections like auth server connection which is not a part of my eks cluster, (which is not checked wich a kubectl command) become part of the topology while it is connected.
How can Weave detect connections outside the cluster?

In Scope, only network connections are shown in case of the services running outside the cluster. Those are shown as a The Internet node on the UI.

Sometimes, I found external connections like auth server connection which is not a part of my eks cluster, (which is not checked wich a kubectl command) become part of the topology while it is connected.
How can Weave detect connections outside the cluster?

In Scope, only network connections are shown in case of the services running outside the cluster. Those are shown as a The Internet node on the UI.

Thanks @satyamz ,

Do you mean that the DB connection is not the network connection?
I found that AWS secrets manager connection made though it is not the part of cluster.
How Scope can say the connection is for secrets manager like following topology?

Hi @shindanim

Do you mean that the DB connection is not the network connection?

No. Your application and DB connection is certainly a network connection.
In Kubernetes, we have a resource known as PersistentVolume, which is used to deploy DBs in the Kubernetes cluster. If you are not creating any PVC or PV to deploy the DBs in the Kubernetes cluster then that will not be visible in the Scope in the form of the (graph) nodes. If PVC and  PV are present then those will be shown in the cylinder form in Scope, which is visible when you use the storage filter in the Pods topology.
This is how it is shown:

In your case, DB is outside of the cluster. Hence, it will not be shown in the Scope as above.

I found that AWS secrets manager connection made though it is not the part of cluster.

They are outside hence shown as a Cloud nodes i.e. The Internet and secretsmanager.

How Scope can say the connection is for secrets manager like following topology?

Scope tracks all the network connections to and from the application. Here, your application must be communicating with AWS secret manager. Hence, it's showing connection to the outside node i.e. Cloud node, we call such node as Pseudo Node.

Scope tracks all the network connections to and from the application.
Is this mean that Scope sniffs all the packets for all connections ?

@shindanim

Is this mean that Scope sniffs all the packets for all connections ?

Yes!

No, it doesn't. It traces the kernel's CONNECT, ACCEPT and CLOSE events on network file descriptors.

Sorry, I got that wrong. Information for me to know  :sweat_smile:

Thanks @satyamz @rade for solving my question :) !


Separate the file synchronization of the login

The login automatically triggers the file synchronization process. It would be better to have a 'synchronize()' method in the FileManagement, which can be triggered by the user manually.
The execution of possible UserProfileTasks is also part of the synchronization, but only during the login. Thus, I would keep them in the login process.
With this issue, the file- and user-management are almost separated.

The automatic sync behavior has been removed completely. The user / dev should do this at his own. This allows selective sync and simplifies the library. The synchronizer has not been deleted but moved to a separate "extra" package.


Cleanup GNUisms to make the code standards compliant

Is your feature request related to a problem? Please describe.
There is work in progress to allow Zephyr to use non-gcc based toolchains. Some of these do not allow many of the non-standard extensions that seems to be commonly used in the Zephyr code.
I started trying to build the hello_world sample on IAR Embedded Workbench for ARM and quickly ran into at least three issues:

Empty structs:

struct _caller_saved {
    /*
     * Unused for Cortex-M, which automatically saves the necessary
     * registers in its exception stack frame.
     *
     * For Cortex-A, this may be:
     *
     * u32_t a1;       r0
     * u32_t a2;       r1
     * u32_t a3;       r2
     * u32_t a4;       r3
     * u32_t ip;       r12
     * u32_t lr;       r14
     * u32_t pc;       r15
     * u32_t xpsr;
     */
};

Case ranges:

           switch (*fmt) {

            case '1' ... '9':

            }

Zero length arrays:

extern struct log_source_const_data __log_const_start[0];
extern struct log_source_const_data __log_const_end[0];

Missing alloca.h

I'm confident that there will be other issues as well.
Describe the solution you'd like
I suggest cleaning up the code to make it standards compliant (the IAR tools support C89 and C11).
Describe alternatives you've considered
Adding the used extensions to the new toolchains is not really a viable option.

_caller_saved has been removed in #15541

Master (as of this comment) has the following alloca calls:
include/sys/rb.h:                       alloca((tree)->max_depth * sizeof(struct rbnode *)), \
include/sys/rb.h:       .is_left = (char *)alloca((tree)->max_depth * sizeof(char)),            \
lib/os/rb.c: * alloca().  The current node is found in stack[top] (and its parent
subsys/logging/log_output.c:    u32_t *args = alloca(sizeof(u32_t)*nargs);
subsys/logging/log_output_syst.c:       u32_t *args = alloca(sizeof(u32_t)*nargs);
tests/subsys/logging/log_immediate/src/log_immediate_test.c:    u8_t *buf = alloca(buf_len);

And if I recall correctly, the red black trees can be avoided if using dumb scheduling.

The ones found in my above comment should be easily replaced with dynamic arrays. Whether that is the desired solution is another question, but the generated code should be equivalent.

@d3zd3z if by dynamic arrays you mean VLAs, then that used to be the case; rb changed away from VLA to alloca because of poor VLA support in compilers (alloca was at least an explicit implementable function with same behavior).
Finally, if rb's alloca remains an issue, it should be fairly easy to add a kconfig replacing alloca calls with statically dimensioned arrays, upper-bounded by rb's log-height.

@mped-oticon I'm kind of surprised that VLA would have less support than alloca. VLA is part of C99, alloca never has been. I'm curious how alloca would be implemented in a portable way, without compiler support for it.
General consensus (stack overflow search for example) seems to suggest moving away from alloca to VLAs, since that is defined by the language. But, we may have to do something else for the cases where neither are available.

extern struct log_source_const_data __log_const_start[0];
extern struct log_source_const_data __log_const_end[0];

this is trivial, just remove the zero in favor of empty brackets, it's just a linker symbol anyway

How about bringing things up to date so we can use c18?
c99 seems way outdated for an RTOS in 2020?

c99 seems way outdated for an RTOS in 2020?

People still complain from time to time when C99 features are used. Just try declaring a variable inside a block of code.

Hello @manoj153, The effort of supporting Zephyr with IAR is stalled, unfortunately. I hope I'll be able to work on it again soon.
@TTornblom
Possible for any of us can help to help to expedite?

Standards compliance means limiting globally scoped symbols to 31 significant characters.  Is that within the scope of this ticket?

Standards compliance means limiting globally scoped symbols to 31 significant characters. Is that within the scope of this ticket?

I have not seen this as a problem with Zephyr, and the IAR compiler does not seem to have a problem with this.

Interesting, but independent of whether or not our code is compliant with the C99 standard.

My main issue has been with gcc extensions that aren't easily worked around using standard C, like typeof, alloca, case ranges (...), variable length arrays, etc. If symbol length would have been an issue they could easily have been shortened to make them work.

Understood, but this issue seeks standards compliance, not just portability. 😉

I don't think we can reasonably say we comply with identifier significant character restrictions without some kind of tool that checks for naming clashes due to this.
But, I will ask, are you aware of any compiler that only checks the first 31 characters of an identifier? The C standard encourages tools to not have restrictions like this. Implementing a check for this could be a good bit of work, since I haven't been able to find any options in either clang or gcc to check for it.
Mostly, I would expect long identifiers like this to result from macros that build names. We do this quite a bit, and it would be a good idea to make sure that the generated names do differ earlier on. But, again without a tool to check this, it would be hard to state whether we comply or not.
Practically, the best we can do is say that we work with a certain list of compilers, and deal with the things that the tools we have are able to catch (e.g. --pedantic).

Mostly, I would expect long identifiers like this to result from macros that build names.

That is one source.  Others are:

testcase names (which should be descriptive).  Mine have already pushed the 64 significant character limit.
any prefixes analogous to C++ namespaces (which be nested and hierarchical).
avoiding variations in abbreviations (e.g. using "manufacturing" rather than "mfg", or "internationalization" instead of "i18n").

Practically, the best we can do ...

I think there is a better practical solution. Users need the codebase to work with compilers of their choice, and contributors need to know the constraints that need to be applied to their designs and implementations.
We could say Zephyr requires toolchains that support N significant characters (e.g. 255) in linker identifiers, and create two identifiers in the kernel that depend on it and trigger a build error if the toolchain does not support it.  That would ensure implementers can design around a larger number of significant characters.
Thoughts?

To be tracked in https://github.com/zephyrproject-rtos/zephyr/issues/52226


ownership-based access to objects

Steps:

[ ] Add owner as a field to the RuleDoc model
[ ] Require a login to view the RuleDoc index
[ ] Display only owned ruledocs in the ruledoc index
[ ] Add ownership as an authorization requirement for most views
[ ] Make "demo" the owner of existing examples (temporarily)
[ ] Update project creation to use the new owner field
[ ] Update the project import function to assign the new owner

Once that's working, we have what we need to let multiple people use the thing without interfering with one another.
We will then need to come back to the problem of giving users access to the demonstration workspaces, more easily, which I will create as a separate issue.

For the sake of simplicity, ownership is being tested in the queries, meaning that if an unauthorized user attempts to view a project, they will receive an error saying that it does not exist. This method does not work for the test delete view, and for various API endpoints that don't use queries against the ruledoc object. Views that don't have ownership checks implemented are marked with a TODO.

Generalizing this is going to require implementing object-level permissions, so we are probably going to need to add django-guardian and re-implement the permissions as adding view permissions on save of the ruledoc for the owner, and checking for view permissions later. Will create a separate task for that refactoring.

Tests against API endpoints seem to be working by using the query filter approach and checking for whether the results of the query exists. It does not seem to be working with regard to views.

Finished in owners branch.


Faster pairings

Introduction
As discussed with @yi-sun during EthCC, here is my internal Taiko note on pairing acceleration.
cc @ggkitsas who has been looking into this, @Brechtpd.
cc @yelhousni who had the original idea of using RS03 for circuits (in Gnark) and @nikkolasg who was looking into this very recently.
Extra review note, the current final exponentiation in Axiom is using

On the final exponentiation for calculating pairings on ordinary elliptic curves
Scott, Benger, Charlemagne, Perez, Kachisa, 2008
https://eprint.iacr.org/2008/490.pdf

in https://github.com/axiom-crypto/halo2-lib/blob/a74c594/halo2-ecc/src/bn254/final_exp.rs#L303-L370
But there are 2 faster developments:

Memory-saving computation of the pairing final exponentiation on BN curves
Sylvain Duquesne and Loubna Ghammam, 2015
https://eprint.iacr.org/2015/192
Faster hashing to G2
Laura Fuentes-Castañeda, Edward Knapp,
Francisco Jose Rodríguez-Henríquez, 2011
https://link.springer.com/content/pdf/10.1007%2F978-3-642-28496-0_25.pdf

Impl: https://github.com/mratsim/constantine/blob/47b4f48/constantine/math/pairings/pairings_bn.nim#L112-L162

Circuit - Fast Pairings
Pairing (ECPAIRING - EIP197) is likely the slowest operation in the EVM.
However if we want to allow L3s to work on Taiko, it needs to be fast enough.
This document gives an overview of the state-of-the-art to significantly reduce pairings constraint requirement.
2 optimizations are available to significantly reduce pairings cost.
Current EIP197 PR from Scroll (pending merge as of july 2023):

https://github.com/scroll-tech/zkevm-circuits/pull/559

Scroll forks Halo2-ecc from Axiom for the “PairingChip”
https://github.com/axiom-crypto/halo2-lib/tree/community-edition/halo2-ecc
I. Multi-pairings
note: a version of multi-pairings has been implemented in Axiom’s codebase https://github.com/axiom-crypto/halo2-lib/pull/65
Overview
Pairings are computed in 2 expensive main steps:

Miller Loop
Final exponentiation

Their cost is similar, if pairings cost is 100, each costs 50.
However, for n pairings, we can accumulate n Miller Loop and do a single final exponentiation, reducing the asymptotic cost by 2x. It is worth it even with only 2 pairings, as needed for BLS signatures or KZG commitments or 3 pairings as needed for Groth16.
Implementation
There are 2 ways to implement multi-pairings, they are detailed in
https://github.com/mratsim/constantine/blob/47b4f48dfb08c9ab9188c5308d4185156b8cb0bd/constantine/math/pairings/multi_pairings.md
Savings
In this PR, gas cost has been reduced from 1.4M gas to 872k gas
https://github.com/metacraft-labs/DendrETH/commit/6b3c652ae07d9d7364ce9151885a9d48691b2e6e#diff-f9d3c1274a560fb7a19b949feb0601823fa0d96eb8fb7d7f8603ad00b97230d7
II. Compressed pairings
Overview
Pairings are done on a subgroup of the Fp12 extension field (k=12 is the embedding degree of BN and BLS12 curves) of order r that is cyclotomic.
In particular they respect the cyclotomic polynomial equation ϕ₁₂(x) = x⁴-x²+1
This allows compressed representations for cheaper arithmetic, in particular squaring.
Some representations do not allow multiplication (only squaring) and some representations do not allow decompression.
Implementation
Pairings in circuit can be accelerated using number theoretic properties of cyclotomic fields (https://en.wikipedia.org/wiki/Cyclotomic_field)
In particular the final exponentiation can be done in a compressed representation using either:

Torus-based compression (1/2 in Gnark, 1/3 as a research direction proposed by Karabina)
Trace-of-Frobenius compression (XTR) (1/3 in Miracl)
Lucas compression (1/2 in Miracl)

Operations
Operations using a compressed representation can save 1/3, 1/2 or 2/3 of space and also a significant amount field operations, hence constraints.
For regular computation on a CPU, compression is problematic due to either the absence of decompression or decompression requiring a field inversion, a very expensive operations (80x to 120x more expensive than field multiplication).
In constraint system however, it’s free as we can provide the inverse as a witness and the cost becomes the same as proving a multiplication.

Presentations:

Pairings in R1CS: https://yelhousni.github.io/zksummit7.pdf
https://www.youtube.com/watch?v=F351X6EDn9g
https://hackmd.io/@yelhousni/emulated-pairing

Implementation

https://github.com/Consensys/gnark/pull/566

See also all “emulated pairing” PRs like:

https://github.com/Consensys/gnark/pull/714
https://github.com/Consensys/gnark/pull/594
https://github.com/Consensys/gnark/pull/566
https://github.com/Consensys/gnark/pull/411
https://github.com/Consensys/gnark/pull/299

Other impl in regular arithmetic (not a constraint system)

XTR:
https://github.com/miracl/core/blob/45f58f8/c/fp12.c#L683-L728
https://github.com/miracl/core/blob/45f58f8/c/fp4.c#L389-L612
Karabina’s compressed squarings (cannot be used for mul though, BN254 might not have enough consecutive squarings to make this useful):
https://github.com/mratsim/constantine/blob/d69c7bf/constantine/math/pairings/cyclotomic_subgroups.nim#L436-L788

Research papers:
Gnark implements “T2” arithmetic (Torus with 1/2 compression) according to

Torus-based Cryptography
Rubin and Silverberg, 2003
https://link.springer.com/content/pdf/10.1007/978-3-540-45146-4_21.pdf
https://www.iacr.org/archive/crypto2003/27290348/27290348.pdf
https://eprint.iacr.org/2003/039

A paper with a nice high-level overview of compression techniques is Karabina’s:

Squaring in cyclotomic subgroups
Koray Karabina, 2010
https://eprint.iacr.org/2010/542.pdf

TODOs (research)
Evaluate

Compression in Finite Fields and Torus-Based Cryptography
Rubin & Silverberg, 2008
https://dl.acm.org/doi/abs/10.1137/060676155
A Comparison of CEILIDH and XTR
R. Granger, D. Page, and M. Sta, 2004
https://sci-hub.se/10.1007/978-3-540-24847-7_17
Effective compression maps for torus-based cryptography
Montanari, 2016
https://dl.acm.org/doi/10.1007/s10623-014-0031-9

Thanks for this!
Just a comment: for the hard part of final exponentiation we do use Karabina's cyclotomic squaring: https://github.com/axiom-crypto/halo2-lib/blob/a74c5944a0d495d899b51971491e8600bca604bb/halo2-ecc/src/bn254/final_exp.rs#L104C103-L104C139
It's been a while but when I last looked from his paper it seemed like that was the best compression optimization on the hard part.
But I haven't looked at the other new developments you referenced, so I'm sure there's more cool optimizations to be added.

Just a comment: for the hard part of final exponentiation we do use Karabina's cyclotomic squaring

Ah interesting, I missed this.
The torus-based compression can do both squaring and multiplication while karabina can only do squaring so the acceleration depends on the ration of squaring vs mnultiplication and BN254 is meh regarding hamming weight as the ATE parameter is:
# u = 0x44e992b44a6909f1
# Ate BN |6u+2|
# hex: 0x19d797039be763ba8
# bin: 0x11001110101111001011100000011100110111110011101100011101110101000

For further improvement on Karabina, it's also possible to augment Karabina with batch cyclotomic decompression, see:

declaration https://github.com/mratsim/constantine/blob/47b4f48/constantine/math/pairings/cyclotomic_subgroups.nim#L744C6-L788
usage for BLS12-381 https://github.com/mratsim/constantine/blob/47b4f48/constantine/math/constants/bls12_381_pairings.nim#L84-L93

but even with batch decompression, the decompression still scales per fp12 multiplication.


WiFI disconnects (2)

Follow up on the previous, closed, WiFi topic. The disconnects still occur and then I have to go to the Smart EVSE and fiddle with the menu to get it started again. Completely renewed WiFi network by now, with an access point a few meters away, so see no problem there.  No one else here with disconnecting WiFi? So if someone can take another look at this and make this thing trying to get on WiFi whatever it takes ;o)? Even a scheduled reboot would be better than as it is right now.

Same here, still have disconnects without reconnect. Only thing that helps is power cycle.
My SmartEVSE is quite far from the AP and i usually get around ~86dbm reading which sometimes gets worse depending on various factors. So i am sure it might get dropped out of the wifi due to bad signal. That shouldnt be a thing but it is not reconnecting afterwards which really shouldnt be an issue.

Normally you can go into the Setup Menu and Disable/Enable WiFi to have it working again, so no power cycle needed, in my case anyway. When I force a reconnect from the WiFI access point (when it is already connected) the WiFI connection is just lost (not restored) and I have to Disable/Enable WiFi to get it working again.
In addition, a fixed IP address setting would be nice to have.

Can confirm - disabling and re-enabling WiFi on the unit does indeed fix it, so a powercycle is not needed. However that doesnt help much, as the breaker is next to the EVSE for me :)
Problem is likely with WiFi.setAutoReconnect(true) or in its used context. I might have a look at it if i have some spare time.

I made a quick and dirty fix, which so far seems to work for me. If i kick the EVSE out of my wifi it now will reconnect after approx. 120 seconds. However this requires further testing - i'll see if its stable the next days. If you want to try it: https://github.com/jonasf21/SmartEVSE-3/releases/download/0.0.0-dev/firmware-test.bin
I'll publish a pull if its really fixing things.

Thanks for looking into it. Will upload the bin tomorrow to givebit a try.

After 48hours+ my EVSE is still connected to the SSID, even tho it did reconnect a couple of times due to signal loss. So far i think its fixed. Have you been able to give it a try?

After 48hours+ my EVSE is still connected to the SSID, even tho it did reconnect a couple of times due to signal loss. So far i think its fixed. Have you been able to give it a try?

Yep, running since yesterday. I have a Node-Red flow running that checks the availability every minute and notifies when something is wrong. So far looking good, but it has to run a few more days to be sure.

But to give you already some information: I just did a test, by forcing a reconnect to the access point, after which WiFi was restored in two minutes.
I'm also using an EMS-ESP (for the heater) which also runs WIFi and this device has never failed WiFi in years. Maybe you can get some insight about their WiFi solution at https://github.com/emsesp/EMS-ESP32

I've checked their source, its a bit different because the code also includes support for a ethernet header. Thus they have 2 ways of connecting. But as far as i can see they are basically doing the same thing (checking WL_CONNECTED via interval).

Alright, thanks for the feedback. Lets wait till the weekend or alike to be sure.

All OK for me now. Thanks for resolving this.

I have exactly the same problem, and exactly the same solution (disabling and reenabling wifi). Cannot test your solution since I have some specialties in my firmware, but looking forward to your PR !!

Just posted the PR. Let me know if it works for you, too. Can probably be cleaner but it works.... :)

Great! First have to test RC 1.4.0, but will try after that.
Two remarks:
-you talk about check every 120 seconds, but in the code you check every 5 secs. Is that long enough for the firmware to let it try to reconnect itself (autoreconnect=true)?
-perhaps change status == !WL_CONNECTED to status != WL_CONNECTED, a bit cleaner code?

Your PR works fine, it inspired me to make an even faster solution, this one #32 reconnects within 15-20 seconds. Would you be so kind to test this?

Just tested this again. When I use the latest binary 1.3.4 WiFi does not return after initiating a reconnect from the UI you see in the screenshot. With the @jonasf21 solution it always reconnects. This has nothing to do with the access point itself (weak or whatever) since the signal strength is 95 to 100% at around -50dB for the SmartEVSE, which devices are only 5m separated from each other.

@deqw , you obviously have a different problem than I (I have weak wifi signal problem), but the solution could be in the same PR.
Would you be so kind to test #32 (is not in the binary 1.3.4, that is from April 11th, the PR is from yesterday?
could you test #32 ?

@dingo35 At the moment I'm back at the @jonasf21 binary. I've no development environment configured for this (on MacOS with xcode and Swift at the moment), but if you provide me with a binary I'm happy to test anything for you.

Thanks. Tried that binary right away. What I notice is:

Version: v3serkri-0.00
when reconnecting via the UI of the AP the SmartEVSE now remains available (cache cleared) on the network, also during the reconnect
time is 30 minutes off whatever binary I use

That is correct, I didn't update any version strings
Sounds good, so you so don't even have the 120s delay as with the Jonas patch?
That must be entirely different bug, since you have that with all serkri-binaries.
Is it exactly 30 minutes off? It should be synchronizing by built in NTP server, not sure how the timezone is detected...

deqw @.***> schreef op 4 juli 2022 14:46:58 CEST:

Thanks. Tried that binary right away. What I notice is:

Version: v3serkri-0.00
when reconnecting via the UI of the AP the SmartEVSE now remains available (cache cleared) on the network, also during the reconnect
time is 30 minutes off whatever binary I use

--
Reply to this email directly or view it on GitHub:
https://github.com/serkri/SmartEVSE-3/issues/27#issuecomment-1173780388
You are receiving this because you were mentioned.
Message ID: @.***>

Running dingo35's fixed version for some days now, just as stable as mine but reconnect is faster, i'd vote to include this into the next release.

Running dingo35's fixed version for some days now, just as stable as mine but reconnect is faster, i'd vote to include this into the next release.

Yep, same experience here.

@dingo35 running your latest bin

1.4.0 release available (https://github.com/serkri/SmartEVSE-3/releases). Closing this issue.


Rename 'admonitions'

Notes, warnings, and blockquotes
Research how other documentation generators name theirs. Admonitions sounds made up.

Docusaurus: 'Admonitions'
Vuepress: 'Custom Containers'
Doscify: 'Important Content, General tips'
MkDocs: 'admonitions'
GitLab calls them 'Additional information'

meh, I'm still for calling them Notes, warnings, and quotes.


How should we get current location?

How do you print out the instructions?

"Please enter your current location."


Split utils

I think we need to split the utils file into multiple files like in Scanner: https://github.com/NodeSecure/scanner/tree/master/src/utils
The main idea is to avoid having a file with too many lines of code

I can help with this!

Thanks for the contribution @mkarkkainen!


taskcafe.example.toml lacks server.hostname

Describe the bug
In taskcafe.example.toml, there is:
[general]
host = '<IP_ADDRESS>:3333'

but this is no sense. It should be
[server]
hostname = '<IP_ADDRESS>:3333'

Expected behavior
Change taskcafe.example.toml
Screenshots / Live demo link
None
Additional context
None.

Thanks for the issue, but I prefer host for the time being. If I split out the port and the IP I might rename it

But in internal/commands/web.go the code is http.ListenAndServe(viper.GetString("server.hostname"), r)

Oh! Guess I preferred hostname after all :smile: - I'll update the config

Oh, is this in the [server] section?
[server]
hostname = '<IP_ADDRESS>:3333'


BabelLoaderError are not transformed

See the screenshot. Sorry for small issue but I'm on the go...

Hi @aight8 !
Hard to debug this without a repro, do you have time to make one?

Hi @aight8 !
Hard to debug this without a repro, do you have time to make one?

Hi @geowarin, first of all, great plugin, thanks!
I'm having a similiar issue, i can provide a repo if that helps


502 on device/interface/ip_address GraphQL query

Environment

Nautobot version (Docker tag too if applicable): 1.4.0 and 1.5.0
Python version: 3.7

Steps to Reproduce
I am trying to run the below GraphQL query and I get 502 Bad gateway
The query works fine with Nautobot 1.3.10 but does not work with 1.4.0 and 1.5.0 - can also reproduce on https://demo.nautobot.com/
{
  devices(role: "leaf") {
    name
    interfaces {
      ip_addresses {
        address
      }
    }
  }
}

Expected Behavior
GraphQL returns query result
Observed Behavior
502 Bad gateway
K8 Version
1.21.8 with 4 worker nodes with 16G memory each

@lvrfrc87 Looks like the container might be hitting memory limits. Providing a limit on the query returns a response: https://demo.nautobot.com/graphql/#query={
  devices(role%3A"leaf"%2C limit%3A 2){
    name
    interfaces {
      ip_addresses {
        address
      }
    }
  }
}

When testing localy, the nested one-to-many relationships increases the container memory usage. Using the demo dataset as a base saw my local container spike to use up to 1GB of memory for the query.

K8 version and memory updated in description

We have doubled uWSGI buffer size as per doc (https://docs.nautobot.com/projects/core/en/stable/docker/?h=nautobot_uwsgi_buffer_size#nautobot_uwsgi_buffer_size). Now we are getting a different error, still GraphQL related
File "/usr/local/lib/python3.9/site-packages/django/template/base.py", line 837, in _resolve_lookup
    current = getattr(current, bit)
  File "/usr/local/lib/python3.9/site-packages/django/db/models/fields/related_descriptors.py", line 187, in __get__
    rel_obj = self.get_object(instance)
  File "/usr/local/lib/python3.9/site-packages/django/db/models/fields/related_descriptors.py", line 154, in get_object
    return qs.get(self.field.get_reverse_related_filter(instance))
  File "/usr/local/lib/python3.9/site-packages/cacheops/query.py", line 351, in get
    return qs._no_monkey.get(qs, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 431, in get
    num = len(clone)
  File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 262, in __len__
    self._fetch_all()
  File "/usr/local/lib/python3.9/site-packages/cacheops/query.py", line 271, in _fetch_all
    return self._no_monkey._fetch_all(self)
  File "/usr/local/lib/python3.9/site-packages/django/db/models/query.py", line 1324, in _fetch_all
    self._result_cache = list(self._iterable_class(self))
RuntimeError: generator raised StopIteration
[pid: 50|app: 0|req: 18/56] <IP_ADDRESS> () {70 vars in 1401 bytes} [Thu Dec 15 08:29:38 2022] GET / => generated 1845 bytes in 1858 msecs (HTTP/1.1 500) 6 headers in 208 bytes (1 switches on core 0)
Thu Dec 15 08:29:44 2022 - *** HARAKIRI ON WORKER 3 (pid: 52, try: 1) ***
Thu Dec 15 08:29:44 2022 - HARAKIRI !!! worker 3 status !!!
Thu Dec 15 08:29:44 2022 - HARAKIRI [core 0] <IP_ADDRESS> - GET /extras/job-results/ since<PHONE_NUMBER>
Thu Dec 15 08:29:44 2022 - HARAKIRI !!! end of worker 3 status !!!
DAMN ! worker 3 (pid: 52) died, killed by signal 9 :( trying respawn ...
Respawned uWSGI worker 3 (new pid: 173)
08:30:34.093 INFO    nautobot.graphql.schema :
  Beginning generation of Nautobot GraphQL schema
08:30:34.097 ERROR   django.request :
  Internal Server Error: /api/graphql/
[pid: 50|app: 0|req: 21/77] <IP_ADDRESS> () {54 vars in 797 bytes} [Thu Dec 15 08:30:33 2022] POST /api/graphql/ => generated 129 bytes in 118 msecs (HTTP/1.1 500) 6 headers in 199 bytes (1 switches on core 0)
g441266@AMC-C02G81AUMD6R ~ %

more logs
Thu Dec 15 08:47:19 2022 - *** HARAKIRI ON WORKER 3 (pid: 177, try: 1) ***
Thu Dec 15 08:47:19 2022 - HARAKIRI !!! worker 3 status !!!
Thu Dec 15 08:47:19 2022 - HARAKIRI [core 0] <IP_ADDRESS> - POST /api/graphql/ since<PHONE_NUMBER>
Thu Dec 15 08:47:19 2022 - HARAKIRI !!! end of worker 3 status !!!
DAMN ! worker 3 (pid: 177) died, killed by signal 9 :( trying respawn ...
Respawned uWSGI worker 3 (new pid: 384)
08:49:41.075 INFO    nautobot.graphql.schema :
  Beginning generation of Nautobot GraphQL schema
08:49:41.417 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:41.417 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
/usr/local/lib/python3.9/site-packages/nautobot/core/graphql/schema.py:395: FutureWarning: Relationship "CheckPoint Domain to Device" on device does not have a GraphQL-safe slug ("checkpoint-domain-to-device"); for now it will be mapped to the GraphQL name "rel_checkpoint_domain_to_device", but in a future release this relationship may fail to appear in GraphQL.
  warnings.warn(
/usr/local/lib/python3.9/site-packages/nautobot/core/graphql/schema.py:395: FutureWarning: Relationship "Contract to dcim.Device" on device does not have a GraphQL-safe slug ("contractlcm-to-device"); for now it will be mapped to the GraphQL name "rel_contractlcm_to_device", but in a future release this relationship may fail to appear in GraphQL.
  warnings.warn(
08:49:42.376 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:42.376 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:42.670 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:42.670 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:42.864 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:42.864 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:43.536 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:43.536 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.194 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.194 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.426 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.426 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
/usr/local/lib/python3.9/site-packages/nautobot/core/graphql/schema.py:395: FutureWarning: Relationship "Contract to dcim.InventoryItem" on inventory item does not have a GraphQL-safe slug ("contractlcm-to-inventoryitem"); for now it will be mapped to the GraphQL name "rel_contractlcm_to_inventoryitem", but in a future release this relationship may fail to appear in GraphQL.
  warnings.warn(
08:49:44.758 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.759 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.837 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.837 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.929 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:44.929 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:45.027 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:45.027 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:45.187 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:45.187 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:45.995 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:45.995 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:46.567 WARNING nautobot.core.graphql.utils :
  Filter "cr_checkpoint-domain-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
08:49:46.567 WARNING nautobot.core.graphql.utils :
  Filter "cr_contractlcm-to-device__source" on DeviceFilterSet is not GraphQL safe, and will be omitted
/usr/local/lib/python3.9/site-packages/nautobot/core/graphql/schema.py:395: FutureWarning: Relationship "Contract to dcim.Device" on Contract does not have a GraphQL-safe slug ("contractlcm-to-device"); for now it will be mapped to the GraphQL name "rel_contractlcm_to_device", but in a future release this relationship may fail to appear in GraphQL.
  warnings.warn(
/usr/local/lib/python3.9/site-packages/nautobot/core/graphql/schema.py:395: FutureWarning: Relationship "Contract to dcim.InventoryItem" on Contract does not have a GraphQL-safe slug ("contractlcm-to-inventoryitem"); for now it will be mapped to the GraphQL name "rel_contractlcm_to_inventoryitem", but in a future release this relationship may fail to appear in GraphQL.
  warnings.warn(
/usr/local/lib/python3.9/site-packages/nautobot/core/graphql/schema.py:395: FutureWarning: Relationship "CheckPoint Domain to Device" on check point domain does not have a GraphQL-safe slug ("checkpoint-domain-to-device"); for now it will be mapped to the GraphQL name "rel_checkpoint_domain_to_device", but in a future release this relationship may fail to appear in GraphQL.
  warnings.warn(
08:49:47.521 INFO    nautobot.graphql.schema :
  Generation of Nautobot GraphQL schema complete
g441266@AMC-C02G81AUMD6R ~ %

After debugging this appears to be an issue with timeout for the query due to uWSGI's harakiri/timeout settings. Overriding these settings also has unexpected behavior (https://github.com/unbit/uwsgi/issues/2184).
What should be done here for queries of sufficient size and duration is to use the limit and offset features introduced in 1.3 (https://docs.nautobot.com/projects/core/en/stable/user-guides/graphql/?h=limit#filtering-queries) to chunk the query and aggregate the responses.
I suspect in 1.4+ that there was a performance degradation but we have no requirements for "should be able to load a specific query for device count less than 2000 within 60 seconds".
If you would like to be able to maintain being able to load the entire results in a single query you can provide a custom uWSGI config overloading the timeout settings.

https://github.com/nautobot/nautobot/issues/3007 could also help prevent this but then would essentially force using limit and offset going forward.


Wallet txn activities

Wallet activities update.
Update  to match the latest design,
Moved the from redux to react query
https://user-images.githubusercontent.com/8676844/212873179-d47004c2-75f9-4d57-b649-53c9df8bab10.mov

The text should be center aligned vertically to the image thumb on left.

No need to show "--" on the right when "amount" not available. This is true in general for "Call" and "Failed" transactions. We don't show gas fees in activity view
There should be ":" after To/From etc and a space

Figma,
https://www.figma.com/file/xu2VnyPAuruNi74UQzGigW/02-Wallet?node-id=472%3A31082&t=AmxTK1eUwhs01oD2-1
Why does this "Sent" transaction have a "From" field? It should have a "To: 0x1234...5678" sort of info.

The text should be center aligned vertically to the image thumb on left.
No need to show "--" on the right when "amount" not available. This is true in general for "Call" and "Failed" transactions. We don't show gas fees in activity view
There should be ":" after To/From etc and a space
Figma, https://www.figma.com/file/xu2VnyPAuruNi74UQzGigW/02-Wallet?node-id=472%3A31082&t=AmxTK1eUwhs01oD2-1
Why does this "Sent" transaction have a "From" field? It should have a "To: 0x1234...5678" sort of info.

@mystie711 I have addressed those issues.

noticed we have two different arrow sizes

text doesnt truncate with ellipsis as per design

failed transaction doesnt have the correct icon/color

text doesnt truncate with ellipsis as per design (there's an x-scrollbar)

That should not happen because here both NFT meta are truncated

failed transaction doesnt have the correct icon/color

Also, based on the txn response, I think the icon changes here

this one may have been

failed transaction doesnt have the correct icon/color

Also, based on the txn response, I think the icon changes here

looks like in the case of txnFailed we're using SuiIcons.Info

text doesnt truncate with ellipsis as per design (there's an x-scrollbar)

That should not happen because here both NFT meta are truncated

ah, I was thinking this was handled by css so my test was invalid since it's happening in JS

This errors could be any number of things. It's best we display what it is.

failed transaction doesnt have the correct icon/color

Also, based on the txn response, I think the icon changes here

looks like in the case of txnFailed we're using SuiIcons.Info see this line
also @mystie711 called out that this should probably read Insufficient Gas - we should make sure any other potential error messages are surfaced in a friendly format

These errors could be any number of things. It's best we display what it is. the Fail icon is

not sure about the logic in Transaction.tsx but rather than that looks ok to me
are we moving away from the RecentTransaction component. Can we clean up afterwards and remove the unused code?

Yes, that is the idea.

is there a design for an empty activity feed?

cc: @Jibz1 @mystie711

just a callout - we might want to handle the case that image fails to load via ipfs.io ... in this case, it was a 429 Too Many Requests

cc: @mystie711

That is wrong we use ipfs

is there a design for an empty activity feed?

cc: @Jibz1 @mystie711

It did not exist before but i created this one for a quick fix...if so.
https://www.figma.com/file/xu2VnyPAuruNi74UQzGigW/02-Wallet?node-id=5207%3A84492&t=eBTEr73RFtc4HWpl-1

just a callout - we might want to handle the case that image fails to load via ipfs.io ... in this case, it was a 429 Too Many Requests

cc: @mystie711

We are supposed to show the "placeholder image" thumbnail in such cases. The same solution we do for NFTs tab when the NFT images fails to load. Could we do that @Jibz1


Expose ports on collector statefulset

What this PR does / why we need it:
Pods created by the statefulset of a collector, doesn't expose the ports defined. Only, the service expose the ports.
This PR add those ports to the definition of the statefulset.
Which issue(s) this PR fixes:
Fixes #916
Does this PR introduced a user-facing change?

None

Additional documentation, usage docs, etc.:

@gregorycuellar Thank you for this !

@benjaminhuo do you know if a release is planned soon ?
There are several new features, including this one, since the last one of July and that would be very interesting for us


Controlling speed and pitch with v1

Hi, I saw you were revamping the library, which seems to be going in a good direction!
However, looking at VoiceSettings, I see that the control for pitch and speaking rate are gone (contrary to what this documentation page says).
What's the status on this?
Thanks

@flavianh thanks for pointing those out. It turns out that those docs are inaccurate. Can you open an issue on the docs repo instead?


Warn upon adding a dependency to the containing project to a detached configuration

This targets a merge into https://github.com/gradle/gradle/pull/24309, see that PR first.

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test this

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

After talking to Sterling about this, we've decided not to move forward with this.
We don't want to create another difference in the behavior of detached vs. regular configurations.  Eventually, we need to explore the need for detached configurations at all, and if all their use cases can be better handled by regular configurations (perhaps with some additional modifications).
Some relevant issues to consider related to this:
https://github.com/gradle/gradle/issues/9894
https://github.com/gradle/gradle/issues/6881


[OPTIMIZER] Separate out kWidth layout optimization from pipelining pass

Since the kWidth optimization was happening during software pipelining it was skipped in case pipelining wasn't applied.
This also improve separation of concerns.

perf test is a little flaky. Let's wait for the ptx ref check, which will be a much better way to measure potential perf regressions (or improvements!)

perf test is a little flaky. Let's wait for the ptx ref check, which will be a much better way to measure potential perf regressions (or improvements!)

Sounds good, I manually tried to dump the IR for the failing test and it isn't affected


Add no results found screen

I want to take this on. Is this when no country is found on the search?


Adding support for Node 6

Hi!
In the context of https://github.com/TypeStrong/grunt-ts/issues/369 I've created this mini PR with:

Chokidar updated to latest version (1.6)
Add node 4,5 and 6 to Travis build

I've run the tests in my local with node 6 and they work and I also tested with the original repo where the issue came up and it also works.
Thanks!
Fran

Thank you.  I will check this out ASAP.

@nycdotnet any updates on this?

Thanks very much, @franleplant .

Hi @nycdotnet ! Thanks for your work. Just a little comment about this:

We've been using my fork for a 10 days without problems
It's good to have good references about this patch working


Some documentation

PreS: I'v not found any space to ask some questions so sorry to do that here ;(
Hi, i would like to know if there is any documentation available, who (obviously) group all Hexi functions etc.. cause its really painful searching ways to do new things without docu.
And is this project abandoned ? Cause i would like to add some features :)
Thx !

Hi,
Check out core.js and read the comments. 😄
You'll see it's just high-level glue code around Pixi, and a bunch of specialized modules for making Pixi easier to work with and giving it a nicer API - nothing special.
We generally add features to Hexi by creating stand-alone modules that should work with Pixi.
Take a look at Bump.js, Charm.js and Dust.js for examples on how to do that.
But there's pretty much a feature freeze at the moment until the current code base is 100% bug free.
If you can do any bug squashing, please help :)
We'd like to get this to a stable 0.1.0 release, but that's going to take a lot more testing.
And, there's quite a bit more code coming down the pipeline that I need to merge from my local computer (a bunch of tile based game utilities, include tile based collision, isometric maps and and A-Start implementation).
I would definitely like to get the help of collaborators in future, but at the moment the code is not really setup for that to happen easily.
Thank you for asking and please let me know if you have any questions for how I can help 😄

Hi @kittykatattack
Thanks for building Hexi!
I have been having fun with it, check out https://github.com/somosazucar/python-web which I built inspired by @artyprog 's https://github.com/artyprog/GFK approach.
However I am new to building larger stuff in Javascript and Canvas/WebGL/PIXIJS.
I would like to slowly (or rapidly) build an IDE - like thing for learning and producing expressive games. So I am learning as I go along - I am interested in writing some concise entry level learning materials - likely initially in Spanish. If I manage to do so, I would share them with a Creative Commons License.

Do you expect Hexi's API to change significantly? (Should I wait?)

Please, if you can, review my approach at an Object Orientated architecture at https://github.com/somosazucar/python-web/blob/master/src/main.py  . I am coming from building Python games with http://platipy.readthedocs.io/en/latest/pong.html#sprites . I think it should be possible to simplify it.

Do you have a suggestion for implementing Physics?

I am interesting in trying the new Isometric code - so far I managed to load and display a map, learning to place sprites and pan camera.

Great to hear that you're active and hoping you find inspiration.
@icarito

Ok, I'll do that !
For "improvements" I was speaking about little things like:
g.pointer.tap(x, y) =>...
Just little things that together makes hexi more agile :)

Hi @icarito!
I just got back from a 3 week holiday in Peru and loved it!
Next time I'm in Peru I'll bring my sitar and we can jam! 😄
Thanks so much for your comments, I'll try my best to answer.

Do you expect Hexi's API to change significantly? (Should I wait?)

I expect Hexi's high-level API to remain very, very stable. More than anything else, Hexi is an attempt to build a great (and simple!) API for making a wide variety of games. Its current API is the result on many, many years of refinement and testing, and so I'm pretty confident it's not going to change. Hexi actually shares its API with its sister game engine, Ga. Even though their underlying code base is radically different, their high level code is almost completely interchangeable. Hexi is an API more than anything else, and the most important thing for me is that its API is as stable as possible so that it's a solid foundation for people to build things on.
Some of the lower-level code certainly will change, but because it's not user-facing, it won't break the high-level API

Do you have a suggestion for implementing Physics?

There are many excellent Physics libraries that should work fine with Hexi. Physics.js, and P2.js are a few that come to mind.

I am interesting in trying the new Isometric code - so far I managed to load and display a map, learning to place sprites and pan camera.

I have a stand-alone module for this, including a system for integration with Tiled Editor, and will gradually merge this into Hexi's source over the next few months.

Please, if you can, review my approach at an Object Orientated architecture at https://github.com/somosazucar/python-web/blob/master/src/main.py . I am coming from building Python games with http://platipy.readthedocs.io/en/latest/pong.html#sprites . I think it should be possible to simplify it.

I'm afraid I may not be the best person to help you with this as I now do almost all my professional work using Elm (www.elmlang.org), which is a functional programming language.

For "improvements" I was speaking about little things like:
g.pointer.tap(x, y) =>

Oh, I see what you mean 😄
That makes a lot of sense.
Maybe you could add some of those things as a feature request?
The next time I plunge back in to Hexi's source I'll see how easy it might be to add.
This is a slow moving project (which I think is a strength!) but Hexi will be here for the long term :)
It's my baby! 😄

Hi Carito,
Here is what I have done when I used RapydScript
http://salvatore.pythonanywhere.com/RapydBox/default/editor     (load the samples)
http://salvatore.pythonanywhere.com/RapydScript
http://salvatore.pythonanywhere.com/RapydRay
http://salvatore.pythonanywhere.com/RapydGlow
It would indeed nice to have such and editor for Hexi and share  the code...
Regards

Hi @artyprog and @kittykatattack !
Greetings again from the rainforest!
So after a long time finally I have something to show you :-)
I'm barely getting to the point of adding Hexi to Jappy Activity, the Python (Rapydscript) editor!
Here's a very rough first approach to a platformer. I've never done one, and I'm wondering about simple Physics.
Notice it's live-collaborative!
@kittykatattack sorry to have missed to reply to that one point, please, do bring your sitar, we must absolutely jam.
All the best!

@icarito That's wonderful, thanks so much for sharing it !!!


⚠ Prueba_Error_500 has degraded performance

In a6a02f3, Prueba_Error_500 ($URL_ERROR_500) experienced degraded performance:

HTTP code: 200
Response time: 28825 ms

Resolved: Prueba_Error_500 performance has improved in cfa3351.


[BUG] instagrapi.exceptions.ClientForbiddenError

Describe the bug
Description Failed to send the message. Interface: direct_send
To Reproduce
c.direct_send('text', [xxx])
Traceback
>>> c.login(u,p)
True
>>> c.direct_send('text', [58270240338])
Traceback (most recent call last):
  File "/InsSendMessage/098f6bcd4621d373cade4e832627b4f6_venv/lib/python3.9/site-packages/instagrapi/mixins/private.py", line 313, in _send_private_request
    response.raise_for_status()
  File "/InsSendMessage/098f6bcd4621d373cade4e832627b4f6_venv/lib/python3.9/site-packages/requests/models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://i.instagram.com/api/v1/direct_v2/threads/broadcast/text/

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/InsSendMessage/098f6bcd4621d373cade4e832627b4f6_venv/lib/python3.9/site-packages/instagrapi/mixins/direct.py", line 264, in direct_send
    result = self.private_request(
  File "/InsSendMessage/098f6bcd4621d373cade4e832627b4f6_venv/lib/python3.9/site-packages/instagrapi/mixins/private.py", line 461, in private_request
    raise e
  File "/InsSendMessage/098f6bcd4621d373cade4e832627b4f6_venv/lib/python3.9/site-packages/instagrapi/mixins/private.py", line 446, in private_request
    self._send_private_request(endpoint, **kwargs)
  File "/InsSendMessage/098f6bcd4621d373cade4e832627b4f6_venv/lib/python3.9/site-packages/instagrapi/mixins/private.py", line 340, in _send_private_request
    raise ClientForbiddenError(e, response=e.response, **last_json)
instagrapi.exceptions.ClientForbiddenError: {"action":"item_ack","status_code":"403","payload":{"client_context":"6800027182887329958","message":"We're sorry, but something went wrong. Please try again. Client context:6800027182887329958"},"status":"fail"}
>>> c.account_info()
Account(pk='58839478925', username='barbara.thomasbyol3d2rha', full_name='Barbara', is_private=False, profile_pic_url=HttpUrl('https://instagram.fsrg6-1.fna.fbcdn.net/v/t51.2885-19/44884218_345707102882519_2446069589734326272_n.jpg?_nc_ht=instagram.fsrg6-1.fna.fbcdn.net&_nc_cat=1&_nc_ohc=DM-1yod52ScAX_ltdvY&edm=AL4D0a4BAAAA&ccb=7-5&ig_cache_key=YW5vbnltb3VzX3Byb2ZpbGVfcGlj.2-ccb7-5&oh=00_AfD6QqbNyTfW8FCkemT3zJi0YeNA33hzwCRlKh5brBBfnQ&oe=64468ECF&_nc_sid=712cc3', ), is_verified=False, biography='', external_url=None, is_business=False, birthday='1984-06-13', phone_number='+62895811290803', gender=3, email='')

Expected behavior
I want to send a message
Screenshots

Desktop (please complete the following information):

OS: centos 7
Python version 3.9.7

Additional context
{"action":"item_ack","status_code":"403","payload":{"client_context":"6800027182887329958","message":"We're sorry, but something went wrong. Please try again. Client context:6800027182887329958"},"status":"fail"}

fixed :
https://github.com/adw0rd/instagrapi/pull/1285

Getting the same error while cancelling the follow request.
Traceback (most recent call last):
  File "D:\test\lib\site-packages\instagrapi\mixins\private.py", line 334, in _send_private_request
    response.raise_for_status()
  File "D:\test\lib\site-packages\requests\models.py", line 1021, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://i.instagram.com/api/v1/friendships/destroy/7980401466/

Code:
from instagrapi import Client
import time, random
cl = Client()
cl.login('', '')
with open('users.txt','r') as f:
users = f.readlines()
for user in users:
user_id = cl.user_id_from_username(user.strip())
print("Cancelling Request for: ", user.strip())
cl.user_unfollow(user_id)
time.sleep(random.uniform(3, 7))

One possible reason is that the sender has a private account.


findEvent for calendar plugin success callback

Hi,
The findEvent success callback for the $cordovaCalendar has a response object returned, but I always get a length of 0 in it even if the event is in the calendar.
Do you guys know if the success callback can tell me whether the event was found in the calendar or not ?
Thanks
Achint

Please include a minimal example that reproduces the issue you're seeing so that we can help you resolve this issue.  If you do that, I'll be happy to re-open.


lazy points and bounds in Coord.cell

Currently, calling the .cell method on a coordinate with lazy data will trigger loading/realisation of the coordinate data to compute the cell point/bound.
Here is a minimum reproducible example:
import dask.array as da
from iris.coords import AuxCoord

aux_coord = AuxCoord(da.arange(0, 100, 10))

# the following triggers realisation of the coordinate
aux_coord.cell(0)
# Cell(point=0, bound=None)

Would it make sense to make it such that the cell points and bounds are computed lazily if the underlying data is also lazy? This would avoid e.g. triggering data loading when the cube is read from disk.
Happy to contribute with a PR, if you think it makes sense to make the Coord.cell method fully lazy.

@fnattino Thanks for raising this issue.
Given your example above, I get the following ...

Just to clarify, are you proposing that the returned Cell instance should have lazy members?

@SciTools/peloton We believe this is really a debate about what happens when you print(cube). We can see that changing this behaviour would fix your workflow, but we are aware of many other workflows that need to see the values of scalar coords when printing cubes. We have a couple of workarounds for your situation:

Before first printing force realisation of the scalar coordinate using cube.coord(*cell_name*).points and cube.coord(*cell_name*).bounds.
Don't print the cube, rather access print(cube.summary(shorten=True)).

It is true that there is an inconsistency between cell and cube/coords, but cells are special for the internal workings of Iris and anyway making them consistent wouldn't fix the problem of printing a cube.

Thanks @HGWright , I understand that making Cell components lazy will affect other workflows, so it is not an option.
I am still wondering how to best tackle my specific issue. Your second suggestion does not seem to work, because the full content of the cube summary table (thus including the scalar coordinate) is computed even if the only table header is printed out. Maybe one could modify the CubePrinter and CubeSummary so that they only set up the header (and not the rest of the summary) if shorten=True ?
This way I could avoid forcing the realization of the scalar coordinates when this information is not even printed out.
Apologies for drifting from the original topic of the issue - we can close this and  continue discussion in a new issue if you think it's more appropriate.

@SciTools/peloton  Yes, I think opening a new issue about fixing the way print works is the right way to tackle this. We'll raise an issue soon about how we think print ought to be fixed.

@SciTools/peloton Yes, I think opening a new issue about fixing the way print works is the right way to tackle this. We'll raise an issue soon about how we think print ought to be fixed.

My suggestion : #5743


Fix: Cannot change the version of this PDF document

Source issue: https://github.com/metanorma/xmlgraphics-fop/issues/4
Original issue: https://github.com/metanorma/mn2pdf/issues/205

Done in the branch fix/misc_issues.


Improve test coverage

Improved the Test Coverage for the Commons and Logic Package.
Total test coverage is up from 81% to 84%.
Notable changes for Commons Package

the addition of the GuiSettingsTest and LogsCenterTest classes.
added tests for Config, GuiSettings, LogsCenter, and Version classes.

Notable changes for the Logic Package

addition of  YesCommandTest classes.
added tests for ClearCommand , CommandResult and YesCommand classes.
added tests for DeleteCommandParser, SearchCommandParser and GradPadParser classes.
added HandleStall() and assignStalledComponents() methods in Logic interface.
added tests for LogicManager class

Codecov Report

Merging #197 (8ce47f1) into master (d2b96a4) will increase coverage by 3.64%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #197      +/-   ##
============================================
+ Coverage     75.64%   79.29%   +3.64%
- Complexity      586      629      +43
============================================
  Files            96       96
  Lines          1774     1777       +3
  Branches        185      185
============================================
+ Hits           1342     1409      +67
+ Misses          345      292      -53
+ Partials         87       76      -11

Impacted Files
Coverage Δ
Complexity Δ

...in/java/seedu/address/commons/core/LogsCenter.java
89.74% <100.00%> (+13.42%)
13.00 <1.00> (+3.00)

...rc/main/java/seedu/address/logic/LogicManager.java
96.22% <100.00%> (+57.01%)
22.00 <2.00> (+17.00)

...va/seedu/address/logic/commands/CommandResult.java
100.00% <0.00%> (+6.66%)
10.00% <0.00%> (+1.00%)

.../main/java/seedu/address/commons/core/Version.java
97.50% <0.00%> (+15.00%)
22.00% <0.00%> (+3.00%)

...n/java/seedu/address/commons/core/GuiSettings.java
79.31% <0.00%> (+17.24%)
11.00% <0.00%> (+5.00%)

...ava/seedu/address/logic/commands/ClearCommand.java
100.00% <0.00%> (+20.00%)
3.00% <0.00%> (+1.00%)

...eedu/address/logic/parser/SearchCommandParser.java
100.00% <0.00%> (+20.00%)
3.00% <0.00%> (ø%)

...c/main/java/seedu/address/commons/core/Config.java
90.90% <0.00%> (+22.72%)
11.00% <0.00%> (+4.00%)

...java/seedu/address/logic/parser/GradPadParser.java
100.00% <0.00%> (+30.76%)
21.00% <0.00%> (+7.00%)

... and 2 more

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 d2b96a4...8ce47f1. Read the comment docs.


minSdk error

Error after installation
After i install this package through npm i got minSdk error before installing this package the project was working properly
Error:
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 949 file(s) to forward-jetify. Using 8 workers...
info Starting JS server...
info Installing the app...

> Task :app:processDebugMainManifest FAILED

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
18 actionable tasks: 2 executed, 16 up-to-date
D:\toSend\test\android\app\src\debug\AndroidManifest.xml Error:
        uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
D:\toSend\test\android\app\src\debug\AndroidManifest.xml Error:
        uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s

    at makeError (D:\toSend\test\node_modules\@react-native-community\cli-platform-android\node_modules\execa\index.js:174:9)
    at D:\toSend\test\node_modules\@react-native-community\cli-platform-android\node_modules\execa\index.js:278:16
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async runOnAllDevices (D:\toSend\test\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:94:5)
    at async Command.handleAction (D:\toSend\test\node_modules\@react-native-community\cli\build\index.js:186:9)
info Run CLI with --verbose flag for more details.

npx react-native info:
info Fetching system and libraries information...
System:
    OS: Windows 10 10.0.19042
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 7.38 GB / 15.86 GB
  Binaries:
    Node: 16.1.0 - C:\Program Files\nodejs\node.EXE
    Yarn: Not Found
    npm: 7.12.0 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK:
      API Levels: 28, 29
      Build Tools: 29.0.2, 30.0.3, 31.0.0
      System Images: android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom
      Android NDK: Not Found
    Windows SDK: Not Found
  IDEs:
    Android Studio: Version  <IP_ADDRESS> AI-202.76<IP_ADDRESS>22048
    Visual Studio: 16.9.31205.134 (Visual Studio Community 2019)
  Languages:
    Java: 11.0.8
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: 0.64.1 => 0.64.1
    react-native-windows: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Can you please respond asap, am i doing anything wrong?

Error after installation
After i install this package through npm i got minSdk error before installing this package the project was working properly
Error:
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 949 file(s) to forward-jetify. Using 8 workers...
info Starting JS server...
info Installing the app...

> Task :app:processDebugMainManifest FAILED

See http://g.co/androidstudio/manifest-merger for more information about the manifest merger.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
18 actionable tasks: 2 executed, 16 up-to-date
D:\toSend\test\android\app\src\debug\AndroidManifest.xml Error:
        uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
D:\toSend\test\android\app\src\debug\AndroidManifest.xml Error:
        uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugMainManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [androidx.security:security-crypto:1.0.0-rc02] C:\Users\bhask\.gradle\caches\transforms-2\files-2.1\bdf7cf6efd79ab0a8a8d08d27829808a\jetified-security-crypto-1.0.0-rc02\AndroidManifest.xml as the library might be using APIs not available in 21
        Suggestion: use a compatible library with a minSdk of at most 21,
                or increase this project's minSdk version to at least 23,
                or use tools:overrideLibrary="androidx.security" to force usage (may lead to runtime failures)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 6s

    at makeError (D:\toSend\test\node_modules\@react-native-community\cli-platform-android\node_modules\execa\index.js:174:9)
    at D:\toSend\test\node_modules\@react-native-community\cli-platform-android\node_modules\execa\index.js:278:16
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async runOnAllDevices (D:\toSend\test\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:94:5)
    at async Command.handleAction (D:\toSend\test\node_modules\@react-native-community\cli\build\index.js:186:9)
info Run CLI with --verbose flag for more details.

npx react-native info:
info Fetching system and libraries information...
System:
    OS: Windows 10 10.0.19042
    CPU: (8) x64 Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz
    Memory: 7.38 GB / 15.86 GB
  Binaries:
    Node: 16.1.0 - C:\Program Files\nodejs\node.EXE
    Yarn: Not Found
    npm: 7.12.0 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK:
      API Levels: 28, 29
      Build Tools: 29.0.2, 30.0.3, 31.0.0
      System Images: android-28 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom
      Android NDK: Not Found
    Windows SDK: Not Found
  IDEs:
    Android Studio: Version  <IP_ADDRESS> AI-202.76<IP_ADDRESS>22048
    Visual Studio: 16.9.31205.134 (Visual Studio Community 2019)
  Languages:
    Java: 11.0.8
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: 0.64.1 => 0.64.1
    react-native-windows: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Can you please respond asap, am i doing anything wrong?

Same problem

??

minSDK version for the module is 23


Plugin Crashes Runelite on Startup

Describe the bug
117 HD causes Runelite to crash on next startup after install.
To Reproduce
Steps to reproduce the behavior:

Go to 'Plugin Hub' and download 117 HD (beta)
Once plugin has downloaded, close Runelite.
When Runelite is relaunched next, it will briefly display a clear window and crash.
Must uninstall/reinstall the whole Runelite client or run Runelite in safe mode to avoid crash.

Expected behavior
Runelite should be able to run its launch sequence without 117 HD crashing the client.
Environment (please complete the following information):

OS: Windows 10 version 10.0.19044
RuneLite version: 1.8.10
Launcher version: 2.3.0

Additional context
Been running 117 HD with no issues until this began out of nowhere. I've been getting by just keeping Runelite open and just not turning off my computer so I don't have to reinstall Runelite each gaming session. I've tested this with other plugins installed and 117 HD seems to be the issue.

What's your hardware?

Processor: Intel(R) Core(TM) i7-3770 CPU @ 3.40 GHz, 3401 MHz
GPU: AMD Radeon HD 7800 Series
RAM: 16 GB
Hard Drive: Samsung SSD 850 EVO 500GB
Would any other info be helpful?

Processor: Intel(R) Core(TM) i7-3770 CPU @ 3.40 GHz, 3401 MHz GPU: AMD Radeon HD 7800 Series RAM: 16 GB Hard Drive: Samsung SSD 850 EVO 500GB
Would any other info be helpful?

If you still having this issue can you post your logs

This can probably be closed. HD was likely trying to use their iGPU (Intel HD Graphics 4000), which only supports OpenGL 4.0. If HD used their AMD GPU, it would likely run fine.


A question about CG guidance

Classifier guidance was originally introduced to guide an unconditional model; however, OmniControl appears to apply this technique to guide a conditional model. Additionally, while classifier guidance is typically used during the sampling process, OmniControl employs it during training. Could you please help me understand this difference?

Hi,
Conditional guidance isn’t limited to use with unconditional models. It can be applied to a conditional model with a new condition, such as spatial guidance, or with an existing condition, like text. While CG is typically utilized during the sampling process, we attempted to incorporate it during training, but it didn't provide any advantage. Therefore, you can skip this part and focus on using it during the inference stage.
Thanks

Thanks for your reply😄.


Make watchdog logic threaded when possible

Implement health checks using threads when available in a similar way mod_proxy_hcheck.

Can one of the admins verify this patch? If it is not dangerous to our systems, juts tell me to "run_tests".  ( without the underscore and quotes :smiley: )

There is a bug present. Closing until it's resolved.

Bug found, I had to open new PR here https://github.com/modcluster/mod_proxy_cluster/pull/67


are these files can be used in proteus ares??

Apologize for the ridiculous delay; finally got around to checking pending PRs after too long.
Unfortunately I've no experience for Proteus products so I do not know if they support loading KiCad libraries; please consult other sources regarding the matter.


Scale & rotation reset on release

I was writting some code about zoom & pinch and I was surprised when I show up that rotation and scale values are reseted.

Late here, but some input that might help others...
all properties are reset on new gesture, i.e. deltaX, deltaX, scale, rotation, etc.  Each action is independent, and thus this makes sense.
If you would like to save the scale/rotation/etc in your application, you must save the last scale/rotation/deltaX to a variable which is in a higher scope (e.g. global) than the event scope.


add hotkey for comment/uncomment

Hello,
It's possible to add a hotkeys for comment / uncomment the code in the text editor when you highlight ?

A question is how complex code editor we want. I think, that one of the basic ideas of TIC-80 is a simplicity so adding shortcuts for any little gimmick goes against this idea.
However, useful feature which is common in many code editors would by closing a selected text into a parenthesis ()[]{}""'' and in lua also - respectively --. This could partially solve @Gi972 's request.

I think plugins for Atom, VSCode, SublimText, Brackets, Notepad++ would be a really good idea.

I'm alright with you,
In fact is more suggestions for improve experience when you write code and reflex pratices and increase productivity. Free of you to implement this or not :-)
@Harraps I prefer stay on the tic editor because I can run quickly when i debug :-)

by the way @nesbox it's possible open the file with a external editor?

@Gi972 It's not a problem to run fast a code from external editor in TIC.
Just if you add to PATH enviroment variable a path to tic.exe and then setup a build commands in editor:
SublimeText: Tools > Build System > New Build System... and then input into new created file:
{
"shell_cmd": ["tic", "%APPDATA%Roaming/TIC-80/0.21.0 dev/$file_base_name.tic","-code","$file"]
}

Save and then CTRL+B for build.
It's just example. I'm not sure if it works. I'm using Atom :D

Ok @Crutiatix I code with visual studio code, I will try with it, thanks for the tips ;-)

@Crutiatix ,
Are you on mac or pc?
I try on sublime text 3 but when I save TIC build system it don't appear on the menu :-/
So I cant build.
And I cant open a file too...
@nesbox  if possible launch a file from terminal? with argument for launch directly a file?

@Gi972
Using external editors in TIC-80 - https://github.com/nesbox/tic.computer/wiki#using-external-code-editors
Could you pls provide exact info how to reproduce:

"tetris.tic", line 1, col 1: Illegal character (expected alphanumeric or @%&*!#) - '^A'

When I open terminal on the repertory of game folder I write I :
MacBook-Pro-de-Gi:0.21.0 dev j3di$ tic tetris.tic

"tetris.tic", line 1, col 1: Illegal character (expected alphanumeric or @%&*!#) - '^A'

I try too
MacBook-Pro-de-Gi:Applications j3di$ open "tic.app tetris.tic"

The file /Applications/tic.app tetris.tic does not exist.

or
MacBook-Pro-de-Gi:Applications j3di$ open "tic.app" --args tetris.tic

it's launch tic but don't load
maybe I don't use the good command, hum hum :-D
Could you give me steps to follow?...

@Gi972 I got the problem

in the first case you are calling 'tic' from /usr/bin/tic and it's another's process, not TIC-80
in the second, you are trying to pass args to app package tic.app, TIC loads but without cart, here you have to pass full path to the cart $ open ./tic.app --args ~/Desktop/tic/tetris.tic to open local .app package or $ open -a tic --args ~/Desktop/tic/tetris.tic to open installed package
also you can call tic directly from inside .app package $ tic.app/Contents/MacOS/tic tetris.tic, in this case you can use relative paths to the cart

@nesbox
Ok
I copy the code of tetris. ti c in tetris.lua
I try
 MacBook-Pro-de-Gi:Tic j3di$ /Applications/tic.app/Contents/MacOS/tic tetris.tic -code /Users/j3di/Desktop/Dev/Tic/tetris.lua

It's work, it launch tic et load the file.lua but dont load I think the cart I don't see sprites in sprite editor or in map :-/
I forgot something?

@Gi972
Are you sure you've installed tic .21 to the Application folder, because -code argument was added in .21 ?

Ok I try in put the file tetris.tic and tetris.lua in the same folder and it works.
I understand I forgot in my precedent post the path in the  second argument of tetris.tic
The correct command is:
MacBook-Pro-de-Gi:Tic j3di$ /Applications/tic.app/Contents/MacOS/tic /Users/j3di/Library/Application\ Support/TIC-80/0.21.0\ dev/tetris.tic -code /Users/j3di/Desktop/Dev/Tic/tetris.lua

Hope that help other users
thanks for your patience and help

So for the main subject do you think comment/uncomment it's a bad idea?

@Gi972 it's a great idea :)
I'll add CTRL + / (CMD + / on Mac) to comment/uncomment line

Added line comment/uncomment by CTRL/CMD+/

done on .23


Calendarkit cant build in xcode 10 - Module compiled with Swift 4.1.2 cannot be imported by the Swift 4.2

Issue Description
Code I'm using with CalendarKit
import CalendarKit
import DateToolsSwift

When trying to import modules in xcode 10 i get this message:
"Module compiled with Swift 4.1.2 cannot be imported by the Swift 4.2 compiler:"

More info needed to reproduce the issue. Works perfectly with my Xcode 10 Release.

@johnnyperdomo Try to delete xCode derivedData

it works now, just needed to clean and build the project files.


Console image support

Would love to not have to open the browser when viewing images. Wondering if we can add image rendering support like http://ranger.nongnu.org/

+1

See #78. This has been discussed and is definitely high on the list of features to add!


Change the data model to Codito Cars

From world-cup to codito.

A first migration to the codito data model has been done. Different issues have been created to manage the enhancements


Fail to run MatMul CUDA TensorCore test.

What happened?
All the TensorCore test under iree/tests/e2e/matmul/ fails in my environment. The SIMT tests have passed.
The environment is:
NVIDIA A10 GPU,
nvidia/cuda:11.6.2-cudnn8-devel-ubuntu18.04 docker image,
updated python 3.8, clang 11 in the docker.
Steps to reproduce your issue
I follow the instructions in https://iree-org.github.io/iree/building-from-source/getting-started/#clone-and-build to build and run the tests.
What component(s) does this issue relate to?
Compiler
Version information
The IREE commit id is: 78940a262083d274575709e292c859cd5655adee
Additional context
No response

Could you share a log of the error? I don't have an A10 GPU to test on. The code generated by those tests are targeting sm_80 architecture and I'm guessing there is an incompatibility.

The error log of ctest command is not rich:
Start testing: Feb 10 08:15 UTC
----------------------------------------------------------
17/23 Testing: iree/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda
17/23 Test: iree/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda
Command: "/home/xxxx/workspace/release/iree-build-old/tools/iree-e2e-matmul-test" "/home/xxxx/workspace/release/iree-build-old/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda.yaml" "--device=cuda"
Directory: /home/xxxx/workspace/release/iree-build-old/tests/e2e/matmul
"iree/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda" start time: Feb 10 08:15 UTC
Output:
----------------------------------------------------------
iree/runtime/src/iree/hal/drivers/cuda/native_executable.c:128: INTERNAL; CUDA driver error 'CUDA_ERROR_INVALID_VALUE' (1): invalid argument; while invoking native function hal.executable.create; while calling import;
[ 1]   native hal.executable.create:0 -
[ 0] bytecode module.__init:544 /home/xxxx/workspace/release/iree-build-old/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda.mlir:37:13
      at /home/xxxx/workspace/release/iree-build-old/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda.mlir:36:1; replaying trace file '/home/xxxx/workspace/release/iree-build-old/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda.yaml'
<end of output>
Test time =   3.75 sec
----------------------------------------------------------
Test Failed.
"iree/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda" end time: Feb 10 08:15 UTC
"iree/tests/e2e/matmul/e2e_matmul_direct_f16_gpu_large_mma_sync_LLVMGPUMatmulTensorCore_cuda_cuda" time elapsed: 00:00:03
----------------------------------------------------------

End testing: Feb 10 08:15 UTC

driver=cuda =   3.75 sec*proc

iree/tests/e2e/matmul =   3.75 sec*proc

noasan =   3.75 sec*proc

nomsan =   3.75 sec*proc

notsan =   3.75 sec*proc

noubsan =   3.75 sec*proc

requires-gpu-nvidia =   3.75 sec*proc

I also tested an MLIR input file with iree-run-mlir tool.
The command is:
../iree-build-old/tools/iree-run-mlir \
  --iree-hal-target-backends=cuda \
  --mlir-print-ir-after-all \
  matmul.mlir \
  --input=f32=-2

The content in matmul.mlir is:
#compilation0 = #iree_codegen.compilation_info<
  lowering_config = <tile_sizes = [[128, 128, 64]]>,
  translation_info = <LLVMGPUMatmulTensorCore
  pipeline_depth = 3>,
  workgroup_size = [64 : index, 2 : index, 1 : index]>
func.func @matmul_1024x256xf16_times_256x512xf16_into_1024x512xf16_for_LLVMGPUMatmulTensorCore_128_128_64_64_2_1(%lhs: tensor<1024x256xf16>, %rhs: tensor<256x512xf16>, %acc: tensor<1024x512xf16>) -> tensor<1024x512xf16> {
  %result = linalg.matmul {compilation_info = #compilation0} ins(%lhs, %rhs: tensor<1024x256xf16>, tensor<256x512xf16>) outs(%acc: tensor<1024x512xf16>) -> tensor<1024x512xf16>
  return %result: tensor<1024x512xf16>
}

The dumped MLIR pipeline is iree-matmul-test.log.
With the error of LLVM ERROR: Cannot select: intrinsic %llvm.nvvm.cp.async.commit.group.
The error log is different. I don't know whether they have the same problem.

By the way, how to dump the MLIR of each pass when running tests with ctest?

Thanks for your reply.
I modified the tiling size in the #compilation0 attribute, and added --iree-hal-cuda-llvm-target-arch=sm_86 to the command line of iree-run-mlir. It looks like the original problem of intrinsic and out-of-shared-mem are gone.
I assume lowering_config = <tile_sizes = [[128, 128, 32]]> means the thread-block level tiling is [128, 128, 32]. Am I right? How to specify more tiling configs like warp tiling size, warp layout (2x2 v.s. 4x1),  and MMA instruction type (e.g., 16-8-16 v.s. 16-8-8)?
Finally by running:
../iree-build/tools/iree-run-mlir \
  --iree-hal-target-backends=cuda \
  --iree-hal-cuda-llvm-target-arch=sm_86 \
  --mlir-print-ir-after-all \
  matmul.mlir \
  --input=f32=-2

I got the following error:
Failure for split at line #1: iree/runtime/src/iree/vm/invocation.c:95: INVALID_ARGUMENT; input list and function mismatch; expected 3 arguments but passed 1; evaluating export function 0; Evaluating functions
ERROR running file (matmul.mlir):
iree/runtime/src/iree/vm/invocation.c:95: INVALID_ARGUMENT; input list and function mismatch; expected 3 arguments but passed 1; evaluating export function 0; Evaluating functions
Compiling for target backend 'cuda*'...
EXEC @matmul_1024x256xf16_times_256x512xf16_into_1024x512xf16_for_LLVMGPUMatmulTensorCore_128_128_32_64_2_1

Does it mean that I need to give some input when running iree-run-mlir command? I did not find out how to specify the input for the given MLIR func.

Does it mean that I need to give some input when running iree-run-mlir command? I did not find out how to specify the input for the given MLIR func.

yes you need to pass inputs matching the type of the function arguments:
—input=1024x256xf16 —input=256x512xf16

It succeeds after specifying the inputs. Thank you a lot! @ThomasRaoux
I will ask about the tiling problem in another issue.


MUI v5.x and React 18.x support

This PR drops support for legacy version of material-ui and React prior to v18.x

:tada: This PR is included in version 7.6.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Package.json issues

First of all, thanks for creating this.
A few issues in package.json:

the name should be of pattern : String does not match the pattern of "^(?:@[a-z0-9-*~][a-z0-9-*._~]*/)?[a-z0-9-~][a-z0-9-._~]*$". so "name": "eleventy-plus-vite", is good whereas "name": "Eleventy Plus Vite", gave me a warning.
missing packages npm-run-all and del-cli
missing script eleventy:dev

Thanks a lot, @bigandy! 🤗 I just fixed those issues with https://github.com/matthiasott/eleventy-plus-vite/commit/cb7a0f4e8328c0797b5f96db8fe8975dc6a03b36 ✅


does not work and there are errors, need help.

Hello AgregoreWeb,
Nice idea, I've tested it locally and online, but there are only errors and it doesn't work.
After that I looked at the code and saw that the project should only work in "agregore-browser" because it loads css code from there.
So I tested it in the "agregore-browser", but it didn't work there either and I got errors.
Does the project work at all?
If yes, can you explain me how to get it to work?
Cool project, but it should also work for the end user.

I've managed to make use of it in the Agregore browser. Could you elaborate on how you're running the code and what sorts of errors you're getting?
Are you running code via https://https//agregoreweb.github.io/pin-manager/index.html ?