Appium updates

Please review @alsorokin !
Platforms affected
iOS and Android
What does this PR do?
Fixes and cleans up certain interactions with appium:

Appium version bumped
Desired capabilities in Selenium-land (and thus Appium) is usually tricky and obtuse. Clarified some usage of it as well as forcing string for platformVersion. Removed browserName completely as it is not applicable to hybrid apps.
I removed the setTimeouts around process killing, as on my Mac w/ node v6.9.1 that would lead to improper termination of the appium process. I defer to you, @alsorokin, on whether that is a good change or not.

What testing has been done on this change?
Tested on Android 5.1 emulator w/ contacts plugin appium tests.
Checklist

[ ] Reported an issue in the JIRA database
[ ] Commit message follows the format: "CB-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
[ ] Added automated test coverage as appropriate for this change.

Good question @alsorokin ! I thought that the appium-based CI tests were triggered via medic, not paramedic?

I see now that they are not! My mistake. I will go look around in paramedic, then :)
We should probably remove this functionality from medic if it is all based in paramedic! Code duplication and confusing to new contributors, clearly :D

Yeah, sorry about this confusion. I think we could get rid of medic altogether, not just the appium code. Medic was used back when we had buildbot CI up and running. Now it's just sits here covered in dust.

@alsorokin ok no problem. I think we just need to move the jenkins configs over to paramedic, then we could probably delete the medic repo completely. I will start a discuss thread on the dev list.


error on show but work

i have working your script, but when show in the console i have this error:
TypeError: s.Math.ceilPowerOfTwo is not a function     three.textsprite:1:1625

hello. looks like you have a very old three.js version.
i use this function.


Demonstration of Ignore method.

For #475

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-ceyjxpgs completed (commit https://github.com/ExtendedXmlSerializer/home/commit/1dfaebab20 by @Mike-E-angelo)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-ceyjxpgs -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview

:white_check_mark: Build ExtendedXmlSerializer <IP_ADDRESS>-fpdjfpbi completed (commit https://github.com/ExtendedXmlSerializer/home/commit/58370e504c by @Mike-E-angelo)
Install it by running the following command in Package Manager Console:
Install-Package ExtendedXmlSerializer -Version <IP_ADDRESS>-fpdjfpbi -Source https://ci.appveyor.com/nuget/extendedxmlserializer-preview


Head tags that should be in the  appear in the

We're using:

Prerender node middleware  @ 2.7.4
Prerender server @ 5.0.2

In using the previous versions of the server, the link, meta, etc tags were rendering in the head tag as normal when coming through prerendered.  In this latest version, while much snappier, has these tags rendering in the body for us.
This behavior appears when we run through our internal instance of the prerender server as well as through your official url: http://service.prerender.io/<user url> So at least it's consistent there.
This is what part of the prerendered document looks like in chrome dev tools:

As you can see, the tags appear in the body tag for some reason -- rendering the page through the browser normally does yield expected results with meta tags in the right place and such. There's no obvious errors in the console or the server logs that I can tell, so debugging has been a challenge.
I'm not sure if it's a specific issue with the server or my code, but perhaps people may have some insights to share here.

We've seen this before and it's due to the <iframe> there. Chrome (and other browsers) see an <iframe> and try to end the <head> and start the <body> before the <iframe>. Are you able to move that iframe down to the body?

Yep!
We were able to change that to use an image tag instead of an iframe and that solved our issues.  Thank you for the help!

Great! Happy to help.

@ngodichat this might be related to https://github.com/prerender/prerender/issues/563 where we just pushed a fix. Can you try upgrading to v5.5.1 of Prerender to see if that fixes the issue here?

@thoop I guess you can close it


Parallelize docker test suite

The current docker test suite installs all supported versions of Python (2.6-3.8) and runs the tests across them multiple times (using different pollers and system locales). Right now they run consecutively, which is slow.
I'd like to change this to be parallel, which would require spinning up multiple containers (instead of just 1), and switching which python executes the tests from the docker run. I also want to continue to support the current behavior of fast failures.
"But why not tox?" is a question that I've fielded a number of times. Tox support is terrible on older Python versions, and while I am happy to support others using it, I want a test suite that is separate from tox.

Ended up using tox in the end


Implement epoll for client

It should facilitate the client to receive updates from a program without the need for STDIN input
Blockers #22

resolved by #27

resolved by #27


pip install -e . error

Hello，when I create a virtual environment and install torch, I run pip install e. The following problem occurs, what is going on?
conda create -n nndet python=3.8
conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3

Hi,
sklearn updated its name and nnU-Net 1.6.6 uses the old naming. Can you try to change the nnU-Net version in the requirements file of nndetection to 1.7.1 and try to reinstall?
Best,
Michael

Hmm, I have successfully reinstalled just now, but when running the nndet_prep Task017 command, the following error occurs, how can I solve it?

Hi,
the error looks rather curious, could you start the script with CUDA_LAUNCH_BLOCKING=1.
The error always comes up if an unexpected error is raised and the creation of the tensor fails, but I can not see the error in the log.


Bug/Orphaned Servers

Upon deletion, kill any running process rather than 'asking nicely'
Fixes #1008

 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.

We also need a call to the .WaitForMainProcess() in it so that it waits for it to terminate:
https://github.com/PufferPanel/PufferPanel/blob/master/environments/standard/standard.go#L149


Go to right branch for plugin URLs

Go to the plugin repo branch instead of the default branch if the user has specified a branch for the plugin

Findings:

lazy.nvim includes branch name in branch field


Transition is only ok on first router change.

I am using the demo listed on readme. But the effect only works on the first time. After that , there's no effect. It seems that the opacity is not set properly when leave. Here's the main code：
import React from 'react';
import ReactDOM from 'react-dom';
import { HashRouter, Route,Switch } from 'react-router-dom';
import { AnimatedSwitch } from 'react-router-transition/lib/react-router-transition';
import {Provider} from 'react-redux';
import configureStore from './configureStore';

//reducers
import Reducer from './reducers';
import InitReducer from './initReducer';

//routers
import Login from './routers/Login';
import Logs from './routers/Logs';
import Config from './routers/Config';

//styles
import './index.scss';

//store
let store = configureStore(Reducer, InitReducer);

class TheApp extends React.Component {
    render() {
        return (
            <HashRouter>
                <AnimatedSwitch
                    atEnter={{ opacity: 0 }}
                    atLeave={{ opacity: 0 }}
                    atActive={{ opacity: 1 }}
                    className="switch-wrapper"
                >
                    <Route path="/"  exact component={Config}/>
                    <Route path="/login" component={Login}/>
                    <Route path="/logs" component={Logs}/>
                    <Route path="/config" component={Config}/>
                </AnimatedSwitch>
            </HashRouter>
        )
    }
}

ReactDOM.render(
    <Provider store={store}>
        <TheApp/>
    </Provider>,
    document.getElementById('root')
);

I am using react-router-dom 4.2.2, react 15.6, react-router-transition 1.0.1.

Your probably have an error in between. For example fixing this https://github.com/maisano/react-router-transition/issues/58#issuecomment-330588409 helped me get it working every time


README: Fix typo: tansformers -> transformers

Hello!
Pull Request overview

Fix typo: tansformers -> transformers

Description
This PR should speak for itself. I'm quite interested in following the progress here.
One thing that I've noticed is that the langchain embeddings are still based on the original transformers, whereas the real langchain has been modernized to using Sentence Transformers (which wraps around transformers). Is there room for modernization in ipex-llm here?
Full disclosure: I maintain Sentence Transformers for Hugging Face.

Tom Aarsen

Hello!
Pull Request overview

Fix typo: tansformers -> transformers

Description
This PR should speak for itself. I'm quite interested in following the progress here. One thing that I've noticed is that the langchain embeddings are still based on the original transformers, whereas the real langchain has been modernized to using Sentence Transformers (which wraps around transformers). Is there room for modernization in ipex-llm here?
Full disclosure: I maintain Sentence Transformers for Hugging Face.

Tom Aarsen

@tomaarsen Thanks for the fix! And yes, we would love to add Sentence Transformers support, maybe something to collaborate on 😄?


Refactor docs clirecording Dockerfile

Description
Remove unnecessary apt & pip packages temp/cache files, prevent additional & unnecessary apt packages, result in saving more than 300 MB in the image size:
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
after                         latest              c523c04f38f8        25 minutes ago      437MB
before                        latest              3c427b69e9f8        39 minutes ago      785MB

Checklist

[ ] I have updated tests where applicable.
[ ] I have added an entry to the CHANGELOG.

Thanks for the PR! 🍰 You seem to have some strong Docker experience, would you like to help out with https://github.com/mitmproxy/mitmproxy/issues/3712? 😃

@mhils looks like the docker build build process is fully controlled by python script? Do you have any manual build instructions?

Sure! This is how we build the image:
https://github.com/mitmproxy/mitmproxy/blob/70223163de3183a73793c80202e2563d9986ca9e/release/cibuild.py#L278-L286
You can get the latest wheel from https://pypi.org/project/mitmproxy/#files. So you need to download the wheel, and then run
docker build
    --build-arg WHEEL_MITMPROXY=/path/to/mitmproxy-6.0.2-py3-none-any.whl
    --build-arg WHEEL_BASENAME_MITMPROXY=mitmproxy-6.0.2-py3-none-any.whl
    --file release/docker/Dockerfile
    .

Does that make sense?

@mhils cool I can write up a version of the Dockerfile, and how do you verify that the dockerized mitmproxy's functions works as expect?

https://github.com/mitmproxy/mitmproxy/blob/70223163de3183a73793c80202e2563d9986ca9e/release/cibuild.py#L287-L297
😄

@mhils one more question, where will mitmproxy-6.0.2-py3-none-any.whl wheel file usually be placed? release/docker/?

It's usually coming from dist/, but that should not matter - this is why we have the full path as a build argument.

@mhils PR sent: https://github.com/mitmproxy/mitmproxy/pull/4493, please help take a look 🎉


Fix typo in recommended config: onclick-has-focus

I was trying to set up an eslintrc extending the recommended rules for jsx-a11y:
"extends": ["eslint:recommended", "plugin:react/recommended", "plugin:jsx-a11y/recommended"],
...
"plugins": [
    "react",
    "jsx-a11y"
]

And got a whole bunch of:
1:1  error  Definition for rule 'jsx-a11y/onclick-hs-focus' was not found  jsx-a11y/onclick-hs-focus

Coverage remained the same at 99.055% when pulling 6ed412a6d8d408622f6903d6042a58bbe8dbc457 on YellowKirby:fix-typo-recommended-rules into b51dd95a19aa9623ceb10c6959927360ffe2f6e3 on evcohen:master.

Ah, careless errors. Thanks! Getting a 500 on trying to publish v1.0.3 - will comment as soon as its resolved.

v1.0.3 was published. thanks for the PR 😄

Awesome. Thanks!


Update weld-se-core to 3.1.1.Final

Hi
Currently no one is able to use weld-junit5 2.0.0.Final as it is broken by weld-se-core 3.1.0.Final.
The new version of weld-se-core 3.1.1.Final fixes this issue and will appreciate if someone could update weld-se-core to 3.1.1.Final.
The issue I am seeing is;
java.lang.nosuchmethoderror: javax.enterprise.inject.spi.observermethod.getpriority()i
BR
Lulseged Zerfu

Hi
Is there any one using weld-junit5 2.0.0.Final without any problem?
BR
Lulseged Zerfu

Sorry for the delay, looks like I forgot to answer back there.
@lulseged I am not seeing the issue you reported.
Are you sure you don't override CDI or Weld version somewhere? The error you posted suggests some version mismatch because priority in observer methods was added in CDI 2.0.

Hi
I don't override any version. I am sure I have seen this problem when I was googling. And I see in the release not of weld 3.1.1.final that this problem is solved.
It will not affect others or break anything if you upgrade to the latest WELD (3.1.1.Final).
Br
Lulseged Zerfu

Upgrading Weld version here is not a problem, I'd just like to understand what's going on and why can't I see this issue.
Also, release notes of Weld 3.1.1.Final don't mention anything related to this - http://weld.cdi-spec.org/news/2019/05/07/weld-311Final/

Hi
I will find out where I have seen it and will update you.
BR
Lulseged

Hi
I am not sure if it helps to upgrade!
I could not find it. Let me show what I am doing:
I am using java 12.0.1
Junit 5.4.2
weld-junit 2.0.0.Final
// main class
public class LoggerProducer implements Serializable
{
@Produces
public Logger getLogger(final InjectionPoint injectionPoint)
{
return LogManager.getLogger(injectionPoint.getMember().getDeclaringClass().getName());
}
}
// unit testing it
@ExtendWith(WeldJunit5AutoExtension.class)
class LoggerProducerTest
{
@Inject
private Logger logger;
@WeldSetup
private static WeldInitiator weldInitiator = WeldInitiator.of(LoggerProducer.class);

@BeforeAll
static void beforeAll()
{

}

@AfterAll
static void afterAll()
{

}

@BeforeEach
void setup()
{
    logger.trace("before each");
}

@AfterEach
void tearDown()
{
    logger.trace("after each");
}

@Test
void testLogger()
{
    assertNotNull(logger);
}

}
The following is what I am seeing in the console:
[INFO] Running biz.shb.inventory.test.core.logger.LoggerProducerTest
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.jboss.weld.util.bytecode.ClassFileUtils$1 (file:/d:/repository/maven/org/jboss/weld/weld-core-impl/3.1.0.Final/weld-core-impl-3.1.0.Final.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int)
WARNING: Please consider reporting this to the maintainers of org.jboss.weld.util.bytecode.ClassFileUtils$1
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.601 s <<< FAILURE! - in biz.shb.inventory.test.core.logger.LoggerProducerTest
[ERROR] testLogger  Time elapsed: 0.586 s  <<< ERROR!
org.jboss.weld.exceptions.WeldException: WELD-001524: Unable to load proxy class for bean Implicit Bean [javax.enterprise.inject.Instance] with qualifiers [@Default] with class interface javax.enterprise.inject.Instance
Caused by: java.lang.Error: java.lang.NoSuchFieldException: override
Caused by: java.lang.NoSuchFieldException: override

Hmm, that's different from the original exception you posted and it does ring a bell now.
But, one thing at a time. Firstly, you are mixing full configuration and automagic approach - manual configuration is used with WeldJunit5Extension (or @EnableWeld) plus @WeldSetupwhereas automagic approach isWeldJunit5AutoExtension(or@EnableAutoWeld`) plus annotations. See the README file. This won't fix your problem though.
The actual problem is JDK 12 and Weld trying to define proxies in it. There should be a fallback using setAccesible() but apparently something is going wrong there. If you use some of the LTS Java versions (8 or 11), then it should work.
Meanwhile, I'll look into this on Weld side.

Hi
I have clean up my repository before running it again and there of another exception.
Yes there is a problem that WELD should fix.
Thanks.
BR
Lulseged
From: Matej Novotny<EMAIL_ADDRESS>Sent: den 29 maj 2019 09:51
To: weld/weld-junit<EMAIL_ADDRESS>Cc: lulseged<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [weld/weld-junit] Update weld-se-core to 3.1.1.Final (#80)
Hmm, that's different from the original exception you posted and it does ring a bell now.
But, one thing at a time. Firstly, you are mixing full configuration and automagic approach - manual configuration is used with WeldJunit5Extension (or @EnableWeld) plus @WeldSetupwhereas automagic approach isWeldJunit5AutoExtension(or@EnableAutoWeld`) plus annotations. See the READMEhttps://github.com/weld/weld-junit/blob/master/junit5/README.md#configuration-versus-automagic file. This won't fix your problem though.
The actual problem is JDK 12 and Weld trying to define proxies in it. There should be a fallback using setAccesible() but apparently something is going wrong there. If you use some of the LTS Java versions (8 or 11), then it should work.
Meanwhile, I'll look into this on Weld side.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/weld/weld-junit/issues/80?email_source=notifications&email_token=AA55GNICBVAMXUARW2E3T63PXYYVTA5CNFSM4HMZ67XKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWOPOCQ#issuecomment-496826122, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA55GNNLQEDOV77WPENDX43PXYYVTANCNFSM4HMZ67XA.

@lulseged actually a little bit of debug showed me that the exception is coming from jboss classfilewriter (lib used to define and declare proxy classes) and not Weld.
So in a way you were actually right that version bump will fix this because Weld 3.1.1.Final uses classfilewriter 1.2.4 whereas Weld 3.1.0 (used now in weld-junit) is on classfilewriter 1.2.3.
And the older classfilewriter version forcefully tries to crack open CL method with Unsafe, hence the exception.

Hi Thanks.
That is what I have discovered weeks ago and could not find it back yesterday.
BR
Lulseged
From: Matej Novotny<EMAIL_ADDRESS>Sent: den 29 maj 2019 10:20
To: weld/weld-junit<EMAIL_ADDRESS>Cc: lulseged<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [weld/weld-junit] Update weld-se-core to 3.1.1.Final (#80)
@lulsegedhttps://github.com/lulseged actually a little bit of debug showed me that the exception is coming from jboss classfilewriter (lib used to define and declare proxy classes) and not Weld.
So in a way you were actually right that version bump will fix this because Weld 3.1.1.Final uses classfilewriter 1.2.4 whereas Weld 3.1.0 (used now in weld-junit) is on classfilewriter 1.2.3.
And the older classfilewriter version forcefully tries to crack open CL method with Unsafe, hence the exception.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/weld/weld-junit/issues/80?email_source=notifications&email_token=AA55GNL6J4VME4CUY7UTQ23PXY4DRA5CNFSM4HMZ67XKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWORYSI#issuecomment-496835657, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA55GNIGSB5GUKVMUI7OZOLPXY4DRANCNFSM4HMZ67XA.

Hi
Can you help us in updating to weld 3.1.2.Final and publish it to maven repository?
This will help us to have a clean code.
BR
Lulseged

@lulseged weld-junit 2.0.1.Final using Weld 3.1.2.Final should land in Maven Central shortly from now.
See https://github.com/weld/weld-junit/releases/tag/2.0.1.Final


[BUG] RTSP stream not starting on RPi 5

Describe the bug
I have an RPi 5 8GB running headless on the latest Raspberry Pi OS available via the RPi Imager with an RPi Camera Module 3 Wide connected. I'm simply trying to get it configured to stream RTSP but I keep getting errors and the stream does not start.
Bug report
I attached the bug report generated using this command:
camera-bug-report -t <timeout in seconds> -o <output file> -c "<rpicam-vid -t 0 --inline -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream}' :demux=h264>
bug.txt
This is the issue I posted on the forum here:
I have an RPi 5 8GB running headless on the latest Raspberry Pi OS available via the RPi Imager with an RPi Camera Module 3 Wide connected. I'm simply trying to get it configured to stream RTSP.
After running all of these commands to update it...
sudo apt update
supo apt upgrade
sudo apt install vlc
sudo apt install ffmpeg

...I tried the instructions offered here: https://www.raspberrypi.com/documentation/computers/camera_software.html#rtsp
When I try...
rpicam-hello
...it starts the stream
When I try...
rpicam-jpeg --output test.jpg
...it streams for 5 seconds and outputs a test.jpg image that I can retrieve via WinSCP and it looks great.
When I try...
rpicam-vid  -t 10s -o test.mp4
...it streams for 10 seconds and outputs a test.mpg video that I can retrieve via WinSCP at it looks great.
When I try to start a stream with this...
rpicam-vid -t 0 --inline -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream}' :demux=h264
...I get this result and errors...
pi@xtoolp2lasercamera:~ $ rpicam-vid -t 0 --inline -o - | cvlc stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/stream}' :demux=h264
VLC media player 3.0.21 Vetinari (revision 3.0.21-0-gdd8bfdbabe8)
[000055563b0f0e50] main interface error: no suitable interface module
[000055563b009560] main libvlc error: interface "globalhotkeys,none" initialization failed
[000055563b0f0e50] dummy interface: using the dummy interface module...
[18:24:36.359722123] [18476]  INFO Camera camera_manager.cpp:325 libcamera v0.3.2+27-7330f29b
[18:24:36.367574459] [18489]  INFO RPI pisp.cpp:695 libpisp version v1.0.7 28196ed6edcf 29-08-2024 (16:33:32)
[18:24:36.385163086] [18489]  INFO RPI pisp.cpp:1154 Registered camera /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a to CFE device /dev/media0 and ISP device /dev/media1 using PiSP variant BCM2712_C0
Preview window unavailable
Mode selection for 640:480:12:P
    SRGGB10_CSI2P,1536x864/0 - Score: 1486.67
    SRGGB10_CSI2P,2304x1296/0 - Score: 1786.67
    SRGGB10_CSI2P,4608x2592/0 - Score: 2686.67
Stream configuration adjusted
[18:24:36.386235628] [18476]  INFO Camera camera.cpp:1197 configuring streams: (0) 640x480-YUV420 (1) 1536x864-BGGR_PISP_COMP1
[18:24:36.386348425] [18489]  INFO RPI pisp.cpp:1450 Sensor: /base/axi/pcie@120000/rp1/i2c@88000/imx708@1a - Selected sensor format: 1536x864-SBGGR10_1X10 - Selected CFE format: 1536x864-PC1B
[NULL @ 0x555661e5b2f0] Unable to find a suitable output format for '-'
ERROR: *** libav: cannot allocate output context, try setting with --libav-format ***
[00007fff1c004290] h26x demux error: this doesn't look like a h264 ES stream, continuing anyway
[00007fff1c004e80] main stream error: unknown query 0x30e in demux_vaControlHelper

Specifically, these lines are in red:
[00005555e8a84e50] main interface error: no suitable interface module
[00005555e899d560] main libvlc error: interface "globalhotkeys,none" initialization failed

[NULL @ 0x5555cd22f2f0] Unable to find a suitable output format for '-'
ERROR: *** libav: cannot allocate output context, try setting with --libav-format ***
[00007fff4c004290] h26x demux error: this doesn't look like a h264 ES stream, continuing anyway
[00007fff4c004e80] main stream error: unknown query 0x30e in demux_vaControlHelper

Can you try adding --libav-format h264 into the command line?

See my reply to that forum post for a version that works on a Pi5 Bookworm with v3 wide camera.

Any updates on this?  If not I will close down shortly.

@naushir Sorry, I wasn't able to check in here for a couple weeks. I abandoned my initial approach for this project...first partially with mediamtx (which seemed to be working well considering the documented rpicam commands did not work at all) then completely since the RPi 5 uses 22 pin mini-CSI camera connectors. I need a 1 m long cable for this project, but for some unknown reason, I cannot find a 15-pin to 22-pin cable that long, so I'm trying to make a 3B+ (15 pin regular CSI connector) work for this streamer. In any case, if the RPi 5 requires different commands as (@slain2 suggested) for the native camera library to work, shouldn't that be documented more clearly at the location I linked in my OP? Conversely, if the provided commands should work, then it seems there's still a bug that needs addressing. 🤷🏼♂

I think it does mention to use --libav-format here.  If it's unclear please do open a PR to update the text.

--libav-format h264

Done, please modify as necessary since I wasn't able to test this.


⚠ SceneTime has degraded performance

In 3532a84, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1425 ms

Resolved: SceneTime performance has improved in 8420340 after 9 minutes.


Fix potential weekly yield

Looks like "My potential weekly yield" is not working properly for CoW pools. It does seem to work if your wallet is not connected, in that it displays a number under "My potential yield on $10k". Please investigate if there is a bug.

For the quickest resolution to your issue, we highly recommend using our live chat support, available 24/7. Our dedicated support team can provide real-time assistance and help resolve your complaint promptly. You can access the live chat here: Balancer Support.
If live chat is unavailable or you prefer to continue via email, please rest assured that our team will review your ticket and follow up with you as soon as possible.


Remove jspm dependency from app/package.json

@vegarringdal can you check if we can remove the jspm dependency from the package.json of the app? perhaps we can use jspm globally, or put the dependency in the root package.json

This for getting the size on final build down ?

Yep, happy with what we've got but we can always try :)

I tried removing jspm and npm from app package.json, and ran:

"npm run setup"
"npm run dist" just to see how big final build ended up.
That gave us size of 66,9, compared to 68,9... so dunno if 2 megs are worth it..

trying to generate a esnext skeleton in it now to see if it works

nope, that probably isn't worth it

thanks for trying it out :+1:


Have unit tests more clear

Hmm... I think I need to make changes to simplify unit tests. Current unit tests are not so clear.

Ref #15


add resource reservation proposal

Signed-off-by: saintube<EMAIL_ADDRESS>Ⅰ. Describe what this PR does
Propose Resource Reservation scheduling.
Ⅱ. Does this pull request fix one issue?

fixes #188
Ⅲ. Describe how to verify it
Try to submit a Reservation object.
Ⅳ. Special notes for reviews
None

https://github.com/kubernetes/kubernetes/blob/c1e69551be1a72f0f8db6778f20658199d3a686d/cmd/kubeadm/app/apis/bootstraptoken/v1/types.go#L33-L40

/approve

/lgtm

/approve


Unify setting tooltips for items in SceneTreeEditor

Makes only the tooltip parts specific for different cases (inherited scene / instanced scene) be generated separately, the rest of the tooltip is now handled the same way for every case.
Fixes #76663.

Before
After

Thanks!


Feature flag mod

Removals

Removes flag app and moves it to https://github.com/cfpb/wagtail-flags

Changes

Fixes CSS structure on Wagtail CSS.

Testing

Follow https://github.com/cfpb/wagtail-flags#installation

Notes

Don't merge before Feb 1, EOD.

Before we merge this I'd like to get the tests working in wagtail-flags too.

I've submitted a PR to wagtail-flags that fixes the tests over there and should be compatible with how we're using it here.

It would also be good if we could make a release of wagtail-flags and pin the version so we're not constantly building the same code. I think this PR in wagtail-flags should be merged before we do that. Once it's reviewed and merged I can create a release, and add the pin.

Have you thought about uploading it to PyPI?
https://packaging.python.org/distributing/#uploading-your-project-to-pypi

@rosskarchner yes, I would very much like us to.


updating monkey lib name

This was breaking some of my tests, in a downstream dependency im working on. Apparently this guy just changed the name of his library 🤷♂

Thank you so much!

v0.1.0 released.


fix tests on LTS

no issue

liquid-tether which we use for modals leaves container elements behind when it's used within acceptance tests which then interfere with the integration tests because integration tests expect the first element in the testing container to be the rendered component

💥 tests are ✅ again 😄

Awesome, thanks @kevinansfield!


Updated page for new localizer onboarding

I just realized I made a bunch of errors that I need to fix - will address tomorrow

I just realized I made a bunch of errors that I need to fix - will address tomorrow (lots of links to update)

Not sure you can fix the link without having all the code running locally. I'll give it a pass, and let you fix the rest of the content if needed.

Actually, I only found one incorrect link, all the others are working as expected.
This is how the page currently looks like.


Saving Teams Channel Chats before removing the Team

I was able to drill down to the Get-PnPTeamsChannelMessage and found out I can get the content.
I found out there are replies associated with each message but there is no ".Replies" in the intellisense. is this not done yet? or did I miss something?
Also do I really need to save the posts before removing the group? are they saved somewhere else I can get to if I am asked to get out of an archive.

Hello @Ofer-Gal
how are you?
Even though the PnP documentation articles are on this repository, I need to kindly redirect you to open PnP cmdlets issues/pull requests here, in that repository, where a member of the PnP community will be able to correct the article/review your PR with your feedback.
The documentation for PnP cmdlets is then synced from that repo into this one.
Thank you!

@get-itips Thank you very much for the contribution and sharing this explanation. @Ofer-Gal Hope this comment is helpful for you. If you see a documentation update is required, please feel free to open an issue for the same. We proceed here to close it. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


ISet vs Set, ICard vs Card

Hello,
I see the way to get Set and Card info is now done using a ISet and ICard.
I was wondering why this change was made?
Because it's still doing the same, for example I get ISet.Code or ICard.Name etc.
It does exactly the same as in the old version.
What is the reason for this change?
greetz

I made a change to make things more encapsulated. So that the consumer never sees the implementation details. So you are right that the objects are exactly the same but the interface is immutable now.
let me know if this causing any issues, I can try and work around it.

Thanks, understood.


Return empty string for Infinity and properly format values such as 0.999

This PR fixes two issues in currency filter (demo for both: http://jsfiddle.net/k5bv3r62/ ):

x.999 values are shown as $x.00
Say you have model with value 0.999. With currency filter applied it will be shown as $0.00

Infinity value show as $In,finity.ty
I think, it would be good to return empty string as for falsy values

Also I added new test cases for described issues.

Thanks for the PR. Would it be weird to have Inifinity output as empty string though? Maybe it should just print "Infinity"?

Thanks for response.
That's interesting question. Here is my thoughts:
It seems that printing an empty string is a default way to say that value is wrong. Currency filter does it for undefined and for NaN. And it would be less weird to see 'Amount: ' than 'Amount: NaN' or 'Amount: Infinity' somewhere in interface.
Also I made this test with AngularJS, it prints empty string: http://jsfiddle.net/41Lga6bg/

Sounds good, it's probably a good idea to keep the filter consistent with Angular's implementation.

Thanks!


Animated gif overlay strange behavior (chrome only)

Spotted some strange behavior of a animated overlay (only in chrome)

Sample link: http://ontladingen.nl/testing.html

The border? I don't get that locally in chrome.

Looks fine for me too. What OS? In any case, I don't think this has to do with Leaflet, which just puts an image on the map.

System: windows 8 (64 bit)
Seems to happen when i repeatedly press CTRL + F5
Looks like a chrome cache problem or so...  I sometimes see parts of the rest of the page in the picture. Looks like i'm at the wrong place then ... You can close this issue


implement payload synchronization api

HMAC authorized POST/GET
dynamic SynchronizableResource enables configuration per Entity

[#109977720]

Excellent testing and code.  Nicely done.  I am not sure if you are still working on it so merge when ready! :+1:


Introduce eval output

Allow user to eval the output with shell.
All the retrieved elements will become strings that can be transformed
in shell variables by using the linux eval command.
https://github.com/openuado/niet/issues/48
https://gist.github.com/pkuczynski/8665367
Implement #48

How to test it:
$ git clone https://github.com/openuado/niet/ -b eval
$ cd niet
$ pipenv shell
$ pip install pbr
$ python setup.py install
$  # observe the samples before
$ cat tests/samples/sample.json
$ cat tests/samples/sample.yaml
$ #test it
$ niet project.list tests/samples/sample.json -f eval
$ niet project.list tests/samples/sample.yaml -f eval
$ # enjoy!

worked after installing in the virtenv:
future jmespath PyYAML
my example has no nesting so I had to run it like this:
> cat config.yaml
# species database for enrichment with InterMine
mine: "YeastMine"
orgdb: "org.Sc.sgd.db"
threads: 80
pychopper: TRUE

> niet . config.yaml -f eval
mine="YeastMine";orgdb="org.Sc.sgd.db";threads="80";pychopper="True"

# good but not exported

> echo $mine
<nothing>

the final test command
> eval $(niet . config.yaml -f eval)
> echo $mine
YeastMine

I had to add my own eval on top has your eval seems to be volatile and does not export (is this right?)
Thanks for the great addition, I am sure this will be useful to more

Hello @splaisan, thank you for your review :)

worked after installing in the virtenv:
future jmespath PyYAML
my example has no nesting so I had to run it like this:
> cat config.yaml
# species database for enrichment with InterMine
mine: "YeastMine"
orgdb: "org.Sc.sgd.db"
threads: 80
pychopper: TRUE

> niet . config.yaml -f eval
mine="YeastMine";orgdb="org.Sc.sgd.db";threads="80";pychopper="True"

# good but not exported

It's not possible to export persistant environment variables from python. I mean, it's you can set/export environment variables who will be there only during the time of your python process, niet in our case, but when your process is termined every env vars previously setup was gone too.

echo $mine

the final test command

eval $(niet . config.yaml -f eval)
echo $mine
YeastMine

I had to add my own eval on top has your eval seems to be volatile and does not export (is this right?)

You are right you need to eval the output of niet to play with it in shell/bash env.

Thanks for the great addition, I am sure this will be useful to more

You are welcome :)
I also added the possibility to generate shell arrays from python lists, another future improvement can be to check and adapt output to specific shell (bash, zsh, ksh, etc...), I guess some minor difference exists between all of them and it can be useful to provide a list of supported shells.


Blackout Comics (PT-Br Source), No results found

Source information
Blackout Comics 1.4.6
Source language
Português
Steps to reproduce
Even when logging into the source settings, the message appears: No results found.

Expected behavior
View Source files.
Actual behavior
Can't access the files.
Mihon/Tachiyomi version
0.17.0
Android version
Android 12
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Duplicate/part of #5599
Search the existing issues first before opening a new one


Feature:DrumKit

The present Drum Kit project does not allow mouse click to select sound, only keypress is detected. if you allow, i can add the on click feature.

This issue already been resolved.


Loading a project creates error in the console for the loading of language files (LG.json, where LG is EN, or FR…)

Describe the bug
When loading a project, in the console, if you choose a userLang different than en, you get two error lines,  Failed to load resource: the server responded with a status of 404 (Not Found) and :3333/fr/en.json:1 Failed to load resource: the server responded with a status of 404 (Not Found)
To Reproduce
Steps to reproduce the behavior:

Choose another language than english
Load a project
Open JS Console
See error

Current Results
Note that in english, you have just ONE error line for EN.
Screenshots

Desktop:

OS: MacOS X.14.6
Browser Version: Chrome latest
usarLang = 'fr'

OpenRefine :

Version v3.5 (master)

A cursory look at the call stack indicates this is a bug in the database extension.

Closed by #2847.


Request pool manager options

Cornerstone imageLoaders registered to cornerstone can take options which may specific to the loader themselves.
This PR adds an argument to the request pool manager to pass options down options to its managed cornerstone.loadImage and cornerstone.loadAndCacheImage calls.
These options are merged with the default options request pool manager provides.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG] The target namespace for node-exporter is not coherent

Describe the bug
The component node-exporter within the k8s daemonset  installation variant ( k8s as cloud service )
is not coherent in the context of target namespace:

on one one hand the component defaults are targeting it to the dedicated ns (epi-monitoring)
on the other hand the component upgrade procedure (ie. check for existence task or uninstall task ) will try to operate on the default ns only

This will cause the node-exporter component to not being updated upon the epiphany upgrade process.
The bug perceived by @przemyslavic .
How to reproduce
Steps to reproduce the behavior:
A ) install epiphany in the k8s_as_cloud_service: True mode
B ) upgrade epiphany
Expected behavior
The node-exporter component should be operated (installed, upgraded) from within the one and only k8s namespace
Environment
Epiphany installation with  k8s daemonset installation enabled ( k8s_as_cloud_service configuration parameter set to True )
epicli version: [epicli --version]
1.3.0dev

DoD checklist

[ ] Changelog updated (if affected version was released)
[ ] COMPONENTS.md updated / doesn't need to be updated
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade

[ ] Case covered by automated test (if possible)
[ ] Idempotency tested
[ ] Documentation updated / doesn't need to be updated
[ ] All conversations in PR resolved
[ ] Backport tasks created / doesn't need to be backported

The purpose of these tasks was to uninstall node exporter from the default namespace (it was installed there at the beginning) and to install it in dedicated epi-monitoring. It was a kind of fix. Now, when upgrading, we should take into account both variants, that node exporter can be in default namespace or dedicated.

Please update changelog about node exporter update

Tested the second time on AWS/Ubuntu and Azure/RHEL after this comment:
✅  apply develop + upgrade + upgrade
✅  apply 1.0 + upgrade + upgrade
Behaves as expected, idempotence covered, metrics are in place


Directory::get_space_left() returns invalid result on Unix

Godot version:
3.x (c0b3ad2f7bd09c3b0b905842c3b90be6381fe1e0)
master (3b380f4cd)
OS/device including version:
Linux, Mageia Cauldron x86_64
According to @bruvzg, also reproducible on macOS
Issue description:
Running Directory::get_space_left() seems to return garbage data, at least on x86_64.
The data does not correspond to the available disk space reported by df.
For example, with this script:
var dir = Directory.new()
dir.open("/")
print(dir.get_space_left())
dir.open("/home")
print(dir.get_space_left())

And this partition setup:
$ df
[akien@cauldron Over9000]$ df
Filesystem      Size  Used Avail Use% Mounted on
...
/dev/nvme0n1p6   59G   46G   11G  82% /
...
/dev/nvme0n1p7  196G  173G   22G  89% /home

I get, on master and 3.x with x86_64 build:
1208348672
-481312768

Earlier today I had:
1208475648
222502912

I've been compiling the Rust compiler in the meantime which can explain the diff between the values for /home.
With an i686 build, it seems better:
14093234176
25292083200

Steps to reproduce:

Compare the output of Directory.get_space_left() on your system to what the system reports

Minimal reproduction project:
OS/user-dependent, but see above for a snippet.

On macOS using vfs.f_frsize (fundamental file system block size) instead of vfs.f_bsize (file system block size) works.
Also, it might be better to use vfs.f_bavail (space available to user) instead of vfs.f_bfree (space available to system).
In case of macOS it will be smaller for the system volume, excluding APFS snapshots.

vfs.f_bavail * vfs.f_frsize; works on 64-bit Linux, but not on 32-bit Linux.

(uint64_t)vfs.f_bavail * (uint64_t)vfs.f_frsize also works on both 32-bit and 64-bit Linux.


Bug #1568 about JsonSerializable still reproduces

Bug #1568 still reproduces when I test with the latest version of Yii 2.0.
I use a ActiveController to make a RESTful that returns JSON Data.
In the model class that extends ActiveRecord I use this code:
class MyModel extends \app\models\base\MyModel  implements \JsonSerializable
{
    public function jsonSerialize() {
         return ['startTime'=>'2012-12-12T00:00:00'];
    }
}

What exactly is the problem wih that model? how do you use it and what do you get?

@fproject  what are you expecting in response?

i also don't see the necessity to use JsonSerializable in your model,
also ActiveController already implements a response serializer and what your models just have to do if you want to customize it is to override fields()

Actually I want to response all date-time fields serialized with ISO8601 instead of the default format.
And I hope that I can do that by implement JsonSerializable.
But it seems that the yii\helpers\Json doesn't use my jsonSerialize() method.

can you show the code of controller action and how you configured the response formatter?

The controller:
class MyController extends ActiveController
{
    public $modelClass = 'app\models\MyModel ';

    public $serializer = [
        'class' => 'yii\rest\Serializer',
        'collectionEnvelope' => 'items',
    ];
}

That's all.

@fernandezekiel : can you suggest me a solution (or workaround) for this problem?

@cebe There is no issue at all. That issue should be solved via standart Model::fields() method.
@fproject Please read guide how to do what you want inside Yii 2: http://www.yiiframework.com/doc-2.0/guide-rest-resources.html#overriding-fields

Example:
public function fields()
{
    return [
        'your_date_time' => function ($model) {
            return $model->your_date_time; // in any format you want, for example ISO8601
        },
    ];
}

Thank you @creocoder.

@creocoder : What should I do if I want all date-time fields in all model classes always be serialized as ISO8601?
I dont want to repeat that code in Model::fields() every where :(

@fproject Create base model with fields() inside.

Added a test case to verify behavior. its all fine as far as I see.

php can't magically determine which of your fields are the date time and the ones that has to be converted into ISO8601, you will have to do it manually


Add wind chill

Add wind chill to the current observations PHP and JSON output.
Windchill Temperature should only be defined for temperatures at or below 50°F and wind speeds above 3 mph. Bright sunshine may increase the windchill temperature by 10°F to 18°F.

Merging this with #11.


Flake8 ignore list for Black compatibility

Flake8 raises a warning for "E203" when it encounters a Black decision to insert whitespace before : in slicing syntax.
Black's behaviour is more correct here, so my suggestion is to add "E203" to the flake8 config ignore list.
i.e. in setup.cfg:
[flake8]
...
extend-ignore = E203

I will change that. Thanks @twolffpiggott

@twolffpiggott I see you change that in PR #39

@twolffpiggott I see you change that in PR #39

Yes, I needed to bring it in in order to satisfy the formatting tests


use node16 as runner

close https://github.com/liskin/gh-problem-matcher-wrap/issues/9

Thx and sorry for the delay. Life kept me busy.


feature: default call_name for broker.subscriber if there no any subscriber function

Now AsyncAPI raises an error if you try to generate schema with subscriber without any handler function. We should add a default name for that case.

I think, we can just refactor this method as the follows:
@property
def call_name(self) -> str:
    """Returns the name of the handler call."""
    if not self.calls:
        return "Subscriber"

    else:
        return to_camelcase(self.calls[0].call_name)

But, we should add the test for it to this case: https://github.com/airtai/faststream/blob/main/tests/asyncapi/base/naming.py#L15


pyradio: <IP_ADDRESS> -> <IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for pyradio is: Curses based internet radio player
meta.homepage for pyradio is: http://www.coderholic.com/pyradio/
meta.changelog for pyradio is: https://github.com/coderholic/pyradio/releases/tag/<IP_ADDRESS>
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found <IP_ADDRESS> with grep in /nix/store/9hihly2gyg1hyvk98fafi6h954z4mys1-pyradio-<IP_ADDRESS>
found <IP_ADDRESS> in filename of file in /nix/store/9hihly2gyg1hyvk98fafi6h954z4mys1-pyradio-<IP_ADDRESS>

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

pyradio

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9hihly2gyg1hyvk98fafi6h954z4mys1-pyradio-<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A pyradio https://github.com/r-ryantm/nixpkgs/archive/7ca292fa95fd6c6baecd608f671a2ee3d352eda6.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7ca292fa95fd6c6baecd608f671a2ee3d352eda6#pyradio

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/9hihly2gyg1hyvk98fafi6h954z4mys1-pyradio-<IP_ADDRESS>
ls -la /nix/store/9hihly2gyg1hyvk98fafi6h954z4mys1-pyradio-<IP_ADDRESS>/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

pyradio
pyradio.dist

Maintainer pings
cc @contrun @yayayayaka for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 338991 run on x86_64-darwin 1

2 packages built:

pyradio
pyradio.dist


Consider an even newer name for task_name

Ref: https://github.com/luckyframework/lucky/issues/1834
In https://github.com/luckyframework/lucky_task/pull/19 I deprecated name because that's a fairly common arg that people might use. I called it task_name thinking people would be less likely to use it. However, it turns out that Lucky uses it for the task that generates new tasks... :man_facepalming:
lucky gen.task --task-name=new_task
Now, of course, I could use name here; however, there's still task-summary that's an arg, and I can't use summary for the same reason I couldn't use name before. I could also deprecate summary for task_summary here, but how bad is that?

After some Discord discussions, it might be better to move these methods to the class level. There's really no reason for them to be instance methods anyway since the name of your task and the summary don't change between new instances. This will be a breaking change, but should take the burden of name collisions away.


Support definition of dependency constrains for a group of modules

A common pattern for "platforms" that consist of multiple modules, is to have all modules in the same group and have their versions synced.
This feature allows to make sure the versions of all modules that belong to such a "platform" align,  by defining a dependency constraint for the whole platform (i.e. the whole group).
For example:
dependencies {
  constraints {
    implementation group: "org.glassfish.jersey.core", version "2.6"
  }
}

We may consider to support hierarchical groups or something similar that takes group of parent into account. Such that this is also supported:
dependencies {
  constraints {
    implementation group: "org.glassfish.jersey", version "2.6"
  }
}

This could be done same way as in Spring Dependency management plugin.
I think that it should be possible to list artifacts to have same group with different versions/artifacts
dependencies{
     constraints{
          implementation (group:'org.slf4j', version: '1.7.7') {
               artifact 'slf4j-api'
               artifact'slf4j-simple'
          }
     }
}

We're probably going to model this as a first class concept (module set).

This feature has been delivered as part of Gradle 5.0 under the name dependency alignment.


middleware.Logging should log interesting request-/response-specific fields, such as method and response status

I still think it's to our discredit that we don't have a simple way of outputting the common log format, but this seems like a good step in the right direction.

@rossabaker I first looked to BlazeBuilder for this functionality. Having to wrap every service in a middleware gets ugly. I think it would be reasonable to open a new issue to deprecate middleware.Logging and introduce a BlazeBuilder setting that outputs these logs according to the linked standard.

I think this is fixed by #1709.  The better way is tracked by #1721.


Remove unused files from Creditcoin-js

Description of proposed changes:
There are some unused files in creditcoin.js
Practical tips for PR review & merge:

[ ] All GitHub Actions report PASS
[ ] Newly added code/functions have unit tests

[ ] Coverage tools report all newly added lines as covered
[ ] The positive scenario is exercised
[ ] Negative scenarios are exercised, e.g. assert on all possible errors
[ ] Assert on events triggered if applicable
[ ] Assert on changes made to storage if applicable

[ ] Modified behavior/functions - try to make sure above test items are covered
[ ] Integration tests are added if applicable/needed

Codecov Report

Merging #967 (3c17cdf) into dev (560dfd9) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev     #967   +/-   ##
=======================================
  Coverage   77.63%   77.63%
=======================================
  Files          75       75
  Lines       11387    11387
=======================================
  Hits         8840     8840
  Misses       2547     2547

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


refactor get_request_message to use next() for improved performance

Fixes

Fixes #230 by @Faith-K-commits

Description
This pull request simplifies the get_request_message function by refactoring it to use a generator expression, removing the need for explicitly looping through the messages list. The new implementation leverages Python’s next() to directly return the first relevant message containing "scholarship" or "case" or None if none is found.
Technical details
The previous version of the get_request_message function used a for loop to iterate through the messages.
The refactored version uses a more concise next() function with a generator expression.
This results in clearer and more efficient code.
Tests

Ensure that messages containing "scholarship" or "case" are properly returned.
Confirm that if no message matches, None is returned.
Test edge cases such as empty messages and different message formats.

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main or master).
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin

For the purposes of this DCO, "license" is equivalent to "license or public domain dedication," and "open source license" is equivalent to "open content license or public domain dedication."

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

You're welcome @TimidRobot


SAS metadata Length

Please anyone know how to set the Length metadata on a column :
for k, v in ds.items():     for i,n in sdtm_specs.iterrows():         if k == n['Variable Name']:             v.label=n['Label']             v.length=n['Length']             if v.dtype == 'object':                 v.format = '$CHAR20.'             else:                 v.format = '10.2'

Isn't the $CHAR20. setting the length to 20?

Isn't the $CHAR20. format setting the length to 20? What do you mean by the length?

I made a mistake, to set the length we need to use v.width instead of v.length.
Thx


Finn fresh install with quicktest

Hi , i am trying to install finn on Ubuntu 18.04 and python 3.8.11. When i run quicktest , i got this error :

I tried main version. Then i tried other version like v0.8.1 or v0.8 i got this error : I can not solve problems.

Thanks for answering.

Hi, this dependency issue should be solved on the current dev branch. Can you try that one?

Hi again @fpjentzsch , yes its worked. I can open notebook , but i have still 4xfailed . Is it important ?

Thanks for answering , maybe u can pull this branch for fresh installing. If this is not important , we can close issue. Thanks for everything.

No, these tests are currently marked as "expected fail", so there is no problem.

Hi again @fpjentzsch , I worked on dev branch now , (this is my second pc). I can run same ipynb file my second pc (i installed finn on feb or before then so i dont know which branch), but i can not run same ipynb my first pc (dev branch.) This is error :

Can u help me again , thank you sir.

Actually i dont know why x is a list. Then , i tried and export_qonnx is going to same function and i got same error.

I found the answer on https://github.com/Xilinx/finn/issues/853#issuecomment-1640105304. You have to use ishape with torch.rand(ishape).

Hi, this dependency issue should be solved on the current dev branch. Can you try that one?

Hello could you explain to me how to use the dev brach? I directly pull the repo that is written in the getting started page. Thanks

Hi, this dependency issue should be solved on the current dev branch. Can you try that one?

Hello could you explain to me how to use the dev brach? I directly pull the repo that is written in the getting started page. Thanks

You can use this command
git clone -b <branchname> <remote-repo-url>  , branchname should be "dev"

Hi, this dependency issue should be solved on the current dev branch. Can you try that one?

Hello could you explain to me how to use the dev brach? I directly pull the repo that is written in the getting started page. Thanks

You can use this command git clone -b <branchname> <remote-repo-url> , branchname should be "dev"

It works for me, too. Thank you!


Availability of MariaDB 10.4

[Enter feedback here]
We are planning to use Azure Database for MariaDB. We only see version 10.2 and 10.3 available. When can we expect that V10.4 will be available?
https://docs.microsoft.com/en-us/azure/mariadb/concepts-supported-versions

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

ID: 2f5e4798-d1ea-e82b-0459-2e268387152d
Version Independent ID: 1bb7d77d-0b97-3190-ea91-9a10a014eefc
Content: Supported versions - Azure Database for MariaDB
Content Source: articles/mariadb/concepts-supported-versions.md
Service: mariadb
GitHub Login: @savjani
Microsoft Alias: pariks

Hi @arcpan - MariaDB 10.4 is upgrade is not part of immediate plans in next 3 months. Our current focus is to land Azure Database for MySQL Flexible server to GA. Have you considered or evaluated MySQL Flexible Server?

we have not evaluated MySQL Flexible Server. We are trying to use MVP approach to migrate on-prem load to Azure  and then   modernize application using Azure PaaS services.

Hi @arcpan - if you take mysqldump, you will be able to import it to MySQL Flexible Server. I would recommend you give it a try but to address your concern, but we wont be having 10.4 in next 3 months at least.

Hi @MonikaReddy-MSFT - Can you please help close this thread

Please go ahead and close this ticket. Appreciate the help.


Move symbolic font glyphs to private use area if they don't have unic…

…ode mappings.

/botio test

Closing as supseded by #7705, which is reported to have a complete solution for the issue.


Add support for custom endpoints to support other AWS regions

Also adds some documentation and golint issues.

All tests are passing, the fail is from the build setup on Travis.

Thanks!

NP, it was an easy fix and we needed the functionality. Thanks for the lib!
--
Max Persson
Software Engineer
+46 708 710504
<EMAIL_ADDRESS>＞ looplab.se

On 6 feb 2015, at 16:57, Quinn Slack<EMAIL_ADDRESS>wrote:
Thanks!
—
Reply to this email directly or view it on GitHub.


Vb 1453 get prisoner levels from new prison api endpoint

What does this pull request do?
Allows calling the new Prison API endpoint to get housing locations.
What is the intent behind these changes?
To incorporate new Prison API endpoint and introduce configuration to go back to old Prison API call in case there's an issue with the new endpoint.

this should not go back to the "old" API - the old API was not suitable for our purpose.
If the "new" API fails, raise an exception and deal with in exactly the same way as a failure from any endpoint

@dhirajshettymoj to go back to the old API, seems like defensive programming which should be avoided. I am wondering why you are doing this, did the new API have errors? If it does it's not ready for release and a defect should be razed. For them to fix!

@rj-adams @AledWEvans I was wondering just in case. the new endpoint has not been tested enough. But I guess now that they have gone Live it should have been tested. I will remove the code around the old Prison API endpoint call and resubmit the PR.

Well if there system is not ready in the Agile sense we use the old approach until it is, but if we have no reason or evidence to suggest it is not work, we simple move the pre PR code into preprod and then do testing on this code if there are issues we rase bugs accordingly.. So my suggestion is move the branch main in to preprod (ask team) , remove the dual code in this review and then test!

@AledWEvans @rj-adams I have now updated the code to only use the new Prison API endpoint.


parsero: init at 0.81

Description of changes

Robots.txt audit tool https://github.com/behindthefirewalls/Parsero
Request from #81418
Was pleasantly surprised to see @fabaff pop up in the source! :)
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 184952 run on x86_64-linux 1

1 package built:

parsero


Add potential orphan count to cards

Dirk has calculated the count of potential orphans for each package that has a deadline. This could appear on each card as a representation of the knock-on effect of packages leaving CRAN.

Hadley has now added this to his page.


[Utility] Set POSIX_SPAWN_SETPGROUP only when STDIN is not a tty

https://bugs.swift.org/browse/SR-3981

@ddunbar IDK if this is the right fix for this problem, but it seems to work. I found this fix here: https://github.com/apple/swift-llbuild/blob/master/lib/Commands/NinjaBuildCommand.cpp#L1196-L1197

Doing this for now: https://github.com/apple/swift-package-manager/pull/1001


HF Down, Axo Dead

Please check that this issue hasn't been reported before.

[X] I searched previous Bug Reports didn't find any similar reports.

Expected Behavior
Axolotl works with local model and local dataset without HF hub or HF at all.
Current behaviour
There is a whoami and who knows what else that calls HF. When HF was down, train couldnt start.
Steps to reproduce
/etc/hosts entry for huggingface.co hostnames
try to train anything
Config yaml
No response
Possible solution
capture exceptions for HF calls, None those objects and cascade it accordingly.
Which Operating Systems are you using?

[X] Linux
[ ] macOS
[ ] Windows

Python Version
3.10
axolotl branch-commit
main
Acknowledgements

[X] My issue title is concise, descriptive, and in title casing.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of axolotl.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

You can set TRANSFORMERS_OFFLINE=1 in your env vars

wah.. didnt knew that one :D i saw anyways in the code the whoami. I'll give it a shot with this env_var.
thank you!

You probably also need HF_DATASETS_OFFLINE=1.


Change component

Currently there is some error:
robot --catalog catalog-v001.xml annotate -I "https://raw.githubusercontent.com/obophenotype/brain_data_standards_ontologies/pcl_migration/bdso-base-ext.owl" --ontology-iri http://purl.obolibrary.org/obo/pcl/components/bdso-base-ext.owl -o components/bdso-base-ext.owl
2021-12-02 14:28:06,467 ERROR org.obolibrary.robot.IOHelper - Input ontology contains 557 triple(s) that could not be parsed:

http://purl.obolibrary.org/obo/PCL_0011564 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147495839.
http://purl.obolibrary.org/obo/PCL_0011428 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147495737.
http://purl.obolibrary.org/obo/PCL_0012570 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147496043.
http://purl.obolibrary.org/obo/PCL_0011570 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147495841.
http://purl.obolibrary.org/obo/PCL_0013487 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147496140.
http://purl.obolibrary.org/obo/PCL_0013525 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147496168.
http://purl.obolibrary.org/obo/PCL_0011434 http://www.w3.org/1999/02/22-rdf-syntax-ns#type _:genid2147495743.

Currently fixing issues by using sh run.sh make components/bdso-base-ext.owl prepare_release to run a release which forces make to build bdso-base-ext first - this allows the importing of terms to work properly (sh run.sh make all_components prepare_release should work too) - Nico mentioned that there are some technical issues that are more tricky to solve, but we can use this as a workaround for now


How to add remove class in date picker?

How to add remove class in date picker?
      $('#EstimatedBeginDate').datepicker({
          autohide: true,
          trigger: '.date-icon',
      });

This lib is deprecated. Please search for other solutions.


feat: Set ELECTRON_OZONE_PLATFORM_HINT=auto as the default

Fixes rendering issues and crashing of electron apps when using the NVIDIA drivers.
This makes the electron applications (flatpak or not) to detect the type of session and act accordingly.
https://www.electronjs.org/docs/latest/api/environment-variables#electron_ozone_platform_hint-linux

From my testing everything gets fixed, the only downside is that with some apps, you get the wayland icon instead of the app one when alt-tabbing. Other than that, tested element, boxy-svg, signal, discord, spotify and most importantly VSCode and all the UI rendering bugs and stuttering go away :)
Maybe if you prefer to use Xwayland it could be merged just for NVIDIA, but i think the Wayland icon is a small downside to the performance improvements.

I just checked it and it seems that /usr/etc/environment doesnt get sourced if you have changes already in /etc. Is that the expected behavior? I started using silverblue based Linux a few weeks ago.

Yes, unfortunately if somebody has edited their local file, the updates to that same file will not be applied.
We could look to change the configuration to /etc/environment.d/something.conf, which should help.  Not too sure if this is a valid drop-in directory yet

Ok! I'll work on it. Seems a way better approach. What about /etc/environment.d/electron-flags.conf?


Add addonmanager.kubernetes.io label documentation

Document addonmanager.kubernetes.io/mode label. Fixes #29189

@sftim, I've added the label documentation per #29189 but I wasn't sure where in the document to place it. I picked a random spot, so please let me know if I need to change it. Thanks!

FYI @tengqm


F-M3-3F Share data- e/consent/ dynamic consent (UI for Data Matchmaking)

When users select it: Execute the Donation Action in the Info Request, generating the corresponding dynamic permission DSU.
2 options to notify the user: data matchmaking will be executed when this UI is opened or we send a notification to the patient ssapp.

duplicate of #30
At least this is the UI part of #30 .
could overlap #48


pico/version.h missing on Raspberry Pi 4 after running ./pico_setup.h multiple times

I have installed the ~/pico_setup.sh` script including sdk, examples, openocd etc on a brand new Raspberry Pi 4 image
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm

Revision	: d03115
Serial		: 100000005d820ddf
Model		: Raspberry Pi 4 Model B Rev 1.5

The c/c++ include configuration is
${workspaceFolder}/**
${env:PICO_SDK_PATH}/**

IntelliSense on VScode suggests everything is OK except the #include "pico/stdlib.h"
Hovering over this code, I get a cannot open source file "pico/version.h" (dependency of "pico/stdlib.h")C/C++(1696)
locate pico/version.h generates
/home/xxx/pico/pico-examples/build/generated/pico_base/pico/version.h
/home/xxx/pico/pico-sdk/src/common/pico_base/include/pico/version.h
/home/xxx/pico/pico-sdk/src/common/pico_base/include/pico/version.h.in
/home/xxx/pico/picoprobe/build/generated/pico_base/pico/version.h

I can get rid of the error by adding an extra include
${HOME}/pico/pico-examples/build/generated/pico_base/pico/**
But it seems like the ~/pico_setup.sh is missing a build step
I have run this script a number of times but am missing some step or config I think

Further thoughts

cmake .. from build directory and make run fine, so they are picking up the missing version.h from somewhere, but intellisense and debug are crapping out even though the same arm-none-eabi-gcc c++ compiler is used
The VSCode settings were generated by the latest pico_project_generator
Adding the path to the already made version.h file as per above and I am now getting a no such file or directory error in #include pico/stdlib.h even though the file is located at /home/blm/pico/pico-sdk/src/common/pico_stdlib/include/pico/stdlib.h

Some VSCode config details:
.c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [
                "${workspaceFolder}/**",
                "${env:PICO_SDK_PATH}/**",
                "${HOME}/pico/pico-examples/build/generated/pico_base/pico/**"
            ],
            "defines": [],
            "compilerPath": "/usr/bin/arm-none-eabi-gcc",
            "cStandard": "gnu17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "linux-gcc-arm",
            "configurationProvider": "ms-vscode.cmake-tools"
        }
    ],
    "version": 4
}

extensions.json
{
  "recommendations": [
    "marus25.cortex-debug",
    "ms-vscode.cmake-tools",
    "ms-vscode.cpptools"
  ]
}

launch.json

{
"version": "0.2.0",
"configurations": [
{
"name": "Cortex Debug",
"cwd": "${workspaceRoot}",
"executable": "${command:cmake.launchTargetPath}",
"request": "launch",
"type": "cortex-debug",
"servertype": "openocd",
"gdbPath": "gdb-multiarch",
"serverArgs": [
"-c",
"adapter speed 5000"
],
"device": "RP2040",
"configFiles": [
"interface/cmsis-dap.cfg",
"target/rp2040.cfg"
],
"svdFile": "${env:PICO_SDK_PATH}/src/rp2040/hardware_regs/rp2040.svd",
"runToEntryPoint": "main",
"postRestartCommands": [
"break main",
"continue"
]
},
{
"name": "C/C++: arm-none-eabi-gcc build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"args": [],
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: arm-none-eabi-gcc build active file",
"miDebuggerPath": "/usr/bin/gdb"
}
]
}

settings.json

{
"cmake.configureOnOpen": false,
"cmake.statusbar.advanced": {
"debug" : {
"visibility": "hidden"
},
"launch" : {
"visibility": "hidden"
},
"build" : {
"visibility": "hidden"
},
"buildTarget" : {
"visibility": "hidden"
},
},
}

tasks.json

{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: arm-none-eabi-gcc build active file",
"command": "/usr/bin/arm-none-eabi-gcc",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "Task generated by Debugger."
}
],
"version": "2.0.0"
}

cmake .. from build directory and make run fine

It sounds like this is just an intellisense configuration problem then? Perhaps https://github.com/raspberrypi/pico-feedback/issues/148 helps? I've also got a feeling that this has been mentioned in other issues too, but can't find them right now.
Perhaps somebody on the https://forums.raspberrypi.com/ will be able to give you some help with your VSCode configuration?

I'm working on the intellisense side, but wanted to point out it only compiles if I add other include paths than the sdk.
What code or process should convert version.h.in to version.h

If you want to replicate this, create a new Raspberry Pi 4 or 5 image, and run Chapter 1 of the install here https://datasheets.raspberrypi.com/pico/getting-started-with-pico.pdf with ./pico_setup.sh

ping @nathan-contino as I believe he looked at those instructions most recently?

We have a new version of the Getting Started guide coming out soon that should address these (and quite a few other) issues. Check back early next week and the new version should be available!

Cool and thanks - I have a work around so you can either close the ticket and assume all will be well or leave it until the documentation catches up :D

See also https://github.com/raspberrypi/pico-feedback/issues/211#issuecomment-1871879760


Title: QUIZ APP

Which pre-existing JavaScript project will you be working on?
I want to add previous button in this application
Describe your enhancement/improvement
if they want to see there previous questions .so that they can view it!!
Anything you need to say to the Reviewers
No response
Add any other context or relevant screenshots about the enhancement here.
No response

@P-lavanya16 Thank you for providing your insight but it is not required as of now


Missing documentation for API Browser SwaggerUI / ReDoc

Problem statement
I Recently noticed there's support for SwaggerUI and ReDoc built-in.
But when using the Stratoscale template this is not working.
If I try to load the swagger.json in a browser I don't get the API browser. This is never mentioned in the documentation, but are there any options that I'm missing related to this?

You can visit $API_BASE/docs and it should show the UI

Ooooh thanks!
Maybe an update to the FAQ is warranted for this?
https://goswagger.io/faq/faq_documenting.html#serving-swagger-ui-with-the-api-server
Or adding somewhere in the docs, a topic "API browser" section to mention both ReDoc and Swagger-UI explicitly?
I added this on my own, and then realised it's built-in :man_shrugging:

@JoakimSoderberg yep an update to the docs would be very much appreciated.

May I take this for my first contribution?

absolutely

Hi there! is it still actual?


Full Name, Affiliation (Department) and Email You want on the paper

Can you email me those to complete the paper? Ray, you can use your CU Boulder affiliation.
I need them sooner to complete the paper. Also, Ray are you keeping an eye on the CPU experiment running in CRL server?

The fastai binaryclass just finished with an elapsed time of 19441.55 minutes or ~ 13.5 days. I pushed the result and updated the README with the time. Do you want to run the multiclass fastai experiment next on VM CPU? It will be another >=13 days to complete.

Thanks  for the update, Ray! Yes, plz let it run so we can put the results
when we’ll be asked to resubmit which may take 4 to 6 weeks.
On Thu, Sep 5, 2019 at 12:04 PM Riad Shash<EMAIL_ADDRESS>wrote:

The fastai binaryclass just finished with an elapsed time of 19441.55
minutes or ~ 13.5 days. I pushed the result and updated the README with the
time. Do you want to run the multiclass fastai experiment next on VM CPU?
It will be another >=13 days to complete.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/rambasnet/DeepLearning-IDS/issues/10?email_source=notifications&email_token=AB2PEK62P5G4W5O4BUYSZELQIFC2LA5CNFSM4IR6CTV2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6AFSLQ#issuecomment-528505134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB2PEK4TCB4GW3XHSOSIUU3QIFC2LANCNFSM4IR6CTVQ
.


How to use this in client side code

I've been trying to use this in some client side code powered by babel/webpack but I'm missing something or theres something missing in the lib - I'm getting a Syntax Error on the import of the generic midi controller...

I looked at this with Dan and we found that it was due to webpack being configured to not process the node_modules directory of his node.js app, along with webpack discovering the "browser" entrypoint in the package.json of this package and pulling in the es6 version of the library instead of the compiled version distributed in the "main" entrypoint.
Seems like it would be good to just not have the es6 version exposed at all when published to npm. But that's just my $0.02
The "generic-midi-controller" library also has this issue.


Install create_policy as keylime_create_policy and annotate the sources

This PR annotates the keylime/cmd/create_policy.py file (former scripts/create_policy.py) and makes it available as keylime_create_policy.

I had to rename create_policy to have a .py suffix otherwise mypy and pyright ignore it.

Codecov Report

Merging #1318 (d5d6186) into master (3dfffd9) will not change coverage.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files

Flag
Coverage Δ

packit-e2e
74.11% <100.00%> (ø)

testsuite
11.09% <100.00%> (ø)

unittests
1.92% <0.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

keylime/db/keylime_db.py
86.76% <100.00%> (ø)

I am working on https://github.com/keylime/keylime/pull/1317 (still in draft mode, I need to test it better), can we merge that before this one?

I am working on #1317 (still in draft mode, I need to test it better), can we merge that before this one?

I would still need to adapt some references to create_policy in the user guide I think.
And then there's still this one here:
keylime/cmd/create_policy.py:284: error: Argument 1 to "ChainMap" has incompatible type "*List[Dict[str, List[str]]]"; expected "MutableMapping[str, str]"  [arg-type]
keylime/cmd/create_policy.py:376: error: Argument 1 to "ChainMap" has incompatible type "*List[Dict[str, List[Any]]]"; expected "MutableMapping[str, str]"  [arg-type]

Setting this to draft status to merge this after PR #1331.

FYI, I have a PR for the test project to provide some test coverage for the keylime_create_policy tool: https://github.com/RedHat-SP-Security/keylime-tests/pull/341

IMO, LGTM

I have a pending PR on the test project to add coverage for this. I think it can be merged now.


Implicit share of output

There are currently two ways to use step of one step in another.
In a forward-style, step_output is explicitly shared:
[step_A: shared={'a_output': 'step_output'}]

[step_B]
input: a_output

In a makefile style, step_output is provided to others:
[step_A: provides='a_output']

[step_B]
input: 'a_output'

Since shared={'a_output': 'step_output'} can be used quite often, it makes sense to provide an easier way to access it, something like:
[step_A]

[step_B]
input: step_A_output

maybe a from option to input, eg
[step_B]
input: from = "step_A"

?

yes, that looks good. Let me think more about it (in terms of implementation).

The more ugly version step_A_output has the advantage of allowing the variables to be used outside of input statement as
input: step_B_output, group_by=1
sh: expand=True
    {step_A_output} {_output}

but this is difficult to do because of the availability of these variables would impose order of execution, which adds another layer of complexity to the DAG.
input: from=['step_A', 'step_B']

is easier to implement because I can automatically add depends: sos_step('step_A'), sos_step('step_B') for the building of DAG.
Named input is difficult because it is difficult to determine the behavior of group_by, for_each etc for subgroups. However, it is not unreasonable to say that group_by etc does not work for from with multiple input sources.

However, it is not unreasonable to say that group_by etc does not work for from with multiple input sources.

Well, maybe named output will not work for from multiple input sources, but others should work because what we are doing here is essentially a shortcut to shared, so behavior of the following,
[step_a: shared = {'a':'a','b':'b'}]
...
[step_b]
input: a,b, group_by = 1

should be the same as
[step_b]
input: from=['a','b'], group_by =1

I'm cool not dealing with named input.

But with shared we can also do
[step_b]
input: '1.txt', a, b

How do we do it with from?
input: from = ['1.txt', 'a', 'b']

input: '1.txt', from = ['a', 'b']

both read awkward although the latter is certainly better if I have to choose one.

I think
input: '1.txt', from = ['a', 'b']

makes sense.
Named input is not that difficult to implement if we introduce the concept of source to sos_targets.
I mean, we are the creator of sos_targets so we can attach a field source for each target. Then
[a]
output: 'a.txt'
[b]
output: 'b.txt'
[c]
input: 'c.txt', from = ['a', 'b']

would translate to an step_input with targets with
targets: ['a.txt', 'b.txt', 'c.txt']
source: ['a', 'b', 'c']

while we can keep our existing way to access targets (e.g. _input, step_input, _input[0]), we can add the following interface

[src]: a sos_targets with a subset of targets and source with matching src (_input['a'] = 'a.txt')
.source: return the source of targets. _input.source = ['a', 'b', 'c']

So users can do
input: 'c.txt', from = ['a', 'b']

_input['a']
_input['b']
_input[step_name]

and
input: 'c.txt', from = ['a', 'b'], group_by=1

if _input.source == ['a']:
   do_A()
elif _input.source == 'b']:
  do_B()

Just a thought,
input: 'c.txt', from = ['a', 'b'], group_by='steps'

so that 3 groups will be generated 'c.txt', a, and b.
Currently we have group_by options single, pairs, pairwise, combinations. Perhaps we can remove single (use group_by=1 but still keep the code under the hood for single because it is easier than group_by=N), and add something to generate groups by steps? If no from option is provided it by default does not do any grouping.

If you agree with the source extension of sos targets, then the option would be named group_by=‘source’.

If you agree with the source extension of sos targets, then the option would be named group_by=‘source’.

I am still hesitated to that ... my worry is that it encourages bad practice. For your example above, it should in fact be separated to two steps:
[ca]
input: 'c.txt', from = ['a'], group_by=1
do_A()
[cb]
input: 'c.txt', from = ['b'], group_by=1
do_B()

If input is too powerful users can potentially make a lot less steps than what the workflow logic in fact naturally fits best.
I'm trying to think if a more compelling user case to justify source attribute. Could you think of another example?

Ahh I think I see an obvious example now:
input: 'c.txt', from = ['a', 'b']
case = _input['a']
control = _input['b']

Does this justify it? I guess let's just make sure our examples in documentation do not encourage bad practices.

from cannot be used because it is a python keyword. from_steps or source?

Pending more testing but the option works roughly like this:
[A]
output: 'a.txt'
_output.touch()

[B]
output: 'b.txt'
_output.touch()

[10]
input: 'c.txt', from_steps=['A', 'B']

print(_input)
print(_input.source)

Output:
c.txt a.txt b.txt
['default_10', 'A', 'B']

Great! @BoPeng could you comment / propose how this step should best change to take advantage of this feature?
https://github.com/vatlab/sos-docs/blob/141831a152f3b4d5e30bc9c645baf4a9d3ab249b/src/examples/Process_Oriented.sos#L73
Currently it is not very intuitive due to the use of replicate variable. i suspect it is cleaner to use something like _input['source_step'][0] etc but not sure how it can be done. group_by is tricky.
To recap, the idea is
[step_1]
output: 'tain.dat', 'test.dat'

[step_2]
input: 'train.dat', 'test.data'
output: 'estimate.result', 'prediction.result'

[step_3]

evaluation_1('estimate.result', 'test.dat')
evaluation_2('prediction.result', 'test.dat')

That is, step_3 takes input groups of two, and pair that with partial output from step_1. Notice that I'm only outlining a special case of one "replicate". In reality all these are just substeps.

Not saying I like it but it is possible to do:
[A]
output: 'a.txt'
_output.touch()

[B]
output: 'b.txt'
_output.touch()

[10]
input: 'c.txt', sos_step('A').output, sos_step('B').output

print(_input)
print(_input.source)

Then your case could be written as
[step_1]
output: 'tain.dat', 'test.dat'

[step_2]
input: 'train.dat', 'test.data'
output: 'estimate.result', 'prediction.result'

[step_3]
test_dat = sos_step('step_1').output[1]
input:
evaluation_1('estimate.result', test_dat)
evaluation_2('prediction.result', test_dat)

Or, as in the case of simuPOP, allow a python function like:
[step_1]
output: 'tain.dat', 'test.dat'

[step_2]
input: 'train.dat', 'test.data'
output: 'estimate.result', 'prediction.result'

[step_3]
def group(input):
    return zip(input['step_1'], input['step_2'][1])

input:  from_steps=['step_1', 'step_2'], group_by=group
evaluation_1(_input[0], _input[1])

Of course a lambda function could be used for simple cases.

Okay, the latter solution is a lot cleaner than the proposed sos_step but still not so sure about using functions (because people who does not use Python will find it daunting). First, lets see if it solves the problem when substeps are introduced:
[step_1]
replicate = [x+1 for x in range(5)]
input: for_each = 'replicate'
output: f'data_{_replicate}.train', f'data_{_replicate}.test'

[step_2]
input: group_by = 2
output: f'{_input[0]:n}.estimate',  f'{_input[0]:n}.prediction'

At this point input['step_1'] is a vector of length 10, but we only need 2,4,6,8,10th element for  step_3. input['step_2'] also is a vector of length 10 but we need them all. We want to pair them as
input['step_1'][1], input['step_2'][0], input['step_2'][1]
input['step_1'][3], input['step_2'][2], input['step_2'][3]
...

each as a concurrent group. Does group_by take some yield function to generate this?
If doable, we then should ask the 2nd question: is there a simpler solution, particularly for people who are not familiar with Python?

We can certainly introduce more parameters to group_by but there will be simply too many such cases and a function looks like a more general solution. For this particular example, you can write
group_by = zip(input['step_1'][1::2], input['step_2][::2], input['step_2'][1::2])

and I cannot imagine any other builtin parameter can specify it in an easier way.

The closet non-function solution that I can think of would be something like
group_by={'step_1': 2, 'step_2': 2}

which would generate
input['step_1'][0], input['step_1'][1], input['step_2'][0], input['step_2'][1]

and you can just ignore _input[0].

Oh wow I was about to propose something like that. This is similar to the more advanced use of for_each:
https://vatlab.github.io/sos-docs/doc/documentation/SoS_Step.html#Option_for_each

If you would like define your own loop variable, or if the default loop variable does not work (e.g. loop through obj.sequence where _obj.sequence is not a valid variable name), you can use a dictionary syntax in the format of {'varname': sequence}.

Ignoring _input[0] is not a big deal.

for_each does not care about order, group_by should, although we can force the order of this particular dictionary.

Or we can introduce something more generally,

group_by=value: regular group_by
group_by=('name', value): group_by applied only to source name

Then your example can be written as
input: from_steps['step_1`, 'step_2'], group_by=('step_2`, 2)
val = step_input['step_1']
execute(_input, val[_index])

Or we can introduce also parallel group_by,

group_by=[value1, value2] which would zip two group_by results.

input: from_steps['step_1`, 'step_2'], group_by=[(`step_1`, 2), ('step_2`, 2)]
execute(_input[1], _input[2], _input[3])

Option 3 is essentially the dictionary syntax with order, which reads good. Option 2 seems confusing. I guess it is not unfair to assume for unspecified groups to not group any of them, eg,
group_by = ('step_1', 2)

is equivalent to
group_by [(`step_1`, 2), ('step_2`, 'all')]

(or None). If users want some different ordering they will need to explicitly specify them.

These are just too complicated, how about sequential group by?
group_by=(v1, v2)

the option will group by v1, and then v2 to each group of v1 and combine the subgroups together.
That is to say,
group_by=('source', 2)

will generate
s1: 0 1 2 3 4 ...
s2: 0 0 2 3 4...

then
s1: [0,1][2,3],[4,5]...
s2: [0,1][2,3],[4,5]...

with output
[s1[0], s1[1], s2[0], s2[1]]
[s1[2], s1[3], s2[2], s2[3]]

This is conceptually more difficult to get around but at least shorter.

Since we already have basic grouping and general grouping, I do not think it is a good idea to introduce a spectra of advanced group_by features. I would rather introduce something like pair2, which is similar to pair (divide input in half and match) but take 2 each time. This can be easily extended to pairN programatically.
If dividing by half is not enough (e.g. if you have three input sources), perhaps we can introduce pairsource and pairsourceN, which would pair input from all sources together and take 1 or more from each input.

I still think it is more confusing to introduce paired. I think we should not worry about sequential group_by because it sounds like a poor workflow design when people has to use that feature -- can you think of a compelling example in practice one has to use sequential group_by? On the contrary arbitrary pair-wise grouping (not just 2) is quite  common -- imaging in a workflow step in addition to the one main output one focuses on, there are also additional files for diagnostics eg plots or log files, of arbitrary number, that might be relevant to some of the downstream steps. Then the group_by=[(step_1, 2), ('step_2, 5)]` sounds very natural to me and I can imaging actually starting to track some of my important diagnostics files that way by making them actual output of steps.

All the options are too complicated to use. group_by=[('step_1', 2), ('step_2', 5)] is ok but it is long and make the step a bit more difficult to maintain because of explicit references to step names.
In the above patch I introduced:

pairsN in addition to pairs, which will divide input by half and take N pieces from each half to form _input.
pairsource and pairsourceN, which will pair input from all sources, take N (1 by default) and form _input. Currently it requires all sources have the same number of input files.

For your particular case both pairs2 and pairsource2 would work.

Documented here.

The example here is a bit more complicated. I could have used pairesource but the problem is that the step is shared by two workflows. I possibly can use something like
from_source = [step_name.split('_')[0] + '_1', step_name.split('_')[0] + '_2']

but is there anything more elegant I can do here?

Okay even that did not work ...
from_steps = [step_name.split('_')[0] + '_1', step_name.split('_')[0] + '_2']: name 'step_name' is not defined

The step_name issue is fixed. I do not see any better method here,
from_steps=[f'{step_name[:-2]}_1', f'{step_name[:-2]}_2']

will be shorter, but that is about the best we can do unless we introduce further conventions or variables.

Well, it works, but pairsource did not work for that example:
ERROR ... : Input sources do not have equal size: {'ridge_2': 20, 'ridge_1': 10}

That is why I initially thought pair is a bit to restricted. To recap, here I need to pair:
# index, input 1, input 2
0, ridge_1[0], ridge_2[0]
1, ridge_1[1], ridge_2[2]
2, ridge_1[2], ridge_2[4]

Can i do it easily under the current framework?

Damn it. That was almost the only case that was left out and you have it.

And that warrants formally introducing lambda functions?

We are essentially doing a zip with unequal length. Instead of giving an error, we could devise a "most reasonable" way to handle it. Something like:
1. group longest source by specified `N`, say, with end result `m` groups
2. for source of size `Nm`, divide to `m` groups and zip
3. for source of size `m`, do not divide by. zip directly.
4. for source of size `1`, zip directly (e.g. repeat)

pairsource2 should work for you now.

The rules have been simplified to

Determine number of groups m from longest source / N
All source either group (not necessarily by size N) or repeat to create m groups
zip subgroups from sources

For example,
A = a
B = b1 b2 b3 b4
C = c1 c2 c3 c4 c5 c6 c7 c8
```
`pairsouce4` would yield `8/4=2` groups
```
A: [a] [ a]
B: [b1 b2] [b3 b4]
C: [c1 c2 c3 c4] [c5 c6 c7 c8]
```
so
```
[a b1 b2 c1 c2 c3 c4]
[a b3 b4 c5 c6 c7 c8]
```


kokoro: enable storage tests

Part of #251.

LGTM pending kokoro.

Two issues: unique secondary project and KMS. I'm working on both.


fix: support for multiple evdev devices #2

the problem and the fix is all in discussion of issue #2.
Edit:
Im not sure that this is a permanent solution.
Im not damiliar with rust at all. But does change this mean that only 5 evdev devices are supported ?.
Ill do more tests tomorrow

i tried using
'''rust
#[tokio::main]
'''
it works just fine

#[tokio::main] is identical to #[tokio::main(flavor = "multi_thread", worker_threads = n)] for a cpu with n cores.
This change should not be necessary, since the program is designed to be capable of working with just a single "real" thread and an arbitrary amount of green threads. The issue is probably due to starving green threads, but I sadly haven't managed to replicate it so far. I'll merge the fix as a band-aid solution for now.


Update purchase order CLI display

Adds workflow type to display fields in CLI when user fetches
information about purchase orders. Renames "workflow type"
to "workflow name" and "workflow status" to "workflow state"
in display formatting. Adds clarity to "Accepted" display field.
Signed-off-by: Chris Eckhardt<EMAIL_ADDRESS>

Waiting for #1035 to be merged with main before rebasing this PR