Added Open Hashing Algorithm implementation using C

What type of PR is this? (check all applicable)

[x] 🚀 Added Name
[x] ✨ Feature
[ ] 🌟 stared the repo
[ ] 🐛 Grammatical Error
[ ] 📝 Documentation Update
[ ] 🚩 Other

Description

Added Open Hashing Algorithm implementation using C

Add Link of GitHub Profile
https://github.com/rajendrakumaryadav

What type of PR is this? (check all applicable)

[x]  rocket Added Name
[x]  sparkles Feature
[ ]  star2 stared the repo
[ ]  bug Grammatical Error
[ ]  memo Documentation Update
[ ]  triangular_flag_on_post Other

Description

Added Open Hashing Algorithm implementation using C

Add Link of GitHub Profile
https://github.com/rajendrakumaryadav

@Aloneboy-Prince
Hi,
I am new at opening pull request I am not sure wheather I need to create a PR to you or @keshavsingh


Fix for #17243 DockerSuite.TestExecAfterContainerRestart.

Added waitRun(containerID) statement after docker run -d and docker restart
to ensure the container is restarted before issuing a exec cmd.
Signed-off-by: Anil Belur<EMAIL_ADDRESS>

this should actually do the trick, LGTM
ping @cpuguy83

LGTM :wink:

LGTM


bag of tasks script in documentation needs to be changed

The bag of tasks script in 3.1 in the documentation needs to be updated to the new script which uses the allocate ().

Very good catch! This should be fixed now.


converted to RN 0.24+

Is this backwards compatible with older versions of RN?

Merging this as RN 0.26 is coming up

Please update the docs, preferably at the beginning of the README explaining this change and what versions of react native this will effect.

Yep sounds good!

👍  Thank you.

@christopherdro I did some test, and it seems that this actually work out of the box from 0.18, which is when react was used from npm. But otherwise it would also work if react is added as a dependency to the project for version lower than 0.17. I will write a note about it.

That sounds great! We can add this to the 'Compatibility' section.

@jrichardlai Thanks for this update!
Will package.json be updated to reflect this change? I am still getting a deprecation warning in my app because my package.json is pointing to 0.3.2, which according to Git was 3 weeks ago. I'd prefer for my app to track a version number instead of master of a git branch.
Thanks again


Recognize Event AttachmentReader Errors

After a multiple recognize events, I am seeing the following. The only way out is to kill the SDK and then restart it again.
2017-08-28 22:07:26.967 [  9] E SdsReader:seekFailed:reason=seekOverwrittenData
2017-08-28 22:07:26.967 [  9] E InProcessAttachmentReader:ConstructorFailed:reason=could not create an SDS reader
2017-08-28 22:07:26.967 [  9] E InProcessAttachmentReader:createFailed:reason=object not fully created
2017-08-28 22:07:26.967 [  9] E AudioInputProcessor:executeRecognizeFailed:reason=Failed to create attachment reader

Hi @simplistiq,
These errors are symptomatic of a performance issue.
The SDS is a circular buffer, which you would typically write to continuously from your microphone input.  The rate of writing is constrained by the AudioFormat - 16-bit samples at 16KHz means you should have a steady rate of 32KB/second.  In a system which is working well, the cpu will be powerful enough to pull data out of the SDS faster than it is being written in, and the network connection to AVS will also be fast enough to stream data faster than it is being written in.  This should generally keep the SDS drained so that it is nearly empty most of the time.
However, if you get into a situation where you are reading data from the SDS at a rate less than 32KB/second, there is a chance it will fill up and start overwriting data that you have not read yet.  That is what the first error is telling us.  There are a few reasons this might occur:

Your network connection temporarily slowed down.
Your CPU was temporarily busy with other things.
Your network connection is chronically slow (less than 32KB/second)
Your CPU is chronically overloaded

If the problem is caused by #1 or #2, you should be able to address it by increasing the size of the SDS so that it can accumulate more data during a temporary slowdown.
If the problem is caused by #3 or #4, you will need to evaluate system changes.  Either scaling up the hardware, or optimizing other system components to free up CPU cycles and bandwidth.
Ken

I forgot to add - the SampleApp instantiates the SDS here; this is where you would make changes to increase the SDS size.


Modifying ExceptionRenderer for Logged users (task #4982)

We don't want to break user navigation for loggedin users.
In case we get 4xx/5xx error, we replace the content of the
page but keepting sidebars and nav-bar components.
It works only for disabled debug. Otherwise, the page
will be using native CakePHP error templates.

Codecov Report

Merging #399 into master will increase coverage by 0.2%.
The diff coverage is 40%.

@@             Coverage Diff             @@
##             master     #399     +/-   ##
===========================================
+ Coverage     16.77%   16.98%   +0.2%
- Complexity      640      644      +4
===========================================
  Files            52       53      +1
  Lines          2212     2232     +20
===========================================
+ Hits            371      379      +8
- Misses         1841     1853     +12

Impacted Files
Coverage Δ
Complexity Δ

src/Controller/SystemController.php
0% <0%> (ø)
2 <1> (+1)
:arrow_up:

src/Error/AppExceptionRenderer.php
42.1% <42.1%> (ø)
3 <3> (?)

Continue to review full report at Codecov.

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


docker-maven-plugin expects a target/ directory to be created where the pom.xml is located

Description
When running docker-maven-plugin on a pom.xml which specifies modules, but has not plugins itself which would create a target directory, the build fails with the following error:
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.11:build (build-image) on project MyApp: Exception caught: basedir /Users/thellier/Documents/workspace/project/MyApp/target does not exist -> [Help 1].
If I create the target directory manually
mkdir target then the build will succeed.
How to reproduce
If you create a pom.xml with the following contents

4.0.0
<parent>
    <groupId>com.example</groupId>
    <artifactId>MyParentPom</artifactId>
    <version>0.9.4-SNAPSHOT</version>
</parent>

<groupId>com.example.MyApp</groupId>
<artifactId>MyApp</artifactId>
<version>0.9.4-SNAPSHOT</version>
<packaging>pom</packaging>

<modules>
    <module>MySubApp1</module>
    <module>MySubApp2</module>
</modules>

<build>
<plugins>
  <plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.11</version>
<inherited>false</inherited>
    <configuration>
      <imageName>docker.example.com:5000/${user.name}/centos7-MyApp</imageName>
      <dockerDirectory>./MyApp</dockerDirectory>
      <serverId>my-docker-registry</serverId>
      <registryUrl>https://docker.example.com:5000/v2/</registryUrl>
      <imageTags>
        <imageTag>${project.version}</imageTag>
        <imageTag>latest</imageTag>
      </imageTags>
      <resources>
        <resource>
          <targetPath>/</targetPath>
          <directory>${project.build.directory}</directory>
          <include>${project.build.finalName}.jar</include>
        </resource>
      </resources>
    </configuration>
    <executions>
      <execution>
        <id>build-image</id>
        <phase>package</phase>
        <goals>
          <goal>build</goal>
        </goals>
      </execution>
      <execution>
        <id>push-image</id>
        <phase>deploy</phase>
        <goals>
          <goal>push</goal>
        </goals>
        <configuration>
          <imageName>${registryUrl}</imageName>
        </configuration>
      </execution>
    </executions>
  </plugin>
</plugins>
</build>

with simple modules,
What do you expect
mvn clean package
The docker image is produced successfully
What happened instead
Build fails with the following error:
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.11:build (build-image) on project MyApp: Exception caught: basedir /Users/thellier/Documents/workspace/project/MyApp/target does not exist -> [Help 1].
Software:

docker version: Docker for Mac, Version 1.12.0-rc4-beta20 (build: 10404) (also fails on latest docker for centos (jenkins server)
docker-maven-plugin version: 0.4.11
maven version: 3.3.9

Full backtrace
[INFO] ------------------------------------------------------------------------
[INFO] Building MyApp 0.9.4-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-clean-plugin:2.6.1:clean (default-clean) @ MyApp ---
[INFO]
[INFO] --- docker-maven-plugin:0.4.11:build (build-image) @ MyApp ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] MyApp ................................. FAILURE [  0.086 s]
[INFO] MySubApp1 ................... SKIPPED
[INFO] MySubApp1 ................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:21 min
[INFO] Finished at: 2016-07-28T18:48:55+01:00
[INFO] Final Memory: 283M/1545M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.11:build (build-image) on project MyApp: Exception caught: basedir /Users/thellier/Documents/workspace//MyApp/target does not exist -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf :MyApp

I may look into a pull request to fixing this, i think it would be as simple as creating the target directory, as the docker-maven-plugin is writing files in there, without actually guaranteeing the folder exists.
TagMojo.java:122 and

Ok, looks like the exception is thrown from the copyResources method in BuildMojo, just trying to test it and build the docker-maven-plugin so my mvnDebug can pick it up

I've raised a pull request to fix this bug. I'll be running my SNAPSHOT version of this build until this can get merged in and released, but it looks like Spotify have a nice healthy release schedule and this is a minor bug so hopefully will happen soonish. Thanks for creating a great plugin.

Hey @TomHellier thanks for the issue report and the PR. I think even with your PR, your pom.xml example will still have an issue - Maven is building the parent project (MyApp) before it builds the two submodules. You can see this in the order of the listing of projects in the Reactor Summary section.
If you want to have the parent project build a Docker image containing the output of the two submodules, you'll have to tell Maven that the parent project depends on those two modules. Creating a dependency between parent and submodules might lead to a circular dependency (as the submodules depend on the parent Maven project also), so I'm not sure if this is even something that Maven can handle. One way to solve a possible circular dependency would be to have a third submodules which depends on the other two which contains the Dockerfile.

Hi, thanks for the reply, I'm quite new to maven so realise now that this was probably more of a problem with my configuration than this code. I just saw an exception that I could fix with a mkdir target and it built properly.
What I did was create a new sub project,

MySubApp1
MySubApp2
MySubApp-docker-build

and that sub-module would be responsible for running the Dockerfile in its parents directory.
It was working for me because when I ran mvn clean install, it build the docker image with the sub-projects jars from the last time it ran, I noticed when I started to get my projects built by jenkins that actually my maven project was rubbish.

I'll close the issue, sorry I didn't do it when I noticed my maven configuration was wrong.
Thanks for the reply.

No problem, thanks for the contribution!


How to ignore dependencies?

Hi there! I've been excited to try out greenkeeper.
I found this issue which described a feature to ignore dependencies by adding a greenkeeper: {ignore: []} array to the package.json, which I have done here.
But the first thing greenkeeper did was try to update all of our dependencies: https://github.com/TryGhost/Ghost/pull/6460/files
Most of these are deliberately pinned for reasons tracked elsewhere in the repo.
Is there another way to ignore certain dependencies?

Hi @ErisDS,
thank you for giving Greenkeeper a try.
At the moment greenkeeper.ignore does not work for the update-all pull request.
This is clearly a bug, thanks for reporting.
Have a great day,
Christoph

This should be fixed now. Just run greenkeeper disable --slug TryGhost/Ghost and greenkeeper enable --slug TryGhost/Ghost to get a new update-all pull request.

That's super cool, and super quick thanks :tada:
However, with #133 also causing us a problem, I'm not quite ready to turn greenkeeper back on yet :wink:


@GraphQLIgnore with AnnotatedResolverBuilder

Hi there,
I am trying to get control of fields that are exposed in schema generated by SPQR. After Switching on AnnotatedResolverBuilder I get below error when I load up GraphiQL.
Error: Post fields must be an object with field names as keys or a function which returns such an object.
Here's the code for what I tried.

@Bean
public GraphQLSchema schema() {
    return new GraphQLSchemaGenerator().withResolverBuilders(new AnnotatedResolverBuilder())
                                       .withOperationsFromSingleton(discussionResolver)
                                       .withOperationsFromSingleton(postResolver)
                                       .withNestedResolverBuilders(new AnnotatedResolverBuilder())
                                       .generate();
}

@Document(collection = "post")
@Getter
@Setter
@NoArgsConstructor(access = AccessLevel.PACKAGE)
@AllArgsConstructor(access = AccessLevel.PACKAGE)
@Builder
@EqualsAndHashCode(of = "id", callSuper = false)
@ToString
public class Post implements Persistable {
@Id
@GraphQLQuery
private String id;

@NonNull
@GraphQLIgnore
private String discussionId;

@NonNull
@GraphQLQuery
private String content;

@Builder.Default
@GraphQLQuery
private List<Reply> replies = new LinkedList<>();

@Builder.Default
@GraphQLQuery
private Long likes = 0L;

@GraphQLQuery
@CreatedDate
@DateTimeFormat(iso = DATE_TIME)
private LocalDateTime createdAt;

@GraphQLQuery
@LastModifiedDate
@DateTimeFormat(iso = DATE_TIME)
private LocalDateTime lastModifiedAt;

/**
 * Adds a {@link Reply} to this {@link Post}
 *
 * @param reply
 */
public void addReply(Reply reply) {
    this.replies.add(reply);
}

/**
 * Removes a {@link Reply} from this {@link Post}
 *
 * @param reply
 */
public void removeReply(Reply reply) {
    this.replies = this.replies.stream()
                               .filter(r -> !reply.getId().equals(r.getId()))
                               .collect(Collectors.toCollection(LinkedList::new));
}

@GraphQLIgnore
@Override
public boolean isNew() {
    return !Optional.ofNullable(this.id)
                    .isPresent();
}

This means no fields got mapped.
The reason is most certainly Lombok. The SPQR annotations you put on private fields are ignored, as SPQR never looks at private members, and there's no annotations on the generated getters.
In general, SPQR does not play well with Lombok. I plan to do something about it in the near future, though.
Right now, it is possible to create a custom ResolverBuilder that takes private fields into account, but it's honestly less work to add explicit getters where you need them.
Btw, why did you need to override the default nested resolver builder? @GraphQLIgnore works in any case (as long as it's on a public member), and you can also add custom filters to any of the resolver builders.

Thanks for quick response. Appreciate it. I think I can get it to work from here.
I had overridden nested resolver builder in an attempt to get GraphQLNonNull to work. It works after only adding the Getter manually. Even below trick didn't work. :)

@GraphQLQuery
@Getter(onMethod_ = @GraphQLNonNull)
private String title;

It didn't work because GraphQLNonNull isn't applicable on methods, but on types. I.e. you put it on the return type itself, not on the whole method.
One way to workaround this with Lombok would be to use a method-level annotation instead. SPQR recognizes a few different ones in addition to @GraphQLNonNull, you can see the full list here.

Thanks. I figured that out yesterday and got it working. Pretty cool to know you support @NonNull from javax too.


[Bug]: Inconsistencies with the design draft when there are no projects within the project

ODC version
odc432
OB version

What happened?

What did you expect to happen?

How can we reproduce it (as minimally and precisely as possible)?
View projects with low permission accounts
Anything else we need to know?
No response

无项目、非管理员状态需要不展示按钮，无法查询现在有多少项目，因此非管理员状态都展示【加入按钮】


How to reset DMA channel?

Hi guys,
I am sorry if this is not an appropriate place to ask such a question, but I couldn't think of another one.
I am trying to use the USART Rx device with DMA channel and it works great but only once.
How could I restart the channel after first use?
The simplest example of the code.
        let pb10 = gpiob.pb10.into_alternate_push_pull(&mut gpiob.crh);
        let pb11 = gpiob.pb11;

        let channels = device.DMA1.split(&mut rcc.ahb);
.
        let serial = Serial::usart3(
            device.USART3,
            (pb10, pb11),
            &mut afio.mapr,
            Config::default().baudrate(115200.bps()),
            clocks,
            &mut rcc.apb1,
        );

        let (_, rx) = serial.split();

        let rx = rx.with_dma(channels.3);

        let buf = cortex_m::singleton!(: [u8; DMA_BUF_SIZE] = [0; DMA_BUF_SIZE]).unwrap();

        let transfer = rx.read(buf);
        let (b, r) = transfer.wait();
        hprintln!("b = {:?}", b).unwrap();
// Works great until now, but when I try to receive next batch, using returned buffer and rx

        let transfer = r.read(b);
        let (b2, _r2) = transfer.wait();
//it never returns from this wait() no matter how much data I send through USART.
        hprintln!("b2 = {:?}", b2).unwrap();

I rewrote my code using directly channel like this
        let pb10 = gpiob.pb10.into_alternate_push_pull(&mut gpiob.crh);
        let pb11 = gpiob.pb11;

        let channels = device.DMA1.split(&mut rcc.ahb);

        let serial = Serial::usart3(
            device.USART3,
            (pb10, pb11),
            &mut afio.mapr,
            Config::default().baudrate(115200.bps()),
            clocks,
            &mut rcc.apb1,
        );

        let (_, _rx) = serial.split();
        let buf = cortex_m::singleton!(: [u8; DMA_BUF_SIZE] = [0; DMA_BUF_SIZE]).unwrap();

        let mut channel = channels.3;

        {
            let buffer = as_slice::AsMutSlice::as_mut_slice(buf);
            channel
                .set_peripheral_address(unsafe { &(*USART3::ptr()).dr as *const _ as u32 }, false);
            channel.set_memory_address(buffer.as_ptr() as u32, true);
            channel.set_transfer_length(buffer.len());
        }
        core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::Release);
        channel.ch().cr.modify(|_, w| {
            w.mem2mem()
                .clear_bit()
                .pl()
                .medium()
                .msize()
                .bits8()
                .psize()
                .bits8()
                .circ()
                .clear_bit()
                .dir()
                .clear_bit()
        });
        channel.start();

        while channel.in_progress() {
            hprintln!("buf {:?}", buf).unwrap();
            delay.delay_ms(1000 as u16);
        }
        hprintln!("final buf {:?}", buf).unwrap();
        for i in 0..8 {
            buf[i] = 0;
        }

        channel.stop();

        {
            let buffer = as_slice::AsMutSlice::as_mut_slice(buf);
            channel
                .set_peripheral_address(unsafe { &(*USART3::ptr()).dr as *const _ as u32 }, false);
            channel.set_memory_address(buffer.as_ptr() as u32, true);
            channel.set_transfer_length(buffer.len());
        }
        core::sync::atomic::compiler_fence(core::sync::atomic::Ordering::Release);
        channel.ch().cr.modify(|_, w| {
            w.mem2mem()
                .clear_bit()
                .pl()
                .medium()
                .msize()
                .bits8()
                .psize()
                .bits8()
                .circ()
                .clear_bit()
                .dir()
                .clear_bit()
        });
        channel.start();

        while channel.in_progress() {
            hprintln!("buf {:?}", buf).unwrap();
            delay.delay_ms(1000 as u16);
        }
        hprintln!("final buf {:?}", buf).unwrap();

and it still shows the same weird behavior - the first run finishes successfully, but during the second run I get only one byte in the buffer and that is all.

it seems that my code was just too slow and I got an ORE  overflow between the moment I stopped an old DMA channel and started a new one.   I am sorry for bothering you.

@e-max That is no bother at all. I'm glad you managed to found the problem. I actually want to thank you for taking the time to create and update this issue, it will most definitely help someone in the future.
Also, I think we should probably do something about this, I'm not sure if we should clear this before starting the DMA, but we should at least provide a method to the user to clear this flag in the uart abstraction.


How to send position in offboard mode for VTOL with fixed wing mode?

How to send position in offboard mode for VTOL with fixed-wing mode?
I am sending a position using this topic:
ros::Publisher local_pos_pub = nh.advertise<geometry_msgs::PoseStamped> ("mavros/setpoint_position/local", 10);
But it behaves as multi-rotor not as fixed wing while moving.
What is the right way to set position for fixed-wing in offboard mode?

@hana9090 The reason it moves as if it a multirotor is becuase you are running the vehicle in multirotor mode.
In Fixedwing mode, position setpoints are not supported. The support will be added with https://github.com/PX4/Firmware/pull/12532, but has not been tested with a VTOL.

So this pull request is still not merged to px4 master repository, isn't it?

@hana9090 Yes, as you can see in the link

@hana9090 It is now merged


Clarification Request

Hello,
Thank you for the great effort you put in porting PRESS to SWI Prolog. I have a question if you don't mind. You mention in the Readme that "Not all parts of PRESS are running correctly yet" and I wonder about the exact meaning of this.
Does it mean that:
(i) not all parts have been ported to SWI, which simply means that the knowledge domain of the SWI port is smaller than the original one,
(ii) some parts have not been ported, but they can be reached via ported predicates i.e. undefined-procedure exceptions might rise during program execution,
(iii) some parts produce incorrect results (unlikely but want to make sure :-) ),
(iv) something else perhaps.
Many thanks.

Sorry, it is some time since I looked at this.  I think I mean (i).
I also was only interested in the maths, so I didn't look at any interface Press might have had.
Chris


Delete test framework targets

What were these targets exactly doing before and why is it OK to remove them now?

They were copying test recordings to the output directory. We've changed the test framework to read them from the tests directory directly long time ago but never remove the copying.


Convert make_test_environ_builder into EnvironBuilder subclass

Werkzeug's EnvironBuilder gained a json_dumps attribute, but Flask doesn't have an EnvironBuilder subclass right now to take advantage of that, and there's no way to configure the Client to use a different builder class anyway. Might be good to refactor flask.testing.make_test_environ_builder to be an EnvironBuilder subclass at some point, rather than a factory wrapper.
Originally posted by @davidism in https://github.com/pallets/flask/pull/3181#issuecomment-493489553

I'm looking at this.


Clipboard does not work on Wayland / Sway

Describe the bug
When using Wayland / Sway passwords wont get copied to the clipboard.
To Reproduce
Steps to reproduce the behavior:

Use wayland / sway
run dcli password

Expected behavior
Password should get copied to clipboard
Screenshots
Environment (please complete the following information):

OS: Linux Ubuntu 23.04
display server protocol: Wayland
compositor (window manager): Sway

Additional context
The reason why this happens is because wayland dont use xsel / xcopy to copy to clipboard. it uses wl-copy instead. And there is currently no support for this in the clipboardy package that dashlane CLI uses.

Hello,
Thanks for reporting this, I'm surprised because we don't use "clipboardy" package but an implementation in Rust that should work with wayland.
Can you confirm you're running the latest version of the CLI please?

Hello,
Just a reminder on this issue, if I get no answer this week I'll close it but you can feel free to comment anytime to reopen it of course.
Thanks a lot!

@Mikescops Sorry for not responding in a while. When I tested this in february I was running version 1.15.0.
Today I updated the client to 6.2424.2 and I can confirm the clipboard functionality is working as intended yes.

@zupd awesome thanks!

This issue is still present on current version.

This issue is still present on current version.

I can confirm this. It seems that when I tested this first, it was on Ubuntu 23.04, and when I tested it the second time I was on Debian 12 which also uses wayland. And I assumed it worked in the latest version now, since it worked on Debian 12, but when I now tried it on my Ubuntu again it won't copy to my clipboard. This is on the latest version of dcli.
$:~/Downloads$ wl-copy 'TEST123'
$:~/Downloads$ wl-paste
TEST123
$:~/Downloads$ dcli p github
🔓 password for "GitHub" copied to clipboard!
$:~/Downloads$ wl-paste
No selection

It almost seems like dcli resets the clipboard and doesnt copy anything into it

I will test a theory in the morning but it seems that the clipboard package being used will do an ANSI OSC52 sequence to copy if it detects it is being run from within ssh, which should work fine with sway.

Okay after further examination here are some notes. Your package uses napi-rs/clipboard which, under normal circumstances, uses arboard clipboard, which itself has a flag that can be used during compilation of wayland-data-control. I imagine this could aid in solving such problems.

Okay quick update. This problem goes all the way down to arboard. Arboard can successfully retrieve clipboard data in sway but cannot copy to the clipboard even with the wayland-data-control feature...

Okay quick update. This problem goes all the way down to arboard. Arboard can successfully retrieve clipboard data in sway but cannot copy to the clipboard even with the wayland-data-control feature...
$ ./target/debug/copy
Clipboard text was: test
But now the clipboard text should be: "Hello, world!"
$ wl-paste
Nothing is copied

This looks just like my test with dashlane when I had something in the clipboard, then ran dashlane and then clipboard was empty

Hey guys, thanks for your nice investigation.
As arboard author mentioned Note that in my tests the wayland backend did not keep the clipboard contents after the process exited. which seems to match the behaviour we have here, you copy something, the process exit, and the content disappear from clipboard.
I think it will be hard to support every environments with the clipboard functionality, do you think it's acceptable to output the password directly so it can be piped into wl-copy? If so we can just suggest such command in our documentation.

Hey guys, thanks for your nice investigation.
As arboard author mentioned Note that in my tests the wayland backend did not keep the clipboard contents after the process exited. which seems to match the behaviour we have here, you copy something, the process exit, and the content disappear from clipboard.
I think it will be hard to support every environments with the clipboard functionality, do you think it's acceptable to output the password directly so it can be piped into wl-copy? If so we can just suggest such command in our documentation.

It already support that, right? if you use -o console. though I noticed that it also includes the "password for .. copied to clipboard". Seems strange that it says that when you use console as output instead of clipboard

@zupd definitely a bug, I'll take a look thanks


Value cannot be null.

************** Exception Text **************
System.ArgumentNullException: Value cannot be null.
Parameter name: source
at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at cyberdropDownloader.CyScraper.GetTitle(HtmlDocument htmlDoc)
at cyberdropDownloader.CyScraper.d__10.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.b__6_0(Object state)

Yeah I'm getting the same thing despite appropriate cyberdrop links. I am able to get the downloader to work if I play around with adding and removing spaces in front/behind the link.

Hi @Arkham862 @Site3op thank you for reporting.
I've ran some tests, it seems like the program unable to reach the site (https://cyberdrop.me) but able to reach https://www.google.com/. I'm assuming there's anti-scraping mechanism going on.

Yeah I'm getting the same thing despite appropriate cyberdrop links. I am able to get the downloader to work if I play around with adding and removing spaces in front/behind the link.

I'm unable to reproduce this. could you share a screen recording?

It is pretty random, maybe it just happens to be able to connect when I try playing around, but I can never get it to work if I just spam Download over and over without playing around with the link.
https://user-images.githubusercontent.com/79298242/108465062-eaf2f400-7246-11eb-95c2-2939d80afc0b.mp4

I also did notice that another scrapper using python had troubles scrapping any albums it would only get one of five urls every couple of tries and was inconsistent as well, which is why I came here to try yours.

@Arkham862 @Site3op it should work now. If you face some bugs install the latest release

Fixed for me on 1.1.2, thank you

This has been fixed for me. Thank you!


gwas catalog + ukbb is now displaying

locuszoom text for gwas catalog + ukbb is shown on top of conditional locuszoom and the ukbb gwas catalog is not showing at all!
e.g.
https://results.finngen.fi/region/T2D/10:69354950-69754950
and
https://r11.finngen.fi/region/T2D/10:69354950-69754950

seems the umich api server is down... would it be possible to catch error message and show clearer message instead of json error?


Add a coordinates endpoint

Is your feature request related to a problem? Please describe.
A coordinates endpoint that returns a list of coordinates in the real world.
Describe the solution you'd like
Create an endpoint /coordinates which generates coordinates related entries.

This is a great idea. :) we could have multiple end points
/location/co-ordinates/random/:qty
/location/co-ordinates/country/:qty

I would like to take this. Can you assign it to me.

This is all yours @mdfarhaan


Show script verification errors in signrawtransaction result

This is a backport of PR https://github.com/bitcoin/bitcoin/pull/5937, which became part of 0.11.
In my opinion it's handy for raw transaction handling, and to some degree also in the context of shared/P2SH transactions.

If there are any script verification errors, when using "signrawtransaction", they are shown in the RPC result.
Example:
./bitcoin-cli "signrawtransaction" "0100000002d8fde545ff10eec10a6bef0c293c892b556aaa8c9e2f5f4c8545ca5c88e41c930100000000ffffffff62a717b7379c9fd900bf8cd42d6cbe1992f51aac2edff637dd291ec0b710acf23800000000ffffffff01a0410000000000001976a9142d0242ee11731e1fb95f3917b61a11aa400f6d5388ac00000000" "[{\"txid\":\"931ce4885cca45854c5f2f9e8caa6a552b893c290cef6b0ac1ee10ff45e5fdd8\",\"vout\":1,\"scriptPubKey\":\"512102a6bce06d76dfa05974f50e71660936966be40fceee99fed481a526016b3b240e21160000000100000001d865ecba07d000000000000000000000000000000000000052ae\"},{\"txid\":\"f2ac10b7c01e29dd37f6df2eac1af59219be6c2dd48cbf00d99f9c37b717a762\",\"vout\":56,\"scriptPubKey\":\"01\"}]" "[\"xxxxxx\"]"

{
  "hex" : "0100000002d8fde545ff10eec10a6bef0c293c892b556aaa8c9e2f5f4c8545ca5c88e41c93010000004a00483045022100f5e5d54c229c241c8525a9e01c9774d0cf974f2262a7045636c2308dbae43af90220151439bb3913379327fcf10ee51b779f9b349c58870962a605276419122a2fb601ffffffff62a717b7379c9fd900bf8cd42d6cbe1992f51aac2edff637dd291ec0b710acf23800000000ffffffff01a0410000000000001976a9142d0242ee11731e1fb95f3917b61a11aa400f6d5388ac00000000",
  "complete" : false,
  "errors" : [
    {
      "txid" : "931ce4885cca45854c5f2f9e8caa6a552b893c290cef6b0ac1ee10ff45e5fdd8",
      "vout" : 1,
      "scriptSig" : "00483045022100f5e5d54c229c241c8525a9e01c9774d0cf974f2262a7045636c2308dbae43af90220151439bb3913379327fcf10ee51b779f9b349c58870962a605276419122a2fb601",
      "sequence" :<PHONE_NUMBER>,
      "error" : "Public key is neither compressed or uncompressed"
    },
    {
      "txid" : "f2ac10b7c01e29dd37f6df2eac1af59219be6c2dd48cbf00d99f9c37b717a762",
      "vout" : 56,
      "scriptSig" : "",
      "sequence" :<PHONE_NUMBER>,
      "error" : "Opcode missing or not understood"
    }
  ]
}

The field "errors" is currently omitted, if no script verification error occured.
Unfortunally not all error descriptions are intuitive, for example, when partially signing a script-hash transaction results in the message "Operation not valid with the current stack size", but addressing this seemed out of scope of this PR.

Usually I'm against pulling in code from upstream until it's actually been released (reduce risk of us building on code that's subsequently reverted) but in this case the change looks harmless - I'm happy for you to merge if you want to dude :)

Usually I'm against pulling in code from upstream until it's actually been released (reduce risk of us building on code that's subsequently reverted)

Yeah, I share this sentiment. However, in this case it's not part of the master branch, but the release branch.


Enable custom remove button when the selector supports multiple values

Can we provide a custom render function for the remove button, since the close button is too small to click and I want to use an icon?

I don't want this library to bloat into supporting all manner of customisations at each level. Instead, I'd prefer it to be sensible out-of-the-box, but also provide a set of building blocks to do your own thing.
So I won't add a custom render function for the remove button. But you can try:

Seeing how far you get with customising the CSS for the class solid-select-multi-value-remove
Creating your own component from the provided building blocks / integrate with another UI library (see http://localhost:5173/?example=SUID%2520Integration for an example)


fix #568, [REST] add history metrics service in backend so that the UI d...

...ashboard can query and present the timecharts which allow user to browser by specifying a time window.

@kkasravi
comments fixed

Failed test, otherwise +1 !


Use the official name "beautifulsoup4" instead of an alias "bs4"

This will resolve #306.
The latest version of beautifulsoup4 is now 4.8.0.
Though I couldn't find any breaking changes at 4.8.0 as far as CHANGELOG is concerned, let's stay 4.7.1 for now.
If you are confident to include 4.8.0 and higher, please let me know.

Thanks for your prompt action.


[Question/Feedback]: Clarification on process to initiate GitHub Teams membership

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Description
Update the following section to describe the process to request that the newly created teams are added to the respective parent team. https://azure.github.io/Azure-Verified-Modules/specs/shared/#team-memberships

@arnoldna, could you please further elaborate on your request? The quoted section explicitly explains which teams need to be created, and to which parent teams they need to be assigned.
Please note that we'd like to avoid repeating content from GH's documentation, such as what are the steps of creating a team.
If you have a specific suggestion, please submit a PR with your edits, and make me a reviewer! Thanks!

@matebarabas  - What is not clear is how a contributor is to "request the addition of these teams to their respective parent teams". If I remember correctly, the process was to notify you via the proposed module issue that the owner had created the appropriate module owners and contributors teams. I had completed that step over a month ago but received a notification that a team was missing. https://github.com/Azure/Azure-Verified-Modules/issues/296. So then I went back to the specs and it wasn't clear to me and I ended up needed to get some additional help from Erika to fix.
Perhaps we could update the document to just have module owners to use the following link to create their teams. https://github.com/orgs/Azure/new-team. That might avoid some of the confusion where module owners have actually prefaced their team names with "@azure/".

@arnoldna, thanks for clarifying! Yes, the process has evolved over time; now module owners are expected to initiate the addition of the GH teams to their respective parent teams, whilst the core team still need to approve the paren-child relation on the other end. Adding the link to the documentation is a good idea, so I've submitted this PR with the suggested improvements: #486
Please let me know if you'd suggest adding/changing anything else.
Thanks!


chore: bump rattler

This bumps rattler to the latest versions bringing two notable changes to pixi:

You can now use virtual package overrides from environment variables (https://github.com/conda/rattler/pull/818) thanks to @SobhanMP
❯ pixi info
   Pixi version: 0.28.2
        Platform: win-64
   Virtual packages: __win=0=0
                   : __archspec=1=x86_64_v3

❯ CONDA_OVERRIDE_CUDA=12.2 pixi info
      Pixi version: 0.28.2
          Platform: win-64
  Virtual packages: __win=0=0
                  : __cuda=12.2=0
                  : __archspec=1=x86_64_v3

Accessing the package cache from multiple processes should now be safe. This should fix many of our CI issues and allow us to run tests in parallel in CI again. I removed the #[serial] part of all our tests.

Fixes https://github.com/prefix-dev/pixi/issues/480

Amazing :heart:


Fix typo: Batch endpoint job output must be of type URI_FILE

@santiagxf

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@adba-msft why is this change? the path looks to be indeed a folder, not a file.

Im not longer the PM working on this. Please assign back to the suggested handles

@msakande
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.

@ccrestana please look at the proposed change in this PR and let's know if it should be merged

#sign-off

#sign-off


Adds comet-ml plugin

Why are the changes needed?

This PR adds a comet-ml plugin to flytekit.
What changes were proposed in this pull request?

This PR adds a comet_ml_init task decorator that adds a link to the Comet's platform.
How was this patch tested?
Unit tests were added to this PR.
Screenshots

Related PRs

Related to https://github.com/flyteorg/flytekit/pull/2405
Docs link
I also added an example in flytesnacks: https://github.com/flyteorg/flytesnacks/pull/1702

@thomasjpfan
Can we add flytekitplugins-comet-ml in the file below?
It will help us run the CI to build the plugin.
https://github.com/flyteorg/flytekit/blob/master/.github/workflows/pythonbuild.yml#L319


Add ability to visualize in the dagshub gallery view

Adds a parameter visualizer param to the visualize function, that either shows the thing in dagshub or fiftyone. Default is still fiftyone for now to keep backwards compat.
 once major version is bumped, set the default of the visualize to "dagshub"

 Python Client Data Engine: allow visualize() into dagshub UI

Oops, forgot that I reset the default too... Should probably set it to fiftyone and then flip it later


[FLINK-32164] LifecycleState count metrics are not reported correctly by namespace

What is the purpose of the change
The per namespace lifecycle state count metrics are incorrectly show a global count at LifecycleMetrics.java#L145. LifecycleState count metrics should be reported by namespace.
Brief change log

Corrects the LifecycleState count metrics of per namespace for LifecycleMetrics.

Verifying this change

Updates FlinkDeploymentMetricsTest#testMetricsMultiNamespace to verify the LifecycleState count metrics of per namespace.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changes to the CustomResourceDescriptors: (yes / no)
Core observer or reconciler logic that is regularly executed: (yes / no)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@gyfora, PTAL.

looks good! Thank you  @SteNicholas


Database connection occasionally broken in production

Following on from #127, we now see broken database connection errors logged in production, although due to pessimistic disconnect handling they are recovered from and the error is not propagated to the user:
Exception terminating connection <pg8000.legacy.Connection object at 0x3e27575c84d0>
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/pg8000/core.py", line 144, in _flush
    sock.flush()
  File "/usr/local/lib/python3.12/socket.py", line 726, in write
    return self._sock.send(b)
           ^^^^^^^^^^^^^^^^^^
BrokenPipeError: [Errno 32] Broken pipe
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 374, in _close_connection
    self._dialect.do_terminate(connection)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 704, in do_terminate
    self.do_close(dbapi_connection)
  File "/usr/local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 707, in do_close
    dbapi_connection.close()
  File "/usr/local/lib/python3.12/site-packages/pg8000/core.py", line 549, in close
    _flush(self._sock)
  File "/usr/local/lib/python3.12/site-packages/pg8000/core.py", line 146, in _flush
    raise InterfaceError("network error") from e
pg8000.exceptions.InterfaceError: network error

Possible steps to diagnose what causes a broken pipe - for each step, does Cloud SQL close the connection over time?

Create public Cloud SQL database and connect locally using SQLAlchemy
Make database private and add Cloud SQL Auth Proxy using TCP locally
Change Cloud SQL Auth Proxy to use Unix socket
Create Cloud Run service with one minimum instance to connect to database using Cloud SQL Auth Proxy Unix socket
Change Cloud Run to always attach CPU

My message:

I have been investigating this issue further and have some additional questions/observations.
The application that is experiencing these errors is a Cloud Run service that connects to the Cloud SQL instance using the Connect with Unix socket method.
My understanding is that having configured my Cloud Run service to mount a volume called /cloudsql and connect that to my Cloud SQL connection name the Cloud Run service creates a Unix socket at the mount point using Cloud SQL Auth proxy.
As a Unix socket it isn’t possible to configure any sort of keepalive, so any adjustments in TCP keepalive settings won’t improve the network errors I am encountering. Even if keepalives were worth setting I’m unclear how that would solve this issue if outside of requests the Cloud Run service has its CPU deallocated and thus would be unable to send a keepalive.
To maintain this Unix socket connection requires that Cloud SQL Auth proxy is also running within (or alongside) the Cloud Run service. For our service we have minimum instances set to 1 to prevent cold starts. This means that there is always one instance running but unless it is actively processing a request the instance is idle, where memory resources may be persisted but CPU is deallocated. If the instance requires Auth proxy to be running to maintain the Unix socket what happens to the Auth proxy process during instance idling? Is the process simply suspended and resumed when CPU is reallocated or does Auth proxy have to reauthenticate and restart when CPU is reallocated? Or if during the time Auth proxy is suspended it is required to regenerate it’s SSL cert would that introduce a fractional delay when resuming the instance where Auth proxy isn’t available via the Unix socket that could cause this error?

Reply:

Hello,
Thank you for the reply.
Based on the description, I understand that the desired configuration for the instance was still to use the "CPU is only allocated during request processing" and that the latest inquiry was about the functionality of Cloud SQL Auth Proxy behind the scenes when using a Unix socket for your Cloud Run service.
In regards to the Cloud SQL Auth Proxy activity within Cloud Run in terms of the connections considering the CPU allocation configuration, I would like to mention that, in application's perspective, it automatically uses the Cloud SQL Auth Proxy, as the connection mode used was Unix socket using the mount point of "/cloudsql"
Nonetheless, I have reviewed the following Google Cloud documentation [1], which contains the details about CPU allocation for Cloud Run services (excluding Cloud Run jobs) and I also reviewed the internal details of my previous reproduction, to which I have found the possible behavior happened during the request processing at the time the network errors were observed.
To explain this in detail, the CPU was not allocated during the time of the test, and it was being allocated when there was an incoming request, in which the application is being processed, which includes establishing a connection to the Cloud SQL instances (ie, authenticating, connecting, processing SQL statements, etc.) With this, I have noticed that the authentication part had some delays during the application process, which may indicate that the overall process failed in the initial request, and then will eventually succeed when the CPU had been allocated.
Due to this, I believe that the Cloud SQL Auth Proxy part is being suspended, and will be restarted, alongside with the application, when CPU is allocated on the instance. This can be justified as Cloud Run autoscaling will still be in effect within the instance's lifecycle.
Furthermore, I would also like to include that a retry strategy for the application may also be a feasible solution in order to at least mitigate the network error issues observed.
Kindly let me know if the above information cleared your doubts.
Kind Regards,


Add Gulp

Some developers prefer Grunt over Gulp. We should give them the choice which one is used.

Fixed in 2.0.0


Convert the code in src/core/cff_parser.js to use ES6 classes

This removes multiple instances of // eslint-disable-next-line no-shadow, which our old pseudo-classes necessitated.
Please note: I'm purposely not doing any var to let/const conversion here, since it's generally better to (if possible) do that automatically on e.g. a directory basis instead.
Much smaller diff with https://github.com/mozilla/pdf.js/pull/12005/files?w=1

/botio test

Nice clean-up!


add transducer_stateless with char unit to AIShell

add transducer_stateless with char unit to AIShell

test

CER
5.7%

@csukuangfj ready for review, thanks.

Thanks. Looks great to me. Just left a minor comment.
Could you also upload the pre-trained model to hugging face and put the link to it either in the comment of this PR or in RESULTS.md?
Please see

https://huggingface.co/csukuangfj/icefall-asr-librispeech-transducer-stateless-bpe-500-2021-12-27
https://github.com/k2-fsa/icefall/pull/152#issuecomment-1000041574
for examples.

ok. updated.


Tab components in Django with template

Fixes #8408
now we can use like this
{% tabs %}
        {% tab tab_id="tab-label-content" title="Content" %}

                Here are tab 1's contents.

        {% endtab %}
        {% tab tab_id="tab-label-promote" title="Promote" %}

                Here are tab 2's contents.

                Here are tab 2's contents.

        {% endtab %}
{% endtabs %}

Please check the following:

[ ] Do the tests still pass?[^1]
[ ] Does the code comply with the style guide?

[ ] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

there is small bug where i was not sure whether i should handle with plain js or in stimulus, is when using keyboard to focusing on the tabbed button like using arrow key and all.

@the-r3aper7 thank you. I'd recommend maybe just taking one part at a time for this work.
It looks like there will need to be a fair bit of testing and reviewing work to be done.
I'd recommend you close this PR and create one PR for either the Django template component OR the Stimulus migration.
Then we can work through one in full before tackling the other part.
Whatever part you want to do it will need to have a set of unit tests alongside it.
I've added some initial feedback, this is an awesome start but will need a fair amount of additional effort to get into core.

understood and i will create a new PR with the changes. Thank you for guidance.


Calculate image sizes when not provided by Render JSON

Rationale: Fixes issue where 2x images may appear too large on 1x displays if the RenderJSON does not provide image size attributes or a 1x image equivalent.
Risk: Medium
Risk Detail: Adds additional JavaScript logic that runs every time an image is loaded.
Reward: High
Reward Details: Fixes issue that could have noticeable impact for certain images on 1x displays.
Original PR: https://github.com/apple/swift-docc-render/pull/292
Issue: rdar://88195563
Code Reviewed By: @dobromir-hristov
Testing Details: Added unit tests, manually tested problematic scenario with example documentation.

@swift-ci test


feat: removal of openstack chart

including the openstack chart is confusing, and i'd like to start cleaning up the message a bit. if operators want a simple "one-command" deployment of OSH, Armada or some other similar tool can be used.

Thanks for tackling this.  This will definitely help clarify our message and intent going forward.

LGTM :)

@alanmeadows can you please review.


Signature pad ignore dot

Signature pad ignore dot when clicks on it, it ignores it sometimes and write it sometimes

I also have this issue, it is difficult to add a dot to an i.  You have a to move finger slightly to add a dot. If you just tap, it won't add it. It seems like it would be an easy fix to otherwise an awesome signature pad. Can we expect a fix for that?


RestoreSolution command fails for solution with "Miscellaneous Files" project

We get System.ArgumentNullException: 'Value cannot be null on VsHelpers.ProjectContainsManifestFileAsync(Project project)
We need to check for null for the rootFolder

Fixed with PR #257


How to completely uninstall?

The Question
How to completely uninstall all the tools installed with the extension; vsdbg, omnisharp-server, etc.?

Environment data
dotnet --info output:
.NET Core SDK (reflecting any global.json):
 Version:   3.1.300
 Commit:    b2475c1295

Runtime Environment:
 OS Name:     pop
 OS Version:  20.04
 OS Platform: Linux
 RID:         linux-x64
 Base Path:   /usr/share/dotnet/sdk/3.1.300/

Host (useful for support):
  Version: 3.1.4
  Commit:<PHONE_NUMBER>

.NET Core SDKs installed:
  3.1.300 [/usr/share/dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.4 [/usr/share/dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download

VS Code version: 1.45.1
C# Extension version: 1.22.0

@muhammadsammy All of those tools are installed under the extension's folder. So that uninstalling the C# extension will uninstall everything.

Thank you for your answer! Appreciate it.


Debug Error :Configured debug type 'python' is not supported.

I found "Unable to open 'Extension: Python': Server returned 404."
How to solve this?
Thanks!

Same problem. Unable to open 'Extension: Python': Server returned 404.

Sometimes it's ok, and sometimes this problem occurs.

I shot the problem.
1、download it ：wget https://github.com/microsoft/vscode-python/releases/download/2021.5.829140558/ms-python-release.vsix
2、install it
3、reopen the explorer！(so important!)

Thank you!

you can also refresh the webpage in step 3!


Support for Multiple Services in spec.scaleTargetRef for Argo Rollouts with Canary Deployments

Proposal
Currently, the http-add-on only supports a single service in spec.scaleTargetRef. However, when using Argo Rollouts with canary deployments, two services are needed: one for the stable version and one for the canary version, like in this example. This limitation prevents seamless integration with Argo Rollouts for canary deployments.
Maybe the HTTPScaledObject will look like this:
kind: HTTPScaledObject
apiVersion: http.keda.sh/v1alpha1
metadata:
    name: xkcd
spec:
    hosts:
        - myhost.com
    pathPrefixes:
        - /test
    scaleTargetRef:
        - name: xkcd
           kind: Rollout
           apiVersion: argoproj.io/v1alpha1
           service: xkcd-stable
           port: 8080
        - name: xkcd
           kind: Rollout
           apiVersion: argoproj.io/v1alpha1
           service: xkcd-canary
           port: 8080
    replicas:
        min: 1
        max: 10
    scaledownPeriod: 300
    scalingMetric:
        requestRate:
            granularity: 1s
            targetValue: 100
            window: 1m

Use-Case
I would like to request support for multiple services in spec.scaleTargetRef. This would allow users to specify both stable and canary services for more flexible and efficient canary deployments.
Is this a feature you are interested in implementing yourself?
Yes
Anything else?
Supporting multiple services in spec.scaleTargetRef will enable users to leverage the full potential of Argo Rollouts for canary deployments, allowing for more robust and reliable application scaling and traffic management.

With that yaml, it's not clear how much traffic should be sent to Canary and Stable using KedaHttpProxy.
For that reason, I think that if you want to implement a practical Canary, you'll also need features such as weight and sessionAffinity.
eg.
kind: HTTPScaledObject
apiVersion: http.keda.sh/v1alpha1
metadata:
    name: xkcd
spec:
    hosts:
        - myhost.com
    pathPrefixes:
        - /test
    scaleTargetRef:
        - name: xkcd
           kind: Rollout
           apiVersion: argoproj.io/v1alpha1
           service: xkcd-stable
           port: 8080
+          weight: 1
        - name: xkcd
           kind: Rollout
           apiVersion: argoproj.io/v1alpha1
           service: xkcd-canary
           port: 8080
+          weight: 99
+   sessionAffinity:
+       cookieName: flagger-cookie
+       maxAge: 21600
    replicas:
        min: 1
        max: 10
    scaledownPeriod: 300
    scalingMetric:
        requestRate:
            granularity: 1s
            targetValue: 100
            window: 1m


Migrated set-output command

Current dependencies on/for this PR:

main

PR #1248   👈

This comment was auto-generated by Graphite.


An interface for Lie groups

I think a good way to handle Lie group is with a Trait, i.e. the manifold gets a LieGroup trait (maybe also the points and vectors?) may be ⊗ or ◦, and one could then think about how to  model the Lie algebra.

For some manifolds, it makes sense to assign it as a Lie group with a trait. e.g. SO(n) is pretty much always considered as both a Lie group and a manifold (i.e. there's no notation for a manifold underlying the group). But S1 is usually only considered a group T=U(1) when equipped with complex multiplication, and S3 is considered a group Sp(1) with quaternion multiplication. It seems a bit ugly to just make S3 a group by default, so maybe Sp(1) should just be a separate manifold, but then how do we avoid excessive code duplication? I imagine this will come up a lot when dealing with isomorphic manifolds/groups.
What if we had an AbstractLieGroup manifold with subtypes NativeLieGroup and DerivedLieGroup? DerivedLieGroup would wrap a Manifold m and operator o and forward the general Manifold interface functions to m. NativeLieGroup would be used for specifying manifolds like SO(n) and would implement those operators directly.

A natural way to represent different Lie group structures for the same manifold would be, in my opinion, to have a separate abstract type AbstractLieGroup, and then, for each particular group, a concrete type, like
struct SpecialOrthogonal{M<:Rotations} <: AbstractLieGroup
    manifold::M
end

and then have methods like group_operation(so::SpecialOrthogonal, r1, r2) or inverse(so::SpecialOrthogonal, r). Lie group actions would have a completely separate abstract class as well. Manifold operation could be naturally handled by using the manifold field.

I don't like too much inheritance, that's too restrictive, i.e. a NativeLieGroup is then not able to be also a NativeMatrixManifold if we subtype that, too.
But I like the decorator idea @mateuszbaran ! in fact, the ' PowerandProductandTangentBundle`manifolds also have the same point of an internal manifold that is decorated/extended.
The only thin I would add is easy fall backs, i.e.
exp(M::SpecialOrthogonal,x,v) = exp(M.manifold,x,v)
and such, but that would not cover much more than a usual manifold anyways.
And yes, of course for AbstractLieGroups the inverse. Neat approach!

I also like this approach.

The only thin I would add is easy fall backs, i.e.
exp(M::SpecialOrthogonal,x,v) = exp(M.manifold,x,v)
and such, but that would not cover much more than a usual manifold anyways.

The Riemannian exponential with metric G and Lie exponential are only equivalent if G is a bi-invariant metric on the group, and such a metric in many cases doesn't exist. So I wouldn't add fallbacks like these. If the user wants a Riemannian exponential, they'll need to explicitly choose a metric (see #9). We can provide some common ones like that from the Killing form, etc.
Matrix Lie groups should be their own abstract type, since they have some general properties we can define.
abstract type AbstractMatrixLieGroup <: AbstractLieGroup end

vee(M::AbstractMatrixLieGroup, V) = error("not defined")
hat(M::AbstractMatrixLieGroup, v) = error("not defined")
exp!(M::AbstractMatrixLieGroup, X::AbstractMatrix, V::AbstractMatrix) = X .= LinearAlgebra.exp(V)
exp!(M::AbstractMatrixLieGroup, X::AbstractMatrix, v::AbstractVector) = X .= exp(M, hat(v))
log!(M::AbstractMatrixLieGroup, V::AbstractMatrix, X::AbstractMatrix) = V .= LinearAlgebra.log(X)
log!(M::AbstractMatrixLieGroup, v::AbstractVector, X::AbstractMatrix) = v .= vee(LinearAlgebra.log(X))

although ideally without so much specialization.


Thread to claim topics for added quiz material (Introduction to Julia Course)

Post the topic you will be making a quiz on here. Note that if another student claims the task, you should choose a different topic. The topics are as follows:

Control Flow
Packages
Plotting
Multiple Dispatch
Basic Linear Algebra
"Julia is fast"

Note that these quizzes can only cover material that was found in the actual videos that are in the Introduction to Julia course on JuliaAcademy.org.
Note the quiz can be less than 7-10 questions if the section doesn’t have enough content for that many questions.

I am choosing the Packages topic.

I haven't claimed the task yet but I'm gonna go with Basic Linear Algebra in Julia.

I haven't claimed the task, but I'll be working on Control Flow.

I will work on the Plotting section

Note that if another student claims the task and submits a quiz for the section you wanted before you claim the task, that students quiz will be accepted and you will have to find a different section. This is to prevent people from pre-collecting tasks and such. Thanks everyone!

I can work on "Julia is fast"

I will work on "Julia is fast"

Sure I'll work on Multiple Dispatch!

I’ll work on multiple dispatch since jo task was submitted for multiple dispatch. I have already claimed the task.


Master into alpha

Description
This drops the callerId null constraint in alpha
Breaking Changes
NA
JIRA Link
NA
Checklist

[ ] Updated the Readme.md (if required) ?

:tada: This PR is included in version 8.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:

:tada: This PR is included in version 8.5.0-alpha.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Some Advice using httpexpect with gofiber

Thanks for a great project.
I am looking at using httpexpect to test my gofiber app with httpexpect as I really like the simplicity of your project.
gofiber have some examples around testing using the standard library and expect here I would rather use your library for this as it provides a much easier way for me to write my tests.
gofiber is using fasthttp and so I have tried to use the fasthttp example you have as a start.
Unfortunately I am struggling.
Below is the example code and unit test , I am trying to implement the same example test but with httptest. Clearly I am not getting it right .
Could you provide some guidance please if it would be possible to test a fiber app with httptest?
Example fiber app.

package main

import (
	"log"

	"github.com/gofiber/fiber/v2"
)

func main() {
	// Use an external setup function in order
	// to configure the app in tests as well
	app := Setup()

	// start the application on http://localhost:3000
	log.Fatal(app.Listen(":3000"))
}

// Setup Setup a fiber app with all of its routes
func Setup() *fiber.App {
	// Initialize a new app
	app := fiber.New()

	// Register the index route with a simple
	// "OK" response. It should return status
	// code 200
	app.Get("/", func(c *fiber.Ctx) error {
		return c.SendString("OK")
	})

	// Return the configured app
	return app
}

Example Tests
package main

import (
	"io/ioutil"
	"net/http"
	"testing"

	"github.com/gavv/httpexpect/v2"
	"github.com/stretchr/testify/assert"
)

func TestIndexRoute(t *testing.T) {
	// Define a structure for specifying input and output
	// data of a single test case. This structure is then used
	// to create a so called test map, which contains all test
	// cases, that should be run for testing this function
	tests := []struct {
		description string

		// Test input
		route string

		// Expected output
		expectedError bool
		expectedCode  int
		expectedBody  string
	}{
		{
			description:   "index route",
			route:         "/",
			expectedError: false,
			expectedCode:  200,
			expectedBody:  "OK",
		},
		{
			description:   "non existing route",
			route:         "/i-dont-exist",
			expectedError: false,
			expectedCode:  404,
			expectedBody:  "Cannot GET /i-dont-exist",
		},
	}

	// Setup the app as it is done in the main function
	app := Setup()

	// Iterate through test single test cases
	for _, test := range tests {
		// Create a new http request with the route
		// from the test case
		req, _ := http.NewRequest(
			"GET",
			test.route,
			nil,
		)

		// Perform the request plain with the app.
		// The -1 disables request latency.
		res, err := app.Test(req, -1)

		// verify that no error occured, that is not expected
		assert.Equalf(t, test.expectedError, err != nil, test.description)

		// As expected errors lead to broken responses, the next
		// test case needs to be processed
		if test.expectedError {
			continue
		}

		// Verify if the status code is as expected
		assert.Equalf(t, test.expectedCode, res.StatusCode, test.description)

		// Read the response body
		body, err := ioutil.ReadAll(res.Body)

		// Reading the response body should work everytime, such that
		// the err variable should be nil
		assert.Nilf(t, err, test.description)

		// Verify, that the reponse body equals the expected body
		assert.Equalf(t, test.expectedBody, string(body), test.description)
	}
}

//fastHTTPTester returns a new Expect instance to test FastHTTPHandler().
func fastHTTPTester(t *testing.T) *httpexpect.Expect {
	app := Setup()
	return httpexpect.WithConfig(httpexpect.Config{
		// Pass requests directly to FastHTTPHandler.
		Client: &http.Client{
			Transport: httpexpect.NewFastBinder(app),
			Jar:       httpexpect.NewJar(),
		},
		// Report errors using testify.
		Reporter: httpexpect.NewAssertReporter(t),
	})
}

func TestFastHTTP(t *testing.T) {
	e := fastHTTPTester(t)

	e.GET("/").Expect().
		Status(http.StatusOK).
		Body().Equal("OK")
	e.GET("/i-dont-exist").Expect().
		Status(http.StatusNotFound).
		Body().Equal("Cannot GET /i-dont-exist")
}

I found the issue.
Transport: httpexpect.NewFastBinder(app),

Should be
Transport: httpexpect.NewFastBinder(app.Handler()),


pageserver: prohibit branching from LSNs that are not yet remote consistent

I don't think there isn't anything wrong with the current approach per se either, but I agree it would feel less surprising.
It means that we need to wait for the remote storage uploads on the parent timeline to finish before the timeline creation can complete, but I guess that's acceptable.
We'd still need the "wait for ancestor timeline to become active" part of this PR anyway. Most of the code changes here were needed for that, the wait_for_lsn call is just a one-liner on top of that. So I'd suggest committing this PR as it is, and open a follow-up issue/PR to change timeline_create to wait for parent's remote uploads. What do you think?

Sure, we can take this PR now and fix branch creation later, although, as part of that later fix, IMO we should stop wait_lsn for ancestors and instead bail out if we don't have it, in the spirit of

The argument I'd make is that, detach+attach should be a pageserver-internal affair. SKs >> availability should not impact ability to successfully detach+attach+access existing data.

I'll create an issue for that.

On a side note, I'm now wondering whether we can currently branch in the future? Couldn't spot a check while skimming through Tenant::branch_timeline .

Originally posted by @problame in https://github.com/neondatabase/neon/issues/4170#issuecomment-1545381441

Waiting period for LSN becoming remote consistent can be up to 10 minutes (flush timeout), so if we return an error we can do so for up to 10 minutes which is not acceptable.


When I just do_predict, I got KeyError of optimizer

When I just do_predict, I got KeyError of optimizer, like this:

Do you have any idea for the problem ?

The reason may be that the pre-trained model I uploaded does not contain the parameter for optimizer. So if you want to do prediction, you should mask out the following codes in the run file:
'''
global_step, global_epoch = 0, 1
if os.path.isfile(save_path):
checkpoint = torch.load(save_path)
optimizer.load_state_dict(checkpoint['optimizer'])
logger.info("Load optimizer from finetuned checkpoint: '{}' (step {}, epoch {})"
.format(save_path, checkpoint['step'], checkpoint['epoch']))
global_step = checkpoint['step']
global_epoch = checkpoint['epoch'] + 1
'''


python38Packages.limnoria: 2021.06.15 -> 2021.07.21

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python38Packages.limnoria is: "A modified version of Supybot, an IRC bot"
meta.homepage for python38Packages.limnoria is: "https://github.com/ProgVal/Limnoria"
meta.changelog for python38Packages.limnoria is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-adduser passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-botchk passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-plugin-create passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-plugin-doc passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-reset-password passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-test passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/supybot-wizard passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-adduser-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-botchk-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-plugin-create-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-plugin-doc-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-reset-password-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-test-wrapped passed the binary check.

/nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/bin/.supybot-wizard-wrapped passed the binary check.

16 of 16 passed binary check by having a zero exit code.

10 of 16 passed binary check by having the new version present in output.

found 2021.07.21 with grep in /nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21

found 2021.07.21 in filename of file in /nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21

directory tree listing: https://gist.github.com/50761350e013bb6ebc6ae842483027bf

du listing: https://gist.github.com/5e9db7a3264d42389b722b1196e6431e

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

8 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python38Packages.limnoria
python39Packages.limnoria

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21 \
  --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 python38Packages.limnoria https://github.com/r-ryantm/nixpkgs/archive/5708e2a81e533e8f53b73bec48fcc74b299ac879.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21
ls -la /nix/store/vwhf9ljwm5akwymmkz3w9dlbnwij4jqg-python3.8-limnoria-2021.07.21/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:

python38Packages.limnoria
python39Packages.limnoria

Maintainer pings
cc @cillianderoiste for testing.

Result of nixpkgs-review pr 133870 at 5708e2a8 run on aarch64-linux 1

2 packages built successfully:

python38Packages.limnoria
python39Packages.limnoria

1 suggestion:

warning: python-include-tests
Consider adding a checkPhase for tests, or if not feasible, pythonImportsCheck.
Near pkgs/development/python-modules/limnoria/default.nix:26:0:
   |
26 |     description = "A modified version of Supybot, an IRC bot";
   | ^


add more tests and coverage checker

Checklist

[x] npm test passes
[ ] documentation is changed or added (if applicable)
[ ] permission has been obtained to add new logo (if applicable)
[x] contribution guidelines followed here

Unhappy linter?

Unhappy linter?

@karianna pushed a fix


Java 21 support, cyclonedx-maven-plugin:2.7.5

https://github.com/SAP/cloud-mta-build-tool/blob/c06513ea64d7bda42219103b5e8b7f2c67372360/internal/commands/commands.go#L356

In the line linked above you use the command: mvn org.cyclonedx:cyclonedx-maven-plugin:2.7.5:makeAggregateBo ....
The version 2.7.5 does not support Java 21 as far as I could see. Could you please update that to the newest version of the plugin?
Kind regards
Hendrik

Hello @D068130 ,
Could you please provide more detailed information? This will help me identify the specific error you're encountering. I've noticed that my simple Java application, which is running on openjdk version "21.0.4" 2024-07-16 LTS, is not throwing any error messages.
thanks
Yutao

Hi yutaoj,
did you make sure that you configured in your setup that the sbom will be built?
The actual error we get is:
error mtaBuild - [ERROR] Failed to execute goal org.cyclonedx:cyclonedx-maven-plugin:2.7.5:makeAggregateBom (default-cli) on project ts-reader: Execution default-cli of goal org.cyclonedx:cyclonedx-maven-plugin:2.7.5:makeAggregateBom failed: Unsupported class file major version 65 -> [Help 1]
Which for me means the version of the plugin does not support Java21

Hi Hendrik,
Thank you for your input , I got the info "Unsupported class file major version 65", which indicate the jdk Compatibility.
Could you please provide additional details, such as the operating system, Maven version, and whether you are using Oracle JDK? This information will be crucial for me to reproduce and address this issue effectively.
Thanks
Yutao

Hi yutaoj,
we are using azure pipelines and piper with the parameters for the mta build as follows:
mtaBuild:
  mtaBuildTool: cloudMbt
  mtarGroup: 'com.sap.hyperspace'
  **dockerImage: 'devxci/mbtci-java21-node20'**
  createBOM: true

https://github.wdf.sap.corp/pages/ContinuousDelivery/piper-doc/steps/mtaBuild/#overview-step

Hi Hendrik,
I can't reproduce this error with my java/maven case in docker image "devxci/mbtci-java21-node20" , I will continue look into this issue .
thanks
Yutao


newState is called on subscribers before state changes

Related issue: #144
when newState is called, subscribers have newState value via parameter and also can have oldState value via store
Example:
func newState(state: FooAppState) {
    if (store.state.FooLoadingState) {
        loadingView.hide()
    }

    switch state {
    case FooBlaBlaState:
    ...
    }
}

closing due to unit test failure caused by structural changes


Previously Completed Classes List

For students who took AP classes or went to community college, allow them to add a list of classes that they have previously completed.

How is this different than adding custom courses?

Closed as duplicate. See #291 for more info


add docker-compose for e2e tests with powerdns

Thanks for submitting this code! is going to be really useful for the e2e test ! i would rather leave this PR as a draft and work on it when we add the e2e tests.

I tested it locally without checking the code, it works well, however I would only either:

avoid having the exported in the docker-compose
exposing the port of powerDNS also outside to provide a way to run an end2end using this as environment


Updated slog_serde to allow length parameter.

Also updated slog_json to use it. Users of slog_json will see no change;
it is purely internal.
This resolves #85.

Thanks!


Fix tab size for Emacs users.

For some reason .dir-locals.el was setting tab-width to 2.  That's a Really Bad Idea, because if somehow (as happened in my case) indent-tabs-mode was 't instead of nil like it should have been, Emacs will insert tabs instead of spaces, and it'll look like it's doing the right thing when it really isn't.

@swift-ci Please smoke test

@swift-ci Please smoke test Linux platform


luci-base: network.lua: bridge information request functions fixes

Fixes these bugs:

Functions interface.bridge_id() and interface.bridge_stp() uses self.br field
that is not exists at all
Function interface.is_bridgeport() return true only for bridge interface, not for
bridge port interfaces.
Function interface.ports() is not return anything

@hnyman @jow-
That about this PR? Why not merge?

@namedun please rebase your change if you still think this is needed.
I'm afraid I can't say anything about that because I have no idea why it's useful. Maybe you can say something about it

Rebased.
Functions which are fixed by this PR are not used anywhere in luci-base and standard LuCI applications. However, these functions are used in our mstpd support LuCI application (https://github.com/tano-systems/luci-app-tn-mstpd).

Merged it, sorry for the long wait time.


noissue: no file in heavy mock integration tests

- What I did
- How I did it
- How to verify it
- Description for the changelog

Codecov Report

Merging #99 into master will decrease coverage by 0.80%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #99      +/-   ##
==========================================
- Coverage   75.51%   74.70%   -0.81%
==========================================
  Files          45       46       +1
  Lines        2891     2926      +35
==========================================
+ Hits         2183     2186       +3
- Misses        564      595      +31
- Partials      144      145       +1

Impacted Files
Coverage Δ

etl/transformer/transformer.go
81.81% <0.00%> (-0.39%)
:arrow_down:

api/pprof_router.go
0.00% <0.00%> (ø)

testutils/generators.go
93.72% <0.00%> (+0.18%)
:arrow_up:

Continue to review full report at Codecov.

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


WIP

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3650

PR #3673

PR #3714   👈
PR #3674

This comment was auto-generated by Graphite.


Implement jqraw

Builds on top of https://github.com/dgtlmoon/changedetection.io/pull/1744
Fixes: #1472

I'm unable to run tests (any of them) because of dev server error:
00:11:26 changedetectionio.flask_app: ERROR Exception on /preview/first [GET]
Traceback (most recent call last):
  File "/Users/neo/Projects/offsec/changedetection.io/venv/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/neo/Projects/offsec/changedetection.io/venv/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/neo/Projects/offsec/changedetection.io/venv/lib/python3.10/site-packages/flask_restful/__init__.py", line 298, in error_router
    return original_handler(e)
  File "/Users/neo/Projects/offsec/changedetection.io/venv/lib/python3.10/site-packages/flask_cors/extension.py", line 178, in wrapped_function
    return cors_after_request(app.make_response(f(*args, **kwargs)))
  File "/Users/neo/Projects/offsec/changedetection.io/venv/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/neo/Projects/offsec/changedetection.io/venv/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/Users/neo/Projects/offsec/changedetection.io/changedetectionio/flask_app.py", line 211, in decorated_view
    return func(*args, **kwargs)
  File "/Users/neo/Projects/offsec/changedetection.io/changedetectionio/flask_app.py", line 1099, in preview_page
    timestamp = versions[-1]
IndexError: list index out of range

Not sure what's wrong here but I've run tests without live server, they're ok and the actual application is also working fine

thanks for the PR! nice to see a test here

File "/Users/neo/Projects/offsec/changedetection.io/changedetectionio/flask_app.py", line 1099, in preview_page
timestamp = versions[-1]
IndexError: list index out of range

this usually means the test is trying to load the preview page, but there is no succesfully fetched version yet

Thanks again :)

Thanks for completing this! I worked around this by using regex /"(.*)",?/ as output filter.


Incorrect write of some gz compressed images with etcher-image-write v7.0.1

Etcher version: commit 893f42a124375d04d45bfcb2b1b454431231642f (etcher-image-write to v7.0.1)
Operating system and architecture: ArchLinux x64
Do you see any meaningful error information on DevTools? no

When burning some compressed images, it can result in validation error (likely actually wrongly burned images). Bisected it to the commit above.
Found example file that triggers: https://www.dropbox.com/s/yk2f5bifkzjum1b/resin-hostname-1.8.0-1.13.0-7ad55d1c946b.img.gz?dl=0 Burning this gz results in full write but then receive validation error. No error message in the console.
Uncompressing and burning image works fine.  The same image compressed with xz or zip burns fine and validates. bz2 fails in this commit too, but looks like an unrelated issue (appears earlier in commit history) just mentioning not to hold up the investigation (will check that separately).

Turns out this is related to https://github.com/resin-io/etcher/issues/710, and the same fix worked for both.


Switch to poetry to make publishing easy

In order to publish now
poetry build
First publish to testpypi and check that things look ok at
poetry config repositories.testpypi https://test.pypi.org/legacy/
poetry publish -r testpypi
Username: NucleusTeam
Password: Look it up in 1password (look for pypi)
If things look ok then
poetry publish
Things I am wondering: what tests were already passing, what is the best way to test this?
Is there a PR template to follow?

Wait something went wrong with which branch I used for this, fixing so that not so many files are included

Fixed in different PR


Class MobilityDataStandard: expected usage and new property  conformsTo

The expected usage of the property mobilitydcatap:mobilityDataStandard should be clarified in the spec as discussed in #35 and #36. In the example provided within the spec, we have
<https://www.trafficdata.se/dataset/ec459578-a11f-4728-acaa-16b08ae45cfa/resource/4d2cccaf-219f-4fe6-a22c-d695ce86699d>
  a dcat:Distribution ;
  [...]
  mobilitydcatap:mobilityDataStandard <https://w3id.org/mobilitydcat-ap/mobility-data-standard/datex-II> ;

This is correct, and I would vote to keep this alternative (first approach) valid. However, in some cases the user may want to specify further the data standard of the distribution by instantiating an individual of class MobilityDataStandard (second approach).
In the RDF serialisation of the spec, we have dcam:rangeIncludes and not rdfs:range spec for the mobilityDataStandard property to enable both the adoption of a simple value from the mobility-data-standard  controlled vocabulary or the creation of a "custom value" as an instance of the class MobilityDataStandard. Regarding the first approach (in the example above) we should:

[ ] add dcam:rangeIncludes skos:Concept for the mobilityDataStandard property, as done for other properties referencing a controlled vocabulary.
[ ] change the SHACL shapes to accept this behaviour (currently an individual of class MobilityDataStandard is expected in any case)

Regarding the second approach an example is:
<https://www.trafficdata.se/dataset/ec459578-a11f-4728-acaa-16b08ae45cfa/resource/4d2cccaf-219f-4fe6-a22c-d695ce86699d>
  a dcat:Distribution ;
  [...]
  mobilitydcatap:mobilityDataStandard <https://www.trafficdata.se/standard/datex-ii-se-profile-v3.2> .

<https://www.trafficdata.se/standard/datex-ii-se-profile-v3.2> a mobilitydcatap:MobilityDataStandard ;
  owl:versionInfo "3.2" ;
  dct:conformsTo <https://w3id.org/mobilitydcat-ap/mobility-data-standard/datex-II>;
  mobilitydcatap:schema "...URL leading to schema file(s)..." .

A custom instance of class mobilitydcatap:MobilityDataStandard is defined (as shown above for <https://www.trafficdata.se/standard/datex-ii-se-profile-v3.2>). For this approach we should:

[ ] include dct:conformsTo as property for class MobilityDataStandard to reference the appropriate value from the  mobility-data-standard  controlled vocabulary  (in the example https://w3id.org/mobilitydcat-ap/mobility-data-standard/datex-II)
[ ] adapt the RDF serialization and the SHACL shapes accordingly

I have realized an additional property "dct:conformsTo" in the current draft of v1.1.0

@marioscrock Thank you for raising this issue regarding the mobilityDataStandard property usage. I agree with your analysis and proposal to support both approaches. I've prepared a SHACL shape update that implements these requirements:
Proposed Solution
The updated SHACL shapes support both approaches:

Direct reference to controlled vocabulary (first approach):

<https://www.trafficdata.se/dataset/ec459578-a11f-4728-acaa-16b08ae45cfa/resource/4d2cccaf-219f-4fe6-a22c-d695ce86699d>
  a dcat:Distribution ;
  mobilitydcatap:mobilityDataStandard <https://w3id.org/mobilitydcat-ap/mobility-data-standard/datex-II> ;

Custom MobilityDataStandard instance (second approach):

<https://www.trafficdata.se/dataset/ec459578-a11f-4728-acaa-16b08ae45cfa/resource/4d2cccaf-219f-4fe6-a22c-d695ce86699d>
  a dcat:Distribution ;
  mobilitydcatap:mobilityDataStandard <https://www.trafficdata.se/standard/datex-ii-se-profile-v3.2> .

<https://www.trafficdata.se/standard/datex-ii-se-profile-v3.2>
  a mobilitydcatap:MobilityDataStandard ;
  owl:versionInfo "3.2" ;
  dct:conformsTo <https://w3id.org/mobilitydcat-ap/mobility-data-standard/datex-II> ;
  mobilitydcatap:schema "...URL leading to schema file(s)..." .

Here's the updated SHACL shape that validates both patterns:
:Distribution_Shape
  a sh:NodeShape ;
  sh:property [
    sh:minCount 1 ;
    sh:maxCount 1 ;
    sh:path mobilitydcatap:mobilityDataStandard ;
    sh:or (
      # First approach: Direct reference to controlled vocabulary
      [
        sh:nodeKind sh:IRI ;
        sh:pattern "^https://w3id.org/mobilitydcat-ap/mobility-data-standard/"
      ]
      # Second approach: Reference to MobilityDataStandard instance
      [
        sh:class mobilitydcatap:MobilityDataStandard
      ]
    ) ;
    sh:severity sh:Violation
  ] .

# Updated MobilityDataStandard shape
:MobilityDataStandard_Shape
  a sh:NodeShape ;
  sh:property [
    sh:nodeKind sh:IRI ;
    sh:pattern "^https://w3id.org/mobilitydcat-ap/mobility-data-standard/" ;
    sh:path dct:conformsTo ;
    sh:maxCount 1 ;
    sh:severity sh:Violation
  ] .

Updated the Distribution shape to support both patterns using sh:or
Added dct:conformsTo to the MobilityDataStandard shape to reference the controlled vocabulary

Meeting 05.12.2024:
Decision procedure for the proposed change:
Property dct:conformsTo added under optional properties for Class Mobility Data Standard. This property describes the name of the mobility data standard. This property is used when a custom instance of class mobilitydcatap:MobilityDataStandard is defined, see the usage note for this property. See issue #65. DECISION POINT: YES / NO
Decision result: no opposition, change to be realised in v1.1.0

Realised in v1.1.0: Updated Respec, serialisation files, SHACL file


Sorting SPFx custom action buttons in modern list experience

Hello,
I have developed important feature for our company using SPFx ListView Command Set extension. Also we use many 3rd party SharePoint Add-ins from app source.
So the main question and problem:
it is possible to control SPFx custom action button ordering? Sequence parameter is not working. The only thing I was able to do is to control ordering between SPFx custom action buttons but not over SharePoint Add-in buttons.
My requirement is to make SPFx custom action button higher priority over other 3rd party add-in buttons.

I did some tests with SharePoint Online PowerShell and tried to experiment with custom action "sequence" property. After some tests I noticed that toolbar is divided into two groups: SharePoint Add-in buttons and SharePoint Framework buttons. I can change ordering by changing UserCustomAction.Sequence property value but ordering is changed only in the group. I can't force to go my SPFx buttons first over SP Add-ins. Also I can't to move SPFx button between two SP Add-in buttons.
So maybe is possible to change SPFx custom action ordering over SharePoint Add-in custom action ordering? Without workarounds (I can do this with javascript but is not recommended...).
Thanks :)
Category

[x ] Question

That sounds like a bug.  The sequence number is supposed to control that.  Let me see if I can find someone to comment.  Thanks.

After further investigation we identified that, unfortunately, that is not possible today.
Please provide your vocal feedback on UserVoice: that will help us properly triage this requirement and hopefully bring this feature to you soon

Hello,
As I haven't found one, I've posted a new idea on UserVoice.
Go give it a like 👍


feat: Add support to osx and improve the error messages

Pull Request description

This PR aims to add support to osx and improves error messages.

How to test these changes

...

Pull Request checklists
This PR is a:

[ ] bug-fix
[ ] new feature
[ ] maintenance

About this PR:

[ ] it includes tests.
[ ] the tests are executed on CI.
[ ] the tests generate log file(s) (path).
[ ] pre-commit hooks were executed locally.
[ ] this PR requires a project documentation update.

Author's checklist:

[ ] I have reviewed the changes and it contains no misspelling.
[ ] The code is well commented, especially in the parts that contain more complexity.
[ ] New and old tests passed locally.

Additional information

Reviewer's checklist
Copy and paste this template for your review's note:
## Reviewer's Checklist

- [ ] I managed to reproduce the problem locally from the `main` branch
- [ ] I managed to test the new changes locally
- [ ] I confirm that the issues mentioned were fixed/resolved .

the github actions with macos doesn't have permissions (license) for using docker directly .. we could do it manually .. but it was taking a lot of time ... maybe some step was not working .. not sure ... also tried podman .. podman-compose is not updated ... and using docker-compose with podman requires it as root permission and with socket ..


Buddybuild crash report on build #455

Buddybuild detected a crash from Unknown user
View Full Crash Details

Crash report from<EMAIL_ADDRESS>


Enable dev mode locally

Summary
Tweak #3480 to only work on local dev.
Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

Fixes #

Hmm not so sure about this.
This means I'd need to change wp-config.php on our test environment(s), and everyone not using the Docker environment would need to do so too.
I was first thinking about leaving it on true by default, but when **building** the plugin setting it to false`.
Not sure which one's better.
Thoughts?

I personally believe that WEBSTORIES_DEV_MODE is a feature flag itself. We should not opt people into dev mode. Tweaking dev env is a small ask, IMO. Jetpack for example, JETPACK_DEV_DEBUG  checks if it defined and do not opt in.
We can document WEBSTORIES_DEV_MODE similar to this.

We should not opt people into dev mode

Agreed, that's why I would have toggled the flag for all production builds we send to users.
But if you git clone the repository and install the plugin, you'd automatically have it enabled.

But if you git clone the repository and install the plugin, you'd automatically have it enabled.

I don't have a problem with that. If you are git cloning a repo into say VVV, you should really know what you are doing. But how about this.
if ( ! defined( 'WEBSTORIES_DEV_MODE' ) ) {
	define( 'WEBSTORIES_DEV_MODE', WP_DEBUG );
}

If you have debug on, then you normally in a local env and are a developer. Thoughts?

Then I'd prefer false as the default.
Now I just need to fix the tests caused by this change.


feat(scrollable-image): add full width wrapper

This PR includes this change that users can extend the embedded component width to viewport's width, not to be limited by its parent.
It has been tested on staging cloud function: https://asia-east2-cloud-functions-268910.cloudfunctions.net/scrollable-image
And can be viewed in this post: https://keystone-preview.twreporter.org/a/test-scrollableimage
Thanks to @YuCJ 's effort.

LGTM

@taylrj The code has been updated according to the review. You can copy and replace it. Latest code here: https://github.com/twreporter/orangutan-monorepo/blob/master/packages/dual-channel/src/app/components/full-width-wrapper.js

And I added an eslint plugin to check if our code follows the official suggestions about React hooks. So you may need to rebase to current master to run linting.