"Unable to start portforwarding"

What happened?
Unable to start portforwarding: Unable to list devspace pods: Selected Pod(s) cannot start (Status: ImagePullBackOff)
What did you expect to happen instead?
For the dev space to launch
How can we reproduce the bug? (as minimally and precisely as possible)
➜ git clone https://github.com/covexo/devspace-quickstart-nodejs
Cloning into 'devspace-quickstart-nodejs'...
remote: Enumerating objects: 13, done.
remote: Counting objects: 100% (13/13), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 13 (delta 2), reused 9 (delta 2), pack-reused 0
Unpacking objects: 100% (13/13), done.

~/Dev at ☸  docker-for-desktop
➜ cd devspace-quickstart-nodejs/

devspace-quickstart-nodejs on  master is 📦 v0.0.1 via ⬢ 10.12.0 at ☸  docker-for-desktop
➜ devspace up
What is the major programming language of your project?
Supported languages: csharp, go, java, javascript, none, php, python, ruby, typescript
Press ENTER to use: javascript
> javascript

Do you want to use the DevSpace Cloud? (free ready-to-use Kubernetes) (yes | no)
Press ENTER to use: yes
>

Do you want to add the DevSpace Cloud to the $HOME/.kube/config file? (yes | no)
Press ENTER to use: yes
>

[INFO]   Successfully logged into devspace-cloud
Which registry do you want to push to? ('hub.docker.com' or URL)
Press ENTER to use: hub.docker.com
>

Which image name do you want to use on Docker Hub?
Press ENTER to use: selfagency/devspace
>

[INFO]   Successfully logged into devspace-cloud
[INFO]   Building image 'selfagency/devspace' with engine 'docker'
[DONE] √ Authentication successful (hub.docker.com)
Sending build context to Docker daemon  205.8kB
Step 1/8 : FROM node:8.11.4
8.11.4: Pulling from library/node
f189db1b88b3: Pull complete
3d06cf2f1b5e: Pull complete
687ebdda822c: Pull complete
99119ca3f34e: Pull complete
e771d6006054: Pull complete
b0cc28d0be2c: Pull complete
9bbe77ca0944: Pull complete
75f7d70e2d07: Pull complete
Digest: sha256:3422df4f7532b26b55275ad7b6dc17ec35f77192b04ce22e62e43541f3d28eb3
Status: Downloaded newer image for node:8.11.4
 ---> 8198006b2b57
Step 2/8 : RUN mkdir /app
 ---> Running in 8953ba3f0049
 ---> 90eee4a7794a
Step 3/8 : WORKDIR /app
 ---> Running in ebb2abf00b50
 ---> f1b925b8e856
Step 4/8 : COPY package.json .
 ---> 07f752eefca5
Step 5/8 : RUN npm install
 ---> Running in 9878a7c5f446

><EMAIL_ADDRESS>postinstall /app/node_modules/nodemon
> node bin/postinstall || exit 0

Love nodemon? You can now support the project via the open collective:
 > https://opencollective.com/nodemon/donate

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN<EMAIL_ADDRESS>No description
npm WARN<EMAIL_ADDRESS>No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 275 packages in 9.641s
 ---> 96835696dae7
Step 6/8 : COPY . .
 ---> 5cef85784001
Step 7/8 : EXPOSE 3000
 ---> Running in bedf3f724947
 ---> 7f156b6c17af
Step 8/8 : CMD ["npm", "start"]
 ---> Running in 38b99ece153b
 ---> 67af392022ff
Successfully built 67af392022ff
Successfully tagged selfagency/devspace:7FxIXu9
The push refers to repository [docker.io/selfagency/devspace]
53aa32f5d142: Pushed
3ae3c349b881: Pushed
68442ba5cce2: Pushed
93e27608ab02: Pushed
be0fb77bfb1f: Mounted from library/node
63c810287aa2: Mounted from library/node
2793dc0607dd: Mounted from library/node
74800c25aa8c: Mounted from library/node
ba504a540674: Mounted from library/node
81101ce649d5: Mounted from library/node
daf45b2cad9a: Mounted from library/node
8c466bf4ca6f: Mounted from library/node
7FxIXu9: digest: sha256:803cb53d6ef759f8e67386fbb6d41bffe0eb041ea9342263a7203a4fd15d14f5 size: 2840
[INFO]   Image pushed to registry (hub.docker.com)
[DONE] √ Done building and pushing image 'selfagency/devspace'
[INFO]   Deploying devspace-default with helm
[DONE] √ Tiller started
[DONE] √ Deployed helm chart (Release revision: 1)
[DONE] √ Finished deploying devspace-default
[FATAL]  Unable to start portforwarding: Unable to list devspace pods: Selected Pod(s) cannot start (Status: ErrImagePull)

Local Environment:

Operating System:  mac
Deployment method: helm

Kubernetes Cluster:

Cloud Provider: DevSpace Cloud
Kubernetes Version:

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.3", GitCommit:"2bba0127d85d5a46ab4b778548be28623b32d0b0", GitTreeState:"clean", BuildDate:"2018-05-21T09:17:39Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10+", GitVersion:"v1.10.7-gke.6", GitCommit:"06898a4d0f2b96f82b43d9e59fa2825bd3d616a2", GitTreeState:"clean", BuildDate:"2018-10-02T17:32:01Z", GoVersion:"go1.9.3b4", Compiler:"gc", Platform:"linux/amd64"}

Anything else we need to know?
This is my first install and attempt at using devspace

/kind bug

Thanks for reporting the issue, @selfagency - the issue occurs because Kubernetes cannot pull your image from Docker Hub (maybe because it is private?). If that is the case, you can create an imagePullSecret manually.. actually, a secret should have been created for you, but that did not seem to work. I will take a look and let you know when a fix is out for automatic pullSecret creation.

Where/how do I create and specify the secret? Sorry, I rarely work with Docker.

When your registry is private, you need to create a secret in Kubernetes containing an auth config for the private registry: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
However, I implemented a feature for automatic pull secret creation. Please, run devspace upgrade and try devspace up afterwards. Does that work now? @selfagency

Seems like the image name is somehow wrong ('devspace' instead of 'selfagency/devspace'), therefore you can't push the image to dockerhub, because the name 'devspace' is forbidden. Could you post your .devspace/config.yaml here, especially the images part?

Closing this for now. Feel free to reopen this issue if the problem still exists.


[COTR-26] Change project settings

Change viewport width and height to 1280x720
Disable V-Sync mode
Change Stretch mode to viewport and aspect ratio to expand
Create main scene
Autoload global functionality and variables

Create folders for scenes and sprites
Create physic layers

Reopened because missed some changes

Disable blender files import FileSystem/Import/Blender/Enabled
Set main scene Applications/Run/Main Scene


Optional[Decimal] with field constraints error: Unable to apply constraint 'max_digits' to schema of type 'function-after'

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
In Pydantic version 2.9, the Decimal | None raise the following error:  Unable to apply constraint 'max_digits' to schema of type 'function-after' when applied basic field constraints like max_digits, decimal_places etc. This was not the behavior in the previous 2.8. Some of our microservices use the 2.8 and the new ones use 2.9 and the new ones are facing this issue.  The following is the code that causes the issue:
  height_in_cm: Decimal | None = Field(
      default=None,
      gt=0,
      max_digits=10,
      decimal_places=4,
      allow_inf_nan=False,
      title="Height in cm",
      description="The height of the client in cm.",
  )
  weight_in_kg: Decimal | None = Field(
      default=None,
      gt=0,
      max_digits=10,
      decimal_places=4,
      allow_inf_nan=False,
      title="Weight in kg",
      description="The weight of the client in kg.",
  )

I tried everything possible from removing some contraints, playing around with Annotated as well. I even modified the code to use Annotated as mentioned by others:
height_in_cm: (
    Annotated[
        Decimal,
        Field(
            gt=0,
            max_digits=10,
            decimal_places=4,
            allow_inf_nan=False,
            title="Height in cm",
            description="The height of the client in cm.",
        ),
    ]
    | None
) = Field(
    default=None,
    title="Height in cm",
    description="The height of the client in cm.",
)
weight_in_kg: (
    Annotated[
        Decimal,
        Field(
            gt=0,
            max_digits=10,
            decimal_places=4,
            allow_inf_nan=False,
            title="Weight in kg",
            description="The weight of the client in kg.",
        ),
    ]
    | None
) = Field(
    default=None,
    title="Weight in kg",
    description="The weight of the client in kg.",
)

Still, nothing works. I am still getting the RuntimeError: Unable to apply constraint 'max_digits' to schema of type 'function-after'.
Current work around I found is explicitly validating the fields using the field_validator but this is such a hack at the moment:
class ExampleSchema(BaseModel):
  """
  A `Problematic` Schema for describing the bug faced in Pydantic 2.9

  This schema contains the following fields:
  - height_in_cm: `Decimal` | `None` - The Height of the user in cm.
  - weight_in_kg: `Decimal` | `None` - The Weight of the user in kg.
  """

  height_in_cm: Decimal | None = Field(
      default=None,
      # gt=0,
      # max_digits=10,
      # decimal_places=4,
      # allow_inf_nan=False,
      title="Height in cm",
      description="The height of the client in cm.",
  )
  weight_in_kg: Decimal | None = Field(
      default=None,
      # gt=0,
      # max_digits=10,
      # decimal_places=4,
      # allow_inf_nan=False,
      title="Weight in kg",
      description="The weight of the client in kg.",
  )
  # ============================ TRANSFORMS ============================ #
  _round_height_weight = field_validator(
      "height_in_cm",
      "weight_in_kg",
      mode="before",
  )(round_decimal__BEFORE)
  # ============================ END: TRANSFORMS ======================= #

  # ============================ FIELD VALIDATOR ======================= #
  @field_validator(
      "height_in_cm",
      "weight_in_kg",
      mode="after",
  )
  @classmethod
  def check_if_height_weight_are_valid(
      cls: Self,
      __value: Decimal | None,
      __field_info: ValidationInfo,
  ) -> Decimal | None:
      """
      A `field validator` function which checks if the height and weight follow the following criteria:
      1. Must have digits up to 4 decimal places.
      2. Must have a maximum of 10 digits in total.
      3. Cannot be infinite or NaN.
      4. Must be greater than 0.

      Args:
          __value (Decimal | None): The value to validate
          __field_info (ValidationInfo): The field info of the field to validate

      Returns:
          Decimal | None: The validated value
      """
      if __value is None:
          return None

      # 1. Must have digits up to 4 decimal places.
      if __value.as_tuple().exponent < -4:
          raise ValueError(
              f"{__field_info.field_name} must have digits up to 4 decimal places."
          )
      # 2. Must have a maximum of 10 digits in total.
      if len(__value.as_tuple().digits) > 10:
          raise ValueError(
              f"{__field_info.field_name} must have a maximum of 10 digits in total."
          )
      # 3. Cannot be infinite or NaN.
      if not __value.is_finite():
          raise ValueError(f"{__field_info.field_name} cannot be infinite or NaN.")
      # 4. Must be greater than 0.
      if __value <= 0:
          raise ValueError(f"{__field_info.field_name} must be greater than 0.")
      return __value

  # ============================ END: FIELD VALIDATOR ======================= #

Any help to circumvent this issue is highly appreciated. Thanks for helping.
Example Code
No response
Python, Pydantic & OS Version
pydantic version: 2.9.2
pydantic-core version: 2.23.4
pydantic-core build: profile=release pgo=false
install path: \.venv\Lib\site-packages\pydantic
python version: 3.11.4 (tags/v3.11.4:d2340ef, Jun  7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] platform: Windows-10-10.0.22631-SP0
related packages: pydantic-settings-2.5.2 typing_extensions-4.12.2
commit: unknown

@JoelRaymann,
Could you please send a reproducible example (with imports, etc)? Happy to look into this for you.

Ok. This is a reproducible example that should work:
import decimal
import bson
from pydantic import BaseModel, Field, ValidationInfo, field_validator, BeforeValidator
from typing import Self, Annotated

DecimalAnnotation = Annotated[
    decimal.Decimal,
    BeforeValidator(lambda v: v.to_decimal() if isinstance(v, bson.Decimal128) else v),
]

class ExampleSchema(BaseModel):
    """
    A `Problematic` Schema for describing the bug faced in Pydantic 2.9

    This schema contains the following fields:
    - height_in_cm: `Decimal` | `None` - The Height of the user in cm.
    - weight_in_kg: `Decimal` | `None` - The Weight of the user in kg.
    """

    height_in_cm: DecimalAnnotation | None = Field(
        default=None,
        gt=0,
        max_digits=10,
        decimal_places=4,
        allow_inf_nan=False,
        title="Height in cm",
        description="The height of the client in cm.",
    )
    weight_in_kg: DecimalAnnotation | None = Field(
        default=None,
        gt=0,
        max_digits=10,
        decimal_places=4,
        allow_inf_nan=False,
        title="Weight in kg",
        description="The weight of the client in kg.",
    )

    # ============================ MAGIC METHODS ========================= #
    def __str__(self: Self) -> str:
        return f"""
        Height: {self.height_in_cm} cm
        Weight: {self.weight_in_kg} kg
        """

    # # ============================ FIELD VALIDATOR ======================= #
    # @field_validator(
    #     "height_in_cm",
    #     "weight_in_kg",
    #     mode="after",
    # )
    # @classmethod
    # def check_if_height_weight_are_valid(
    #     cls: Self,
    #     __value: Decimal | None,
    #     __field_info: ValidationInfo,
    # ) -> Decimal | None:
    #     """
    #     A `field validator` function which checks if the height and weight follow the following criteria:
    #     1. Must have digits up to 4 decimal places.
    #     2. Must have a maximum of 10 digits in total.
    #     3. Cannot be infinite or NaN.
    #     4. Must be greater than 0.

    #     Args:
    #         __value (Decimal | None): The value to validate
    #         __field_info (ValidationInfo): The field info of the field to validate

    #     Returns:
    #         Decimal | None: The validated value
    #     """
    #     if __value is None:
    #         return None

    #     # 1. Must have digits up to 4 decimal places.
    #     if __value.as_tuple().exponent < -4:
    #         raise ValueError(
    #             f"{__field_info.field_name} must have digits up to 4 decimal places."
    #         )
    #     # 2. Must have a maximum of 10 digits in total.
    #     if len(__value.as_tuple().digits) > 10:
    #         raise ValueError(
    #             f"{__field_info.field_name} must have a maximum of 10 digits in total."
    #         )
    #     # 3. Cannot be infinite or NaN.
    #     if not __value.is_finite():
    #         raise ValueError(f"{__field_info.field_name} cannot be infinite or NaN.")
    #     # 4. Must be greater than 0.
    #     if __value <= 0:
    #         raise ValueError(f"{__field_info.field_name} must be greater than 0.")
    #     return __value

    # # ============================ END: FIELD VALIDATOR ======================= #

if __name__ == "__main__":
    example = ExampleSchema(
        height_in_cm=DecimalAnnotation("175.4567"),
        weight_in_kg=DecimalAnnotation("65.4567"),
    )
    print(example)

The error happens when the field constraints exist for this DecimalAnnotation field. Comment out the field constraints and uncomment the field_validator function to make the script work.

To add to this, if you set the pydantic version to 2.8.2 and try to do the same field constraints like this:
    height_in_cm: DecimalAnnotation | None = Field(
        default=None,
        gt=0,
        max_digits=10,
        decimal_places=4,
        allow_inf_nan=False,
        title="Height in cm",
        description="The height of the client in cm.",
    )
    weight_in_kg: DecimalAnnotation | None = Field(
        default=None,
        gt=0,
        max_digits=10,
        decimal_places=4,
        allow_inf_nan=False,
        title="Weight in kg",
        description="The weight of the client in kg.",
    )

But weirdly, Annotated typing the field works. The following code below works for 2.8.2 and NOT the latest 2.9.x versions:
    height_in_cm: (
        Annotated[
            DecimalAnnotation,
            Field(
                gt=0,
                max_digits=10,
                decimal_places=4,
                allow_inf_nan=False,
                title="Height in cm",
                description="The height of the client in cm.",
            ),
        ]
        | None
    ) = Field(
        default=None,
        title="Height in cm",
        description="The height of the client in cm.",
    )
    weight_in_kg: (
        Annotated[
            DecimalAnnotation,
            Field(
                gt=0,
                max_digits=10,
                decimal_places=4,
                allow_inf_nan=False,
                title="Weight in kg",
                description="The weight of the client in kg.",
            ),
        ]
        | None
    ) = Field(
        default=None,
        title="Weight in kg",
        description="The weight of the client in kg.",
    )

I just thought of adding this behavior. I don't know if this is expected.

Alright, I dug in here a bit more. I think, this warning is expected - we're unable to enforce the max_digits or decimal_places constraints on the type as it currently is.
Here's some more background on this issue. When you annotate a type with a validator, you're basically wrapping the type's core schema with a validator core schema:
from pydantic import TypeAdapter
from pydantic._internal._core_utils import pretty_print_core_schema

ta = TypeAdapter(Annotated[int, BeforeValidator(lambda v: v)])
pretty_print_core_schema(ta.core_schema)
#> {'function': {'type': 'no-info', 'function': <function <lambda> at 0x101d61bc0>}, 'schema': {'type': 'int'}, 'type': 'function-before'}

When you enforce a constraint (say, gt), on a simple type like int, we apply that constraint directly to the core schema so that it can efficiently be enforced in pydantic-core. Ex:
from pydantic import TypeAdapter
from pydantic._internal._core_utils import pretty_print_core_schema
from annotated_types import Gt

ta = TypeAdapter(Annotated[int, Gt(0), BeforeValidator(lambda v: v)])
pretty_print_core_schema(ta.core_schema)
#> {'function': {'type': 'no-info', 'function': <function <lambda> at 0x103839bc0>}, 'schema': {'type': 'int', 'gt': 0}, 'type': 'function-before'}

Notice though, the order of the annotations is important. We respect order of annotations in core schemas, so if we apply the constraint after the before validator, we then have to apply the simple gt constraint as a validator wrapping the custom one, ex:
from pydantic import TypeAdapter
from pydantic._internal._core_utils import pretty_print_core_schema
from annotated_types import Gt

ta = TypeAdapter(Annotated[int, BeforeValidator(lambda v: v), Gt(0)])
pretty_print_core_schema(ta.core_schema)
"""
{
    'function': {'type': 'no-info', 'function': functools.partial(<function greater_than_validator at 0x101a6e980>, gt=0)},
    'schema': {'function': {'type': 'no-info', 'function': <function <lambda> at 0x101b71bc0>}, 'schema': {'type': 'int'}, 'type': 'function-before'},
    'type': 'function-after'
}
"""

The problem we're experiencing with your schema, then, is that we don't offer custom python wrap validators for max_digits or decimal_places. Hence, the schema building issue.
I've simplified your example to the following:
import decimal
from pydantic import BaseModel, Field, BeforeValidator
from typing import Annotated

DecimalAnnotation = Annotated[decimal.Decimal, BeforeValidator(lambda v: v)]

class ExampleSchema(BaseModel):
    example_value: DecimalAnnotation | None = Field(max_digits=10, decimal_places=4)

Interestingly, the issue doesn't occur if you don't have | None.
I'm currently looking into:

Why this doesn't happen if you don't have a Union
If it's easy enough to add Python wrap validators for max_digits and decimal_places.

Re 1:
from typing import Annotated

from pydantic import BaseModel, BeforeValidator, Field
from pydantic._internal._core_utils import pretty_print_core_schema

def no_op_validator(v):
    return v

class ModelWithDefault(BaseModel):
    annotated_field: Annotated[int, BeforeValidator(no_op_validator)] = Field(gt=0)

print(ModelWithDefault.model_fields['annotated_field'].metadata)
#> [Gt(gt=0), BeforeValidator(func=<function no_op_validator at 0x10502cae0>, json_schema_input_type=PydanticUndefined)]

class ModelJustAnnotated(BaseModel):
    annotated_field: Annotated[int, BeforeValidator(no_op_validator), Field(gt=0)]

print(ModelJustAnnotated.model_fields['annotated_field'].metadata)
#> [BeforeValidator(func=<function no_op_validator at 0x103034c20>, json_schema_input_type=PydanticUndefined), Gt(gt=0)]

Because of https://github.com/pydantic/pydantic/blob/728d3d9f41c480d35c1188f56cc360bae93f0543/pydantic/fields.py#L371

Oh goodness - surprised I missed this - there's an oversight here. You'll need to apply the Field constraints to the decimal directly - those constraints don't apply to None schemas. Re your https://github.com/pydantic/pydantic/issues/10498#issuecomment-2377603423 comment.

I've opened a PR to fix this case in general :).

@sydney-runkle So based on your suggestion, I should do this right:
DecimalAnnotation = Annotated[
    decimal.Decimal,
    BeforeValidator(lambda v: v.to_decimal() if isinstance(v, bson.Decimal128) else v),
    Field(
        gt=0,
        max_digits=10,
        decimal_places=4,
        allow_inf_nan=False,
    ),
]

class ExampleModel(BaseModel):
        height_in_cm: DecimalAnnotation | None = Field(
                 default=None,
                 title="height in cm",
                 description="This is the client height in cm"
         )

Am I right? or am I missing something?

@JoelRaymann,
Correct!


Installation successful message difficult to see on light background

The installation message ("Rust is installed now. Great!") is hard to see on a white background.
For instance, on the default Mac Terminal, the grey text used is very hard to see.
Screenshot:

Dupe of #789


Transitions: remove is prefix in props

Closes #3419
Description
Removing all is prefix from is*
Current behavior (updates)
Before: isOpen, isDisabled, isReadOnly
New behavior
After: open, disabled, readOnly
Is this a breaking change (Yes/No):
No
Additional Information

Hi @taroj1205, I also want to get clarifications, do we need to ensure the new props take precedence? I got the idea from other merged PR, if they specified both props at the same time, the new one should take precedence. I added this to ignore the warning, but I also don't think this is a good idea to disable the eslint rules like that. Any suggestions are welcome, thank you!

@hirotomoyamada
Thank you for confirming, I have removed them.
Just to clarify, do we need to consider the precedence, say prioritize one prop over the other if both new and disabled props are provided at the same time?


configOkhttp 里修改超时时间不管用

Look at here

→ Did you conform to the Rules?
→ Did you read the Wiki Carefully?
→ Did you search in Google?
→ Did you search in openned&closed Issues?
→ Receive only bugs and suggestions

Environment

[x] MVPArms Version:
[x] AndroidStudio Version:
[x] Gradle Plugin Version:
[x] Target Android Version:
[x] Device Model:

Bug Description:

Related Code:
   Interceptor interceptor=new Interceptor() {
                            @Override
                            public Response intercept(Chain chain) throws IOException {
                                Request request = chain.request();
                                chain.withConnectTimeout(1,TimeUnit.SECONDS);
                                chain.withReadTimeout(1,TimeUnit.SECONDS);
                                chain.withWriteTimeout(1,TimeUnit.SECONDS);
                                return chain.proceed(request);
                            }
                        };

Bug Log:

Others:

Interceptor 是 Okhttp 的 API 和 Arms 没什么关系


Would like hot keys in debugger

Kind of like navigating vim, it would be nice to have Ctrl- characters to step, step into, step through, step over, step out, and resume. Keeping them together on the keyboard would be helpful. Like J,K,L,, etc.

Fixed in 3.1.0. Used Ctrl-F10, F11 and friends for debugger navigation.

-- if you select multiple projects in the console, the checkout git branch is disabled, but the checkout git tag is enabled.  The checkout git tag gives an error, so that menu item should be disabled too.
-- if you checkout git tag on one of the Rowan projects, like STON, then it really checks out tag on all but you can't tell... you have to explicitly refresh.  I think after a git checkout operation, it would be worth the extra time required to automatically do a refresh.
-- this is just my not really understanding tags v. branches.  When I have checked out a tag, am I still in some sense on a branch?  I see my "branch" as "HEAD detached at ", with no mention of "oscar" anywhere.  When I went to the checkout branch menu I felt a moment of unease since while I thought I was on oscar and in theory might be able to use the latest on that branch... I didn't see anyway to check that was in fact the branch I was generally following.

Reopened by mistake.
The key shortcuts are on the menu and appear to work but - I usually don't remember or use keyboard shortcuts, and these are much more baffling and non-intuitive than the others, so checking all the details will have to set with someone who would find these useable.


[BUG] Get-PnPField not returning site fields

Reporting an Issue
Attempting to view all site fields and fields I created (associated with a custom group) ** Get-PnPField or Get-PnPField -Group "My Custom Group Name Here"
Expected behavior
Expected list of fields associated with my site
Actual behavior
Unless I explicitly attach -Identity to the call, I receive the below error:
**Get-PnPField : Input string was not in a correct format.
At line:1 char:1

Get-PnPField

  + CategoryInfo          : WriteError: (:) [Get-PnPField], ServerException
  + FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Fields.GetField**

Steps to reproduce behavior
Connect-PnPOnline -Url $Site -Credentials (Get-Credentials)
Get-PnPField
....that's about it.
What is the version of the Cmdlet module you are running?
(you can retrieve this by executing Get-Module -Name "PnP.PowerShell" -ListAvailable)
1.3.0
Which operating system/environment are you running PnP PowerShell on?

[X ] Windows

I'm now getting the same error with Add-PnPFieldFromXml. All from scripts that have been working for weeks :: even ran this morning without error/issue. Now receiving "Input string was not in a correct format" for both.
Is this related?
Add-PnPFieldFromXml : Input string was not in a correct format.
At line:1 char:1

Add-PnPFieldFromXml -FieldXml $fieldXml

  + CategoryInfo          : WriteError: (:) [Add-PnPFieldFromXml], ServerException
  + FullyQualifiedErrorId : EXCEPTION,PnP.PowerShell.Commands.Fields.AddFieldFromXml

Please can you run Get-PnPException immediately after the error occurs and post the output in here?
Thanks

Message          : Input string was not in a correct format.
Stacktrace       :    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
at Microsoft.SharePoint.Client.ClientRequest.d__53.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientRequest.d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientRuntimeContext.d__65.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientContext.d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.SharePoint.Client.ClientContextExtensions.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientContextExtensions.ExecuteQueryRetry(ClientRuntimeContext clientContext, Int32 retryCount, String userAgent)
at PnP.PowerShell.Commands.Fields.GetField.ExecuteCmdlet()
at PnP.PowerShell.Commands.PnPSharePointCmdlet.ProcessRecord()
ScriptLineNumber : 1

This is the error when using a Group filter: Get-PnPField -Group "My Custom Group Test"
Message          : Input string was not in a correct format.
Stacktrace       :    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream)
at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse()
at Microsoft.SharePoint.Client.ClientRequest.d__53.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientRequest.d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientRuntimeContext.d__65.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientContext.d__28.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Microsoft.SharePoint.Client.ClientContextExtensions.d__6.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.SharePoint.Client.ClientContextExtensions.ExecuteQueryRetry(ClientRuntimeContext clientContext, Int32 retryCount, String userAgent)
at PnP.PowerShell.Commands.Fields.GetField.ExecuteCmdlet()
at PnP.PowerShell.Commands.PnPSharePointCmdlet.ProcessRecord()
ScriptLineNumber : 1

That's odd. I don't have any issues on my end with 1.3.0 (Windows/MacOS)

Indeed. I've tried the command on 4+ sites this morning without issue. I have no idea what was going on last week.

Can no longer recreate this issue.


Equipment with Action Type = "None" shouldn't show up in "Special Actions" list

It took me a while to figure out why my item that used zero actions of type "None" was showing up. In my opinion, of course. Maybe also items with a 0 value for the number of actions they use should be omitted from everything?

Can you show me an example of the configuration you are using for this?
I don't tend to think of setting "none" for my items that can't be used, I usually leave it blank. For the "none" in the action type I typically think that means "this item has an effect but does not cost anything to use it"

It was the robe on the starter hero sorcerer for some reason. I don't think it had any other effects, but I'm not at my computer right now.

Resolved in 4.1.0


[grpc] Framing-agnostic stream decoding

Problem
When grpc endpoints receive a stream, the transport assumes each HTTP2 frame has exactly one gRPC message. Transport framing needs to be decoupled entirely from message encoding.
Solution
Introduce the grpc.runtime.DecodingStream[T] type, which implements grpc.runtime.Stream[T], backed by an h2.Stream and a Codec[T]. Accounting is done to ensure that h2 frames are released when all gRPC messages encoded in that frame have been released.
Fixes #953

still need to add some explicit tests for the conditions we're concerned about


Solve the login problem of Chinese users

Solve the login problem of Chinese users
Proposed change
The app version is too old  blocked by bmw
Type of change

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (which adds functionality to this library)
[ ] Breaking change (fix/feature causing existing functionality to break)
[x] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:

Checklist

[x] The code change is tested and works locally.
[ ] Tests have been added to verify that the new code works.

#506

Hi @Blear, I modified const.py locally over 0.11.0, but the fix does not work for me, should I use the master version?
➜  pip show bimmer_connected
Name: bimmer-connected
Version: 0.11.0
Summary: Library to read data from the BMW Connected Drive portal
Home-page: https://github.com/bimmerconnected/bimmer_connected
Author: gerard33, rikroe
Author-email:
License: Apache-2
Location: /opt/venvs/homeassistant/lib/python3.9/site-packages
Requires: httpx, pycryptodome, pyjwt
Required-by:

➜  diff const.py const.py.bak
49c49
<     Regions.CHINA: "2.12.0(19965)",
---
>     Regions.CHINA: "2.3.0(13603)",

➜  bimmerconnected status [user] [pass] china
DEBUG:asyncio:Using selector: EpollSelector
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.account:Getting vehicle list
DEBUG:bimmer_connected.api.authentication:Authenticating with MyBMW flow for China.
DEBUG:httpx._client:HTTP Request: GET https://myprofile.bmw.com.cn/eadrax-coas/v1/cop/publickey "HTTP/1.1 200 OK"
DEBUG:httpx._client:HTTP Request: POST https://myprofile.bmw.com.cn/eadrax-coas/v2/login/pwd "HTTP/1.1 422 Unprocessable Entity"
ERROR:bimmer_connected.api.authentication:Authentication error: {"data":null,"code":499200,"error":true,"msgType":"toast","description":"登录校验异常，请使用正常渠道下载的应用程序！"}
...
httpx.HTTPStatusError: Client error '422 Unprocessable Entity' for url 'https://myprofile.bmw.com.cn/eadrax-coas/v2/login/pwd'
For more information check: https://httpstatuses.com/422

@lanceliao After modifying the version, there is no error when requesting vehicle data using the token, I tested using a cached token request, but Still having problem when logging like you said,
it looks like the login interface validation has judged something else。


Configuring, when to store a document

I could not find such a feature in the docs. Can I configure the function to only create an index in Algolia, if for example a 'verified' property is 'true'?

With the current implementation it's not possible to sync only part of the records, but you can use filters to choose not to display all records using Algolia

@bennihz I believe you can just set a transform function that exits the function without returning anything (as opposed to returning the data payload) and that would result in the object not being indexed

If I understand this issue, this might be related to issue #57.  Take a look and see if this helps.


[Question]No misses for Osiris

Can someone test is var sv_usercmd_custom_random_seed
tagged by a server?
Also when i switched var from 1 to 0 Osiris without visible only and with autoshot started to kill without misses in a local server

Maybe other cheats using this cvar

One more question:
Will it crush your game on official Valve servers?

it is a server cvar so it will only work on local games, and it wont crash your game it just wont do anything

it is a server cvar so it will only work on local games, and it wont crash your game it just wont do anything

Nope it's working on official servers, and you can set to 0 in console

it is a server cvar so it will only work on local games, and it wont crash your game it just wont do anything

Nope it's working on official servers, and you can set to 0 in console

there is absolutely no way it actually does anything on non local servers

it is a server cvar so it will only work on local games, and it wont crash your game it just wont do anything

Nope it's working on official servers, and you can set to 0 in console

there is absolutely no way it actually does anything on non local servers

It's actually working if you dont believe me test it

it is a server cvar so it will only work on local games, and it wont crash your game it just wont do anything

Nope it's working on official servers, and you can set to 0 in console

there is absolutely no way it actually does anything on non local servers

It's actually working if you dont believe me test it

tested it on deathmatch and as expected it does nothing

Value of cvar (sv_usercmd_custom_random_seed) can be changed in console

So i will close issue


Add spec for CstrReshapableOp

Request description
To spec stablehlo.cstr_reshapable

Will be handled as part of the dynamism RFC (#8).


Logout throws FB is not defined

Hello,
my application supports login via Google, Apple and Facebook.
When I test the application in browser (ionic serve), the login works but when Logout is called, as follows below, an error is raised.
            if (this.authProvider == 'google') {                 this.google.logout().then(outVal => {                     console.log('Google logout successful');                     console.log(JSON.stringify(outVal));                 }).catch(outError => {                     console.log('Google logout failed');                     console.log(JSON.stringify(outError));                 });             } else if (this.authProvider == 'facebook') {                 FacebookLogin.logout().then(outVal => {                     console.log('Facebook logout successful');                     console.log(JSON.stringify(outVal));                 }).catch(outError => {                     console.log('Facebook logout failed');                     console.log(JSON.stringify(outError));                 });             } if (this.authProvider == 'apple') {                 this.google.logout().then(outVal => {                     console.log('Apple logout successful');                     console.log(JSON.stringify(outVal));                 }).catch(outError => {                     console.log('Apple logout failed');                     console.log(JSON.stringify(outError));                 });             }
This is the error message:
Capacitor WebPlugin "FacebookLogin" config object was deprecated in v3 and will be removed in v4. index.js:296
ERROR Error: Uncaught (in promise): ReferenceError: FB is not defined
logout/<@http://localhost:8100/web.js:46:13
ZoneAwarePromise@http://localhost:8100/polyfills.js:4066:33
logout@http://localhost:8100/web.js:45:16

It seems, I was following the Capacitor v3 instructions. Then I realized the README for Capacitor v2. I followed the instructions there. It works now.


Missing custom node?

I've tried updating both with git pull (I originally installed with git) and then also by extracting the .zip
I keep getting this error when loading your workflows (specifically img2img and inpainting that I've tried)
When loading the graph, the following node types were not found:
SeargeSDXLImage2ImageSampler
Nodes that have failed to load will show as red on the graph.

Nevermind, this was resolved by deleting the folder in custom nodes and re-pulling. It seems that updating does not work though!


Fix create cluster hardware csv flag.

The hardware csv flag required for tinkerbell provider provisioning has some additional checks that used the old flag.

/approve

/lgtm


Question about the 2D CNN+Downsampler

Thanks for your excellent contribution!
I'm trying to understand the structure of CuboidTransformerModel, but I find the implementation is not consistent with the description in the paper.
According to Table 9 in the paper, the 2D CNN+Downsampler for SEVIR has the following design:
Conv3×3
Conv3×3
GroupNorm16
LeakyReLU
PatchMerge
LayerNorm
Linear

But I notice that in class InitialStackPatchMergeEncoder:
conv_block = []
for j in range(self.num_conv_per_merge_list[i]):
    if j == 0:
        conv_in_dim = in_dim
    else:
        conv_in_dim = out_dim
    conv_block.append(nn.Conv2d(kernel_size=(3, 3), padding=(1, 1),
                            in_channels=conv_in_dim, out_channels=out_dim))
    conv_block.append(nn.GroupNorm(self.num_group_list[i], out_dim))
    conv_block.append(get_activation(activation))

Each Conv3×3 is followed by a GroupNorm and a LeakyReLU, which means the structure is actually:
Conv3×3
GroupNorm16
LeakyReLU
Conv3×3
GroupNorm16
LeakyReLU
PatchMerge
LayerNorm
Linear

I wonder if there is a mistake in the implementation of the module. It seems the last two lines shouldn't stay in the for loop, or did I get it wrong?

Thank you very much for reporting this issue. You correctly pointed out that the actual model architecture is:
Conv3×3
GroupNorm16
LeakyReLU
Conv3×3
GroupNorm16
LeakyReLU
PatchMerge
LayerNorm
Linear

Our code and pretrained weights match this architecture. There is a mistake in Table 9 of our Appendix, which incorrectly described the architecture.


Simple theme changes (logo, colors, etc)

I am new to Richie, and built it into my Tutor OpenEDX project with https://github.com/overhangio/tutor-richie. I've gone through all the docs, folders, etc. of richie and have figured out the CMS usage, but can't for the life of me figure out how to do simple things like replace the logo, change the CSS, etc.
The documentation talks about how to build a dev server, templates, etc. but doesn't actually describe how to recompile and reload the site, and perhaps I don't know enough about Django/React to do it. Since I already replaced files in /richie/src/richie/apps/core/static/richie/images etc. I feel like there's something super simple that I'm missing here!

@sion42x the fast answer is: we are missing documentation. Richie installs as a third party app in your own Django project. You can take example on what we do for our own sites at https://github.com/openfun/richie-site-factory. There are examples of overriding css, Html or even React templates.

Thanks @sampaccoud, I don't feel as bad now 😄
I've been able to do that on my local dev machine without issues and it's pretty wonderful. That said, I still don't see how to promote what I've changed to a running production richie instance (in my case, running inside tutor-richie).
Once I can get that figured out I'd be happy to document "Making your first frontend change" or something like that.

@sion42x I'm not sure I understand. Your Tutor is an OpenEdX instance in which a tutor-richie module is running. Your Richie is a separate project, running on a separate instance. We do not impose a way to host Django, Richie installs in your DjangoCMS app, and you can find a lot of documentation on ways to host Django in production.
That being said, we at FUN run Django in production using Docker and Kubernetes. The Docker images are built in https://github.com/openfun/richie-site-factory and the deployment to Kubernetes is done with Arnold via the richie app. You can refer to these repositories for inspiration or as boilerplates for your own deployments.

Thanks @sampaccoud, I guess it's just a case of me not understanding Docker and the frontend. I think we're describing two different things.
As you say, I'm using tutor-richie (pip install tutor-richie, then tutor plugins enable richie), which runs in a docker container and automatically enables a subdomain of my OpenEDX domain (courses.mydomain.com) that also is the default redirect location for the top level domain. I did NOT run the create demo site function. Django Admin is fully configurable from the admin page. What I can't seem to figure out how to do is modify the default front-end UI that is running in the richie docker container (which has the "your logo here" up top and standard richie style).
I think the problem is me just not understanding docker/react enough. I'll keep playing with it unless you have any ideas.

@sion42x I'd be happy to make a p2p call to better understand your situation as I'm not familar with Tutor and the plugin.
Maybe @regisb you can also give us your 2 cents?

Let's ask the question differently: if you were running Richie as a Django app natively, on the host, inside your own Django CMS project, how would you theme Richie? Which files would you modify? There is currently no simple, user-friendly mechanism in place to modify the Richie theme from the tutor-richie plugin, but we can work on a solution.

This is what is done in https://github.com/openfun/richie-site-factory.

Let's ask the question differently: if you were running Richie as a Django app natively, on the host, inside your own Django CMS project, how would you theme Richie? Which files would you modify? There is currently no simple, user-friendly mechanism in place to modify the Richie theme from the tutor-richie plugin, but we can work on a solution.

From looking through https://github.com/openfun/richie-site-factory and the docker image, I've been attempting changes to /richie/src/richie/apps/core/static/richie/images and other locations (which automatically revert). I'd assume at this point the "friendly" way to do it for tutor-richie is to make a function similar to the tutor openedx theming process (make changes in a local location, tutor images build richie, tutor start -d with the appropriate changes to the Dockerfile).
In the meantime, it seems the way would be to clone the tutor-richie image, modify, and use my own image in production. Does that sound right @regisb?
Depending on the level of effort involved I may be willing to fund a solution for this in tutor-richie. I'll reach out to @regisb via email on that.

I was able to make some progress on this finally, and have indeed chalked it up to me not understanding Docker well enough. Here's what I did for posterity:

Built a local dev environment
Modified files in frontend/scss and richie/apps
Copied those folders to my production server under the directory $(tutor config printroot)/env/plugins/richie/build/richie/richie-theme
Edited the Dockerfile at $(tutor config printroot)/env/plugins/richie/build/richie/Dockerfile to add two COPY commands in the base image block:

#--------- Base image with cloned repo
FROM python:3.7-bullseye as base

RUN apt update \
    && apt install -y git \
    && rm -rf /var/lib/apt/lists/*

# Clone repo
ARG RICHIE_REPOSITORY=https://github.com/openfun/richie.git
ARG RICHIE_VERSION=v2.8.2
RUN git clone $RICHIE_REPOSITORY --branch $RICHIE_VERSION --depth 1 /richie
COPY ./richie-theme/src/frontend/scss /richie/src/frontend/scss
COPY ./richie-theme/src/richie/apps /richie/src/richie/apps

Ran tutor images build richie
Ran tutor local start -d

I don't know if this was the best way, but it WORKED!

@sion42x Thank you for your contribution! I discussed with @regisb and discovered that the tutor-richie plugin also ran the richie instance, and not just a connector in OpenEdX. That's why we did not understand each other at first, sorry :sweat_smile:
France Université Numérique will finance an improvement in the tutor-richie plugin so that customization is easier and documented. Basically what you did is the way to do it and we will bake this mechanism in the plugin.


Update XR SDK docs

This page is old, from before OpenXR existed:
https://microsoft.github.io/MixedReality-WorldLockingTools-Unity/DocGen/Documentation/HowTos/XRSDK.html
See especially the section on setup for HoloLens.
Also, update the names of the MRTK profiles to use (HoloLens & Android).

An example how to setup OpenXR respectively AR Foundation for Unity 2020 with WLT would aso be nice. XR SDK is basically selecting XR SDK as subsystem (which I got working), but for AR Foundation one has to setup the session origin, session source and anchor manager etc.
E.g. I'm currently trying to switch from my App for HL2, which uses OpenXR Anchor Manager (similar to https://github.com/microsoft/OpenXR-Unity-MixedReality-Samples/tree/main/BasicSample), to using World Locking Tools for improving my hologram stability and precision. At the moment I'm a but clueless how to setup the scene. In my example I had to handle the anchor setting, loading and saving on my own, so I'm unsure about the API between WLT and OpenXR Anchors and the basic setup of OpenXR for WLT.

@FelixWeichselgartner the WLT with ASA samples are setup for AR Foundation with Unity 2020. That's because AR Foundation and Unity 2020 are ASA requirements. On HoloLens, they support either the Windows MR Plugin, or the MR OpenXR Plugin, whichever your project is setup to target.

In my example I had to handle the anchor setting, loading and saving on my own, so I'm unsure about the API between WLT and OpenXR Anchors and the basic setup of OpenXR for WLT.

With WLT, you shouldn't be creating or maintaining spatial anchors. WLT creates and maintains a spatial anchor graph, which it uses to stabilize the entire Unity global coordinate space. So you no longer need to anchor objects, you just place them, and they stay where you put them with respect to the physical environment. Here's a pretty good place to start to get an idea of what WLT offers.
But basically, you get your application project setup for using the platform of your choice (e.g. XRSDK+WRMPlugin or ARFoundation+OpenXRPlugin), install WLT, and forget about anchors. Here are more details on setup, including links to the technology owners (e.g. AR Foundation or MRTK).


Fix inclusive_with_params

:inclusive_with_params check for exact match of path BUT SHOULD follows
the :inclusive options rules.

Should not be base on master from the source


Validate vsphere 7.0u3 environemtn

Validate prov rke1 and rke2 checks on the new environment

QA has validated rke1/rke2 prov usecases on the new 7.0u3 environment. No new issues fund


Index.ts vote: error: Unrecognized arguments: --gas-prices 169.77ukrw.

When upgraded to version 1.4.6 the default start scripts show errors with unrecognized arguments. Has it been removed?

Hi there got the same error too and if I try to remove the extra arguments, the script will run but showing:
timestamp: Fri, 03 Sep 2021 12:21:20 GMT
getPrices: source: http://localhost:8532/latest
aggregate error
Any fix that can be done on this?

Also seeing this error, going to revert back to 1.4.5 until there is a fix

Now oracle messages don't need to pay gas fee, so please remove --gas-prices ~~ flag from your option

Hi there got the same error too and if I try to remove the extra arguments, the script will run but showing:
timestamp: Fri, 03 Sep 2021 12:21:20 GMT
getPrices: source: http://localhost:8532/latest
aggregate error
Any fix that can be done on this?

You need to run price server first

ok thank you, will remove --gas-prices, also do you know if --lcd is still a required arg?


[stdlib] Add overloads for elementsEqual for unordered collections [WIP]

Behavior of Sequence.elementsEqual can be unexpected when applied to
unordered collections, such as Set or Dictionary.
This commit introduces a few more overloads to this function to:

Make behavior for Set consistent with ==
Mark cases that produce unexpected results as deprecated with a
useful message.

@swift-ci Please test

@swift-ci Please test compiler performance

@swift-ci Please Test Source Compatibility

Inspired by https://twitter.com/olebegemann/status/916291785185529857

Please don't do this without a swift-evolution review. In particular, I think it's a bad idea for this to behave differently in generic and non-generic contexts.

I think there's a case to be made for having deprecated versions on Set too, rather than it silently fwding to ==. And I don't think those would need to go through evolution. We have a JIRA for this already (https://bugs.swift.org/browse/SR-5521).

As in, deprecation warning but then go on to do the "wrong" thing it currently does, rather than the right thing... You'd also want an overload that took a Set as the RHS. However, since we don't have the ability to "forward" to a more general implementation, we can't easily implement this.

Ah, yes, the deprecation overload is fine. I just don't want this to do the "unordered" thing in a non-generic context and the "ordered" thing in a generic context. It's bad enough when we get that behavior with == in classes.

!!! Couldn't read commit file !!!

@airspeedswift there is an overload that takes set as rhs. Unless I misunderstand you. And it is possible to delegate to the current implementation, this is what _elementsEqual is for.

OK. By popular demand, doing the right thing was removed 😄 Now it's a warning in all cases.

@swift-ci Please smoke test

@moiseev The problem isn't that elementsEqual is doing the "wrong" thing for Set and Dictionary instances, but that the function is incorrectly named.
The documentation is very clear: the function determines if there are "equivalent elements in the same order"; however, the name of the function lacks any indication that it relies on order.
By contrast, lexicographicallyPrecedes is unambiguous and does a very similar thing using < instead of ==. (Incidentally: elementsEqual(_:by:) and lexicographicallyPrecedes(_:by:) are, unless I'm mistaken, the same function if one supplies the same predicate.) Yet no one, to my knowledge, has complained that lexicographicallyPrecedes does the "wrong" thing for Set and Dictionary.

I agree with @xwu; there is something troubling about Set and Dictionary implementing Sequence and Collection but then selectively disabling some of the functionality that comes with these abstractions.
I expect a big portion of accidental misuse comes from generic functions on Sequence that are accidentally fed a Dictionary or a Set -- and this won't be caught by these overloads. I know I had some custom XCTest asserts that were broken like that.
It is not unusual for Sequence operations to only make sense on certain kinds of sequences:

min, max, filter(_:), contains(where:), map, joined etc. don't like infinite sequences
drop(while:), prefix(while:), starts(with:), elementsEqual, lexicographicallyPrecedes smell not quite right when used on unordered sequences
elementsEqual and lexicographicallyPrecedes look weird when either or both sequences are a single-use sequence

I'm wondering if a static analyzer / linter would be a better a better place to systematically catch these.

In an absence of a more general solution to the problem, shouldn't we try to improve situation one bit at a time, though?

It is evidently very hard to come up with a good architecture for sequences/collections that would allow to properly distinguish finite vs infinite, single- vs multi-pass, ordered vs unordered, lazy vs eager, forward vs bidirectional vs random-access, all at the same time.

    I’m more than hard

네이버 메일앱에서 보냈습니다.-----Original Message-----
보낸사람: "Max<EMAIL_ADDRESS>받는사람<EMAIL_ADDRESS>참조<EMAIL_ADDRESS>날짜: 2017. 10. 9 오후 2:01:16
제목: Re: [apple/swift] [stdlib] Add overloads for elementsEqual for unordered collections [WIP] (#12318)
It is evidently very hard to come up with a good architecture for sequences/collections that would allow to properly distinguish finite vs infinite, single- vs multi-pass, ordered vs unordered, lazy vs eager, forward vs bidirectional vs random-access, all at the same time.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@moiseev Definitely, we should try to improve the situation, but I question if this is the optimal first bit of improvement. Frankly, as it's currently named, elementsEqual is confusing even for ordered collections; users are much more likely to be comparing two instances of the same type, and they should be reaching for == instead.
What I'm hinting at above is: this function--should it be useful--might be best off renamed to something like lexicographicallyMatches (a la lexicographicallyPrecedes). Then, to transition, a deprecation annotation can be affixed to an elementsEqual stub telling users to use == if possible and to avoid using elementsEqual on unordered collections. I'd also recommend coalescing lexicographicallyPrecedes(_:by:) and elementsEqual(_:by:) (the methods that take a custom predicate) into a single lexicographicallyCompares(_:by:) as they're really not different.

https://bugs.swift.org/browse/SR-6102


Move Vec zero extension functions to FromZeros

While the ergonomics of calling these as associated functions on FromZeros is not as good as the ergonomics of them as bare functions, the discoverability is considerably higher.

Codecov Report
Attention: Patch coverage is 98.74214% with 2 lines in your changes missing coverage. Please review.

Project coverage is 87.72%. Comparing base (70f3e14) to head (1811a94).
Report is 3 commits behind head on main.

Files with missing lines
Patch %
Lines

src/lib.rs
98.74%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1690      +/-   ##
==========================================
- Coverage   88.01%   87.72%   -0.29%
==========================================
  Files          16       16
  Lines        5805     5824      +19
==========================================
  Hits         5109     5109
- Misses        696      715      +19

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


⚠ Node - de-25dd7d7e.yalaso.top has degraded performance

In bfcd9ac, Node - de-25dd7d7e.yalaso.top (http://de-25dd7d7e.yalaso.top/api/v1/ping) experienced degraded performance:

HTTP code: 200
Response time: 2802 ms

Resolved: Node - de-25dd7d7e.yalaso.top performance has improved in b354270 after 3 minutes.


🐛 BUG: Scheduled Handler not found in Local Dev

Which Cloudflare product(s) does this pertain to?
Wrangler core
What version(s) of the tool(s) are you using?
3.48.0
What version of Node are you using?
21.7.2
What operating system and version are you using?
macOS Sonoma 14.4.1
Describe the Bug
Observed behavior
When developing a Worker with a scheduled handler, invoking the handler via http://localhost:8787/cdn-cgi/mf/scheduled throws the following error:

✘ [ERROR] Received a ScheduledEvent but we lack a handler for ScheduledEvents (a.k.a. Cron Triggers). Did you remember to export a scheduled() function?

Expected behavior
scheduled handler should be detected and executed.
Steps to reproduce
Please provide the following:

Worker Code

export default {
	scheduled() {
		console.log("Hey!");
	}
}

wrangler.json:

{
	"name": "cron-test",
	"main": "index.js",
	"compatibility_date": "2024-04-07",
	"triggers": {
		"crons": ["0 0 * * * * *"]
	}
}

Command to start:

wrangler dev -j

curl command:

$ curl http://localhost:8787/cdn-cgi/mf/scheduled
exception%

Please provide any relevant error logs
$ wrangler dev -j

 ⛅ wrangler 3.48.0
-------------------
⎔ Starting local server...
▲ [WARNING] Miniflare 3 does not support CRON triggers yet, ignoring...

[wrangler:inf] Ready on http://localhost:8787
✘ [ERROR] Received a ScheduledEvent but we lack a handler for ScheduledEvents (a.k.a. Cron Triggers). Did you remember to export a scheduled() function?

The way to test scheduled handlers with Wrangler in local dev is to use the --test-scheduled flag and /__scheduled (see https://developers.cloudflare.com/workers/runtime-apis/handlers/scheduled/ for docs). I'll close this issue for now—feel free to open a new one if that doesn't work for your use case.
/cdn-cgi/mf/scheduled will work when using Miniflare directly, but doesn't work when using Wrangler because of the dev server architecture (we run two Miniflare instances, only one of which has the user worker, and the non-user worker one handles the /cdn-cgi/mf/scheduled endpoint.)


Fix sound in Libretro

The Retroarch sound did not play.
The flag beep was never updated

Thanks again, I appreciate the libretro port improvements!


fix failing test in c semantics due to warning

@radumereuta accidentally broke the -w flag which was surpressing the warning from  the exception thrown by this hook. It's rather time-sensitive, so I'm fixing the warning while he fixes the bug. @yilongli please review

lgtm


feat: replace awesome-vue with VueCommunity

As there is a lot of duplicate work going on, we are discussing moving some things from awesome-vue to Vue community, and awesomejs.dev already does the job of listing packages.

I've opened a PR so it's more clear for everyone: https://github.com/vuejs/awesome-vue/pull/3363

@Akryum Thanks for the update! As I'm reflecting on the larger JS ecosystem though, it seems the AwesomeJS pattern is more common across different libraries and frameworks.
It seems like a better approach would be to incorporate Vue Community into AwesomeVue instead and then grow it from there. This would also help with some of the conflicts we're running into with official Vue projects versus community based ones.
What do you think?


Use the current file location to concatenate the heading name, rather than the export path

Is your feature request related to a problem? Please describe.
For example, I exported a single file using HTML Document mode to the directory D:\[Buffer]\Obsidian Export\, resulting in the file D:\[Buffer]\Obsidian Export\Personal\Diary\2024\2024-05-14.html. I then sent the 2024-05-14.html file alone to a friend (without the nested parent folders), and my friend downloaded it and saved it to D:\[Download]\2024-05-14.html.
At this point, the headings in the outline on the right cannot jump to the corresponding positions on the page and display a "file not found" error.
Describe the solution you'd like
These headings in the HTML file should not point to D:\[Buffer]\Obsidian Export\Personal\Diary\2024\2024-05-14.html#heading, but rather to #heading on the current page or D:\[Download]\2024-05-14.html#heading.
I hope this issue can be resolved. Thank you!

Just turn on relative header names in the settings :)

Excuse me, I didn't find out the "relative header names" setting.

Ohh sorry haha, I think that feature is only in the beta version. There are instructions for installing the beta version in the plugin description. Or you can wait for the next stable release

That's good. I would like to wait for the stable release I think.


add step to upgrade pip3

/cc @jianzhangbjz @wewang58

/retitle OCPQE-17490 add step to upgrade pip3


Upgrade fl_chart

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

Project coverage is 54.71%. Comparing base (cddfd38) to head (d9d5698).
Report is 7 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #358   +/-   ##
=======================================
  Coverage   54.71%   54.71%
=======================================
  Files         168      168
  Lines        3670     3670
=======================================
  Hits         2008     2008
  Misses       1662     1662

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


Improvement: Remove use of Reflection to get reports

Versions: all

In Report::get_reports reflection is used to determine if a class is abstract.
This is bad practice (IMO) and should be re-written. Perhaps any abstract classes should implement an abstract interface, or better yet any valid report classes should implement a report interface (SS_ReportInterface for example). This would mean you can look them up directly instead of filtering out abstract classes.

This isn't really a bug, so I'm going to close this, I'm afraid.
I don't fully agree with you, either, but happy to hear more about why you think the current approach is bad.
Creating abstract classes is a legitimate approach to OOP. SilverStripe tries to be quite "magical" in how it discovers classes (rather than requiring the dev to register all the classes they want to use) and this means we can pick up abstract classes when looking for those with a common inheritance or even interface implementation.
There's no guarantee that a class won't be abstract just because it does/doesn't implement an interface and having abstract Reports that are then extended by others should be a supported architectural practice.
Having an interface implemented by abstract classes wouldn't work because any class that extends that class will itself implement the abstract interface too. Having an interface for valid Reports is kind of done (except you extend an abstract class instead of implementing an interface) and there's nothing to stop someone creating an abstract class that implements an interface and to stop them seems unduly restrictive.

Hi, thanks for taking the time to post to our issue tracker.
The issue tracker is intended to be used for reporting bugs and not for feature requests or discussions.
If you'd like to request a feature please see our user voice page where you can submit your ideas.
If you feel you're capable of solving this problem and submitting a pull request with this feature added, please do so and a member of the team will review it.
If you'd like to discuss a feature idea before submitting a PR, please submit it to our mailing list
Thanks for taking the time to make this suggestion.

Hey @dhensby
You're right, it's not a bug - more a "best practice" suggestion. I don't think it's a good idea to use reflection in production code.
You're entirely right in terms of SS being able to pick up any class whether abstract or not, and whether it implements an interface should not be the deciding factor. It was merely a suggestion for a way to avoid using reflection by modifying the code to only accept instances of an interface. At the end of the day, an abstract class is no use to a function that "gets a list of SilverStripe reports", so could be a valid way to enforce structure among actual report classes and abstract report classes containing base functionality.
Anyway - I appreciate your taking time to answer :)
Cheers!
Robbie

No worries - we're using Reflections a fair amount in our production code, so this would just be chipping away at an ice burg (not that it's not a reason to improve code) - but I'd definitely be interested in learning more about pros/cons or reflections and how we can solve our problems without it (we had a lot of static parsing and caching which has been moved to reflections for quite good performance gains).


Highlight link target

Sometimes when linking into a short module or to a symbol somewhere near the bottom of the HTML, there is confusion about which symbol is actually being linked to. My recent case was a question from a colleague about fromJust which, because of my screen size, appeared to be about isJust.
This tiny addition to the CSS would have solved my confusion, I think.

Sorry for the late reply. Thanks @DaveCTurner! I like this very much.
I suspect the color is subject to bike-shedding let's see what happens next.


Are the reg keys still required to enable CA?

We have noticed during our testing that latest Enterprise ring and production ring versions seem to have CA support enabled by default ( we have ADAL + SilentConfig set already ) and do not require the Preview reg key. Has support for CA been released to OneDrive on Windows yet or does it suffice to only set the ADAL key?

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

ID: efd1a047-ff5f-48bd-1a9a-87024d3cbe70
Version Independent ID: 23ae844e-35df-0d4f-50d5-021a5ba9bdf9
Content: Enable conditional access support in the OneDrive sync client for Windows
Content Source: OneDrive/enable-conditional-access.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

@mirzakubat thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.

@officedocsbot close

@scanum - The thing is that we have created an advistory case and the reply back was in essence "follow the docs but we do not know what "EnableTeamTier_Internal" registry key is and if it is needed as we cannot find anything in our internal documentation".
As we turned to a dead end with the advisory case I wanted to check here if we could get someone from the PG to validate that the docs are still accurate and that both keys are required?
Reason being that a) we already have EnableADAL set ( as we use silent autoconfig ) and b) MS Support seems to claim that they have no record of the second key in the registry file linked in this doc.
Can you please re-open the case and check internally with the PG to get confirmation whether or not both keys ( as referenced in the docs ) are needed?
In parallel we have contacted our TAM to see if we can get some assistance from there. At the moment this is blocking us from moving forward with a big change for our +30k seat environment.


Only in the Kubernetes environment, adding the server.servlet.context-path parameter to the spring boot web results in GRPC server startup failure

Only in the Kubernetes environment, when set in the application.yaml of spring boot
server:
  servlet:
    context-path: /demo1

grpc server start failed
https://github.com/grpc-ecosystem/grpc-spring/assets/28520524/eab20ed6-7652-4032-8327-1fd352a5c729
source code

I don't see the actual failure though?
Maybe try to debug into the pod to determine what the pod is doing at that point in time.


Display not found page if cannot create task

Details

We display not found page if we create a task in room chat which has permission is "Admins only"
Fixed Issues

$ https://github.com/Expensify/App/issues/21791
PROPOSAL: https://github.com/Expensify/App/issues/21791#issuecomment-1611294044
Tests

Login with user A
On another device, login with user B
From user B, create a workspace and invite user A to the workspcae
From user A, go to announce chat of this workspace
Click on plus icon >  Assign task
Enter title, description and go to next step
From user B, go to announce chat of this workspace
Change the setting of "Who can post" to "Admins only"
From user A, verify that not found page appears, and after clicking on the back button, the modal is dismissed
Click on FAB > Assign task
Enter title, description and go to next step
Click on shareSomeWhere
Notice in the list option and verify that the announce report doesn't appear if the permission of it is "Admins only

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Login with user A
On another device, login with user B
From user B, create a workspace and invite user A to the workspcae
From user A, go to announce chat of this workspace
Click on plus icon >  Assign task
Enter title, description and go to next step
From user B, go to announce chat of this workspace
Change the setting of "Who can post" to "Admins only"
From user A, verify that not found page appears, and after clicking on the back button, the modal is dismissed
Click on FAB > Assign task
Enter title, description and go to next step
Click on shareSomeWhere
Notice in the list option and verify that the announce report doesn't appear if the permission of it is "Admins only

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
Screencast from 04-07-2023 17:33:09.webm

Mobile Web - Chrome
https://github.com/Expensify/App/assets/129500732/fba86b1d-5330-4442-87e2-c96c3ec028f8

Mobile Web - Safari
https://github.com/Expensify/App/assets/129500732/e3019c7f-9766-4941-8afb-227ad28b8ac9

Desktop
https://github.com/Expensify/App/assets/129500732/1d948168-079b-4e41-8c8f-50812c7b3e8d

iOS
https://github.com/Expensify/App/assets/129500732/eed96010-f698-4e8d-a5a5-68f2673cf8a9

Android
https://github.com/Expensify/App/assets/129500732/5613ea85-49fe-4050-8d26-ca3996116e78

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/cristipaval in version: 1.3.37-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.37-7 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


throttleImmediate

I'd like to filter my stream to issue update events (rerequesting resources) so I want to debounceImmediate but then just to be sure, issue another update if something changed in the debounce period.
Example:
var throttled = source.throttleImmediate(2)

source:    asdf----asdf----
throttled: a-d-f---a-d-f---

How would you accomplish this currently? With a custom bacon operator?

@raimohanska @semmel any help concerning this would be very appreciated as this has become an urgent issue for me. I seem to be still not familiar enough with reactive programming or I just have some thought block on this.

The current failing test could be trivially solved by filtering duplicates out. But how does that work on more complex event objects?

Resolved urgency of the issue by optimizing input and update processing at the end of the stream. Events are more detailed now.
Still considering to just debounce the eventstream, possibly with a partially random time interval to stagger downloads a bit, what do you think, do you need more information on the usecase?

Maybe this:
Observable.prototype.debounceImmediate = (delay) =>
  this.flatMapFirst(first => B.once(first).concat(B.later(delay).filter(false)))

Might be worth trying?

@raimohanska as you can see in #712, I already tried to create a debounceImmediate variant and borrowed from the tests.
debounceImmediate does not solve the usecase:
Using a high delay, e.g. one Minute, all subsequent Events in the delay will be missed, and the data returned from the "immediate" request, will be outdated.

Oh, you want to include the last event in the batch too. Should have looked at your diagram up there.

How about this: https://codesandbox.io/s/o91z082j5y

Before I saw your PR, I added a shortened version of that sandbox code to my PR #712. It works and covers EventStream tests. Properties still output a duplicate though. @raimohanska can you explain why?
Also the doubleEdgedDebounce of which you forked the sandbox from would suit my needs - why are they so different?
How would you like to land one of these doubleEdged implementations?
The leadingThrottle implementation works for my usecase, but it doesn't skip events as I first intended.


"Usage not a subset." error log spammed 20 times per second. Only happens on certain device.

Version
Media3 1.2.0
More version details
No response
Devices that reproduce the issue
Microtouch M1-215IC-AA2 running Android 13
Devices that do not reproduce the issue
Microtouch IC-215P-AA2 running Android 10
Reproducible in the demo app?
Unknown
Reproduction steps
I'm playing an RTSP stream on this microtouch tablet, and I'm seeing the following error log spammed maybe 25 times per second. Our app streams multiple live RTSP streams, in this case, I have 5 players running onscreen. We haven't seen this error on other devices, so it appears to be specific to either Android 13 or this microtouch. However, there's no stack trace to indicate where it's coming from, and I haven't been able to find this error in the Media3 code base either. The streams all play correctly, but the error log is concerning. Any ideas where this is coming from?
2024-04-29 14:05:39.682  4034-4553  my.package         com.company.my.package              E  Usage not a subset. Buffer usage = 0x100, Descriptor usage = 0x900

Expected result
No error logs, or at least a stack trace or indication of where it's coming from.
Actual result
Lots of error logs
Media
Any RTSP stream, don't know of a free one, sorry.
Bug Report

[X] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

Update: I've determined that this only happens after a player is released and a new player is created. We do this for several reasons, such as when a user enters edit mode. Here's the sequence of events:

Initial page load, players are created and started, no errors.
User enters edit mode, we stop and release existing players. No errors are thrown.
User leaves edit mode, we create new players for the same streams. Tons of error logs appear.

Here's our code for releasing a player:
    internal fun destroy() {
        Timber.d("$TAG: Wrap.destroy: Releasing player. card.id='${cardId}', config.name='${curConfig?.name}', config.url='${curConfig?.urlHostAndPath}'")

        // Remove our listener and stop our retry logic so we don't try to restart while releasing.
        restartJob?.cancel()
        stoppedCheckJob?.cancel()
        player.removeListener(eventsListener)

        try {
            player.stop()
        } catch (e: Exception) {
            Timber.w(e, "$TAG: Wrap.destroy: Error stopping player, maybe it wasn't playing. cardId='${cardId}'")
        }
        try {
            player.release()
        } catch (e: Exception) {
            Timber.e(e, "$TAG: Wrap.destroy: Error releasing player. cardId='${cardId}'")
        }
    }

From what I can tell this is probably just harmless log spam and might be a bug on these devices. The line itself is coming from within the Android platform code, so there is nothing we can do in ExoPlayer to prevent that. Feel free to report it to the device manufacturer as they might be able to do something about it. Closing it otherwise as there is nothing we can do.

Ok, thanks for the information here.


React 16 compatibility

React.createClass was deprecated in React 15, and removed entirely in React 16, which was released yesterday.
Using ES6 classes is the preferred method of creating components.
We are using this fork in production with React 16 without issues.
See: https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#migrating-from-react.createclass

Awesome!

Damn. was working on this all morning as well.

Your PR is identical to my changes.  My biggest issue is that I've got a lot of apps in React 14 that I've been struggling to update.  Would love verification that the above change works, and will deploy one of our copies.

It looks like ES6 classes have been supported since React v0.13: https://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html#plain-javascript-classes
I don't have a codebase with an older version of React to test against; could you give this a shot with one of your apps and see how it goes? I don't believe the public API for components has changed.

I've validated the approach against a React 14 app; got lost the last hour trying to sort out updating redux routers, react routers, and all the other stuff that broke when updating to React 16.  You tell me the above is working for you in React 16 applications, and I'll publish it.

Yep -- we haven't hit any issues using this fork with React 16.

Trying to merge with an incremented version number; hopefully it still attributes the changes to you when this is complete.

Available as layer-ui-web v1.0.6 on npm and CDN


Two lines truncation bug

Hello! First of all, thanks for awesome component!
And here is a demo of the bug: https://codesandbox.io/s/2zk3z45kqj.

Could you suggest some workaround?

The issue is caused by using blocks inside the TruncateMarkup component

Marcelya Salimzhanova street, 40, Kazan

metro Gabdulla Tukaya Square, Center

Ideally you would not use blocks because if you specify that you want 2 lines like in your example, if the first div breaks into 2 lines, in the best case you'll end up with what your image shows (but ending with Kazan... - missing n - that might be fixable, will need to check as to how easy that would be) - because the second div would be on the 3rd line.
So ideally you would use inline elements - what is your use case for using blocks? What would be your expected result for the image above?

Thanks for quick reply!
My case is simple. I need line break between address and metro by design :-)

Does it make sense to truncate both lines separately then?

  <TruncateMarkup lines={1}>

Marcelya Salimzhanova street, 40, Kazan

  </TruncateMarkup>
  <TruncateMarkup lines={1}>

metro Gabdulla Tukaya Square, Center

  </TruncateMarkup>

Because otherwise with
<TruncateMarkup lines={2}>

Marcelya Salimzhanova street, 40, Kazan

metro Gabdulla Tukaya Square, Center

</TruncateMarkup>

you are risking that when the first line needs to be broken into 2 lines, you are not going to show the metro part at all
But it would help to know what your expected result for https://codesandbox.io/s/2zk3z45kqj is :)

BTW, to trim a single line you need to use the css-only solutions ;-)

Hello!
Have same problem with react-truncate-markup v 4.0.0 and custom ellipsis
Example https://codesandbox.io/s/p2r01nr897
Look's like ellipsis width not counted in truncated text size

Hey @SuperOleg39, I see 2 issues there:
1 - lines={4} but it only displays 2 - that's because there is margin specified on p elements. So a single line in p (with 1em margin top and bottom) already takes as much space as 3 lines would normally take. If you set margin: 0; on p elements, you get 4 lines rendered.
I don't see any way to fix this so it works fine with paddings and margins on the inside elements. The current strategy is to calculate a single line height and the wrapper's height in pixels, and divide the wrapper's height by the single line height - this gives us an estimate of how many lines were rendered. We then compare this number to the number specified in the lines props. So if the wrapper's height is 80px and a single line height is 20px, we can fit 4 lines. but if there is margin/padding on any inside element set to 20px both top and bottom, it already takes as much space as 3 lines (20px margin top, 20px single line, 20px margin bottom).
So my recommendation is to either not use padding/margin on inside elements, or to bump up the lines prop value to accommodate the extra space needed by the padding/margin.
If I remove the margin on p elements in your example, this is what I get https://cl.ly/807c658fa97b - 4 lines rendered as requested.
2 - the ellipsis is rendered on a new line - I'll need to spend some time debugging this, will update you once I have more info

Hey @SuperOleg39, I see 2 issues there:
1 - lines={4} but it only displays 2 - that's because there is margin specified on p elements. So a single line in p (with 1em margin top and bottom) already takes as much space as 3 lines would normally take. If you set margin: 0; on p elements, you get 4 lines rendered.
I don't see any way to fix this so it works fine with paddings and margins on the inside elements. The current strategy is to calculate a single line height and the wrapper's height in pixels, and divide the wrapper's height by the single line height - this gives us an estimate of how many lines were rendered. We then compare this number to the number specified in the lines props. So if the wrapper's height is 80px and a single line height is 20px, we can fit 4 lines. but if there is margin/padding on any inside element set to 20px both top and bottom, it already takes as much space as 3 lines (20px margin top, 20px single line, 20px margin bottom).
So my recommendation is to either not use padding/margin on inside elements, or to bump up the lines prop value to accommodate the extra space needed by the padding/margin.
If I remove the margin on p elements in your example, this is what I get https://cl.ly/807c658fa97b - 4 lines rendered as requested.
2 - the ellipsis is rendered on a new line - I'll need to spend some time debugging this, will update you once I have more info

Hey @SuperOleg39, I see 2 issues there:
1 - lines={4} but it only displays 2 - that's because there is margin specified on p elements. So a single line in p (with 1em margin top and bottom) already takes as much space as 3 lines would normally take. If you set margin: 0; on p elements, you get 4 lines rendered.
I don't see any way to fix this so it works fine with paddings and margins on the inside elements. The current strategy is to calculate a single line height and the wrapper's height in pixels, and divide the wrapper's height by the single line height - this gives us an estimate of how many lines were rendered. We then compare this number to the number specified in the lines props. So if the wrapper's height is 80px and a single line height is 20px, we can fit 4 lines. but if there is margin/padding on any inside element set to 20px both top and bottom, it already takes as much space as 3 lines (20px margin top, 20px single line, 20px margin bottom).
So my recommendation is to either not use padding/margin on inside elements, or to bump up the lines prop value to accommodate the extra space needed by the padding/margin.
If I remove the margin on p elements in your example, this is what I get https://cl.ly/807c658fa97b - 4 lines rendered as requested.
2 - the ellipsis is rendered on a new line - I'll need to spend some time debugging this, will update you once I have more info

Thx for fast answer!

2 - the ellipsis is rendered on a new line - I'll need to spend some time debugging this, will update you once I have more info

I had a similar issue. The short answer is that 2 lines don't fit, but 1 line + line of ellipses do.
In the sandbox example ( https://codesandbox.io/s/p2r01nr897 ) :

line height inside
: 18px
4 lines expected height: 72px

 with margin: 50px
ellipses line height: 19px

1 line with
 + line of ellipses:  50 + 19 = 69px
69 < 72
2 lines with
: 100px
100 > 72

Ah, thanks @stropho! so it's the same source then

I am using react-truncate-markup v 4.1.0, the ellipsis is rendered on a new line in same example https://codesandbox.io/s/p2r01nr897 even if i remove margin applied to paragraph tag
It works fine if i remove the paragraph tag else it wont display text in last line


[EASY REVIEW] Update secrets fixtures

No more policies.
According to this spec

Reviewer: @mlunoe

I like how you are branding your PRs to get faster reviews! 👍
Looks good: ⛵


Depth and color not well registered on Kinect v2

Hello,
I have just built the kinect2 branch and ran NiViewer using a Kinect v2 on Windows 10 64 bits. I enabled color-depth registration from the preset "transparent depth over color" and could see that the color and depth does not match correctly. The aspect ratio of the depth overlay is not right. Could anybody reproduce this issue or am I missing something? I actually started noticing this problem while working with the OpenNI2 device grabber provided with PCL and trying to understand a similar color-depth registration issue.
I have tried to debug the code on my own to find out but without any luck for the moment.
BTW, not directly related but I also had to increase a bit the Sleep delay in the kinect driver to actually get my kinect v2 detected. In my case, I have set 2 seconds.

Hi Stephane,
When I wrote that driver, and implemented depth-to-image registration, I
didn't make the depth frames to be the same resolution/aspect ratio as the
color frames. Normalized pixel coordinates of both images will match, but
the original resolution of the depth frame is preserved to satisfy the
videomode setting.
If you want to find what color pixel corresponds to a depth pixel, you just
have to: color_x = color_width * depth_x / depth_width
For the y coordinate it'll be symmetric.
Hope that helps.
Miguel.
On Mon, Jul 11, 2016 at 11:33 PM, Stéphane Saffré<EMAIL_ADDRESS>wrote:

Hello,
I have just built the kinect2 branch and ran NiViewer using a Kinect v2 on
Windows 10 64 bits. I enabled color-depth registration from the preset
"transparent depth over color" and could see that the color and depth does
not match correctly. The aspect ratio of the depth overlay is not right.
Could anybody reproduce this issue or am I missing something? I actually
started noticing this problem while working with the OpenNI2 device grabber
provided with PCL and trying to understand a similar color-depth
registration issue.
I have tried to debug the code on my own to find out but without any luck
for the moment.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/occipital/OpenNI2/issues/90, or mute the thread
https://github.com/notifications/unsubscribe/AFXXapyGubyHrPp89zltA6I-49h5U2M9ks5qUraRgaJpZM4JJzdK
.

Hi Miguel,
Thank you for your quick feedback. I see, I'll look further into PCL implementation with this information in mind. Does this mean, NiViewer should also take this into account to display color with depth overlay correctly?

I guess so. With Kinect 1 both streams had the same aspect ratio, so maybe
nobody considered this before.
Miguel.
On Wed, Jul 13, 2016 at 11:45 AM, Stéphane Saffré<EMAIL_ADDRESS>wrote:

Hi Miguel,
Thank you for your quick feedback. I see, I'll look further into PCL
implementation with this information in mind. Does this mean, NiViewer
should also take this into account to display color with depth overlay
correctly?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/occipital/OpenNI2/issues/90#issuecomment-232308306,
or mute the thread
https://github.com/notifications/unsubscribe/AFXXap2XWB6b4C398_8XXgmXRG0oB0aBks5qVLPBgaJpZM4JJzdK
.

@dletozeun were you able to move forward?
-jim


perl 5.32.0

Checklist

[x] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

License is not an SPDX identifier (or a custom LicenseRef) nor an SPDX license expression.

Documentation on acceptable licenses can be found here.

@conda-forge-admin, please rerender

I bumped the build number to 1000. I heard something it will have some effect on compilers.   Or should it be reset to actual 0?

Also, regarding the license, the Copying file which comes in https://www.cpan.org/src/5.0/perl-5.32.0.tar.gz is GNU-GPL. I guess the license here should be updated.
Regarding the Windows builds, this is the latest one at the moment: http://strawberryperl.com/download/<IP_ADDRESS>/strawberry-perl-<IP_ADDRESS>-64bit.msi. Worth skipping for now?

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge/perl, this is ready now

@conda-forge/core, this is ready for review. I'm adding myself as a maintainer.

Do we want to tell the bioconda folks?

cc @conda-forge/bioconda-recipes

ping on this

Thanks @isuruf for taking care of this PR.