xArm6 Impedance Control Issues

I am using an xArm6 with xArm's 6-axis force torque sensor. I followed the instructions from https://github.com/xArm-Developer/xarm_ros2/issues/41#issuecomment-1700311544 to do a sensor/load compensation (I used uFactory Studio to run the sensor/load calibration procedure three times and I averaged the results) before putting the xArm6 in impedance control mode via the /xarm/ft_sensor_cali_load, /xarm/set_impedance_config and /xarm/ft_sensor_app_set services. I verified that the impedance control mode was working properly by lightly pushing up and down on the gripper and I could feel the end-effector moving like a spring.
My task is to pick up a flat pencil like object with a robotiq gripper attached to the end of the xArm6. To be extra careful during testing, I placed the object on a layer of foam, so that if the robot tried to drive through the table, the foam would absorb the force. Here is the command sequence that I use to pick up the object:

Hover the gripper just above the object with the gripper open.
Put the xArm6 in impedance control mode.
Using MoveIt2, command the end-effector to move the finger tips of the gripper just past the height of the foam.
Close the gripper
Using MoveIt2, command the end-effector to move up and away from the surface.
Disable impedance control mode.

The impedance control mode does a good job of not pushing through the thick foam and I am able to pick up objects. Also, it doesn't appear that the xArm6 is working any of its joints too hard during this process. However, after testing this procedure about three times, the xArm6 threw an error: UFACTORY Error detected! Code C31 -> [ Collision Caused Abnormal Joint Current ]. However, the collision error was thrown when the robot was moving up (not in impedance control mode). Here is the full error from ROS:
[move_group-3] [INFO] [1699645753.573201688] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: xarm6_traj_controller started execution [move_group-3] [INFO] [1699645753.573211121] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Goal request accepted! [ros2_control_node-2] [WARN] [1699645758.551577888] [UFACTORY.RobotHW]: [<IP_ADDRESS>] set_servo_angle_j, ret= 1 [ros2_control_node-2] [ERROR] [1699645758.630947838] [UFACTORY.RobotHW]: [<IP_ADDRESS>] Robot Mode detected! Mode: 0 [ros2_control_node-2] [ERROR] [1699645759.030304556] [UFACTORY.RobotHW]: [<IP_ADDRESS>] UFACTORY Error detected! Code C31 -> [ Collision Caused Abnormal Joint Current ]  [ros2_control_node-2] [WARN] [1699645761.710926027] [xarm6_traj_controller]: Aborted due goal_time_tolerance exceeding by 0.517733 seconds [move_group-3] [WARN] [1699645761.773652915] [moveit.simple_controller_manager.follow_joint_trajectory_controller_handle]: Controller 'xarm6_traj_controller' failed with error GOAL_TOLERANCE_VIOLATED:  [move_group-3] [WARN] [1699645761.773684209] [moveit_ros.trajectory_execution_manager]: Controller handle xarm6_traj_controller reports status ABORTED
I am worried that the xArm6's impedance control mode is causing the joint motors to work too hard even though the end-effector isn't pushing hard into the table (it's just pushing into some foam right now). Am I missing a step? Is there a different recommended procedure for picking up flat objects on tables?
Thanks!

Hi @SyllogismRXS, thanks for the feedback. If collision sensitivity is not set to 0, it will still monitor the joint motor currents (for joint torque estimation) while deducting the contribution from the end-effector force and estimate the chance of collision. There are chances of false estimation since the joint friction and temperature is not accurately modeled. But the joints will not try too hard compared with normal position control.
Could you please provide the log package to us (downloadable from UFACTORY Studio) and specify the date & time when this C31 error occurs? In the mean time, you can try lowering the collision sensitivity (like 1 maybe) setting when doing impedance control and change it back after that.


Missing information

[Enter feedback here]
When saying how to create a online record the documentation omits what happens when using a custom lookup column. This is causing confusion as it implies that you need to refence the logical name when using odata.bind when in fact you need to use the scheme name. I recommend changing the section:
To associate new table records to existing table records, set the value of single-valued navigation properties using the @odata.bind annotation. However, for mobile clients in the offline mode, you cannot use the @odata.bind annotation, and instead have to pass a lookup object (logicalname and id) pointing to the target record.
to
To associate new table records to existing table records, set the value of single-valued navigation properties using the @odata.bind annotation. However, for mobile clients in the offline mode, you cannot use the @odata.bind annotation, and instead have to pass a lookup object (logicalname and id or shemename and id for custom lookups) pointing to the target record.

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

ID: 75f70840-ac77-de34-b797-233a4ff56d37
Version Independent ID: e6b3d742-fe79-7442-0cae-d5dcba71f55f
Content: createRecord (Client API reference) in model-driven apps - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/clientapi/reference/Xrm-WebApi/createRecord.md
Service: powerapps
Sub-service: mda-developer
GitHub Login: @adrianorth
Microsoft Alias: jdaly

Thanks for your comment, @JackWatson-1. This issue has been assigned to the doc author for review.

@JackWatson-1
Thanks for your feedback.
If I'm understanding correctly, it seems that your feedback is specific to use with the offline client API.
You want to change this:

... and instead have to pass a lookup object (logicalname and id) pointing to the target record.

To this:

... and instead have to pass a lookup object (logicalname and id or schemename and id for custom lookups) pointing to the target record.

This example is provided for offline:
var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "logicalname": "contact",
            "id": "465b158c-541c-e511-80d3-3863bb347ba8"
        }
    }

Are you saying that you need to use something like this instead for custom lookups?
var data =
    {
        "name": "Sample Account",
        "primarycontactid":
        {
            "schemaname": "Contact",
            "id": "465b158c-541c-e511-80d3-3863bb347ba8"
        }
    }

Perhaps you can provide an example of what you mean?
I think that might help clarify.
Thanks

Hi Jim
My feedback was for the online client API
As the examples in the documentation shows
var data =
{
"name": "Sample Account",
@.***": "/contacts(465b158c-541c-e511-80d3-3863bb347ba8)"
}
With the primarycontactid being the logical name, this example works perfectly but if I was to have a custom lookup that looks up to the for-example the opportunity entity and the field is call “My field” with the logical name cr000_myfield and the schema name cr000_MyField
If you were to use the code:
var data =
{
"name": "Sample Account",
@.***: "/ opportunities (465b158c-541c-e511-80d3-3863bb347ba8)"
}
The function will not work, you must use:
var data =
{
"name": "Sample Account",
@.*** : "/ opportunities (465b158c-541c-e511-80d3-3863bb347ba8)"
}
So, for custom lookup fields you must use:
var data =
{
"name": "Sample Account",
@.*** : "/ opportunities (465b158c-541c-e511-80d3-3863bb347ba8)"
}
Instead of:
var data =
{
"name": "Sample Account",
@.***: "/ opportunities (465b158c-541c-e511-80d3-3863bb347ba8)"
}
Please let me know if you have any further questions or feedback
Many Thanks
Jack Watson / Software Developer
@.***
Monpellier
0191 500 8150
Evolve Business Centre, Rainton Bridge South Business Park, Cygnet Way, Houghton-le-Spring, Tyne & Wear, DH4 5QY
www.monpellier.co.ukhttp://www.monpellier.co.uk/
[Email footer 2019]
This e-mail message may contain confidential or legally privileged information and is intended only for the use of the intended recipient(s). Any unauthorized disclosure, dissemination, distribution, copying or the taking of any action in reliance on the information herein is prohibited. E-mails are not secure and cannot be guaranteed to be error free as they can be intercepted, amended, or contain viruses. Anyone who communicates with us by e-mail is deemed to have accepted these risks. Monpellier Ltd. is not responsible for errors or omissions in this message and denies any responsibility for any damage arising from the use of e-mail. Any opinion and other statement contained in this message and any attachment are solely those of the author and do not necessarily represent those of the company
From: Jim Daly @.>
Sent: 25 July 2022 16:56
To: MicrosoftDocs/powerapps-docs @.>
Cc: Jack Watson @.>; Mention @.>
Subject: Re: [MicrosoftDocs/powerapps-docs] Missing information (Issue #3524)
@JackWatson-1https://github.com/JackWatson-1
Thanks for your feedback.
If I'm understanding correctly, it seems that your feedback is specific to use with the offline client API.
You want to change this:
... and instead have to pass a lookup object (logicalname and id) pointing to the target record.
To this:
... and instead have to pass a lookup object (logicalname and id or schemename and id for custom lookups) pointing to the target record.
This example is provided for offline:
var data =
{

    "name": "Sample Account",

    "primarycontactid":

    {

        "logicalname": "contact",

        "id": "465b158c-541c-e511-80d3-3863bb347ba8"

    }

}

Are you saying that you need to use something like this instead for custom lookups?
var data =
{

    "name": "Sample Account",

    "primarycontactid":

    {

        "schemaname": "Contact",

        "id": "465b158c-541c-e511-80d3-3863bb347ba8"

    }

}

Perhaps you can provide an example of what you mean?
I think that might help clarify.
Thanks
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/powerapps-docs/issues/3524#issuecomment-1194270678, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVVQ7FU4ZP4ZAZWOJUHHGJDVV22IZANCNFSM54RRV2IA.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@JackWatson-1
Can I ask that you go to GitHub and enter your comments there rather than responding via email?
Your examples using @odata.bind seem to have been obfuscated to prevent including email addresses when you respond via email.
this link Should take you directly to the issue.
Thanks,

I would propose that we update the document with a note calling out something like this:

The names of single-valued navigation properties is not always the same as the LogicalName for the lookup attribute. You should make sure you are using the name of the NavigationProperty element in the Web API $metadata service document. More information: Web API Navigation Properties

Do you think this will help?

I think that change would be good to further clarify things

I've added the note. Closing.


CRITICAL_STRUCTURE_CORRUPTION

There MUST be a problem with DSEfix, because with WIN64AST there is no problem!!!
Please compare how WIN64AST works!

There MUST be a problem with you.


Spike: routing for request entities

todo

debug-sidebar.tsx
protofile handling
update body object hack decision

replaced by 5733


Refactor Controller.Start(addresses...string)

I've selected Controller.Start(addresses...string) for refactoring, which is a unit of 74 lines of code and 17 branch points. Addressing this will make our codebase more maintainable and improve Better Code Hub's Write Simple Units of Code guideline rating! 👍
Here's the gist of this guideline:

Definition 📖
Limit the number of branch points (if, for, while, etc.) per unit to 4.
Why❓
Keeping the number of branch points low makes units easier to modify and test.
How 🔧
Split complex units with a high number of branch points into smaller and simpler ones.

You can find more info about this guideline in Building Maintainable Software. 📖

ℹ To know how many other refactoring candidates need addressing to get a guideline compliant, select some by clicking on the 🔲  next to them. The risk profile below the candidates signals (✅) when it's enough! 🏁

Good luck and happy coding! :shipit: :sparkles: :100:

I can work on it.

Closing this via openebs/jiva#236


refactor(sdk-metrics-base): meter shared states

Which problem is this PR solving?
Refactors meter states so that we can safely add more meter internal fields like async instrument callback registrations.
Also hides the public Meter.collect method in the shared state interface so that it can only be exposed through MetricReader.
This is extracted from https://github.com/open-telemetry/opentelemetry-js/pull/2785 as part of the async callback re-work.
Type of change

[x] New feature (non-breaking change which adds functionality)

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[x] MeterSharedState.collect

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added

This was closed accidentally. Reopened, and rebased.

@open-telemetry/javascript-approvers please take a look at this if you have time

@open-telemetry/javascript-approvers this pr still needs one more review, I'd appreciate it if anyone can take a look at this :) I've updated it on top of the main branch and added a changelog entry.

I'll bug everyone in the SIG meeting :)

@open-telemetry/javascript-approvers merged the latest main branch and resolved conflicts. we still need one more review on this PR :)

Unexpected push... reverted to the previous version https://github.com/open-telemetry/opentelemetry-js/commit/03fa81f0c99f68cfef70c6a5d75312d6c32231a7.
We are still waiting for another review to merge :-)

@vmarchaud thank you


Export a png

It would be great to be able to be able to export a png and have it include the title, subtitle and figcaption as is the case when using the three dots to export a png here.
op = Obsplot(renderer="jsdom")

op(
    {
        "marks": [
            Plot.tickX([0, 5, 10, 15])
        ],
        "title" : "Title test",
    },
    path="test.png"
)

Split out from this #21

PNG export It would indeed be really useful, but it is much harder to implement than SVG export, because you need a complete HTML renderer (such as a browser) to convert to a bitmap image file.
Maybe I'll try to see how other libraries implement this.

Observable use this. Happy to try adding a function to pyobsplot-js if you think that would make sense

Oh I didn't know about this, it seems really promising ! Where did you see that Observable uses it ?
If you want to try to integrate it in pyobsplot, of course don't hesitate. Maybe the difficulty will be to make it work in both the jsdom and widget renderers, but it is definitely worth a try.

Great - I'll give that a go. It was mentioned in a discussion here.

This was unfortunately the case for html-to-image "but it is much harder to implement than SVG export, because you need a complete HTML renderer (such as a browser) to convert to a bitmap image file.". In Observable notebooks the figure has already been rendered in the browser so export to png via html-to-image is possible.
I've had a look at what other visualisation libraries do and they all appear to take a similar approach as described here. A simple approach that worked but proved limited was using the python package html2image. The issue I had was getting the correct width and height. If the html just contains an SVG tag then there's no issue we can grab the width and height attributes. However, if there is a title/legend/caption etc. then the height will be too small.
Bokeh has an implementation to dynamically get the width and height which we could try and borrow when the figure is a HTML object (export_to_png and dynamically estimate width & height )?
Not ideal, there would also need to be an additional docs section similar to this.
Let me know what you think

For including observable plots in a scientific paper I also came across the need of exporting into png, pdf or svg (a single svg including title, caption, legend, etc). For my needs I got the best results using typst, see a few examples in my repo. For me this approach worked much better than anything I tried using headless browser exports. The resulting figures have tight configurable margins without cutting off title or caption. Supported formats are pdf, png, svg and typ.tar.gz (a compressed directory of the .typ file with the individual svgs, mainly for debug purposes).
The entire code for the export logic is in obsplot.py, the additional external dependencies are typst and bs4, both available from pip. The process is basically exporting to html, and parsing the output. Since observable exports discrete legends to multiple separate svg's this step requires a little extra logic. The export is quite fast, thanks to the speed of typst.
Of course such an reverse-engineering type approach might not be ideal for everyone, in particular my script so far probably does not cover all observable features (title, subtitle, caption, discrete legends, continuous legends are supported, but maybe something else is missing?). So far themes are also not supported, although that would be an easy addition. If there is interest here despite these drawbacks, I'd be happy to open a pull request.

That is very interesting, I didn't know that typst could do this type of thing and that it could be installed directly via pip.
I'll take a look at your code, many thanks for taking the time to describe the way you did this and to share your code.

I added this functionality to obsplot.py like the code below, to a large part copying the ObsplotJsdomCreator. In order to get the raw output from ObsplotJsdom.plot I had to redefine this method to def plot(self, raw=False) -> Union[str, SVG, HTML], where raw=True just returns a string. There is probably a better way than this, without copying the ObsplotJsdomCreator code.
Another issue I could not solve is making this work with Plot.auto. Basically for the parsing to work it is important to always pass the figure: True option to observable in order to guarantee that the resulting plot is wrapped in a <figure>. I tried to do so with
if "figure" not in spec:
            spec["figure"] = True

but this fails for Plot.auto.
class ObsplotTypstCreator(ObsplotCreator):
    """
    Typst renderer Creator class.
    """

    def __init__(
        self,
        theme: str = DEFAULT_THEME,
        default: Optional[dict] = None,
        debug: bool = False,  # noqa: FBT001, FBT002
    ) -> None:
        super().__init__(theme, default, debug)
        self._proc = None
        self.start_server()

    def __call__(self, *args, dpi: int = 100, margin: int = 4, font_size: int = 12, font: str = "SF Pro Display", **kwargs) -> None:
        """
        Method called when an instance is called.
        """
        if self._proc is not None and self._proc.poll() is not None:
            msg = "Server has ended, please recreate your plot generator object."
            raise RuntimeError(msg)
        path = None
        if "path" in kwargs:
            path = kwargs["path"]
            del kwargs["path"]
        spec = self.get_spec(*args, **kwargs)
        if "figure" not in spec:
            spec["figure"] = True
        res = ObsplotJsdom(
            spec,
            port=self._port,
            theme=self._theme,
            default=self._default,
            debug=self._debug,
        ).plot(raw=True)
        if path is None:
            with tempfile.NamedTemporaryFile(suffix=".png") as f:
                self.render_typst(res, f.name, margin, font_size, font, dpi)
                return display(Image(filename=f.name))
        else:
            self.render_typst(res, path, margin, font_size, font, dpi)

    def start_server(self):
        """
        Start http node plot generator server.
        """
        if self._proc is not None:
            if self._proc.poll() is None:
                # If proc already running, do nothing
                return
        # Check for node executable
        npx = shutil.which("npx")
        if not npx:
            msg = "npx executable has not been found."
            raise RuntimeError(msg)
        # Run node script with JSON spec as input
        try:
            p = Popen(
                ["npx", f"pyobsplot@{MIN_NPM_VERSION}"],  # noqa: S607
                stdin=None,
                stdout=PIPE,
                stderr=PIPE,
                encoding="Utf8",
                # Use shell=True if we are on Windows. Otherwise PATH
                # is not parsed and npx is not found.
                shell=os.name == "nt",  # noqa: S603
                start_new_session=True,
            )
        except SubprocessError:
            err = p.stderr.read()  # type: ignore
            msg = f"Can't start server: {err}"
            raise RuntimeError(msg) from SubprocessError
        # read back OS selected port from stdout
        try:
            port = p.stdout.readline()  # type: ignore
            self._port = int(port.strip())
        except ValueError:
            err = p.stderr.read()  # type: ignore
            msg = f"Server not started: {err}"
            raise ValueError(msg) from ValueError
        # store Popen process
        self._proc = p

    def close(self):
        """
        Stop http node plot generator server.
        """
        if self._proc is not None:
            os.killpg(os.getpgid(self._proc.pid), signal.SIGTERM)

    @staticmethod
    def shift_svg(svg):
        soup = BeautifulSoup(str(svg), "xml")
        svg = soup.svg
        if "viewBox" in svg.attrs:
            x, y, width, height = map(int, svg.attrs["viewBox"].split())
            if x != 0 or y != 0:
                g = soup.new_tag("g", transform=f"translate({-x}, {-y})")
                g.extend(svg.contents)
                svg.clear()
                svg.append(g)
                svg.attrs["viewBox"] = f"0 0 {width} {height}"
        return str(svg)

    def render_typst(self, html: str, path: str, margin: int, font_size: int, font: str, dpi: int) -> None:
        """
        Render HTML to svg/pdf/png using jsdom+typst.

        Args:
            html (str): HTML content.
            path (str): path to output file.
        """
        path_obj = Path(path)
        ext = "".join(path_obj.suffixes)
        stem = str(path_obj.name).removesuffix("".join(path_obj.suffixes))

        with tempfile.TemporaryDirectory() as tmpdirname:
            soup = BeautifulSoup(html, "xml")
            figure = soup.find("figure", recursive=False)
            swatches = []
            plots = []
            for i, swatch in enumerate(figure.find_all("div", recursive=False)):
                new_swatch = []
                for j, svg in enumerate(swatch.find_all("svg", recursive=True)):
                    with open(f"{tmpdirname}/{stem}_{i}_{j}.svg", "w") as f:
                        f.write(ObsplotTypstCreator.shift_svg(str(svg)))
                    new_swatch.append(
                        {"file": f"{stem}_{i}_{j}.svg", "width": svg.attrs["width"], "height": svg.attrs["height"], "text": svg.next_sibling}
                    )
                swatches.append(new_swatch)
            for i, svg in enumerate(figure.find_all("svg", recursive=False)):
                with open(f"{tmpdirname}/{stem}_{i}.svg", "w") as f:
                    f.write(ObsplotTypstCreator.shift_svg(str(svg)))
                plots.append({"file": f"{stem}_{i}.svg", "width": svg.attrs["width"], "height": svg.attrs["height"]})
            max_width = max(int(svg["width"]) for svg in plots)
            typeset = (
                f'#set text(\nfont: "{font}",\nsize: {font_size}pt\n)\n'
                + f"#set page(\nwidth: {max_width+2*margin}pt,\nheight: auto,\nmargin: (x: {margin}pt, y: {margin}pt),\n)\n"
            )
            if title := figure.find("h2"):
                typeset += f"= {title.text}"
            if subtitle := figure.find("h3"):
                typeset += f"\n{subtitle.text}"
            typeset += "\n\n"
            for swatch in swatches:
                typeset += "#{\nset align(horizon)\nstack(\n  dir: ltr,\n  spacing: 10pt,\n"
                for el in swatch:
                    typeset += f'  image("{el["file"]}", width: {el["width"]}pt),\n'
                    typeset += f'  "{el["text"]}",\n'
                typeset += ")}\n\n"
            typeset += "#v(-10pt)\n".join([f'#image("{plot["file"]}", width: {plot["width"]}pt)\n' for plot in plots])

            if caption := figure.find("figcaption"):
                typeset += f"\n{caption.text}"

            with open(f"{tmpdirname}/{stem}.typ", "w") as f:
                f.write(typeset)

            typst.compile(f"{tmpdirname}/{stem}.typ", output=path, ppi=dpi, format=ext[1:])

Very excited about the prospect of this addition and would love to see a pull request! Are there any blockers to making it happen? If we aren't sure yet that it supports all permutations would a way forward in the short term be to note the functionality is experimental?
Going to try the code above and I'll feedback if something doesn't work.

Sorry I've been busy and didn't work a lot on pyobsplot recently, but I will definitely take a look at this. I just understood that py-typst doesn't even need to install typst separately, so it could be very handy.

Experimental PNG support added to development version.


[HUDI-725] Remove init log in the constructor of DeltaSync

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contributing.html before opening a pull request.

What is the purpose of the pull request
Remove init log in the constructor of DeltaSync
Brief change log
Remove init log in the constructor of DeltaSync
Verify this pull request
(Please pick either of the following options)
This pull request is a trivial rework / code cleanup without any test coverage.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@yanghua  would you please take a look


Selftest fails

Not sure why yet but this is what I get:
https://gist.github.com/031a0892f3da5422cd9c
FreeBSD reactor.here 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
phantomjs 1.9.0 (development)

Test passes with phantomjs 1.9.1 and later. Support for 1.9.0 dropped.


Setup Project

Initiate required files

gitlabAPI.js : Defined to fetch Projects and Jobs using API provided by gitlab.
gitJobs.js : Get and filter required data from gitlab using provided group ID.
app.js: Localhost server on port: 8081.
Additionally, empty ejs template engine views are added.

Usage:

$export API_TOKEN=your token

$node app.js

Browser: http://localhost:8081/groups/ group ID /jobs

testing

@CMDRyan

blackbox not removed yet
The tailwind.css is needed, but not committed and no instruction about it
Dont say discussed minor issue in commit, list out what u have changed
It is impossible to have both package-lock.json and yarn-lock.json at the same time

@Steven-Chan

Resent commit message
Removed 'blackbox' related lines
Removed package.json
Added tailwind.css

@Steven-Chan
Updated README with line: $yarn add express .

@Steven-Chan

Updated README yarn add express to yarn
Relocated all source code files to /src and corrected path in app.js
getJobs.js will now return an array of Job objects


[QUESTION] What happened with the original repo?

Title says it all. Do you know anything about why it was removed? This is an extremely useful project. Should we continue where the original developer left off?
Best regards,

Unfortunately, but I don't know what happened to the original repository. I will not develop the project.
Greetings.

Ok thanks, and this archive of the project, when was it forked? (for future reference)

Yes this is the last version before removal.


[Query] Best way to change the logo based on dark mode.

Hi,
Is there a way we can programmatically change the logo (e.g logo-light.png vs logo-dark.png) based on the dark mode?
Thanks

Currently no
Is the logo you want to use too light?

The logo is in-fact dark, and hence when the theme is changed to dark mode. It almost disappears.

Got it, I will add a new option. A RFC request here. I am not a native English speaker, so which one do you perfer? heroImageDark darkHeroImage or heroDarkImage

darkHeroImage sounds much better. You are so prompt , stay awesome :)
On a side note will you be releasing the new release soon. Or should I build from git with latest commits to test more things?

I will release 0.1.1 in a few hours.
e0lithic<EMAIL_ADDRESS>于 2020年5月8日周五 12:44写道：

darkHeroImage sounds much better. You are so prompt , stay awesome :)
On a side note will you be releasing the new release soon. Or should I
build from git with latest commits to test more things?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Mister-Hope/vuepress-theme-hope/issues/171#issuecomment-625627114,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AH6FX6RDAUHHBGVVY25YUMLRQOE2FANCNFSM4M3VZSJA
.

I will release 0.1.1 in a few hours.

A new version 0.2.0 is released. It's a minor version because a breaking change.


Option to skip file content reading

I think the loaders can read the file themself, it's not necessary to provide the content to loader.
https://github.com/antonk52/lilconfig/blob/b056bd8e9d78eb258992005eedc855256af8bbe6/src/index.ts#L257

Hello and thank you for suggestion.
While I agree this makes since in a subset of scenarios. This was a conscious decision to be compatible with cosmiconfig
https://github.com/cosmiconfig/cosmiconfig/blob/42ca3fab6d6ae593a895c0fe4e2a5f6b297e6361/src/types.ts#L24-L31

I've given this more thought and I think this is a good idea. I will release a new minor version where a new option like skipFileContent will be added. Thank you for a suggestion.

When using custom loaders, a simple approach could be to detect the number of arguments of the loader using Function.length. If Function.length === 1, it only uses the filepath and if Function.length === 2 it also uses the content argument. This way the file reading could be automatically skipped when the loader doesn't care. For example:
https://github.com/antonk52/lilconfig/blob/8deeb3b8e4c4f073e329b29a53781d4f8fc79183/src/index.ts#L211-L213C55
const loaderKey = path.extname(searchPlace) || 'noExt';
const loader = loaders[loaderKey];
const content = loader.length === 1 ? undefined : String(await fsReadFileAsync(filepath));


Ability to have separate local / live builds

Summary
I'm developing a service that uses Pillow, and the dynamic libraries installed only worked when invoked on either my development laptop (OSX) or on AWS, never both, depending on if I compiled using the docker container or not. Having the ability to locally invoke while I'm developing is crucial for speed, so I decided to implement this.
Changes

sls requirements install local will install dependencies to .local_requirements using the host machine, even if dockerizePip is enabled.
requirements.py now adds either or both of .requirements and .local_requirements depending on if they exist or not. If .local_requirements exists it will take precedence. Right now I have .local_requirements in my package: exclude:, but I'm not sure if there's any way to force exclude it somehow within the plugin logic.

Other stuff
These are only semi-related to this feature, but I threw them in here anyway as I see them as needed improvements- I can remove if necessary.

Added --isolated flag to pip to ensure that no global pip settings interfere with installation
Added -U and --upgrade-strategy=only-if-needed as there is no API for updating packages

I can update the docs, but I wanted feedback on this before I take the time to do that.
Thanks!

Thanks for the pr! I have some ideas relating to #1 that would make this plugin for deployment only, with the intention that you'd just use a virtualenv for local development like you usually would on a python project.
I'll definitely add the --isolated flag and look into the upgrade stuff.

That makes a lot of sense. What ideas do you have for the mechanism for #1?

Mainly: still install to .requirements but when deploying link(soft or hard, soft if they work) to the service's root then unlink them when deploy is done.

I can confirm that soft links are followed when packaged. Sounds good 👍

I've cherry picked the -isolated patch and implemented the linking based solution to #1. I suggest you simply use a virtualenv for local development.


GOOSE no longer usable with all mirrors down

With the failure of the Berkeley machine (spitz) and the EBI mirror being down, GOOSE can no longer function.
A new (maintainable) core mirror needs to be put into place.
In the interim, users should be able to install the MySQL dumps locally, using the instructions found here: http://geneontology.org/page/lead-database-guide .

This section of the documentation needs to be updated on completion:
http://geneontology.org/page/lead-database-guide#online

@stuartmiyasato I'll map the name for spitz onto the new server, so we should be able to fix this without intervention from production (hopefully).

spitz now CNAME for smaug, which has been (manually :crying_cat_face:, for now) loaded with a lite database. That clears this ticket, but I'll need to open a new one to get that automated in Jenkins.


Add Jaeger and grafana external url of Kiali

Problem:
User is not able to view external Jaeger or Grafana URL in the Kiali dashboard, it shows a Rancher 404 page.
Solution:
as per official reply from https://github.com/istio/istio.io/issues/4146#issuecomment-493543032, the current solution is to add rancher generate Jaeger proxy url to the Kiali and Grafana config.
Related Issue:
https://github.com/rancher/rancher/issues/20615

updated.

LGTM

LGTM


variables per host in group

I want to create an inventory file like this:
[cdh5-zookeeperserver]
idc1-hjn1 zoo_id=1
idc1-hjn2 zoo_id=2

So I need to define some variables on the hosts in the group.
How would I do that with vai?

@muelli have you looked into setting those in your host_vars folder instead.
Something like:
---
# file: ./host_vars/idc1-hjn1
zoo_id: 1
---
# file: ./host_vars/idc1-hjn2
zoo_id: 2

If you specifically need them to be generated then vai isn't currently setup to do that. Code contributions are welcome but do read what Ansible has to say about storing variables in your inventory file.

I agree with you @MatthewMi11er. Vars should be stored in the host_vars host file, not in the inventory.

okay. I was just wondering.
Thanks for the quick feedback.


[5.5] Use laravel provided argument escaping

Symfony's ProcessUtils::escapeArgument method is deprecated since Symfony 3.3, and removed in Symfony 4.0. It would be a lot of work to refactor Laravel's code to do the suggestion Symfony have as an alternative to calling that method, so I suggest we port the original code into Laravel.
This:

Fixes eprecation warnings in Laravel 5.5.
Is a prerequisite for switching Laravel 5.6 to Symfony 4.

Seems others also opted to simply copy the code to move to 4, e.g. https://github.com/composer/composer/commit/8b42aed060a6e57e088bb70bc84d85f34a05e637 🤷♀
Lets one wonder if the deprecation was too early …

lol, yeh


fix: Fixed layout mobile bug on Top Up page

This was fixed

This is great. Not a blocker for this PR, but while we're at it, can we also please fix a couple of more layout/spacing issues listed below?
Lack of spacing between navigation and page content:

Extra bottom space/margin on the last item in each FundingCard:
\
Kraken logo is much bigger compared to other logos in the list:

@Patrick1904  fixed!


missing extension for mimetype "application/x-zip-compressed"

mime-db json does not contain an entry for mimetype "application/x-zip-compressed", which should contain an extenson "zip" at least.

https://github.com/jshttp/mime-types#adding-types


Publish to GitHub marketplace

In order to improve the visibility of this project, it would be great if we published it to the GitHub Actions marketplace.

Drafting a release yields this ☝ We'll need to get that out of the way first, I suppose.

@tsandall can you "accept the GitHub Marketplace Developer Agreement" for the open-policy-agent org when you get a chance?

@tsandall can you "accept the GitHub Marketplace Developer Agreement" for the open-policy-agent org when you get a chance?

Hi team ! Quick bump on this, it would give this action more visibility when searching on the marketplace.

OK, it should be signed now.

It's published.  I'll ask around about how to get it set up with a proper OPA logo.


HTML only

Looking through the code I think I can guess the answer to this, but will ask anyway.
Is this library HTML (react-dom) only, or can you see this being usable on other renderers, such as React Native?

Great question. I have no experience with React Native, so I'm honestly not sure! I'd be surprised if the lib supports it natively right now (although it might?), but my expectation is that if it doesn't, it should be possible to update it so that it's more generic...but again, I lack the knowledge and use case so I wouldn't be able to do update unfortunately.

Turns out that yes, it can work with renderers other than react-dom. Small ish video of your lib, wired into a simple app using "Revas" (https://github.com/pinqy520/revas), which renders your vDom to a canvas surface.
https://user-images.githubusercontent.com/9934306/107782867-7baa6b00-6d41-11eb-8ee0-1e791c3db6ca.mov
That's your "basic-layout" example, redone in the styling idioms of the Revas renderer, which isn't a million miles away from React Native.
If you think this is something that could be a worthwhile addition to repo I can raise a PR.

That's awesome @JohnPaulHarold !!
How long do you think it'd take to make a PR? I'd be curious to get a sense of what the scope of the changes would be, and how much effort it'd be to continue maintaining it going forward.

I'd be curious to get a sense of what the scope of the changes would be

The changes are quite simple so far; there are duplicate props for the various classNames, accepting style objects over strings. It's much the same as what happens with the className.
For example (shortened a bit, but gets across the point):
const styles = {
  blockContainer: {
    ...
  },
  blockContainerVertical: {
    flex: 1,
    flexDirection: 'column',
  },
  isFocused: {
    borderColor: '#530db1',
    borderWidth: 1,
    borderStyle: 'solid',
  },
}
<FocusNode
  elementType={View}
  style={{ ...styles.blockContainer, ...styles.blockContainerVertical }}
  focusedStyle={styles.isFocused}
  orientation="vertical"
>

and then over in focus-node.ts, we compose those and apply as a style prop on the child component
const computedStyle = {
  ...style,
  ...(node.isFocused ? focusedStyle : {}),
  ...(node.isFocusedLeaf ? focusedLeafStyle : {}),
  ...(node.disabled ? disabledStyle : {}),
  ...(node.active ? activeStyle : {}),
};

how much effort it'd be to continue maintaining it going forward

The above seems to work, is quite simple, but it does feel like a duplication. Maybe there's a discussion to be had if some duplication is fine, or if these focus states could be generalised further. Like, would there be a use case for props other than className or style to be modified on the various focus states?

How long do you think it'd take to make a PR

I'd like to recreate some of your other examples, I think that would be worthwhile.
I'd like to write some tests for these changes - both of those todos might take a bit of time.
Update the docs.
A demo using Revas for your examples folder would also probably be helpful.

What I can also do is push up my branch before creating any PR if you'd like to look at it right now. If what's there looks enough for an initial PR I can put something together fairly quickly. The above might not all need to be done in one PR either.

Going to close this for now, but if anyone else is interested in taking this on feel free to comment and we can continue the convo.


docs(guide): Add angular-easyfb with Facebook login to login libraries

It looks like the issue Brian raised has been resolved --- I didn't see it as a huge problem anyways, and that project has a good number of stars. LGTM


[1.10.0-rc1] VOLUME /any/dir hangs docker build

Tested to happen with client on Linux and OS X.
$ cat Dockerfile

FROM alpine
VOLUME /usr/local/bin

$ docker build -t qq .

Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine
 ---> 14f89d0e6257
Step 2 : VOLUME /usr/local/bin

The build hangs here.
When sent kill -3 it logs the following:
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine
 ---> 14f89d0e6257
Step 2 : VOLUME /usr/local/bin
SIGQUIT: quit
PC=0x60b9b m=0

goroutine 0 [idle]:
runtime.mach_semaphore_wait(0x107, 0xc8202fc780, 0x60, 0x30, 0x60f620, 0x958820, 0x53869, 0xffffffffffffffff, 0x30, 0x7fff5fbff52c, ...)
	/usr/local/go/src/runtime/sys_darwin_amd64.s:407 +0xb
runtime.semasleep1(0xffffffffffffffff, 0x30)
	/usr/local/go/src/runtime/os1_darwin.go:395 +0xe5
runtime.semasleep.func1()
	/usr/local/go/src/runtime/os1_darwin.go:411 +0x29
runtime.systemstack(0x7fff5fbff530)
	/usr/local/go/src/runtime/asm_amd64.s:278 +0xab
runtime.semasleep(0xffffffffffffffff, 0x0)
	/usr/local/go/src/runtime/os1_darwin.go:412 +0x36
runtime.notesleep(0x9590f0)
	/usr/local/go/src/runtime/lock_sema.go:169 +0x100
runtime.stopm()
	/usr/local/go/src/runtime/proc1.go:1136 +0x112
runtime.findrunnable(0xc82001d500, 0x0)
	/usr/local/go/src/runtime/proc1.go:1538 +0x69e
runtime.schedule()
	/usr/local/go/src/runtime/proc1.go:1647 +0x267
runtime.park_m(0xc820001680)
	/usr/local/go/src/runtime/proc1.go:1706 +0x18b
runtime.mcall(0x7fff5fbff6b0)
	/usr/local/go/src/runtime/asm_amd64.s:204 +0x5b

goroutine 1 [IO wait]:
net.runtime_pollWait(0xbf05b0, 0x72, 0xc82000e1f0)
	/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(*pollDesc).Wait(0xc8202f3d40, 0x72, 0x0, 0x0)
	/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc8202f3d40, 0x0, 0x0)
	/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc8202f3ce0, 0xc820374400, 0x400, 0x400, 0x0, 0xbe6050, 0xc82000e1f0)
	/usr/local/go/src/net/fd_unix.go:232 +0x23a
net.(*conn).Read(0xc820356010, 0xc820374400, 0x400, 0x400, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/net.go:172 +0xe4
crypto/tls.(*block).readFromUntil(0xc820350150, 0xc260c8, 0xc820356010, 0x5, 0x0, 0x0)
	/usr/local/go/src/crypto/tls/conn.go:455 +0xcc
crypto/tls.(*Conn).readRecord(0xc820366000, 0x76fa17, 0x0, 0x0)
	/usr/local/go/src/crypto/tls/conn.go:540 +0x2d1
crypto/tls.(*Conn).Read(0xc820366000, 0xc820359000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
	/usr/local/go/src/crypto/tls/conn.go:901 +0x167
net/http.noteEOFReader.Read(0xc2a630, 0xc820366000, 0xc82032e268, 0xc820359000, 0x1000, 0x1000, 0x4c1d40, 0x0, 0x0)
	/usr/local/go/src/net/http/transport.go:1370 +0x67
net/http.(*noteEOFReader).Read(0xc82041a9c0, 0xc820359000, 0x1000, 0x1000, 0x7300000035, 0x0, 0x0)
	<autogenerated>:126 +0xd0
bufio.(*Reader).fill(0xc820411b60)
	/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).ReadSlice(0xc820411b60, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/bufio/bufio.go:328 +0x21a
net/http/internal.readLine(0xc820411b60, 0x0, 0x0, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/internal/chunked.go:110 +0x4b
net/http/internal.(*chunkedReader).beginChunk(0xc820454060)
	/usr/local/go/src/net/http/internal/chunked.go:47 +0x39
net/http/internal.(*chunkedReader).Read(0xc820454060, 0xc820480002, 0x5fe, 0x5fe, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/internal/chunked.go:77 +0xb7
net/http.(*body).readLocked(0xc82043a100, 0xc820480002, 0x5fe, 0x5fe, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/transfer.go:632 +0x98
net/http.(*body).Read(0xc82043a100, 0xc820480002, 0x5fe, 0x5fe, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/transfer.go:624 +0x110
net/http.(*bodyEOFSignal).Read(0xc82043a140, 0xc820480002, 0x5fe, 0x5fe, 0x0, 0x0, 0x0)
	/usr/local/go/src/net/http/transport.go:1296 +0x26a
encoding/json.(*Decoder).refill(0xc820472000, 0x0, 0x0)
	/usr/local/go/src/encoding/json/stream.go:152 +0x287
encoding/json.(*Decoder).readValue(0xc820472000, 0x1, 0x0, 0x0)
	/usr/local/go/src/encoding/json/stream.go:128 +0x41b
encoding/json.(*Decoder).Decode(0xc820472000, 0x57a160, 0xc820452240, 0x0, 0x0)
	/usr/local/go/src/encoding/json/stream.go:57 +0x159
github.com/docker/docker/pkg/jsonmessage.DisplayJSONMessagesStream(0xc66190, 0xc82043a140, 0xbea330, 0xc820030010, 0x1, 0x1, 0x0, 0x0, 0x0)
	/go/src/github.com/docker/docker/pkg/jsonmessage/jsonmessage.go:161 +0x19e
github.com/docker/docker/api/client.(*DockerCli).CmdBuild(0xc820204c00, 0xc82000a250, 0x3, 0x3, 0x0, 0x0)
	/go/src/github.com/docker/docker/api/client/build.go:253 +0x2c5d
reflect.callMethod(0xc8203020f0, 0xc820145c28)
	/usr/local/go/src/reflect/value.go:628 +0x1fc
reflect.methodValueCall(0xc82000a250, 0x3, 0x3, 0x1, 0xc8203020f0, 0x0, 0x0, 0xc8203020f0, 0x0, 0x667d4, ...)
	/usr/local/go/src/reflect/asm_amd64.s:29 +0x36
github.com/docker/docker/cli.(*Cli).Run(0xc820261860, 0xc82000a240, 0x4, 0x4, 0x0, 0x0)
	/go/src/github.com/docker/docker/cli/cli.go:89 +0x383
main.main()
	/go/src/github.com/docker/docker/docker/docker.go:63 +0x43c

goroutine 5 [syscall]:
os/signal.loop()
	/usr/local/go/src/os/signal/signal_unix.go:22 +0x18
created by os/signal.init.1
	/usr/local/go/src/os/signal/signal_unix.go:28 +0x37

goroutine 18 [select]:
net/http.(*persistConn).readLoop(0xc82032e210)
	/usr/local/go/src/net/http/transport.go:976 +0xac7
created by net/http.(*Transport).dialConn
	/usr/local/go/src/net/http/transport.go:685 +0xc78

goroutine 19 [select]:
net/http.(*persistConn).writeLoop(0xc82032e210)
	/usr/local/go/src/net/http/transport.go:1009 +0x40c
created by net/http.(*Transport).dialConn
	/usr/local/go/src/net/http/transport.go:686 +0xc9d

rax    0xe
rbx    0x107
rcx    0x7fff5fbff4b8
rdx    0x7fff5fbff530
rdi    0x107
rsi    0x958820
rbp    0x958fe0
rsp    0x7fff5fbff4b8
r8     0x958fe0
r9     0x4
r10    0x67ac08bc
r11    0x286
r12    0x124ae648bc0
r13    0xe602d8a0408
r14    0x142d2a6843067400
r15    0x8
rip    0x60b9b
rflags 0x286
cs     0x7
fs     0x0
gs     0x0

docker info:
Containers: 15
 Running: 4
 Paused: 0
 Stopped: 11
Images: 197
Server Version: 1.10.0-rc1
Storage Driver: overlay
 Backing Filesystem: extfs
Execution Driver: native-0.2
Logging Driver: json-file
Plugins:
 Volume: local
 Network: host bridge null
Kernel Version: 4.2.0-25-generic
Operating System: Ubuntu 15.10
OSType: linux
Architecture: x86_64
CPUs: 8
Total Memory: 15.63 GiB
Name: ivan-machine-packet
ID: MUL2:IBSJ:UTMR:O4IL:QXIK:2NFO:5DUW:A76Z:QR3S:NPCR:3YKB:7ZKS
Username: imikushin
Registry: https://index.docker.io/v1/
Labels:
 provider=packet

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

docker version:
Client:
 Version:      1.10.0-rc1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   677c593
 Built:        Fri Jan 15 18:17:17 2016
 OS/Arch:      darwin/amd64

Server:
 Version:      1.10.0-rc1
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   677c593
 Built:        Fri Jan 15 18:50:07 2016
 OS/Arch:      linux/amd64

Haven't been able to reproduce so far; for me it just builds, but I'll try some more.
I'll add this to the milestone so that we don't loose sight

I can't reproduce both on master and 1.10.0-rc1

@imikushin  Can you show the daemon log?

@imikushin I can't reproduce this either.

Not sure if system related issue, I found it run on Ubuntu 15.10
Could you show your upstart docker logs which enablev -D debug level logs ?

@imikushin I'll remove this from the milestone for now, happy to add it back if we have a way to reproduce

Alright, @mavenugo just informed me that he reproduced this on OS X; awaiting more info

@imikushin can you show docker info please

@thaJeztah its a red herring. am not able to reproduce this issue.

@tiborvass my docker info is here, just below the docker client stacktrace.

I'm going to try it on RancherOS as well (it uses overlay by default)

@tiborvass Any other drivers that I can try relatively easily on Ubuntu 15.10?

Can't reproduce this on overlay:
Status: Downloaded newer image for docker.io/alpine:latest
 ---> 14f89d0e6257
Step 2 : VOLUME /usr/local/bin
 ---> Running in 1498d769100c
 ---> 0d9a4dbaf0a7
Removing intermediate container 1498d769100c
Successfully built 0d9a4dbaf0a7

@runcom make sure you're testing rc1 like the OP

@imikushin you could try devicemapper too.

RC1 works fine for me on overlay:
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM alpine
 ---> 14f89d0e6257
Step 2 : VOLUME /usr/local/bin
 ---> Running in a4df1af14980
 ---> 82da915172c3
Removing intermediate container a4df1af14980
Successfully built 82da915172c3

I hate to say it, but on a fresh Ubuntu 15.10 (on DigitalOcean), RC1 works fine with overlay. I guess it's something in my environment then.

@imikushin thanks for that information. I'll remove this from milestone. We're still interested to understand what the issue is. Is the fresh 15.10 using the same kernel version as your environment?

I'm going to close this. @imikushin if you continue to notice issues or get a reproduce case please re-open or open a new one.  Thanks!


Access is denied on rename in Windows

Description
When rust's std::fs::rename (window's MoveFileEx) is called then the
Access is denied. (os error 5)

is called.
Discovered in https://github.com/delta-io/delta-rs/runs/4011135260?check_suite_focus=true
Virtual environments affected

[ ] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11
[ ] Windows Server 2016
[X] Windows Server 2019
[ ] Windows Server 2022

Image version and build link
  Version: 20211018.0

Is it regression?
No, we have the successful build on the same version
Expected behavior
the rename call works
Actual behavior
access denied error
Repro steps
Call std::fs::rename (MoveFileEx)

It has been "fixed" in https://github.com/delta-io/delta-rs/pull/485 by suing shared lock, so seems like you're assumption regarding race condition might be tru

I am planning to close as external fix. Feel free to open the thread if you have any concerns.


Static not serving in Version 1.0.0-alpha.5

Bug detected in PR: https://github.com/metarhia/impress/pull/959


Add reminders in the PR template

Please check if the PR fulfills these requirements

[x] This PR addresses an already opened issue (for bug fixes / features)
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, etc.)
Adds check boxes for history and bumpversion.

Does this PR introduce a breaking change? (Has there been an API change?)
No

Pull Request Test Coverage Report for Build 789

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.5%

Totals

Change from base Build 787:
0.0%

Covered Lines:
1238

Relevant Lines:
1353

💛  - Coveralls

Pull Request Test Coverage Report for Build 789

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 91.5%

Totals

Change from base Build 787:
0.0%

Covered Lines:
1238

Relevant Lines:
1353

💛  - Coveralls


Add Ubuntu Mono font to font stack

None of the other fonts are currently available on Ubuntu and the
addition of Ubuntu Mono to the font stack makes the code look much nicer
on Ubuntu systems.
Also added a missing newline to the end of prism-coy.css

I think this is a nice addition.
/cc @Golmote @LeaVerou ?

I don't have an Ubuntu to test it so I don't really have an opinion on this. I'll leave it to you.

Merged, thanks!
Don’t have Ubuntu either, but it won’t break anything :)

Thank you! Now I'll have a nicer experience on all those websites using Prism. :D

Just noticed this was merged into the master branch instead of gh-pages. Is this intended?

Dammit you're right. I'll try to fix this.

Opened #646 in case it helps.

So I reverted the commit on the master branch. @LeaVerou, have we decided anything about this master branch? Should we sync it with gh-pages on a regular basis?

@LeaVerou I have synced it right now. But please tell me how you want to handle this.


quick fix for many parentheses rule

The rule name itself also contains a typo (parenthesis instead of parentheses) - should we leave that as is for now, due to possible config breaks?

just break it, better now than later


Issue/save validation csv

Pull Request
Description
save validation results to a csv and upload to neptune
CSV has the following columns

t0_datetime_utc
gsp_id
batch_index (optional)
example_index (optional)
prediction_{i}  where i in range(0,n_forecast_steps)
truth_{i}  where i in range(0,n_forecast_steps)

How Has This Been Tested?
unittest
ran experiment and results were saved

[ ] No
[x] Yes

Checklist:

[x] My code follows OCF's coding style guidelines
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have checked my code and corrected any misspellings

Would be great to get @JackKelly and @jacobbieker your review on this. In particlaur the format of the csv. This is because it would be good to have the same format for the 'joint model' too. This will make comparing to ESO much easier

What about putting this in nowcasting utils? There is a base model there so then it would automatically work for both?

What about putting this in nowcasting utils? There is a base model there so then it would automatically work for both?

Thats a good idea. I'll happily copy it across there. Or should I just copy the bit where the csv validation part is used?
Im conscious that the base model for the join model might be a little different to this?

Yeah, maybe just the CSV creationand validation epcoh end stuff? Then the models can report the output to that different, as I don't use BatchML directly in the joint model

Yeah, maybe just the CSV creationand validation epcoh end stuff? Then the models can report the output to that different, as I don't use BatchML directly in the joint model

Ok, ill do that. And you happy with the column names? the data that is stored?

Yeah! I think that's good enough to compare the results.

I think this is fine... but I must admit I'm a little nervous about using prediction_{i} to identify the datetime of the prediction.  If it's easy to do, I'd maybe advocate for a format something like this:
Columns:

t0_datetime_utc
target_datetime_utc   :The datetime the forecast is about.  i.e. t0_datetime_utc + (forecast_timestep_i * forecast_sample_period)
forecast_GSP_PV_outturn_MW
actual_GSP_PV_outturn_MW
GSP_ID
batch_index (optional, but useful for debugging)
example_index (optional, but useful for debugging)

This will result in a lot more rows in the CSV.  But it makes it totally explicit what the target datetime is.  And is perhaps more similar to the structure that most NWPs and ESO's PV forecasts are in.

I think this looks good... but I must admit I'm a little nervous about using prediction_{i} to identify the datetime of the prediction. It would be all too easy to get the datetime of the prediction wrong (especially if, for example, we change the sample rate of the predictions). If it's easy to do, I'd maybe advocate for a format something like this:
Columns:

t0_datetime_utc
target_datetime_utc   :The datetime the forecast is about.  i.e. t0_datetime_utc + (forecast_timestep_i * forecast_sample_period)
forecast_GSP_PV_outturn_MW
actual_GSP_PV_outturn_MW
GSP_ID
batch_index (optional, but useful for debugging)
example_index (optional, but useful for debugging)

This will result in a lot more rows in the CSV. But it makes it totally explicit what the target datetime is. And is perhaps more similar to the structure that most NWPs and ESO's PV forecasts are in.

Cool - yea good idea. Yea its a long more rows, but definately less likely for things to go wrong


cmake: remove unused check

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

Comparison is base (0032896) 64.53% compared to head (d6e6375) 64.53%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1021   +/-   ##
=======================================
  Coverage   64.53%   64.53%
=======================================
  Files          18       18
  Lines        3234     3234
  Branches     1079     1079
=======================================
  Hits         2087     2087
  Misses        724      724
  Partials      423      423

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


Euro belongs here?

Hi, I noticed this package just added.
With just two units added, it's not a lot, was there a reason to not just make a PR to Unitful.jl? I guess you plan for more? Still about discoverability and where stuff should belong, the euro seemed out of place.
FYI: There is https://github.com/JuliaFinance/Currencies.jl/issues/91 and archived https://github.com/bhgomes/UnitfulCurrency.jl

Hi,
The intend is indeed to add a lot more, specifically more in the context of energy systems.
I propose to add a disclaimer to point to more appropriate packages for specific subclasses, e.g., currencies.
With kind regards,
Tom


Autocompletion feature does not work for Mac system

In order to run autocompletion, we must press Ctrl + Spacebar. However, I tried it on Mac, nothing happened. Could you tell me, is there something different for Mac or is this a bug?

Thanks for your issue. I took a look at our keybinds config and it seems we've only made a Mac alias for running a query and forgot about the others


Run tests in CI without a Docker container

For https://github.com/isofit/isofit/issues/418
This PR now seeks to become the new CI system given that the Docker-based approach is no longer functional due to disk space issues.
I have encountered a number of fundamental problems within isofit, and my goal is to get this PR to a point where the CI system is functional. The PR can then be merged, and the ISOFIT team can work on addressing individual test failures.

Currently the CI system runs tests inside of a pre-built Docker container:
https://github.com/isofit/isofit/blob/dev/.github/workflows/utils-workflow.yml
Which has a number of shortcomings – not all of which are solved by this new CI configuration:

Generally, the pip package is tested. Even if most users install isofit from $ conda
Tests are executed against a single version of Python
Tests are executed on a single CPU architecture
The ISOFIT conda package installed first, and then $ pip is used to install the version of isofit being tested. However, this $ pip install command does not reflect the command users would actually issue.
ISOFIT is testing against the dependencies listed in the published conda package, and not the current project dependencies. This is likely why pygrib was missed as a dependency (https://github.com/isofit/isofit/pull/419).

My intention is to provide a more flexible CI setup that can be extended to include things like:

Testing against multiple versions of ray, or numpy, or some other core library requiring special handling.
Direct testing of other artifacts, like the conda package, or Docker container.
Direct testing of very specific environments and install methods, like using PYTHONPATH.
A fast test suite and slow test suite.
Full build and install for the isofit package each time the tests execute, rather than relying on a pre-built Docker container that may or may not have a given dependency.

The ISOFIT team has indicated that they are on board with this addition. I'll remove the GDAL install steps, and then mark as ready!

@pl-kevinwurster Just FYI, I added a run-examples script to the test-pip-package workflow to temporarily overcome the current problems with the docker container. Will continue working on this the next copule of days.

@unbohn Is there a reason these are not explicitly part of the test suite?

Not really I guess. We could also somehow include them there.

I have annotated this PR with some comments explaining the changes. Could the team go through them, mark as resolved if the change is acceptable, and otherwise comment if not?

I believe I have taken this as far as I can. I have marked tests that the team generally does not expect to succeed with @pytest.mark.xfail. The CLI were generally expected to pas prior to merging the LUT branch into dev, so I left those tests active.

@pl-kevinwurster Thanks a lot, this looks great! I'll thoroughly review this PR today, merge into dev if approved, and handle the remaining test failures in a separate PR.

One thing I forgot to mention, could we move the new scripts into a scripts/ directory? It would be ideal to keep the root of the project clean and would set a standard location for scripts in the future.

One thing I forgot to mention, could we move the new scripts into a scripts/ directory? It would be ideal to keep the root of the project clean and would set a standard location for scripts in the future.

@jammont Done.


list index out of range

After running the pyramid server, I can get the response shown in the browser, but after a few seconds, below error was showing on the console and the server was down:
Traceback (most recent call last):
File "webserver2.py", line 142, in
httpd.serve_forever()
File "webserver2.py", line 41, in serve_forever
self.handle_one_request()
File "webserver2.py", line 51, in handle_one_request
self.parse_request(request_data)
File "webserver2.py", line 64, in parse_request
request_line = text.splitlines()[0]
IndexError: list index out of range

Can confirm I had the same issue.

this error because your request text is None

我也遇到了，但是不知道怎么回事又没问题了


Integrated tailwindcss, refactored colors and rewrote NeoButton component

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[x] Feature
[x] Refactoring

Context

[x] Closes #8113
[ ] Requires deployment <snek/rubick/worker>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality

Optional

[x] I've tested it at </ksm/collection>
[x] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Did your issue had any of the "$" label on it?

[x] Fill up your DOT address: Payout

Community participation

[x] Are you at KodaDot Ecosystem Telegram?

Screenshot 📸

[ ] My fix has changed something on UI; a screenshot is best to understand changes for others.

Copilot Summary

🤖[deprecated] Generated by Copilot at c239608
This pull request integrates Tailwind CSS into the NFT gallery project, enabling the use of Tailwind classes and utilities for creating and optimizing CSS styles. It configures PostCSS plugins for the Nuxt application and the UI library, and updates the dependencies and the NeoButton component accordingly. It also deletes the unused NeoButton.scss file.

🤖[deprecated] Generated by Copilot at c239608

We unleash the power of tailwindcss
We optimize and transform our styles
We defy the browser's tyranny with autoprefixer
We create a stunning NFT gallery of fire

@preschian @roiLeo Hi guys, if you like this improvement I may continue to rewrite other components in a similar style. Also you can see how I redid the colors, with this approach no more _theme.scss is needed

@exezbcz I would appreciate it if you could help me test the button, I have looked at the buttons on different pages and everything seems to look good

@exezbcz I would appreciate it if you could help me test the button, I have looked at the buttons on different pages and everything seems to look good

Yes, what buttons should I test so far?
I will also fill the components with button designs soon

@exezbcz yes, in this PR I've changed only buttons

- text inside button on hover changing as a link
- same with hover

@preschian @roiLeo Hi guys, if you like this improvement I may continue to rewrite other components in a similar style. Also you can see how I redid the colors, with this approach no more _theme.scss is needed

overall, I like it

Hey @roiLeo I'll update PR

add story preview for each component you create

What do you mean? There is story NeoButton.story.vue, you want me to create other one?

:root colors not visible (on IDE) when using values instead of hex

I can use hex instead rgb, but then we lose the ability to change the alpha channel of colors (text-k-accent/50 -> translucent k-accent color). If we don't need this feature, I'll rewrite it in hex

What do you mean? There is story NeoButton.story.vue, you want me to create other one?

Did you try to run it? How does it look?

I can use hex instead rgb, but then we lose the ability to change the alpha channel of colors (text-k-accent/50 -> translucent k-accent color). If we don't need this feature, I'll rewrite it in hex

you still can set transparency with hex value, that was a suggestion for better visualization when looking at code.

NeoButton.story.vue

<hr /> from wallet sidebar no longer seems to be visible

Can you show screenshot?

Small conflicts here.
So what's next? are we going to gradually rewritte each components from libs/ui?

So what's next? are we going to gradually rewritte each components from libs/ui?

If you like this approach, then yes I can rewrite other components

@preschian I'll create new tasks soon for other components. About nuxt module, we can use this if we plan to use tailwind not only in the UI kit, but also in the kodadot itself.
Could you merge this please, otherwise I'll have to fix conflicts in pnpm-lock frequently

Could you merge this please

cc @yangwao for the payout


Master branch should be the Conjur V5 parser

Currently, the master branch contains (what I believe is) the V4 policy parser. The branch used by Conjur is conjur-oss. To align this repository with our other Conjur repositories, we should designate a tag/branch for V4 and switch the master to track with the current active development (V5).

Downstream projects that need updates:

https://github.com/cyberark/conjur/blob/d40818fc4e4cd9c7e384ce92feccd4e93e4579fa/Gemfile
https://github.com/conjurinc/ldap-sync/blob/0b2034c53fdfa786075f996738e58afb3a51aecd/Gemfile


Move many same function to default interface function

Codecov Report

Merging #88 into release-0.2 will increase coverage by 0.66%.
The diff coverage is 55.17%.

@@               Coverage Diff                @@
##             release-0.2     #88      +/-   ##
================================================
+ Coverage          40.74%   41.4%   +0.66%
- Complexity           569     571       +2
================================================
  Files                129     130       +1
  Lines               4175    4115      -60
  Branches             298     283      -15
================================================
+ Hits                1701    1704       +3
+ Misses              2350    2288      -62
+ Partials             124     123       -1

Impacted Files
Coverage Δ
Complexity Δ

...k/wecross/stub/fabric/config/FabricStubConfig.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...a/com/webank/wecross/stub/jdchain/JDChainStub.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ava/com/webank/wecross/stub/fabric/FabricStub.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ecross/stub/jdchain/config/JDChainStubFactory.java
0% <0%> (ø)
0 <0> (ø)
:arrow_down:

...ava/com/webank/wecross/stub/remote/RemoteStub.java
66.66% <100%> (-10.48%)
4 <2> (-10)

...in/java/com/webank/wecross/stub/bcos/BCOSStub.java
60% <100%> (+19.57%)
7 <1> (-1)
:arrow_down:

...bank/wecross/stub/bcos/config/BCOSStubFactory.java
63.46% <87.5%> (+4.37%)
4 <0> (+1)
:arrow_up:

src/main/java/com/webank/wecross/stub/Stub.java
88% <88%> (ø)
12 <12> (?)

...webank/wecross/stub/bcos/BCOSContractResource.java
10.15% <0%> (-0.79%)
7% <0%> (-1%)

... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update b12d386...b693de0. Read the comment docs.


Unify queries

Unify member and access to one statement access that takes an OWL class, SPARQL query or SHACL shape and returns all members (resp. answers or target nodes)
Introduce a statement ask that returns a boolean and takes either a OWL class (and checks whether it is empty), a ASK SPARQL query or a SHACL shape. This would generalize validate.
Selecting the language should work similar to the existing InfluxDB mode selection for access.

Will not introduce this, it is clearer to separate by query language, not return value.


When psalm/plugin-laravel is installed, LS does not start correctly if there is a parse error in the code in the project

I reported an issue with "psalm-plugin-laravel" in a case using VSCode + psalm-vscode-plugin. https://github.com/psalm/psalm-plugin-laravel/issues/140
Of course, coc-psalm is in the same situation. :(

In addition, coc-psalm (or psalm-vscode-plugin) uses progressOnInitialization: true as a "client option", so the progress in the status bar is displayed forever due to startup errors...
  const clientOptions: LanguageClientOptions = {
    // ...snip
    progressOnInitialization: true,
    // ...snip
  };

This PR has been merged.
And v1.4.4 of psalm-plugin-laravel has been released!

https://github.com/psalm/psalm-plugin-laravel/releases/tag/v1.4.4


Broken Link

please provide more details : https://github.com/substrate-developer-hub/substrate-docs/issues/new?assignees=&labels=broken+link+❌&template=broken-link.yml


Configurability

Sync branch just for me.
I'll turn that into a proper PR later.

Need ipython/ipython#7755 and ping @rgbkrk.

Nice job getting this to work.  It's annoying to have to do that dance with promises so we can wait until the Contents object is loaded before starting authorization, but at least it works.

Is this working yet?  If so I'll test it out and do a final review.

Yes sure it should. Despite the PR title that I'll update.

I can't test this on my desktop because I can't install it without the fixes in mixedcontents branch.  Do you think it's time to merge mixedcontents with master?  If so, can you do that then rebase this onto master?

Need rebase.

Rebased and merged.

squashed, not merged.

Ok works fine, just one small comment above.  How about we just keep APP_ID with the same name, but set its initial value to the empty string, and set it from config when config() is called?

Ok works fine, just one small comment above. Also, how about we just keep APP_ID with the same name, but set its initial value to the empty string, and set it from config when config() is called?

We could do that, but it is exported, so I'm not sure how it behaves.
So I don't want to bake in a configurable that I'm not sure works correctly.

Ah good point.  We'll do it later then.


user don't have a choose on tessera version, there should be have an input field

Yep, right now the versions don't automatically update when new ones come out, so that will be in the next release of the wizard. In the meantime, you can always download different versions of the jar and change the path at the top of the start.sh file to point to it.
Thanks!


Adding translations for 2/4 and 2/5 🚀

Here the translation of the episodes 4 and 5 of the chapter 2 to Spanish as indicated in #38.
Regards!

Thanks for the effort you are putting in this!

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Cannot Resolve Symbol 'BreakpointProvider'

I'm currently testing out your library. I love the idea! However, when I try to import BreakpointProvider in my project, I receive an error, Cannot Resolve Symbol 'BreakpointProvider'. Outside of that, the breakpoints don't seem to be triggered. The root component only seems to load the component in the first Breakpoint (TabNav) regardless of whatever resolution I use.
import React from 'react';
import Breakpoint, { BreakpointProvider } from 'react-socks';

const TabNav = React.lazy(() => import('./TabNav'));
const ListNav = React.lazy(() => import('./ListNav'));

const Example = () => {
  return (
    <BreakpointProvider>
      <div className="example">
          <Breakpoint small down>
            <TabNav />
          </Breakpoint>
          <Breakpoint medium up>
            <ListNav />
          </Breakpoint>
      </div>
    </BreakpointProvider>
  );
};

export default Example;

I've also tried replacing both the TabNav and ListNav components with simple text in each breakpoint. The text in both breakpoints is displayed when the DOM is rendered regardless of the resolution.
React-Socks: 1.0.1
React: 16.8.1

@clarkbrent I just double checked in a local project and in codesandbox. It seems to work fine for me without any hiccups. Perhaps, could you add additional details on when this is happening?
Here's a codesandbox example for you to play around with - React Socks Demo

@flexdinesh I just reset my entire node_modules folder, and it seems to be working now. The only other thing I can think that it may have been was a rogue CSS selector that was getting priority, and messing something up? Not sure, but it seems to be working now.
Thanks again!


MINOR: Change rocksdb logging to error level

According to the java-doc: https://github.com/facebook/rocksdb/blob/master/java/src/main/java/org/rocksdb/Logger.java#L31 the rocksdb logging level should be set Error or Fatal for production usage.

@enothereska @guozhangwang @mjsax

LGTM. Merged to trunk.


data of depth ControlNet

Dear author:
I want to ask the format of data of depth ControlNet must be 6 subfigures?  I think it is hard to get the multiview depth image.

I think in general you will need to know the geometry beforehand. After that you can render linear depth of the geometry (defined as distance to the camera plane) and perform a normalization:
def process_depth(self, x):
    mask = x.r > 0.001
    alpha = mask.float()
    if not mask.any():
        n = x * 0
    else:
        v = x[mask]
        n = (x - v.min()) / (v.max() - v.min() + 1e-9)
    return float4(n, n, n, alpha)

Thanks for your reply. Actually, I want to ask when I use depth ControlNet, my input should be 6 multiviews depth image or just single depth image?
example is :

But I want to ask single image + single depth image like the depth image below  can get the same output?

No you'll have to provide 6 images.

It may be possible to train another ControlNet on the contioning reference attention branch, but the released version is not about that.

I'm confused about this. Isn't the purpose of this project to generate the 6 image views? If I had depth estimates of the 6 views, why do I need to synth the views again?
Perhaps I am misunderstanding. Thank you for your work and patience.

Yes; but for example, you have a 'white model' without any textures, then the controlnet can help you generate texture on the model. That's the point of the released ControlNet.


Support arbitrary boot CPU core

M3 devices use the first CPU core in the first performance core cluster for booting while the efficiency core cluster remains the first cluster. Use the CPU core's state property to determine the boot CPU.
Supersedes #369
Tested on M3 MacBook Pro (2023, 14-inch).

thanks for putting up a PR for this! your patches match with mine except for two extra things, they're mostly nits:
diff --git a/proxyclient/m1n1/hv/__init__.py b/proxyclient/m1n1/hv/__init__.py
index a96c793..4458e14 100644
--- a/proxyclient/m1n1/hv/__init__.py
+++ b/proxyclient/m1n1/hv/__init__.py
@@ -90,7 +90,7 @@ class HV(Reloadable):
         self.sym_offset = 0
         self.symbols = []
         self.symbol_dict = {}
-        self.sysreg = {0: {}}
+        self.sysreg = {}
         self.novm = False
         self._in_handler = False
         self._sigint_pending = False
diff --git a/src/hv_exc.c b/src/hv_exc.c
index 3533802..803f14f 100644
--- a/src/hv_exc.c
+++ b/src/hv_exc.c
@@ -522,7 +522,7 @@ void hv_exc_fiq(struct exc_info *ctx)

     int interruptible_cpu = hv_pinned_cpu;
     if (interruptible_cpu == -1)
-        interruptible_cpu = 0;
+        interruptible_cpu = boot_cpu_idx;

     if (smp_id() != interruptible_cpu && !(mrs(ISR_EL1) & 0x40) && hv_want_cpu == -1) {
         // Non-interruptible CPU and it was just a timer tick (or spurious), so just update FIQs

Thanks for the review. I've removed the chip IDs not tested by Daniel or me and pulled the sysreg change in proxyclient/m1n1/hv/__init__.py into the existing commit.
Please add the interruptible_cpu fix as your own commit to #418

I squashed in the interruptible_cpu change since it's trivial.


DKMS gasket-dkms modules no longer build after upgrading kernel version > 5.7

  MODPOST 2 modules ERROR: modpost: "__stack_chk_guard" [/var/lib/dkms/gasket/1.0/build/apex.ko] undefined! ERROR: modpost: "__stack_chk_guard" [/var/lib/dkms/gasket/1.0/build/gasket.ko] undefined! make[1]: *** [scripts/Makefile.modpost:99: __modpost] Error 1

@kruftindustries hello, could you provide a little more details or steps to reproduce?

Sure. After upgrading the kernel (have not confirmed this is the cause of the problem but did reveal it) dkms fails to build gasket-dkms modules apex.ko and gasket.ko with the error message "__stack_chk_guard undefined!" this symbol seems to be related to the stack smashing protector compiler feature, I am not familiar with it.
System information:
uname -a:
Linux rockpi-4b 5.7.15-rockchip64 #20.08 SMP PREEMPT Mon Aug 17 00:26:28 CEST 2020 aarch64 GNU/Linux
gcc -v
Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/aarch64-linux-gnu/8/lto-wrapper Target: aarch64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=aarch64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --disable-libphobos --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=aarch64-linux-gnu --host=aarch64-linux-gnu --target=aarch64-linux-gnu Thread model: posix gcc version 8.3.0 (Debian 8.3.0-6)
Steps to reproduce:
sudo apt upgrade:
...Unpacking linux-image-current-rockchip64 (20.08.7) over (20.08)... Setting up linux-image-current-rockchip64 (20.08.7) ... Error! Bad return status for module build on kernel: 5.8.13-rockchip64 (aarch64) Consult /var/lib/dkms/gasket/1.0/build/make.log for more information. update-initramfs: Generating /boot/initrd.img-5.8.13-rockchip64
sudo apt install --reinstall gasket-dkms:
`After this operation, 0 B of additional disk space will be used.
Setting up gasket-dkms (1.0-13) ...
Removing old gasket-1.0 DKMS files...

Deleting module version: 1.0
completely from the DKMS tree.
Done.
Loading new gasket-1.0 DKMS files...
Building for 5.7.15-rockchip64
Building initial module for 5.7.15-rockchip64
Error! Bad return status for module build on kernel: 5.7.15-rockchip64 (aarch64)
Consult /var/lib/dkms/gasket/1.0/build/make.log for more information.
dpkg: error processing package gasket-dkms (--configure):
installed gasket-dkms package post-installation script subprocess returned erro           r exit status 10
Errors were encountered while processing:
gasket-dkms
E: Sub-process /usr/bin/dpkg returned an error code (1)`
tail -n100 /var/lib/dkms/gasket/1.0/build/make.log for kernel 5.8.13
DKMS make.log for gasket-1.0 for kernel 5.8.13-rockchip64 (aarch64) Mon 05 Oct 2020 02:50:01 PM UTC make: Entering directory '/usr/src/linux-headers-5.8.13-rockchip64'   AR      /var/lib/dkms/gasket/1.0/build/built-in.a   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_core.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_ioctl.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_page_table.o gcc: error: unrecognized command line option ‘-mbranch-protection=pac-ret+leaf’; did you mean ‘-fcf-protection=return’? gcc: error: unrecognized command line option ‘-mbranch-protection=pac-ret+leaf’; did you mean ‘-fcf-protection=return’?   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_sysfs.o   CC [M]  /var/lib/dkms/gasket/1.0/build/apex_driver.o gcc: error: unrecognized command line option ‘-mstack-protector-guard=sysreg’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mstack-protector-guard=sysreg’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mbranch-protection=pac-ret+leaf’; did you mean ‘-fcf-protection=return’? gcc: error: unrecognized command line option ‘-mbranch-protection=pac-ret+leaf’; did you mean ‘-fcf-protection=return’? gcc: error: unrecognized command line option ‘-mbranch-protection=pac-ret+leaf’; did you mean ‘-fcf-protection=return’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-reg=sp_el0’; did you mean ‘-fstack-protector-all’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-reg=sp_el0’; did you mean ‘-fstack-protector-all’? gcc: error: unrecognized command line option ‘-mbranch-protection=pac-ret+leaf’; did you mean ‘-fcf-protection=return’? gcc: error: unrecognized command line option ‘-mstack-protector-guard=sysreg’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-offset=1192’; did you mean ‘-fstack-protector-strong’? make[1]: *** [scripts/Makefile.build:281: /var/lib/dkms/gasket/1.0/build/gasket_core.o] Error 1 make[1]: *** Waiting for unfinished jobs.... gcc: error: unrecognized command line option ‘-mstack-protector-guard=sysreg’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mstack-protector-guard=sysreg’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-offset=1192’; did you mean ‘-fstack-protector-strong’? make[1]: *** [scripts/Makefile.build:281: /var/lib/dkms/gasket/1.0/build/gasket_ioctl.o] Error 1 gcc: error: unrecognized command line option ‘-mstack-protector-guard=sysreg’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-reg=sp_el0’; did you mean ‘-fstack-protector-all’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-reg=sp_el0’; did you mean ‘-fstack-protector-all’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-reg=sp_el0’; did you mean ‘-fstack-protector-all’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-reg=sp_el0’; did you mean ‘-fstack-protector-all’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-offset=1192’; did you mean ‘-fstack-protector-strong’? make[1]: *** [scripts/Makefile.build:281: /var/lib/dkms/gasket/1.0/build/gasket_sysfs.o] Error 1 gcc: error: unrecognized command line option ‘-mstack-protector-guard-offset=1192’; did you mean ‘-fstack-protector-strong’? make[1]: *** [scripts/Makefile.build:281: /var/lib/dkms/gasket/1.0/build/apex_driver.o] Error 1 gcc: error: unrecognized command line option ‘-mstack-protector-guard-offset=1192’; did you mean ‘-fstack-protector-strong’? gcc: error: unrecognized command line option ‘-mstack-protector-guard-offset=1192’; did you mean ‘-fstack-protector-strong’? make[1]: *** [scripts/Makefile.build:281: /var/lib/dkms/gasket/1.0/build/gasket_page_table.o] Error 1 make[1]: *** [scripts/Makefile.build:281: /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o] Error 1 make: *** [Makefile:1752: /var/lib/dkms/gasket/1.0/build] Error 2 make: Leaving directory '/usr/src/linux-headers-5.8.13-rockchip64'
tail -n100 /var/lib/dkms/gasket/1.0/build/make.log for kernel 5.7.15
DKMS make.log for gasket-1.0 for kernel 5.7.15-rockchip64 (aarch64) Mon 05 Oct 2020 10:22:15 AM UTC make: Entering directory '/usr/src/linux-headers-5.7.15-rockchip64'   AR      /var/lib/dkms/gasket/1.0/build/built-in.a   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_core.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_ioctl.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_interrupt.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_page_table.o   CC [M]  /var/lib/dkms/gasket/1.0/build/gasket_sysfs.o   CC [M]  /var/lib/dkms/gasket/1.0/build/apex_driver.o   LD [M]  /var/lib/dkms/gasket/1.0/build/apex.o   LD [M]  /var/lib/dkms/gasket/1.0/build/gasket.o   MODPOST 2 modules ERROR: modpost: "__stack_chk_guard" [/var/lib/dkms/gasket/1.0/build/apex.ko] und                                                                                efined! ERROR: modpost: "__stack_chk_guard" [/var/lib/dkms/gasket/1.0/build/gasket.ko] u                                                                                ndefined! make[1]: *** [scripts/Makefile.modpost:99: __modpost] Error 1 make: *** [Makefile:1645: modules] Error 2 make: Leaving directory '/usr/src/linux-headers-5.7.15-rockchip64'
It might be possible to cd to /var/lib/dkms/gasket/1.0/build/ and manually make gasket-objs and gasket-objs with flag -fno-stack-protector ? I'm thinking eventually someone else will run into this problem so maybe there is a better solution.

Hi @kruftindustries Ahh, I see, I believe this is due to a missing kernel configs for the stackguard.
I'm not sure how to turn this on for the Rockchip, but I suggest checking to see if these configs are turned on:
➜  ~ cat /boot/config-5.4.0-48-generic | grep STACKPROTECTOR
CONFIG_CC_HAS_SANE_STACKPROTECTOR=y
CONFIG_HAVE_STACKPROTECTOR=y
CONFIG_CC_HAS_STACKPROTECTOR_NONE=y
CONFIG_STACKPROTECTOR=y
CONFIG_STACKPROTECTOR_STRONG=y

if not I suggest you change the defconfig to turn it on and recompiling the kernel

Configs look correct:
cat /boot/config-5.8.13-rockchip64 | grep STACKPROTECTOR
CONFIG_CC_HAVE_STACKPROTECTOR_SYSREG=y CONFIG_STACKPROTECTOR_PER_TASK=y CONFIG_HAVE_STACKPROTECTOR=y CONFIG_CC_HAS_STACKPROTECTOR_NONE=y CONFIG_STACKPROTECTOR=y CONFIG_STACKPROTECTOR_STRONG=y

@Namburger any further suggestions?

@kruftindustries I see, could you try compiling the kernel again with out pcie source code in the kernel tree?
It is hosted here: https://coral.googlesource.com/linux-imx/+/refs/heads/dkms/drivers/staging/gasket

This seems like it might have a similar root cause to the problem I've been trying to debug in https://github.com/openzfs/zfs/issues/10985
Out of curiosity, can you check the gcc version that the kernel was built with vs the what toolchain you're running.
gcc --version
cat /proc/version

gcc --version
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.```

**cat /proc/version**
```Linux version 5.8.13-rockchip64 (root@xeon) (aarch64-none-linux-gnu-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025, GNU ld (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) <IP_ADDRESS>91209) #20.08.7 SMP PREEMPT Fri Oct 2 10:36:32 CEST 2020```

@jbergler thanks for your inputs,
@kruftindustries it may be worth trying to build this again after upgrading gcc to 9.2.1

I noticed earlier my kernel source also has Apex and Gasket in the staging (Device Drivers > Staging drivers > Gasket devices). I will try building on the development machine after enabling with menuconfig.

The build was successful and looks like there were no compilation errors. I ended up using the armbian tool to cross compile with gcc version 9.3.0(-17ubuntu1~20.04), enabled apex and gasket in menuconfig and upon booting the board I have /dev/apex_0
The new image has gcc version 9.3.0(-12ubuntu2) so I probably couldn't reproduce this issue without doing buildroot, however the reported issue with building seems to be resolved.
Thanks guys!

@kruftindustries , but def thanks @jbergler for inputs!


is there a working example? e.g with Laravel?

is there a working example? e.g with Laravel?

this package is under development.
for Laravel you can use the below package:
https://github.com/shetabit/payment


Express Router Returns Controllers Used in the Other Router  Ask

Hi @golkir can you provide more detail on this issue? All I'm seeing is a title, but no additional information on what you mean.

I have the same issue. In my case middleware get replace by the middleware of other routes

In this register requestValidator values is replace by login requestValidator values .
Thanks in advance

Hi @abhinav-nehra your example is working as designed; your code ends up with both instances of requestValidator mounted at the root point (/) applying to all requests. You need to prefix your requestValidator with the desired path to actually validate. Or better yet, based on what I suspect you are doing, just add the requestValidator as middleware on the POST routes themselves.
Since you provided screenshots, it would take me a while to type out all the code to give you a complete example, but here is the general gist of what I'm suggesting you do:
registerUser.post(requestValidator({ ... }), (req, res, next) => {
})

Thanks dougwilson for replying so fast
I already implemented my middleware as you suggest  but can it be possible to implement router middleware in a simple way like router.use for that route only as  this solution/code  not look good

Hi @abhinav-nehra unless you change the way you mount your router to mount the router itself at the path, there is no way to do it otherwise. You're welcome to contribute a PR to implement the feature, through :)
Example of alternative method:
// your login.js file
module.exports = loginUser;
loginUser.use(requestValidator({ ... })
loginUser.post('/', (req, res, next) => {
})

// then you mount the router at the actual path
app.use('/login', require('./path/to/login.js')

Thanks @dougwilson,
I will check and update you If i find any solution related to this


M1 Universal Build Hangs on workspace search over multiple directories

Overview
When working in a workspace comprised of many explicitly added directories, VSCode hangs and takes a long time to complete the search.
This behavior is not evident when adding a single directory with the same/many subdirectories and doing the same search
Steps to reproduce

Use the latest VScode universal build on M1/Monterey
Build a workspace comprised of many folders, which each folder being relatively complex
Conduct a global search
Observe VSCode hang, and lock up other windows
(At this point opening unopened files in the workspace will hang, the file will open when the search is complete)

(The above steps can be done without issue, delay and/or hanging) when opening the folders' parent directory and doing a global search
Sytem Information

CPUs
Apple M1 Pro (10 x 24)

GPU Status
2d_canvas: enabled gpu_compositing: enabled metal: disabled_off multiple_raster_threads: enabled_on oop_rasterization: enabled opengl: enabled_on rasterization: enabled skia_renderer: disabled_off_ok video_decode: enabled webgl: enabled webgl2: enabled

Load (avg)
4, 7, 7

Memory (System)
32.00GB (0.55GB free)

Process Argv
--crash-reporter-id f3e48c32-d2eb-4266-b34b-e2a73f5d3a4d

Screen Reader
no

VM
0%

Extensions
Extensions: none
A/B Experiment Info
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492:30256859
pythontb:30283811
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805:30301674
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
pythonvs932:30410667
vscop804:30404766
vscop453:30404998
vsrem710:30416614
vscexrecpromp3t3:30407764
Performance Profile Attachment
This captures:

Conducting a global workspace search (takes a long time to complete)
Then, opening a file from the workspace (hangs)
Finally, search completes (>40s later), and the file opens.

multi-directory-workspace-search.json.zip

I probably just need to limit the number of simultaneous searches. Thanks for the profile, but it's not obvious what caused a hang. When you say "hang", do you mean that if you clicked in the window it would not respond?

@roblourens that's correct - VSCode along with other (all? - feels like it, but that's a broad statement) apps become unresponsive. Chrome for instance will report a page has stopped responding if attempts to reload it happen during this time.
Once the search completes, everything bounces back.
For reference, doing the global search over a single folder with many subdirectories is sub 1s.
The same search over each subdirectory added to the workspace is > 40s.
Happy to provide any other insights from my local if it's helpful.
Cheers.

Adding some additional anecdotal information -

The number of directories that result in VSCode becoming unresponsive appears to be somewhat(?) nondeterministic. For instance, adding directories (0..n) will not result in the behavior. Adding directory n+1 will result in the global search making vs code unresponsive. Removing directory n+1 does not return to an immediate search returning.
Testing the above with combinations of different directories provides consistent behavior: variable thresholds for global search locking VSCode, seemingly not directly related to the number of directories, nor the directories themselves.
That is, the trigger point for global search locking up VSCode seems to be somewhat dynamic, and not immediately reversible.
The one constant is that inevitably through adding addition directories to the workspace, eventually global search will cause the app to hang.

Is there any other info I can provide on this or otherwise contribute to move this forward? Would love to do what I can.

This issue has been remedied by a recent VScode build; multi-root workspaces are no longer locking up during global-search.

Thanks for following up!


fix: added support for older magister versions

In my current project i am stuck between two versions of your package, since i connect to multiple schools with my applications, which all have a different version of magister.
So with this change you will also support the older versions < 1.6.8.

Merged. Thought all schools already migrated, but this will do obviously. Thanks!


Key binding for running the code

Investigate if it would be useful to have a shortkey for running the code.

Adding it is easy, the question is which keybind is not yet used and intuitive for the user (e.g. many Ctrl keybinds are already in use). I drafted up a version here using Ctrl-Alt-r, which might be slower than just clicking the button, while not being visually disabled while loading or running other code.

Seems like a good starting point. Changing the key binding to something else could be done in a second iteration.

I suggest Ctrl+Enter (that's what I've gone with in my similar project)

That indeed sounds like a good suggestion. I originally didn't use this as CodeMirror 6 uses it in their default key map, but this seems to be coupled to the insertBlankLine, which according to me should be using Shift-Enter instead (supported by e.g. Messenger and Discord, where Messenger also supports Ctrl-Enter but of course they cannot run code :p)


Possible to add iPad icons?

@dinghaoz This template includes icon sizes for both iPhone and iPad. Closing for now...