Save RP version for location

Which issue this PR addresses:
Fixes 7590001
What this PR does / why we need it:
Saves the RP version to storage after successful deployment on a per-location basis. This will enable us in the future to make the E2Es target the correct version for each location.
Test plan for issue:
To test this, deploy RP to INT and verify that the proper blob was created. Then, when doing rollout to canary regions, check again that separate blobs were created per location.
Is there any documentation that needs to be updated for this PR?
 Either my pipeline assumptions are wrong or smth is off here.

/azp run e2e


Custom User tokenAuth -

Hi , I created a custom user, and basically, I've setup everything as supposed to, the registration works, and is sending the verification email with the token, but if I try to log in using tokenAuth here it stops working and is giving me this error
I have a schema.py file next to the settings.py file and there I'm combining all my schemas from two different apps, one is users and another one is a video :
from strawberry import Schema
from strawberry.tools import merge_types
from video.schema import Query as QueryVideo, Mutation as MutationVideo
from users.schema import Query as QueryUsers, Mutation as MutationUsers

queries = (QueryVideo, QueryUsers)

mutations = (MutationVideo, MutationUsers)

Query = merge_types("Query", queries)

Mutation = merge_types("Mutation", mutations)

schema = Schema(query=Query, mutation=Mutation)

this is my users schema.py
import strawberry
from gqlauth.user.queries import UserQueries
from gqlauth.user import arg_mutations as mutations

from typing import List
from .types import CustomUserType
from .models import CustomUser

@strawberry.type
class Query(UserQueries):
    @strawberry.field
    def users(self) -> List[CustomUserType]:
        return CustomUser.objects.all()

    @strawberry.field
    def user(self, id: int) -> CustomUserType:
        if id == id:
            user = CustomUser.objects.get(id=id)
            return user

@strawberry.type
class Mutation:
    verify_token = mutations.VerifyToken.field
    update_account = mutations.UpdateAccount.field
    archive_account = mutations.ArchiveAccount.field
    delete_account = mutations.DeleteAccount.field
    password_change = mutations.PasswordChange.field
    # swap_emails = mutations.SwapEmails.field

    # these are mutation that does not require authentication.
    # captcha = Captcha.field
    token_auth = mutations.ObtainJSONWebToken.field
    register = mutations.Register.field
    verify_account = mutations.VerifyAccount.field
    resend_activation_email = mutations.ResendActivationEmail.field
    send_password_reset_email = mutations.SendPasswordResetEmail.field
    password_reset = mutations.PasswordReset.field
    password_set = mutations.PasswordSet.field
    refresh_token = mutations.RefreshToken.field
    revoke_token = mutations.RevokeToken.field
    # verify_secondary_email = mutations.VerifySecondaryEmail.field

    # @strawberry.field
    # def delete_users(self, id: int) -> bool:
    #     user = CustomUser.objects.get(id=id)
    #     user.delete
    #     return True

in my settings.py I have the following :
from pathlib import Path
import os
from typing import Optional
from gqlauth.settings_type import GqlAuthSettings, email_field, password_field, first_name_field, last_name_field
from gqlauth.settings_type import GqlAuthSettings
from strawberry.annotation import StrawberryAnnotation
from strawberry.field import StrawberryField

INSTALLED_APPS = [
    "corsheaders",
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    'graphene_django',
    "strawberry.django",
    "gqlauth",

    "video",
    "users"
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    "whitenoise.middleware.WhiteNoiseMiddleware",
    'django.contrib.sessions.middleware.SessionMiddleware',
    "corsheaders.middleware.CorsMiddleware",
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    "gqlauth.core.middlewares.django_jwt_middleware",
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

AUTHENTICATION_BACKENDS = [
    "django.contrib.auth.backends.ModelBackend",
]

first_name_field = StrawberryField(
    python_name="first_name",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
last_name_field = StrawberryField(
    python_name="last_name",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
profile_image_field = StrawberryField(
    python_name="profile_image",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
date_of_birth_field = StrawberryField(
    python_name="date_of_birth",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
phone_field = StrawberryField(
    python_name="phone",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
country_field = StrawberryField(
    python_name="country",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
city_field = StrawberryField(
    python_name="city",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
zip_code_field = StrawberryField(
    python_name="zip_code",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)

GQL_AUTH = GqlAuthSettings(
    SEND_ACTIVATION_EMAIL=True,
    LOGIN_REQUIRE_CAPTCHA=False,
    REGISTER_REQUIRE_CAPTCHA=False,
    ALLOW_LOGIN_NOT_VERIFIED=False,
    # JWT_PAYLOAD_PK=field(default_factory=lambda: email_field),
    LOGIN_FIELDS=set([email_field, password_field]),
    # ACTIVATION_PATH_ON_EMAIL="confirm",
    REGISTER_MUTATION_FIELDS=set([email_field, first_name_field, last_name_field, date_of_birth_field, phone_field, country_field, city_field, zip_code_field]),
    UPDATE_MUTATION_FIELDS=set([first_name_field, last_name_field, phone_field, country_field, city_field, zip_code_field]),
    EMAIL_TEMPLATE_VARIABLES={
        'site_name': 'My project',
        'protocol': 'http',
        'frontend_domain': 'localhost:3000',
        'path': 'user/verify',
        'path2': 'user/reset-password',
    }
)

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [os.path.join(BASE_DIR, "templates")],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
        },
    },
]

GRAPHENE = {
    'SCHEMA': 'backend.schema.schema',
    'MIDDLEWARE': [
        'graphql_jwt.middleware.JSONWebTokenMiddleware',
    ],
}

AUTH_USER_MODEL = 'users.CustomUser'

And this is my custom user model :
from django.db import models
from django.contrib.auth.models import AbstractBaseUser, AbstractUser
from django.contrib.auth.models import  BaseUserManager
from django.utils import timezone
from django.utils.translation import gettext_lazy as _

# Create your models here.

class UserManager(BaseUserManager):
    use_in_migrations = True

    def _create_user(self, email, first_name, last_name, password=None):
        """ Create and save a User with the given email and password """
        if not email:
            raise ValueError('The given email must be set')
        email = self.normalize_email(email)
        user = self.model(email=email, first_name=first_name, last_name=last_name)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, email, password, first_name, last_name):
        """ Create and save a SuperUser with the given email and password. """

        user = self._create_user(
            email=self.normalize_email(email),
            password=password,
            first_name=first_name,
            last_name=last_name,
        )

        user.is_admin = True
        user.is_staff = True
        user.is_superuser = True
        user.is_active = True
        user.save(using=self._db)
        return user

    def verifyAccount(self, user, user_input, code):
        if user_input == code:
            user.is_active = True
            user.save(using=self._db)
            return user

class CustomUser(AbstractUser):
    id = models.AutoField(primary_key=True, editable=False)
    email = models.EmailField(blank=False, max_length=255, unique=True, verbose_name="email address")
    first_name = models.CharField(max_length=255, verbose_name="first_name")
    last_name = models.CharField(max_length=255, verbose_name="last_name")
    profile_image = models.ImageField(null=True, blank=True)
    # profile_image = models.ImageField(default="../media/default_avatar.png", null=True, blank=True)
    date_of_birth = models.DateField(blank=False, null=True, verbose_name="date_of_birth")
    phone = models.CharField(blank=False, max_length=12, verbose_name="phone")
    country = models.CharField(blank=False, max_length=150, verbose_name="country")
    city = models.CharField(blank=True, max_length=150, verbose_name="city")
    zip_code = models.CharField(blank=True, max_length=5, verbose_name="zip_code")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    date_joined = models.DateTimeField(default=timezone.now)

    USERNAME_FIELD = "email"
    EMAIL_FIELD = "email"
    REQUIRED_FIELDS = ["first_name", "last_name"]

    objects = UserManager()

    def __str__(self):
        return self.email

    def has_perm(self, perm, obj=None):
        return self.is_admin

    def has_module_perms(self, app_label):
        return True

and this is the requirements.txt file :
amqp==5.1.1
aniso8601==9.0.1
asgiref==3.7.2
async-timeout==4.0.2
billiard==4.1.0
celery==5.3.1
certifi==2023.5.7
charset-normalizer==3.1.0
click==8.1.3
click-didyoumean==0.3.0
click-plugins==1.1.1
click-repl==0.3.0
decorator==4.4.2
distlib==0.3.6
Django==4.2.2
django-admin-display==1.3.0
django-cors-headers==3.11.0
django-countries==7.3.2
django-environ==0.8.1
django-filter==21.1
django-stubs==4.2.3
django-stubs-ext==4.2.2
filelock==3.12.0
graphene==3.2.2
graphene-django==3.1.2
graphql-core==3.2.3
graphql-relay==3.2.0
gunicorn==20.1.0
idna==3.4
imageio==2.30.0
imageio-ffmpeg==0.4.8
kombu==5.3.1
markdown2==2.4.6
mypy==1.4.1
mypy-extensions==1.0.0
packaging==23.1
Pillow==9.1.0
platformdirs==3.5.1
proglog==0.1.10
promise==2.3
prompt-toolkit==3.0.38
psycopg2-binary==2.9.3
PyJWT==2.7.0
python-dateutil==2.8.2
pytz==2022.1
redis==4.6.0
requests==2.31.0
Rx==1.6.1
singledispatch==3.7.0
six==1.16.0
sqlparse==0.4.2
strawberry-django-auth==0.374.6
strawberry-django-jwt==0.2.3
strawberry-django-plus==2.6.6
strawberry-graphql==0.192.0
strawberry-graphql-django==0.9.5
text-unidecode==1.3
tomli==2.0.1
tqdm==4.65.0
types-pytz==2<IP_ADDRESS>
types-PyYAML==<IP_ADDRESS>
typing_extensions==4.6.3
tzdata==2023.3
urllib3==2.0.2
vine==5.0.0
virtualenv==20.23.0
wcwidth==0.2.6
whitenoise==6.5.0

Please let me know, what could be the problem, thank you.
The email and password are correct, there are no misspelled words, I've tried with other emails, and the emails are verified and active...
And if I query for me, I get  "Unauthenticated", even though I'm logged in, in my Django admin panel:
query{
	me{
    id
    email
  }
}

{
  "data": null,
  "errors": [
    {
      "message": "Unauthenticated.",
      "locations": [
        {
          "line": 2,
          "column": 2
        }
      ],
      "path": [
        "me"
      ]
    }
  ]
}

Hey!

You are not using the latest version.

I get "Unauthenticated", even though I'm logged in, in my Django admin panel:
I am not sure if that means that you are not required to provide a token. Can you set a breakpoint at the middleware and see where it is failing?

Hi, I've tried to add a token to the tokenAuth mutation, but is not showing when I type the word.
How can I set a breakpoint ?

You need to remove strawberry-graphql-django from your requirements.txt pip will do the rest. I do recommend using something like Python Poetry or pdm.
the traceback would be enough.

So I don't need strawberry-graphql-django ? I also want to specify that I'm using strawberry-graphql-django  to query and mutate data for the other app the Video one , so if I remove strawberry-graphql-django how will those query and mutation work ?

So what can I do ?

You need to remove strawberry-graphql-django from your requirements.txt pip will do the rest. I do recommend using something like Python Poetry or pdm.

How can I set a breakpoint ?

the traceback would be enough.

I aleady have venv and pip , why do I need Poetry or pdm ?

So basically what I've noticed is that if I only use this custom user with the AbstractUser and not the AbstractBaseUser in my model so the way it is shown in the quick start example, and I try to create a user and login with the username and password, I'm getting logged in and I get the token and all the details, but if I try with my custom user made with AbstractBaseUser and use all my custom fields, and if I set it to log in with email , then is stop working and is not logging in

you can't use strawberry-django-jwt and this library at once
strawberry-django-jwt is outdated
you probably don't use   strawberry-django-plus as well as it was merged at the strawberry-django.
I didn't said you  need Poetry I said it is recommended to avoid stuff like you just did. though nothing saves you if you don't know what your dependencies does...

I think all of those strawberry-django-jwt and strawberry-django-plus , comes with strawberry-django-auth , or with strawberry-graphql-django , I dindn't personally installed strawberry-django-jwt and strawberry-django-plus , when I ran pip freeze > textrequirements.txt , they were there. So I what can I do eventually ? If I use Poetry is not like same thing as if I would use venv ?

but tokenAuth using as fields email and password still doesn't work. So I what can I do eventually ?

A traceback would help :upside_down_face:

So I've created a new project and I've installed only strawberry-django-auth and strawberry-graphql-django plus django-cors-headers and Pillow , here's the requirements.txt file :
asgiref==3.7.2
Django==4.2.3
django-cors-headers==4.2.0
django-stubs==4.2.3
django-stubs-ext==4.2.2
graphql-core==3.2.3
mypy==1.4.1
mypy-extensions==1.0.0
Pillow==10.0.0
PyJWT==2.7.0
python-dateutil==2.8.2
six==1.16.0
sqlparse==0.4.4
strawberry-django-auth==0.375.0
strawberry-graphql==0.194.4
strawberry-graphql-django==0.11.0
tomli==2.0.1
types-pytz==2<IP_ADDRESS>
types-PyYAML==<IP_ADDRESS>
typing_extensions==4.7.1

and in the settings.py file I have the following :
from pathlib import Path
import os
from typing import Optional
from gqlauth.settings_type import GqlAuthSettings, email_field, password_field, first_name_field, last_name_field
from gqlauth.settings_type import GqlAuthSettings
from strawberry.annotation import StrawberryAnnotation
from strawberry.field import StrawberryField

INSTALLED_APPS = [
    "corsheaders",
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    "strawberry.django",
    "gqlauth",
    "videos",
    "users"
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    "corsheaders.middleware.CorsMiddleware",
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    "gqlauth.core.middlewares.django_jwt_middleware",
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

AUTHENTICATION_BACKENDS = [
    "django.contrib.auth.backends.ModelBackend",
]

profile_image_field = StrawberryField(
    python_name="profile_image",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
date_of_birth_field = StrawberryField(
    python_name="date_of_birth",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
phone_field = StrawberryField(
    python_name="phone",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
country_field = StrawberryField(
    python_name="country",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
city_field = StrawberryField(
    python_name="city",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)
zip_code_field = StrawberryField(
    python_name="zip_code",
    default=None,
    type_annotation=StrawberryAnnotation(Optional[str]),
)

GQL_AUTH = GqlAuthSettings(
    SEND_ACTIVATION_EMAIL=True,
    LOGIN_REQUIRE_CAPTCHA=False,
    REGISTER_REQUIRE_CAPTCHA=False,
    ALLOW_LOGIN_NOT_VERIFIED=False,
    # JWT_PAYLOAD_PK=field(default_factory=lambda: email_field),
    LOGIN_FIELDS=set([email_field, password_field]),
    # ACTIVATION_PATH_ON_EMAIL="confirm",
    REGISTER_MUTATION_FIELDS=set([email_field, first_name_field, last_name_field, date_of_birth_field, phone_field, country_field, city_field, zip_code_field]),
    UPDATE_MUTATION_FIELDS=set([first_name_field, last_name_field, phone_field, country_field, city_field, zip_code_field]),
    EMAIL_TEMPLATE_VARIABLES={
        'site_name': 'Real Trading 23',
        'protocol': 'http',
        'frontend_domain': 'localhost:3000',
        'path': 'user/verify',
        'path2': 'user/reset-password',
    }
)

AUTH_USER_MODEL = 'users.CustomUser'

EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"

CORS_ALLOWED_ORIGINS = [
    "http://localhost:3000",
    "http://<IP_ADDRESS>:8000",
    "http://<IP_ADDRESS>:8080",
    "http://localhost:8080",
    "http://backend:8000"
]

CORS_ALLOW_CREDENTIALS = True

my user model :
from django.db import models
from django.contrib.auth.models import AbstractBaseUser
from django.contrib.auth.models import  BaseUserManager
from django.utils import timezone
from django.utils.translation import gettext_lazy as _

# Create your models here.

class UserManager(BaseUserManager):
    use_in_migrations = True

    def _create_user(self, email, first_name, last_name, password=None):
        """ Create and save a User with the given email and password """
        if not email:
            raise ValueError('The given email must be set')
        email = self.normalize_email(email)
        user = self.model(email=email, first_name=first_name, last_name=last_name)
        user.set_password(password)
        user.save(using=self._db)
        return user

    def create_superuser(self, email, password, first_name, last_name):
        """ Create and save a SuperUser with the given email and password. """

        user = self._create_user(
            email=self.normalize_email(email),
            password=password,
            first_name=first_name,
            last_name=last_name,
        )

        user.is_admin = True
        user.is_staff = True
        user.is_superuser = True
        user.is_active = True
        user.save(using=self._db)
        return user

    def verifyAccount(self, user, user_input, code):
        if user_input == code:
            user.is_active = True
            user.save(using=self._db)
            return user

class CustomUser(AbstractBaseUser):
    id = models.AutoField(primary_key=True, editable=False)
    email = models.EmailField(blank=False, max_length=255, unique=True, verbose_name="email address")
    first_name = models.CharField(max_length=255, verbose_name="first_name")
    last_name = models.CharField(max_length=255, verbose_name="last_name")
    profile_image = models.ImageField(null=True, blank=True)
    # profile_image = models.ImageField(default="../media/default_avatar.png", null=True, blank=True)
    date_of_birth = models.DateField(blank=False, null=True, verbose_name="date_of_birth")
    phone = models.CharField(blank=False, max_length=12, verbose_name="phone")
    country = models.CharField(blank=False, max_length=150, verbose_name="country")
    city = models.CharField(blank=True, max_length=150, verbose_name="city")
    zip_code = models.CharField(blank=True, max_length=5, verbose_name="zip_code")
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)
    last_login = models.DateTimeField(verbose_name='last login', auto_now=True)
    is_admin = models.BooleanField(default=False)
    is_active = models.BooleanField(default=False)
    is_staff = models.BooleanField(default=False)
    is_superuser = models.BooleanField(default=False)
    date_joined = models.DateTimeField(default=timezone.now)

    USERNAME_FIELD = "email"
    EMAIL_FIELD = "email"
    REQUIRED_FIELDS = ["first_name", "last_name"]

    objects = UserManager()

    def __str__(self):
        return self.email

    def has_perm(self, perm, obj=None):
        return self.is_admin

    def has_module_perms(self, app_label):
        return True

and this is the users schema.py :
import strawberry
from gqlauth.user.queries import UserQueries
from gqlauth.user import arg_mutations as mutations

from typing import List
from .types import CustomUserType
from .models import CustomUser

@strawberry.type
class Query(UserQueries):
    @strawberry.field
    def users(self) -> List[CustomUserType]:
        return CustomUser.objects.all()

    @strawberry.field
    def user(self, id: int) -> CustomUserType:
        if id == id:
            user = CustomUser.objects.get(id=id)
            return user

@strawberry.type
class Mutation:
    verify_token = mutations.VerifyToken.field
    update_account = mutations.UpdateAccount.field
    archive_account = mutations.ArchiveAccount.field
    delete_account = mutations.DeleteAccount.field
    password_change = mutations.PasswordChange.field
    # swap_emails = mutations.SwapEmails.field

    # these are mutation that does not require authentication.
    # captcha = Captcha.field
    token_auth = mutations.ObtainJSONWebToken.field
    register = mutations.Register.field
    verify_account = mutations.VerifyAccount.field
    resend_activation_email = mutations.ResendActivationEmail.field
    send_password_reset_email = mutations.SendPasswordResetEmail.field
    password_reset = mutations.PasswordReset.field
    password_set = mutations.PasswordSet.field
    refresh_token = mutations.RefreshToken.field
    revoke_token = mutations.RevokeToken.field
    # verify_secondary_email = mutations.VerifySecondaryEmail.field

and this is the schema from the main folder where I merge all the queries and mutations :
from strawberry import Schema
from strawberry.tools import merge_types
from videos.schema import Query as QueryVideo , Mutation as MutationVideo
from users.schema import Query as QueryUsers , Mutation as MutationUsers

queries = (QueryVideo, QueryUsers)

mutations = (MutationVideo, MutationUsers)

Query = merge_types("Query", queries)

Mutation = merge_types("Mutation", mutations)

schema = Schema(query=Query, mutation=Mutation)

So why is this happening now ?

and now as an update, even if I do verifAccount mutation and send the token I get the good / true response, but inside the django admin the after I set the is_active field to true , now I get this response :

is that project hosted on github?

not yet, before there was a code that was added to the settings.py file AUTHENTICATION_BACKENDS
something like this :
AUTHENTICATION_BACKENDS = [
    'graphql_auth.backends.GraphQLAuthBackend',
    'django.contrib.auth.backends.ModelBackend',
]

That graphql_auth.backends.GraphQLAuthBackend was used to say that we use something different to login instead of default django username , for example an email, but now I see that we don't use that anymore with strawberry-django-auth.
Any way here's is the repo https://github.com/phaniophrero/django-user-auth-strawberry/tree/main/backend , although I think I've offered everything in my early comments all the files. Please let me know why is this login with email not working , thank you.

is that project hosted on github?

Hi, I've added my code to github https://github.com/phaniophrero/django-user-auth-strawberry/tree/main/backend. could you please take a look at it ?

I'll try to have a look soon.

Hi, have you got the chance to take a look at my project?

Ok so the problem was that you should have set JWT_PAYLOAD_PK=email_field

Ok, thank you, I'll try that and come back with an update.
You don't like my current API setup or you're talking about strawberry-django-auth API?

The latter :upside_down_face:

@phaniophrero Can I close this issue?


[W2.6e][T09-1]Ngo Wei Lin

The class variable feedbackToUser of CommandResult class is set to public and final, which allows the variable to be visible but not modifiable from outside of a CommandResult object.
If feedbackToUser is no longer set to final in the future, the variable will become mutable and modifiable from outside of a CommandResult object.
This allows unintended actions such as inadvertent modification to the feedbackToUser variable from outside of a CommandResult object.
To future-proof the CommandResult class, let's err on the side of caution and encapsulate feedbackToUser so that it can only be accessed using a getter method in the CommandResult class.

It seems that this modification makes the code more secure :o Are there other possible security issues of this addressbook level 2?


Clearly document non-Apache releases as such

It was pointed out on the incubator mailing list that the website lists releases which are not official Apache releases. We must fix that by removing them, or by making it clear that they are pointers to non-Apache releases from prior to joining Apache.

Commens from thread on mailing list :

comment 1
comment 2

PR #10

@ctubbsii  I think this can be closed

@keith-turner I agree, but I do not have permission to close the issue.


General: Make subtext under H1s consistent in terms of upper or lowercase and punctuation

Another example of inconsistency:


(QENG-3309) (QENG-3309) Add cisco vmpooler platforms.

This also adds cisco-exr-9k-x86_64 but I wasn't able to find a QENG ticket for that.
@LuvCurves This redoes #11 which had mismatched platform and template values. Would you mind reviewing this PR and letting me know if this will suit your needs?
@joshcooper @justinstoller @sschneid please review when you get a chance.

:+1:

Refer to this link for build results (access rights to CI server needed):
http://jenkins-qe.delivery.puppetlabs.net/job/qe_beaker-hostgenerator_btc-intn/19/

Closing this because I was confused, looks like #11 was actually correct if a little counter-intuitive.


CoreCLR dnx kestrel on OS X consistently fails after ~16500 requests

(This appears to be the case across multiple betas - I've tested beta7 and various beta8 releases)
I've created a simple WebApi site using yo and the generator-aspnet on OS X Yosemite 10.10.5
After starting the site and running an ab test, the load test consistently fail after approx. 16,384 requests. Note that this is cumulative (i.e., if you run 4 tests of 4000 requests, it will fail on the 5th test after approx. 384 requests -- assuming you are not restarting kestrel between each run).
At no time does kestrel itself report an error.
Latest tested version:
dnvm: 1.0.0-beta8-15519
dnu/dnx: CoreClr-x64-1.0.0-beta8-15654

Microsoft.AspNet.Mvc 6.0.0-beta8-15875
Microsoft.AspNet.Server.Kestrel 1.0.0-beta8-15674
Microsoft.AspNet.StaticFiles 1.0.0-beta8-15649

Failure: (after running 4 previous tests)
$ ab -c 8 -k -n 4000 http://localhost:5004/api/values
This is ApacheBench, Version 2.3 <$Revision: 1663405 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
apr_socket_recv: Operation timed out (60)
Total of 373 requests completed

Second run (after restarting kestrel):
$ ab -c 8 -k -n 17000 http://localhost:5004/api/values
This is ApacheBench, Version 2.3 <$Revision: 1663405 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking localhost (be patient)
Completed 1700 requests
Completed 3400 requests
Completed 5100 requests
Completed 6800 requests
Completed 8500 requests
Completed 10200 requests
Completed 11900 requests
Completed 13600 requests
Completed 15300 requests
apr_socket_recv: Operation timed out (60)
Total of 16389 requests completed

I'm including my project.lock.json file (as requested in other issues):
https://gist.github.com/jstclair/31cc14b24eda8c4139f7
(note: file contents were too long for a comment, so created a gist instead...)

@jstclair Are you still seeing this? I can't repro it.

I can try again on the latest bits and close if not.

On Dec 15, 2015, at 01:36, Cesar Blum Silveira<EMAIL_ADDRESS>wrote:
@jstclair Are you still seeing this? I can't repro it.
—
Reply to this email directly or view it on GitHub.

Ok, let us know.

Closing this since no repro (cc @muratg).


TTL is a number not a string

File: themes/default/content/registry/packages/aws/api-docs/route53/record/_index.md

This appears to be a codegen bug with translating the example


Generic JSException on aborting open/save dialogs

When user aborts open/save dialog, showSaveFilePicker/showOpenFilePicker APIs throws AbortError which is unhandled by the Blazor.FileSystemAccess library.
The exception can be catched on the C# side only as generic JSException which has no mean to check what caused the error.
Please propagate AbortError to C# by using specialized exception or null return value.

Hey Jan,
Thanks for the issue. Sounds like a great idea.
There are multiple solutions for this as you state yourself.
I have stated and described a lot of options for solutions below and their usage. I welcome anyone to share their thoughts on each of these approaches so that we can arrive at the best solution.
Current solution
Just to restate what the current approach is: We don't handle errors in the library and leave the error handling to the user of the library as if they were making the JSInterop calls themself. The problem is as you state that you always get a JSException and that you don't have the option to distinguish between errors without parsing the exception message yourself.
This is what the consumption code looks like:
FileSystemFileHandle? fileHandle;

try
{
    fileHandle = await FileSystemAccessService.ShowOpenFilePickerAsync();
}
catch (JSException ex)
{
    // Handle Exception and notify the user of a generic error.
}

// At this point the fileHandle will not be null.

Return null on exception
We can make a try-catch around all the calls that state that they can throw an exception and return null if this happens. This is the easiest to implement but leaves the user with no knowledge about what actually caused the returned value to be null.
This is what the consumption code would look like:
FileSystemFileHandle? fileHandle = await FileSystemAccessService.ShowOpenFilePickerAsync();

if (fileHandle is null)
{
    // Notify the user of a generic error.
}
else
{
    // At this point the fileHandle will not be null.
}

Catch, Parse, and Throw
We could catch the JSException and either parse it or search for key parts of the message string and throw appropriate custom errors. This is i.e. what Chris Sainty does in Blazor/LocalStorage and other packages. One specific approach to this is here where he checks if the error message contains a specific sentence. This is nice, but it is not necessarily working in all browsers as that specific message is up to each browser implementer to formulate. (But again it is probably the same message in all major browsers.)
This is what the consumption code would look like:
FileSystemFileHandle? fileHandle;

try
{
    fileHandle = await FileSystemAccessService.ShowOpenFilePickerAsync();
}
catch (FatalErrorJSException fejsex)
{
    // Notify the user of a specific fatal error with some message.
}
catch (JSException jsex)
{
    // Handle Exception and notify the user of a generic error.
}

// At this point the fileHandle will not be null.

Catch the exception in JS.
For this, we would need wrapper JS methods for all methods that could throw specific errors. The question is what to do with this error. A general problem with this approach is that we would need to write many JS wrapper methods.
Callback methods.
We could do as David Pine has done in the Blazorators library and define two callback methods for either a successful invocation or an errored invocation. This complicates the code in the library and the code the consumer has to write. Another problem is that the code is very dissimilar to the corresponding JS code.
This is what the consumption code would look like:
FileSystemFileHandle? fileHandle;

await FileSystemAccessService.ShowOpenFilePickerAsync(
    successCallback: (handle) => fileHandle = handle,
    errorCallback: (error) => {
        switch (error) {
            case FatalError fe:
                // Notify the user of a specific fatal error with some message.
                break;
            default:
                // Notify the user of a generic error.
                break;
        };
    }
);

if (fileHandle is not null)
{
    // At this point the fileHandle will not be null.
}

Boxed returns
We can box the result of a method and on the returned object (which boxes the result) have a property that specified which error it is if any (string? type). Then create a custom exception type for each of these possible errors and throw them if it was an error. A problem with this is that there would be a constant overhead in every request that could throw an exception as we would need to unwrap the boxed response for every request.
This is what the consumption code would look like:
FileSystemFileHandle? fileHandle;

try
{
    fileHandle = await FileSystemAccessService.ShowOpenFilePickerAsync();
}
catch (FatalErrorJSException fejsex)
{
    // Notify the user of a specific fatal error with some message.
}
catch (JSException jsex)
{
    // Handle Exception and notify the user of a generic error.
}

// At this point the fileHandle will not be null.

Have ASP.NET handle JSInterop errors better
The ideal solution would be for ASP.NET to handle this as it is a common problem that any JSInterop invocation could throw an error for many reasons.
Standard JS Exception implementations.
They could do this by checking for the specific type of error when they invoke the method. The obvious counterargument for this would be that anyone can make specific errors in JS which Blazor couldn't possibly cover. My answer to this would be to at least cover the exception types specified here in the WebIDL standard specs and to have specific exception types for the error codes that a DomException can have. An example could be AbortErrorDomJSException.
Closing comments.
I feel like this needs some discussion before I settle on any solution and welcome anyone to share their thoughts.

I have discussed this on other channels and have concluded that most like the Catch, Parse, and Throw approach.
I will look more into how we can create some systematic exceptions that can potentially be used in multiple scenarios.

For people following this issue you might be interested in the latest release of Blazor.WebIDL and its accompanying Twitter post: https://twitter.com/KStrubeG/status/1656162148182028289
https://github.com/KristofferStrube/Blazor.FileSystemAccess/assets/11569642/34b95dc2-568a-4d49-a6b5-2eddfc11ce63


The arrow lines between multiple points should not overlap

How to set the arrow lines between multiple points so that they do not overlap and have gaps between them.

You can use lineDash and lineDashOffset for this:
new Stroke({
  color: 'red',
  lineDash: [99999, 10],
  lineDashOffset: -10,
})

This line-dash pattern will alternate with 99999 px of line and 10px of gap. By using and offset of -10 px, the line will  start with the 10 px gap, then draw a continuous line.
If you need a gap on both ends you could draw two lines, each with a line-dash style, that meet at a midpoint between  the icons it connects.
Here is a working example:
https://codesandbox.io/s/connecting-line-with-gap-3ygjpc?file=/main.js

Okay, thank you


fix (npm): set main config

fixed module loading while using webpack, not angular cli.

Coverage remained the same at 67.654% when pulling 3429b729fca5d7b8cb41c9db9f3f5f79e0518c9c on playerx:patch-1 into 0d70235ee8ed43f65485b7661775cecf5a8c3040 on Teradata:develop.

hi @coveralls, should i improve something? Do u know why coverage became 67.654?

Thanks for the heads up and contribution!
The coveralls thing is an automatic message that tells you the overall code coverage. In this case you only modified the package.json so there is no need to add unit tests.

Thanks for info :)
Can you tell me the release date of next patch (0.10.3) with this pull request?
Thanks & GJ 👍

Hi @playerx there would be no patch. We would do a release sometime later this month, Thanks.

Would be fixed when we handle #246

Cool thanks 👍

Ill close this for now, but we are planning on tackling this for beta.2.


Update AbstractExecutable.java

if xxx == false 改为 if !xxx

Hi, we write that way just for more readable. Please provide more information about the benefit of this PR, if possible. As there is no response for some time, I would close it now; Please feel free to reopen if you have more info. Thanks!


Older Version of MuJoCo

Could we have the latest version's of MuJoCo. For example Half_Cheetah_v3 since this one has different properties to the previous versions.

We have recently updated MAMuJoCo to its latest version, which is now maintained under Gymnasium-Robotics.
To learn how to use it, you can refer to the examples provided at Examples.
Please note that Gymnasium-Robotics has not been merged into the master branch. You can access it by checking out the rllib_1.8.0_dev branch.
If you encounter any bugs or issues, we encourage you to create a pull request (PR). We welcome contributions from the community.

duplicated as #128


#306 - Add hamburger menu

see #306 as a reference

Besides that breakpoint feature, it looks ok. Please have the menu on the left side, also, we updated the menu too in a later XLT version, so it does not use superfish anymore and has different CSS, you might have to rebase your branch first.

@rschwietzke I added breakpoints for the different screen sizes. Still open is the resizing of the Load Profile table. From waht I have seen so far the size of that table is fixed set in the HTML code
style="width: 1079.35px;"

I will check and first rebase with the latest report state.

What you see is the behavior of the table.js. There is not responsive version of a table, it will, sooner or later, turn into something horizontally scrollable.

After the rebase I need to apply some changes to bring the hamburger menu back


cmd/compile: range chan loop retains previously received value while blocked

[This would be nice to fix for Go 1.7 but is not a regression from Go 1.6 and so is not critical.]
During a range loop on a channel, it appears that the previously received value is held live while blocked waiting for the next value on the channel. The program below demonstrates: f1 retains x even after it is cleared during the loop, while f2 does not. Adjusting the program to block on the channel and then check the memory usage after a suitable timeout produces the same result (but requires sleeps and the like). This matters if the values being received are large and timely garbage collection is important.
This could be fixed by mucking with the liveness code, but it could also be fixed by zeroing the channel receive temporary in the code generated by the range loop after copying it into the real iteration variable. The latter is much less scary at this point in the cycle.
/cc @randall77 @dr2chase @RLH @aclements
package main

import "runtime"

func main() {
	{
		x := inuse()
		c := make(chan []byte, 10)
		c <- make([]byte, 10<<20)
		close(c)
		f1(c, x)
	}
	{
		x := inuse()
		c := make(chan []byte, 10)
		c <- make([]byte, 10<<20)
		close(c)
		f2(c, x)
	}
}

func f1(c chan []byte, start int64) {
	for x := range c {
		if delta := inuse() - start; delta < 9<<20 {
			println("f1: after alloc: expected delta at least 9MB, got: ", delta)
		}
		println(x)
		x = nil
		if delta := inuse() - start; delta > 1<<20 {
			println("f1: after alloc: expected delta below 1MB, got: ", delta)
		}
		println(x)
	}
}

func f2(c chan []byte, start int64) {
	for {
		x, ok := <-c
		if !ok {
			break
		}
		if delta := inuse() - start; delta < 9<<20 {
			println("f2: after alloc: expected delta at least 9MB, got: ", delta)
		}
		println(x)
		x = nil
		if delta := inuse() - start; delta > 1<<20 {
			println("f2: after alloc: expected delta below 1MB, got: ", delta)
		}
		println(x)
	}
}

func inuse() int64 {
	runtime.GC()
	var st runtime.MemStats
	runtime.ReadMemStats(&st)
	return int64(st.Alloc)
}

Started.


⚠ Bofrost.at has degraded performance

In a0e05fc, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2425 ms

Resolved: Bofrost.at performance has improved in 11dbde1 after 6 minutes.


bug #2506 Datepicker displays wrong week numbers

The datepicker displays wrong week numbers if the starting-day is 0 (Sunday),
because it uses the first day of the row to determine the weeknumber of the corresponding row.
According to ISO 8601 the week starts on Monday and ends on Sunday.
Consequently the datapicker will display e.g. for the week Sun Aug 17 - Sat Aug 23 the number of the week that ended on Sun Aug 17 and not the week that starts on Mon Aug 18.
Using the date at middle of the row will display the correct week number regardless of whether the week display starts with a Sunday or a Monday.
[@chrisirhc edit: FIxes #2506]

Closing in favor of #2306 which is getting merged.


Login form-Admin-app - Sprint 1

Description:

Build the Screen using the style guide.
Integrate Screen with the Backend

I want to do this.

Can I also get the figma link to the project please?

Kindly read the README.md. The are there
On Thu, 6 Apr 2023 at 10:15, estherwavinya @.***> wrote:

Can I also get the figma link to the project please?
—
Reply to this email directly, view it on GitHub
https://github.com/ALCOpenSource/Mentor-Management-System-Team-3/issues/2#issuecomment-1498743482,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIOVAV4UGX22MJYYQOUAWNLW72CS3ANCNFSM6AAAAAAVGWB5DA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>

@dekunleroy Please work with @Esther-Wavinya on this. I am wondering why I can't assign you to this task.

I am having access rights problems unable to push changes..
The eroor is ERROR: Permission to ALCOpenSource/Mentor-Management-System-Team-3.git denied to Esther-Wavinya.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

I am having access rights problems unable to push changes..
The eroor is ERROR: Permission to ALCOpenSource/Mentor-Management-System-Team-3.git denied to Esther-Wavinya.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Ideally you shouldn't be experiencing this if you've been invited to this repo.
Nevertheless, you can try the following:
Create a fork of this repo and copy the origin url.
In the terminal of your workspace you can run the following: git remote set-url origin "origin-url-of-the-forked-repo-here"
Once done, you can push and create a PR. against the develop branch of this repo


BugfixIf es hosts ends with "/", the index cannot be obtained.

Proposed changes
Issue Number: close #24271

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

Please add some regression tests.

This test requires a real es server, I'm not sure if regression testing can provide such a service?

Please add some regression tests.

This test requires a real es server, I'm not sure if regression testing can provide such a service?

We can add external regression by docker, you can refer to this pr: https://github.com/apache/doris/pull/24318

There is the developer guide: https://doris.apache.org/community/developer-guide/regression-testing/#e2e-test-with-external-data-sources

There is the developer guide: https://doris.apache.org/community/developer-guide/regression-testing/#e2e-test-with-external-data-sources

Thanks, I'll try it

run buildall

@liugddx please take a look , external regression cases is failed.

@liugddx please take a look , external regression cases is failed.

Let me take a look.

run buildall


Docs for elevate

documents https://github.com/microsoft/terminal/pull/12137
references #1032 - Elevation Quality of Life Improvements.md
Closes https://github.com/microsoft/terminal/issues/12309

Docs Build status updates of commit bd19169:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-general.md
:warning:Warning
View
Details

TerminalDocs/faq.yml
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md

Line 406, Column 58: [Warning: file-not-found - See documentation] Invalid file link: './profile-general'.
Line 810, Column 58: [Warning: file-not-found - See documentation] Invalid file link: './profile-general'.

TerminalDocs/customize-settings/profile-general.md

Line 118, Column 40: [Warning: file-not-found - See documentation] Invalid file link: './actions'.
Line 118, Column 74: [Warning: file-not-found - See documentation] Invalid file link: './actions'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 5de5f9b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/customize-settings/actions.md
:warning:Warning
View
Details

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/faq.yml
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/actions.md

Line 406, Column 58: [Warning: bookmark-not-found] Cannot find bookmark '#Automatically-run-as-administrator' in 'customize-settings/profile-general.md', did you mean '#automatically-run-as-administrator'?
Line 810, Column 58: [Warning: bookmark-not-found] Cannot find bookmark '#Automatically-run-as-administrator' in 'customize-settings/profile-general.md', did you mean '#automatically-run-as-administrator'?

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 4c1e815:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/faq.yml
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 4c1e815:
:warning: Validation status: warnings

File
Status
Preview URL
Details

TerminalDocs/faq.yml
:warning:Warning
View
Details

TerminalDocs/customize-settings/actions.md
:white_check_mark:Succeeded
View

TerminalDocs/customize-settings/profile-general.md
:white_check_mark:Succeeded
View

TerminalDocs/faq.yml

Line 88, Column 212: [Warning: bookmark-not-found] Cannot find bookmark '#behavior-when-starting-a-new-terminal-session-preview' in 'customize-settings/startup.md'.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


[edn/dv] Correct prediction of sw_cmd_reg_rdy for auto mode Instantiate

The sw_cmd_reg_rdy also goes high after the last additional data word and low again after receiving the ACK from CSRNG. Previously, the scoreboard expected this bit not to go high again after the last additional data word causing around 20 - 40% of edn_disable_auto_req_mode tests to fail.

This looks reasonable, and thanks for the careful commit message.
Trying to review this, I found the surrounding code quite hard to understand: I had to do quite a bit of reading around to understand things. I think the logic is something like this:
      // Predict the sw_cmd_reg_rdy flag to be set as long as
      //
      //   - Predict_sts is true (so we're not starting an uninstantiate command)
      //   - We're not in boot mode.
      //   - We're finishing a handshake
      //   - One of these statements is true:
      //     +     We're in SW mode
      //     + OR: We're not yet instantiated and clen_cntr is positive (so there is still some more
      //           of the command to come)
      //     + OR: We are instantiated but we're waiting for an ACK to acknowledge this.

I wonder whether it would make sense to extend the comment a little to make it a little more obvious what's going on. I also wonder whether it makes sense to split process_cs_cmd_fifo so that we have a separate task for the first/later words in a command. It might be a way of giving names and splitting up a long line of code.
(Definitely not required as part of this PR, but it might be worth thinking about)

Thanks for your review @rswarbrick .
I agree that we could maybe improve the documentation or even code structure here. On the other hand, I also think it's a lot better already than what we had before (in all possible dimensions). :-)


Connect Thimble UI to Brackets commands

There are a few Thimble UI bits that we need to connect to Brackets, specifically the Undo, Redo, Size, and reload buttons.  Doing this would involve having the onclick for these cause a message to be sent to the Brackets iframe window, and then have that event get consumed by thimbleProxy such that it fired the correct command in the Brackets instance.  You can probably steal code from the Brackets menu, which fires commands for these things when you click on the menu items.
Later we can expose other features via some kind of menu system in Thimble.  This will be the start.

Alright, I'll see what I can do.

Assigned to @KeniMorri

@KeniMorri Can you link to the PRs?

Added Listener in thimble proxy in PR's AJDBenner/thimbleProxy:
https://github.com/AJDBenner/thimbleProxy/pull/13
https://github.com/AJDBenner/thimbleProxy/pull/11
Updated Brackets to latest version of that submodule in here:
https://github.com/humphd/brackets/pull/77
https://github.com/humphd/brackets/pull/76
And Added postMessageTransport to thimble proxy within bramble proxy:
https://github.com/sedge/thimble.webmaker.org/pull/8
https://github.com/sedge/thimble.webmaker.org/pull/5

@KeniMorri is this fixed?

Yesh


adding code template

@xmnlab

as it is an initial version, let's merge that :)
we can fix any thing later as a follow up
thanks @Satarupa22-SD !


Add Signup/Register page done ! #1223 🌟🌟

Hello, PR
Add Signup/Register page done - #1223

https://github.com/user-attachments/assets/206454d0-82b9-450e-bf17-342f1fd5477d
Type of Change

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

Checklist

[x] I have read the contributing document.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have added necessary tests to ensure my changes are effective.
[x] New and existing unit tests pass locally with my changes.
[x] Any dependent changes have been merged and published in downstream modules.

Additional Information

@mansiruhil13 please merge my PR with level 3 and gssoc-ext label

@mansiruhil13

@mansiruhil13 i added a total new page please give me level 3


Mint.HTTP.recv/3 accepts timeout set to :infinity?

If so, we should let that know in the docs.

If you check the typespec it shows it accepts :infinity.


Fix: Target networks updated correctly on modification in enf profile

closing the PR, as dimitri has a PR open on this.


#159870895 Bug fixes for second cp defense

What does this PR do?
Bug fixes for second cp defense
Description of Task to be completed?

Make meal name only unique when the meal name belongs to another meal,
that is the unique constraint on a meal name should only apply
when the meal updating is a different meal updating its name to another
meal name
Identify userId for user orders and meals based on their signed in token.
Only superAdmins should be able to retrieve meals or orders
for a particular user using their userId
Add routes for retrieving total amount made and total number of orders
for specific caterer

How should this be manually tested?
N/A
Any background context you want to provide?
N/A
What are the relevant pivotal tracker stories?(if applicable)
#159870895

Pull Request Test Coverage Report for Build 210

104 of 113 (92.04%)  changed or added relevant lines in 4 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.4%) to 97.947%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

server/controllers/OrderController.js
17
26
65.38%

Totals

Change from base Build 208:
-0.4%

Covered Lines:
1664

Relevant Lines:
1683

💛  - Coveralls


Speed up QuickSort

The QuickSort algorithm isn't running as fast as I would think it could, maybe that could be looked into? It could have something to do with the heap allocations.

I'm not sure if it is faster, however, using stack-based implementation now. Further analysis and profiling is needed.


refac: Rename aggregation_levels

Description

Pull-request quality

[ ] The title adheres to this guide
[ ] Tests are written and executed locally
[ ] Subsystem tests have been tested (by manually deploying to dev_002)

aggregation level will be removed completely when unity catalog is implemented


Rancher shows weird red error box in UI with no actual message while starting

Rancher versions:
rancher/rancher:latest
Docker version:
Containers: 65
Running: 23
Paused: 0
Stopped: 42
Images: 20
Server Version: 18.03.1-ce
Storage Driver: overlay2
Backing Filesystem: extfs
Supports d_type: true
Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: bridge host macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 773c489c9c1b21a6d78b5c538cd395416ec50f88
runc version: 4fc53a81fb7c994640722ac585fa9ca548971871
init version: 949e6fa
Security Options:
apparmor
seccomp
Profile: default
Kernel Version: 4.15.0-22-generic
Operating System: Ubuntu 18.04 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 1.9GiB
Name: rancher-master-test
ID: QXXI:LRXT:VB3S:RKND:GMVM:EJT3:2XZX:CCYF:HMVU:534E:6VVY:6A2X
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
<IP_ADDRESS>/8
Live Restore Enabled: false
WARNING: No swap limit support
Operating system and kernel: (cat /etc/os-release, uname -r preferred)
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
4.15.0-22-generic
Type/provider of hosts:
Hetzner
Setup details:
Single node rancher
internal DB
Environment Template:
Kubernetes
Steps to Reproduce:
unknown
Results:
Rancher needed a long time to start, and while doing so it showed a weird red error box in UI with no actual message while starting:

While it eventually worked, this was rather confusing and therefore it would be a nice addition if it could show a better error in that situation.

Can you supply any logging that shows what was taking so long?
Keep in mind that we recommend at least 4GB, and 2 vCPUs.

Couldn't it still show a useful error message like "Sorry, still booting" or something, no matter how much time it takes to boot up?

Yes, that's why I'm requesting logs to make sure we fix it in the right way. I can't reproduce it atm.

I think it is pretty probable that we run into this because we had not enough RAM. I'll attach the log file anyway.
log.zip

That is a screen that mostly exists only for dev, because when running the UI locally against a remote server it may be unreachable.  That is not "supposed" to happen in a normal install when the server is also the one serving up the UI, but it's possible if the server  managed to return the static UI files but can't manage toround to the API call to get auth config.

A user met the same issue yesterday. Please try to disable the cache in your browser.
For chrome, you can find it via dev tools => network => Disable cache

Version - 2.0 master 8/8
Verified fixed


Investigate replacing Component with Mount

https://github.com/tolitius/mount

Probably won't do this, being able to have multiple system instances is too useful.


As an application developer I want to write code to put a 25% discount to all sales and services to satisfy the marketing agent

Well Done!

Ran test on 3 devices through purchase and 25% discount was applied


We would like to change the EURS (STASIS) logo

Hello,
My name is Sandu. I am community manager at Stasis.
Thank you for adding EURS to your wallet.
I wanted to ask you to change the logo for EURS on your mobile wallet to the one I will attach.
Could you please also add EURS to the stablecoins supported on your website? https://trustwallet.com/stablecoins
Thank you in advance for cooperation.


Microsoft.Sql/servers/{servername}/securityAlertPolicies/Default (2017-03-01-preview)

Describe the noise
Resource type (i.e. Microsoft.Storage/storageAccounts)
Microsoft.Sql/servers/{servername}/securityAlertPolicies/Default
apiVersion (i.e. 2019-04-01)
2017-03-01-preview
Client (PowerShell, Azure CLI, or API)
PowerShell
Relevant ARM Template code (we only need the resource object for the above resourceType and apiVersion, but if it's easier you can include the entire template
  {
                    "type": "securityAlertPolicies",
                    "apiVersion": "2017-03-01-preview",
                    "name": "Default",
                    "dependsOn": [
                        "[concat('Microsoft.Sql/servers/', parameters('serverName'))]",
                        "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/databases/', parameters('databaseName'))]"
                    ],
                    "properties": {
                        "state": "Enabled",
                        "disabledAlerts": [],
                        "emailAddresses": [],
                        "emailAccountAdmins": true
                    },
                    "condition": "[parameters('enableADS')]"
                }

Expected response (i.e. "I expected no noise since the template has not been modified since the resources were deployed)
I expected no noise since the template has not been modified since the resources were deployed
Current (noisy) response (either include a screenshot of the what-if output, or copy/paste the text)

Additional context
Full template can be seen at #21

It seems there's an issue with empty string normalization in arrays. We will investigate...

is this still being worked on?

In June 2020 we were told by the SQL  team that a PR was being sent to fix the issue. I just followed up to get the latest status.

Is it fixed?

I just reached out to the team again to get status. Will reply here if I get a response.

Latest update is sometime in Jan or Feb. Internal work item is here: https://msdata.visualstudio.com/Database Systems/_workitems/edit/1547122


Sprint 2 - Build/Test/Revise

After school today, I managed to start attaching the arm to the drivetrain with the available time designated.
Success
-started attaching the arm to the drivetrian
Utilizing parts in the FTC starter bundle
Failure

Unfortunately, I didn't have enough time to properly fasign the arm to the drivetrain, hope to complete it tomorrow

By the end of the week, we hope to complete the attachment of the arm to the drivetrian.

Me and Michelle want to finish the forearm/claw in the first few days of this sprint, because we are nearly done but we need to finish a few more things and tighten a bunch of things to make everything secure. After this, we want to help our group with putting all the parts together. After completing this, our group wants to ensure that the height of the robot is able to reach the top bin, and may need to adjust some parts.

Me and Michelle spent the first 3 days working on finishing our forearm/claw, because we wanted to put all the parts together. We were very proud of ourselves. We made a lot of mistakes and most of our days were spent on trying to perfect the mistakes that we already made and were trying to fix, or we didn't understand what the instructions wanted us to do.

Oct 19 - P. A Day, no school.

Oct. 20th - We all completed our individual parts and we decided to fasten everything together. The first problem we ran into was that some of the parts didn't fit with each other. for example, the intake assembly didn't match the forearm/claw. the extrusion on the intake was too big for the extrusions on the forearm/claw.

October 23rd - We spent the day making changes to all of the parts, and then we put all the parts together. We put it on the field to see if the arm would even reach the bins, and we figured it out that it didn't. The group decided that we had to redo some parts to adjust to the height of the basket. Essentially, the intake should be reaching the basket, but the extrusions were too small, so my group had to redo the whole intake assembly and switch out the extrusions for longer ones so it could reach the basket.

October 24 & 25th - We were all still working to make adjustments to the robot to make everything fit accordingly. We also attached the control hub onto the robot and trying to find a way to fasten it without everything looking too janky.


Fix existing tests Style/SelfAssignment cop

Fixes #1557. Tests now check that there are no offenses when using shorthand assignment.

Coverage remained the same when pulling ff45681dc0b7263bed1dae39ebd3825147be5849 on lumeet:1557/fix_self_assignment_tests into 8192111c88623c45a2e12284c1e3bea6d87b2dc5 on bbatsov:master.

Fixed the commit. The next one will be completely succesful. Thanks for the patience. ;)

No problem. Thanks for helping out! :-)


SAK-49419 Rubrics: Students can’t view rubric comments within modal

The z-index of 99999 might seem excessive, but '9999' is not enough. I also use "bs-popover-auto" as the selector because "popover" is used in other contexts as a class name.

@hornersa the rubrics modal has a zindex of 10000 and if you remove that then it displays fine.

I left a comment in Jira, but I don't think this fixes issue


fix decode url encoding logic.

[x] @na-o-ys

when fanlin accessed to s3, s3 key had been percent-encoded.
addd the processing to decode the key.

++++


[examples] Add a Sentence Transformers training script on GooAQ

Hello!
Pull Request overview

Add a Sentence Transformers training script on GooAQ

Details
GooAQ somehow gets a nicer GPU usage for me. I'm also evaluating against OOD data with MSMARCO and NQ. I trained and uploaded a private model, which should help give an insight in what it can become after finetuning.

Tom Aarsen

LGTM


ADD: Pull down for refresh balance on ChainDetailView

Please add the refresh on pull own feature also on ChainDetailView so we can remove the refresh button on the top right

https://github.com/vultisig/vultisig-ios/pull/785


Can't build from source

Trying to build nba-go from source, but I get this:-
npm ERR! path /root/build_nba-go/parts/nba-go/install/lib/node_modules/nba-go/lib/cli.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod '/root/build_nba-go/parts/nba-go/install/lib/node_modules/nba-go/lib/cli.js'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

Is this possibly related to https://github.com/xxhomey19/nba-go/commit/7c70fab151e7e01d4bca640bfa20d933dd3b05bf with files being in the wrong directory?

Building from source:
yarn build
Then from the root directory, you can run:
node lib/cli.js <command>
and you will see whatever changes you've made.

Thanks for the prompt reply! I cloned it from github and built it. I'm trying to build a snap [1] for upload to the snap store, to make it easy for Linux users to get hold of your app. I've not used yarn with snapcraft before, so talking to our expert @elopio about it.
[1] - http://snapcraft.io/


Seldon Core charm re-write using sidecar

PR for sidecar re-write of Seldon Core Operator.
Work tracked in https://github.com/canonical/seldon-core-operator/issues/42
Summary of changes
Refer to commit logs.
Outcomes
The following resources deployed and example deployment can be deployed (related to seldon-core-operator):
Juju
Model
seldon-sidecar
App
seldon-controller-manager
Unit
seldon-controller-manager/0

K8S
pod/seldon-core
service/seldon-core-endpoints
service/seldon-core
service/seldon-webhook-service
statefulset.apps/seldon-core

Testing
Refer to https://github.com/canonical/seldon-core-operator/issues/42 for more details on testing and verification.

Added some comments, but overall lgtm.  Tests aren't working for me locally, but I think it is something specific to my setup

[KF-568] #done

close #42


Error While Installing

Did you see the documentation relating to installation?
Yes
Have you ensured the platform and version of Node.js used for npm install is the same as the platform and version of Node.js used at runtime?
If you are installing as a root or sudo user, have you tried with the npm install --unsafe-perm flag?
Yes, None of them worked for me
What is the complete output of running npm install --verbose sharp? Have you checked this output for useful error messages?
Yes, None of them worked for me
What is the output of running npx envinfo --binaries --languages --system --utilities?
  System:
    OS: macOS 10.15
    CPU: (4) x64 Intel(R) Core(TM) i5-7267U CPU @ 3.10GHz
    Memory: 265.35 MB / 8.00 GB
    Shell: 5.7.1 - /bin/zsh
  Binaries:
    Node: 10.14.1 - /usr/local/bin/node
    Yarn: 1.13.0 - /usr/local/bin/yarn
    npm: 6.12.0 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Utilities:
    Make: 3.81 - /usr/bin/make
    GCC: 4.2.1 - /usr/bin/gcc
    Git: 2.21.0 - /usr/bin/git
    Clang: 1<IP_ADDRESS> - /usr/bin/clang
    Subversion: 1.10.4 - /usr/bin/svn
  Languages:
    Bash: 3.2.57 - /bin/bash
    Java: 1.8.0_191 - /usr/bin/javac
    Perl: 5.18.4 - /usr/bin/perl
    PHP: 7.3.8 - /usr/bin/php
    Python: 2.7.16 - /usr/local/bin/python
    Python3: 3.7.4 - /usr/local/bin/python3
    Ruby: 2.6.3 - /usr/bin/ruby

Error
<EMAIL_ADDRESS>install /Users/manishbudhiraja/Desktop/Projects/jumbea/jamboa-api/node_modules/fibers

node build.js || nodejs build.js

CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc:122:64: error: too few arguments to function call, expected at least 3, have 2
return String::NewFromOneByte(isolate, (const uint8_t*)string);
~~~~~~~~~~~~~~~~~~~~~~                                ^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:2802:3: note: 'NewFromOneByte'
declared here
static V8_WARN_UNUSED_RESULT MaybeLocal NewFromOneByte(
^
../src/fibers.cc:126:64: error: too few arguments to function call, expected at least 3, have 2
return String::NewFromOneByte(isolate, (const uint8_t*)string);
~~~~~~~~~~~~~~~~~~~~~~                                ^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:2802:3: note: 'NewFromOneByte'
declared here
static V8_WARN_UNUSED_RESULT MaybeLocal NewFromOneByte(
^
../src/fibers.cc:406:24: warning: 'Utf8Value' is deprecated [-Wdeprecated-declarations]
String::Utf8Value stack(uni::Deref(that.isolate, fatal_stack));
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:2891:5: note: 'Utf8Value' has been
explicitly marked deprecated here
V8_DEPRECATED("Use Isolate version",
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8config.h:327:29: note: expanded from
macro 'V8_DEPRECATED'
declarator attribute((deprecated))
^
../src/fibers.cc:433:80: error: no matching member function for call to 'NewInstance'
...return uni::Return(uni::Deref(Isolate::GetCurrent(), tmpl)->GetFunction()->NewInstance(1, argv), args);
~~~~~~^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:3996:44: note: candidate function
not viable: requires single argument 'context', but 2 arguments were provided
V8_WARN_UNUSED_RESULT MaybeLocal NewInstance(
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:3993:44: note: candidate function
not viable: requires 3 arguments, but 2 were provided
V8_WARN_UNUSED_RESULT MaybeLocal NewInstance(
^
../src/fibers.cc:621:14: error: no matching constructor for initialization of 'v8::TryCatch'
TryCatch try_catch;
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:8536:12: note: candidate constructor
not viable: requires single argument 'isolate', but no arguments were provided
explicit TryCatch(Isolate* isolate);
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:8656:3: note: candidate constructor
not viable: requires 1 argument, but 0 were provided
TryCatch(const TryCatch&) = delete;
^
../src/fibers.cc:628:13: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
Script::Compile(uni::NewLatin1String(that.isolate, "void 0;"));
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:1255:10: note: 'Compile' has been
explicitly marked deprecated here
static V8_DEPRECATED("Use maybe version",
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8config.h:327:29: note: expanded from
macro 'V8_DEPRECATED'
declarator attribute((deprecated))
^
../src/fibers.cc:741:34: error: no matching member function for call to 'ToNumber'
Coroutine::pool_size = value->ToNumber()->Value();
~^~
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:2425:44: note: candidate function
not viable: requires single argument 'context', but no arguments were provided
V8_WARN_UNUSED_RESULT MaybeLocal ToNumber(
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:2442:31: note: candidate function
not viable: requires single argument 'isolate', but no arguments were provided
Local ToNumber(Isolate* isolate) const);
^
../src/fibers.cc:793:72: error: too few arguments to function call, expected at least 3, have 2
fn->SetAccessor(uni::NewLatin1Symbol(isolate, "current"), GetCurrent);
~~~~~~~~~~~~~~~                                                     ^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:3348:3: note: 'SetAccessor' declared
here
V8_WARN_UNUSED_RESULT Maybe SetAccessor(
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8config.h:416:31: note: expanded from
macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT attribute((warn_unused_result))
^
../src/fibers.cc:794:63: error: no viable conversion from 'uni::FunctionType (Localv8::String, const
uni::GetterCallbackInfo &)' (aka 'void (Localv8::String, const PropertyCallbackInfov8::Value &)')
to 'Localv8::Name'
fn->SetAccessor(uni::NewLatin1Symbol(isolate, "poolSize"), GetPoolSize, SetPoolSize);
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:204:7: note: candidate constructor
(the implicit copy constructor) not viable: no known conversion from 'uni::FunctionType
(Localv8::String, const uni::GetterCallbackInfo &)' (aka 'void (Localv8::String, const
PropertyCallbackInfov8::Value &)') to 'const v8::Localv8::Name &' for 1st argument
class Local {
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:204:7: note: candidate constructor
(the implicit move constructor) not viable: no known conversion from 'uni::FunctionType
(Localv8::String, const uni::GetterCallbackInfo &)' (aka 'void (Localv8::String, const
PropertyCallbackInfov8::Value &)') to 'v8::Localv8::Name &&' for 1st argument
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:208:13: note: candidate template
ignored: could not match 'Local' against 'void (*)(v8::Localv8::String, const
v8::PropertyCallbackInfov8::Value &)'
V8_INLINE Local(Local that)
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:3349:43: note: passing argument to
parameter 'name' here
Local context, Local name,
^
../src/fibers.cc:795:84: error: too few arguments to function call, expected at least 3, have 2
fn->SetAccessor(uni::NewLatin1Symbol(isolate, "fibersCreated"), GetFibersCreated);
~~~~~~~~~~~~~~~                                                                 ^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:3348:3: note: 'SetAccessor' declared
here
V8_WARN_UNUSED_RESULT Maybe SetAccessor(
^
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8config.h:416:31: note: expanded from
macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT attribute((warn_unused_result))
^
In file included from ../src/fibers.cc:1:
In file included from ../src/coroutine.h:1:
In file included from /Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/node.h:63:
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:215:5: error: assigning to
'v8::Context *' from incompatible type 'v8::String *'
TYPE_CHECK(T, S);
^~
/Users/manishbudhiraja/Library/Caches/node-gyp/10.14.1/include/node/v8.h:169:39: note: expanded from macro
'TYPE_CHECK'
(static_cast<T volatile*>(0)) = static_cast<S*>(0);
^~
../src/fibers.cc:794:20: note: in instantiation of function template specialization
'v8::Localv8::Context::Localv8::String' requested here
fn->SetAccessor(uni::NewLatin1Symbol(isolate, "poolSize"), GetPoolSize, SetPoolSize);

Hi, this looks like it's from the fibers module and is unrelated to sharp. Please see https://github.com/laverdet/node-fibers


enabling overwriting phantomjs binary package_url through an env variable

Hey there,
sometimes I get an error on my CI box because bitbucket blocks frequent downloads of the file. This seems to be a common problema (https://github.com/ariya/phantomjs/issues/13951) but it wasn't yet addressed on this gem.
I've added some code to enable overwriting the default package download url with an env variable, just like the people at Medium do - https://github.com/Medium/phantomjs#deciding-where-to-get-phantomjs
What do you think?
(I thought about adding another method that either uses the env variable or delegates to package_url but then it would be a deeper change. Anyway.)

FWIW I have had a similar PR open for a year (#78).


Fixed wrong i18n documentation link

Checklist

[ ] I have read and understand the contribution guide

[ ] A CHANGELOG entry is included

[ ] At least one test case is included for this feature or bug fix

[x] Documentation was added or is not needed

[ ] This is an API breaking change

Issue Resolved / Feature Added
I've fixed wrong i18n documentation link.
Resolution
N/A
Additional Considerations
N/A
Links
Comments

Pull requests should target the develop branch.  Can you adjust the target branch?


Integrate blocks api

Description
Integrate the blocks api with Tendermint.
Related issues
#1828
#1946
Impacted Areas in Application
This PR breaks compatiability with existing /api/v1/blocks/{block_id}, see #1946

Codecov Report

Merging #1970 into feat/integrate-metadata-api will decrease coverage by 0.34%.
The diff coverage is 82.14%.

@@                      Coverage Diff                       @@
##           feat/integrate-metadata-api   #1970      +/-   ##
==============================================================
- Coverage                        50.05%   49.7%   -0.35%
==============================================================
  Files                               70      70
  Lines                             3582    3418     -164
==============================================================
- Hits                              1793    1699      -94
+ Misses                            1789    1719      -70


clearing salesforce session when bayeux client receive 403

clearing salesforce session when bayeux client receive 403
https://issues.apache.org/jira/browse/CAMEL-11980

Thanks for the PR it has been merged. Do you mind closing this?

Thank you Claus for the merge.
Do you think it's possible to back port the PR to the 2.19 release ? Since the next release of the 2.21 is planned for next year.

This is already merged on Camel 2.19.x
https://github.com/apache/camel/commit/8884cf0205e8c0bf09cb913246371ab8e64f93c4


What is a frame?

Your blog series is normally easy to follow, but I got a bit lost when I started reading "Frame Allocation" because you leapt straight in without saying what a frame is. Could you dedicate a paragraph or two to this so the reader knows where they're standing?

Thanks a lot for reporting this! There should really be some kind of introduction/explanation in the post.
When using paging, the memory is split into equally sized chunks (normally 4096 bytes) Such a chunk is called "physical page" or "frame". I use "frame" to disambiguatiate it from virtual pages.

Ahh, okay. Thank you very much.


error and paymentIntent undefined after handleCardAction

Describe the bug
handleCardAction called with clientSecret when Stripe backend answer is: requiresNextAction and type is "stripe_3ds2_fingerprint" don't returns an error but also don't returns the paymentIntent.
To Reproduce
I can't reproduce this bug since it's happening in production, with a real customer card. Every test we made on test environment, with test cards, works fine.
The only difference we noticed between the test cards and the real one is that the test card is Visa, while the real one is Mastercard.
Expected behavior
Or error or paymentIntent should be returned by handleCardAction.

Is this library still mantained? A bug opened 3 months ago still waiting to be seen by someone...

Hi, can you provide code we can try to reproduce this bug with? Also, there's a lot of different test cards you can use to test here- https://stripe.com/docs/testing#cards (including visa and mastercard)

As said:
I can't reproduce this bug since it's happening in production, with a real customer card. Every test we made on test environment, with test cards, works fine.
And yes, we tried every test card we found in the link you pasted.

Maybe you can send me the paymentIntent ID of the relevant payment? If you have that, send it to<EMAIL_ADDRESS>please. Otherwise, without more information it's really difficult to try and guess at what might be happening here without seeing your code

It's impossibile for me to get back to this particular case and its paymentIntent since it happened 5 months ago. But as soon as we'll get this problem again, i will send everything.

Closing this issue for now, but if you can share details on how to reproduce it or a paymentIntent that this happened with, I will be happy to reopen 👍


State sharing across jobs running in same namespace

Can we share state/objects across multiple jobs running in same namespace/context ? These multiple jobs may not be running in parallel.

Hey @goelrajat
Thanks for the question. Could you describe your use case please?
There are few considerations we have:

If you have a sequence of jobs it is better to use Messaging API to pass parameters between jobs
If still you need a state there are Stark Temporary views

Please let us know if you have a different vision.

Thanks for your reply. I have a sequence of jobs and I want to use objects created in one job, in another job. This is something similar to the concept Named Objects in Spark Jobserver. Does mist have this feature ?

@goelrajat We believe that temp views is something you are looking for. So, we don't need to reinvent it in Named Objects.
Let us know if you still see the value in Named Objects.

Can temp views be used to share say Graph frames or any custom objects apart from DatFrames ?

Temp views is a DataFrame API. So when you persist or cache a GraphFrame you basically need to save DataFrames of vertices and edges. I believe this is 1 line of code.
In general I think it's not a good idea to manipulate data objects that are not based on DataFrames in your Spark program since Spark is all about RDDs and DataFrames.


noexcept in jniDefaultSetPendingFromCurrent

I get the following error when trying to run make example_android. I have made the following changes to Application.mk:
NDK_TOOLCHAIN_VERSION := clang
APP_PLATFORM := android-23
APP_STL := c++_shared
I am using the r17b NDK toolchain, because GCC is deprecated and will be removed next iteration. It should be noted that if I change NDK_TOOLCHAIN_VERSION back to 4.9, everything builds fine.
[arm64-v8a] Compile++      : djinni_jni <= djinni_support.cpp
../../../support-lib/jni/djinni_support.cpp:591:9: error: 'jniDefaultSetPendingFromCurrent' has a non-throwing exception specification but can still throw [-Werror,-Wexceptions]
        throw;
        ^
../../../support-lib/jni/djinni_support.cpp:588:6: note: function declared non-throwing here
void jniDefaultSetPendingFromCurrent(JNIEnv * env, const char * /*ctx*/) noexcept {
     ^                                                                   ~~~~~~~~
1 error generated.

It seems that the jniDefaultSetPendingFromCurrent function in djinni_support.cpp is marked noexcept, yet it still throws:
void jniDefaultSetPendingFromCurrent(JNIEnv * env, const char * /*ctx*/) noexcept {
    assert(env);
    try {
        throw;
    } catch (const jni_exception & e) {
        e.set_as_pending(env);
        return;
    } catch (const std::exception & e) {
        env->ThrowNew(env->FindClass("java/lang/RuntimeException"), e.what());
    }

    // noexcept will call terminate() for anything not caught above (i.e.
    // exceptions which aren't std::exception subclasses).
}

See discussion on PR #367


[FLINK-19469][hbase] Exclude org.glassfish:javax.el transitive dependency from hbase-2.2 connector as it is unreliable

org.glassfish:javax.el is transitively referenced for flink-connector-hbase-2.2 tests. It is causing some issues, it is not always available in the maven repository. As it is not needed for our tests, let's exclude it. hbase-mapreduce test dependency also requires it, although it is not showing up in the dependency tree.

@dianfu  could you please merge?

@miklosgergely Thanks a lot for the work!


Adding session affinity support through loadbalancer distribution type

Adding session affinity support through loadbalancer distribution type

@nagiesek - PTAL

@elweb9858 - Can you rebase squash these and we can take it?

lgtm

@jterry75 can you make a new release of hcsshim with this change?

We dont typically do that.

I imagine the Kubernetes work won’t be completed before code freeze on the 17th anyway. So we do have some time for this.
We get a lot of pushback when we try to vendor in hcsshim without a release.
There have been a few changes in the hcn code, and there hasn’t been a release since early February.
Can we get a timeline for the next release?

We don't make (and have never made) tagged releases for anything but Docker and we cant specifically tag just the hcn package. @PatrickLang - I thought we decided Kubernetes was ok with this since we are a vendor only release and not a binary?

To clarify, we don’t expect hcn to be versioned. I understand it’s under the umbrella of hcs releases. Patrick will probably have all the context here, but I have personally seen pushback without a release. Though I’m sure we can still do it

@jterry75 I'm trying to get this change vendored into kubernetes, but hcsshim's dependency on containerd v1.3.0 breaks other things in kubernetes, namely github.com/google/cadvisor/container/containerd, which depends on containerd v1.0.2. Any idea how I can work around this?

@elweb9858 - I'd ask in the Kubernetes slack (invite @ slack.k8s.io), channel #k8s-code-organization


fix(runner): replace runner path normalization with fetchModule resolve

Description

closes https://github.com/vitejs/vite/issues/18223

Not so confident that this is a proper fix nor the issue needs fix, but I'm thinking about what would require to support https://github.com/vitejs/vite/issues/18223 and hopefully it helps deciding the fate of the issue (bug or wontfix).
One thing I noticed that it looks possible to dedupe/normalize /abs-path-to/src/etc  ->  /src/etc on server side (fetchModule) and module identity is still kept intact on runner side since they are keyed by resolved id. For FetchModuleResult.cache detection, I replaced getModuleByUrl with ensureEntryFromUrl and I'm wondering what's the downside of this.
todo

[ ] decide on file:// support

it doesn't work on build (nor v5 ssr dev, nor client dev/build), so for now, I think it's better to remove dev only file:// support. It's still possible to use custom plugin resolveId to resolve file:// and I added tests for this usage.

normalizeAbsoluteUrl also noramlizes file:///... to support this test case, but I'm not sure if we needs to keep this if we go with externalizing file:// entirely https://github.com/vitejs/vite/pull/17369. Also v5's ssrLoadModule('file://') doesn't seem to work either.
https://github.com/vitejs/vite/blob/5e8e7ecf623276ba268374e31b9cf71ac64ac211/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts#L17-L20

/ecosystem-ci run

/ecosystem-ci run

I agree that file:// should be supported in some way, but I'm worrying about the inconsistency in current state. Putting aside client case, I think we want this to work consistently for ssr dev/build at least. Let me think about how to move custom file url resolve to core.

I moved file:// support separately in https://github.com/vitejs/vite/pull/18422

/ecosystem-ci run

/ecosystem-ci run

@hi-ogawa Do you think this can be released in a patch? or do you prefer it to be released in a minor to be safe?

I think we can go as patch. runner.options.root becoming optional is actually a breaking change, but people who potentially consume that is only a few people, so I guess it's alright. Other than that, this should be a reasonable fix and I need to follow up on that if this breaks anyways.

Hi there, can I get an estimate about the release time?

@dai-shi Probably I'll cut a release in few days 🫡


Default TypedData as wb_protected when there is no mark function

If there is no mark function, then we assume there are no references to Ruby objects. As such, we can avoid inserting GC write barriers.
See: https://github.com/ruby/ruby/pull/7255

Cool!

Thanks 🙂


[suggestion] Requirements needed to run

Would be nice to know what version of Python and other requirements are needed to run gekkoJaponicus.
I've already determined that you need to run it under Python3 and you need to install "deap" by running
sudo pip3 install deap

Good, added requirements.txt

Thanks


Initial Tokens are all given to beneficiary on construction?

I assume this is correct but comment doesn't match. I assume the intention is to issue all tokens to the beneficiary rather than to issuer first and issuer assign them to beneficiary?
    balances[_beneficiary] = _totalSupply; // Assign all tokens to issuer

In the first version, indeed I am keeping it simple and assigning all tokens to the beneficiary. See https://github.com/batlinal/ftt/commit/43b6788a4a728769b052397a7e90ccb3eb0e62c9. In the future it should be possible to assign to sub-beneficiaries, see  #5.


Byte stream writer should document the atomic write guarantee

Problem description
The byte stream writer writes buffers less than or equal to 8 MiB atomically. However, this critical feature is not documented. It should be documented so that users can safely utilize this guarantee without worrying about breaking implementation changes in the future.
Problem location
byte_stream.rs ByteStreamWriter::write.
Suggestions for an improvement
Add the following, assuming that it is correct.

If buf length is less than or equal to 8 MiB, the entire buffer will be written atomically. If buf length is greater than 8 MiB, only the first 8 MiB will be written, and it will be written atomically. In either case, the actual number of bytes written will be returned.

More to the point: The number of bytes written is returned. These bytes were written atomically.

Thanks for the issue, it has been added to the Rust doc now.
https://pravega.github.io/pravega-client-rust/doc/pravega_client/byte/struct.ByteWriter.html#atomicity


Add logs on folder selection for citation addons.

Purpose
Citation addons don't currently have logs for selecting a folder, but they should. This patch adds logs for folder selection for Mendeley and Zotero.
Changes

Add logs on set_target_folder
Add Mendeley and Zotero log templates
Update tests

Side effects
None expected
Note: As discussed with @lyndsysimon, addon logging should be generalized, but this can happen in a future patch.

Interested in knowing what exactly this does @jmcarp -- when you get a chance. Thanks!

@lbanner For every storage addon, we add an OSF log when a user selects a folder/repo from the node settings. This PR makes Zotero and Mendeley and consistent with the other addons by logging when a user selects a Zotero/Mendeley folder.

Ok -- thanks for clarification @sloria


Add package EASTL

EASTL is a widely used STL version in games which developed by Electronic Arts.
And here is the source code link https://github.com/electronicarts/EASTL

#187
Package has been added


api: limit regexes to 1024 chars.

This avoids stack overflow in libc++ regex parsing libraries. There doesn't seem to be a good reason
to support arbitrary long regexes in Envoy in general.
Discovered by oss-fuzz, resolves ClusterFuzz issues
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8060 and
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8950.
Risk level: Low
Testing: Added corpus entry.
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

lgtm. should we add a note somewhere in the docs so that a blame on this PR is not the only point of reference for the constraint?


Added the OS parameterization script

Signed off : mik-dass
Email<EMAIL_ADDRESS>

@mitchharpur It's verified for the the hypothesis-core-image. The other api-images will require some changes so that they can accept the passed OS parameter. I have a PR ready for the data-api-image. Once it's verified, we will merge this.


Create deprecation directory per deprecation policy

Created deprecation directory in docs with link to the currently proposed Persistent Storage Recycler

This change is

I signed it!

@erinboyd Ping. Just want to see if this PR is still active. Let me know if you have any questions. Cheers

@erinboyd Is this PR still active?

@erinboyd ping

@erinboyd If this PR is still active, please feel free to reopen it. I'm closing it for now to keep the queue clean.


Python: Fix missing include in FCommentedOutCode.qhelp.

This was accidentally left out of #1588 and caused the build to fail.

Thanks for fixing my omission. I should have checked more carefully.


RXN v2000: Detection molecule above/below arrow as reagent doesn't work

Preconditions

Ketcher is launched.
Structures added to canvas ketcher (36).zip
Added arrow (any reagent arrow type) on canvas
Added molecule on canvas above/below an arrow (in the area bounded by perpendiculars passing through the end of the arrow)

Steps to Reproduce

Click on saving icon or uses a shortcut Ctr+C
Choose 'MDL rxnfile V2000' format from the 'File format' dropdown
Check "Preview" tab

Expected behavior
System detect molecule as reagent and write reagent in 'MDL rxnfile V2000' format in "Preview" tab

Actual behavior
Detection molecule above/below arrow as reagent doesn't work.
Attachments

Indigo/Bingo version
Indigo Toolkit
Version 1.9.0-rc.2.0-g40c4e3793-x86_64-linux-gnu-11.2.1
Additional context
Add any other context about the problem here.

@Zhirnoff looks like a task needs to be created on Indigo side

Related indigo issue: https://github.com/epam/Indigo/issues/1056


populate_db: Add timezones for some test users.

After failing to notice a place where we wanted to hide timezone
information, we decided to add timezones to some of the test
users, so that we can better consider the effects of timezones
when manually testing.
Testing:

ran populate_db and confirmed users had timezones in the UI
updated test_populate_db.py

@evykassirer thanks for doing this!  I've merged this with a couple changes:

Used proper sentence capitalization in the comments; that is our standard style in the codebase.
Added commentary on how we'd prefer to set the timezones a cleaner way as noted above.  (Roles, etc., would also benefit from such a refactor).
Added a PROVISION_VERSION bump, so that everyone's development environment will be updated.

Thanks! Good to know about sentence capitalization. And that refactor sounds good -- I was discussing it a bit in #backend and it did seem nontrivial to set it up more generally in a nice way. I think using something more sophisticated than tuples would be great haha.