Feature/ros 434 add percentages dto

added percentages last_n endpoint
added percentages DTO
fix on currentJob for PERCENTAGES column

Vulnerabilities detected
The following vulnerabilities with HIGH,CRITICAL severity have been detected in the code. Please resolve these before merging the pull request.
CVE-2024-47874 starlette: Starlette Denial of service (DoS) via multipart/form-data
Starlette is an Asynchronous Server Gateway Interface (ASGI) framework/toolkit. Prior to version 0.40.0, Starlette treats multipart/form-data parts without a filename as text form fields and buffers those in byte strings with no size limit. This allows an attacker to upload arbitrary large form fields and cause Starlette to both slow down significantly due to excessive memory allocations and copy operations, and also consume more and more memory until the server starts swapping and grinds to a halt, or the OS terminates the server process with an OOM error. Uploading multiple such requests in parallel may be enough to render a service practically unusable, even if reasonable request size limits are enforced by a reverse proxy in front of Starlette. This Denial of service (DoS) vulnerability affects all applications built with Starlette (or FastAPI) accepting form requests. Verison 0.40.0 fixes this issue.

Vulnerabilities detected
The following vulnerabilities with HIGH,CRITICAL severity have been detected in the code. Please resolve these before merging the pull request.
CVE-2024-47874 starlette: Starlette Denial of service (DoS) via multipart/form-data
Starlette is an Asynchronous Server Gateway Interface (ASGI) framework/toolkit. Prior to version 0.40.0, Starlette treats multipart/form-data parts without a filename as text form fields and buffers those in byte strings with no size limit. This allows an attacker to upload arbitrary large form fields and cause Starlette to both slow down significantly due to excessive memory allocations and copy operations, and also consume more and more memory until the server starts swapping and grinds to a halt, or the OS terminates the server process with an OOM error. Uploading multiple such requests in parallel may be enough to render a service practically unusable, even if reasonable request size limits are enforced by a reverse proxy in front of Starlette. This Denial of service (DoS) vulnerability affects all applications built with Starlette (or FastAPI) accepting form requests. Verison 0.40.0 fixes this issue.

No vulnerabilities detected
No vulnerabilities with HIGH,CRITICAL severity have been detected in the code.


Extreme High memory & CPU with GitHub Desktop on Windows 10

Hello, I hope some one can help me out here. I am trying to use GitHub with Unreal Engine 4 and have been getting extremely bad issues while using GitHub. Apparently my Memory and CPU both will go as high as 99% to 100% on both when I launch either GitHub Desktop or SourceTree (which uses GitHub and not as bad with CPU usage as GitHub Desktop). I have noticed that when I open the task manager I can see multiple GitHub items in the list and can watch the CPU and Memory % both begin to rise as soon as I start GitHub. It will slowly rise beginning from 3% and keep rising till it maxes out in about 1 min time or less. Any idea what is going on or how to solve this? I had to close out every Github Option in Task manage just so I can come here to ask for some help with it. Here are a few screen shots to show what I mean:

Thanks for your time and help.
P.S. My system contains an I7 2600k 4 core CPU and Github will max all 4 cores. System memory is 32gig 1600 MHz

Update: I have just restarted my system and decided to try some thing a bit different and discovered a possible issue that may be the cause.I had tested it this way:

Opened Task Manager
started GitHub Desktop
Tried to import my Unreal Engine Project to push to GitHub online
When option to start Git LFS I pressed the ok button to start it. From here I noticed in the task manager the CPU and Memory both started to raise and gone up to max once again. I believe it is very possible that the Git-LFS is the cause to the leaks that may been giving so many people trouble. Only when I started the Git-LFS is when I had noticed the issue. Any one have an idea how to fix this or is there a patch for this issue yet?

Hi @Ekalu it seems like your issue is specific to GitHub Desktop and is not related to the Sourcegraph Go Language Server at all?
If so, you'll need to contact GitHub directly as there is nothing we can do to help you (we're not associated with GitHub). :) You can probably reach them via email or twitter.
You can also file it as a Git LFS issue here: https://github.com/git-lfs/git-lfs
I'll close this issue since it isn't related to this project, but I hope my above response gives you some idea of where to go for help on this :)


Add 0.34.0 release

bump to ghcr.io/aquasecurity/trivy:0.33.0
fix tests

@simar7 I would appreciate a review 🙇

can we get a bump to bump to ghcr.io/aquasecurity/trivy:0.34.0?

sounds good


(docs) use run! instead of await in Bastion docs

Hey, @o0Ignition0o So to get started, I ran the tests only in Bastion with:
cargo test --doc --package bastion -- bastion::Bastion --nocapture
I was expecting the code blocks in Bastion struct's doc tests to fail as we have an await! there.
I am wondering why the tests are passing in Bastion::* without this fix?
Doc tests are run similar to code in a main function; right (which doesn't allow await!)?
For the fix, I have added the run! macro.
Let me know if I missed anything.

Checklist

[X] tests are passing with cargo test.
[X] documentation is changed or added
[X] commit message is clear

I tried to find a relevant rustlang / rustdoc issue, but with no luck.
It seems like the docs can run async main() while an example cannot:
ignition@ignition-pc:~/projects/oss/bastion/bastion$ cargo run --example doctest
   Compiling bastion v0.4.1-alpha.0 (/home/ignition/projects/oss/bastion/bastion/src/bastion)
error[E0728]: `await` is only allowed inside `async` functions and blocks
   --> src/bastion/examples/doctest.rs:117:45
    |
3   | fn main() {
    |    ---- this is not `async`
...
117 |     let answer: Result<SignedMessage, ()> = answer.await;
    |                                             ^^^^^^^^^^^^ only allowed inside `async` functions and blocks

If i could make a wild guess I would say it's because docs are being bootstrapped (a bit like tests, so there might be something I'm not seeing :)
Your Pull request is perfect! 🎉 lets :shipit: !

fix #246


Time Table fixed for Autumn Semester

The Time Table of First year seems to be fixed to the Autumn Semester only.
For example, the timings of sections seem to be still in Autumn semester without the sequence being changed.
Can check the present date for whether it is in Spring or Autumn semester and render the timetable accordingly? :)

Assigned

Do update us when done. Will look forward to how you do it

Planning to do it in the following way:

Determine the current month using DateTime.now().month
If the month is greater than 8, Time table to remain same. Else, reassign the practical and theory section to the corresponding sections.

The explanation for corresponding sections:
P1-P5 have same schedule in PT as P6-P10 have in TP and vice versa. Similarly, A-D in PT have same as E-H in TP and vice versa.
So, if the currentMonth is greater than 8, reassign the section in the background.
For reassigning, in TimeTableResource class, I have made a mapping for the same purpose.
Is this approach good to go with?

Reassign section as in the section of the user?

Let's say I am in A section
I will still be in A section in Spring, but my timetable will be same as E section's from Autumn sem

Also, what about subjects like Maths - I and Maths - II?

Let's say I am in A section
I will still be in A section in Spring, but my timetable will be same as E section's from Autumn sem

Yes. That's what I'm planning to do.

Also, what about subjects like Maths - I and Maths - II?

Working on that currently :)

Also, what about subjects like Maths - I and Maths - II?

Actually , I have added it to the TODO in my commit after modifying that theory and practical section for spring semester . Thinking to find a way out to solve that issue in as less modifications as possible.
That commit link..

Let's say I am in A section
I will still be in A section in Spring, but my timetable will be same as E section's from Autumn sem

Yes. That's what I'm planning to do.

What I hav done is, as the theory section or practical sections are not displayed anywhere in the App, I have added a map to find the corresponding section in the Autumn Semester. That is if I am in Section A, and it is spring semester, the section in the app will be changed to E and it's time table will be displayed. Is that a correct way? Because I have not seen anywhere the section or practical section displayed to the user in the app and found this to be the way to with minimal changes. If you reckon, I might try something to do it using some other way


Support unlimited number of parallel jobs

It be great if the following GNU Make behavior for -j with no argument would be mirrored.

If the  -j  option  is given without an argument, make will not limit the number of jobs that can run simultaneously.

This is a duplicate of #1309.


Gearboy fails

Gearboy git has changed how the program builds, will need to also change the install script to reflect this

done and done


Is there a way to get vector by label?

Wondering whether there's a way to get item vectors by querying data_label instead of ids?

Hi @rs-bingjie ,
data_label and ids are the same entity. Sorry for the confusion.

@yurymalkov Thanks for the clarification!


Collaborating on GraphQL Tools and Codegens

Hi there!
My name is Dotan and I’m a member of an open source group called The Guild.
We create and maintain a bunch of GraphQL related open source libraries like GraphQL Tools, GraphQL Codegen, GraphQL Inspector and others.
I’ve just seen the amazing tools you are building at Shopify and I thought it might be great to exchange ideas!
I had some initial thoughts, but maybe there are many more things to discuss and share ideas about:
We could discuss your @shopify/react-graphql library and it’s usage of graphql-typescript-definitions and graphql-typed packages. Like what we can learn from it and maybe integrate into GraphQL Codegen’s new TypedDocuementNode.
Also, we recently took over the GraphQL Config library and released a new v3 version.
It is also integrated into the new GraphiQL and graphql-vscode extension.
We would love to learn from you about your graphql-config-utilities library and if we could learn and improve GraphQL Config from your experience.
Also, we recently took over the GraphQL Tools library and improved it a lot, including merging a lot of known utility libraries into it.
Would be awesome to hear about your graphql-tool-utilities, graphql-fixtures, graphql-validate-fixtures, graphql-mini-transforms libraries and if there are lessons there we should share with our community.
Thank you for open sourcing and sharing such amazing tools and I hope we could learn from you more!

Edit: didn't meant it to be label as bug, so feel free to change it :D

cc @Shopify/web-foundations

@dotansimha Thank you for reaching out.
There are quite a few things around GraphQL in flight at the moment and I am trying to figure out who may have the context and bandwidth to chat with you. This may take some time but rest assure you are not forgotten!

👋  We can definitely have a chat, feel free to reach out to me at<EMAIL_ADDRESS>directly :)


update existing lines discount types with zero downtime support

Pending changes for #15253

Impact

[x] New migrations
[ ] New/Updated API fields or mutations
[ ] Deprecated API fields or mutations
[ ] Removed API types, fields, or mutations

Docs

[ ] Link to documentation:

Pull Request Checklist

[ ] Privileged queries and mutations are either absent or guarded by proper permission checks
[ ] Database queries are optimized and the number of queries is constant
[ ] Database migrations are either absent or optimized for zero downtime
[ ] The changes are covered by test cases
[ ] All new fields/inputs/mutations have proper labels added (ADDED_IN_X, PREVIEW_FEATURE, etc.)
[ ] All migrations have proper dependencies
[ ] All indexes are added concurrently in migrations
[ ] All RunSql and RunPython migrations have revert option defined

Thank you @AjmalPonneth! We will take care of that soon. We have queued important changes that must be introduced before.

@IKarbowiak Update the PR. Please check and advise.

@IKarbowiak Will check and update ASAP.

@IKarbowiak Updated the PR. Please check and advise.

@IKarbowiak Updated the PR.

@kadewu @IKarbowiak Updated the PR. Please check and advise.

Hey @AjmalPonneth sorry for no action on this PR for quite some time now. Would you be willing to rebase the changes with the current version of 3.19? Thank you!

@aniav will update ASAP

@aniav Rebased. Please check and advise.

Hi @AjmalPonneth what about two conversations I raised? Do You need help with those?

@AjmalPonneth I have removed the pending reviewers until the code review suggestions are addressed. We will review again after the changes are added 🙌

@aniav Thank you! Please share any related PRs here that address the reviewer's request, as that would be helpful in my development.


Initial content

Pull requests:

https://github.com/Senzing/github-action-make-go-version-file/pull/2


Feature Request: Parallel Steps in Workflows

Describe the Feature
During cold starts, there are frequently many steps that could be run in parallel, speeding up the provisioning.
Expected Behavior
Support nested blocks of "steps" of type "parallel". When executed, all parallel steps of a step must complete before advancing to the next step.
workflows:
  test-1:
    description: "Test workflow"
    steps:
      - type: parallel
        steps:
        - command: echo Command 1
          name: step1
          type: shell
        - command: echo Command 2
          name: step2
          type: shell

If any step in the parallel execution fails, the next step in the workflow is not run.
Use Case

Cold starts. Bringing up EKS clusters, there are 10-15 services that could be deployed in parallel as they have no dependency on each other.

should this have a configurable count for how many parallel process to
run?
On Thu, Jan 12, 2023 at 7:45 AM Erik Osterman (CEO @ Cloud Posse) <
@.***> wrote:

Describe the Feature
During cold starts, there are frequently many steps that could be run in
parallel, speeding up the provisioning.
Expected Behavior
Support nested blocks of "steps" of type "parallel". When executed, all
parallel steps of a step must complete before advancing to the next step.
workflows:
test-1:
description: "Test workflow"
steps:
- type: parallel
steps:
- command: echo Command 1
name: step1
type: shell
- command: echo Command 2
name: step2
type: shell
If any step in the parallel execution fails, the next step in the workflow
is not run.
Use Case

Cold starts. Bringing up EKS clusters, there are 10-15 services
that could be deployed in parallel as they have no dependency on each other.

—
Reply to this email directly, view it on GitHub
https://github.com/cloudposse/atmos/issues/302, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQ3ERCEAV3VR5BWRVCJTILWSARIXANCNFSM6AAAAAATZMZECY
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Add progress bar when transitioning between pages

Description
Add a loading progress bar to the top of the page to communicate to the user that the next page is loading, improving the UX significantly.
Implementation Model
We can use nprogress and use Next.js' Router Events. Official example from Next.js is available here.
Tasks

[ ] Install nprogress
[ ] Implement nprogress loading bar following this example

Add additional info:
<EMAIL_ADDRESS>4kB Minified
1.7kB Minified + Gzipped


1 click designer get started page

For installing the Sketch Shared Library, design and update Getting started > Designer page so it is a better experience.

closing because it's a duplicate of https://github.com/carbon-design-system/carbon-website/issues/580


[hotfix][runtime] Remove the repeated createBasePathIfNeeded in the FileSystemBlobStore

[hotfix][runtime] Remove the repeated createBasePathIfNeeded in the FileSystemBlobStore
The private boolean put(File fromFile, String toBlobPath) has called createBasePathIfNeeded, so the public boolean put(File localFile, JobID jobId, BlobKey blobKey) doesn't need to call createBasePathIfNeeded.

Hi @gaborgsomogyi , would you mind helping take a look this hotfix? thanks~

Hi @1996fanrui ! Not sure why this is hotfix and why must be removed. If the mentioned function called multiple times then it's silently ignores the creation second time no matter who called it from where and how many times, right?

If you can elaborate what this can cause I can understand more of your issue. Just for giving some context, there are many usages of the class and all of the execution paths must create the directory.

Now I see what may you mean. The createBasePathIfNeeded function called 2 times in the call chain so we're loosing 2-3 processor ticks because the second call must double check a boolean flag.
If I understand correctly then this is more like a cosmetic change and not a hotfix just to double check, right?
Correct me if I've understood something wrong.

The change itself looks good.

Thanks @gaborgsomogyi  for the quick feedback.
Sorry, I thought it's enough easy and clear, so I didn't explain detailed background and mark it as the hotfix. Let me explain it here:

The public put() method call the private put(), and these 2 put both call  createBasePathIfNeeded, it's unnecessary.
The private put is just called by putlic put(), so I removed the private put() in this PR.

I checked why added 2 put methods, because the old interface has 2 public put methods. Now it just has one, so I think the private put() can be removed as well.

So it's a cosmetic change, ok.

Thanks @gaborgsomogyi for the review, CI is green, merging~


[BUG] Error on launch

Describe the bug
ptg raises error on launch after v4.3.0 update.
To Reproduce
Steps to reproduce the behavior:

Open terminal
run ptg
See error

Expected behavior
Launch ptg.
Screenshots

System information
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
PyTermGUI v4.3.0

Python: 3.10.4
Platform: Linux-5.16.14-arch1-1-x86_64-with-glibc2.35

Should be fixed now, could you give it a try on the latest commit? Interestingly this issue doesn't happen on MacOS, so I never ran into it.

Cheers, I'll let you know if anything else pops up. Great framework btw.

Thank you!


Feature Request: Time Zone selection

From the reports, looks like it's using UTC. The request here is to let me set a "home" time zone in settings. 👍👍

It should be using the server's time zone, I will see what I can do for that


Testing Video

Hi Harish,
Thanks for this excellent work!
My question is where can I find your test video? or can you upload your test video that I can train this model by myself? Thanks
I mean it should be dataset you used

@andi00123456 Hi, I have updated the readme with the link to the dataset. Please follow its license conditions if you plan to use the dataset.


Update .base to ._base

Minor bug that breaks civismlext
If not fixed, then import civismlext gives:
ModuleNotFoundError: No module named 'sklearn.linear_model.base'
https://github.com/scikit-learn/scikit-learn/blob/95119c13af77c76e150b753485c662b7c52a41a2/sklearn/linear_model/_base.py

It looks like the sklearn.linear_model.base module was moved to ..._base for release 0.24.1. I think that means that civismlext is currently incompatible with versions >=0.24.1.
This change would make it incompatible with versions <0.24.1, which I think could be problematic.
Perhaps we could do something like this:
try:
    from sklearn.linear_model._base import LinearModel
except ModuleNotFoundError:
    from sklearn.linear_model.base import LinearModel  # <0.24.1

It's not great to keep relying on a private module, but small breaking changes happen in sklearn anyway (which is fair, given the 0.y.z semantic version).
Alternatively, we could copy over the methods that the LinearModel class provides and stop importing them.
Or we could just remove the NNLS estimator for the next release. I'm not sure it's used.
Thoughts?

Let’s make it backwards compatible until we know it’s not used.
On Wed, Mar 3, 2021 at 10:16 AM Michael Heilman<EMAIL_ADDRESS>wrote:

It looks like the sklearn.linear_model.base module was moved
https://github.com/scikit-learn/scikit-learn/commit/0a7adef0058ef28c7a146734f38161f7c7c581af
to ..._base for release 0.24.1. I think that means that civismlext is
currently incompatible with versions >=0.24.1.
This change would make it incompatible with versions <0.24.1, which I
think could be problematic.
Perhaps we could do something like this:
try:
from sklearn.linear_model._base import LinearModelexcept ModuleNotFoundError:
from sklearn.linear_model.base import LinearModel  # <0.24.1
It's not great to keep relying on a private module, but small breaking
changes happen in sklearn anyway (which is fair, given the 0.y.z semantic
version).
Alternatively, we could copy over the methods
https://github.com/scikit-learn/scikit-learn/blob/28ee486b44f8e7e6440f3439e7315ba1e6d35e43/sklearn/linear_model/_base.py#L307-L347
that the LinearModel class provides and stop importing them.
Or we could just remove the NNLS estimator for the next release. I'm not
sure it's used.
Thoughts?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/civisanalytics/civisml-extensions/pull/57#issuecomment-789788725,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADZR6CVTWL5DVIIN4UWQ53TBZHENANCNFSM4YQ4TVLA
.

--
Sincerely yours,
Dave Liu


probably redundant handler of panic

Ratatui terminal itself inserts panic_hook for restoration:
installation: https://github.com/ratatui/ratatui/blob/860e48b0f0ec51c8596bc12985a8b37bad4fba00/src/terminal/init.rs#L80
the hook: https://github.com/ratatui/ratatui/blob/860e48b0f0ec51c8596bc12985a8b37bad4fba00/src/terminal/init.rs#L237

Yes, currently the system does not use ratatui::init(), and it is undergoing a major restructure, so this is not currently viewed as an issue. Eventually, the system will be using all of the new features. Thank you for reporting!


Fix bitstruct dependency version requirement

Hi,
After updating to the latest version of cantools (29.2.0) I was getting the following error when dumping a DBC file.
 → TITANIC@dbc-testing ((master)) $ cantools dump test.dbc
error: compile() takes 1 positional argument but 2 were given

Bisecting led me to this commit, in which the bitstruct dict methods are used.
 → TITANIC@cantools ((ef9a361...)|BISECTING) $ git bisect good
f488da1bf255aed6531b2b98ccabd5623bb5eef7 is the first bad commit
commit f488da1bf255aed6531b2b98ccabd5623bb5eef7
Author: Erik Moqvist<EMAIL_ADDRESS>Date:   Sun Nov 18 19:10:26 2018 +0100

    Use bitstruct dict methods.

:040000 040000 c9a6034f0179a0b241dc35ef49cf63ba973db651 12032415af5644904cb82eb29077668bba9cdbbd M      cantools

However, due to the old version of bitstruct I had installed, it meets the version requirements specified in setup.py, and so it wasn't updated with your latest changes.
This bumps the version requirement on bitstruct.

Coverage remained the same at 92.806% when pulling 94f570267e7375bc85c4c25609e19a3428f8d317 on karlding:fix_dependency into fd202836629f5e167ea684188a957d50c2c59344 on eerimoq:master.


background.service_worker manifest_version 3 error

Hi,
Thank you very much for your contribution to the open source.
But I am in use, after installation, use Chrome to load the local plugin to report the following error:
The "background.scripts" key cannot be used with manifest_version 3. Use the "background.service_worker" key instead.
Could not load manifest.
ENV:
vue-cli4

This is a feature that I missed and will be corrected.

new version 1.0.8 is publish , now you can try it

@sanyu1225 I'will retry it, thank you very much


WIP: Incorporate connection box

This PR needs to rebased and split into smaller PRs.

@litghost Can you please rebase onto master?


Wrapup is not quite doing what it should

It says that it add all the work from the working area, but you actually have to run git addyour self!

in relation to a discussion about wrapup, I removed the default behaviour of adding everything when the command is called. wrapup --hard will auto add

Wrapup will be changed to the previous default behavior where it automatically adds all changes. Hard will be removed, and a "skip-add" added in stead.


Make OusterDriver a class, not a class template

Fixes the build under Clang
Supersedes #27
Fixes #13

Back to you, @SteveMacenski.

No rush

No, I haven't tested this on a sensor. And I haven't loaded it in a manager. I don't see the code to do that in this repo anywhere.

@rotu that's a ROS2 thing, not a specific program thing https://index.ros.org/doc/ros2/Tutorials/Composition/

AFAICT it works:
$rros2 run rclcpp_components component_container
[INFO] [1586380760.635050661] [ComponentManager]: Load Library: /home/dan/Documents/ros_ouster_ws/install/lib/libouster_driver_core.so
[INFO] [1586380760.664994054] [ComponentManager]: Found class: rclcpp_components::NodeFactoryTemplate<ros2_ouster::OS1Driver>
[INFO] [1586380760.665054526] [ComponentManager]: Instantiate class: rclcpp_components::NodeFactoryTemplate<ros2_ouster::OS1Driver>

$ros2 component load /ComponentManager ros2_ouster ros2_ouster::OS1Driver
Loaded component 1 into '/ComponentManager' container node as '/OusterDriver'

I tested this, works all fine, merging. Thanks for the work!


Adding Atalanta

nobelium uranium
This pull request was created using the https://discordbots.co.uk/edit menu.

You may wish to add the ls-iframe class for iframes which sets the width to 100% and height to 40vh to fit well inside the viewport


[0.11.0] Queries involving relative time span past now()

The following query should only return 60 points from the database
use _internal

SELECT max(fieldsCreate) AS fieldsCreate FROM "shard" WHERE time > now() - 1h GROUP BY time(1m)

a few thousand instead.
The current work around I've used is:
SELECT max(fieldsCreate) AS fieldsCreate FROM "shard" WHERE time > now() - 1h AND time < now() GROUP BY time(1m)

Dupe of #5636. Implicit upper bounds with the new query engine have issues. This should hopefully be fixed by #5641.


Where the ...

Hello guys,
I use the 1.9.3 version of catch in France ... on a french computer (maybe that is the reason ...<;o))
Since this version, it says as usually that he had downloaded some files ... but I can't see them in the directory they supposed to be ...
After the update, I've tried a proper removal and à proper install, changing the target directory.
One other thing I did is signup for the new ShowRss account ... but I doubt that is causing the issue ...
Thanks for your help.
John

Are you by chance using magnet links? If you want to have .torrent files, you should turn that off.

aha ... I've tried lot of thing but not that ... (dumbass me !!) it is logic ... why the ... did'nt have I think about the only tuning that can be the cause of my torment ...
Thanks mipstian !!


Why it does not success even when the score is high?

I tested some environment with different task settings. For example on reach-v2, I think it is strange that it does not success even when the score is 4700+. I tried to add an extra score when it success, but it didn't work.
Is there any tricks to slove this problem?

Hmm reach is a pretty easy task. Are you computing your success metric correctly. There is a guide on how to do so in the paper.

Hmm reach is a pretty easy task. Are you computing your success metric correctly. There is a guide on how to do so in the paper.

Yes, reach-v2 is very easy to optimize. The score rises up fast under evolutionary algorithm. But it seems that the high score does not necessarily lead to final success.

I have similar issue. I only tested on the MT10 tasks and train a policy on each of the tasks. I run evaluation every 160k steps in the environment where each evaluation I run 50 episodes and compute the success percentage from those 50 episodes. Higher reward does not always positively correlate with higher success rate.
reach-v2

window-open-v2 (red) and window-close-v2 (green)

drawer-open-v2 (orange) and drawer-close-v2 (blue)

I trained using stable_baselines3.SAC.

To reproduce, here is the code
from typing import Any, Dict, List, Tuple

import gym
import metaworld
import numpy as np
import os.path
import random

from gym.wrappers import TimeLimit
from metaworld.envs.mujoco.sawyer_xyz.sawyer_xyz_env import SawyerXYZEnv
from seals.util import AbsorbAfterDoneWrapper
from stable_baselines3 import SAC
from stable_baselines3.common.callbacks import EvalCallback
from stable_baselines3.common.env_util import make_vec_env
from stable_baselines3.common.utils import get_latest_run_id

class ChangingTaskAndDoneTerminalWrapper(gym.Wrapper):
    """
    Option to change task every time the environment is reset
    and `done` returns `True` when `info["success"]=True`.

    `done` signal is needed to reset the environment in the sb3.
    Sb3 can handle `done` signal due to terminal states or time limit.
    """

    def __init__(self,
        env: SawyerXYZEnv,
        tasks: List[metaworld.Task],
        change_task: bool = False) -> None:
        """
        Constructor.

        :param env: Environment.
        :param tasks: List of metaworld task objects.
        :param change_task: Whether to change task every reset.
        """
        super().__init__(env)
        self.tasks = tasks
        self.change_task = change_task
        self.env.set_task(self.tasks[0])

    def reset(self, **kwargs) -> Any:
        """
        Reset the environment.
        """
        if self.change_task:
            task = random.choice(self.tasks)
            self.env.set_task(task)

        return super().reset(**kwargs)

    def step(self, action: np.ndarray) -> Tuple[np.ndarray, float, bool, Dict[str, Any]]:
        """
        Step in the environment.
        """
        obs, rew, _, info = super().step(action)
        ## `sb3.EvalCallback` look at "is_success" to log success rate
        info["is_success"] = info["success"]
        return obs, rew, info["success"], info

def create_single_env(
    env_name: str,
    changing_inner_task: bool,
    handle_absorb_state: bool = False) -> gym.Env:
    """
    Create single gym environment.
    Note that we use `seals.util.AbsorbAfterDoneWrapper` and it should be before `gym.wrappers.TimeLimit`

    :param env_name: Name of the environment. Only `metaworld.MT10` tasks!
    :param changing_inner_task: Whether to change inner task every reset.
    :param handle_absorb_state: Whether to use `seals.util.AbsorbAfterDoneWrapper` or not.

    Return:
        Single gym environment.
    """
    mt1 = metaworld.MT1(env_name)
    env = mt1.train_classes[env_name]()
    env = ChangingTaskAndDoneTerminalWrapper(env, mt1.train_tasks, changing_inner_task)
    if handle_absorb_state: env = AbsorbAfterDoneWrapper(env)
    env = TimeLimit(env, env.max_path_length)
    return env

"""
Main function.
"""

env_name = "reach-v2"
changing_inner_task = True
seed = 0
device = "cuda:0"

## set log directory
tb_logdir = "logs/%s" % env_name
tb_logname = "sac"

if changing_inner_task: tb_logdir = tb_logdir + "/changing_goal"
else: tb_logdir = tb_logdir + "/static_goal"

latest_run_id = get_latest_run_id(tb_logdir, tb_logname)

## create env
vecenv = make_vec_env(
    env_id  = lambda: create_single_env(env_name, changing_inner_task),
    n_envs  = 8,
    seed    = seed
)

eval_vecenv = make_vec_env(
    env_id  = lambda: create_single_env(env_name, changing_inner_task),
    n_envs  = 10,
    seed    = seed + 1
)

## create algo
algo = SAC(
    policy          = "MlpPolicy",
    env             = vecenv,
    learning_rate   = 0.0003,
    buffer_size     = int(1e6),
    learning_starts = int(1e3),
    batch_size      = 512,
    tau             = 0.005,
    gamma           = 0.99,
    train_freq      = 512,              ## train every `train_freq * vecenv.num_envs`
    gradient_steps  = 128,
    policy_kwargs   = {"net_arch": {"pi": [256, 256], "qf": [256, 256]}},
    tensorboard_log = tb_logdir,
    device          = device,
    seed            = seed,
    verbose         = 1
)

## create callback
eval_callback = EvalCallback(
    eval_env                = eval_vecenv,
    n_eval_episodes         = 50,
    eval_freq               = 20000,    ## eval every `eval_freq * vecenv.num_envs`
    best_model_save_path    = os.path.join(tb_logdir, "%s_%d" % (tb_logname, latest_run_id + 1)),
    log_path                = os.path.join(tb_logdir, "%s_%d" % (tb_logname, latest_run_id + 1)),
)

algo.learn(
    total_timesteps = int(1e8),
    callback        = eval_callback,
    tb_log_name     = tb_logname
)

Same issue. even in goal fixed environment.

I found the culprit.

The metaworld.Benchmark object should only be created once. Recreating the benchmark object will sample a new tasks (ie. start/object/goal positions). In my code, I call the create_single_env multiple times hence the metaworld.MT1 is created multiple times. It will mess up your evaluation.
Try to not stop the algorithm even though it successfully reach the goal ie. dont stop when info["success"] == True. Somehow it destabilizes training.

Orange: I let the environment runs until 500 timesteps even though it successfully reaches the goal in the middle of the episode.
Blue: I stop it when info["success"] == True.

Yeah, every time you create a benchmark object is samples 50 new goal locations. That's intended behavior, so I'm going to close this. I have added another bug for the button-press environments, which do genuinely have this problem.

Also worth mentioning is that the training instability when success is achieved is know, which is one reason why success states are not terminal states. Adding a wrapper to make them terminal states is not recommended.

Maybe this could be an additional insight, I guess.
I just trained single task with termination when it successes(info["success"]==True) using SAC, I found the same situation.
By rendering, it shows that the agent stops right before goal and just remaining still.
This may be because it is obviously the best way to get maximum 'return', gaining more rewards(between 0 and 10) until max_path_length rather than just terminating with getting single reward 10.

@reginald-mclean is there any point to modifying the reward function such that this behaviour is not optimal

Yeah there could be some value there. I would just be concerned about what that reward is to avoid this behaviour, tuning that reward function would mean giving a very large value to the agent when success=True and that large value could destabilize value function training.

One thing to note is that Meta-World intentionally does not terminate the episode on success, to avoid this problem. You should always use length 500 episodes, without any terminal states.


Adjust alignment on card header when input is present

Probably would be better aligned along the bottom edge.  Seen in Chrome.

you my consider creating an app/styles/override.scss to  adjusts some of  css opinions.
// app/styles/main.scss`.
@import './overrides.scss';```

// overrides.scss
```label[for='leftCheckbox'].custom-control-label::before {
  top: 0;
}
label[for='leftRadio'].custom-control-label::before {
  top: 0;
}```


Fixed wrong placeholder for total xp levels spent.

Changing the wiki from
%slimefun_total_xp_levels_spent%
to
%slimefun_researches_total_xp_levels_spent%

Please look into branches:
https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches
This way, you can make multiple pull requests and keep the changes seperate from each other.
It is best practice to keep a PR as small as possible, as it makes the reviewing a whole lot easier and changes can be applied to limited scopes.

Please look into branches:
https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/about-branches#working-with-branches
This way, you can make multiple pull requests and keep the changes seperate from each other.
It is best practice to keep a PR as small as possible, as it makes the reviewing a whole lot easier and changes can be applied to limited scopes.

This should fix the placeholder only.

This should fix the placeholder only.


Foveated encoding/decoding

Maybe look at https://github.com/shinyquagsire23/monado/blob/macos_ql_merge/src/xrt/drivers/quest_link/ql_hmd.cpp#L140 and verify it's the same as ALVR's foveation?

Supposedly they're using the Oculus foveation, so it should be the same.
I had a go at converting their shader to Metal, but haven't tried using it.

I would like to chime in, I'm in the process of rewriting the current opengl client renderer using wgpu. wgpu is an abstraction layer that supports multiple graphics apis, including Metal. but also I don't want to break your momentum so you can go ahead and implement this in parallel. I will notify you when I'm done with the wgpu rewrite.


SNI-based cert selection during TLS handshake

Envoy support selecting certs by selecting filter chain based on SNI.
But it is possible that we access different services via one filter
chain, which requires SNI-based cert selection in one single filter
chain during handshake.
Risk Level: Medium
Testing: unit tests
Docs Changes: ssl
Release Notes: yes
Fixes #21739
Signed-off-by: Luyao Zhong<EMAIL_ADDRESS>

@ggreenway Do we need to add release notes for this?

I've been busy and haven't had time to review this yet; thanks for your patience.

I've been busy and haven't had time to review this yet; thanks for your patience.

It's ok. :) Thanks for your response.

/retest

@ggreenway would you be able to take a look today?

CN is not used if SANs are present

This requires adding public method to access internal field server_names_map_ in SslContextImpl and add interface to its base class. It might not be worth o add a method just for testing.

Wildcard in SANs is matched properly

SslSocketTest, CertWildcardSANWithSni

Multiple certs with multiple SANs; matching works correctly
Wildcard does not match if an exact match is present

SslSocketTest, MultiCertMultipleSANWithSni

Wildcard only matches 1 level, eg *.example.com does not match a.b.example.com

We will fallback to first cert even there is no match, then it depends on how peer validates this cert. I have not dig the validation criteria, but it seems another separate feature "sni-based validation" if not supported in envoy

Config fails to load with conflicting SANs in certs, both exact and wildcard

SslContextImplTest, AtMostOneRsaCert1
SslContextImplTest, AtMostOneRsaCert2
SslContextImplTest, AtMostOneEcdsaCert

CN is not used if SANs are present

This requires adding public method to access internal field server_names_map_ in SslContextImpl and add interface to its base class. It might not be worth o add a method just for testing.

You can test it by looking for the behavior: set a SAN of a.example.com and a CN of b.example.com, see what cert is selected when you request b.example.com. Alternatively, create two certs, one with SAN a.example.com and CN b.example.com, and another cert with SAN b.example.com. Validate that it does NOT fail to load the config.

Wildcard in SANs is matched properly

SslSocketTest, CertWildcardSANWithSni

In many of the matching tests, please add more certificates, and ensure the first/default one won't match. Otherwise the test would pass without any of the new matching logic because the first/default cert is presented when there is no other match.

Multiple certs with multiple SANs; matching works correctly
Wildcard does not match if an exact match is present

SslSocketTest, MultiCertMultipleSANWithSni

Wildcard only matches 1 level, eg *.example.com does not match a.b.example.com

We will fallback to first cert even there is no match, then it depends on how peer validates this cert. I have not dig the validation criteria, but it seems another separate feature "sni-based validation" if not supported in envoy

No, I'm asking for testing of which certificate envoy selects to present to the client. Make sure that *.example.com is NOT used for an SNI value of a.b.example.com. Validate that the default/first cert is used in that case.

Config fails to load with conflicting SANs in certs, both exact and wildcard

SslContextImplTest, AtMostOneRsaCert1
SslContextImplTest, AtMostOneRsaCert2
SslContextImplTest, AtMostOneEcdsaCert

What happens if the client is not EC-capable, and there is a matching SNI for an EC cert, but not RSA? Please add a test for this case (I think the correct behavior is to return the first/default cert).

CN is not used if SANs are present

You can test it by looking for the behavior: set a SAN of a.example.com and a CN of b.example.com, see what cert is selected when you request b.example.com. Alternatively, create two certs, one with SAN a.example.com and CN b.example.com, and another cert with SAN b.example.com. Validate that it does NOT fail to load the config.

done

In many of the matching tests, please add more certificates, and ensure the first/default one won't match. Otherwise the test would pass without any of the new matching logic because the first/default cert is presented when there is no other match.

done

No, I'm asking for testing of which certificate envoy selects to present to the client. Make sure that *.example.com is NOT used for an SNI value of a.b.example.com. Validate that the default/first cert is used in that case.

done. The validation succeeds with default cert since Envoy does not define the criteria that how to validate cert SAN based on SNI .

What happens if the client is not EC-capable, and there is a matching SNI for an EC cert, but not RSA? Please add a test for this case (I think the correct behavior is to return the first/default cert).

it still uses this EC cert, since there is only EC(default cert) for this SNI in this case. I met error in testing, need to dig. :(.  I think previous selection criteria also has the case that a EC-cert is selected for a not-EC-capable client, do you know any existing tests for that?

I think previous selection criteria also has the case that a EC-cert is selected for a not-EC-capable client, do you know any existing tests for that?

I think, but am not certain, that with the old selection algorithm, if both an ec and rsa cert were configured, and the client was not ec-capable, that the rsa cert would always be selected. It was a much simpler algorithm, because there were only 2 certs. But maybe there was a case involving bad ocsp stapling that the ec cert could be used? Is that the case you're thinking of?

But maybe there was a case involving bad ocsp stapling that the ec cert could be used? Is that the case you're thinking of?

Yeah I think there was case where given two certs that the client could consume, we would skip the normally preferred one if it would have resulted in immediately rejecting the connection because of OCSP config and a stale/bad staple to give the other cert a chance to succeed. It’s definitely a corner case.

I think previous selection criteria also has the case that a EC-cert is selected for a not-EC-capable client, do you know any existing tests for that?

I think, but am not certain, that with the old selection algorithm, if both an ec and rsa cert were configured, and the client was not ec-capable, that the rsa cert would always be selected. It was a much simpler algorithm, because there were only 2 certs. But maybe there was a case involving bad ocsp stapling that the ec cert could be used? Is that the case you're thinking of?

With the old selection algorithm, it was possible that the client was not ec-capable but only ec cert configured. So what I meant is that for old selection algorithm, there seems no tests for the case that you mentioned: EC-cert is selected for a not-EC-capable client, thus I was asking is there any tests I missed.
I add a test CertWithNotECCapable for this, to test verification fail since client is not EC-capable, while the stats seems not set properly I left a TODO comment there.

@ggreenway kindly ping.

@LuyaoZhong How does this relate to TLS bumping?
Here you are enhancing the TLS transport socket capability to be able to select a certificate based on SNI. But it's still a pre-configured set of certs serving a pre-known set of SNIs. On the other hand, if I understand correctly, the TLS bumping is trying to solve the case where the server domains are not known in advance and the new bumping filter work with cert provider to dynamically produce a mimic certificate for any SNI.
What am I missing? Please help fill the gap in my knowledge.

@LuyaoZhong How does this relate to TLS bumping?
Here you are enhancing the TLS transport socket capability to be able to select a certificate based on SNI. But it's still a pre-configured set of certs serving a pre-known set of SNIs. On the other hand, if I understand correctly, the TLS bumping is trying to solve the case where the server domains are not known in advance and the new bumping filter work with cert provider to dynamically produce a mimic certificate for any SNI.
What am I missing? Please help fill the gap in my knowledge.

@aejeet
This feature just modifies the cert selection criteria during handshake, It does NOT require certs have to be pre-configured. In TLS bumping, new bumping filter works with cert provider to dynamically generate cert, all mimic certs will be updated to downstream transport socket, then we need to select a mimic cert for downstream based on SNI.

@ggreenway  there are 6 commits incorrectly signed off , because I use the github "sign-off and commit suggestion"  in a wrong way. :(
I need to force push, will do that after next round review.

Do I need to rebase the branch according to https://github.com/envoyproxy/envoy/pull/22036/checks?check_run_id=8571102157 to fix DCO failure?

Note this format error fix, and the merge conflict needs to be resolved with a fresh merge of main.
https://dev.azure.com/cncf/envoy/_build/results?buildId=118779&view=logs&j=55bc2ab9-36c1-5ab8-58a6-8c258728eeff&t=33b57bf9-ef13-58c8-bc2b-f804aeb16d39&l=110
/wait

Note this format error fix, and the merge conflict needs to be resolved with a fresh merge of main.
https://dev.azure.com/cncf/envoy/_build/results?buildId=118779&view=logs&j=55bc2ab9-36c1-5ab8-58a6-8c258728eeff&t=33b57bf9-ef13-58c8-bc2b-f804aeb16d39&l=110
/wait

@wrowe Thanks. Done

Apologies; I've had a combination of family issues and sickness. I plan to review this next week.

/wait-any

@ggreenway could you take a look again, any other comments?

/retest

/retest

/retest

/retest

/retest

Please fix DCO (you may need to squash the entire thing and force push). Then we can do a final pass. Thanks.
/wait

/retest

Please fix DCO (you may need to squash the entire thing and force push). Then we can do a final pass. Thanks.
/wait

Done


Update Set-OrganizationSegment.md

Docs Build status updates of commit 4512f4a:
:clock10: Full build: the average full build time is 13 min(s) 52 sec(s), this is based on the last 449 build(s) for this repository.

Docs Build status updates of commit 4512f4a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/policy-and-compliance/Set-OrganizationSegment.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Adding a code of conduct file

Closing this PR because this package is moving to https://github.com/slackapi/node-slack-sdk/ and there's a code of conduct PR open there (https://github.com/slackapi/node-slack-sdk/pull/795)


Changed site connection-mode and site code commit actions to use workflows

Closes #524

Closes #523

site connection-mode should probably use an explicit action for set/show to make it consistent with other commands that we've been switching over.

The matter of the explicit action for site connection-mode has spawned issue #526.

So it has. Disregard my comment about explicit actions then

I made the change to check the status before running the workflow and added a test for that case.

+1


Torch NDArray .max(int, boolean) should return tuple.

Currently NDArray.max(int, boolean) only returns the max values. However it should also give the indexes in a tuple as per pytorch docs.
https://pytorch.org/docs/stable/generated/torch.max.html
"Returns a namedtuple (values, indices) where values is the maximum value of each row of the input tensor in the given dimension dim. And indices is the index location of each maximum value found (argmax)."
If djl's version of .max() on NDArray is intentional, please share what is the best DJL way to calculate the index of each max value. Thank you!

@frankfliu What do you think? Is this something I can contribute?

DJL NDArray API works in tensor level, we are not trying to align with PyTorch's behavior, our behavior is more like numpy
Our pytorch implementation using libtorch, the behavior aligns with libtorch::Tenosr.max()
torch.max(input) return tensor, not tuple, only torch.max(input, dim) returns tuple, and this is specific to pytorch
You can always call NDArray.argmax() to return the index, which is PyTorch internally use as well.


Rhasspy recognizes microphone but only reads 44 bytes of data

I've got a fresh rhasspy git/venv installation on my RPi 3B. I use a PlayStation Eye as microphone.
When I test the microphone in the "Speech" tab in the web interface, I get the following error in the command line running rhasspy:
DEBUG:PyAudioRecorder:started -> recording
[2020-03-22 10:06:42,453] <IP_ADDRESS>:36080 POST /api/start-recording 1.1 200 2 9401
INFO:quart.serving:<IP_ADDRESS>:36080 POST /api/start-recording 1.1 200 2 9401
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux$
alsa.c', line: 924
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux_
alsa.c', line: 924
DEBUG:__main__:Recorded 44 byte(s) of audio data
DEBUG:PocketsphinxDecoder:rate=16000, width=2, channels=1.
DEBUG:PocketsphinxDecoder:Decoded WAV in 0.0024895668029785156 second(s)
DEBUG:PocketsphinxDecoder:
DEBUG:InboxActor: -> stopped
DEBUG:__main__:
ERROR:FsticuffsRecognizer:in_loaded
Traceback (most recent call last):
  File "/home/pi/rhasspy_git/rhasspy/intent.py", line 183, in in_loaded
    assert recognitions, "No intent recognized"
AssertionError: No intent recognized
DEBUG:InboxActor: -> stopped
DEBUG:__main__:{"text": "", "intent": {"name": "", "confidence": 0}, "entities": [], "raw_text": "", "speech_confidence": 0, "slots": {}, "wakeId": "", "siteId": "default"}
INFO:quart.serving:<IP_ADDRESS>:36024 GET /api/events/intent 1.1<PHONE_NUMBER>05
[2020-03-22 10:06:44,449] <IP_ADDRESS>:36024 GET /api/events/intent 1.1<PHONE_NUMBER>05
[2020-03-22 10:06:44,456] <IP_ADDRESS>:36068 GET /api/events/intent 1.1<PHONE_NUMBER>20
INFO:quart.serving:<IP_ADDRESS>:36068 GET /api/events/intent 1.1<PHONE_NUMBER>20
DEBUG:InboxActor: -> stopped
[2020-03-22 10:06:44,471] <IP_ADDRESS>:36080 POST /api/stop-recording 1.1<PHONE_NUMBER>6
INFO:quart.serving:<IP_ADDRESS>:36080 POST /api/stop-recording 1.1<PHONE_NUMBER>6
ERROR:__main__:api_websocket
Traceback (most recent call last):
  File "app.py", line 1232, in wrapper
    return await func(queue, *_args, **kwargs)
  File "app.py", line 1247, in api_events_intent
    message_type, text = await queue.get()
  File "/usr/lib/python3.7/asyncio/queues.py", line 159, in get
    await getter
concurrent.futures._base.CancelledError

Interestingly, when testing my microphone with arecord I get a similar error as the resulting file also contains only 44 bytes. This is the output:
$ arecord --device="hw:1,0" --dump-hw-params
Recording WAVE 'stdin' : Unsigned 8 bit, Rate 8000 Hz, Mono
HW Params of device "hw:1,0":
--------------------
ACCESS:  MMAP_INTERLEAVED RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 64
CHANNELS: 4
RATE: 16000
PERIOD_TIME: [1000 4096000]
PERIOD_SIZE: [16 65536]
PERIOD_BYTES: [128 524288]
PERIODS: [2 1024]
BUFFER_TIME: [2000 8192000]
BUFFER_SIZE: [32 131072]
BUFFER_BYTES: [256 1048576]
TICK_TIME: ALL
--------------------
arecord: set_params:1339: Sample format non available
Available formats:
- S16_LE
$ arecord --device="hw:1,0" -d 2 -r 16000 -f S16_LE -c 4 /tmp/test.wav
Recording WAVE '/tmp/test.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Channels 4
ls -l /tmp/tarecord: pcm_read:2145: read error: Input/output error
$ ls -l /tmp/test.wav
-rw-r--r-- 1 pi pi 44 Mar 22 10:13 /tmp/test.wav

Also, during startup, I get the following errors (but don't know, whether they do any harm):
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
[2020-03-22 10:03:45,799] <IP_ADDRESS>:36058 GET /api/profile 1.1 200 6907 30061
INFO:quart.serving:<IP_ADDRESS>:36058 GET /api/profile 1.1 200 6907 30061
[2020-03-22 10:03:45,803] <IP_ADDRESS>:36060 GET /api/unknown-words 1.1 200 2 32606
INFO:quart.serving:<IP_ADDRESS>:36060 GET /api/unknown-words 1.1 200 2 32606
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib confmisc.c:1281:(snd_func_refer) Unable to find definition 'defaults.bluealsa.device'
ALSA lib conf.c:4568:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5036:(snd_config_expand) Args evaluate error: No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM bluealsa
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
Expression 'alsa_snd_pcm_hw_params_set_period_size_near( pcm, hwParams, &alsaPeriodFrames, &dir )' failed in 'src/hostapi/alsa/pa_linux$
alsa.c', line: 924

I don't know what all the pulseaudio errors mean. I had pulseaudio installed once, but removed it from my system. Might this be an issue?

44 bytes is the length of the WAV header, so it's getting no audio samples. What do you see when you run the microphone test in settings?

I will get back to you once I am back in my apartment.

My .asoundrc wasn't configured correctly which caused this issue. Sorry for the inconveniences.


Update docs for kubedb/cli@be1a1198

Signed-off-by: 1gtm<EMAIL_ADDRESS>

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: 1gtm:x: kodiak-appscode[bot]You have signed the CLA already but the status is still pending? Let us recheck it.


Add demo for ConstraintLayout feature for dimension constraints - ratio

Ratio
You can also define one dimension of a widget as a ratio of the other one. In order to do that, you need to have at least one constrained dimension be set to 0dp (i.e., MATCH_CONSTRAINT), and set the attribute layout_constraintDimensionRatio to a given ratio. For example:
         <Button android:layout_width="wrap_content"
                   android:layout_height="0dp"
                   app:layout_constraintDimensionRatio="1:1" />

will set the height of the button to be the same as its width.
The ratio can be expressed either as:
a float value, representing a ratio between width and height
a ratio in the form "width:height"
You can also use ratio if both dimensions are set to MATCH_CONSTRAINT (0dp). In this case the system sets the largest dimensions the satisfies all constraints and maintains the aspect ratio specified. To constrain one specific side based on the dimensions of another, you can pre append W," or H, to constrain the width or height respectively. For example, If one dimension is constrained by two targets (e.g. width is 0dp and centered on parent) you can indicate which side should be constrained, by adding the letter W (for constraining the width) or H (for constraining the height) in front of the ratio, separated by a comma:
         <Button android:layout_width="0dp"
                   android:layout_height="0dp"
                   app:layout_constraintDimensionRatio="H,16:9"
                   app:layout_constraintBottom_toBottomOf="parent"
                   app:layout_constraintTop_toTopOf="parent"/>

will set the height of the button following a 16:9 ratio, while the width of the button will match the constraints to parent.


[util] Support for fps limiter on non-Windows platforms

Defaults to a sleep granularity of 0.5ms, which is slightly on the cautious side.
Calls through to std::this_thread::sleep_for directly, which calls through to nanosleep.

Can we factor out the platform-specific bits to separate functions? I hate when there's ifdef sauce and common code in the same place, it's completely unreadable.

Updated from feedback


"Today" does not work with utcoffset and timezone in Calendar component.

[x] I'm sure this does not appear in the issue list of the repository

Basic Info

Package Name And Version<EMAIL_ADDRESS>Browser: chrome<IP_ADDRESS>

What is expected?
pass utcoffset and timezone  as arguments
Steps to reproduce
source code:
   {panelTodayBtn && panel && (
       <div className={`${prefixCls}-footer-btn-wrapper`} onClick={() => move(getNow())}>
         {CALENDAR_LOCALE.today}
       </div>
     )}

arguments are missed when calling getNow function.

disabledDate 只是禁用掉了日期单元格的点击选择，无法真正对值做约束，类似输入或者点击今天，都属于绕过了点击单元格。


chore: update Lean toolchain

@joehendrix could you please check if this still builds for you on the new Lake version?

I made a mistake in fixing a merge context, but that is corrected in joehendrix:update-06-13.


feature/geoposition

Just a small class to hold a geographical position with support for quickly reading it and writing it to a String via toString and a constructor.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 20

Complexity increasing per file
==============================
- app/src/main/java/ingsw/group1/findmyphone/location/GeoPosition.java  2
- app/src/test/java/ingsw/group1/findmyphone/location/GeoPositionTest.java  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- app/src/main/java/ingsw/group1/findmyphone/location/GeoPosition.java  2
- app/src/test/java/ingsw/group1/findmyphone/location/GeoPositionTest.java  2

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- app/src/main/java/ingsw/group1/findmyphone/location/GeoPosition.java  2
- app/src/test/java/ingsw/group1/findmyphone/location/GeoPositionTest.java  2

See the complete overview on Codacy

Avevi considerato di estendere LatLng e aggiungere quello che ti serviva?

Oh mannagg no a dire il vero ho buttato via mezz'ora nice, cambio volentieri dopo, righe in meno da guardare

Documentandomi mi sono accorto che LatLng è final, una classe final non può essere estesa.


[Snyk] Upgrade ognl:ognl from 3.0.17 to 3.4.3

This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade ognl:ognl from 3.0.17 to 3.4.3.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 65 versions ahead of your current version.

The recommended version was released a month ago, on 2024-04-19.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs
Note: This is a default PR template raised by Snyk. Find out more about how you can customise Snyk PRs in our documentation.

🎉 Snyk hasn't found any issues so far.
✅ security/snyk check is completed. No issues were found. (View Details)
✅ license/snyk check is completed. No issues were found. (View Details)


I have autorun JS enabled but nothing appears in the output section

I am learning Javascript, I have a DOM manipulating exercise that involves JS and CSS, but nothing shows up in the output section. I have had difficulty with JSbin on my system for other JS lessons too with code not showing in output or showing errors.
Can anyone help me understand why it is not working?

`for (i=1; i <= 3; i++) {
var boxElement = document.createElement('div');
boxElement.className = 'box-' + i;
document.getElementsByTagName('body')
[0].appendChild(boxElement)
}`
You forgot to close your 'for' loop.


Add workers support

To update a worker it seems like they have some undocumented api routes
PUT https://www.cloudflare.com/api/v4/zones/{zone_id}/workers/script
payload is Content-Type text/javascript
Seems like a great way to interface with cloudflares new workers, would allow you to commit your code in a repo, and deploy your worker from the repo.

added


GetProxyServiceInstances has questionable logic

https://github.com/istio/istio/blob/f84d34f70f0c208237ae647287917612543ca75c/pilot/pkg/serviceregistry/kube/controller/controller.go#L815
A few things wrong here:

Why do we skip "service without selector" when we find a service? we may have multiple services attached to the same proxy!
"Headless service without selector" is a misnomer, there is nothing specific to headless service
c.endpoints.GetProxyServiceInstances(proxy) is broken, it returns all IPs by the service.
For example:

apiVersion: v1
kind: Service
metadata:
  labels:
    app: shell
  name: shell
  namespace: default
spec:
  ports:
  - name: http
    port: 9087
---
apiVersion: v1
kind: Endpoints
metadata:
  labels:
    app: shell
  name: shell
  namespace: default
subsets:
- addresses:
  - ip: <IP_ADDRESS>
    nodeName: kind-control-plane
  - ip: <IP_ADDRESS>
    nodeName: kind-control-plane
  ports:
  - name: http
    port: 9087
    protocol: TCP

Both pods will have both IPs as instances!

We should exercise caution in fixing this; I had a misconfig and found c.endpoints.GetProxyServiceInstances(proxy) taking a ton of CPU

re (3) - looks like the logic used to be correct: https://github.com/istio/istio/blob/a8890f8e34798228d58ae6740114f478e1ff9d85/pilot/pkg/serviceregistry/kube/controller/controller.go#L693-L705
Even worse I realized, it will not just get all IPs -- but all services in the same namespace!

I did some analysis of ServiceInstance usage:
ServiceInstance usage
Cluster inbound
EndpointPort, ServicePort - obvious
Service - for MeshExternal and telemetry metadata
Gateway
Service (hostname, namespace)
ServicePort, EndpointPort
Listener inbound
ServicePort, EndpointPort
Service Hostname, name, namespace (telemetry)
grpc listener inbound: service address
setTopologyLabels
Endpoint.locality --> this could probably be its own thing instead of SI
ServiceInstances[0].Endpoint.Locality.Label
DefaultProxyNeedsPush:
looks at instance[0]'s Service (probably should be looking at all of them)

So overall, the IP part is actually not that big of a bug - we don't actually use that. It may be worth trimming down the ServiceInstance data to meet the modern use case

While I think this is an issue there is a bunch of related issues in this code, we should probably holistically fix them to avoid extra efforts

I think this still applies and is the root cause of https://github.com/istio/istio/issues/48228

I closed this due to most thing being fixed but "c.endpoints.GetProxyServiceInstances(proxy) is broken, it returns all IPs by the service." seems unchanged.
Basically, if you have a pod with no services, it actually will get all services in that namespace bound. You can see this easily with instancesz, or looking at the inbound listeners.
The fix is probably to filter by IP or similar there. I believe in the old Endpoints code (removed a while back) we did NOT have this bug, so we could look to see what we did there, too.

			// 2. Headless service without selector
			return c.endpoints.GetProxyServiceTargets(proxy)

Is this the root cause?

Yeah. Note @edtanous is working on a fix

/assign  @edtanous if still works on fixing  it


Comparison by md5 and large objects

Hello, i haven't tried yet but i was wondering how rclone manage comparison by md5 on large objects.
Usually files on openstack are >0 bytes if they are full files, 0 bytes if they are manifests of a file divided in segments, a folder or a simply 0 byte file.
Now for files > 0 and 0 byte files we have an etag metadata that stores md5 values. So using rclone it would be possible to compare file using md5.
For folders rclone should simply skip these files checking metadata content-type application/folder
but
for large objects?
Openstack stores in the manifest an etag as the md5 of contatenation of all md5(etag) segments.
It's impossible then to have a comparison for that file without download it first.
In addition rclone comparison supports only -c for size and checksum, no options for mtimes and size, size-only for size only.
But if i want to sync/copy a folder that contains both large and normal files i should have an intermediate option : size-only for large files (comparing the content-length metadata), size + checksum for normal files.
The software should list all files, divide the list into files >0 and 0.
For >0 do the normal size + cheksum comparison (checking size and etag)
For 0 files check the metadatas: if the metadatas contain the manifest it should compare only the content-length, if it's a folder skip it, if a simple 0 file do the file size + checksum comparison.
What do you think?

For large objects in Swift that were uploaded with multipart, then the md5sum is useless and rclone will ignore it.  Rclone only segments objects bigger than 5 GB BTW.
If the MD5SUM is missing then rclone assumes that the md5sums match.
A normal sync uses (size, mod time) to see if files are identical.  If size is the same, but mod time is different then it uses md5sum to check if the files are really the same.  If they are then it resets the mod time.  If the md5sum isn't present then it is equivalent to it matching.
If you do a --checksum sync, then rclone will compare (size, md5sum) for files, but if the md5sum is missing it will assume it matches, so it will just be comparing (size).
So, I think you'll find rclone works exactly as you suggest already :-)
Checkout the Equal function if you are interested in the details.

hello, thank you for the answer. I have verified your steps but rclone is bugged. That's why.
#Test1 without large objects
On local folder i have differents iso files. Each is less than 5 gb. On swift side, i have the same files but with different mtimes and sizes = 0 bytes.

First run: I've tried to copy the files from local to hubic with -n -v
from the log i see:
file1.iso have different mtimes. So it starts a md5 check. Spent 2 minutes to create md5sum and say:
returning empty md5sum for manifest file. after this : size of src and dst objects identical.
The files on swift have the mdsum in the etag, they are not large. Why it shouldn't be avaible?
WTF!
Point1. It should check the size and not the mtimes at the beginning. It should compare local filesystem file size with swift content-length and for redundancy the size reported from listing folder.(here rclone should say that they already are different and not equal)
Point2. If you (rclone) haven't tried to compare the size why are you running an md5 check? Useless.
I've started a copy without any options so it should compare first the size and if it is equal then the mtimes check. If the mtimes check fail then the md5 check. If the md5 isn't avaible then the file are the same. But on first run it should compare size and if them are different it should stop and mark it for copy!
The situation is the same for the other isos.

Second run: I've tried to copy the files from local to hubic with -n -v -c
Now rclone says in no time the sizes differ and mark it for copy. Good, it doesn't run the md5 check.
Tested also with little identical files, it checks the size and after the md5 check. Right

I'll report different tests on large obejcts but i have different questions:

How rclone check the size : content-legth or directory listing
How rclone identify large objects ? The only method is check the presenza of manifest metadata. It shouldn't check the file size because an user can upload a file with chunks of 10mb for example.

On swift side, i have the same files but with different mtimes and sizes = 0 byte.

sizes == 0 imples that they are manifest files doesn't it? Which explains the above.

The files on swift have the mdsum in the etag, they are not large. Why it shouldn't be avaible?

rclone thinks they are manifest files, the Etag is the Etag of the manifest file, and therefore not useful.
It is unfortunate rclone does the md5sum of the local file first before finding the remote has no md5sum, but that is the way it goes sometimes!

Point1. It should check the size and not the mtimes at the beginning. It should compare local filesystem file size with swift content-length and for redundancy the size reported from listing folder.(here rclone should say that they are already different and not equal)

That is exactly what rclone does.  It checks the size first. rclone thinks the sizes are the same, hence the md5sum check.

Second run: I've tried to copy the files from local to hubic with -n -v -c
Now rclone says in no time the sizes differ and mark it for copy. Good, it doesn't run the md5 check.

That is inconsistent with the first run where rclone thought the files were the same length...

How does rclone check the size : content-legth or directory listing

It can be either.

How does rclone identify large objects ? The only method is checking the presence of manifest metadata. It shouldn't check the file size because an user can upload a file with chunks of 10mb for example.

Only by looking for X-Object-Manifest

After a bit of testing, I see the problem.
When rclone updates the modification time, it is removing the X-Object-Manifest header which explains the inconsistent runs above.
Here is my reproduction
mkdir test2a
dd if=/dev/zero of=test2a/100k bs=1k count=100
rclone -v --swift-chunk-size=16k copy test2a swift:test2a
touch test2a/100k
rclone -v --swift-chunk-size=16k copy test2a swift:test2a
# This last one uploads the file again saying sizes differ
rclone -v --swift-chunk-size=16k copy test2a swift:test2a

It should be easy to fix

when rclone finds a 0 byte file should first check if it is a large object.

sizes == 0 imples that they are manifest files doesn't it?
is uncorrect.

Often there are files with 0 byte with title only. Example: edited_by_xgiovio.txt
is a txt file used as marker, it's a 0 byte object but not a manifest.
For this reason the first test doesn't compare the iso size with the 0 byte file.
When rclone find a 0 byte file, it should

check if both local and remote are 0 bytes. If yes stop
If they are different (local bigger than 0) it should check the remote metadata. If it dosn't have a manifest the file is wrong and than the file should be overwritten. If there is a manifest, it should compare the content-length. If equal all is ok otherwise it should overwrite.

When rclone updates the modification time, it is removing the X-Object-Manifest header which explains the inconsistent runs above.

This is a very big and serious bug. If the manifest has gone you can't relink it if the folder of segments is on in the thousands of folder of container_segment. It can ruins terabytes of uploads!

when rclone finds a 0 byte file should first check if it is a large object.

That is exactly what it does!
If you tell me what OS and bits (32/64) I'll send you a binary to test the fix.

Win64

Il giorno 08 nov 2015, alle ore 10:24 PM, Nick Craig-Wood<EMAIL_ADDRESS>ha scritto:
when rclone finds a 0 byte file should first check if it is a large object.
That is exactly what it does!
If you tell me what OS and bits (32/64) I'll send you a binary to test the fix.
—
Reply to this email directly or view it on GitHub.

Try this.
I also put in the not yet released hubic remote (do rclone config and you'll see)
Let me know how you get on

yes it seems to work.
For hubic consider that the access_token has about 1 day expire time. So rclone shoul grab another token for long sessions with refresh token.
I'll open another thread for another discussion

The Swift auth token normally expires and there is a mechanism in swift for fetching a new one when it does.  The hubic remote implements that, though I haven't actually tested it yet!

This fix has gone live in v1.25
Please test it and if you find any problems then open a new issue.
Thanks
Nick


Some code optimizations

Make 'Cookie' class actually immutable (as described in comment)
Use static members in 'RandomHelper' for efficiency and security
reasons
Synchronize method calls in 'CombinedSequence' class to make it
thread safe (as described in comment)
Use 'Collections.unmodifiableList' instead of int array because an
int array is a mutable Java object
Some other minor changes

I accidentally deleted the branch. However, the important parts are still visible through the comments.
Once they are debated, I can create a new PR with the final changes.


Do we have a user config / your config section ?

I was wondering if VIM has a show off your config or a user config section where beginner and even experienced users could take some inspiration for their own vim config and in general just share their configs around with other people ?

AFAIK, there is no central point where people list and compare their several configs.
The config I use for my Huge Linux builds can be seen at http://users.skynet.be/antoine.mechelynck/vim/compunix.htm ; since nowadays I build Vim in all five of Huge, Big, Normal, Small and Tiny featuresets, I have four additional configs which I haven't posted on the Net because I never thought they would be interesting. Even my Huge config is there only as an example from which anyone building Vim could (and should) develop his or her own config.
Best regards,
Tony.

Perhaps, Vim is rather a raw material than a finished product, and that's why it attracts a lot of interest because raw materials have an infinite potential to make the users' dreams come true.  In general, raw materials are hardly sold with any instructions for proper use, don't they? :)


Update README.md

When running docker run -it -v ./:/opt/share 3dprintedbrain subject.nii on Windows there is the following error: docker: Error response from daemon: create .: volume name is too short, names should be at least two alphanumeric characters.
This commit adds an edited command to fix this issue.

thanks!


Support @foo command lines

In trying to support the Shell command in Shake as https://github.com/ndmitchell/shake/issues/308. Part of the problem is that on Windows the built-in process stuff in Haskell does lots of quote mangling, without giving me the chance to opt out. If @foo.txt as a command line just read foo.txt and took the command line from there (as many programs already support) then I could skip the Haskell mangling and get exactly what I was after from fsatrace.
Some programs treat @foo.txt files as having one argument per line, others as one single line. I'd probably be tempted for Windows to join all lines with a space, and for Linux pass each line as a separate argument - that gives full flexibility and is simple.

I prefer one argument per line. Let me check how hard would it be to turn that into a single string for CreateProcess().

For maximum flexibility (basically so I can control the string to CreateProcess) it would be nice if you just replaced each line with a space, then people can tailor the command line exactly. If you do any quoting etc around the arguments then I no longer have full flexibility.

For info, I managed to sort out the Shell stuff in Shake without requiring this, although it feels more fragile than would be ideal.

Hmm, I would say if any of the lines isn't properly passed as is to the invoked program we can consider that as a bug in fsatrace.
Having said that, what would you expect from a sequence like this?
fsatrace - -- ls *

and from an invocation with an args file containing the following?
ls
*

The second case seems more clear, no shell expansion should happen on any platform since those are the arguments we want to pass verbatim.
The former I'm not sure. I would prefer uniform behaviour across platforms and that probably means disabling glob expansion in fsatrace arguments (just a matter of linking with a different CRT object).
That means invoking the above from the command line on Windows will yield a different result from just invoking ls * in the cmd prompt, but I'm ok with that since the tool is supposed to be invoked from a build system with the right argv[]

This branch has an implementation of this feature:
https://github.com/jacereda/fsatrace/tree/file-args

Agreed, I think having fsatrace do no shell expansion is the right approach - anyone who wants that can prepend cmd /c.

Merging this branch gives me:
make: *** No rule to make target `win/emit.h', needed by `win/fsatracedll32.o'.  Stop.

A make clean fixed it - not sure if that's a missing dependency somewhere?
What I'm really trying to do is create the CreateProcess command line of
cmd /c whatever the user typed unmodified

If I do:
cmd
/c
output\command\shake_helper.exe "otest x"

Then you generate:
cmd /c "output\command\shake_helper.exe \"otest x\""

Which is wrong - escaping " with \" is incorrect on Windows - it should be double or triple quote, but in insanely complicated ways which are virtually impossible to get right (and aren't even total - there are certain quotes you can't properly escape).
My favourite would be to just do unlines for Windows, and not try and reescape them, because there is no robust way of doing it - just expect the person producing the input to properly craft it. I'd be fine if this was behind a --direct flag or similar. Alternatively, maybe @@file to be the "I know what I'm doing" command, which maybe fits better with your existing syntax.
(With this, I think I'll have nailed the Shake/Shell issues entirely, and fsatrace will be able to do everything properly.)

Oh, the argv output also seems a little messed up:
C:\Neil\shake>fsatrace bob.txt -- @cmds.txt
cmd /c "output\command\shake_helper.exe \"otest x\""
shake_helper.exe: shake_helper.hs:(11,9)-(19,41): Non-exhaustive patterns in case

fsatrace.exe(7504): error: command failed with code 1:
argv[0]=
argv[0]=
argv[0]=
argv[0]=
argv[0]=
argv[0]=
ar
argv[1]=v[0]=
argv[0]=
...

The args should be dumped properly in https://github.com/jacereda/fsatrace/compare/file-args

Confirmed, the args are now dumped properly. I still would like a way to do the carefully crafted command line though.

As an example of where the precise command line is required, start cmd and start "cmd" do different things - the first quoted argument to start is treated as the title, whereas if the first is not quoted its treated as a command.

I think I'll try the @@args syntax. In any case I'm tempted to say your example should be handled properly if the args are:
start
cmd
...

or:
start
"cmd"
...

And if they are not I want to fix that in the @args syntax too. IIRC args that are already quoted are passed verbatim.

Quite possibly, if you consider something which is only alpha characters to be already quoted. My concern is if I want to pass foo " bar or similar to a command line I'll have to reverse your "when to escape" logic and perhaps there won't be an input that can produce the output I am after. For Shake, I also don't want to have to munge the users input at all, which is why @@ is preferable.

Given we can just create a .bat file and run that, I think I'll also remove the @foo handling, is that OK?

From Shake usage, yes. Although having an @ variant of other commands sometimes comes in handy, so it might be a future feature request from someone. That said, if it becomes more of a library, then an @ version doesn't make as much sense.


Add Resource Consumption Metrics to Soroban RPC

What problem does your feature solve?
To get a more holistic view of Soroban RPC's resource consumption, we should implement additional metrics other than what Prometheus Process Exporter and Go client export.
What would you like to see?
We already have metrics for memory consumption (e.g. go_memstats_alloc_bytes) and CPU seconds (e.g. process_cpu_seconds_total). However, I would like to see additional metrics implemented:

soroban_rpc_cpu_load - What percentage of the CPU is in use by the process (like what htop displays)
soroban_rpc_disk_reads_kb and soroban_rpc_disk_writes_kb - How much disk I/O is in use (ideally kB reads/writes per second like what iostat displays)
soroban_rpc_request_duration - How long JSON RPC requests take to complete, grouped by request type

What alternatives are there?
We could evaluate Prometheus' existing exporters to see if they fit our use case

After thinking about this more, we probably don't need soroban_rpc_cpu_load (what percentage of the CPU is in use by the process, like what htop displays). This will always vary based on different hardware profiles, where metrics like RAM usage & disk I/O can be compared across different hardware profiles. If we decide we do want this still, we can consider the gopsutil package.
As for soroban_rpc_disk_reads_kb and soroban_rpc_disk_writes_kb (how much disk I/O is in use, ideally kB reads/writes per second like what iostat displays), I tested out the diskstats collector from node_exporter and it has exactly what we need. However, the downside is that we currently need to run a node_exporter alongside Soroban RPC to get this information. Since node_exporter is using the same license (Apache 2.0) as us, we can introduce a slightly modified version of the DiskstatsCollector implementation to get around this limitation.
We should be able to implement soroban_rpc_request_duration (how long JSON RPC requests take to complete, grouped by request type) without any external libraries.

After further investigation, we actually do export soroban_rpc_json_rpc_request_duration_seconds here already. So, to summarize:

We won't add soroban_rpc_cpu_load since it may not be the most useful metric due to it varying based on different hardware profiles (where metrics like RAM & disk I/O can be compared across different hardware profiles). We could use gopsutil if we want to pursue this in the future
In production, Kubernetes should expose these metrics for the pods running Soroban RPC. For local/isolated load testing, we can run Prometheus node exporter alongside Soroban RPC, which will provide these metrics. There doesn't seem to be a suitable exporter that we can integrate without running it separately (e.g. node exporter). As mentioned above we could use the code from node_exporter's DiskstatsCollector Implementation if we really want these metrics outside of Kubernetes without running node_exporter separately in the future.
soroban_rpc_json_rpc_request_duration_seconds is already implemented

Therefore, I'm going to go ahead and close this. We can always reopen if we decide we want to pursue more resource consumption metrics.


Gatsbify the feedback widget styles

The feedback widget looks pretty good, but it could definitely use some polish and potentially subtle interaction sparkly goodness. @greglobinski has some bandwidth, so he's going to look at this next week.
@marcysutton we can get the feedback widget into the site before the style tweaks are in place — don't let this block any integration work with the .org site.

A few random observations:

The styling of the emoji's looks really weird until I clicked one of the choices and realized the middle one is selected by default (that's why it was purple).

"Poor" is the only emoji with color on Firefox 66 (it's yellow, while the others are black and white)

The Emoji's aren't on the same row in Chromium 72

I'm unsure about the interactions of the "Was this doc..." button while I am using the Submit dialog, maybe the dialog should cover the button?

Thank you @nicholascapo,
I believe all the issues you reported will be solved with new styling. The most important change is we will you svg icons instead of Emoji's so  the 'faces' will look the same everywhere.

@nicholascapo oof those emojis... 😅
Thanks so much for adding these!

@greglobinski we just merged #5. When you have a chance, please merge those changes into your branch. Really looking forward to seeing the updated styles! Thanks again!

Done in #7


apply desired joint torque passed from the frankapy client

This PR adds a new skill that requests franka-interface server to apply desired torque to the joints.

Hey @mohitsharma0690! Apologies for getting so late to reply, I was travelling for the most part of the time after your change requests and I didn't have access to the franka robot.
Also, so sorry for adding changes not relevant to this PR. I have removed them based on your comments.
Thanks so much for your comments, I have incoporated the changes you have asked and have addressed some of your concerns. Please get back to me when you could. Thanks!

Also, I have an example joint_torque_control.py script that applies zero joint torque(gravity compensation) that can act as a test case for this feature. Do let me know if you think I should add it to this PR.


Test convolve psf

This adds some convenience wrappers for optimizing the the FFT ELBO, tests for basic functionality, and some notes about low-hanging fruit to optimize.
Note that the FFT ELBO is (just barely) failing the verify_sample_star and verify_sample_galaxy tests.  This is worrying.  Hopefully I'll be able to figure out what's wrong through Steve's galsim tests with a more realistic PSF.
Currently, the FFT ELBO is about 5x slower than the existing ELBO.  The evaluation time is dominated by the FFT.  By being just a little smarter about the sizes of the matrices in FSMSensitiveFloatMatrices, you will be able to save a ton of computation.  I've made some specific notes in the appropriate place.

Strange, master is failling the score test on my computer.

What is the error? For some reason I had to delete test/data/celeste-004263-5-0119.jld. The old version was read incorrectly by JLD.load which caused the score tests to fail.

That's probably it. I should have sent out an email the everyone when I changed the format of that file.


pkg/k8s: add missing support for multi-stack

As multi-stack also means that pods can contain 2 or more IP addresses
we should also populate the local podIPs also with the ones provided by
kubernetes.
Fixes: 47a87f838709 ("pkg/k8s: add support for multi-stack")
Signed-off-by: André Martins<EMAIL_ADDRESS>

test-me-please

test-me-please

Coverage decreased (-0.008%) to 44.608% when pulling 1dbf3c994d4522261cf54813f75a89913762c709 on pr/fix-dual-stack-deployment into 97f8299d6c1a0da4a3f23c296f1e719c72e94c35 on master.


the model iterate too fast and the MAP doesn't change during the iteration

I have tried to run the model on wikiQA corpus. I  first run the run_data.sh and later I tried some
of the models using the given 'python matchzoo/main.py --phase train --model_file
examples/wikiqa/config/drmm_wikiqa.config'. However during the 400 iterations the MAP and the loss
didn't rise and it run so fast. The 400 iterations took only 2 minites and the MAP is only about 30%.Did
anyone know why this would happen? Thanks

If your learning rate is too small, it would be happen.Or are you changed the parameter of config data like ‘query_per_iter’‘batch_per_iter’? Could you show me your config data of drmm?

Thank you so much ! It's exactly the problem that the learning rate is too low. I thought the parameters in the config was already settled so I didn't change the learning rate.


remove duplicate "needs tests"

"needs tests" explanation is repeated twice:
The Problem:
The Fix:
The Test:
Automation Overview:

Related Issue Link(s):
Release/Deployment notes:

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


Add prettier

Adds prettier to package.json
Adds instructions for running Prettier in README.md (though running it in your editor should be prefered)
Adds Prettier CI check
Formats all compatible files with Prettier (JS, HTML, YML, MD)

To review: You should probably focus on the first two commits

I can't see a diff of package.json with the new devDependencies 🤔


SternalBoard 3.0.0

I know we have left this plugin a bit aside, but we have been working privately and talking about it.

Implement Tab (Header and footer) at packet-level supporting current versions
Implement bossbar system
Implement Nametag system
Totally refactor internally (because SternalBoard was designed only for board system)

If you have other feature request, comment it.

Custom placeholders creation to use with SternalBoard (example: %online% -> returns the number of online players) with as parameters in the creation: placeholder (%time%), update(in seconds, 1), return (the part of the code that returns what is of interest)
Placeholders update method

Custom placeholders creation to use with SternalBoard (example: %online% -> returns the number of online players) with as parameters in the creation: placeholder (%time%), update(in seconds, 1), return (the part of the code that returns what is of interest)
Placeholders update method

I think that custom placeholders is good for specific boars settings, mostly like any server uses placeholderapi and the %online% seems redundant.
Ill take a look on the New method used

I think that custom placeholders is good for specific boars settings, mostly like any server uses placeholderapi and the %online% seems redundant.
Ill take a look on the New method used

Just hooking in because I was interested in this aswell. The ability ro register custom placeholders is quite usefull definitly with the API, because plugins and addons can use this to show more advanced placeholders that need specific data. and with this provides different options like event based triggers for updating the placeholder value or even updating the function behind it.
I've used a different plugins api in the past where you could register placeholders internally thru callables, it was possible to update those placeholders aswell with a trigger so I could make sure that all placeholders are updated as I want based on the code thats running at that time. In my opnion a extremely usefull feature for other developers aswell.

Hi, I just enabled discussions to expand this thread in a more appropriate place. Please, go here


Northstar freezes when launched through Viper (1.9.5)

This PR that was merged for 1.9.5 (and reverted for 1.9.6) is causing issues in the game when launching through Viper.
From initial investigations, this seems to potentially be a problem with how Viper creates the NorthstarLauncher process?

I'd suggest making separate PRs for the log colouring and removal of freopen each to see which of the two is actually causing the issue ^^

Should be fixed with newer Viper releases.

Closing as completed.


[BUG] The discord bot will stop working April 30, 2022

txAdmin/FXServer versions:
All versions so far.
Describe the bug
txAdmin uses discord.js v11, which uses discord's v7 API that will be discontinued on April 30, 2022.
We need to migrate to something that uses the v10 API.
This package was recommended, but no idea if it is any good: https://www.npmjs.com/package/eris

solved in v4.14.0


Rootston doesn't set resizing state during an interactive resize

Reported by @vberger

For the record, I think this is an oversight: the function wlr_xdg_toplevel_set_resizing is never called in rootson (according to github code search).


fix(task-service-example): fix migrations and add camunda bpmn provider binding

Description
MIGRATION CHANGE:
migration-20230809100541- changed the duplicate primary key constraint

Closing as the changes are already incorporated in https://github.com/sourcefuse/loopback4-microservice-catalog/pull/1487