Questions about scipy.odr

scipy.odr: https://docs.scipy.org/doc/scipy/reference/odr.html
I am not sure if this library does an orthogonal distance regression (ODR) or a weighted orthogonal distance regression (WODR), which are not the same thing.
I could read in the literature that the ODR is used when the ratio between the x and y error variances is constant over the range of data, while the WODR is used when this assumption is not valid.
Does this library have an assumption about the error variances or can it be used with any type of errors on x and y?
The output of the linear regression includes the fit parameters and their sd or errors.
The name of the array uses the expression "sd", while the output print uses the expression "std error".
Are the uncertainties on the fit parameters, calculated by this library, standard deviations or standard errors? This is important to know in order to calculate correctly confidence intervals around fit parameters.
Thanks for your help.

Hi @Federico2111, thank you for reporting.
In the description that you linked, we are explaining that this provides an interface to ODRPACK and point to it's documentation, the tile of which being: User’s Reference Guide for ODRPACK Version 2.01 Software for Weighted Orthogonal Distance Regression. Maybe we could bring this information forward a bit more in the documentation. I think the current state is ok too and hence will close the issue. Still, fee free to propose a documentation enhancement 😃

Thanks for you reply.
By reading the documentation it appears that it is a Weighted Orthogonal Distance Regression. However, the issue related to standard deviation and standard error is still open and may have to be addressed.
In the documentation (page ix) I can read: "The covariance matrix and the standard errors of the model parameter estimators are optionally provided."
This seems consistent with the printed output of the library, which returns the estimated parameters "Beta", with "Beta Std Error" and "Beta Covariance".
However, in scipy.odr.Output, it says that the standard deviations, of the estimated parameters, are retuned: https://docs.scipy.org/doc/scipy/reference/generated/scipy.odr.Output.html#scipy.odr.Output

@tupui and @j-bowhay,
Who do you think can help me with this question? Should I ask it publicly?
Mistaking or miscalling standard errors for standard deviations, or vice versa, is frequent and problematic. It has happened in other python libraries, and the authors have clarified or corrected the code.
Thanks

@Federico2111 I see, you would want to change the word "deviation" with "error" correct?
Not my area but you could try opening a PR to propose the adjustment and people familiar with scipy.odr could chime in.

What I am trying to understand is what this library calculates.
The uncertainties around the returned fit parameters are standard errors or standard deviations?
This is my question. It is fine in both cases, as long as it is correctly specified in the description.
Standard errors and standard deviations are scaled by a factor sqrt(N), which is important to know to calculate correct confidence intervals around fit parameters.
Who wrote this code?

I wrote the code. The ODRPACK User's Guide uses "standard deviation" and "standard error" fairly interchangeably but usually "standard deviation". In particular, the SD variable in FORTRAN that fills the Output.sd attribute is documented as "standard deviation", so that's how I documented it on our side.

Thanks Robert. Ok so what I am reading is that all is good from your perspective?

Okay thanks, so you confirm that, even if the documentation often mentions "standard errors" and the output print also mentions "standard errors", the returned uncertainties around fit parameters are actually "standard deviations". My guess was that they were standard errors (SE) because they look a bit small to be standard deviations (SD). But I trust what you say.
A reminder that:
SE = SD/sqrt(N), where N is the sample size
Parametric CI = +- (SE x T-statistic)
Therefore, to calculate the parametric CI around fit parameters, first I have to calculate the standard errors from the standard deviations given by this library.
@rkern do you confirm?
Thanks for your help.

I am now reading the past comment and it seems that "sd_beta is the standard error of the estimated beta. It is the standard deviation of the assumed Gaussian distribution of those beta estimates".
It appears that in this context the term are used interchangeably and coincide?

It appears that in this context the terms are used interchangeably and coincide?

Yes.

Thanks @rkern.
Therefore, I can use the uncertainties returned by this library around fit parameters, as standard errors, which they are.
I think it may be worth specifying this in the library description, because I am not the only one who was confused, based on the past comment you shared. It is common practice to calculate CI's around fit parameters. It is thus important to explain that the outputs of this library are the estimated fit parameters, with their standard errors, which can be directly used to calculate CI's. It may also be worth specifying that, in this case, standard deviations and standard errors coincide, because it is not always the case.
If I understood all correctly.


feat(proxy) implement upstream timeouts

Summary
This implements timeout options between Kong and the upstream services/APIs. It adds 3 new fields to the API definition: upstream_connect_timeout, upstream_send_timeout, and upstream_read_timeout.
Those fields use a ms precision, and this take an integer value between 1 and 2^31 - 1.
When not specified, the default value is 60000 (60 seconds) for all 3 fields.
Full changelog

add new fields to APIs for connect/send/read timeouts
fields are in ms precision, and must be greater than 0

@Tieske Thanks for the review!


Master into 2.0.1

(@gfrn i've added you as reviewer only because it is the first time I make a PR upon a released version)


EMFILE: too many open files

Hey there,
I'm trying to use node-folder-hash as a means of validating whether the $(yarn cache dir) folder gets modified after restoring this cache folder (in CI) and running yarn install, so that I can avoid re-saving the (large) cache folder if it's unchanged.  However, I ran into this error EMFILE: too many open files error.  I was able to reproduce this locally by running hashElement on a folder that contains 200 copies of expressJS

Error: EMFILE: too many open files, scandir 'express-146/node_modules/fast-json-stable-stringify/.github'

From reading the source code, I see that hashElement is pre-configured to use graceful-fs, and graceful-fs apparently deals with EMFILE: too many open files by queueing/retrying readdir calls when EMFILE is encountered.
Could this be an issue with the way node-folder-hash is using graceful-fs?  The only caveat I see in their docs is that the asynchronous APIs must be used to get these benefits, but it seems only the fs.promises module is used so I would think it should be ok.

Thanks for reporting this.
I also could not see any place where graceful-fs is not used.
But I just noticed that it does not patch fs.promise https://github.com/isaacs/node-graceful-fs/issues/160, so it seems like since b2c9fc that might be an issue with my package.
But even if I were to change it back to using error-first-callbacks, or to promisify the fs-graceful code, I'm not sure if the issue with EMFILE could not happen, as I use fs.createReadStream (which is patched by graceful-fs, but does not handle the error).
I will try to get hold of a macbook, and look into fixing this next week.
You don't happen to have an error message that will print a line number? That way it would be easier to guess where the problem occurs.

You don't happen to have an error message that will print a line number? That way it would be easier to guess where the problem occurs.

Ah, sorry about that I should have included the full error message I was getting (there wasn't too much more to it):
node:internal/process/promises:279
            triggerUncaughtException(err, true /* fromPromise */);
            ^

[Error: EMFILE: too many open files, scandir 'express-146/node_modules/filelist/node_modules'] {
  errno: -24,
  code: 'EMFILE',
  syscall: 'scandir',
  path: 'express-146/node_modules/filelist/node_modules'
}

syscall: 'scandir', which I think is coming from when node-folder-hash calls fs.promises.readdir (it seems the scandir syscall comes from this "ReadDir" method in fs)
Your point about createReadStream not handling EMFILE still seems valid though (nice catch), hmm.

Oh, another note: The 3.x versions should not raise the EMFILE error.

This issue was fixed with v4.0.4 and it should no longer be the main reason for anyone to stay on the 3.x versions.

Thanks for all your work!  I appreciate it :)


Qt RPI4  gpioTerminate() Hangs when called

Hi,
When gpioTerminate() is called on a RPI4 using Qt5.15 on app exit, the apps hangs and does not quit.  However, 'ctrl - z' or a kill -9 of the process can quit the app.
Is this expected behavior?
When should  gpioTerminate() be called - if called at all?
Does pigpio work on RPI4.
app is linked against the pigpio library.
Thanks for the help,
Robert

When gpioTerminate() is called on a RPI4 using Qt5.15 on app exit, the apps hangs and does not quit. However, 'ctrl - z' or a kill -9 of the process can quit the app.
Is this expected behavior?

This function resets the used DMA channels, releases memory, and terminates any running threads.  It has no return value.

When should gpioTerminate() be called - if called at all?

After the library is initialized (gpioInitialise()) but before your application exits.

Does pigpio work on RPI4.

Yes
Please note:
If you intend to rely on signals sent to your application, you should turn off the internal signal handling as shown in this example:
int cfg = gpioCfgGetInternals();
cfg |= PI_CFG_NOSIGHANDLER;  // (1<<10)
gpioCfgSetInternals(cfg);
int status = gpioInitialise();

Hi Guy,
Thanks for the quick response.
I am using signals in my app, and I did turn off signal handling in
piqpio.  I can gpioInitialise() okay; however, whenever I call
gpioTerminate() the apps hangs and will not respond to anything but a
"ctrl-z" (becomes a zombie) or "kill -9" which exits the app. "ctrl-c" has
no effect.
Thanks,
Robert
On Wed, Jul 7, 2021 at 11:04 AM Guy McSwain @.***>
wrote:

When gpioTerminate() is called on a RPI4 using Qt5.15 on app exit, the
apps hangs and does not quit. However, 'ctrl - z' or a kill -9 of the
process can quit the app.
Is this expected behavior?
This function resets the used DMA channels, releases memory, and
terminates any running threads. It has no return value.
When should gpioTerminate() be called - if called at all?
After the library is initialized (gpioInitialise()) but before your
application exits.
Does pigpio work on RPI4.
Yes
Please note:
If you intend to rely on signals sent to your application, you should
turn off the internal signal handling as shown in this example:
int cfg = gpioCfgGetInternals();
cfg |= PI_CFG_NOSIGHANDLER;  // (1<<10)gpioCfgSetInternals(cfg);int status = gpioInitialise();
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-875682172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBXGQH4ZSTARLDZYROTTWRUHJANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Hi Guy,
Another follow up note.  As long as I never call gpioInitialise();, my app
exits as expected.
Regards,
Robert
On Wed, Jul 7, 2021 at 11:04 AM Guy McSwain @.***>
wrote:

When gpioTerminate() is called on a RPI4 using Qt5.15 on app exit, the
apps hangs and does not quit. However, 'ctrl - z' or a kill -9 of the
process can quit the app.
Is this expected behavior?
This function resets the used DMA channels, releases memory, and
terminates any running threads. It has no return value.
When should gpioTerminate() be called - if called at all?
After the library is initialized (gpioInitialise()) but before your
application exits.
Does pigpio work on RPI4.
Yes
Please note:
If you intend to rely on signals sent to your application, you should
turn off the internal signal handling as shown in this example:
int cfg = gpioCfgGetInternals();
cfg |= PI_CFG_NOSIGHANDLER;  // (1<<10)gpioCfgSetInternals(cfg);int status = gpioInitialise();
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-875682172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBXGQH4ZSTARLDZYROTTWRUHJANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Hi Guy,
Version is reported as 79.
Regards,
Robert
On Wed, Jul 7, 2021 at 11:04 AM Guy McSwain @.***>
wrote:

When gpioTerminate() is called on a RPI4 using Qt5.15 on app exit, the
apps hangs and does not quit. However, 'ctrl - z' or a kill -9 of the
process can quit the app.
Is this expected behavior?
This function resets the used DMA channels, releases memory, and
terminates any running threads. It has no return value.
When should gpioTerminate() be called - if called at all?
After the library is initialized (gpioInitialise()) but before your
application exits.
Does pigpio work on RPI4.
Yes
Please note:
If you intend to rely on signals sent to your application, you should
turn off the internal signal handling as shown in this example:
int cfg = gpioCfgGetInternals();
cfg |= PI_CFG_NOSIGHANDLER;  // (1<<10)gpioCfgSetInternals(cfg);int status = gpioInitialise();
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-875682172,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBXGQH4ZSTARLDZYROTTWRUHJANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

whenever I call gpioTerminate() the apps hangs and will not respond

How are you calling?

Hi Guy,
I call it at the end of main.  See below.
int main(int argc, char *argv[]) {
qDebug() << "[main] Running in GUI mode";
operationalMode = GUI;
MainWindow w;
w.show();
   int retValue = a.exec();

#if 1
// call on program exit
gpioTerminate();
#endif
return retValue;
I found that anytime I call gpioInitialise() the app will hang and not exit
no matter if gpioTerminate() is called or not.
I found that if I use pigpiod and link against pigpiod_if2, the app exits
without issue.  The problem only happens when I link against pigpio.
Thanks,
Robert
On Wed, Jul 7, 2021 at 6:43 PM Guy McSwain @.***> wrote:

whenever I call gpioTerminate() the apps hangs and will not respond
How are you calling?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-875982048,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBXZWHNQ5D3IFFIRIRLTWTJ7RANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

When you link against pigpio do you have root privilege.

Hi Guy
I'm cross-compiling on a Ubuntu machine using QtCreator and deploying to
the RPi4.  I execute with root privilege locally the RPi4.
Does QtCtreator need root privileges during compile?
I have verified that even though the app hangs at exit, it can still read
and write both spi interfaces on the RPi4 and I can see the data on my
logic analyzer, so as long as the app does not exit, it works as expected.
There is an option in the app for the user to exit back to the OS if
needed..
Thanks,
Robert
On Wed, Jul 7, 2021 at 6:55 PM Guy McSwain @.***> wrote:

When you link against pigpio do you have root privilege.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-875986494,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBWEFPYAF4ENKJ2RIUTTWTLOXANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

I execute with root privilege locally the RPi4.

That's what I was looking for.   Thanks.
I don't understand Qt so the code snippet above doesn't tell me when gpioTerminate gets called - is it a signal?   If it's a SIGTERM maybe pigpio is still consuming it and you code doesn't see it.

Hi Guy,
Thanks again for your help.  it is called at the last point in Qt where it
exits.
While the apps is running, if I sent it a 'ctrl-c' my signal handler picks
it up.  See below:
^C
Caught Signal(2)
Removing PID File
Shutting down ...
But the app never shutdowns.
On Wed, Jul 7, 2021 at 7:11 PM Guy McSwain @.***> wrote:

I execute with root privilege locally the RPi4.
That's what I was looking for. Thanks.
I don't understand Qt so the code snippet above doesn't tell me when
gpioTerminate gets called - is it a signal? If it's a SIGTERM maybe pigpio
is still consuming it and you code doesn't see it.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-875993133,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBWJ7HNOAERJJPHDZODTWTNJFANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Is that the pigpio pid file you’re removing?

Out of curiosity, what exactly does that handler do? When I hear "signal handler", I mostly think "Thou Shalt Now …!" with a long liost of things that are forbidden and a very short list of things that a signal handler may do.

Hi Guy,
No. It is the app's pid.  The app creates a pid file on launch/start.
Other applications can find the pid file, read the pid from the file and
then send signals to the app's pid.
Handy for doing app updates, etc.
Thanks,
Robert
On Wed, Jul 7, 2021 at 9:09 PM Guy McSwain @.***> wrote:

Is that the pigpio pid file you’re removing?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-876038963,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBUO2CJQOBP7KM2J5Z3TWT3C5ANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Hi Felix,
Controls the apps.  Stops the app, and can be used for verify the app is
running.  The pid file only exists while the app is running.
If you look in /var/run on the RPi4, you will find pid files of other apps.
Regards,
Robert
On Wed, Jul 7, 2021 at 9:09 PM Felix Kasza @.***> wrote:

Out of curiosity, what exactly does that handler do? When I hear "signal
handler", I mostly think "Thou Shalt Now …!" with a long liost of things
that are forbidden and a very short list of things that a signal
handler may do.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-876038995,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBQWJQ5QT7ZFMJEXRQDTWT3DJANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Controls the apps. Stops the app, and can be used for verify the app is running.

Thanks. I should have worded my question differently:
You are aware, I presume, that signal handlers must be fully reentrant and can therefore only call functions and APIs that are themselves guaranteed to be reentrant. That applies even if the handler ultimately terminates the process.
Generally, I stick with Michael Kerrisk's advice: block signals, then have what amounts to a mini-server running on its own thread in a corner of the process that uses signalfd() and epoll(). If it is necessary to let the main part of the application know about something, either stuff it into a sig_atomic_t (or std::atomic_t<>) and find a place where you can hook into QT's main event loop.

 If I fire up your application and then do the equivalent of "File > Exit", the a.exec() (w.exec()?) call should return to main, gpioTerminate() gets called, no signals involved at all, yet gpioTerminate still hangs.
Is that correct?
And if yes, are there any pigpio alerts, callbacks, notifications or whatnot still active (have not been explicitly cancelled)?

I’m interested in a response to @felixkasza ‘s last question.
Also, turn on user level debug after gpioInitialize.  Use gpioCfgGetInternals, gpioCfgSetInternals to set bit 2.

Hi Guy and Felix,
I modified the mainwindow to just run gpioCfgSetInternals(cfg) with debug
enabled; gpioInitialise(), and run a simple spi test. When tested, the
system failed to exit.
Good News -> I then disable signal handling in the app and pid file
creation, and the system exited as expected.
I then re-enabled pid file creation, enabled the full application, removed
gpioCfgSetInternals calls, and the system exited under user control as
expected.
So the issue appears to be the way pigpio handles signals.  For this
application, I don't need signal support because I'm using zmq for messages
to the app externally.  Plus with the pid file, I can still kill the app if
needed externally.
Thanks again for the help.
Thanks,
Robert
On Thu, Jul 8, 2021 at 8:48 AM Guy McSwain @.***> wrote:

I’m interested in a response to @felixkasza
https://github.com/felixkasza ‘s last question.
Also, turn on user level debug after gpioInitialize. Use
gpioCfgGetInternals, gpioCfgSetInternals to set bit 2.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-876410568,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBV6O66GYF47BQ7KWOLTWWNCNANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Hi Robert,
I'm glad you got your app working.  For me to continue working this as an issue for pigpio I have some follow up questions and will need more information such as debug logs or a simplified code snippet that demonstrates an issue.

I modified the mainwindow to just run gpioCfgSetInternals(cfg) with debug
enabled; gpioInitialise(), and run a simple spi test. When tested, the
system failed to exit.

Here pigpio has its signal handler disabled.   Does this mean your app didn't call gpioTerminate?   The debug output would be useful.

Good News -> I then disable signal handling in the app and pid file
creation, and the system exited as expected.

So if neither pigpio nor your app is handling the signal how does the app exit?

I then re-enabled pid file creation, enabled the full application, removed
gpioCfgSetInternals calls, and the system exited under user control as
expected.

In this case pigpio is handling signals and will call gpioTerminate on any signal other than SIGUSR1, SIGUSR2, SIGCHLD, SIGWINCH.  A debug trace would reveal if pigpio signal handler caught the exception.
Thanks,
Guy

Hi Guy,
I'll run the tests you requested and get the results to you.  I can also
send you a project to compile and test, but you will need Qt 5.15 libraries
set up on the  RPi.  If needed, I could forward you various Qt library
files needed for the project to set up on the RPi.
I have not tried it yet, but this failure may be reproduced on other
platforms.
Thanks,
Robert
On Thu, Jul 8, 2021 at 8:26 PM Guy McSwain @.***> wrote:

Hi Robert,
I'm glad you got your app working. For me to continue working this as an
issue for pigpio I have some follow up questions and will need more
information such as debug logs or a simplified code snippet that
demonstrates an issue.
I modified the mainwindow to just run gpioCfgSetInternals(cfg) with debug
enabled; gpioInitialise(), and run a simple spi test. When tested, the
system failed to exit.
Here pigpio has its signal handler disabled. Does this mean your app
didn't call gpioTerminate? The debug output would be useful.
Good News -> I then disable signal handling in the app and pid file
creation, and the system exited as expected.
So if neither pigpio nor your app is handling the signal how does the app
exit?
I then re-enabled pid file creation, enabled the full application, removed
gpioCfgSetInternals calls, and the system exited under user control as
expected.
In this case pigpio is handling signals and will call gpioTerminate on
any signal other than SIGUSR1, SIGUSR2, SIGCHLD, SIGWINCH. A debug trace
would reveal if pigpio signal handler caught the exception.
Thanks,
Guy
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-876826238,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBUVBK3FICIB6HD6DZTTWY62ZANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

I'll run the tests you requested and get the results to you

Let's just start with this.  I don't think I'll have the time/patience to learn and compile a Qt project :)

Hi Guy,
Will do.  I understand.
Thanks,
Robert
On Fri, Jul 9, 2021 at 2:45 PM Guy McSwain @.***> wrote:

I'll run the tests you requested and get the results to you
Let's just start with this. I don't think I'll have the time/patience to
learn and compile a Qt project :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-877386167,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBSQGCE72PD5RF5LELTTW47VPANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Hi Guy,
Sorry for the late reply with the data requested. Below are
example application runs with and without app signal handlers enabled.
Command used to turn on debug [is this correct]:
int cfg = gpioCfgGetInternals();
cfg |= PI_CFG_NOSIGHANDLER | (1<<2);  // (1<<10)
gpioCfgSetInternals(cfg);
The Qt App call this function to monitor signals:
catchUnixSignals({SIGQUIT, SIGINT, SIGTERM, SIGHUP});
Example App output with signals enabled [hangs]:
sudo ./temptrax.sh
[07/14/21, 14:35:58.449] Debug: [main] Running in GUI mode
[07/14/21, 14:35:58.497] Debug: [MainWindow::MainWindow] gpio test begin
*** INPUT DMA CONTROL BLOCKS ***
i=0 s=0 d=0 len=0 s=0 nxt=0
i=0 s=0 d=0 len=0 s=0 nxt=0
... [^^^ shortened, over 400K lines printed with the same message]
[07/14/21, 14:37:57.775] Debug: "[MainWindow::MainWindow] gpioVersion
pigpio = 79"
[07/14/21, 14:37:57.776] Debug: "[MainWindow::MainWindow] SPI Handle = 0"
[07/14/21, 14:37:57.777] Debug: 0           0 <- [simple SPI example, not
device connected]
[07/14/21, 14:37:57.780] Debug: 0           0
<--- app does not exit
^C
Caught Signal(2)  <-- app signal handler enabled
Removing PID File
Shutting down ...   <--- Hang
Killed  <-- Kill -9
Example App output no signals enabled [exit normally]:
[07/14/21, 14:35:58.497] Debug: [MainWindow::MainWindow] gpio test begin
*** INPUT DMA CONTROL BLOCKS ***
i=0 s=0 d=0 len=0 s=0 nxt=0
i=0 s=0 d=0 len=0 s=0 nxt=0
... [^^^ shortened, over 400K lines printed with the same message]
[07/14/21, 14:53:46.877] Debug: "[MainWindow::MainWindow] gpioVersion
pigpio = 79"
[07/14/21, 14:53:46.878] Debug: "[MainWindow::MainWindow] SPI Handle = 0"
[07/14/21, 14:53:46.878] Debug: 0           0   <- [simple SPI example, not
device connected]
[07/14/21, 14:53:46.879] Debug: 0           0
<-- exit okay [no signal handlers installed]
Please let me know if there are any questions or if you need any
other information.
Thanks again for all the help.
Thanks,
Robert
On Fri, Jul 9, 2021 at 2:45 PM Guy McSwain @.***> wrote:

I'll run the tests you requested and get the results to you
Let's just start with this. I don't think I'll have the time/patience to
learn and compile a Qt project :)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/joan2937/pigpio/issues/478#issuecomment-877386167,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASQWZBSQGCE72PD5RF5LELTTW47VPANCNFSM475M76ZA
.

--
Robert Shuler, President
Cognitive Thought, Inc.
Office #:<PHONE_NUMBER>
Cell #:<PHONE_NUMBER>

Command used to turn on debug [is this correct]:

int cfg = gpioCfgGetInternals();
cfg |= PI_CFG_NOSIGHANDLER | (1<<2);  // (1<<10)
gpioCfgSetInternals(cfg);

Yes but why did you not set bit 10 when your app is using signals?  I think it should have been set on the first example and off for the second example.

Closing due to insufficient information to determine if an issue exists with pigpio.

Hi, I seem to have a similar issue using pigpio on a raspberry 4 with buildroot aarch64 custom image.
When trying to pinpoint the error, I started with the pigpiod application. My understanding is, that when I start the pigpiod and send it a SIGHUP or SIGTERM signal, it should just exit normally. But it doesn't. pigpiod daemon also seems to freeze at this point. It seems like there is some thread started by pigpio that's just reluctant to let go..

I made a significant change to the library's signal handling a while back but just now merged it into the develop branch.  Can you retest with this branch to see if you observe the same behaviour?

I cloned the dev branch and cross compiled pigpiod.c but the behavior hasn't changed. Thanks for your input though.

After investigating a bit more with the develop branch and my limited gdb skills, it seems like the fifo interface is causing problems. When I start pigpiod with the -f option, I can stop it with a SIGTERM signal.
That means in my program I can use this code to disable the fifo interface and everything works as expected:
gpioCfgInterfaces(PI_DISABLE_FIFO_IF); // call before gpioInitialise()

@wschopohl
Thank you for the feedback on the develop branch.  Can you please open a new issue that describes your specific usage of the library?


chore: release 1.3.1

:robot: I have created a release *beep* *boop*
1.3.1 (2019-08-05)
Bug Fixes

allow calls with no request, add JSON proto (e50e0ef)

This PR was generated with Release Please.

Release is at https://github.com/googleapis/nodejs-kms/releases/tag/v1.3.1

The release build has started, the log can be viewed here. :sunflower:

:egg: You hatched a release! The release build finished successfully! :purple_heart:


Wrapped Buttons

Final buttons were wrapping on iPad ---- FIXED

@jackel3d can you update this PR with changes made in #35? I think you can get away with merging feature/issue-34 into it.


Feature 309: Listen for web3connect disconnect event

This PR:

Implements #309

To test:

Connect gnosis safe rinkeby wallet with walletconnect
Close walletconnect session in the app

walletconnect modal with QRCode should open, you should be able to close/scan it again. If you close it, you should be able to use connect button again to connect with provider of your choice (previously it would require a reload since we didn't do any cleanup)

Travis automatic deployment:
https://pr324--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr324--safereact.review.gnosisdev.com

Closing the session from the app would disconnect in the initerface and show the QR code. However, when scaning the code again, nothing happens.
Tested with both Safe and Metamask.

Travis automatic deployment:
https://pr324--safereact.review.gnosisdev.com

this becomes dependant on https://github.com/WalletConnect/walletconnect-monorepo/pull/208

and now becomes dependant on https://github.com/WalletConnect/walletconnect-monorepo/pull/214

I've pushed the fixed on v1.0.0-beta.42 regarding the PR @mikheevm made on WalletConnect

Travis automatic deployment:
https://pr324--safereact.review.gnosisdev.com

Travis automatic deployment:
https://pr324--safereact.review.gnosisdev.com

Commenting to leave a full description of the issue and the fix:
The issue:

Tested here: https://rinkeby.gnosis-safe.io/welcome
Connected to Safe Multisig using "Multiwallet", using a phone app called "Trust Wallet" via QR code
Accepted the connection, Safe multisig approves the connection and my phone shows the connection as well
Close the connection from my phone
Safe Multising doesnt disconnect (the top right corner still shows connection) and the background becomes blurry, with the QR code still displayed

The fix:

Tested in the latest build given in this github issue: https://pr324--safereact.review.gnosisdev.com
Follow the same steps as before: connection with QR code, accepting the connection with my phone, disconnected from my phone
The result is now Safe Multisig simply disconnecting the wallet. No keeping the connection, no blurry background, no QR code still displaying.

It works fine


Automatic global seeding

Sacred should automatically set the global seed of random upon starting a run.
We could detect if numpy is available and automatically set its global random seed on experiment startup. That would even make experiments reproducible that use numpy for randomness but didn't take any special care themselves.

How is this not dangerous? Maybe I want to control for randomness by setting the seed to a fixed value, e.g. 0, while I vary other hyperparameters only. How will this work with sacred? In contrast, if sacred keeps changing the seed for me, I will not be able to control for it.

Sacred sets the seeds for random and numpy depending deterministically on the (randomly chosen) seed value in the configuration. That way you get a new random seed every time by default, but if you set the seed value e.g. from the commandline the resulting seeds will be fixed and reproducible.
Also note, that this is done only once when starting the experiment, so you are free to overwrite the seeds manually later (though that shouldn't be necessary).

@Qwlouse Excellent. I assume the documentation covers the ways in which one can not only set but also control or override the seed set by sacred. Thanks.


Conflict when listening for both pinch and twofingerpan

Hi there,
first of all fantastic work on the library as its a nice up-to-date variant of a certain popular library.
While I find the implementation of pinch much more accurate than HammerJS provides, I struggle to combine a pinch and twofingerpan listener on the same element. Basically the pan handler is conflicting with the pinch making it impossible to zoom, or vice versa. In HammerJS there was the concept of recognizeWith which would give a PointerListener awareness of the other basically managing their priorities.
Is there something similar available or is my approach a little too naive ? My current code is:
const listener = new Contact.PointerListener( element, {
    supportedGestures: [ Contact.Pinch, Contact.TwoFingerPan ]
});
element.addEventListener( "pinch", event => {
    if ( this.panOrigin ) {
        return; // attempt to not pinch while panning
    }
    if (!this.orgZoomLevel) {
        this.orgZoomLevel = this.zoomLevel; // zoomLevel is a local reactive property (numerical)
    }
    const value = Math.max( MIN_ZOOM, Math.min( MAX_ZOOM, this.orgZoomLevel * event.detail.global.scale ));
    this.zoomLevel = value; // updates reactive property which updates DOM
});
element.addEventListener( "pinchend", () => {
    this.orgZoomLevel = null;
});
element.addEventListener( "twofingerpan", () => {
    if (this.orgZoomLevel) {
        return; // attempt to not pan while zooming
    }
    if ( !this.panOrigin ) {
        this.panOrigin = { ...viewport }; // is bounding box of coordinates (left, top, width, height)
    }
    const { deltaX, deltaY } = event.detail.global;
    this.panViewport( this.panOrigin.left - deltaX, this.panOrigin.top - deltaY ); // updates reactive property which updates DOM
});
element.addEventListener( "twofingerpanend", () => {
    this.panOrigin = null;
});

Attaching either the pinch or twofingerpan listeners separately from each other works fine, when adding them both, twofingerpan becomes dominant.

Thanks for reporting the issue and thank you for providing code.
It should be possible to simultaneously use pinch and twofingerpan with one PointerListener instance. contactjs by default runs all recognizers when a PointerEvent occurs, and the successful recognition of one should not disable another listener.
I am not yet exactly sure yet what happens in your case. I understand it as follows:

you want to use both twofingerpan and pinch with one PointerListener
if a pinch has been detected, pan should become impossible. No twofingerpan during pinch, and vice versa.
if you try to implement the above, you can only use twofingerpan. pinch is always blocked.

I this is the case, I assume that twofingerpan is always recognized first ans then leads to blocking pinch with the return statement in your code.
Important: Should the user be able to to first pinch and then twofingerpan while staying on the surface with both fingers? Or should he have to remove his fingers from the surface if he wants to pinch after panning?

For illustration I created images for two input scenarios.
Scenario 1: Pinch while Twofingerpan

both pinch and twofingerpan events should be fired at the same time.

Scenario 2: Twofingerpan - Pinch - Twofingerpan, fingers never removed

first vector: only twofingerpan should be fired
second vector: only pinch should be fired, this would require a twofingerpanend
third vector : only twofingerpan should be fired. This would require a second twofingerpanstart

Is the described the expected behaviour?

Hi there,
thanks for your swift reply, as for your questions:

A you want to use both twofingerpan and pinch with one PointerListener
B if a pinch has been detected, pan should become impossible. No twofingerpan during pinch, and vice versa.
C if you try to implement the above, you can only use twofingerpan. pinch is always blocked.

A and B are correct. C isn't the case, pinching does work and so does panning. It's just that they don't trigger entirely according to expectation.
 Just for the sake of clarity, I have created a codepen to illustrate the example. I have simplified the code I added above a little. I'm using Vue in the example, but the bulk of the logic is in the created() hook. Vue is basically computing the changes to the offset and zoom to update the style of the image DOM element.
At certain times, the touch listeners behave fine, but at others the issue becomes apparent, for instance when executing what feels like an obvious pinch which then actually triggers a doublepan. At others, the other way around.

I implemented the possibility to block gestures in the latest build for testing, see docs.
However, scenario 2 as illustrated above will not work this way yet. Example:
var pinch = new Pinch(domElement);
var twofingepran = new TwoFingerPan(domElement);

twofingerpan.block(pinch);
pinch.block(twofingerpan);

If you want to perform a pinch after a twofingerpan without removing the fingers from the surface WITHOUT allowing both pinch and twofingerpan at the same tine, twofingerpan has to be invalidated on the fly before a pinch can be recognized. I am still thinking about the best way to implement this case. I made a few tests and got a lot of "twofingerpanstart" and "twofingerpanend" events. Although this reflected the input I did with my fingers, I am not sure yet if this is the best way to do it.
I also played around with your codepen. I can reproduce what you described when moving both fingers in "parallel circles". I could not reproduce a twofingerpan that felt like a pinch except when being on MAX_ZOOM or MIN_ZOOM. When I maxed out the zoom level and do a pinch, the pinch gets intentionally ignored and the picture moves a little according to the pan input I unintentionally make.
Finally, I found out that twofingerpan gets triggered if I only move one finger and keep the other one on the same spot, which I think is not what users are accustomed to. I will restrict twofingerpan to a parallel movement of 2 fingers.

Verified the block()-interface to have resolved the issue!

If you want to perform a pinch after a twofingerpan without removing the fingers from the surface WITHOUT allowing both pinch and twofingerpan at the same tine, twofingerpan has to be invalidated on the fly before a pinch can be recognized

This doesn't sound necessarily like a problem because the fingers used for pinching and two finger panning tend to be different (though I understand when comparing the pointer vectors, this difference shouldn't really exist).
As far as I'm concerned the original issue has been resolved, feel free to close this issue (not sure if you want to treat the issue quoted above in the scope of this issue, or handle it separetely, if at all).

Question about the block functionality.
If I have blocked pinch when a pan is taking place, after the panend, if the user has not removed their fingers from the dom element, will a pinch still be detected immediately afterwards.
When doing a two finger pan, I am getting pinching action taking place at the same time I am assuming due to my two fingers moving a bit when panning across the screen. Ideally I would like one gesture only at a time to simply things otherwise the dom elements are moving erratically.

If I have blocked pinch when a pan is taking place, after the panend, if the user has not removed their fingers from the dom element, will a pinch still be detected immediately afterwards.

This is scenario 2, as illustrated above. The current block interface only affects scenario 1, where two gestures are simultaneously performed (if I recall it correctly).

When doing a two finger pan, I am getting pinching action taking place at the same time I am assuming due to my two fingers moving a bit when panning across the screen.

There is a setting for the Pinch gesture:
Pinch.initialMinMaxParameters["distanceChange"] = [5, null]
Which states, that there is a (initial) 5 pixel tolerance before a pinch is being recognized, resulting in a pinchstart event. There is no maxparameter for pinch, so it is set to null.
This means the following: the user touches the surface with two fingers. Those fingers have an initial distance between each other. When this distance changes more than 5 pixels, this is interpreted as a pinch. After that, pinch becomes active, and all changes in distance will fire the pinch event. If this setting is too sensitive, you can adjust it. This is an advanced setting which might result in strange behaviors, but I should cover this in the documentation.


about single GPU

I met this error, how to deal with it..., thanks a lot.
RuntimeError: CUDA out of memory. Tried to allocate 38.00 MiB (GPU 0; 24.00 GiB total capacity; 18.99 GiB already allocated; 18.86 MiB free; 19.31 GiB reserved in total by PyTorch)
I think the batchsize is too big, or it's the GPU setting in the code. But I didn't find set batchsize.
Can this code only run under multiple GPUs?

We are training on 8 x V100 (32GB), the training command is:
./tools/dist_train.sh ${CONFIG_FILE} ${GPU_NUM}
# For example, train a SETR-PUP on Cityscapes dataset with 8 GPUs
./tools/dist_train.sh configs/SETR/SETR_PUP_768x768_40k_cityscapes_bs_8.py 8

Your error should be caused by insufficient GPU memory. You can try to modify the batch size by modifying data = dict(samples_per_gpu=1) in the config file.


feat(playground): compress source code to generate shorter shareable URLs

What is it?

[x] Feature / enhancement
[ ] Bug
[ ] Docs / tests

Description
A previous attempt was made to compress source code files prior to generate the final base64-encoded string for the shareable URL, but it was failing.
The trick needed here to make it work is specifying true as the second argument to strFromU8 and strToU8 functions (relevant section of the fflate docs) to enable encoding to a binary string.
To not break existing playground URLs, when parsing the URL, an error while attempting to decompress the string is captured and the previous approach of simply decoding it is used.
Use cases and why
Here are some comparisons of URL lengths (for the files query param):
Example 1 (larger file)

Not compressed: 7552 characters
Compressed: 2664 characters

(64.7% of reduction)
Example 2 (default code)

Not compressed: 1512 characters
Compressed: 428 characters

(71.7% of reduction)
Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

Would we be able to make it so the ?files= querystring param uses the old way, and maybe the better compressed way uses ?f=? Just want to make sure existing links still work.
Looking great, thanks!

Would we be able to make it so the ?files= querystring param uses the old way, and maybe the better compressed way uses ?f=? Just want to make sure existing links still work.
Looking great, thanks!

Makes sense! I'll implement it. We'll also saves some characters when sharing 😅

Great work @voluntadpear!

@adamdbradley I've updated the PR to keep supporting the files key but now generate new URLs with an f key instead.

How about keeping a versioned registry of the default settings/files, so that you can just pass v=17 and it would use the defaults from that version, and the f parameter would override the defaults.

How about keeping a versioned registry of the default settings/files, so that you can just pass v=17 and it would use the defaults from that version, and the f parameter would override the defaults.

I think it's a good idea. I'll work on that in a separate PR and we can discuss details there. 👍

I'd love to see this merged!

Any news if there's anything left for this to be merged @adamdbradley? 🙂

@adamdbradley Will it be possible to merge this to close the issue 👀? Thanks Adam 😊

@voluntadpear I cherry picked your commits and added a dictionary etc in #4839

#4839 got merged, so basically this PR also got merged @voluntadpear :) It can be closed now

Sorry, wasn't aware of this PR
Thanks a lot @voluntadpear for this contribution!
We recently merged #4839 so the change is included
Thanks again to both of you!


Support podAntiAffinity spec

Problem
Hello! We use Knative Serving and KServe extensively. Recently, we're starting to move our workloads to nodes backed by preemptible VMs and would like to be able to configure podAntiAffinity as a safety measure, to minimize the impact from preemption.
Persona:
Developer, Operator, Motivated User
Exit Criteria
Knative Services can be defined with podAntiAffinity deployment specs:
    spec:
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - web-store
            topologyKey: "kubernetes.io/hostname"

Time Estimate (optional):
How many developer-days do you think this may take to resolve?
With https://github.com/knative/operator/pull/747 as reference, perhaps no more than 1 day.
Additional context (optional)
I'm happy to contribute to this feature with a PR. Any initial pointers would be appreciated.

@krithika369 Please be advised that podAntiAffinity has already been supported by the serving and eventing CRDs.
Serving CRD:
https://github.com/knative/operator/blob/main/config/crd/bases/operator.knative.dev_knativeservings.yaml#L933
https://github.com/knative/operator/blob/main/config/crd/bases/operator.knative.dev_knativeservings.yaml#L1947
Eventing CRD:
https://github.com/knative/operator/blob/main/config/crd/bases/operator.knative.dev_knativeeventings.yaml#L922
https://github.com/knative/operator/blob/main/config/crd/bases/operator.knative.dev_knativeeventings.yaml#L1936
You can directly give it a try to see if the manifest for podAntiAffinity works.


[CT-1412] Fix hanging tests in dbt-bigquery during testing

Is this a new bug in dbt-bigquery?

[X] I believe this is a new bug in dbt-bigquery
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
during testing some tests that have a change to either schema or database name change are not having those datasets/tables fully torn down at end of test, slowly filling out the testing projects in bigquery leading to nuisance failures.
Expected Behavior
all tests should have temp generated datasets or tables fully torn down leaving a clean testing smaller footprint in the testing project
A change to the dbt-bigquery version of drop_schema should be able to fix this issue.
Steps To Reproduce
Run these tests locally below check database, or check for nightly ci/cd runs
Tests that cause this error often are:

The defer_state integration test we leave behind defer_state_other because the recognized relation used during drop_schema is dbt-test-env.test16656003516500320071_defer_state where as the relation name in results from results = self.run_dbt(['run', '-m', 'view_model', '--state', 'state', '--defer', '--target', 'otherschema'])  is 'dbt-test-env.test16656003516500320071_defer_state_other.view_model' .
During the override_database functional test for classes like TestProjectModelOverrideBigQuery we change the database part of schema for several models this would differ from what drop_schema would go to drop.
Docs_generate changes schema on second_model from test16666427620405249475_test_basic` to test16666427620405249475_test_basic_test`` by changing schema name in the model config which means when we trigger drop_schema it isn't looking for the correct schema

Relevant log output
No response
Environment
- OS:
- Python:
- dbt-core:
- dbt-bigquery:

Additional Context
No response

This drop_schema notion may of been a red herring going to dig deeper into integration tests for defer_state and docs_generate on 1.1 and 1.0 respectively as the functional test would be looking for test_basic but the remaining tests here are  ex. docs_generate_test.


Install using zinit

Zinit is extremely nice system to manage zsh plugins and binaries and it is cross-platform.
E.g you can install tools using following commands
## vim
zinit ice as"program" atclone"rm -f src/auto/config.cache; ./configure" \
    atpull"%atclone" make pick"src/vim"
zinit light vim/vim

## ripgrep
zinit ice from"gh-r" as"command" mv"ripgrep* -> rg" pick"rg/rg"
zinit light BurntSushi/ripgrep

But I have difficulties installing hstr. I've tried it this way
zinit ice from"gh-r" as"command" bpick"*tgz" atinit"cd hstr; ./configure && make" pick"hstr/hstr"
zinit light dvorka/hstr

output of make:
hstr_history.c:160:52: error: no member named 'size' in 'HISTORY_STATE'
        unsigned radixMaxKeyEstimate=historyState->size*1000;
                                     ~~~~~~~~~~~~  ^
hstr_history.c:166:34: error: implicit declaration of function 'history_list' is invalid in C99
      [-Werror,-Wimplicit-function-declaration]
        HIST_ENTRY **historyList=history_list();

So my question is next - is there a cross-platform way of building hstr? Can binaries of hstr be prebuilt for the most used operating systems and architectures for future releases (e.g. by using github actions)?

@sev3ryn thank you for  :beetle: report. HSTR is pretty portable https://github.com/dvorka/hstr#installation, however, this is clearly a problem that could be solved. Can you please share your OS/distro/zsh version?


Removed parameter table links

Description of changes: Removed parameter table links
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/do-doc-build

/do-doc-build

/do-doc-build


Allow for files to be incrementally updated

The LSP defines some incremental update types for working with text documents:

TextEdit
TextEdit[]
TextDocumentEdit

These are used in the WorkspaceEdit type. It would be nice to provide analogues to these operations in our Files type.

One additional concern here is how to translate between BytePos -> LineCol coordinates in the presence of edits. In rust-analyzer, we hit this in the following case:

our internal coordiantes are byte offsets
the result of the refactoring is a set of edits (in byte-offset coordinates) and a final position of a curosr (byte offset in a file with changes)
on the LSP layer, we need to translate this to (line, col) coordinates. Doing this for cursor offset is tricky.

This PR implements that logic: https://github.com/rust-analyzer/rust-analyzer/pull/325
Additional random tidbit:
I was surprised that IntelliJ uses sorted array of offsets and not some fancy tree data structure, a-la xi-rope's monoid tree, to translate offsets: https://github.com/JetBrains/intellij-community/blob/513e5d6cdaa66c93e130393045bcc038537454d3/platform/core-impl/src/com/intellij/openapi/editor/impl/LineSet.java
In particular, they just update the array on changes: https://github.com/JetBrains/intellij-community/blob/513e5d6cdaa66c93e130393045bcc038537454d3/platform/core-impl/src/com/intellij/openapi/editor/impl/LineSet.java#L70-L94
IIUC, for things like grapheme clusters IntelliJ doesn't use indices at all, and instead does a linear scan withing a single line.

Thanks for the added information, that's really helpful!

Gonna close this because now user's can implement their own file databases using the Files trait.


akash events not working

I see a lease-created event, but nothing else.

works in local environment via run examples. will check via rpc nodes
{
  "context": {
    "module": "provider",
    "action": "provider-created"
  },
  "owner": "akash162a6sp5l2hnujr7729wgq07eg0zytudrjw82nk"
}
{
  "context": {
    "module": "deployment",
    "action": "deployment-created"
  },
  "id": {
    "owner": "akash15dkzm7dqgym3s0d3tujux9p2vl049790jhvzj5",
    "dseq": 1
  },
  "version": "t8hofdHeuUBEDLBR0rbv4afsV/gtT61tn+wW3mi2oSY="
}
{
  "context": {
    "module": "market",
    "action": "order-created"
  },
  "id": {
    "owner": "akash15dkzm7dqgym3s0d3tujux9p2vl049790jhvzj5",
    "dseq": 1,
    "gseq": 1,
    "oseq": 1
  }
}
{
  "context": {
    "module": "market",
    "action": "bid-created"
  },
  "id": {
    "owner": "akash15dkzm7dqgym3s0d3tujux9p2vl049790jhvzj5",
    "dseq": 1,
    "gseq": 1,
    "oseq": 1,
    "provider": "akash162a6sp5l2hnujr7729wgq07eg0zytudrjw82nk"
  },
  "price": {
    "denom": "uakt",
    "amount": "905"
  }
}

This was a networking issue


Using other format for rendering

Hello,
I tried somethings wich doesn't work and makes me crazy :-)
In the initializers/devise.rb, I added a new format for iPad (because I have a template especially for iPad) :
config.navigational_formats = [:"/", "/", :html, :ipad]
in my application_controller.rb, I detect if its an ipad and add the format:
before_filter :adjust_format_for_ipad
private
def adjust_format_for_ipad
request.format = :ipad if ipad_user_agent?
end
I created a view in devise/sessions/new.ipad.erb with the login form
When I try to access to the url /my, it redirects me to /users/sign_in, the form is correctly rendered (good !) .
However after posting my credential, I get this message:
Missing template devise/sessions/create with {:locale=>[:en, :en], :formats=>[:ipad], :handlers=>[:rjs, :rhtml, :erb, :rxml, :builder]}
As I learned, it shouldn't have any template for the action 'create'.
If I try to access to /my after the authentication, I get the right authenticated page.
Did I something wrong?
Thank you for your help

HI, im using rails3.1
gem 'mobylette'
gem 'jquery_mobile_rails'
and added these configuration in initializers
in new .rb file in initializers
ActionController::Responder.class_eval do
alias :to_mobile :to_html
end
And
config.navigational_formats = ["*/*", :html, :mobile]

but not getting mobile views still error
ActionView::MissingTemplate (Missing template users/sessions/new, devise/sessions/new, devise/new, application/new with {:handlers=>[:erb, :builder, :coffee], :formats=>[:mobile], :locale=>[:en, :en]}. Searched in:

"/home/athansh/KETANAPP/DealsWithWeel/app/views"
"/home/athansh/.rvm/gems/ruby-1.9.2-p0@messanger/bundler/gems/devise-fff75b19040a/app/views"
):

and other templates for which i created .mobile.erb  working fine
what should i check

Done Actually  I didn't created mobile views for devise templates !!!:)


version `CXXABI_1.3.9' not found

Describe your system

odbc Package Version:2.4.8
Node.js Version:14.21.3
GCC Version:4.8.5
Node.js OS:centos 7.6

Describe the bug
Hi, I just install node14.21.3 then npm install odbc, and got<EMAIL_ADDRESS>successfully. then i run the connection example and got error:
internal/modules/cjs/loader.js:1173
return process.dlopen(module, path.toNamespacedPath(filename));
^
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /usr/local/lib/node/nodejs/lib/node_modules/odbc/lib/bindings/napi-v6/odbc.node)
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1173:18)
at Module.load (internal/modules/cjs/loader.js:979:32)
at Function.Module._load (internal/modules/cjs/loader.js:819:12)
at Module.require (internal/modules/cjs/loader.js:1003:19)
at require (internal/modules/cjs/helpers.js:107:18)
at Object. (/usr/local/lib/node/nodejs/lib/node_modules/odbc/lib/odbc.js:6:20)
at Module._compile (internal/modules/cjs/loader.js:1114:14)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
at Module.load (internal/modules/cjs/loader.js:979:32)
at Function.Module._load (internal/modules/cjs/loader.js:819:12) {
code: 'ERR_DLOPEN_FAILED'
}
It seems my GCC version is not high enough, but i wonder why i can install successfully with my gcc environment? what can i do to use node-odbc besides upgrade gcc?(upgrade gcc may effect other running applications)
Looking forward to your reply.

You'll likely need to rebuild from source since your Linux distribution is older than the one the prebuilt binaries get built on.


⚠ Bofrost.at has degraded performance

In d526202, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1175 ms

Resolved: Bofrost.at performance has improved in 475f6a1.


[Ansible/nginx-ssl] Allow using external TLS certificates

Is this a request for help?:

Is this a BUG REPORT or FEATURE REQUEST? (choose one):
FEATURE REQUEST

Which installer:
Ansible / nginx-ssl
Which product and version (eg: ansible & collection version - 7.24.2):
n/a
Which operating system and version(eg: ubuntu & version - 20.4):
Generally (in my case Ubuntu 18.04)
What happened:
Current role for Nginx requires passing in variables containing:

the TLS certificate value for the instance
the certificate key value

This is fine if you have a self-signed (or externally signed) certificate purchased specifically for your Artifactory instance, but it doesn't work with e.g. LetsEncrypt or ZeroSSL certificates which are being renewed every 3 months asynchronously  (see e.g. https://certbot.eff.org/)
What you expected to happen:
It would be very beneficial for LetsEncrypt and similar PKI deployments to let people decide - and pass in just the certificate (and key) paths (and have those managed externally with e.g. certbot).
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:

@weakcamel  Are you referring that we support  TLS certificate  path rather than values so that even if certificate changes , install flow doesn't break ?

@chukka Yes, pretty much.
Currently the role assumes it has full control over a TLS certificate, but that may not be true if certificate is being managed by e.g. certbot or https://github.com/zerossl/zerossl-bot (Letsencrypt, Zerossl).
In that case certificate is being refreshed automatically on the host upon expiration date (typically 3 months) and that means running current Artifactory role would normally overwrite the certificate with an expired one.

@weakcamel we have added an internal tracking ticket for this.

Would overriding these templates help?
artifactory_conf_template: templates/custom/artifactory.conf.j2
nginx_conf_template: templates/custom/nginx.conf.j2

Closed via https://github.com/jfrog/JFrog-Cloud-Installers/pull/292


Unable to stop audio playing with .stop()

I wan to write a program that play an audio when loaded and stop when a button is press, but the .stop() seem like not working
I have look at other issues and problem but nothing work
here is my code:
import 'package:flutter/material.dart';
import 'package:audioplayers/audio_cache.dart';
import 'login.dart';
void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: ButtonPage(),
    );
  }
}
class ButtonPage extends StatefulWidget {
  @override
  _ButtonPageState createState() => _ButtonPageState();
}

class _ButtonPageState extends State<ButtonPage> {
  AudioCache player = AudioCache();
  AudioPlayer alarm;

  void _playFile() async{
    alarm = await player.loop('alarm.mp3'); // assign player here
  }
  void _stopFile(){
    alarm.stop(); // assign player here
  }
  @override
  Widget build(BuildContext context) {
    _playFile();
    return Scaffold(
      body: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              ButtonTheme(
                minWidth: 325.0,
                height: 100.0,
                child: RaisedButton(
                  onPressed: () {},
                  child: Text("Call the emergency line"),
                  ),
                ),
              SizedBox(
                height: 20.0,
              ),
              ButtonTheme(
                minWidth: 325.0,
                height: 100.0,
                child: RaisedButton(
                  onPressed: () {},
                  child: Text("Fainted"),
                  ),
                ),
              SizedBox(
                height: 20.0,
              ),
              ButtonTheme(
                minWidth: 325.0,
                height: 100.0,
                child: RaisedButton(
                  onPressed: () {},
                  child: Text("Epilepsy"),
                  ),
                ),
              SizedBox(
                height: 20.0,
              ),
              ButtonTheme(
                minWidth: 325.0,
                height: 100.0,
                child: RaisedButton(
                  onPressed: () {},
                  child: Text("Suffocate"),
                  ),
                ),
              SizedBox(
                height: 20.0,
              ),
              ButtonTheme(
                minWidth: 325.0,
                height: 100.0,
                child: RaisedButton(
                  onPressed: () {},
                  child: Text("AED machine map"),
                  ),
                ),
              SizedBox(
                height: 20.0,
              ),
              ButtonTheme(
                minWidth: 325.0,
                height: 100.0,
                child: RaisedButton(
                  onPressed: () {
                      _stopFile();
                    },
                  child: Text("Back"),
                  ),
              )
            ] ),
      ),
    );
  }
}```

What do you mean not working? What happens and what did you expect? Were there errors? What platforms? Please follow the issue template to create issues.

@kheeong  you should better first find out the state of your 'radio' if it is playing or not than you easy send the stop command.
eg:
`void _initAudioPlayer() {
var audioPlayerBloc = Provider.of(context, listen: false);
 if (audioPlayerBloc.getPlayerState() == RadioPlayerState.STOPPED) {
   _audioPlayer = new AudioPlayer();
 } else {
   _audioPlayer =
       Provider.of<PlayerProvider>(context, listen: false).getAudioPlayer();
 }

}`

@kheeong  you should better first find out the state of your 'radio' if it is playing or not than you easy send the stop command.
eg:
`void _initAudioPlayer() {
var audioPlayerBloc = Provider.of(context, listen: false);
 if (audioPlayerBloc.getPlayerState() == RadioPlayerState.STOPPED) {
   _audioPlayer = new AudioPlayer();
 } else {
   _audioPlayer =
       Provider.of<PlayerProvider>(context, listen: false).getAudioPlayer();
 }

}`

Closing this because of lack of updates from the author

Closing this because of lack of updates from the author


New scenario for user invitation and fixes to failing preview tests

Looks good once the I select the second listing on the page is removed.
:+1:

I have removed the redundant code and pushed the changes


Bump MeiliSearch to 1.4, improve ranking and fix audioOnly field

See commits. Probably best to review commit by commit.
Fixes #545
Fixes #606

Tested this locally and everything appears to be working (well, mainly the audio-only thing but there isn't anything breaking with the other changes, as far as I can tell)👍


Add validation and test for decorators

fix https://github.com/Azure/cadl-azure/issues/827

Update the decorators to use a shared target type validation.
Add tests to make sure diagnostics are reported for invalid target and params.

One thing I was thinking could be having the name of the decorator in the DecoratorContext and the validate function take a DecoratorContext instead of the program so you don't have to keep passing the name.


Change the URL for MetaGraphs.jl from "https://github.com/JuliaGraphs/MetaGraphs.jl.git" to "https://github.com/sbromberger/MetaGraphs.jl"

cc: @StefanKarpinski

See also: https://github.com/JuliaRegistries/General/pull/46876


nixpkgs-check-by-name test that fails multiple validity checks

Description of changes
Added a test to nixpkgs-check-by-name that fails multiple validity checks, the list of tests failed are in the expected file.
Attempt to address #274345

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[X] 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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.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

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Ah one thing, check out the commit conventions, in particular:

Only use a single commit for this change
Use tests.nixpkgs-check-by-name: ... as the prefix of the commit, this will also automatically trigger CI to build it

@keanuk Gentle ping, can you follow up on this? :)

@keanuk Gentle ping, can you follow up on this? :)

I'm so sorry for the delay, I think it's correct now but let me know if there's still any problems

I pushed a change myself in order to align with the changes from https://github.com/NixOS/nixpkgs/commit/aa7dd0b5964f4b8b8f3bd542d2883296b249d68b.
However, now CI is failing due to the new check that makes sure all Nix files can be parsed, merged just yesterday in https://github.com/NixOS/nixpkgs/pull/279892 :sweat_smile:
We could just ignore that, because the check only checks for files changed in a PR, so it wouldn't break master. Notably there's already another test case that has an invalid Nix file.
I guess we could consider removing the check for invalid Nix files entirely, since that's already covered by the new CI check. I'll follow up on this myself!


[Run] IOException: The process cannot access the file ... QueryHistory.json

Microsoft PowerToys version
<IP_ADDRESS>
Installation method
PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
General, Settings
Steps to reproduce
Restarting as Administrator
✔ Expected Behavior
To see PowerToys settings showing running as admin
❌ Actual Behavior
OS Version: Microsoft Windows NT 10.0.19045.0
IntPtr Length: 8
x64: True
Date: 24/03/2024 13:24:36
Exception:
System.IO.IOException: The process cannot access the file 'C:\Users\derek\AppData\Local\Microsoft\PowerToys\PowerToys Run\Settings\QueryHistory.json' because it is being used by another process.
   at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
   at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable`1 unixCreateMode)
   at System.IO.StreamReader.ValidateArgsAndOpenPath(String path, Encoding encoding, Int32 bufferSize)
   at System.IO.File.ReadAllText(String path, Encoding encoding)
   at System.IO.Abstractions.FileWrapper.ReadAllText(String path)
   at Wox.Infrastructure.Storage.JsonStorage`1.Load()
   at PowerLauncher.ViewModel.MainViewModel..ctor(PowerToysRunSettings settings, CancellationToken nativeThreadCancelToken)
   at PowerLauncher.App.<>c__DisplayClass19_0.<OnStartup>b__0()
   at Wox.Infrastructure.Stopwatch.Normal(String message, Action action)
   at PowerLauncher.App.OnStartup(Object sender, StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)

Other Software
2024-03-24.txt

Saving issue has been fixed, but it still seems to affect reading.
https://github.com/microsoft/PowerToys/blob/a1aa4351325264ae228d893a396611b3e37dc013/src/modules/launcher/Wox.Infrastructure/Storage/JsonStorage`1.cs#L60-L82


Service account permissions - table is broken

The table under the heading 'Windows Privileges and Rights' is broken for SQL Agent and after
https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-windows-service-accounts-and-permissions?view=sql-server-ver15#Windows

Removing the white space fixes it (preview in code):

@jpomfret : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@jpomfret : Thanks for your contribution! The author(s) have been notified to review your proposed change.

The formatting fix looks good; verified the issue on the live site and the fix in GitHub preview. Thanks @jpomfret.

The formatting fix looks good; verified the issue on the live site and the fix in GitHub preview. Thanks @jpomfret.


fix incorrect words

fix incorrect words

I don't think the ChangeLog is not generally updated to fix mistakes. Other maintainers are welcome to reopen and merge though if that is not the case.


Updating SDK to use Branch Key.

@aaustin @Sarkar
Updating SDK with Branch Key.
App Key will continue to work for the time being.
Updating BranchRequest to always send key.

I'll try to fix the formatting. Not sure why this was started using tabs :disappointed:

Ok, formatting is fixed. This is ready to go w/ review.

Did Sahil give this his blessing?

Can you update the Readme with instructions on using the Branch key instead of the app id?

code wise yes, haven't tested it locally but i don't assume anything is
wrong with it
On Wed, May 20, 2015 at 3:18 PM, Alex Austin<EMAIL_ADDRESS>wrote:

Did Sahil give this his blessing?
—
Reply to this email directly or view it on GitHub
https://github.com/BranchMetrics/Branch-Xamarin-SDK/pull/4#issuecomment-104059517
.

--
Sahil Verma
*Branch Metrics *
w branch.io https://branch.io/?bmp=sv | c<PHONE_NUMBER> | s sahilroyverma
Find the Branch team at these upcoming events:
May 21 - Mobile Growth Hackers
http://www.meetup.com/Seattle-Mobile-Growth-Hackers-Meetup/events/222295507/
Seattle
May 27 - Mobile Growth Hackers
http://www.meetup.com/Bay-Area-Mobile-Growth-Hackers/events/222559906/ -
San Francisco
June 11 - GMIC http://nyc.thegmic.com/ - New York City

I was finally able to get this working on an Android device. Works fine, so I'm gonna go ahead and merge.


Regenerate graphql-schema and update shippingRule adapter

📲 What
Regenerate graphql-schema and update the shipping rule adaptor since a recent change broke our tests (only when run on the main branch).
Note: I'm not that comfortable with graphQL changes yet so I wasn't sure if the change itself could cause problems for us in prod. I did check on our shipping rule in prod and in staging and I didn't see any errors. It looks like the change is backwards compatible in the app.
👀 See
circleCI error
✅ Acceptance criteria

[ ] Tests pass

          1 Warning

:warning:
Big PR

SwiftFormat found issues:

File
Rules

KsApi/models/graphql/adapters/ShippingRule+ShippingRuleFragment.swift:10:1
warning: (trailingSpace) Remove trailing space at end of a line.

  Generated by :no_entry_sign: Danger


Annotation compliance with IIIF Presentation API and JSON-LD

Short version
Annotation document generated with Mirador does not comply with JSON-LD and IIIF Presentation API 2.0, this may affect annotation endpoint implementations as well. I suggest following the standard but it may be painful in terms of changes it might entail.
Long version
IIIF Presentation API uses JSON-LD as data format. JSON-LD is the way to represent RDF data structures. To simplify interoperation with non-RDF-aware sources, IIIF Presentation API uses 'framed' JSON-LD documents, consumer or producer of those documents does not need to know about RDF data triples. In JSON-LD documents there is a @context which specifies translation of JSON fields to RDF Linked Data entities.
When Mirador produces JSON-LD for annotations, it creates incorrect JSON-LD documents, those documents do not correspond to specified @context.
Specifically, the error is in specifying original canvas annotation refers to. Mirador uses 'source' field for that. There's no 'source' field mentioned in IIIF Presentation @context, but there is 'full' field witch is mapped onto “oa:hasSource” property.
I mentioned in #748 that this affects ongoing annotation work, but this problem persisted for a long time. Unfortunately, this also affects annotation endpoint. Like, for SimpleASEndpoint there's a code:
https://github.com/glenrobson/SimpleAnnotationServer/blob/master/src/main/java/uk/org/llgc/annotation/store/AnnotationUtils.java, lines 97-101
// Fix Mirador bug (rename source to full):
Map<String, Object> tOn = (Map<String, Object>)tRoot.get("on");
Object tSource = tOn.get("source");
tOn.remove("source");
tOn.put("full", tSource);

That also affects Catch endpoint, as far as I understand.
In ResearchSpace we store data as RDF triples natively, so compliance with JSON-LD specification is important for us.
I understand that changing this to comply with the standard may cause incompatibility between Mirador and annotation endpoints, and, in the worst case, this goes down to data storage as well.
However, I encourage to apply the change to comply with the standard.

@yuricus, I just want to make sure it's understood that you are requesting the property name be changed from "source" to "full", along with updates to the relevant annotation servers to handle it?
@rsinghal is this something you could look at when you start the "LocalStorage as an annotation fallback" work (couldn't find a issue for that)?

@sdellis
I wasn't clear of what i'm proposing. Indeed, the change of property name from 'source' to 'full'.

We should definitely be spec compliant.  I believe I structured the OA using emails from @azaroth42 , so it would be best for him to weigh in before we determine the best way to make these fixes in the code.  For CATCH, I think the only change will be in the conversion between the CATCH model (which does not natively use OA) and OA in catchEndpoint.js.
This is the comment frm #748, for more information:
There's a problem with json-ld generated by this component:
{ "@context": "http://iiif.io/api/presentation/2/context.json", "@type": "oa:Annotation", "motivation": [ "oa:commenting" ], "resource": [ { "@type": "dctypes:Text", "format": "text/html", "chars": "a polygon" } ], "on": { "@type": "oa:SpecificResource", "source": "http://oculus-dev.harvardx.harvard.edu/manifests/huam:165773/canvas/canvas-17810920.json", "selector": { "@type": "oa:SvgSelector", "value": "<path xmlns="http://www.w3.org/2000/svg\" d="M387.24168,318.25369l-39.56547,0l-39.56547,0l0,-135.64158l0,-135.64158l39.56547,0l39.56547,0l0,135.64158l78.86089,423.73487l335.19886,-70.45581l115.29133,-226.31261l-441.9501,-104.61621l0,0z" data-paper-data="{"rotation":0,"annotation":null}" id="rectangle_e4a9effb-c884-44a7-94fc-812027eddfd1" fill-opacity="0" fill="#00bfff" stroke="#00bfff" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="sans-serif" font-weight="normal" font-size="12" text-anchor="start" mix-blend-mode="normal"/>" }, "scope": { "@context": "http://www.harvard.edu/catch/oa.json", "@type": "catch:Viewport", "value": "xywh=-1018,0,3830,2450" } } }
in '"source": "http://oculus-dev.harvardx.harvard.edu/manifests/huam:165773/canvas/canvas-17810920.json"' there's no "source" attribute in specified json-ld context http://iiif.io/api/presentation/2/context.json, you should use "full" instead to produce json-ld that conforms to Open Annotation model.
See examples on oa:SpecificResource at http://iiif.io/api/presentation/2.0/#non-rectangular-segments.

:+1: to using "full" (from the IIIF context) not "source" (from the OA context).
Note that when the Annotation Working Group completes the updates to the model, vocabulary and protocol, IIIF is likely to adopt them directly in version 3.0 of the Presentation API.
References:

https://github.com/IIIF/iiif.io/issues/496
http://w3c.github.io/web-annotation/model/wd2/
http://w3c.github.io/web-annotation/vocab/wd/
http://w3c.github.io/web-annotation/protocol/wd/

I think it makes sense to make the necessary fix.  @glenrobson, this will have an impact on your annotation store as well. @yuricus, can you submit a PR for this?  I can make the necessary changes to catchEndpoint.js, if you prefer.

happy to make the change in the SimpleAnnotationStore

@glenrobson I agree it's a duplicate.

For info I've made the change in SAS from source to full.
Cheers
Glen


Layout Hotkeys

Layout Hotkeys
Add a per-layout option to add a key combination to activate that layout, giving users the option to quickly swap between profiles without having to open the configuration window.

we have two different concept ideas here, one to map # keys to zones, this is map # keys different layouts.

My idea is to switch between the layouts with mousbutton 4/5. (forward / backward)

I've used GridMove for years and enjoy how it brings up an input screen via single hotkey.
Win + G brings up an overlay of the active layout, then keying the position number performs the resize. Lets me have 40+ regions on a layout without too much hassle.
https://github.com/jgpaiva/GridMove

@zuldero @haganbmj Hey everyone, I'm currently working on a feature to implement Hotkeys to quickly switch between FancyZones custom layouts, and would love to get your feedback! If you're interested, please fill out this 3-min form.
Feedback from anyone else who would need such a feature is welcome as well.

Going to move everything to #1411 for hotkey for FZ


In a transfer transaction, if the recipient enters an alias, the recipient can't obtain transaction records after the transfer is completed.

Repeat steps：

Switch to the transfer page
The recipient enters an alias
After the transaction is successful, return to the recipient's dashboard to view the transaction list
You will not be able to see the record of this transaction

Hi @Alicely, Thanks for your contribution!
This is a known issue in REST side, you can follow its status here:
https://github.com/nemtech/catapult-rest/issues/223

@decentraliser  OK，Thank you！


x/vgo: 'vgo vet' different behavior with 'go vet'.

What version of Go are you using (go version)?
go:
go version go1.10.3 linux/amd64

vgo:
go version go1.10.3 linux/amd64 vgo:devel +1b870077c8

Does this issue reproduce with the latest release?
yes. installed by go get -u golang.org/x/vgo.
What operating system and processor architecture are you using (go env)?
go:
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build801208351=/tmp/go-build -gno-record-gcc-switches"

vgo:
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/go/src/test-vgo-vet/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build160198416=/tmp/go-build -gno-record-gcc-switches"

What did you do?
ran the vgo vet command with an empty main package.
https://play.golang.org/p/Z_1CTqPibWJ
main.go:
package main

What did you expect to see?
/go/src/test-vgo-vet # vgo vet
(return empty response)

same as go vet:
/go/src/test-vgo-vet # go vet
(return empty response)

What did you see instead?
/go/src/test-vgo-vet # vgo vet
# runtime
/usr/local/go/src/runtime/alg.go:66: possible misuse of unsafe.Pointer
/usr/local/go/src/runtime/atomic_pointer.go:57: possible misuse of unsafe.Pointer
/usr/local/go/src/runtime/cgo_mmap.go:37: possible misuse of unsafe.Pointer
/usr/local/go/src/runtime/cgocall.go:189: possible misuse of unsafe.Pointer
...

System details
$ docker run -it --rm golang:1.10.3-alpine3.8 sh

# uname -a
Linux 91fca2cc10e3 4.9.93-linuxkit-aufs #1 SMP Wed Jun 6 16:55:56 UTC 2018 x86_64 Linux

vgo is now merged with the main repo. Unless you are required to use vgo, you should just use the go command. Also, there have been a lot of fixes that have gone in the main branch, and vgo is out of sync with it.
I would request you to try the go command itself. Please try the 1.11rc1 build for module functionality.
I am going to close this due to the reasons above. Feel free to comment if you disagree. Thank you.

Thanks! It worked well, GO111MODULE=on go1.11rc1 vet.


Adds system probe internal profiling options

What does this PR do?
Enables the internal profiler for SMP experiments that run system-probe.
Motivation
Describe how to test/QA your changes
Tested in https://github.com/DataDog/smp-playground/pull/231 already, but will wait for the RD run to finish and validate that we have profiles for system-probe.
Possible Drawbacks / Trade-offs
Additional Notes

/merge


Do not Change Quotation Style for SIM118 Autofix

closes https://github.com/charliermarsh/ruff/issues/1523

I have a feeling we would need to look into other plugins then as well. There are many cases where we just string manipulate the code, and not use the source code generator.
I was initially confused as to why this is a bug, but apparently we want to fix code style issues of code we're not even touching? All the previous implementation was doing is to strip off .keys().
Wondering where we draw the line, e.g.:
for x in data['something']:
     print('hello')

x is unused here, so we rename it to _x. Do we also fix the quotes of the iterable? What about the loop body?

This actually makes it so that the linter does not automatically change the quotation style of the code it is updating as described in the linked issue. Sorry if the PR title was a bit miss leading. 🙂

This actually makes it so that the linter does not automatically change the quotation style of the code it is updating as described in the linked issue. Sorry if the PR title was a bit misleading. 🙂

Oh sorry, now I see it. The to_string on the node introduces the double quotes probably. Thank you.
Perhaps we can add a test case for that.

Thanks!

My general philosophy on the quoting stuff right now: we're not obligated to "fix" incorrect quotes, but we shouldn't make them "worse". So if a snippet uses single quotes, but the rest of the file uses double quotes, and we introduce a fix that changes the snippet but doesn't correct the quotes -- that's fine.
On the other hand: if a snippet uses single quotes, and the whole file uses single quotes, and we change it to double quotes -- that's wrong.


cmd/dist: internal import detection is generating false positives

After updating the Go port for OpenBSD to start testing 1.23rc2, the build fails with:
===>  Building for go-1.23rc2
Building Go cmd/dist using /usr/ports/pobj/go-1.23rc2/go-openbsd-amd64-bootstrap. (go1.22.5 openbsd/amd64)
Building Go toolchain1 using /usr/ports/pobj/go-1.23rc2/go-openbsd-amd64-bootstrap.
go tool dist: /usr/ports/pobj/go-1.23rc2/go/src/cmd/internal/obj/x86/asm_test.go.orig.port:10: bootstrap-copied source file cannot import internal/testenv

This appears to be a result of code added in 805f6b3f5db, combined with the fact that the OpenBSD ports build applies patches (and hence patch produces a backup .orig.port file). This approach has worked without issue for Go 1.22 (and every earlier version) - the new code seems to be unnecessarily excessive since this is not a .go file, does not have any build tags and is additionally test code.
In order to avoid packaging complications, can we restrict this check to files that Go will actually compile?

Rather than try to have cmd/dist predict how the tools might change in the future, we have a list of ignored file prefixes and suffixes (ignorePrefixes and ignoreSuffixes in cmd/dist/buildtool.go.  I suppose we could extend one of those lists.

As far as I know .orig.port is not a normal output of the patch program.  How hard would it be for the OpenBSD process to use a different file name?  It's not clear to me that the Go build process needs to work with unexpected files sprinkled into the tree.

The .orig.port extension is used by OpenBSD's ports in order to avoid conflicts with .orig files that are bundled:
https://man.openbsd.org/bsd.port.mk.5#PATCHORIG
This could be changed back to the patch(1) default of .orig for the lang/go port if need be.
It seems a bit strange that the general Go source file rules are not applied here, but I can provide a diff that adds .orig to the ignoreSuffixes list if that is the preferred option.


dart_style package is out of date

We are using dart_style version 1.0.6 and the last version is 2.1.0.

I believe this was fixed


Error install in Deno 1.14

eggs the great tool. but i'm try to install deno install -Af --unstable<EMAIL_ADDRESS>and getting error :
error: TS2801 [ERROR]: This condition will always return true since this 'Promise<Deno.PermissionStatus>' is always defined.
  if (Deno.permissions.query({ name: "env" })) {
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    at https://deno.land/x/tty@0.1.2/is_interactive.ts:2:7

TS2773 [ERROR]:     Did you forget to use 'await'?
      if (Deno.permissions.query({ name: "env" })) {
          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        at https://deno.land/x/tty@0.1.2/is_interactive.ts:2:7

Deno: 1.14
eggs: 0.3.8
Thanks...

This will be fixed by #131

@herudi can you try again with https://github.com/nestdotland/eggs/releases/tag/0.3.9 ?

@maximousblk it's work. thanks


Add --locked and --frozen flags to cargo fuzz build

The cargo build command has some flags that cargo fuzz build doesn't have.
Two of them are --locked and --frozen, which would be very useful on CI to make sure that the Cargo.lock of the fuzzing targets is up-to-date.
It would be great to add support for these two flags to cargo fuzz build.

https://github.com/rust-fuzz/cargo-fuzz/issues/312


load pyodide_http only if requests/urllib are used

loading pyodide_http only when it's relevant can make the inital loading faster.

It would make initialisation slightly faster, but downloading the library would only happen once and then be available from the browser cache. In many cases, it's not known if the library is needed to patch http functionality, especially when running arbitrary code from a user.
I can add an optional flag to disable this patch for those who want to optimise loading speed.


🐛 [OFFICIAL] Generated Issue: ConnectionTimeoutException

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The API has returned an error:
MongoDB\Driver\Exception\ConnectionTimeoutException
Status code: 13053
Message: No servers yet eligible for rescan
Trace: /var/www/jikan-rest/vendor/mongodb/mongodb/src/functions.php on line 487
Expected Behavior
The API should have returned a successful response with data.
Steps To Reproduce
Http Request: `GET /v4/top/anime
Environment
No response
Anything else?
No response

This is a duplicate of #501 btw
But I just checked and everything seems to be fine and there's no error logged or spike in error rates on our end. Did you just get this error? @Maulana4611


Is it possible to connect to multiple BLE servers - what are the limitations

I have created a gateway that connects to a TI SensorTag & forwards the data to an MQTT Broker (IBM Watson IoT Platform).  It works nicely, provided I find my BLE device before attempting to connect to WiFi!
My question is, is it possible & supported to connect to multiple BLE devices with this library (and its dependencies)?  What are the considerations & limitations?

Im not sure i understand. You want to create few esp32 clients that will read from one TI sensor?

Ok, in theory it can be done. You need to try to connect esp32 with 2 devices by creating 1 BLEClient object for each device, if you want to connect to it simultanously or connect to device, disconnect, connect to next one, disconnect and so on.

I tried with Heart Rate (service 0x180D ,  characteristic 0x2A37) +
Cycling Cadence (service 0x1816 ,  characteristic 0x2A5B)
Can connect both
->registerForNotify (...)  both
ask notification request (0x2902) to both.
Unfortunately  receive notification only from Cadence or none.
If one of client is not present to connect the other works smoothly.
According to following exchange it was a limitation which should have been resolved with v3.0
but something missing on Arduino?
https://esp32.com/viewtopic.php?t=954
Anything possible Neil?
Thanks for your help

@johnhmacleod @arsab I created this PR that gives you support for multiple servers. I've tested it with two TI SensorTag's simultaneously.
https://github.com/nkolban/ESP32_BLE_Arduino/pull/13

Thanks nsamala, look very promising,  now that this ble implementation is the reference for ESP32 Arduino: https://github.com/espressif/arduino-esp32/tree/master/libraries
We might need to clarify few points for Neil Kolban:

Backward compatibility for whom did develop unique Server: e.g. can we still call createClient();  without parameter, or always have a parameter, update code in order to recompile.
Have a simple example e.g. create "client"  for each server then refer to it, register each,... What are the rules for appId, 0-n?

You also made nice refactoring with BLENotifier which should also go in coding rules ;-)

@arsab Definitely, in this example, I'm going to show how I use the BLENotifier class to receive accelerometer data from the TI SensorTag
#include <BLEDevice.h>

static const uint16_t appId = 3;  // arbitratrily chosen app ID. client default is 1 and server default is 2
static const BLEUUID serviceUUID("f000aa80-0451-4000-b000-000000000000");
static const BLEUUID accelDataUUID("f000aa81-0451-4000-b000-000000000000");

class AccelerometerNotificationReceiver : public BLENotifier {
  public:
    AccelerometerNotificationReceiver(BLEAddress address) {
      BLEClient client = BLEDevice::createClient(appId);
      client->connect(address);

      // get service from TI SensorTag
      BLEService service = client->getService();
      if (service == nullptr) {
        Serial.println("Could not find service UUID");
        return;
      }
      Serial.println("Found service");

      // get the data characteristic
      BLERemoteCharacteristic *dataCharacteristic = service->getCharacteristic(accelDataUUID);
      if (dataCharacteristic == nullptr) {
        Serial.println("Could not find data characteristic");
        return;
      }
      logInfo(LABEL, "Got data characteristic");

      // register for notifications
      dataCharacteristic->registerForNotify(this);

      // enable notifications
      const uint8_t v[] = { 0x1, 0x0 };
      dataCharacteristic->getDescriptor(BLEUUID((uint16_t)0x2902))->writeValue((uint8_t*)v, 2, false);
    }

    void onNotify(BLERemoteCharacteristic* pBLERemoteCharacteristic, uint8_t* pData, size_t length, bool isNotify) {
      // notification received
      Serial.println("Received accelerometer data");
    }
}

Thanks,
Maybe I am not doing all right but have difficulties to compile:
Had to make few changes:
in BLEClient.
public:
BLEClient(uint16_t appId);    // replace by
//	BLEClient();                            // removed
in BLEDevice.cpp
//  BLEClient* BLEDevice::m_pClient = nullptr;    // needed to comment out in line 42 since removed in BLEDevice.h
in one hand we had
in BLERemoteCharacteristic.cpp
toNotify->onData
here we declared "void onNotify"     realigned onData vs onNotify   ;-)
Also I need to have two different kind of servers:
after having cleaned elements above I continue to have  compiler error
error: expected class-name before '{' token
class myHRBLENotificationReceiver : public BLENotifier {
^

Sorry about that! I'll double check this evening. I may have had some issues when I copied it over from my repo for ESP32_BLE_Arduino that I missed.

hello is there a simple example code that can compile using this appid , I have 2 servers that I would like to connect to with one client

@arsab hello have you managed to fix the compile error and connect to two servers thanks

@gcharles81 I've gone ahead and fixed the compiler errors and pulled the latest code from the upstream. Give it a shot now

I have face problem with BLE server multi connect
only able to connect up to four device to single esp32 wrover
I change sdkconfig "CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN" = 9 as well "CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN__EFF" = 9
and also changed "CONFIG_BT_ACL_CONNECTIONS" = 7
but don't connect more than 4 device
after resetting above sdkconfig parameters only connect 3 device to esp32 wrover
if any one have solution than respond ...

hi @outlandnish
i was trying to use your example for multiconnect with BLENotifier but i get the error mentioned above:  expected class-name before '{' token
does this mean my library is out of date, or do i need to edit the library, if so can you tell me how.
i have checked for updates but there doesnt seem to be any
thanks in advance
Dave

@outlandnish
I noticed that in your repository your Device.cpp file is updated, allowing you to connect more than one server. But when I replace the file that exists in the Arduino library it gives an error. I would like to be able to connect 2 servers to 1 client using Arduino IDE. It's possible?

@sousajoao07 it's possible to connect to multiple servers using a single client. The error you're getting is the result of merging in upstream changes to my code without finishing the merge properly. Since my needs changed, I no longer have the time to support that fork. You're more than welcome to fix it and submit a PR!
That said, have you considered the NimBLE additions to the ESP32? It should give you support for multiple servers without hacking together old code on the Bluedroid implementation.