Proposal: Group available commands in the command line help text into "general", "image centric" and "container centric"

Newbie here, who had a hard time "getting" how to work with docker, until I realized there are 2-3 categories of commands available to the docker command: General commands, image centric ones, and container centric ones (and I had to look up the difference between the last two as well).
Currently, all the commands are mixed together in a long and thus comparably unreadable list:
[18:35:21] ~ $ docker
Usage: docker [OPTIONS] COMMAND [arg...]
 -H=[unix:///var/run/docker.sock]: tcp://host:port to bind/connect to or unix://path/to/socket to use

A self-sufficient runtime for linux containers.

Commands:
    attach    Attach to a running container
    build     Build an image from a Dockerfile
    commit    Create a new image from a container's changes
    cp        Copy files/folders from the containers filesystem to the host path
    diff      Inspect changes on a container's filesystem
    events    Get real time events from the server
    export    Stream the contents of a container as a tar archive
    history   Show the history of an image
    images    List images
    import    Create a new filesystem image from the contents of a tarball
    info      Display system-wide information
    inspect   Return low-level information on a container
    kill      Kill a running container
    load      Load an image from a tar archive
    login     Register or Login to the docker registry server
    logs      Fetch the logs of a container
    port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
    pause     Pause all processes within a container
    ps        List containers
    pull      Pull an image or a repository from the docker registry server
    push      Push an image or a repository to the docker registry server
    restart   Restart a running container
    rm        Remove one or more containers
    rmi       Remove one or more images
    run       Run a command in a new container
    save      Save an image to a tar archive
    search    Search for an image in the docker index
    start     Start a stopped container
    stop      Stop a running container
    tag       Tag an image into a repository
    top       Lookup the running processes of a container
    unpause   Unpause a paused container
    version   Show the docker version information
    wait      Block until a container stops, then print its exit code

I think, grouping them into the categories methined above ("general", "image centric" and "container centric") would go a very long way in making this list less confusing, and to highlight the difference between images and containers, from the start, to help new users note the difference.
So, what about grouping them something like this (Not sure I've classified the commands 100% correctly, so correct me on that):
[18:35:21] ~ $ docker
Usage: docker [OPTIONS] COMMAND [arg...]
 -H=[unix:///var/run/docker.sock]: tcp://host:port to bind/connect to or unix://path/to/socket to use

A self-sufficient runtime for linux containers.

General commands:
    events    Get real time events from the server
    info      Display system-wide information
    login     Register or Login to the docker registry server
    version   Show the docker version information

Commands for working with images:
    build     Build an image from a Dockerfile
    history   Show the history of an image
    images    List images
    import    Create a new filesystem image from the contents of a tarball
    load      Load an image from a tar archive
    pull      Pull an image or a repository from the docker registry server
    push      Push an image or a repository to the docker registry server
    rmi       Remove one or more images
    save      Save an image to a tar archive
    search    Search for an image in the docker index
    tag       Tag an image into a repository

Commands for working with containers (running instances of images):
    attach    Attach to a running container
    commit    Create a new image from a container's changes
    diff      Inspect changes on a container's filesystem
    cp        Copy files/folders from the containers filesystem to the host path
    export    Stream the contents of a container as a tar archive
    inspect   Return low-level information on a container
    kill      Kill a running container
    logs      Fetch the logs of a container
    port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
    pause     Pause all processes within a container
    ps        List containers
    ps -a     List all containers (including stopped ones)
    restart   Restart a running container
    rm        Remove one or more containers
    run       Run a command in a new container
    start     Start a stopped container
    stop      Stop a running container
    top       Lookup the running processes of a container
    unpause   Unpause a paused container
    wait      Block until a container stops, then print its exit code

(I also added ps -a here, since it was such a crucial revelation for me when I realized that is what I need in order to see containers that I had just ran, but suddently couldn't find)
Wadda'ya think?

You're going to love #26025 (cc @dnephin)!

Excellent!
On Sat, 10 Sep 2016, 02:05 Arnaud Porterie<EMAIL_ADDRESS>wrote:

You're going to love #26025 https://github.com/docker/docker/pull/26025
(cc @dnephin https://github.com/dnephin)!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker/issues/8756#issuecomment-246077543, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPWS2FTFOjvf_QxmAiws4XM6ZgXIYUXks5qogJfgaJpZM4CyvGH
.


Add the ability for custom branding, eg. set colour theme and add the ability for a custom icon instead of the Quik header title

Added custom branding in 770dfaff229f8e2f53dfc29a3889e0e3e6f8d158


⚠ ClamAV has degraded performance

In 0f047bc, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: ClamAV performance has improved in e967f5e.


BUG: about and roadmap links doesn't point back to SP

The heading and footing at the learn website looks totally the same as on the main SP site, but neither about nor roadmap points back to the main repo's. (This is not a problem with SPECs as I assume we pull it in as a submodule).
If the plan is to have a different, learn specific, roadmap and about, I would suggest to place those somewhere else as the navigation experience is otherwise confusing when it's not possible to get to the same place the same way even though everything looks the same.

The about and roadmap on the learn site are the about and roadmap pages for the learn site not the general site. That was part of the reason for making the website learn.scientific-python.org and not scientiic-python.org/learn. It doesn't seem confusing to me, but that could be because I did it. If it is confusing to others, we should discuss where the about and roadmap pages for the learn project should be.

The confusing (difficult to navigate and find stuff) part comes from the fact that the headings/footers look exactly the same. So when one navigates to the learn site from the main page it all looks the same, yet will be different things are linked. And the reverse is true, when one wants to find a page but it's only linked from one particular combination of prior clicks (I feel some of these got already cleaned up on the main page, yet, some maybe around still)


unable to delete messages which contain commands for the bot

Bug Report
Commands like "!sau start", "!sau config set speech off" or "!sau config get prefix" can not be deleted out of Discord channels by users/moderators/admins.
I assume that's due to the bot still accessing those messages (?)
Steps to Reproduce

type "!sau help" in a channel the bot has Access to.
(the bot will provide the help page)
try to delete your own message "!sau help".
(you should notice that the message does not get deleted)

Expected behavior
I would expect the bot delete the command messages automatically or at least not prevent users from deleting them.

I can guarantee that the bot isn't preventing you from deleting messages. (Because that's actually impossible in the API. I couldn't do that if I wanted to.)
In fact, the bot deletes commands on its own as well. (Assuming it has permissions to do so.)
One thing I have seen in local testing is a kind of "ghost message" getting left behind, but only for the person who posted it. The message isn't actually on the server anymore, but the sending client has a copy of it locally. I think it's essentially a race condition inside the Discord client. Unfortunately, the user can't delete it because it doesn't exist.
Could that be what you're seeing?

Seems like you are right. Sorry for bothering you.
Thank you for your efforts and please keep up the good work!

No worries!
I hit my head against that particular bug for quite a while before I finally figured it out. Hopefully they fix it.


Hangman Game

Write a Python script for a text-based Hangman game.

I'm interested in working on this issue # . After reviewing the requirements and understanding the scope of the task, I'd like to take ownership of this issue and work towards resolving it.
I have the necessary skills and expertise to address this issue effectively, and I'm excited to contribute to the project. If there are any specific guidelines or suggestions you have for approaching this task, please feel free to let me know, and I'll ensure to follow them closely.
Please consider assigning this issue to me, and I'll start working on it promptly. If there are any additional details or discussions required, I'm more than happy to engage with the community and the project maintainers.
Thank you for your time and for maintaining this project. I look forward to contributing to its progress.

Can I complete this by tomorrow evening if it is fine with you. I have midsem exams going right now

Also could you please provide an elaboration of the project, including details about the types of words to be chosen? I appreciate your assistance in advance. Kindly ensure that the explanation is thorough to prevent any potential confusion and to achieve the best possible results.

Also could you please provide an elaboration of the project, including details about the types of words to be chosen or number of strikes in the hangman or what all data should be available to the user while guessing the words? I appreciate your assistance in advance. Kindly ensure that the explanation is thorough to prevent any potential confusion and to achieve the best possible results.

👋  @Transyltooniaa This issue is closed.
Don't forget to give a ⭐ & Happy coding!. 😊


Issue with file reader after using set_len

Hi @burmecia,
another issue I stumbled upon (this is the last test case that fails against the pyfilesystem test suite): when a reader already exists for a file, extending the file with set_len and then reading the file (for instance with read_to_end) will not take into account the newly added bytes.
Here's a test case, that's shows that file.read_to_end will read the same file content twice although the call to set_len should extend the file:
// cargo-deps: zbox="*"
extern crate zbox;

use ::std::io::Read;
use ::std::io::Seek;
use ::std::io::SeekFrom;

fn main() {
    ::zbox::init_env();

    let mut repo = zbox::RepoOpener::new()
        .create(true)
        .open("mem://", "your password")
        .unwrap();

    let mut file = zbox::OpenOptions::new()
        .create(true)
        .write(true)
        .read(true)
        .open(&mut repo, "/my_file.txt")
        .unwrap();
    file.write_once(b"My file").unwrap();
    file.seek(SeekFrom::Start(0)).unwrap();

    let mut res = Vec::new();
    file.read_to_end(&mut res);
    println!("{:?}", res);

    file.set_len(15).unwrap();
    file.seek(SeekFrom::Start(0)).unwrap();

    let mut res2 = Vec::new();
    file.read_to_end(&mut res2);
    println!("{:?}", res2);
}

That's an expected behaviour and I think that's probably the major difference with other FS.
Because Zbox is a versioned file system, the file reader is associated with a particular version when it is created. In the example code, when the file has been read the first time, a internal reader is created with its latest version. And then set_len will create a new version of file, but the internal reader still associated with the old version. So all the following read will still get the old content, which means the reader is invisible to new change.
A possible walk-around might be close the file and read again, or create a new VersionReader with latest version, that should be able to read the new content.

The cause of the error is actually what I suspected, but I honestly thought that calling set_len would force a new reader onto the file. This way, you would read a version only if opening through a versioned reader, and always read the latest version if using the file as a reader directly.

That was actually what I originally thought, but later found many complicated scenario need to deal with so I simplified it to only allow 'static' reader on file.  You're right, the best is to keep consistent with normal file IO, file reader always read the latest version and specific VersionReader to read particular version. I think it is doable and should be the correct solution. I just need bit more time to think about how to implement it. Thank your for advice.

Ok, so I ended up using a version reader whenever I needed to work, and it works well. As a side note, I implemented the following function, and I think it could fit the File API (maybe with a boolean flag whether or not to seek the reader to the right position):
fn latest_reader(file, &mut ::zbox::File) -> zbox::Result<VersionReader> {
    let pos = file.seek(SeekFrom::Current(0))?;
    let version = file.curr_version()?;
    let mut reader = file.version_reader(version)?;
    reader.seek(SeekFrom::Start(pos));
    reader
}

Ok, so I ended up using a version reader whenever I needed to work, and it works well. As a side note, I implemented the following function, and I think it could fit the File API (maybe with a boolean flag whether or not to seek the reader to the right position) if you do not intend to change the current read / read_to_end behaviour:
fn latest_reader(file, &mut ::zbox::File) -> zbox::Result<VersionReader> {
    let pos = file.seek(SeekFrom::Current(0))?;
    let version = file.curr_version()?;
    let mut reader = file.version_reader(version)?;
    reader.seek(SeekFrom::Start(pos));
    reader
}

Thanks for your advice. I made some changes to the file read/write, now the file reader is always on latest version. File read/write will also affect the file position, similar as Unix file operations. @althonos could you run test on the latest code?

@burmecia: the file reader passes all the test cases, great job !


document doc writing process

we write documentation with jupyter + jupytext, but we haven't documented the process, so we should write it.
details to mention

how to enable single click to open .md as notebooks
required jupytext metadata to make tutorials runnable
building docs locally
previewing docs in PRs.

added in 6d41001a7c660cbe76896ec8d01db227394b8f71 and 6d41001a7c660cbe76896ec8d01db227394b8f71


feat(pages): import all subdomains to pages

I have one last thing to work on this PR, which is linting this with prettier for the formating. I am waiting for @Bouncey's PR to land.
@ValeraS Thanks a lot for your early feedback. I think this is ready for a QA.

I think we are good to go once CI is done.


Update meta title with Asyncdata not work on generated

Versions

nuxt: v2.14.0

Steps to reproduce
I want to use asyncData in dynamic meta title, it's working in run dev but not working when run generate.
async asyncData ({ route, store }) {
    const { id } = route.params
    try {
        const user_data = await store.dispatch('user/getdata', { id: id})
        return {
            user_data
        }
    } catch (error) {
        console.log(error)
    }
},

head () {
    return {
        title: this.user_data ? this.user_data.Fullname : process.env.PAGE_TITLE,
    }
},

What is Expected?
meta title updated
What is actually happening?
meta title default

@pi0 Is this nuxt issue or vue-meta? It is kind of crucial because it worked before :sweat_smile:

@pperzyna I can't reproduce this.
See https://codesandbox.io/s/frosty-sunset-h9d7m

Did you reproduce in generate mode? in codesandbox I guess you run on dev mode, right?. I have this issue when running :

nuxt generate
nuxt start

the head function does not work so there is no meta data in page head 😢

@pperzyna I can't reproduce this.
See https://codesandbox.io/s/frosty-sunset-h9d7m

Did you reproduce in generate mode? in codesandbox I guess you run on dev mode, right?. I have this issue when running :

nuxt generate
nuxt start

the head function does not work so there is no meta data in page head 😢

@ngochangjelly In fact, I set up that CodeSandbox to run nuxt generate && nuxt start - and it does not reproduce your issue.

@ngochangjelly In fact, I set up that CodeSandbox to run nuxt generate && nuxt start - and it does not reproduce your issue.

@ngochangjelly Thank you for sharing your repo with me (directly).
The issue is that you are defining head() within the methods part of your Vue instance, whereas it is not within methods but is a separate hook (like mounted).

@ngochangjelly Thank you for sharing your repo with me (directly).
The issue is that you are defining head() within the methods part of your Vue instance, whereas it is not within methods but is a separate hook (like mounted).

@danielpost  Oops, this is truly my mistake, after moving to head independent function, metadata is successfully created!
I can't thank you enough for your quick response sir !!

@danielpost  Oops, this is truly my mistake, after moving to head independent function, metadata is successfully created!
I can't thank you enough for your quick response sir !!


PHPUnit only runs when running vendor/bin/phpunit

Simply running phpunit in the directory doesn't execute any tests because it can't find the correct classes through composer.
Originaled reported in #13:

alvaro@alvaro-pc:~/Documents/dom$ phpunit
PHP Fatal error:  Trait 'phpgt\dom\LiveProperty' not found in /home/alvaro/Documents/dom/test/ExampleLiveProperty.php on line 5

If I may be so bold, would you consider upgrading to phpunit 5.3?

The reason PHPUnit is on the particular version currently is because there was a problem resolving packages through composer when PHP 7.0 was new - these issues showed up in the CI test runner - I think these issues will be sorted now, so I'll look into upgrading to the latest version.


Make cross compile possible

So far can confirm that with this change ARM (armhf) and ARM64 (aarch64) builds are compiling fine.

Thanks!


Interface TCompCorRPT failed to run

As reported here https://neurostars.org/t/fmriprep-tcompcorr-crashes-on-empty-array/668, tCompCor gets an IndexError: cannot do a non-empty take from an empty axes.

Was able to reproduce locally.

The problem here is with the erosion step. iterations ends up being 10, while anything greater than 5 produces all zeroes.
This is going to be a consequence of the partial FOV.
What about resampling the anatomical brain mask into BOLD space, and eroding that, instead of assuming the BOLD brain mask will be brain-shaped?

+1 to your idea of resampling the anatomical brain mask and eroding that one. Actually, it'd be even better to erode in anatomical space where we have good resolution and then map into BOLD once eroded.
A second thing we could use is generating a ball of a certain radius predefined in mm and only one iteration of erosion rather than 5 or 10.

I see the problem now. Weird that it affects t and a compcor so differently.
The reason why I used the BOLD mask was that I wanted to capture
distortions and signal dropouts which will not be present in the anatomical
mask.
On Wed, Aug 9, 2017 at 2:12 PM, Oscar Esteban<EMAIL_ADDRESS>wrote:

+1 to your idea of resampling the anatomical brain mask and eroding that
one. Actually, it'd be even better to erode in anatomical space where we
have good resolution and then map into BOLD once eroded.
A second thing we could use is generating a ball
http://scikit-image.org/docs/dev/api/skimage.morphology.html#skimage.morphology.ball
of a certain radius predefined in mm and only one iteration of erosion
rather than 5 or 10.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/poldracklab/fmriprep/issues/652#issuecomment-321382978,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOkp3XFacUS195M96YLdKYBpUuKPm0gks5sWiDVgaJpZM4Ow9N1
.

The problem with the ball, as far as I can see, is that we're not guaranteed that the origin of any given space is in any particular center. If we normalize to MNI, then we can create a ball there, and transform it back...
Or we could go full FreeSurfer (#433) and map T1w to MNI, map the MNI origin back into T1w, and recenter the image.
@chrisfilo I suspect that if we're eroding 30mm, the effect of drop-out is going to be miniscule.

I don't understand this:

The problem with the ball, as far as I can see, is that we're not guaranteed that the origin of any given space is in any particular center.

And I think eroding in T1 space, rather than BOLD is a good idea for both aCompCor and tCompCor. It seems like our over-erosion of WM in aCompCor might be an product of resampling before thresholding/eroding. (At the very least it shouldn't introduce distortion to switch.)
@oesteban It's possible I didn't understand what you were suggesting with the ball. I thought you were saying that, instead of starting with a mask of the brain, create a ball in the center of the brain.

Ball - sorry, yes, I propose to use a ball with an specific radius as structuring element for the erosion, rather than iterating on the erosion. My suspicion here is that the structuring element is not very regular (probably a square), and that plus the big voxels of the BOLD space, plus the several iterations of erosion completely remove the mask.
I think eroding in the subject's T1 space should suffice here.
The ball will have a radius in voxels dependent on the voxel size. This also points to eroding in T1 space.


CARGO_BUILD_RUSTFLAGS not supported

Hi Luke,
I'm trying to set the CARGO_BUILD_RUSTFLAGS environment variable when running chef cook but it doesn't seem like this flag is supported.
For context, we have the following flags set in our .cargo/config.toml file:
 rustflags = ["-Dclippy::pedantic", "-Dwarnings", "-Dmissing_docs"]

This errors when using your tool, as the -Dmissing_docs flag errors on the empty main function. To mitigate this issue, we are trying to set the RUSTFLAGS environment variable in the docker build so that we can explicitly set the flags we wish to build with.
One other option, is to make sure that the skeleton avoids any lints/warnings/docs issues, but I think being able to simply override this might be a better option here.

Can you share your Dockerfile please?

# Use Cached Deps
FROM lukemathwalker/cargo-chef:latest-rust-1.69.0 AS chef

FROM chef AS planner
COPY ./rust /rust
# Make sure we turn off lints for the build. Tracking issue: https://github.com/LukeMathWalker/cargo-chef/issues/219
RUN sed -i '1,2d' /rust/.cargo/config.toml
WORKDIR /rust
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS deps
COPY --from=planner /rust/recipe.json /rust/recipe.json
RUN apt update && apt install -y protobuf-compiler
WORKDIR /rust
RUN cargo chef cook --release --recipe-path recipe.json

FROM deps AS builder
COPY ./rust /rust
# This is here because the .fingerprint files become dirty if the rust flags don't match
RUN sed -i '1,2d' /rust/.cargo/config.toml
WORKDIR /rust
RUN cargo build --release
RUN cargo doc --no-deps

WORKDIR /app

FROM debian:bullseye AS runtime
RUN apt update && apt install -y ca-certificates

FROM runtime AS app
COPY --from=builder /rust/target/release/xxx /app/
ENTRYPOINT ["/app/xxx"]

The specific error with the build flags on:
> [deps 4/4] RUN cargo chef cook --release --recipe-path recipe.json:
#16 42.06   |
#16 42.06 1 | fn main() {}
#16 42.06   | ^^^^^^^^^^^^
#16 42.06   |
#16 42.06   = note: requested on the command line with `-D missing-docs`
#16 42.06
#16 42.06 error: could not compile `xxx` due to previous error
#16 42.06 warning: build failed, waiting for other jobs to finish...
#16 76.67 thread 'main' panicked at 'Exited with status code: 101', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-chef-0.1.61/src/recipe.rs:189:27
#16 76.67 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Thanks! What does the version with CARGO_BUILD_RUSTFLAGS look like instead?

ah yep. The proposed Dockerfile would look like this:
# Use Cached Deps
FROM lukemathwalker/cargo-chef:latest-rust-1.69.0 AS chef

FROM chef AS planner
COPY ./rust /rust
# Make sure we turn off lints for the build. Tracking issue: https://github.com/LukeMathWalker/cargo-chef/issues/219
ENV CARGO_BUILD_RUSTFLAGS="-Dwarnings"
WORKDIR /rust
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS deps
COPY --from=planner /rust/recipe.json /rust/recipe.json
RUN apt update && apt install -y protobuf-compiler
WORKDIR /rust
RUN cargo chef cook --release --recipe-path recipe.json

FROM deps AS builder
COPY ./rust /rust
# This is here because the .fingerprint files become dirty if the rust flags don't match
ENV CARGO_BUILD_RUSTFLAGS="-Dwarnings"
WORKDIR /rust
RUN cargo build --release
RUN cargo doc --no-deps

WORKDIR /app

FROM debian:bullseye AS runtime
RUN apt update && apt install -y ca-certificates

FROM runtime AS app
COPY --from=builder /rust/target/release/xxx /app/
ENTRYPOINT ["/app/xxx"]

I think the issue here is that you are not setting the env variable when invoking cargo chef cook, which ends up running with different flags and indeed breaks caching.

 Tracking issue: https://github.com/LukeMathWalker/cargo-chef/issues/219
# RUN sed -i '1,2d' /rust/.cargo/config.toml
ENV CARGO_BUILD_RUSTFLAGS="-Dwarnings"
WORKDIR /rust
RUN cargo chef prepare --recipe-path recipe.json

FROM chef AS deps
COPY --from=planner /rust/recipe.json /rust/recipe.json
RUN apt update && apt install -y protobuf-compiler
WORKDIR /rust
ENV CARGO_BUILD_RUSTFLAGS="-Dwarnings"
RUN cargo chef cook --release --recipe-path recipe.json

FROM deps AS builder
COPY ./rust /rust
# RUN sed -i '1,2d' /rust/.cargo/config.toml
ENV CARGO_BUILD_RUSTFLAGS="-Dwarnings"
WORKDIR /rust
RUN cargo build --release
RUN cargo doc --no-deps

WORKDIR /app

FROM debian:bullseye AS runtime
RUN apt update && apt install -y ca-certificates

FROM runtime AS app
COPY --from=builder /rust/target/release/xxx /app/
ENTRYPOINT ["/app/xxx"]

> [deps 4/4] RUN cargo chef cook --release --recipe-path recipe.json:
#16 40.97   |
#16 40.97 1 | fn main() {}
#16 40.97   | ^^^^^^^^^^^^
#16 40.97   |
#16 40.97   = note: requested on the command line with `-D missing-docs`
#16 40.97
#16 40.98 error: could not compile `proto` due to previous error
#16 40.98 warning: build failed, waiting for other jobs to finish...
#16 74.66 thread 'main' panicked at 'Exited with status code: 101', /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-chef-0.1.61/src/recipe.rs:189:27
#16 74.66 note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
------
Dockerfile:18
--------------------
  16 |     WORKDIR /rust
  17 |     ENV CARGO_BUILD_RUSTFLAGS="-Dwarnings"
  18 | >>> RUN cargo chef cook --release --recipe-path recipe.json
  19 |
  20 |     FROM ghcr.io/fl0zone/rust-deps:latest AS builder
--------------------
ERROR: failed to solve: process "/bin/sh -c cargo chef cook --release --recipe-path recipe.json" did not complete successfully: exit code: 101

For more context, it seems the CARGO_BUILD_RUSTFLAGS will overwrite the rustflags in the config file.
From the docs: https://doc.rust-lang.org/cargo/reference/config.html#buildrustflags

There are four mutually exclusive sources of extra flags. They are checked in order, with the first one being used:

CARGO_ENCODED_RUSTFLAGS environment variable.
RUSTFLAGS environment variable.
All matching target..rustflags and target..rustflags config entries joined together.
build.rustflags config value.

I think that the cargo chef cook command is not capturing the environment variable and sending it to cargo, but I haven't dug into the code to be confident.

All env variables are forwarded: https://github.com/LukeMathWalker/cargo-chef/blob/87568a4b3fb466217597b7125959403203fd5f5b/src/recipe.rs#L181
Can you please provide a minimal reproduction of this problem that I can actually tinker with?

https://github.com/lswith/oom-app/blob/master/Dockerfile
For context, this is an app that is meant to OOM if run. The build will compile with listing and has enough docs to pass the -D missing-docs.

For reference: https://github.com/rust-lang/cargo/issues/12257


(Feature) Add Redshift support

Will be interested to see if it possible to add support for Redshift.
Potentially Grafana can replace Redash tool.

@Hronom please can you direct requests for supporting more datasources to your company's CSM, or raise a support ticket if you do not have one 👍


user_control

Hello. Sorry to bother you. Is it convenient for the author to share the relevant code controlled by the user?

Hi, thanks for your interest. We have updated the repo. Please refer to user_specify_demo.py for the relevant code.


License inconsistent

Is the license:
MIT License as per LICENSE file - https://github.com/aws-samples/aws-codepipeline-bitbucket-integration/blob/3c3392c0a3a4ece07e3cadd051314ddbf1fc774b/LICENSE#L1
or
Apache 2.0 as per package.json - https://github.com/aws-samples/aws-codepipeline-bitbucket-integration/blob/3c3392c0a3a4ece07e3cadd051314ddbf1fc774b/code/package.json#L7

Hi @davur, thank you for point this out. It is now fixed.

👍


Fixed pit prestige for 35+

Hi, I noticed the prestige was capped at [XXXV-120] with MajorEvent whereas with PitPanda it shows up to XXXVI

With a little code tweaking, I was able to get it to work for prestiges over 35
I entirely rewrote how it calculates the pit level (it's more easier to read tbh in my opinion)

I've been neglecting this project for a while, haha... Thanks for doing this!


[Doc Improvement][Meta date update][3698850]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/teams-live-share-quick-start.md
83
11
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-tutorial.md
87
31
link
:white_check_mark:

msteams-platform/bots/how-to/rate-limit.md
94
4
link
:white_check_mark:

msteams-platform/concepts/design/planning-checklist.md
80
30
link
:white_check_mark:

msteams-platform/resources/team-chat-member-api-changes.md
89
9
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/teams-live-share-quick-start.md
83
11
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-tutorial.md
87
31
link
:white_check_mark:

msteams-platform/bots/how-to/rate-limit.md
94
4
link
:white_check_mark:

msteams-platform/concepts/design/planning-checklist.md
80
30
link
:white_check_mark:

msteams-platform/resources/team-chat-member-api-changes.md
89
9
link
:white_check_mark:

msteams-platform/webhooks-and-connectors/how-to/add-incoming-webhook.md
95
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/teams-live-share-quick-start.md
83
11
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/teams-live-share-tutorial.md
87
31
link
:white_check_mark:

msteams-platform/bots/how-to/rate-limit.md
94
4
link
:white_check_mark:

msteams-platform/concepts/design/planning-checklist.md
80
30
link
:white_check_mark:

msteams-platform/resources/team-chat-member-api-changes.md
89
9
link
:white_check_mark:

msteams-platform/webhooks-and-connectors/how-to/add-incoming-webhook.md
95
7
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


Only display synced providers when editing provider permissions in support

Context
This should dramatically reduce the size of the page (currently 3.7MB) and the time it takes to render (42 seconds).
Also update the tag for the legend to be a h2 instead of a h1.
Changes proposed in this pull request
Only query for synced providers for the _provider_options template.
Guidance to review
Do we need to display unsynced providers in this view?
Link to Trello card
None.
Things to check

[x] This code doesn't rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] API release notes have been updated if necessary
[x] New environment variables have been added to the Azure config

Seems to work on the review app

If the users from accredited bodies  (i.e. a university) should be added as provider_users for the providers whose courses they accredit, then I don't see why they are needed.

https://trello.com/c/chVDLTwn/1928-build-speed-up-the-add-a-provider-user-page-in-support

Added tests too!

On QA: 3.7MB down to 52KB, 42 seconds down to 591ms. 🎉


Added RSS category

Project URL
https://github.com/rgnlax/Feeds-for-iOS-Developer
Description
Added a category "RSS", where I put a list of useful feeds for iOS developers.
Checklist

[X] Only one project is in this pull request
[X] Addition in chronological order (bottom of category)
[ ] Travis CI pass
[ ] Supports iOS 7 or later
[X] Has a commit from less than 2 years ago
[X] Has a clear README in English

I have reviewed about 150 blogs and websites and selected most interesting of them.

Hey @rgnlax, how would RSS differ from our current Good Websites category?

Closing
Feel free to add this under Good Websites


[kong] able to configure resources for all containers

What this PR does / why we need it:
Adds configurable block of resources for migrations containers when are needed to use, useful when use namespaces with quotas.
Also, Inherit resources from Kong pods for others containers to this approach
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #264

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] PR is based off the current tip of the next branch and targets next, not main
[ ] New or modified sections of values.yaml are documented in the README.md
[ ] Title of the PR and commit headers start with chart name (e.g. [kong])

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@julianvelizc and @zjheyvc can you sign the CLA? Code changes look good, so once that's signed we can merge it in.

@julianvelizc and @zjheyvc can you sign the CLA? Code changes look good, so once that's signed we can merge it in.

Hello @rainest , I did signed with @zjheyvc but I think with my another account is not possible to connect to github to signed it license, what can I do continue in this case?

You'll want to re-author the commits to your zjheyvc user following https://www.git-tower.com/learn/git/faq/change-author-name-email/
After that force-pushing the branch should fix this PR.

@rainest  its done!


Add VS Code extension link

Is it necessary to create an issue for this?
<DCO 1.1 Signed-off-by: Glen Ainscow<EMAIL_ADDRESS>

Coverage remained the same at 97.374% when pulling 1e1ca9a453564667a32739dcd800ac7b03318c8f on glen-84:add-vscode-extension-link into ddae35100754746e5101187aa6e206e1632173e9 on sasstools:develop.

Hey @glen-84 - Thanks for this! No need for an issue :+1:


Build server error linux

So alvr wasnt working and was giving me something like failed to create VAAPI encoder, after looking at the issue here i found this and so wanted to try building alvr myself with this patch
but
cargo xtask build-server --nightly give me:
The following warnings were emitted during compilation:

warning: cpp/platform/linux/EncodePipelineSW.cpp: In constructor 'alvr::EncodePipelineSW::EncodePipelineSW(std::vector<alvr::VkFrame>&, alvr::VkFrameCtx&)':
warning: cpp/platform/linux/EncodePipelineSW.cpp:44:56: error: invalid conversion from 'const AVCodec*' to 'AVCodec*' [-fpermissive]
warning:    44 |   AVCodec *codec = AVCODEC.avcodec_find_encoder_by_name(encoder_name);
warning: cpp/platform/linux/EncodePipelineVAAPI.cpp: In constructor 'alvr::EncodePipelineVAAPI::EncodePipelineVAAPI(std::vector<alvr::VkFrame>&, alvr::VkFrameCtx&)':
warning: cpp/platform/linux/EncodePipelineVAAPI.cpp:117:56: error: invalid conversion from 'const AVCodec*' to 'AVCodec*' [-fpermissive]
warning:   117 |   AVCodec *codec = AVCODEC.avcodec_find_encoder_by_name(encoder_name);

error: failed to run custom build command for `alvr_server v16.0.0+nightly.2021.12.25 (/home/naia/ALVR/alvr/server)`

Caused by:
  process didn't exit successfully: `/home/naia/ALVR/target/debug/build/alvr_server-b98fed6c695bbede/build-script-build` (exit status: 1)
  --- stdout
  TARGET = Some("x86_64-unknown-linux-gnu")
  OPT_LEVEL = Some("0")
  HOST = Some("x86_64-unknown-linux-gnu")
  CXX_x86_64-unknown-linux-gnu = None
  CXX_x86_64_unknown_linux_gnu = None
  HOST_CXX = None
  CXX = None
  CXXFLAGS_x86_64-unknown-linux-gnu = None
  CXXFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CXXFLAGS = None
  CXXFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some("true")
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  CXX_x86_64-unknown-linux-gnu = None
  CXX_x86_64_unknown_linux_gnu = None
  HOST_CXX = None
  CXX = None
  CXXFLAGS_x86_64-unknown-linux-gnu = None
  CXXFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CXXFLAGS = None
  CXXFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  CXX_x86_64-unknown-linux-gnu = None
  CXX_x86_64_unknown_linux_gnu = None
  HOST_CXX = None
  CXX = None
  CXXFLAGS_x86_64-unknown-linux-gnu = None
  CXXFLAGS_x86_64_unknown_linux_gnu = None
  HOST_CXXFLAGS = None
  CXXFLAGS = None
  CRATE_CC_NO_DEFAULTS = None
  CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/ALVR-common/reedsolomon/rs.o" "-c" "cpp/ALVR-common/reedsolomon/rs.c"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/ALVR-common/common-utils.o" "-c" "cpp/ALVR-common/common-utils.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/ALVR-common/exception.o" "-c" "cpp/ALVR-common/exception.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/OvrHMD.o" "-c" "cpp/alvr_server/OvrHMD.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/Settings.o" "-c" "cpp/alvr_server/Settings.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/ClientConnection.o" "-c" "cpp/alvr_server/ClientConnection.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/Utils.o" "-c" "cpp/alvr_server/Utils.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/alvr_server.o" "-c" "cpp/alvr_server/alvr_server.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/IDRScheduler.o" "-c" "cpp/alvr_server/IDRScheduler.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/ChaperoneUpdater.o" "-c" "cpp/alvr_server/ChaperoneUpdater.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/VSyncThread.o" "-c" "cpp/alvr_server/VSyncThread.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/OvrDisplayComponent.o" "-c" "cpp/alvr_server/OvrDisplayComponent.cpp"
  exit status: 0
  exit status: 0
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/driverlog.o" "-c" "cpp/alvr_server/driverlog.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/PoseHistory.o" "-c" "cpp/alvr_server/PoseHistory.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/OvrController.o" "-c" "cpp/alvr_server/OvrController.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/OvrViveTrackerProxy.o" "-c" "cpp/alvr_server/OvrViveTrackerProxy.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/alvr_server/Logger.o" "-c" "cpp/alvr_server/Logger.cpp"
  exit status: 0
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/shared/threadtools.o" "-c" "cpp/shared/threadtools.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/ffmpeg_helper.o" "-c" "cpp/platform/linux/ffmpeg_helper.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/EncodePipelineSW.o" "-c" "cpp/platform/linux/EncodePipelineSW.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/generated/avfilter_loader.o" "-c" "cpp/platform/linux/generated/avfilter_loader.cpp"
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/generated/avutil_loader.o" "-c" "cpp/platform/linux/generated/avutil_loader.cpp"
  exit status: 0
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/generated/avcodec_loader.o" "-c" "cpp/platform/linux/generated/avcodec_loader.cpp"
  exit status: 0
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/generated/swscale_loader.o" "-c" "cpp/platform/linux/generated/swscale_loader.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/CEncoder.o" "-c" "cpp/platform/linux/CEncoder.cpp"
  exit status: 0
  exit status: 0
  exit status: 0
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/EncodePipelineVAAPI.o" "-c" "cpp/platform/linux/EncodePipelineVAAPI.cpp"
  running: "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/EncodePipeline.o" "-c" "cpp/platform/linux/EncodePipeline.cpp"
  exit status: 0
  exit status: 0
  cargo:warning=cpp/platform/linux/EncodePipelineSW.cpp: In constructor 'alvr::EncodePipelineSW::EncodePipelineSW(std::vector<alvr::VkFrame>&, alvr::VkFrameCtx&)':
  cargo:warning=cpp/platform/linux/EncodePipelineSW.cpp:44:56: error: invalid conversion from 'const AVCodec*' to 'AVCodec*' [-fpermissive]
  cargo:warning=   44 |   AVCodec *codec = AVCODEC.avcodec_find_encoder_by_name(encoder_name);
  exit status: 1
  cargo:warning=cpp/platform/linux/EncodePipelineVAAPI.cpp: In constructor 'alvr::EncodePipelineVAAPI::EncodePipelineVAAPI(std::vector<alvr::VkFrame>&, alvr::VkFrameCtx&)':
  cargo:warning=cpp/platform/linux/EncodePipelineVAAPI.cpp:117:56: error: invalid conversion from 'const AVCodec*' to 'AVCodec*' [-fpermissive]
  cargo:warning=  117 |   AVCodec *codec = AVCODEC.avcodec_find_encoder_by_name(encoder_name);
  exit status: 1
  exit status: 0
  exit status: 0
  exit status: 0

  --- stderr

  error occurred: Command "c++" "-O0" "-ffunction-sections" "-fdata-sections" "-fPIC" "-g" "-fno-omit-frame-pointer" "-m64" "-I" "cpp/openvr/headers" "-I" "cpp" "-Wall" "-Wextra" "-isystemcpp/openvr/headers" "-std=c++17" "-o" "/home/naia/ALVR/target/debug/build/alvr_server-d33f263a0ffe9e83/out/cpp/platform/linux/EncodePipelineSW.o" "-c" "cpp/platform/linux/EncodePipelineSW.cpp" with args "c++" did not execute successfully (status code exit status: 1).

warning: build failed, waiting for other jobs to finish...
error: build failed
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: StringError("Command failed: ")', alvr/xtask/src/main.rs:155:6
stack backtrace:
   0: rust_begin_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panicking.rs:100:14
   2: core::result::unwrap_failed
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/result.rs:1616:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/result.rs:1298:23
   4: alvr_xtask::build_server
             at ./alvr/xtask/src/main.rs:147:5
   5: alvr_xtask::main
             at ./alvr/xtask/src/main.rs:365:35
   6: core::ops::function::FnOnce::call_once
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

if also tried building without the patch and it give me the same error ^^;
so halp pls (or if you know how to make it work on nvidia gpu without needing to build it ^^)
I'm on Void Linux 5.15.7_1

I tried to checkout on 16.0.0-rc2, 16.0.0. too, and i get the same error. So im guessing i have a lib in the wrong versions or missing one or sum, sorry ^^;
(i do have libavcodec, or just all ffmpeg libs, and void ffmpeg is built with vulkan support)

My issue looks to be related (looks very similar to your compile output)
WARNING: Disabled h264_vaapi_encoder because some selected dependency is unsatisfied: cbs_h264 vaapi_encode
WARNING: Disabled hevc_vaapi_encoder because some selected dependency is unsatisfied: cbs_h265 vaapi_encode
WARNING: Disabled h264_vaapi_hwaccel because not all dependencies are satisfied: vaapi
WARNING: Disabled hevc_vaapi_hwaccel because not all dependencies are satisfied: vaapi VAPictureParameterBufferHEVC
WARNING: Disabled scale_vaapi_filter because not all dependencies are satisfied: vaapi

and later
cargo build --release  --no-default-features --features default
    Finished release [optimized] target(s) in 0.09s
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: NotFound, message: "No such file or directory (os error 2)" }', alvr/xtask/src/main.rs:210:82
stack backtrace:
   0: rust_begin_unwind
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/std/src/panicking.rs:517:5
   1: core::panicking::panic_fmt
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/panicking.rs:100:14
   2: core::result::unwrap_failed
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/result.rs:1616:5
   3: core::result::Result<T,E>::unwrap
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/result.rs:1298:23
   4: alvr_xtask::build_server
             at ./alvr/xtask/src/main.rs:210:9
   5: alvr_xtask::main
             at ./alvr/xtask/src/main.rs:365:35
   6: core::ops::function::FnOnce::call_once
             at /rustc/f1edd0429582dd29cccacaf50fd134b05593bd9c/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

System specs are:
CPU: 11th Gen Intel® Core™ i7-11800H @ 2.30GHz × 16
GPU: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q 8GB/16GB] / NVIDIA GeForce RTX 3080 Laptop GPU/PCIe/SSE2
RAM: 64GB
How do we fix this?

was just running into the same problem, seems to be a update in ffmpeg 5.0 (namely https://github.com/FFmpeg/FFmpeg/commit/626535f6a169e2d821b969e0ea77125ba7482113)  which switched to const values.
For now using ffmpeg 4.4.1 or changing the code to const AVCodec* should solve the problem

oh okay thanks I'll try ^^
if you have a patch file or can be more precise about what need to be changed please, not sure i understand sorry-

right now i simply downgraded ffmpeg to version 4.4.1
(but i assume in order to fix the code all places like
AVCodec *codec = AVCODEC.avcodec_find_encoder_by_name(encoder_name);
need to be changed to
const AVCodec *codec = AVCODEC.avcodec_find_encoder_by_name(encoder_name);

just realised, but I have ffmpeg 4.4.1!
No idea what is happening, it is afaik the only ffmpeg i have on my machine (well according to where at least)
but modifying the lines you said seems to work? at least it build ? x)

It worked


Unbreak build_runner

Description
We need to pin build_modules until we can configure the kernel worker

Merging to fix build


feat: Add integ-tests assertions

Completes #

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: c571d858ee4c26b48814eb6671601ce36d61a68e
Result: FAILED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 133e30491a5d9aa857771da3a60b8562b341ac21
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


3D Tiles disappearing on property change

When editing a property at editor-time or run-time, the entire tileset will sometimes disappear from view. Other times, tiles will pop in but others will not fully load, resulting in large unloaded areas.
Video here: https://drive.google.com/file/d/1f27XwyUAjEF4VBdsCOGJzadGsLIsGukK/view?usp=sharing (verbose logs enabled)

I can't reproduce the issue. Does it happen with an empty project?

I did some testing and it doesn't seem to happen on master, only my branch https://github.com/CesiumGS/cesium-unreal/pull/430
I had thought it was something unrelated to my changes, but I guess I was responsible for it. Going to comb through my code...

Fixed the issue. I had overriden PostEditChangeProperty without calling its parent Super::PostEditChangeProperty. Silly me 😄


Bank tag rearrangement

Is your feature request related to a problem? Please describe.
I feel as if the bank tabs' ability to aid gearing up could be enhanced further - if possible
Describe the solution you'd like
Ability to change the order of items within a bank tag, without changing their order in the bank. So I could optimise the order and make gearing up easier. Attached are photos of what'd it be like before/after if this feature were to be added - with the xerics/air staff/ectophial arranged optimally for farm run gearing, despite not appearing in that order in my bank.
But currently, by rearranging stuff with a tag you also move the order of it in your bank too

Describe alternatives you've considered
Arranging items in your bank to optimise them for tags, but this is difficult when some items are used for lots of activities - also makes bank look worse.

We have turned this feature down several times in other larger issues. Notably, bank tags only hooks the vanilla bank search.


Feature: Add sorting function to SCA list

Feature: Add sorting function to SCA list

#186

https://github.com/HXSecurity/DongTai/issues/234


Add option: args

Issue Type

Feature Request

Add a new args string array property to workspace.globals and workspace.scripts[scriptName].
This would allow default arguments to be appended to the interpolated command. Here are some examples:
Script:
scripts:
  develop:
    file: main.ts
    args:
      - hello
globals:
  deno_options:
    allow-read: true

> denox run develop
# equal to:
# deno run --allow-read main.ts hello

> denox run develop more args
# equal to:
# deno run --allow-read main.ts hello more args

Global:
scripts:
  develop:
    file: main.ts
globals:
  args:
    - foo bar
    - baz
  deno_options:
    allow-read: true

> denox run develop
# equal to:
# deno run --allow-read main.ts "foo bar" baz

> denox run develop more args
# equal to:
# deno run --allow-read main.ts "foo bar" baz more args

Both: (script replaces global, like with deno_options)
scripts:
  develop:
    file: main.ts
    args:
      - nice to
      - meet you
globals:
  args:
    - foo bar
    - baz
  deno_options:
    allow-read: true

> denox run develop
# equal to:
# deno run --allow-read main.ts "nice to" "meet you"

> denox run develop more args
# equal to:
# deno run --allow-read main.ts "nice to" "meet you" more args

Perhaps the args value can also be null to handle the case where it is set on workspace.globals but one or more scripts shouldn't inherit the value.

@jsejcksn I was thinking of implementing args as you are suggesting but then I realized that giving support for inline arbitrary script execution would actually solve this issue while keeping denox public API smaller.
Eg :
scripts:
  develop:
    file: main.ts
  develop_with_args:
    cmd: denox run develop hello
globals:
  deno_options:
    allow-read: true

> denox run develop_with_args
# equal to:
# deno run --allow-read main.ts hello

> denox run develop_with_args more args
# equal to:
# deno run --allow-read main.ts hello more args

while keeping denox public API smaller

@BentoumiTech Can you explain what you mean by that?
From my current perspective, adding cmd instead of args actually makes things more complicated. Previously, Denox was simply a Deno script runner. Adding cmd fundamentally changes what Denox does.

@jsejcksn I see your point.
Adding cmd I think is more flexible. I had many times in different project added for example a clean command that would do rm -Rf build/ in denox that would look like this :
scripts:
  clean:
    cmd: rm -Rf build

denox run clean

while keeping denox public API smaller

I meant that with cmd user would be able to achieve almost everything that would be possible with args without adding a new property.

I'm not sure that I agree about using the word "flexible". I agree that it can be "convenient".

The current equivalent of your example:
clean.ts:
Deno.run({ cmd: ['rm', '-Rf', 'build'] });

deno-workspace.yaml:
scripts:
  clean:
    file: clean.ts
    deno_options:
      allow-run: true

Not quite as convenient to type as your example, but it allows for extending functionality and can handle cross-platform discrepancies. The example command rm -Rf build will simply fail in Windows command prompt, but can be handled in the Deno script:
clean.ts:
if (Deno.build.os === 'windows') {
  Deno.run({ cmd: ['rd', '/s', '/q', 'build'] });
}
else {
  Deno.run({ cmd: ['rm', '-Rf', 'build'] });
}

Implementing cmd changes Denox from "a cross platform script runner and workspace wrapper for Deno" to "a cross platform script runner and workspace wrapper for Deno, and a platform/environment-dependent script runner".
I am not saying that I'm necessarily against the cmd idea compared to args, but this is one of many things that needs to be considered about cmd before implementing it.

Definitely I agree with you.
I'll go ahead with first implementing the cmd.
I may reconsider args in the future, the only possibility that I see with args that wouldn't be possible with cmd is the possibility to merge args from the global workspace which is an edge case that most users wouldn't need.

You also lose the ability to restrict permissions when using cmd instead of args.


Prepare release of SDK 1.5.3

View templates were all successfully compiled manually. This confirms their syntax is valid and they do not reference any node or field that does not exist in this version.


centeredSlides: true not working on first load

Swiper Version: 6.4.5
Platform/Target and Browser Versions: Windows, Chrome and Firefox, not Edge

What You Did
I am using the react version like this:
    <Swiper
        spaceBetween={16}
        slidesPerView="auto"
        pagination={{ clickable: true, el: '.slider-control' }}
        centeredSlides={true}
        grabCursor={true}
        freeMode={false}
    >
// slide
</Swiper>

You can see it live here: https://www.elameteoratrikala.com/
Expected Behavior
I have set centeredSlides to true.
Actual Behavior
When the page loads for the first time (and only then) centeredSlides={true} does not work and the slides are flushed left.
On subsequent page loads centeredSlides={true} works as expected.

Please provide an isolated code example (JSFiddle, CodePen, StackBlitz)

Please provide an isolated code example (JSFiddle, CodePen, StackBlitz)

Issue is closed because of outdated/irrelevant/not actual/needed more information/inactivity.
If this issue is still actual and reproducible for latest version of Swiper, please create new issue and fill the issue template correctly:

Clearly describe the issue including steps to reproduce when it is a bug.
Make sure you fill in the earliest version that you know has the issue.
Provide live link or JSFiddle/Codepen or website with issue

Same problem, I just find when first load, the slider's clientWidth is different with when reload the page. So when I first load, the center offset is not right.

Issue seems to occur when the CSS isn't fully loaded and the Swiper function is called.
I wrapped my Swiper function into a setTimeout function as a workaround and that did the trick.

Same here, and nothing to do with the css load.


Change "_" and "__"

The terms for single and double underscore feel loosely connected to the symbols. "under" and "dunder" feel more clearly tied to the symbols, although they are less snappy, being bisyllabic.
More feedback is needed.

"uh" and "duh" are the single-syllabic versions of "under" and "dunder". Thank you for your feedback though!


Can it show more new problem?

I think that there are too many old problems and their dfficulties can't match their score..

You can choose the problem on your behalf with the Manual Challenge Choice


bgpv2: update svc advert metadata only after successful reconcile

The ServiceAdvertisements should be updated in the reconciler metadata only if the reconciliation has been successful, otherwise we may miss some changes to the configuration during the next reconciliation, when we would only do partial instead of full reconciliation.
bgpv2: Fix service reconciliation logic to update service advertisement metadata only after successful reconciliation

/test

Thanks for this fix. I think it should be backported to 1.16 as well.

Agree, marking this as well as https://github.com/cilium/cilium/pull/34959 (which this one depends on) for backport.


Remove horizontal and vertical scrolling

Before

Now

It's no longer needed. This has been fixed already.


ReferenceError: Node is not defined

I'm using @vueuse/head v0.6.0 with vite-ssg and was confused with the following error message that killed the build script because it refers to Node (which I thought meant the language but actually refers to a variable called Node in this case).
ReferenceError: Node is not defined
    at /[..]/node_modules/@vueuse/head/dist/index.js:202:55
    at Array.forEach (<anonymous>)

The following code in the built script in dist is the culprit:
  oldElements.forEach((el) => {
    if (el.nextSibling && el.nextSibling.nodeType === Node.TEXT_NODE) {
      el.nextSibling.remove();
    }
    el.remove();
  });

There is no Node.TEXT_NODE imported or defined anywhere so if run this code will fail (although it seems to work fine in the browser at least w/ Vite dev server). This was introduced in #28. My workaround is to use npm version 0.5.1 which works fine, the current 0.6.0 doesn't.

@Uninen I had the same issue, then I upgraded my nodejs version into 16.4.0 and it works. Not sure what was the issue.

So after a few trial and errors i've manage it pass the build step. In the index.html I have this line:
<meta name="viewport" content="width=device-width, initial-scale=1.0">

And in the useHead within the meta arrays there is this code:
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },

After I removed it from the array then the build pass.

The main problem is that the custom head cannot duplicate the index.html

The solution from what @usercao said is to remove all <meta> tags from the index.html and handle those default tags directly in the code.
@praburangki that's working under the node -v v14.18.0


Add custom field to menu item

Hi,
I am building a menu for using in a site. I need to add a custom field for the menu item.
I have many use-cases, but the most common one is a template field, which tells the app how to render the page of the link.
I know I can add a field to the menu itself, but this is not enough.
I don't want to let my content editors add to via the json field. it is a pitfally  way to add data.
Thanks

+1 it would be awesome to be able to extends the builder classes, maybe adding new tipes (like "select/text/static_url") to customize the experience

PR's are welcome.

Yes, it would be an awesome feature. The most common use-case is the role selection. I would I to add a select dropdown with all roles.

These are regular Nova fields or whats expected in the getFields array?

Any doc how to add a custom field?

Create a custom MenuLinkable class (example in the README.md), register in config/nova-menu.php, add fields as regular Nova fields in
public static function getFields(): array
{
    return [];
}


[Question]plural and singular implementation

Dear sir,
I have a question regarding the plural and singular implementation.
In Japanese, we do not have a such a grammar and so we do not put "s" to the right-most.
Is there any function to remove that "s"?
I know that following source code is putting "s" to the right-most.
vendor/laravel/framework/src/Illuminate/Support/helpers.php
Possibly... can we add some logic to view files?
Or controller side?
I guess I can fix it myself.

BookStack Version: v0.17.4

Regards,

We do not need the this red rectangle one.

Hi @msaus, Sorry for my late reply. This was also picked up by other users under #417.
I've now changed it to use the built in Laravel's trans_choice() function. This means pluralization can be manually set for each language now.
The changes for this and the added translation strings can be seen on this commit: 874386ceabe51692fdc5161bf0614d2bee086aff
I'll close this issue now a solution has been implemented but if you need further help on this feel free to open a new issue or comment further on this one.


Warning that may cause rejection on Apple's app review appears when using lib on an app extension

I am using NVActivityIndicatorView on a Today Extension, and I get the following warning:
ld: warning: linking against a dylib which is not safe for use in application extensions: /{path}/NVActivityIndicatorView
It seems such warning may cause rejection on Apple's app review. In Apple Documentation https://developer.apple.com/library/content/documentation/General/Conceptual/ExtensibilityPG/ExtensionScenarios.html:

Make sure your embedded framework does not contain APIs unavailable to app extensions, as described in Some APIs Are Unavailable to App Extensions.If you have a custom framework that does contain such APIs, you can safely link to it from your containing app but cannot share that code with the app’s contained extensions. The App Store rejects any app extension that links to such frameworks or that otherwise uses unavailable APIs.

In this lib's case, I believe this happens because of the use of UIApplication, which is not available for app extensions.
I did some research and according to some github/stackoverflow users, it can be fixed by changing the "Require Only App-Extension-Safe API" build setting to Yes on the framework target.

To configure an app extension target to use an embedded framework, set the target’s “Require Only App-Extension-Safe API” build setting to Yes. If you don’t, Xcode reminds you to do so by displaying the warning “linking against dylib not safe for use in application extensions”.

However, if this doesn't work, it may be necessary to remove the use of APIs unavailable to App Extensions.
Could you please look into it? Soon I will be submitting the app to App Store, and I would like to continue using your lib.

Reading your code a bit more, I believe you use UIApplication only on NVActivityIndicatorPresenter. Such class will be used only when passing data to the methods startAnimating/stopAnimating. I guess you could add a parameter controller to ActivityData and use it instead of accessing UIApplication.shared.keyWindow. At least, it was how I did in my fork. Let me know if you agree or have a better idea.

@adrianodiasx93: Thanks for letting me know this. I didn't know that using UIApplication may cause rejection in use case of app extension. Your suggestion to use a view controller instead of UIApplication.shared.keyWindow makes sense to me. We could add view controller as additional param instead of putting into ActivityData like this startAnimating(_ data: ActivityData in viewController: UIViewController). I'll make this change soon, however, PR is more than welcome.

This's fixed in 3.7.0 by using subpod NVActivityIndicatorView/AppExtension.

Hi, I'd like to know how can I update the NVActivityIndicatorView to the earliest version. I'm currently using an old one.
Thanks!

@ninjaprox Some way I can achieve the same behavior of the subpod NVActivityIndicatorView/AppExtension using Carthage instead.
I don't use  Cocoa Pods in my project.

Also, is there some drawback in using NVActivityIndicatorView/AppExtension?
Will I be able to use NVActivityIndicatorViewable?

@adrianodiasx93: I think it's possible by creating a branch with an appropriate target for Carthage, then point to that branch in Cartfile. The drawback will be removal of NVActivityIndicatorViewable and NVActivityIndicatorPresenter. However you still can replicate the same thing by yourself.
Sent with GitHawk


gtest: vendor and update to 1.7.0

I wasn't totally sure what the intention was, since it appeared the gtest sources had been combined into a single file, and were still referencing includes that were out of tree. Seems like the easiest way to ensure that the project is buildable out of the box is just to vendor the unmodified gtest release. This should make it easier to set up an autobuilder (travis-ci.org or similar) as well.
Let me know if you'd like to re-org this in any way, happy to arrange it to your liking.

Original build log @ https://gist.github.com/e7e563b1981170236562

@kylemanna - i've also included these fixes (slightly different from yours), and gotten an auto build setup at https://github.com/liamstask/c-capnproto in case you are interested in collaborating. based on msgs on the capnproto mailing list, i'm not sure this repo is likely to be updated any time soon, but would definitely hope to merge changes back in should that change in the future.

@liamstask I took a look at your repo, but it still has a few issues:

Including the entire gtest repository is a portability nightmare
Uninitialized variables
Signedness issues

Here's the build log: https://gist.github.com/f6e0977da030db7a7971

@kylemanna - it looks like that build is not using the same makefiles (or at least compiler flags). the build log i see is at https://travis-ci.org/liamstask/c-capnproto/jobs/74119871
what is your portability concern with gtest? the authors recommend vendoring it per project: https://code.google.com/p/googletest/wiki/FAQ#Why_is_it_not_recommended_to_install_a_pre-compiled_copy_of_Goog

@kylemanna - it looks like that build is not using the same makefiles (or at least compiler flags). the build log i see is at https://travis-ci.org/liamstask/c-capnproto/jobs/74119871

Your build is using an old version of gcc gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3.  I'm running gcc 5.2.0 and clang 3.6.2.  Then again, it looks like by not setting the CXX variable correctly your build then uses gcc-4.8.  The compiler flags are exactly as the Makefile says they should be.
If you review my build log, you cannot argue with the warnings that are promoted to errors. The code doesn't lie: signed types are mixed and variables are uninitialized.  The gcc compiler in your build is 4+ years old and is letting these errors pass by.  My branch is more explicit.

what is your portability concern with gtest? the authors recommend vendoring it per project: https://code.google.com/p/googletest/wiki/FAQ#Why_is_it_not_recommended_to_install_a_pre-compiled_copy_of_Goog

The FAQ is interesting.  I'd like to avoid the mess.  At minimum gtest should be downloaded and extracted by the developer.  At best it would be a git submodule pointing to the repository.  Dumping 90k lines of code in to this repo with no good way to maintain history and the same clunky process for updating it seems like a bad approach.
In the meantime I'll roll the dice with system pre-compiler gtest libs.

The issue in the compiler flags that didn't look right to me was the fact that it wasn't passing -Wno-maybe-uninitialized - are the build logs you posted from a gcc build? If so, I don't see why this is not getting added to CFLAGS, per the test near the top of the makefile. If not, that option is not enabled by default in clang and I don't see it triggering locally when running with clang 3.6.1.
There are indeed some remaining signed/unsigned comparison warnings in the test code raised by newer gcc versions, I'll definitely apply fixes for those - thanks for the heads up.
For gtest, I'm not sure vendoring it in repo is so bad - why do you say there's no way to maintain history for it? Updating it is pretty simple, and should only need to happen very infrequently, if ever.


support confirmation of OCR-changes by ENTER key

It would be practical, if pressing ENTER would confirm the current value in the token-line like clicking on OK.

Accordingly, cancellation by DELETE or ESC would be desireable.

DELETE is already used (actually BACKSPACE) so I suggest to go with ESC for cancellation?

DELETE is already used within the token text correction (actually BACKSPACE) so I suggest to go with ESC for cancellation?

Works fine for us

added in ede687065e08b58ae9d6dbca601788560545ad63


python packages not found

running a .py script from within IDE Terminal gives Error that multiple python packages are not found, while running the script in linux console works fine.
running the .py script with full path: /usr/bin/python works fine, but I can't find an option to set this path for standard usage in the IDE Terminal
Use Atom 1.18.0, Platform IO installed with package manager.

Same problem!

Please retest again with platformio-atom-ide-terminal 2.9.0.
These type issues all so far seem fixed with this release due to using node-pty-prebuilt instead unmaintained and outdated pty.js


Add documentation pages for installing and local development

This PR adds documentation pages for the project, with instructions on installing and developing this project.
It also adds a number of files to create and spin up docker images, to ease the setup of a development environment.
Sorry for including both in the same PR.
Work in progress, to add:

[x] instructions for setting up a local test database

Postponed for a separate PR:

[ ] configuration options
[ ] #77
[ ] #78
[ ] #79

Closes #7 #70 #76

Hi @Taniya-Das, could you have a look at the new documentation and identify if there are still any issues with it?
The documentation is already live at https://openml.github.io/server-api/, which will make it easier to use.
Could you try set up a development environment using this documentation? Following the documentation, you should be able to:

set up a local documentation server, that renders the local version of the documentation.
set up a local python-based Python server, that connects to a local test database.

You should be able to make changes to either of them and see the servers reflect the changes (e.g., modify a REST API endpoint or change documentation). You should be able to run all unit tests (from a docker container, at least).
I realize that instructions on how to actually contribute by means of adding a new endpoint is underdocumented, but at this point I figured it's better to merge partial progress now as it already is a big chunk of automation and documentation.

Merging this but still really interested in the feedback and I will process that in separate PRs.

Hi! I have verified the documentation and I could

Follow the documentation to set up the development environment.
Successfully run the unit tests from the container.
Make changes in the docs (added extra texts) and see them on the server.
Modify the REST API endpoint (commented on some of the routers) and see the change reflected on the server.

The documentation is clear and easy to follow.
It might to good to include some information about setup using pyenv.
For Contributing -> Development -> YAML validation, we can also add VS code configuration along with Pycharm. In VS code, Settings -> Extensions -> JSON -> Edit in settings.json


Converting .bin file to .png

Required Info

Camera Model
D415

Firmware Version
2.25.0

Operating System & Version
Win 10

Platform
PC

Language
C++

Issue Description
Hi,
I saved my frames as .bin files using the following with saves the color and depth data into .bin files in a folder.
outfile1.write(static_cast<const char*>(rgb.get_data()), byte(rgb.get_height()) * rgb.get_stride_in_bytes());
outfile2.write(static_cast<const char*>(depth.get_data()), byte(depth.get_height()) * depth.get_stride_in_bytes());

How can I write a separate program to unpack the .bin files into rs2::frame again which can then be converted to .png? Another post https://github.com/IntelRealSense/librealsense/issues/2462 says to use static_cast rs2::frame, but it doesn't work for me because my syntax/code is probably wrong.
std::ifstream infile1;
path1 = "C:\\Program Files(x86)\\Intel RealSense SDK 2.0\\samples\\ar-basic\\left_rgb\\cam_left_rgb_" + frame + ".bin";
infile1.open(path1, std::ifstream::binary);

std::ofstream outfile1;
path1 = "C:\\Program Files(x86)\\Intel RealSense SDK 2.0\\samples\\ar-basic\\left_rgb_png\\cam_left_rgb_" + frame + ".png";
outfile1.open(path1, std::ofstream::binary);
outfile1.write(static_cast<rs2::frame>(infile1);
outfile1.close();

Any help would be appreciated.

An alternate approach may be to save the frames as a bag instead.    The SDK has an existing program called rs-convert that you could use as-is or adapt the code into your own project.
https://github.com/IntelRealSense/librealsense/tree/master/tools/convert

If your recording periods are short then you could use the Keep() instruction to record the frames into memory and then save all the files in a single action at the end when the pipeline is closed.  This should be faster than writing to storage as you record.   Keep() is suited to short recording periods only because memory gets consumed by the frames otherwise.  I believe that the  recommended period for recording with Keep() is around 10 seconds.

I came across a web-based bin to png convertor that offers the source code for the convertor page on a GitHub.  As you are willing to create the convertor as a separate program, I wonder if this might meet your needs.  It would be quite quick to put a RealSense bin file into the existing pre-made convertor page and see if a good PNG comes out of it.
Convertor web-page
http://xem.github.io/3DShomebrew/tools/bin-to-png.html
Convertor HTML web-page source
https://github.com/xem/3DShomebrew/blob/gh-pages/tools/bin-to-png.html

I tried the web converter, but only about the top 1/4 of the image is recovered and it has a very blue tint. Not sure if that’s because of the code above I used to save to .bin files or if it’s the web converter’s problem. Do you think the code I used in my first post should correctly save the entire frame as .bin?

Dorodnic the RealSense SDK Manager offered some example code for another user for writing a binary.  It uses the outfile.write technique your own code uses:
https://github.com/IntelRealSense/librealsense/issues/1485#issuecomment-379703868

That's where I got my code from. Here's my full function.
char buffer[50];

void save_raw_data(rs2::frameset const& f, std::string& dir, int count, std::string cam) {
	auto depth = f.get_depth_frame();
	auto rgb = f.get_color_frame();
	// Set up path for images
	sprintf(buffer, "%05d", count);
	std::string path1(dir + "\\" + cam + "_rgb\\cam_" + cam + "_rgb_" + buffer + ".bin");
	std::string path2(dir + "\\" + cam + "_intel_depth\\cam_" + cam + "_intel_depth_" + buffer + ".bin");
	std::ofstream outfile1(path1.data(), std::ofstream::binary);
	std::ofstream outfile2(path2.data(), std::ofstream::binary);
	outfile1.write(static_cast<const char*>(rgb.get_data()), UINT8(rgb.get_height()) * rgb.get_stride_in_bytes());
	outfile2.write(static_cast<const char*>(depth.get_data()), UINT8(depth.get_height()) * depth.get_stride_in_bytes());
	outfile1.close();
	outfile2.close();
}

The problem I'm having is not knowing how to unpack the .bin files properly.

I researched the subject further and although there are plenty of general binary text to png solutions available, it occurred to me that none of them may be useful if the RealSense bin files are formatting the data in a particular way that requires a solution tailored to RealSense in order to get an intact PNG version of it.
I also considered the possibility of changing a bin back into a frame (as you suggested in your original message) but saw that you had already visited the most useful recent reference about that.
https://github.com/IntelRealSense/librealsense/issues/2462#issuecomment-439694887
At this point it is is probably best to go straight to someone on the RealSense GitHub team who can offer a custom solution, which is probably @dorodnic

I tried reaching out to dorodnic, but he has not responded.

As long as your case here is open then a member of the Intel team is obligated to visit it to ask if you still need help before they close the case (if you have not closed it yourself by then).  It is not possible to predict exactly when that visit will happen though.
I'll ping a few names to try to get some assistance for you from one of the Intel team.
@dorodnic @RealSenseCustomerSupport @RealSense-Customer-Engineering @ev-mp

How long does it usually take to get a response?

I would not usually recommend this, but since you have tried every way to get a response, you should probably create a new case so that you go to the top of the forum front page.  Then close this old case using the Close Issue button beside the green Comment button.

@josephdanielchang , sorry for the late response.
Converting bin to png means that you're actually after data domain transformation that converts the raw depth (16-bit unsigned single-channel data) into RGB color-space (Three-channels, 8-bit per channel, stream).
The way to perform it in librealsense is to (a) create a depth frame from the bin file, (b) apply the colorizer object to make the transformation and then (c) store RGB in PNG format.
a) Generating rs2::frame from the bin file is achieved via software_device class. Note that in addition to the raw bin file the rs2::frame requires that you'd also provide width and  height data. There are more (intrinsic/extrinsic) but it can be faked in this particular scenario.
Software_device.
A more hands-on example is in the unit-tests where we actually generate and populate frames from 'bin' files here
b) The colorizer is used in multiple demos  such as  rs-capture or rs-post-processing. Remember, however that the domain transformation in most cases is a one-way function and you will not be able to reconstruct depth from RGB.
c) Librealsense utilizes a 3rd-party library to export RGB as PNG. This use-case is elaborated in rs-save-to-disk example

@josephdanielchang , the reference code is identical to your use-case - the dataset used in unit-tests was recorded from Librealsense with the same method as you did, and in includes the raw pixels buffer retrieved with frame.get_data() method.
Thus by following the link to the unit-tests example you would be able to see how to reconstruct rs2::frame from bin file step-by-step and then use those user-generated frames in the SDK.
Is there any specific question regarding the flow or the mentioned implementation ?

Where exactly is that happening? Is it here:
`
TEST_CASE("Post-Processing Filters metadata validation", "[software-device][post-processing-filters]")
{
rs2::context ctx;
if (make_context(SECTION_FROM_TEST_NAME, &ctx))
{
	ppf_test_config test_cfg;
	for (auto& ppf_test : ppf_test_cases)
	{
		CAPTURE(ppf_test.first);
		CAPTURE(ppf_test.second);

		WARN("PPF test " << ppf_test.first << "[" << ppf_test.second << "]");

		// Load the data from configuration and raw frame files
		if (!load_test_configuration(ppf_test.first, test_cfg))
			continue;

		post_processing_filters ppf;

		// Apply the retrieved configuration onto a local post-processing chain of filters
		REQUIRE_NOTHROW(ppf.configure(test_cfg));

		rs2::software_device dev; // Create software-only device
		auto depth_sensor = dev.add_sensor("Depth");

		int width = test_cfg.input_res_x;
		int height = test_cfg.input_res_y;
		int depth_bpp = 2; //16bit unsigned
		int frame_number = 1;
		rs2_intrinsics depth_intrinsics = { width, height,
			width / 2.f, height / 2.f,                      // Principal point (N/A in this test)
			test_cfg.focal_length ,test_cfg.focal_length,   // Focal Length
			RS2_DISTORTION_BROWN_CONRADY ,{ 0,0,0,0,0 } };

		auto depth_stream_profile = depth_sensor.add_video_stream({ RS2_STREAM_DEPTH, 0, 0, width, height, 30, depth_bpp, RS2_FORMAT_Z16, depth_intrinsics });

		// Establish the required chain of filters
		dev.create_matcher(RS2_MATCHER_DLR_C);
		rs2::syncer sync;

		depth_sensor.open(depth_stream_profile);
		depth_sensor.start(sync);

		size_t frames = (test_cfg.frames_sequence_size > 1) ? test_cfg.frames_sequence_size : 1;
		for (auto i = 0; i < frames; i++)
		{
			//set next frames metadata
			for (auto i = 0; i < rs2_frame_metadata_value::RS2_FRAME_METADATA_COUNT; i++)
				depth_sensor.set_metadata((rs2_frame_metadata_value)i, rand());

			// Inject input frame
			depth_sensor.on_video_frame({ test_cfg._input_frames[i].data(), // Frame pixels from capture API
				[](void*) {},                   // Custom deleter (if required)
				(int)test_cfg.input_res_x * depth_bpp,    // Stride
				depth_bpp,                          // Bytes-per-pixels
				(rs2_time_t)frame_number + i,      // Timestamp
				RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME,   // Clock Domain
				frame_number,                       // Frame# for potential sync services
				depth_stream_profile });            // Depth stream profile

			rs2::frameset fset = sync.wait_for_frames();
			REQUIRE(fset);
			rs2::frame depth = fset.first_or_default(RS2_STREAM_DEPTH);
			REQUIRE(depth);

			// ... here the actual filters are being applied
			auto filtered_depth = ppf.process(depth);

			// Compare the resulted frame metadata versus input
			compare_frame_md(depth, filtered_depth);
		}
	}
}

}`

The code is quite fairly documented, so it is mostly copy&pasted from the link-

Reading the binary files from disk to memory

// Load the data from configuration and raw frame files
if (!load_test_configuration(ppf_test.first, test_cfg))

Create a software_device with an appropriate depth_sensor. Populate the sensor with the streaming configuration (resolution,format,fps) that is consistent with the content of the raw depth files

rs2::software_device dev; // Create software-only device
	auto depth_sensor = dev.add_sensor("Depth");
	int width = test_cfg.input_res_x;
	int height = test_cfg.input_res_y;
	int depth_bpp = 2; //16bit unsigned
	int frame_number = 1;
	rs2_intrinsics depth_intrinsics = { width, height,
		width / 2.f, height / 2.f,                      // Principal point (N/A in this test)
		test_cfg.focal_length ,test_cfg.focal_length,   // Focal Length
		RS2_DISTORTION_BROWN_CONRADY ,{ 0,0,0,0,0 } };

	auto depth_stream_profile = depth_sensor.add_video_stream({ RS2_STREAM_DEPTH, 0, 0, width, height, 30, depth_bpp, RS2_FORMAT_Z16, depth_intrinsics });

Set the emulated device into streaming and provide the constructs to read frames

// Establish the required chain of filters
	dev.create_matcher(RS2_MATCHER_DLR_C);
	rs2::syncer sync;

       depth_sensor.open(depth_stream_profile);
	depth_sensor.start(sync);

Feed the emulated sensor with binary data loaded from the files, and receive it back as rs2::frame ready for SDK usage:

				// Inject input frame
				depth_sensor.on_video_frame({ test_cfg._input_frames[i].data(), // Frame pixels from capture API
					[](void*) {},                   // Custom deleter (if required)
					(int)test_cfg.input_res_x * depth_bpp,    // Stride
					depth_bpp,                          // Bytes-per-pixels
					(rs2_time_t)frame_number + i,      // Timestamp
					RS2_TIMESTAMP_DOMAIN_SYSTEM_TIME,   // Clock Domain
					frame_number,                       // Frame# for potential sync services
					depth_stream_profile });            // Depth stream profile

				rs2::frameset fset = sync.wait_for_frames();
				REQUIRE(fset);
				rs2::frame depth = fset.first_or_default(RS2_STREAM_DEPTH);
				REQUIRE(depth);

Apply post-processing blocks or any other SDK-provided utility class that requires rs2::frame as input:

	// ... here the actual filters are being applied
	auto filtered_depth = ppf.process(depth);
        ......

What is TEST_CASE and how is the code run under it? Is the code actually run in main or in unit-tests-post-processing.cpp?

See inline

1 What is TEST_CASE and how is the code inside it run?

TEST_CASE is a unit-test construct of the catch unit-tests library employed by Librealsense.
Invoke the particular case (after compiling the code with the mentioned flag) by running live-test -d yes -i "Post-Processing Filters metadata validation.

Is the code actually run in main or in unit-tests-post-processing.cpp?

The test code runs inside the test's body, invoked by main. Debug the test by setting a breakpoint at the entrance of the unit-test to trace the code flow callstack.

Also, how would one upload .bin files from a local folder rather than using test_cfg, their dataset which is not from a local folder?

test_cfg read raw frames data from local folder using only c++ core std::ifstream. None of the SDK unit-tests rely on remotely-stored data.
The binary files are loaded from the hard disk in std::vector<uint8_t> load_from_binary(const std::string& str) function.

The load_from_binary function is in the .h file, but not in any of the .cpp files. How is it uploading data locally then?
I downloaded the repo as .zip and extracted. Then, I created a new VSC++ project with the existing unit-tests code. I try to build unit-tests-main.cpp, but it gives the following errors. It can't open include files it should have access to. Not sure how to fix. Image of errors here https://ibb.co/Lp535GK

The load_from_binary function is in the .h file, but not in any of the .cpp files. How is it uploading data locally then?
I downloaded the repo as .zip and extracted. Then, I created a new VSC++ project with the existing unit-tests code. I try to build unit-tests-main.cpp, but it gives the following errors. It can't open include files it should have access to. Not sure how to fix. Image of errors here https://ibb.co/Lp535GK

The load_from_binary function is in unit-tests-post-processing.h, but not...

The unit-tests are structured to serve a certain purpose. You can definitely use them as reference code.  As mentioned above - you can run it with debugger to see how the code reaches load_from_binary.

am running into the following error when building unit-tests-main.cpp. I

Are you building the project as part of ''Librealsense SDK" build according to the installation guide, or as a part of your own solution/project ?
The code is tested with CI with MSVC 2015/2017 in both x86 and X64 configuration, so if you have an issue with the installation instruction please post the reproduction scenario.
In the latter case - make sure to adjust the project setting to the SDK's, such as Character Set=Use Unicode Character Set.

What are the files in the "internal" folder for; can I just delete them when running my code?

The files in internal folder are not part of the particular test and can be safely deleted.
Again, as explained before - build and run that particular unit-test from within unmodified SDK build to avoid the configuration issues that you've probably run into. Once you are familiar with the flow and the code specifics then copy/mimic them in your own code.
Good Luck!

How do I adjust the project setting to Character Set=Use Unicode Character Set in Visual Studio C++ 2019?

Check the following :

Used cmake-gui to configure and generate the project to a BUILD folder.

Make sure to specify the CMake flag as requested

Opened the project solution in Visual Studio and ran 'build' on ALL_BUILD 'release' and INSTALL 'debug'

The log indicates that only the unit-tests project being compiled, which suggests that you're not building the proper solution file. You should generate open and build the "librealsense2.sln" file found in the build directory that would compile the SDK's unit-tests and all its dependencies.
The CMake-GUI provides you an option to open the project directly -

Can the flag be passed on the cmake gui or only command line? On the gui, is it supposed to be in one of those checkboxes shown above 'open project' in the image above because on my end, I didn't get that.

I built the project as mentioned above and it works. How do I run the following line though?
live-test -d yes -i "Post-Processing Filters metadata validation"
Does it have to be in the command line or can it be in Visual Studio somehow?

When built properly the live-test executable will be located in <librealsense_root>\build\<configuration> directory. you can also check the MSVC build log if in doubt.
Then open windows command prompt (cmd.exe) , navigate and run the above line from that directory.
To step into the code with debugger you'll need to pass the command line parameters to Visual Studio settings:

I passed the command line parameters to VS settings. I navigated to the following directory in command line C:\Users\josep\OneDrive\Documents\librealsense\BUILD_\config and tried running live-test -d yes -i "Post-Processing Filters metadata validation", but it outputs
'live-test' is not recognized as an internal or external command,
operable program or batch file.

Hi @josephdanielchang,
You need provide the full path to the executable or to add it to environment variables. Please let us know if you need any additional help with this question.
Thank you!


Fix URLConfig.evaluate_dry

URLConfig.evaluate_dry was using the url_to_ast method which returns a nested abstract syntax tree so only the top level kwargs were replaced. This causes errors when trying to replace kwargs used by nested protocols.
The PR uses the URLConfig.format_url_kwargs which replaces kwargs globally in the URL.
Minimal example:
URL = "list-to-array://xedocs://pmt_area_to_pes?as_list=True&sort=pmt&detector=tpc&run_id=plugin.run_id&version=v9&attr=value"
straxen.URLConfig.evaluate_dry(URL, run_id='047600')

coverage: 93.567% (+0.03%) from 93.534% when pulling 18242f5099a57b7e4bc6fca6b22da0bd51751137 on fix_urlconfig_bug into 03ab8b8429c36dc29ba44fd125c56196f5aad94c on master.