[DOC] - How to interact with conda-store programmatically

Preliminary Checks

[X] This issue is not a question, feature request, RFC, or anything other than a bug report. Please post those things in GitHub Discussions: https://github.com/nebari-dev/nebari/discussions

Summary
In order to automate the creation of conda-store environments, it is necessary to interact with conda-store programmatically.
Nebari provides the ability to auto-pull git repositories and place them in users's private directories. This is useful for providing examples to users, but in order to truly prepare Nebari for new users running such examples, it must also create the environment(s) to go along with it. Doing this manually with every change to examples is tedious to maintain.
And just in general - developers often prefer doing things programmatically.
Its possible to programmatically create conda-store environments, but currently, the process is not part of a formal api. Until it becomes part of an api, I suggest documenting the code.
Steps to Resolve this Issue
I started with https://github.com/conda-incubator/conda-store/blob/524a1cc7313f3eca0d63d096ffc478df344b88ea/conda-store-server/tests/user_journeys/utils/api_utils.py as mentioned above, but removed parts that I couldn't get to work (login->token creation) and other things an end user on nebari shouldn't mess with (create/delete namespace). I also manually logged into conda-store before running this code.
First, you must go to {your nebari domain}/conda-store/admin/user and create a token.
There is a LOT of boilerplate here, but the important calls are down at the bottom.
import json
import requests
import time
import uuid

from enum import Enum
from typing import Any, Callable, Dict, Optional, Union
from datetime import datetime, timedelta, timezone

TIMEOUT = 10

def get_current_time() -> datetime:
    """Get the current time."""
    return datetime.now(timezone.utc)

def get_time_in_future(hours: int) -> datetime:
    """Get the time in the future."""
    current_time = get_current_time()
    future_time = current_time + timedelta(hours=hours)
    return future_time

def get_iso8601_time(hours: int) -> str:
    """Get the time in the future in ISO 8601 format."""
    future_time = get_time_in_future(hours)
    iso_format = future_time.isoformat()
    return iso_format

class BuildStatus(Enum):
    """Enum for API build status."""

    QUEUED = "QUEUED"
    BUILDING = "BUILDING"
    COMPLETED = "COMPLETED"
    FAILED = "FAILED"
    CANCELED = "CANCELED"

class NamespaceStatus(Enum):
    OK = "ok"
    ERROR = "error"

class API:
    """
    Helper class for making requests to the API.
    These methods are used to build tests for user journeys
    """

    def __init__(
        self,
        base_url: str,
        token: str = "",
        username: str = "username",
        password: str = "password",
    ) -> None:
        self.base_url = base_url
        self.token = token
        if not token:
            # Log in if no token is provided to set the token
            self._login(username, password)

    def _make_request(
        self,
        endpoint: str,
        method: str = "GET",
        json_data: dict = None,
        headers: dict = None,
        timeout: int = TIMEOUT,
    ) -> requests.Response:
        """Make a request to the API."""
        url = f"{self.base_url}/{endpoint}"
        headers = headers or {}
        headers["Authorization"] = f"Bearer {self.token}"
        response = requests.request(
            method, url, json=json_data, headers=headers, timeout=timeout
        )
        response.raise_for_status()
        return response

    def get_logs(self, build_id: int) -> requests.Response:
        """Get the logs for the given build id.

        Parameters
        ----------
        build_id : int
            ID of the build to get the logs for

        Returns
        -------
        requests.Response
            Response from the conda-store-server. Logs are stored in the
            `.text` property, i.e. response.json()['text']
        """
        return self._make_request(f"api/v1/build/{build_id}/logs/")

    def _login(self, username: str, password: str) -> None:
        """Log in to the API and set an access token."""
        json_data = {"username": username, "password": password}
        response = requests.post(
            f"{self.base_url}/login", json=json_data, timeout=TIMEOUT
        )
        cookies = response.cookies.get_dict()
        token_response = requests.post(
            f"{self.base_url}/api/v1/token", cookies=cookies, timeout=TIMEOUT
        )
        data = token_response.json()
        self.token = data["data"]["token"]

    def create_environment(
        self,
        namespace: str,
        specification_path: str,
        max_iterations: int = 100,
        sleep_time: int = 5,
        wait: bool = True,
    ) -> requests.Response:
        """Create an environment.

        Parameters
        ----------
        namespace : str
            Namespace the environment should be written to
        specification_path : str
            Path to conda environment specification file
        max_iterations : int
            Max number of times to check whether the build completed before failing
        sleep_time : int
            Seconds to wait between each status check
        wait : bool
            If True, wait for the build to complete, fail, or be canceled before
            returning a response. If False, return the response from the specification
            POST immediately without waiting

        Returns
        -------
        requests.Response
            Response from the conda-store server's api/v1/build/{build_id}/
            endpoint
        """
        with open(specification_path, "r", encoding="utf-8") as file:
            specification_content = file.read()

        response = self._make_request(
            "api/v1/specification",
            method="POST",
            json_data={"namespace": namespace, "specification": specification_content},
        )
        if not wait:
            return response

        build_id = response.json()["data"]["build_id"]

        def check_status():
            status = self.get_build_status(build_id)
            if status in [BuildStatus.QUEUED, BuildStatus.BUILDING]:
                return False
            return status in [
                BuildStatus.FAILED,
                BuildStatus.CANCELED,
                BuildStatus.COMPLETED,
            ]

        wait_for_condition(check_status, timeout=240, interval=1)
        return self._make_request(f"api/v1/build/{build_id}/")

    def delete_environment(
        self, namespace: str, environment_name: str
    ) -> requests.Response:
        """Delete an environment."""
        return self._make_request(
            f"api/v1/environment/{namespace}/{environment_name}", method="DELETE"
        )

    def list_environments(self, namespace: Optional[str] = None):
        """List the environments in the given namespace.

        Parameters
        ----------
        namespace : Optional[str]
            Name of the namespace for which environments are to be retrieved.
            If None, all environments are retrieved.

        Returns
        -------
        requests.Response
            Response from the server containing the list of environments
        """
        if namespace:
            return self._make_request(
                f"api/v1/environment/?namespace={namespace}", method="GET"
            )
        return self._make_request("api/v1/environment/", method="GET")

    def set_active_build(
        self, namespace: str, environment: str, build_id: int
    ) -> requests.Response:
        """Set the active build for a given environment.

        Parameters
        ----------
        namespace : str
            Name of the namespace in which the environment lives
        environment : str
            Environment to set the build for
        build_id : int
            ID of the build to be activated for the given environment

        Returns
        -------
        requests.Response
            Response from the conda-store server.
        """
        return self._make_request(
            f"api/v1/environment/{namespace}/{environment}",
            method="PUT",
            json_data={"build_id": build_id},
        )

    def get_builds(
        self,
        environment: Optional[str] = None,
        namespace: Optional[str] = None,
    ) -> dict[str, Any]:
        """Get information about an environment.

        Parameters
        ----------
        namespace : Optional[str]
            Name of a namespace
        environment : Optional[str]
            Name of an environment

        Returns
        -------
        dict[str, Any]
            Dict of build properties; see API docs for
            api/v1/build/ for more information.
        """
        query_params = []
        if environment:
            query_params.append(f"name={environment}")

        if namespace:
            query_params.append(f"namespace={namespace}")

        return self._make_request(f'api/v1/build/?{"&".join(query_params)}').json()[
            "data"
        ]

    def get_environment(self, namespace: str, environment: str) -> dict[str, Any]:
        """Get information about an environment.

        Parameters
        ----------
        namespace : str
            Name of the namespace in which the environment lives
        environment : str
            Name of the environment

        Returns
        -------
        dict[str, Any]
            Dict of environment properties; see API docs for
            api/v1/environment/{namespace}/{environment}/ for more information.
        """
        return self._make_request(
            f"api/v1/environment/{namespace}/{environment}/"
        ).json()["data"]

    def cancel_build(self, build_id: int) -> requests.Response:
        """Cancel a build in progress.

        Parameters
        ----------
        build_id : int
            ID of the build to cancel

        Returns
        -------
        requests.Response
            Response from the server
        """
        return self._make_request(f"api/v1/build/{build_id}/cancel/", method="PUT")

    def get_build_status(self, build_id: int) -> BuildStatus:
        """Get the status of a build as a BuildStatus instance.

        Parameters
        ----------
        build_id : int
            ID of the build to get the status for

        Returns
        -------
        BuildStatus
            Build status for the given build ID
        """
        response = self._make_request(f"api/v1/build/{build_id}/")
        return BuildStatus(response.json()["data"]["status"])

    def get_lockfile(self, build_id: int) -> Dict[str, Any]:
        """Get a lockfile for the given build ID.
            Build for which the lockfile is to be retrieved

        Returns
        -------
        Dict[str, Any]
            Dictionary containing the lockfile version, metadata, and packages
        """
        return json.loads(self._make_request(f"api/v1/build/{build_id}/lockfile").text)

def wait_for_condition(
    condition: Callable[[], bool], timeout: int = 60, interval: int = 1
):
    """Call `condition` until it returns `True`.

    `condition` will be called every `interval` seconds up to a maximum of `timeout`
    seconds, at which point a ValueError is raised.

    Parameters
    ----------
    condition : Callable[[], bool]
        Function to call until True is returned
    timeout : int
        Number of seconds to continue calling `condition` for before timing out
    interval : int
        Number of seconds between consecutive calls
    """
    initial_time = time.time()
    while time.time() - initial_time < timeout:
        result = condition()
        if result:
            return

        time.sleep(interval)

    raise ValueError(
        f"Timeout after {timeout}s waiting for condition. Last result: {result}"
    )

nebari_domain = 'https://my.nebari.domain'
base_url = f'{nebari_domain}/conda-store'
token = 'mytoken'
# local path to environment spec - MUST SPECIFY NAME IN SPEC
specification_path = '/home/myusername/test_env.yml'
namespace = 'myusername'

api = API(base_url=base_url, token=token)
# create environment and return the environment name
environment_name = api.create_environment(namespace, specification_path).json()["data"]["specification"]["name"]

Related issue on conda-store requesting moving this into the package: https://github.com/conda-incubator/conda-store/issues/853

Its possible to programmatically create conda-store environments, but currently, the process is not part of a formal api. Until it becomes part of an api, I suggest documenting the code.

I think you mean an SDK here right? instead of an API -- also, you might be able to get this to work by installing conda-store as a package and calling the function from there, might help you reduce some of the logic
https://github.com/conda-incubator/conda-store/blob/main/conda-store/conda_store/api.py

Yeah you're right, I'm using it as an SDK here. Really I'd be fine with SDK or CLI, but I actually think there may already be a way (an easier way) to go about this, its just not documented. I think it's best to close this and follow the related conda-store issue for documenting this process.


Enable context menu additions to Windows Store installation

Summary of the new feature/enhancement

When installing powershell from msi, there is an option to add context menu additions for opening Powershell in a folder (when right clicking). The same is not true for the Windows Store version (Powershell Preview).

Maybe it would be possible to allow this option via "App Settings > Add-ons & downloadable content"? It would be great if we can get the auto-updating features of the store version, but still having feature parity with the msi installation.
Proposed technical implementation details (optional)

Install Powershell Preview from the store
(optional) Enable context menu items
Right click inside a folder in File Explorer
"Open with Powershell" item should be available

It is dup #10892.

Sorry, I searched for a few keywords, but didn't find any similar issue!


Fix typo: delete_at -> deleted_at

Sorry for the delay on this. I didn't receive a notification.
Thanks.


glibc: use (lib.getBin pkgsBuildBuild.glibc) to generate locales

Description of changes
This is an alternative resolution of the problem identified in
https://github.com/NixOS/nixpkgs/pull/259964
which stated that "glibc depends on buildPackages.glibc for locale things.  buildPackages.glibc depended on buildPackages.libgcc, which, since it's GCC, depends on the target's bintools, which depend on the target's glibc, which, again, depends on buildPackages.glibc, causing an infinute recursion when evaluating buildPackages.glibc when glibc hasn't come from stdenv (e.g. on musl)."
The fact that we use pkgsBuildHost.glibc instead of pkgsBuildBuild.glibc to generate the locales has always been a gross hack.  If we simply remove the gross hack the circularity goes away.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@OfBorg build pkgsMusl.pkgsCross.gnu64.hello

@ofborg build pkgsMusl.pkgsCross.gnu64.hello
Should work now.

pkgsMusl.pkgsCross.gnu64.hello on x86_64-linux — Success


Pagination jumps between pages and depending on table size

https://www.useloom.com/share/1db9b7dd6597427598ae06283dc239c3
Ideally, I'd like the control to appear to be fixed on the page while the data changes to match my current location.

👍 Looks and works great!


fix bug "class not found"

Hello good time
During the installation today, I encountered the error Class "Illuminate\Database\Console\ShowModelCommand" not found, so I solved this problem. Thank you for confirming.

When merged? @nWidart

I cannot replicate this issue, when using Laravel 9 ensure you're using version 9 of the package:
"require": {
    "laravel/framework": "^9.19",
    "nwidart/laravel-modules": "^9.0"
},

For Laravel 10:
"require": {
    "laravel/framework": "^10.0",
    "nwidart/laravel-modules": "^10.0"
},


show loader or something while engine is doing the export

not an essential priority but we will want for v1 since its confusing
https://github.com/KittyCAD/modeling-app/assets/1445228/7311d935-0b6d-48fc-b2e4-6aac2e8da80a

Yahp you're totally right. I want to think about if we should make the command palette have a loading state, or instead do like a loading toast using toast.promise() on the Export command or something. I have a hunch that the toast approach will be easier.

@jessfraz I looked into this today and ran into a little something trying to pass back the Promise of the success/failure/cancellation of the save dialog.
Basically with modeling commands we use this command.resolve to resolve the pending promise, but we don't seem to do the same with Export; here we just void the resolution of exportSave.
I'm a little unfamiliar with the artifactMap workings, but I think I need to find the export command by ID and wire up the return value of exportSave to either its .promise or .resolve


add question about case type from summons

The "docket" version of the question about case type is asked, when the user hasn't been asked about access ot the docket.

there is another question in case_information.yml - one in main file should probably be deleted


OSX-related CMakeLists maintenance

The linker of OSX does not support -s for link-time stripping.
(The option does not cause an error but clutters build output with
warnings.)
JerryScript-DCO-1.0-Signed-off-by: Akos Kiss<EMAIL_ADDRESS>

Found one more OSX-related issue in CMakeLists:
No OSX-dependent LTO flags: LTO is disabled on OSX.
Updated the commit and changed the PR title accordingly.

LGTM


Updating build number with agvtool new-version -all {build number} doesn't work

agvtool returns with:
Setting version of project {project} to:
    {build number}.
Also setting CFBundleVersion key (assuming it exists)
Updating CFBundleVersion in Info.plist(s)...
$(SRCROOT)/iOS/Info.plist
Cannot find "$(SRCROOT)/iOS/Info.plist"

Had the same problem, solved it by making the path relative. Just remove $(SRCROOT)/ from the "Info.plist File" setting under Build Settings and it works just fine.

@peterprokop
Did the solution from @oblador work for you?

@christopherdro haven't tried it.
Used something like
/usr/libexec/PlistBuddy -c "Set CFBundleVersion $TRAVIS_BUILD_NUMBER" ./iOS/Info.plist
instead.

@oblador - that worked for me as well, submitted a PR to update the SampleApp accordingly

Thanks @oblador


Minimum size of a cuboid

Hey guys, i'm using NCollide via Amethyst/NPhysics. First, thanks a lot for your awesome work!
I noticed following:
The documentation says, that each half-extent of a Cuboid must be greater than 0.04 but it is asserted to be just non-negative:
https://github.com/rustsim/ncollide/blob/d6fd1030c4a70cb2d2c369fea3e7cc30a8cea20b/src/shape/cuboid.rs#L23-L36
Is that limitation (half_extent > 0.04) necessary at all?
If yes, then this should be asserted, too.

Hi! Looks like the doc is wrong. The half-extents only need to be positive.


Citation

Do you have a preferred citation for this work?

For this implementation of RMIs, one should cite the CDFShop paper:
Ryan Marcus, Emily Zhang, and Tim Kraska. 2020. CDFShop: Exploring and Optimizing Learned Index Structures. In Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data (SIGMOD '20). Association for Computing Machinery, New York, NY, USA, 2789–2792. DOI:https://doi.org/10.1145/3318464.3384706

For RMIs and learned index structures in general, one should cite the original paper:
Tim Kraska, Alex Beutel, Ed H. Chi, Jeffrey Dean, and Neoklis Polyzotis. 2018. The Case for Learned Index Structures. In Proceedings of the 2018 International Conference on Management of Data (SIGMOD '18). Association for Computing Machinery, New York, NY, USA, 489–504. DOI:https://doi.org/10.1145/3183713.3196909

I've added this to the readme as well.


OpenMC Integration

In GitLab by @perarnau on Jun 17, 2020, 13:33
OpenMC is currently targetting OpenMP 4.5 target offload as the main programming model for next generation platforms.
The ECP science target is small enough that 1 MPI rank per GPU is doable, but that's not the only thing that OpenMC is aimed at.
More importantly, there is a need for a better API to allocate and transfer data to GPUs, in particular with respect to recursive data structures. We need to focus our work on that and make sure all the features are in place for this use case.
The goal is then to have full support for allocating, maintaining layouts, and moving data on a GPU:
First CUDA support:

areas: done
layouts: merge request on the way (!81)
dma: still on-going
layouts for recursive data structures.

Then OpenCL support.
Also important, making sure that we use the CI to maintain the support stable.

In GitLab by @perarnau on Jul 2, 2020, 09:35
We are missing a CI runner for CUDA support

In GitLab by @perarnau on Jul 2, 2020, 09:52
changed the description

In GitLab by @NicolasDenoyelle on Jul 2, 2020, 10:27
Fix layout merge issue. !137

In GitLab by @NicolasDenoyelle on Sep 17, 2020, 09:55
TODO: Manage array of substructures in tree tiling API and not just sub structures.

In GitLab by @NicolasDenoyelle on Mar 15, 2021, 10:36
CUDA deep copy is now working on tree_layout branch and with XSBench fork (cuda implementation).


Rework package functions to use sf instead of sp package

When creating package documentation get warning of retirement of sp supporting packages.  Need to move to sf package.  Supporting ending October 2023.

Added issue in WDEQtools repo.
https://github.com/Blocktt/WDEQtools/issues/1

No mapping package used in this app. Will resolve sp to sf conversion in other apps as time allows.


Add "uninstall" command to cargo --help

Closes #4285

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

@bors: r+
Thanks!

:pushpin: Commit ad2a1f4 has been approved by alexcrichton

:hourglass: Testing commit ad2a1f48cd74b8b4a1fbad226e1a4ba7ee4c8bb1 with merge 7d586f474f98ef88631ac59dcfbf843008cbdc6c...

:broken_heart: Test failed - status-travis

@bors: retry
On Mon, Jul 17, 2017 at 5:42 PM, bors<EMAIL_ADDRESS>wrote:

💔 Test failed - status-travis
https://travis-ci.org/rust-lang/cargo/builds/254491541?utm_source=github_status&utm_medium=notification
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rust-lang/cargo/pull/4289#issuecomment-315906243, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD95Ky_3y16hUrs86uPtYkqDBzGCWShks5sO-NOgaJpZM4OZ7Ez
.

:hourglass: Testing commit ad2a1f48cd74b8b4a1fbad226e1a4ba7ee4c8bb1 with merge 13cf358d5b7c3e2b18a3eac1ce892d971081b323...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing 13cf358d5b7c3e2b18a3eac1ce892d971081b323 to master...


Bug: Edge Type "arc" fails when combined with endArrow: true

G6 Version: 3.4.9
Platform: Mac Chrome
Screenshot:

CodeSandbox Link: https://codesandbox.io/s/pensive-resonance-jcmev?file=/index.js
Steps to reproduce:

Create an edge with type 'arc' and style endArrow: true

Expected Result:
A curved edge is rendered with an arrow on the endpoint.
Actual Result:
The curve is only partially rendered.

Thanks. We found there are lots problems about 'arc' after we upgrade the rendering engine of G6. Use 'quadratic' instead pls.
https://g6.antv.vision/en/docs/manual/middle/elements/edges/quadratic/

Dear user, sorry to say that we may not fix the 'A' path problem in SVG renderer in current versions (G6 3.x - 4.x) since it is caused by the old rendering engine which we unable to maintain any more. The rendering engine is being upgraded right now, the problems about SVG will be solved by new version in few months. And G6 will be upgraded to 5.x with new rendering engine next year.


safe --target target sometimes makes sense

Obviously, safe --target <x> target doesn't make a lot of sense on its own, but there are conditions where it does make sense.
The most crucial is when the safe target is being specified by the SAFE_TARGET environment variable.  In this case, safe outright lies to you when you run safe target because internally, there is no difference between overriding the target with --target or by use of the environment variable.
The scenario:
$ export SAFE_TARGET=prod
...some time later...
$ safe target sandbox
$ safe target

Specifying --target to the target command makes no sense; ignoring...
Currently targeting sandbox at https://<IP_ADDRESS>
Skipping TLS certificate validation
Uses Strongbox at http://<IP_ADDRESS>:8484/strongbox

$ safe rm -rf secret/*
# Oh-noes - prod secrets all gone!

In this case, safe target should return whatever target will be used when safe is called in that environment.
Similarly, when running safe target --json in order to get the current target information in a json format, safe currently gives the .saferc 'current' target details, not the target in that environment.  It even makes more sense to support the explicit --target <x> option in this case for when you want to read details about a specific target without changing the actual target.

Bear in mind that fixing this doesn't magically make the implicit target TOCTOU race condition check go away, with respect to rm.
A scenario that is still dangerous:
me@term1 $ safe target sandbox
me@term1 $ safe target

Currently targeting sandbox at https://<IP_ADDRESS>
Skipping TLS certificate validation
Uses Strongbox at http://<IP_ADDRESS>:8484/strongbox

... switch to another terminal, same box ...
me@term2 $ safe target production

... switch back to where it says i'm targeting sandbox ...
me@term1 $ safe rm -rf secret/*
# oh noes!! where my prod secrets at?!

I share the concerns stated above. Please make safe, "safe" to operate against separate Vault instances on different terminal panes.


Allow --force to skip interactive messages

When requesting the private key from a script, there are some prompts that make it unusable, it would be great if there was an option you can use to prevent the command from stopping to ask for validation.

late reply but you can use the script in this pr for this purpose:
https://github.com/aeternity/aepp-sdk-python/pull/226

This doesn't really solve it because I meant for a Way to use the the stock
python sdk as an interactive command line tool to control several wallets
and not for a way to use python or another script to maintain to do this. :(
On Tue, Aug 20, 2019, 10:43 AM Andrea Giacobino<EMAIL_ADDRESS>wrote:

Closed #105 https://github.com/aeternity/aepp-sdk-python/issues/105.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aeternity/aepp-sdk-python/issues/105?email_source=notifications&email_token=ABLXVJG73BZ2ECC27MAXDSTQFQGJJA5CNFSM4GSQ44BKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTEY4SOQ#event-2570176826,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABLXVJE4XZDLVESFWCKARKDQFQGJJANCNFSM4GSQ44BA
.


Is links key necessary?

https://docs.docker.com/compose/compose-file/compose-versioning/#version-2

The depends_on option can be used in place of links to indicate dependencies between services and startup order.

Seems links may no longer be necessary. Have you tried pulling it?

 I removed it: https://github.com/TrafeX/docker-wordpress/commit/5961586274cfa11db383f7b285df03b1d6ae54a2
Thanks!


My project doesn't run with pinpoint-bootstrap-2.2.1.jar.

Prerequisites
Please check the FAQ, and search existing issues for similar questions before creating a new issue.YOU MAY DELETE THIS PREREQUISITES SECTION.

[v] I have checked the FAQ, and issues and found no answer.

My versions

JDK: 17
Pinpoint: 2.2.1
HBase: 2.4.15

I ran collector and web and it ran fine.
But when I'm trying to run my app, there are some problems.
java -jar -javaagent:pinpoint-bootstrap-2.2.1.jar -Dpinpoint.agentId=application-1 -Dpinpoint.applicationName=my-app -Dpinpoint.config=pinpoint-root.config my-app.jar
And this makes some errors.
java.lang.illegalargumentexception: unsupported class file major version 61
Do my versions not work each others? I don't know how to solve this problem.

https://github.com/pinpoint-apm/pinpoint#compatibility
Refer to the compatibility table.


Steps to make this work on my laptop

Nice work @diasdavid :) looking forward to use it as my main source for npm :package:s
For this to work I installed version 0.4.0 of ipfs and migrated my repo to version 3
Install ipfs 0.4.0
cd $GO_PATH/src/github.com/ipfs/go-ipfs
git checkout dev0.4.0
go install ./cmd/ipfs

Migrate ipfs fs to version 3

After talking with @diasdavid he pointed out that since I didn't had anything locally I could have removed ~/.ipfs and initialize (ipfs init) ipfs again.

cd $GO_PATH/src/github.com/ipfs/fs-repo-migrations
git checkout 2-to-3
go install
fs-repo-migrations

After this changes registry-mirror running npm i --registry=http://localhost:50321 hits the registry-mirror I am running to try to fetch the packages.

AWESOME! :D Thank you for checking it out, you will be in history as one of the persons that first did a npm install over a content addressed filesystem! :D
Any thoughts in how to make it better? :)

The experience you have on npm of just changing the registry is awesome :+1:
On the ipfs set up I need some more time :) give some time and I will get back to you.


fix issue #30

hi, please take a loot a fix for issue #30 . The summary of changes is following:

add message id param for replaceResultMessage template.
initialize  message id by current time in millisecond if no explicit value passed from user call.
add API for explicit message id definition.

@pfgray hello, would you please take a look my merge request and give your :+1:  or :-1: ? also it would be great if you could clarify the release schedule. thanks.

This looks good, and also solves #27. I'd like to merge this, however you'll need to sign a contributer's agreement before I am allowed to. Please contact @LMattson for details on how to do that.
As far as release schedule, there is none. I usually just push a new version whenever we get a fix.

@pfgray , May I know when this fix will get merged and release?

@LMattson / @pfgray / @ashirman
Would like to know what it takes to get this PR merged and released.

This issue was fixed in 1.2.0 in another PR


Correct alignment between headings and components

Review alignment in design templates; ensure all headings are aligned with components.

Hey @inesdgomes! About this issue, there's a few instances where I think aligning the headings to the components, doesn't make sense like the screenshots above. Do you think it looks okay to leave these ones as one-offs?

I will work on the other components, but these specific ones I feel like they should not be aligned. What do you think?

Changed all alignments, but need confirmation of what to do on these ones:

https://www.figma.com/design/TnVsWy6VobbHzZdbHdx3Rb/ILO-Page-Templates?m=auto&node-id=5304-74159&t=f9yUekMLMLCZan54-1 (Featured news and discover more div)
https://www.figma.com/design/TnVsWy6VobbHzZdbHdx3Rb/ILO-Page-Templates?m=auto&node-id=3763-35163&t=f9yUekMLMLCZan54-1 (Featured publications and discover more div)

@inesdgomes

Hi @beatrizmartinmartins Yes, I think it makes sense to keep those not aligned. Let's just review together what changed.


Event panel lists should limit number they display

As organizers manage more events and attendees attend more events, these panels are going to become unwieldy.
We should limit the events displaying in these panels to future/current events and limit the number. We can provide a "See all events" link at the bottom which would take you to a separate view with a complete (paginated?) listing.

I'm thinking more and more that these just shouldn't be visible from the homepage. I think "Your Events" should be "Browse Events", and that your orgs, events, and orders should be viewable on other pages.
For this ticket, I'd suggest just adding org / event pages (from the username dropdown menu). Order history would be a separate ticket. Side note: The org list should maybe list what payment methods are enabled and that should link to the org's payment settings.

I'm -1 on removing from the homepage unless there's a good reason to. I think that if I'm an organizer, accessing my own event is the #1 task I'm going to be trying to do every time I visit Dancerfly and it should be immediately accessible.
The case for keeping events you're registered for on the homepage is a little less clear, but I also don't see a good case for making them harder to find.
Past events should definitely be removed. But ideally accessible somewhere.

Part of my thought is also that it would free up space for a more advanced filter/search interface...

I actually think accessing one's own events is more common than filtering and maybe filtering should be relegated to an interior page when logged in, but I actually think they can coexist. I'd prefer to see a thin horiz filtering interface like Eventbrite

or OKC

(also, kinda weird that the token shows up as "Monogamy" even if the actual search criteria is "Monogamous: No")

Yeah, fair 'nuff.


Driver does not support the required nvenc API version.

[hevc_nvenc @ 0x560aa0890480] Driver does not support the required nvenc API version. Required: 9.1 Found: 9.0
[hevc_nvenc @ 0x560aa0890480] The minimum required Nvidia driver for nvenc is 435.21 or newer
Error initializing output stream 0:0 -- Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height
CHECK GPU OUTUT:
Tesla P100-PCIE-16GB
The Tesla T4 and P100 are fast and support hardware encoding. The K80 and P4 are slower.
Sometimes resetting the instance in the 'runtime' tab will give you a different GPU.

Same here.

Same.

Just doesn't update ffmpeg, it will be ok.

Just doesn't update ffmpeg, it will be ok.

How can we not update ffmpeg in colab?

Had the same issue.
Figured the previous version by: apt-cache policy ffmpeg
Then installed the previous one in the list by changing the apt-fast install line: ffmpeg to ffmpeg=7:3.4.6-0ubuntu<IP_ADDRESS>
It solved the issue for now.

still now working:
E: Version '7:3.4.6-0ubuntu<IP_ADDRESS>' for 'ffmpeg' was not found
Package manager quit with exit code.
/bin/bash: youtube-dl: command not found

Fix ffmpeg
It might help someone., In the latest versions of ffmpeg you cannot use nvenc under collab GPUs, so you must install a specific version of ffmpeg.
In a new code cell you must paste this and run it:
%cd /content/
!wget http://lliurex.net/bionic/pool/universe/f/ffmpeg/ffmpeg_3.4.2-2_amd64.deb
!sudo apt install ./ffmpeg_3.4.2-2_amd64.deb
!rm ./ffmpeg_3.4.2-2_amd64.deb

With this all problems must be solved.


Support Cilium in CKS

as a followup of #6637
ISSUE TYPE

Improvement Request

COMPONENT NAME

CLOUDSTACK VERSION

CONFIGURATION

OS / ENVIRONMENT

SUMMARY

STEPS TO REPRODUCE

EXPECTED RESULTS

ACTUAL RESULTS

@DaanHoogland
assigned to myself


[FEATURE] Add quantized version of reshape with DNNL reorder primitive.

Description
Reshape operators from both NDArray and NumPy modules of MXNet had no quantized version so if it appeared between two quantized operators data would have to be dequantized and quantized again after reshape (as shown on picture below with version after change as well). Goal was to create quantized reshape operator.
Previous version:

New version:

Checklist
Essentials

[x] PR's title starts with a category (e.g. [BUGFIX], [MODEL], [TUTORIAL], [FEATURE], [DOC], etc)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage

Changes

[x] Add quantized version of numpy/numpy_extension reshape
[x] Add quantized version of ndarray reshape

@mxnet-bot run ci [centos-gpu]


test: verify jibCli integration test on macos

Thank you for your interest in contributing! For general guidelines, please refer to
the contributing guide.
Please follow the guidelines below before opening an issue or a PR:

[ ] Ensure the issue was not already reported.
[ ] Create a new issue at https://github.com/GoogleContainerTools/jib/issues/new/choose if you are unable to find an existing issue addressing your problem. Make sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
[ ] Discuss the priority and potential solutions with the maintainers in the issue. The maintainers would review the issue and add a label "Accepting Contributions" once the issue is ready for accepting contributions.
[ ] Open a PR only if the issue is labeled with "Accepting Contributions", ensure the PR description clearly describes the problem and solution. Note that an open PR without an issues labeled with "Accepting Contributions" will not be accepted.
[ ] Verify that integration tests and unit tests are passing after the change.
[ ] Address all checkstyle issues. Refer to the style guide.

Fixes #<issue_number_goes_here> 🛠

Stacktrace:
com.google.cloud.tools.jib.cli.WarCommandTest > testWar_jetty STANDARD_ERROR
    [ERROR] I/O error for image [[registry-1.docker.io/library/jetty](https://www.google.com/url?q=http://registry-1.docker.io/library/jetty&sa=D)]:
    [ERROR]     org.apache.http.ConnectionClosedException
    [ERROR]     Premature end of Content-Length delimited message body (expected: 158,511,802; received: 45,361,445)
    [ERROR] java.util.concurrent.ExecutionException: org.apache.http.ConnectionClosedException: Premature end of Content-Length delimited message body (expected: 158,511,802; received: 45,361,445)

On the other hand, com.google.cloud.tools.jib.cli.WarCommandTest > testWar_customJettySpecified passed. This failure is restricted to the jetty:latest docker image


[template] support ability to specify paths to decrypt with sops

added in https://github.com/vmware-tanzu/carvel-kapp-controller/commit/11ff83334cd4a7fb05dc35edee827c1d0e679c25

included in https://github.com/vmware-tanzu/carvel-kapp-controller/releases/tag/v0.13.0


[Cosmos] properly parse disableAutomaticIdGeneration in upsert_item method

SDK is currently sending an option with name disableIdGeneration while the parser expects disableAutomaticIdGeneration - should be a quick bugfix code-wise,

PR: https://github.com/Azure/azure-sdk-for-python/pull/24150


[PAGE LAYOUT] - Define basic layout

Description :

Define a basic layout for the sections, code challenges, articles, and projects.
We need an expandable model, allowing us to easily add more items.

Goals:

Have a basic layout to accommodate specific pages.

This issue took me to start investigating the use of react instead of handlebars. I'll hold this one for now


Firebase app has not yet been configured. Add FirebaseApp.configure() to your application...

[ x] I have read the issue reporting guidelines

[ x] I confirm this is a suspected bug or issue that will affect other users

[ x] I have reproduced the issue using the example project or provided the necessary information to reproduce the issue.

[ x] I have read the documentation thoroughly and it does not help solve my issue.

[x ] I have checked that no similar issues (open or closed) already exist.

Current behavior:
I have been able to use this plugin in the past but after some updates, it stopped working.
The print is coming from the FIRPerformance.m module.
Relevant  console log provided below.
This issue can be reproduced with the following versions:
XCode: 12.5.1
Podfile versions:
pod 'Firebase/Core', '8.4.0'
pod 'Firebase/Auth', '8.4.0'
pod 'Firebase/Messaging', '8.4.0'
pod 'Firebase/Performance', '8.4.0'
pod 'Firebase/RemoteConfig', '8.4.0'
pod 'FirebaseFirestore', :tag => '8.4.0', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git'
pod 'Firebase/Crashlytics', '8.4.0'
pod 'Firebase/Functions', '8.4.0'
pod 'Firebase/Installations', '8.4.0'
pod 'GoogleSignIn', '5.0.2'
I'm using Quasar and I've been able to reproduce by just adding the the plugin to an example Quasar project. So, it's definitely not just my project that has the issue. I'm guessing there's some incompatibility somewhere.
Screenshots
If applicable, add screenshots to help explain your problem.
Console Logs
GoogleService-Info.plist found, setup: [FIRApp configureWithOptions]
2021-11-05 17:01:35.973177-0500 TennisVue[912:213480] 8.4.0 - [Firebase/Core][I-COR000003] The default Firebase app has not yet been configured. Add FirebaseApp.configure() to your application initialization. This can be done in in the App Delegate's application(_:didFinishLaunchingWithOptions:)(or the@main` struct's initializer in SwiftUI). Read more: https://goo.gl/ctyzm8.
Plugin Version
cordova-plugin-firebasex 13.0.0-cli "Google Firebase Plugin"
cordova-plugin-whitelist 1.3.5 "Whitelist"
Desktop (please complete the following information):

OS: MacOS BigSur 11.0
Browser: Chrome but problem occurs on IPhone.
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
IOS software version: 14.7.1

Additional context
THis seems to be related to this issue but it has resurfaced in a different module now:
https://github.com/arnesson/cordova-plugin-firebase/issues/866

Cordova CLI version

10.0.0

Cordova platform version
Installed platforms:
ios 6.2.0
Available platforms:
android ^9.0.0
browser ^6.0.0
electron ^1.0.0
osx ^6.0.0

Plugins & versions installed in project (including this plugin)
cordova-plugin-firebasex 13.0.0-cli "Google Firebase Plugin"
cordova-plugin-whitelist 1.3.5 "Whitelist"

Dev machine OS and version, e.g.

OSX
ProductName:	macOS
ProductVersion:	11.0
BuildVersion:	20A2411

Runtime issue

Device details
iPhone 12
OS details
IOS software version: 14.7.1

I switched to the main branch (NOT the CLI) branch and generated the cordova project from scratch and at least I am at a point where I can get into my app. I will try messaging and update shortly. This is my podfile versions that seems to work:
pod 'Firebase/Core', '8.4.0'
pod 'Firebase/Auth', '8.4.0'
pod 'Firebase/Messaging', '8.4.0'
pod 'Firebase/Performance', '8.4.0'
pod 'Firebase/RemoteConfig', '8.4.0'
pod 'Firebase/InAppMessaging', '8.4.0'
pod 'FirebaseFirestore', :tag => '8.4.0', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git'
pod 'Firebase/Crashlytics', '8.4.0'
pod 'Firebase/Functions', '8.4.0'
pod 'Firebase/Installations', '8.4.0'
pod 'GoogleSignIn', '5.0.2'
pod 'GoogleTagManager', '7.3.1'


Missing hook: STRING.token2string

The relevant entries in domains.k are:
  syntax Id [token]

  syntax String ::= Id2String ( Id )    [function, functional, hook(STRING.token2string)]
  syntax Id ::= String2Id (String) [function, functional, hook(STRING.string2token)]

We might as well implement STRING.string2token as well.
The [token] attribute on syntax Id means that Id will be a raw domain value, `\dv{SortId{}}("...").

By the way, this should work for any domain value, not just sort Id. For example, in KWasm we declare:
    syntax String     ::= #parseWasmString   ( WasmString ) [function, functional, hook(STRING.token2string)]
    syntax WasmString ::= #unparseWasmString ( String     ) [function, functional, hook(STRING.string2token)]

To allow parsing the correct tokens of sort WasmString but still be able to do string operations over them in the semantics.


Require at least python-dateutil version 2.7.5 instead of only 2.7.5 …

Fixes #2662
Description
See setup.py diff: replaces python-dateutil==2.7.5 dependency with python-dateutil>=2.7.5.
Motivation and Context
Luigi as a library should not pin down a dependency on an exact version, but specify an "at least" constraint.
python-dateutil 2.8.0 was released on Feb 5 2019

I wrote the original line of code, and agree that this PR is a beneficial change. :-)

Reasonable change. Thank you for contribution. Could you please put upper boundary limiting to major version? We used to have issues with some dependency, e.g tornado.

@honnix done


Commands: Log everything

Resolves #6697
Dependents:

aspnet/EntityFramework.Tools#7

providers beware?

Nope. We used to use a well-known logger name for reverse engineer, but this will simply show all log messages regardless of name.

Providers are free to update their design-time logging to closer resemble the runtime (like this change does), but it is not required.

Providers are free to update their design-time logging to closer resemble the runtime (like this change does), but it is not required.

That alone makes it qualify for [providers-beware] in my mind 😄

Maybe we need a providers-be-aware for non-breaking changes

Yes, Brice, I think that was what I was asking for

This seems to be reverting #6692

@smitpatel Yes, it reverts the use of IReportedLogData but not the use of eventIds from that change.

@smitpatel Yes, the SQL will be logged by another component in the stack. Leaving that in would show it twice.


Selected notes on mount returns 0 nodes

mounted() {
      console.log(this.$refs.vaults.selected())
      this.$nextTick(() => {
          console.log(this.$refs.vaults.selected())
      });
},

How to get the selected notes on mounted hook? Even the $nextTick returns 0 when there are selected item in tree data?

I found a workaround, in the mounted event of component I got the selected nodes.
this.$refs.vaults.$on("tree:mounted", (tree) => {
    console.log(this.$refs.vaults.selected())
});


NS-forest annotation property

To distinguish NS-forest from Allen markers, we need an annotation property specifically for NS-forest markers.
This will be in addition the expresses axioms that already exist.

http://purl.obolibrary.org/obo/PCL_0010058 "has nsforest marker" annotation property added and minimal markers annotated with it
https://github.com/obophenotype/brain_data_standards_ontologies/blob/pcl_migration/bdso-full.owl

I think it has to be an annotation property instead of an object property -> we do not want the child nodes to inherit those properties.
The NS-forest can be a string with its gene symbol.
The only use for this annotation is for Allen side to present it specifically as NS forest anyway.

It is an annotation property https://github.com/obophenotype/brain_data_standards_ontologies/blob/640978468ee903f32b2d43e6afdcb6d91058a8a6/src/ontology/bdso-edit.owl#L43 but seems comment line is wrong, updated all and refreshed the ontology

looks good now :) I'm going to close this issue, but do note that we need this as part of dump for allen


Small changes to add functionality.

I really liked your project. Unfortunately, I don't know GO very well. Therefore, do not judge strictly. I added waiting for the sound mixer to connect when the program starts and the ability to reconnect the remote control from the tray. These functions turned out to be convenient for me to use. Perhaps they will seem necessary to someone else.

Hey there, thank you for your interest in contributing to deej.
As per the project's contribution guidelines, I'm currently not accepting PR submissions for deej's main fork. That being said, I encourage you to continue working on these changes to your heart's content in your own fork of the project.

Thanks for the reply. Sorry, I didn't see that the changes are no longer accepted.


Make Spring webflux work with Spring security integration

I got a report from @probepark that Armeria Spring Webflux integration does not work with Spring Security.
https://github.com/probepark/armeria-webflux is a reproducible repo. If the following credential is given,
id : user
password : password

A proper security context(ReactiveSecurityContextHolder.getContext()) is returned when http://localhost:8080/api/hello/mono is executed.
However, an empty context is returned when http://localhost:8080/api/hello/flux is executed.

I tried like this it works
in ArmeriaServerHttpResponse.java
before
@Override
public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
    return doCommit(() -> write(Flux.from(body)));
}

after
@Override
public Mono<Void> writeWith(Publisher<? extends DataBuffer> body) {
    return new ChannelSendOperator<>(body, inner -> doCommit(() -> write(Flux.from(inner))));
}

I think ChannelSendOperator and HttpResponseProcessor both similar class
It that is fixed it seems to work
@ikhoon

Unfortunately, we cannot use ChannelSendOperator which caches an item that could be leaked if a stream is canceled. #1658
A SecureContext which is injected by a secure filter of Spring Security should be propagated to an upstream publisher. However, Armeria's WebFlux integration does not pass Reactor Contexts to upstream.
This problem will be fixed by #3443


#7068 Users List showing invalid Creation and Login Time

Return an empty MvcHtmlString if DateTimeUTC is MinValue. Shows empty text if Creation or Login datetime is null.

Closing for same reason as issue: #7068


Add missing asterisk

@badersur Yet another nice fix. Thank you!

Welcome again :)
I'm revising how to work with MVC and found these issues on my way! :D


apply-system-agent-upgrader is intermittently stuck in error/unavailable pod creation loop

Rancher Server Setup

Rancher version: v2.7.0
Installation option (Docker install/Helm Chart): Both

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): K3s

Proxy/Cert Details: N/A

Information about the Cluster

Kubernetes version: v1.24.9+rke2r2 and 1.24.9+k3s2
Cluster Type (Local/Downstream): Downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): Infrastructure Provider

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom) Admin and Standard

Describe the bug
When creating a node driver cluster, the apply-system-agent-upgrader... pods go into either an error or unavailable state
To Reproduce

Spin up a Rancher server
Provision a downstream Node Driver RKE2 cluster
Once provisioned, navigate to the Pods for the cluster

It must be note that the error may be intermittent, so it may be necessary to repeat Steps 2 & 3 a number of times before observing the error

Result
Note that the  apply-system-agent-upgrader... pods will be in an error or unavailable state, and will continue to respin up new pods that will then error out.
Expected Result
The apply-system-agent-upgrader... pods spin up without error.
Screenshots

Additional context
apply-system-agent-upgrader Pod Logs:
apply-system-agent-upgrader-on-jrm270test401835-etcd-ac1e-snnql_upgrade.log

I'm not sure what's happening in the amd64 case, but in the arm64 case, the error that Josh had:
/usr/bin/kubectl: line 1: syntax error: unexpected redirection

Is caused by the fact that curl is downloading an XML document to /usr/bin/kubectl and then making that file executable. The < of the opening tag is interpreted as a bash redirection somehow. We get an XML document because the arch returned by uname -m is incompatible with the arch naming scheme Google uses for kubectl. You can see the 404 XML document here.
A PR with a fix for this is available here https://github.com/rancher/system-agent/pull/106

Ticket # 40441 - Test Results - ✅
With Docker on a single-node instance:
Verified on rancher v2.7-0504ce63c1cad67b2c2be14a0325533b60902832-head:

Fresh install of rancher v2.7-head
Provision a downstream K3s AWS Node driver cluster / arm64 infrastructure; k8s v1.24.10+k3s1

AMI: [ami-0a9790c5a531163ee/ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-arm64-server-20220912]
Instance Type: [a1.xlarge]

Once active, navigate to Cluster Explorer > Pods and observe apply-system-agent-upgrader pod
Verified - apply-system-agent-upgrader pod is active and stable; clean logs


Unknown hook found

I followed the instructions, but when running, I get errors in the console for unknown hook found for both FlashHook and DisconnectedNotificationHook. I temporarily fixed it by creating the hooks in my own code and importing them, but I assume I should not have to?
I'm using Elixir 1.15.3, Phoenix 1.7.10 and Phoenix Liveview 0.20.1

Hi teatimes!
What does the part of your code look like where hooks are defined?

You can try this:
import FlashyHooks from "flashy"
let Hooks = FlashyHooks

The problem is that FlashyHooks is a object of hooks, not just one hook.
This means that you need to "merge" your hooks object with the FlashyHooks.
For example, you can write it like this:
let Hooks = {...FlashyHooks}

Or the way @Gomozov suggested.


Don't create cache if cache disabled

Before:  If cache was disabled (cacheTime = 0), the cache objects were still created, just unused.
After:  If cache is disabled, cache is not created.

Coverage: 94.0% (-0.007%) from 94.007% when pulling 0ac54666a47a4d2fd1d66362a61175c478918b14 on cody-optimize-disabled-cache into fe5ddc13e791a9702f490cb5e2ffa59090070667 on main.


You can clone any user's repo in the local gogs instance.

Take a look at the screencast: http://y.zxq.co/iujgsd.mp4
Using the local path function, you can clone a repo from another user in the same gogs instance. With a few retries, you can clone any user's private repositories from the same gogs instance. you just need to find out the folder where repos are stored.

 But it would make sense to reject the realpath of the gogs repos if it's a local path.

If this works even if the original repository is private, this isn't expected behavior but a high profile security flaw.

A bare repo got no private or public checks. So this is expected behavior. Gogs requires just some validation.

It looks to me like this repository was created using gogs via the Web UI. If you can simply clone everything from inside gogs' home directory, every private repository suddenly becomes accessible (readonly) by every user of this gogs instance. I really doubt that this is intentional.
In my opinion, letting a user clone repositories from the local file system is a bad idea in the first place.
But even if cloning from the local filesystem has to be supported, acess to gogs' home directory or at least the directory containing the repositories should be denied, because, as I said, it defeats parts of the purpose of private repositories.

And now read my comments again. I already said that there should be a validation that prevents migrations from the gogs repo directory.

Yeah, right, you said that. Sorry for wrongly interpreting the words you said, it wasn't clear to me that you meant the same thing.

IMHO there should be an option to still allow bare repo cloning from the file system, because it still makes sense if you're using gogs internally in a company and need to migrate repos from an old git service. However if the gogs instance is public, this is a HUGE security flaw, and thus cloning from local filesystem of server should be strictly forbidden.

Thanks your feedback!
But this is basically duplicated to https://github.com/gogits/gogs/issues/1511


PoshGit doesn't show branch info in PowerShell 7.0.3

System Details

posh-git version/path: <IP_ADDRESS>
PowerShell version: 7.0.3
Git version: 2.27.0
Operating system name and version: Window 10.

Issue Description
PoshGit doesn't show branch info (e.g. [master]) . Reinstalled from Chocolatey on PS 7.0.3

posh-git v0.7.x doesn't support Powershell Core, and the Chocolately package hasn't yet been updated to distribute v1.x. There's a comment on the Chocolatey package page from the author saying he hasn't had time to update it yet (which is fair enough, this is a free tool).
As a workaround I've just used successfully on Powershell Core 7.0.3: Remove the Chocolatey package, and then install posh-git from the Powershell Gallery as described in the README. Then run Add-PoshGitToProfile to automatically include posh-git in every subsequent PS session.

Thank you, @cwhowell (and of course @dahlbyk )
I've been using PoshGit since I started using Git and would hate to see it go away.
I'm going to close this because while the Chocolatey install might not be updated, I did get what I wanted out of this. It's nice to be able to use PS 7.x partly because it's the latest version but mostly because it has a black background by default! 😉

but mostly because it has a black background by default! 😉

Here, here.

I've been using PoshGit since I started using Git and would hate to see it go away.

Definitely not going away, it's just been tough to balance OSS against work and family. We'll get there. 🔜


crash on login for past several versions

the first few GH releases were working fine but since about 3 weeks ago the app consistently crashes on login with my main private key.
I've cleared storage, reinstalled, etc. none help. everything works fine in amethyst, nostros, and many web clients.
npub159arpjcey40pe7dtg5jkn2g2mljntqrt32q46aruam0eg897tgdqpj8xxq

Hi thanks for reporting, I managed to enter with your pubkey. Did you also tested accessing to the app with this pubkey? What's the format you are using for your private key?

@KoalaSat just received another update from F-Droid. cleared storage to try with my pubkey as you suggested (which worked). then after logout and back in with private key it is working!


Make dhat profiler work with compact gate

It is hard to measure memory optimizations if everything is dominated by Descriptive:clone. Currently it requires test-fixture feature which brings some steps that don't have compact representation, so it requires a bit more work to enable it

dhat-heap.json


How to invoke :id="inputId"?

Hi, how do you get id to update? I read it ships with 4.1.0 and I'm on 4.1.1. I looked at the sandbox for quite a bit but was unable to use the example and get the inputs/name to update.
// this is what is produced when inspecting in firefox; you can see inputId/name does not change, or id
<input
    type="tel"
    placeholder="Enter a phone number"
    autocomplete="on"
    name="telephone"
    id=""
    maxlength="25"
    tabindex="0"
    class="vti__input"
>

Here's a component I've created:
<template>
<!--    <div id="phonenumber">-->
        <vue-tel-input
            :id="inputId" //tried this
            name="phonenumber"
            :custom-validate="/^[0-9]*$/"
            v-model="" //tried this, not sure what phone is doing
            v-bind="bindProps" //tried this
        >
        </vue-tel-input>
<!--    </div>-->
</template>

<script>
    import 'vue-tel-input/dist/vue-tel-input.css';
    import { VueTelInput } from 'vue-tel-input'
    export default {
        name: "TelephoneInput",
        components: {
            VueTelInput,
        },
        data() {
            return {
                phone: "",
                bindProps: {
                    mode: "international",
                    defaultCountry: "FR",
                    disabledFetchingCountry: false,
                    disabled: false,
                    disabledFormatting: false,
                    placeholder: "Enter a phone number",
                    required: false,
                    enabledCountryCode: false,
                    enabledFlags: true,
                    preferredCountries: ["AU", "BR"],
                    onlyCountries: [],
                    ignoredCountries: [],
                    autocomplete: "off",
                    name: "phonenumber",
                    maxLen: 25,
                    wrapperClasses: "",
                    inputClasses: "",
                    inputId: "phonenumber",
                    dropdownOptions: {
                        disabledDialCode: false
                    },
                    inputOptions: {
                        showDialCode: false
                    }
                }
            }
        }
    }

</script>
<style scoped>

</style>

Thank you for any tips ~ T

The prop name is inputId, it should work by just adding it to bindProps in your case:

Hi @iamstevendao ,
Thank you. Must have been a syntax error - appreciate your screenshot.
Great component!


remove QA test code from runtime docker

I will close those PRs when we still want to keep the models, autograph, benchmarks, and example source code. I will remove DWLD_TF_SRC_CMD and TF_TESTING_FL in the CI code so the TF source will not be downloaded.


Update README.md

Added My Portfolio
Portfolio Author
@sunidhi014

Portfolio Link?
https://sunidhi-singh.netlify.app/

GitHub Link:
https://github.com/sunidhi014

Tech Stack
HTML, CSS, JavaScript

@israelmitolu Done!


testing component with pipe

Trying to test component but  have error
{{[ERROR ->] moment | amTimeAgo }}

The pipe 'amTimeAgo' could not be found ("}}
TestBed.configureTestingModule({
  declarations: [
    Component,
    TimeAgoPipe
  ]
})
  .compileComponents();

}));
How I can test component with it?

@MartynenkoA the pipe is called timeAgo, not amTimeAgo.
        <td>{{email.date | timeAgo}}</td>


aur-pkglist: add --users, update documentation

Closes #858

This PR also removes set -o pipefail. The curl | gz pipes have been removed a while ago, and I see no compelling reason to keep it otherwise.


HttpHandler

I would like to host Flex on an ASP MVC server. I understand I will need to include an http handler to support sharing of port 80. Is this an included feature, or is this something that I would need to write myself ?
I noticed this post from 2012
https://github.com/statianzo/Fleck/issues/48
Looks like someone already crossed that bridge and was hoping the bits were now included in the main library.

It's something you'd need to take care of yourself. Likely what you'd want to do is to reverse proxy to the fleck service.

Ok, I will look into this. Any documentation on doing this (msdn, blogs, ect) would be helpful.

I'm most familiar with nginx.
https://www.nginx.com/resources/admin-guide/reverse-proxy/

Looks like IIS can do reverse proxying as well. I haven't used it myself though: https://developers.coveo.com/display/public/SearchREST/Configuring+HTTPS+Reverse+Proxy+in+IIS;jsessionid=F44EDBB2099CE3A4CC86F70CF62321B7

I was able to connect on local host easy, so long as the port is open.


Help needed - Sharing mimic iii preprocessed file

Hi Joseph,
Thanks for this great tool. I have using it for my own research and this has been very helpful. I was wondering if it is possible to share the patient_vital_preprocessed.pkl file with a drive link. I want to reproduce the results. However, setting up the database and other access is quite time-consuming. It would have been great if I could get the preprocessed file directly.

Hi Khairul,
Happy to hear that you like this tool!
Unfortunately, MIMIC contains real patients' health data, so I am not allowed to share this dataset directly. In order to access it, you need to be an credentialed user and sign the data use agreement (DUA).
The tutorial to set up the database is quite well explained though: https://mimic.mit.edu/docs/gettingstarted/local/install-mimic-locally-ubuntu, but if you have any questions, I've done it already and would be happy to help!


Refactor Color/True Color - Make TrueColor default

The TrueColor support in v2_develop works only for Windows Terminal (see #2798 and #2799).
Attribute, Color, etc... all need to be refactored to make this work generically so the other drivers can work too.
TrueColor should be the default; fallback to 16 color mode would be automatic if possible. If not, users should be able to force it via ConfigurationManager. E.g. "Application.Force16ColorMode" : true.
Persistence of colors to ConfigurationManager needs to be sorted out.

Woot!


AMBARI-24457. Hiveserver2 can't connect to metastore when using OneFS…

clone of #2024

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/Ambari-Github-PullRequest-Builder/3545/
Test PASSed.


Table Headers Clickable to Sort

Hi there!
I'd like to request a table in a way by which the headers can be clicked to sort out the data below it.
Currently, it can be sorted in a manner by clicking the tiny buttons on the headers, which can be, sometimes, quite too small to be clicked.
Better practices can be noticed on OS-Level list/tables and other bootstrap tables like below:

It'd be great if we can add this one on the next iterations.
Thanks!

I've pushed a PR for this. Waiting for suggestions if anything needs to change.


cracklib: 2.9.6 -> 2.9.7, generate dictionary from wordlists

Motivation for this change
Fixes #56179.
Dictionary is generated from optionally-specified (override'able)
list of files to include.
This isn't entirely optimal
(dictionary changes will trigger rebuild, and many packages depending)
but provides better default behavior and can be improved in the future
should that be found to be warranted.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

@hedning Looks like we needed a share/cracklib/pw_dict.pwd.gz?
Output of this build is
result
├── bin
│   ├── cracklib-check
│   ├── cracklib-format
│   ├── cracklib-packer
│   ├── cracklib-unpacker
│   └── create-cracklib-dict
├── include
│   ├── crack.h
│   └── packer.h
├── lib
│   ├── libcrack.la
│   ├── libcrack.so -> libcrack.so.2.9.0
│   ├── libcrack.so.2 -> libcrack.so.2.9.0
│   └── libcrack.so.2.9.0
├── sbin -> bin
└── share
    ├── cracklib
    │   ├── cracklib.magic
    │   ├── cracklib-small
    │   ├── pw_dict.hwm
    │   ├── pw_dict.pwd
    │   └── pw_dict.pwi
...(locales excluded)

Not sure why it complains about the .gz file, the fix seems to work (at least echo foobar | cracklib-check complains about the .gz file without the fix, but works with it).

Not sure why it complains about the .gz file, the fix seems to work (at least echo foobar | cracklib-check complains about the .gz file without the fix, but works with it).

That is just due to the way the code is structured:
https://github.com/cracklib/cracklib/blob/a1379d0081e14958b2ada6dcc1fcb7f128e4bd94/src/lib/packlib.c#L96-L106

Picked this into #57027 btw.

Let’s merge.

This broke the cross build:
create-cracklib-dict "."/dicts/*
/nix/store/yjkch3aia9ny4dq42dbcjrdwqb1y8c33-bash-4.4-p23/bin/bash: line 4: create-cracklib-dict: command not found

Adding buildPackages.cracklib to nativeBuildInputs get a little further, but it still needs more debugging.

See #59802


[QA] error: use of undeclared identifier 'asm'

Problem Description
I use inline asm in opencl code, but I get a error  error: use of undeclared identifier '__asm__' on RX588 with driver 20.4.2
it is ok on RX6900xt, but the error will appear on RX 588
my code is like:
 __asm__ volatile("v_mad_u64_u32 %[t], null, %[aj], %[bi], 0;"      \
                           : [t] "=v"(tl[j])                                 \
                           : [aj] "v"(a->data[j]), [bi] "v"(b->data[i]));    \

Operating System
window10
CPU
amd R9
GPU
AMD Radeon VII
ROCm Version
ROCm 5.5.0
ROCm Component
No response
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

@amd-aakash can you help me?

Hi @qiji2023, apologies for the lack of response.  I have created an internal ticket to assist with your issue. Thanks!

Hi @qiji2023,
I tried running some basic assembly code and was unable to reproduce the issue. I suspect that the error message could be related to the compiler not recognizing the ___asm___ declaration.
Could you please let me know which compiler you are using (along with the version), as well as how you are compiling the code (any flags you are passing)? Thanks!

Hi @qiji2023,
I'm going to close this ticket due to inactivity, please feel free to create another one if the issue persists, thanks!


Fixed release URL referred to in the README.md installation steps.

We've update the docs to just refer to latest now.  Thanks


Match theme transparency

Hi,
Really like the card thanks for sharing !!
Is it possible to have the slider appear transparent when the entity is turned off?
Currently on MacBook (safari), iOS app using kibibit theme all cards are transparent apart from this when the entity / light is turned off, when the entity / light is turned on the slider returns to transparent.
Let me know if there's anything I can help test etc..

I have the same Problem. In On State everything locks perfekt but if i switch everrything off all buttons are black. Not transparent anymore. Pls fix thise Problem i love the cards.

I notice these cards don't follow the theme I have set unless I go into the yaml and put theme: default

I notice these cards don't follow the theme I have set unless I go into the yaml and put theme: default

Where did you put this, tried myself and still the same ?
Re-read my original post and didn't mean slider as much as entire card when entity's turned off, also looks similar to #78


dropbox broken due to hardcoded /usr/share/X11

Issue description
dropbox runs but won't accept any keyboard input (which makes it impossible to log in). At startup, it also gives an error message about /usr/share/X11
Steps to reproduce
$ /nix/store/0cdrakmdfgycm59kvwyljbfpmfvrrdyx-dropbox-4.4.29/bin/dropbox
xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb

Diagnosis
I've done some digging, and found a couple things. First, dropbox runs fine when /usr/share/X11 is bind mounted to the correct location in the nix store.
[anders@gurney:~]
$ unshare -m -r
[root@gurney:~]
$ mount --bind /nix/store/shi5k1kl27dz1ka1ngriqq1spqjza70l-xorg-server-1.18.3/ /usr/
[root@gurney:~]
$ /nix/store/0cdrakmdfgycm59kvwyljbfpmfvrrdyx-dropbox-4.4.29/bin/dropbox

also, the hardcoded string appears to be coming from libQt5XcbQpa.so, which possibly includes a bundled copy of libxkbcommon.
[anders@gurney:~]
$ strings /nix/store/0cdrakmdfgycm59kvwyljbfpmfvrrdyx-dropbox-4.4.29/opt/dropbox/libQt5XcbQpa.so.5 | grep /usr/share
/usr/share/X11/xkb
/usr/local/share/:/usr/share/
/usr/share/pixmaps

Technical details
[anders@gurney:~]
$ nixos-version
16.09.git.c7000ef (Flounder)
[anders@gurney:~]
$ nix-env --version
nix-env (Nix) 1.11.2
[anders@gurney:~]
$ nix-instantiate --eval '<nixpkgs>' -A lib.nixpkgsVersion
"16.09.git.c7000ef"

cc maintainer @ttuegel

Thanks for reporting! It looks like we'll have to replace the bundled Qt with our own build. Not a big deal, we've done that before. I'll have this fixed as soon as I figure out what Qt version Dropbox is using.

What revision are you on? This was already fixed in 18cc8d482dab52e7833c69e83f484e4b14218a1a.

Sry, I used old revision aeff3080d02ce6ac2b2ad0b0029c1388eab2d8c7 via nixos-unstable binary channel. Building from HEAD and it works perfectly. Thank you for your package maintaining.


Group/Hide stacks in container panel

Is your feature request related to a problem? Please describe.
I have a docker server running stacks of a highly splitted microservice application where each stack has somewhere between 10 and 50 containers. However the same host also runs non stack containers (e.g. portainer, git server, ci server...). Since stack containers are also visible in the stacks panel, it would be useful to have an option on the normal container view that allows collapsing all containers of a stack to a single entry and/or hide containers that belong to a stack completely.
Describe the solution you'd like
Provide a checkbox that allows hiding containers that belong to a stack from the ui, or groups them to a single entry per stack.
Describe alternatives you've considered
Search doesn't cut it.

+1
For me personally, the way how Docker Desktop implemented this feature is quite nice:

Such a dropdown would enable you to manage containers far quicker than by manually searching for the stacks in the stacks panel.
Also, with this type of grouping, the "stack" column in the container overview would become obsolete, enabling other information to take the space.

addition: make the icon of the stack change it's color:
red: whole stack not running
yellow: one or more container in stack not running / unhealthy
green: all containers in stack are running / healthy
working with more than a few stacks and dozens of containers within each stack, such a feature would be nice. it would unclutter the ui and would give more informations to the technician. @SIMULATAN already mentioned: the stack column in the container overview would become obsolete and would be replaced with states of the stack as colors, which is quicker to read and more handy as in more user friendly / better UX through better UI (:


[lief] Add new port for lief-project/LIEF

Describe the pull request
Adds the lief library into the vcpkg ports

What does your PR fix?
Fixes #...

Which triplets are supported/not supported?

Yes

@BehroozAbbassi ,Thanks for your pr, could you please take a look
https://dev.azure.com/vcpkg/public/_build/results?buildId=62535&view=artifacts&pathAsName=false&type=publishedArtifacts

@BehroozAbbassi ,Thanks for your pr,could you please take a look:
https://dev.azure.com/vcpkg/public/_build/results?buildId=62535&view=artifacts&pathAsName=false&type=publishedArtifacts

@JonLiu1993 Sorry for the delay :(
I'm new to VCPKG contribution and just can't figure out how to fix this problem
how exactly should I add en expected error to the .\scripts\ci.baseline.txt ? manually or it has a command?
REGRESSION: lief:x64-linux. If expected, add lief:x64-linux=fail to .\scripts\ci.baseline.txt.

@JonLiu1993 Sorry for the delay :(
I'm new to VCPKG contribution and just can't figure out how to fix this problem how exactly should I add en expected error to the .\scripts\ci.baseline.txt ? manually or it has a command?
REGRESSION: lief:x64-linux. If expected, add lief:x64-linux=fail to .\scripts\ci.baseline.txt.

This is not a modification suggestion for you, please run the command "./vcpkg x-add-version lief --overwrite-version " and commit again

@BehroozAbbassi ,This is detail error log:
https://dev.azure.com/vcpkg/public/_build/results?buildId=63521&view=artifacts&pathAsName=false&type=publishedArtifacts

I really confused, I used the vcpkg_fail_port_install to indicate that library can't be build with the static-md triplet, so definitely there will be an error with this triplet!
how should I pass the CI with this error?
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static" )
    if ("${VCPKG_CRT_LINKAGE}" STREQUAL "dynamic" )
        vcpkg_fail_port_install(MESSAGE "${PORT} doesn't support static-md" ALWAYS)
    endif()
endif()

error message in failure logs for x64-windows-static-md
CMake Error at scripts/cmake/vcpkg_fail_port_install.cmake:96 (message):
  lief doesn't support static-md

Call Stack (most recent call first):
  ports/lief/portfile.cmake:5 (vcpkg_fail_port_install)
  scripts/ports.cmake:142 (include)

@BehroozAbbassi, You can add lief:x64-windows-static-md=fail  to https://github.com/microsoft/vcpkg/blob/master/scripts/ci.baseline.txt.

@BehroozAbbassi ,Have you tried phoebe's review suggestions?

@BehroozAbbassi ,Ping for response

@BehroozAbbassi ,Have you tried phoebe's review suggestions?

That's my question, https://github.com/microsoft/vcpkg/pull/21213#issuecomment-974704165
should I add it to the text file manually or it has a command or something for it?

So I manually add these exceptions to the ci.baseline.txt file to ignore that errors, but I'm not sure about the None Windows errors like lief:x64-linux=fai because I only work on windows
# LIEF library
lief:x64-windows-static-md=fail
lief:x64-linux=fail
lief:x64-uwp=fail
lief:arm-uwp=fail
lief:x64-osx=fail

@BehroozAbbassi ,Have you tried phoebe's review suggestions?

That's my question, #21213 (comment) should I add it to the text file manually or it has a command or something for it?

@BehroozAbbassi,We need to manually add the triplet it fails in ci.baseline.txt

I really confused, I used the vcpkg_fail_port_install to indicate that library can't be build with the static-md triplet, so definitely there will be an error with this triplet! how should I pass the CI with this error?
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static" )
    if ("${VCPKG_CRT_LINKAGE}" STREQUAL "dynamic" )
        vcpkg_fail_port_install(MESSAGE "${PORT} doesn't support static-md" ALWAYS)
    endif()
endif()

error message in failure logs for x64-windows-static-md
CMake Error at scripts/cmake/vcpkg_fail_port_install.cmake:96 (message):
  lief doesn't support static-md

Call Stack (most recent call first):
  ports/lief/portfile.cmake:5 (vcpkg_fail_port_install)
  scripts/ports.cmake:142 (include)

But why? Can you please provide the failure log?  Also please provide the Linux failure logs.
Thanks.

@BehroozAbbassi ,Ping for response

I am happy to see this project being packaged for vcpkg.
I was going to attempt this myself before I searched for an existing PR/issue. I know LIEF requires some external dependencies, and they've listed them here https://lief-project.github.io/doc/latest/compilation.html#third-party but I don't see any of these dependencies listed in the vcpkg.json file.

Looks like the following CMake variables can enable find_package on the external dependencies:

-DLIEF_OPT_MBEDTLS_EXTERNAL=ON for mbedtls (required)
-DLIEF_OPT_NLOHMANN_JSON_EXTERNAL=ON for nlohmann-json (feature: enable-json)
-DLIEF_OPT_UTFCPP_EXTERNAL=ON for utfcpp (required)
-DLIEF_EXTERNAL_SPDLOG=ON for spdlog (required)

and some others that I need to look closer at (will update this comment if I figure it out)

-DLIEF_EXTERNAL_LEAF=ON for Boost Leaf
Can't find an option to use external find_package for frozen

@ekilmer Yes the external configuration is not released yet. And yes, I missed to provide the option for Frozen.
I'll add it. Let me know if it needs other tweaks in the build system before releasing LIEF v0.12.0.

I really confused, I used the vcpkg_fail_port_install to indicate that library can't be build with the static-md triplet, so definitely there will be an error with this triplet! how should I pass the CI with this error?
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static" )
    if ("${VCPKG_CRT_LINKAGE}" STREQUAL "dynamic" )
        vcpkg_fail_port_install(MESSAGE "${PORT} doesn't support static-md" ALWAYS)
    endif()
endif()

error message in failure logs for x64-windows-static-md
CMake Error at scripts/cmake/vcpkg_fail_port_install.cmake:96 (message):
  lief doesn't support static-md

Call Stack (most recent call first):
  ports/lief/portfile.cmake:5 (vcpkg_fail_port_install)
  scripts/ports.cmake:142 (include)

But why? Can you please provide the failure log? Also please provide the Linux failure logs.
Thanks.

I really confused, I used the vcpkg_fail_port_install to indicate that library can't be build with the static-md triplet, so definitely there will be an error with this triplet! how should I pass the CI with this error?
if ("${VCPKG_LIBRARY_LINKAGE}" STREQUAL "static" )
    if ("${VCPKG_CRT_LINKAGE}" STREQUAL "dynamic" )
        vcpkg_fail_port_install(MESSAGE "${PORT} doesn't support static-md" ALWAYS)
    endif()
endif()

error message in failure logs for x64-windows-static-md
CMake Error at scripts/cmake/vcpkg_fail_port_install.cmake:96 (message):
  lief doesn't support static-md

Call Stack (most recent call first):
  ports/lief/portfile.cmake:5 (vcpkg_fail_port_install)
  scripts/ports.cmake:142 (include)

But why? Can you please provide the failure log? Also please provide the Linux failure logs.
Thanks.

Sorry for the delay, I guess the problem is solved now. I don't know how to get the failure logs of that specific commit :( I think I was missing something at that point, by now everything is OK.

Can you please resolve the file conflict?
Thanks.

@romainthomas I've opened a draft PR (#22957) for testing/experimenting with packaging the latest commit (at time of writing) on master branch of LIEF.
There are two patches that I thought were necessary:

CMake fixes for correct packaging/distribution (ports/lief/support_distribution.patch)
Fixing a Windows compilation issue (ports/lief/fix_windows_build.patch) using the workaround from this issue https://github.com/lief-project/LIEF/issues/616.

It would probably make sense to further discuss the patch contents on the #22957 PR

@BehroozAbbassi ,When I tested the features on my local machine with command "./vcpkg install lief[] " and "./vcpkg install lief[]:x64-windows" I met the error log:
CMake Error at CMakeLists.txt:454 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "LIB_LIEF".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:398 (target_link_libraries)
   * CMakeLists.txt:410 (target_link_libraries)
   * CMakeLists.txt:422 (target_link_libraries)
   * CMakeLists.txt:434 (target_link_libraries)

-- Configuration Types:
-- Build Types: Debug

@BehroozAbbassi ,When I tested the features on my local machine with command "./vcpkg install lief[] " and "./vcpkg install lief[]:x64-windows" I met the error log:
CMake Error at CMakeLists.txt:454 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "LIB_LIEF".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:398 (target_link_libraries)
   * CMakeLists.txt:410 (target_link_libraries)
   * CMakeLists.txt:422 (target_link_libraries)
   * CMakeLists.txt:434 (target_link_libraries)

-- Configuration Types:
-- Build Types: Debug

I just test it and there is no error in my system
First I removed all installed instances of the LIEF
./vcpkg list | % { $_.Split(" ") | Select-Object -first 1 } | Where-Object { $_ -like "lief*:*" } | ForEach-Object -Process { ./vcpkg remove --recurse $_ }

And reinstall it with different features, everything is OK
./vcpkg install lief[pe,elf,macho] --recurse

# Installation was successful

./vcpkg list | % { $_.Split(" ") | Select-Object -first 1 } | Where-Object { $_ -like "lief*:*" }                                                          ─╯
lief:x86-windows
lief[elf]:x86-windows
lief[macho]:x86-windows
lief[pe]:x86-windows
lief[shared-lib]:x86-windows

@BehroozAbbassi , Thanks for your test, I have merged the master, could you please again?

@BehroozAbbassi , I tested again the feature on my local machine, but failed:
command:  ./vcpkg install lief[*]
PS F:\Feature-test\lief\vcpkg> ./vcpkg install lief[*]
Computing installation plan...
A suitable version of cmake was not found (required v3.22.2). Downloading portable cmake v3.22.2...
Downloading cmake...
  https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2-windows-i386.zip -> F:\Feature-test\lief\vcpkg\downloads\cmake-3.22.2-windows-i386.zip
Extracting cmake...
The following packages will be built and installed:
    lief[art,asan,c-api,core,coverage,dex,disable-frozen,doc,elf,enable-json,examples,extra-warnings,force32,fuzzing,install-python,logging,logging-debug,lsan,macho,oat,pe,profiling,python-api,shared-lib,tests,tsan,usan,use-ccache,vdex]:x86-windows -> 0.11.5
  * vcpkg-cmake[core]:x64-windows -> 2022-01-19
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
A suitable version of powershell-core was not found (required v7.2.1). Downloading portable powershell-core v7.2.1...
Downloading powershell-core...
  https://github.com/PowerShell/PowerShell/releases/download/v7.2.1/PowerShell-7.2.1-win-x86.zip -> F:\Feature-test\lief\vcpkg\downloads\PowerShell-7.2.1-win-x86.zip
Extracting powershell-core...
Detecting compiler hash for triplet x86-windows...
A suitable version of 7zip was not found (required v21.7.0). Downloading portable 7zip v21.7.0...
Downloading 7zip...
  https://www.7-zip.org/a/7z2107-extra.7z -> F:\Feature-test\lief\vcpkg\downloads\7z2107-extra.7z
Extracting 7zip...
Restored 1 packages from C:\Users\vzhli17\AppData\Local\vcpkg\archives in 1.794 s. Use --debug to see more details.
Starting package 1/2: vcpkg-cmake:x64-windows
Installing package vcpkg-cmake[core]:x64-windows...
Elapsed time for package vcpkg-cmake:x64-windows: 83.55 ms
Starting package 2/2: lief:x86-windows
Building package lief[art,asan,c-api,core,coverage,dex,disable-frozen,doc,elf,enable-json,examples,extra-warnings,force32,fuzzing,install-python,logging,logging-debug,lsan,macho,oat,pe,profiling,python-api,shared-lib,tests,tsan,usan,use-ccache,vdex]:x86-windows...
-- Downloading https://github.com/lief-project/LIEF/archive/551ede538abeca63a158bd7c42b6b6337c92a26e.tar.gz -> lief-project-LIEF-551ede538abeca63a158bd7c42b6b6337c92a26e.tar.gz...
-- Extracting source F:/Feature-test/lief/vcpkg/downloads/lief-project-LIEF-551ede538abeca63a158bd7c42b6b6337c92a26e.tar.gz
-- Applying patch install_dir.patch
-- Using source at F:/Feature-test/lief/vcpkg/buildtrees/lief/src/337c92a26e-0a88e6d460.clean
-- Found external ninja('1.10.2').
-- Configuring x86-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:128 (message):
    Command failed: ninja -v
    Working Directory: F:/Feature-test/lief/vcpkg/buildtrees/lief/x86-windows-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      F:\Feature-test\lief\vcpkg\buildtrees\lief\config-x86-windows-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:415 (vcpkg_execute_required_process)
  ports/lief/portfile.cmake:70 (vcpkg_cmake_configure)
  scripts/ports.cmake:145 (include)

Error: Building package lief:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `git pull` and `.\vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+lief
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[lief]+Build+error
including:
  package: lief[art,asan,c-api,core,coverage,dex,disable-frozen,doc,elf,enable-json,examples,extra-warnings,force32,fuzzing,install-python,logging,logging-debug,lsan,macho,oat,pe,profiling,python-api,shared-lib,tests,tsan,usan,use-ccache,vdex]:x86-windows -> 0.11.5
    vcpkg-tool version: 2022-03-09-1affd32f93b299d5a907816c328ca3ededb73a7e
    vcpkg-scripts version: 2a0565e2c 2022-03-17 (12 hours ago)

Additionally, attach any relevant sections from the log files above.

F:\Feature-test\lief\vcpkg\buildtrees\lief\config-x86-windows-out.log
-- Undefined sanitizer enabled
CMake Error at CMakeLists.txt:454 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "LIB_LIEF".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:398 (target_link_libraries)
   * CMakeLists.txt:410 (target_link_libraries)
   * CMakeLists.txt:422 (target_link_libraries)
   * CMakeLists.txt:434 (target_link_libraries)

@BehroozAbbassi , I tested again the feature on my local machine, but failed:
command: ./vcpkg install lief[*]
PS F:\Feature-test\lief\vcpkg> ./vcpkg install lief[*]
Computing installation plan...
A suitable version of cmake was not found (required v3.22.2). Downloading portable cmake v3.22.2...
Downloading cmake...
  https://github.com/Kitware/CMake/releases/download/v3.22.2/cmake-3.22.2-windows-i386.zip -> F:\Feature-test\lief\vcpkg\downloads\cmake-3.22.2-windows-i386.zip
Extracting cmake...
The following packages will be built and installed:
    lief[art,asan,c-api,core,coverage,dex,disable-frozen,doc,elf,enable-json,examples,extra-warnings,force32,fuzzing,install-python,logging,logging-debug,lsan,macho,oat,pe,profiling,python-api,shared-lib,tests,tsan,usan,use-ccache,vdex]:x86-windows -> 0.11.5
  * vcpkg-cmake[core]:x64-windows -> 2022-01-19
Additional packages (*) will be modified to complete this operation.
Detecting compiler hash for triplet x64-windows...
A suitable version of powershell-core was not found (required v7.2.1). Downloading portable powershell-core v7.2.1...
Downloading powershell-core...
  https://github.com/PowerShell/PowerShell/releases/download/v7.2.1/PowerShell-7.2.1-win-x86.zip -> F:\Feature-test\lief\vcpkg\downloads\PowerShell-7.2.1-win-x86.zip
Extracting powershell-core...
Detecting compiler hash for triplet x86-windows...
A suitable version of 7zip was not found (required v21.7.0). Downloading portable 7zip v21.7.0...
Downloading 7zip...
  https://www.7-zip.org/a/7z2107-extra.7z -> F:\Feature-test\lief\vcpkg\downloads\7z2107-extra.7z
Extracting 7zip...
Restored 1 packages from C:\Users\vzhli17\AppData\Local\vcpkg\archives in 1.794 s. Use --debug to see more details.
Starting package 1/2: vcpkg-cmake:x64-windows
Installing package vcpkg-cmake[core]:x64-windows...
Elapsed time for package vcpkg-cmake:x64-windows: 83.55 ms
Starting package 2/2: lief:x86-windows
Building package lief[art,asan,c-api,core,coverage,dex,disable-frozen,doc,elf,enable-json,examples,extra-warnings,force32,fuzzing,install-python,logging,logging-debug,lsan,macho,oat,pe,profiling,python-api,shared-lib,tests,tsan,usan,use-ccache,vdex]:x86-windows...
-- Downloading https://github.com/lief-project/LIEF/archive/551ede538abeca63a158bd7c42b6b6337c92a26e.tar.gz -> lief-project-LIEF-551ede538abeca63a158bd7c42b6b6337c92a26e.tar.gz...
-- Extracting source F:/Feature-test/lief/vcpkg/downloads/lief-project-LIEF-551ede538abeca63a158bd7c42b6b6337c92a26e.tar.gz
-- Applying patch install_dir.patch
-- Using source at F:/Feature-test/lief/vcpkg/buildtrees/lief/src/337c92a26e-0a88e6d460.clean
-- Found external ninja('1.10.2').
-- Configuring x86-windows
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:128 (message):
    Command failed: ninja -v
    Working Directory: F:/Feature-test/lief/vcpkg/buildtrees/lief/x86-windows-rel/vcpkg-parallel-configure
    Error code: 1
    See logs for more information:
      F:\Feature-test\lief\vcpkg\buildtrees\lief\config-x86-windows-out.log

Call Stack (most recent call first):
  installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:415 (vcpkg_execute_required_process)
  ports/lief/portfile.cmake:70 (vcpkg_cmake_configure)
  scripts/ports.cmake:145 (include)

Error: Building package lief:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with `git pull` and `.\vcpkg update`.
Then check for known issues at:
  https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+lief
You can submit a new issue at:
  https://github.com/microsoft/vcpkg/issues/new?template=report-package-build-failure.md&title=[lief]+Build+error
including:
  package: lief[art,asan,c-api,core,coverage,dex,disable-frozen,doc,elf,enable-json,examples,extra-warnings,force32,fuzzing,install-python,logging,logging-debug,lsan,macho,oat,pe,profiling,python-api,shared-lib,tests,tsan,usan,use-ccache,vdex]:x86-windows -> 0.11.5
    vcpkg-tool version: 2022-03-09-1affd32f93b299d5a907816c328ca3ededb73a7e
    vcpkg-scripts version: 2a0565e2c 2022-03-17 (12 hours ago)

Additionally, attach any relevant sections from the log files above.

F:\Feature-test\lief\vcpkg\buildtrees\lief\config-x86-windows-out.log
-- Undefined sanitizer enabled
CMake Error at CMakeLists.txt:454 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "LIB_LIEF".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:398 (target_link_libraries)
   * CMakeLists.txt:410 (target_link_libraries)
   * CMakeLists.txt:422 (target_link_libraries)
   * CMakeLists.txt:434 (target_link_libraries)

hmm
I've the same problem by lief[*], It's because of dependencies of some features, for instance the doc feature depends on doxygen and if cmake can't find the doxygen then build will fail.
But this one is related to sanitizers, I've no idea how to use them with MSVC and CMAKE. I'm not sure if it's an error with cmake script or trying to use sanitizers on windows, maybe the author of library could help here, @romainthomas  any idea?
-- Undefined sanitizer enabled
CMake Error at CMakeLists.txt:454 (target_link_libraries):
  The keyword signature for target_link_libraries has already been used with
  the target "LIB_LIEF".  All uses of target_link_libraries with a target
  must be either all-keyword or all-plain.

  The uses of the keyword signature are here:

   * CMakeLists.txt:398 (target_link_libraries)
   * CMakeLists.txt:410 (target_link_libraries)
   * CMakeLists.txt:422 (target_link_libraries)
   * CMakeLists.txt:434 (target_link_libraries)

By the way I've this error even after I edit the portfile.cmake and disable sanitizers manually.

# Set them OFF after the "vcpkg_check_features"

set(LIEF_ASAN OFF)
set(LIEF_LSAN OFF)
set(LIEF_TSAN OFF)
set(LIEF_USAN OFF)

@romainthomas, Could you please take a look?

I'll check but the error seems weird

Maybe you should first try with the latest release (0.12.0) that contains CMake refactoring (cc @ekilmer)

the latest release (0.12.0) that contains CMake refactoring

I have a Draft PR for that here https://github.com/microsoft/vcpkg/pull/22957 (initially forked from @BehroozAbbassi's branch). The main issue is mbedtls major version upgrade in vcpkg (more details in the OP of the PR). I also haven't merged the latest changes (mostly need to just double-check that non-default features still work/should be removed) from this branch.
If the mbedtls version can't be updated for LIEF, then maybe LIEF will need to live in a separate registry along with mbedtls v3.
I don't have time to work on anything this week, but anyone is free to fork my branch, make the necessary changes, and open a new PR, create a registry, whatever. Just let me know if https://github.com/microsoft/vcpkg/pull/22957 should be closed in favor of something else!

Just disable feature doc would be okay.

@BehroozAbbassi, Is there any progress this pr？

Draft this PR until it has any progress.


Is 3.0.0 an official release?

I saw that v3.0.0 was released but didn't find any release or related commits here on this repository. So is this an official release or did someone stole your npm credentials or something like that? 🤔

Hello,
v3.0.0 is official release
Version 3.0.0 contains fixes for bugs and I expect to start new functionality with 3.x branch of versions.
Thank you for following jscpd and sorry for little bit unclear versioning

Thank you for clarification 👍


Improve performance of logging

Working on this code in FloatTrackerExamples:
using FloatTracker: TrackedFloat16, TrackedFloat32, write_out_logs, set_inject_nan, set_exclude_stacktrace, set_logger
using ShallowWaters, PyPlot

set_logger(filename="pretty_nan_tf", buffersize=100000, cstg=true, cstgArgs=true, cstgLineNum=true)
set_exclude_stacktrace([:prop,:gen]) # Props and kills take the lion share of the perf hit
# set_exclude_stacktrace([:prop,:kill,:gen])

P = run_model(T=TrackedFloat32,
              nx=100, L_ratio=1, bc="nonperiodic", wind_forcing_x="double_gyre",
              topography="seamount",cfl=2,Ndays=300)

pcolormesh(P.η')
savefig("height_pretty_nan_tf.png")

speed = sqrt.(Ix(P.u.^2)[:,2:end-1] + Iy(P.v.^2)[2:end-1,:])
pcolormesh(speed')
savefig("speed_pretty_nan_tf.png")

Dialing the buffer size up really high reduced runtime from 65s → 50s.  This suggests to me that part of where FloatTracker gets slow is writing (or just formatting?) the logs. I bet we could easily improve the performance here.

NB: setting maxLogs (#28 ) is a quick way to improve


Imputation functions return NaN too much

... gotta investigate this a little more, hopefully I have documentation for this somewhere

Closed by 7f5ecac6f5e52e3abf52eace5c3db42da0b66801


Switching focus between monitors

I tried using this plugin but i am unable to switch between monitors
bind = $mainMod, Tab, split-workspace, previous only moves between workspaces in my currently selected monitor
I want to move/cycle focus between different monitors i have setup. is there a way to do that with this plugin?

Nevermind i was able to use $mainMod, Tab, focusmonitor, +1

Thanks for this, I was a bit confused at first, I ended up using "split-monitor" instead