text:
self parameter is None in resolver methods

In an example like this,
import strawberry

@strawberry.type
class Query:

    @strawberry.field
    def test_field(self) -> str:
        return "Hello"

    @strawberry.field
    def test_field2(self) -> str:
        assert self is None # <= True :(
        return str(self)

    @strawberry.field
    def test_field3(self, test_param: str) -> str:
        assert self is None # <= True still :(
        print(self)
        print(test_param)
        return str(self)

schema = strawberry.Schema(query=Query)

I noticed while trying to use instance attributes that self isn't actually passed into the method. Are the Query, Mutation, and Subscription class instances actually passed back into the methods?
A couple things to note here,

Notice I have no parameters on the test_field2 resolver method.
Notice the same behavior even with parameter(s) in test_field3 resolver method.
This behaves the same when overriding __init__. Does overriding the initializer function break anything?
Unknown behavior on Mutation and Subscription type classes.

Personally I can work around this using dependency injection, but I wanted to bring it up. The reason being, is because I noticed that on your documentation, the examples you provide (like in the README, or on the website home page) also contain the self parameter in the resolver functions, although not actually utilized in the examples.
Reproduction is simple, just try one of your examples, modified to utilize the self parameter, or the example I've copied above, and run it with:
strawberry server <module_name>

I'm not sure when the problem first started occurring, I've only been playing with this library for a couple days.
I'm using the latest version of strawberry from PyPI. My python environment is running python 3.8. I'm running it on WSL 2.
I haven't had time to inspect the source code, but I will try if I get some free time. School starts again tomorrow... 📚🥱
Thanks!

Upvote & Fund

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

Another quick note,
Actually taking an instance of Query actually does pass a self parameter, as expected.
import strawberry

@strawberry.type
class Query:
    @strawberry.field
    def test_field(self) -> str:
        return "Hello"
    @strawberry.field
    def test_field2(self) -> str:
        print(self)
        return str(self)
    @strawberry.field
    def test_field3(self, test_param: str) -> str:
        print(self)
        print(test_param)
        return str(self)

q = Query()
assert q.test_field2() == 'None' # <= AssertionError! So `self` isn't None!

This leads me to believe that the resolver engine doesn't actually use instances of classes while executing resolver methods. If I had to take one stab at a possible fix, it would be to pass instances into strawberry.Schema(...) instead of types. You can still gain types from instances, so this should be a nice explicit way to pass an instance, and hang on to it to let the resolver methods receive a true self instance. Maybe this isn't possible due to GraphQL implementation.
q = Query()
#m = Mutation()
#s = Subscription()

schema = strawberry.Schema(query=q)

(I'll make note that if you run this example now, it seems like strawberry.Schema(...) still takes only the type of the query object)
That's just an idea making many assumptions, and I don't know enough of how strawberry works to make a valid argument here. What are your thoughts?

Another quick note,
Actually taking an instance of Query actually does pass a self parameter, as expected.
import strawberry

@strawberry.type
class Query:
    @strawberry.field
    def test_field(self) -> str:
        return "Hello"
    @strawberry.field
    def test_field2(self) -> str:
        print(self)
        return str(self)
    @strawberry.field
    def test_field3(self, test_param: str) -> str:
        print(self)
        print(test_param)
        return str(self)

q = Query()
assert q.test_field2() == 'None' # <= AssertionError! So `self` isn't None!

This leads me to believe that the resolver engine doesn't actually use instances of classes while executing resolver methods. If I had to take one stab at a possible fix, it would be to pass instances into strawberry.Schema(...) instead of types. You can still gain types from instances, so this should be a nice explicit way to pass an instance, and hang on to it to let the resolver methods receive a true self instance. Maybe this isn't possible due to GraphQL implementation.
q = Query()
#m = Mutation()
#s = Subscription()

schema = strawberry.Schema(query=q)

(I'll make note that if you run this example now, it seems like strawberry.Schema(...) still takes only the type of the query object)
That's just an idea making many assumptions, and I don't know enough of how strawberry works to make a valid argument here. What are your thoughts?

@AadamZ5 yep this is a known issue and it's because the resolver functions are actually static methods. It was discussed briefly here: https://github.com/strawberry-graphql/strawberry/discussions/515
You can "fix" it by setting the root_value parameter when executing a query as an instance of the Query type:
result = schema.execute(query, root_value=Query())

(for the framework integrations you can override the get_root_value functions: https://strawberry.rocks/docs/django/#get_root_value)

I'm in favour or defaulting the root value to always be an instance of the Query type so that this doesn't confuse more people. I think we agreed on that approach @patrick91 ?

@AadamZ5 yep this is a known issue and it's because the resolver functions are actually static methods. It was discussed briefly here: https://github.com/strawberry-graphql/strawberry/discussions/515
You can "fix" it by setting the root_value parameter when executing a query as an instance of the Query type:
result = schema.execute(query, root_value=Query())

(for the framework integrations you can override the get_root_value functions: https://strawberry.rocks/docs/django/#get_root_value)

I'm in favour or defaulting the root value to always be an instance of the Query type so that this doesn't confuse more people. I think we agreed on that approach @patrick91 ?

I'm in favour or defaulting the root value to always be an instance of the Query type so that this doesn't confuse more people. I think we agreed on that approach @patrick91 ?

I wonder if that might be a problem or not due to potential side effects 🤔

I'm in favour or defaulting the root value to always be an instance of the Query type so that this doesn't confuse more people. I think we agreed on that approach @patrick91 ?

I wonder if that might be a problem or not due to potential side effects 🤔

I'm in favour or defaulting the root value to always be an instance of the Query type so that this doesn't confuse more people. I think we agreed on that approach @patrick91 ?

As long as it's a shared instance, and not a newly generated one for each individual query. I think having the self parameter work as expected is important, otherwise it should be documented how these functions don't get a self parameter by default. If documenting, where should that information be put? The first instance @strawberry.field is used for a resolver is in Schema basics | The Mutation Type.
Right now, I'm not using any sort of framework. I am simply playing with the strawberry server app test server. So I'm not exactly sure how I'd even pass in root_value or override any get_root_value function. Eventually I want to integrate strawberry with some sort of Flask implementation on my app. I'll need to serve both a webpage and strawberry as an API.

I'm in favour or defaulting the root value to always be an instance of the Query type so that this doesn't confuse more people. I think we agreed on that approach @patrick91 ?

As long as it's a shared instance, and not a newly generated one for each individual query. I think having the self parameter work as expected is important, otherwise it should be documented how these functions don't get a self parameter by default. If documenting, where should that information be put? The first instance @strawberry.field is used for a resolver is in Schema basics | The Mutation Type.
Right now, I'm not using any sort of framework. I am simply playing with the strawberry server app test server. So I'm not exactly sure how I'd even pass in root_value or override any get_root_value function. Eventually I want to integrate strawberry with some sort of Flask implementation on my app. I'll need to serve both a webpage and strawberry as an API.

As long as it's a shared instance, and not a newly generated one for each individual query.

@AadamZ5 what do you mean by that? In my mind the Query instance would be created each time execute is called. I think that makes the most sense.

Right now, I'm not using any sort of framework. I am simply playing with the strawberry server app test server. So I'm not exactly sure how I'd even pass in root_value or override any get_root_value function.

Ah yeah it's not possible to customise the root value when using the dev server. You will have to setup a custom view inside Flask to be able to do that.

Also I realised that defaulting the root value to an instance of Query will only work for queries and is not possible for Mutations (or Subscriptions though I'd have to check that). Thats because the GraphQL execute method doesn't differentiate between queries and mutations (in fact you can execute a query and a mutation at the same time). For mutations I think we should be leaning into people defining their mutations as static functions anyway so maybe it's not such a big deal.

As long as it's a shared instance, and not a newly generated one for each individual query.

@AadamZ5 what do you mean by that? In my mind the Query instance would be created each time execute is called. I think that makes the most sense.

Right now, I'm not using any sort of framework. I am simply playing with the strawberry server app test server. So I'm not exactly sure how I'd even pass in root_value or override any get_root_value function.

Ah yeah it's not possible to customise the root value when using the dev server. You will have to setup a custom view inside Flask to be able to do that.

Also I realised that defaulting the root value to an instance of Query will only work for queries and is not possible for Mutations (or Subscriptions though I'd have to check that). Thats because the GraphQL execute method doesn't differentiate between queries and mutations (in fact you can execute a query and a mutation at the same time). For mutations I think we should be leaning into people defining their mutations as static functions anyway so maybe it's not such a big deal.

@AadamZ5 what do you mean by that? In my mind the Query instance would be created each time execute is called. I think that makes the most sense.

I was planning to use instance variables on the Query object for storing data and instances of services. I was trying to use it more as a python class rather than a GraphQL static query object. In my application, I tend to use instances of everything, rather than static objects, so that's just the idea that was in my head. My goal was to inject and retain my "device" service on to the Query instance, so the resolver methods could use it for gathering the data, which is how I stumbled into the topic of this issue. Maybe I have the wrong idea as to how and why it should work that way. Regardless, I can solve my issue with dependency-injecting in every resolver method, even if it is some repeated code.

Ah yeah it's not possible to customise the root value when using the dev server. You will have to setup a custom view inside Flask to be able to do that.

This brings me to another topic I'd like to discuss. Do you have a roadmap for when we can expect more usage examples? For instance, I see some code for ASGI implementation with uvicorn and such, but no examples for Flask (although I am new to Flask as well...), and I was really hoping to eventually see examples of using the library without any big frameworks too. I believe this could be done using schema.execute(...). This definitely goes beyond the topic of this issue, but I didn't think it warranted me opening yet another issue.

Also I realised that defaulting the root value to an instance of Query will only work for queries and is not possible for Mutations (or Subscriptions though I'd have to check that). Thats because the GraphQL execute method doesn't differentiate between queries and mutations (in fact you can execute a query and a mutation at the same time). For mutations I think we should be leaning into people defining their mutations as static functions anyway so maybe it's not such a big deal.

With this info, my opinion is that all of the root-level objects (Query, Mutation, Subscription) should be structured and behave the same. If the other two root-level objects can't actually receive an instance of themselves, then none of them should, for consistency. In other words, I believe you should lean into people defining every resolver method as static. I believe I discussed this on #515.
Loving this library so far! I hope I'm not being a nuisance, or asking some un-useful questions! I'm trying to get involved more but I don't have a bunch of professional experience, so bear with me if something I ask is... seemingly obvious. Thanks!

@AadamZ5 what do you mean by that? In my mind the Query instance would be created each time execute is called. I think that makes the most sense.

I was planning to use instance variables on the Query object for storing data and instances of services. I was trying to use it more as a python class rather than a GraphQL static query object. In my application, I tend to use instances of everything, rather than static objects, so that's just the idea that was in my head. My goal was to inject and retain my "device" service on to the Query instance, so the resolver methods could use it for gathering the data, which is how I stumbled into the topic of this issue. Maybe I have the wrong idea as to how and why it should work that way. Regardless, I can solve my issue with dependency-injecting in every resolver method, even if it is some repeated code.

Ah yeah it's not possible to customise the root value when using the dev server. You will have to setup a custom view inside Flask to be able to do that.

This brings me to another topic I'd like to discuss. Do you have a roadmap for when we can expect more usage examples? For instance, I see some code for ASGI implementation with uvicorn and such, but no examples for Flask (although I am new to Flask as well...), and I was really hoping to eventually see examples of using the library without any big frameworks too. I believe this could be done using schema.execute(...). This definitely goes beyond the topic of this issue, but I didn't think it warranted me opening yet another issue.

Also I realised that defaulting the root value to an instance of Query will only work for queries and is not possible for Mutations (or Subscriptions though I'd have to check that). Thats because the GraphQL execute method doesn't differentiate between queries and mutations (in fact you can execute a query and a mutation at the same time). For mutations I think we should be leaning into people defining their mutations as static functions anyway so maybe it's not such a big deal.

With this info, my opinion is that all of the root-level objects (Query, Mutation, Subscription) should be structured and behave the same. If the other two root-level objects can't actually receive an instance of themselves, then none of them should, for consistency. In other words, I believe you should lean into people defining every resolver method as static. I believe I discussed this on #515.
Loving this library so far! I hope I'm not being a nuisance, or asking some un-useful questions! I'm trying to get involved more but I don't have a bunch of professional experience, so bear with me if something I ask is... seemingly obvious. Thanks!

Also I realised that defaulting the root value to an instance of Query will only work for queries and is not possible for Mutations (or Subscriptions though I'd have to check that). Thats because the GraphQL execute method doesn't differentiate between queries and mutations (in fact you can execute a query and a mutation at the same time). For mutations I think we should be leaning into people defining their mutations as static functions anyway so maybe it's not such a big deal.

That's annoying, so basically there would always one root value? I wonder if can do that (and if we should). From what I understood the GraphQL spec don't specify what the very first root value should be, maybe we can see if there's any other framework that do things differently?

Regardless, I can solve my issue with dependency-injecting in every resolver method, even if it is some repeated code.

@AadamZ5 maybe you can use info.context for that?

Do you have a roadmap for when we can expect more usage examples?

This is something we discussed in another issue related to subscriptions, we made a repo for adding examples, but we haven't started yet, feel free to suggest examples, I've added some ideas here: https://github.com/strawberry-graphql/examples/issues/1

This definitely goes beyond the topic of this issue, but I didn't think it warranted me opening yet another issue.
Feel free to open an issue or discussion, or join our discord http://strawberry.rocks/discord 😊

With this info, my opinion is that all of the root-level objects (Query, Mutation, Subscription) should be structured and behave the same. If the other two root-level objects can't actually receive an instance of themselves, then none of them should, for consistency. In other words, I believe you should lean into people defining every resolver method as static. I believe I discussed this on #515.

I think that makes sense, I'm personally only worried that having something like this:
@strawberry.type
class A:
    @strawberry.field
    def field_a() -> str:
       return "Example"

Might look weird to beginners as they would expect a self argument, but maybe I'm worrying too much.

Loving this library so far! I hope I'm not being a nuisance, or asking some un-useful questions! I'm trying to get involved more but I don't have a bunch of professional experience, so bear with me if something I ask is... seemingly obvious. Thanks!

No worries at all, feel free to ask any question you have in mind (here or on discord)!

Also I realised that defaulting the root value to an instance of Query will only work for queries and is not possible for Mutations (or Subscriptions though I'd have to check that). Thats because the GraphQL execute method doesn't differentiate between queries and mutations (in fact you can execute a query and a mutation at the same time). For mutations I think we should be leaning into people defining their mutations as static functions anyway so maybe it's not such a big deal.

That's annoying, so basically there would always one root value? I wonder if can do that (and if we should). From what I understood the GraphQL spec don't specify what the very first root value should be, maybe we can see if there's any other framework that do things differently?

Regardless, I can solve my issue with dependency-injecting in every resolver method, even if it is some repeated code.

@AadamZ5 maybe you can use info.context for that?

Do you have a roadmap for when we can expect more usage examples?

This is something we discussed in another issue related to subscriptions, we made a repo for adding examples, but we haven't started yet, feel free to suggest examples, I've added some ideas here: https://github.com/strawberry-graphql/examples/issues/1

This definitely goes beyond the topic of this issue, but I didn't think it warranted me opening yet another issue.
Feel free to open an issue or discussion, or join our discord http://strawberry.rocks/discord 😊

With this info, my opinion is that all of the root-level objects (Query, Mutation, Subscription) should be structured and behave the same. If the other two root-level objects can't actually receive an instance of themselves, then none of them should, for consistency. In other words, I believe you should lean into people defining every resolver method as static. I believe I discussed this on #515.

I think that makes sense, I'm personally only worried that having something like this:
@strawberry.type
class A:
    @strawberry.field
    def field_a() -> str:
       return "Example"

Might look weird to beginners as they would expect a self argument, but maybe I'm worrying too much.

Loving this library so far! I hope I'm not being a nuisance, or asking some un-useful questions! I'm trying to get involved more but I don't have a bunch of professional experience, so bear with me if something I ask is... seemingly obvious. Thanks!

No worries at all, feel free to ask any question you have in mind (here or on discord)!

That's annoying, so basically there would always one root value? I wonder if can do that (and if we should). From what I understood the GraphQL spec don't specify what the very first root value should be, maybe we can see if there's any other framework that do things differently?

As far as I'm aware yes, there will only be one root value. The root value can be anything you want it to be but I think it's fair for Strawberry to default it to something if it makes sense within the context of the library. I don't think other frameworks suffer from the same problem because they treat resolvers as static methods or they don't have the same python convention of self. Graphene suffers from this confusion as well so it would be great if we could avoid it in Strawberry.

I think that makes sense, I'm personally only worried that having something like this:
@strawberry.type
class A:
    @strawberry.field
    def field_a() -> str:
       return "Example"

Might look weird to beginners as they would expect a self argument, but maybe I'm worrying too much.

Because we have the @strawberry.field decorator omitting the self parameter might not be so confusing but I remember someone saying that editors like PyCharm will assume that the method should have a self parameter and show an error if it doesn't have one. I think mypy also complains.

Loving this library so far! I hope I'm not being a nuisance, or asking some un-useful questions! I'm trying to get involved more but I don't have a bunch of professional experience, so bear with me if something I ask is... seemingly obvious. Thanks!

You're not being a nuisance at all! It's great to question these assumptions and it's always helpful to hear the problems that new users have. It's easy to miss these things once you've been working on it for a while.

Another option would be to change how the root types are constructed to avoid having to define a type at all. For example:
import strawberry

@strawberry.field
def get_current_user(info) -> User:
	return User(username="jkimbo")

@strawberry.field
def get_user_by_username(username: str) -> User:
	return User(username=username)

@strawberry.mutation
def add_user(info, username: str) -> User:
	return User(username=username)

schema = strawberry.Schema(
	queries=[get_current_user, get_user_by_username],
	mutations=[add_user]
)

This way it's not surprising that get_current_user and add_user don't have a self parameter. I personally think this is a better way of defining Mutations but it could also be applied to defining the Query type. It doesn't change how other types are constructed, just the root types.

That's annoying, so basically there would always one root value? I wonder if can do that (and if we should). From what I understood the GraphQL spec don't specify what the very first root value should be, maybe we can see if there's any other framework that do things differently?

As far as I'm aware yes, there will only be one root value. The root value can be anything you want it to be but I think it's fair for Strawberry to default it to something if it makes sense within the context of the library. I don't think other frameworks suffer from the same problem because they treat resolvers as static methods or they don't have the same python convention of self. Graphene suffers from this confusion as well so it would be great if we could avoid it in Strawberry.

I think that makes sense, I'm personally only worried that having something like this:
@strawberry.type
class A:
    @strawberry.field
    def field_a() -> str:
       return "Example"

Might look weird to beginners as they would expect a self argument, but maybe I'm worrying too much.

Because we have the @strawberry.field decorator omitting the self parameter might not be so confusing but I remember someone saying that editors like PyCharm will assume that the method should have a self parameter and show an error if it doesn't have one. I think mypy also complains.

Loving this library so far! I hope I'm not being a nuisance, or asking some un-useful questions! I'm trying to get involved more but I don't have a bunch of professional experience, so bear with me if something I ask is... seemingly obvious. Thanks!

You're not being a nuisance at all! It's great to question these assumptions and it's always helpful to hear the problems that new users have. It's easy to miss these things once you've been working on it for a while.

Another option would be to change how the root types are constructed to avoid having to define a type at all. For example:
import strawberry

@strawberry.field
def get_current_user(info) -> User:
	return User(username="jkimbo")

@strawberry.field
def get_user_by_username(username: str) -> User:
	return User(username=username)

@strawberry.mutation
def add_user(info, username: str) -> User:
	return User(username=username)

schema = strawberry.Schema(
	queries=[get_current_user, get_user_by_username],
	mutations=[add_user]
)

This way it's not surprising that get_current_user and add_user don't have a self parameter. I personally think this is a better way of defining Mutations but it could also be applied to defining the Query type. It doesn't change how other types are constructed, just the root types.

Another option would be to change how the root types are constructed to avoid having to define a type at all. For example:
I'd avoid this, query, mutation and subscription are special types, but not that special enough to treat them different I think 🤔

Maybe I can try and see if I can find a way to pass the correct self to queries, mutations and subscriptions, even when sending multiple operations at once, if that's possible. What do you think?

Another option would be to change how the root types are constructed to avoid having to define a type at all. For example:
I'd avoid this, query, mutation and subscription are special types, but not that special enough to treat them different I think 🤔

Maybe I can try and see if I can find a way to pass the correct self to queries, mutations and subscriptions, even when sending multiple operations at once, if that's possible. What do you think?

I'd avoid this, query, mutation and subscription are special types, but not that special enough to treat them different I think 🤔

I agree with this statement too. The query, mutation, and subscription types are important, and shouldn't just be a list IMO. The extra functionality of a class (even as a static one) might be important to a lot of users.

Maybe I can try and see if I can find a way to pass the correct self to queries, mutations and subscriptions, even when sending multiple operations at once, if that's possible. What do you think?

If the root-level query objects (query, subscription, mutation) get an instance of themselves in self, then that would be great. I think a lot of new users would expect it to work this way before they read the docs, however that doesn't fully justify that it should be done.
One thing I think you should consider as the project evolves (beyond what it has already): Is this library going to build GraphQL in Python, or make Python effortlessly turn into GraphQL? For example, the self parameter makes this library feel more like a standard "python thing", and it works how every new user would assume before they read the docs more. If the library deviates from the self parameter and functions how GraphQL natively does, with context parameters and logically static resolvers, then you deviate from the initial ideas most Python users have, and thats not an issue! I think if it's technically possible to do what's being discussed, go back and think about the purpose of the library, and what goal does it set out to accomplish. In short, should this feel "pythonic", or feel like a GraphQL implementation in Python?
My two cents: The library's decorator implementation feels magical, and it's wonderfully easy to get most of the setup and typing done. I was delighted when I found a more modern code-first approach. The resolving side is where I hit a learning curve. The idea of resolvers being (or working like) instance-bound functions was fresh in my head, which is how this issue was created.

I'd avoid this, query, mutation and subscription are special types, but not that special enough to treat them different I think 🤔

I agree with this statement too. The query, mutation, and subscription types are important, and shouldn't just be a list IMO. The extra functionality of a class (even as a static one) might be important to a lot of users.

Maybe I can try and see if I can find a way to pass the correct self to queries, mutations and subscriptions, even when sending multiple operations at once, if that's possible. What do you think?

If the root-level query objects (query, subscription, mutation) get an instance of themselves in self, then that would be great. I think a lot of new users would expect it to work this way before they read the docs, however that doesn't fully justify that it should be done.
One thing I think you should consider as the project evolves (beyond what it has already): Is this library going to build GraphQL in Python, or make Python effortlessly turn into GraphQL? For example, the self parameter makes this library feel more like a standard "python thing", and it works how every new user would assume before they read the docs more. If the library deviates from the self parameter and functions how GraphQL natively does, with context parameters and logically static resolvers, then you deviate from the initial ideas most Python users have, and thats not an issue! I think if it's technically possible to do what's being discussed, go back and think about the purpose of the library, and what goal does it set out to accomplish. In short, should this feel "pythonic", or feel like a GraphQL implementation in Python?
My two cents: The library's decorator implementation feels magical, and it's wonderfully easy to get most of the setup and typing done. I was delighted when I found a more modern code-first approach. The resolving side is where I hit a learning curve. The idea of resolvers being (or working like) instance-bound functions was fresh in my head, which is how this issue was created.

Maybe I can try and see if I can find a way to pass the correct self to queries, mutations and subscriptions, even when sending multiple operations at once, if that's possible. What do you think?

@patrick91 did you managed to achieve this? I think I might have been mistaken when I said that you can execute a mutation and a query at the same time. According to the spec a document can define multiple operations (query or mutation) but when executing you need to define which one to run: https://spec.graphql.org/June2018/#sec-Executing-Requests
I still think that the root types are different enough to justify treating them differently. Even if we manage to automatically instantiate the right Query or Mutation instance, as @AadamZ5 points out, we would need to provide a factory method to allow people to customise how the instances get created. I think it's cleaner to sidestep the whole problem and just create schemas with a list of queries, mutations and subscriptions.

One thing I think you should consider as the project evolves (beyond what it has already): Is this library going to build GraphQL in Python, or make Python effortlessly turn into GraphQL?

@AadamZ5 in my head Strawberry is a library to build GraphQL in Python. That doesn't mean it can't be "pythonic" though and we should strive to make it as "pythonic" as possible.

I think it might ok to close this issue, we have documented how to access self/parent here: https://strawberry.rocks/docs/guides/accessing-parent-data#accessing-parents-data-in-a-method-resolver

repo: strawberry-graphql/strawberry


text:
Allow interfaces to implement interfaces #553

Description
After 0c85996 it's possible in graphql for interfaces to implement interfaces. Before only object types could.
Before adding tests i wanted to validate if this is the correct approach or there's a better approach.
Types of Changes

[ ] Core
[x] Bugfix
[ ] New feature
[ ] Enhancement/optimization
[ ] Documentation

Issues Fixed or Closed by This PR
#553
Checklist

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] I have tested the changes and verified that they work and don't break anything (as well as I can manage).

Minimal Example to test the fix
Write this into a filename.py
import random
import strawberry

@strawberry.type
class Query:

    @strawberry.field
    def hello() -> str:
        return 'World'

@strawberry.interface
class ErrorInterface:
    message: str

@strawberry.interface
class FirstErrorInterface(ErrorInterface):
    code: int = 0

@strawberry.type
class ValueError(FirstErrorInterface):
    message: str

@strawberry.type
class KeyError(FirstErrorInterface):
    message: str

@strawberry.type
class Mutation:

    @strawberry.mutation
    def first(self) -> FirstErrorInterface:
        klass = random.choice([ValueError, KeyError])
        return klass('Wrong!')

schema = strawberry.Schema(Query, Mutation, types=[ValueError, KeyError])
print(str(schema))

Without this changes, it should break with
[...]
  File "strawberry\schema\types\object_type.py", line 39, in _get_object_type_for_type_definition
    object_type = TypeClass(
TypeError: __init__() got an unexpected keyword argument 'is_type_of'

With this changes it should print the schema as follows:
interface ErrorInterface {
  message: String!
}

interface FirstErrorInterface implements ErrorInterface {
  message: String!
  code: Int!
}

type KeyError implements FirstErrorInterface {
  message: String!
  code: Int!
}

type Mutation {
  first: FirstErrorInterface!
}

type Query {
  hello: String!
}

type ValueError implements FirstErrorInterface {
  message: String!
  code: Int!
}

Hi, thanks for contributing to Strawberry 🍓!
We noticed that this PR is missing a RELEASE.md file. We use that to automatically do releases here on GitHub and, most importantly, to PyPI!
So as soon as this PR is merged, a release will be made 🚀.
Here's an example of RELEASE.md:
Release type: patch

Description of the changes, ideally with some examples, if adding a new feature.

Release type can be one of patch, minor or major. We use semver,so make sure to pick the appropriate type. If in doubt feel free to ask :)

I have two questions that i left as comments in the code.

Tests only pass if i inherit explicitly from both interfaces
Type that inherits from second interface, only has one interface implemented. Is that the reason of the first behaviour?

I have two questions that i left as comments in the code.
1. Tests only pass if i inherit explicitly from both interfaces

This is a bug yes, I think the code I wrote here is wrong: https://github.com/strawberry-graphql/strawberry/blob/master/strawberry/type.py#L13-L24
this should also check the bases' bases I think :)

2. Type that inherits from second interface, only has one interface implemented. Is that the reason of the first behaviour?

I think this is another bug 😊

Do you want to tackle those 2 in this PR?

Do you want to tackle those 2 in this PR?

If it's not a big hassle yes 😊

It seems to work now, tests pass after a small change

It seems to work now, tests pass after a small change

@Ambro17 awesome! Will check this today 😊

source: gharchive/pull-request

license: MIT

license_type: permissive

license_source: github-api


text:
Added locking to channel.Ack and channel.Nack to make them both goroutine-safe

This should take care of #318

Thank you!

authors: michaelklishin svarogg

repo: streadway/amqp

license_source: bigquery


text:
fix: "get" method in useMap updated to reference latest map object

Description
Fixes #816
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as before)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

authors: stefanbugge streamich

repo: streamich/react-use

license: Unlicense


text:
Update jest

Figured I'd do them all together since they're linked.
Also switched test env to node instead of jsdom, which doubles the speed (now takes 1 second instead of two :joy:).
This actually revealed a test leak, as the watch sync test didn't call close on the FSWatcher.
Closes #403
Closes #402
Closes #400

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

authors: G-Rath streamich

repo: streamich/unionfs


text:
🛑 EAM Cencosud Desa is down

In c9cbb59, EAM Cencosud Desa (https://eam-cencodesa.streamlined-scs.cl/web/base/logindisp?tenant=SCSPROD) was down:

HTTP code: 0
Response time: 0 ms

Resolved: EAM Cencosud Desa is back up in ff3bd76 after 16 minutes.

source: gharchive/issue

repo: streamlined-scs/upptime


text:
🛑 WIKI SCS Streamlined is down

In 025d74a, WIKI SCS Streamlined (https://wikijs.streamlined-scs.cl/login) was down:

HTTP code: 0
Response time: 0 ms

Resolved: WIKI SCS Streamlined is back up in 1160fe7 after 11 minutes.


text:
panic (NPE) when applying sink

Hi, I encountered panic error on deploying sink job to cluster.
from yaml, looks like selector is not configured correctly.
applied YAML
apiVersion: compute.functionmesh.io/v1alpha1
kind: Sink
metadata:
  annotations:
    meta.helm.sh/release-name: test-pulsar-resources
    meta.helm.sh/release-namespace: test-pulsar
  creationTimestamp: 2023-07-10T07:12:43Z
  generation: 3
  labels:
    app.kubernetes.io/managed-by: Helm
  name: system-container-to-es-logs
  namespace: test-pulsar
  resourceVersion: "369822483"
  uid: 681e825d-d7c2-4b4e-bab6-ffed33c8af68
spec:
  autoAck: true
  className: org.apache.pulsar.io.elasticsearch.ElasticSearchSink
  clusterName: "<cluster-name-here>"
  image: streamnative/pulsar-io-elastic-search:3.0.0.4
  input:
    topics:
      - persistent://<topic-name-here>
  java:
    jar: connectors/pulsar-io-elastic-search-3.0.0.4.nar
    javaOpts:
      - -Xms=64M
      - -Xmx=256M
  maxReplicas: 4
  minReplicas: 1
  processingGuarantee: atleast_once
  pulsar:
    authConfig:
      genericAuth:
        clientAuthenticationParameters: file:///var/run/secrets/kubernetes.io/serviceaccount/token
        clientAuthenticationPlugin: org.apache.pulsar.client.impl.auth.AuthenticationToken
    pulsarConfig: pulsar-config
    tlsConfig:
      enabled: false
  sinkConfig:
    bulkEnabled: true
    compatibilityMode: ELASTICSEARCH_7
    compressionEnabled: true
    elasticSearchUrl: <es-url-here>
    indexName: "" # use topic name as index name
  subscriptionPosition: earliest
status:
  conditions:
    HorizontalPodAutoscaler:
      action: NoAction
      condition: HPAReady
      status: "True"
    Service:
      action: NoAction
      condition: ServiceReady
      status: "True"
    StatefulSet:
      action: Create
      condition: StatefulSetReady
      status: "False"
  observedGeneration: 2
  replicas: 0
  selector: ""

panic log
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x12f2315]

goroutine 551 [running]:
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile.func1()
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:118 +0x1f4
panic({0x165ad00, 0x25c0b00})
        runtime/panic.go:884 +0x213
github.com/streamnative/function-mesh/controllers/spec.CheckIfStatefulSetSpecIsEqual(0xc000698d80?, 0xffffffffffffffff?)
        github.com/streamnative/function-mesh/controllers/spec/common.go:1796 +0x35
github.com/streamnative/function-mesh/controllers.(*SinkReconciler).checkIfStatefulSetNeedUpdate(0xc0000d75a0?, 0xc0007e8f00, 0xc000a750b0?)
        github.com/streamnative/function-mesh/controllers/sink.go:333 +0x45
github.com/streamnative/function-mesh/controllers.(*SinkReconciler).ObserveSinkStatefulSet(0xc00038cd20, {0x1a835a0, 0xc000a750b0}, 0xc000698d80)
        github.com/streamnative/function-mesh/controllers/sink.go:71 +0x41b
github.com/streamnative/function-mesh/controllers.(*SinkReconciler).Reconcile(0xc00038cd20, {0x1a835a0, 0xc000a750b0}, {{{0xc000523605, 0xb}, {0xc00004bc00, 0x1b}}})
        github.com/streamnative/function-mesh/controllers/sink_controller.go:86 +0x39f
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile(0x1a834f8?, {0x1a835a0?, 0xc000a750b0?}, {{{0xc000523605?, 0x17753a0?}, {0xc00004bc00?, 0xc0006a4cf8?}}})
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:121 +0xc8
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler(0xc00022a280, {0x1a834f8, 0xc000401ea0}, {0x16b2ae0?, 0xc000082de0?})
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:320 +0x309
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem(0xc00022a280, {0x1a834f8, 0xc000401ea0})
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:273 +0x1d9
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2()
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:234 +0x85
created by sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2
        sigs.k8s.io/controller-runtime@v0.12.3/pkg/internal/controller/controller.go:230 +0x587

hm, I can't reproduce it with the same yaml, I got a different error:
The SinkWebhook "system-container-to-es-logs" is invalid: spec.resources: Invalid value: v1.ResourceRequirements{Limits:v1.ResourceList(nil), Requests:v1.ResourceList(nil)}: resource requirement is invalid

after adding the required field it works, how did you deploy the function-mesh controller?

I deployed function mesh controller using the released helm chart.
https://github.com/streamnative/function-mesh/releases/tag/function-mesh-operator-0.2.17
also I disabled admissionWebhook for cluster management. we don't use webhook for cluster management reasons. is it required?

I enabled admissionWebhook and the controller still panics. however, I've found that the statefulset log shows the JVM process started with -Xmx=0 and keeps failing, so I added resources.requests. the controller still raise panic but when I deleted the statefulset, the pod is now working fine and the statefulset is recreated.
I'm not sure why the controller panic on my environment unlike your comment. but I think missing resources field is the problem

I was able to launch sink.
attempted solutions

pulsar-config configmap doesn't exists so I added one
the configmap requires brokerURL, etc.

repo: streamnative/function-mesh


text:
[BUG] Fail to reconnect after bundle unload happen

To Reproduce
Broker version: 2.9.1
KoP version:2.9.1.1
Use benchmark to do performance test.
Kafka client received KAFKA_STORAGE_ERROR when bundle unload happed and failed to reconnect.
Screenshots

kop.log

repo: streamnative/kop


text:
Posting data to SDC HTTP server url from javascript throwsCORS issue

Hi, I am using Streamset pipeline for streaming data from browsers. So for that, I created a pipeline with HTTP server origin to post data from browsers Javascript and tried to write in that URL using REST client, and it writes successfully.  Response Headers are already set in the SDC.properties file.
http.access.control.allow.origin=*
http.access.control.allow.headers=origin, content-type, accept, authorization, x-requested-by, x-ss-user-auth-token, x-ss-rest-call
http.access.control.allow.methods=GET, POST, PUT, DELETE, OPTIONS, HEAD

But when I try to write some data from JavaScript using XMLHTTPRequest, it throws error for pre-flight request. Below is the JavaScript code:
  var http = new XMLHttpRequest();
  var value = '{ "prop1": "value 2", "prop2": "value 2" }';
  var url ='http://13.68.93.97:8100/'
  var async = true
 if ('withCredentials' in http) {
	http.open('OPTIONS', url, async);
} else if (typeof XDomainRequest != "undefined") {
	http = new XDomainRequest(); //for IE
	http.open('OPTIONS', url);
} else {
	http.open('OPTIONS', url, async);
}
    http.open('POST', url, true);
    http.setRequestHeader('Content-Type', 'application/json; charset=utf-8');
    http.setRequestHeader('X-SDC-APPLICATION-ID', 'testApp1');
    // Below headers are set in sdc.properties, so doesn't make any difference in javascript
http.setRequestHeader("Access-Control-Allow-Origin", "*");
http.setRequestHeader('Access-Control-Allow-Methods', "POST, OPTIONS, GET");
http.setRequestHeader('Access-Control-Allow-Credentials', "true");
http.setRequestHeader('Access-Control-Expose-Headers', "X-Region");
http.setRequestHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept,Accept-language");
http.withCredentials = true;
http.onreadystatechange = function () {
    if (http.readyState == 4 && http.status == 200) {
        console.log(http.responseText);
    }
}
http.send(value);

Error thrown from the above code execution :

XMLHttpRequest cannot load http://13.68.93.97:8100/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.

Any help will be really helpful. Thanks..!!

Hi, this github repo is for the ansible playbook for SDC deployment. General SDC questions should be directed to the various community channels (user list, slack, JIRA) available here: https://streamsets.com/community/

authors: kunickiaj nishutayal


text:
Add a page about changing an entity's parent

When working on Stopping the Rogue I found out that removing an entity from a scene and adding it as a child to another entity will cause a very nasty physics simulation issue.
The proper way to handle this is to either:

Detach the entity on one frame and attach it again on another
  entity.Scene = null;
  await Script.NextFrame();
  anotherEntity.AddChild(entity);

Detach the entity, clone it, and attach the clone
  entity.Scene = null;
  var clone = entity.Clone();
  anotherEntity.AddChild(clone);

The same goes for doing it the other way (child -> scene) and probably (child -> child), which I didn't do.

This issue may be closed after this one is: https://github.com/stride3d/stride/issues/798


text:
Test issue

This is a test issue

test comment

test comment

test comment

test comment

test comment

test comment

test haha

test comment

Closes bz-453

Fixes bz-4356,bz-12234

repo: string-areeb/string-bugzilla-bot


text:
Possible to create more than one token with different API Keys?

Issue
I have to create two tokens:

One that I will use (our API Key)
One that our partner will use (Partner API Key)

I'd like the user only to input their information once. Is it possible to create two tokens using different API Keys? Have you came across this use case before? And if so; what's the most common solution to the problem?

We would recommend using Stripe Elements to tokenize the card information once, and then using backend Stripe APIs to extend access to that card to other accounts. Please feel free to reach out to Stripe Support if you need help with the details!

Thanks for the swift reponse @asolove-stripe.

authors: asolove-stripe pudgereyem

repo: stripe/react-stripe-elements


text:
Can't update to latest version 0.1.8

Bug report
Error shown when trying to update the extension
Describe the bug

To Reproduce
Update extension
Expected behavior
Should successfully update
Screenshots
see at describe the bug
System information

OS: Windows 10 64bit
Browser (if applies) Edge

Can you please retry updating, Firebase sometimes has some hiccups there but generally retrying the update resolves that.
cc @jhuleatt

Tried to re-update and a new error shows

I'm not able to reproduce this, therefore I don't think it's related to the extension itself. Please reach out to Firebase for further support.

yeah, you're right. only a firebase issue

authors: shidcordero thorsten-stripe

repo: stripe/stripe-firebase-extensions


text:
Using a path like stripe/customers while installing breaks installation due to onCustomerDataDeleted regex error

Bug report

Extension name: [e.g. firestore-stripe-subscriptions]
firestore-stripe-subscriptions

Describe the bug
When you install the extension and provide a path like "stripe/customers" installation will result in an error due to the path not matching the regex in onCustomerDataDeleted. Seems like every other function works
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Click install extension
Installation wizard will ask you about config settings
Use stripe/products for products path and stripe/customers for customer path
See error

Expected behavior
Path should be allowed

I was able to reproduce this on my account:

; RESOURCE_ERROR at /deployments/firebase-ext-firestore-stripe-subscriptions/resources/createCheckoutSession: {"ResourceType":"gcp-types/cloudfunctions-v1:projects.locations.functions","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"The request has errors","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"event_trigger","description":"Expected value stripe/customers/{uid}/checkout_sessions/{id} to match regular expression [^/]+/[^/]+(/[^/]+/[^/]+)*"}]}],"statusMessage":"Bad Request","requestPath":"https://cloudfunctions.googleapis.com/v1/projects/stripe-subscriptions-firebase/locations/us-central1/functions","httpMethod":"POST"}}; RESOURCE_ERROR at /deployments/firebase-ext-firestore-stripe-subscriptions/resources/onCustomerDataDeleted: {"ResourceType":"gcp-types/cloudfunctions-v1:projects.locations.functions","ResourceErrorCode":"400","ResourceErrorMessage":{"code":400,"message":"The request has errors","status":"INVALID_ARGUMENT","details":[{"@type":"type.googleapis.com/google.rpc.BadRequest","fieldViolations":[{"field":"event_trigger","description":"Expected value stripe/customers/{uid} to match regular expression [^/]+/[^/]+(/[^/]+/[^/]+)*"}]}],"statusMessage":"Bad Request","requestPath":"https://cloudfunctions.googleapis.com/v1/projects/stripe-subscriptions-firebase/locations/us-central1/functions","httpMethod":"POST"}}

@jhuleatt @laurenzlong any idea what's happening here? Are paths supported in the extension.yaml file? Do I need to specify a validationRegex like here: https://github.com/firebase/extensions/blob/master/firestore-translate-text/extension.yaml#L110?

Firestore collections need to be an odd number of segments (i.e. customers or stripe/customers/invoices). I recommend adding the regex ^[^/]+(/[^/]+/[^/]+)*$ to all the Firestore collection path parameters.

Thanks @laurenzlong, this is because collections can only be either at the root or within a document, correct? So for stripe/customers/invoices, stripe is the root collection, customers is a document, invoices is a sub-collection of the customers document. Is that correct?
So using stripe/products for products path and stripe/customers for customer path is impossible, but using stripe/mysubsapp/products for products path and stripe/mysubsapp/customers for customer path would be possible. Would that be an antipattern though?
I'll add the validationRegex 👍

Yep, that's right!
On Wed, Aug 5, 2020, 12:08 PM Thor 雷神 notifications@github.com wrote:

Thanks @laurenzlong https://github.com/laurenzlong, this is because
collections can only be either at the root or within a document, correct?
So for stripe/customers/invoices, stripe is the root collection, customers
is a document, invoices is a sub-collection of the customers document. Is
that correct?
So using stripe/products for products path and stripe/customers for
customer path is impossible, but using stripe/mysubsapp/products for
products path and stripe/mysubsapp/customers for customer path would be
possible. Would that be an antipattern though?
I'll add the validationRegex 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stripe/stripe-firebase-extensions/issues/28#issuecomment-669413417,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6OKFG4R6S26KV2ITE2MD3R7GU25ANCNFSM4PVJL2XQ
.

And having a more nested collection path like stripe/mysubsapp/customers is
not an antipattern.
On Wed, Aug 5, 2020, 7:16 PM Lauren Long laurenzlong@gmail.com wrote:

Yep, that's right!
On Wed, Aug 5, 2020, 12:08 PM Thor 雷神 notifications@github.com wrote:

Thanks @laurenzlong https://github.com/laurenzlong, this is because
collections can only be either at the root or within a document, correct?
So for stripe/customers/invoices, stripe is the root collection,
customers is a document, invoices is a sub-collection of the customers
document. Is that correct?
So using stripe/products for products path and stripe/customers for
customer path is impossible, but using stripe/mysubsapp/products for
products path and stripe/mysubsapp/customers for customer path would be
possible. Would that be an antipattern though?
I'll add the validationRegex 👍
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stripe/stripe-firebase-extensions/issues/28#issuecomment-669413417,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6OKFG4R6S26KV2ITE2MD3R7GU25ANCNFSM4PVJL2XQ
.

authors: agcty laurenzlong thorsten-stripe


text:
Setting query parser after registering middleware causes parser setting to be ignored.

When I register middleware with app.use before setting the query parser to simple, my app appears to use the extended query parser. Is there a contract that all calls to app.set must occur before the first middleware is registered?
Code (this can be made to pass by removing the first call to app.use):
var http = require('http');

var express = require('express');
var app = express();
app.use(function(req, res, next) { next(); });
app.set('query parser', 'simple');
app.use(function(req, res) { res.send(req.query); });

var server = app.listen(8080, function(err) {
  http.get('http://localhost:8080/?user[name]=tj', function(res) {
    var response = '';
    res.on('data', function(chunk) {
      response += chunk.toString();
    });
    res.on('end', function() {
      server.close();
      require('assert').equal(response, '{"user[name]":"tj"}');
    });
  });
});

Is there a contract that all calls to app.set must occur before the first middleware is registered?

Yep, this is exactly correct: in Express 4.x and below (perhaps we can change in in 5.x), you have to make these changes before your first route/middleware call.

Thanks for the quick reply!

authors: dougwilson matthewloring

repo: strongloop/express

license: mit


text:
"Using template engines" example uses jade != instead of =

The 2nd code  example showing a jade template in:
http://expressjs.com/en/guide/using-template-engines.html
..uses jade unescaped string interpolation (!=) when it should probably teach (particularly for beginners) to use escaped string interpolation (=).
Jade string interpolation is documented here: http://jade-lang.com/reference/interpolation/

That's a pretty easy PR to submit. ;)
But nice catch by the community.

@tunniclm I made the suggested change.  As I was reviewing that article, I noticed it lacked some context and cross-references, so I made a few other improvements.  Would you please review the PR?

@crandmck LGTM!

Fixed by #563, thanks for the input!

authors: crandmck jakerella tunniclm


text:
4_U型擁壁というデータにおける照査結果の違い

単純に違う点をまとめる。
安全性（破壊）曲げ
左側壁
新だけh/2点(下側)の出力がある。
計算結果は正しい。
底版
新だけ左h/2点(下側)の出力がある。
計算結果は正しい。
安全性（破壊）せん断
左側壁
新だけハンチ始点(下側)・ハンチ始点(下側)の出力がある。
Mdなど数値も違うところが見られる。
底版
新だけ左側壁前面(下側)・ハンチ始点(下側)・スパン中央(上側)・スパン中央(下側)の出力がある。
Mdなど数値も違うところが見られる。
安全性（疲労破壊）曲げ
目次だけ出力があり、照査結果がない。
地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。
安全性（疲労破壊）せん断
目次だけ出力があり、照査結果がない。
地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。
耐久性（曲げひび割れ）
左側壁
新だけh/2点(下側)の出力がある。
計算結果は空欄が目立ち、大きな修正が必要。
底版
新だけ左h/2点(下側)の出力がある。
計算結果は空欄が目立ち、大きな修正が必要。
耐久性（せん断ひび割れ）
左側壁
新だけハンチ始点(下側)・下床板上面(下側)の出力がある。
Ascなどが空欄で、修正も必要。
底版
新だけ左側壁前面(下側)・ハンチ始点(下側)・スパン中央(下側)の出力がある。
Ascなどが空欄で、修正も必要。
復旧性（損傷）曲げ
照査結果はあるのに目次にない。
左側壁
新だけh/2点(下側)の出力がある。
計算結果も微妙に異なる。
底版
新だけ左h/2点(下側)の出力がある。
計算結果も微妙に異なる。
復旧性（損傷）せん断
左側壁
新だけハンチ始点(下側)・下床板上面(下側)の出力がある。
計算結果も微妙に異なる。
底版
新だけ左h/2点(下側)の出力がある。
計算結果も微妙に異なる。
復旧性（地震時）曲げ
目次に出力されているが、照査結果はない。
地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。

この時点のファイルは以下の通り。
155照査結果.zip
155_使用データ.zip

安全性（疲労破壊）曲げ
安全性（疲労破壊）せん断
復旧性（地震時）曲げ
上記が照査結果無いのに目次に出る問題は、デバックしなおすと直ることも。

まず、安全性（破壊）せん断について考えた。
計算結果が軽微に違うため、調べた。
Mdの内容が違うので、内容を追うと
private getResultString(printData: any, resultData: any, safety_factor: any): any {

    const Md: number = Math.abs(printData.Md);
    const Mu: number = resultData.M.Mi;
    const rb: number = safety_factor.rb;
    const Mud: number = Mu / rb;
    const ri: number = safety_factor.ri;
    const ratio: number = ri * Md / Mud;
    const result: string = (ratio < 1) ? 'OK' : 'NG';

    return {
      Md: { alien: 'right', value: Md.toFixed(1) },
      Nd: { alien: 'right', value: printData.Nd.toFixed(1) },
      εcu: { alien: 'right', value: resultData.M.εc.toFixed(5) },
      εs: { alien: 'right', value: resultData.M.εs.toFixed(5) },
      x: { alien: 'right', value: resultData.M.x.toFixed(1) },
      Mu: { alien: 'right', value: Mu.toFixed(1) },
      rb: { alien: 'right', value: rb.toFixed(2) },
      Mud: { alien: 'right', value: Mud.toFixed(1) },
      ri: { alien: 'right', value: ri.toFixed(2) },
      ratio: { alien: 'right', value: ratio.toFixed(3) },
      result: { alien: 'center', value: result }
    };

この部分にMdがあった。

単純に違う点をまとめる。
安全性（破壊）曲げ
左側壁

[x] 新だけh/2点(下側)の出力がある。

計算結果は正しい。
底版
新だけ左h/2点(下側)の出力がある。
計算結果は正しい。
安全性（破壊）せん断
左側壁
新だけハンチ始点(下側)・ハンチ始点(下側)の出力がある。
Mdなど数値も違うところが見られる。
底版
新だけ左側壁前面(下側)・ハンチ始点(下側)・スパン中央(上側)・スパン中央(下側)の出力がある。
Mdなど数値も違うところが見られる。
安全性（疲労破壊）曲げ
目次だけ出力があり、照査結果がない。
地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。
安全性（疲労破壊）せん断
目次だけ出力があり、照査結果がない。
地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。
耐久性（曲げひび割れ）
左側壁
新だけh/2点(下側)の出力がある。
計算結果は空欄が目立ち、大きな修正が必要。
底版
新だけ左h/2点(下側)の出力がある。
計算結果は空欄が目立ち、大きな修正が必要。
耐久性（せん断ひび割れ）
左側壁
新だけハンチ始点(下側)・下床板上面(下側)の出力がある。
Ascなどが空欄で、修正も必要。
底版
新だけ左側壁前面(下側)・ハンチ始点(下側)・スパン中央(下側)の出力がある。
Ascなどが空欄で、修正も必要。
復旧性（損傷）曲げ
照査結果はあるのに目次にない。
左側壁
新だけh/2点(下側)の出力がある。
計算結果も微妙に異なる。
底版
新だけ左h/2点(下側)の出力がある。
計算結果も微妙に異なる。
復旧性（損傷）せん断
左側壁
新だけハンチ始点(下側)・下床板上面(下側)の出力がある。
計算結果も微妙に異なる。
底版
新だけ左h/2点(下側)の出力がある。
計算結果も微妙に異なる。
復旧性（地震時）曲げ
目次に出力されているが、照査結果はない。
地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。

単純に違う点をまとめる。
安全性（破壊）曲げ
左側壁

[x] 新だけh/2点(下側)の出力がある。

計算結果は正しい。
底版

[x] 新だけ左h/2点(下側)の出力がある。

計算結果は正しい。
安全性（破壊）せん断
左側壁

[x] 新だけハンチ始点(下側)・ハンチ始点(下側)の出力がある。

[x] Mdなど数値も違うところが見られる。

底版

[x] 新だけ左側壁前面(下側)・ハンチ始点(下側)・スパン中央(上側)・スパン中央(下側)の出力がある。

[x] Mdなど数値も違うところが見られる。

安全性（疲労破壊）曲げ

[x] 目次だけ出力があり、照査結果がない。

地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。
安全性（疲労破壊）せん断

[x] 目次だけ出力があり、照査結果がない。

地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。
耐久性（曲げひび割れ）
左側壁

[x] 新だけh/2点(下側)の出力がある。

[x] 計算結果は空欄が目立ち、大きな修正が必要。

底版

[x] 新だけ左h/2点(下側)の出力がある。

[x] 計算結果は空欄が目立ち、大きな修正が必要。

耐久性（せん断ひび割れ）
左側壁

[x] 新だけハンチ始点(下側)・下床板上面(下側)の出力がある。

[x] Ascなどが空欄で、修正も必要。

底版

[x] 新だけ左側壁前面(下側)・ハンチ始点(下側)・スパン中央(下側)の出力がある。

[x] Ascなどが空欄で、修正も必要。

復旧性（損傷）曲げ

[x] 照査結果はあるのに目次にない。

左側壁

[x] 新だけh/2点(下側)の出力がある。

[x] 計算結果も微妙に異なる。→ 間違いない

底版

[x] 新だけ左h/2点(下側)の出力がある。

[x] 計算結果も微妙に異なる。

復旧性（損傷）せん断
左側壁

[x] 新だけハンチ始点(下側)・下床板上面(下側)の出力がある。

[x] 計算結果も微妙に異なる。

底版

[x] 新だけ左h/2点(下側)の出力がある。

[x] 計算結果も微妙に異なる。

復旧性（地震時）曲げ

[x] 目次に出力されているが、照査結果はない。

地震時は旧には出力がないため、照査結果はなくていいが、目次もいらない。

authors: asanotaiga sasaco

repo: structuralengine/WebDanforJS


text:
Feat/tap runner

Added tap runner.

Waiting for #4105 to be merged because node version 14 is not supported.

repo: stryker-mutator/stryker-js


text:
feat(one-pass-coverage): Support coverage measurement in one test run pass

Refactor TestRunnerOrchestrator into 2 classes: Sandbox and SandboxCoordinator
Refactor message protocol to make use of TS 2 type narrowing
Refactor reporters to support new MutantResults.
Refactor config module to support new CoverageAnalysis property
Add coverage instrumentation
Add class CoverageInstrumenterStream responsible for instrumenting a single file
Add class CoverageInstrumenter responsible for managing instrumentation of all files.
Update Stryker, Sandbox and SandboxCoordinator to use the new CoverageInstrumenter
Reimplement the MutantTestMatcher so it works with new coverageAnalysis
Add error handling for when TestFramework is missing and coverageAnalysis is perTest.
Add a default coverage reporting implementation in the IsolatedTestRunnerAdapterWortker which whould work for most test runners.

I removed the 'wip' label. I think its ready to be merged. I still need to test with a new mocha test runner version, but it should work

Works fine with the new mocha runner implementation: [stryker-mocha-runner#4]](https://github.com/stryker-mutator/stryker-mocha-runner/pull/4)
Here are my findings:
Coverage analysis 'off'
1074 mutants tested.
0 mutants not covered.
9 mutants timed out.
592 mutants killed.
Mutation score based on covered code: 55.96%
Mutation score based on all code: 55.96%
[2016-11-12 16:32:04.253] [INFO] Stryker - Done in 2 minutes 43 seconds.

Coverage analysis 'all'
844 mutants tested.
230 mutants not covered.
9 mutants timed out.
592 mutants killed.
Mutation score based on covered code: 71.21%
Mutation score based on all code: 55.96%
[2016-11-12 16:35:03.617] [INFO] Stryker - Done in 2 minutes 3 seconds.

Coverage analysis 'perTest'
844 mutants tested.
230 mutants not covered.
9 mutants timed out.
592 mutants killed.
Mutation score based on covered code: 71.21%
Mutation score based on all code: 55.96%
[2016-11-12 16:38:02.907] [INFO] Stryker - Done in 2 minutes 3 seconds.

It's great to see that the mutation score is exactly the same with all codeAnalysis strategies. Also: the mutation score based on covered code is the same.
The time difference for coverageAnalysis 'all' and 'perTest' is the same, so it's not what i'd hoped for. I think it will save time with slow test runs (i.e. ui-bootstrap), but not for Stryker. Maybe we need to think of other ways to speed things up.
An other problem i faced was the fact that the progress reporter isn't really helpful to show progress. See #180

repo: stryker-mutator/stryker


text:
changed the manual Installation part of the readme

changed the first 2 steps of the manual installation, simplifying the installation

I was unaware of that flag, will rework it right away.

A little different than I would have done, but I like that your solution works for users that don't yet have ~/.vim.colors directory.

It was my first time installing color schemes for vim and I hadn't the vim/colors folder. It hit me when i went through the jellybean repo you suggested. Glad you like it :)
(Its my first ever commit and I am super happy to have it merged to master >w<)


text:
Phiola v2.2.5 (windows-amd64) Crash when playing this OPUS stream. Both CLI and GUI

Crash with this radio station with OPUS stream
http://proteusradio.ddns.net:9900/proteus.opus
Debug.txt
phiola-crashdump-66e85527.txt
Plays fine with this one:
http://radio.glafir.ru:7000/easy-listen/va-romantic-piano-moments-to-remember

Hi!  I've released v2.2.6 that should no longer crash, but there is a problem with your second radio link (unsupported case when the server starts a new track) - I will update on this later.

Indeed no longer crashes with v2.2.6 release!

With phiola v2.2.7 your second link should work fine.  The problem was that chained OGG streams were not supported.  Thank you for notifying me on the issues!

repo: stsaz/phiola


text:
Optimize StudentsImporter to use StreamingCsvTransformer, and to only save changed records

Who is this PR for?
developers
What problem does this PR fix?
StudentsImporters takes ~8 minutes and is one of the slowest importers for Somerville.
What does this PR do?
Uses StreamingCsvTransformer and only calls .save! if anything has changed, taking approach from https://github.com/studentinsights/studentinsights/pull/1861#issuecomment-401558466.

selfie

Actually we can't do this; the risk level computation is based on limited_english_proficiency and if this changes during this import, we'd miss it.
For now, going to leave this merged knowing that it impacts the risk level computation - in the case of the normal nightly import job, the risk level will be computed afterward anyway.
And, it's possible we'll remove the current risk level indicators altogether shortly, so optimistically leaving this merged :)

repo: studentinsights/studentinsights


text:
🛑 Moodstudios is down

In ccc48ad, Moodstudios (https://moodstudios.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Moodstudios is back up in 98e700a after 28 minutes.

repo: studiovlijmscherp/uptime


text:
🛑 Bluekens is down

In 2de157c, Bluekens (https://bluekenstruckenbus.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Bluekens is back up in 658e005.


text:
🛑 Beefs and Beers is down

In 67b2b1d, Beefs and Beers (https://beefsandbeers.com) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Beefs and Beers is back up in 86d4c6a.


text:
🛑 Moodstudios is down

In aa7c2e1, Moodstudios (https://moodstudios.nl) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Moodstudios is back up in 0c47337 after 5 minutes.


text:
[Feature Request] Tracking sharing download

Tracking public shared files downloads,  Recently I use my nextcloud instance as file server for my website image and file download in my web page, also I used the image in my marketing email template. each time it request the page will generate one download for that image, could it be possible to track that image link?

A single image can't be tracked if it is linked directly.

authors: sualko weasam


text:
🛑 Cubari (imgBB) is down

In f247fcf, Cubari (imgBB) (https://cubari.moe/read/imgbb/SQMcSX/?cache_buster=$GITHUB_RUN_NUMBER) was down:

HTTP code: 500
Response time: 1605 ms

Resolved: Cubari (imgBB) is back up in fa64ff9 after 1 minute.

repo: subject-f/cubari-status-page


text:
lime-115, Issue 127: Pool.sol#withdrawBorrowedAmount() Validation of pool status can be done earlier to save gas

Description
Stacked pull request on #183
Check if _poolStatus and block.timestamp earlier can avoid unnecessary code execution when this check failed.
https://github.com/code-423n4/2021-12-sublime/blob/9df1b7c4247f8631647c7627a8da9bdc16db8b11/contracts/Pool/Pool.sol#L310-L348
Integrations Checklist

[ ]  Have any function signatures changed? If yes, outline below.
[ ]  Have any features changed or been added? If yes, outline below.
[ ]  Have any events changed or been added? If yes, outline below.
[ ]  Has all documentation been updated?

Changelog

Replacement of code to optimise gas consumption(Issue 127: Pool.sol#withdrawBorrowedAmount() Validation of pool status can be done earlier to save gas
Ref: https://github.com/code-423n4/2021-12-sublime-findings/issues/127)

Event Signature Changes
Function Signature Changes
Features
Events

Codecov Report

Merging #184 (cfea935) into lime-125 (851c6ea) will not change coverage.
The diff coverage is 0.00%.

@@            Coverage Diff            @@
##           lime-125     #184   +/-   ##
=========================================
  Coverage     15.98%   15.98%
=========================================
  Files            16       16
  Lines          1733     1733
  Branches        321      321
=========================================
  Hits            277      277
  Misses         1456     1456

Impacted Files
Coverage Δ

contracts/Pool/Pool.sol
0.00% <0.00%> (ø)

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 851c6ea...cfea935. Read the comment docs.

authors: KalpitaMandal codecov-commenter


text:
Adding release-note for 0.13.2

Signed-off-by: Maayan Friedman maafried@redhat.com

@dfarrell07 once this PR is merged, let's announce the release :)

repo: submariner-io/submariner-website


text:
Don't add a watcher to files which should be ignored.

If you call chokidar.watch(path, { ignored: '/some/string/that/matches/path' }); it'll still add a watcher to the file.
This adds a filter in watchFile which prevents the watcher from getting added if it matches the ignored glob.
This avoided watching files in node_modules for a particular project I'm working on and also corrected a segfault which would occur as a result (because of the watch handlers attached to files which were removed via an npm update call).

Thanks @codeviking! I wrote this up already in https://github.com/substack/watchify/pull/212 but forgot about it (prob because it meant bumping the major version). A few things:

I want to switch away from anymatch to minimatch so globing is inline with browserify (bugs and all). But I'll take anymatch for now since that means I don't need to bump the major version.
The result of the glob test should be cached.
Spaces in the file should be left alone - and functions should exit early if possible (also minimizes the diff)
Commits should be squashed.

If you want to make these changes, then I can look at your PR again - otherwise, I can move https://github.com/substack/watchify/pull/212 to anymatch and merge that tmw.

I'm actually traveling for a week but I'm happy to make the changes once I return.  No rush in merging as we're just using my fork in the interim.
Thanks!

@zertosh Checking back in.  I'll make these changes this morning and submit you an updated PR.

authors: codeviking zertosh

repo: substack/watchify


text:
Feature Request: Create VM from iso

a'la virt-install

It's 2019, just use cloned images :)

ahha, I wish I could, and I do in most cases.  I just have one case where that isn't possible.
That said, I am definitely able to use virt-install, go through the installation and setup, them make my own image that I can use like the cloud images from the setup, so it's certainly not a required feature. Just a nice to have.

Suggestion: This requirement is not needed in a modern cloud management software.

I have applications that are only distributed as .iso, but like I said when  I opened this, I have a workaround so it's not critical.

I think it’s solved, now you mount and boot iso file

authors: arafath-mk captainwasabi subuk

repo: subuk/vmango


text:
Device lab is not starting up while setting up locally

Hi @sudharsan-selvaraj,
We are trying to setup the device lab locally in our laptop use the instructions given in the readme.
This is the output of hub:
$ npm run start:hub

> start:hub
> tsc --project ./packages/hub && node packages/hub/build/index.js

info AppiumGrid Starting appium server with configuration
info AppiumGrid {
info AppiumGrid   "port": 4723
info AppiumGrid }
info AppiumGrid Loading database from /Users/avik/.cache/appium-grid/database.sqlite
info AppiumGrid Validating database connection..
info AppiumGrid Appium grid server started on http://0.0.0.0:4723
{ id: 'IN', name: 'India', timezones: [ 'Asia/Kolkata' ] }
info SocketNodeController Got new request to resiger a node with id: d6fdb5aa-923a-5e0e-b5b2-378c9ba7ba66 ,
info SocketNodeController        Host Name: Avik-Ghosh , Appium Port : 4448
info NodeManager Succcessfully added new node : d6fdb5aa-923a-5e0e-b5b2-378c9ba7ba66
info NodeManager Total number of registered  nodes: 1
info NodeDeviceController New device connected to node d6fdb5aa-923a-5e0e-b5b2-378c9ba7ba66
info NodeManager Adding device with id LKF3Y19202002203 to node d6fdb5aa-923a-5e0e-b5b2-378c9ba7ba66
info NodeManager Total device available in node d6fdb5aa-923a-5e0e-b5b2-378c9ba7ba66 : 1

command used to start hub
# avik @ Avik-Ghosh in ~/code-base/device-lab/packages/hub-ui on git:master x [14:26:58]
$ npm run start

last output

webpack compiled with 19 warnings
Files successfully emitted, waiting for typecheck results...
Issues checking in progress...
No issues found.

this is output of plugin
$ node build/entry.js --plugin-appium-node-hub-host=localhost --plugin-appium-node-hub-port=4723 --port 4448 --allow-cors --plugin-appium-node-token <token>
info ADB Found 11 'build-tools' folders under '/Users/avik/Library/Android/sdk' (newest first):
info ADB     /Users/avik/Library/Android/sdk/build-tools/32.0.0-rc1
info ADB     /Users/avik/Library/Android/sdk/build-tools/31.0.0
info ADB     /Users/avik/Library/Android/sdk/build-tools/31.0.0-rc5
info ADB     /Users/avik/Library/Android/sdk/build-tools/31.0.0-rc2
info ADB     /Users/avik/Library/Android/sdk/build-tools/31.0.0-rc1
info ADB     /Users/avik/Library/Android/sdk/build-tools/30.0.3
info ADB     /Users/avik/Library/Android/sdk/build-tools/30.0.2
info ADB     /Users/avik/Library/Android/sdk/build-tools/30.0.1
info ADB     /Users/avik/Library/Android/sdk/build-tools/30.0.0-rc4
info ADB     /Users/avik/Library/Android/sdk/build-tools/29.0.3
info ADB     /Users/avik/Library/Android/sdk/build-tools/29.0.2
info ADB Using 'adb' from '/Users/avik/Library/Android/sdk/platform-tools/adb'
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 start-server'
info AppiumGrid Intializing go-ios client
info AppiumNodeSocketManager Appium server is started. Registering node to appium grid in ws://localhost:4723/hub
info AppiumNodeSocketManager Node is now connected to the appium grid server
info AppiumNodeController Successfully resgisterd node to grid
info AppiumGrid Initializing Devicetracker..
info AndroidDeviceTracker New android device connect: LKF3Y19202002203
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell getprop init.svc.bootanim'
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell getprop'
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell cat /proc/cpuinfo'
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell cat /proc/meminfo'
ERR! AndroidDeviceTracker Device found
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell pidof app_process'
info AndroidDeviceTracker Android device tracker initalized
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell cat /proc/7403/cmdline'
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell pidof app_process'
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell cat /proc/7403/cmdline'
info ScrcpyServer Killing existing streaming service
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell kill 7403'
info ScrcpyServer Pushing scrcy server jar to device LKF3Y19202002203
info ScrcpyServer Waiting for scrcpy server to start LKF3Y19202002203
dbug ADB Running '/Users/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell pidof app_process'
info IosDeviceTracker Ios device tracker initalized
dbug ADB Running '/U
<img width="1680" alt="Screenshot 2022-10-20 at 2 20 06 PM" src="https://user-images.githubusercontent.com/116061679/196903524-0a6dc4b2-5869-4ecd-8562-35288122e56d.png">
sers/avik/Library/Android/sdk/platform-tools/adb -P 5037 -s LKF3Y19202002203 shell cat /proc/9363/cmdline'
info ScrcpyServer Scrcpy server started on device LKF3Y19202002203 in port 8001

Attaching screenshot of the lab when opened in browser.. It is stuck at the loading page. Showed network tab also

Can you check what is the response for the websocket calls fired from the browser?

@sudharsan-selvaraj have shared the screenshot.
Please let me know if you require the logs in another format.

authors: avikghosh-gjk sudharsan-selvaraj

repo: sudharsan-selvaraj/lab-it


text:
QrCode_Generator Added

Description
The QR Code Generator Website is a user-friendly, web-based tool designed for quickly creating custom QR codes without the need for third-party apps. Built using HTML, CSS, and JavaScript, this project is ideal for users who want a straightforward and accessible way to generate QR codes for various purposes, whether personal, professional, or educational.
Key Features
Real-Time QR Code Generation: As users type or paste data into the input field, a QR code is generated instantly, allowing them to see changes in real-time.
Customizable Input Types: Supports multiple types of data, such as URLs, text, or contact information, catering to different QR code applications.
Downloadable QR Codes: Each generated QR code can be downloaded as a high-resolution image file (PNG) for easy sharing, printing, or embedding.
Clean and Modern Interface: The design is minimalistic yet intuitive, ensuring a smooth experience for users of all tech-savviness levels.
Responsive Layout: Fully responsive design allows the website to adapt to screens of all sizes, making it usable on desktops, tablets, and smartphones.

Technologies Used
HTML for structuring the content and layout of the website.
CSS for styling and responsive design, ensuring visual appeal and accessibility across devices.
JavaScript for adding interactivity and enabling real-time QR code generation and download functionality.

Usage Scenarios
This QR Code Generator Website can be used in various scenarios, including:
Business & Marketing: Generate QR codes for digital business cards, links to websites, social media pages, and product information.
Education: Teachers and students can use QR codes for quickly sharing links, notes, or other resources.
Personal: Create QR codes for Wi-Fi network sharing, event invitations, or personal websites.
Event Management: QR codes can be used on tickets, event posters, or badges to link to schedules or resources.

User Guide
Input Data: Users can enter the desired text, URL, or other data they wish to encode into a QR code.
Generate QR Code: With the real-time generation feature, the QR code appears instantly as users type, removing any wait time.
Download: Once satisfied with the QR code, users can click on the "Download" button to save the code as a PNG file.

Potential for Expansion
The QR Code Generator Website can be expanded with additional features such as:
Customization Options: Enabling color changes, size adjustments, and logo insertions in the QR code.
Data Formats: Support for other formats like contact details, email, and calendar events.
Dynamic QR Codes: Allowing users to create QR codes that link to dynamic data, making it easy to update content.

Conclusion
The QR Code Generator Website combines simplicity with powerful functionality, providing a practical and reliable tool for anyone needing quick and easy QR code creation. With its clean design, responsive layout, and downloadable QR codes, this tool is a versatile solution for both everyday and professional needs.
Please provide a summary of your project or the changes related to the issue. Include relevant motivation and context to help us understand the purpose and impact of your work.
Type of change

[X] New Project
[X] New Feature
[X] Bug fix

Issue number:
#50
Checklist:

[X] I have included a README.md file for my project clearly explaining its purpose, functionality, and usage instructions (applicable for new projects, not bug fixes).
[X] My code adheres to the style guidelines outlined by this project.
[X] I have thoroughly reviewed my code to identify and address any potential errors or inconsistencies.
[X] I have added clear and concise comments to my code, especially in sections that might be challenging to understand at first glance.
[X] I have reviewed and followed the project's Contributing Guidelines to ensure my contribution aligns with the project's requirements.

@SoumikGhosh9 thank you

repo: sudo-parnab/Its-webtober


text:
Use CSS grid for shortcuts

Currently, the shortcut icons are placed side by side without any particular layout. A grid layout should be used in its place.

I would like to work on this issue

@harshitkathuria Sure. Go ahead.

@sudo-rgorai , Should I make the grid responsive or should it always contains 4 coulmns?

@harshitkathuria Yes even though there's no direct way to use chrome extensions on smaller screens such as mobile phones. But using a responsive layout would be better in my opinion. Thanks :)

@sudo-rgorai Sorry I just tried to make grid responsive at my end, but it doesn't look good as it just pile up the shortcuts like a stack.

I have created a PR. Please check if that looks good. Thanks :)

That's alright. What you can do is use an absolute width for .icons and for .links you can use something like
grid-template-columns: repeat(auto-fill, 250px);
I think that should fix it. If you want you can give it a try and send another commit to your branch.

Sure, I have done the same and sent another commit to my branch. Please check if it looks good to you. Thanks

authors: harshitkathuria sudo-rgorai

repo: sudo-rgorai/DarkSite


text:
Too long user message breaks the viewport

Let's use the same markdown render for the user messages.

#196

repo: sugarforever/chat-ollama


text:
Minimizing restored group creates new group

Perhaps I'm doing something wrong but, if I've minimized an editor group, restore it, then subsequently minimize it again, this creates a new group. This is problematic if the originally minimized group has been given a name. Desired behavior would be to minimize this group back into its previously named group without creating a new group.

Agreed. It would be nice to have a "re/minimize" button in addition to the "remove" and "restore" buttons under the "MINIMIZED GROUPS" section of the Explorer. This would let you easily switch between groups of tabs.

authors: braselog generic-humanoid

repo: suhay/vscode-editor-group-minimizer


text:
php container user

Hi,
if I set the PHP_USER_ID in the env file to the id of the host system user, the php container crashes with the following errors:
php_1    | AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.168.208.3. Set the 'ServerName' directive globally to suppress this message
php_1    | (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
php_1    | no listening sockets available, shutting down
php_1    | AH00015: Unable to open logs

If I set PHP_USER_ID to root, the containers are created without any issue but I obviously can't change files in the project folder without sudo.
I'm on Ubuntu 20.10, VS Code with Docker version 19.03.8. Any help is welcome.
Thanks.

I am sorry, I do not have a Linux machine to test this by myself. Can you try if the solutions in the Running as an arbitrary user section of the README of the php docker image solve your problem?

Closing this because of inactivity

authors: cosminchiriac nnatter

repo: sulu/sulu-docker


text:
Undefined global for dofile attached functions

Undefined global check doesn't takes into account using dofile.
All functions defined in my lua libraries and attached via dofile marked as undefined golobal.

Is the file in your workspace or can be searched by workspace.library ?

@sumneko 当 lua 被嵌入使用时，如 openresty, hammerspoon 有支持提示的方式吗？

@ueaner This is determined by the editor, as far as I know, VSCode does not support this function.

@sumneko Thanks for the quick response.
Maybe we can extract the relevant definitions of Lua functions in openresty, organize them into a separate lua file, and configure the "workspace.library" option for "lua-language-server". What do you think?

OpenResty supports content_by_lua_file, or you can do it like this:
content_by_lua_block {
    require('script.tcp').accept()
}

eg: from, to, err = ngx.re.find(subject, regex, options?, ctx?, nth?)
Can be auto-complete and parameter prompts for definitions beginning with "ngx." in the lua file.

You can make a definition file for it, refer to the definition file of the built-in standard library

@sumneko thx, I will try.

I register some functions in c++ so they are globally available in my lua file. Is there any way to declare just the function definition (name and parameters) for good intellisense support without defining the actual function?

You could use EmmyLua, see https://github.com/sumneko/lua-language-server/wiki/EmmyLua-Annotations

authors: sumneko ueaner vcurious

repo: sumneko/lua-language-server


text:
Contain SVG in Image component

Changes

Adds max-height: 100% to the Image component so that SVGs are properly contained

That's pretty interesting hehe
Is it because of the parent's width?  like this:
https://stackoverflow.com/questions/14262938/child-with-max-height-100-overflows-parent

authors: connor-baer cristianoliveira

repo: sumup/circuit-ui


text:
맥용 앱은 어떻게 실행파일로 뽑나요?

맥용 앱은 어떻게 실행파일로 뽑나요?
다행이 iOS쪽 개발하다보니; xcode는 설치되어있어서 매번 빌드해 서쓰고있...

iOS랑 비슷합니다. Archive 메뉴 이용하시면 되요

authors: ChoHyunWoo sunghyuk


text:
fix(output): preserve toml table order

Fixes #144.

LGTM. Thanks!


text:
compat.py cleanup and type annotations

During digging inside djoser internals I discovered that there is some old code, so I desided to start remove piece by piece and to increase overal code quality. @tomwojcik  what you think?

Looks good. I will double check a few things soon, but it makes sense. Thank you

authors: insspb tomwojcik

repo: sunscrapers/djoser


text:
[BUG] Theme Version Settings

Describe the bug
When I try to set the theme using the latest release found here I see the latest is 0.1.2
So of course I try to set my theme using this in the config
[params]
  # CodeIT theme version
  version = "0.1.2"
  # site default theme ("light", "dark", "auto")
  defaultTheme = "auto"

Expected behavior
That it works and uses that version of the them.
What Actually Happens
Start building sites …
hugo v0.84.4+extended darwin/amd64 BuildDate=unknown
INFO 2021/07/03 21:34:33 syncing static files to /
ERROR 2021/07/03 21:34:33 Compatibility Error 兼容性错误

0.1.2 -> 0.2.X:
You have an incompatible update. See https://github.com/suntprogramator/CodeIT/releases
你进行了一次不兼容的更新. 参考 https://github.com/suntprogramator/CodeIT/releases
WARN 2021/07/03 21:34:33

Current environment is "development". The "comment system", "CDN" and "fingerprint" will be disabled.
当前运行环境是 "development". "评论系统", "CDN" 和 "fingerprint" 不会启用.
Built in 143 ms
Error: Error building site: logged 1 error(s)

But this does work:
[params]
  # CodeIT theme version
  version = "0.2.X"
  # site default theme ("light", "dark", "auto")
  defaultTheme = "auto"
  # public git repo url only then enableGitInfo is true

Build Environment

OS:macos BigSur
Theme version/commit: I am not sure due to this impacting this
Hugo version hugo v0.84.4+extended darwin/amd64 BuildDate=unknown

Hi @ktw717,
The problem is that the version does not correspond in the init.html file:
https://github.com/sunt-programator/CodeIT/blob/d1fa3573eb1aaacd9f448b2e5053fc058aa1d72c/layouts/partials/init.html#L3-L11
With the version provided in the config.toml file.
https://github.com/sunt-programator/CodeIT/blob/d1fa3573eb1aaacd9f448b2e5053fc058aa1d72c/exampleSite/config.toml#L629-L631
The next version will be v0.2.0 and the problem should disappear.

repo: sunt-programator/CodeIT


text:
Python教程1 - 简介 | 橡树屋

https://szp.io/2019/11/01/python-tutorial1/

这是这个站点的第一条评论！我将博客的评论系统从Disqus搬移到了Gitalk。欢迎大家在这里提出建议或意见。


text:
Python教程1 - 简介 | 橡树屋

https://szp.io/2019/11/01/python-tutorial1/#_3-2-术语表
欢迎来到孙子平的博客

你好世界


text:
[Bug]: RPC throws NoTransformationFoundException for functions that returns void

General Info

[X] I checked for similar bug report

Version(s)
0.9.0
Target(s)
Android
What happened? (include your code)
Calling a supabase function that returns void, throws NoTransformationFoundException.
It probably tries to convert result body to JsonElement. Since result has no content, JsonElement doesn't get created.
Setting head to true or false doesn't change the output, still throws.
Steps To Reproduce (optional)
No response
Relevant log output (optional)
Exception in thread "main" io.ktor.client.call.NoTransformationFoundException: No transformation found: class io.ktor.utils.io.ByteBufferChannel -> class kotlinx.serialization.json.JsonElement
with response from https://PROJECT-URL.supabase.co/rest/v1/rpc/void_test:
status: 204 No Content

Should be fixed in 0.9.1

Thanks!

authors: ferhatwi jan-tennert

repo: supabase-community/supabase-kt


text:
fix: add test coverage for rate limits with 0 permitted events

Verify that rate limits such as "0/1h", "0/24h" work as intended. This is a tests only change to ensure this behavior is preserved in the future.

Pull Request Test Coverage Report for Build 11725844272
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.035%

Totals

Change from base Build 11696826767:
0.0%

Covered Lines:
9546

Relevant Lines:
16737

💛  - Coveralls

authors: coveralls cstockton

repo: supabase/auth


text:
Add "count" method

Add a new .count(predicate: T => boolean) method that returns the number of items matching the given predicate
Example
Set.of([1, 2, 3, 4, 5]).count(value => {
  return value > 3
})

// 2

I can do it. You can assing to me?

@MatheusMuriel Hey Matheus, please go ahead and submit a pull request 👍

authors: MatheusMuriel marcuspoehls

repo: supercharge/set


text:
fix: Fix typo "insalling"

Insalling should be corrected to installing

@w3bdesign thank you! 🙏

repo: superfaceai/docs


text:
[CONSOLE] Add support for ENS domains

Synopsis
As a Console user, I'd like to be able to use human-readable addresses in the Console.
Context
This includes:

Forward resolution in search from ENS name to Hex Address
Reverse resolution on address pages from Hex Address to ENS

Checklist

[ ] Use RTK-Query for caching and request de-duplication. NOTE: There is a redux slice for this in the new dashboard. See comment below [1]
[ ] Resolve "reverse resolution" correctly/safely: https://docs.ens.domains/dapp-developer-guide/resolving-names#reverse-resolution. NOTE: This should be straightforward with ethers.js
[ ] Handle UI for account having both address book name and ENS name.

Acceptance Criteria

Users can search by ENS name in the search bar and see results
Users can see ENS names resolved on address pages
The solution is safe and correct.
The solution doesn't overly spam RPC-s / Subgraph.
Passes a subjective code review for quality by the Supefluid Finance team.

Additional References
Any solution should take account of the ENS front-end design guidelines https://docs.ens.domains/dapp-developer-guide/front-end-design-guidelines
https://www.npmjs.com/package/@ensdomains/ens-contracts
Future work:

Reverse resolution in Latest Streams, Account , Super Token, Streams, Index and Index Subscription pages.

Bounty Reward:
$250 paid in stablecoin on Polygon
Bounty Program info: https://docs.superfluid.finance/superfluid/resources/bounty-program

Thanks for opening an issue @developerfred!
Which areas are you most interested in having ENS support in the console?
Is it something you'd be interested in contributing?

@vmichalik I thought about adding the ens resolver for search and viewing in the address book, yes I want to contribute.

Some possible points for the checklist:

[ ] Use RTK-Query for caching and request de-duplication. NOTE: I did a redux slice for this in the new dashboard. [1]
[ ] Resolve "reverse resolution" correctly/safely: https://docs.ens.domains/dapp-developer-guide/resolving-names#reverse-resolution. NOTE: In the new dashboard, I used ethers.js which handles this itself.
[ ] Handle UI for account having both address book name and ENS name.

When doing ENS lookups for list views:

[ ] Handle querying ENS names when there's 50 addresses visible in a table. NOTE: I don't know how to best do this yet. Probably would have to query the names from Subgraph in one go somehow.

More optional extensions:

Use ENS avatar for account page

Acceptance Criterias?

The solution is safe and correct.
The solution doesn't overly spam RPC-s / Subgraph.
Passes a subjective code review for quality by the Supefluid Finance team.

Other acceptance criterias are from user's perspective (i.e. user can search by ENS name) which someone else can spec. I didn't put an acceptance criteria for tests because we don't have unit tests and the E2E tests are probably best written by our QA team.
[1] Redux slice for ENS lookups using ethers:
import { fakeBaseQuery } from "@reduxjs/toolkit/dist/query";
import { createApi } from "@reduxjs/toolkit/dist/query/react";
import { ethers } from "ethers";

export const ensApi = createApi({
  reducerPath: "ens",
  baseQuery: fakeBaseQuery(),
  endpoints: (builder) => {
    const mainnetProvider = new ethers.providers.InfuraProvider(
      "mainnet",
      "INFURA_KEY"
    );

    return {
      resolveName: builder.query<
        { address: string; name: string } | null,
        string
      >({
        queryFn: async (name) => {
          if (ethers.utils.isAddress(name)) {
            return { data: null };
          }

          const address = await mainnetProvider.resolveName(name);
          return {
            data: address
              ? {
                  name,
                  address: address,
                }
              : null,
          };
        },
      }),
      lookupAddress: builder.query<
        { address: string; name: string } | null,
        string
      >({
        queryFn: async (address) => {
          const name = await mainnetProvider.lookupAddress(address);
          return {
            data: name
              ? {
                  name,
                  address: ethers.utils.getAddress(address),
                }
              : null,
          };
        },
      }),
    };
  },
});

Hey @developerfred! I'm attaching a small bounty to this work, just to reward you upon completion. Thank you for stepping up here!
For info on claiming the bounty on completion, see here: https://docs.superfluid.finance/superfluid/resources/bounty-program

@kasparkallas
Today there is rss3 feed, it has a base with thousands of consumers and ENS, it has a subgraph and stores it in a bank. There is a public direct response api:
https://rss3.domains/name/:id
on here
https://rss3.domains/name/codingsh.eth

@kasparkallas I have a question about how redux automatically generates hooks in my build is not generating.

I supported both rss3 and ethers requests

Hey @developerfred, looking awesome!
I would probably switch around the order here a little, as you've currently got ENS as a button which implies it's clickable.
I'd put it on the same line just after the hex address in a subtitle font. That's the slightly darker grey colour in dark mode per the subtitles below.

On typing either the ENS or Wallet address:

When viewing a specific account with an ENS

I wanted to get people's opinions on the UI before I start implementation.

Thanks @Seroxdesign, I sent a message on Discord with some additional context, but excited to see your work on this!

authors: Seroxdesign developerfred kasparkallas sunnyjaycer vmichalik

repo: superfluid-finance/superfluid-console