Is it possible to network v86 instances together inside the browser?

I am looking for a way to network multiple instances together without having to do anything server side. This will be a part of a virtual networking lab for educational purposes. It might be possible to use serial to setup an connection but it would be tricky and not ideal. Ideally it would be nice to have a local network interface that can be used to make a virtual switch in the browser. You could have some sort of hook that runs a handler program when a frame is received. From there I could write a proper switch that could do routing based on mac.

Yes, see https://github.com/copy/v86/blob/master/examples/two_instances.html (haven't tested it in a while, but it should still be working)

I am looking for a way to network multiple instances together without having to do anything server side. This will be a part of a virtual networking lab for educational purposes. It might be possible to use serial to setup an connection but it would be tricky and not ideal. Ideally it would be nice to have a local network interface that can be used to make a virtual switch in the browser. You could have some sort of hook that runs a handler program when a frame is received. From there I could write a proper switch that could do routing based on mac.

I've been playing around with the new fetch based network driver and have to say, its really friendly to begin work on (I even made my own handler for TCP in a day that uses https://github.com/MercuryWorkshop/wsproxy and is much faster than the relay based networking available), you could probably play around with that + webrtc if you're looking for cross computer communication.
alternatively you could hook virtio console and serial and send messages that way, it would be a form of networking, just not through the NIC

Yes, see https://github.com/copy/v86/blob/master/examples/two_instances.html (haven't tested it in a while, but it should still be working)

Is it possible to have multiple interfaces? I am looking to have a mini web based network. For now I am looking into possibly writing a switch program that matches Mac addresses.

Is it possible to have multiple interfaces?

There are multiple NE2K support, if I correctly understand what you are need: https://github.com/copy/v86/pull/1061/commits/692b9ad01028b907b15b7f8176265fd5e5551342

Is it possible to have multiple interfaces? I am looking to have a mini web based network. For now I am looking into possibly writing a switch program that matches Mac addresses.

I think the switch is the best idea here, there doesn't seem to be a way to create multiple NICs in v86 in starter.js, you'd probably need to do substantial modifications

I might just use premade simulators. This is starting to seem way more ambitious than I realized.

I'd accept a PR to support multiple adapters in the constructor. We'll soon have three network backends (wsproxy, fetch and wisp) and two adapters (ne2k and virtio-net), and it would be nice to support arbitrary combinations too.

Well that is not an approach that I had considered. It would be a hub instead of switch and I would need to come up with some sort of lock to prevent two instances broadcasting at the same time but it might be feasible.

I have a working proof of concept. Thanks @SuperMaxusa

https://darin755.codeberg.page/netemu/src/

@SuperMaxusa That is pretty cool, could you send a PR to add as an example?
Just a comment, I believe the following check is not necessary (it's already done in the network card)
        // don't accept packets not addressed to us
        // ff:ff:ff:ff:ff:ff - broadcast
        if((eth.dest === emulator.mac) || (eth.dest === "ff:ff:ff:ff:ff:ff")) {

Just a comment, I believe the following check is not necessary (it's already done in the network card)

Indeed, thanks for your comment! Seems that I left this for clear logging on each VM.


Add nested std vectors as compare point to array proxy

ONLY LAST COMMIT BELONGS TO THIS DIFF
CLICK ON COMMITS CHOOSE LAST COMMIT AND REVIEW THAT ONLY
I thought the numbers we are getting are slow, so i added comparison with the same work done
in c++ and stored in nested std::vector, with nullability represented with std::optional.
it turns out we are not bad, specially for the not null case we are faster.
With nulls
============================================================================
VectorBasic                                                342.60ns    2.92M
VectorResizeOptimized                                      240.44ns    4.16M
SimpleProxyWithResize                                      276.22ns    3.62M
SimpleProxyPushBack                                        287.90ns    3.47M
SimpleGeneral                                              312.04ns    3.20M
SimpleOld                                                  645.01ns    1.55M
NestedSTDVectorPushBack                                    291.51ns    3.43M
============================================================================

No nulls
============================================================================
VectorBasic                                                133.12ns    7.51M
VectorResizeOptimized                                       58.78ns   17.01M
SimpleProxyWithResize                                      144.92ns    6.90M
SimpleProxyPushBack                                        260.70ns    3.84M
SimpleGeneral                                              253.14ns    3.95M
SimpleOld                                                  652.33ns    1.53M
NestedSTDVectorPushBack                                    289.70ns    3.45M
============================================================================

fix commit history

format stack

nit: On the benchmarks - can you keep one as base and others relative so we can get a % difference in the table ?


Update dependancies

As above

Coverage decreased (-0.005%) to 99.024% when pulling cf5077d650afa9b7f1b65b6a9fbd4267ba536c40 on fix-nokogiri into b40a256ed63ab29ac67e69aafb4a796e4c2f6511 on master.


enhance types of mergeProps

Describe the bug
mergeProps is a powerful tool, but the typing is a bit clunky.
Your Example Website or App
https://playground.solidjs.com/anonymous/f901c3ec-82cb-4fbf-bc81-6e6583c67b64
Steps to Reproduce the Bug or Issue
type Vector = [number, number];
type Props = { tuple: Vector };

const App = (props: Partial<Props>) => {
  const merged = mergeProps({ tuple: [1, 1] }, props);
  merged.tuple; // type is (number[] | Vector) & (number[] | Vector | undefined)
  // ideally types would not become less narrow by using mergeProps

  // typecasting works, but is clunky and not typesafe
  const merged2 = mergeProps({ tuple: [1, 1] as Vector }, props);
  merged2.tuple; // type is Vector
  const merged3 = mergeProps({ tuple: [1, 1] as Vector }, props) as Props;
  merged3.tuple; // type is Vector

  // no type-error
  const merged4 = mergeProps({ tuple: [1, 1, 1] }, props)
  // no type-error
  const merged5 = mergeProps({ tuple: [1, 1, 1] }, props) as Props

  return <></>;
};

Expected behavior

ideally types would not become less narrow by using mergeProps and no additional typecasts would be needed
original typing of props should be respected when merging props, or there is at least a typesafe way to enforce this.

Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
No response

I mean this isn't really something fixable, typescript is going to infer [1, 1] as number[] and not [number, number], and I don't see any way to correctly type this without [1, 1] as const or [1, 1] satisfies Vector.
mergeProps doesn't know which of the arguments passed is the original type, and we it doesn't make assumptions about what the user wants. You could make a wrapper that is meant to merge props onto default props and have the latter be the "original" type.

I was thinking something in the line of mergeProps taking a generic that is the 'correct' type and the result of mergeProps would be typechecked against this type. Then mergeProps<{tuple: Tuple}>({ tuple: [1, 1, 1] }, props) would error and you could do something like (props: Partial<Props>) => {const merged = mergeProps<Props>({...assign all values...}, props) ...}

Right now the generic is the entire list of args, which is necessary to preserve their order so that we can make sure that the args that come later override those which come earlier. So you can currently use mergeProps<{ tuple: Tuple }[]>.
It should be possible to add an overload which takes a non-array generic to catch this usage, after the current one, if necessary. I'm not sure if that would be an improvement though.

Not really 100% an answer to the question, but I personally have always asked myself (I'm not an actual Solid user yet) why this general mergeProps function  is always used explicitly for the "default props use case" in Solid (see Solid Tutorial "Props/Default Props"), instead of using a special additional function tailored for exact that "default props use case" and nothing else. I think the above snippet is such a "default props use case". It may have some advantages if the arguments were swapped, means f(props, defaultProps) instead of f(defaultProps, props), as defaultProps may be a large object literal, and so this argument order may be better to read and will not produce additional lines with prettier - maybe just a matter of taste :wink:
Okay, long story short: Let's try to define a function withDefaults(props, defaultProps) that covers only this "default props use case", hoping proper typing becomes simpler then (like said, I know, that was not exactly the question, but anyway).
My little brain did not make it to find a proper type for this withDefaults function with arity 2, I always had the same problems that have already described in the other comments above.
But if you implement this withDefaults function in curried form, typing seems to become easier: Demo
Maybe currying could also help with typing a method mergeProps2(a)(b)(c), but I have not tried that.

Okay, long story short: Let's try to define a function withDefaults(props, defaultProps) that covers only this "default props use case", hoping proper typing becomes simpler then (like said, I know, that was not exactly the question, but anyway).

Not exactly the question, but exactly the intent behind my question: a typesafe way of defining default props 👍

// typecheck defaultProps as Props by assigning it
const defaultProps: Props = { tuple: [1, 1] };
const mergedProps = mergeProps(defaultProps, props);
// or in TS 4.9 and later
const mergedProps = mergeProps({ tuple: [1, 1] } satisfies Props, props);

This does give us typesafety while assigning, but the types of the result-value do not accurately portray this:
type Vector = [number, number];
type Color = string | { r: number; g: number; b: number };
type Props = { tuple: Vector; color: Color };

const App = (props: Partial<Props>) => {
  const defaultProps: Props = { tuple: [1, 1], color: "red" };
  const merged1 = mergeProps(defaultProps, props);
  // type merged1.color = Color & (Color | undefined);
  const merged2 = withDefaults(props)(defaultProps);
  // type merged2.color = Color & (Color | undefined);
  const merged3 = { ...props, ...defaultProps };
  // type merged3.color = Color;
  return <></>;
};

playground

It's a bit of a problem (at least it's confusing) that the base types are defined like this:
type Props = { tuple: Vector };

const App = (props: Partial<Props>) => {
  ...
}

instead of defining them in the usual way:
type Props = { tuple?: Vector };

const App = (props: Props) => {
  ...
}

Because then it will turn out that using the following pattern
  const defaultProps: Props = { tuple: [1, 1] };

would not be very useful pattern any longer, but using the following will always work:
  const defaultProps = { tuple: [1, 1] } satisfies Props;

Would really help if Solid Playground was using  a  TS version >= 4.9 :wink:
Also @bigmistqke, in your latest demo you have changed the return type of the withDefaults function: It's => P & D, not just => P.

Edited the typo 👍
With satisfies and not using Partial-typehelper, withDefaults seems to be working.
+1 on Solid Playground using TS version >= 4.9

It's a bit of a problem (at least it's confusing) that the base types are defined like this:

I think it's pretty clean tbh. Sad that it has implications on the typings.

Is there any action to take here?

You can contribute it to solid-primitives if you think it's useful 😉

true, but I think in this case it would be good to have an 'official' solution that can be recommended in docs, since it's such a common task.

Ok, so basically TS can't do what we want, there is a solution with a different sort of API that uses currying which may be weird. I think the idea is interesting, but I'm also slow on adding new APIs to do something we already do a different way. Let me add this to my considerations for 2.0 list and in the meanwhile submit to solid-primitives to see how people like using it in practice.

In the upcoming TS Version 5 there will be this thing called "const type parameters".
I currently have time to check that out the next few days, but maybe that feature could help with the "properly typed default props function" problem. Maybe I'm totally wrong and this hint is stupid, but I thing at least this sounds promising.

It wouldn't give you Props as the output type but it would work similarly to as const does now, but in the function declaration instead. Which would allow you to use an object literal in there without manually adding as const or satisfies, but similar to as const, comes at the cost of having (some) props become deeply readonly. Which has implications for typing, since types in typescript are rarely used in a const-correct manner. An example: https://playground.solidjs.com/anonymous/00355c0b-05ae-4257-8386-1f8f4207f9a0.

This does give us typesafety while assigning, but the types of the result-value do not accurately portray this:
I could cast of course

You don't need to cast, annotate the merged type with Props if you prefer that over the inferred intersections. That's still more work than typescript inferring the correct types, but at least you're not casting.

For what it's worth I just ran into this exact problem with mergeProps and I wrote my own helper function to resolve it:
import { type MergeProps, mergeProps } from "solid-js";

export function defaultProps<T, K extends keyof T>(
    defaults: Required<Pick<T, K>>,
    props: T
): MergeProps<[Required<Pick<T, K>>, T]> {
    const resolvedProps = mergeProps(defaults, props);
    return resolvedProps;
}

It doesn't merge arbitrary keys, it requires the merged keys to already exist on T (the ComponentProps). Additionally, it prevents types from "widening" (e.g. "start" | "center" | "end" does not get transformed into string in the final props). This is behavior that I would expect from default props. Essentially I made this helper to avoid having to explicitly constrain mergeProps every time I used it. I was actually going to submit an issue and a PR, but I see there's already been some discussion about this.

@lydianlights Your solution is amazing!
I'm wondering how much this can be simplified.
Do you think this may be a working simplification of your suggestion (obviously I've switched the two arguments):
Demo
... and if yes (if no, then please ignore the following) could this be an enhancement of your suggestion that does only allow optional props to be defaulted?

@xdev1 I think it's probably best to keep it with the MergeProps-type so you don't have to cast unnecessarily, but I like your addition to only allow default values for optional types, that's pretty sweet.

The signature of the resulting type is more narrow with this. I'm not too happy about the awkwardness of putting the "real" props as first argument though, to avoid running into typing issues with the spread operator 🫠 I have the feeling that I'm missing something…

Yeah, totally missed something 😄
I case anyone still follows this issue: this updated playground may be interesting


window 7 64bit  error to add coreos box

E:>vagrant box add coreos-alpha coreos_production_vagrant_494_5_0.box -f
==> box: Adding box 'coreos-alpha' (v0) for provider:
box: Downloading: file://E:/coreos_production_vagrant_494_5_0.box
box: Progress: 100% (Rate: 369M/s, Estimated time remaining: --:--:--)
The box failed to unpackage properly. Please verify that the box
file you're trying to add is not corrupted and try again. The
output from attempting to unpackage (if any):
version 1.7.2

This is the wrong repo. Try https://github.com/coreos/coreos-vagrant/issues


Reduce the cognitive complexity in getServiceAnnotation method

Description:
Shall we try to reduce the cognitive complexity (i.e. the number of “if” conditions, nested loops) of this util method?
Originally posted by @NipunaRanasinghe in https://github.com/ballerina-platform/ballerina-lang/pull/38627#discussion_r1027591380
Describe your problem(s)
Describe your solution(s)
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

Closing the issue since it get solved with the latest changes in https://github.com/ballerina-platform/ballerina-lang/pull/38627


Fix react 15.5 warning

https://github.com/ant-design/ant-design/issues/5678

Changes Unknown when pulling 3ab3a128deaf10300b31102b79458528227baa54 on fix-react-15.5-warning into ** on master**.


Missing note

client initiating action

client receiving or observing action (or lack thereof)
Damus
Plebstr
timestamp
https://njump.me/nevent1qqsy9we0q97ey88nqk3svjann97v2xv9gmxjp69srzun4t0ua6jjpaspremhxue69uh5vet9v3ejumn0wd68ytnzv9hxgtmsdac82mrpwgq36amnwvaz7tmwdaehgu3wvf5hgcm0d9hx2u3wwdhkx6tpdshsz8thwden5te0dehhxarj9ekh2arfdeuhwctvd3jhgtnrdakj7qgewaehxw309ahx7um5wgh8qmr9vf3ksctfdchx7un8cfyx6r
what happens
Sometimes I can see a reply made by someone I follow. However, I cannot see the note being replied to.
suggestion

This is a result of missing relay hints and/or poor relay selection based on the gossip model

@matthewsvancer does Plebstr implement relay hints or gossip?

Damus does not implement nip-19 currently.
https://github.com/damus-io/damus/issues/1147

from what I can tell this only happens when I'm viewing posts from users who are using primal. I'm guessing they are not broadcasting the note they are replying to, which was damus' hack that fixed most of the problems without needing the gossip model.

I still like how simple the broadcast approach is, it is akin to quote-reply in email. You shouldn't assume the client has the means or knowhow to pull the note in a way that other clients might pull it. The lowest common denominator is to broadcast things you are replying to.
This might miss the entire thread, but it's a simple thing that most clients shouldn't have a problem doing.

Yeah, broadcast is maybe even better than relay hints at helping with this

@mbrat1 @moysa is Primal broadcasting on reply?

Now in meme form plus commentary from Dilger and Vitor
https://njump.me/nevent1qqsyuudrdvswfyenzva8wkkekva59j6ew37dl0e99dtpu7cz64r62zspz4mhxue69uhk2er9dchxummnw3ezumrpdejqzxrhwvaz7tmddahxzepwdf3r2dfwvdhk6w3cxqurqqgdwaehxw309ahx7uewd3hkcqgswaehxw309ahx7um5wgh8w6twv5vs38eq

Official meme of this issue
https://njump.me/nevent1qqsfn588y9arvh9f0vlqlphprzl4dqjgljn3kthwdrg4y2drw7r4e0gpz3mhxue69uhkymrpwd68ytnxxaazu7re0gq3camnwvaz7tmxv4jkguewdehhxarj9e3xzmny9akk2mt9wvq3camnwvaz7tmwdaehgu3wd46hg6tw09mkzmrvv46zucm0d5q3gamnwvaz7tmwdaehgu3wdau8gu3wv3jhvkankxt

No, Primal doesn't broadcast the original note on reply. @jb55 are you broadcasting the root note as well as the note that is being replied to?

All Primal clients have been updated to broadcast the parent note when publishing a reply. Hopefully this does the trick!

On Thu, Feb 22, 2024 at 08:00:24AM -0800, mbrat1 wrote:

All Primal clients have been updated to broadcast the parent note when
publishing a reply. Hopefully this does the trick!

awesome! thanks guys.

No, Primal doesn't broadcast the original note on reply. @jb55 are you broadcasting the root note as well as the note that is being replied to?

not the root, just the direct reply. doing the root as well would be even better.

@mbrat1 @moysa replying to notes feels slower to me, you guys might be waiting on the rebroadcast

Yeah that was totally it. We are no longer doing that; replies should be faster now.

Still seeing missing note. I think poster is using Primal. Is it possible it's an older version of Primal?

https://njump.me/nevent1qqsg7fc6sydrz2mmzca6ccdd5g324xwnecedq5j5kn3t7uyg9df6l8gvnksu9

Yep, Preston is on Primal and he is using the latest version (spoke to him earlier today).

@jb55 if the broadcast root note did not fix the missing note issue, what can we try next?


Fail to decode any meaningful output.

I have trained the model for about 80,000 iterations and the loss has decreased to about 0.000004~, which is really low. But when I run the model in decode mode, the output is just what what what what... or why why why why.... I am using the quora data set here for training. There are about 150,000 pairs duplicate questions. I wonder do you have similar experience in your training and how do you fix it? Thanks!

I found that the data I used did not have any SENTENCE END symbol. Now I fixed this issue and make sure that the input in the run_train_step are all good. I run the model 80,000 iterations again. But the loss fail to decrease normally. Do you have idea about it? Thanks in advance!

Hi @rylanchiu, glad to hear you resolved the SENTENCE END issue. If the loss is not decreasing, a standard approach is to try reducing your learning rate, or maybe try a different optimization algorithm.
Have you visualized the attention distribution with the attention visualizer tool? For our work, we found this was more useful than anything else, in trying to understand the results.

I found the issue is caused by the data reading. Now I fixed it. Everything works well now. Thanks!

Hi @rylanchiu, I am facing the similar issue. Could you clarify how you solved the data reading problem? Thanks.

I am also getting the same problem .. can you hep me on this?


Setup test server

We want to have a test server for a couple of different purposes:

An Opencast instance with test data. We could of course use develop.opencast.org or stable.opencast.org, but those are wiped every 24h. Instead, I think it would be useful to have a server where we can have a nice set of test videos and series. That is not reset. Additionally, we can roll out custom patches on that server without having to wait for a PR to get merged into Opencast's develop.

A "showcase deployment" of Tobira. This would be a deployment of master (or maybe a special branch if we want to deploy there deliberately). This deployment should work most of the time and should be available via a nice-ish URL.

PR deployments: we want to automatically deploy PRs to make it very easy to test them. As Tobira requires only very little memory, it should be possible to run many instances in parallel on a server. We can expose them via different ports or only use different ports internally and have an nginx forward server/some-path-to-pr to a specific port.

Opencast test servers now have fixed IDs for test media

should suffice for now
Maybe dedicated Opencast later if we need anything special

tobira.opencast.org will be the main test deployment
<id>.tobira.opencast.org will be pull request deployments

We want to spin up a deployment once we submit or update a pull request
We want to drop a deployment once the pull request is closed or merged

Maybe dedicated Opencast later if we need anything special

Once we start working on the Tobira API on the OC side, we certainly want a dedicated OC for us, I'd say.

We want to drop a deployment once the pull request is closed or merged

Immediately? For Studio, I sometimes used test deployments of already closed PRs. Though rather rarely. Should be fine.

Fixed with #119


isRight() never returns true

So after trying to rewrite this myself and testing a clone I haven't been able to understand why it isRight() never returns true when looking to the right. It defaults to none. From my understanding it my not be detecting the eyes once looking right.
Might be the bilateralFilter function in Pupil.py?
Not entirely sure, if anyone has solved this any direction would be greatly appreciated!

Edit this line as required.

Facing the same issue. Has there been any fix suggestions?

yes the same problem, looking at right is not detected!

yes facing the same problem too

@fazalfarhan01 As required? But this value changes for different conditions, videos how/ why should we fix it?


Enabling durable objects is unclear

Which Cloudflare product does this pertain to?
Workers
Existing documentation URL(s)
https://developers.cloudflare.com/workers/learning/using-durable-objects/#using-durable-objects-1
Section that requires update
Using Durable Objects
What needs to change?
The sentence

To start, enable Durable Objects for your account by logging in to the Cloudflare dashboard Workers > Durable Objects.

Seems to be unclear. There isn't a section under Workers for Durable Objects, and instead I found it inside a worker.
How should it change?
It would be good to know what I'm exactly looking for, or where it might not be. For example, I'm not sure if it's visible if you aren't in a paid worker plan, though I did the upgrade in hopes it would show it for me.
Additional information
No response

drwxr-xr-x 1


Adding a plugin to calculate the virtual temperature

Address: https://metoffice.atlassian.net/browse/EPPT-1965
This PR adds a plugin to calculate the virtual temperature based on the air temperature and humidity mixing ratio.
No CLI added due to the move to the DAG runner.
Testing:

[x] Ran tests and they passed OK
[x] Added new tests for the new feature(s)

CLA

[x] If a new developer, signed up to CLA

The cause of the failing tests was a poorly set up git config. Rather than confusing this PR with further commits and rewriting the history to the new configuration I will close this PR and open a new one.


[Feature][Connector-V2][Milvus] Support Milvus source & sink

Purpose of this pull request

Support Milvus source & sink.
Does this PR introduce any user-facing change?

How was this patch tested?

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[x] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[x] If you are contributing the connector code, please check that the following files are updated:

Update change log that in connector document. For more details you can refer to connector-v2
Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist

[ ] Update the release-note.

cc @liugddx as well

Hi @Thomas-HuWei , thanks for your contribute! Please follow the guide to open github action on your fork repository. https://github.com/apache/seatunnel/pull/7060/checks?check_run_id=26644733039

https://github.com/apache/seatunnel/pull/7060/checks?check_run_id=26644733039

I've done. Next what should I do?

https://github.com/apache/seatunnel/pull/7060/checks?check_run_id=26644733039

I've done. Next what should I do?

push an emtpy commit.

Please format the code by executing mvn spotless:apply

Please format the code by executing mvn spotless:apply

I've do spotless, but it  seems that docs can't pass the ci.
And do you have any contact ways? I want to chat something with you about seatunnel support vector database.

Please format the code by executing mvn spotless:apply

I've do spotless, but it seems that docs can't pass the ci. And do you have any contact ways? I want to chat something with you about seatunnel support vector database.

Our operations staff has WeChat, and you can join the WeChat group through him.  wechat id seatunnel1

Please fix ci.

Please fix ci.

Why spotless check Milvus.md?

How can I fix it? Delete these docs?

Please fix ci.

Why spotless check Milvus.md?
How can I fix it? Delete these docs?

Please use mvn spotless:apply to format doc before commit.

@Hisoka-X  I had fix my code ci problem, but there still exist ci error.

@Hisoka-X I had fix my code ci problem, but there still exist ci error.

Please retry the failed ci

@Hisoka-X
These two job, I have retry many times, but it still fail.

Seem like the engine-k8s-it failed reason not related with this PR. Never mind.

Seem like the engine-k8s-it failed reason not related with this PR. Never mind.

Fixed by #7101

@Hisoka-X @liugddx
I have add e2e test, but it runs fail.

Do you know how to solve this problem?

implements SupportMultiTableSink
https://github.com/apache/seatunnel/blob/57e5627e89e870f26c1b0774cc225eaabe7f3c9a/seatunnel-connectors-v2/connector-paimon/src/main/java/org/apache/seatunnel/connectors/seatunnel/paimon/sink/PaimonSink.java#L61

MultiTable metadata placeholders
https://github.com/apache/seatunnel/blob/57e5627e89e870f26c1b0774cc225eaabe7f3c9a/seatunnel-connectors-v2/connector-paimon/src/main/java/org/apache/seatunnel/connectors/seatunnel/paimon/sink/PaimonSinkFactory.java#L77

please link to https://github.com/apache/seatunnel/pull/7158

please link to https://github.com/apache/seatunnel/pull/7158


Touch Friendlyize - Interface Overview Interface Selection

The chevron down icon is problematic to touch select here.  Extend selection area to entire vertical and horizontal row space.

Makes sense, thanks! :)


Issue 725 take2

Changes Unknown when pulling 1118cc08faff9d7e5d48d0c27a8dd00fa6e98a79 on issue-725-take2 into ** on master**.

@homu r+

:pushpin: Commit 1118cc0 has been approved by kbknapp

:hourglass: Testing commit 1118cc0 with merge a7659ce...

:sunny: Test successful - status


Change user agent to address 403 forbidden errors per issue #19

Redfin is now reject requests unless they have what looks like a valid user agent string (issue#19)

Can we get this merged?

I believe you have committed your setup.py -- Also this change can be easily fixed by the user. I am worried about putting spoofing code in the library itself.


[feat] Hello, is this project deployed on Windows or Ubuntu?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
Add any other context or screenshots about the feature request here.

This project can be deployed on both Windows and Ubuntu.


Use fewer USB ports

Kitty used so much USB that she needed a USB hub to operate. The USB hub was messy, big, and was a big extra source of possible problems.
The devices she needs are as follows:
Wifi host (same as in dewi)
Wifi client (same as in dewi)
GPS (same as in dewi)
Arduino (same as in dewi)
RoWind
The need for a hub was in part because she was built using a Pi B, so only had 2 USB ports to start with. However even with the extra 2 ports gained in the B+ and above, it's still not enough to go without a hub. Thanks to Captain morgan, the GPS has been moved to the Pi's (only) serial port, however that port used to be used by the xBee, which now has to go via USB, so they have just swapped.
The main problem is that the RoWind has an RS232 interface, and therefore we opted to use an RS232-USB converter. An alternative would be to use a Logic-Level-Converter and pass the data into another serial port, however you have to be very careful with that because the voltage levels in RS232 are 0 to -12V (and also 0 to 12V as a twisted pair), the Pi uses 3.3V serial (I think, It could be 5V, but I don't think so, it's worth checking) and the Arduino uses 5v serial (again, I think, but worth checking it's not 3.3V). So care must be taken to get a converter which can deal correctly with the conversion from RS232 to the correct 3.3V/5V serial. The biggest problem with this however is that there are no free serial ports anywhere in the setup, because the Pi's is used by the GPS via Captain Morgan, and the Arduino talks to the Pi over USB (which uses up the Arduino serial port). A possible idea would be to use Software Serial on the Pi or the Arduino, but either option would need EXTENSIVE testing in the real boat, because software serial has a big habit of screwing up servo/PWM channels in the Arduino (but only temperamentally), because they use the same timer internally (there are fixes for this involving editing the serial code to use a different timer, or not using a separate timer at all, but they need proper testing). Also software serial on a not Real Time Operating System on a device like the Pi will often end up going badly because the scheduler will often decide the code generating the serial needs to be paused to let another process run, therefore screwing up the comms.
Have fun with this one!

while performing my nightly dredging of component suppliers i stumbled across this chip
https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX14830.html
that uses spi to control 4 uarts.
i would suggest using this to interface with the arduio (atmega328, gps and an rs-232 transiever ic, then hook the xbee up to the native uart, this would allow the pi to boot with a serial monitor at all times, which would be an improvement over the current system.
and the best part?
https://github.com/torvalds/linux/blob/master/drivers/tty/serial/max310x.c
DRIVERS!!!

We can't use the Arduino over anything except USB, because we need it to be programmable from the Pi, but otherwise that sounds like a nice idea, although we have got to be a bit careful about PCB complexity.


Rewrote to use Terraform 0.12 features + NLB + cleanup

In details:

Removed *_count variables
Renamed some variables to more consistent names (as other modules under terraform-aws-modules org)
Added support for NLB (fixes #125, #117)
Added support for pretty many (if not all) arguments to resources
Removed tests because they were obsolete (stay tuned)
Added examples for both ALB and NLB

Note: This release introduces several breaking changes described in UPGRADE-5.0.md.
Ref: #125, #117, #96, #89, #70, ...
See the code in examples folder for more information.

v5.0.0 has been just released.
Check UPGRADE-5.0.md for upgrade instructions.


Added RELEASE_CHECK_LIST.md

Fixes #246

Documentation is being published from the GitHub actions. And along with checking Maven Central, we need to check Gradle Plugin portal availability. It mirrors dataframe dependency used in the plugin, it usually takes around 12 hours.
Also, the library version needs to be changed in the https://github.com/Kotlin/dataframe/blame/master/docs/StardustDocs/v.list and maybe https://github.com/Kotlin/dataframe/blob/master/.github/workflows/main.yml for "stable" releases.

Another thing is updating a version in the jupyter descriptor, renovate bot sends PRs here https://github.com/Kotlin/kotlin-jupyter-libraries/blob/master/dataframe.json


Not able to make work the "master" branch

Hi,
I am trying to setup the software.
When I clone the repo from the master branch I got a Resouces/NOG_sql.tar.gz which is a text file with the next content:
version https://git-lfs.github.com/spec/v1
oid sha256:cecd31773a7cc729723d298b158d6cdc98187a143de2255095e73cb81f1ea394
size 176132348
When I use the setup or the check command, I got errors, apparently because of this:
raceback (most recent call last):
File "miniconda3/envs/mantis_env/lib/python3.8/shutil.py", line 1155, in _unpack_tarfile
tarobj = tarfile.open(filename)
File "miniconda3/envs/mantis_env/lib/python3.8/tarfile.py", line 1606, in open
raise ReadError("file could not be opened successfully")
tarfile.ReadError: file could not be opened successfully
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "miniconda3/envs/mantis_env/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "miniconda3/envs/mantis_env/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "mantis/main.py", line 114, in
setup_databases(force_download=force_download,chunk_size=chunk_size,mantis_config=mantis_config)
File "mantis/source/MANTIS_Assembler.py", line 28, in setup_databases
mantis.setup_databases(force_download)
File "mantis/source/utils.py", line 417, in wrapper
res = f(self,*args, **kwargs)
File "mantis/source/MANTIS_DB.py", line 57, in setup_databases
self.prepare_queue_extract_metadata()
File "mantis/source/MANTIS_DB.py", line 97, in prepare_queue_extract_metadata
self.unpack_NOG_sql(stdout_file=stdout_file)
File "mantis/source/MANTIS_DB.py", line 430, in unpack_NOG_sql
uncompress_archive(source_filepath=NOG_sql_path,extract_path=resources_path,stdout_file=stdout_file,remove_source=False)
File "mantis/source/utils.py", line 428, in uncompress_archive
unpack_archive(source_file=source_filepath, extract_dir=extract_path, remove_source=remove_source, stdout_file=None)
File "mantis/source/utils.py", line 458, in unpack_archive
shutil.unpack_archive(source_file,extract_dir=extract_dir)
File "miniconda3/envs/mantis_env/lib/python3.8/shutil.py", line 1227, in unpack_archive
func(filename, extract_dir, **kwargs)
File "miniconda3/envs/mantis_env/lib/python3.8/shutil.py", line 1157, in _unpack_tarfile
raise ReadError(
shutil.ReadError: mantis/mantis/Resources/NOG_sql.tar.gz is not a compressed or uncompressed tar file
I first thought that Resources/NOG_sql/ would contain the data of NOG_sql.tar.gz, so I removed NOG_sql.tar.gz and created it again using NOG_sql. However, doing this I am getting:
Traceback (most recent call last):
File "miniconda3/envs/mantis_env/lib/python3.8/runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "miniconda3/envs/mantis_env/lib/python3.8/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "mantis/main.py", line 114, in
setup_databases(force_download=force_download,chunk_size=chunk_size,mantis_config=mantis_config)
File "mantis/source/MANTIS_Assembler.py", line 28, in setup_databases
mantis.setup_databases(force_download)
File "mantis/source/utils.py", line 417, in wrapper
res = f(self,*args, **kwargs)
File "mantis/source/MANTIS_DB.py", line 57, in setup_databases
self.prepare_queue_extract_metadata()
File "mantis/source/MANTIS_DB.py", line 97, in prepare_queue_extract_metadata
self.unpack_NOG_sql(stdout_file=stdout_file)
File "mantis/source/MANTIS_DB.py", line 434, in unpack_NOG_sql
for f in os.listdir(NOGG_sql_path):
FileNotFoundError: [Errno 2] No such file or directory: 'mantis/mantis/Resources/NOG_sql/NOGG/'
Therefore, I guess that both NOG_sql and NOG_sql.tar.gz are required and contain different data??
Best,
Carlos

Hello Carlos,
Another user had the same issue. This is an issue with git not correctly downloading large files (NOG_sql.tar.gz). I'm now releasing a v1.01 where this issue (among a few other minor improvements) is addressed.
Could you please reclone the repo and try again?

Hi @PedroMTQ ,
OK, I already cloned it and will try again.
I am struggling a bit, because in the server I am trying to install Mantis because it cannot download the FTP databases (likely due to port 21 being closed in the server, not sure). Therefore, I yet have to clone and install only the FTP databases in a local computer, then clone and install the NOG databases in the server (I have no space for this in the local computer), then copy the FTP local databases to the server. If you can figure out an easier way to do this advice is welcome :)
Anyway, I will report back once that I have tried the setup_databases with the 1.01 cloned version in the local computer.
Thanks,
Carlos

Hi again,
Depending on the analysis you are planning to do, I might have a few suggestions.
But the first thing I can think of is: if you are not using taxonomically classified samples, we could restrict the reference datasets to all the default ones besides the NOGT ( taxa specific eggNOG).
That should be feasible to download on your local computer and then transfer to the server.
To do so please pull the repo again (I just added some code to allow you to do that) and edit the MANTIS.config so that only the NOGT data is not used. You can do this by using this config file:
NOGT_hmm_folder=NA
NOGG_weight=0.8
pfam_weight=0.9
tigrfam_weight=0.5

Hi @PedroMTQ ,
My plan was to use the taxonomy databases also.
The server is downloading the NOGT and NOGG databases fine, I think. The problem is with the ones from FTP servers (pfam, kofam, and tigrfam).
I was actually trying something similar to what you advice above, but still using snapshot afa47e3.
Locally, I ran the setup_databases with config like:
NOGT_hmm_folder=NA
NOGG_hmm_folder=NA
So that I should have the pfam, kofam and tigrfam databases locally, hopefully.
In the server:
pfam_hmm_folder=NA
kofam_hmm_folder=NA
tigrfam_hmm_folder=NA
My plan was then to copy the pfam, kofam, and tigrfam directories under mantis/hmm to the one on the server, so that I will have finally all of the together. Would this work? What did you changed in the last commit? I guess I can pull after the setup databases process? because it is currently unpacking the NOGTs which takes a while, so I would love to don't need to do it again. If I need to do it, I will though.
Thanks for you help.
Carlos

Ah, I see. yes that way should work fine!
Actually, by mistake I introduced a bug in file concatenation (used during database setup) in that version. Sorry for the trouble.
So, could you pull the new repository locally and in the server and then restart the setup?

Hi @PedroMTQ ,
what do you mean with restarting the setup? Should I remove any files from the previous setup first? or just pull followed by setup_databases in both local and server?
Thank you again.

Hello,
I mean removing the old files, pulling from the repo or just cloning again and restarting the setup.
Hopefully it won't take too long! Sorry for the trouble!

ok! No problem! Thank you

Great, let me know how it goes!

Hi,
so I created a third repo clone, to run setup_databases without databases (just in case), and then linked the databases from the server setup (NOGG, NOGT) and to the local setup (kofam, pfam, tigrfam).
Everything seems to be running fine now.
Thank you very much.
Best,
Carlos


Add multimodal model example

This issue would entail adding an example using a multimodal model of some kind. Once multimedia messaging support is further along, adding an example like this should hopefully be straightforward.

However, does the interaction in this project refer to human-computer interaction, the process of human participation in model training, or the dialogue between AI and humans.

I have installed the project and poetry install. But I wonder how to run the project in order that I can see some effect on the browser. Because I see the folder named templates, I want to see the visualization of agency. Can you help me?

Thank you. I apologize for not reading your walkthrough before. You did a very interesting thing. But do you have any ideas about multimodality? There should be an API for receiving multimodel messages. And then how to store and deal with multimodel prompt words? Distributed storage or cloud Object storage? That's a question. I hope I can offer you some solutions later.

Thank you. I apologize for not reading your walkthrough before. You did a very interesting thing. But do you have any ideas about multimodality? There should be an API for receiving multimodel messages. And then how to store and deal with multimodel prompt words? Distributed storage or cloud Object storage? That's a question. I hope I can offer you some solutions later.

A possible solution to the storage could be: https://gpt-index.readthedocs.io/en/latest/examples/vector_stores/DocArrayInMemoryIndexDemo.html

Closing this issue. Multimodal support will be addressed in a new independent project dedicated to creating a new UI for experimentation and development. See the discussion here for more details.
If you'd like to sign up to be emailed when a prototype is ready, please click here.


BUG: Keep IPython in Spyder accessible after MNEQtBrowser closes

What does this implement/fix?
In Spyder, the IPython Console used to stay inaccessible after a MNEQtBrowser-instance with raw.plot(block=True) has been closed. This connects lastWindowClosed with the termination of the QApplication-instance, which seems to be necessary to make the console accessible again in Spyder.

Thanks @marsipu !


bzip2: merge into Go standard library

it hasn't been updated for a while, is it stable yet?
if it is, hope it can merged upstream and fix https://github.com/golang/go/issues/4828

Hi, the version of bzip2.Writer in the development branch is very stable has gone through many months of fuzzing comparing it's implementation with that of the C version. I have not merged the development branch into master yet, but plan to do so in the near future.
In regards to golang/go#4828, the main roadblock is finding someone to be a suitable reviewer for the implementation. I'm not of anyone who has a deep knowledge of how bzip2 works. @mdempsky and @nigeltao has reviewed a number of my compression related CLs (showing knowledge in LZ77 and Huffman encoding), but I don't know if they're knowledgeable about BWT.

Happy to learn about BWT, but I'm really low on free time for the forseeable future. Sorry.

Hey, @dsnet any progress with merging bzip2 compressor into standard library? What help do you need to make it or what are the blockers?

I am not currently working on merging it into the standard library. I would love to see that happen in the near future, but I am still blocked on finding appropriate reviewers.
The master branch of this repo has a stable implementation that has gone through CPU-years of fuzz testing.

As an outside observer (i.e. someone who would like to use the library), does this really need a reviewer with deep knowledge of compressors?  As a user of the library, all I really care about is that the outputs are compatible with other standard bzip2 implementations out there, and that it doesn't do anything crazy.  Wouldn't a test suite would cover that?
Surely it's more important that there is a decent implementation available in the standard library now, rather than a potential future "best" implementation?

outputs are compatible with other standard bzip2 implementations out there

Review by a another person doesn't guarantee this, but history has shown that programmers are faulty and the number of extra eyeballs tend to decrease the occurrence of bugs.

Wouldn't a test suite would cover that?

History has also demonstrated that test suites are often sub-par at detecting correctness bugs.

Surely it's more important that there is a decent implementation available in the standard library now, rather than a potential future "best" implementation?

If this package has the needed functionality, why is its name or location important? If API stability is important, it can/should be vendored.

i.e. someone who would like to use the library

Is there something that's preventing the package from being used at its current location?

@shurcooL yes some people want only things in the base go distribution.  The issue is about including/merging bzip2 in the standard library - see the original issue description.
@dsnet sure I get that and am all in favor of reviews but there's an arguement to be made that something that seems to be working quite well is better than nothing, right?

@shurcooL

If this package has the needed functionality, why is its name or location important? If API stability is important, it can/should be vendored.

I seems that you're a big fan of the amazing vendoring feature of go, so can you please remove net/http, encoding, compress, image etc from the standard library?  If somebody needs then, JUST vendoring them, so simple and easy!  I just don't need them while keep the go tool distribution bloated  on my disk, pretty annoying:
du -sch  go1.10.1
357M	total

Oh, yes there's go 1.0 compatibility promise,  can you PLEASE  do this in go2.0?

This is not the right place to discuss vendoring or whether the standard library should be split apart and versioned separately or even distributed. All of that is already being discussed with the whole vgo proposal.

@Darren I see your point.
I expect/hope this issue will eventually be resolved, when the conditions for it are right.

Having put off work that needed a bzip2 compressor and only just recently having randomly stumbled across this, a strong argument for merging into the stdlib is the aspect of discoverability.
Has the path towards merging this into the standard library been walked any further along?


Jittery text and icons when panning around

I am drawing text from GeoJSON, going from ol.source.Vector to ol.layer.Vector via a styling function that  sets ol.style.Text.
When dragging around slowly with the mouse, but also visible during Kinetic animations, the text is jittery, as it moves around the various pixel boundaries. This is visible also in the example, if you pan around slowly. I've tested this with Safari, Chrome and Firefox on macOS.
A similar thing happens with icons that are not using snapToPixel: false.
A few possible fixes that would fix this jittery movement while keeping everything crisp would be:

Ensure the Kinetic Animations only do whole pixel movements.
During Kinetic Animation, disable pixel snapping globally. Re-enable it when the animation finishes and re-render to the pixel grid.

Thanks!

[X] I am submitting a bug or feature request, not a usage question. Go to https://stackoverflow.com/questions/tagged/openlayers for questions.
[X] I have searched GitHub to see if a similar bug or feature request has already been reported.
[X] I have verified that the issue is present in the latest version of OpenLayers (see 'LATEST' on https://openlayers.org/).
[X] If reporting a bug, I have created a CodePen or prepared a stack trace (using the latest version and unminified code, so e.g. ol-debug.js, not ol.js) that shows the issue.

Your suggested option 1 (ensure that kinetic animations only do whole pixel movements) makes sense to me. Would you be able and willing to create a pull request?

Probably able, definitely willing. I will look into this next week.

I've done some investigation on this. It turns out that the Kinetic calculations do not work the way I expected; I had no idea of the inner workings of OpenLayers.
To my understanding, the call chain goes somewhat like:

DragPan animation finishes
Kinetic is used to calculate target center, in world coordinates (NOT in pixels).
A view animation is created and applied
Rendering happens at every frame as the animation progresses

So it seems my original suggestion of having Kinetic supply whole pixel values is impossible with the current architecture.
Seeing that the various renderers have no direct connection to the View, does it make sense for my user code to somehow walk through all my text instances at the start of a Kinetic animation, set snapToPixel to false, then re-enable (and re-render) at the end of the animation? There is still work to be done there to figure out what hooks can be used for this, and if new hooks/events should be added, but it should be a simpler change (for me) than trying to tweak the rendering pipeline.
BTW I have traced the lack of snapToPixel support for text styles in ol.render.canvas.TextReplay.prototype.drawTextImage_; a hard coded true at the point where the instructions are pushed, 14th element. Changing this false indeed makes the text non-pixel snappy and blurry. I will make an issue to discuss adding this.

@orestis Wouldn't it be enough to use Math.round() for the center coordinates in https://github.com/openlayers/openlayers/blob/3a6fc7a1f2498dd107f5ddd03a44937ba82b5525/src/ol/view.js#L781?

@orestis, can you please check if #7524 fixes the issue for you?


Private Registries

Are private registries going to be supported in multi-container apps? My Docker Compose file referenced an image in my Azure Container Registry and it was not able to pull it. I tried adding the same app settings that get added when you create a single container app from ACR, but no luck there.

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

ID: b2472d79-baad-f202-75dc-c0d7c08e5c49
Version Independent ID: 7816cf1e-2264-e365-4d5c-b1fc9f7d08fe
Content: Create a multi-container (preview) app using Azure Web App for Containers
Content Source: articles/app-service/containers/tutorial-multi-container-app.md
Service: app-service
GitHub Login: @msangapu
Microsoft Alias: msangapu

Hello - great question! This is currently in preview and ACR support is in the works. I will update the article and this thread once it's available. Let me know if this answers your question!

This was/is exactly my question on stackoverflow (https://stackoverflow.com/questions/50693443/azure-webapp-docker-compose-private-repository)
Great to see that you are working on this feature.

Thanks @msangapu, I'm happy to see that it's in the works!

@MicrosoftDocs/azure-cxp-triage Can we close this issue as it's beyond the current scope of the product/service and we have a plan to document it when it's ready?

@smic1909, @mbgreen, we are closing this issue for now, this feature is in the works so stay tuned.

Hi, I still missing this feature. Is it ready now? Would it be possible to use also another private repository than ACR? For example gitlab, github etc?
Thank you


Console util

Idk, just some small stuff I made. Make changes if you need.

Will think about logger later when I decide to revive the bot, thanks for the suggestion though. And sorry for late response, I never checked PRs.


Run pachd as a daemon set

Right now we run pachd using a replication controller, which requires us to specify a replica number.  Users with big clusters are expected to change this replica number to a higher value by modifying the kubernetes manifest.
Is there any reason why we don't want to run pachd as a daemon set, which ensures that one copy of pachd is running on each node?  Especially considering that PFS and PPS are both horizontally scalable.
Here's a problem I see with running pachd using a replication controller.  Let's say we have 2 nodes and we are running 1 replica of pachd.  Now, let's say that my pachctl is connected to the node that does not have the replica running.  Now, the node I'm talking to will basically serve as a proxy; the traffic needs to flow from the actual pachd replica to this node I'm talking to before it can reach me.  If we run pachd as a daemon set, this won't be a problem.
Actually now that I think about it, could this be related to #930?  @msteffen

There are a bunch of reasons not to run pachd as a daemon set:

Daemon sets are less flexible than rcs, they cannot be updated.
They're much more unwieldy, if a user has a 1000 node cluster and they just want to try pachyderm they'll wind up deploying 1000 containers. That takes longer, consumes more resources and will probably annoy people.
if it's a heterogeneous cluster or, if one of the nodes is oversaturated users might randomly get very bad performance. That's because by using a daemon set, we force k8s to schedule pachd even in places that it otherwise wouldn't due to cpu/mem constraints. Any clients that connect to those pods will get really bad performance.
Replication controllers support horizontal auto-scaling which scales the number of replicas based cpu metrics from the pods. That sounds like a dream setup for an ops team to me.

Also I'm not sure if I agree with the premise here, the path of least resistance for connecting to pachd is to type pachctl port-forward & which will automatically connect you to a node that does have a pod running. Furthermore k8s can be made to deploy load-balancers for Services which I think give pretty good performance if users need to do more serious ingress traffic.
Look into horizontal pod autoscaling. That is a newer k8s feature that I think could help us. Also checkout replica sets, and deployments those are the new primitives that caught my eye as a potential improvement to how we deploy pachd.

Good points!  The third point especially sounds like a deal breaker.
Gonna close this issue for now.


automate build and release process

According to the Github doc, we will be able to automate the publish process via setting up a dedicated action.

This is not what we wanted, release should be done manually as there is no Github 1P action to automate that. We need an action to update tags after the release.

Closing.


[FLINK-33973] Add new interfaces for SinkV2 to synchronize the API with the SourceV2 API

What is the purpose of the change
Add new SinkV2 API interfaces, set inheritance and deprecation for the old interfaces.
Brief change log
All the new API's defined in FLIP-372
One minor additional change:

Added map to CommittableSummary and CommittableWithLineage so it will be easier to map when the types are changed.

Verifying this change
The existing tests should run without issue, to verify the backward compatibility.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): yes
The serializers: no
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? yes
If yes, how is the feature documented? not documented

@flinkbot run azure

@flinkbot run azure

@pvary @gyfora
This PR seems to break master.
https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=56314&view=logs&j=52b61abe-a3cc-5bde-cc35-1bbe89bb7df5&t=54421a62-0c80-5aad-3319-094ff69180bb&l=2540

https://dev.azure.com/apache-flink/apache-flink/_build/results?buildId=56312&view=results

Thanks @dmvk strange as we had a passed CI run, @pvary is taking a look

@dmvk we reverted that commit, seems like there was some mess-up with the passing CI / rebasing. Sorry about that


Remove TestProjectHelpers from Server.IntegrationTesting

Addresses #994.

Almost exactly the same code exists in several functional test projects like https://github.com/aspnet/ServerTests/blob/dev/test/ServerComparison.FunctionalTests/Helpers.cs#L12. How about generalizing this rather than removing it?

Move to Testing? I think that makes more sense than Common.

Makes sense

:up::date:


[WIP] lib.sources.predicateFilter: init

Description of changes
WIP! This function may not be needed in the end because a higher-level abstraction might be better suited.
This PR adds lib.sources.predicateFilter, which is like builtins.{path,filter} or lib.sources.cleanSourceWith, except that it calls the filtering function with relative paths, specifically subpaths, as introduced in https://github.com/NixOS/nixpkgs/pull/205190. It also improves on the interface a bit by not using ordered arguments. The useful lib.path.subpath.hasPrefix function is also introduced here, relating to https://github.com/NixOS/nixpkgs/pull/210423. This is more generally related to https://github.com/NixOS/nixpkgs/issues/210426.
# test.nix
let lib = import <nixpkgs/lib>;
in lib.sources.predicateFilter {
  src = <nixpkgs>;
  predicate = { subpath, ... }:
    let
      included =
        # Include lib/systems recursively
        ## Include all parents of the target directory (but not recursively)
        lib.path.subpath.hasPrefix subpath "lib/systems"
        ## Include all children of the target directory (recursively)
        || lib.path.subpath.hasPrefix "lib/systems" subpath

        # Include a single file from nixos/modules/system/boot/loader
        ## Inclued all parents of the target directory (but not recursively)
        || lib.path.subpath.hasPrefix subpath "nixos/modules/system/boot/loader"
        ## Include the single file that we want (we should have lib.path.subpath.equals instead though)
        || subpath == "./nixos/modules/system/boot/loader/efi.nix";
    in
      if included
      then builtins.trace "Including ${subpath}" true
      else false;
}

$ nix-instantiate --eval --read-write-mode test.nix -I nixpkgs=$PWD -A outPath
trace: Including ./lib
trace: Including ./lib/systems
trace: Including ./lib/systems/architectures.nix
trace: Including ./lib/systems/default.nix
trace: Including ./lib/systems/doubles.nix
trace: Including ./lib/systems/examples.nix
trace: Including ./lib/systems/flake-systems.nix
trace: Including ./lib/systems/inspect.nix
trace: Including ./lib/systems/parse.nix
trace: Including ./lib/systems/platforms.nix
trace: Including ./nixos
trace: Including ./nixos/modules
trace: Including ./nixos/modules/system
trace: Including ./nixos/modules/system/boot
trace: Including ./nixos/modules/system/boot/loader
trace: Including ./nixos/modules/system/boot/loader/efi.nix
"/nix/store/1n07g9i2ikgdypizxaj9m56m8f18dav2-source"

Most notably, as is also the case with all the lib.path functions, this function works exactly the same way with the lazy trees PR, despite it causing breakages for other source filters.
This work is sponsored by Antithesis :sparkles:
Things done

@roberth
The main consideration here is that builtins.path's filter (and everything else with the same interface like lib.cleanSourceWith) is fundamentally problematic because it's called with string values containing absolute paths:

The absolute path changes depending where your project lives, which can then influence a poorly written filter, e.g. name: type: hasInfix "src" name includes all files if you cloned the repository to ~/src/theRepo

Lazy trees "fixes" this by just stripping ~/src/theRepo away, leaving absolute paths (still string values) that are actually relative paths, like "/README.md". This introduces the new problem of inconsistencies between normal paths and lazy paths

Comparing string values to paths always returns false, leading to unexpected results, e.g. name: type: name == ./default.nix doesn't actually include default.nix

And with lazy trees, the normal workaround of using toString doesn't work anymore

The function introduced here fixes most of those problems (the last one only partially) by using subpath strings for filtering instead, establishing a cleaner foundation to base source filtering on. The main reason for this is really the lazy trees mess, which is entirely abstracted away with this.
But also note that I don't think this interface needs to be directly exposed to the user in most cases, instead a source combinators API (supporting path expressions) should be able useful enough to never have to write a custom filter function or subpaths.

The main consideration here is that builtins.path's filter (and everything else with the same interface like lib.cleanSourceWith) is fundamentally problematic because it's called with string values containing absolute paths:

I'm not arguing for absolute paths strings. I'm arguing for path values.
Nonetheless, functions that work with either representation can be made compatible, as long as they operate on a shared representation that is complete enough. That's not to say that we shouldn't design primarily for path values though. Path values are the most useful representation, so if any compromises would need to be made, let's make them in favor of path values.

builtins.path

This should be replaced by a new primop, e.g. builtins.filterTree which is at least a (Path -> String -> Bool) -> Path -> Path.
Doesn't Eelco's proof of concept change path to behave like that?
In Nixpkgs, we can emulate this behavior for current and older Nix.

cleanSourceWith

This can stick around for compatibility, but I agree that it is not good.

by using subpath strings for filtering instead, establishing a cleaner foundation to base source filtering on.

"Let's use a low level interface and implement it ourselves" feels like a safe choice because you have "full control" or you can "implement it exactly the way you like", but to buy into that, you need to ignore that path values are already a very good abstraction, and path values already exist and users must interact with them regardless of the choices we make in this library.
By using a path type that doesn't match the path literals' type, your creating a worse user experience.

The main reason for this is really the lazy trees mess, which is entirely abstracted away with this.

I will keep reminding Eelco that breaking path semantics is not ok, and we can all make sure that lazy trees keeps offering the primitives we need for the filtering library.
We can't let unnecessary sandbagging creep into the library design. It creates unnecessary "requirements" that are really just extrinsic complexity. The Nix team is not going to let that broken toString thing get merged, or the other breaking changes for that matter. Also I don't think we need toString anyway, because we have baseNameOf and dirOf.
If lazy trees blocks anything, I'm 99.5% confident that it's something that must be fixed in either lazy trees or in the source filtering library.

But also note that I don't think this interface needs to be directly exposed to the user in most cases (maybe all?),

It is though. If it exists, people are going to use it, and it when we have three styles of interface, people will hate all of them, because they don't know what to expect where. Many users won't touch source filters for months on end, so don't count on anyone memorizing a map of the source filtering landscape. It should be simple and consistent.

instead a source combinators API (supporting path expressions) should be useful enough to (almost?) never have to write a custom filter function or subpaths.

That is the goal, but I wouldn't predicate the design of the library on users using it in the ideal manner, if at all possible.

filter (path: type: path != ./src/README.md) ./src

This doesn't actually work btw, you'd need toString

Works just fine when path is a path value, as the name suggests. No toString required.

But also note that I don't think this interface needs to be directly exposed to the user in most cases (maybe all?),

It is though.

Yeah, I guess I shouldn't have implied that it will be exposed. So far I am convinced that we don't actually need to expose it. However, you got me thinking..

Path values are the most useful representation, so if any compromises would need to be made, let's make them in favor of path values.

Are you sure that in this case they actually are? They do have disadvantages compared to subpaths if you want to use them for source filtering:

Moving the .nix file around that does the source filtering requires updating all the absolute path expressions within it. Subpath strings wouldn't have to be updated.
You practically can't use path values for filtering non-local repository sources, e.g. something from NIX_PATH, or if we wanted the same interface to filter fetched sources.
It's easy to accidentally import paths into the store while you're trying to filter them out, e.g. path: type: hasSuffix ".nix" path would import path into the store!

This should be replaced by a new primop, e.g. builtins.filterTree which is at least a (Path -> String -> Bool) -> Path -> Path.
Doesn't Eelco's proof of concept change path to behave like that?

If I get what you mean, no it doesn't. All the filtering functions (also TIL there's a new one in lazy trees, builtins.filterPath!) use paths in strings, see expanded details:

$ nix run github:edolstra/nix/cdb946e9f07766d54b40e4380e7706f77eddea61 -- repl .
warning: future versions of Nix will require using `--file` to load a file
Welcome to Nix 2.15.0pre20230313_cdb946e. Type :? for help.

Loading installable ''...
Added 18553 variables.
nix-repl> filter = path: type: builtins.trace "${builtins.typeOf path}: ${toString path}" true

nix-repl> builtins.path { path = ./.; inherit filter; }
trace: string: /home/tweagysil/src/nixpkgs/.editorconfig
trace: string: /home/tweagysil/src/nixpkgs/.git
trace: string: /home/tweagysil/src/nixpkgs/.git/COMMIT_EDITMSG
[...]

nix-repl> "${builtins.filterPath { path = ./.; inherit filter; }}"
trace: string: /
trace: string: /.editorconfig
trace: string: /.git
trace: string: /.git-blame-ignore-revs
[...]

nix-repl> builtins.path { path = builtins.fetchTree { type = "git"; url = ./.; }; inherit filter; }
warning: Git tree '/home/tweagysil/src/nixpkgs' is dirty
trace: string: /.editorconfig
trace: string: /.git-blame-ignore-revs
trace: string: /.gitattributes
[...]

nix-repl> "${builtins.filterPath { path = builtins.fetchTree { type = "git"; url = ./.; }; inherit filter; }}"
warning: Git tree '/home/tweagysil/src/nixpkgs' is dirty
trace: string: /
trace: string: /.editorconfig
trace: string: /.git-blame-ignore-revs
trace: string: /.gitattributes
[...]

filter (path: type: path != ./src/README.md) ./src

This doesn't actually work btw, you'd need toString

Works just fine when path is a path value, as the name suggests. No toString required.

At least that's not what any of the current filtering functions do, none of them work if you just try to do path != ./src/README.md, because they are based on absolute paths in strings, not paths. But yes, if that filter function is a new API, then it can be made to work that way.

But I'm just realizing that a unionSubpath ./. [ "lib" "nixos/modules" ] isn't actually composable, because it doesn't take source-like's as inputs, but instead just strings. While unionPath in this implementation also doesn't compose, it can be made to work, and it would fit in well (see the extend in source combinators)

builtins.filterPath on any argument (works the same on normal paths and lazy paths), uses the relative path to the filter root:

All source filtering primops have been wrapped so far, and the focus of that branch is on the fetchers, not necessarily on source filtering. I wouldn't count too much an that function being a deeply thought out design.

(and doesn't allow you to filter out /, I think that's another bug in lazy trees):

Checking / makes it more lawful. The filter is consulted for every path, regardless of where the new root lies.
Suppose you have a filter f that rejects ./doc, it'd be strange for the same filter to accept ./doc if the root of the source was restricted to ./doc. Should files suddenly appear, despite using the same filter function?
let
  build = f: dir: doIt {
    doc = filter f (dir + "/doc");
    src = filter f (dir + "/src");
  };

in
{
  pkg = build (path: type: true) ./pkg;
  pkgWithoutDoc = build (path: type: path != ./doc) ./pkg;
}

Moving the .nix file around that does the source filtering requires updating all the absolute path expressions within it. Subpath strings wouldn't have to be updated.

Conversely, if you change the root of the source, perhaps because you need to include something from a parent directory, you have to update the subpath strings.

You practically can't use path values for filtering non-local repository sources, e.g. something from NIX_PATH, or if we wanted the same interface to filter fetched sources.

This is unnecessary IFD anyway. Good riddance.

3. It's easy to accidentally import paths into the store while you're trying to filter them out, e.g. path: type: hasSuffix ".nix" path would import path into the store!

hasSuffix shouldn't do that.

Checking / makes it more lawful.

Interesting, I haven't considered that. At least for manual filter writing this is more cumbersome, since e.g. just path: type: path == ./src wouldn't work anymore, because / would be filtered out. But it does seem more lawful, I'll consider this if we actually need to e.g. mirror the Nix behavior in Nixpkgs.

Moving the .nix file around that does the source filtering requires updating all the absolute path expressions within it. Subpath strings wouldn't have to be updated.

Conversely, if you change the root of the source, perhaps because you need to include something from a parent directory, you have to update the subpath strings.

Good point, I'd say these two use-cases are needed about equally often too.

You practically can't use path values for filtering non-local repository sources, e.g. something from NIX_PATH, or if we wanted the same interface to filter fetched sources.

This is unnecessary IFD anyway. Good riddance.

I wasn't thinking of IFD, but instead of a pkgs.filterSource that works based on derivations, which could be implemented with an interface like pkgs.filterSource { src = pkgs.fetchFromGitHub { ... }; include = [ "src" "Makefile" ]; }. But that's just a potential future thing, not very relevant.

It's easy to accidentally import paths into the store while you're trying to filter them out, e.g. path: type: hasSuffix ".nix" path would import path into the store!

hasSuffix shouldn't do that.

At least https://github.com/NixOS/nixpkgs/pull/221204 doesn't prevent that case yet, but yes it probably shouldn't do that.
I'll think about the interface more with the points you made.

Closing as this won't be necessary, see #222981


Turn off trailing whitespace triming in strings

We have tests with baselines that have trailing whitespaces. Our trimTrailingWhitespace setting means that those will get modified automatically, breaking those tests. To fix that, I implemented a vscode feature to avoid triming inside regex and strings, so let's use that.

@dotnet/razor-compiler for an extremely small review.


Deprecate configuration of reports in detekt Gradle extension

Reports need to be configured on tasks directly, not by using the detekt extension.
This is to avoid setting the same destination path for multiple detekt reports. An example of this can be seen in the detektTest task of this build scan where the html report is written to the same path as the report generated by the detektMain task because both tasks get the destination path from the extension.
I will add a new section to the Gradle config doc and link to it from the deprecation message on the extension once the PR has been reviewed.

Any other concerns on this before merging? I'd only suggest waiting until after 1.17 release now some RCs have been published.

Agree, we should wait until 1.17.0 is released.

LGTM?

Should we push this to 1.19.0?

Yeah sorry I haven't had time to dedicate to this recently. Happy to push it back.
I'll need to rebase and still write some docs.

Rebased & docs updated. I believe I've updated all sections where the deprecated configuration was used, except the old "News" posts.
Migration instructions were added to the changelog.

Time for versioned docs? :)
I've split them up - doc updates in #4064. I've left the changelog & migration update in this PR because the changelog is versioned so it's clear that it's related to unreleased changes.

Is there something missing here? Can we merge this? This is a big change fot 1.19.0 so I think that as soon as we merge it as better. Someone using the SNAPSHOT can find some issue or we can find some issue while developing the tool itself.

☝ Agree. I believe we're good to go for merging this


[improve][broker, client] Fixing BC FIPS based payload encryption

Fixes #20373
Motivation

If we configure pulsar following the doc to use BouncyCastle FIPS library instead of the default non-FIPS version, we receive a ClassNotFoundException: org.bouncycastle.jce.provider.BouncyCastleProvider - as the MessageCryptoBc implementation is not prepared to use the FIPS library API (way more restrictive).
BC FIPS has some restrictions:

ECDSA keys cannot be used neither for encryption nor for key wrapping only RSA keys
RSA keys can only be used for key wrapping, not encryption
different API to manipulate ECDSA key loading/saving

Modifications

I have lifted out the BC FIPS and non-FIPS related code from MessageCryptoBc into the already existing bouncy-castle-bc and bouncy-castle-bcfips module, and created a bouncy-castle-common module with an interface definition and a dynamic loader of the implementation based on the security provider in classpath.
MessageCryptoBc now accessing the BC version specific crypto functionality via the dynamically loaded delegate.
in non-FIPS mode we use encrypt mode of cyphers to encrypt data key (probably should be wrap, but ECIES cypher does not support wrap).
In FIPS mode you have to use wrap. So as of now it is not possible to unify code to wrap the data key.
Verifying this change

[ ] Make sure that the change passes the CI checks.

This change added tests and can be verified as follows:

Added unittest for making sure key wrapping and encrypting are compatible for RSA keys
Added unittest for making sure that encryption works end-to-end when only bc FIPS libraries are loaded

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

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Note:
we have to warn users if they want to change the client to use BC FIPS client lib, the messages produced with non FIPS setup and where the master key was ECDSA key - won't be readable! (FIPS has way less enabled cyphers.)
we have to add to website to BC instructions, that you can mix fips ad non-fips producers and consumers as long as you use RSA master keys, since ECDSA keys cannot be used to wrap keys in BC FIPS.
Documentation

[ ] doc
[x] doc-required
[ ] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/z-kovacs/pulsar/pull/2

@david-streamlio @jiazhai @sijie @nodece @michaeljmarshall (apologies if I missed anyone, I tried to add everyone on various BC FIPS threads) - please have a look on the proposed change, let me know if you have any suggestions
the CI ran in my fork successfully apart from code coverge upload steps - let me know if that is OK - this is my fist PR
many thanks in advance!

It seems I cannot edit labels, so I cannot add ready-to-test to trigger tests in this repo.

@nodece had a suggestion offline how to refactor this:

Remove the bc-common library
Create a new messagecrypto-bcfips library what would use messagecrypto-bc as dependency and implement another MessageCrypto implementation purely using BC FIPS inside, in the dependency we would exclude the bc-non-fips libs (shared code would stay in messagecrypto-bc)
Clients have to explicitly modify their client code to use the MessageCryptoBcFips implementation

my argument is this is suboptimal because:

people have to change their code if they want to use bc fips - it might not be possible (3rd party application), also it would complicate their client configuration
if you reference the module messagecrypto-bc as dependency from messagecrypto-bcfips,  it might contain code what was compile-able in messagecrypto-bc but not runnable from messagecrypto-bcfips and thus would cause runtime issues, this is what happened with the bcfips iplementation (ClassNotFoundException)

An another idea is of removing the bc-common library and moving the crypto api interface and the reflection-based loader into pulsar-common this way you don't create a new module (which has other implications), but still you have the isolation of the bcfips and non-fips related implementations, which is giving compile-time and runtime safety.
Also this way this is entirely transparent for the application, if you upgrade the pulsar libraries, it will became FIPS capable - depending on how the library dependencies re set up - in-line with the current setup.
Please comment if you have preference towards either of the ways, or you are just happy with the way it is currently.

Closed as stale and conlfict.


Bibliography additions

This brief addition to PR #12 adds the french literature proposed in #11 and removes the entry from 2006 mentioned there, too.

Thank you.


Enable the "shortcut" feature for triagebot

@bors r+

:pushpin: Commit 72f966e934079ff2a1dde230883f64db1df3e180 has been approved by JohnTitor
It is now in the queue for this repository.

:hourglass: Testing commit 72f966e934079ff2a1dde230883f64db1df3e180 with merge 74e81a50c2528b01507e9d03f594949c0f91c817...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing 74e81a50c2528b01507e9d03f594949c0f91c817 to master...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13, checks-cirrus-freebsd-14
Approved by: JohnTitor
Pushing 74e81a50c2528b01507e9d03f594949c0f91c817 to master...


Updating Nav Organization

Feature/nav-organization: Updating Nav Organization
This PR is to address some of the changes in #29.
We moved all SIGs outside of the documentation section and updated the naming of some links.

Note from meeting:

Swap Announcements and About positioning


Issue with raidboss and testbars

gonna shift the conversation over here as you requested. I finally have the test bars visible, however the timelines do not work when i bow. I have tested my text alerts and they work fine. when i go to the timeline plugin I get this error. when i bow to the dummy at summer ford I don't get any timelines.

hello i have same problem my dps ui and raidboss ui not working. i tried on striking dummy but not working already try using /bow or countdown and still not working :(

 this my test result

well some preliminary stuff to get out the way, i need to ask some questions. What release are you using, as this was about problems with 5.2. if this is a 6.0 question you will prob do better to start a new thread. secondly if it is the new release, you may want to check to see if you have the most recent act plugin that was recently released.

okay i open new thread

@quisquous also the issue that i was having was that I had cactbot installed in 2 different folders in my act folder. so it was having trouble knowing which one to read. ill post pics for future references as I think the operator  error can happen on any release. Also a suggestion, is it possible to clear up where to place the cactbot folder exactly if downloading the whole thing and not making a dll from scratch?

There's a spot in the readme that says something like "the final directory structure should look something like this".  Is there some clearer way to write that section?

Ill have to take another look at what i misunderstood when I get home. will let you know

Thanks! I appreciate the help to try to figure out how to make cactbot installation and update clearer.  I've had a bunch of folks tell me that it's been confusing, so any advice or pointers I can add to help future folks would be really great. :)

@quisquous so for me the confusion came from verbiage. If you have some people who have never went behind a hood of a program so complex but have some tech knowledge to know that one wrong file can majorly mess up a program (me) things will be taking literal to explain a bit.

confused me because I wasn't sure if i was to drop my overlay plugin into the overlay plugin folder.
which leads to extra unnecessary paths like such (this was the path i had to take to get it to work

I would either word that step as "Copy the OverlayPlugin\ folder from inside of the unzipped folder into your existing C:...\Advanced Combat Tracker folder and merge it with the existing overlay.
a. Click yes

b. Then click move and replace and tick box for other conflicts (this will just replace replica files if you have any from older versions)

If this is to much and you want to just refer people to this post that is fine as well.


Error in provided scripts - Variable declaration

The scripts provided won't work on Azure Cloud CLI. After i modified the variables with a $ sign , then it started working. Please correct the scripts as it will certainly waste people's time who are new to Azure CLI and programming.

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

ID: a106b26c-4d9b-9c83-95e6-72f2f13ff39e
Version Independent ID: 8e10d90c-543d-cb32-1098-64dd8504212a
Content: Convert managed disks storage between standard and premium SSD - Azure Linux Virtual Machines
Content Source: articles/virtual-machines/linux/convert-disk-storage.md
Service: virtual-machines-linux
Sub-service: disks
GitHub Login: @roygara
Microsoft Alias: rogarana

Ok. After some more digging found the modified article.
https://docs.microsoft.com/en-us/azure/virtual-machines/windows/convert-disk-storage

@techadmin1982 Thanks for the Feedback.
The Variable assignment is correct in the first article, you can check that by running in Cloud Shell, I just tested it with all possible variable assignments. All Linux based shells will support this assignment.

However, we are glad that you mentioned you found the correct article that you are looking for.
We will now close this issue. If there are further questions regarding this, please tag me in a comment. I will reopen it and we will continue the discussion.


copy API testinfrastructure to ocis repository

To make it easier to administer different oCIS branches and the respected tests it might be better to copy all the test-infrastructure from the core repository to oCIS.
This should reduce the dependencies between repositories and the work to bump the commit ids, but if changes are needed in oc10 it might increase the effort. But oc10 changes should not happen much in the future.

CC @micbar

@individual-it @phil-davis @micbar With #5280, just the tests infrastructures are moved. Now the local API tests are independent with oC/core but the oCIS CI still depends on oC/core repository to run core API tests and will be necessary to run parallel deployment tests (which needs OccContexts and testing app like things) if we enable it.

"copy all the test-infrastructure from the core repository to oCIS"
@individual-it I just want to clarify what "all" means:

test helpers code
test code (that is found in tests/acceptance/features/bootstrap)
test scripts (like run.sh and lint scripts...
API acceptance test feature files that are currently in oC10 core

And after this issue is done, the ocis CI will not need to fetch the core oC10 repo at all.

"parallel deployment tests" - hmmm, we will need to think about how we support those.
The drone script in ocis CI can still know how to install an oC10 and set the needed env vars etc to get the parallel deployment installed and working.
Then we will need to look at what test scenarios that we really want to run against a parallel deployment. If we really need to change oC10 settings/options at test startup, or scenario Given steps, then we will need to make the CI have the testing app installed in oC10, and copy the needed OccConext etc code into ocis so that it can be used.

IMO, this can be closed and we can open new issue for clean up tasks
CC @phil-davis @individual-it

Task has been completed. Create cleanup issue https://github.com/owncloud/ocis/issues/5337
So, closing here!


Hamburger animation jumping when on right side of page

When hamburger is on the right side of the page, the animation pops  back and forth

This is probably an issue with your styling not with the hamburger itself, if you could share a small repl with the issue I can take a look for you

I found a workaround. I was attempting to adjust css in the Hamburger.
        <Hamburger --color={secTColor} --padding=8px --position=absolute --right=0px  bind:open={open}/>

Those are also the stylings of the containing div.
I used a global css setting to work around.
    :global(.hamburger){
        padding: 8px;
        position:absolute;
        right: 0px;
        color: var(--secondary-text-color) !important;
    }

the best way to style the hamburger is to place it in a div and style that div, it's not recommended to use :global like that

Using the same styles in the div did not achieve the desired outcome
On Sun, Oct 9, 2022, 10:39 PM Willow (GHOST) @.***>
wrote:

the best way to style the hamburger is to place it in a div and style that
div, it's not recommended to use :global like that
—
Reply to this email directly, view it on GitHub
https://github.com/ghostdevv/svelte-hamburgers/issues/102#issuecomment-1272723852,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASR3C5M5G6MIVZ76U2OZOALWCN6XZANCNFSM6AAAAAARAJD52A
.
You are receiving this because you authored the thread.Message ID:
@.***>

If you send a REPL I can help debug it


Unhelpful error when using increment with stricter checks on uninitialized variables

Version: TypeScript 2.1.4
function f() {
    var x;
    x++;
    return x;
}

Turn on noImplicitAny and/or strictNullChecks.
The error that you'll get is
An arithmetic operand must be of type 'any', 'number' or an enum type.

However, quick info for this variable reports that it's any, and the error itself doesn't tell us what the type is.

they type of x should be undefined. the issue seems to be with your quick info and not the error message.

The error has been improved since then and it nows states this:

'x' is possibly 'undefined'.(18048)

This is quite helpful and points to the issue with the code directly. I think this issue could be closed (cc @jakebailey )


AOA_Code

What type of PR is this?
The original code for AOA
What this PR does / why we need it:
Vehicle Angle prediction and task assignment
Which issue(s) this PR fixes:
To solve the problem of flexible model prediction (FMP) in DeepAOA work, an online vehicular AoA estimation scheme based on a deep learning method, TForest was used to divide the scenarios.

Thank you so much for the PR. Good to see works on task definition.

The directory would be sth like examples/aoa/single_task_bench/TForest .
A readme would be preferred to introduce how the algorithm is used. :D


Django Setup?

Hi, are there any specific steps for installing to a django app?

Do you still need help with your Django setup?

I can set up a Django project and add a readme with steps

@wrabit I'm... not sure. A Django extension would be ideal, but I don't have experience writing one

Pip install Django

Thanks @jpsca. I actually wrote something to statisfy my needs here.
And oh boy, a lot of spam suddenly hitting GH issues

just use python3 -m pip install  and add this to your setings.py file

@wrabit could you, if you want and have time of course, document the process a little? I'm sure a lot of Django devs would like to try this library.

I tried it out, it works. I have documented the steps in this article:
https://www.linkedin.com/pulse/using-jinjax-django-ashraf-mohammad-hvxsc/
If you find other examples or articles related to this please add the links below and also add any suggestions you might have to make the steps in my article better.


Add stubs for Relay

This PR adds support for Relay, a next-gen Redis client written in C by the makers of PhpRedis and Predis. It’s built as a drop-in replacement for PhpRedis with a backwards compatible interface for easy adoption. Relay is significantly faster than existing clients by leveraging Redis 6's client-side-caching.
While Relay is still on 0.x (pending the addition of cluster support in a few weeks for a 1.0 tag), it’s interface is stable and it’s heavily used in production deployments.
The stub files are based on: https://builds.r2.relay.so/dev/relay.stub.php

@isfedorov: Could you give me pointers what's needed to get these stubs merged?

@tillkruss do you have any statistics about the current usage of the Relay extension? The extension looks like a very early build (based on 0.X version, amount of commits, forks, stars, etc) so sorry, but at the moment I don't see any guarantee that the work on the extension will continue. Unfortunately, we can't bundle stubs for every extension and would like to align with stubs for the extensions that are going to live for a while and are used by a significant amount of people. So could you please provide some data on usage the extension (monthly installs, summary installs etc)?

@isfedorov You're absolutely right, it's early days and we've only soft launched, but 3 people are working full time on Relay and just over 10k active (production) installations right now. Those are early adopters in the WordPress hosting space.
It would be great to get this merged, since Laravel and Symfony both are adding support for it.
Are those numbers sufficient, or do you have any specific usage requirements?

@tillkruss Ok, lets bundle them. But before that the PR requires some changes (please see my notes)

@isfedorov: All done. Happy to do the LanguageLevelTypeAware stuff if needed.

@tillkruss Ok, so the only problem left is cs-fixer problems. Please run cs-fixer as mentioned at https://github.com/JetBrains/phpstorm-stubs/blob/master/CONTRIBUTING.md#code-style

Done 👍


Deadline: checking existing frames fails when there is number in file name

Problem
validate_sequence_frames fails when there is number in file name (other then frame number). It breaks clique asembly.
[cuID:2uxa4yb]

Is that the same as this PR? https://github.com/pypeclub/OpenPype/pull/3683
Issue is likely introduced with this PR: https://github.com/pypeclub/OpenPype/pull/3611 - since then it considers more of the filename for frame numbering since clique.PATTERNS["frames"] would have avoided that BUT would've required a dot before the frames.

We're likely better off defining our own patterns like the frames on that still expect the frames in that specific location (at end of file, before extension but don't require the dot.)
So it could be .*([0-9]+)\.{ext}$. Might be even better if we could pass the explicit extension to the assemble command or patterns so that we could also correctly detect extensions that might require double dots like .ass.gz.
Once we've found out the assembling/pattern matching that does what we want - then we should just provide it as a utility function in OpenPype so we can rely on that single entry to files collection. clique.assemble by default has shown it doesn't do what we wanted it to do - it leaves too much up to chance.

Yep, I agree that using that specific regex with provided extension will solve most of these issues. I haven't yet identified all the places we are doing this but my guess is that in most (if not all) of them we already know the extension to be used.

General plugin got removed a while ago, for Unreal it gets fixed by https://github.com/ynput/OpenPype/pull/5533
Standardization of clique.assembly should be implemented instead of this issue, see https://github.com/ynput/OpenPype/issues/4361


[BUG] Angular Plugin: Unwanted dialog. The code creates unwanted confirmation dialog

Description/Screenshot
Unwanted dialog. The code below creates unwanted confirmation dialog. Using ngOnDestroy alone doesn't work, neither does using a custom method with the event listener (The _mountTimestamp would have been destroy by then. )
@HostListener('window:beforeunload')
  ngOnDestroy() {
    this.angularPluginService.trackMetric();
  }

Steps to Reproduce
Using the aforementioned code in any component.

Additional context
Add any other context about the problem here.

@OumarLM can you please explain more what do you mean by "unwanted dialog"? Do you see similar payload on your network tab?

@xiao-lix, yes i see a similar payload. I meant using @HostListener('window:beforeunload') causes a confirm dialog whenever refreshing or navigating away from the page. and the metric seems not to be consistent without @HostListener('window:beforeunload').

Due to inappropriate implementation, the track metrics feature is taken off from the new released version of angular plugin, hence close this issue.


Can I use angular-new-router with angular 1.5

Can I use angular-new-router with angular 1.5 and if so are there any hooks in angular-new-router that I can use to check for an authenticated user?

use this demo, it also has the latest new-router export from 2.0. as you can see current project is not updated for some time.
https://github.com/petebacondarwin/ng1-component-router-demo

Hi.
There is also because ngComponentRouter made in the same way.  I have been using this.
https://www.npmjs.com/package/ngcomponentrouter


Anyone follows the pull request #1163 (.net core 2.0) can successfully get Authenticated

I have follow the pull request #1163 to implement my .net core 2.0 website.
i add implementation in startup.cs
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
                .AddCookie(options =>
                {
                    options.ExpireTimeSpan = IdleTimeoutMinutes;
                    options.SlidingExpiration = true;
                })
                .AddGoogleOpenIdConnect(options =>
                {
                    options.ClientId = "myClientId";
                    options.ClientSecret = "myClientSecret";
                });

by using this way, I can go through the the GoogleCredentialProvider, however i will get AuthenticateResult with succeeded equals false with message not authenticated.
Anyone gets it works can let me know what i am missing?

#1163 is unfinished, and not expected to work yet.
If you need to use Google auth, without calling into Google APIs, then you can use the Microsoft-provided Google authentication.
If you also need to call into Google APIs using the users' oauth credentials, then this is currently more difficult, and is what #1163 is intended to provide.
Closing this issue, as there's nothing beyond #1163 to do here.

my situation is:
A .net core 2.0 website
client use google api picker to select a file.
client submit form which include FileID.
In the controller, server use the FileID to get the content of the file. And server has no idea who is using the google drive. Since my web application is not using google account to login.
I think it is relate to #1163. may I know what should I do to make #1163 working or when it is able to work? I have get all implementations from #1163, but it will fail the authentication.