addRoute for RKRequestMethodDELETE doesn't work when 64 bit.

Here is the code I wrote a year ago.
[self.objectManager.router.routeSet addRoute:[RKRoute routeWithName:kRouteDeleteThing
<EMAIL_ADDRESS>                                                             method:RKRequestMethodDELETE]];

Now after updating to RestKit .20, I am hitting this NSException in RKRoute line 60. I did change the BUILD ACTIVE ARCHITECTURES ONLY to NO for debugging on the simulator. If I change back to YES then I get x86_64 compile issues and it won't compile.
if (!RKIsSpecificRequestMethod(method)) [NSException raise:NSInvalidArgumentException format:@"The `method` parameter must specify a single, non-ambiguous HTTP method. Bitmask values and `RKRequestMethodAny` are invalid arguments."];

==== UPDATE =======================================
After further investigation, it looks like the issue is only with the RKRequestMethodDELETE (aka delete). When the code below is hit with PUT, POST, or GET the method parameter are RKRequestMethodPUT, RKRequestMethodPOST, and RKRequestMethodGET, however the RKRequestMethodDELETE comes across as "3". Instead of passing the typedef NS_OPTIONS its passing its int value?
+ (instancetype)routeWithName:(NSString *)name pathPattern:(NSString *)pathPattern method:(RKRequestMethod)method
{
    NSParameterAssert(name);
    NSParameterAssert(pathPattern);
    if (!RKIsSpecificRequestMethod(method)) [NSException raise:NSInvalidArgumentException format:@"The `method` parameter must specify a single, non-ambiguous HTTP method. Bitmask values and `RKRequestMethodAny` are invalid arguments."];
    RKNamedRoute *route = [RKNamedRoute new];
    route.name = name;
    route.pathPattern = pathPattern;
    route.method = method;
    return route;
}

The RestKit 0.1x definition of that enum was:
typedef enum RKRequestMethod {
    RKRequestMethodInvalid = -1,
    RKRequestMethodGET,
    RKRequestMethodPOST,
    RKRequestMethodPUT,
    RKRequestMethodDELETE,
    RKRequestMethodHEAD
} RKRequestMethod;

So in that case, RKRequestMethodDELETE really was 3.  GET/POST/PUT would be 0/1/2 which would pass the RKIsSpecificRequestMethod test by accident, although the values really wouldn't be right.  In the newer RestKit, they are defined as:
    RKRequestMethodGET          = 1 << 0,
    RKRequestMethodPOST         = 1 << 1,
    RKRequestMethodPUT          = 1 << 2,
    RKRequestMethodDELETE       = 1 << 3,

so GET should be 1, POST should be 2, PUT should be 4, and DELETE should be 8.  Is there any chance you have a stray header or bad typedef in your build environment?  I would check the actual numeric values in the debugger as well, to make sure you are getting 1 for GET instead of 0.


Creating service from existing dev release of own account

Hi,
I am trying to get my API Library which are currently in dev env
How can I get that?
I tried typing
>lib create -s @monis0395/createfeed/dev

Awesome! Let's create a stdlib service!
We'll use the sourcecode @monis0395/createfeed/dev to proceed.

? Service Name createfeed

Retrieving sourcecode @monis0395/createfeed from:
<EMAIL_ADDRESS>...

Error: Not found: monis0395/createfeed@dev

Is it possible to get it?
PS: the service is currently private

Hi @monis0395! You'll actually want to run this command from within your Standard Library directory (the same one you ran lib init in, requires you to log in):
lib get monis0395/createfeed@dev
That will retrieve your source code and put in a directory called monis0395/createfeed@dev. Let me know if that works for you!

Thanks a lot @jacoblee93, it works :)


SW-3481 upgrade language to 1.16

Go 1.14 is no longer supported as each major Go release is supported until there are two newer major release and Go is currently on 1.16. This PR is to upgrade the Go language version.

👍 Worth updating the Dockerfiles too


Improve readability in the userguide with a fixed size

I have now made the userguide fixed to 900px, as we previously had it extended all the way, making it harder for people to read.
The CI flame are now positioned to the bottom right corner in the "content" box. It made it harder to read, specifically on mobile devices.
Making tables responsive again, but with "pre" rendering instead of the default nowrap. Rendering as we see it in .rst, real "enter" in templates results in enter in the userguide itself. Or we will end up with "endless" scrolling in Validation - Available Rules.
Fixed incorrect rendering in "Localization".

Checklist:

[X] Securely signed commits
[X] User guide updated
[X] Conforms to style guide

Looks good. Thanks!


joplin-desktop: 2.9.17 -> 2.10.4

Description of changes
Fixes CVE-2022-45598.
Changes:
https://github.com/laurent22/joplin/releases/tag/v2.10.2
https://github.com/laurent22/joplin/releases/tag/v2.10.3
https://github.com/laurent22/joplin/releases/tag/v2.10.4

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review run on x86_64-linux 1

1 package built:

joplin-desktop

Tested and lgtm.


Enable Kubernetes API for DCS.

Add ability to use Kubernetes directly for DCS purposes. This will avoid using etcd or zookeeper.

Wait for RBAC fix.

To use K8s built-in DCS abilities you should have this in your config:
  etcd:
    enable: false
    deployChart: false
  kubernetes:
    dcs:
      enable: true

@linki @paulczar Is there any news on this one?

/assign @mattfarina

It works actually on our stage. Not sure if the "app" label fits well for Patroni clusters separation (in my case - pretty well). Maybe we need this thing configurable.

/ok-to-test

/approve

/retest

@ese Any updates?

for me it's ok :+1:

@linki @paulczar Any improvements I should make?

Any updates on this?

@linki @paulczar

/retest
need to get these tests passing before we can merge it in.

Could you help me with how to resolve
Warning  FailedScheduling   3m45s (x26 over 10m)    default-scheduler   pod has unbound PersistentVolumeClaims (repeated 3 times)

on e2e testing


Jaxon and the factory pattern

Hi,
Seering several topics on the register classes, which has been changed in V3 and enforced in V4.
https://github.com/jaxon-php/jaxon-core/issues/116
https://github.com/jaxon-php/jaxon-core/issues/113
The explanation is clear, it is a design choice to change Jaxon.
We are using quite a large framework (with xajax from the early days, approx 4k ajax calls present) and using a Factory pattern
https://en.wikipedia.org/wiki/Factory_(object-oriented_programming)
This pattern causes the objects to be populated. Even custom objects can be created, depending on environment.
The register of classe just by name is causing the factory to be skipped. The instance (at time of register) is already nicely populated. Jaxon is now enforcing to work around this.
For us, its already clear this is a blocker, we cannot use jaxon the way it is designed.
Probably you have thought about it, but it might be nice to hear about this issue.
That's why we post this issue.

Hi,
According to what you just said, I see no reason why you couldn't use the latest Jaxon release. On the contrary, having a factory may make things easier.
First of all, you don't need to instantiate your classes when registering them, be it with a factory or by any other mean.
Providing class names, or even better, a directory and a namespace, is all what is required.
https://www.jaxon-php.org/docs/v4x/registrations/classes.html
https://www.jaxon-php.org/docs/v4x/registrations/directories.html
https://www.jaxon-php.org/docs/v4x/registrations/namespaces.html
Now when processing a request, you simply need to provide the Jaxon DI component with a mean to get an instance of any of your classes from your factory.
jaxon()->di()->set($jaxonClassFullName, function($di) {
    // Return an instance of the class using the factory.
});

See https://www.jaxon-php.org/docs/v4x/features/dependency-injection.html for the documentation.
The trickiest part here is that you will need to to that for all the classes you want to export to javascript.
As an alternative, you can also replace your factory with the Jaxon DI component. I don't know how hard this may be.

Thanks for mentioning this alternative.
Dependency injection is something we did not explore yet.
As you say, it has to be done for all classes.
We know about the documentation on registration, we only use callable functions.
By making use of factory, all init stuff is done in the framework in the bootstrap phase.
Jaxon is called after that bootstrapping. It will require a framework redefinition to cope with an alternative approach.
 Well we do need to do that. Classes are not empty, they contain logic during initialising them. Including determining the correct class names, context, environment. All this is done in the factory. And that has to be done exactly one time. From that moment use the factory.
We tried in a local fork to add the feature (back) to the Jaxon\Plugin\Request\CallableFunction
Plain and simple
if ($sName == 'instance') $xCallable->configureClass($sName, $sValue);
            else $xCallable->configure($sName, $sValue);

and then in the call
$sClassName = $this->xPhpFunction[0];             if ($this->instance instanceof $sClassName) $this->xPhpFunction[0] = $this->instance;             else $this->xPhpFunction[0] = new $sClassName;
This way we can cope with the complete framework in one go, we can now replace all the register calls in one replacement.
Honestly,  I don't understand why a framework should enforce this.
Jaxon is a framework and will be embedded in other frameworks.
Like I said before, you probably have a reason for changing this feature from v2 to v3, but it's unclear if there is an objective reason for it.

If you are only using callable functions, that means you have registered each method you want to call from the browser as a callable function, right?
Even in this case, you don't need to instantiate your classes when registering the functions. I know Xajax allowed that, but it is simply not necessary. Pass the class name to the register() method and you are done.
So you should be able to register your functions and display your pages without any issue.
The rationale behind that is Jaxon will instantiate only the class that is called when processing the ajax request.
Instantiating the other classes in this case is useless, and just makes your application slower.
Now of course you are right about the fact that the callable function plugin currently tries to new the class when processing the request, but that is a bug. It needs to check first if the class is available in the DI container. It is very easy to fix.

If you are only using callable functions, that means you have registered each method you want to call from the browser as a callable function, right?

That is right.

I know Xajax allowed that, but it is simply not necessary

To be honest, thats an opinion. In our framework it is needed.

So you should be able to register your functions and display your pages without any issue.

We understand your documentation and way of registering, but the whole point of this issue is that it IS an issue if you do a blank init of a class from without the framework

Instantiating the other classes in this case is useless, and just makes your application slower.

That is something we have covered in the framework and this is not happening. So not an issue.

I wanted to help you as I believe you have done a good thing by maintaining Jaxon.
So this issue is providing maybe a new perspective.
Based on your answers, I do understand your rationale. I do understand how you try to enforce a way of working you feel is the best practice. But maybe there are multiple ways in achieving a best practice. I hope you can see that.
Enforcing one way is blocking another way. (An D.injection is adding too much of complication right now).
So we continue on the fork for now.
Thanks for your efforts and replies!

You can't just decide that something is an issue without explaining why.
So let me ask you a question. When you register your functions, what piece of information do you need that you can't have without instantiating your class? Seems to me that your function names is all you need, and you already know them.
If your framework absolutely needs you to do something that is absolutely not necessary, it sounds to me like a design flaw you need to address. You cannot just ask the library to adapt to that.
DI is too complicated? Sorry, but there's a reason why every single PHP framework out there now use it.
At the end of the day, you just need to make your app work. Since it already does, it's ok to me.

Dear Feuzu,
I did try to explain in a very respectfull way.
Apparently that was not clear to you.
The fact that you see it as a possible design flaw is less respectfull.
You mention a lack of explanation. At the same time, you seem not to be able to explain why you have enforced your way of working. You just have an opinion and say "it is not needed".
DI is not technically complicated but does require a serious efforrt in the 4k classes we maintain.
So it seems pretty fair to take into consideration the effort it requires.
Especially if there is no real reason. Definitely not a design flaw.
Well, we tried to contribute here. That at least failed.
Wish you good luck.

First you can't make the effort to spell my name correctly, then you say that not agreeing with you is disrespectful.
Ok. Ok.

I did not say disagreeing is disrespectful, saying it is a design flaw is.
Apologies for misspelling your name. Its alias says "feuzeu".
Off course we dont know each other, but if you read again we are trying to be respectful.
Finally: you did shut down an option which was in the framework before.
If someone then responds to that ( I am not the first), you might expect that.
It worked, and then it does not work anymore.
I do understand that can be a choice. The PHP language changes also, also with breaking changes.
You are absolutely in a position to make the choice to do such a change. You have the right.
Maybe feedback might add something. And if you are not open for it, fine.
Don't get offended if someone gives feedback.

If saying a piece of software has an issue is disrestpectful, why would you be allowed to post an issue here? Why would anyone be allowed to post an issue on any software?
If you really think that, please stop reading here, because I'm going to be more "disrespectful".
You keep complaining about your 4k classes.
Since version 1, which was published more than 7 years ago now, you are adviced when you have that many classes to move them to a directory which you register with Jaxon. Since then, that feature has been improved to a point where it works quite well today.
It is not only my choice, it is also the way modern PHP works. Because when doing so, PHP can take advantage of autoloading and namespacing to find and load your classes more easily and more efficiently.
That's the reason why PSR-4 is the recommended way to write PHP classes nowadays.
You had many years to upgrade your classes, since you initially wrote them for Xajax.
I your classes are not PSR-4 compliant, which I guess from what you said, you should consider an upgrade. After that, you will be able to register them as one directory with one namespace. In the worst case, you may just have a few namespaces.
If you don't want to, it is up to you. But just know that I consider that as a bad design choice, and no, no, no, I will not downgrade this library to cope with that.
The library source code is available. It is your right to adapt it to your needs if your prefer, as you said you did.
It is ok for me. Since it has worked, for me there is no more issue.

Thierry,
While I agree with you in principle I cannot agree with the idea that we
should all do it this way because that is how it is done these days.
My mother used to say "If all of the other kids wanted to jump off of a
cliff, would you want to too?"
If no one tried something different, we would still be cooking over a
campfire in the dark.
As you know, I  use Jaxon in a single class per page mode involving what
would be called a "hack" and now I am also registering the same single
function in every one of my classes. I didn't need a hack in Jaxon 2X but
you chose to make a breaking change starting in V3.
This results in faster, cleaner code so that it doesn't matter if there are
only 3 methods to be called or 4K, as in the present issue, there is no
overhead. You also know where all of a page's code lies and can make
changes or additions with ease.
While I do use composer autoloading with classmap, I still cannot get
my head around namespaces so PSR-4 is still out. This is probably due to my
advanced age. I will turn 80 in the coming March. Maybe that isn't a good
excuse but it's the only one I can come up with. :)
Ed
On Sat, Oct 21, 2023 at 12:04 PM Thierry Feuzeu @.***>
wrote:

If saying a piece of software has an issue is disrestpectful, why would
you be allowed to post an issue here? Why would anyone be allowed to post
an issue on any software?
If you really think that, please stop reading here, because I'm going to
be more "disrespectful".
You keep complaining about your 4k classes.
Since version 1, which was published more than 7 years ago now, you are
adviced when you have that many classes to move them to a directory which
you register with Jaxon. Since then, that feature has been improved to a
point where it works quite well today.
It is not only my choice, it is also the way modern PHP works. Because
when doing so, PHP can take advantage of autoloading and namespacing to
find and load your classes more easily and more efficiently.
That's the reason why PSR-4 is the recommended way to write PHP classes
nowadays.
You had many years to upgrade your classes, since you initially wrote them
for Xajax.
I your classes are not PSR-4 compliant, which I guess from what you said,
you should consider an upgrade. After that, you will be able to register
them as one directory with one namespace. In the worst case, you may just
have a few namespaces.
If you don't want to, it is up to you. But just know that I consider that
as a bad design choice, and no, no, no, I will not downgrade this library
to cope with that.
The library source code is available. It is your right to adapt it to your
needs if your prefer, as you said you did.
It is ok for me. Since it has worked, for me there is no more issue.
—
Reply to this email directly, view it on GitHub
https://github.com/jaxon-php/jaxon-core/issues/121#issuecomment-1773880491,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFCS576QGYACI6KXANAQVLYAQFEPAVCNFSM6AAAAAA6HWKR4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZTHA4DANBZGE
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Ed Robinson
Ph:<PHONE_NUMBER>

Ed,
I said Because when doing so, PHP can take advantage of autoloading and namespacing to find and load your classes more easily and more efficiently.
It is not a matter of preference.
Why did your mother ask you that question? Because you worked hard? Because you took care of your family?
You cannot ask to change a library people are using, some for their businesses or their work, just to make your "hack" to work. It's crazy.
There are well-known best practices that most people, including me, try to respect. You are free to compare that with jumping off a cliff, but please allow me to disagree with you.

Thierry,
Thanks for replying. I do use autoloading and it is very useful in my
opinion. Like I said, I have yet to fully understand namespacing so I do
not use PSR-4 autoloading.
My mother would ask me this question when I wanted to do something just
because everyone else was doing it.
I am not asking you to change the library. I think that would be a high
level of arrogance. I am, however, looking for a workaround that makes it
easier to use the library the way I would like to. I do keep running into
problems with my hack and may ultimately have to do it the way you
recommend or just go back to V2.X where I am most comfortable.
I do not compare best practices with jumping off a cliff. I get the feeling
from you that you do not approve of trying anything outside of best
practices. That's how good changes come about, although, with some rough
roads along the way.
I will keep studying your code to better understand it and perhaps I will
find a way.
Regards,
Ed
On Sun, Oct 22, 2023 at 4:25 PM Thierry Feuzeu @.***>
wrote:

Ed,
I said Because when doing so, PHP can take advantage of autoloading and
namespacing to find and load your classes more easily and more efficiently.
It is not a matter of preference.
Why did your mother ask you that question? Because you worked hard?
Because you took care of your family?
You cannot ask to change a library people are using, some for their
businesses or their work, just to make your "hack" to work. It's crazy.
There are well-known best practices that most people, including me, try to
respect. You are free to compare that with jumping off a cliff, but please
allow me to disagree with you.
—
Reply to this email directly, view it on GitHub
https://github.com/jaxon-php/jaxon-core/issues/121#issuecomment-1774216052,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFCS54T7O5TIZGGZ47UQOLYAWMMDAVCNFSM6AAAAAA6HWKR4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZUGIYTMMBVGI
.
You are receiving this because you commented.Message ID:
@.***>

--
Ed Robinson
Ph:<PHONE_NUMBER>

Hi,
The topic has been going into a PSR4 discussion.
It seems the conclusion is that it is about loading a class.
Yes, the issue is that Jaxon is using a "new Class" statement so I understand that seems to be connected to autloading.
But the original (our) problem is:

in our controller we first load a few classes via an autoloader which checks for certain environment related stuff
depending on the environment the list of classes can differ
we instantiate the classes via class Auttoloader, like "Autoloader::Factory(classname)" or "Autoloader::singleton(classname)"
In most of the constructor calls there are parameters, like context and id which are set upon loading, all centrally maintained and given to the constructor calls

When applying v4 of jaxon (views only, not part of models), the issue lies within the lack of parameters in the constructor calls. So we want to initiate the classes (not all but the ones needed off course) earlier than the loading of the jaxon framework.
It is a bit unclear why this is going into the PSR4 discussion. The issue is not really the best practice on namespace loading, it is about handling parameters and keep track of loaded classes.
A small example which does use parameters: https://www.phptutorial.net/php-oop/php-composer-autoload/
Which is not the way we work btw. But it does show  a way to pass params.
It is true that our autoloader is not fully PSR4 ready, but even when it is (and that will happen) we do not want to remove the option for parameters. It is not a bad practice to do so. Also not part of the PSR4 requirements.
I have also taken a look at DI. Nice that you solved that bug the last few days!
DI is another approach. Yes, I do see the purpose of that approach as well.
Just as well as our change to the callable function is working (by using instances). Our change is not bad and should not be downsized to " then you are not complying with PSR 4 so its a design flaw ". That is simplifying the issue and putting the discussion in a corner "who is doing the best within best practices".
Thanks so far!

iReserveApps:
Your statement:
"Yes, the issue is that Jaxon is using a "new Class" statement so I understand that seems to be connected to autoloading."
is right on except that it is not autoloading but instancing a new copy our classes.
I instance Jaxon in the "view" method of my classes. I then register my "dispatch" function as the only public method. Then I use Smarty to generate the page.  Page setup calls the Jaxon CSS and JS generation methods and assigns them to Smarty variables to transport the code to the client. That works fine. The call to my method appears in the HTML.
The problem arises when Jaxon instances my class using new. There is no "memory" of my method registration and I keep bumping into the problem no matter what I try. Several times now I thought I had figured out a civilized hack only to get an infinite loop error if I register in my class constructor or no processor defined for my registered method if I only registered in the page generation code.
I don't know why this change was made going from V2 to V4 but it really messed up my life! :(
My code base is small so I don't face the issue around 4K calls. I have created a version using the 3 file/page approach but it does not sit well. Fortunately, using Smarty takes care of the separation of concerns.
Right now I see 3 choices: 1. Return to Jaxon V2.X or 2. Use the separate files approach or 3. Keep on looking for the holy grail hack.
Ed.

@edrobinson
Looking for the holy grail hack, here it is
`Index: vendor/jaxon-php/jaxon-core/src/Plugin/Request/CallableFunction/CallableFunction.php
--- vendor/jaxon-php/jaxon-core/src/Plugin/Request/CallableFunction/CallableFunction.php	(revision 18332)
+++ vendor/jaxon-php/jaxon-core/src/Plugin/Request/CallableFunction/CallableFunction.php	(revision 18333)
@@ -57,6 +57,7 @@
* @var array
*/
private $aOptions = [];

private $instance;
/**

The constructor
@@ -127,6 +128,17 @@
}

/**

* @param string $sName

* @param object $sValue

* @return void

*/

public function configureClass(string $sName, object $sValue)

{

   $this->xPhpFunction = [$sValue::class, $this->xPhpFunction];

   $this->instance = $sValue;

}

/**

Call the registered user function, including an external file if needed
and passing along the specified arguments

@@ -144,7 +156,8 @@
if(is_array($this->xPhpFunction) && is_string($this->xPhpFunction[0]))
{
$sClassName = $this->xPhpFunction[0];

       $this->xPhpFunction[0] = new $sClassName;

       if ($this->instance instanceof $sClassName) $this->xPhpFunction[0] = $this->instance;

       else $this->xPhpFunction[0] = new $sClassName;
   }
   return call_user_func_array($this->xPhpFunction, $aArgs);

}
Index: vendor/jaxon-php/jaxon-core/src/Plugin/Request/CallableFunction/CallableFunctionPlugin.php
===================================================================
--- vendor/jaxon-php/jaxon-core/src/Plugin/Request/CallableFunction/CallableFunctionPlugin.php	(revision 18332)
+++ vendor/jaxon-php/jaxon-core/src/Plugin/Request/CallableFunction/CallableFunctionPlugin.php	(revision 18333)
@@ -178,7 +178,9 @@
$xCallable = new CallableFunction($sFunction, $this->sPrefix . $sFunction, $this->aFunctions[$sFunction]);
foreach($this->aOptions[$sFunction] as $sName => $sValue)
{

       $xCallable->configure($sName, $sValue);

       if ($sName == 'instance') $xCallable->configureClass($sName, $sValue);

       else $xCallable->configure($sName, $sValue);

   }
   return $xCallable;

}
`

Only the two files Callable function have been changed, this works like a charm.

After applying that change, call it with "instance" as a parameter
$jaxon->register(\Jaxon\Jaxon::CALLABLE_FUNCTION, "showBatchDetail", ["instance" => $this]);

Thank you for this information. I assume it is from a version control file.
While I hate to admit it, I do not use any formal version control as It's
just me in this shop so I make copies as the need strikes me.
Would you be so kind as to interpret the changes I need to make?
Regards,
Ed
On Mon, Oct 23, 2023 at 11:09 PM iReserveApps @.***>
wrote:

After applying that change, call it with "instance" as a parameter
$jaxon->register(\Jaxon\Jaxon::CALLABLE_FUNCTION, "showBatchDetail",
["instance" => $this]);
—
Reply to this email directly, view it on GitHub
https://github.com/jaxon-php/jaxon-core/issues/121#issuecomment-1776547447,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFCS5Y432RWE34E325JARTYA5ERZAVCNFSM6AAAAAA6HWKR4OVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZWGU2DONBUG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Ed Robinson
Ph:<PHONE_NUMBER>

FYI, there's solution to this issue that works well with the latest library version.
Register the app function with the class name, and register the class in the DI.
jaxon()->register(Jaxon::CALLABLE_FUNCTION, $sFunctionName, ['class' => $sClassName]);

jaxon()->di()->set($sClassName, function($di) {
    // Return an instance of the class.
});

It is even recommended to instead register the app services in the DI, and pass them to the Jaxon class contructors. No need to register the classes themselves.
There's no serious reason why someone would want to instantiate 4k classes (plus the 4k classes needed to make it work) unnecessarily!!! So don't do this!!!


Implement a spy IBP backend

This will help in easy testing of our OOOP adapter implementation.
Currently, this spy backend only implements static IBP interface. After my template specific IBP Handle service PR goes in, I will enhance this spy backend to have two flavors, session plan and no-session plan.

/approve

@geeknoid now since my HandlerXXXX PR for OOP adapter is checked in, I will enhance this spybackend in this PR itself, instead of sending another one.

New changes are detected. LGTM label has been removed.

@guptasu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-bookInfo

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-bookInfo

prow/istio-unit-tests.sh
185476ef5a4a564537898836768a003391325b2f
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-bookInfo

prow/istio-unit-tests.sh
185476ef5a4a564537898836768a003391325b2f
link
/test istio-unit-tests

prow/e2e-simpleTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-bookInfo

prow/istio-unit-tests.sh
185476ef5a4a564537898836768a003391325b2f
link
/test istio-unit-tests

prow/e2e-simpleTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-simple

prow/istio-presubmit.sh
185476ef5a4a564537898836768a003391325b2f
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test istio-pilot-e2e

prow/e2e-bookInfoTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-bookInfo

prow/e2e-simpleTests.sh
0c29cce51696dc82da3dbbad36af6280372c178a
link
/test e2e-simple

prow/istio-presubmit.sh
185476ef5a4a564537898836768a003391325b2f
link
/test istio-presubmit

prow/istio-unit-tests.sh
ed9b02843dc47b05ac20f8f608c789a189fa0fa0
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
bf810276f82ada98e6d221eee13deb81406fba64
link
/test istio-pilot-e2e-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
bf810276f82ada98e6d221eee13deb81406fba64
link
/test istio-pilot-e2e-v1alpha3

prow/e2e-simpleTests.sh
bf810276f82ada98e6d221eee13deb81406fba64
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-pilot-e2e-v1alpha3

/test e2e-simple

@geeknoid @mandarjog WDYT ?

@guptasu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
bf810276f82ada98e6d221eee13deb81406fba64
link
/test istio-pilot-e2e-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Friendly ping!! @geeknoid can you re-lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
bf810276f82ada98e6d221eee13deb81406fba64
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
5581d8277759a106c219483b2337ef0cfeb8ff5b
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
5581d8277759a106c219483b2337ef0cfeb8ff5b
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-v1alpha3.sh
5581d8277759a106c219483b2337ef0cfeb8ff5b
link
/test istio-pilot-e2e-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-v1alpha3.sh
5581d8277759a106c219483b2337ef0cfeb8ff5b
link
/test istio-pilot-e2e-v1alpha3

prow/istio-pilot-e2e.sh
9a889db542906ece70049d75c4fa3a45f396fc91
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
9a889db542906ece70049d75c4fa3a45f396fc91
link
/test istio-pilot-e2e

prow/istio-pilot-e2e-v1alpha3.sh
9a889db542906ece70049d75c4fa3a45f396fc91
link
/test istio-pilot-e2e-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@geeknoid re-lgtm pls

@guptasu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
8cc7c91be6eaa5a1fd61d47b6705b606fc916cd0
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm, geeknoid, guptasu
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [costinm,geeknoid,guptasu]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
8cc7c91be6eaa5a1fd61d47b6705b606fc916cd0
link
/test e2e-bookInfo-envoyv2-v1alpha3

prow/istio-unit-tests.sh
ac021dd32c24f7237d9dabb3d1a310e1ecef38af
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm, geeknoid, guptasu, mandarjog
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [costinm,geeknoid,guptasu,mandarjog]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@guptasu: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
8cc7c91be6eaa5a1fd61d47b6705b606fc916cd0
link
/test e2e-bookInfo-envoyv2-v1alpha3

prow/istio-unit-tests.sh
ac021dd32c24f7237d9dabb3d1a310e1ecef38af
link
/test istio-unit-tests

prow/istio-pilot-e2e.sh
ac021dd32c24f7237d9dabb3d1a310e1ecef38af
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm, geeknoid, guptasu, mandarjog
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [costinm,geeknoid,guptasu,mandarjog]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@guptasu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e.sh
b82772eb1cae5f1502e6c322c799b1cae035c565
link
/test istio-pilot-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


rpmcfg: use tito tag or doozer tag, not both

The code was confusing enough that I didn't notice in the case of use_source_tito_config it was tagging it twice. It didn't break on openshift because that uses a custom tagger and the tag doesn't conflict.
Along the way I noticed some cruft and bits that should be much clearer now.

/lgtm merge it

I think you have a point @shiywang ... it's a pythonism to try to avoid indenting huge chunks of code, so often a "short-circuit" looks something like:
if foo:
    # ... do something ...
    return / break / continue
# ... continue with not-foo case ...

In this case, I think the first case goes on long enough that it would probably make sense to break these out into methods or something. But I'd like to consider that for a follow-up PR.


QA: Add test case for full regression to make sure that no update dialog for desktop app in case of web app updating

@Franco Venica @Liliya Soroka could you please add this to the list of things to test after a release? i.e. there should be no update dialog for versions where there is no desktop app update. and there should be one, when there is an update available.
Slack discussion :
https://gnosisinc.slack.com/archives/CQB729LLF/p1613489148495500

It may be a part of the test suite for desktop app:
Check desktop app each time after the web app release to make sure that no update message on desktop

done


pulumi go program is not recognizing cloudscheduler.NewJob

What happened?
all the other resources are updated/created
this one is simply not picked up
Example
func MakeSchedule(ctx *pulumi.Context, job *cloudrunv2.Job) (*cloudscheduler.Job, error) {
	api, err := turnOnApi(ctx, schedulerApi, cloudSchedulerApiGoogleName)
	if err != nil {
		return nil, err
	}

	// gcloud scheduler jobs create http SCHEDULER_JOB_NAME \
	//  --location SCHEDULER_REGION \
	//  --schedule="SCHEDULE" \
	//  --uri="https://CLOUD_RUN_REGION-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/PROJECT-ID/jobs/JOB-NAME:run" \
	//  --http-method POST \
	//  --oauth-service-account-email<EMAIL_ADDRESS>
	defaultComputeAccount, err := compute.GetDefaultServiceAccount(ctx, nil, nil)
	if err != nil {
		return nil, err
	}

	pos, err := cloudscheduler.NewJob(ctx, posSchedule, &cloudscheduler.JobArgs{
		Description:     pulumi.Sprintf("schedule for calling %s", job.Name),
		Schedule:        pulumi.String("* * * * *"),
		TimeZone:        pulumi.String("America/New_York"),
		AttemptDeadline: pulumi.String("320s"),
		HttpTarget: &cloudscheduler.JobHttpTargetArgs{
			HttpMethod: pulumi.String("POST"),
			Uri:        pulumi.Sprintf("https://%s-run.googleapis.com/apis/run.googleapis.com/v1/namespaces/%s/jobs/%s:run", job.Location, job.Project, job.Name),
			OauthToken: &cloudscheduler.JobHttpTargetOauthTokenArgs{
				ServiceAccountEmail: pulumi.String(defaultComputeAccount.Email),
			},
		},
	},
		pulumi.DependsOn([]pulumi.Resource{api, job}),
	)
	if err != nil {
		return nil, err
	}

	export(ctx, posSchedule, "name", pos.Name)
	export(ctx, posSchedule, "schedule", pos.Schedule)
	export(ctx, posSchedule, "httpTarget", pos.HttpTarget)

	return pos, nil
}

Output of pulumi about
CLI
Version      3.98.0
Go Version   go1.21.5
Go Compiler  gc

Plugins
NAME    VERSION
docker  4.5.0
gcp     7.0.0
go      unknown
random  4.13.2

Host
OS       darwin
Version  13.6
Arch     arm64

This project is written in go: executable='/usr/local/go/bin/go' version='go version go1.21.5 darwin/arm64'

-- REDACTED --

Dependencies:
NAME                                    VERSION
github.com/pulumi/pulumi-docker/sdk/v4  4.5.0
github.com/pulumi/pulumi-gcp/sdk/v7     7.0.0
github.com/pulumi/pulumi-random/sdk/v4  4.13.2
github.com/pulumi/pulumi/sdk/v3         3.93.0

Pulumi locates its logs in /var/folders/7j/fv5_1dbs43x1451hb9n59g7r0000gn/T/ by default

Additional context
i'm at a complete loss, i made sure the MakeSchedule function is called in main.go
see main.go
package main

import (
	"ci-shopify-sellercloud/iac"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// Import the program's configuration settings.
		cfg := config.New(ctx, "")

		cpu := 1
		if param := cfg.GetInt("cpu"); param != 0 {
			cpu = param
		}
		memory := "1Gi"
		if param := cfg.Get("memory"); param != "" {
			memory = param
		}

		// Import the provider's configuration settings.
		providerConfig := config.New(ctx, "gcp")
		location := providerConfig.Require("region")
		_ = providerConfig.Require("project")

		image, err := iac.MakeImage(ctx, location)
		if err != nil {
			return err
		}

		job, err := iac.MakeJobs(ctx, location, cpu, memory, image.RepoDigest)
		if err != nil {
			return err
		}

		schedule, err := iac.MakeSchedule(ctx, job)

		iac.Check(schedule)

		return nil
	})
}

the Check function even produces output, meaning the program runs there.
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

actually want to confirm that i imported a manually created resource, and still the code wouldn't be recognized, so pulumi thought i was trying to delete but when you import it is delete protected. something is very off here, not sure what would cause a resource type to be ignored by pulumi.

Hi @yehudamakarov. I'm sorry for the confusion. In the main() function above, you are missing an error check for iac.MakeSchedule. I would try re-inserting that:
		schedule, err := iac.MakeSchedule(ctx, job)
+		if err != nil {
+			return err
+		}

		iac.Check(schedule)

Does that yield anything?

@iwahbe incredible how i wasn't returning the error and that was all it was. I never turned on the compute api in gcp.
defaultComputeAccount, err := compute.GetDefaultServiceAccount(ctx, nil, nil) was the problem!
thanks, and sorry i missed something so obvious!


Make .gitattributes linguist settings highlight Luau files as Lua

I will close this as Luau was added to GitHub linguist (https://github.com/github-linguist/linguist/pull/6612)


Fix divide-by-zero error

A misplaced closing parenthesis caused a divide-by-zero error if a monitoring plot
observation included a species whose plants were all existing and then another
observation also only had existing plants for that species.

Current dependencies on/for this PR:

main

PR #1188   👈

This comment was auto-generated by Graphite.

@sgrimm started a stack merge that includes this pull request via Graphite.

@sgrimm merged this pull request with Graphite.


Minor fixes

Just a minor fix and a couple stylistic changes for consistency

version 0.0.2 on npm has the bug fixes


Do not display "network already exists" errors

I have redirected error output from docker network create commands to /dev/null not to always show the "Error response from daemon: network with name webproxy already exists" error.

I rather see it on the screen, thanks for your time on that.


Add teleport ( aka. tp ) command.

we have a player.sendPosition() function https://github.com/mhsjlw/flying-squid/blob/b5d22e57f93993325d8c96a28ca1ee6ab8a70173/src/lib/plugins/updatePositions.js#L90
So it would be better to 1. change the player position (player.position = new Vec3(x,y,z) and then call it player.sendPosition())

Yes, it's planned to abstract it away https://github.com/mhsjlw/flying-squid/issues/40
And we should probably document the reason why 2 position system are used, I'm tired of explaining it again and again and again.

I merged this btw, thanks @azastrael !


I cant get it to open anything in code spaces

ADD ISSUE DESCRIPTION HERE
Version: 1.74.1
Commit: 1ad8d514439d5077d2b0b7ee64d2ce82a9308e5a
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/108.0.1462.46
Embedder: codespaces

Please file against the codespace extension.

We closed this issue because we don't plan to address it in the foreseeable future. If you disagree and feel that this issue is crucial: we are happy to listen and to reconsider.
If you wonder what we are up to, please see our roadmap and issue reporting guidelines.
Thanks for your understanding, and happy coding!


Feature: Include babel-plugin-dev-expression?

I'd like to use FB's warning and invariant modules, and take advantage of having the messages stripped out of production builds. Also, the __DEV__ shorthand is super convenient 🙂
Any chance babel-plugin-dev-expression could be configured? Seems harmless to those who don't use its features, and adds functionality to those of us who would like to. Perhaps I'm missing something?
Anyhow, thanks for all the effort that has gone into this fantastic tool so far!

This should accomplish what you're looking for:
if (process.env.NODE_ENV !== 'production') {
  console.log('foo bar')
}

FWIW this is exactly what FB's modules use when compiled for npm.

Thank you both! Fair point made, and that indeed is what I'm currently doing with a new CRA based app. However, invariant + babel-plugin-dev-expression does offer somewhat unique behavior.
From the readme:
It replaces
invariant(condition, argument, argument);

with
if (!condition) {
  if ("production" !== process.env.NODE_ENV) {
    invariant(false, argument, argument);
  } else {
    invariant(false);
  }
}

It's not so much the keystrokes that bother me (it's a simple snippet), but having to wrap every invariant in a doubly indented conditional structure purely for the sake of a compiler optimization feels a bit messy. Allowing this to be a 100% compile time optimization seems quite ideal! The __DEV__ shorthand is really just a bonus.
I've been using this combo in a non-CRA app for a while and have found it to be pretty slick. I also thought this was a somewhat common practice. If not, I understand it may not be a great fit. I can certainly eject, but thought this plugin was nothing but a win 🙂
@gaearon With React, you're replacing invariant calls with reactProdInvariant, correct? While the error code system that React has is definitely superior, isn't this quite similar?

I agree it's nice, but IMO not nice enough to deviate from existing ecosystem conventions by introducing new global variables. React has a completely custom build system—if your project is complex enough, it might be worth ejecting and configuring your own too.

I see where you're coming from, and ejecting for this is totally reasonable. Thanks for the feedback!


Added back buttons on a couple of detail pages

#736
Changelog:

Added back button to detail pages

 Navigation | Add back buttons to pages |2|


Integrate Android AOSP putting mobile under control

Users of devos, when starting to build their environment, might realize that they have a weak spot: google still tracks them on their smartphone.
I don't really believe Mobile NixOS can be a viable alternative in the short to mid term, but there is robotnix to build custom android images integrating well established third party software of that space into the nix ecosystem.
See announcement: https://discourse.nixos.org/t/robotnix-build-android-aosp-using-nix/6906
/cc @danielfullmer

@danielfullmer could you justify inclusion into devos (to kick start adoption) under the NGI Zero grant? That would be awesome and devos is defenitly the right horse to bet on! I can tell, I'm already all-in on this bet for a while. 😄

Do you mean build android images from this repository, much like building ISOs for the configs?
How does this android relate to this repository and google tracking users on their smartphone?
With Robotnix, does building get around having to accept the Google SDK license? Last year working with flutter and nix, this was a huge problem.

Do you mean build android images from this repository, much like building ISOs for the configs?

Yes, that would have been my first guess, as well.

How does this android relate to this repository and google tracking users on their smartphone?

I think was safe to assume that NixOS users are inclined towards liken full control over their environment, either for value based reasons (privacy, philosophy) or for practical reasons (harness the power of nix-lang, cenfidentiality). If that is true for nix users, then devos perfectly caters those users as it makes a unified environment based on nix-lang a lot, lot easier.
By the way, I don't see any attachment to "NixOS-only" as a particular compelling (hypothetic) value proposition of this repo, so I think any complementary gear that helps control one's environment is well fit. Sure as for the main OS NixOS has a special place in our all hearts. 😄

With Robotnix, does building get around having to accept the Google SDK license?

As I understand it, there is microG or even GrapheneOS or LineageOS to completely eskew google. I have no concrete experience though and only recite from my own interpretation of the grand scheme of things.


Update serverless-lambda-cd-quickstart.md

Typo
IRA -> IRSA
Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://657b218245a325324f8cd60d--harness-developer.netlify.app


Query regarding Performance of ssd_mobilenet in Xavier

Dear naisy,
Thank you for your work. I am currently working in porting ssd mobilenet Object Detection algorithm  in Xavier platform.
The current configuration used in Xavier,
Jetpack    - 4.1
Tensorflow - 1.12.0 with gpu support
TensorRT   - 5.0.3 with cuda 10
I have set up your project in Xavier and I am able to run it successfully. I have made the below observations w.r.t the performance by running a video stream (1280*720) as input. PFA.

Note : During all these experiments, the Xavier is set to Max-N mode.
Can you help me to get a clarity on the following queries,

Is my observation on the performance correct? Is this the expected performance in Xavier ? I have refered the "Current Max Performance of ssd_mobilenet_v1_coco_2018_01_28" table given in the README.md
From the table I understand that in "Xavier with Max-N mode with visualiztion, for input of 1280x720, the FPS should be 48fps". But I have got only 35fps (nms_v2,ssd_mobilenet_v1_coco_2018_01_28).
I am not sure why there is almost 10+fps drop when compared to the expected one. I havent made any changes in the code.

As per my understanding, TRT model is supposed to perform better than the normal TF model. But from my above observation, I see a drop in fps by using TRT (comparison: trt_v1 vs nms_v2)

From the overall understanding, nms_v2 is performing better than nms_v1 and trt_v1. What is the major difference between nms_v1, nms_v2, trt_v1

Appreciate your help.
Regards,
Niran

Hi @Niran89,

About FPS
Please try jetson_clocks.sh.
This is probably the reason why 10FPS is also slow.

MAX-N mode is the setting of the maximum number of cores and clock(Hz) of CPU and GPU.
This setting will keep after rebooting.
jetson_clocks.sh sets the CPU and GPU to the maximum clock.
This setting will not keep after reboot.
The default kernel will boot in low clock mode each time.

About TF-TRT model
Probably because my code is old.
The old TF-TRT was slow due to overhead. The recent TF-TRT seems to be fast.
I would like to see it when I have time.

About nms_v1, nms_v2, trt_v1
ssd_mobilenet_v1_coco_2017_11_17(nms_v1) and ssd_mobilenet_v1_coco_2018_01_28(nms_v2) differ in the non-maximum suppression part. This node targeted by split model.
Similarly, trt_v1 is also a different node.

split model of nms_v1 targets Postprocessor/convert_scores and Postprocessor/ExpandDims_1.
nms_v2 targets Postprocessor/Slice, Postprocessor/ExpandDims_1 and Postprocessor/stack_1.
trt_v1 targets Postprocessor/Slice and Postprocessor/ExpandDims_1.
These models have the same ssd mobilenet v1 part, but non-maximum suppression part is different.
About split model:
https://github.com/naisy/realtime_object_detection/blob/master/About_Split-Model.md

Hi Naisy,
Thank you for the reply and sorry for the delayed response from my side.
FYI, I have already set the clocks in Xavier using "sudo ./jetson_clocks.sh". But even after setting the clock and running the Xavier in Max-N mode, I still see 10 fps drop while running "ssd_mobilenet_v1_coco_2018_01_28"  model with the car image (544x288 resolution) you have used.
From your github, I understand that you have achieved almost 52fps in Xavier with the car image. But I could attain only 40fps.  Can you let me know what I am missing more. Below is the configuration I have used before running the model,
In config.yml:
model_type: 'nms_v2'
model_path: 'models/ssd_mobilenet_v1_coco_2018_01_28/frozen_inference_graph.pb'
force_gpu_compatible: False/True (Tried with both)
visualize: True
width: 544
height: 288
split_model: True
split_shape: 1917
Other configurations are still same as yours. Once these configurations are set, I ran
python run_image.py , after which I observed 39 fps in Xavier.
My current Setup in Xavier,
Jetpack - 4.1
Python - 2.7
Opencv - 3.4.2
Tensorflow - 1.12.0
Appreciate your help.
Thanks & Regards,
Niran

Hi @Niran89,
run_image.py and run_video.py are slower than run_stream.py.
The reason is that the method of frame reading processing is different.
https://github.com/naisy/realtime_object_detection/issues/52#issuecomment-419067660
Can you try with usb webcam?

Hi @naisy ,
Thank you once again...
As suggested,  I ran the algorithm with a stream from a USB camera. But still I could see 10fps drop. The configuration I used is,
Hardware : Xavier
code : run_stream.py
width : 1280
height : 720
visualize : True
force_compatible_gpu : False
Max mode : Max-N mode and clock is also set
From your performance table, for the above configuration, the FPS is supposed to be 48 in Xavier.
But i got only around 39fps. Is there anything I am missing out still..
Note : I tried with multiple objects in the scene. For any number of objects and even with no objects in the scene, the fps is still 39.
Appreciate your help...
Thanks & Regards,
Niran

Hi @Niran89,
Can you show tegrastats?

Hi @naisy ,
PFA for the tegrastats recorded while running the object detection code in Xavier. The configuration is same as above. Also you could see the FPS recorded in the same image.
Thanks & Regards,
Niran

Hi @Niran89,
Looking at the tegrastats results, it seems that both the GPU and the CPU are doing enough work.
But 36.4fps is too slow.
If you are running over the network, it will be slower. For example,
ssh -C -Y ubuntu@xavier_ip_address
Other than that, I don't know why it is so slow, sorry.

Hi @naisy ,
Thank you  for the reply.
I am sure that the code is not run over the network as you mentioned above. I am directly running it as mentioned in your README file.
Anyways thanks for your support so far. Kindly let me know if you get any pointers regarding the performance drop in future. Looking forward.
Thanks & Regards,
Niran


How to get address balance ?

Hi,
How to get balance of specific address ?
Thanks in advance.

Ok, Thanks


Nullable enum to int?

I generated the following mapping :
bendingTypeDetail = new BendingTypeDetail
                    {
                      TypeNumber = args.BendingTypeDetail.TypeNumber,
                      Definition = (int) args.BendingTypeDetail.Definition,
                      Threads = new int?(value: (int) args.BendingTypeDetail.Threads.Value),
                    };

The field Definition is an enum and it has been converted right in an int. But the conversion of the field Threads, which is a nullable enum converted to nullable int, is invalid and will likely generate a null exception.
Should has been Threads = (int?) args.BendingTypeDetail.Threads

You are right. Thanks for reporting this issue, I will try to fix it.

Here is a version with fix: https://ci.appveyor.com/api/buildjobs/r36cais6plavwx9c/artifacts/MappingGenerator%2FMappingGenerator%2FMappingGenerator.Vsix%2Fbin%2FRelease%2FMappingGenerator.vsix
Would you mind to test it and let me know if everything works according to your expectations?

Seems all good 👍


(FACT-2892) Fixes for primary interface on solaris 10

Jenkins please test this on solaris11-64a

You also need to replace the dhcp assignment with:
dhcp = Facter::Util::Resolvers::Networking::Dhcp.get(lifreq.name, @log)
@interfaces[lifreq.name][:dhcp] = dhcp if dhcp && !dhcp.empty?

Jenkins please test this on solaris11-64a


Mobile framework is missing searchContacts method

Describe the bug
mobile framework is missing searchContacts method
Message in the build output
 skipped method Mobile.SearchContacts with unsupported parameter or return types

Darn, I forgot those objects need to be just []byte


Using grid system inside a .well

When using the grid layout inside a .well the grid goes past the .well if the contents of a column exceed it's size.
Here is a Fiddle of the issue: https://jsfiddle.net/crxv61zt/2/
It would be fantastic if grids can be confined within a .well.

X-Ref: #1446

Use a fluid container: https://jsfiddle.net/crxv61zt/4/. Nothing will be changed for this in v3, so closing as a won't fix for now.


tests: Port to pytest and update for Mopidy 1.1 model validation

And there the tests passed on Travis too.


[BUG] attempting NVIDIA filters workaround for shaders causes a ‘channel error’

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.

What problem did you encounter?
When opening the renamed file of rolboxplayerbeta.exe (now eurotrucks2.exe) it asks for UAC. Accepting it gives me an error that Roblox cannot continue and it says that there was an expected channel name. I am uncertain as to if it’s on Roblox’s side or bloxstrap’s side but because the option to change channels had been recently removed, I think it might be in bloxstrap’s side.

Yes. running the .exe directly (even a new shortcut) causes an error, and I think Bloxstrap is involved with this due to the removal to manually choose which channel the client can opt into. The error states the following:
**An error occurred and Roblox cannot continue
Expected channel name when using -channel, use "" for empty value.**


Bump Brew version for EKS-A v0.19.8

Bump Brew version for EKS-A v0.19.8.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm
/woof

/approve


Alternate design approach to the interface (schematic)

Here is an approach based upon the use of analog comparators.  The design places switching thresholds midway between the expected excursions of the two inputs.  The burden on the data bus is approximately 26 µA at 12 V.
For questions and comments, I suggest creating a new issue.

This is tough to write, and I don't know if I can write it in any way which isn't hurtful.
I can't merge this.  It's just too far off the path of what this repo is about, which is taking the existing code and basics of the original ratgdo circuitry and making it possible for someone to build their own.   I assume the design proposed here would work, but I don't know it would work, and this repo should not host anything which might require a code change.
My recommendation is that if you do feel strongly that this is a better design, I recommend taking it to Paul Wieland's repo and discussing it with him there so that his commercially sold PCB becomes more robust.
Once again Rob, I am sorry that I can't merge this request and I don't mean to be disrespectful to your skills.

@Kaldek For what it's worth, I've got this circuit deployed and it works perfectly.  No changes to the code at all.  I've got the stock mqtt-ratgdo firmware loaded from Paul.  Given it's minimal loading on the shared serial bus and thermal tolerances (over the seasons it gets pretty cold and hot in the typical garage) to me it's a robust drop-in design.  I'd consider it a community enhancement to the project.  just my 0.02.

I understand your position, but it does work.  I've built two and both worked at first application of power. You've published the photo of the first one, and I've specifically called it an "alternative." I know it's not for everyone, but having someone design a circuit board might make it more attractive.  The parts minus the board would be less than $5.
Just so you know, I've looked at the ratgdo files and know how the interfaces are presently configured.  The design is a functional equivalent which has been improved.  I've done a reasonable amount of simulation along with an extreme value analysis.  I know it has more operational margin that what folks are presently using, which includes analysis of performance over a broad temperature range.  Each comparator uses hysteresis for additional noise immunity.  Moreover, I know its load is 1/30th the amount as compared to the existing design.
At any rate, I was hoping it would at least see the light of day so it would stimulate discussion.  Ultimately, the decision is yours.  I will, however, close with these words:
"I can also say this repo wasn't set up to clone Paul Wieland's work..."
Respectfully.
R

My opinion on this is that if it works and it doesn't require any changes to code, that it should at least be mentioned in this repository; even perhaps if it did require changes to the code as long as they are explained in detail for ease-of-use.
Ultimately, this repository is focused on giving people an alternative means of attaining the hardware for the Ratgdo in an open-source manner to be used with the open-source software if they cannot or do not want to wait for an original (of some sort since you never know what you're going to get when you place a backorder). It also makes available the opportunity for people to customize the hardware for their particular use case.
Personally, I'm dropping the dry contact side of the board because I don't need it for my yellow-learn-button-GDOs and replacing it with more passthrough terminals to make installation easier for my particular wiring as well as breaking out a couple of the GPIOs and 5V to try adding on an ultrasonic sensor for car presence detection. If the hardware for Ratgdo had been open-source in the first place, there could have already been improvements and specialized designs that opened up the capabilities long before now.
If you need an example of an open-source hardware repository that focuses on the main design but recognizes and encourages forks for different use cases, check out b-parasite. I would just rather that there be a list somewhere to collect all of the workable variations together for easier viewing so that people don't have to hunt through issues and forks.

Alright @Sudo-Rob , it seems you have a few supporters.
If you add a decent markdown file explaining the differences between the basic design and your different approach, I'll merge it.

I need some help.  The attached HTML can be included with the schematic.  Can that work? I can provide some introductory text for context if you need it.
Alternative_design.zip

Here is some introductory text.  At the outset of the project, I had only seen one schematic that I took as a notional example of what needed to be accommodated. I have avoided doing direct comparisons because there could be design considerations I'm not aware of.  I respectfully request that the design stand on its own.

This design is offered as an alternative to others being used.  To the best of my knowledge, it is a drop-in functional replacement.  It's based on the use of analog comparators to establish thresholds for the conversion of garage-door-opener logic levels being presented to the ESP module of choice. As of this writing, two prototypes have been built and are working with ratgdo firmware. Specifications are included in the chart below.

Here's a link explaining what an analog comparator does.  The ratgo interface is a natural fit for the device.
https://en.wikipedia.org/wiki/Comparator
Here's a picture of the prototype configuration stacked with a module:

Here's an updated schematic.  I apologize for this, but I found a transcription error for R2 when reviewing material for this response.  Sincere apologies.

Here's the meat of my response in table form.  It characterizes the interface of the GDO, the requirements for the ESP module interface, and detailed specifications of the interface as implemented.

I've encountered unexpected behavior with a different wall panel.  I'd like to rescind this PR until I understand the behavior and, if necessary, make appropriate changes.  I'll resubmit the PR when I'm more comfortable with the design.

@Sudo-Rob Keep us posted. I started learning PCB layout this weekend so I could try printing your design to test with my LiftMaster. I will pause for now while you investigate.

A revised version of this retracted PR has been posted here:
https://github.com/Kaldek/rat-ratgdo/pull/75

@JonLech:
FYI: PR https://github.com/Kaldek/rat-ratgdo/pull/75 has been merged.
Apologies to distribution for the post.


Error when using --debug with GLS (and likely other executors)

To reproduce:
$ snakemake --google-lifesciences --default-remote-prefix snakemake-testing-data --use-conda --google-lifesciences-region us-central1 --debug
Traceback (most recent call last):
  File "/home/vanessa/snakemake/env/bin/snakemake", line 11, in <module>
    load_entry_point('snakemake', 'console_scripts', 'snakemake')()
  File "/home/vanessa/snakemake/snakemake/__init__.py", line 2384, in main
    log_handler=log_handler,
  File "/home/vanessa/snakemake/snakemake/__init__.py", line 447, in snakemake
    if debug and (cluster_mode or cores > 1):
TypeError: '>' not supported between instances of 'NoneType' and 'int'

I already have a fix and will PR shortly, we basically shouldn't do a comparison with cores if it's been set to None.

Fixed by PR #559.


[Components] Multiple component entry points in an app

[ ] Should we support the idea of having multiple component entry points in an application?

For example. Given pages A and B render different components in each of them and have them be interactive.

[ ] Should this require a fork in the pipeline or work just with normal routing.
[ ] Its not clear how to implement this scenario and what works and what doesn't.

We should decide what we want to work here and define what the experience is.
The current base path based implementation is brittle and full of cave-heats. You need to make the stars align and it's not easy.

[ ] Should the fallback routing overloads play well together?

If I have '/Admin' and '/' as entry points, should paths that start with '/Admin' get routed there and the remainder caught by '/'? I haven't been able to make this work to this day.

@javiercn We think your recent PR (#8911) address these questions. If you think there are remaining issues that should be address, please open specific issues for those topics.

My work makes it a bit easier, but there are things still to consider.

Should the fallback routing overloads play well together?

If I have '/Admin' and '/' as entry points, should paths that start with '/Admin' get routed there and the remainder caught by '/'? I haven't been able to make this work to this day.

This is orthogonal to my changes and I'm not sure if it needs to be addressed. @rynowak will know.


Update to cosmos v0.40-rc5

Description
This PR updates the code in order to fit cosmos v0.40-rc5 changes.
Closes #331.
Checklist

[x] Targeted PR against correct branch.
[x] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Wrote unit tests.
[ ] Wrote integration tests (simulation & CLI).
[ ] Updated the documentation.
[ ] Added an entry to the CHANGELOG.md file.
[ ] Re-reviewed Files changed in the Github PR explorer.

@bragaz Looks like the build is failing :thinking: Can you check that please?

@RiccardoM I was checking but locally I've got none of those problems the CI founds.
../../../go/pkg/mod/github.com/tendermint/tendermint@v0.34.0/privval/signer_listener_endpoint.go:127:14: sl.pingTimer.Reset undefined (type *"time".Ticker has no field or method Reset)


fix: zip file is not closed after unzipping

this issue cased zip file couldn't be deleted once it had been unzipped on Windows.
Though, it worked without problem with this issue unfixed on OS X, I think it just because the OS X 'ignore' this error somehow.

Thanks!


Add placeholder readmes

Fixes #1
Changes proposed in this pull request:

add placeholder readme.md for each data package
remove unused and unpackaged data

Do not merge - just realised the removed data is referenced in https://github.com/frictionlessdata/website/blob/master/content/guides/joining-data-in-python/contents.lr

Suggest adding https://probot.github.io/apps/wip/ to prevent accidental merging of WIP PRs

Ready to merge


Specify settings for a new unit file

Adds a new parameter settings to the
systemd::unit_file type.
::systemd::unit_file{ 'foo.service':
   settings => { 'Description'     => 'the foo service',
                 'ExecStart'       => '/bin/foo',
                 'Wants'           => ['network.target', 'bar.service'],
                 'Type'            => 'oneshot',
                 'EnvironmentFile' => ['-/etc/sysconfig/foo','/etc/sysconfig/myfoo'],
               }
}

Allows a systemd file to be specified with a setting hash
rather than a source file.

To me this looks like a very useful addition, but it seems to be limited to only a handful of settings. Wouldn't it be more practical to have the settings hash look something like this:
settings => {
  'Unit' => {
    'Description'           => 'the foo service',
    'StartLimitBurst'       => '3',
    'StartLimitIntervalSec' => '120',
  },
  'Service' => {
    'Type'            => 'oneshot',
    'ExecStart'       => '/bin/foo',
    'EnvironmentFile' => ['-/etc/sysconfig/foo','/etc/sysconfig/myfoo'],
  },
  'Install' => {
    'WantedBy' => 'multi-user.target',
  },
}

The implementation in the ERB template could basically look like this (without any type validation):
<% @settings.sort.map do |section, params| -%>
[<%= section %>]
<% params.sort.map do |key, val| -%>
<% Array(val).each do |item| -%>
<%= key %>=<%= item %>
<%- end -%>
<%- end -%>

<%- end -%>

This way the user can specify any of the hundreds (thousands?) of possible settings for whichever section supports them. This is also quite future-proof and wouldn't require changes to this module and its templates whenever a new version of systemd is released.

Hi @antaflos
A more structured hash probably is better, I was copying the existing logic in
https://github.com/camptocamp/puppet-systemd/blob/master/manifests/service_limits.pp#L20
which is like this despite the sections in the file.
Even with the new structure I would add validation. With out the validation there is little point
in not just using a raw file type.
I'm happy to change it to

Hey @traylenator, sorry for the slow response here :(
Could you rebase this against master? Systemd adds more options frequently, so we should support a hash. Validation should happen for all needed bits.


Moondream inference slow even after cuda acceleration installed for llama-cpp-python

Partly issue, partly solution. The text_model.py for moondream doesn't seem to take advantage of the gpu. Changing device_map to auto accelerated the inference speed on my 3090 from 20s to .5s
self.model = load_checkpoint_and_dispatch(             self.model,             f"{model_path}/text_model.pt",             device_map="auto",         )

also, thanks for the nodes :)

thanks for the correction, i didnt try moondream node that much, thanks again for excellent feedback 👍


Error when running test

Dear Rex,
I tried to run test.py and a problem showed up:
usage: ipykernel_launcher.py [-h] [-s STEPS] [-o OUTFILE] [-r REPETITIONS]
corridor.yaml
ipykernel_launcher.py: error: unrecognized arguments: -f
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
I think this has to do with the argparse method. Have you seen this issue before and how to solve it?
Thanks

Hi Minh,
You seem to call your file using a -f parameter, but -f is not defined in
your argparse implementation. What is your exact function call?
The following code (I'm assuming you're using the test.py method) shows
four possible parameters: a YAML configuration file, the number of steps
(-s), a file to save measurements (-o) and the number of repetitions (-r).
import argparse
import sys
parser = argparse.ArgumentParser()
parser.add_argument('file', help='YAML-file')
parser.add_argument('-s', '--steps', help='Number of steps', type=int,
default=500)
parser.add_argument('-o', '--outfile', help='File for measurements',
default='measurements')
parser.add_argument('-r', '--repetitions', default=1, type=int)
args = parser.parse_args(sys.argv[1:])
main(args)
I have actually been using a more advanced version of 'main.py' (or
'test.py') to run the simulation. I'll see if I can commit it to github, it
might be useful.
Rex
On Wed, Jul 31, 2019 at 11:38 AM Minh Kieu<EMAIL_ADDRESS>wrote:

Dear Rex,
I tried to run test.py and a problem showed up:
usage: ipykernel_launcher.py [-h] [-s STEPS] [-o OUTFILE] [-r REPETITIONS]
corridor.yaml
ipykernel_launcher.py: error: unrecognized arguments: -f
An exception has occurred, use %tb to see the full traceback.
SystemExit: 2
I think this has to do with the argparse method. Have you seen this issue
before and how to solve it?
Thanks
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/RexValkering/socialforcemodel/issues/2?email_source=notifications&email_token=AAJ6K6KRNJNH4MSEBGL4M3TQCFMSPA5CNFSM4IIEX4C2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HCQRGKA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJ6K6PD7DBD3JGCSA2YMW3QCFMSPANCNFSM4IIEX4CQ
.

Hi Rex,
Thanks for the quick reply. I used your test.py.
I am not quite familiar with the args parser. Would you be able to commit a new main.py ? I am happy to test and give you feedback.
Thank you
Minh

There's a new file called tests/advanced.py which contains the code I've used for running the program and storing simulation data. Example
cd tests
python advanced.py corridor.yaml -m 10 -i 5 -F

The parameters mean:

corridor.yaml: use the corridor.yaml config file
-m 10: spawn ten pedestrians
-i 5: create an image every 5 steps
-F: replace old measurement files if they exist


Reconnecting to instance on same address should preserve member list correctly

Reconnecting to instance on same address should preserve member list correctly.

Reconnection works.


[searching]  :search an element from rotated and sorted array

"explaination"
we have have given a sorted and rotated array and we have to search an element from there
like original array: [1, 3, 5, 15, 17, 20, 21]
and its rotated in such a way: [15 , 17 , 20, 21, 1, 3 , 5]
ex:
we have to find 21
then output will be 3
hey @Rudrakshi , @anubhavitis  i want to add an important question in 'Algo-Tree/Code/c++

Greetings sir/Mam,
I would like to contribute the code for search an element from rotated and sorted array #932 in C++/CPP.
The code is ready. I have added the code , along with proper explanation of the algorithm , test cases , time complexity and space complexity of the same, as per the guidelines.
Kindly assign it to me.
This is regarding GSSOC'21.
Regards,
Hitain Kakkar

Greetings sir/Mam,
I would like to contribute the code for search an element from rotated and sorted array #932 in C++/CPP.
The code is ready. I have added the code , along with proper explanation of the algorithm , test cases , time complexity and space complexity of the same, as per the guidelines.
Kindly assign it to me.
This is regarding GSSOC'21.
Regards,
Hitain Kakkar

ya sure u can contribute


LSTM quantization aware training and fully quanitzation in TfLite

Please make sure that this is a feature request. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:feature_template
System information

TensorFlow version (you are using): 1.12.0, 1.13.1, and tf-nightly

Are you willing to contribute it (Yes/No):
I'm not able to figure it out at this moment...

Describe the feature and the current behavior/state.
Currently, I can convert a LSTM model to .tflite file. But, I have no idea how to do fully quantization on it (meaning quantization-aware training + TfLite fully quantization). For me, post training quantization is not very useful, since I'd like to do 8-bit calculations during inference.
Will this change the current api? How?
Not sure. Maybe api like tf.contrib.quanitze.create_training_graph() or tf.contrib.quanitze.create_eval_graph() needs to be changed?
Who will benefit with this feature?
Devices that need 8-bit calculation can directly benefit from this feature.
Any Other info.
I know there are a few issues related to this problem. But there is a lack of official reply on it. I'm writing to ask if it's still in the recent plan? Thanks in advance.

Same issue here. Any progress/updates on this one?

Very much interested in this feature as well.

Hi @ghost!
Can you check this notebook on operation fusion for converting RNN/LSTM/BILSTM model and let us know.
Thank you!


Behaviour of modified plan features

As far as I understand, when the plan features change, users stay with the "old" features rules? One needs to use $user->subscription('main')->syncPlanFeatures(); to reflect changes in the user's configuration?
This part of syncPlanFeatures() is only mentioned in plan-subscription-model.md - I think it's worth mentioning as well in the plan-subscription-feature-model.md because it's not that obvious.
What if we would need to update feature set for all the users? Will syncPlanFeatures() work on the Collection of subscribers?

Ok, I'll try to improve docs.

What if we would need to update feature set for all the users? Will syncPlanFeatures() work on the Collection of subscribers?

Yes, you'd have to loop every user. I think it's a bit difficult to mass update, since there are some comparisons there. I'm no expert, but if you come with a method to mass update I'd be glad to implement it.

Added d0bcefd0da8ecf86db69a585b173e0b74a4c0b74
If you think it's enough, you may close this issue.


chore: [Map chart widget] Replace fusion charts with Echarts as chart provider

Description
This pr replaces fusion chart lib with echarts in the map chart widget. It also checkins the necessary maps.
PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/31081
Type of change

Chore (housekeeping or task changes that don't impact user perception)

Testing

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Also list any relevant details for your test configuration.
Delete anything that is not relevant

[x] Manual
[ ] JUnit
[ ] Jest
[ ] Cypress

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

Summary by CodeRabbit

New Features

Updated the Widget interface to make link properties optional, enhancing flexibility.
Added a retryPromise function for improved error handling and retry logic in asynchronous operations.
Introduced new mapping data and utilities for the MapChartWidget, enabling detailed country/region information and dynamic map types.

Enhancements

Improved error handling in widget callouts to gracefully handle missing links.
Enhanced the MapChartWidget with new functionalities including dynamic map data loading, chart resizing, and skeleton UI for loading state.

Refactor

Refactored chart configurations and event handling in MapChartWidget for better performance and readability.

/build-deploy-preview skipTests=true

/ok-to-test<EMAIL_ADDRESS>

@sbalaji1192 QQ on the code, did we have JSON files for fusion chart maps as well, if yes, are we deleting them?

@somangshu

right now the hover state is indistinguishable

I can clearly distinguish resting and hover fills on the video. The similarity between hovers of one fill to resting of another is to an extent unavoidable when sticking to single-hue color harmony.
https://colorbrewer2.org could be used to pick solid defaults.

@sbalaji1192
Can we consider removing fusionmaps package from package.json file since it won't be used anymore ?

Few QA callouts that I had addressed during chart widget migration:

Dnd map chart widget.
Deselect the legend item with orange box and notice that the orange part of the map gets unhiglighted.
Resize the widget.
Notice that the map gets highlighted again.
Expected behavior: The map should remain unhighlighted.

Nit: The font size for captions in the on the maps is smaller than the previous one.

Nit:

The legends are getting clipped when the map chart widget widget is less. They don't get clipped in fusion map chart. Chart Widget makes them scrollable. This solution can be considered or anything that replicates fusion map chart behavior.
Antartica shows in yellow color in new version. It as orange in previous version.
The map (World with Antartica) is not getting resized when the widget width is very small. It is getting clipped. Fusion chart versions gets resized at all widths.

Nit:

The gray color for Venezuela in South America map isn't matching previous fusion map chart widget.
The oceania map isn't matching previous verison. The smaller countries are not visible in the map, though their legends are visible.

@somangshu

the onDataPointClick does not let me refer to the selectedDatePoint prop. This was also the case before, but why?
Not Sure why we didn't allow this. Allowed it now.

@rajatagrawal
Regarding the retaining the unselection when user resizes the widget. Its not possible to do this with echarts. We are using the height and width to come with position values for the map. as a result we need to call setOptions when the widget or height changes, so we will loose the unselection.

The oceania map isn't matching previous verison. The smaller countries are not visible in the map, though their legends are visible.

The map used by fusion is not accurate , The one we are using is the actual representation of the oceania.

The legends are getting clipped when the map chart widget widget is less. They don't get clipped in fusion map chart. Chart Widget makes them scrollable. This solution can be considered or anything that replicates fusion map chart behavior.

I discussed this with somangshu, I was not able to find a way to wrap the visual map compoenet a.k.a legends. We decided to leave it for now.

Antartica shows in yellow color in new version. It as orange in previous version.

This is because of the difference in how fusion and echarts handle the color ranges when there is overlapping value. For example consider the following range
[{min: 0, max: 1, color: #f00}, {min: 1, max: 2, color: #0f0}]
as you can see there is an overlap in the range. Now for a region with value 1 fusion paints it in "#0f0" while echarts paints it in "#f00"

@somangshu @rajatagrawal Removed the unused packages.

To address the unselection bug, I had compared previous and current chart options. If they were equal, setOption wasn't called, only resize was called. Relevant snippets are here and here.

Legend can be made scrollable using this property. Reference usage in Chart widget here.

@rajatagrawal

In map chart , we need to call set options to update the position related values. check here
We are using the visual map component to represent the visual range , it doesn't have the scroll option , check here

@jnikhila @harshilp24 can you check the copy?

@somangshu - here's the updated copy. However, I have a QQ - What happens if the charts are not properly rendered? Shouldn't we tell them to do some action?
 The Map Widget now uses the ECharts library to plot charts.  Please verify if your charts are properly rendered with the new library.
In case the space is limited - the shorter version could be:
The Map Widget now uses the ECharts library to plot charts. Please verify chart rendering.

@jnikhila for the action part , shall we append
The Map Chart Widget now uses the ECharts library to plot charts. Please verify chart rendering. Contact support if you there is any issue

@jnikhila for the action part , shall we append The Map Chart Widget now uses the ECharts library to plot charts. Please verify chart rendering. Contact support if you there is any issue
updated:

The Map Chart Widget now uses the ECharts library to plot charts. Please verify chart rendering and contact support if you face any issues.
@sbalaji1192 - Sure, if we want to raise it with Support but the basic idea is that they have to redo it (similar to the Chart widget). Right? In which case, we should link it to the docs.
@harshilp24 - I don't think we have a guide for this. Also, we will have to update the Map Chart docs to reflect this change.

/ok-to-test<EMAIL_ADDRESS>

/ok-to-test<EMAIL_ADDRESS>

/ok-to-test<EMAIL_ADDRESS>


Add Flasgger + helathcheck for all services

Decided to use the more lean framework, flasgger, over flask-restplus which has maintainability issues and seems too robust for us.
There is an option to have the swagger definition in method dcstrings, yaml files, or python dictionaries, will decide on which once we'll document the more heavy methods, but notice how even healthcheck is already pretty long.
By default, each service has a /apidocs endpoint by default showing swagger UI:

Please add flasgger to the NOTICE file


Better shader compilation error reporting

When a shader fails to compile, a whole shader is printed with errors at the end. Ideally we could only print lines around the error and the error message. Maybe attach complete shader after that as well.

While you are at it, may I ask, how you guys usually stop the error log spam when there is an error in shader? I usually pause the execution by hitting F8, but tmaybe there is a better way? Like "report once and stop" kind of method?


AppIcon.appiconset missing the Xcode required Contents.json file

Sketch Version 52.6
Mac OS X 12
Xcode 13

Sketch does not export the contents.json, but it is in the relative path of the existing icons. To export an icon set you first have to export it to the existing folder (which contains a contents.json) and then you can drag/copy this folder into your Assets-Folder.

Exactly. Thanks @thinkmobilede
@scarefree You need to export your content into the current project folder. Let us know if this doesn't work for you. Until then I will close this ticket.
You can find the Contents.json file here https://github.com/jerolimov/app_icon_template/blob/master/ios/AppIcon.appiconset/Contents.json


adds static prop hoisting to withAuthUser HOC

Pull request referencing issue (#224)
Simply adds static prop hoisting on the withAuthUser HOC to allow properties defined on a component to "pass through" to the wrapped component. An npm package is required, called hoist-non-react-statics and is recommended in the React docs here.
Used on a local fork for about a week without any issues. Please let me know if you have any questions.

included the build folder by accident closing this PR


Set up automated unit testing in github actions

Note: This issue should be done after creating some unit tests.
Describe the new feature
Github Actions should automatically run the Jest tests on pushes and pull requests.
Describe alternatives you've considered
Travis CI and other CI tools. Ideally, a free CI should be used.

Merged in https://github.com/GeorgeCiesinski/poke-guesser-bot/pull/105


AWX Dashboard update to use Count Bar designed by UXD

I see in the screenshots that projects shows a sync failure, however hosts and inventories do not have the same legend to indicate to users that they have (zero) failures. We should consistently show legend keys so that there is no confusion as to what these charts are supposed to represent.

I see in the screenshots that projects shows a sync failure, however hosts and inventories do not have the same legend to indicate to users that they have (zero) failures. We should consistently show legend keys so that there is no confusion as to what these charts are supposed to represent.

That is by design. We are only showing the counts of what is there. It makes for a more pleasant dashboard when everything on it is showing green. If we showed 0 failures but still showed the red square in the legend it breaks that up and draws the eye to it when it should not.


remove excess dependency illuminate/support from container

thought from this discussion
and some clean up code

Heya,
Thanks for your PR. You've submitted this on the Illuminate organization which is a read-only sub split of laravel/framework. Please submit your PR on the https://github.com/laravel/framework repository.
Thanks!


fix: bump hazelcast and snake yml dependencies

This PR bumps dependencies for:

Hazelcast (CVE-2022-36437)
SnakeYML (CVE-2022-38749)

Gravitee.io Automatic Deployment
🚀 A prerelease version of this package has been published on Gravitee's private artifactory, you can:

use it directly by updating your project with version: 3.0.0-fix-depedency-bumps-SNAPSHOT
download it from Artifactory here

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

3.0.0
GitHub release

Your semantic-release bot :package::rocket:


draft PR for supporting ircut get/set and genericizing service call

This is working on my hik camera now.
Rather than clone all the existing code for get and put, I've refactored a new method that will make any http call. It can also make a PUT request using XML from a previous GET request and overriding based on keyword args, so very easy to create new PUT calls ( so long as still able to find an ISAPI doc pdf!)
If you like this, don't merge but let me know.  I'll add tests, and refactor the existing get/put to use the new call_service

I'm opening to making a change like this.  My main concern is covering the edge cases though.  There have been quite a few tweaks included here and there to work with different camera behavior and I would want to make sure those are retained.


Crash while AFK

Found NetNewsWire crashed twice today while I was AFK.
Logs.zip

I believe Apple has fixed this bug.