All the icons are not showing up in Windows 10 host.

Windows 10 Installation with official installation guide. Only difference is that I selected ASP.NET 4.6 in Windows Features (because there is no ASP.NET 4.5), according to http://andikanugraha.com/2015/09/install-bonobo-git-server-4-0-0-on-windows-10/

Resulting effect is that all the icons are not showing up properly. Since I have no experience with ASP.NET, I could not provide more detailed info.

I'd be inclined to think that this isn't a problem with your installation. I'm leaning more towards a browser issue.
I'll give it a try on windows 10.

@Amonomen I have testest on Internet Explorer and Chrome. There did not seem to be any difference on display.

I contacted Andika Nugraha, the author of
http://andikanugraha.com/2015/09/install-bonobo-git-server-4-0-0-on-windows-10/. It works ok for him. It felt like something wrong in my environment but I have no idea what is going wrong.

If you are using Microsoft Edge browser then it is reason for issue, because sometime Edge browser do not load and render images/icons on page when page is rendered.
Otherwise I have hosted Bonobo server on Windows 10 Pro and it is working fine with Chrome browser for me.

After I inspected the log in Chrome developer tools, I could see the following errors.

The files did exist in my disk.

It seems that fonts in Bonobo.Git.Server/Content/fonts are not downloaded correctly. Does that indicate something wrong?

In other, can we say that MIME setting is not done in IIS hosted website?

I didn't see MIME settings in IIS 10.

Hi,
Try following
[image: Inline image 2]
[image: Inline image 5]
[image: Inline image 4]
Add extension: .woff2
MIME type:  application/font-woff2
On Wed, Sep 16, 2015 at 2:56 PM, Wuxiang Lin<EMAIL_ADDRESS>wrote:

I didn't see MIME settings in IIS 10.
[image: image]
https://cloud.githubusercontent.com/assets/6576272/9901136/1203e4ca-5c98-11e5-890f-0a5a8e672daa.png
[image: image]
https://cloud.githubusercontent.com/assets/6576272/9901119/f2cbd860-5c97-11e5-9261-8d14218c5660.png
—
Reply to this email directly or view it on GitHub
https://github.com/jakubgarfield/Bonobo-Git-Server/issues/314#issuecomment-140684416
.

--
Jignesh Patel / Software Engineer
<EMAIL_ADDRESS>/ +919427590088
DigiDMS Inc.
2222 Morris Ave2nd Floor
http://digidms.com
This e-mail message may contain confidential or legally privileged
information and is intended only for the use of the intended recipient(s).
Any unauthorized disclosure, dissemination, distribution, copying or the
taking of any action in reliance on the information herein is prohibited.
E-mails are not secure and cannot be guaranteed to be error free as they
can be intercepted, amended, or contain viruses. Anyone who communicates
with us by e-mail is deemed to have accepted these risks. Company Name is
not responsible for errors or omissions in this message and denies any
responsibility for any damage arising from the use of e-mail. Any opinion
and other statement contained in this message and any attachment are solely
those of the author and do not necessarily represent those of the company

@jigneshphipl
Thanks, but I cannot see your image posted here. Can you post them again?

On Wed, Sep 16, 2015 at 3:35 PM, Wuxiang Lin<EMAIL_ADDRESS>wrote:

@jigneshphipl https://github.com/jigneshphipl
Thanks, but I cannot see your image posted here. Can you post them again?
—
Reply to this email directly or view it on GitHub
https://github.com/jakubgarfield/Bonobo-Git-Server/issues/314#issuecomment-140694688
.

--
Jignesh Patel / Software Engineer
<EMAIL_ADDRESS>/ +919427590088
DigiDMS Inc.
2222 Morris Ave2nd Floor
http://digidms.com
This e-mail message may contain confidential or legally privileged
information and is intended only for the use of the intended recipient(s).
Any unauthorized disclosure, dissemination, distribution, copying or the
taking of any action in reliance on the information herein is prohibited.
E-mails are not secure and cannot be guaranteed to be error free as they
can be intercepted, amended, or contain viruses. Anyone who communicates
with us by e-mail is deemed to have accepted these risks. Company Name is
not responsible for errors or omissions in this message and denies any
responsibility for any damage arising from the use of e-mail. Any opinion
and other statement contained in this message and any attachment are solely
those of the author and do not necessarily represent those of the company

I solved this problem by following http://stackoverflow.com/questions/21999760/blank-iis8-localhost-page-on-windows-8-laptop:
In Control Panel > Programs > Turn Windows Features On/Off > IIS > WWW Services > Common HTTP Features:
Enable HTTP Redirection and Static Content
I think MIME Type Settings in Web.config is irrelevant in this issues.

@jigneshphipl
Thanks.


Properties module and fluid object

Here's my draft of the Fluid object. I think it might be cleaner to pass the Fluid object to methods or objects that make use of the fluid properties.

The most recent commit (a91a78f9fea9a079e81de5a3a61b5dd346f3d91a) does the following:

Removes m_dot from the fluid properties object
Takes in temperature in Celsius
changes print(fluid.__repr()__) to print(fluid) in the examples

I submitted a PR on your fork #1 for this issue.

I added the ability to access pure Water in the Fluid object and resolved conflicts from master. The conflicts were encountered because issue #81 was merged in pull request #82.
It appears to be ready to merge to me.


File association broken in portable install of VSC 1.26.1, no options to open files from OS context menu

VSCode Version:

Version: 1.26.1
Commit: 493869ee8e8a846b0855873886fc79d480d342de
Date: 2018-08-16T18:38:57.434Z
Electron: 2.0.5
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

OS Version:

Windows 10, v 1803, build 17134.191
Steps to Reproduce:
1. Install the portable version of VSC 1.26.1, after uninstalling the global version
2. File association is broken and "Open/Edit with VS Code" options in the context menus are missing
Does this issue occur when all extensions are disabled?: Yes/No
Neither have any effect.
I haven't found any option in VSC to fix file association. There is an option to add associated file extensions manually, but that's not a great option if you have to manually input every type of file that VSC can edit.
It used to work fine in the globally installed version. I suppose that once I uninstalled the global version, all file associations have been removed and so has the PATH that linked to VSC.
Is there any automated way of fixing this?

This isn't related to "extensions", @vscodebot,  ya numpty.

Portable mode, by definition, can't have file type associations. We won't support this.


GCS Hive Connector is using insecure connections by default.

Bug description
The GCS Hive Connector is currently using insecure connection by default, but it should behave like S3 and use secure connections by default. To solve this issue we propose that GCS uses https as the default schema. A PR will be submitted shortly to address the issue.
System information
Velox System Info v0.0.2
Commit: ec8d8ca1acfe69439aab4d9f69eb8049e67fe4b0
CMake Version: 3.22.1
System: Linux-5.15.0-78-generic
Arch: x86_64
C++ Compiler: /usr/bin/c++
C++ Compiler Version: 11.4.0
C Compiler: /usr/bin/cc
C Compiler Version: 11.4.0
CMake Prefix Path: /usr/local;/usr;/;/usr;/usr/local;/usr/X11R6;/usr/pkg;/opt
Relevant logs
No response

PR with the proposed fix:
https://github.com/facebookincubator/velox/pull/6361


add function to fetch player from lavalink or get player from cache

Do you want to refresh the player data from the lavalink instance or what do you want it to achieve?

If im not mistaken, there is already functions for that.
<Node>.rest.getPlayer(id) // (Lavalink player data)
<Shoukaku>.players.get(id) // (Shoukaku player data)

i think that would be better with djs cache manager implementation ig, if you familiar with it tho

Why would that be beneficial?

I don't recommend using the djs cache

Why would that be beneficial? That would add some level of complexity.

naaah, i mean add fetch func to force fetch or get it from the cache just like djs cache manager

I don't recommend use the djs cache

who said use djs cache? i just said take the reference from djs cache manager, fetch one

Correct me if I am wrong, but since Shoukaku does not "garbage collect" (remove instances of) players, and also already has the Node#rest.getPlayer() function to get raw data from Lavalink, there isn't really a point in fetching the data again since it would just be identical to the cached data anyways. Since a Player is created when you join a voice channel and gets destroyed after disconnecting from the voice channel, all active Players are being actively handled by Shoukaku anyways, unless something goes really wrong and Shoukaku is completely out of sync from Lavalink.

@KagChi @EvilG-MC

@KagChi @EvilG-MC

I really agree with your point, because after giving it a lot of thought, a fetch is really a bit unnecessary.
I think its only purpose (which I really don't think is the case) is in case the data for some specific reason is out of date.

For my part I could say that I'm fine with what is currently available.

I'm going to see if I can get into contact/get Saya to get into contact with some bot developers who use Shoukaku in production at scale to see if they have a use case for this, if they don't then @KagChi is welcome to implement it and open a PR


Readme Links Need Updating

Describe the bug
A clear and concise description of what the bug is.
Many of the Links in the Readme link to urls which no longer exist.
Such as https://github.com/nhn/tui.editor/blob/master/docs/getting-started.md#options havign a link to a readme page which no longer exists (but I'm using is meant to be https://nhn.github.io/tui.editor/latest/ToastUIEditor#ToastUIEditor instead of https://nhn.github.io/tui.editor/latest/ToastUIEditor.html#ToastUIEditor)

@GeorgeWL I fixed the issue and thank you for reporting it. :)


Generic type parameters are always inlined

Example
#[derive(ToSchema)]
pub struct ResponsePayload<T: ToSchema> {
    data: Vec<T>,
}

#[derive(ToSchema)]
pub struct PrimaryData {
    id: String,
    value: u32,
}

Expected definition
{
  "components": {
    "schemas": {
      "PrimaryData": {
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "value"
        ],
        "type": "object"
      },
      "ResponsePayload_PrimaryData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PrimaryData"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "",
    "license": {
      "name": ""
    },
    "title": "utoipa-generic-response",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {}
}

Actual definition
{
  "components": {
    "schemas": {
      "PrimaryData": {
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "value"
        ],
        "type": "object"
      },
      "ResponsePayload_PrimaryData": {
        "properties": {
          "data": {
            "items": {
              "properties": {
                "id": {
                  "type": "string"
                },
                "value": {
                  "format": "int32",
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "required": [
                "id",
                "value"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "",
    "license": {
      "name": ""
    },
    "title": "utoipa-generic-response",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {}
}

25,39c25
<               "properties": {
<                 "id": {
<                   "type": "string"
<                 },
<                 "value": {
<                   "format": "int32",
<                   "minimum": 0,
<                   "type": "integer"
<                 }
<               },
<               "required": [
<                 "id",
<                 "value"
<               ],
<               "type": "object"
---
>               "$ref": "#/components/schemas/PrimaryData"

@juhaku is this expected? Is there a workaround? Where should I start looking if I wanted to be able to fix this or provide an alternative?
What's surprising is that traits associated types (ex: T::SomeType) are not inlined. Yet they very much depend on T.

That is expected behavior indeed. There are some places where the Inline feature is enforced, so you might keep that in mind. But what really breaks the bank here is in the component.rs compose_genericsfunction if I remember right. It recursively callsPartialSchema::schema()for all arguments eventually. And is not able to create any references. For it to be able to create references instead would probably need some changes, or perhaps changes should be done before calling this function so that it will not execute thecompose_generics` function at all.

compose_generics function if I remember right. It recursively calls PartialSchema::schema() for all arguments eventually. And is not able to create any references.

@juhaku looks like it's what I was looking for!
It's weird that it inlines T but not T::SomeAssociatedType. I'll start to understand why that is and see if I can avoid inlining T.

The generated code:
    impl<T: ToSchema> utoipa::__dev::ComposeSchema for ResponsePayload<T>
    where
        T: utoipa::ToSchema,
    {
        fn compose(
            mut generics: Vec<utoipa::openapi::RefOr<utoipa::openapi::schema::Schema>>,
        ) -> utoipa::openapi::RefOr<utoipa::openapi::schema::Schema> {
            {
                let mut object = utoipa::openapi::ObjectBuilder::new();
                object = object
                    .property(
                        "data",
                        utoipa::openapi::schema::ArrayBuilder::new()
                            .items({
                                let _ = <T as utoipa::PartialSchema>::schema;
                                if let Some(composed) = generics.get_mut(0usize) {
                                    std::mem::take(composed)
                                } else {
                                    utoipa::openapi::schema::RefBuilder::new()
                                        .ref_location_from_schema_name(
                                            ::alloc::__export::must_use({
                                                let res = ::alloc::fmt::format(
                                                    format_args!("{0}", <T as utoipa::ToSchema>::name()),
                                                );
                                                res
                                            }),
                                        )
                                        .into()
                                }
                            }),
                    )
                    .required("data");
                object
            }
                .into()
        }
    }

IMO it all comes down to the result of generics.get_mut(0usize):

If it's  Some(_) the type parameter is inlined.
If it's None, the type parameter is turned into a $ref.

My understanding is that since it's in generics, it cannot be resolved to a "real" type. So a $ref would be a to #/components/schemas/T. Which does not make much sense indeed.
But when I do this:
#[derive(OpenApi)]
#[openapi(components(schemas(ResponsePayload<PrimaryData>, PrimaryData)))]
struct ApiDoc;

I would expect the schema generation code to have access to the PrimaryData type parameter in ResponsePayload<PrimariData>. Is that not possible @juhaku ?
Because if that is possible, then it would make sense to create a $ref to PrimaryData.

So I have a (really funny IMHO) workaround based on the fact that T is inlined bu T::SomeAssociatedType is not:
pub trait RefToSelf {
    type Ref: RefToSelf;
}

#[derive(ToSchema)]
pub struct ResponsePayload<T: ToSchema + RefToSelf<Ref = T>> {
    data: Vec<T::Ref>,
}

#[derive(ToSchema)]
pub struct PrimaryData {
    id: String,
    value: u32,
}

impl RefToSelf for PrimaryData {
    type Ref = Self;
}

{
  "components": {
    "schemas": {
      "PrimaryData": {
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "value"
        ],
        "type": "object"
      },
      "ResponsePayload_PrimaryData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PrimaryData"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "",
    "license": {
      "name": ""
    },
    "title": "utoipa-generic-response",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {}
}

Pretty nifty indeed.

I would expect the schema generation code to have access to the PrimaryData type parameter in ResponsePayload<PrimariData>. Is that not possible @juhaku ?

Yes, I think it should have access to it but it is only in form of inline only otherwise since it is able to call the compose for the PrimaryData field. Perhaps if you remove the inline enforcement from the MediaType get_component_schema function call it might make it a reference.  But as you stated earlier #/components/schemas/T would not make reference. And it is true, that's why the inline is being enforced there to not to create invalid references.
In any case this change to make references instead of inlining needs to be behind a feature flag or a config option, maybe. :thinking:

It's weird that it inlines T but not T::SomeAssociatedType. I'll start to understand why that is and see if I can avoid inlining T.

That is weird indeed, I haven't tested it with the associated types but that might be because the associated types comes from the type itself and are created when ToSchema derive is executed for the type and not when it is used as a request_body or response body.

Pretty nifty indeed.

It's worth nothing that it works with std's Deref also without a custom trait.

In any case this change to make references instead of inlining needs to be behind a feature flag or a config option, maybe. 🤔

@juhaku can I make ToSchema implement RefToSelf? Or directly have the required associated type in ToSchema. This way, we would always use refs (unless #[schema(inline)] is specified of course).
I could hide this additional trait behind a feature flag.

Using the trick above, the impl of ComposeSchema for ResponsePayload<T> is completely different, presumably because T::Ref is a "known" type, not a type parameter:
    impl<T: ToSchema + RefToSelf<Target = T>> utoipa::__dev::ComposeSchema
    for ResponsePayload<T>
    where
        T: utoipa::ToSchema,
    {
        fn compose(
            mut generics: Vec<utoipa::openapi::RefOr<utoipa::openapi::schema::Schema>>,
        ) -> utoipa::openapi::RefOr<utoipa::openapi::schema::Schema> {
            {
                let mut object = utoipa::openapi::ObjectBuilder::new();
                object = object
                    .property(
                        "data",
                        utoipa::openapi::schema::ArrayBuilder::new()
                            .items(
                                utoipa::openapi::schema::RefBuilder::new()
                                    .ref_location_from_schema_name(
                                        ::alloc::__export::must_use({
                                            let res = ::alloc::fmt::format(
                                                format_args!("{0}", <T::Target as utoipa::ToSchema>::name()),
                                            );
                                            res
                                        }),
                                    ),
                            ),
                    )
                    .required("data");
                object
            }
                .into()
        }
    }

But they are, at compile time, the same type!
So if only we had a way to resolve T to its actual type... maybe with a special case for unit types such as:
#[derive(ToSchema)]
pub struct MyResponse(ResponsePayload<PrimaryData>);

Interestingly, the following change is enough to have the expected output with a ref:
diff --git a/utoipa-gen/src/component.rs b/utoipa-gen/src/component.rs
index 6a0b9b2..3fa5068 100644
--- a/utoipa-gen/src/component.rs
+++ b/utoipa-gen/src/component.rs
@@ -1255,7 +1255,7 @@ impl ComponentSchema {

                         schema.to_tokens(tokens);
                     } else {
-                        let index = container.generics.get_generic_type_param_index(type_tree);
+                        let index: Option<usize> = None;
                         // only set schema references tokens for concrete non generic types
                         if index.is_none() {
                             let reference_tokens = if let Some(children) = &type_tree.children

{
  "components": {
    "schemas": {
      "PrimaryData": {
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "value"
        ],
        "type": "object"
      },
      "ResponsePayload_PrimaryData": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PrimaryData"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "",
    "license": {
      "name": ""
    },
    "title": "utoipa-generic-response",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {}
}

Which is both valid and what one would want.
@juhaku why are the generic types inlined then? Just to make sure their actual value doesn't have to be manually added as a schema like I do it?
#[derive(OpenApi)]
#[openapi(components(schemas(PrimaryData, ResponsePayload<PrimaryData>)))]
struct ApiDoc;

Or are there other edge cases I am missing?
Anyway, is it OK to simply set index = None when a specific cargo feature is enabled? It is certainly less hacky than my previous associated type workaround.

I have added the force_ref_to_type_parameters Cargo feature:
diff --git a/utoipa-gen/Cargo.toml b/utoipa-gen/Cargo.toml
index d6de157..542ed42 100644
--- a/utoipa-gen/Cargo.toml
+++ b/utoipa-gen/Cargo.toml
@@ -66,6 +66,7 @@ repr = []
 indexmap = []
 rc_schema = []
 config = ["dep:utoipa-config", "dep:once_cell"]
+force_ref_to_type_parameters = []

 # EXPERIEMENTAL! use with cauntion
 auto_into_responses = []
diff --git a/utoipa-gen/src/component.rs b/utoipa-gen/src/component.rs
index 6a0b9b2..a8839f9 100644
--- a/utoipa-gen/src/component.rs
+++ b/utoipa-gen/src/component.rs
@@ -1255,7 +1255,10 @@ impl ComponentSchema {

                         schema.to_tokens(tokens);
                     } else {
+                        #[cfg(not(feature = "force_ref_to_type_parameters"))]
                         let index = container.generics.get_generic_type_param_index(type_tree);
+                        #[cfg(feature = "force_ref_to_type_parameters")]
+                        let index: Option<usize> = None;
                         // only set schema references tokens for concrete non generic types
                         if index.is_none() {
                             let reference_tokens = if let Some(children) = &type_tree.children {

As explained above, it disables forced inlining for generics type parameters.
IMHO what's very cool - and that's what I am trying to achieve - is that it makes it possible to specialize generics to a new schema using the newtype + #[schema(inline)] pattern:
#[derive(ToSchema)]
pub struct MyResponse(#[schema(inline)] ResponsePayload<PrimaryData>);

{
  "components": {
    "schemas": {
      "MyResponse": {
        "properties": {
          "data": {
            "items": {
              "$ref": "#/components/schemas/PrimaryData"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "PrimaryData": {
        "properties": {
          "id": {
            "type": "string"
          },
          "value": {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "value"
        ],
        "type": "object"
      }
    }
  },
  "info": {
    "description": "",
    "license": {
      "name": ""
    },
    "title": "utoipa-generic-response",
    "version": "0.1.0"
  },
  "openapi": "3.1.0",
  "paths": {}
}

@juhaku IMO that's a good solution. Shall I make a PR for this?

@juhaku can I make ToSchema implement RefToSelf? Or directly have the required associated type in ToSchema. This way, we would always use refs (unless #[schema(inline)] is specified of course).

You can use the bound attribute to change the bounds of a type. You can find more in the docs https://docs.rs/utoipa/latest/utoipa/derive.ToSchema.html#examples. Almost very bottom there is example on how to use the bound attribute.

@juhaku why are the generic types inlined then? Just to make sure their actual value doesn't have to be manually added as a schema like I do it?

It is inlined in order to resolve correct type in every case. Also what I thought is that when generic types are used there is no need to care what the actual generic arg is but it could be just inlined directly there as in short of that generic type is form of wrapper or a factory that forms concrete types when the generic arguments are resolved.

Anyway, is it OK to simply set index = None when a specific cargo feature is enabled? It is certainly less hacky than my previous associated type workaround.

One thing to make sure here is that what happens if you try to use a primitive type as an argument. I have a hunch that for such cases the inlining e.g. setting index = None is not sufficient. But maybe it works, you an try it out, if you try to use number and string as arguments.

Maybe there is a 3rd solution that is even cleaner:

Add support for #[schema(inline[ = bool | path_to_bool_fn])] like it's done for #[schema(ignore)] (cf #1177).
Document that type parameters are inlined by default and recommend using #[schema(inline = false)].
Document the generics specialization using the newtype + #[schema(inline)] idiom (maybe in another PR).

So my original code would become:
#[derive(ToSchema)]
pub struct ResponsePayload<T: ToSchema> {
    #[schema(inline = false)]
    data: Vec<T>,
}

#[derive(ToSchema)]
pub struct PrimaryData {
    id: String,
    value: u32,
}

IMO it's a good solution because:

it leverages the existing inline attribute and its existing semantic
it makes this attribute parametric, making it possible to (statically) toggle inlining.

@juhaku if that makes sense, I'll open a PR.

Add support for #[schema(inline[ = bool | path_to_bool_fn])] like it's done for #[schema(ignore)] (cf https://github.com/juhaku/utoipa/pull/1177).

#[schema(inline = false)] is already supported! But the following code still inlines the type parameter:
#[derive(ToSchema)]
pub struct ResponsePayload<T: ToSchema> {
    #[schema(inline = false)]
    data: Vec<T>,
}

#[derive(ToSchema)]
pub struct PrimaryData {
    id: String,
    value: u32,
}

So IMO that's not the expected behavior and quite misleading.

Yeah, the inline is only considered when ToSchema derive macro is executed for the type. But when the type is used with generic arguments there is no access to the #[schema(inline)] attribute of the type's field.

Yeah, the inline is only considered when ToSchema derive macro is executed for the type. But when the type is used with generic arguments there is no access to the #[schema(inline)] attribute of the type's field.

@juhaku I'm not sure what you mean.
What I tested is:
#[derive(ToSchema)]
pub struct ResponsePayload<T: ToSchema> {
    #[schema(inline = true)]
    data: Vec<T>,
}

vs
#[derive(ToSchema)]
pub struct ResponsePayload<T: ToSchema> {
    #[schema(inline = false)]
    data: Vec<T>,
}

And it generates exactly the same code. Yet as far as I can tell it enters the if is_inline branch when #[schema(inline = true)] is used.
So I am a bit lost now...

I mean with inline = true it generates schema like this: It directly calls <T as PartialSchema>::schema() inlining T to array.
impl<T: ToSchema> utoipa::__dev::ComposeSchema for ResponsePayload<T>
where
    T: utoipa::ToSchema,
{
    fn compose(
        mut generics: Vec<utoipa::openapi::RefOr<utoipa::openapi::schema::Schema>>,
    ) -> utoipa::openapi::RefOr<utoipa::openapi::schema::Schema> {
        {
            let mut object = utoipa::openapi::ObjectBuilder::new();
            object = object
                .property(
                    "data",
                    utoipa::openapi::schema::ArrayBuilder::new()
                        .items(<T as utoipa::PartialSchema>::schema()), // <--- here
                )
                .required("data");
            object
        }
        .into()
    }
}

And with inline = false it generates this: Here it either creates a reference to the T or a generic argument if generic arg has been defined.
impl<T: ToSchema> utoipa::__dev::ComposeSchema for ResponsePayload<T>
where
    T: utoipa::ToSchema,
{
    fn compose(
        mut generics: Vec<utoipa::openapi::RefOr<utoipa::openapi::schema::Schema>>,
    ) -> utoipa::openapi::RefOr<utoipa::openapi::schema::Schema> {
        {
            let mut object = utoipa::openapi::ObjectBuilder::new();
            object = object
                .property(
                    "data",
                    utoipa::openapi::schema::ArrayBuilder::new().items({
                        let _ = <T as utoipa::PartialSchema>::schema;
                        if let Some(composed) = generics.get_mut(0usize) {
                            std::mem::take(composed)
                        } else {
                            utoipa::openapi::schema::RefBuilder::new()
                                .ref_location_from_schema_name(format!(
                                    "{}",
                                    <T as utoipa::ToSchema>::name()
                                ))
                                .into()
                        }
                    }),
                )
                .required("data");
            object
        }
        .into()
    }
}

And it generates exactly the same code. Yet as far as I can tell it enters the if is_inline branch when #[schema(inline = true)] is used.

The reason why it goes to if inline branch is in response body and request_body as well as in openapi(components(schemas(...))) the Inline feature has been enforced so that it would generate correct schema for the generic argument inlining it directly with the compose_gnerics function in component.rs
If you use the ResponsePayload<String> for example as an argument to the OpenApi derive like so:
#[derive(OpenApi)]
#[openapi(components(schemas(ResponsePayload<String>)))]
struct Api;

You will get following output. Note the ResponsePayload schema call. In order to compose the ResponsePayload_String type it goes to the inline branch and composes the generic arguments recursively as arguments for the ComposeSchema implementations. Those implementations will then use the logicget the generic type or create reference as can be shown in aboveComposeSchema` implementation.
                        <ResponsePayload<String> as utoipa::__dev::ComposeSchema>::compose(
                            [<String as utoipa::PartialSchema>::schema()].to_vec(),
                        ),

impl utoipa::OpenApi for Api {
    fn openapi() -> utoipa::openapi::OpenApi {
        use utoipa::{Path, ToSchema};
        let mut openapi = utoipa::openapi::OpenApiBuilder::new()
            .info(
                // ... omitted
            )
            .paths({ utoipa::openapi::path::PathsBuilder::new() })
            .components(Some(
                utoipa::openapi::ComponentsBuilder::new()
                    .schemas_from_iter({
                        let mut schemas = Vec::<(
                            String,
                            utoipa::openapi::RefOr<utoipa::openapi::schema::Schema>,
                        )>::new();
                        <ResponsePayload<String> as utoipa::ToSchema>::schemas(&mut schemas);
                        schemas
                    })
                    .schema(
                        std::borrow::Cow::Owned(format!(
                            "{}_{}",
                            <ResponsePayload<String> as utoipa::ToSchema>::name(),
                            std::borrow::Cow::<String>::Owned(
                                [<String as utoipa::ToSchema>::name(),].to_vec().join("_")
                            )
                        )),
                        <ResponsePayload<String> as utoipa::__dev::ComposeSchema>::compose(
                            [<String as utoipa::PartialSchema>::schema()].to_vec(),
                        ),
                    )
                    .build(),
            ))
            .build();
        let components = openapi
            .components
            .get_or_insert(utoipa::openapi::Components::new());
        let mut schemas = Vec::<(
            String,
            utoipa::openapi::RefOr<utoipa::openapi::schema::Schema>,
        )>::new();
        components.schemas.extend(schemas);
        let _mods: [&dyn utoipa::Modify; 0usize] = [];
        _mods
            .iter()
            .for_each(|modifier| modifier.modify(&mut openapi));
        openapi
    }
}

Maybe the Inline enforcement can be set configurable for components(schemas(...)) definition and as well to request_body and responses body definition in #[utoipa::path(...)]

the Inline feature has been enforced so that it would generate correct schema for the generic argument inlining it directly with the compose_gnerics function in component.rs

@juhaku where is that done?

For component it is done in openapi.rs
https://github.com/juhaku/utoipa/blob/c45215c303ab288ed132a487c4b86b00b9513573/utoipa-gen/src/openapi.rs#L151-L163
For request_body and response body schema references it is done here in media_type.rs
https://github.com/juhaku/utoipa/blob/c45215c303ab288ed132a487c4b86b00b9513573/utoipa-gen/src/path/media_type.rs#L287-L293

But maybe for schema references it can just be inline enforced? :thinking:

For component it is done in openapi.rs

I tried the following:
impl Schema {
    fn get_component(&self) -> Result<ComponentSchema, Diagnostics> {
        let ty = syn::Type::Path(self.0.clone());
        let type_tree = TypeTree::from_type(&ty)?;
        let generics = type_tree.get_path_generics()?;

        let container = Container {
            generics: &generics,
        };
        let component_schema = ComponentSchema::new(crate::component::ComponentSchemaProps {
            container: &container,
            type_tree: &type_tree,
            features: vec![],
            description: None,
        })?;

        Ok(component_schema)
    }
}

Now #[schema(inline = true)] is ignored entirely on any field.
But with the original code, #[schema(inline)] is supported as expected. Except for the fields types with generics' type parameter (ex: Vec<T>).

But maybe for schema references it can just be inline enforced? 🤔

You were right: this solution does not work for native types (ex: u32): it will create a $ref to #/components/schemas/u32.
IMHO the behavior should be as follow:

If it's a native type, force inline = true except if #[schema(inline = false)] (because if it is specified, maybe someone does actually want to make their own u32 schema?).
If #[schema(inline = ...)] is specified, use it.
Otherwise, assume #[schema(inline = true)] (in order to not break the existing behavior).

But I have no idea how to tackle this since:

features: vec![], in openapi.rs kinda breaks #[schema(inline)] entirely.
I'm not sure how to check for a native type.

I will eventually find for 2. I've seen some code around already in the code base.
But 1. is bugging me... Any help understanding this would be greatly appreciated.

Yup,
2.  is really simple you can use SchemaType to check is it primitive SchemaType { path, is_inline }.is_primitive() Then based on that inline or not But that should also happen within ComponentSchema as well because if it only happens here in openapi.rs it will work only of the immediate child schema but not for inner generic schema. I guess this needs some debugging indeed to see how it behaves.

Ah, true for the 1. vec![] in openapi.rs it cannot be done there. And if the Inline is there it will get to the if inline branch in ComponentSchema anyways.

@juhaku cash we agree on this:

IMHO the behavior should be as follow:
If it's a native type, force inline = true except if #[schema(inline = false)] is specified (because if it is specified, maybe someone does actually want to make their own u32 schema?).
If #[schema(inline = ...)] is specified, use it.
Otherwise, assume #[schema(inline = true)] (in order to keep the existing behavior).

Then we'll see what needs to be changed.

@JMLX42 Yeah, seems quite right to me.

Ok cool.
Now how comes this patch works when it's in the else branch?

I believe the else branch will only get executed when ToSchema executes for the type, It will never get to the else branch when type is declared as response body or request body or within #[openapi(components(schemas(...)))].

Ok so:

the if inline branch matches #[schema(inline)] or the hard-coded Feature::Inline(true.into())
the else branch matches with a missing #[schema(inline)] or #[schema(inline = false)], but it will inline a generic type parameter anyway

So I guess a first step would be to change the else branch to skip inlining except for native types.

So I guess a first step would be to change the else branch to skip inlining except for native types.

Yup, that should be quite simple. I think you could do something like this in the else block:
let is_primitive = SchemaType { path: Cow::Borrowed(&rewritten_path), nullable: false}.is_primitive();
if index.is_none() && !is_primitive {...}


All tests run for 0 ms

When I run tests using the Kotlintest run configuration, the report window shows 0 ms execution time for all tests cases even though they executed longer:

This is fixed in kotest 4.


An Error

I was working on this and I got this error
Traceback (most recent call last):
  File "main.py", line 6, in <module>
    session = scratch3.Session(session)
  File "/home/runner/LoveToChangeTitle/venv/lib/python3.8/site-packages/scratch3/_session.py", line 31, in __init__
    self._get_xtoken()
  File "/home/runner/LoveToChangeTitle/venv/lib/python3.8/site-packages/scratch3/_session.py", line 43, in _get_xtoken
    response = json.loads(requests.post(
  File "/nix/store/p21fdyxqb3yqflpim7g8s1mymgpnqiv7-python3-3.8.12/lib/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/nix/store/p21fdyxqb3yqflpim7g8s1mymgpnqiv7-python3-3.8.12/lib/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/nix/store/p21fdyxqb3yqflpim7g8s1mymgpnqiv7-python3-3.8.12/lib/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)


Are you sure your session id is valid?

Are you sure your session id is valid?

so I have an issue with importing the ScratchAttach package. Since I am currently on a mac, the pip install command(s) don't work, and when I do: sudo apt install scratchattach it just responds with a java runtime error and telling me to install the JVM, which I did but gives me the same error. i have also tried the os import and installing the package within the os but that doesn't work either. I really need help as I really want to use scratchattach in my scratch projecct.

@Plipplz try using pip3 instead of pip when you try to pip install

https://phoenixnap.com/kb/install-pip-mac


How to preinstall Onisharp and related required dependencies for dev containers?

Every time we start a dev container for .NET, we see that these dependnecies are getting intalled:
Installing C# dependencies...
Platform: linux, x86_64, name=ubuntu, version=18.04

Downloading package 'OmniSharp for Linux (x64)' (36011 KB).................... Done!
Validating download...
Integrity Check succeeded.
Installing package 'OmniSharp for Linux (x64)'

Downloading package '.NET Core Debugger (Linux / x64)' (3411 KB).................... Done!
Installing package '.NET Core Debugger (linux / x64)'

Downloading package 'Razor Language Server (Linux / x64)' (61682 KB).................... Done!
Installing package 'Razor Language Server (Linux / x64)'

Finished

Is there a way that we embed these dependencies and extensions once inside our docker images so that they are there always?
Because we have an infrastructure that deletes containers randomly (chaos engineering), the current behaviour is extremely inefficient. Each time a container comes up we have to wait a lot to see these dependencies being installed.

You could follow these instructions to building a package which includes all the dependencies.

Closing as answered


feat: support transpilation of <style> blocks

Codecov Report

Merging #27 (8f3a951) into main (09973f7) will increase coverage by 0.51%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #27      +/-   ##
==========================================
+ Coverage   96.85%   97.36%   +0.51%
==========================================
  Files           6        7       +1
  Lines         127      152      +25
  Branches       30       34       +4
==========================================
+ Hits          123      148      +25
  Misses          4        4

Impacted Files
Coverage Δ

src/loader.ts
100.00% <100.00%> (ø)

src/loaders/index.ts
100.00% <100.00%> (ø)

src/loaders/sass.ts
100.00% <100.00%> (ø)

src/loaders/vue.ts
97.14% <100.00%> (+2.14%)
:arrow_up:

Continue to review full report at Codecov.

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

@pi0 Any issue with this pr?

Can we lazy import sass dependency and also remove from dependencies? (it can be included from user path).


use .webp for OBS lock

some OBS update made the .png invisible for new users ...

there is also an issue with minecraft audio captures being lost if scenes are regenerated but i didnt bother ,...


Fix: ignore Markdown links to Jira tickets in smart-commit regex [Issue #159]

This is to address #159. Note that this is not a complete PR yet, just a failing test for future TDD :)
@tcbyrd What would be the best approach to resolve this? One naive approach I can think of would be adding a negative lookahead or lookbehind for the atlassian.net URL to the issueKeysRegex in smart-commit.js. But this seems brittle and hacky :) Curious to hear your thoughts!

Deployed a solution for this in #165
Docs here: https://github.com/integrations/jira#link-issues-in-github


REST should have a GET all endpoint

Currently:
'items' endpoints
    GET /items/:id -> Find one Item
    POST /items -> Create Item
    PUT /items/:id -> Update Item
    DELETE /items/:id -> Delete Item

It should be:
'items' endpoints
    GET /items/ -> Find Item     // Return all Items. Could be the same UC as [GET /items/:id]
    GET /items/:id -> Find Item
    POST /items -> Create Item
    PUT /items/:id -> Update Item
    DELETE /items/:id -> Delete Item

ps: Already described in https://github.com/herbsjs/herbs-cli/issues/61, but this issue is related to the endpoint only (not the UC that will give support to run).

sorry, what PRs and issues? the #21 still opened


Modified extension to reflect new output format of NBResuse JSON/metrics

One remaining issue: now by default NBResuse doesn't emit information about CPU status, unless c.ResourceUseDisplay.track_cpu_percent = True in the notebook config, so by default this reports CPU: undefined %, # of CPUs: undefined.
I'm not sure how to fix that. Anyway, when CPU tracking is enabled in the config, this works perfectly in local testing.

As it is, there's a check to see if the metrics request is met with a null value, in which case the extension decides metrics are not available and hides itself.
That's this chunk:
 if (value === null) {
      this._metricsAvailable = false;
      this._currentProcessor = 0;
      this._processorLimit = null;
 }

The fix is just:
 if (!value || value.cpu_percent === undefined) {
      this._metricsAvailable = false;
      this._currentProcessor = 0;
      this._processorLimit = null;
 }

I will merge this, add the above small fix, and update the release.

wait but wouldn't that also prevent the memory from being displayed too?

It seemed to work in my testing. Memory usage and cpu usage display should be totally separate.


terraform-providers: build automated providers with Go module

Motivation for this change
With more providers adopting Go module, nixpkgs needs to follow suit. This work adds a vendorSha256 key to providers that use Go module. When the key is present the provider will be built with Go module, else with Go package.
The update-provider script has been updated to handle vendorSha256 and will be made available in a subsequent PR.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

:heavy_check_mark: Successful provider initialization with

terraform_0_11
terraform_0_12
terraform_0_13

# main.tf
terraform {
  required_providers {
    ibm = {
      source = "IBM-Cloud/ibm"
    }
    digitalocean = {
      source = "digitalocean/digitalocean"
    }
  }
}

provider "aws" {}
provider "dns" {}
provider "random" {}
provider "null" {}
provider "tls" {}
provider "template" {}
provider "local" {}
provider "http" {}
provider "archive" {}
provider "external" {}
provider "google" {}
provider "google-beta" {}
provider "digitalocean" {}
provider "ibm" {}
provider "helm" {}

$ nix-shell -I nixpkgs=$PWD -p 'terraform_0_13.withPlugins (p : with p; [aws dns random tls template local http archive external google google-beta digitalocean ibm helm] ++ [p.null])'
$ terraform init

Initializing the backend...

Initializing provider plugins...
- Finding latest version of hashicorp/external...
- Finding latest version of hashicorp/local...
- Finding latest version of ibm-cloud/ibm...
- Finding latest version of hashicorp/aws...
- Finding latest version of hashicorp/http...
- Finding latest version of hashicorp/null...
- Finding latest version of digitalocean/digitalocean...
- Finding latest version of hashicorp/tls...
- Finding latest version of hashicorp/archive...
- Finding latest version of hashicorp/random...
- Finding latest version of hashicorp/dns...
- Finding latest version of hashicorp/google-beta...
- Finding latest version of hashicorp/helm...
- Finding latest version of hashicorp/template...
- Finding latest version of hashicorp/google...
- Installing digitalocean/digitalocean v2.2.0...
- Installed digitalocean/digitalocean v2.2.0 (unauthenticated)
- Installing hashicorp/local v2.0.0...
- Installed hashicorp/local v2.0.0 (unauthenticated)
- Installing hashicorp/aws v3.15.0...
- Installed hashicorp/aws v3.15.0 (unauthenticated)
- Installing hashicorp/random v3.0.0...
- Installed hashicorp/random v3.0.0 (unauthenticated)
- Installing hashicorp/http v2.0.0...
- Installed hashicorp/http v2.0.0 (unauthenticated)
- Installing hashicorp/archive v2.0.0...
- Installed hashicorp/archive v2.0.0 (unauthenticated)
- Installing hashicorp/dns v3.0.0...
- Installed hashicorp/dns v3.0.0 (unauthenticated)
- Installing hashicorp/template v2.2.0...
- Installed hashicorp/template v2.2.0 (unauthenticated)
- Installing hashicorp/google v3.47.0...
- Installed hashicorp/google v3.47.0 (unauthenticated)
- Installing ibm-cloud/ibm v1.14.0...
- Installed ibm-cloud/ibm v1.14.0 (unauthenticated)
- Installing hashicorp/tls v3.0.0...
- Installed hashicorp/tls v3.0.0 (unauthenticated)
- Installing hashicorp/google-beta v3.47.0...
- Installed hashicorp/google-beta v3.47.0 (unauthenticated)
- Installing hashicorp/helm v1.3.2...
- Installed hashicorp/helm v1.3.2 (unauthenticated)
- Installing hashicorp/external v2.0.0...
- Installed hashicorp/external v2.0.0 (unauthenticated)
- Installing hashicorp/null v3.0.0...
- Installed hashicorp/null v3.0.0 (unauthenticated)

The following providers do not have any version constraints in configuration,
so the latest version was installed.

To prevent automatic upgrades to new major versions that may contain breaking
changes, we recommend adding version constraints in a required_providers block
in your configuration, with the constraint strings suggested below.

* digitalocean/digitalocean: version = "~> 2.2.0"
* hashicorp/archive: version = "~> 2.0.0"
* hashicorp/aws: version = "~> 3.15.0"
* hashicorp/dns: version = "~> 3.0.0"
* hashicorp/external: version = "~> 2.0.0"
* hashicorp/google: version = "~> 3.47.0"
* hashicorp/google-beta: version = "~> 3.47.0"
* hashicorp/helm: version = "~> 1.3.2"
* hashicorp/http: version = "~> 2.0.0"
* hashicorp/local: version = "~> 2.0.0"
* hashicorp/null: version = "~> 3.0.0"
* hashicorp/random: version = "~> 3.0.0"
* hashicorp/template: version = "~> 2.2.0"
* hashicorp/tls: version = "~> 3.0.0"
* ibm-cloud/ibm: version = "~> 1.14.0"

Terraform has been successfully initialized!

You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.

If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.

Oof, not sure if this should have been merged, given the update-provider script is still missing, and both are included in https://github.com/NixOS/nixpkgs/pull/104667…

We should really try to get a full updater story into nixpkgs.


Fix for issue 137 - cannot compare between  and None when sorting fields

Hello,
I think I have a proposed fix to issue 137. However, I am having problems running the tox tests due to problems with erdantic.
I have tried
poetry run tox -e py310-pydanticlatest-sphinxlatest-no_erdantic

but it is still failing on trying to install erdantic and not finding include files for that.
Please suggest workaround?

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (c81dc45) 94.68% compared to head (2e74e8f) 94.68%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #190   +/-   ##
=======================================
  Coverage   94.68%   94.68%
=======================================
  Files          12       12
  Lines        1035     1035
=======================================
  Hits          980      980
  Misses         55       55

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Hmmm... I see lots of failed tests around
  AttributeError: 'PosixPath' object has no attribute 'rmtree'

At first glance, I don't see how my change could have caused this error, but please advise.

Hmmm... I see lots of failed tests around
  AttributeError: 'PosixPath' object has no attribute 'rmtree'

At first glance, I don't see how my change could have caused this error, but please advise.

@j-carson  Thanks for your continuous contributions!
The PosixPath issue first appeared with Sphinx 7.2 and it is fixed on the main branch. If you rebase with main, you should no longer face this issue.

Caught up to main.

Hello,
I think I have a proposed fix to issue 137. However, I am having problems running the tox tests due to problems with erdantic. I have tried
poetry run tox -e py310-pydanticlatest-sphinxlatest-no_erdantic

but it is still failing on trying to install erdantic and not finding include files for that.
Please suggest workaround?

Erdantic requires (py)graphviz to be installed on your system. This can be tricky, especially on windows. See here for more.

As mentioned in #137, we will require test cases to reliably fix the incorrect behaviour. If you need any support setting up tests with autodoc_pydantic please let me know. Testing sphinx extensions are not trivial. I'm more than happy to set up the test case given a minimal reproducible example.

but it is still failing on trying to install erdantic and not finding include files for that.
Please suggest workaround?

Erdantic requires (py)graphviz to be installed on your system. This can be tricky, especially on windows. See here for more.

I installed graphviz, but pygrahviz is just giving me fits.  I see that there is a no_erdantic option in the tox config -- Can you help me with the right tox incantation to run tests without a successful pygraphviz install?

I had to look up the correct invocation for tox, too. You can list all available environments defined in the tox.ini via tox -l. To execute tests without erdantic, you can use tox -e no_erdantic. Just tested it on a windows os without graphviz available and it worked fine.

I added a test case that at least covers the incorrect sorting behavior with inherited models.

Thanks for the test case, but I'm not sure why the expected test result shows "field_b" and "field_a" (and their validators) if autodoc's "inherited-members" option is not turned on?
I'm checking for the inherited-members option as is done at https://github.com/mansenfranzen/autodoc_pydantic/blob/1d14f120373e481023de889711210f4d2a2b853c/sphinxcontrib/autodoc_pydantic/directives/autodocumenters.py#L163

You are completely right, the inherited member option has to be turned on in the test case.

Another edge case question:
test_audotdoc_pydantic_model_show_validator_summary_inherited_without_inherited
The classes are
class ModelShowValidatorsSummary(BaseModel):
    """ModelShowValidatorsSummary."""

    field: int = 1

    @field_validator("field")
    def check(cls, v) -> str:
        return v

class ModelShowValidatorsSummaryInherited(ModelShowValidatorsSummary):
    """ModelShowValidatorsSummaryInherited."""

    @field_validator("field")
    def check_inherited(cls, v) -> str:
        return v

If "inherited-members" is not set, the test suite thinks it wants this result:
result = [
        '',
        '.. py:pydantic_model:: ModelShowValidatorsSummaryInherited',
        '   :module: target.configuration',
        '',
        '   ModelShowValidatorsSummaryInherited.',
        '',
        '   :Validators:',
        '      - :py:obj:`check <target.configuration.ModelShowValidatorsSummary.check>` » :py:obj:`field <target.configuration.ModelShowValidatorsSummaryInherited.field>`',
        '      - :py:obj:`check_inherited <target.configuration.ModelShowValidatorsSummaryInherited.check_inherited>` » :py:obj:`field <target.configuration.ModelShowValidatorsSummaryInherited.field>`',
        ''
    ]

However, my code considers the "check" method to be an inherited validator, and squashes it when inherited-members is not turned on.  Can you explain better why "check" should be included here?

@mansenfranzen  I'm working my way through the build failures... For sphinx 4.5, this is the error
E                   sphinx.errors.VersionRequirementError: The sphinxcontrib.applehelp extension used by this project needs at least Sphinx v5.0; it therefore cannot be built with this version.
Do you happen to know how to tell sphinx not to include the applehelp extension for the older sphinx versions?

Update - I fixed the sphinx 4.X install problem by adding dependencies (based on the github issue linked) to the tox.ini file.
The last problem on the current test suite is a stinker -- pydantic20-sphinx53 passes on python 3.10 but not on python 3.9 but I'll keep digging at it.

Note to self: Here is the root cause of why tests older than python 3.9 are failing https://docs.python.org/3/howto/annotations.html#accessing-the-annotations-dict-of-an-object-in-python-3-9-and-older

@mansenfranzen  The bug that was causing the last test failure is actually in the getannotations function in sphinx/util/inspect.py, function getannotations needs to check for python 3.9 and follow procedure in the above link.
I will need to attempt to become a sphinx contributor to fix that part, so for the purposes of this repository, I changed the test to accept either the right answer, or the wrong answer with the extra inherited validator if it's python 3.9 or earlier.
I now have all the existing tests passing, so I'd appreciate it if you started to review the code.... It turned out to be a LOT more than just one little line...
I think the only thing left is to look at the coverage reports to see if any more test cases are needed.

The fix for the sphinx bug w/ python 3.9 that messes up some of the inheritance test cases has been merged https://github.com/sphinx-doc/sphinx/pull/11919

@j-carson Thx for putting all this effort in this PR and sorry for letting you wait for so long. I will review your PR in the next days.

@j-carson Once again thanks a lot for the work you've put into this PR! I merged main and added several tests that explicitly test inheritance, also including overwriting fields of parent classes because this seemed to be a relevant edge case, too.
By the way, you've actually fixed a bug that incorrectly showed/hided validators from the documentation. However, this bug has not been reported yet. The tests now cover the correct behavior. Additionally, you've fixed #178, too. Great work! I'm not completely done with the PR yet while I need to update the changelog and review some more tests.

Interestingly, the edge case for python < 3.10 only occurs if the child class does not have any fields. In contrast, if the child class has at least a single field defined, the incorrect behavior disappears. See here.


Install tcib from RPM

tcib is used in periodic line to build openstack services containers.
Periodic line should be instaling the tcib package itself from podified-ci-testing via rpm. But it is installed via github source. The tcib content in podified-ci-testing is different from source (New commit might merged and dlrn have not picked it up.)
So, it diverges the testing and causes unwanted issues.
This pr adds the support for installing the tcib content from rpm. It will help to install the correct content.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

https://issues.redhat.com/browse/OSPCIX-101

looks ok - except for test failure: cifmw-tcib

Seems ok. I'll approve as soon as the issue in the test is fixed.

/approve
I'll let @marios have the last say. The goal of this patch being to install tcib from RPM, it just does what it says, with a new parameter to toggle source/rpm install.

/lgtm


feat(schema): Use Neo4j DateTime type for created and modfied fields

This was originally set to String, but it's nice to have it as a datatype that allows us to do more detailed filtering.
This isn't affected by https://github.com/trompamusic/ce-api/issues/91 because we will always have a full datetime for created and modified.
An addition to this is to integrate #112 at a later stage.
One issue that I saw, I can perform this mutation (adding created.formatted):
mutation {
  CreateRating(
creator: "https://testuser.trompa-solid.upf.edu/profile/card#me"
        ratingValue: 8
        bestRating: 10
        worstRating: 1
        created: {formatted: "2021-03-10T15:24:38.369017+00:00"}
) {
identifier
}
}

but this one fails:
mutation {
  UpdateRating (
    identifier: "05d9272c-3d00-48dc-ab25-bdab147291ea"
    created: {formatted:"2021-03-10T15:24:38.369017+00:00"}
  ) {
    identifier
  }
}

with this message:
{
  "errors": [
    {
      "message": "No such field: formatted",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "UpdateRating"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "exception": {
          "errors": [
            {
              "message": "No such field: formatted",
              "locations": [],
              "path": [
                "UpdateRating"
              ]
            }
          ],
          "stacktrace": [
            "Error: No such field: formatted",
            "    at new CombinedError (/app/node_modules/graphql-tools/src/stitching/errors.ts:90:5)",
            "    at Object.checkResultAndHandleErrors (/app/node_modules/graphql-tools/src/stitching/errors.ts:111:11)",
            "    at CheckResultAndHandleErrors.transformResult (/app/node_modules/graphql-tools/src/transforms/CheckResultAndHandleErrors.ts:15:12)",
            "    at /app/node_modules/graphql-tools/src/transforms/transforms.ts:37:45",
            "    at Array.reduce (<anonymous>)",
            "    at applyResultTransforms (/app/node_modules/graphql-tools/src/transforms/transforms.ts:35:21)",
            "    at /app/node_modules/graphql-tools/src/stitching/delegateToSchema.ts:104:12",
            "    at step (/app/node_modules/graphql-tools/dist/stitching/delegateToSchema.js:32:23)",
            "    at Object.next (/app/node_modules/graphql-tools/dist/stitching/delegateToSchema.js:13:53)",
            "    at fulfilled (/app/node_modules/graphql-tools/dist/stitching/delegateToSchema.js:4:58)"
          ]
        }
      }
    }
  ],
  "data": {
    "UpdateRating": null
  }
}

@ChristiaanScheermeijer  thinks it's related to https://github.com/neo4j-graphql/neo4j-graphql-js/issues/547

Looks good. If we set the created and updated properties automatically, nobody would need to update or set these properties manually. We might even remove them from the update/create mutations.

Yes, I like the idea of removing them from the mutations.


Do not limit software to be human-written

Software (including source code) can be generated. This does not need to be generated by AI, other methods exist as well. I would still call these "software".

I guess we need to vote on that here. Coming from the other end, If I use a compiled-language, I wouldn't say, that the generated assembly is written by me. But yes it brings the discussion, which of the two is software.

I used a code that, given equations in a Mathematica framework generated C++ code which then got compiled. Yes, the C++ code is not the "source code", but I would say it is "software" and was distributed like that (in addition to the source) - and the term "software" is what we define here, not "source code".
I guess a similar question could be whether a binary executable falls under the definition of "software". I think it does. But rarely it was directly written by a human.
Wikipedia uses this definition: "Software consists of computer programs that instruct the execution of a computer." and "A computer program is a sequence or set[a] of instructions in a programming language for a computer to execute."

I would exclude generated code because that can always be recreated. My thinking is that only things the are humanly created needs to go into a version control system. Everything else can be recreated and we don't need to worry about it so much. I do realise that for technical/convenience reasons you might want to include generated outputs (I am thinking output from the autotools).
I guess we are specifically including everything that is created by humans (that is where the intellectual effort lies). Machine generated stuff does not contain intellectual effort.
As an aside, I think this is where using AI for programming is interesting (in the problematic sense): the inputs there are the prompts. The problem is that it genAI is not deterministic  (at least at the moment), ie the same prompts do not produce the same outputs.


bug in version 0.14.0 with import DateRangePicker

import dash_mantine_components as dmc
dmc.DateRangePicker
AttributeError: module 'dash_mantine_components' has no attribute 'DateRangePicker'. Did you mean: 'DateTimePicker'?

I hit the same issue, the component you should use now is DatePicker, but I am then getting at TypeError: r.useId is not a function error.

Same problem as https://github.com/snehilvj/dash-mantine-components/issues/240, the workaround for now is to set environment variable REACT_VERSION="18.2.0" in .env file in the root of your folder.

Same problem as #240, the workaround for now is to set environment variable REACT_VERSION="18.2.0" in .env file in the root of your folder.

it don't work

Can you provide a minimal reproduction, I tried this yesterday and it works fine, there are other issues since this is a breaking change in the original lib but the r.useId problem is no longer there.


Support for context passed as kwarg in newer authz-service version

@pdelboca Following a conversation from https://github.com/datopian/ckanext-blob-storage/pull/55 this PR make the blob storage compatible with latest changes done in authz-service (fixing issue https://github.com/datopian/ckanext-authz-service/issues/24)
In this PR I've upgraded authz-service to v1.5.0 but once a new release is tagged it should be bumped up to v1.6.0 which would include the fix for issue mentioned above.

Thanks for this @tomeksabala! (And sorry for the delay on merging this)


Handle lost end training message

We need to clarify what the expected behavior is for the following scenario:

P uploads their weights
A::add_weights is called, the weights are validated
A sends an end training message to C for P, which gets lost due to network issues

I can see three ways to handle this:

A could keeps trying. But by the time communication is established again, P may have been removed already, so C will just reject the message. I'm not sure where to go from there.
A ignores the lost message an continue. The aggregator would then have more weights than expected but is that really an issue?
A aborts the round, and notify the coordinator. A rejects every message until C acknowledges the round reset. That seems like the best solution but  requires adding new RPC methods.

For now we'll go with solution 2.

I'm closing this issue because the issue relates to an old version (v0.8.0) of the rust coordinator that is no longer maintained. In the new upcoming version, the aggregator is part of the  coordinator so that the problems mentioned here no longer apply.


Add pre-hook linters for frontend and backend

too much of a hassle for devs I think, we can close this one for now.


Update warning/error messages and description

This PR begins to resolve #769 part 3 and resolves #769 part 4.

Adds a more informative description for what a warning and error message look like:

Includes offending parameter in the message.  This was not needed in the GUI messages since it was obvious that the message applied to the parameter whose box it was displayed under.  As @martinholmer pointed out, it is not so obvious when the messages are displayed on the file input page.

PR #777 is on the test app along with PolicyBrain 1.2.1.


CP Poll rate

Would it be possible to change the poll rate units to milliseconds? In real life, you would be polling a PD  every 10 - 100ms, depending on various factors.
I've made these changes on my local checkout, but I've reformatted the code using clang-format, style 'Google', so my changes are impossible to pull request right now. If you could provide a style config in some format astyle / clang-format / uncrustify I'll see what I can do.
Generally I'm doing,
int osdp_timeout(OSDP_CONTEXT *ctx, long long *last_time_check)

struct timespec timeNow;
long long current_time;
clock_gettime(CLOCK_MONOTONIC_RAW, &timeNow);
current_time = (timeNow.tv_sec  * 1000) + (timeNow.tv_nsec  / 1000000);

Thanks

nobody asked for use of a format spec before.  will look at that right away.  Leaning towards clang-format.  I am not opposed to your proposed change but I've gotten away with (sloppy) timing so far.  I may not be able to test things running that fast, will check that out too.  Pls. join the SIA360 conversation so we can get your timing issue feedback into the system.

Thanks for looking at this. I've tried to join SIA360 but I'm getting the error 'Insufficient Privileges'. I've emailed them so hopefully this can be fixed.
Thanks

@jonface can you email me at<EMAIL_ADDRESS> I will be able to help you get situated with SIA360.


Features/i183 more unit tests

adds new specs for:

channels
mailers
jobs
actors
forms
inputs

Hi @Steven-Eardley thanks for reviewing this; is it ok if I merge it in?

Yes, go ahead. I certainly intended to

thanks 👍


Switched to secured k8s API endpoint (#285)

I think it is ok to still use 8080/http on master node because it basically connects to itself. I only switched to https on worker's kubelet and worker's kube-proxy
See #285
I checked that Nodes are ready (kubectl get nodes) and there are no additional problems in logs of kube-proxy.

Fixes #285


Unable to use ValueInjecter on Universal Application

NuGet package won't install.
...please don't make me use AutoMapper..
Any plans to support universal apps? Please let us know sooner rather than later so we can prepare for our legacy apps that we are updating to universal.

you can grab the source (fork) and make it work

is this on the planned roadmap for ValueInjecter, or no?

there's no plan for it atm, we're open to contributions

Turns out this was quite easy... I haven't forked and submitted a pull request yet,.. but all I did was create a Universal class library in VisualStudio, copied all of the original source in, and then used GetTypeInfo() in the places where reflection was needed (i,e:
var hasCompilerGeneratedAttribute = type.GetTypeInfo().GetCustomAttributes(typeof(CompilerGeneratedAttribute), false).ToList().Count > 0;
etc. etc.
My initial test seemed to work just fine..
Just

..had to add the following using statements for it to work:
using System.Reflection;
using System.Runtime.CompilerServices;
.. there was like only 4 changes to make in the code!

please have a look at my pull request.

As requested, I created a new fork and updated the code to work for UWP, as well as added a Universal Windows sample application.
Check out pull request (https://github.com/omuleanu/ValueInjecter/pull/16)


[SiVal, spi_host] Fix macronix test tag

This will make test run on the SiVal nightly job.

Closing as superceded by #25457.


Responsive Knob - not a issue but question

Hello !
Thanks for  this very good tool.
I use it in all my applications.
I plug my own directive knob. To be responsive i use a ratio during the link directive i am able to know the screen size. So i have a false responsive behavior. Just for the initialisation.
My question : is it possible to have a responsive behavior for the size knob object with css ?
i would like this kind of behavior :
.knob {
data-width: 50;
data-height: 50;
}
....max-width 480px {
data-width:35;
data-height:35;
}
Thanks for your attention, have a nice day.
alien from south of france where the english is not fluent.

Please use the google mailing list for questions that are not issues with the code. Thanks


GRAGPHRAG support for AWS bedrock

How to connect amazon bedrock to graphrag?

Please see our alternative providers issue #657 for discussion about options. I haven't seen anything about AWS specifically, but there may be proxy options that will work.


openvino will fail the build with gcc-11: error: 'tmp' is used uninitialized

gcc-11 improved slightly detection of uninitialzed variables:
$ nix-build -E 'with import <nixpkgs> {}; openvino.override { stdenv = gcc11Stdenv; }'
...
/build/source/ngraph/core/src/type/bfloat16.cpp: In member function 'ngraph::bfloat16::operator float() const':
/build/source/ngraph/core/src/type/bfloat16.cpp:81:13: error: 'tmp' is used uninitialized [8;;https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wuninitialized-Werror=uninitialized8;;]
   81 |     return *f;
      |             ^
/build/source/ngraph/core/src/type/bfloat16.cpp:79:14: note: 'tmp' declared here
   79 |     uint32_t tmp = (static_cast<uint32_t>(m_value) << 16);
      |              ^~~

Notify maintainers
@tfmoraes
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: openvino

Closing as INVALID.


Add clemson to users list

added logo to assets and updated index.html

@go-bears there appears to be something amiss, because the image doesn't appear to be a valid SVG. How did you create it?

thanks @minrk i tried an online converter, I tried it again & it seems to look alright in my inkscape viewer? but did you want it only grayscale or does the html tag take care of that? Thanks for the feedback!

I think the grey is in the SVG itself. Perhaps @cameronoelsen can shed some light on the best way to produce a new logo for this page.

@minrk @cameronoelsen I adjusted the clemson.svg to remove the color and background color. Hopefully this PR meets your specs now? Thanks!

Looks like the right size and color.


feature: Update Mailbox Controller to create syncerconfigs in KubeStellar namespace

Feature Description
The Mailbox Controller will no longer have MBS workspaces/spaces to create and maintain syncerconfigs.
Proposed Solution
Mailbox Controller needs to create and maintain syncerconfigs in the KubeStellar namespace
Want to contribute?

[ ] I would like to work on this issue.

Additional Context
No response

@clubanderson pluggable-transport should implement upsync, but this is out of scope in phase 1.
for downsync only, there is no syncer config.. so I'm not sure this is relevant for next sprint.

gotcha - let me re-title and push to next spring for discussion

out of scope for ks-0.20 for phase1. will be discussed in preparation for phase2.
pushed for later sprint.


cut the first release

v.1.0.0 should be released ASAP

Lets get that readme & license fixed and then do the cut


Change in folder scafolding

The new PR has a merge conflict at wings/model/parsers/parser.py file where the current file has a line of code from wings.model.parsers.utils import df_to_jsonObject which is missing from the PR incoming changes. Should this line be removed or be kept along with the incoming changes?
<<<<<<< HEAD
from wings.model.parsers import states_daily_parser as sdp
from wings.model.parsers import state_district_wise_parser as sdwp
from wings.model.parsers import model as m
from wings.model.parsers.utils import df_to_jsonObject
=======
from model.parsers import states_daily_parser as sdp
from model.parsers import state_district_wise_parser as sdwp
from model.parsers import model as m
>>>>>>> 202f0349ebca3c02b6a9e50ec118fb01f94c5c00

Every change that I have made should override the existing code. So, there is no need for importing df_to_jsonobject in the parser.py as I have moved the functionalities to an additional service layer.


NOJIRA: Add "Contributor Covenant" code of conduct

Checklist

[x] the individual contributor license agreement is signed
[x] commit message follows commit guidelines
[x] documentation is changed or added

Description of change

Adds the "Contributor Covenant" code of conduct to uPortal.
Alternative to #926.

Why do we need a Code of Conduct?

@drewwills see https://groups.google.com/a/apereo.org/d/msg/uportal-dev/hJas1FdYW1w/Zy71sMMMAgAJ


Multi level

Added sample code structure. Suggest changes if any.

The following could be a better format for config file
<number of levels>
<L1 cache policy> <cs> <bs> <sa>
<L2 cache policy> <cs> <bs> <sa>
...

Introducing two modes could be good: debug and non-debug.

Runs into a supposedly infinite loop. Needs debugging.


Let the client decide when to ask for microphone permissions

Hey ,
it's a good approach (product-wise) to ask users for permissions in the right context. (a read for example)
In our case the right context is when the user first tries to initiate a call but in the current design there's no way to do this. we alwyas request it

a possible solution can be adding a shouldAskForMicPermissions flag to the init method
with a default value of true , giving the clients the ability to decide if they want to ask for permissions by themselves

@fabriziomoscon let me know what you think , and also if you want me to create such a PR?
Thanks :)

well , I guess my case is more specific as my app only allows outgoing calls and can't receive calls.
I guess we can wait with initializing the library to the moment customer initiate a phone call.
still have to check that library initialization is idempotent , otherwise app should keep a special state for the library so it won't get initialized more than once.
in addition , need to check that it doesn't affects customer experience when initializing a phone.

@slootzky as specified here:
https://github.com/twilio/voice-quickstart-android#managing-expiry
you can initialize the library before making each outbound call.
I think it is a good approach to add a parameter to the init() method so that library users can decide to opt out, extra checks must be put in place to stop calls when microphone permissions are not granted.
Feel free to send a PR.

let me know what you think


Add a short introduction

To improve the look on the pkic resources page

You can also add a summary in the front matter, this will be used over the page abstract.

Moved


Ortholog module: download alignments

Users might like to download aligned sequences, if there is any way to implement this. ..?

Download button will now link to the raw fasta file from ebi


feat(my collection): dynamic helper text

The type of this PR is: Enhancement
This PR resolves CX-776
Description
Builds text based on artist, category and size in the Price and market insights subsection.

PR Checklist (tick all before merging)

[x] I have included screenshots or videos to illustrate my changes, or I have not changed anything that impacts the UI.
[x] I have added tests for my changes, or my changes don't require testing, or I have included a link to a separate Jira ticket covering the tests.
[x] I have documented any follow-up work that this PR will require, or it does not require any.
[x] I have added an app state migration, or my changes do not require one. (What are migrations?)
[x] I have added a CHANGELOG.yml entry or my changes do not require one.

Looking good 👍
Only one minor comment and I am not sure if it's valid, but I think Joanna wanted to use the same text as in force.

Yes, true - I just realised that Force has <Artist Name>, <size bucket> <Category>, although the ticket says "Andy Warhol Photography size small" (I inserted the commas). Let's see what Joanna says (I'll ping her on the ticket)

Let's merge this now since it is matching the ticket requirements and follow up to change the text later if that's what joanna wants


⚠ Bofrost.lu has degraded performance

In cb1368d, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1826 ms

Resolved: Bofrost.lu performance has improved in ecb8088 after 7 minutes.


Can't drop nodes onto an empty tree, placeholder blocks it.

I have tested it on the demo page, and both in connected trees and in cloning, if you delete all nodes on tree2, you can't drop the first tree nodes onto it. So far I've figured that if I increase the padding size of the tree div with css, I can now drop nodes onto the new extended part, but not onto the placeholder image.
If you are having this problem, I recommend using the directive data-empty-placeholder-enabled="false", and style the element with ui-tree directive to have an appropriate size.
there is probably some better way to workaround this, like overriding css of the placeholder class, but i'm not proficient enough to figure it out.

I guess you have the same issue as addressed in #755
It was fixed but for some reason now is not included in v2.17, you can patch it by introducing the code that fixes it, described in https://github.com/angular-ui-tree/angular-ui-tree/pull/738/files

#755 code is in the current version of this module.  Does that code fix the issue or is PR #738 still needed?

Hi @jacobscarter ,
I don't see this code mentioned in the current version.
There was a fix in
https://github.com/angular-ui-tree/angular-ui-tree/pull/738/files#r60955690
with code:
 elementIsEmptyTree: function (element) {
    return element.attr('class') == "angular-ui-tree-empty";

but in the current release doesn't appear, not in
https://github.com/angular-ui-tree/angular-ui-tree/blob/master/source/services/helper.js
neither in
https://github.com/angular-ui-tree/angular-ui-tree/blob/master/dist/angular-ui-tree.js
maybe I'm missing something?? I added this code manually as a patch and it works.
Best

Roger that, I don't see it in there either, we will get #738 reviewed and merged in ASAP


Deal with errors during log file creation

New Pull Request Checklist

[x] I have read and understood the CONTRIBUTING guide

[x] I have read the Documentation

[x] I have searched for a similar pull request in the project and found none

[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[] I have added the required tests to prove the fix/feature I am adding

[x] I have updated the documentation (if necessary)

[ ] I have run the tests and they pass

[ ] I have run the lint and it passes (pod lib lint)

This merge request fixes / refers to the following issues: #1103
Pull Request Description
As outlined in #1103, we might return nil from -[DDLogFileManagerDefault createNewLogFile] if critical errors occurred a few times in a row.
I've changed the API now to allow propagating the errors (since DDLogFileManager is a protocol) and deal with them in DDFileLogger. Still, the nullability annotation of currentLogFileInfo had to change to nullable since we have to return null there, if the creation of a log file fails.

          2 Warnings

:warning:
Any changes to library code should be reflected in the CHANGELOG. Please consider adding a note there about your change.

:warning:
The library files were changed, but the tests remained unmodified. Consider updating or adding to the tests to match the library changes.

  Generated by :no_entry_sign: Danger


Add proxy support through options

from pypdl import Downloader

def main():
    # create a new downloader object
    dl = Downloader()

    # Use custom headers to set user-agent
    dl.headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0"}
    # Use custom proxies
    dl.proxies = {
                    "http": "http://<IP_ADDRESS>:3128",
                    "https": "https://<IP_ADDRESS>:1080",
                }
    # Use authentication for proxy
    dl.auth = ("user","pass")

    # start the download
    dl.start(
        url='https://speed.hetzner.de/100MB.bin',
        filepath='100MB.bin',
        num_connections=10,
        display=True,
        multithread=True,
        block=True,
        retries=3,
        retry_func=None,
    )

if __name__ == '__main__':
    main()

added support for using proxy, you can also pass the proxy by passing it as a parameter to Downloader()


fix attrs colors not being used

has the side effect of turning the cursor and highlight the color of the text. I can't find where that draw happens, is it upstream?
fixes #10

Yes, it's upstream: https://github.com/pop-os/cosmic-text/blob/main/src/edit/editor.rs#L743


Hyprlock or Swaylock is not usable after session-lock's new impl

Hyprland Version
 System/Version info
Hyprland, built from branch test at commit d7a48cf47816041c5cb705c9de218c3395635822 dirty (hyprctl: use XDG_RUNTIME_DIR if available).
Date: Tue Apr 30 20:17:35 2024
Tag: v0.39.1-110-gd7a48cf4, commits: 4570

flags: (if any)

System Information:
System name: Linux
Node name: <IP_ADDRESS>
Release: 6.8.8-200.fc39.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Sat Apr 27 17:42:13 UTC 2024

GPU information:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU116M [GeForce GTX 1660 Ti Mobile] [10de:2191] (rev a1) (prog-if 00 [VGA controller])
07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir [Radeon RX Vega 6 (Ryzen 4000/5000 Mobile Series)] [1002:1636] (rev c6) (prog-if 00 [VGA controller])

os-release: NAME="Fedora Linux"
VERSION="39 (Workstation Edition)"
ID=fedora
VERSION_ID=39
VERSION_CODENAME=""
PLATFORM_ID="platform:f39"
PRETTY_NAME="Fedora Linux 39 (Workstation Edition)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:39"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f39/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://bugzilla.redhat.com/"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=39
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=39
SUPPORT_END=2024-11-12
VARIANT="Workstation Edition"
VARIANT_ID=workstation

plugins:
  hyprsplit by shezdy ver 1.0

Bug or Regression?
Bug
Description
As I have described in the hyprlock issue, hyprlock or swaylock will crash and auto unlock after a few minutes (10 or so). I have tried to narrow it down to the commit 90e1411 which is the root of the problem.
How to reproduce

Build Hyprland from this commit  90e1411 or above.
Run the hyprlock from the terminal.

Crash reports, logs, images, videos
hyprlock log, the detailed one you can find in this issue
[LOG] [core] dmabufFeedbackMainDevice
[LOG] output 52 make LG Display model 0x05FE
[LOG] output 52 name eDP-1
[LOG] output 52 description LG Display 0x05FE (eDP-1)
[LOG] output 52 done
[LOG] Running on Hyprland
[LOG] Locking session
[ERR] Pam module "hyprlock" not found! Falling back to "su"
[WARN] Extension: .png
[LOG] eglQueryDmaBufModifiersEXT found 8 mods
[LOG] bo chose modifier 0
[LOG] onLockFinished called. Seems we got yeeten. Is another lockscreen running?
[LOG] Got dma frame with size [Vector2D: x: 1920, y: 1080]
[LOG] PAM_PROMPT: Password:

Workaround
Build Hyprland with commit d7a48cf

can you give hyprland.log

This log uses the latest git to reproduce the bug
hyprland.log

can you get the log with timestamps? From what I understand the lock just goes away after a while but the lock process (e.g. swaylock) is still running?

well, I've ran hyprlock for 4h and it hasn't happened to me. I'll need more info.

Sorry for the late response.

From what I understand the lock just goes away after a while but the lock process (e.g. swaylock) is still running?

https://github.com/hyprwm/Hyprland/assets/85359791/4431f434-e955-42a4-8e3b-6d0006cb8eb6
Yes
This is log with timestamps - hyprland.log

patch.txt
try this patch

I have tested the patch with two branches a8a04c74 and 2bcc8d30 but can't test on the latest git due to from ec092bd and above result in fail when building. But can confirm that the patch works.


Chat - Unavailable to access an account detail page via the header of conversation

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.81-5
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Go to https://staging.new.expensify.com/
Log in with any user
Create a group with 2 other accounts you have access
Navigate to the created conversation and access  account detail page via the header

Expected Result:
Available to access the  account details page via the header
Actual Result:
Unavailable to access an account detail page via the header of created conversation
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop
[x] Windows: Chrome

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Windows: Chrome

https://github.com/Expensify/App/assets/78819774/fa6ffdb8-f754-4bb2-902f-df369c1ead2e

View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Switching to Daily as a not a blocker according to @techievivek

Going to close this as this is an expected behaviour, we will need to update the regression tests for group chat which we will do as part of the original GH: https://github.com/Expensify/App/issues/27394


Lazy sinks returned

This would require rdfjs-base/sink-map#12, and similarly brings together the changes I made while working on the rdf-esm fork.
 I'll elaborate in code comments

Codecov Report
Base: 100.00% // Head: 97.10% // Decreases project coverage by -2.89% :warning:

Coverage data is based on head (d691482) compared to base (699414e).
Patch coverage: 96.72% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##            master      #12      +/-   ##
===========================================
- Coverage   100.00%   97.10%   -2.90%
===========================================
  Files            3        3
  Lines           52       69      +17
===========================================
+ Hits            52       67      +15
- Misses           0        2       +2

Impacted Files
Coverage Δ

parsers.js
91.30% <91.30%> (ø)

index.js
100.00% <100.00%> (ø)

serializers.js
100.00% <100.00%> (ø)

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.

As mentioned in the issue #3 , this feature will not be added to the package.


Скласти додаткові інформаційні блоки

Можна зробити резюме менш формальним, додавши додаткові блоки, які містять корисну інформацію, але подають її в "розважальній" формі. Наприклад, що подобається і не подобається, сильні і слабкі сторони, перелік навиків чи хобі, інфографіка або ж інтерактивні модулі, тощо. Варто написати контент такого блоку раніше, ніж починати верстку, бо його розміри впливатимуть на розміщення елементів на сторінці.

EXPERIENCE
25th September 2005
Shipping Department at The Pawtucket Brewery
working for a mentally handicapped man whom he can’t understand, but is more qualified than him
19th September 2001 – 31st October 2005
Fisherman at The S.S. More Powerful Than Superman, Batman, Spider-Man, and The Incredible Hulk Put Together
catch fish, ride a boat, don't wreck it (failed)
31st January 1999 – 5th September 2001
Line worker at Happy-Go-Lucky Toy Factory
check the line for dangerous toys

PERSONALITY
An I.Q. test confirms that his low intellect places him in a category below mentally retarded.
He rushes off to attend Quahog College just to count to three.
His mental shortcomings have resulted in various accidents to other people; most notably the death of his step-father Francis Griffin, and injuries on multiple occasions to his wife Lois.
His attention span is also incredibly short.
Given his short attention span, as well as his erratic and frequently inappropriate behavior, it is conceivable that Peter suffers from Attention Deficit Hyperactivity Disorder, or ADHD.
In addition, Peter is often seen getting hurt mostly by his own fault. When trying to impress Chris with his forward-thinking, Peter claims it is still 1988.
He is incredibly jealous of other attractions Lois has in her life, an attitude that tends to get out of hand in most cases; he goes so far as to punch his reflection in the mirror after Lois comments on it being handsome.
However, he seems not to mind the fact that she slept with other men before they met, just so long as she doesn't do so again; he is particularly proud of the fact that she once slept with Gene Simmons of Kiss when he discovers this, but forbids any sexual activity between the two now .
Among the members of his family, he tends to treat Meg with the least respect; he reminisces about the various pranks he played on her, including tripping her, flicking her nose with his finger, and even shooting her at one point. Also, he wipes a boogie on her hat saying
"Hey Meg...proud of you"
He is known to embarrass her at times and with things that mean the most to Meg; the entire family once huddled together to read her diary and continue after Meg catches them.


Update custom_domains.py

Description
Please provide a clear and concise description of your pull request, including:

The changes made
The reason for the changes
Any relevant background information

Related Issues
Please link any related issues that your pull request addresses or closes.
Checklist

[ ] I have read and followed the contributing guidelines.
[ ] I have tested my changes.
[ ] I have updated the documentation, if necessary.

Additional Information
Any additional information you would like to provide.

هر و دامنه در لیست هست لطفا قبل از PR دادن چک کنید.


Initial MRT implementation for WebGPU

partially implements: https://github.com/playcanvas/engine/issues/4230
Initial multi render target rendering using WebGPU. This allows a single draw call to be rendered into more than one color buffer.
New API:

GraphicsDevice. supportsMrt - true if MRT is supported, which is WebGPU only for now, soon WebGL2 and WebGL1 with an extension.

options passed to RenderTarget constructor can contain: options.colorBuffers - The textures that this render target will treat as a rendering surfaces. If this option is set, the colorBuffer option is ignored.

RenderTarget.getColorBuffer(index) - returns color buffer with index. This is in addition to existing RenderTarget.colorBuffer, which returns buffer with index 0.

new shader chunk OutputPS, empty by default. Override allows output to additional color buffers.

Basic usage:

set up chunk that uses a shader pass to output data into additional color outputs:

material.chunks.outputPS = `
  #ifdef MYMRT_PASS
      // optionally override value in pcFragColor0 if needed, otherwise outputs the standard shader output
      pcFragColor1 = vec4(litShaderArgs.worldNormal * 0.5 + 0.5, 1.0);
  #endif
`;

create render target with multiple buffers

  const renderTarget = new pc.RenderTarget({
      colorBuffers: [texture0, texture1],
      depth: true
  });

enable shader pass that matches the shader chunk on a camera using the render target:

    textureCamera.camera.setShaderPass('MyMRT');

Render pass tracing

Example: MRT
https://github.com/playcanvas/engine/assets/59932779/87254539-08a8-4039-88a3-72701829daec

Do we need public API that specifies the max number of draw buffers supported?

Do we need public API that specifies the max number of draw buffers supported? Presumably this can vary.

Yes, definitely, I added it to my list and will add it in the WebGL implementation of MRT soon.

@mvaligursky  how do you visualize "Render pass tracing"?

@mvaligursky how do you visualize "Render pass tracing"?

Check the Tracking docs, I think this is what you're after?
https://developer.playcanvas.com/en/api/pc.Tracing.html