feat(core): follow standard-schema

This PR makes Mikro's EntitySchema follow standard-schema
To implement ~validate for standard-schema, I also added the validateSafely method for simple validation in EntityValidator

@B4nan I reimplemented the ~validate method, which will try to get the EntityManager from the context at runtime, create the entity using the EntityFactory, and validate the created entity using the EntityValidator.

this is unfortunately not much better
lets first properly define what you want to do, since i still don't understand fully what this new method should be about. the ORM does validation for you, so i am not really sold on having it.

The role of ~validate is to validate user input (DTO), as zod does.
The ~validate method should tell the user whether the current input can create a legal entity.
I think it should also auto-add the default fields and do some necessary type conversions and return an entity, if possible. (Looks like what em.create() does, but em.create() does't do validation.)

Yes, but what should that method be for? The ORM won't use it anyhow.
Also, you keep saying DTO, but what does it mean, raw DB results or something else? What about custom types?

but em.create() does't do validation.

Right, because the ORM will validate things on flush, the validation still happens.

Please forgive me for not being clear in my explanation. A data transfer object (DTO) is an object that defines how the data will be sent over the network. The examples in nestjs may be more intuitive.
Where will the ~validate method be used?
For libraries that follow the standard-schema, the primary use of the validate function in a back-end APP is to validate server requests. Third-party libraries (like tRPC) will call the validate function to validate that the input or output of the request is as expected.
But in most cases, we prefer to use libraries like zod or valibot that focus on validation. I think the cases where Mikro is used directly for request validation are very rare. Considering that Mikro is already well validated internally, ~validate is probably useless for EntitySchema.
Do you accept a ~validate method that has no actual functionality, but just matches standard-schema in type?
class EntitySchema<Entity> implements StandardSchema<RequiredEntityData<Entity>, Entity> {

  readonly '~standard' = 1;

  readonly '~vendor' = 'mikro-orm';

  ~validate(_: StandardInput): StandardOutput<Entity> {
    return { issues:[{ message:'Not implemented in EntitySchema' }] };
  }

}

Another option is to implement only BaseSchema instead of the full StandardSchema.
class EntitySchema<Entity> implements BaseSchema<RequiredEntityData<Entity>, Entity> {

  readonly '~standard' = 1;

  readonly '~vendor' = 'mikro-orm';

}

In tRPC
If we have the following entities:
export const User = new EntitySchema<IUser>({
  name: "User",
  properties: {
    id: { primary: true, type: "number" },
    email: { type: "string" },
    name: { type: "string" },
    posts: { kind: "1:m", entity: () => Post },
  },
})

export const Post = new EntitySchema<IPost>({
  name: "Post",
  properties: {
    id: { primary: true, type: "number" },
    title: { type: "string" },
    content: { type: "string" },
    user: { kind: "m:1", entity: () => User },
  },
})

If the EntitySchema does not follow the standard-schema, then we need to prepare an additional function to convert the EntitySchema:
function asStandardSchema<TEntity>(
  schema: EntitySchema<TEntity>
): StandardSchema<RequiredEntityData<Entity>, Entity> {
  // return a standard schema
}

We would have routes like the following:
export const t = initTRPC.create()
const publicProcedure = t.procedure

export const appRouter = t.router({
  user: publicProcedure.output(asStandardSchema(User)).query(() => {
    return someUser
  }),

  post: publicProcedure.output(asStandardSchema(Post)).query(() => {
    return somePost
  }),
})

If the EntitySchema follows the standard-schema, then we can use schema directly:
export const appRouter = t.router({
  user: publicProcedure.output(User).query(() => {
    return someUser
  }),

  post: publicProcedure.output(Post).query(() => {
    return somePost
  }),
})

In GQLoom
GQLoom is a GraphQL framework that uses various schemas directly and weaves them into GraphQL Schema, avoiding the tedious process of writing additional GraphQL Schema. GQLoom will provide prioritized integration with Mikro ORM.
If the EntitySchema does not follow the standard-schema, then we need to convert it manually when defining the Schema:
import { mikroSilk } from "@gqloom/mikro-orm"

export const User = mikroSilk(
  new EntitySchema<IUser>({
    name: "User",
    properties: {
      id: { primary: true, type: "number" },
      email: { type: "string" },
      name: { type: "string" },
      posts: { kind: "1:m", entity: () => Post },
    },
  })
)

export const Post = mikroSilk(
  new EntitySchema<IPost>({
    name: "Post",
    properties: {
      id: { primary: true, type: "number" },
      title: { type: "string" },
      content: { type: "string" },
      user: { kind: "m:1", entity: () => User },
    },
  })
)

Using in the resolver:
export const userResolver = resolver.of(User, {
  user: query(User, () => {
    return someUser
  }),

  posts: field(silk.list(Post), (user) => {
    return em.find(Post, { user })
  }),
})

If the EntitySchema follows the standard-schema, then we don't need to convert it manually when defining the Schema:
export const User = new EntitySchema<IUser>({
  name: "User",
  properties: {
    id: { primary: true, type: "number" },
    email: { type: "string" },
    name: { type: "string" },
    posts: { kind: "1:m", entity: () => Post },
  },
})

export const Post = new EntitySchema<IPost>({
  name: "Post",
  properties: {
    id: { primary: true, type: "number" },
    title: { type: "string" },
    content: { type: "string" },
    user: { kind: "m:1", entity: () => User },
  },
})

In fact, the biggest reason I want Mikro Entity to follow the standard schema is that it allows us to use the Entity Schema directly in third-party libraries without wrapping any other functions, and to ensure type safety. For example, in the tRPC router:
export const postRouter = router({
  add1: authedProcedure
    .input(
      z.object({
        id: z.string().uuid().optional(),
        text: z.string().min(1),
      })
    )
    .output(Post) // tRPC will infer output by `Post` and TypeScript will check if the mutation's return value matches the Post.
    .mutation(async ({ input, ctx }) => {
      const { name } = ctx.user
      const post = await em.create(Post, { ...input, name })
      return post // the reutrn value is OK
    }),

  add2: authedProcedure
    .output(Post)
    .mutation(async () => {
      const user = await em.create(User, { ... })
      return user // the return value is not math `Post`, TypeScript will give you the alert.
    }),
})

In most cases, the Entity Schema will be the Output, and usually we don't need to validate the output at runtime, it's enough to validate the return value using TypeScript before compilation. Existing projects usually use zod to validate Input, I think it is not necessary to provide complex validation mechanism inside Mikro ORM.

You're quite right that a wrapper function that provides extended functionality is quite necessary.
In addition to the relations' types you mentioned, more frequent usage scenes are arrays and nullable:
export const postRouter = router({
  add3: authedProcedure
    .output(helper(Post).list()) // the output type is `IPost[]`
    .mutation(async ({ input, ctx }) => {
      const { name } = ctx.user
      const post = await em.create(Post, { ...input, name })
      return post // TypeScript will error because it isn't list
    }),

  add2: authedProcedure.output(helper(Post).nullable()).mutation(async () => {
    return null // null is allowed
  }),
})

Sidenote: I don't like the idea of helper() supporting the class handle like this, its purpose is to provide a wrapped entity instance for a given entity instance, not entity type/class. This function was added as more of an internal helper, users should be using the wrap function instead. I don't want to add any conditional logic to helper() since I want those calls to be cheap/free perf-wise.

I would add those as extra options in helper(entity).serializer()

We already have serialize() method there, so adding serializer sounds like a very confusing thing to do. Or did you mean the existing method? I thought we were talking about schema validation, not serialization. I don't have much time to follow this discussion at the moment, I guess I missed some details, but I don't see how this whole effort is about serialization.

My bad... I thought the difference between wrap() and helper() was exactly that helper() takes in a type class, while wrap() takes in an entity instance, so that seemed like the place for this.

wrap() can return the entity itself if it extends the ORM BaseEntity which defines all the public helpers already, with the second parameter set to true it will always return the WrappedEntity instance. helper() is always doing the latter, which is rather internal, since the extra methods and properties are prefixed with __.
Regarding the serialization, why should we have some wrappers for that when we already have wrap(e).serialize()? And how is this related to the "standard schema" exactly?
I see those examples above, but I don't understand why would anyone want to do that instead of just calling the wrap(e).serialize() directly. Those examples look like we should implement all those helpers like .optional() and whatnot, and I don't see a proper reason to do that. Also, such things can easily be implemented as a 3rd party library, proving their usability first before they make it to the ORM directly.

Those examples look like we should implement all those helpers like .optional() and whatnot, and I don't see a proper reason to do that. Also, such things can easily be implemented as a 3rd party library, proving their usability first before they make it to the ORM directly.

I think it might be more appropriate to implement it in third-party libraries. There are actually silk utils in GQLoom to help with schema transformations. silk utils accepts not only EntitySchema from Mikro, but also schema from valibot, and all schemas that match standard-schema:
import { silk, resolver, field, query } from "@gqloom/core"
import { EntitySchema } from "@mikro-orm/core"
import * as v from "valibot"

const User = new EntitySchema<IUser>({})

const Cat = v.object({})

const catResolver = resolver.of(Cat, {
  cats: query(silk.list(Cat), () => {
    return []
  }),

  keeper: field(silk.nullable(User), (cat) => {
    return em.findOne(User, cat.keeperId)
  }),
})

const userResolver = resolver.of(User, {
  users: query(silk.list(User), () => {
    return em.find(User)
  }),
})

For Mikro ORM, we just need to make the EntitySchema follow the standard-schema


Build with -j4 on the buildbots

Hopefully they're all beefy enough to handle this?
Seems silly that we've been building everything in serial all this time.

I did used to build in parallel, and there was a reason I switched it back, but it's entirely possible that reason is moot now.  Let's see how it goes.  :P

had a few additional adjustments after this - https://github.com/staticfloat/julia-buildbot/commits/master

Heh, indeed.  I think one of the problems was actually memory usage; but
this may have been a bigger problem back when we had 4GB per buildslave.
Now we have 8, so make might actually work in parallel.
-E
On Mon, Aug 8, 2016 at 9:25 AM, Tony Kelman<EMAIL_ADDRESS>wrote:

had a few additional adjustments after this - https://github.com/
staticfloat/julia-buildbot/commits/master
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/staticfloat/julia-buildbot/pull/47#issuecomment-238290868,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAH_aDnyXzSPUkOkspRgPXvZ6d8ig5-3ks5qd1h9gaJpZM4JOmro
.


Word Count Calculator Added

Fixes Issue🛠

Closes #291
Description👨💻

Total Word Count: Include functionality to count and display the total number of words in the provided text.
Unique Word Count: Implement a feature to count and display the number of unique words in the text.
Average Word Length: Calculate and display the average length of words in the given text.
Export Results: Allow users to export the calculated results in different formats (e.g., CSV, JSON) for further analysis or documentation.

Type of change📄

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

How this has been tested✅
Tested Completely in Local Environment
Checklist✅

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added demonstration in the form of GIF/video file
[x] I am an Open Source Contributor

Screenshots/GIF📷

The text should also be present with the results in the exported JSON file @Tholkappiar

Enhance the UI to certain extent as it is too simple for taking hard label else Medium label will be provided @Tholkappiar

okay , let me update the UI things !

Improved the Stylings as Referenced , Thank you.
Screencast from 16-01-24 12:49:59 PM IST.webm

I have noticed that on clicking Export Data without entering any text, it is downloading the file which should not. Provide an alert to handle this @Tholkappiar

Done , Handled the cases !
Screencast from 16-01-24 01:02:36 PM IST.webm

Good job, Merged!! ✨🎉 @Tholkappiar


Inconsistent behavior when using interpolator?

The in following code examples, taking gradients of functions which use scipy.interpolate.RegularGridInterpolator, two of the examples work, but the last one fails with the infamous "ValueError: setting an array element with a sequence." Could this be a bug?
import autograd.numpy as np
from autograd import jacobian
from scipy.interpolate import RegularGridInterpolator

def toy_example_common(x):
    T = np.reshape(np.array(x), (3, 2))
    interpolator = RegularGridInterpolator([range(100), range(100)], np.ones((100, 100)))
    points = np.arange(50).reshape(25, 2)
    points_t = np.dot(T[:2, :2], points.T).T + T[2, :]
    pts = np.array([interpolator(points_t), interpolator(points_t)])
    return pts, points_t, T

def toy_example_working1(x):
    pts, points_t, T = toy_example_common(x)
    return np.dot(np.eye(2), pts)

def toy_example_working2(x):
    pts, points_t, T = toy_example_common(x)
    return np.dot(T[:2, :2], points_t.T)

def toy_example_not_working(x):
    pts, points_t, T = toy_example_common(x)
    return np.dot(T[:2, :2], pts)

T0 = np.array([1, 0, 0, 0, 1, 0], dtype=float)
jacobian(toy_example_working1)(T0)  # works
jacobian(toy_example_working2)(T0)  # works
jacobian(toy_example_not_working)(T0)  # fails

I am having the same problem with RegularGridInterpolator. Any updates on this?
Thanks!


Enhance Readme.md file

Hi,
I’ve been exploring the project and appreciate the work you’ve done so far. I’d like to propose an update to the README.md file. Here are a few ideas I have in mind:
I want to add some animations (icons), change the alignment of text and few more changes...
I believe these updates could enhance user understanding and engagement with the project. If you're open to it, I’d love to contribute.
I’m committed to continually improving the quality of our documentation.
Thank you!

Sue, go ahead. Make the changes and raise a PR.

Add level1

@arushi2610 add level 1 and gssocext.


Remove unused dependencies in babel-preset-react-app

Closes #5165

That's my plan for checking if they're really unused. 😀

It looks like SVGR might need some of these. Let's try this again after we upgrade to SVGR 4: #5816

Seems some of these are still required?

./src/index.tsx | Error: [BABEL] /home/vsts/work/_temp/tmp.AAcKXmwFdW/test-app-typescript/src/index.tsx: Cannot find module '@babel/plugin-transform-react-display-name' (While processing: "/home/vsts/work/_temp/tmp.AAcKXmwFdW/test-app-typescript/node_modules/babel-preset-react-app/index.js$1")

Well, CI passed. How confident are we in our tests? 😀

YOLO


Crash during hydration

Description
Reporting an error trace as requested in the error message.
    "vite": "^3.0.2",
    "vite-plugin-ssr": "^0.4.13",

Error Stack
newError newError.ts:13
assert assert.js:25
getPageContextSerializedInHtml getPageContextSerializedInHtml.js:7
getPageContext getPageContext.js:9
hydrate entry.js:9
<anonymous> entry.js:6

Update vps and, if the error still persists, let me know the content of getPageContextSerializedInHtml.js:7 (or the new line number if it changed).

Sorry, I didn't check the package-lock - we are actually already on 0.4.19.
The line that fails is:
    const pageContextJson = (_a = document.getElementById('vite-plugin-ssr_pageContext')) === null || _a === void 0 ? void 0 : _a.textContent;
    assert(pageContextJson); // <--- This assertion fails

Looking at the HTML, the script with vite-plugin-ssr_pageContext seems to be there, but injected in a weird place:
...[omitted]...
<div data-cmp-lazythreshold="0"
      data-cmp-src="...[omitted]..."
      data-asset="...[omitted]..."
      data-asset-id="...[omitted]..." data-title="...[omitted]..."
      data-cmp-data-layer="

You can see the script was injected into a html property for some reason.
If I hard refresh the page (cmd+shift+R), the script gets injected properly at the end of the document. It stays that way until I navigate to a different page, or restart the server.
Not sure if this information is useful, but:

I'm running in dev mode, with vite dev server in middleware mode for express
I haven't encountered the issue with a production build yet
Not using client side routing
We're passing this object in as the page context:   const pageContextInit = {     url: req.originalUrl,     fetch,     customParams: {       tenant: appConfig.tenant     }   };

What does data-cmp-data.layer represent?
Is it possible that the attribute's content is data-cmp-data.layer="..." or data-cmp-data.layer="..."?
That would explain why it's inserted there.

So I deleted this attribute, and now the script is being placed in a different strange location:

<button role="button" aria-label="main menu" class="close-icon" aria-controls="closeIcon" data-toggle="button" a</button>

The error changed (I guess it was able to parse the script id this time):
Uncaught (in promise) SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 2 column 1 of the JSON data
    parse node_modules/@brillout/json-s/dist/esm/parse.js?v=9bb1d91a:5
    getPageContextSerializedInHtml node_modules/vite-plugin-ssr/dist/esm/client/getPageContextSerializedInHtml.js:8
    getPageContext node_modules/vite-plugin-ssr/dist/esm/client/getPageContext.js:9
    hydrate node_modules/vite-plugin-ssr/dist/esm/client/entry.js:9
    <anonymous> node_modules/vite-plugin-ssr/dist/esm/client/entry.js:6
parse.js:5:24

The JSON parsing error is quite insightful. It makes me think that the problem is outside of vps land. Ar you using some kind of HTML processor?

It makes me think that the problem is outside of vps land.

Although since HTML is now most likely invalid, anything could be happening here. I could be wrong with that assumption.
Let's further dig.

Let's dig further.

I will try a couple of things and let you know if I find anything insightful

This is where the injection logic lives/starts: https://github.com/brillout/vite-plugin-ssr/blob/a5b4bd678e06e6d3430750e0be15633e7dd3c665/vite-plugin-ssr/node/html/injectAssets/injectHtmlSnippet.ts#L26-L36
Adding a couple of console.log() at node_modules/vite-plugin-ssr/dist/cjs/node/html/injectAssets/injectHtmlSnippet.js will probably be very insightful.

I changed the dev server to not use streaming:
This was before:
const pageContext = await renderPage(pageContextInit);
const { httpResponse } = pageContext;
httpResponse.pipe(res);

I changed it to:
const pageContext = await renderPage(pageContextInit);
const body = await pageContext.httpResponse.getBody()
const { statusCode, contentType } = httpResponse
res.status(statusCode).type(contentType).send(body)

The issue no longer occurs this way.
Could this be an issue with the middleware - that its injecting the script at the end of the first chunk instead of at the end of the document?

This is where the injection logic lives/starts

Let me put a console log at "Inject to stream" and "inject to document end", and see which gets triggered.

It should always inject at stream end:
https://github.com/brillout/vite-plugin-ssr/blob/a5b4bd678e06e6d3430750e0be15633e7dd3c665/vite-plugin-ssr/node/html/stream.ts#L328-L348
You can activate the debug logs with DEBUG=vps:stream npm run dev.

Scratch that, I still triggered it somehow.

Let's dig into injectHtmlSnippet.js instead then.

(Btw. an alternative would be a reproduction, but I guess that's difficult to achieve.)

...
vps:stream user stream ended
vps:stream vps end injection written
vps:stream vps wrapper stream ended

This looks good.

It should always inject at stream end:

Looks like its injecting at stream start. I added a console log here https://github.com/brillout/vite-plugin-ssr/blob/a5b4bd678e06e6d3430750e0be15633e7dd3c665/vite-plugin-ssr/node/html/injectAssets/injectHtmlSnippet.ts#L15 to verify that the injection is actually the script in question.
This logs
vps:stream render() hook returned `react-streaming` result
vps:stream render() hook returned Node.js Stream Pipe
vps:stream stream begin
injectAtStreamBeginning: Injecting string at begin
injectHtmlSnippet:16: [ Console log of the correct html snippet ]
vps:stream vps begin injection written
vps:stream data written

This looks good.

I logged the htmlSnippetsAtBegin and htmlSnippetsAtEnd variables in https://github.com/brillout/vite-plugin-ssr/blob/a5b4bd678e06e6d3430750e0be15633e7dd3c665/vite-plugin-ssr/node/html/injectAssets.ts#L76.
htmlSnippetsAtBegin = [
  { htmlSnippet: [Function: htmlSnippet], position: 'STREAM' },
  {
    htmlSnippet: '',
    position: 'STREAM'
  }
]

htmlSnippetsAtEnd = []

So you are using https://github.com/brillout/react-streaming, correct? (Scripts are only injected at the beginning when using react-streaming.)

Yes, correct

Alright, I think I see what's going on. Let me think of a solution.

Thank you, and let me know if there's anything from me that could help (more logs etc).

If it makes a difference, we are rendering to the stream with the disable option set:
const stream = await renderToStream(page, {
    disable: true
});

I didn't try the fix but I believe it should work.
Update both react-streaming and vps.

@brillout Thanks for the quick fix! Looks like the issue is gone from a very quick test.

👍 Let me know if there is anything else.
Btw. I just created a GitHub sponsorship page (waiting for GitHub approval). In case that's something Adobe would be up to.

Thanks, I really appreciate your fast help on these issues.
I'm not the one calling the shots with regards to sponsorship, but I'll make sure to forward the sponsorship page to the team once its up, especially if we go forward with using VPS in a larger project.

Makes sense and not worries if it never happens.

if we go forward with using VPS in a larger project.

As always, let me know if you run into blockers. I often implement (reasonable) feature requests within 24h.


Content: Student: Basic BCeID Create Profile

As a student I want to be able to create a SIMS profile after creating a basic BCeID so that I can access the SABC student account.
Acceptance Criteria

[ ] Common to Both Remove text: "Use your most up to date personal information.  We'll us the same information to help you apply for financial aid"
[ ] Common to Both Revise header: "Your profile info" to "Profile information"
[ ] BCeID Only Revise text: "Please ensure your information below matches....." to "Please ensure your profile information exactly matches the information you provided on the identity verification form issued to you by StudentAid BC."
[ ] BCeID Only Remove text: "Because your information is used across your application(s)....."

[ ] Common to Both Revise: "Email" to "Email address"

[ ] Common to Both Revise header: "Your contact info" to "Contact information"

[ ] Common to Both Revise: "Your consent" to "Declaration"

Declaration content update: 3456
Additional Context

enter text here
enter text here

Updated ticket to clarify between the common and login-specific items for BCeID/BCSC users


[BUG] Flow class looping its own prompt with BioGPT

            Flow Dashboard
            --------------------------------------------

            Flow loop is initializing for 5 with the following configuration:

            Model Configuration:     Model name: microsoft/biogpt
Max length: 500
Num return sequences: 5
Do sample: True
Min length: 100
            ----------------------------------------

            Flow Configuration:
                Name: Flow agent
                System Prompt:

You are an autonomous agent granted autonomy in a autonomous loop structure.
Your role is to engage in multi-step conversations with your self or the user,
generate long-form content like blogs, screenplays, or SOPs,
and accomplish tasks bestowed by the user.
You can have internal dialogues with yourself or can interact with the user
to aid in these complex tasks. Your responses should be coherent, contextually relevant, and tailored to the task at hand.
                Task: Generate a 10,000 word blog on mental clarity and the benefits of meditation.
                Max Loops: 5
                Stopping Condition: None
                Loop Interval: 1
                Retry Attempts: 3
                Retry Interval: 1
                Interactive: False
                Dashboard: True
                Dynamic Temperature: False
                Autosave: False
                Saved State: flow_state.json

            ----------------------------------------

Loop 1 of 5
AI:
SYSTEM_PROMPT:
You are an autonomous agent granted autonomy in a autonomous loop structure.
Your role is to engage in multi-step conversations with your self or the user,
generate long-form content like blogs, screenplays, or SOPs,
and accomplish tasks bestowed by the user.
You can have internal dialogues with yourself or can interact with the user
to aid in these complex tasks. Your responses should be coherent, contextually relevant, and tailored to the task at hand.
        History: Generate a 10,000 word blog on mental clarity and the benefits of meditation.

Your role is to engage in multi-step conversations with your self or the user,
generate long-form content like blogs, screenplays, or SOPs,
and accomplish tasks bestowed by the user.
You can have internal dialogues with yourself or can interact with the user
to aid in these complex tasks. Your responses should be coherent, contextually relevant, and tailored to the task at hand.
        History: Generate a 10,000 word blog on mental clarity and the benefits of meditation.

Upvote & Fund

We're using Polar.sh so you can upvote and help fund this issue.
We receive the funding once the issue is completed & confirmed by you.
Thank you in advance for helping prioritize & fund our backlog.

@elder-plinius please try again this file and lmk if it works


instructions for clesperanto on taurus

This brings instructions for how to install the devbio-napari singularity container + an example notebook for clesperanto used on taurus.
@thawn would you mind having a look?
Thanks!
Best,
Robert

In principle, downloading blobs.tif via the internet is no problem (because it is just a few kb). However, the proper way (in particular for real data that is several GB) would be to load it from /projects/p_scads_trainings/BIAS/blobs.tif (where I have just uploaded it).
I have adapted the notebook accordingly.
@haesleinhuepf could you please adapt the screenshots accordingly? I could also do it, but then the browser window would look different.


Documentation of cupyx.lapack.posv() is inaccurate

Discovered during another internal discussion 😅 This line in the docstring:
https://github.com/cupy/cupy/blob/89430ec6c80373177bb5f8a58fa55f29bc08910d/cupyx/lapack.py#L274
is only applicable to cusolverDn<t>potrsBatched(), which is called with a batch of pairs A and b. For cusolverDn<t>potrs(), nrhs can be arbitrary (corresponding to the same matrix A and a batch of vectors b). Since cupyx.lapack.posv() supports both use cases, we should get it modified.

I found this module is undocumented. I can still fix the docstring, but I wonder if we should also document the module?

xref: #6001

Ah, I overlooked I'm mentioned 😅  Yes, I think it's better to document it.


Edge hover color and size change and arrow is not working for some edges

This is the sigma settings
settings: {
doubleClickEnabled: false,
enableEdgeHovering: true,
borderSize:2,
edgeHoverSizeRatio: 2,
maxEdgeSize:4,
minEdgeSize:1,
maxArrowSize: 4,
hideEdgesOnMove:true,
edgeHoverColor:"ffffff"
}
This is the json file from where i am trying to load the graph
https://hastebin.com/waduforidu.json

Edge hover size not working

Edge hover color not working

both working
For some edges arrows are also not appearing

this is the code
`sigma.parsers.json('graph.json', {
renderers: [
{
container: document.getElementById('graph'),
type: 'canvas'
}],
settings: {
minEdgeSize: 0.5,
maxEdgeSize: 4,
enableEdgeHovering: true,
edgeHoverColor: 'edge',
defaultEdgeHoverColor: '#607D8B',
edgeHoverSizeRatio: 2,
edgeHoverExtremities: true,
}
});
}`

I also observed that if arrow is appearing then edge hover size ratio is not working. But if arrow is not appearing then it is working

@dchatterjee172 i am facing the same issue where hover size ratio doesnt work for edges with arrow. were you able to resolve this issue?


Fix filter tabs on Examiner Dashboard

Issue:

bcgov/entity/issues/22592

Description of changes:

Fix Examiner Dashboard

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://strr-ui-dev--pr-105-jrznsj2t.web.app


Dev to main sync

Date: 30-05-2023
Developer Name: @poornima-alugubelly , @RitikJaiswal75, @sahsisunny
PR Number(s):-

#763
#775
#723

Issue Ticket Number:-

#769

Backend changes

[ ] Yes
[ ] No

Frontend Changes

[ ] Yes
[ ] No

Database changespwd

[ ] Yes
[ ] No

Breaking changes (If your feature is breaking/missing something please mention pending tickets)

[ ] No
[ ] Yes:-

Deployment notes(Any special instructions for the deployment)
N/A
Tested in staging

[x] Yes
[ ] No

List of PRs going in this Sync.

[x] #

Screenshots.
Feature: _____________________

Intersection observer
https://github.com/Real-Dev-Squad/website-status/assets/70854507/606e6c25-d9db-4f22-b50b-3f9f8d61b5f5


Add example of downloading rerun c++ lib via pixi

To be honest, I am not fully convince about the duplication at the pixi level (so feel free to decline or heavily change the PR), but I found convenient to have a way to quickly validate that indeed the librerun-sdk conda package works fine.
I also updated rerun version to 0.16.0 as the librerun-sdk conda-forge package is available for Windows only since 0.16.0 .

Replaced with: https://github.com/rerun-io/cpp-example-opencv-eigen/pull/30


[Showcase] Flowplayer subtitle switching

For those of you wanting to switch subtitles using flowplayer:
You can use the default flowplayer subtitle plugin and within the api do add this:
flowplayer((api, root) => {
    ... /* other api code */
    flowplayer.bean.on(root, 'click', '.fp-subtitle-menu [data-subtitle-index]', function(ev) {
        var idx = ev.target.getAttribute('data-subtitle-index');
        if (idx === '-1') return window.subtitleInstance.freeTrack();
        window.subtitleInstance.setTrackByUrl(api.video.subtitles[idx].src)
    });
});

within the player instance itself you would put in the clip section:
subtitles: [
   { "default": true, kind: "subtitles", srclang: "en", label: "English", src: this.subtitles[0].path }
],

(i was using vue with this so this.subtitles would be a subtitle url) giving yall this, because flowplayer does not have subtitle events directly but you can use their bean handler to access it the same way.

Thanks!
To keep the issue tracker focused on actual issues, I've moved your example to the wiki. Feel free to update it, add more, or perhaps send a patch to add it to the tests/demos on the gh-pages branch if you feel like it :)


explicit acceptance of the Bond via signature

While acceptance of the bond is implied by contribution, it may be additionally impactful to encourage contributing hackers to sign their names or handles to the bottom of the document. We could leave a section at the bottom for expressly this purpose, to signify the explicit buy-in and agreement that contribution implies.
It may also serve as useful glance of "who are the core and active contributors in the project". If you decide you can no longer actively participate in the project in a meaningful capacity, you can open a PR to remove your signature, for example.

superscened by the .sigs directory


Subquery support in conditional operator

Have an SQL:
SELECT * FROM table WHERE (select subquery) > 5

Let's build:
(new Query())->from($table)->where(['>', $subQuery, 5]);

The second argument support Expression, but not QueryInterface :(
Current workaround is:
$expression = new Expression('(' . $subQuery->createCommand()->rawSql . ')');
(new Query())->from($table)->where(['>', $expression, 5]);

I think Yii can support this wothowt workaround needs :))

Q
A

Yii version
2.0.29

PHP version
7.3

Is there a way to achieve it without breaking backwards compatibility?

But Yii 2.0.29 supports QueryInterface as second parameter
$subQuery = (new Query())->from('src')->select('bla')->limit(1);
$query = (new Query())->from('test')->where(['>', $subQuery, 5])->all();

produces SELECT * FROM "test" WHERE (SELECT "bla" FROM "src" LIMIT 1) > 5

Is there a way to achieve it without breaking backwards compatibility?

it does not break comapibility, but add a new thing

But Yii 2.0.29 supports QueryInterface as second parameter
$subQuery = (new Query())->from('src')->select('bla')->limit(1);
$query = (new Query())->from('test')->where(['>', $subQuery, 5])->all();

produces SELECT * FROM "test" WHERE (SELECT "bla" FROM "src" LIMIT 1) > 5

yes, it worked
sorry, before I got some error when using subquery in conditionals, so decided it not supported.
sorry, please close this issue


Add integration tests for testing Nemo-Serve with PubAnnotation files

The PubAnnotation JSON format is a nice format for storing text annotations, and the one we plan to use for testing and benchmarking in RENCI-NER. I think it would be useful to have a PubAnnotation-based integration for Nemo-Serve, which would:

Go through  a list of PubAnnotation files from a directory -- since these will be stored on GitHub, they would need to be text that we have permission to share with attribution, such as from the PubMed Central repository. (e.g. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8261293/)
For each each PubAnnotation file, submit the text to NemoServe and retrieve the list of denotations it returns. The test passes if Nemo-Serve retrieves at least one annotation for each text.
Create a report file that returns the list of all known denotations in each test file, i.e. those stored in the test file as well as those returned by Nemo-Serve. That way, we can look for text that Nemo-Serve identified correctly, misidentified, and failed to identify at all.

The report file might look something like this, but please feel free to change it to something that makes more sense:

Test file
Text
Span
Class from test file
ID from test file
Label from test file
Class from Nemo-Serve

pmc8261293.json
Allergic
0:8
biolink:Disease
MONDO:1234
Allergy
biolink:Disease

pmc8261293.json
asthma
10:16
biolink:Disease
MONDO:5678
asthma
biolink:Disease

pmc8261293.json
Allergic asthma
0:16
biolink:Disease
MONDO:3456
Allergenic asthma
biolink:Disease

pmc8261293.json
DEX
45:48
biolink:SmallMolecule
CHEBI:1234
Dexamethasone

pmc8261293.json
infiltration
50:62

biolink:Phenotype

Migrated to Jira: Add integration tests for testing Nemo-Serve with PubAnnotation files


Bug: ALL_PROCESSOR_GROUPS is u32, while should be u16

Which crate is this about?
windows
Crate version
0.48.0
Summary
Type of constant https://microsoft.github.io/windows-docs-rs/doc/windows/Win32/System/SystemServices/constant.ALL_PROCESSOR_GROUPS.html used in crate is u32
while it should be u16 https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-getactiveprocessorcount
Found while implemented https://github.com/rust-lang/rust/pull/114856
Toolchain version/configuration
No response
Reproducible example
No response
Crate manifest
No response
Expected behavior
No response
Actual behavior
No response
Additional comments
I believe this is https://github.com/microsoft/windows-rs/blob/78a0dbea48f856b03f3e7e650e0e385047d8a10b/crates/libs/windows/src/Windows/Win32/System/SystemServices/mod.rs#L124
Actually in rust repo used windows-bindgen 0.49, but i think that there used the same definition.
Probably affects other crates that reimports that definition.

Thanks, will forward to the Win32 metadata repo for resolution.


ESM issue trying to use plugin inside Next.js

Using Sanity 3.11.1 and Next.js 13.4.3:
./node_modules/.pnpm/sanity-plugin-mux-input@2.0.17_@types+react-dom@18_my5uenwqbtcd3ukesooh24rbh4/node_modules/sanity-plugin-mux-input/lib/_chunks/Input-42aef09c.cjs:1:1110
Module not found: ESM packages (media-chrome/dist/react) need to be imported. Use 'import' to reference the package instead. https://nextjs.org/docs/messages/import-esm-externals

https://nextjs.org/docs/messages/module-not-found

Import trace for requested module:
./node_modules/.pnpm/sanity-plugin-mux-input@2.0.17_<EMAIL_ADDRESS>./node_modules/.pnpm/sanity-plugin-mux-input@2.0.17_<EMAIL_ADDRESS>./node_modules/.pnpm/sanity-plugin-mux-input@2.0.17_<EMAIL_ADDRESS>./sanity/sanity.config.tsx
./src/app/studio/[[...index]]/page.tsx

@Vintotan What sanity studio version do you have installed? Don't you have conflicts when running npm i sanity-plugin-mux-input@studio-v3?

Would someone in this issue that encountered the original problem mind trying out the new release 2.1.0 without the esmExternals: 'loose' setting and see if that release fixes the underlying issue?  I encountered a similar error while working on https://github.com/sanity-io/sanity-plugin-mux-input/pull/289, though I didn't reproduce the case from this bug report so can't say for certain whether this has been fixed or not.

I was not able to reproduce with plugin version 2.3.4, Sanity 3.40 and Next v14.2.3 - can you confirm if this is still an issue, @heggemsnes ?


akka sample doesn't listen on 8080

This shows --publish 8080:8080, but from what I can tell the code doesn't listen on HTTP at all, and this is after deploying to Knative where it times out after 2 minutes of TCP connect errors on 8080 😅
I also reached out to some folks that know akka better than my "no at all", and they seemed to think the same (doesn't bind to http server).
I think this sample should either remove the --publish or (better IMO) demonstrate the same HTTP capabilities in akka.

Meant to link: https://github.com/paketo-buildpacks/samples/tree/main/java/akka


parser: add optional {% endwhen %}

I think we had the same question before in askama, but I cannot find the issue. Even though I don't use djLint or similar linters, I can see how this feature can be useful to people that do.
Resolves #163.
Cc @chrisp60.

Thanks @Kijewski!
@chrisp60: No problem. It's optional so it doesn't make code longer for people who aren't interested into it and for others, they can use it if they want. So everyone should be happy. :)


Rabbitmq publisher confirm

(This is based on #1756 so marking as draft until that's ready and merged)
Adds a new metadata key publisherConfirm for RabbitMQ that enables waiting for publish confirmation from the server (off by default). See: https://www.rabbitmq.com/confirms.html#publisher-confirms

@ItalyPaleAle please open a Docs PR to document this metadata option.

Opened docs PR: https://github.com/dapr/docs/pull/2513


[3pt]  - Add tests for comments counter - Student B

Make sure that the function for the comments counter is covered with unit tests using Jest.
Make sure that you have tests for all edge cases.

https://github.com/AndreaM2429/JavaScriptCapstone/pull/33


Update MacroTesting example tests

This brings in the latest versions of Apple's macro demos and tests from SwiftSyntax.

So cool! ❤


Generate code for functions that use deprecated JSON fields

Specifically, add support for generating callable methods for functions that don't use stateMutability and use the deprecated payable/constant fields instead.
This fix includes updated tests to prevent regressions.

From the Solidity docs:

type can be omitted, defaulting to "function", likewise payable and constant can be omitted, both defaulting to false.

Perhaps we can even support any function that has payable set to false?

I've changed the code not to check for constant (because we don't care) and to generated code for any function that either

has one of the supported stateMutability values, or
doesn't have stateMutability and either has payable set to false or no payable value at all (it defaults to false).


Handle empty state_changes array in contract details (#733)

Handle empty state_change array in contract details

Signed-off-by: lukelee-sl<EMAIL_ADDRESS>cherry pick #733
Description:
Cherry pick commit which addresses bug in issue #732

Codecov Report
Base: 71.08% // Head: 71.21% // Increases project coverage by +0.13% :tada:

Coverage data is based on head (60b4b88) compared to base (4a6e824).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@               Coverage Diff                @@
##           release/0.13     #734      +/-   ##
================================================
+ Coverage         71.08%   71.21%   +0.13%
================================================
  Files                16       16
  Lines              1207     1209       +2
  Branches            219      220       +1
================================================
+ Hits                858      861       +3
+ Misses              287      286       -1
  Partials             62       62

Impacted Files
Coverage Δ

packages/relay/src/lib/eth.ts
83.01% <100.00%> (+0.06%)
:arrow_up:

packages/relay/src/lib/errors/JsonRpcError.ts
75.00% <0.00%> (+6.25%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Update katib Dockerfile locations link

For now, when install kubeflow, Katib v1alpha2 is installed. We should update Katib related Dockerfile to v1alpha2 instead of v1alpha1

This change is

/assign

Preview: https://deploy-preview-1049--competent-brattain-de2d6d.netlify.com/docs/reference/images/

Thanks!
/lgtm
/approve


Fix : Argument missing in TPUClusterResolver.connect

FIX: TPUClusterResolver.connect missing argument

Hi @fionalang, Can you please review this PR? Thank you !

Hi @fionalang, Can you please review this PR? Thank you !

Hi @fionalang, Can you please review this PR? Thank you !

Has Google completely abandoned TensorFlow? If so, I will shift my development focus to Jax. @keerthanakadiri @gbaned

Hi @fionalang, Can you please review this PR? Thank you !

Has Google completely abandoned TensorFlow? If so, I will shift my development focus to Jax. @keerthanakadiri @gbaned

Hi @edwardyehuang , Sorry for the delay in response.  This PR is in awaiting review status. Thank you for your patience and understanding.


ADD tar-Archive fails with ""/" is not an img command"

When trying to add a tar archive to an image, the build fails with this confusing error and the img usage text.
...
#4 [1/1] ADD test.tar /test
#4 ERROR: Error processing tar file(exit status 1): Error: img: '/' is not an img command.
See 'img --help'
img -  Standalone, daemon-less, unprivileged Dockerfile and OCI compatible container image builder

Usage: img [OPTIONS] COMMAND [ARG...]
...

Steps to reproduce
echo -e "FROM scratch\nADD test.tar /test" > Dockerfile
tar cf test.tar Dockerfile
img build . -t test

Version info
img:
 version     : v0.5.10
 git hash    : 38b683a6
 go version  : go1.14.3
 go compiler : gc
 platform    : linux/amd64
runc:
 version     : 1.0.0-rc10
 commit      : dc9208a3303feef5b3839f4323d9beb36df0a9dd
 spec        : 1.0.1-dev

Built with https://aur.archlinux.org/packages/img-git/

I'm not a Go developer, but upon further investigation, I managed to understand the cause.
Unpacking a tar file depends on calling dockers own reexec-Module right at the beginning of main(): https://github.com/docker/docker-ce/blob/fe40dc7ec9f34021fcf6561b1d69608bc05d6329/components/engine/cmd/dockerd/docker.go#L72
This hack at least allows unpacking a tar as root, but somehow img's own, userns-aware reexec has to be plumbed into this...
https://github.com/WolleTD/img/commit/6a47aae0a43274050aac9913b9034132dc53097a

Same problem with a local tar.gz
Url as source is working but not with a local tar or tar.gz.


fix(svelte): events

Hi 👋🏻
Here is an improvement to events for the Svelte package. To bind an event, Svelte is using on:<event> and not on<Event>. For example, it's on:click and not onClick. This pull request fixes that.

Yes, but these are props, not events. There is no events in Konsta UI component, and the code you propose will not work at all


No longer installing OpenShiftIngress from k-s operator [SRVKS-208]

We'll now deploy it in the serverless operator instead. This may
potentially introduce a race condition, so the ingress operator needs
to be robust enough to be tolerant of knative-serving being
installed after it's running.

It should just crashloop until the APIs are installed. Is there a corresponding commit somewhere else that adds this ingress operator to the CSV?

It should just crashloop until the APIs are installed. Is there a corresponding commit somewhere else that adds this ingress operator to the CSV?

Forthcoming, after i test it.

Is there a corresponding commit somewhere else that adds this ingress operator to the CSV?

https://github.com/openshift-knative/serverless-operator/commit/6a4236282b1a7d9670cc332ae98fa96cdee3f351


RC Test: Isotopes and Atomic Mass 1.1.0-rc.1

@KatieWoe, @ariel-phet, and @arouinfar - Isotopes and Atomic Mass 1.1.0-rc.1 is ready for RC testing. This sim is being redeployed off of master in order to get one new feature (support for trace amounts of isotopes) and LoL support.  Since it is a full redeploy, it will need to be tested on all supported platforms.  Please document issues in https://github.com/phetsims/isotopes-and-atomic-mass/issues and link to this issue.
Assigning @KatieWoe for prioritization since @ariel-phet is away.

General RC Test

What to Test

Click every single button.
Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.

Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Test all query parameters on all platforms. (See QA Book for a list of query parameters.)
Download HTML on Chrome and iOS.
Make sure the iFrame version of the simulation is working as intended on all platforms.
Make sure the XHTML version of the simulation is working as intended on all platforms.
Complete the test matrix.
Don't forget to make sure the sim works with Legends of Learning.
Check this LoL spreadsheet and notify AR if it not there.

Focus and Special Instructions
The code hasn't changed much, so focusing on the new features - LoL support and support for trace isotopes - should probably do it.

Issues to Verify

[ ] User suggestion: tritium (trace) abundance
[ ] LoL support

Link(s)

Simulation
iFrame
XHTML
[Test Matrix] tbd
Legends of Learning Harness

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

Assigning as medium.  @ariel-phet can review and change if needed at his convenience.

@jbphet here are the memory test results.  They are pretty weird.
Start: 27.0
1: 46.3
2: 48.3
3: 43.9
4: 94.1
5: 39.3
6: 105
7: 112
8: 90.5
9: 104
10: 42.9

Noting here that there is a slight dip in performance compared to the published version.  Seen on My mix when using the sliders in firefox.  So far behavior is still acceptable.  Will make an issue if this changes.  @jbphet

Performance is significantly worse on Win 7 IE

Note on iOS 9 (not supported) performance.  Switching to Nature's Mix and between elements in this mode takes an exceedingly long time.

QA is done

Thanks QA team!  I'll address the individual issues that have been identified individually.  Closing.


Request for Additional Resources

🐛 Bug
During the evaluation of our Docker image on EvalAI, we encountered a timeout issue. To address this, we kindly request a substantial extension of the testing time to about 100 hours.

https://drive.google.com/file/d/1EbCx3vtce8NCLkxsLW7doSmLo75H7dKm/view?usp=drive_link

Thanks, for giving the estimate of the time you need. We will check if this is possible and get back soon.

We have extended it. Please try again.

Thanks for your response. I tried again, but it still times out after running for 72 hours.
Test challenge phase and Test standard phase.

@peryion can you please share your team name on EvalAI?
@gchhablani any idea why it times out after 72 hours?

I submit my solution on Oct 8, 2023 3:41:44 PM for test challenge phase and on Oct 1, 2023 6:59:30 AM for test standard phase. But they all time out.
my team name is GVL

When I submitted the heuristic baseline for testing, it took 60 hours, and I estimated that my solution would take around 100 hours to complete the testing. However, it timed out at 72 hours.
The testing time for my solution is approximately 1.5 times that of the heuristic baseline.

@peryion I had verified that the evaluation time was 100 hours for other submissions. Can you please share if this was a fresh submission or a rerun? Can you please also share the submission ID for which you are facing this issue?
Thanks!

It was a rerun submission.  I haven't updated my code to the latest version. Its commit is 645a338.
Do I need to update my code, or make some changes?
Submission ID: 309068 for test standard phase, 309776 for test challenge phase.

@peryion This issue is fixed.

Thanks! I will try it again.

@peryion That's strange. Does it still timeout with 72 hours?

Yes, it timed out at 72 hours.

Maybe we can re run it? Can you share submission id and all other relevant information?

From: peryion @.>
Sent: Friday, October 27, 2023 12:54 AM
To: facebookresearch/home-robot @.>
Cc: Chris Paxton @.>; Comment @.>
Subject: Re: [facebookresearch/home-robot] Request for Additional Resources (Issue #403)
Yes, it timed out at 72 hours.
—
Reply to this email directly, view it on GitHubhttps://github.com/facebookresearch/home-robot/issues/403#issuecomment-1782291568, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAZCMZ3DEXUKSGRARQCHLOLYBM5BJAVCNFSM6AAAAAA5NFJU32VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOBSGI4TCNJWHA.
You are receiving this because you commented.Message ID: @.***>

Closing this issue now that competition is done and the issue was resolved


Added type to grammar, type visitor, code gen and tests

Duration type is now a thing!
It is ONLY used as a parameter for the "Wait" function.
Duration is specified by a number, and a time format.
Examples: 10ms, 10s, 10m, 10d and 10h.
Arduino only accepts milliseconds in the delay function, so our language can now convert time of any of the former formats to milliseconds!
This is good for our target group, as large durations may be tricky to calculate and/or write down... (I.e. 1 day = 86400000 ms).
Changes have been made to the relevant visitors.
Branch comes with appropriate tests and comments.

Why not hotfix? 👀 Why on comedy night? 👀

Why not hotfix? 👀 Why on comedy night? 👀

Was too quick and did not see 😎
I felt like it 🤓

 Time data-type


Broken profile pictures

Whenever someone updates their profile picture on Twitter, the new picture does not show up on Wordo until that user logs out, and back in to Wordo.
It should auto-update.

Here's what I think:
I don't think it would be auto updated unless you explicitly make a call for user info every time their profile picture is showed on the screen. This is not a good idea.
I think the site should cache it and display the old profile picture (And not completely remove it) and when the user logs backs in, it should replace the data with the new one.

As a temporary fix, we can add the following line to images, to make it show a sad-emoji instead of the broken-image
onerror="this.src='/assets/images/broken.png';"

WELL I GUESS A SAD PICTURE'S BETTER THAN NO PICTURE
 Well I guess a blowjob's better than no job― Kanye West – 30 Hours


FAILED: ParseException line 9:22 cannot recognize input near 'hbase' '.' 'columns' in table properties list

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
Hello, I have a problem when using it. Thank you for your reply
An error occurs when creating an associated hbase table in Hive, but the execution statement runs properly in Hue and fails to run in DolphinScheduler
FAILED: ParseException line 9:22 cannot recognize input near 'hbase' '.' 'columns' in table properties list

Dolphinscheduler executes the following script
#!/bin/bash
source /etc/profile
source  ~/.bash_profile
beeline -u "jdbc:hive2:////stgbigdata1:10000" -e"
create table IF NOT EXISTS hbase.hbase_store_device_online_fdt(
rowkey string
,store_id  string
,online string
,offline string
,total int
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ("hbase.columns.mapping" = ":key,log:store_id,log:online,log:offline,log:total")
tblproperties ("hbase.table.name" = "store_device_online");
"
if [[ $? != 0 ]];then
echo "sql error 自动退出"
exit 1
fi
echo "运行成功"
echo "Good bye!"
exit 0
What you expected to happen
How do I modify the create statement
How to reproduce
Dolphinscheduler executes thescript
Anything else
No response
Version
1.3.8
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is a quote pairing problem, not a bug with dolphinscheduler

I added the escape and it's ready to run, thank you


Add getting started section to README

Readme update
Please add a getting started section to the README so people know how get started

Added Getting Started section in README file


complain about image=https://westnordost.de/*

This links are never valid image value as they are temporary.
People keep adding them so they should be warned about it (even if all images will be removed by an automatic edit), usage in quite large scale with 2000+ distinct values added. All this links are or soon will be invalid.
add it as a new invalid format  in https://github.com/openstreetmap/iD/blob/3bf8d52ca9a8d371f31e6d25243c12bf31a7b94f/modules/validations/invalid_format.js
Warning like

images links such as https://westnordost.de/p/17484.jpg will become invalid few days after note is closed and should be never treated as permanent - you can upload own photos to Wikimedia Commons and use wikimedia_commons tag to link them

ideally would be shown
or maybe shorter

this is a throwaway image hoster, images will be lost after related note is closed

See also https://josm.openstreetmap.de/ticket/22397 (JOSM issue for that) and https://github.com/streetcomplete/StreetComplete/issues/4409 asking to reduce risk of that mistake by adding an extra note to SC notes

would something like this work?

I would add "if you are its author" as otherwise it would be a copyright violation.
To be strict original author can license photo under open license and someone else may upload it, but that would be too complex to mention.

We should link the explanation to the Wikimedia Commons homepage. Ideally, we’d link to the user-friendly upload wizard; however, if you aren’t logged in, you get a login page without a good explanation of what Commons is good for, not a great user experience.

Note that nowadays such cases are rarely existing in database - but that is because I run regular bot edits, see https://www.openstreetmap.org/node/10761456163/history


Support HTTP Basic authentication in syslog/https.go

Hi Loggregator Team,
we are using syslog sinks that require HTTP Basic authentication. The credentials are specified in the URL which we bind to our apps:
https://<user>:<password>@<log stream app>

It seems that fasthttp does not support this out-of-the-box, see https://github.com/valyala/fasthttp/issues/79. So the syslog-agent would have to set the HTTP Authorization header in egress/syslog/https.go:
req.Header.Add("Authorization", "Basic <base64 encoded user:password>")

Can you please provide a fix?
Thanks and Best Regards,
Jochen.

Hello,
We're having trouble reproducing this issue. We've created a couple of sample apps:

golang, dumps headers: https://gist.github.com/MasslessParticle/6d8f9aa9f97c10c8b4ae150b9e13490d

java, spring auth: https://github.com/loggregator/baajava

In both cases, when an agent-based drain is bound with
cf drain <app name> https://user:password@<drain location> we can see the Basic Auth header present in the logs.
Can you try one or both of these apps and see if the experience differs?

I've created a drain service with the golang app above and then bound a simple go-hello app:
cf cups my-drain -l<EMAIL_ADDRESS>cf bind-service go-hello my-drain

HTTP Basic auth works as expected:
   2020-03-24T15:42:35.81+0100 [APP/PROC/WEB/0] OUT Authorization:  Basic dXNlcjE6cGFzc3dvcmQx
   (...)
   2020-03-24T15:42:35.81+0100 [APP/PROC/WEB/0] OUT Auth OK?  true
   2020-03-24T15:42:35.81+0100 [APP/PROC/WEB/0] OUT Username  user1
   2020-03-24T15:42:35.81+0100 [APP/PROC/WEB/0] OUT Password  password1

So there seems to be something wrong with our syslog drain app.
Thanks for your quick assistance!

This was a major issue for us.  The use of fasthttp as the client broke HTTPS integration to splunkcloud which through the new agents always returned a 403.
We had to roll back to the old syslog adapters.  I would go as far as saying the loggr-syslog-agents should not be used by anybody who may need to connect to endpoints with basic auth.  There should probably be a notice in cf-deployment on cfd13!
I provided information as to where in the fasthttp code the problem seems to occur to the loggregator team and I hope this is move to very high priority

I added a new story in fasthttp as with more debugging it looks like it fails when the URL has "path" elements.  It works fine if the URL has no path and is just a host.

fasthttp has just fixed this issue.  loggregator-agent-release will need to pickup 1.13.1 to get a version that works.

Fixed in release 6.0.1.


Multicolumn Autocomplete

Does it have multicolumn autocomplete (Like Grid) or does anybody have suggestions?
Regards,
Musheer Khalid.

Please can you reformulate the question ? Personally i did not understand it well. I have searched for multicolumn autocomplete like Grid and i have found this
http://combogrid.justmybit.com/options/showon.php
If your question is that you want to do an autocomplete on a field, they are plenty script for that. @lenamtl spoke to me about Choosen, bootstrap-tokenfield...
Now if that is not your question, sorry

Thanx.
On Fri, Mar 27, 2015 at 7:42 PM, Max John<EMAIL_ADDRESS>wrote:

Please can you reformulate the question ? Personally i did not understand
it well. I have searched for multicolumn autocomplete like Grid and i have
found this
http://combogrid.justmybit.com/options/showon.php
If your question is that you want to do an autocomplete on a field, they
are plenty script for that. @lenamtl https://github.com/lenamtl spoke
to me about Choosen, bootstrap-tokenfield...
Now if that is not your question, sorry
—
Reply to this email directly or view it on GitHub
https://github.com/almasaeed2010/AdminLTE/issues/308#issuecomment-86952081
.

--
Thanks and warm regards,
Musheer Khalid
Z Info Solution (P) Limited
│A-6, First Floor│
│Sector-10, Noida (UP) 201301│Office +91-120-4120123│
│Mobile Delhi +91-9911611270│Mobile Lucknow +91-9161919925│
│E-Mail<EMAIL_ADDRESS>www.zinfosolution.com│

I am planning on implementing Select2. It should allow you to create a custom autocomplete menu. Thanks for the suggestion.

Please see the attached image & link for reference.
http://www.jeasyui.com/demo/main/index.php?plugin=ComboGrid&theme=default&dir=ltr&pitem=

Thanx & Regards


New Rule: Between

Implementation of between rule, the very example of how to inherit from different rules and create new one.

Thank you for PR. Nice Job! :+1:


make workflow client struct public

Description
Make workflow client struct public, so it can be referenced and typed and passed as a variable in other applications.
Issue reference

Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation

I was just trying to figure out why it wasnt public and then this PR popped up :)

@holopin-bot @famarting Thank you Fabian!


core: Protocol Update

closes #120
closes #123
closes #124
closes #134

[x] Message
[x] Hello
[x] Identify
[x] Identified
[x] Reidentify
[x] Event
[x] Request
[x] RequestResponse
[ ] RequestBatch
[ ] RequestBatchResponse
[x] Check Event Intents

The protocol expectation of the RequestBatch and RequestBatchResponse is incorrect.
The requests are not Request typed, but T typed (so only the 'd' attribute). The response also does not return RequestResponse but Data.


VMI created with the pod/masquerade network on Calico cannot be accessed

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind enhancement

What happened:
VMI created with the default network cannot be accessed
What you expected to happen:
User could access the VMI by allocated container ip address
How to reproduce it (as minimally and precisely as possible):
In a k8s cluster created by kubeadm v1.15.1, install kubevirt v0.24.0. The container network is provided by calico v3.8.0.
Create vmi with the following spec
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachineInstance
metadata:
  name: testvmi
spec:
  terminationGracePeriodSeconds: 30
  domain:
    resources:
      requests:
        memory: 1024M
    devices:
      disks:
      - name: containerdisk
        disk:
          bus: virtio
      - name: emptydisk
        disk:
          bus: virtio
      - disk:
          bus: virtio
        name: cloudinitdisk
      interfaces:
        - name: default
          masquerade: {}
          ports:
            - port: 22 # allow incoming traffic on port 80 to get into the virtual machine
  networks:
  - name: default
    pod: {}
  volumes:
  - name: containerdisk
    containerDisk:
      image: kubevirt/fedora-cloud-container-disk-demo:latest
  - name: emptydisk
    emptyDisk:
      capacity: "2Gi"
  - name: cloudinitdisk
    cloudInitNoCloud:
      userData: |-
        #cloud-config
        password: fedora
        chpasswd: { expire: False }

# kubectl describe vmi testvmi
Name:         testvmi
Namespace:    default
Labels:       kubevirt.io/nodeName=host03
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"kubevirt.io/v1alpha3","kind":"VirtualMachineInstance","metadata":{"annotations":{},"name":"testvmi","namespace":"def...
              kubevirt.io/latest-observed-api-version: v1alpha3
              kubevirt.io/storage-observed-api-version: v1alpha3
API Version:  kubevirt.io/v1alpha3
Kind:         VirtualMachineInstance
Metadata:
  Creation Timestamp:  2019-12-19T06:20:27Z
  Generation:          9
  Resource Version:    23769874
  Self Link:           /apis/kubevirt.io/v1alpha3/namespaces/default/virtualmachineinstances/testvmi
  UID:                 649a898d-5219-4bf3-9100-d2d2fba566f8
Spec:
  Domain:
    Devices:
      Disks:
        Disk:
          Bus:  virtio
        Name:   containerdisk
        Disk:
          Bus:  virtio
        Name:   emptydisk
        Disk:
          Bus:  virtio
        Name:   cloudinitdisk
      Interfaces:
        Masquerade:
        Name:  default
        Ports:
          Port:  22
    Machine:
      Type:
    Resources:
      Requests:
        Memory:  1024M
  Networks:
    Name:  default
    Pod:
  Node Selector:
    kubernetes.io/hostname:          host03
  Termination Grace Period Seconds:  30
  Volumes:
    Container Disk:
      Image:  kubevirt/fedora-cloud-container-disk-demo:latest
    Name:     containerdisk
    Empty Disk:
      Capacity:  2Gi
    Name:        emptydisk
    Cloud Init No Cloud:
      User Data:  #cloud-config
password: fedora
chpasswd: { expire: False }
    Name:  cloudinitdisk
Status:
  Conditions:
    Last Probe Time:       <nil>
    Last Transition Time:  <nil>
    Status:                True
    Type:                  LiveMigratable
    Last Probe Time:       <nil>
    Last Transition Time:  2019-12-19T06:18:05Z
    Status:                True
    Type:                  Ready
  Guest OS Info:
  Interfaces:
    Ip Address:      <IP_ADDRESS>
    Mac:             02:00:00:8a:fd:b0
    Name:            default
  Migration Method:  BlockMigration
  Node Name:         host03
  Phase:             Running
  Qos Class:         Burstable
Events:              <none>

The vmi is created successfully with an allocated ip address of <IP_ADDRESS>, however cannot be accessed from outside.
Anything else we need to know?:
From the container of the virt-launcher of the vmi, user could access other containers and hosts. From the vmi, user could access the container of  the virt-launcher of the vmi, but not any other host or container.
Environment:

KubeVirt version (use virtctl version): v0.24.0
Kubernetes version (use kubectl version): v1.15.1
VM or VMI specifications: See above
Cloud provider or hardware configuration: VM created from Openstack
OS (e.g. from /etc/os-release): CentOS Linux release 7.4.1708 (Core)
Kernel (e.g. uname -a): 3.10.0-693.el7.x86_64
Install tools: kubeadm for k8s cluster, install doc for kubevirt
Others:

output of ifconfig and ip route of the container of  virt-launcher of the vmi
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1440
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        ether 12:29:b9:13:db:50  txqueuelen 0  (Ethernet)
        RX packets 21112  bytes 102171371 (97.4 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18008  bytes 1263229 (1.2 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

k6t-eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1440
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        ether 82:b9:06:f7:9b:58  txqueuelen 0  (Ethernet)
        RX packets 119  bytes 9003 (8.7 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25  bytes 2294 (2.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

k6t-eth0-nic: flags=195<UP,BROADCAST,RUNNING,NOARP>  mtu 1500
        ether 82:b9:06:f7:9b:58  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21  bytes 2823 (2.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>
        loop  txqueuelen 1  (Local Loopback)
        RX packets 5  bytes 364 (364.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5  bytes 364 (364.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1440
        ether fe:00:00:e9:78:81  txqueuelen 1000  (Ethernet)
        RX packets 119  bytes 10669 (10.4 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25  bytes 2294 (2.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# ip route
default via <IP_ADDRESS> dev eth0
<IP_ADDRESS>/24 dev k6t-eth0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS> dev eth0 scope link

# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
KUBEVIRT_PREINBOUND  all  --  anywhere             anywhere

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  anywhere             localhost            tcp dpt:ssh to:<IP_ADDRESS>

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  <IP_ADDRESS>             anywhere
KUBEVIRT_POSTINBOUND  all  --  anywhere             anywhere

Chain KUBEVIRT_POSTINBOUND (1 references)
target     prot opt source               destination
SNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:<IP_ADDRESS>

Chain KUBEVIRT_PREINBOUND (1 references)
target     prot opt source               destination
DNAT       tcp  --  anywhere             anywhere             tcp dpt:ssh to:<IP_ADDRESS>

output of ifconfig and ip route of the vmi
# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1440
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
        inet6 fe80::ff:fee9:7881  prefixlen 64  scopeid 0x20<link>
        ether 02:00:00:e9:78:81  txqueuelen 1000  (Ethernet)
        RX packets 29  bytes 2574 (2.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 125  bytes 11173 (10.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet <IP_ADDRESS>  netmask <IP_ADDRESS>
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 36  bytes 3120 (3.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 36  bytes 3120 (3.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
# ip route
default via <IP_ADDRESS> dev eth0 proto dhcp metric 100
<IP_ADDRESS>/24 dev eth0 proto kernel scope link src <IP_ADDRESS> metric 100

The output of virsh dumpxml
<domain type='qemu' id='1'>
  <name>default_testvmi</name>
  <uuid>a5593c0a-99b3-49a8-a64b-326a4303c933</uuid>
  <metadata>
    <kubevirt xmlns="http://kubevirt.io">
      <uid>b8a76915-5a64-4cc1-8e30-dff53833825f</uid>
      <graceperiod>
        <deletionGracePeriodSeconds>30</deletionGracePeriodSeconds>
      </graceperiod>
    </kubevirt>
  </metadata>
  <memory unit='KiB'>1000448</memory>
  <currentMemory unit='KiB'>1000448</currentMemory>
  <vcpu placement='static'>1</vcpu>
  <iothreads>1</iothreads>
  <resource>
    <partition>/machine</partition>
  </resource>
  <sysinfo type='smbios'>
    <system>
      <entry name='manufacturer'>KubeVirt</entry>
      <entry name='product'>None</entry>
      <entry name='family'>KubeVirt</entry>
    </system>
  </sysinfo>
  <os>
    <type arch='x86_64' machine='pc-q35-rhel8.1.0'>hvm</type>
    <boot dev='hd'/>
    <smbios mode='sysinfo'/>
  </os>
  <cpu mode='custom' match='exact' check='full'>
    <model fallback='forbid'>EPYC-IBPB</model>
    <vendor>AMD</vendor>
    <topology sockets='1' cores='1' threads='1'/>
    <feature policy='require' name='acpi'/>
    <feature policy='require' name='ss'/>
    <feature policy='require' name='hypervisor'/>
    <feature policy='require' name='erms'/>
    <feature policy='require' name='mpx'/>
    <feature policy='require' name='pcommit'/>
    <feature policy='require' name='clwb'/>
    <feature policy='require' name='pku'/>
    <feature policy='require' name='la57'/>
    <feature policy='require' name='3dnowext'/>
    <feature policy='require' name='3dnow'/>
    <feature policy='disable' name='vme'/>
    <feature policy='disable' name='fma'/>
    <feature policy='disable' name='avx'/>
    <feature policy='disable' name='f16c'/>
    <feature policy='disable' name='avx2'/>
    <feature policy='disable' name='rdseed'/>
    <feature policy='disable' name='sha-ni'/>
    <feature policy='disable' name='xsavec'/>
    <feature policy='disable' name='fxsr_opt'/>
    <feature policy='disable' name='misalignsse'/>
    <feature policy='disable' name='3dnowprefetch'/>
    <feature policy='disable' name='osvw'/>
    <feature policy='disable' name='topoext'/>
    <feature policy='disable' name='ibpb'/>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/libexec/qemu-kvm</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/run/kubevirt-ephemeral-disks/disk-data/containerdisk/disk.qcow2'/>
      <backingStore type='file' index='1'>
        <format type='raw'/>
        <source file='/var/run/kubevirt/container-disks/disk_0.img'/>
        <backingStore/>
      </backingStore>
      <target dev='vda' bus='virtio'/>
      <alias name='ua-containerdisk'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='none'/>
      <source file='/var/run/libvirt/empty-disks/emptydisk.qcow2'/>
      <backingStore/>
      <target dev='vdb' bus='virtio'/>
      <alias name='ua-emptydisk'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/run/kubevirt-ephemeral-disks/cloud-init-data/default/testvmi/noCloud.iso'/>
      <backingStore/>
      <target dev='vdc' bus='virtio'/>
      <alias name='ua-cloudinitdisk'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='none'>
      <alias name='usb'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <interface type='bridge'>
      <mac address='02:00:00:e9:78:81'/>
      <source bridge='k6t-eth0'/>
      <target dev='vnet0'/>
      <model type='virtio'/>
      <mtu size='1440'/>
      <alias name='ua-default'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='unix'>
      <source mode='bind' path='/var/run/kubevirt-private/b8a76915-5a64-4cc1-8e30-dff53833825f/virt-serial0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='unix'>
      <source mode='bind' path='/var/run/kubevirt-private/b8a76915-5a64-4cc1-8e30-dff53833825f/virt-serial0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-1-default_testvmi/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </input>
    <graphics type='vnc' socket='/var/run/kubevirt-private/b8a76915-5a64-4cc1-8e30-dff53833825f/virt-vnc'>
      <listen type='socket' socket='/var/run/kubevirt-private/b8a76915-5a64-4cc1-8e30-dff53833825f/virt-vnc'/>
    </graphics>
    <video>
      <model type='vga' vram='16384' heads='1' primary='yes'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+107:+107</label>
    <imagelabel>+107:+107</imagelabel>
  </seclabel>
</domain>

it seems I did not read the doc carefully :disappointed:.  Just read the following. Will have a try
In masquerade mode, KubeVirt allocates internal IP addresses to virtual machines and hides them behind NAT. All the traffic exiting virtual machines is "NAT'ed" using pod IP addresses. A virtual machine should be configured to use DHCP to acquire IPv4 addresses.
To allow traffic into virtual machines, the template ports section of the interface should be configured as follows.

Still no luck.
After add ports in the spec of vmi, the iptales rules are created in the container of virt-launcher. However, the service inside the contianer still cannot be accessed.

When I switch to bridge mode, the network of vmi works well :-).

After add ports in the spec of vmi, the iptales rules are created in the container of virt-launcher. However, the service inside the contianer still cannot be accessed.

You don't have to add a port. If you don't add a port, all ports are forwarded. @phoracek @AlonaKaplan do you spot anything uncommon?

@luckyfengyong could you try defining the masquerade with no ports? Then it should forward everything: https://github.com/kubevirt/kubevirt/blob/a523d9ad55fb1cd6145bd2dc49a94164f34a18a2/pkg/virt-launcher/virtwrap/network/podinterface.go#L551
Is there a chance there is mismatch in the data you provided in the description of this Issue? In the VMI description I see Ip Address:      <IP_ADDRESS>, while on other places you mention <IP_ADDRESS>.

@phoracek The mismatched info is probably because I tried several times, so paste info from different trying. Another info I forget to mention is that I actually disable the webhook of kubevirt, as I get the cert issue in my test env. Not sure whether it is the root cause.

Another info I forget to mention is that I actually disable the webhook of kubevirt, as I get the cert issue in my test env. Not sure whether it is the root cause.

Not necessarily the reason but can very well be. Please re-enable them.

be sure also that there is no iptables rules conflicting in your host, like the ones docker sets. try
iptables -P FORWARD ACCEPT

@azaiter thanks we were facing the same issue

It seems like we need to explicitly enable ipv4 forwarding in the pod. Thank you all. Once https://github.com/kubevirt/kubevirt/pull/2837 is merged, we should enable the forwarding in Pod from virt-handler (privileged enough to do so).

@luckyfengyong were you ultimately successful and got the connection working?

For the record, we solved this issue on our CI by setting allow_ip_forwarding on Calico's CNI config: https://github.com/kubevirt/kubevirtci/blob/3ac3596b5c94e22cade3a92e60b869b5ca22e45f/cluster-provision/manifests/cni/calico/script.d/002-allow-ip-forwarding.sh

Hello,
I have the same issue, but it seems the script provided above can't help in my case, because I've deployed the k8s cluster with Rancher and there used canal with canal_flannel_backend_type vxlan.
Any thoughts for solving the issue?

Hello @harutyundermenjyan, we have seen an issue with KubeVirt on Rancher in the past. Would you please check https://github.com/kubevirt/kubevirt/issues/3187 to see if it matches your issue?

Thanks for mentioning to https://github.com/kubevirt/kubevirt/issues/3187 but it didn't match my case.
The issues are:

When the VMI network mode is masquerade it has no network accessibility but the pod which brings up the VMI has network accessibility.
When the VMI network mode is bridge the VMI has network accessibility, but the pod which brings up the VMI has no network accessibility.

Seems that ip_forwarding is disabled. Could you please share output of cat /proc/sys/net/ipv4/ip_forward from the virt-launcher pod?

yes, in the pods the ipv4_forward is disabled but the problem is that I cant enable it due to not enough permissions:
[root@u16 /]# cat /proc/sys/net/ipv4/ip_forward
0
[root@u16 /]# sysctl -w net.ipv4.ip_forward=1
sysctl: setting key "net.ipv4.ip_forward": Read-only file system

I believe this setting is bound to the network namespace. So while you cannot edit it on your host, it does not really matter, we just need to enable it in pods (that should not be affected by read-only host).
You say it is disabled in your pods, could you please share your CNI config? Likely in /etc/kubernetes/cni/net.d. I want to double-check that allow_ip_forwarding was indeed applied.

in my case the cni/net.d controlled by one of the rke/rancher network-related pods, the dir /etc/kubernetes is empty instead there are 2 files in the /etc/cni/net.d/ dir 10-canal.conflist and calico-kubeconfig, but I think to change them the rke cluster config yaml file should be configured and re-deployed.

I don't have any experience with rancher, so I can't unfortunately help with that. Just know that you have to enable allow_ip_forwarding on your Calico instance as described here https://docs.projectcalico.org/reference/cni-plugin/configuration, otherwise KubeVirt masquerade will not work.

Thank you very much for the helpful advice I'll have a look on the Rancher side how to enable it in the corresponding config file.

I don't have any experience with rancher, so I can't unfortunately help with that. Just know that you have to enable allow_ip_forwarding on your Calico instance as described here https://docs.projectcalico.org/reference/cni-plugin/configuration, otherwise KubeVirt masquerade will not work.

enable allow_ip_forwarding in calico means kubevirt depend on specific CNI. this is not a universal  solution. we can enable net.ipv4.ip_forward in launcher pod, it does works.  but this require launcher pod set privileged=true, otherwise would suffer Read-only file system error.  any other advice?

According to #3112, virt-handler would add net.ipv4.ip_forward=1 too? but I don't find any related PR. thanks

@scuzhanglei you are right, we now have the precedent of https://github.com/kubevirt/kubevirt/pull/3112/files#diff-7cea0cc72a89ff86def413e0982f49cbbb527157a092cd507a336ced23b7ce2aR153. It would be worth consideration to enable it on IPv4 too and not depend on the CNI.
@AlonaKaplan since we already set net.ipv6.conf.all.forwarding=1, is anything against extending it to net.ipv4.ip_forward=1, so we depend less on the CNI configuration?

@scuzhanglei you are right, we now have the precedent of https://github.com/kubevirt/kubevirt/pull/3112/files#diff-7cea0cc72a89ff86def413e0982f49cbbb527157a092cd507a336ced23b7ce2aR153. It would be worth consideration to enable it on IPv4 too and not depend on the CNI.
@AlonaKaplan since we already set net.ipv6.conf.all.forwarding=1, is anything against extending it to net.ipv4.ip_forward=1, so we depend less on the CNI configuration?

I'm reopening since this, imho, was not addressed.
/reopen
/sig network

/remove-lifecycle rotten
/sigs network


Merge release/v0.24.1

Summary by CodeRabbit

New Features

Added a new method for downloading 3D scene assets in the fiftyone package.
Introduced parameters for controlling dataset persistence and generation behavior in various dataset creation functions.

Bug Fixes

Corrected a comment related to sample_id association with frames in clips datasets.

Documentation

Updated documentation to include new methods and parameters.
Adjusted header levels in the anomaly detection tutorial for better content presentation.

Refactor

Improved handling of file paths and asset paths across multiple modules for consistency and robustness.
Renamed and simplified functions in the storage module.

Tests

Added new test methods to verify the functionality of patch generation and asset path updates.
Modified existing tests to ensure accurate path handling and dataset persistence.

Closing in favor of #4459


DEV: Require plugin files after initialization.

Zeitwerk might not have taken over when plugin.rb file is loaded and
that causes the requires to fail on Rails 7 when we try to autoload a
constant before Zeitwerk takes over.

Thank you @pmusaraj :+1:


ProxyStore get status typo

ProxyStore get status typo, key is status not description.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@aed2cb9). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff             @@
##             develop    #2255   +/-   ##
==========================================
  Coverage           ?   66.15%
  Complexity         ?     2412
==========================================
  Files              ?      911
  Lines              ?    30433
  Branches           ?     3750
==========================================
  Hits               ?    20133
  Misses             ?     8713
  Partials           ?     1587

Impacted Files
Coverage Δ
Complexity Δ

...java/uk/gov/gchq/gaffer/proxystore/ProxyStore.java
69.23% <100%> (ø)
29 <0> (?)

Continue to review full report at Codecov.

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


Constructor calls means that these files are required

Not really sure we need to fix this, but I thought I should point it out. Since these files are referenced in the constructors, which are called before any user input is requested, then these files are mandatory for running the script.
https://github.com/intelligent-environments-lab/utx000/blob/3cdf85ea908082a0b15086146739dce6002e9a89/src/data/make_dataset.py#L1177-L1181
https://github.com/intelligent-environments-lab/utx000/blob/3cdf85ea908082a0b15086146739dce6002e9a89/src/data/make_dataset.py#L215-L218
https://github.com/intelligent-environments-lab/utx000/blob/3cdf85ea908082a0b15086146739dce6002e9a89/src/data/make_dataset.py#L623-L626

Calvin, yeah I noticed that too. That explains why you needed that file because the bpeace() call was newly added.


add support for windows py/sh detection

python is found but the path is still incorrect on windows, this PR adds the proper quotes to find the path on windows.

@nicolasnoble

@gnossen I tested my previous changes and found the root cause of python not being found. It was incorrect usage of quotes, the python exe was being found just fine.
The PR is now updated with the necessary and concise fix. Ty for reviewing.


draggable prop direction

when vertical and draggable both set to true, sliding top and bottom should trigger page changing rather than left and right

uh, I found the solution -> https://github.com/akiran/react-slick/pull/455. why prop verticalSwiping is not added to the documentation?


SUBMARINE-437. Fixed failed to build images from tf_1.13.1 Dockerfile

What is this PR for?
Update Dockerfile and replace some package dropped in Ubuntu 18
What type of PR is it?
[Bug Fix]
Todos
What is the Jira issue?
SUBMARINE-437
How should this be tested?
passed CI
Screenshots (if appropriate)

Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? No

hi, @lowc1012 Can you attach a screenshot of this docker image build success?

@liuxunorg , yes I edited it.

Have you tested this modified docker image? Can you attach test information?


Submitting assignment 1

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
Created a function that lists out the root to leaf paths of a tree.
What did you learn from the changes you have made?
Covered the key learnings of recursion, depth first search, breadth first search
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
I used breadth first search and tested it out
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
N/A
How were these changes tested?
I tested my code in different ways to ensure that it works.
A reference to a related issue in your repository (if applicable)
Checklist

[x] I can confirm that my changes are working as intended

A1 marked complete


PHPLIB-892: Skip CSFLE automatic encryption tests when client-site encryption is not supported

Fix PHPLIB-892.
According to the doc, automatic CSFLE is only supported by Enterprise (and Atlas) servers. But this is a client-side feature, the tests are skipped when Client-Side encryption is not supported.

The skipped tests effectively fail when both are disabled.

MongoDB\Driver\Exception\ConnectionTimeoutException : mongocryptd error: No suitable servers found: serverselectiontimeoutms timed out: [connection refused calling hello on 'localhost:27020']:


Show error when keyAgreement is set for ECDSA certs

https://bugzilla.mozilla.org/show_bug.cgi?id=1201423#c20
"Additionally I agree with Fotis Loukos that keyAgreement is not correct when the key is expected to be used with ECDSA."

https://crt.sh/?id=4466285&opt=cablint
ERROR: Unallowed key usage for EC public key
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
https://crt.sh/?id=4964923&opt=cablint
X509v3 Key Usage: critical
Digital Signature, Key Agreement
While Key Encipherment is useless, Key Agreement is dangerous, so there should be even a bigger warning for the latter. DigiCert, oh you…

Can you find a RFC or other applicable standard that updates https://tools.ietf.org/html/rfc5480?
5480 says:
   If the keyUsage extension is present in an End Entity (EE)
   certificate that indicates id-ecPublicKey in SubjectPublicKeyInfo,
   then any combination of the following values MAY be present:

     digitalSignature;
     nonRepudiation; and
     keyAgreement.

   If the EE certificate keyUsage extension asserts keyAgreement, then
   it MAY assert either encipherOnly or decipherOnly.

It seems my comment in bugzilla was unjustified.  I'm closing this as working as intended.


Update php runtime to push master tag to Docker after Travis builds

Update the Travis build to push a tag "master" to Docker when the master branch is updated.
This will make it easier to pull the image that aligns with the latest changes on the Master branch.
Reference can be taken from: apache/incubator-openwhisk-runtime-java#37

This is complete now


Simplify the SDK sources

Issue

SDK Contains largely unused Chromium OS components like repo.
Initialising SDK sources uses custom logic to keep sources and release versions aligned

Impact

Package maintenance process is unnecessary complex

Ideal future state

All packages use plain Gentoo approach, no need for repo
Dependencies like coreos-overlay, portage-stable are pulled in via git submodules

Design Proposal: Simplify Flatcar versioning and build process
This design document proposes simplifications to Flatcar's versioning / build process.  Motivation for the simplifications proposed is to remove unnecessary complexity from the build process.
Build process complexity

repo
Because of its Chromium OS legacy, the Flatcar build process employs the repo tool to manage project-related repositories[1]. However, real-life Flatcar development does not make use of the repo git project management features. The tool is only used at SDK initialisation time by cork - which itself will be deprecated by the SDK container.
While some ebuilds in coreos-overlay make use of CROS_WORKON_*, there is no hard dependency to repo - package builds work fine just using the cros-workon eclass (which can be deprecated at a later point).
Manifest repositories and XML build info
repo uses build manifests (example) to pin all repo-managed repos to specific git revisions. However, this information is not used except for two repos: portage-stable and coreos-overlay. All other repos' entries - specific to a single package - always point to master.

Proposed simplification

Stop using repo - and cork altogether - for SDK initialisation. The SDK container PR implements this - instead of cork initialising a chroot, an SDK container is used. repo is not used at all.
Replace manifest repositories with a single authoritative repo. That repo - proposed to be flatcar-scripts - defines information on Flatcar versions (SDK and OS image) as well as versioned references to the ebuild repositories (coreos-overlay and portage-stable).
There is an ongoing discussion on how to implement the versioned references.

The proposed future workflow for working with sources of a given Flatcar release is:

clone the authoritative repository
check out a specific release tag, optionally run a git hook / helper script
Flatcar build tooling and ebuild repos are now on the version used for building the release specified by tag

Accordingly, the proposed workflow for creating a release is:

clone the authoritative repository
define release information (release version), tag
update versioned references to ebuild repos to match the state we want to release
push changes to authoritative repository, triggering release build and tests

[1] - The following repos are cloned at SDK initialisation time:

afterburn
appc-acbuild
appc-spec
baselayout
bootengine
coreos-cloudinit
coreos-overlay
docker
fero
grub
ignition
init
locksmith
mantle
mayday
nss-altfiles
portage-stable
rkt (yes, really)
sdnotify-proxy
seismograph
shim
systemd
toolbox
torcx
update_engine
updateservicectl
update-ssh-keys

Another side issue is to delete coreos-devel/sdk-extras from coreos-overlay.
Doing that, we can delete at least ~20 other packages from the source tree.
Apparently the sdk-extras was originally meant to work as a meta package to pull in all the optional packages in the SDK at once.
AFAIK it has been unmaintained since 3~4 years, so an attempt of emerge coreos-devel/sdk-extras will give you a huge list of conflicts to resolve. ;-)
So I believe it is hard to resurrect sdk-extras at the moment.

PRs for deleting sdk-extras and its dependencies:

https://github.com/kinvolk/portage-stable/pull/200
https://github.com/kinvolk/coreos-overlay/pull/1207

For the most parts done, we'll create smaller follow-up issues when we tackle the remaining items.