403: Insufficient Permission with todrive option

I'm trying to list drive files, this work but not when I use the todrive option.  I had this issue before and upgraded to 4.03 and was able to use the todrive option.  Now a month later it doesn't work again.
Sample:
c:\GAM>gam user<EMAIL_ADDRESS>show filelist todrive allfields
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Remove the todrive option and it will display to the screen.

send2wsr,
I'm trying to get a sense of when the error occurred; did you leave out
lines between these two? Are the got ### files lines the same for both
cases?
got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Ross
On Fri, Jan 13, 2017 at 3:02 PM, send2wsr<EMAIL_ADDRESS>wrote:

I'm trying to list drive files, this work but not when I use the todrive
option. I had this issue before and upgraded to 4.03 and was able to use
the todrive option. Now a month later it doesn't work again.
Sample:
c:\GAM>gam user<EMAIL_ADDRESS>show filelist
todrive allfields
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Remove the todrive option and it will display to the screen.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388, or mute the thread
https://github.com/notifications/unsubscribe-auth/AIU8L70qimHc4GM8CWEpvhJNSnoFQyyMks5rSAKCgaJpZM4LjZ5b
.

--
Ross Scroggs
<EMAIL_ADDRESS>

Yes I did remove a few rows, it finds 372 files, which is correct, then
errors
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>got 200 files for<EMAIL_ADDRESS>got 300 files for<EMAIL_ADDRESS>got 372 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions

Bill Ramsay
821 Ridge Avenue #2
Evanston, IL 60202
<EMAIL_ADDRESS>(630) 447-9101
On Fri, Jan 13, 2017 at 5:11 PM, Ross Scroggs<EMAIL_ADDRESS>wrote:

send2wsr,
I'm trying to get a sense of when the error occurred; did you leave out
lines between these two? Are the got ### files lines the same for both
cases?
got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Ross
On Fri, Jan 13, 2017 at 3:02 PM, send2wsr<EMAIL_ADDRESS>wrote:

I'm trying to list drive files, this work but not when I use the todrive
option. I had this issue before and upgraded to 4.03 and was able to use
the todrive option. Now a month later it doesn't work again.
Sample:
c:\GAM>gam user<EMAIL_ADDRESS>show filelist
todrive allfields
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Remove the todrive option and it will display to the screen.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388, or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AIU8L70qimHc4GM8CWEpvhJNSnoFQyyMks5rSAKCgaJpZM4LjZ5b>
.

--
Ross Scroggs
<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573084, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALFGfGG57EJXvkGQsi3_t6M3nHvNDSuvks5rSASRgaJpZM4LjZ5b
.

Bill,
Does this work: gam print domains todrive
Ross
On Fri, Jan 13, 2017 at 3:14 PM, send2wsr<EMAIL_ADDRESS>wrote:

Yes I did remove a few rows, it finds 372 files, which is correct, then
errors
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>got 200 files for<EMAIL_ADDRESS>got 300 files for<EMAIL_ADDRESS>got 372 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions

Bill Ramsay
821 Ridge Avenue #2
Evanston, IL 60202
<EMAIL_ADDRESS>(630) 447-9101
On Fri, Jan 13, 2017 at 5:11 PM, Ross Scroggs<EMAIL_ADDRESS>wrote:

send2wsr,
I'm trying to get a sense of when the error occurred; did you leave out
lines between these two? Are the got ### files lines the same for both
cases?
got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Ross
On Fri, Jan 13, 2017 at 3:02 PM, send2wsr<EMAIL_ADDRESS>wrote:

I'm trying to list drive files, this work but not when I use the
todrive
option. I had this issue before and upgraded to 4.03 and was able to
use
the todrive option. Now a month later it doesn't work again.
Sample:
c:\GAM>gam user<EMAIL_ADDRESS>show filelist
todrive allfields
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Remove the todrive option and it will display to the screen.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388, or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AIU8L70qimHc4GM8CWEpvhJNSnoFQyyMks5rSAKCgaJpZM4LjZ5b>
.

--
Ross Scroggs
<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573084, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/ALFGfGG57EJXvkGQsi3_
t6M3nHvNDSuvks5rSASRgaJpZM4LjZ5b>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573570, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIU8LyNw3Ywt40fKS1gBcYYPnYNKliakks5rSAVSgaJpZM4LjZ5b
.

--
Ross Scroggs
<EMAIL_ADDRESS>

No, same result

Bill Ramsay
821 Ridge Avenue #2
Evanston, IL 60202
<EMAIL_ADDRESS>(630) 447-9101
On Fri, Jan 13, 2017 at 5:15 PM, Ross Scroggs<EMAIL_ADDRESS>wrote:

Bill,
Does this work: gam print domains todrive
Ross
On Fri, Jan 13, 2017 at 3:14 PM, send2wsr<EMAIL_ADDRESS>wrote:

Yes I did remove a few rows, it finds 372 files, which is correct, then
errors
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>got 200 files for<EMAIL_ADDRESS>got 300 files for<EMAIL_ADDRESS>got 372 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions

Bill Ramsay
821 Ridge Avenue #2
Evanston, IL 60202
<EMAIL_ADDRESS>(630) 447-9101
On Fri, Jan 13, 2017 at 5:11 PM, Ross Scroggs<EMAIL_ADDRESS>wrote:

send2wsr,
I'm trying to get a sense of when the error occurred; did you leave out
lines between these two? Are the got ### files lines the same for both
cases?
got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Ross
On Fri, Jan 13, 2017 at 3:02 PM, send2wsr<EMAIL_ADDRESS>wrote:

I'm trying to list drive files, this work but not when I use the
todrive
option. I had this issue before and upgraded to 4.03 and was able to
use
the todrive option. Now a month later it doesn't work again.
Sample:
c:\GAM>gam user<EMAIL_ADDRESS>show filelist
todrive allfields
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Remove the todrive option and it will display to the screen.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388, or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AIU8L70qimHc4GM8CWEpvhJNSnoFQyyMks5rSAKCgaJpZM4LjZ5b>
.

--
Ross Scroggs
<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573084, or
mute
the thread
<https://github.com/notifications/unsubscribe-
auth/ALFGfGG57EJXvkGQsi3_
t6M3nHvNDSuvks5rSASRgaJpZM4LjZ5b>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573570, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
AIU8LyNw3Ywt40fKS1gBcYYPnYNKliakks5rSAVSgaJpZM4LjZ5b>

.

--
Ross Scroggs
<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573764, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ALFGfNwGYGD__Ld92tKvJMQ-p9DdHbcsks5rSAWegaJpZM4LjZ5b
.

Bill,
Cn you call me at<PHONE_NUMBER> or Skype to rossscroggs
Ross
On Fri, Jan 13, 2017 at 3:16 PM, send2wsr<EMAIL_ADDRESS>wrote:

No, same result

Bill Ramsay
821 Ridge Avenue #2
Evanston, IL 60202
<EMAIL_ADDRESS>(630) 447-9101
On Fri, Jan 13, 2017 at 5:15 PM, Ross Scroggs<EMAIL_ADDRESS>wrote:

Bill,
Does this work: gam print domains todrive
Ross
On Fri, Jan 13, 2017 at 3:14 PM, send2wsr<EMAIL_ADDRESS>wrote:

Yes I did remove a few rows, it finds 372 files, which is correct, then
errors
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>got 200 files for<EMAIL_ADDRESS>got 300 files for<EMAIL_ADDRESS>got 372 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions

Bill Ramsay
821 Ridge Avenue #2
Evanston, IL 60202
<EMAIL_ADDRESS>(630) 447-9101
On Fri, Jan 13, 2017 at 5:11 PM, Ross Scroggs <
<EMAIL_ADDRESS>wrote:

send2wsr,
I'm trying to get a sense of when the error occurred; did you leave
out
lines between these two? Are the got ### files lines the same for
both
cases?
got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Ross
On Fri, Jan 13, 2017 at 3:02 PM, send2wsr<EMAIL_ADDRESS>wrote:

I'm trying to list drive files, this work but not when I use the
todrive
option. I had this issue before and upgraded to 4.03 and was able
to
use
the todrive option. Now a month later it doesn't work again.
Sample:
c:\GAM>gam user<EMAIL_ADDRESS>show filelist
todrive allfields
Getting files for<EMAIL_ADDRESS>got 100 files for<EMAIL_ADDRESS>ERROR: 403: Insufficient Permission - insufficientPermissions
Remove the todrive option and it will display to the screen.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388, or mute the thread
<https://github.com/notifications/unsubscribe-auth/
AIU8L70qimHc4GM8CWEpvhJNSnoFQyyMks5rSAKCgaJpZM4LjZ5b>
.

--
Ross Scroggs
<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573084,
or
mute
the thread
<https://github.com/notifications/unsubscribe-
auth/ALFGfGG57EJXvkGQsi3_
t6M3nHvNDSuvks5rSASRgaJpZM4LjZ5b>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573570, or
mute
the thread
<https://github.com/notifications/unsubscribe-auth/
AIU8LyNw3Ywt40fKS1gBcYYPnYNKliakks5rSAVSgaJpZM4LjZ5b>

.

--
Ross Scroggs
<EMAIL_ADDRESS>—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573764, or
mute
the thread
<https://github.com/notifications/unsubscribe-
auth/ALFGfNwGYGD__Ld92tKvJMQ-p9DdHbcsks5rSAWegaJpZM4LjZ5b>
.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jay0lee/GAM/issues/388#issuecomment-272573930, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AIU8L_CQvPoZPiXAmLykOfrRjCaSy1h1ks5rSAXegaJpZM4LjZ5b
.

--
Ross Scroggs
<EMAIL_ADDRESS>


Scrolled url clicking

Working like a charm for me. :tada:
Let's try and pretend like we caught this sooner :wink:


Remove ank core

Since ank-core is no longer developed here it should be removed.
Also I placed runAnk under a gradlew group and gave it a description.

Closing since Ank came back home.


The title and content does not match in page 'SSH into Azure Kubernetes Service (AKS) cluster nodes'

The title for this page is 'SSH into nodes', previous version of this page well describes how to ssh, but after https://github.com/MicrosoftDocs/azure-docs/commit/fda33b7a5e4081c732afce63d6cb4aa97a0467c2 change, it has nothing to do with SSH.
Please consider update title and SSH related description of this page.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3b81a147-db1c-b92f-88d1-6dd0991a72fe
Version Independent ID: f5a2c949-498f-5848-d89c-031d1a757120
Content: SSH into Azure Kubernetes Service (AKS) cluster nodes - Azure Kubernetes Service
Content Source: articles/aks/ssh.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@karataliu, The article still concerns creating an SSH connection with an AKS node, so the title and content are appropriate. The command kubectl debug uses SSH to create the connection.
#please-close

@Nickomang
kubectl debug is not related with SSH, it basically creates a pod and exec into it.
I'm proposing to replace SSH with access node here, as SSH indicates a specific protocol


Maven POM update towards 2.0

Add support of Maven releases for the 2.0 release

[x] - Use GitHub Releases as a source of the binary file (yes, you do not need Windows to release to Maven anymore)
[x] - Enhance the POM.xml description
[x] - Add verification of POM/WinSW consistency during the release

Fixes #80

@reviewbybees

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

🐝

@reviewbybees done


/configs/config.json is not found

Step 8 : COPY /configs/config.json /home/owl-pub/config.json
lstat configs/config.json: no such file or directory

Fixed


Add capturing fn key

According to https://github.com/keycastr/keycastr/issues/111, I added fn key capturing and add a panel for fn into Svelte visualizer.

@akitchen OMG, I didn't notice the whitespace problem. And I agree with your comment on #111.

See comment in #111 ; closing as we won't be implementing this.


open: Permission denied

Despite applying https://github.com/probonopd/AppImageKit/pull/364 in https://github.com/probonopd/AppImageUpdate/commit/1ffe5aab8095062da16c6029980523300cda8c57 we still get

when trying to update an AppImage in a location that the current user has no write rights for (e.g., /opt).
Perhaps @abhay44 can have a look?

@abhay

I manually compiled with vala
check this : http://tinypic.com/view.php?pic=240ycz5&s=9#.WMBQQlfhU8o

Do you have appimageupdate (the script) on your $PATH? Just compiling the GUI is not enough, you need to do all the steps in the script section of https://github.com/probonopd/AppImageUpdate/blob/master/.travis.yml.

@probonopd I tried to update a appimage named Darktable. No errors occured for me and the appimage is updated to latest version(2.2.3).Please see this link.

Did you change something in the source code? It does not work for me.

I did not change anything in the source code.Just executed as is.pkexec will by run on opening appimage and you give the root password and then the update starts.It is similar to what Etcher does.

So here is the more detailed explanation from @jviotti:

We got that question a couple of times already :grinning: It’s definitely not very straightforward, but its language/framework independent, so it should work for Qt:

Our application can behave in CLI mode or GUI mode depending on an environment variable, which is read on the entry point of the app
Initially, the AppImage is mounted as a normal user
We then prompt the user for elevation (we use https://github.com/jorangreef/sudo-prompt, but with Qt you can probably interact with polkit directly)
We then re-execute the same AppImage with root permissions, but this time passing the environment variable that causes the app to behave in CLI mode
The AppImage is remounted again as root
The CLI communicates with the GUI using IPC

Check https://github.com/resin-io/etcher/blob/master/lib/child-writer/README.md for the more low level details
So in summary: we mount the AppImage twice: once as the user, and once as root
Regarding the Ubuntu Live CD, sudo-prompt, the module we’re using, checks if it can get sudo access before prompting the user. It can do so on the live CD, so it proceeds straight away

This is exactly what we should implement for AppImageUpdate.

@probonopd We're very interested in having AppImage updates for Etcher. Glad to hear our current approach matches what you think AppImages should be doing. Is there anything I can contribute with? I'm a bit busy these weeks, but I can allocate time on Fridays to help on this.

https://github.com/JvanKatwijk/qt-dab/issues/34#issuecomment-289268946 would also profit from this.

Please see https://github.com/JvanKatwijk/qt-dab/issues/34#issuecomment-289270761 for a possible solution, more testing on that solution is needed.

Hi @jviotti it would be great if you could have a look at https://github.com/JvanKatwijk/qt-dab/issues/34#issuecomment-289270761

For reference (and searchability)> @jviotti at https://github.com/JvanKatwijk/qt-dab/issues/34#issuecomment-289349825:

The way we handle this at Etcher is that first we try to run the command (e.g: /tmp/udev-rules-helper) using sudo -n. The -n means that sudo will behave non-interactively, and thus will not prompt for a password. After the program exits, we check stderr for /sudo: /i. If this matches, then it means that we need to prompt the user for elevation using something like pkexec, if not, then it means that the command actually did run with elevation already, so that's all there is to do. Check https://github.com/jorangreef/sudo-prompt/blob/master/index.js#L11 for details.

For Arduino, I am using this which appears to be working for me, at least on Live ISOs (more testing on installed systems needed):
cat > /tmp/roothelper <<\EOoF
#!/bin/bash
cat > /etc/udev/rules.d/50-arduino.rules <<\EOF
SUBSYSTEM=="tty", KERNEL=="ttyUSB[0-9]*|ttyACM[0-9]*", GROUP="users", MODE="0666"
EOF
udevadm trigger
EOoF
chmod a+x /tmp/roothelper

sudo true && sudo /tmp/roothelper
sudo true || pkexec --disable-internal-agent /tmp/roothelper || true

rm /tmp/roothelper

Intended behavior:

On Live ISOs, it just becomes root, does its thing, without asking the user
On installed systems, it asks the user for the root password

Legacy issue in the old code base. Please report if it should occur in the rewrite as well.

In rewrite we currently have this behavior, which is slightly better but not yet perfect:
Assume that /isodevice/Applications/AppImageUpdate-2f9a55e-x86_64.AppImage is stored at a location that is only accessible by the root user, which is common on Live ISOs (and hence my main use case for AppImage).
Expected result: As described above, it should "just work" since on Live systems, sudo works without needing a password (on systems that do require a password, the user should be asked for it)
Actual result: Te update succeeds, but the resulting file is located in $HOME instead of the location of the original file /isodevice/Applications/.
me@host:~$ /isodevice/Applications/AppImageUpdate-2f9a55e-x86_64.AppImage /isodevice/Applications/AppImageUpdate-2f9a55e-x86_64.AppImage
AppImageUpdate version 1-alpha (commit 2f9a55e), build 140 built on 2017-11-14 14:37:02 UTC
Checking for updates...
Fetching release information for tag "continuous" from GitHub API.
... done
Starting update...
Fetching release information for tag "continuous" from GitHub API.
Updating from GitHub Releases via ZSync
zsync2: Target file: /home/me/AppImageUpdate-8199a82-x86_64.AppImage
zsync2: Reading seed file: /isodevice/Applications/AppImageUpdate-2f9a55e-x86_64.AppImage
zsync2: Usable data from seed files: 42.249589%
zsync2: Renaming temp file
zsync2: Fetching remaining blocks
zsync2: Downloading from https://github-production-release-asset-2e65be.s3.amazonaws.com/84325774/bc496bd6-c9b4-11e7-9096-f40efba1ac9a?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20171115%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20171115T063037Z&X-Amz-Expires=300&X-Amz-Signature=be067695697b25735f48dc832feb64ba99984136da620b811decdbab52b56599&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DAppImageUpdate-8199a82-x86_64.AppImage&response-content-type=application%2Foctet-stream
zsync2: Verifying downloaded file
zsync2: checksum matches OK
zsync2: used 5269504 local, fetched 7202552
Update successful.
Updated file: /home/me/AppImageUpdate-8199a82-x86_64.AppImage

Try the latest release. https://github.com/AppImage/AppImageUpdate/commit/8199a82a757009982539d38c940c870770a1a23d implements #37. Your version is just outdated, it puts the new file in the current working directory. Then, please describe the new behavior.

@probonopd waiting for feedback here. I'd like to resolve this issue this week.

As long as we are not trying to elevate permissions if we encounter permission denied and are not root (like Etcher does) this is not entirely solved.

@probonopd I thought, how does it behave now, as it now puts (or, tries to put) the binary in the original directory. Initially, you stated it put the binary into $HOME, but that was intended behavior which has been changed eventually. Hence the request to try this with an up to date version.

Think of a regular user trying to update some AppImage stored in a system-wide location where normal users have no write access, e.g., /opt. In my test below, this system-wide location where normal users have no write access is /isodevice/OldApplications/.
Current behavior:
me@host:~$ /home/me/Downloads/AppImageUpdate-164-6e435c2-x86_64.AppImage /isodevice/OldApplications/AppImageUpdate-0d169e4-x86_64.AppImage
AppImageUpdate version 1-alpha (commit 6e435c2), build 164 built on 2017-11-21 11:07:44 UTC
Checking for updates...
Fetching release information for tag "continuous" from GitHub API.
... done
Starting update...
Fetching release information for tag "continuous" from GitHub API.
Updating from GitHub Releases via ZSync
zsync2: Target file: /isodevice/OldApplications/AppImageUpdate-164-6e435c2-x86_64.AppImage
zsync2: Reading seed file: /isodevice/OldApplications/AppImageUpdate-0d169e4-x86_64.AppImage
rename: Invalid cross-device link
zsync2: Usable data from seed files: 10.986382%
zsync2: Renaming temp file
Update failed

Intended behavior:
Before anything else, AppImageUpdate checks whether the current user has write permissions in the directory in which the old AppImage resides. If no,

it tries to become root without interfering the user; if that fails
it asks the user for the root password (or whatever the proper PolicyKit mechanism is; if that fails
it shows a warning, saying root is required (or; at your choice, offers to download somewhere else)

My script above is able to do 1 and 2.
Etcher also handles this elegantly.
As you can see from the history, this bothered me already in my own first implementation, so I am hoping we can solve it with the rewrite.
Thanks!

@probonopd side note: apart from performing root operations without explicit user consent or any warning about it (a CLI message would help already), your script leaves a udev rule in place that should definitely be removed after execution.
Not being a fan of implicit root actions, I'd always state I'm trying to get root permissions in the UI, maybe with a message. I'll think about the situation, and come up with a "polished" solution for this soon. First of all have to sort out #50.

The udev thing was just an example for an action that needs to be performed as root. Of course here we don't need udev!

I know, just a general notice. I wouldn't have done it like that, but you should at least have your Arduino AppImage clean up its udev config file.

Well, that /dev/tty is not accessible to all users is just plain annoying to me. I like it like it is now.

@probonopd all I'm saying is, if you create the file, you should probably rm it after the main app terminated. It will be recreated anyway.

True...

After quite some experimenting, I think I have a satisfying solution:
We have two main topics to consider here: security and user friendliness. The latter has been described in detail by @probonopd before, who's made some suggestions how to implement a user friendly "let's get root" feature: test whether higher privileges are required, test whether those privileges can be gathered without prompting for a password (otherwise show dialog), then continue with the update.
 Also, the solutions @probonopd linked to didn't seem to be too secure to me, hence I've tried to find an already existing software providing the requested functionality.
There's two programs which are used nowadays to run applications sudo-ish without using the CLI tool sudo. These are pkexec (part of Polkit, available on many modern desktops and even server systems), and as a fallback (if pkexec is unavailable), gksudo (part of gksu package in Debian systems, which it superseded). It doesn't seem to be a good idea to bundle pkexec, but it seems like gksudo could be built and bundled within AppImages without much hassle (although, if a system version is available, it should always be used in favor of a bundled one). Both show a prompt similar to the UAC in Windows systems, unless the user is in sudo mode (or has root status already).
I suggest to do the following: check whether pkexec is on PATH, fall back to system gksudo, fall back to bundled gksudo. The last remaining question is: shall we re-run the whole application (by execing something like gksudo $0 $PARAMS_CONSTRUCTED_FROM_ARG_PARSER, less secure solution, as most parts don't require root permissions), or shall we attempt to limit sudo mode only to operations which really require higher privileges?
I am strongly in favor with the second option, which could be implemented by putting all temporary files in the /tmp dir, for example (possible by setting the cwd to that path), and calling $SUDO_APP mv /tmp/new.AppImage /path/to/old/appimage/. The nice part about both options is that they don't require any changes within zsync2, as the new functionality can be implemented with the existing API in AppImageUpdate.
That said, one has to consider that the mv call would be the only required as of today, but there might be more operations necessary in the future. Also, there might be slight overhead when the target directory for the updated AppImage is on another disk (mv would automatically copy the file to the new disk, and unlink it on the old drive, this avoids problems as in #50). However, considering it is by far more safe to go with option 2, I'd say the overhead file I/O is an acceptable trade-off (although @probonopd might disagree, as he's the one taking most advantage of this issue being closed.
Whatever way we take, that's the sanest options I could've come up with. And considering the lack of a working low-dependency gksudo for bundling within AppImages (existing one in Debian has a lot of dependencies, including the infamous libharfbuzz), the time spent on building this package might produce a package (on OBS, like with curl-httponly, the low-dependency cURL library for AppImage builds) that could become extremely useful to third parties as well.

I don't think gksudo or any of those tools can work from inside an AppImage because they would be lacking the suid bit, and we can't extract them from the AppImage and give them to suid root bit because we don't have the permissions. Hence we need to use pkexec and friends which, at this point, we need to take granted as a part of the target systems (if they are not there, we can always fall back to showing a message telling the user to launch AppImageUpdate as root).
If we follow the scheme suggested by @TheAssassin, what would happen in the following (my daily) scenario:

User keeps AppImages on a separate partition for which the user has no write permissions (e.g, system-wide /opt mounted as a separate partition)
User updates a large AppImage

Would it the updated Version be constructed "directly" at the target directory (the /opt partition in this example), or would it be constructed in /tmp and only after the update succeeded, be moved to the target partition? The latter would not be an acceptable solution for me because a) my system's partition is almost always close to full (all running in tmpfs in RAM as a matter of fact) whereas my AppImage storage area has plenty of space (again, think large AppImages - 12 GB and such), b) the mv would take additional time, destroying the instant experience, and c) if the process is interrupted for whatever reason (e.g., network failure) the half-complete file would not be in the target directory, from where it could be re-used.
So, in summary, I am fine with your proposal as long as a) it works and b) no copying of the AppImage to be updated nor the updated AppImage between different directories is involved. I am fine with selectively copying stuff out of AppImageUpdate.AppImage to /tmp as long as we are talking about small portions, e.g., shell scripts.

Okay, so basically we'd go with the first option, checking the permissions, and re-executing AppImageUpdate entirely with gksudo/pkexec (in case the filename parameter is lacking, I'd show the file chooser first, and then ask for the password, looks more consistent). If none of the tools is available, I'll just show a warning (after which the app exits), and tell the <5% (rough estimation) of people who'd ever see it to call AppImageUpdate with sudo from a terminal.

Sounds like a plan.

So, after a lot of testing and debugging (and some bugs with btrfs, at least I'd think so...), I have a working solution that even makes sure elevating to root would make sense before asking for a password. Currently forced to use gksudo (pkexec says something about the suid bit not being said although it is set, further investigation needed here). Needs some more love to ensure best UX, e.g., better error message, and some further error handling.
One last remaining issue is the re-execution of the AppImage after successful updates, which should not be done with the root permissions. gksudo at least sets $SUDO_USER and $SUDO_UID, which could be used to re-execute as the original user. Looks like pkexec sets some $PKEXEC_UID variable, but, as mentioned previously, pkexec is not functional at the moment.
We should check for the existence of these variables, and if they are missing, show a warning, I guess.

More information on the btrfs bug: the bug only occurs when trying to patch an existing AppImage like dd if=/dev/zero of=my.AppImage seek=1M bs=100k count=1 conv=notrunc. After execution, ls shows a file size of<PHONE_NUMBER>00. Also, AppImageUpdate (and most likely other applications) thinks it has this many bytes to read, causing update checks to read all that data and hash it. This is a real issue which I should probably try to report to btrfs.

Artifact: https://transfer.sh/yMU8E/AppImageUpdate-175-b927f61-x86_64.AppImage
Log: https://travis-ci.org/AppImage/AppImageUpdate/builds/309827425

For me, I don't need to be asked whether it is OK to elevate to root - in fact, if I can elevate to root without needing a password then it should just do the right thing without even bothering me because obviously I do have the permissions. However, I should not be asked again which file to update after AppImageKit relaunched with root rights.

@probonopd yeah, that's a bug, and I know the cause. Basically, I copy the existing argv, prepend the path to AppImageUpdate, and call the result with sudoTool. If the path is not contained in the existing argv, it will have to be inserted there. Pretty easy to fix.

It is still not working and it doesn't give any hints in the GUI that this is a permissions problem:

$ ls -lh /isodevice/Applications/Firefox-latest.glibc2.3.4-x86_64.AppImage
![screenshot_2018-04-10_10-43-12](https://user-images.githubusercontent.com/2480569/38546099-44cd9c76-3c9b-11e8-8d9c-81a3e9a7b680.png)

-rwxr-xr-x 1 root root 57M Nov 14 22:37 /isodevice/Applications/Firefox-latest.glibc2.3.4-x86_64.AppImage

$ strings /isodevice/Applications/Firefox-latest.glibc2.3.4-x86_64.AppImage | grep ^bintray
bintray-zsync|probono|AppImages|Firefox|Firefox-_latestVersion-x86_64.AppImage.zsync

$ /home/me/Downloads/AppImageUpdate-297-d04fe37-x86_64.AppImage /isodevice/Applications/Firefox-latest.glibc2.3.4-x86_64.AppImage
AppImageUpdate version 1-alpha (commit d04fe37), build 297 built on 2018-04-09 02:23:49 UTC
QApplication: invalid style override passed, ignoring it.
Updating from Bintray via ZSync
open: Permission denied
zsync2: Failed to parse .zsync file!
zsync2: Reading and/or parsing .zsync file failed!

Is this still the situation?


Update to Cython 0.29.21

Regenerates the C code using Cython 0.29.21.
TODO:

[ ] Unit tests and/or doctests in docstrings
[ ] tox -e py38 passes locally
[ ] Docstrings and API docs for any new/modified user-facing classes and functions
[ ] Changes documented in docs/release.rst
[ ] tox -e docs passes locally
[ ] AppVeyor and Travis CI passes
[ ] Test coverage to 100% (Coveralls passes)

Going to go ahead and merge since this just updates the autogenerated C files, but if anyone spots any issues am happy to follow up.


Fix fix hms automatic update error.

Proposed changes
Issue Number: close #18251
Problem summary
lastSyncedEventId of HMSExternalCatalog must set to -1 firstly. If lastSyncedEventId is not initialized, lastSyncedEventId will be 0, so the first invocation of HiveMetaStoreClient.getNextNotification will be failed because  event id of notification event must be positive and always there is a ttl for hive metastore's notifition_log table,  HiveMetaStoreClient will check the returned event id and throws exception if it is illegal.
The relevant implement of HiveMetaStoreClient is as follows:
 @InterfaceAudience.LimitedPrivate({"HCatalog"})
 @Override
 public NotificationEventResponse getNextNotification(long lastEventId, int maxEvents,
                                                      NotificationFilter filter) throws TException {
   NotificationEventRequest rqst = new NotificationEventRequest(lastEventId);
   rqst.setMaxEvents(maxEvents);
   NotificationEventResponse rsp = client.get_next_notification(rqst);
   LOG.debug("Got back " + rsp.getEventsSize() + " events");
   NotificationEventResponse filtered = new NotificationEventResponse();
   if (rsp != null && rsp.getEvents() != null) {
     long nextEventId = lastEventId + 1;
     for (NotificationEvent e : rsp.getEvents()) {
       **// lastEventId=0, `if` statement will return false and an exception will throws here**
       if (e.getEventId() != nextEventId) {
         LOG.error("Requested events are found missing in NOTIFICATION_LOG table. Expected: {}, Actual: {}. "
                 + "Probably, cleaner would've cleaned it up. "
                 + "Try setting higher value for hive.metastore.event.db.listener.timetolive. "
                 + "Also, bootstrap the system again to get back the consistent replicated state.",
                 nextEventId, e.getEventId());
         throw new IllegalStateException(REPL_EVENTS_MISSING_IN_METASTORE);
       }
       if ((filter != null) && filter.accept(e)) {
         filtered.addToEvents(e);
       }
       nextEventId++;
     }
   }
   return (filter != null) ? filtered : rsp;
 }

Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run p0


STL-479 IAS Client unit tests

Instead of using real http.server and creating your own mock server, you might want to investigate using unittest.mock.patch.  @peterschwarz and @cianx both are experts on how to patch classes in unit tests.

I looked into unittest.mock.path and it probably would have been easier to use than this. My understanding is that it would require patching requests. Since this module is just a thin wrapper for requests, I like using the full HTTP server here as it accomplishes the same goal but if requests interface ever changes, this test will catch the change.

Added docstrings to tests


Issue 1544: Add support for Kubernetes limits

This PR adds support for specifying limits (as opposed to requests) for workflows on Kubernetes. It addresses issue 1544.
Notes:

I've added a single flag in the Metaflow config to cover CPU, RAM & disk space. Not sure if you would prefer different flags for each resource?
I've tested by performing some manual runs. (I couldn't find any relevant tests, so assume this is the current practice for this part of the code base.)
There is an open comment on the issue. Not sure how you would like to address that comment?

Too me it seems odd to have either requests or limits, but I am not a Kubernetes expert myself, so the only feedback I can really give is to seek advice in a Cloud Native community.
For my own specific use-case I need a couple of different requests to make sure the job can run while also limiting the memory to avoid all memory being captured which sometimes caused the the node to be killed because it could not free the memory fast enough.

There is a genuine use-case of having requests and NOT limits. Consider the case where a user doesn't know exactly how much cpu/mem is going to be used for a given job. The user can specify some basic value so as to get started. The pod starts with that value guaranteed but can use more. When the pod completes, users can look at resource utilization metrics and can adjust their decorators/cli args, etc.
The above would still be possible with this PR. But the user will have to additionally factor in the value of KUBERNETES_RESOURCE_REQUESTS option.
There is also the case of actually needing to specify both requests AND limits which will have to be solved at some point.
The approach in https://github.com/Netflix/metaflow/pull/1612 might be better. WDYT?

Hey @shrinandj ,
Thanks for the review!.

The above would still be possible with this PR. But the user will have to additionally factor in the value of KUBERNETES_RESOURCE_REQUESTS option.

You mean the user will need to remember to switch this flag?

There is also the case of actually needing to specify both requests AND limits which will have to be solved at some point.

You mean requests and limits with different values, right?
If there is a need to support the possibility of different requests & limits, then I agree the approach in this PR would be too restrictive. https://github.com/Netflix/metaflow/pull/1612 is definitely more flexible in that respect.
One thing from my perspective is that I would like to be able to provide an easy way to ensure  that all our internal users are specifying limits. For example, this would allow us to start using LimitRangers, which is something we would like to do internally. Expecting users to specify both requests & limits in all the steps of their different workflows themselves wouldn't be the best user experience.
Perhaps a mix of the two approaches would work? So something like:

The ability to specify limits via arguments in the Kubernetes decorator.
Introduction of some new flag. If the flag is set and the limits are not specified in the kubernetes decorator, then the limits are set to match the requests. If the limits are specified in the kubernetes decorator, then this takes precendence.

In this way it would be easy to set limits on all workflows, but also provide flexibility if people want them to be different.
What do you think?

Adding on some thoughts here - I think support for both requests and limits would be incredibly helpful. Right now on K8s, we see about 1/4 of our flows encounter the noisy neighbor problem when pods burst CPU or memory past the request and if they are scheduled on the same node (which in about 25% of the time they are) they exhaust the node's resources and kill the node.
I would +1 on the need for both limits and requests as separate values that can be passable. Setting them as the same just requires teams to increase everything to account for bursting

There is also the case of actually needing to specify both requests AND limits which will have to be solved at some point.

You mean requests and limits with different values, right?
If there is a need to support the possibility of different requests & limits, then I agree the approach in this PR would be too restrictive. #1612 is definitely more flexible in that respect.
One thing from my perspective is that I would like to be able to provide an easy way to ensure that all our internal users are specifying limits. For example, this would allow us to start using LimitRangers, which is something we would like to do internally. Expecting users to specify both requests & limits in all the steps of their different workflows themselves wouldn't be the best user experience.

I think I was one of the voices arguing for requests AND limits, however, I have become wiser (I think 🤔). As I understand it now, setting limits means that the requests are automatically set to the same on the pods. This was basically what I wanted in the first place.
But @cstano-attn seems to want the values to be able to differ:

I would +1 on the need for both limits and requests as separate values that can be passable. Setting them as the same just requires teams to increase everything to account for bursting

Could you elaborate on why it is beneficial to have separate values? What is a scenario where this is preferred?

given we now support @kubernetes(qos=), this PR can be safely closed.


[WIP] Fix bound transform for quasi random optimizers

Types of changes

[ ] Docs change / refactoring / dependency upgrade
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Motivation and Context / Related issue
Ugly patch for #615
Better methods should be implemented at some point :s

How Has This Been Tested (if it applies)

Checklist

[x] The documentation is up-to-date with the changes I made.
[x] I have read the CONTRIBUTING document and completed the CLA (see CONTRIBUTING).
[x] All tests passed, and additional code has been covered with new tests.

Illustrations are based on the following snippet:
import nevergrad as ng
import numpy as np
budget = 100
parametrization = ng.p.Tuple(*(ng.p.Scalar(lower=-12, upper=12) for _ in range(2)))
optimizer = ng.optimizers.LHSSearch(parametrization, budget=budget)
points = np.array([optimizer.ask().value for _ in range(budget)])
%matplotlib
import matplotlib.pyplot as plt
plt.plot(points[:, 0], points[:, 1], 'x')
plt.gca().set_xlim([-12, 12])
plt.gca().set_ylim([-12, 12])

With the current master, this provides:

After this PR, this would sample as follows:

With the following tag we can get mixed behavior (sampling on the full range on x, and according to the distribution on y:
parametrization[1].full_range_sampling = False

discussed with @teytaud and accepted


Fixing single Glottocode and CLDF conversion

@FredericBlum, here is the new PR for the changes on one Glottocode on this dataset. Thanks for the write access, @chrzyki .

I have no writing access either
@chrzyki Do you want to merge those PR's? I think you have the better overview right now anyway. Or I get writing access at the organization level (:


Testing and deps improvements

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9869445) 100.00% compared to head (4651f32) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #175   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           65        65
  Lines         1500      1500
  Branches       146       146
=========================================
  Hits          1500      1500

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


S2D Quorum Corrections and Additions

Removed rows from pool quorum table which have no witness, as you will always have a pool resource (witness)
Added section on what to expect when the S2D pool fails, including guest OS I/O timeout notes
Added 2 node example and failure descriptions
Correct vote counts to drives + 1
Added missing close parentheses

@JasonGerend

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Moving to -pr repo


interface to show/hide gui. Returns previous state

This allows other mods that add a (temporary) gui on the left to minimize YARM when their gui gets shown, when it gets closed they can restore YARMs previous state.
http://i.imgur.com/6sDjIOk.gif
Really only saves the player a few clicks, but i find it quite convenient.

Okay, I like it, but two things come to mind:

first, I'm not sure how I feel about passing a complete event structure (from an unknown event) through to the remote interface. Using it from the console would involve something like /c remote.call("YARM", "hide_expando", {player_index = game.local_player.index}); on the other hand, this really isn't intended to be called from the console. That could be okay, then.

second, even when reduced, if you have a field at <= 10% of its original load, it will remain visible. Since the goal here is to help FARL's GUI always end up in the same spot (which I totally love!), there will be cases where that doesn't happen. Fixing it right, however, will probably require #15; my current thought is that for field that are within an error condition (e.g., site depleted, site has less than 10 minutes remaining, etc.), one would get a custom filter button in the vertical flow on the left. This way, the current expando can have the semantic of "hide all the sites, period".

Neither of these are blockers -- I'm okay with the patch as it is -- but I think I'd prefer if you matched the existing interface call, e.g.:
function interface.close_expando(player_name_or_index)
    local player = game.get_player(player_name_or_index)

    if global.player_data[player.index].expandoed then
        -- ...stuff...

I know, it feels wasteful to do a game.get_player call like that, but I think it helps both readability and robustness.
Alternatively, have it take a player object directly, as in function interface.close_expando(player) -- used from the console as /c remote.call("YARM", "hide_expando", game.local_player). The caller can be expected to have a player on hand, right?

Didn't know that hiding doesn't work on low fields. I just got annoyed at the FARL GUI being in the middle of the screen while testing FARL (meaning jumping in and out of it a lot).
I'll go with matching the existing interface, player_index is really the only thing that's needed i guess. game.get_player might be wasteful, but it's gui code so that's ok for me. I'll add support for hiding YARM into my other mods too and probably to FAT Controller also (though in my current save it always opens at the leftmost side).
If the caller has a player it also has the index via player.index, so it's really no issue one way or the other.

Looks good to me, thank you.

I think this will need a change: if more than 1 other mod attempts to hide YARM you can run into a issue. Imagine YARM is maximized, no other mod gui is opened:

Mod A gets opened, requests YARM to minimize, recieves true as the previous state
Mods B .. E get opened, they too request YARM to minimize, they all recieve false
Mod A gets closed, requesting YARM to show up again.
Result: YARM is open while other mod gui's still want it to be minimized

A solution might be:

YARM keeps track how often it was requested to show/hide the ui
Only if only one mod wants YARM to be minimized and requests YARM to show again it returns the actual previous state (the one the first mod got returned), anything before that get's false as the previous state

This should fix the (theoretical) problem (I don't think there are any mods out there that make use of the new api yet)
I'll see if i can find some time tomorrow to add the api to my mods and test it a bit first before making a pull request

It's gonna be fragile pretty much regardless of how you do it -- the biggest problem being that you're relying on the mods to always call "unhide YARM" when they're done.
How about we don't do any refcounting shenanigans and just rely on the player to unhide YARM whenever they feel like it? Another mod can request YARM to go into a specific state, but there's no compulsion to return it to the previous state -- something that the player might mess with regardless.


First version of spec

This is the draft that I've been developing in https://github.com/pystatgen/sgkit/issues/740. The rendered file is at https://github.com/tomwhite/vcf-zarr-spec/blob/first-version/vcf_zarr_spec.md
This matches the implementation in sgkit, including the recent changes in https://github.com/pystatgen/sgkit/pull/766.

LGTM


elixir fails to install hex

Dockerfile.txt
i'm building this Dockerfile (added .txt only so it won't be blocked when attaching to the issue), which includes installation of Erlang and Elixir.
the build ends without any error, and after running the image, i can see that mix is installed, however hex is not installed, although the elixir.sh script includes the hex installation command
root@d63554929a9b:/# mix -v
Erlang/OTP 24 [erts-12.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] [jit]

Mix 1.13.3 (compiled with Erlang/OTP 22)
root@d63554929a9b:/# mix hex
** (Mix) The task "hex" could not be found
Note no mix.exs was found in the current directory

su -c 'mix local.hex --force' "${USER_NAME}" - this is from Elixir.sh

Are you a Hex user and familiar with how it works?
I'm not familiar with hex, so my first question is "who says mix hex is a valid command to work anyway?" Is it expected to work if you don't have any mix.exs?
FYI here's our buildpack test for elixir installation: https://github.com/containerbase/buildpack/blob/main/test/erlang/Dockerfile

@eRez-ws if I take your Dockerfile and run it as non-root user then mix hex works

You can achieve the same by also adding USER 1000 at the end of the Dockerfile

USER 1000

works like a charm


Update DepositionMTK.jl

Imported the data and finished the equations, but still working on the debugging.

recheck

Also you can put "I have reviewed and hereby sign the CLA" in a comment here to sign the CLA, if you are okay with doing so.

I have reviewed and hereby sign the CLA


Improve error message on UnsupportedFileFormatError

Describe the Bug
UnsupportedFileFormatError not useful
im = bioio.BioImage('some.nd2')

File ~/miniforge3/envs/chunglab/lib/python3.11/site-packages/bioio/bio_image.py:171, in BioImage.determine_reader(image, fs_kwargs, **kwargs)
    168 # If we haven't hit anything yet, we likely don't support this file / object
    169 # with the current plugins installed
    170 image_type = str(type(image))
--> 171 raise biob.exceptions.UnsupportedFileFormatError(
    172     "BioImage",
    173     image_type,
    174     msg_extra=(
    175         "You may need to install an extra format dependency. "
    176         "See bioio README for list of some known plugins."
    177     ),
    178 )

UnsupportedFileFormatError: BioImage does not support the image: '<class 'str'>'.
You may need to install an extra format dependency.
See bioio README for list of some known plugins.

Expected Behavior

~The type is shown incorrectly image_type = str(type(image)) is very likely to simply show '<class 'str'>' which is unlikely to help the user~ .... looks like this is fixed in main
The bioio README doesn't have a list of known plugins
It would be nice to have an in-library awareness of known plugins.  that is, if you're going to be maintaining a list in a README somewhere, you might as well put that in that code too to suggest a specific plugin to install.

Reproduction

Environment

OS Version: [e.g. macOS 11.3.1]
bioio Version: [e.g. 0.5.0]

#16 should fix your second suggestion.
As for your third suggestion, I've been personally on the fence about this since I'm unsure how we'd like to go about choosing the best suggestion to make to users when multiple plug-ins support the same file format. Perhaps we could just return them all

Definitely, all is better than none (particularly when most cases will be one, and the rare case will be only 2 or 3?)

Will #62 resolve this?

I think there are a few things to try before closing this out.

When we report that we think the file isn't supported we should dump the list of plugins currently installed. Not all the extensions but the plugins. This should be a relatively short list and an easy way to alert someone if they forgot to install a plugin before trying to read (I forget dependencies a decent amount of the time).

We should link them to the registry table in #62 as a part of the error message. Example: please review our list of known plugins to see if there is a plugin that supports your file.

If all else fails, we should prompt them to run something like determine_plugin(file, debug=True) and link them to the bug report page in the case that they do have the plugin installed (and or they have tried installing a new one), which does the things you have laid out in #26. That is, dumps the list of plugin information and dumps the order in which plugins were tested and the reason for failure.

I see this as: "this is the single entry point to using BioIO and if we fail here we should try everything we can to assist them, or tell them to alert us" and if that means a very long error message. So be it haha

I think there are a few things to try before closing this out.

When we report that we think the file isn't supported we should dump the list of plugins currently installed. Not all the extensions but the plugins. This should be a relatively short list and an easy way to alert someone if they forgot to install a plugin before trying to read (I forget dependencies a decent amount of the time).
We should link them to the registry table in feature/plugin-registry #62 as a part of the error message. Example: please review our list of known plugins to see if there is a plugin that supports your file.
If all else fails, we should prompt them to run something like determine_plugin(file, debug=True) and link them to the bug report page in the case that they do have the plugin installed (and or they have tried installing a new one), which does the things you have laid out in Surface more information during reader/plugin selection #26. That is, dumps the list of plugin information and dumps the order in which plugins were tested and the reason for failure.

I have added 6ae38f3. I see this as a bare minimum so let me know if additional context is needed for this.

Looks good as a first pass! Thanks so much!


Multiple Jobs not working

Hi,
im trying to run multiple cronjobs created from a custom range of jobs:
for (var x = 0; x < data.crons.length; x++) {
			var c = data.crons[x];
			try{
				console.log("Adding Custom CronJob "+c.id+" with tab "+c.tab);
				var job = new CronJob('00 ' + c.tab, function() {
...},null, start);

Only the last read job is executed... but on the time of the first...

I ran into the same problem. I think CronJob is essentially a singleton, and only one instance ever exists, at least from the 'tick time' point of view.
I found an extended fork of CronJob, called CronJobManager, which explicitly allows multiple jobs to be scheduled. It's at https://github.com/cfurst/CronJobManager.

Same experience.

The problem here is that your variable "job" is getting reused.
What you should do is create a Jobs array.
like the following:
for (var i = 0; i < length; i++) {
try {
jobs[jobcounter] = new CronJob(, function(){...}, null, true);
jobCounter++;
)
)

CronJob is not a singleton. It sounds like it 's a code problem. Closing due to age.


Packager hangs on invalid JS — more helpful error logging?

Description
When I try to build my app for iOS (either simulator on-device), the packager consistently hangs at 99% on the "Building JavaScript Bundle" step.
This is consistent with issues such as https://github.com/react-community/create-react-native-app/issues/560, which make me assume the error is somewhere in my own JS code (TS code in my case).
Rather than me shooting blind trying to find where my error is, is there a flag or something that will spit out compilation error messages?
Expected Behavior
When running yarn start and either connect via a physical device or an iOS simulator (or run yarn ios, npm start, etc), and my app fails to compile because of my own error, I'd expect to see (or be able to manually enable) output from Babel/Webpack/etc telling me what the error is.
At the very least, I'd assume it would fail out completely, rather than hanging silently?
Observed Behavior
The packager hangs indefinitely with the text "Building JavaScript: 99%". No error messaging shows up. Eventually, the connected client times out, but the terminal yarn/npm command remains stuck at 99%.
If there's an error message, please paste the full terminal output and error message in this code block:
Error text goes here!

Environment
Please run these commands in the project folder and fill in their results:

npm ls react-native-scripts:

<EMAIL_ADDRESS>/Users/lazerwalker/Code/word-temple/rn
└──<EMAIL_ADDRESS>

npm ls react-native:

<EMAIL_ADDRESS>/Users/lazerwalker/Code/word-temple/rn
└──<EMAIL_ADDRESS>

npm ls expo:

<EMAIL_ADDRESS>/Users/lazerwalker/Code/word-temple/rn
└──<EMAIL_ADDRESS>

node -v: v9.11.1
npm -v: 5.6.0
yarn --version: 1.6.0
watchman version: {  "version": "4.9.0" }

Also specify:

Operating system: macOS 10.13.4 (reproduced on multiple Mac devices, same OS version)
Phone/emulator/simulator & version: Reproduced both on a physical iPhone 8 Plus and in the 8 Plus simulator (Xcode 9.3)

Reproducible Demo
Can try to throw together a more minimal reproducible demo in a bit if it'd be helpful. Happy to help debug in any way that I can!

I've found I was able to help nail down my issues by just manually running tsc and seeing TypeScript compiler output, but it still feels like a pretty nasty bug that errors aren't being threaded through properly to yarn start output.

Hi! As of right now Typescript support is maintained separately at https://github.com/mathieudutour/create-react-native-app-typescript AFAIK, can you please open this issue there? Thanks!


added some function which are mentioned in todolist

refactored code using Pycharm (this is the reason which caused so changes i am sorry for that) and added some function
'''bridge impedance'' using electric.dynetz
'''propagation_constants''' for long transmission line
'''tapchaning_transformer" for calculating turns ration
I want to added method to find voltage across string capacitors https://circuitglobe.com/string-efficiency-of-suspension-insulator.html  and  many more I hope you like my work and please excuse me for making so many changes by refactoring

That's ok! the automatic refactoring is probably a good thing :)
I'll have to go through it all, but so far it looks pretty good! Looks like the Sphinx documentation builder failed, but I'm not quite sure why. I'll have to take a look...
Thanks again!

That's ok! the automatic refactoring is probably a good thing :)
I'll have to go through it all, but so far it looks pretty good! Looks like the Sphinx documentation builder failed, but I'm not quite sure why. I'll have to take a look...
Thanks again!

I think I should also mention, that if you have other formulas (like the "voltage across string capacitors" function(s) you suggested) feel free to add them, and we can look at reviewing them. I'd be very eager to add new functions!

I think I should also mention, that if you have other formulas (like the "voltage across string capacitors" function(s) you suggested) feel free to add them, and we can look at reviewing them. I'd be very eager to add new functions!

thank you sir i will make the changes which you mentioned
"LaTeX-supported format"  I was unaware of  this i will study about this
I will make a new full request with in 3 or 4 days because I am occupied
with my collage work
as i mentioned the function voltage across string capacitors please refer
this article and let me know if its worth adding
https://electrical-engineering-portal.com/voltage-distribution-in-a-suspension-insulator-strain
I designed a function which can find voltage across each suspended
capacitor disk no matter how many disks are present (Matrix method)
second thing i wanted to add  a function which takes input R,L,C and
outputs resonance frequency,bandwidth, quality factor, peak
overshoot,damping factor etc both in series   and parallel
sir you don't mind  can you share you slack id so that i can share my code
snippets and get suggestions and  modification in return
Thankyou
On Wed, Jan 6, 2021 at 10:33 AM Joe Stanley<EMAIL_ADDRESS>wrote:

I think I should also mention, that if you have other formulas (like the
"voltage across string capacitors" function(s) you suggested) feel free to
add them, and we can look at reviewing them. I'd be very eager to add new
functions!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/engineerjoe440/ElectricPy/pull/5#issuecomment-755080059,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMTDFZLS3JXK5ESC5ZJC22DSYPVLFANCNFSM4VUO4TFA
.

thank you sir i will make the changes which you mentioned
"LaTeX-supported format"  I was unaware of  this i will study about this
I will make a new full request with in 3 or 4 days because I am occupied
with my collage work
as i mentioned the function voltage across string capacitors please refer
this article and let me know if its worth adding
https://electrical-engineering-portal.com/voltage-distribution-in-a-suspension-insulator-strain
I designed a function which can find voltage across each suspended
capacitor disk no matter how many disks are present (Matrix method)
second thing i wanted to add  a function which takes input R,L,C and
outputs resonance frequency,bandwidth, quality factor, peak
overshoot,damping factor etc both in series   and parallel
sir you don't mind  can you share you slack id so that i can share my code
snippets and get suggestions and  modification in return
Thankyou
On Wed, Jan 6, 2021 at 10:33 AM Joe Stanley<EMAIL_ADDRESS>wrote:

I think I should also mention, that if you have other formulas (like the
"voltage across string capacitors" function(s) you suggested) feel free to
add them, and we can look at reviewing them. I'd be very eager to add new
functions!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/engineerjoe440/ElectricPy/pull/5#issuecomment-755080059,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMTDFZLS3JXK5ESC5ZJC22DSYPVLFANCNFSM4VUO4TFA
.

Not to worry! Please let your classes take priority.
Let me know if you need any help with the LaTeX math, I can point you to references, and help you write them out!
All of those functions sound terrific! I think all of those would be worth adding!
I'll note that I do already have a resonant frequency calculator: https://engineerjoe440.github.io/ElectricPy/api/electricpy.natfreq.html?highlight=resonance
We could definitely look at aliasing it to something like resonantfreq so that it's a little easier to find/use. We can wrap this pull request up at your leisure, and then open a new one for those other functions. That way it'll be a little easier to track everything and have a conversation about those new functions. I'm really excited!
Thank you again!

Not to worry! Please let your classes take priority.
Let me know if you need any help with the LaTeX math, I can point you to references, and help you write them out!
All of those functions sound terrific! I think all of those would be worth adding!
I'll note that I do already have a resonant frequency calculator: https://engineerjoe440.github.io/ElectricPy/api/electricpy.natfreq.html?highlight=resonance
We could definitely look at aliasing it to something like resonantfreq so that it's a little easier to find/use. We can wrap this pull request up at your leisure, and then open a new one for those other functions. That way it'll be a little easier to track everything and have a conversation about those new functions. I'm really excited!
Thank you again!

Forgive me for not adding any slack information. I don't have a slack account. I'll have to look into getting one...

Forgive me for not adding any slack information. I don't have a slack account. I'll have to look into getting one...


doc/dockertools: add note about base image config inheritance

Description of changes
Only Env configuration seems to be inherited from base image.
Things done

Built on platform(s)

[ ] 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

[ ] 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

[ ] 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.11 Release Notes (or backporting 23.11 and 24.05 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.

CI error is unrelated.


Cluster segments are missing after rebooting server

OrientDB Version: 2.2.18
Java Version: 1.8.0_144
OS: FreeBSD 11.0-RELEASE-p1
Hi, I have got a problem when I created new class in database.
I created "drives" class and then inserted approximately 100 records.
After rebooting my server, I found that cluster segments for drives class were missing.
Some queries for listing drive class do not work anymore.
It showed an error like this:

Cluster segment #142 does not exist in database 'FTO-Structure-2.0'"

Database Information
I checked the database by console.sh with info command.
Drive clusters were missing and the index of 3 of class list was also gone.
The followings are the parts of a result that are invalid:

CLUSTERS (collections)
+----+--------------+----+------------+-----------------+-----+----------+
|#   |NAME          |  ID|CLASS       |CONFLICT-STRATEGY|COUNT|SPACE-USED|
+----+--------------+----+------------+-----------------+-----+----------+
|0   |_studio       |  97|_studio     |                 |    6|      786b|
|1   |_studio_1     |  98|_studio     |                 |    0|        0b|
|2   |_studio_2     |  99|_studio     |                 |    0|        0b|
|3   |_studio_3     | 100|_studio     |                 |    0|        0b|
|4   |_studio_4     | 101|_studio     |                 |    0|        0b|
|5   |_studio_5     | 102|_studio     |                 |    0|        0b|
|6   |_studio_6     | 103|_studio     |                 |    0|        0b|
|7   |_studio_7     | 104|_studio     |                 |    0|        0b|
|8   |alias         |  89|alias       |                 |   11|      810b|
|9   |alias_1       |  90|alias       |                 |    5|      430b|
|10  |alias_2       |  91|alias       |                 |    5|      438b|
|11  |alias_3       |  92|alias       |                 |    5|      429b|
|12  |alias_4       |  93|alias       |                 |    4|      366b|
|13  |alias_5       |  94|alias       |                 |    5|      427b|
|14  |alias_6       |  95|alias       |                 |    3|      300b|
|15  |alias_7       |  96|alias       |                 |    3|      300b|
|16  |default       |   3|            |version          |    0|        0b|
|17  |domains       |  25|domains     |                 |    2|      330b|
|18  |domains_1     |  26|domains     |                 |    1|      148b|
|19  |domains_2     |  27|domains     |                 |    0|        0b|
|20  |domains_3     |  28|domains     |                 |    0|        0b|
|21  |domains_4     |  29|domains     |                 |    0|        0b|
|22  |domains_5     |  30|domains     |                 |    0|        0b|
|23  |domains_6     |  31|domains     |                 |    0|        0b|
|24  |domains_7     |  32|domains     |                 |    0|        0b|
|25  |e             |  17|E           |                 |    0|        0b|
|26  |e_1           |  18|E           |                 |    0|        0b|
|27  |e_2           |  19|E           |                 |    0|        0b|
|28  |e_3           |  20|E           |                 |    0|        0b|
|29  |e_4           |  21|E           |                 |    0|        0b|
|30  |e_5           |  22|E           |                 |    0|        0b|
|31  |e_6           |  23|E           |                 |    0|        0b|
|32  |e_7           |  24|E           |                 |    0|        0b|
CLASSES
+----+-----+----------+-----------+--------------------------------------------------------------------------------------------------------------------+
|#   |COUNT|NAME      |SUPER-CLASS|CLUSTERS                                                                                |
+----+-----+----------+-----------+--------------------------------------------------------------------------------------------------------------------+
|0   |    6|_studio   |           |_studio(97),_studio_1(98),_studio_2(99),_studio_3(100),_studio_4(101),_studio_5(102),_studio_6(103),_studio_7(104)  |
|1   |   41|alias     |[E]        |alias(89),alias_1(90),alias_2(91),alias_3(92),alias_4(93),alias_5(94),alias_6(95),alias_7(96)                       |
|2   |    3|domains   |[V]        |domains(25),domains_1(26),domains_2(27),domains_3(28),domains_4(29),domains_5(30),domains_6(31),domains_7(32)       |
|3   |     |          |           |                                                                                |
|4   |    0|E         |           |e(17),e_1(18),e_2(19),e_3(20),e_4(21),e_5(22),e_6(23),e_7(24)                                                       |

Database Directory
However, the database's directory still contains files for drives class.

...
-rwxr-xr-x  1 orientdb  orientdb      1024 Mar  6  2017 domains_7.cpm
-rwxr-xr-x  1 orientdb  orientdb     66560 Mar  6  2017 domains_7.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_1.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_1.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_2.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_2.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_3.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_3.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_4.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_4.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_5.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_5.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_6.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_6.pcl
-rwxr-xr-x  1 orientdb  orientdb     66560 Feb 14 12:46 drives_7.cpm
-rwxr-xr-x  1 orientdb  orientdb    263168 Feb 14 12:46 drives_7.pcl
-rwxr-xr-x  1 orientdb  orientdb      1024 Mar  6  2017 e.cpm
-rwxr-xr-x  1 orientdb  orientdb     66560 Mar  6  2017 e.pcl
...

orient-server.log
I have just noticed some errors in orient-server.log. The warning happened after I created new class.

2018-02-12 10:28:09:667 WARNI {db=FTO-Structure-2.0} Page in file drives.pcl with index 0 was placed in wrong free list, this error will be fixed automatically [OPaginatedCluster]
2018-02-12 10:28:13:320 WARNI {db=FTO-Structure-2.0} Page in file drives_7.pcl with index 0 was placed in wrong free list, this error will be fixed automatically [OPaginatedCluster]

I have already tried repairing by "repair database --fix-graph" and "repair database --fix-ridbags", but it did not work.
Is there any other ways to repair my database?

Sorry, any update on this case? This problem mean OrientDB may lost data in some points (in my case we lost entire cluster segment for a class). It's make our application can't going online!

Hi @hazzasym you use a very old version of the database, this issue already should be fixed. The problem was that sometimes not all data were written to the file system. Do you repeat the same problem with the latest 2.2.x release?

Hi @laa, thank you for your response.
First we try to upgrade our Orientdb latest version to both 0.2.32 and 0.2.33 release as you recommended but the latest version cause our query broke (we created new issue as #8142 ).
Now we stick with 0.2.18 release and wait for your reply to those ticket then we can confirm what we should try next and which information to provide for Orientdb team.
Best regards,

Should be fixed in latest 3.0.x as we use the durable version of storage configuration.


Can I change Discord RPC Detail with Lua Script?

What is your question?
If it can change how I do it Thank You :)

changePresence

thank you that really cool!


$route and $router type declarations seem to be missing in distributed declaration file

Version
4.0.0-beta.6
Reproduction link
https://github.com/aurelius333/vue-router-next-typing-repro
Steps to reproduce
Open src/views/index.vue and look for typing errors.
What is expected?
Should be typed correctly
What is actually happening?
Error message:
Property '$route' does not exist on type 'ComponentPublicInstance<{}, {}, {}, { theRoutePath(): string; }, {}, Record<string, any>, Readonly<{}>, ComponentOptionsBase<{}, {}, {}, { theRoutePath(): string; }, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<...>, string>>'.

It looks like the types appear here: https://github.com/vuejs/vue-router-next/blob/7869764cb5fefcf1fe02521c252b3e1ee35d4180/src/index.ts#L65-L115
However, they don't seem to show up in the final distributed vue-router.d.ts<EMAIL_ADDRESS>(I just searched for "$route" in this file and it didn't show up.)

It looks like there is a bug in api-extractor https://github.com/microsoft/rushstack/issues/2090 https://github.com/microsoft/rushstack/issues/1709
I wonder if we can find a workaround in the mean time that isn't appending the content to the final d.ts file

It works for me:
in ./shims-vue.d.ts file
import VueRouter, { Route } from 'vue-router'

declare module '@vue/runtime-core' {
  interface ComponentCustomProperties {
    $router: VueRouter;
    $route: Router;
  }
}


Create Readme.txt

Put your data file in this folder, such as the "mnist_uint8.mat" data file of "DeepLearningToolbox"

Please put the training and testing data file in this folder!

Put your data file in this folder, such as the "mnist_uint8.mat" data file of "DeepLearningToolbox".

readme.txt

readme.txt


Bug 2241268: osd: create config before migration osd

create the ceph config and keyring file in the osd prepare pod before starting the OSD migration. These files are needed to run any ceph command.
Signed-off-by: sp98<EMAIL_ADDRESS>(cherry picked from commit 94953f3f7b81f678ee18c7d793d566f886bc978f)

Description of your changes:
Which issue is resolved by this Pull Request:
Resolves #
Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the developer guide).
[ ] Skip Tests for Docs: If this is only a documentation change, add the label skip-ci on the PR.
[ ] Reviewed the developer guide on Submitting a Pull Request
[ ] Pending release notes updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

/approve
/lgtm


Create convolution function handling returning an array

Modify the convolution functions so that the code handling the data is moved to its own function. The goal is to have a function that takes in an image's data and that returns a data array as well. This allows not to round the values of the data every time convolution is used.
function rawDirectConvolution(data: ImageDataArray, options: ConvolutionOptions): Float64[];

Done in baff97d9791907240955f512e7633a39ffc12f48.


Fixes pageIterator to use updated nextLink property

This PR closes https://github.com/microsoftgraph/msgraph-sdk-go/issues/224
It fixes an issue where updated nextLink property of the collection models causes the pageIterator to fail.

Could this get released?


[CH] [WIP] Support celeborn shuffle writer on ch backend

What changes were proposed in this pull request?
support celeborn shuffle writer on ch backend
How was this patch tested?
manual tests

#2686

Run Gluten Clickhouse CI

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_2883_time.csv
log/native_master_09_03_2023_bfa0d89f2_time.csv
difference
percentage

q1
44.62
43.51
-1.113
97.51%

q2
24.56
24.52
-0.039
99.84%

q3
37.59
36.96
-0.629
98.33%

q4
41.50
41.79
0.294
100.71%

q5
69.32
69.61
0.291
100.42%

q6
6.78
6.64
-0.142
97.90%

q7
86.34
83.68
-2.656
96.92%

q8
80.67
80.40
-0.274
99.66%

q9
117.18
117.81
0.630
100.54%

q10
50.27
45.77
-4.500
91.05%

q11
19.46
19.08
-0.379
98.05%

q12
25.23
25.00
-0.232
99.08%

q13
51.16
49.28
-1.882
96.32%

q14
17.62
19.60
1.979
111.23%

q15
29.05
30.68
1.630
105.61%

q16
15.82
16.03
0.217
101.37%

q17
120.43
119.63
-0.807
99.33%

q18
161.19
164.99
3.796
102.36%

q19
12.02
13.93
1.906
115.85%

q20
25.97
38.74
12.764
149.14%

q21
235.79
249.00
13.205
105.60%

q22
15.59
15.62
0.027
100.18%

total
1288.16
1312.25
24.086
101.87%


skopeo fails to load dev mapper library in Fedora 25.

After source compiling skopeo in f25,
[root@localhost skopeo]# ./skopeo inspect docker://docker.io/gluster/gluster-centos
./skopeo: error while loading shared libraries: libdevmapper.so.1.02.1: cannot open shared object file: No such file or directory

Version:
device-mapper-libs-1.02.136-3.fc25.x86_64
# cat /etc/redhat-release
Fedora release 25 (Twenty Five)

Looks like the f25 device mapper lib is 1.02
[root@localhost skopeo]# rpm -ql device-mapper-libs
/usr/lib64/libdevmapper.so.1.02
..

@runcom any pointers on this ?

do you have any of these installed on your system:
device-mapper-libs-1.02.136-3.fc25.x86_64
device-mapper-devel-1.02.136-3.fc25.x86_64
device-mapper-1.02.136-3.fc25.x86_64

?

@runcom as mentioned in the description, I have it.    From error, it looks for  libdevmapper.so.1.02.1 what I have in my system is /usr/lib64/libdevmapper.so.1.02.

mmm I've never encountered this issue. let me try to reproduce, how did you build skopeo?

@runcom after cloning, make all, make install and then run the skopeo binary in f25.

I see, likely make all builds from an ubuntu based dockerfile and shared libraries are broken between ubuntu and fedora. Could you try just using make binary-local? it requires you to have dependencies installed on the machine you're compiling on but it ensures it uses libraries from your machine.

ok.. then I will do make clean and make binary-local

@runcom that works!

great, let's close this now :tada:

make binary DISABLE_CGO=1


Add #Reverse to ResultIterator

It's very useful to be able to revert the result.
This also makes it easier to migrate a model from ActiveRecord.

Coverage increased (+0.0%) to 99.71% when pulling 1aafd5dfa096d3b30c5f5654e6470933122f8101 on tiagotex:reverse-result into c73453a18aecea34af76847200288f8559673802 on whichdigital:master.

Coverage increased (+0.0%) to 99.71% when pulling 1aafd5dfa096d3b30c5f5654e6470933122f8101 on tiagotex:reverse-result into c73453a18aecea34af76847200288f8559673802 on whichdigital:master.

@andyjeffries It could be done that way. I just preferred to follow the ActiveRecord way, so when you port a model nothing breaks.

+1

Coverage increased (+0.0%) to 99.71% when pulling 2e7438d9b09c8b31909a8c6f89db2ac8aa90385c on tiagotex:reverse-result into c73453a18aecea34af76847200288f8559673802 on whichdigital:master.

Coverage increased (+0.0%) to 99.71% when pulling 2e7438d9b09c8b31909a8c6f89db2ac8aa90385c on tiagotex:reverse-result into c73453a18aecea34af76847200288f8559673802 on whichdigital:master.

Thanks, merged :-)


Search through page content

The search only uses the title for searching  or at least so it seems.
Is there a way to search through the entire page and provide hidden synonyms to search for?

Actually the search is made with jquery, that's why it has the fastest auto suggestion, and it just took the title as search keyword. I'll try to improve the search facilities day by day...

@jjkoehorst
We are happy to say that, this feature is now available. please download the latest code.


Enforce consistency in naming and structure conventions

Alright, so I’m currently going through g0 and trying to enforce some consistency in how things are named and structured (in the hope of eventually being able to produce a reasonably canonical guide/glossary to the code). I appreciate that this seems utterly tedious, and is not likely to make me many friends, but it also seems potentially somewhat useful. However, everyone here knows the code much better than me, so your opinions regarding these things are also crucial.
I’m going to keep a thread here of (apparent?) inconsistencies that I find, and what canonical form I’m choosing, but if anyone has other views (or feels that I’ve fundantally misunderstood something, which is very likely), then please do let me know! From my work so far on the moment and Vlasov apps:

elcMass/elcCharge/ionMass/ionCharge vs. massElc/chargeElc/massIon/chargeIon: I’m choosing right now to canonicalize everything to elcMass/elcCharge/ionMass/ionCharge;
beta vs. plasmaBeta: I'm choosing right now to canonicalize everything to beta;
sometimes using the "2" suffix to denote a second species quantity (e.g. T_i2) and sometimes to denote a squaring operation (e.g. sech2): I'm choosing right now to canonicalize all squaring operations to the "Sq" suffix (e.g. sechSq), reserving numerical suffixes for species designation;
sometimes using underscores for fractions (e.g. T_i1_T_i2) and sometimes using "Over" (e.g. TiOverTe): I'm choosing right now to canonicalize everything to using "Over"

I'll keep this updated as I go!

In general, let us avoid using CamelCase for naming.

Would underscores be preferable (e.g. "sech_sq" and "Ti_over_Te")?

Thanks for this effort. Here are some things that we've (inconsistently) tried using in the past:

When we started generating numerous kernels in gkylzero we decided that we would add modifiers/specificity as suffixes following an underscore. So, a trivial example is vlasov_maxwell and vlasov_poisson, where _maxwell and _poisson are the modifiers. I think we've done pretty well following this rule in kernel names, and tried to follow it in the handwritten code (in zero, unit, apps, regression) but didn't do it consistently in the latter. Under this rule, if it's such a thing, I think we would use mass_elc rather than elc_mass (although this depends on interpretation and this may be a bad case to discuss). Similarly, there could be multiple betas, so we could have beta_plasma, beta_poloidal, beta_elc.
Yes, I've also argued against using 2 to mean multiplication, division or raised by 2. In some kernels you'll find that we've used the suffixes D2 and R2 to mean divided and raised by 2. In fact there's a maxima function that finds powers of a variable and automatically generate temporary variables named varR# for a var^#. We could do something like this (D2,R2), but maybe for clarity something like _mul2, _div2, _pow2 is better. Yes, _sq is also in some places.
As Ammar said, we've tried to not use CamelCase in gkylzero, but we haven't been consistent about it.

Thanks Mana! That's super useful to know - I like the general principle of the format being something like "quantity_specifier". I will try to enforce that wherever it seems sensible to do so. I feel as though "_mul2", "_div2", etc. are somewhat clearer suffixes than "D2" and "R2", and squaring seems like a sufficiently common operation that "_sq" is not unreasonable in such cases. I think that, given these rules, we can mostly (if not entirely) remove the instances of CamelCase that I've seen in g0 so far.
[Also, for what it's worth, I've also noticed discrepancies between things like "momzi" and "izmom" (for ion z-momentum). I'm currently canonicalizing to the first form, but, as usual, let me know if you have thoughts.]


Support hdfs broker reading config from hdfs-site.xml #2148

In the production environment, hdfs broker show read config from hdfs-site.xml instead of manual input due to the complexity of hdfs config, user should not remember so manay hdfs config, by reading hdfs-site.xml, user can simply typing kerberos config and hdfs path to achieve loading data by hdfs broker

https://github.com/apache/incubator-doris/pull/2148


chore: remove run-in-docker logic from Makefile

The same benefits can be achieved by simply launching an interactive docker session inside a supported image and running commands from there. This approach has some additional benefits

Easier to maintain
Debloats Makefile
Less hidden magic
Same code for local and containerised execution

Checklist:

[ ] Have you added or updated tests to validate the changed functionality?
[ ] Have you added Release Notes in the docs repositories?
[x] Have you followed the Conventional Commits specification?

Changes are great. Thanks @blgm !


Version <IP_ADDRESS> compatibility

Hi, has anyone tested this with Shopware CE 6.4?
I didn't get it to work..

Could you please test the update of thumbnailProcessor? :-)

Ok. I will report if it works now :-) thx for your fast response

Hi, seems like to work now. Thanks :-)


Fix changelog divergence for Unreleased 2.x on main

Description

Adds missing Unreleased 2.x entry into main

Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[x] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #6585 (a83e072) into main (8c0e5d0) will increase coverage by 0.05%.
 Consider uploading reports for the commit aeb102a to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #6585      +/-   ##
============================================
+ Coverage     70.77%   70.83%   +0.05%
- Complexity    59125    59220      +95
============================================
  Files          4804     4804
  Lines        283098   283098
  Branches      40813    40813
============================================
+ Hits         200372   200525     +153
+ Misses        66269    66157     -112
+ Partials      16457    16416      -41

Impacted Files
Coverage Δ

.../java/org/opensearch/node/NodeClosedException.java
50.00% <0.00%> (-50.00%)
:arrow_down:

...ava/org/opensearch/action/NoSuchNodeException.java
0.00% <0.00%> (-50.00%)
:arrow_down:

...regations/metrics/AbstractHyperLogLogPlusPlus.java
51.72% <0.00%> (-44.83%)
:arrow_down:

...opensearch/persistent/PersistentTasksExecutor.java
22.22% <0.00%> (-44.45%)
:arrow_down:

...adcast/BroadcastShardOperationFailedException.java
55.55% <0.00%> (-44.45%)
:arrow_down:

...opensearch/index/reindex/BulkByScrollResponse.java
48.38% <0.00%> (-39.52%)
:arrow_down:

...cluster/coordination/PublishClusterStateStats.java
33.33% <0.00%> (-37.51%)
:arrow_down:

...n/admin/indices/readonly/AddIndexBlockRequest.java
35.71% <0.00%> (-35.72%)
:arrow_down:

.../opensearch/client/indices/CloseIndexResponse.java
56.25% <0.00%> (-35.00%)
:arrow_down:

...n/decider/SnapshotInProgressAllocationDecider.java
34.78% <0.00%> (-34.79%)
:arrow_down:

... and 460 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Use the new Jellyfin logo's font

Updated jf_font.css and replaced Quicksand for Plus Jakarta Sans

Thank you.


reset links aren't invalidated after they are used

As far as I can tell, password reset links aren't invalidated or expired after they are used:

The reset token is equivalent to a password since it allows anyone who knows it to set a new password.  Invalidating the reset token after it is used limits the duration of its validity, which is particularly important for long expiration windows like the 2 day default for this package.

Of course, by all means, once a user's password has been reset, the randomly-generated token should no longer be valid.

https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet#Step_3.29_Send_a_Token_Over_a_Side-Channel (end of paragraph)

This is a major issue.

Any plans to fix this issue?


Create tests for discoverCitationStyles

Create tests for discoverCitationStyles in the class CitationStyle.java to increase overall code coverage.

Merged into testing branch.


load_and_authorize_resource does not enforce authorization

I have multiple customers in the database and each of them can have multiple admins but I want to keep those customers separate and prevent from viewing each others information. I have added the following code to the ability model:
if admin_user.has_role? :admin
    can [:read, :show, :edit, :update, :new_tester, :create_tester, :delete_tester], Customer, id: admin_user.customer_id
end

When checking in the console, the abilities are set correctly.
Unfortunately even though I have added load_and_authorize_resource in the controller, admin users are able to view pages (such as edit) for other customers. This is not an expected behaviour- could you please tell me if this is a bug?
This is how my controller looks like:
class Admin::CustomersController < Admin::AdminController
  load_and_authorize_resource
  skip_authorize_resource :only => :increase_click_counter

  def edit
  ...
  end
  ...
end

Please refer to Stackoverflow for questions. Thanks.

I have submitted this as a question on Stackoverflow but nobody was able to help me.
http://stackoverflow.com/questions/36355060/cancan-load-and-authorize-resource-does-not-enforce-authorization?noredirect=1#comment60330184_36355060
Surely I would think that something that functionality that is not working as expected should be classified as a bug?


Option for trailing commas

Use case is generating a json value for a variable. When eslinting with trailing commas this is neccessary.
Should probably support all the eslint json settings really.
Similar issue from json5: https://github.com/json5/json5/issues/66

eslint has a fix option for the rule comma-dangle. https://github.com/eslint/eslint/blob/master/lib/rules/comma-dangle.js#L161

Out of scope for this project, unfortunately. Fork or find something that's intended to be fully configurable.


Notification not working any more on android 7.0 (SSL error)

I suspect this is a problem with lets-encrypt/ISRG Root X1 certificat not known (even if added in user certificats)
https://www.ssllabs.com/ssltest/analyze.html?d=unifiedpush.org&s=<IP_ADDRESS>&latest

I guess you have this error with UP-Example. If so, I'll transfer this issue

No, with SchildiChat.
But error reporting is not working (ssl error).

It is probably a problem with schildichat then. Do you have any relevant log/screenshot ?

Closing since it is related to another app, and without any answer for months


datapath: Perform wireguard.Agent updates out-of-band

Fixes deadlock identified in https://github.com/cilium/cilium/issues/24574

Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] If your commit description contains a Fixes: <commit-id> tag, then
please add the commit author[s] as reviewer[s] to this issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Are you a user of Cilium? Please add yourself to the Users doc
[ ] Thanks for contributing!

Fixes: #issue-number
<!-- Enter the release note text here if needed or remove this section! -->

Closing in favor of https://github.com/cilium/cilium/issues/24574


url.Parse() wrongly assumes scheme for schema-less hosts with port

What version of Go are you using (go version)?

$ go version go1.16.6 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="~/Library/Caches/go-build"
GOENV="~/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="~/code/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="~/code/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/Cellar/go/1.16.6/libexec"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/Cellar/go/1.16.6/libexec/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="~/code/go/src/gitlab.tmt.de/streaMonkey/xstream/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"

What did you do?
https://play.golang.org/p/EEzkqs1o0OS

What did you expect to see?
I expect to either an error, or an url like
&url.URL{Scheme:"", Opaque:"", User:(*url.Userinfo)(nil), Host:"localhost:8080", Path:"", RawPath:"", ForceQuery:false, RawQuery:"", Fragment:"", RawFragment:""}

What did you see instead?
&url.URL{Scheme:"localhost", Opaque:"8080", User:(*url.Userinfo)(nil), Host:"", Path:"", RawPath:"", ForceQuery:false, RawQuery:"", Fragment:"", RawFragment:""}

Note it does say

Trying to parse a hostname and path without a scheme is invalid but may not necessarily return an error, due to parsing ambiguities.

Duplicate of #21415


Fix typo in exponential number.

Why:
The exponential number given in the example is invalid.
What's being changed:
The invalid syntax -2.99-e2 is corrected to -2.99e-2.
Note that I did not correct the corresponding error in the translated versions:
docs % grep -e '-2.99-e2' -r .
./translations/es-ES/content/actions/learn-github-actions/expressions.md:  myExponentialNumber: ${{ -2.99-e2 }}
./translations/ja-JP/content/actions/learn-github-actions/expressions.md:  myExponentialNumber: ${{ -2.99-e2 }}
./translations/zh-CN/content/actions/learn-github-actions/expressions.md:  myExponentialNumber: ${{ -2.99-e2 }}
./translations/pt-BR/content/actions/learn-github-actions/expressions.md:  myExponentialNumber: ${{ -2.99-e2 }}

Check off the following:

[x] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@gsrohde Thanks so much for opening a PR! I'll get this triaged for review ⚡


chore: merge dev into master

Coverage remained the same at 85.273% when pulling a7f9241ad71ab6e276aa61767c67dd2c074183b6 on dev into d3c9b61b929431e0bc097ec1fd93e1587928e087 on master.


Move batched NMS indices to correct device (closes #17)

As described in:

#17

The following edit to line 254:
-                torch.zeros(len(data["boxes"])),  # categories
+                torch.zeros_like(data["boxes"][:,0]),  # categories

resolves the following error when running on GPU:
RuntimeError: indices should be either on cpu or on the same device as the indexed tensor (cpu)

which arises from letting torch choose a default device for the zero vector (it chooses CPU).
Here I also proactively fix what is sure to be the same bug on lines 217 and 360.

Thanks for catching this. It looks like torchvision moves categories to boxes's device in only one of its two NMS implementations, so this slipped through testing.