Site support request[3donlinefilms]

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like this: [x])
Use the Preview tab to see what your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.08.22. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.08.22

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[x] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):
[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2018.08.22
[debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
[debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
[debug] Proxy map: {}
...
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Single video: https://3dmoviesfullhd.com/player.php?title=Moana
Single video: https://3donlinefilms.com/player.php?title=Life+of+Pi
Playlist: https://3donlinefilms.com/results.php?search=&genre=Action

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.

Description of your issue, suggested solution and other information
Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.
If work on your issue requires account credentials please provide them or explain how one can obtain them.

I could not find a way to add this site. Thank you

https://github.com/rg3/youtube-dl#can-you-add-support-for-this-anime-video-site-or-site-which-shows-current-movies-for-free

As a matter of policy (as well as legality), youtube-dl does not include support for services that specialize in infringing copyright.


Verify UpgradeableBeacon.sol after using upgrades.deployBeacon()

I was not able to verify a UpgradeableBeacon.sol  after deploy it on polygon-mumbai using upgrades.deployBeacon. After a lot of attempts, i tried to create a contract that extends a UpgradeableBeacon.sol.  After that i was able to verifiy, but that doesn’t work for me, i need to use upgrades.deployBeacon() in order to also deploy the implementation contract for me. Any ideas of what could it be?
Obs: I've also tried to create a flatten file of UpgradeableBeacon.sol to verify as a single file on polygonscan, but it didn’t work.

What kind of error are you getting?
Did you try using the Hardhat Upgrades plugin's verify task? See https://docs.openzeppelin.com/upgrades-plugins/1.x/api-hardhat-upgrades#verify - you can pass in the beacon proxy address, and that will verify all of the related contracts including the UpgradeableBeacon.

I got that the byte code was not found.
That's the address i'm trying to verify:
https://mumbai.polygonscan.com/address/0x01A0c03311259c7e1E54942d27be07078362E0c0
I've also tried to use hardhat's verify task, but throws an error that also didn’t found any bytecode in the repository that matches with the code in the address.
I see that there is more 29 codes with the same bytecode in mumbai that is not verified.

I'm not sure what the issue was, but I just tried deploying an UpgradeableBeacon and BeaconProxy on Mumbai and was able to verify it using the task.  So that means your address is also verified now (with Similar Match Source Code).
For reference, I used this script to deploy:
import { ethers, upgrades } from "hardhat";

async function main() {
  const ContractFactory = await ethers.getContractFactory("MyToken");

  const beacon = await upgrades.deployBeacon(ContractFactory);
  await beacon.deployed();

  console.log(`Beacon deployed to ${beacon.address}`);

  const proxy = await upgrades.deployBeaconProxy(beacon, ContractFactory);

  console.log(`Proxy deployed to ${proxy.address}`);
}

// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main().catch((error) => {
  console.error(error);
  process.exitCode = 1;
});

Then set up the verify task according to these steps, and ran npx hardhat verify --network mumbai <beacon proxy address from above>

Closing this issue but feel free to comment if you have further related questions.

Thank you @ericglau,
I just need to understand better. I'm just able to verify a UpgradeableBeacon.sol with i deploy a BeaconProxy.sol with it?
Can't i just verify the UpgradeableBeacon alone?

You should be able to verify an UpgradeableBeacon manually by following this post (by submitting the Solc json input file to etherscan/polygonscan).
The verify task in the hardhat-upgrades plugin currently needs a proxy address as its argument.  For a beacon proxy, that would verify the beacon proxy itself and any associated contracts (including the UpgradeableBeacon).

Thank you for clarifying @ericglau !!


KaigiScaffold and KaigiTopAppBar should be placed at io.github.droidkaigi.confsched2022.designsystem.components

Idea Description
KaigiScaffold and KaigiTopAppBar is placed at io.github.droidkaigi.confsched2022.designsystem.theme package of core-designsystem module.
I think it should be at io.github.droidkaigi.confsched2022.designsystem.components package
Reference images and links

https://github.com/DroidKaigi/conference-app-2022/blob/main/core-designsystem/src/androidMain/kotlin/io/github/droidkaigi/confsched2022/designsystem/theme/KaigiScaffold.kt
https://github.com/DroidKaigi/conference-app-2022/blob/main/core-designsystem/src/androidMain/kotlin/io/github/droidkaigi/confsched2022/designsystem/theme/KaigiTopAppBar.kt

If the current package is intended, please close this issue.

Definitely. Great catch! 👍

please someone take this easy issue, I should use my time to prepare my session :-)

Thanks! I'll assign it to you.


Enable task lists (from GFM)

GFM lets you create Task Lists using the following syntax:
- [ ] First item
- [x] Checked item

Which renders the following:

[ ] First item
[x] Checked item

It would be great to have that feature in marked.

Closing as duplicate/similar


Transmit app name as Espruino manufacturer data

Feature added to both Emojuino and SensiBLE apps.

Thanks - I wonder if this could even be a 'boot' app rather than having it in each separate application?


Release v0.9.0

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details

StackReferenceOutputDetails were added to pu-java since v0.8.0.
We should tag a release with this feature so folks can use it.
Affected area/feature

v0.9.0 was released


to_matrix(vector, M, N) and to_matrix(matrix, M, N) functions

Add a new function to convert a vector to a matrix of a given size.  The current to_matrix() take a vector or row-vector to a matrix of the same shape, so can be thought of as implicitly speficying (M,1) or (1,N).    This might also be called reshape or something to that effect.
We want all three signatures for convenience:

[x] to_matrix(vector, int, int)
[x] to_matrix(row_vector, int, int)
[x] to_matrix(array, int, int)

It should work column-major to match Stan's other matrix manipulations.
It might be nice to add a flag for column-major vs. row-major and think of the above as defaulting to column-maor.

[x] version with fourth int column_major argument

[x] to_matrix(vector, int, int, int)
[x] to_matrix(row_vector, int, int, int)
[x] to_matrix(array, int, int, int)

Related to this earlier request: https://github.com/stan-dev/stan/issues/1193

Indeed, this one and #1193 should be done together or rolled into a single issue.

Adding #1193 to this issue as suggested by Bob so we can close #1193. I also changed the title of this issue to reflect this.

[ ] Generalize to_matrix to accept matrix arguments, e.g.

to_matrix(matrix,m,n)

  =def= to_matrix(to_vector(matrix),m,n)

which would be useful for reshaping matrices.

Given that some other to_matrix requests have been moved here, I thought I would also mention to_matrix is not defined on an array of vectors.
Since multi_normal requires the use of an array of vectors, you have to do some adjustments if you then want to do any matrix math on whatever is sampled from it.

How do I proceed to open a pull request for this on https://github.com/stan-dev/math? Should I open an issue there about the same thing, or just refer directly to this issue on the pull request?

@randomm  Welcome back!  Please  open an issue on stan-dev/math that refers to this issue.

Finished with PR #2264


Support fan/vacuum/media_player as Switch in HomeKit

Description:
Support fan/vacuum/media_player as Switch in HomeKit.
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#NA If @cdce8p consider this PR is acceptable, I'll update the document in home-assistant.github.io
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox.

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

I really like the idea of adding those types. However if we just use type_switch we are making it us to easy which would come back to harm us.
All of those domains support additional features, that are in part already supported by HomeKit.
@Yonsm If you want to move forward with it, please create separate type files for each and take a look at the services.json file. As an example for the fan domain, the Fanv2 service might be a good idea. Additionally that would allow for individual categories.
I'm closing this PR. Each new type should go in a new PR to make reviewing it easier.

For media_player the speker Service would be a good addition.
For vacuum I believe there is a fan speed setting. So adding the Fanv2 service might be an idea in addition to a normal switch.
If you want, I can open a PR later this week for the media_player domain so you see what I mean.

@Yonsm I've done a bit of testing and it seems like HomeKit is quite restrictive about what it supports. Originally I thought that I could add the speaker service with the chars mute and volume to support more than just on off, but it turned out that those are only support / intended for IP-cameras to use currently (see https://github.com/nfarina/homebridge/issues/1326 for more information).
Their are a few hacks around it, e.g. adding the fan service to control the volume, but I don't think we should go that way.
As a result I would follow the solution you suggested earlier to add the media_player as a switch. The only question being if we would like to map it to something else than on / off, like homebridge is doing it: resume / pause or play / stop.
For the vacuum I would suggest we use this PR and add it as a switch with turn on / turn off.
What's your opinion on it?


Nabu Casa SkyConnect: Fix supplier link

Fix supplier link

Link must not point to seeedstudio but our own product site

Fix image name

where did you get the "must" clause?

where did you get the "must" clause?

The product manager. I originally pointed to our own product website, but then removed the link because I wanted to avoid a duplication of the link.

i don't know your product manager nor do i have any ties with them

i don't know your product manager nor do i have any ties with them
What I'm trying to say is that the supplier link should point to our own product website.

i don't see the issue here, it already is pointing to it

I don't see the issue here, it already is pointing to it

Yes, you are right. That link is already there. Also, my apologies for coming on too strong.
Would it be possible to point to our order page instead? It points to 13 different suppliers in different regions. Then people can pick directly whichever supplier is closest.
https://www.home-assistant.io/skyconnect?order


💡 [Feature] - Error Message

[x] I am from GSSoC'23.
[x] I would like to be assigned this task.

Section
Description

Concise Description
The website lacks an error message feature that notifies users when they enter incorrect location details

Solution Proposed
Show an error message when the user enters wrong location details

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

Hi @Vanoita
Thank you for creating the issue. Please go ahead and start working on it. If you have any questions or need assistance during the process, feel free to ask.
Thank you for your contribution, and I'm excited to see your progress in resolving the issue.

Hello!
I have made a pull request (PR) in the CropForesight-Frontend repository. Can you please review the changes I made?.


Implement ProxyJump

Fixes #16

@gothicVI could you test this :pray:
open-remote-ssh-0.0.15.zip

Hi @jeanp413,
for most of my hosts this does seem to actually fix it.
However, for one which is especially locked down it does not. For that one the "workaround" via the ssh tunnel also did not work.
The basic ssh connection using a jumphost, however, does.
The error indicates that the server installation fails. Could this be due to the changes in https://github.com/jeanp413/open-remote-ssh/pull/14? Or could this be due to firewall issues? Is there an option to manually "install" the server by rsyincing the directory from another machine in the same network - the remote host might be blocked from downloading stuff from the internet...
Here's the error output, anyhow:
[Info  - 06:07:09.675] Resolving ssh remote authority 'ssh-remote+REMOVE' (attemp #1)
[Trace  - 06:07:09.686] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Trace  - 06:07:09.688] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:07:09.718] Trying no-auth authentication
[Info  - 06:07:09.726] Trying publickey authentication: /home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:07:09.742] Trying keyboard-interactive authentication
[Info  - 06:07:12.297] Trying no-auth authentication
[Info  - 06:07:12.353] Trying publickey authentication: /home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Trace  - 06:07:12.419] Server install command:

# Server installation script

TMP_DIR="${XDG_RUNTIME_DIR:-"/tmp"}"

DISTRO_VERSION="1.71.2"
DISTRO_COMMIT="cea9d1a4b17966719d8c5f3cdd914480f7cec47c"
DISTRO_QUALITY="stable"
DISTRO_VSCODIUM_RELEASE="22258"

SERVER_APP_NAME="codium-server"
SERVER_INITIAL_EXTENSIONS=""
SERVER_LISTEN_FLAG="--port=0"
SERVER_DATA_DIR="$HOME/.vscodium-server"
SERVER_DIR="$SERVER_DATA_DIR/bin/$DISTRO_COMMIT"
SERVER_SCRIPT="$SERVER_DIR/bin/$SERVER_APP_NAME"
SERVER_LOGFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.log"
SERVER_PIDFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.pid"
SERVER_TOKENFILE="$SERVER_DATA_DIR/.$DISTRO_COMMIT.token"
SERVER_OS=
SERVER_ARCH=
SERVER_CONNECTION_TOKEN=
SERVER_DOWNLOAD_URL=

LISTENING_ON=
OS_RELEASE_ID=
ARCH=
PLATFORM=

# Mimic output from logs of remote-ssh extension
print_install_results_and_exit() {
    echo "1e676c7df18a6c2a568a1284: start"
    echo "exitCode==$1=="
    echo "listeningOn==$LISTENING_ON=="
    echo "connectionToken==$SERVER_CONNECTION_TOKEN=="
    echo "logFile==$SERVER_LOGFILE=="
    echo "osReleaseId==$OS_RELEASE_ID=="
    echo "arch==$ARCH=="
    echo "platform==$PLATFORM=="
    echo "tmpDir==$TMP_DIR=="

    echo "1e676c7df18a6c2a568a1284: end"
    exit 0
}

# Check if platform is supported
PLATFORM="$(uname -s)"
case $PLATFORM in
    Darwin)
        SERVER_OS="darwin"
        ;;
    Linux)
        SERVER_OS="linux"
        ;;
    *)
        echo "Error platform not supported: $PLATFORM"
        print_install_results_and_exit 1
        ;;
esac

# Check machine architecture
ARCH="$(uname -m)"
case $ARCH in
    x86_64)
        SERVER_ARCH="x64"
        ;;
    armv7l | armv8l)
        SERVER_ARCH="armhf"
        ;;
    arm64 | aarch64)
        SERVER_ARCH="arm64"
        ;;
    *)
        echo "Error architecture not supported: $ARCH"
        print_install_results_and_exit 1
        ;;
esac

# https://www.freedesktop.org/software/systemd/man/os-release.html
OS_RELEASE_ID="$(grep -i '^ID=' /etc/os-release 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')"
if [[ -z $OS_RELEASE_ID ]]; then
    OS_RELEASE_ID="$(grep -i '^ID=' /usr/lib/os-release 2>/dev/null | sed 's/^ID=//gi' | sed 's/"//g')"
    if [[ -z $OS_RELEASE_ID ]]; then
        OS_RELEASE_ID="unknown"
    fi
fi

# Create installation folder
if [[ ! -d $SERVER_DIR ]]; then
    mkdir -p $SERVER_DIR
    if (( $? > 0 )); then
        echo "Error creating server install directory"
        print_install_results_and_exit 1
    fi
fi

SERVER_DOWNLOAD_URL="$(echo "https://github.com/VSCodium/vscodium/releases/download/\${version}.\${release}/vscodium-reh-\${os}-\${arch}-\${version}.\${release}.tar.gz" | sed "s/\${quality}/$DISTRO_QUALITY/g" | sed "s/\${version}/$DISTRO_VERSION/g" | sed "s/\${commit}/$DISTRO_COMMIT/g" | sed "s/\${os}/$SERVER_OS/g" | sed "s/\${arch}/$SERVER_ARCH/g" | sed "s/\${release}/$DISTRO_VSCODIUM_RELEASE/g")"

# Check if server script is already installed
if [[ ! -f $SERVER_SCRIPT ]]; then
    pushd $SERVER_DIR > /dev/null

    if [[ ! -z $(which wget) ]]; then
        wget --tries=3 --timeout=10 --quiet -O vscode-server.tar.gz $SERVER_DOWNLOAD_URL
    elif [[ ! -z $(which curl) ]]; then
        curl --retry 3 --connect-timeout 10 --location --silent --output vscode-server.tar.gz $SERVER_DOWNLOAD_URL
    else
        echo "Error no tool to download server binary"
        print_install_results_and_exit 1
    fi

    if (( $? > 0 )); then
        echo "Error downloading server from $SERVER_DOWNLOAD_URL"
        print_install_results_and_exit 1
    fi

    tar -xf vscode-server.tar.gz --strip-components 1
    if (( $? > 0 )); then
        echo "Error while extracting server contents"
        print_install_results_and_exit 1
    fi

    if [[ ! -f $SERVER_SCRIPT ]]; then
        echo "Error server contents are corrupted"
        print_install_results_and_exit 1
    fi

    rm -f vscode-server.tar.gz

    popd > /dev/null
else
    echo "Server script already installed in $SERVER_SCRIPT"
fi

# Try to find if server is already running
if [[ -f $SERVER_PIDFILE ]]; then
    SERVER_PID="$(cat $SERVER_PIDFILE)"
    SERVER_RUNNING_PROCESS="$(ps -o pid,command -p $SERVER_PID | grep $SERVER_SCRIPT)"
else
    SERVER_RUNNING_PROCESS="$(ps -o pid,command -A | grep $SERVER_SCRIPT | grep -v grep)"
fi

if [[ -z $SERVER_RUNNING_PROCESS ]]; then
    if [[ -f $SERVER_LOGFILE ]]; then
        rm $SERVER_LOGFILE
    fi
    if [[ -f $SERVER_TOKENFILE ]]; then
        rm $SERVER_TOKENFILE
    fi

    touch $SERVER_TOKENFILE
    chmod 600 $SERVER_TOKENFILE
    SERVER_CONNECTION_TOKEN="822c5ba2-3af4-4c3c-ac96-6bc604bdf215"
    echo $SERVER_CONNECTION_TOKEN > $SERVER_TOKENFILE

    $SERVER_SCRIPT --start-server --host=<IP_ADDRESS> $SERVER_LISTEN_FLAG $SERVER_INITIAL_EXTENSIONS --connection-token-file $SERVER_TOKENFILE --telemetry-level off --enable-remote-auto-shutdown --accept-server-license-terms &> $SERVER_LOGFILE &
    echo $! > $SERVER_PIDFILE
else
    echo "Server script is already running $SERVER_SCRIPT"
fi

if [[ -f $SERVER_TOKENFILE ]]; then
    SERVER_CONNECTION_TOKEN="$(cat $SERVER_TOKENFILE)"
else
    echo "Error server token file not found $SERVER_TOKENFILE"
    print_install_results_and_exit 1
fi

if [[ -f $SERVER_LOGFILE ]]; then
    for i in {1..5}; do
        LISTENING_ON="$(cat $SERVER_LOGFILE | grep -E 'Extension host agent listening on .+' | sed 's/Extension host agent listening on //')"
        if [[ -n $LISTENING_ON ]]; then
            break
        fi
        sleep 0.5
    done

    if [[ -z $LISTENING_ON ]]; then
        echo "Error server did not start sucessfully"
        print_install_results_and_exit 1
    fi
else
    echo "Error server log file not found $SERVER_LOGFILE"
    print_install_results_and_exit 1
fi

# Finish server setup
print_install_results_and_exit 0

[Trace  - 06:07:17.820] Server install command stderr:
ps: bad -o argument 'command', supported arguments: user,group,comm,args,pid,ppid,pgid,etime,nice,rgroup,ruser,time,tty,vsz,sid,stat,rss

[Trace  - 06:07:17.821] Server install command stdout:
Error server did not start sucessfully
1e676c7df18a6c2a568a1284: start
exitCode==1==
listeningOn====
connectionToken==822c5ba2-3af4-4c3c-ac96-6bc604bdf215==
logFile==/home/YYY/.vscodium-server/.cea9d1a4b17966719d8c5f3cdd914480f7cec47c.log==
osReleaseId==alpine==
arch==x86_64==
platform==Linux==
tmpDir==/tmp==
1e676c7df18a6c2a568a1284: end

[Error  - 06:07:17.821] Error resolving authority
Error: Couldn't install vscode server on remote server, install script returned non-zero exit status
	at t.installCodeServer (/home/XXX/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.15/out/extension.js:1:405397)
	at process.processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async /home/XXX/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.15/out/extension.js:1:375641
[Info  - 06:07:28.856] Resolving ssh remote authority 'ssh-remote+REMOTE' (attemp #2)
[Trace  - 06:07:28.860] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Trace  - 06:07:28.862] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:G5Xju3fAbNvv5y0pxtjEuAYfHWXpE9HdjnUlasj9eDA=
[Info  - 06:07:28.882] Trying no-auth authentication
[Info  - 06:07:28.889] Trying publickey authentication: /home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:07:28.906] Trying keyboard-interactive authentication
[Error  - 06:08:58.863] Error resolving authority
Error: Timed out while waiting for handshake
	at Timeout.<anonymous> (/home/XXX/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.15/out/extension.js:1:143942)
	at listOnTimeout (node:internal/timers:559:17)
	at process.processTimers (node:internal/timers:502:7)
[Info  - 06:08:58.907] Resolving ssh remote authority 'ssh-remote+REMOTE' (attemp #3)
[Trace  - 06:08:58.909] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Trace  - 06:08:58.910] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:08:58.927] Trying no-auth authentication
[Info  - 06:08:58.935] Trying publickey authentication: /home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:08:58.952] Trying keyboard-interactive authentication
[Error  - 06:10:28.911] Error resolving authority
Error: Timed out while waiting for handshake
	at Timeout.<anonymous> (/home/XXX/.vscode-oss/extensions/jeanp413.open-remote-ssh-0.0.15/out/extension.js:1:143942)
	at listOnTimeout (node:internal/timers:559:17)
	at process.processTimers (node:internal/timers:502:7)
[Info  - 06:10:28.943] Resolving ssh remote authority 'ssh-remote+RMOTE' (attemp #4)
[Trace  - 06:10:28.946] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Trace  - 06:10:28.947] Identity keys:
/home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:10:28.966] Trying no-auth authentication
[Info  - 06:10:28.973] Trying publickey authentication: /home/XXX/.ssh/id_rsa ssh-rsa SHA256:YYY=
[Info  - 06:10:28.988] Trying keyboard-interactive authentication

@jeanp413 I guess though this can be merged as in principle it's working.
The additional issue seems to be of different origin and I opened a new issue here https://github.com/jeanp413/open-remote-ssh/issues/18.

From the logs it's an error from the ps command, I changed it to args as  command  is just an alias
ps: bad -o argument 'command', supported arguments: user,group,comm,args,pid,ppid,pgid,etime,nice,rgroup,ruser,time,tty,vsz,sid,stat,rss


[crypto][test-only] Turns comments on type safety in cross_test into tests

turns the claims on things being impossible to write in cross_test into actual compilation tests (see individual commit message). These tests matter even if we don't use several schemes, as they show a trait implementer can't "fool" us on expected types.
two comment and annotation-only lints

@bors-libra r=kchalkias

:pushpin: Commit 94eebd3 has been approved by kchalkias

:hourglass: Testing commit 94eebd31184bed54554af9e0f1e764bd007bffd5 with merge 3c36d6d1714ab586971df3a41f94eea07d7e981b...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: kchalkias
Pushing 3c36d6d1714ab586971df3a41f94eea07d7e981b to master...


Make migration part of pachd / init job

Right now migration is implemented as little go scripts in the migration directory. This has the downside that they need to be compiled separately and the user needs to get them talking to rethinkdb before they can do their job. Instead we should just integrate that logic into our pachd image. That way we can make migrations happen as part of the init job or do them live from pachd while it's running.

@jdoliner 's new migration PR does this


How can I require the PHP plugin

Hi there,
I'm struggeling for a good time now, to find a working combination that would allow a successful build.
How do I need to amend the following build-script, to have the PHP Plugin available both on compile time and in the intellij execution context?
buildscript {
    repositories {
        mavenCentral()

        maven { url 'http://dl.bintray.com/jetbrains/intellij-plugin-service' }
        maven { url 'https://plugins.jetbrains.com/maven' }
    }
}

plugins {
    id "org.jetbrains.intellij" version "0.2.17"
}

dependencies {
    compile 'com.jetbrains.plugins:php:172.4155.41@jar'
}

apply plugin: 'idea'
apply plugin: 'org.jetbrains.intellij'
apply plugin: 'java'

intellij {
    version 'IU-2017.2.5'
    plugins = ['coverage', 'com.jetbrains.php:172.4155.41']
    pluginName 'plugin_name_goes_here'
}

group 'com.example'
version '1.2'

Thank you!

Nothing to add, plugins = ['com.jetbrains.php:172.4155.41'] is enough. compile 'com.jetbrains.plugins:php:172.4155.41@jar' is redundant.
See/attach gradle logs to figure out why plugin is not loaded

Great, thx for the quick answer! :tada:
It's a partial success:
Now I have a successful local build, but a failing travis build. Hm.
If you care to take a look:
https://github.com/cedricziel/idea-php-typo3-plugin/tree/gradle-modernization
and
https://travis-ci.org/cedricziel/idea-php-typo3-plugin/builds/291482060#L515

Actually, no ideas. Might be a glitch on plugins.jetbrains.com or something. From the point of view of gradle-intellij-plugin, there is no any difference between running locally and on Travis. Maybe --info logging could help.

I tried it locally and it failed. The reason is in following code:

dependencies {
    compile 'com.jetbrains.plugins:php:172.4155.41@jar'
}

And the error is quite descriptive:
Resource missing. [HTTP GET: https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/plugins/com.jetbrains.php/172.4155.41/com.jetbrains.php-172.4155.41.pom]
Resource missing. [HTTP HEAD: https://www.jetbrains.com/intellij-repository/releases/com/jetbrains/plugins/com.jetbrains.php/172.4155.41/com.jetbrains.php-172.4155.41.jar]

FAILURE: Build failed with an exception.

Not sure why you inserted it in the first place, but I think you should just delete dependency block and plugins.jetbrains.com repository.

Huh, I could swear I committed and pushed exactly that. Sorry for wasting your time and thx for the quick response though!

No problem, good to know it works now


Add Bitcast.fm to user agents list

This PR adds Bitcast.fm crawler jobs to user-agents list

Thank you!

@jamescridland thank you for merging! For some reason I don't see Bitcast entry on master rss-ua.json file. I am afraid it was deleted by accident in this commit. Do you want me to create another PR to add Bitcast again?

Ah, my fault. I'll go fix.

Amazing, thank you @jamescridland! 🙏


'References dialog box' page requires a scrub

I'm aiming to make a PR in respect of this ISSUE at some point.
You can see what progress I've made so far for this ISSUE, at the following address {the commit message(s) provide explanations of the changes}:

'references-dialog-box.md' changes.

If you would like me to PR these changes straight-away, or by a certain date, let me know.

[ ] Consult the VBA language specification to make sure proposal for this ISSUE is aligned to it. It appears, after partially examining the specification, that 'library' is the right word to use in relation to the commit here that is for this ISSUE's proposal.


Contextual errors/hints on failures.

I've started adding some example ones over here. I know it's pretty crude (those regexs are pretty horrible! :p). Just wanted to gauge peoples responses before I start adding more to all the other exercises and cleaning everything up.
Eg.
$ cat a.js
var pizza = 'pizza is alright';
pizza.replace("alright", "wonderful");
console.log(pizza);

$ javascripting verify a.js
Nearly there! The replace function returns a new string, so make sure you assign the result to a variable!
-------------------
# O-oh, something isn't working.
But don't panic!
-------------------
Need help? Ask a question at: github.com/nodeschool/discussions/issues

Should this be closed now that we have the diff output for failure message?

Yeah, I think so, it might be worth coming back to this in the future though.


Wasmcloud_host credo warnings

This PR fixes the Software Design warnings except the TODOs, the Readability warnings except the module_tag missing (I can't give a proper description of all those modules, sorry) and the Refactoring opportunities.
All the warnings left between host_core and wasmcloud_host are mainly the leftover TODOs, some Refactoring Opportunities and the module_tag descriptions.

@giusdp would you mind rebasing and pushing to this branch? I think the issue with the tests should be resolved

I rebased it!


Update template handler for Rails 6

Running axlsx in Rails 6 triggers a deprecation warning:
DEPRECATION WARNING: Single arity template handlers are deprecated.  Template handlers must
now accept two parameters, the view object and the source for the view object.
Change:
  >> #<Class:0x000000010f6c1c80>#call(template)
To:
  >> #<Class:0x000000010f6c1c80>#call(template, source)

This is because of a recent change to Rails (rails/rails#35119) that attempts to make template handlers read-only.
This PR removes the deprecated (“old-style”) handler for Rails 6 projects, while maintaining compatibility with older versions of Rails.
Fixes #112.

Test failures seem unrelated

@mcgregordan Sorry for the slow response. I have almost no time for this work and kept trying to get to it. I'm just merging this into the repo and will fix the travis issues later.

@straydogstudio no worries. Thanks for merging.


Install ubuntun and spyder on windows

https://medium.com/@macasaetjohn/setting-up-a-spyder-environment-with-wsl-bb83716a44f3


LexUtils.createPositions method

Should add a method to LexUtils that creates new LexPositions directly from the prev/next LexPositions. This is equivalent to wrapping Order.createPositions, but it should instead be self-contained and easy to re-implement in another language (the main point of this method).
There is a TODO in internals.md (and the readme?) that references this method.
Cf. position-strings' createBetween method.

Current API proposal: createPositions(prevPos: LexPosition, nextPos: LexPosition, count: number, bunchID: string): LexPosition[]. Note that you must supply your own, globally-unique bunchID; unlike position-strings' createBetween method, this one will be stateless, so it can never reuse a bunchID.

Voided by https://github.com/mweidner037/list-positions/pull/16


Offline node check without consul

It would be really handy to use some sort of timeout, where an active job refreshes some sort of "last activity" timer, and jobs will restart on other nodes if not refreshed often enough.
It could also be implemented in a different way, where a table could be used in a similar way, where a node upserts its (id, heartbeatTime) every N seconds, and that table is referenced as a service checker.

Hey @skandragon ,
This is certainly a great idea. It's something I've thought about doing as part of: https://github.com/SecurityInsanity/Coworker/issues/3 I've got a semi-working branch locally for advisory locks. I can clean it up a bit and push it up as an experimental feature if you'd like to try it. Do you think you'd be able to do that, or would you wait for a long term feature once it's stabilized?

I'd like to use it in production, so I can't really take too early code as it runs at a customer site.  Harder to fix.  :/
That said, I'm about to do a PR that will address some of this for me -- it makes ServiceChecker into an interface.  PR in about 20 seconds.  :)

Addressed in #7 and #8


Watch and rebuild  when presets/mixins changes

@MikeBild what kind of scenario do you have in mind?

To have "hot-reload" during development on a mixin

IRL, we agreed not to tackle this topic within untool at this point - the required specific functionality is being added downstream in https://github.com/xing/hops/pull/590.
Feel free to reopen if you still think we should change our minds in this regard.


Content for the homepage

We had talked about pulling in some of the "About us" content for the homepage.
Also from #242, the usability test revealed:

Testers were generally unaware of the features of OpenDisclosure that would benefit them when making choices for the election. Our recommendation is to give a clear indication what tools/features the users can expect in the website.

From the usability test, we still want to add some content here.

The extra dead space at the bottom of the screen is not visually pleasing

@sfdoran @elinaru Should we just pull in the about text or is there something more relavant?

https://docs.google.com/document/d/1YRlgHC-Venn5oaTY7jrk42OJfabM8171EykkcHC1EQE/edit#

@sfdoran any update on this?

@adborden I haven't done it yet - but I will get on it! I'll edit and submit a pull request as a WIP to @elinaru for feedback.

@sseiter would you help me redraft this? I have some ideas.


Steam API Caching?

This is a sort of request/question. Would an API cache be in the scope of work soon?
As API calls for https://example.com/api/query/app?appid=GAME&lang=english can take upwards of 1.5 to 2 Seconds to complete, and then this is all done staggered in the waterfall it is jarring to visitors.
Most of this is due to the Steam Community API being complete garbage. But with Steam API response being JSON, they could in theory be cached

Caching was not on my to-do list before, but this sounds like a nice idea. I'll check this out soon and see if this will improve the performance significantly. Thank you for your suggestion.

As an update, I got bored and made a working prototype using Redis, I will be adding support for other KV store applications like Memcached
I Will work on a PR later next month.

Hi @SophiaAtkinson, that's great! I am really looking forward to your PR!
I am currently considering to relaunch the project. Tho the original .com domain was grabbed, so the cheapest solution here would be to use a .net domain. Tho I don't know if it would make much sense. If your mirror is frequently used / attracts other users, it would not be required for me to create another instance.
Also I'd like to add more features like showcasing Steam Achievements.

@danielbrendel Currently I have Redis working 99.9% I am not too good at multiple integrations, but for now, I have the frame of reference for anyone who wants to integrate another KV storage system.
Here are the basic config options
# Redis settings
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASS="xyz"
REDIS_DATABASE=15
REDIS_EXPIRATION=3600 #3600 seconds = 1 hour

I think for the time being this covers all of the bases. REDIS_PASS  can also be left empty for those who need it to be empty.
If you have any other questions, feel free to ask! I'm on track to open a PR later this week.
-SRA


Add build information to the metrics/queries

This allows use cases where we can see and query the changes in metrics
after a version change in the code base.
Ref: https://github.com/autometrics-dev/autometrics-rs/pull/69
Ref: https://github.com/orgs/autometrics-dev/discussions/10

I'll add a recipe to modify the build information stuff within a dockerfile, it will make the PR significantly larger as the examples have not been set up to work with a build script (mostly to avoid issues with docker contexts)

I'm also switching command line argument parsing a bit to use go-arg, it helps make leaner code in the parsing phase, and auto-generates a good help message

The Autometrics v0.3.1-6-g323548f (Built on Fri Apr 28 10:32:02 UTC 2023) line is also the output of autometrics --version


Question: production-ready rancher cluster

What kind of request is this (question/bug/enhancement/feature request):
Question
In the rancher quickstart, it makes it clear, it will not result in a production ready cluster. No efforts are made to document any steps one ought to take to bring a cluster into a production state or make clear what a production-ready should be.
Can someone in the Rancher org take a stab at defining what constitutes a production-ready cluster and include this appropriate documentation to enable progression from a poc to a production deployment with Rancher 2.x. Many thanks.

I'm working on this in https://github.com/rancher/docs/issues/628


everyItem(equalTo()) passes on empty array

The CoreMatchers everyItem(equalTo("value1")) doesn't fail if response body is empty array.
For example:
getRequest().then().body("p1", everyItem(equalTo("value1"))) passes for body:
[
  {
    "p1": "value1",
    "parameters": {
      "p2": "value2"
    },
    "p3": true,
    "p4": []
  },
  {
    "p1": "value1",
    "parameters": {
      "p2": "value2"
    },
    "p3": true,
    "p4": []
  }
]

but same request also passes for body with empty array:
[]
Using Hamcrest 2.1 and Java 8

Is body a method or framework you have created yourself? Do you have a test case using standard java classes?

The current implement is worked as intended. There is an explicit test for this case. I believe the logic is that if there's nothing in the test in the collection, then there's nothing to fail.


Center camera on annotation

Is your feature request related to a problem? Please describe.
In our use case, we have about 600 labels and 100 annotations per high-res image. Verifying the correctness of these annotations can be very tedious, as you have two options:

Zoom in on an annotation until the label is big enough to display the text, which is really tedious when you have 100 small annotations spread out across a high-res image
Click an annotation from the "Region" sidebar. This allows you to see the label quickly, but it is now instead a lot more difficult to find out which bounding box it belongs to.

Describe the solution you'd like
I think the solution should be to have a hotkey that centers the camera around a bounding box, zooming in enough to make the label readable. Then, you could simply click a region in the sidebar, smash your hotkey and quickly verify if the bounding box contains the correct label.
Describe alternatives you've considered
Alternatively, there could be a hotkey that just toggles between each bounding box and zooms in on them.  This has the advantage of using only the keyboard. However, some times you don't want to toggle between 99 annotations before reaching the one you actually wanted to see.
Maybe the best solution is to implement both? The two solutions will probably share a lot of code.
Additional context
Nothing to add. Happy to answer questions or discuss it further.

Is your feature request related to a problem? Please describe. In our use case, we have about 600 labels and 100 annotations per high-res image. Verifying the correctness of these annotations can be very tedious, as you have two options:

Zoom in on an annotation until the label is big enough to display the text, which is really tedious when you have 100 small annotations spread out across a high-res image
Click an annotation from the "Region" sidebar. This allows you to see the label quickly, but it is now instead a lot more difficult to find out which bounding box it belongs to.

Describe the solution you'd like I think the solution should be to have a hotkey that centers the camera around a bounding box, zooming in enough to make the label readable. Then, you could simply click a region in the sidebar, smash your hotkey and quickly verify if the bounding box contains the correct label.
Describe alternatives you've considered Alternatively, there could be a hotkey that just toggles between each bounding box and zooms in on them. This has the advantage of using only the keyboard. However, some times you don't want to toggle between 99 annotations before reaching the one you actually wanted to see.
Maybe the best solution is to implement both? The two solutions will probably share a lot of code.
Additional context Nothing to add. Happy to answer questions or discuss it further.

roboflow labeling features[centered cross guideline ] aliked will greatly increase labeling product abilities :-)

Is this feature, or any similar feature, planned for any upcoming sprint? Would be really nice to have!

Hi @RasmusJohns we currently don't have this feature request in an upcoming sprint, but I'll definitely add this request to our product backlog as I can see how this would be useful to many folks.

RectLabel is an offline image annotation tool for object detection and segmentation.
Although this is not an open source program, with RectLabel you can quick zoom to the selected box using the hotkey Command + G.
https://rectlabel.com/help#focus_box

related:
https://github.com/heartexlabs/label-studio/issues/2132
https://github.com/heartexlabs/label-studio/issues/3455 <= current
https://github.com/heartexlabs/label-studio/issues/3676
https://github.com/heartexlabs/label-studio/issues/3818

This seems to be one of the most common feature requests. Any update on hopes of being included in the future?


feat: migrate to style-dictionary

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Upload

Coverage increased (+0.7%) to 64.174% when pulling 147af3b03c0ba68543d4f55f026f41bfcee4efe9 on upload into 6df3ed1791033d47fbaca615c60d75bb5bc47801 on master.


Segmentation fault in async_client only with the support SSL

Hi,
My application crashes with a segmentation fault when I use async_client with the support of SSL.
We managed to reproduce the issue in our environment by performing a sequence of steps (which I can't explain here), and the issue does not occur without SSL. Possibly that this bug is ASIO and not MQTT.
During my investigations, I discovered a very similar issue that I wanted to share: https://github.com/xtreemfs/xtreemfs/issues/281. My understanding is that the issue is related to the lifetime of the boost asio socket, so I cannot conclude whether it is really an ASIO bug or a misuse by MQTT library.

Could you post a Minimal, Reproducible Example?
https://stackoverflow.com/help/minimal-reproducible-example

Hi redboltz,
Thank you for your quick reaction.
I was expecting such a request ;-) I'll need to discuss internally whether I can get the budget ...
In the meantime, here is the stacktrace during the crash and you can observe that it is quite similar to the one reported in https://github.com/xtreemfs/xtreemfs/issues/281. It occurs after a disconnection from the broker.
#0  0x00007f649001cee0 in ?? ()
#1  0x00007f64cfb79a4a in BIO_write () from /home/cbo/debug-dmm-on-diasimul/20210909T111110/usr/local/dmm/lib/libcrypto.so.1.1
#2  0x0000000000e9d34f in boost::asio::ssl::detail::engine::put_input(boost::asio::const_buffer const&) [clone .isra.124] ()
#3  0x0000000000f0ea39 in boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >::operator()(boost::system::error_code, unsigned long, int) ()
#4  0x0000000000ea0cba in void boost::asio::io_context::strand::dispatch<boost::asio::detail::binder2<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >, boost::system::error_code, unsigned long>, std::allocator<void> >(boost::asio::detail::binder2<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >, boost::system::error_code, unsigned long>&&, std::allocator<void> const&) const [clone .isra.6872] ()
#5  0x0000000000f1048d in boost::asio::detail::completion_handler<boost::asio::detail::binder2<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >, boost::system::error_code, unsigned long>, boost::asio::io_context::basic_executor_type<std::allocator<void>, 0u> >::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()
#6  0x0000000000eae349 in boost::asio::detail::strand_service::do_dispatch(boost::asio::detail::strand_service::strand_impl*&, boost::asio::detail::scheduler_operation*) ()
#7  0x0000000000ea0dbc in void boost::asio::io_context::strand::dispatch<boost::asio::detail::binder2<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >, boost::system::error_code, unsigned long>, std::allocator<void> >(boost::asio::detail::binder2<boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >, boost::system::error_code, unsigned long>&&, std::allocator<void> const&) const [clone .isra.6872] ()
#8  0x0000000000f1020f in boost::asio::detail::reactive_socket_recv_op<boost::asio::mutable_buffer, boost::asio::ssl::detail::io_op<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor>, boost::asio::ssl::detail::read_op<boost::asio::mutable_buffer>, boost::asio::detail::read_op<boost::asio::ssl::stream<boost::asio::basic_stream_socket<boost::asio::ip::tcp, boost::asio::any_io_executor> >, boost::asio::mutable_buffer, boost::asio::mutable_buffer const*, boost::asio::detail::transfer_all_t, boost::asio::executor_binder<std::function<void (boost::system::error_code, unsigned long)>, boost::asio::io_context::strand> > >, boost::asio::any_io_executor>::do_complete(void*, boost::asio::detail::scheduler_operation*, boost::system::error_code const&, unsigned long) ()
#9  0x0000000000c13ab5 in boost::asio::detail::scheduler::run(boost::system::error_code&) ()
#10 0x0000000000ea31bf in Mobility::DMM::Mqtt::Publisher::run() ()
#11 0x00000000013dd1eb in thread_proxy ()
#12 0x00007f64cf6a1f94 in start_thread (arg=0x7f6499ffb700) at pthread_create.c:309
#13 0x00007f64ce9393cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

I quote you the interesting part of the xtreemfs ticket:

It was caused by the fact that newer boost (?) versions try to write to the socket, even after the SSL stream was shutdown. However, the socket was already deleted when the connection was closed. Usually, programs using boost::asio use a shared_ptr for the socket and are therefore not affected by such obstacles. However, we once agreed to avoid using shared_ptr and therefore do not delete the socket object before the connection is closed. Evidently, this isn't enough.

Maybe it could give you some hints

I just looked the issue and solution. Unfortunately I don't get any useful information from that.
I will start some analysis when you will post  a Minimal, Reproducible Example.

Also I recommend that applying valgrind and/or address sanitizer to your application. You would get some information.

I noticed that #78 might cause the issue.
I have an idea to improve #78 fix that is mentioned async_shutdown call.

OS version, OpenSSL version, mqtt_cpp version (it it is released version otherwise commit hash).

Additional questions:
You said that you are using async_client. Please tell me disconnecting situation.
Disconnect from the broker or from the client ?
If from the client, which API are you using ?

Hi Redboltz,

mqtt::make_tls_async_client
Disconnect is initiated by the broker
The client resides inside an active object (1 single thread running an io_context). All calls are posted to the io_context. There is NO direct call to the client from another thread

Thank you.
Please answer the question https://github.com/redboltz/mqtt_cpp/issues/856#issuecomment-916500452 too.
The current master contains some fix of shutdown process.
https://github.com/redboltz/mqtt_cpp/tree/11d26fae1a6c87466a1eab02a494c89e18f84a1d
It still doesn't clean TLS layer but on TCP layer not only socket close() but also socket shutdown(). It might solve your problem.

OS: ubuntu 20.04
BOOST 1.76 and 1.77
MQTT 8.0.0 and 11.1.0
OPENSSL 1.1.1

Thank you.

layer
operation
implemented mqtt_cpp version

web socket
sendclose packet, then read until closed
#860

TLS
(async_)shutdown
#860

TCP
shutdown (no async version)
#860 11d26fae1a6c87466a1eab02a494c89e18f84a1d

TCP
close (no async version
#860 11d26fae1a6c87466a1eab02a494c89e18f84a1d 11.1.0 8.0.0

Due to #78, version 11.1.0 and 8.0.0 only close TCP socket. It worked well so far. But I guess it could cause the problem you reported.
Lack of TCP shutdown, #848 was found.
The has 11d26fae1a6c87466a1eab02a494c89e18f84a1d (current master HEAD) has TCP shutdown. It might solve your problem.
Finally, I implemented graceful shutdown for all layers. It is #860. It is not merged yet. During implementing #860, I experienced a log of blocking problem. I will merge it test with #860 on my proprietary project's production code.
Could you test the following two versions ?

11d26fae1a6c87466a1eab02a494c89e18f84a1d
#860

The PR #860 works fine on my project. I'm going to merge it.
But I haven't experienced your problem on my project. I think that #860 should be merged but I'm not sure it would solve your problem.
@ropieur , is your problem solved?

@redboltz , we are working on it. I delivered a package internally with the branch fix_656. We need to resolve issues on our platform and then we will retest the disconnection with the broker. It can take multiple days before we get there. Anyway I'll keep you posted with the result in this ticket.

@ropieur thank you! I will wait your feedback :)

We managed to reproduce the crash with the branch fix_856 and I get the exact same backtrace from the coredump.
FYI, it is quite difficult to reproduce it, because the tester needs to perform a sequence of manipulations multiple times to reproduce it (because the issue does not necessarily reproduce immediately).

In the error handler, my app typically performs the next operations:
this->tls_async_client->set_error_handler([this](const auto &error) { // triggered error = connection reset by peer
    this->tls_async_client->async_force_disconnect();
    this->steady_timer.expires_after(2s);
    this->steady_timer.async_wait([this](const auto &error) {
        if (error) return; // timer canceled
        this->tls_async_client->async_connect();
    });
});

Question:
May I invoke async_force_disconnect from the error handler? (Originally, the code invoked force_disconnect)

set_error_handler 's callback is called from on_error() as follwos:
https://github.com/redboltz/mqtt_cpp/blob/f2ee0b8121b419f7c7a8693e1929ea64860286d2/include/mqtt/endpoint.hpp#L5045-L5062
In the line 5051, shutdown() is called internally. So you don't need to call async_force_disconnect().
So I recommend the following code;
this->tls_async_client->set_error_handler([this](const auto &error) { // triggered error = connection reset by peer

    // remove async_force_disconnect()

    this->steady_timer.expires_after(2s);
    this->steady_timer.async_wait([this](const auto &error) { // capture this's weak_ptr to avoid fire after cancel
        if (error) return; // timer canceled
        this->tls_async_client->async_connect();
    });
});

The timer could be fired after cancelled (destroyed):
https://stackoverflow.com/questions/43045192/how-to-avoid-firing-already-destroyed-boostasiodeadline-timer
It very rarely happens.
So you need to make sure the object's lifetimes in the handler.
Typecal approach is async_wait handler captures this's weak_ptr if this is shared_ptr.
See
https://github.com/redboltz/mqtt_cpp/blob/f2ee0b8121b419f7c7a8693e1929ea64860286d2/include/mqtt/endpoint.hpp#L2265-L2277
FYI:
socket_->post() is
https://github.com/redboltz/mqtt_cpp/blob/f2ee0b8121b419f7c7a8693e1929ea64860286d2/include/mqtt/tcp_endpoint.hpp#L72-L77
So, it is protected by strand. It can be called after closed.
Calling force_disconnect() in the timer handler is dangerous() on multi-threaded environment.
https://github.com/redboltz/mqtt_cpp/blob/f2ee0b8121b419f7c7a8693e1929ea64860286d2/include/mqtt/endpoint.hpp#L1078-L1084
Because timer handler's code can be worked on any threads. It is not protected by strand. So users needed to call post with strand. Now, async_force_disconnect() do it.
If the async_client want to disconnect forcibly then call async_disconnect().
Users don't need to call async_force_disconnect() in close and/or error handler.
shutdown() has the guard to  avoid call twice:
https://github.com/redboltz/mqtt_cpp/blob/f2ee0b8121b419f7c7a8693e1929ea64860286d2/include/mqtt/endpoint.hpp#L5263-L5273

FYI, it is quite difficult to reproduce it, because the tester needs to perform a sequence of manipulations multiple times to reproduce it (because the issue does not necessarily reproduce immediately).

This is a TLS client and server example:
https://github.com/redboltz/mqtt_cpp/blob/master/example/tls_both.cpp
This is a async client example:
https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_async_client.cpp
This is simple connect/subscribe/publish/disconnect example.
But you can create small code as follows:

Async Client async_connect()
Server force_disconnect()
Async_Client set timer 2s and async_wait()
On timer fired, async_connect() , goto step2

It could preproduce the crash on your environment.

We managed to reproduce the crash with the branch fix_856 and I get the exact same backtrace from the coredump.

I suspect that the memory corruption could be happened in somewhere in your application.
The backtrace doesn't contain mqtt_cpp code.
https://github.com/redboltz/mqtt_cpp/issues/856#issuecomment-915939487
Did valgrind and/or address sanitizer report nothing?

Hi @redboltz ,

The timer could be fired with success error code after cancelled (destroyed):
https://stackoverflow.com/questions/43045192/how-to-avoid-firing-already-destroyed-boostasiodeadline-timer
It very rarely happens.
So you need to make sure the object's lifetimes in the handler.

I'm aware about the different traps with asio, like the lifetime of the objects passed to the handlers and about the fact that cancelling a socket and timer operations may not necessarily lead to the error operation_aborted in their handler. I will still consider that the corruption resides in my application and continue investigations on my side. My apologies if I abused your time.
Thank you for your reactivity and support, really appreciated!

Ok, if you would found the root of issue on your application side, then please close the issue.
NOTE #860 has been merged. It should be merged for clean (graceful) shutdown even if it is not a reason of the issue.

It is very difficult to understand. My first impression is it is tricky code.
It seems that it is different situation from

Disconnect is initiated by the broker

https://github.com/redboltz/mqtt_cpp/issues/856#issuecomment-917441111
Anyway, if this->tls_async_client->connected() returns false, then this->tls_async_client->async_force_disconnect() and this->tls_async_client->async_connect(), run concurrently. Even if they share the same io_context and run on the one thread, it is bad.
Because mqtt_cpp can multiple async operation in the APIs. It depends on the implementation and could be changed.
I'm not sure why async_force_disconnect() is required but you can know when async_force_disconnect() is finished.
Simple passing async_force_disconnect(your_completion_handler). In the handler, you can call async_connect().

I noticed one more thing.
On async_connect() , you should add completion handler.
See
https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_async_client.cpp
On Async APIs, all APIs has completion handler that's type is async_handler_t.
This should be added. You can know the timing of async operation completion.
It can eliminate query function like connected().
It is async coding style.

I noticed that after #860 merged, async_force_disconnect() handler is called before all shutdown processes are completed.
It could be wrong. I will take a look it.
But it seems that it is not related to your issue.

I create #868. But it is not directly relate to the issue, I guess.
I considered what your code want to do. Then I assume that you want to care the case that the broker no response.
I updated your code as follows:
    void mqtt_active_object::connect()
    {
        // 1. call async_connect()
        this->tls_async_client->async_connect(
            [](mqtt::error_code ec) {
                if (ec) {
                    // 4. The ec is set by async_connect() process, or
                    //    by the result of async_force_disconnect() call
                    //    Reconnect 3s later
                    this->retry_timer.expires_after(3s);
                    this->retry_timer.async_wait(
                        [this](const auto &error) {
                            if (error) { // canceled
                                return;
                            }
                            // 5. retry (goto step1)
                            this->connect();
                        }
                    );
                }
                else {
                    // 3. If async_connect() is succesfully finished,
                    //    cancel connect_timer.
                    this->connect_timer.cancel();
                }
            }
        );
        // 2. set connect_timer to retry if broker won't response
        this->connect_timer.expires_after(5s);
        this->connect_timer.async_wait(
            [this](const auto &error) {
                if (error) { // canceled
                    return;
                }
                // 3. if connect_timer is fired, call async_force_disconnect().
                //    Callback handler is not used.
                //    During or after async_force_disconnect processing,
                //    1. async_connect() callback handler is called with failure
                this->tls_async_client->async_force_disconnect();
            }
        );
    }

The important point is avoiding multiple async_connect() call. It could make UB.
So the retry code should be in async_connect() handler.
If something wrong, async_connect() handler is called with error code.
But it could take a long time (e.g. broker is freeze and long TCP timeout is set by OS).
NOTE: I couldn't reproduce the scenario.
In order to avoid it, call async_force_disconnect() from the client side.
But you shouldn't call async_connect() for retry in the async_force_disconnect() handler.
async_force_disconnect() calling is indirectly boost async_connect() handler call.
So longer no-response is solved.
Finally, async_connect()  handler is called with error code and then retry.
I recommend that setting retry timer.

Hi @redboltz ,
Thank you for the code excerpt. I now start having a better understanding on how to play with the async client interface.
I implemented your proposed solution, but I meet another issue
async_connect succeeded (no error), but the connack_handler is never invoked (I suppose because the broker didn't ack). This leaves my client stucked, because the connect_timer has been canceled and there will be no retry connection attempt.
I decided to move the connect_timer.cancel inside the connack_handler instead, in order to prolong the timeout. The connect_timer is then triggered, which invokes async_force_disconnect. But unfortunately, this does not result in the invocation of connect_handler with error (because it was already invoked without error, I guess), nor in the invocation of error_handler (which is more surprising too me).
Do you have a link to a documentation describing in which circumstances the different handlers are invoked (handlers passed to async_* calls and handlers registered like set_error_handler, set_connack_handler ...) ? With such a documentation, I could design a robust solution according to the different error scenarii.
Thank you

This is my observation.

TCP connection is successfully established.
TLS handshaking is successfully finished.
mqtt_cpp client sends CONNECT packet (Need checking)
broker doesn't send CONNACK packet

First, you need to check 3.
You can set a breakpoint or debug output at the following lines:
https://github.com/redboltz/mqtt_cpp/blob/6d264145aca4d855a4e231fa7ea4630a49e5c900/include/mqtt/endpoint.hpp#L10456
https://github.com/redboltz/mqtt_cpp/blob/6d264145aca4d855a4e231fa7ea4630a49e5c900/include/mqtt/endpoint.hpp#L11472
The first line is sending CONNECT packet.
The second line is the last phase to send any packets.
Both line should be executed.
If they are executed, the problem is at the broker side.
But even if the broker has a problem, the client should work better.
So you can move connect_timer.cancel(); to connack handler as follows:
    void mqtt_active_object::connect()
    {
        // 1. call async_connect()
        this->tls_async_client->async_connect(
            [](mqtt::error_code ec) {
                if (ec) {
                    // 4. The ec is set by async_connect() process, or
                    //    by the result of async_force_disconnect() call
                    //    Reconnect 3s later
                    this->retry_timer.expires_after(3s);
                    this->retry_timer.async_wait(
                        [this](const auto &error) {
                            if (error) { // canceled
                                return;
                            }
                            // 5. retry (goto step1)
                            this->connect();
                        }
                    );
                }
            }
        );

        this->tls_async_client->et_connack_handler(
            [&]
            (bool sp, MQTT_NS::connect_return_code connack_return_code){
                // 3. All underlying connection (e.g.TCP, TLS) connected, and then MQTT connected
                this->connect_timer.cancel();
        }

        // 2. set connect_timer to retry if broker won't response
        this->connect_timer.expires_after(5s);
        this->connect_timer.async_wait(
            [this](const auto &error) {
                if (error) { // canceled
                    return;
                }
                // 3. if connect_timer is fired, call async_force_disconnect().
                //    Callback handler is not used.
                //    During or after async_force_disconnect processing,
                //    1. async_connect() callback handler is called with failure
                this->tls_async_client->async_force_disconnect();
            }
        );
    }

Do you have a link to a documentation describing in which circumstances the different handlers are invoked (handlers passed to async_* calls and handlers registered like set_error_handler, set_connack_handler ...) ? With such a documentation, I could design a robust solution according to the different error scenarii.

See https://github.com/redboltz/mqtt_cpp/wiki/Sync-vs-Async#connect-error-handling-1
In this case, step 1 to 4 finished successfully. But step5 isn't passed. No error is happened.
So the connect_timer should care step1 to step5.
If my updated code would solve your issue, then I will add the document to the wiki. It could be one of the best practice for connection sequence.

I created #869 (merged). The test broker supports no CONNACK response emulation mode. And added test using the mode.
The PR also fixed broker side code. (invalid connack call)
The broker side fix is not related to the issue because you are not using mqtt_cpp example broker.
The PR doesn't contain the client side modification.
After async_connack()'s acallback is called with success error code, but the broker doesn't send CONNACK packet, nothing happens.
So the client side needs to set a timer. When the timer is fired, call async_force_disconnect().
It does shutdown process on the client side. As the result of that process, error handler (set by set_error_handler()) will be called.
So you can write the reconnect code in the error handler. I guess that it has already been written to reconnect after MQTT connection is established.
Also I merged #870.
https://github.com/redboltz/mqtt_cpp/blob/master/example/no_tls_async_client_reconnect.cpp demonstrates how to implement practical reconnecting logic.

Hi @redboltz ,
I finally fully fixed based on your suggestions/modifications. For sure, I didn't modify other parts of my app in order to fix. So, this is certainly due to a misuse of the async client. Difficult to me what exactly leads to the crash, but might be due to consecutive calls to async_connect. Anyway, happy that it is now completely fixed on my side.
In order to deploy my fix, I would need an official tag (v12? v11.2?) of mqtt_cpp with your latest modifications. Would it be possible?
Thank you

Now v12.0.0 has been released.
If your problem is solved, please close the issue.


enhance log viewing with specific log helper cmdlets

As we use eventlog for our activity, it may be helpful to have some specific cmdlets to assist viewing the log and possibly used to bundle output into a support request.
https://blogs.technet.microsoft.com/heyscriptingguy/2015/10/21/event-log-queries-using-powershell/

some of this was done with improvements  to the event log id tags by Johan. Closing as some progress has been made


chore: remove unnecessary quotes in type annotations

Description

SSIA, based on https://docs.astral.sh/ruff/rules/quoted-annotation/
Related Issues

Checklist

[ ] This PR has sufficient documentation.
[ ] This PR has sufficient test coverage.
[x] This PR title satisfies semantic convention.

Additional Comments

No additional comments.

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

v4.8.0
GitHub release

Your semantic-release bot :package::rocket:


Dataframe view: deduplicate row with identical value

The dataframe view has a lot of duplicated content, especially in time range mode (same entity for many timestamps, etc.).

deduplicate content of the time and/or entity path columns (ie. write the content only once
add stroke lines to make cell "merged" state more explicit
"stick" the cell value to the top of the table when scrolling

if we start with an entity on top -> most likely this behavior will not happen as often (only if smth was logged at the same time tick multiple times, which is not a majority of cases). Because normally there will be 1 row per a time tick. Hence this will be useful after enabling changing 'Entity as a row' VS 'Entity as a column'?
https://github.com/user-attachments/assets/c58b36a0-4729-4479-bb48-090d85e3993a

Probably only useful with:

https://github.com/rerun-io/rerun/issues/7379


Usability: Add an easy way for a user to retrieve an inclusion proof after having synced over its block

Given the following scenario:

Note N is created and included in block X
Current block height is X+N
User syncs with a block higher than X
User learns about note N and wants to consume it

The sync endpoint, as it is, doesn't cover the situation above. So a user may never see the inclusion proof for the block N, and therefor never be able to consume it.

We have some workarounds for the issue above:

The note creator can send the inclusion proof to the user
The user can still use the sync endpoint, but for every new note they would need to perform a sync from genesis, for the case the note has been created in the past

Another alternative, is to change the semantics of sync and move the responsibility to the server

Responsibility to the sender: The note creator can send the inclusion proof to the user.

I think this may be independently interesting as this may remove the source of ambiguity on whether the transactions is already included or not. I think our note serialization format should be able to handle notes of different types - specifically:

A note without inclusion path (same as now).
A note with inclusion path (and here, this could be just the path from the note root of a block header, and the client would be responsible for fetching the block header from the network).

On the negative side, in additional to extra latency, it does introduce a potential attack vector where a malicious sender could send an invalid inclusion path - so, the client would need to handle such situations.

Responsibility shared with sender & server:

I think one other approach that falls into this category could be to add a new endpoint to the node - something like get_notes_by_id. This endpoint would accept a list note IDs and return note data together with note inclusion paths. This endpoint could also be used for retrieving note details which we'll need for public notes.
The main downside of this approach is reduced privacy - i.e., the node may learn additional info about the notes the client is interested in.

On the negative side, in additional to extra latency, it does introduce a potential attack vector where a malicious sender could send an invalid inclusion path - so, the client would need to handle such situations.

I was thinking the authentication path would be anchored in the MMR. That is to say, not only the path from the note to the block, but also the path from the block to the current MMR. There are MMR race conditions the client needs to handle, but the sender would not be allowed to lie.

I think one other approach that falls into this category could be to add a new endpoint to the node - something like get_notes_by_id. This endpoint would accept a list note IDs and return note data together with note inclusion paths. This endpoint could also be used for retrieving note details which we'll need for public notes.

Agree, that is what I tried to propose here

Is this the case? It seems there is no more information than when getting information with a sync.

I think the description here was to return only the data for an specific note. Whereas the sync returns data for any note matching a given prefix. IMO we should make this a bit more flexible, as in the user can choose how much data she receives by having a variable length prefix, so privacy would be preserved, and we would still have the possibility of a fast path for things like on-chain notes.

This is supported from the client (eventually this struct should be moved to miden-base as has been discussed). Although there is no current way to retrieve a block header on demand to build the reset of the required proof.

I'll think we'll need to add an endpoint to miden node to retrieve a block header + the inclusion path for that block against a given MMR forest.

Is this the case? It seems there is no more information than when getting information with a sync.

I think the description here was to return only the data for an specific note. Whereas the sync returns data for any note matching a given prefix. IMO we should make this a bit more flexible, as in the user can choose how much data she receives by having a variable length prefix, so privacy would be preserved, and we would still have the possibility of a fast path for things like on-chain notes.

Generally, I agree - but I would probably start with the simpler endpoint which works with Node IDs, and then add a privacy-preserving one later.

We already have a part of this issue done - i.e., we have GetNotesById endpoint. What is missing is the ability to retrieve an MMR authentication for an arbitrary block. I think we have 2 options here:

Modify the existing GetBlockHeaderByNumber endpoint to also return the authentication path.
Add a new endpoint - something like GetBlockHeaderWithAuthPath

In either case, we could return the authentication path against the latest MMR state, and the client will be able to truncate it accordingly.

In terms of what a user would need in order to be able to use a note for which it has not received sync-related data, it seems that adding auth path to the GetBlockHeaderByNumber should be enough and the simpler option.
However, there will likely be other use-cases where it would be unnecessary to return the MMR data alongside the block header data (explorer?), so it feels like adding a new endpoint would be a better way to go. Another more mixed approach could be to add a flag to the GetBlockHeaderByNumber request that defines whether the response contains MMR data or not.

I'm leaning toward using a single GetBlockHeaderByNumber endpoint where by default we return both the block header and the MMR path. We can also add an option to "omit" the MMR path - but this can also be done later. The assumptions are:

Adding MMR path to the response should not impose too much of a penalty as the MMR is already in memory and so, getting relevant data from it would be super quick.
It's not going to increase the response size too much. I'm thinking this will add 2KB - 4KB to the response.
Getting a block header by itself, is not a super useful. For entities that need to build up a complete view of the chain, we have GetBlockByNumber which returns the full block.
In case someone wants to download a bunch of block headers without the paths, we can add the option to omit the paths from the responses.

But I'm also fine with not returning the path by default and use an additional parameter to specify whether the path should be included.


Hover not working

Hello,
I successfully got gradients on my buttons now but unfortunately hover is not working on those buttons with gradients. Is there any way to get it to work?

Hi @amrap030! By default the only variant enabled for the gradient utilities is responsive, but you can enable the hover variant like this:
// tailwind.config.js
{
  variants: {
    linearGradients: ['hover', 'responsive'],
  },
}

The variants keys that this plugin reads are backgroundImage (for the bg-none utility), linearGradients, radialGradients, conicGradients, repeatingLinearGradients, repeatingRadialGradients, and repeatingConicGradients.
Let me know if that works for you. If not, please show me your markup and your Tailwind config.


Question: How to make friends make new characters

I have a Linux dedicated server. When I join (as the host) I have the issue where i have to make a new character. However my friends can join using their old characters. This then raises the question. How does my friend make a new character for this world?
Im asking this because when i convert my GUID to the new GUID my friends have to make a new character. But once that character is made it doesn't make a new .sav file for them..

What seems to happen is when the fix is applied to the host, it causes some incompatibility with the game and the game decides to just overwrite their existing .sav file. The problem is related to https://github.com/xNul/palworld-host-save-fix/issues/22 so I'm going to close this issue. For any future updates, please watch that issue. I'm working on some changes which should make things more robust and less error-prone.


Hello, can you provide the pre-training script and how to use it?

This is a wonderful project, I would like to try to reproduce the pre-training process but don't know where to start, can you provide some help?

@Kukty Sure, I will provide the pre-training script this weekend.

@Kukty Hi, We have provided the pre-training script and guidance for pretraining. Please check out the latest commit and have a try!

@Kukty Hi, We have provided the pre-training script and guidance for pretraining. Please check out the latest commit and have a try!

Really appreciate it!


[BEAM-7731] Adding helper function to handle if null else pattern for expression generation.

[BEAM-7731] Adding helper function to handle if null else pattern for expression generation.
Changes are done based on the comment given as part of  https://github.com/apache/beam/pull/8930

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @apilloud

LGTM. Thanks for the follow-up!


Pickable storage driver clients

Hi !
This PR aims at adding a way to pickle the ModelLibrary which, for the moment, is impossible due to storage drivers (especially boto3 and gcs).
It introduces a MODELKIT_LAZY_DRIVER environment variable which, if set, will prevent the Storage Providers from storing the drivers (boto3, gcs, azure), instead, the configuration settings will be stored allowing the corresponding Storage Provider to build it on the fly.
This will make way easier the use of python libraries which use pickle such as Apache Spark and multi-processing, leveraging modelkit.
Thanks for reviewing, as always!

@ldeflandre sorry for the missing documentation 🤦
Please take a look at the latest commit!

Good job ! I'm wondering the use-case differences between MODELKIT_LAZT_LOADING and MODELKIT_LAZY_DRIVER. Dose setting MODELKIT_LAZY_DRIVER=True cover all the use-case of MODELKIT_LAZT_LOADING=True ? If it's the case, should we remove MODELKIT_LAZT_LOADING to avoid confusion ?

I would like to wait for @tgenin's approval before merging

@llin17 that's a good remark thanks! Actually the two mechanisms have different goals, and you might want to allow the MODELKIT_LAZY_DRIVER to access your cloud provider and disable MODELKIT_LAZY_LOADING to build all your models before forking / sending models to workers etc. (with the assumption that your models are pickable of course :))

Thanks ! What do you think if we set the default value of MODELKIT_LAZY_DRIVER to True ?

Very nice feature, thank you @antoinejeannot

Thanks for your pretty relevant remarks as always @tgenin, please take a look at the latest commit 🙏


near account does not say that there is actually a contract deployed to it

https://explorer.near.org/accounts/near
There should be a contract section on that page, but it is missing.

Notice that there is contract code hash

We use this query to extract information about contract (https://github.com/near/near-explorer/blob/master/backend/src/db-utils.js#L1113-L1128):
SELECT
        DIV(receipts.included_in_block_timestamp, 1000*1000) AS block_timestamp,
        receipts.originated_from_transaction_hash AS hash
       FROM action_receipt_actions
       LEFT JOIN receipts ON receipts.receipt_id = action_receipt_actions.receipt_id
       WHERE action_receipt_actions.action_kind = 'DEPLOY_CONTRACT' AND action_receipt_actions.receipt_receiver_account_id = :account_id
       ORDER BY action_receipt_actions.receipt_included_in_block_timestamp DESC
       LIMIT 1

but this query fails

I tried to run this query in DBeaver but it fails after 57s

@telezhnaya
It seems like DB takes too much to query actions on account with a huge amount of them, and near is one of those.

That's right. But how we can fix this?

I've created the scratch of the solution to make the query faster.
Be careful, the Analytics DB is updated only at midnight.
It means that you still need to make the query to the indexer, but with an additional clause:
WHERE timestamp >= today_midnight

Good news: the query should work really fast with this clause.
So, it should be a combination of 2 fast queries. We've implemented similar logic with @shelegdmitriy before

@telezhnaya Thanks! I'll prepare PR after yours

I suggest you make no movements until I merge this PR :)
The interfaces could change during the review.
I will ping you separately

@shelegdmitriy I deployed it.
You can have a look.
I suggest you to run 3 queries.
The first one to Analytics DB to find the latest historical option
SELECT * FROM deployed_contracts
WHERE deployed_to_account_id = 'near' -- put here the desired account_id
ORDER BY deployed_at_block_timestamp DESC
LIMIT 1

The second one to Analytics DB to find the latest update in general and save the timestamp
SELECT deployed_at_block_timestamp FROM deployed_contracts
ORDER BY deployed_at_block_timestamp DESC
LIMIT 1;

The third one to Indexer DB to find the fresh update.
SELECT
        DIV(receipts.included_in_block_timestamp, 1000*1000) AS block_timestamp,
        receipts.originated_from_transaction_hash AS hash
       FROM action_receipt_actions
       LEFT JOIN receipts ON receipts.receipt_id = action_receipt_actions.receipt_id
       WHERE action_receipt_actions.action_kind = 'DEPLOY_CONTRACT'
       AND action_receipt_actions.receipt_receiver_account_id = 'near' -- desired account id
       AND action_receipt_actions.receipt_included_in_block_timestamp ><PHONE_NUMBER>060429373 -- timestamp from p.2
       ORDER BY action_receipt_actions.receipt_included_in_block_timestamp DESC
       LIMIT 1;

Then combine 1 and 3 to get the result

@telezhnaya Wow! Thank you for such detailed description 🙂


build error : Module build failed: Error: Couldn't find preset "react" relative to directory "/Users/username/tmp"

I  tried to build the project  (npm start)and got this error
ERROR in ./src/main.js
Module build failed: Error: Couldn't find preset "react" relative to directory "/Users/username/tmp"
    at /Users/username/tmp/react-redux-starter-kit/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
    at Array.map (native)

Could anyone please help?

Are you working with a fresh clone of this repository or is this after a git pull? Perhaps your node_modules is borked.

cd /Users/username/tmp/react-redux-starter-kit
rm -r node_modules
npm install

I just did a fresh clone and it worked for me (macOS 10.12.5, node 7.6.0, npm 4.2.0)

git clone https://github.com/davezuko/react-redux-starter-kit.git
cd react-redux-starter-kit
npm install
npm run start


Cross-dimensional teleports reset gamemode

If I am in spectator mode and teleport to a player in the End, I'll be in survival mode which is very annoying and gives away the fact that I am spectating.

This is because of how EssentialCmds  sets the gamemodes based upon the world set gamemode.
If the gamemode of the End is meant to be survival mode, when you TP there it'll set it there. I'll add something to toggle this feature.


Add metadata to pack as tool

Pull Request
Summary
This PR adds the metadata for distributing this application as a .NET tool: https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools-how-to-create
If uploaded to NuGet, this allows one to use this application more easily, since it would then be installable using dotnet tool install --global nugettransitivedependencyfinder.consoleapp and usable with dotnet transitive-dependency-finder.
I did a suggestion for the CLI name, but let me know if I have to change something. I also added additional metadata based on this project.
Behavior
N/a
Previous
N/a
New
Package installs as a tool.
Breaking Changes
N/a
Testing Undertaken
N/a
Additional Information
N/a

I had to add <GeneratePackageOnBuild>true</GeneratePackageOnBuild> to generate the nuget, but might just be me...


Instructions seem to be out of date

Trello has changed because when I go to https://trello.com/app-key as instructed I see this :

Developer API Keys
Managing API keys just got better
Each Power-Up can now have a unique API key and be managed by any collaborators.
You can view and manage your developer API keys, allowed origins, and secrets for each Power-Up directly from the "API key" page in the Power-Up Admin Portal. This developer site has examples, information on getting started with the API, a sandbox to try out API calls, and the full reference documentation.
Go to the Power-Up Admin Portal
And then I have no idea where to go to get the necessary key.
Can anyone help? All I want is to transfer my Trello cards to Obsidian.
Thanks,
domellen

Hi @domellen
Go to that Power-Up Admin Portal link and create a new Power Up there. Fill everything besides the Iframe connector URL (Required for Power-Up) field and then you can create an API key. Next steps should be the same as pointed in the instructions.

Thanks @domellen and @iborisov.
The powerup method looks a bit painful because it seems to be scoped to workspaces. Free users might have multiple workspaces to fit all their boards.
Could you please confirm whether you still see the Personal Key: section on the https://trello.com/app-key page, and whether further down on that page you can see a link to

you can manually generate a Token.

@GSGBen "Personal Key:" does not_show anymore. So it looks like the only way to get an API key now is to go the way that @iborisov described. But everything works great from there. Great plugin! You have saved me from needing to copy things over manually. 🥳 Thank you!!


Add Face-Recognition script

Add Face-Recognition script using opencv, which consist a ML model which takes images as input to be trained and recognises the person whoes image was given, in a live stream.

@geekquad @kritikaparmar-programmer Can I work on this issue under GSSoC21 label ?

Assigning this issue to you @Aayush-hub. Happy Coding :)

I am GSSOC'2021 Participant can I try to fix this issue.will you please assign me this issue.

@pallavidhere23 I have made PR and issue is solved. You can check out other issues.

@Aayush-hub I have a bit of knowledge in this and want to learn more in the same, i can try fixing this issue. (GSSOC21)

Hello. I'm Aayushi, a GSSOC'21 participant. I'm eager to work on this issue as I've already worked on a project similar to this.
In this, I've used Transfer Learning for Face Recognition--
https://aayushibahukhandi.blogspot.com/2020/06/face-recognition-by-transfer-learning.html
https://github.com/aayushi1908/Face-Recognition-by-TRANSFER-LEARNING.git
Please have a look on the above links.
Kindly assign this issue to me,


⚠ Bofrost.nl has degraded performance

In 33b689c, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1446 ms

Resolved: Bofrost.nl performance has improved in 4b8f15e.


How do I import a file outside of my home directory?

First of all, I'm a great fan of fusebox. Second of all, I am trying to replace the my company frontend project current webpack configuration with fusebox. I have a folder structure like this:
|__ shared/src
|
|__ webapp/src
|
|__ mobile

webapp and mobile is 2 applications, while shared is the shared logic between those 2. That means I will need to import something from shared logic into webapp
However by using fusebox I cannot seem to do that. I faced some warnings like WARNING File "..." cannot be bundled because it's out of your project directory (homeDir). By using webpack I can still import it using relative path.
So is there any way to solve this problem currently with fusebox? Really appreciate your help.

HI! I am glad to hear that you aren’t enjoying FuseBox!
You can solve your issue by moving up your homeDir, and changing the instructions to src/index

Closing this issue for now.


[tensorflow-io-gcs-filesystem] Missing p39 win32 package for 0.32.0

Click to expand!
Issue Type
Build/Install
Have you reproduced the bug with TF nightly?
No
Source
binary
Tensorflow Version
2.10.1
Custom Code
No
OS Platform and Distribution
Windows
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
The PyPI server is currently lacking a win32 wheel for python 3.9 for sub-package tensorflow-io-gcs-filesystem.

Standalone code to reproduce the issue
$ conda create -n tf39 python=3.9
$ conda activate tf39
$ pip install tensorflow-io-gcs-filesystem==0.32.0

Relevant log output
ERROR: Could not find a version that satisfies the requirement tensorflow-io-gcs-filesystem==0.32.0 (from versions: 0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0)
ERROR: No matching distribution found for tensorflow-io-gcs-filesystem==0.32.0

Hello @PhilippWillms!
Could you try the following and let us know if that helps?
$pip install tensorflow-io-gcs-filesystem

Thank you!

Hi @sushreebarsa, I am sorry but it is still failing:

ERROR: Ignored the following versions that require a different python version: 0.23.0 Requires-Python >=3.6, <3.10
ERROR: Could not find a version that satisfies the requirement tensorflow-io-gcs-filesystem==0.32.0 (from versions: 0.23.1, 0.24.0, 0.25.0, 0.26.0, 0.27.0, 0.28.0, 0.29.0, 0.30.0, 0.31.0)
ERROR: No matching distribution found for tensorflow-io-gcs-filesystem==0.32.0

Recall that I need a Windows built.

Ok, I followed that proposal and restricted to the mentioned version range in my TOML file.

Imho this is not a proper solution as one has to manually create a top-level dependency to tensorflow-io-gcs-filesystem with the mentioned version restriction. Otherwise e.g. poetry resolves to the newest available version (0.32.0) which fails by default. Please consider to release the Windows wheels for current versions of tensorflow-io-gcs-filesystem again or add the version restriction in the tensorflow package already, so it doesn't have to be restricted at top level.


Driver gets unresponsive, if connection is lost on Bluetooth

Describe the bug
See https://github.com/Louisvdw/dbus-serialbattery/pull/689#issuecomment-1592977482
How to reproduce
Steps to reproduce the behavior:

Use a BMS that uses callback instead of polling (e.g. JKBMS_BLE)
Disconnect the BMS physically

Expected behavior
Driver should restart
Driver version
v1.0.20230617beta
Venus OS device type
Raspberry Pi
Venus OS version
v3.10~8
BMS type
JKBMS / Heltec BMS
Cell count
18
Connection type
Bluetooth
Config file
Not needed

Relevant log output
2023-06-15 12:41:45.074095500 INFO:SerialBattery:processing frame with battery cell info
2023-06-15 12:41:45.080366500 INFO:SerialBattery:--> DBusHelper: publish_battery()
2023-06-15 12:41:45.081041500 INFO:SerialBattery:--> JKBMS_BLE: refresh_data()
2023-06-15 12:41:45.081637500 INFO:SerialBattery:--> JKBMS_BRN: get_status()
2023-06-15 12:41:45.613783500 INFO:SerialBattery:processing frame with battery cell info
2023-06-15 12:41:45.620835500 INFO:SerialBattery:--> DBusHelper: publish_battery()
2023-06-15 12:41:45.621594500 INFO:SerialBattery:--> JKBMS_BLE: refresh_data()
2023-06-15 12:41:45.622258500 INFO:SerialBattery:--> JKBMS_BRN: get_status()
2023-06-15 12:41:46.154417500 INFO:SerialBattery:processing frame with battery cell info
2023-06-15 12:41:46.160787500 INFO:SerialBattery:--> DBusHelper: publish_battery()
2023-06-15 12:41:46.161481500 INFO:SerialBattery:--> JKBMS_BLE: refresh_data()
2023-06-15 12:41:46.162093500 INFO:SerialBattery:--> JKBMS_BRN: get_status()
2023-06-15 12:41:46.709338500 INFO:SerialBattery:processing frame with battery cell info
2023-06-15 12:41:46.720693500 INFO:SerialBattery:--> DBusHelper: publish_battery()
2023-06-15 12:41:46.721490500 INFO:SerialBattery:--> JKBMS_BLE: refresh_data()
2023-06-15 12:41:46.722210500 INFO:SerialBattery:--> JKBMS_BRN: get_status()
2023-06-15 12:41:46.897818500 INFO:SerialBattery:--> JKBMS_BRN: asy_connect_and_scrape(): Ended
2023-06-15 12:41:46.899188500 INFO:SerialBattery:--> self.main_thread.is_alive(): True
2023-06-15 12:41:47.233798500 [CHG] Device C8:47:8C:E6:E2:00 RSSI: -48
2023-06-15 12:41:47.233807500 [CHG] Device C8:47:8C:E6:E2:00 RSSI: -58
2023-06-15 12:41:47.233810500 [CHG] Device C8:47:8C:E6:E2:00 RSSI: -48
2023-06-15 12:41:47.233812500 [CHG] Device C8:47:8C:E6:E2:00 RSSI is nil

Any other information that may be helpful
No response

@seidler2547 maybe you already have an idea how to fix that?

I have a new insight into this problem. It only happens when an external bluetooth dongle is used. When I removed it from the USB and restarted the Cerbo GX, it no longer disconnects the batteries and has been working stable for 3 days now.


[SPARK-39055][DOC] Fix documentation 404 page

What changes were proposed in this pull request?

replace unused docs/_layouts/404.html with docs/404.md
Why are the changes needed?

make the custom 404 page work

Does this PR introduce any user-facing change?

How was this patch tested?

 bundle exec jekyll serve

and visit a non-existing page http://localhost:4000/abcd

cc @HyukjinKwon @cloud-fan @srowen @dongjoon-hyun

Merged to master and branch-3.3.


⚠ Bofrost.lu has degraded performance

In 1424ba0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 917 ms

Resolved: Bofrost.lu performance has improved in 3206b35 after 11 minutes.


test: stop firewall after tests that use firewall

Tests that use the firewall must stop the firewall after the
test is complete to ensure the firewall will not cause problems
with subsequent tests of other roles.
Signed-off-by: Rich Megginson<EMAIL_ADDRESS>

[citest]


Update manage-the-distributed-cache-service.md

Added additional Important restriction for AppFabric - Do not change the CacheClusterSecurity for AppFabric. The SharePoint Product Group has indicated it is not supported to enable security for AppFabric where SharePoint 2016 is installed (for performance and reliability reasons)

added this on a separate comment I opened. closing this one as dupe

closing as a dupe...