Enh/dimensionality tests

Pull request type
Please check the type of change your PR introduces:

[x] Code base additions (bugfix, features)
[ ] Code maintenance (refactoring, formatting, renaming, tests)
[ ] ReadMe, Docs and GitHub maintenance
[ ] Other (please describe):

Pull request checklist
Please check if your PR fulfills the following requirements, depending on the type of PR:

ReadMe, Docs and GitHub maintenance:

[ ] Spelling has been verified
[ ] Code docs are working correctly

Code base maintenance (refactoring, formatting, renaming):

[ ] Docs have been reviewed and added / updated if needed
[ ] Lint (black rocketpy) has passed locally and any fixes were made
[ ] All tests (pytest --runslow) have passed locally

Code base additions (for bug fixes / features):

[x] Tests for the changes have been added
[ ] Docs have been reviewed and added / updated if needed
[ ] Lint (black rocketpy) has passed locally and any fixes were made
[ ] All tests (pytest --runslow) have passed locally

What is the new behavior?

Added dimension tests for the Rocket class

@Gui-FernandesBR I think we should wait a little, I'm working on something regarding that comment

@giovaniceotto Could you take a look again, please?


Add bower support

Done. I've also released a new version (v0.4.0) with some improvements. Thanks @diosney


Typo in the power plug sensor

Fixes a small typo referencing the power plug off state.

Good catch, thanks for the PR. I'm not sure why the test is failing. I'll look into it to see if anything changed with Home Assistant recently.

Ok I found the problem. Some of the imports for unit tests need to change. There's no problem with your contribution.


Fallback Containers and Optional Injectables

It looks like you guys decided to make it so 'optional' contexts will not fall back to 'parent' containers should they fail to find an appropriate binding in the base container. Is there any reason you decided to go that way?
I'm working on some experimental code using Zenject and it seems to me like it would be far more helpful if DiContainers searched fallbacks for optional bindings the same as they do for mandatory ones (simply returning null if no bindings are found therein).

Yes, I agree that it should work that way
The way nested containers work in Zenject still needs some improvement and best practices/etc. still need to be worked out.  Right now, a parent container is treated as a 'fallback'.  I think this is great for single dependencies to allow you to override a binding from a higher-level container in a lower-level container, but for list dependencies I don't think this really makes sense.
Right now, when a dependency of type List<Foo> is marked as optional, and there are no Foo's bound to the container, then an empty list is injected.  If there are Foo's bound to a parent container, they will not be added to the list.  It will only look up lists in the parent if the list is not marked as optional and there are no matches in the current container.
However, as I said I think it would be better if lists just always collected all dependencies from the current container and parents.  This way the concept is much more intuitive and you can think of as the nested containers "inheriting" all bindings from their parents rather than using their parent as a "fallback".
There are some changes I need to make to make this happen - in particular, the way the global composition root stuff works.  I will leave this item open until I am able to address it.
Side note:  Having proper support for nested containers would also mean I can get rid of the concept of "Bind Scope" since we can just have a CreateNestedContainer() method and use that instead.  It would also make the DiContainer more thread-safe and just overall be much cleaner

The way I use Zenject is bottom-up rather than top-down; so rather than using its provided Unity components, instantiators etc, any of my scripts that require DI must call an 'InjectFields' extension method that then accesses a static factory responsible for providing the DiContainer. (This way I can use Zenject purely through code without having to configure my unity scene objects in any particular way.)
What I've been up to lately involves having this static factory first check through the injectable script's parent hierarchy for anything pointing to a special 'override' DiContainer and, if so, injecting via that thing first (THEN the default one as a fallback). It works fairly well, though it's tedious to automatically/invisibly set up the default one as a fallback.
What might be most helpful for me is if you used nested InjectContexts (or something similar) to build DiContainer hierarchies dynamically at injection time. (Perhaps in addition to nested DiContainers?) That would give me maximum flexibility in terms of how I want to handle the task of deciding which containers to check and in what order.

Your approach makes me wonder how you can have multiple different bindings/installers for different scenes?  Or perhaps you don't require that for your particular problem.
InjectContexts are nested already (they have a parent InjectContext).  This allows for very complex binding conditions that can depend on parent or grandparent identifiers, etc.
But I'm not sure how that would apply to your problem.  Can you elaborate on how you imagine that working?

My last project did a bunch of crazy additive loading/unloading to achieve a big continuous world (that also ran on mobile); we ended up with about 80 scenes in total, most with extremely homogeneous requirements. I implemented Zenject 2/3rds through the project and didn't want to refactor all the existing work; fortunately it turned out that we only needed one set of bindings/installers for everything, so a static factory pattern worked well enough! (But if I DID need different ones per scene, I could always do so by having my factory check which scene we're currently in and serve a different container based on that.) The nice thing about it was that my scenes remained completely agnostic to the DI solution, but of course there were quite a few downsides as well.
As I understand it, InjectContexts are not currently designed for use in the way I'm thinking. What I mean to suggest is having methods like:
public object Resolve(InjectContext context, params DiContainer[] extraFallbacks = null) ...
Permitting you to build dynamic DiContainer hierarchies on a per-injection basis rather than arranging DiContainers into explicit parent/child relationships. Currently I am accomplishing this task using a custom ProviderBase that indirects into a list of DiContainerProviders. It looks essentially like this:
public static T DynamicResolve<T>(this MonoBehaviour m, DiContainer overrideContainer) {
    var context = new InjectionContext(overrideContainer, typeof(T), null, false, typeof(MonoBehaviour), m);

    var dynamicContainer = new DiContainer();
    dynamicContainer.fallback = new ZenjectFallbackProvider(StaticallyGetDefaultContainer(), overrideContainer);
   return  dynamicContainer.Resolve(context);
}

public class ZenjectFallbackProvider : ProviderBase
	{
		ProviderBase Provider;
		ProviderBase Fallback;

		public ZenjectFallbackProvider(ProviderBase fallback, ProviderBase provider)
		{
			Fallback = fallback;
			Provider = provider;
		}

		public override Type GetInstanceType()
		{
			return null;
		}

		public override object GetInstance(InjectContext c)
		{
			var result = Provider.GetInstance(new InjectContext(c.Container, c.MemberType, c.Identifier, true, c.ObjectType, c.ObjectInstance));

			if(result == null) {
				result = Fallback.GetInstance(c);
			}

			return result;
		}

		public override IEnumerable<ZenjectResolveException> ValidateBinding(InjectContext context)
		{
			return Enumerable.Empty<ZenjectResolveException>();
		}
	}

I do this so I can loosely-couple whatever override containers my scripts want to create from the default container provided by my static factory (the former should not have to manually assign the latter as a fallback IMO). It's all pretty hinky though.

I finally added proper support for sub-containers.
I haven't merged this yet but if you're interested you can check it out on the develop branch.

Looking good! This project always picks the coolest design patterns :D


08af9e8d-4486-458d-8ccc-d194884021ab

this is for automated testing

c4424135-0b56-4273-9269-51fc3388835b


Update certificate-rotation-on-prem.md

Fix the formatting of the SF 7.0-7.1 warning at the start of the article

:x: Organization membership check failed
Members of the MicrosoftDocs organization should use the private repo. Please move your changes to https://github.com/MicrosoftDocs/Dynamics-365-Operations, and close this pull request.


Make function Size::new const for bevy_ui widgets

Objective
Fixes #6594
Solution

New function for Size is now a const function :)

Changelog

New function for Size is now a const function

Migration Guide

Nothing has been changed

bors r+


[Bug]: 404 error at URL: /txns/ICSRph6g5elC8fsqq8PcoVNut8M7TtbvnTOBxKBBNSU

What happened?
A bug happened!
when you start a new hotspot, during the registration. The transaction fail.
URL
Heliumexplorer
What browsers are you seeing the problem on?
Safari
Do you see the issue on Mobile or Desktop?
Mobile
Relevant log output
No response

hi @CamiloAgc can you confirm which app you set the location from? Is it from the MNTD app? this is the error i'm seeing from the API side. the transaction failed because of a bad signature from MNTD:
"updated_at": "2023-01-06T08:55:17.634578Z",
"type": "assert_location_v2",
"txn": {
"type": "assert_location_v2",
"staking_fee": 1000000,
"payer": "14h2zf1gEr9NmvDb2U53qucLN2jLrKU1ECBoxGnSnQ6tiT6V2kM",
"owner": "13poi1LkHXoYPoShvR1VeANXUh7pEbAjXakJSSoCWgNfDFuP7sW",
"nonce": 1,
"location": "8cbe6341492c9ff",
"hash": "ICSRph6g5elC8fsqq8PcoVNut8M7TtbvnTOBxKBBNSU",
"gateway": "11VQ2gv42pDiYuP77AgF7vYw3xjhoRebFJhyTyNxRzac7e7DoRJ",
"gain": 28,
"fee": 55000,
"elevation": 3
},
"status": "failed",
"hash": "ICSRph6g5elC8fsqq8PcoVNut8M7TtbvnTOBxKBBNSU",
"failed_reason": "{invalid,bad_payer_signature}",
"created_at": "2023-01-06T08:54:51.400574Z"
}```

Yea is a MNTD app in the iOS system
El El sáb, 7 ene 2023 a las 9:01 a. m., Coco Tang @.***>
escribió:

hi @CamiloAgc https://github.com/CamiloAgc can you confirm which app
you set the location from? Is it from the MNTD app? this is the error i'm
seeing from the API side. the transaction failed because of a bad signature
from MNTD:
"updated_at": "2023-01-06T08:55:17.634578Z",
"type": "assert_location_v2",
"txn": {
"type": "assert_location_v2",
"staking_fee": 1000000,
"payer": "14h2zf1gEr9NmvDb2U53qucLN2jLrKU1ECBoxGnSnQ6tiT6V2kM",
"owner": "13poi1LkHXoYPoShvR1VeANXUh7pEbAjXakJSSoCWgNfDFuP7sW",
"nonce": 1,
"location": "8cbe6341492c9ff",
"hash": "ICSRph6g5elC8fsqq8PcoVNut8M7TtbvnTOBxKBBNSU",
"gateway": "11VQ2gv42pDiYuP77AgF7vYw3xjhoRebFJhyTyNxRzac7e7DoRJ",
"gain": 28,
"fee": 55000,
"elevation": 3
},
"status": "failed",
"hash": "ICSRph6g5elC8fsqq8PcoVNut8M7TtbvnTOBxKBBNSU",
"failed_reason": "{invalid,bad_payer_signature}",
"created_at": "2023-01-06T08:54:51.400574Z"
}```
—
Reply to this email directly, view it on GitHub
https://github.com/helium/explorer/issues/1096#issuecomment-1374184411,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A3ZK6XUBGPRO4WS4BNFL3GLWRCI2NANCNFSM6AAAAAATTOOEL4
.
You are receiving this because you were mentioned.Message ID:
@.***>


just a little cleanup

I didn't run a linter on it i just caught a few things that should be cleaned up.

:+1: Thanks!


feat: display the socket path during migration

In this update, I've modified the migrate tool to display the socket path if it configured in the database connection. The problem that this solves is, for organizations like mine that use Google's Cloud SQL, our connection strings always include localhost:3306 and that actually does not indicate the true target database. Using Google cloud-sql-proxy, a unix socket is created to facilitate encrypted traffic to the database with Google IAM integration. This socket is named after the database you are connected to (e.g. orgname:us-west2:db-instance-name). In our adoption of Prisma, we've actually had accidents occur where someone runs a migration against a cloud environment thinking they are doing it locally since the socket name is not advertised.
An assumption I made in this PR is that any time a socket is supplied in the URL, it is the key indicator of the target database and completely takes over for host:port as the displayed identifier.
I would have liked to update the underlying prisma client connection messaging as well because database errors uninformatively indicate a connection failure to localhost:3306 and omit the socket name which is more important when debugging connectivity issues. I wasn't able to easily track down where this code lives and I was afraid of the widespread use of this. Truthfully, I'm way more worried about incorrectly applying migrations or performing database resets then debugging the Prisma client at runtime.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

That sounds pretty useful. Can you share an (of course anonymized) example of what such a connection string effectively looks like?
What "underlying prisma client connection messaging" do you mean? Most probably it comes from the Prisma engines (query and schema engine) with their codebases at https://github.com/prisma/prisma-engines.

@janpio Here's an anonymized output from me running the CLI after my changes are applied.
node ./packages/cli/build/index.js migrate dev
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "my-db-name" at "unix:/Users/my-username/.cloudsql/my-project-name:us-west1:my-instance-name"

Error: P1017: Server has closed the connection.

The "underlying prisma client connection messaging" I meant is the error messaging that occurs if a database connection cannot be established. If we ever have problems with Prisma connecting to the database from Google Cloud Run we see error messages like "unable to connect to database at localhost:3306. If these error messages included the socket name (when appropriate) it could mean easier debugging for us. Maybe, for instance, we configured the incorrect cloud sql mount. It makes sense that I couldn't find it given that it's in the other repository 😅 .

So localhost:3306 becomes unix:/Users/my-username/.cloudsql/my-project-name:us-west1:my-instance-name, where unix: is hardcoded and /Users/my-username/.cloudsql/my-project-name:us-west1:my-instance-name is what was provided via the query string paramter socket. That should be the necessary information to transfer the same over to prisma-engines.

Yep, that's right.
I'm happy to make the same code changes to prisma-engines if you think that's necessary here. I'm not exactly an expert in Rust. My skill level is moderate, though. I've written a handful of small apps.

Not necessary, but the right thing for consistency - as you raised yourself about the error message,, that would otherwise be misleading.

Also, no changes should be needed in engines :)
We already use the socket path for errors from there, e.g.
❯ npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": CockroachDB database "crdb", schema "public" at "localhost"

Error: P1001: Can't reach database server at `/tmp:5432`

Please make sure your database server is running at `/tmp:5432`.

I find it curious that you mention running into:
"""
we see error messages like "unable to connect to database at localhost:3306"
"""
Do you have a specific PXYZ error code for this?

Ah, it seems we don't detect this properly for mysql in engines
DATABASE_URL="mysql://root:prisma@localhost:3309/database?socket=/path/to/sock.sock"
❯ npx prisma migrate dev
Environment variables loaded from .env
Prisma schema loaded from prisma/schema.prisma
Datasource "db": MySQL database "database" at "localhost:3309"

Error: P1001: Can't reach database server at `localhost:3309`

Please make sure your database server is running at `localhost:3309`

@Druue thanks for the update in the prisma engines for MySQL! I'm indeed using MySQL (migrating to cockroach actually).
All your comments have been addressed. I appreciate your attention to the PR!


Working tests

Added testing and fixed  issues in the workflow along the way. Should be smoother now.

@nf-core-bot fix linting pretty please


beforeValidate: triggered after validation

Link to reproduction
No response
Describe the Bug
Hi all,
I have a reusable handle/slug field with the following properties:
import { Field } from 'payload/types'
import { defu } from 'defu'
import { createHandle } from '../hooks/createHandle'

type Handle = (
  options?: {
    targetField?: string,
    overrides?: Record<string, unknown>,
  }
) => Field

export const handleField: Handle = ({
  targetField = 'title',
  overrides = {},
} = {}) => {
  const fieldDefaults: Field = {
    name: 'handle',
    label: 'Handle',
    type: 'text',
    unique: true,
    required: true,
    admin: {
      position: 'sidebar',
    },
    hooks: {
      beforeValidate: [
        createHandle(targetField),
      ],
    },
  };

  return defu(overrides, fieldDefaults) as Field;
}

As you can see, I am utilising the beforeValidate hook to automatically populate my handle field.
While working with collections and creating new items, I omit the handle field, expecting it to be auto-populated using the defined field. However, validation kicks in beforehand, preventing me from creating a new item at all.

To Reproduce
Handle:
import { Field } from 'payload/types'
import { defu } from 'defu'
import { createHandle } from '../hooks/createHandle'

type Handle = (
  options?: {
    targetField?: string,
    overrides?: Record<string, unknown>,
  }
) => Field

export const handleField: Handle = ({
  targetField = 'title',
  overrides = {},
} = {}) => {
  const fieldDefaults: Field = {
    name: 'handle',
    label: 'Handle',
    type: 'text',
    unique: true,
    required: true,
    admin: {
      position: 'sidebar',
    },
    hooks: {
      beforeValidate: [
        createHandle(targetField),
      ],
    },
  };

  return defu(overrides, fieldDefaults) as Field;
}

createHandle:
import { FieldHook } from 'payload/types'

const format = (val: string): string => val.replace(/ /g, '-').replace(/[^\w-]+/g, '').toLowerCase()

export const createHandle = (fallback: string): FieldHook => ({ operation, value, originalDoc, data }) => {
  if (typeof value === 'string') {
    return format(value)
  }

  if (operation === 'create') {
    const fallbackData = (data && data[fallback]) || (originalDoc && originalDoc[fallback])

    if (fallbackData && typeof fallbackData === 'string') {
      return format(fallbackData)
    }
  }

  return value
}

Collection:
import { CollectionConfig } from 'payload/types'
import { handleField } from '../fields/handle'

const ProductCategories: CollectionConfig = {
  slug: 'product-categories',
  admin: {
    useAsTitle: 'name',
  },
  fields: [
    {
      name: 'name',
      type: 'text',
      required: true,
      index: true,
    },
    handleField({
      targetField: 'name',
    }),
  ]
}

export default ProductCategories

Payload Version
2.6.0
Adapters and Plugins
db-postgress, bundler-vite

@AlessioGr how come missing reproduction our there's whole section how to reproduce? Or is that for the actual repo?

Subscribed since i have the same issue:
`const slug: Field = {
name: "slug",
label: "Page Slug",
type: "text",
index: true,
unique: true,
localized: true,
admin: {
position: "sidebar",
},
hooks: {
beforeValidate: [formatSlug("title")],
},
validate: (value) => {
if (!value || value.length < 1) {
return "Cannot be empty";
}
    return true;
},

};`
because of this the beforeValidate is not executed because beforeValidate is executed after validate. Or am i missing something and is this the intention?

Just reproduced the same issue locally - payload v2.9.0.
It seems that beforeValidate hook is executed after validate function call.
Checked some official template examples with the usage of slugs like https://github.com/payloadcms/payload/blob/8104fac5ed3f35595c607cc32d5fb2af5609ca60/templates/website/src/payload/collections/Posts/index.ts#L155 and couldn't find validations applied to the same field and this is crucial for reproduction of the issue.
Adding validation rule required: true to the field or the validate function behaves the same - it's triggered before the hook beforeValidate.
@AlessioGr  Any suggestion about reproduction steps that should be attached so we can remove the label missing-reproduction?

I am running into the same Issue

Subscribed since i have the same issue:
const slug: Field = {
    name: "slug",
    label: "Page Slug",
    type: "text",
    index: true,
    unique: true,
    localized: true,
    admin: {
        position: "sidebar",
    },
    hooks: {
        beforeValidate: [formatSlug("title")],
    },
    validate: (value) => {
        if (!value || value.length < 1) {
            return "Cannot be empty";
        }

        return true;
    },
};

because of this the beforeValidate is not executed because beforeValidate is executed after validate. Or am i missing something and is this the intention?

@paul-pg you can do this in your validation function:
validate: (value) => {
  // skip validation in browser
  if (typeof window === 'undefined') return true
  if (!value || value.length < 1) {
     return "Cannot be empty";
   }
   return true;
 },

Your suggestion is clear, and I'll give it a try tonight. I only have one remark regarding required: true, the main reason for adding it (in my case) was to ensure the correct type generation, as otherwise, it would be generated as potentially nullable where I am expecting it to be always present, even if automatically generated.


Skip empty partitions when doing groupby.value_counts

[x] Tests added / passed
[x] Passes black dask / flake8 dask
[x] Closes #7065

@jrbourbeau this can probably get in, but no biggie if not.

@jrbourbeau this can probably get in, but no biggie if not.


fix(hdb): Allow streaming blob in and out over the same connection

Currently it is possible to have draft operations hang when using the hdb driver. As the draft logic will stream blob values in/out of the database over the same connection. When using the hdb driver the insert statement is claiming the connection and all readLob requests are queued until the insert statement finishes. It will never finish as the contents of the blob have to be send as part of the insert statement.
This PR avoids this issue by opening a blob streaming specific connection. That is used when the query could potentially return blobs that will be read after the result has been returned. Allowing the insert statement to fully stream the blob contents.
This issue doesn't happen when using hana-client as the insert statement directly returns before sending the data. Allowing hana-client to send readLob and writeLob requests over the same connection.

@BobdenOs can we also try to fix this in HDB? Because with this solution we would have for lobs always two database connections. What do you think?

@soccermax the way hdb has setup its connection queue makes it a fundamental part of the library. It might be possible to have the insert return early just like hana-client, but I was not able to pinpoint where to do this. So rather then putting to much time into investigating that option. I wanted to have a possible solution first.


Feature request: add InvalidPatch and PatchApplyError classes to TypeScript export

Currently InvalidPatch and PatchApplyError are being exported as interfaces, i.e. static only.
Classes are useful at runtime for distinguishing between errors.
Workaround:
import { apply_patch, InvalidPatch, PatchApplyError } from 'jsonpatch';

declare module 'jsonpatch' {
  export class InvalidPatch extends Error {}
  export class PatchApplyError extends Error {}
}

try {
  apply_patch(document, patch);
}
catch (e: unknown) {
  if (e instanceof InvalidPatch) {
    console.error('Invalid patch format');
  }
}

I also need this.

I made a PR for this: https://github.com/dharmafly/jsonpatch.js/issues/41


Replace magic numbers with named state constants

I think I've gotten the numbers right, but please take a second look just to be sure everything is correct.

Alright, that should be all of them now


Synapse charm review PR: Fix documentation

This issue should address comments regarding documentation only.

https://github.com/canonical/synapse-operator/pull/43#discussion_r1332673366

https://github.com/canonical/synapse-operator/pull/43#discussion_r1342325120

@amandahla What is the status here, please?

The charm has changed a lot since this was opened. Closing as it’s no longer relevant.


confusing post install method

adding run scripts via command is a bit confusing
node node_modules/sync-stat/index -m install

auto post install ?

Post Installation is now removed


[duplicate of #5200]: The complete roadmap to blockchain development

This closes #5056

@mbaabuones this is the requested change. And a point of concern is that I am not a first-time contributor. Please do due diligence on your side to find out, please.

@mbaabuones this is the requested change. And a point of concern is that I am not a first-time contributor. Please do due diligence on your side to find out, please.

Thank you for opening another PR. I have just confirmed that you are not a first-time contributor. It was a mix-up from my end. Sorry about that.

@mbaabuones this is the requested change. And a point of concern is that I am not a first-time contributor. Please do due diligence on your side to find out, please.

Thank you for opening another PR. I have just confirmed that you are not a first-time contributor. It was a mix-up from my end. I apologize for that.

@KanizoRGB This article is very informative and easy to understand. However, it still needs some changes before getting published. Please take time to work on the suggested changes. Avoid using the term 'etc'. You have used it extensively in your article. When you finish revising the article, go through it again to ensure there are no typos or grammatical errors. Ping me when you are done.

@mbaabuones consider it done now.

@mbaabuones consider it done now.

Going forward, you can make changes on you forked repository and then commit after finishing all the changes (in a single commit). This will avoid having several commits in one PR.

Great

@mbaabuones why is this taking too long to complete?

@mbaabuones why is this taking too long to complete?

@KanizoRGB There are so many PRs right now. The older PRs are getting reviewed and published first. Your article needs plagiarism check before moving to the next step. Please be patient.

@mbaabuones jumping on a plagiarism check now - please be sure to ping us via slack for these long wait times.
cc @section-engineering-education/content-moderator-team

@KanizoRGB
Looks good - found some sentences that may be wise to look over
[duplicate of #5200] The complete roadmap to blockchain development #5221.pdf

@mbaabuones
PS: we could check for any (quick glance through) glaring grammatical errors before a plagiarism check - no need to perform another check if the article is not up to par and will be closed. 👍

plagiarism check done

@mbaabuones can we get a status on this PR?

Author pinged via slack as well.

@mbaabuones can we get a status on this PR?

@hectorkambow This article is ready for final review

jumping on this one

@KanizoRGB
FYI this counts as an article 👍


do not ignore subsets in soft sticky sessions

piggybacking off of https://github.com/istio/istio/pull/6742.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: utako
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: ostromart
Assign the PR to them by writing /assign @ostromart in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/pkg/networking/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

merging as this is a bug fix to the soft session affinity code that went in earlier. Need to respect subsets in destination rule properly.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: utako
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: myidpt
Assign the PR to them by writing /assign @myidpt in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@utako: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
fba6a100b252bdd522daf830c6dd739385bd1c1a
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: utako
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: rshriram
Assign the PR to them by writing /assign @rshriram in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/pkg/networking/OWNERS
vendor/istio.io/api/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: utako
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: myidpt
Assign the PR to them by writing /assign @myidpt in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@utako: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@utako: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test istio-unit-tests

prow/e2e-bookInfoTests-v1alpha3.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@utako: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test e2e-bookInfo-envoyv2-v1alpha3

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@utako: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test e2e-bookInfo-envoyv2-v1alpha3

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
b87e946e15b14957190413f928840b66ebabe984
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


1862 add travis ci migration table

Why:

Closes [issue link]
What's being changed:

Check off the following:

[x] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[x] For content changes, I have reviewed the localization checklist
[x] For content changes, I have reviewed the Content style guide for GitHub Docs.

1862-Add-Travis-CI-migration-table

1862-Add-Travis-CI-migration-table


Fix envvar-arg mapping when spaces are in value.

The environment variable to ES option mapping in es-docker does not
work correctly when an option value contains whitespace.  This commit
changes the assembly of options to use an array instead of a string, and
then uses a proper all-array-items-to-words expansion at the end so
things like quoting don't need to be worried about.
ref #53

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@kainz Can you share what key you were passing a value containing a space that the current approach failed on (and the value too, if you can)?

@jasontedor if you were unwise enough to use whitespace in cluster.name specified via commandline, you could trigger this easily.

Got it, thanks. I feared it was something like that. We should have been rejecting that in Elasticsearch and maybe we still should in some future major version.
That doesn't negate the need for your change, we still have to do something today but I hope we have less settings that allow this in the future exactly because of these sorts of problems.
Thanks for the PR and sorry that you had trouble because of this.

We will revisit the unified way (across products) of specific env vars for 6.0.0, so closing this at the moment, I've already merged the original PR https://github.com/elastic/elasticsearch-docker/pull/53, thank you!


Possible to make this setup and running at Google Colab?

Hi, thanks for making this great model!
With the recent meme "dame da ne" using deep fake to create face swap video, and someone set it up on Google Colab to make it easy to use for people like who have little to no coding experience. I wonder is possible for FALdetector to achieve the same thing?

It is very easy to install and use on colab.
Step by step:
1: open new notebook and set runtime is GPU

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

I dont know how to save result too. I think we can change the code, but i dont know.

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

Hi, can you share the link to your colab model?
I have trouble install the valset to the colab, plus there is no point to reinvent the wheel.

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

Hi, can you share the link to your colab model?
I have trouble install the valset to the colab, plus there is no point to reinvent the wheel.

What wrong with you guys?
Can you explain more?

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

Hi, can you share the link to your colab model?
I have trouble install the valset to the colab, plus there is no point to reinvent the wheel.

What wrong with you guys?
Can you explain more?

https://colab.research.google.com/drive/1qbZ53V3Lzwe5f_nRRJi2LaXXCV_Iw1Ij?usp=sharing
Idk where did I do wrong, but it keep showing invalid syntax, after like 2 hr of trial and error this is where I gave up last time...

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

Hi, can you share the link to your colab model?
I have trouble install the valset to the colab, plus there is no point to reinvent the wheel.

What wrong with you guys?
Can you explain more?

https://colab.research.google.com/drive/1qbZ53V3Lzwe5f_nRRJi2LaXXCV_Iw1Ij?usp=sharing
Idk where did I do wrong, but it keep showing invalid syntax, after like 2 hr of trial and error this is where I gave up last time...

Ohhh I see
you must use !python instead of python on colab
Goodluck guy

Hi，when I trying to use on colab in step5:
%cd it shows: /root
I have already connect to my google drive
how to chance to folder FALdetector?

Type that code:
import os
os.chdir('/content/drive/My Drive/folder name')
after that, you can confirm it worked with the pwd command like this: !pwd
in step 3: use %cd /content/drive/My\ Drive/ and start to clone github
after clone: use %cd FALdetector to go to folder

thx for helping. I have run the model successfully:
Probability being modified by Photoshop FAL: 5.25%
But how can I save the Process picture(like Suggest undo ) as the demo shows?

Hi, can you share the link to your colab model?
I have trouble install the valset to the colab, plus there is no point to reinvent the wheel.

What wrong with you guys?
Can you explain more?

https://colab.research.google.com/drive/1qbZ53V3Lzwe5f_nRRJi2LaXXCV_Iw1Ij?usp=sharing
Idk where did I do wrong, but it keep showing invalid syntax, after like 2 hr of trial and error this is where I gave up last time...

you don't need to download valset, it is only used to validate the model's accuracy

Download the dataset
cd data
bash download_valset.sh
cd ..
Run evaluation script. Model weights need to be downloaded.
python eval.py --dataroot data --global_pth weights/global.pth --local_pth weights/local.pth --gpu_id 0
This is true code for download valset and test

I made one you can fork, see #31


Translation and BigQuery implement IDisposable

@benwulfe: No, because it's not actually a requirement. As documented, it's something you should do in some situations, but it's not only allowing you to be more efficient. Any code that doesn't dispose of the client will work just as well as it did before.

AdvancedTranslationClient done

If you have singletons that implement IDisposable, not disposing it is a pretty common (if maybe not entirely correct) usage pattern.  I'd argue this caveat doesn't really make it special or unique.

I guess all I was saying is that the very existence of having an object that implements IDisposable that is not disposed is likely to create a lint error where it was ok before.
linters will not be able to read your comments.

Well, I'd argue that the expected behaviour at that point is for the developer to read the linter error, read the doc comment then, and configure the linter appropriately. If the linter can't be configured, I think that's a bigger problem. (And how does it cope with HttpClient and Task for example?)
I really believe that bumping the major version number would be a mistake here, giving an unrealistic impression of breaking.


establish several connection string in one macro

Hello
I'm trying to test the existing of a dimension in two differents cubes , so i have to establish two connection string , i think that reference can be helpful , so i try to use the setting reference , but i don't know how to work with it , in a genbiL file :
setting reference 'referenceName' connectionString 'data source=localhost; initial catalog=myDb';

my question is : is it possible in genbiL , to establish more than one connection string , if yes ,  how to do it? .
thank you for your return in advance .

thanks for your return
you mean that after writing the references in my genbiL file , i have to specify for each test the "@reference", but the question is , how can i automate this specification , because tests are generated automaticaly with GenbiL
as you can see in the pictures , i specified the two connection string in the macro , but i can't automates the name of reference to give for each test .
I'm stuck in this part for days :(
i hope that i was clear

Based on your comment, I'd really check if what you're trying to achieve is not easier by having two config files pointing to the same test-suite.
But if you want to continue to deal with two connection-strings in references and one tests-suite then you'll need to play with your case.
To have each test created for the first reference and the second reference, you'll have to execute:
case scope 'temps';
case load file '...\temps.csv';
case cross 'temps' with vector 'ref' values 'ref-one', 'ref-two'

Then you'll need to create a template where the connection string can be specified
...
<dimension ... connectionString="@$ref$"/>
...

And load this template with
template load file '..\dimensionExists.nbitt';

thank you seddryck , it works better now , but with two csv files , each csv file connected to a reference.
i have another point to ask you for (I have little time to finish this project and pass my defense, so I try to ask the maximum of questions to move forward).
the most test that i have to automatised  consists in a validation that dimension or hierarchy or mesures are displayed in a specified order , but according to the documentation , it's just available with members  http://www.nbi.io/docs/members-ordering/
there is a solution to propose to me , you will make me a great pleasure .

Not sure that I understand the question but the  ordering of dimensions or measures is usually client-specific. You can’t specify this on the server-side (reason why most of the clients are just displaying them alphabetically). NBi can’t test the clients.

for exemple , for dimension('temps') , we want to test if the hierarchy is on a numeric order , or alphabetic , and sometimes we want to display the dimension/measure in a specific order , in general we want to apply the possibility of classification offered to the members for the dimensions.

Then in that case you need to use members’ ordering. You’ll be able to check that the members are ordered “lundi” , “mardi”, “mercredi” ... et “janvier”, “février”, “mars” ...

yeah i see it before ,this section about members' odrering , and i would like to apply this options on the dimensions and their hierarchy .
so , Based on your answers , i can see that i don't have this possibility of ordering , it's available just for members :(

I don’t think that this is not testable with NBi. Based on your previous screenshot could you give me a concrete example of what you want to test? (If needed expand your hierarchies).

by exemple we have received a test request to automate and the aim is to have the dimension displayed in alphabetical order, as you can see, they are not ranked well, [Temps avant Nature d'appel]
and sometimes we want to display the dimension in a specific order [ for exemple having the dimension Temps displayed at the beginning]

You cannot put a constraint to sort the dimensions with SSAS. It means that you cannot guarantee that the dimension "Géographie" will or will not be listed before the dimension "Service" in SSAS. Just ask the dev which settings she is using to specify that dimension "Nature d'appel" is displayed after dimension "Temps" ... the answer would probably be "none ... it's just random". Sorting of dimensions is not managed on the server-side but on the client-side. It means that you shouldn't test the cube (server-side) but the tool that you'll use to connect to it (client-side). NBi is focussed on testing the server-side. Globally the requirement that you receive is not implementable in SSAS and must be forwarded to the client.
Most of the clients (I can't find exceptions) are displaying dimensions in alphabetical order. Don't forget that you can also translate dimension's names ... that could complexify how clients are ordering the dimensions.
If you built your own client (or you're dealing with a weird client) then it could use the DIMENSION_ORDINAL attribute. This attribute cannot be set in Visual Studio so it would be really weird but who knows, I've seen some really weird ideas. In that specific case, the best test that you can automate with NBi is something such as:
<system-under-test>
  <resultSet>
    <query connectionString="@ssasMD">
       SELECT DIMENSION_ORDINAL, DIMENSION_CAPTION
       FROM $System.MDSCHEMA_DIMENSIONS
       WHERE CUBE_NAME='Adventure Works'
       ORDER BY DIMENSION_ORDINAL
    </query>
  </resultSet>
</system-under-test>
<assert>
  <equalTo>
     <resultSet>
        <row><cell>1</cell><cell>Measure</cell></row>
        <row><cell>2</cell><cell>Date</cell></row>
        <row><cell>3</cell><cell>Ship Date</cell></row>
     </resultSet>
  </equalTo>
</assert>

thanks you for this clarification , i can understand now , thank you again


Move android app secret from res/values to assets

It will need to be changed once we start working on the iOS side of the app, but let's deal with that once we start working on iOS


class-generator: per required_args check for missing arg

Summary by CodeRabbit

Bug Fixes

Enhanced error handling for required arguments in various components, providing more specific error messages for missing attributes.

New Features

Improved clarity and precision in error reporting for required attributes across multiple classes.

Report bugs in Issues
The following are automatically added:

Add reviewers from OWNER file (in the root of the repository) under reviewers section.
Set PR size label.
New issue is created for the PR. (Closed when PR is merged/closed)
Run pre-commit if .pre-commit-config.yaml exists in the repo.

Available user actions:

To mark PR as WIP comment /wip to the PR, To remove it from the PR comment /wip cancel to the PR.
To block merging of PR comment /hold, To un-block merging of PR comment /hold cancel.
To mark PR as verified comment /verified to the PR, to un-verify comment /verified cancel to the PR.
verified label removed on each new commit push.
To cherry pick a merged PR comment /cherry-pick <target branch to cherry-pick to> in the PR.

Multiple target branches can be cherry-picked, separated by spaces. (/cherry-pick branch1 branch2)
Cherry-pick will be started when PR is merged

To build and push container image command /build-and-push-container in the PR (tag will be the PR number).

You can add extra args to the Podman build command

Example: /build-and-push-container --build-arg OPENSHIFT_PYTHON_WRAPPER_COMMIT=<commit_hash>

To add a label by comment use /<label name>, to remove, use /<label name> cancel
To assign reviewers based on OWNERS file use /assign-reviewers
To check if PR can be merged use /check-can-merge

Supported /retest check runs

/retest tox: Retest tox
/retest python-module-install: Retest python-module-install

Supported labels

hold
verified
wip
lgtm

/verified


Request Code Generator Doesn't Work Anymore After v1.12.1 Upgrade

It seems I can not generate code from requests after upgrading to latest v1.12.1.
Setup:
Mac M1
Bruno v1.12.1
Clean Install.

Same issue
M1
1.12.1
Error in console

Same issue here
Intel Mac
v1.12.1
Same console error as @rsau

Solved in latest 1.12.2. update. Closing this.


Fix a clothing toggle bug

About the PR
Should close https://github.com/space-wizards/space-station-14/issues/7762
Changelog

:cl: Rane

fix: Fixed a bug where you can't unequip your hardsuit helmet because you need to unequip your hardsuit helmet first.

Woops, contaminated, one second

Although actually, I guess the issue is probably that it has the equip verb instead of the unequip


docs: fix grammar in outlier detection doc

Commit Message: docs: fix grammar in outlier detection doc
Additional Description: Fixes grammar errors and does minor rephrasing to improve how the Outlier detection architecture doc reads.
Risk Level: low
Testing: N/A
Docs Changes: grammar
Release Notes: N/A
Signed-off-by: Martin Matusiak<EMAIL_ADDRESS>

/retest

Thanks for fixing the spelling errors, @ggreenway !
Squashed and forced pushed.

/azp run

asan failed again, but now azure says "build not found" :confused:
Earlier it was failing over a file not found:
2020-07-09T22:27:05.3062969Z ls: cannot access '/tmp/tap//tap_*.pb_text': No such file or directory

Same failure mode as https://github.com/envoyproxy/envoy/pull/11977


Update all submodules.

Just a quick maintenance PR to update the Git Submodules we have to their latest versions.

Awesome, thanks @CrossR ! 💯


generate a client for a swagger spec

Like the server this needs to support an entire swagger spec.
Unlike the server this doesn't need an untyped version.

Where would you place this issue on your roadmap? I'm debating waiting for this feature, or going the route of Apache Thrift... which is not nearly as desirable since my API is already using Swagger.
Thanks, and great work thus far!

pretty high up :)
I'm currently writing tests for the generator stuff, to get my confidence level up. And the client is the one I want to get working first.

If you need a guinea pig/tester for an experimental branch, I hereby volunteering myself :sunglasses:

:+1:  I'll let you know when I have something that might work

This is a really great idea, and I'd be willing to help out in any way I can. Any thoughts on possibly making this a part of swagger-codegen?

@nmonterroso I don't intend for this to become a part of swagger-codegen.  I started out trying to get it to work with swagger-codegen, but as I got further in my implementation I first had to let go of the object model, then the mustache templates.
There are a number of reasons why that is:

I get to use go: fmt.Sprintf("%#v", example) to get proper go representations of types for examples
Using mustache requires me to use multipass rendering, go templates allow me to render in 1 pass.
Reuse of mustache templates is fairly limited
I'm going to make use of static code analysis prior to generating certain models and so on. All of this would require a lot of extra work in java while it's much easier to do so in go.

I also ran into some bugs in the codegen at that time. Trying to debug 3 languages (go, java and mustache) while not really knowing all the things I would need added more cognitive overhead than I was willing to deal with.
I've only just worked out how to map all the possible type combinations that are supported in swagger to go.  Perhaps when it's all worked out there might a user who cares enough to port it to swagger-codegen.

Thanks for the info! When the time comes, I might be willing to help port to swagger-codegen, since that was my first stop when trying to figure out "is there a swagger client generator for go?", I imagine others will check there as well.

This branch will be sleeping for a while.
If you wanted experimental, this is it. It will generate a client for simple things.
In the mean time I'm working on the branch template-refactor, where I'm completing the generation of schema's to more idiomatic go. This is a bit more complex than I had anticipated, anyway it will go something like this:

defintion of primitive => type alias/name
defintion of array => type alias/name
definition of map => type alias/name
definition of object with properties => struct
definition of ref => type alias/name
object with only additional properties => map[string]T
object with additional properties and properties => custom serializer
schema with schema array in items => tuple (struct with properties {p1,p2,p3,...}, custom serializer)
schema with all of => struct

all of schema with ref => embedded value
all of schema with properties => properties are included in struct
adding an all of schema with just "x-isnullable": true turns the schema into a pointer

schema with additional items and a single schema, nothing special happens it's an invalid schema
schema with additional items and multiple schema's in items => struct (2 properties with different types, custom serializer)

I've got quite a bit of this working on that branch, but it breaks other templates at this moment.
I have the custom structs, serializers and validators for this

A quick update:
I'm finally through most of the work for schemas. Currently adding support for enum validations in all allowed positions.
supporting additionalItems and additionalProperties specifically across the board has been less than trivial.
So I hope to finally be able to merge and close this issue in a couple of days

nice!, I'm really looking forward to having this generator.


chore(COVID-19): add new story

hi i have added some  story  in Covid-19 in 2 Phase

Please fix the spelling problem


Failed to insert event metadata [QUESTION]

Hey folks,
A problem occures during adding EventMedadata..
below some logs:
putKinesisVideoEventMetadata(): operation returned status code: 0x5200008c
Failed to insert event metadata with:<PHONE_NUMBER>

This error code is defined here:
https://github.com/awslabs/amazon-kinesis-video-streams-pic/blob/dc4bc6cb87cf97cd3b1dc3e8027e0c75cdfa13b3/src/client/include/com/amazonaws/kinesis/video/client/Include.h#L189
Hello, this indicates that you're attempting to send metadata before the stream has started.  You must first start streaming before you can insert event metadata. If that does not resolve your issue please re-open the ticket.

Hi @niyatim23, I'm also getting same error when trying to run KVS binary. I've used IAM role with Admin access. It has all permissions for all AWS services. Following is error I'm seeing:
[DEBUG] [12-01-2023 05:58:52:785.076 GMT] Stream is ready
[INFO ] [12-01-2023 05:58:52:952.503 GMT] Streaming from rtsp source
New pad found: recv_rtp_src_0_1056831275_96
[INFO ] [12-01-2023 05:58:53:571.830 GMT] Pad link successful
[INFO ] [12-01-2023 05:58:55:621.943 GMT] kinesisVideoStreamFormatChanged(): Stream format changed.
[INFO ] [12-01-2023 05:58:55:632.393 GMT] putStreamResultEvent(): Put stream result event. New upload handle 0
[INFO ] [12-01-2023 05:58:55:893.888 GMT] writeHeaderCallback(): RequestId: e249035a-3dce-d5a9-be70-a085b37476ed
[DEBUG] [12-01-2023 05:58:56:517.905 GMT] postReadCallback(): Pausing CURL read for upload handle: 0
[ERROR] [12-01-2023 05:58:57:550.856 GMT] putKinesisVideoEventMetadata(): operation returned status code: 0x5200008c
[ERROR] [12-01-2023 05:58:57:551.566 GMT] Failed to insert event metadata with:<PHONE_NUMBER>

Hi, the error your receiving is from calling putKinesisVideoEventMetaData before the stream has started. Start the stream, then call the API and it will function as intended.

If you were previously running kvs_gstreamer_sample, the issue has been addressed in #1019.


Double click instead of single

Hi! First of all thanks for this work!
I was trying the example code and on my m5stack when I press the right or left button it sometimes reads it as a double click and jump one of the option... Any idea of what is happening and how to solve it? Thank you!

Still having the same problem. How do you solve this?


Drag and drop from popup doesn't work any more

Check that this is really a bug

[X] I confirm

Reproduction link
https://jquense.github.io/react-big-calendar/examples/index.html?path=/story/addons-drag-and-drop--example-1
Bug description
Drag and drop from popup doesn't work anymore if I try in month view. The following error is given.
react-dom.production.min.js:101 Uncaught TypeError: _this.props.handleDragStart is not a function
at onDragStart (Popup.js:92:43)
at Object.Rb (react-dom.production.min.js:52:317)
at Xb (react-dom.production.min.js:52:471)
at Yb (react-dom.production.min.js:53:35)
at Ze (react-dom.production.min.js:100:68)
at se (react-dom.production.min.js:101:380)
at react-dom.production.min.js:113:65
at Jb (react-dom.production.min.js:292:189)
at Nb (react-dom.production.min.js:50:57)
at jd (react-dom.production.min.js:105:469)
Expected Behavior
When i drag a event from month pop up view and drop in a other month cell I expect that de event will move to this cell.
Actual Behavior
The event wont move to the new month cell.
react-big-calendar version
0.40.0
React version
17
Platform/Target and Browser Versions
Chrome
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a react-big-calendar issue and not an implementation issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

Please help wanted?

@vedpir-havatec Can you fork this Codesandbox, and create an example using a version of Big Calendar that did have this functionality?

@vedpir-havatec I had the same issue. I found there is a separated handler handleDragStart that must be set and ends up with onDropFromOutside.

@Fir3st thanks that was exactly what i needed to do


Stuck main thread detected. Hangs forever

Description
I start normally with docker compose up it get's to a point where I get "Stuck main thread detected. Last system started" and it will last there forever without crashing.
Details
Currently running in: Vultr
Specs

v-rising  | ProjectM.ClientSettings - Error while trying to load settings from file. File not Found! (Z:/home/steam/Steam/steamapps/common/VRisingDedicatedServer/VRisingServer_Data/StreamingAssets\Settings\ClientSettings.json)
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:LogWarning(Object)
v-rising  | ProjectM.Shared.SettingsBase:TryLoadJsonFile(String, Boolean, Boolean)
v-rising  | ProjectM.Shared.SettingsBase:.ctor(String, Boolean, Boolean)
v-rising  | ProjectM.ClientSettings:.ctor()
v-rising  | ProjectM.SettingsManager:VerifyClientSettings()
v-rising  | ProjectM.SettingsManager:get_ClientSettings()
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | Loaded ClientSettings:
v-rising  | {
v-rising  |   "General": {
v-rising  |     "ServerPath": "VRising.exe",
v-rising  |     "PlatformNotificationPosition": 2,
v-rising  |     "NewsURL": "https://client.vrising.net/live/news.json",
v-rising  |     "OfficialServersURL": "https://client.vrising.net/live/official.txt",
v-rising  |     "BannedServersURL": "https://client.vrising.net/live/banned.txt",
v-rising  |     "ServerPartnerURL": "https://www.g-portal.com/vrising",
v-rising  |     "ServerInstuctionsURL": "https://github.com/StunlockStudios/vrising-dedicated-server-instructions",
v-rising  |     "BranchOverride": "",
v-rising  |     "EnableConsole": false,
v-rising  |     "ConfineCursorToWindow": false
v-rising  |   },
v-rising  |   "Sound": {
v-rising  |     "Threaded": true,
v-rising  |     "DisableAllSounds": false,
v-rising  |     "DisableMusic": false,
v-rising  |     "MonoSound": false,
v-rising  |     "SoundInBackground": true,
v-rising  |     "UsePushToTalk": true,
v-rising  |     "VOIPAutojoin": true,
v-rising  |     "Driver": "",
v-rising  |     "MasterVolume": 1.0,
v-rising  |     "MusicVolume": 1.0,
v-rising  |     "SoundEffectsVolume": 1.0,
v-rising  |     "AmbienceVolume": 1.0,
v-rising  |     "VoiceOverVolume": 1.0,
v-rising  |     "UIVolume": 1.0,
v-rising  |     "VOIPVolume": 0.66
v-rising  |   },
v-rising  |   "Interface": {
v-rising  |     "Language": null,
v-rising  |     "VideoPlayMode": 0,
v-rising  |     "SteamerMode": false,
v-rising  |     "ShowGlobalChat": true,
v-rising  |     "ShowChatTimeStamps": true,
v-rising  |     "LockMinimapRotation": true,
v-rising  |     "BuildMenuFadeOut": false,
v-rising  |     "ShowMenuShortcuts": true,
v-rising  |     "ChatSize": 16.0,
v-rising  |     "SteamRichPresenceEnabled": true,
v-rising  |     "ToggleEquipMode": true,
v-rising  |     "AllowFriendsToJoinThroughSteam": true
v-rising  |   },
v-rising  |   "GameClient": {
v-rising  |     "UserName": "",
v-rising  |     "SavedCharacterName": "",
v-rising  |     "RecordClientReplay": false,
v-rising  |     "PlayLatestClientReplay": false,
v-rising  |     "EnableGameAnalytics": true,
v-rising  |     "AnalyticsEnvironment": "production",
v-rising  |     "CompletedTutorials": 0,
v-rising  |     "MaximumHandshakeAttempts": 10,
v-rising  |     "ConnectionTimeout": 30.0,
v-rising  |     "BetaInformationURL": null,
v-rising  |     "ServerListURL": "",
v-rising  |     "HasSeenCinematic": false,
v-rising  |     "HasCompletedFirstStartup": false,
v-rising  |     "EnableDebugLogsOverlayByDefault": false,
v-rising  |     "ServerName": "VRising Server",
v-rising  |     "DiscoverLocalPeers": false,
v-rising  |     "HideWrongVersion": true,
v-rising  |     "HideFullServers": false,
v-rising  |     "NetworkVersionOverride": -1
v-rising  |   },
v-rising  |   "GraphicSettings": {
v-rising  |     "Resolution": {
v-rising  |       "x": 0,
v-rising  |       "y": 0
v-rising  |     },
v-rising  |     "FPSLimitValue": 60,
v-rising  |     "DynamicResolutionQuality": 1.0,
v-rising  |     "ScreenShakeAmplitude": 1.0,
v-rising  |     "Brightness": 2.2,
v-rising  |     "FsrSharpness": 1.0,
v-rising  |     "FsrQualityMode": 1,
v-rising  |     "ClothUpdateRate": 1,
v-rising  |     "ClothQuality": 0,
v-rising  |     "AntiAliasing": 2,
v-rising  |     "ShadowQuality": 0,
v-rising  |     "AmbientOcclusionQuality": 0,
v-rising  |     "BloomQuality": 0,
v-rising  |     "VolumetricsQuality": 0,
v-rising  |     "TextureQuality": 0,
v-rising  |     "WindowMode": 1,
v-rising  |     "CurrentPresetMode": 0,
v-rising  |     "MenuFPSCapMode": 2,
v-rising  |     "VerticalSync": true,
v-rising  |     "ShouldLimitFPS": false,
v-rising  |     "MotionBlur": true,
v-rising  |     "DepthOfField": true,
v-rising  |     "HighQualityVegetation": true,
v-rising  |     "HighQualityAtmosphere": true,
v-rising  |     "BloodEffectsEnabled": true
v-rising  |   }
v-rising  | }
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:Log(Object)
v-rising  | ProjectM.SettingsManager:get_ClientSettings()
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | Actual System Memory: 11289 Recommended: 8500
v-rising  | Actual Graphics Memory: 128 Recommended: 4500
v-rising  | Set Graphics Preset To Low: true
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:Log(Object)
v-rising  | ProjectM.Bootstrap:EvaluateMemoryAndSetMemorySettings()
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | Bootstrapping World: Default World
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:Log(Object)
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | ProjectM.InputSettings - Error while trying to load settings from file. File not Found! (Z:/home/steam/Steam/steamapps/common/VRisingDedicatedServer/VRisingServer_Data/StreamingAssets\Settings\InputSettings.json)
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:LogWarning(Object)
v-rising  | ProjectM.Shared.SettingsBase:TryLoadJsonFile(String, Boolean, Boolean)
v-rising  | ProjectM.Shared.SettingsBase:.ctor(String, Boolean, Boolean)
v-rising  | ProjectM.InputSystem:SetupController(ControllerType)
v-rising  | Unity.Entities.ComponentSystemBase:CreateInstance(World, SystemState*)
v-rising  | Unity.Entities.World:AddSystem_OnCreate_Internal(ComponentSystemBase)
v-rising  | Unity.Entities.World:GetOrCreateSystemsAndLogException(IEnumerable`1, Int32)
v-rising  | ProjectM.CustomWorldSpawning:AddSystemsToWorld(World, WorldType, Type[], Type, Type, Type, CustomWorld)
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | SteamPlatformSystem - Entering OnCreate!
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:Log(Object)
v-rising  | ProjectM.Auth.SteamPlatformSystem:OnCreate()
v-rising  | Unity.Entities.ComponentSystemBase:CreateInstance(World, SystemState*)
v-rising  | Unity.Entities.World:AddSystem_OnCreate_Internal(ComponentSystemBase)
v-rising  | Unity.Entities.World:GetOrCreateSystemsAndLogException(IEnumerable`1, Int32)
v-rising  | ProjectM.CustomWorldSpawning:AddSystemsToWorld(World, WorldType, Type[], Type, Type, Type, CustomWorld)
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | CryptographicException: Couldn't access random source.
v-rising  |   at System.Security.Cryptography.RNGCryptoServiceProvider.Check () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Security.Cryptography.RandomNumberGenerator.Create () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Guid.NewGuid () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.ComponentModel.TypeDescriptor..cctor () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.JsonTypeReflector.CanTypeDescriptorConvertString (System.Type type, System.ComponentModel.TypeConverter& typeConverter) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract (System.Type objectType) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Func`2[T,TResult].Invoke (T arg) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Populate (Newtonsoft.Json.JsonReader reader, System.Object target) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonSerializer.PopulateInternal (Newtonsoft.Json.JsonReader reader, System.Object target) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonConvert.PopulateObject (System.String value, System.Object target, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Shared.SettingsBase.TryLoadJsonFile (System.String path, System.Boolean logWarning, System.Boolean defaultSettings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Shared.SettingsBase..ctor (System.String defaultFilePath, System.Boolean loadDefault, System.Boolean applyEnvironmentVariables) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.ServerHostSettings..ctor () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.SettingsManager.VerifyServerSettings () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.SettingsManager.get_ServerHostSettings () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Auth.SteamPlatformSystem.OnCreate () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.ComponentSystemBase.CreateInstance (Unity.Entities.World world, Unity.Entities.SystemState* statePtr) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.World.AddSystem_OnCreate_Internal (Unity.Entities.ComponentSystemBase system) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.World.GetOrCreateSystemsAndLogException (System.Collections.Generic.IEnumerable`1[T] types, System.Int32 typesCount) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.CustomWorldSpawning.AddSystemsToWorld (Unity.Entities.World world, ProjectM.WorldType worldType, System.Type[] systemTypes, System.Type initializationSystemGroupType, System.Type simulationSystemGroupType, System.Type presentationSystemGroupType, ProjectM.CustomWorld customWorld) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Bootstrap.Unity.Entities.ICustomBootstrap.Initialize (System.String defaultWorldName) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.DefaultWorldInitialization.Initialize (System.String defaultWorldName, System.Boolean editorWorld) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.AutomaticWorldBootstrap.Initialize () [0x00000] in <00000000000000000000000000000000>:0
v-rising  | Rethrow as TypeInitializationException: The type initializer for 'System.ComponentModel.TypeDescriptor' threw an exception.
v-rising  |   at Newtonsoft.Json.Serialization.JsonTypeReflector.CanTypeDescriptorConvertString (System.Type type, System.ComponentModel.TypeConverter& typeConverter) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract (System.Type objectType) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Func`2[T,TResult].Invoke (T arg) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Populate (Newtonsoft.Json.JsonReader reader, System.Object target) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonSerializer.PopulateInternal (Newtonsoft.Json.JsonReader reader, System.Object target) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonConvert.PopulateObject (System.String value, System.Object target, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Shared.SettingsBase.TryLoadJsonFile (System.String path, System.Boolean logWarning, System.Boolean defaultSettings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Shared.SettingsBase..ctor (System.String defaultFilePath, System.Boolean loadDefault, System.Boolean applyEnvironmentVariables) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.ServerHostSettings..ctor () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.SettingsManager.VerifyServerSettings () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.SettingsManager.get_ServerHostSettings () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Auth.SteamPlatformSystem.OnCreate () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.ComponentSystemBase.CreateInstance (Unity.Entities.World world, Unity.Entities.SystemState* statePtr) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.World.AddSystem_OnCreate_Internal (Unity.Entities.ComponentSystemBase system) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.World.GetOrCreateSystemsAndLogException (System.Collections.Generic.IEnumerable`1[T] types, System.Int32 typesCount) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.CustomWorldSpawning.AddSystemsToWorld (Unity.Entities.World world, ProjectM.WorldType worldType, System.Type[] systemTypes, System.Type initializationSystemGroupType, System.Type simulationSystemGroupType, System.Type presentationSystemGroupType, ProjectM.CustomWorld customWorld) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Bootstrap.Unity.Entities.ICustomBootstrap.Initialize (System.String defaultWorldName) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.DefaultWorldInitialization.Initialize (System.String defaultWorldName, System.Boolean editorWorld) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.AutomaticWorldBootstrap.Initialize () [0x00000] in <00000000000000000000000000000000>:0
v-rising  | UnityEngine.Logger:LogException(Exception, Object)
v-rising  | UnityEngine.Debug:LogException(Exception)
v-rising  | Unity.Entities.World:GetOrCreateSystemsAndLogException(IEnumerable`1, Int32)
v-rising  | ProjectM.CustomWorldSpawning:AddSystemsToWorld(World, WorldType, Type[], Type, Type, Type, CustomWorld)
v-rising  | ProjectM.Bootstrap:Unity.Entities.ICustomBootstrap.Initialize(String)
v-rising  | Unity.Entities.DefaultWorldInitialization:Initialize(String, Boolean)
v-rising  | Unity.Entities.AutomaticWorldBootstrap:Initialize()
v-rising  |
v-rising  | NullReferenceException: Object reference not set to an instance of an object.
v-rising  |   at ProjectM.CustomWorldSpawning.AddSystemsToWorld (Unity.Entities.World world, ProjectM.WorldType worldType, System.Type[] systemTypes, System.Type initializationSystemGroupType, System.Type simulationSystemGroupType, System.Type presentationSystemGroupType, ProjectM.CustomWorld customWorld) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.Bootstrap.Unity.Entities.ICustomBootstrap.Initialize (System.String defaultWorldName) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.DefaultWorldInitialization.Initialize (System.String defaultWorldName, System.Boolean editorWorld) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Entities.AutomaticWorldBootstrap.Initialize () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |
v-rising  | ArgumentNullException: Value cannot be null.
v-rising  | Parameter name: obj
v-rising  |   at System.Threading.Monitor.Enter (System.Object obj, System.Boolean& lockTaken) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.ComponentModel.TypeDescriptor.CheckDefaultProvider (System.Type type) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.ComponentModel.TypeDescriptor.NodeFor (System.Type type, System.Boolean createDelegator) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.ComponentModel.TypeDescriptor.GetDescriptor (System.Type type, System.String typeName) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.ComponentModel.TypeDescriptor.GetConverter (System.Type type) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.JsonTypeReflector.CanTypeDescriptorConvertString (System.Type type, System.ComponentModel.TypeConverter& typeConverter) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.DefaultContractResolver.CreateContract (System.Type objectType) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Func`2[T,TResult].Invoke (T arg) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Collections.Concurrent.ConcurrentDictionary`2[TKey,TValue].GetOrAdd (TKey key, System.Func`2[T,TResult] valueFactory) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize (Newtonsoft.Json.JsonReader reader, System.Type objectType, System.Boolean checkAdditionalContent) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonSerializer.DeserializeInternal (Newtonsoft.Json.JsonReader reader, System.Type objectType) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonConvert.DeserializeObject (System.String value, System.Type type, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Newtonsoft.Json.JsonConvert.DeserializeObject[T] (System.String value, Newtonsoft.Json.JsonSerializerSettings settings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at StunLocalization.LocalizationIO.ImportJson (System.String fileName, System.Collections.Generic.List`1[StunLocalization.LocalizationCode]& codes) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at StunLocalization.Localization.LoadLocalization (System.String filePath) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at StunLocalization.Localization.Initialize (StunLocalization.LocalizationSettings settings) [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.UI.InitializeUI.Awake () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |
v-rising  | CryptographicException: Couldn't access random source.
v-rising  |   at System.Security.Cryptography.RNGCryptoServiceProvider.Check () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Security.Cryptography.RandomNumberGenerator.Create () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at System.Guid.NewGuid () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Services.Analytics.AnalyticsServiceInstance..ctor () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Services.Analytics.AnalyticsService..cctor () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Services.Analytics.AnalyticsLifetime.Awake () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at UnityEngine.GameObject.AddComponent[T] () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Services.Analytics.ContainerObject.Initialize () [0x00000] in <00000000000000000000000000000000>:0
v-rising  | Rethrow as TypeInitializationException: The type initializer for 'Unity.Services.Analytics.AnalyticsService' threw an exception.
v-rising  |   at Unity.Services.Analytics.AnalyticsLifetime.Awake () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at UnityEngine.GameObject.AddComponent[T] () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at Unity.Services.Analytics.ContainerObject.Initialize () [0x00000] in <00000000000000000000000000000000>:0
v-rising  | UnityEngine.GameObject:AddComponent()
v-rising  | Unity.Services.Analytics.ContainerObject:Initialize()
v-rising  |
v-rising  | NullReferenceException: Object reference not set to an instance of an object.
v-rising  |   at GameVersionUtils.TryInitializePersistenceVersion () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at GameVersionUtils.GetOrLoadPersistenceVersion () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |   at ProjectM.GameBootstrap.Start () [0x00000] in <00000000000000000000000000000000>:0
v-rising  |
v-rising  | Stuck main thread detected. Last system started: . Last system finished: . Last subnode: PrefabGuid: 0 NodeIndex: 0.
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:Log(Object)
v-rising  | Unity.Entities.<>c__DisplayClass8_0:<Initialize>b__0(Object)
v-rising  | System.Runtime.Serialization.DeserializationEventHandler:Invoke(Object)
v-rising  | System.Threading.TimerCallback:Invoke(Object)
v-rising  | System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
v-rising  | System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
v-rising  | System.Runtime.Serialization.DeserializationEventHandler:Invoke(Object)
v-rising  |
v-rising  | Stuck main thread detected. Last system started: . Last system finished: . Last subnode: PrefabGuid: 0 NodeIndex: 0.
v-rising  | UnityEngine.Logger:Log(LogType, Object)
v-rising  | UnityEngine.Debug:Log(Object)
v-rising  | Unity.Entities.<>c__DisplayClass8_0:<Initialize>b__0(Object)
v-rising  | System.Runtime.Serialization.DeserializationEventHandler:Invoke(Object)
v-rising  | System.Threading.TimerCallback:Invoke(Object)
v-rising  | System.Threading.ExecutionContext:RunInternal(ExecutionContext, ContextCallback, Object, Boolean)
v-rising  | System.Threading.ExecutionContext:Run(ExecutionContext, ContextCallback, Object)
v-rising  | System.Runtime.Serialization.DeserializationEventHandler:Invoke(Object)
v-rising  |

The problem here is, that it cannot get access to the source for random number generation, which is required for the steam api. My fix in testing was to just restart the container until it worked again.
Another thing I noticed is, that the server is recommending 8.5 gig of ram and is finding 11289 MB, even though you only have 4gigs reserved. This might cause the issue as well.


Error on teardown Ember v3.2, due to resize-detector

After upgrading to Ember v3.2, I get the following error when my light table component is destroyed:
Error: Assertion Failed: Attempted to call .sendAction() with the action 'on-resize' on the destroyed object '<act@component:resize-detector::ember550>'.

The addon ember-element-resize-detector appears to be a transitive dependency of this addon, coming from ember-scrollable. It also appears to be unmaintained as it hasn't seen an update in 2 years 😢
edit: updated to reflect that this doesn't block rendering and only happens on destroy

The error also does not happen if I wait one tick before hiding my component in tests (i.e. just wrap in Ember.run.next())

@bgentry I believe resize detector has been bumped since you raised this and I've certainly not hit upon this in my apps. Please respond if you're still having issues.

We are still facing this issue even after upgrading ember-scrollable and moving the tests to Qunit


jax.jit(..., static_argnums=...) keeps strong (not weak) reference in cache, causing memory leak

Description
import gc
import weakref
import jax

class A:
	pass

def f(x, y):
	return x

f = jax.jit(f, static_argnums=1)
f(1, A)
ref = weakref.ref(A)
del A
gc.collect()
print(ref)  # <weakref at 0x780ddf5062c0; to 'type' at 0x12ff5d0 (A)>

Commenting out the f(1, A) line instead produces <weakref at 0x7a4f2bdce360; dead>.
This use-case turns up in tests, when creating and destroying many JIT'd functions.
What jax/jaxlib version are you using?
4.11
Which accelerator(s) are you using?
No response
Additional system info
No response
NVIDIA GPU info
No response

It could be argued that this is working as intended: caching in general is based on static values, not static object identities. That's what lets us get a cache hit on evaluating the expression jit(f, static_argnums=0)(n()) twice where n = lambda: 256 + (lambda: 1)() (I had to embellish that to defeat some CPython optimizations). With caching based on values, in general whether an object with a particular value goes out of scope doesn't matter, since we can usually construct another object with the same value and thus the cache entry isn't dead. (Cache entries are dead, and hence "leaked", if they become unreachable.)
This particular example doesn't fit neatly into that mold because A inherits the type hashable definition, where equality is based on object id. That is, after deleting A it's hard to construct another object with the same value and thus hard to get a cache hit. It's hard, but technically not impossible: Python can reuse object ids. So, technically the cache entry is not totally dead; it's just hard to reach, and perhaps impossible to reach deterministically without using a C extension. (This is probably a good reason not to put equality-by-object-id instances into cache keys if the cache can outlive the object instances, as I think CPython really just checks pointer value and not anything else.)
Anyway, pedantry aside, I agree this is probably an undesirable behavior for objects where equality is based on object id, and we may want to revise it. But (presumably) we don't want to break the behavior for other objects, like (non-interned) ints or strings or tuples or frozen dataclasses, where equal values can be reconstructed (and hence cache entries hit) even when the original object goes out of scope. How do we tell the difference?
I'm not sure how to do it in a complete and sound way. One heuristic might be to check for each static argument x whether x.__eq__ is object.__eq__, and if so only hold a weak reference.
WDYT?

One heuristic might be to check for each static argument x whether x.__eq__ is object.__eq__, and if so only hold a weak reference.

Agreed -- I think this something like this is probably a reasonable heuristic, and that a heuristic is probably as good as it gets.
Two other important heuristic cases that come to mind:

If type(x) is types.FunctionType. In practice I think it's possible to create equal nonidentical functions (equal __code__ etc.) but in practice that's weird and functions are my most common example of a static argument with this problem.
Nested examples of the above, e.g. (<something with object.__eq__>,). (Or I suppose any pytree, with at least one heuristic-matching leaf.)


Decompose controller

controller does too much stuff. I already split out some of it into CLIArgsParser and ConfigPaths, but much more can be done. I went through controller's public methods, and here are the sets of responsibilities I could identify:

related to urls file:

[x] imports from OPML (private import_opml()) (#291 OPML)
[ ] (needs reconsidering) reloads urls file (reload_urls_file())
[ ] (needs reconsidering) opens editor with urls file (edit_urls_file())

related to items:

[x] marks item deleted (mark_deleted()) (#266 removed entirely in favour of cache::mark_item_deleted())
[x] writes item into plain-text file (write_item()), possibly a temporary one (write_temporary_item()) (#311 mostly moved to ItemRenderer)
[ ] (needs reconsidering) updates flags on an item (update_flags())

related to config:

[x] dumps configfile into a file (dump_config()) (will stay in Controller)
[ ] (needs reconsidering) reloads config (load_configfile(), update_config())

related to feeds:

[x] returns feeds by their index (TODO: in what list?) or feedurl (get_feed(), get_feed_by_url()) (#216 FeedContainer)
[x] manages feedlist and visible feeds list (#216 FeedContainer)
[x] returns position of next unread feed (get_pos_of_next_unread()) (#216 FeedContainer)
[x] returns list of feeds (possibly to someone who already holds some lock -- TODO: which one? Apparently feeds_mutex) (get_all_feeds(), get_all_feeds_unlocked()) (#216 FeedContainer)
[x] sorts feeds according to feed-sort-order (sort_feeds()) (#216 FeedContainer)
[x] counts feeds per tag (get_feed_count_per_tag()) (#216 FeedContainer)
[x] reloading feeds (reload(), reload_all(), reload_indexes(), reload_range(), start_reaload_all_thread()) (#253 Reloader)
[x] export to OPML (private export_to_opml(), rec_find_rss_outlines()) (#291 OPML)
[ ] (needs reconsidering) marks all feeds, some article, or a whole feed read (mark_all_read(), mark_article_read(), mark_all_read())

miscellaneous:

[x] prints version and usage info (#244 moved to newsboat.cpp)
[x] storing if CTRL-C has been pressed (ctrl_c_hit) (#271 moved to view)
[x] runs a bookmark script (bookmark()) (#271 moved to formaction)
[x] sends notifications through notify-program (notify()) (#272 moved to Reloader)
[x] manages a pointer to configstore (get_cfg()) (#302)
[x] manages a pointer to cache (get_cache()) (#300)
[ ] manages a list of filters

[x] get_filters() (#304)
[ ] (needs reconsidering) filters

[ ] (cancelled storing current view (v, get_view(), set_view())
[ ] (@Minoru gave up) running the app (run())
[ ] puts a url into queue (enqueue_url())

It's quite possible that each responsibility area could be split into an object, and controller would be just a composition of those objects.
It's also quite possible that some of these methods shouldn't even exist, and can be eliminated by refactorings to APIs of other classes.
If someone wants to take a bash at some of these areas, just write a comment. Also, if my experience with CLIArgsParser and ConfigPaths is representative, I'm probably wrong about some of these methods, and they should belong to some other area than the one I listed—if so, please point that out.

I will probably take a deeper look at this, since I wanted to do it anyway sometime. My first thought about controller was that it does too much.

Cool!
One thing I should've stated in the issue is: the goal of this refactoring is to extract existing code into a separate unit, and put it under tests. Resist the urge to fix little things and improve interfaces "while you're at it". Feel free to open issues as you go, so you could come back to problematic places later.
I understand that writing tests might be less enjoyable that writing "actual code", so once you've done the extraction, open a PR. We'll mark it as WIP, and I'll write half the tests to help you. I don't want to merge such a PR without tests because I need some assurance that nothing got broken in the process. And if you could write some tests before the extraction, that would be just fantastic!

Resist the urge to fix little things and improve interfaces "while you're at it".
Yes, I also think that the first step should be to lock down the code in order to decouple it a little bit, then to refactor.

It's tough, though. :)

I need some assurance that nothing got broken in the process
That's the most the most important thing I guess.

I'm slo-o-o-owly factoring out reloading functions.

I'm working on OPML stuff.

We're past the midpoint, with 14 out of 26 functions already refactored, and controller.cpp slimming from 1866 lines to 1051. Let's keep the momentum and finish this for the December release!

I no longer believe that edit_urls_file() and reload_urls_file() should be extracted into separate classes. They don't keep a state of their own, and all they do fits into a single method. Basically, they're just too small to be bothered with.
I'll re-evaluate that before closing the issue.

I'm working on write_item() and write_temporary_item().

I'm done with update_flags(). I don't see a reason to move it out of Controller: this method doesn't do anything by itself, it just calls out to remote API and RssItem methods.
I'll re-evaluate that before closing the issue.

I'm working on load_configfile() and update_config().

dump_config() simply calls dump_config() method of every object that Controller owns (...)

Yes, that is why now the Controller can't get rid of filters at the moment. I don't know how to resolve it at the moment.

After a long, long look at mark-all-read functions, I still can't see where they really belong. They contain quite a chunk of logic, so should be moved out; but they talk to remote APIs, Cache and RssFeeds, so need access to stuff Controller contains.
Will revisit before closing the issue.

I give up on run() for now. There are places that could be moved into methods, but it won't improve things much: these methods will still depend on everything else. That would be more like chopping the method than refactoring it.

Working on enqueue_url.

All right! controller.cpp slimmed from 1866 to 909 lines—very nice! We couldn't refactor some of the functions, but I think we'll get back to them eventually.
Thanks for all the work, @kmws!


starting connection log should be debug level

[INFO    ] Starting new HTTP connection (1): localhost
this should be debug level.  I am using this in another application and it is logging this every time it connects cluttering the output.

import logging
Suppress the requests module logging.
requests_log = logging.getLogger("requests.packages.urllib3")
requests_log.setLevel(logging.WARNING)

So, it's generally a bad practice for a library to override the logging for another (dependent) library. That should be left up to the application to decide what logging is important and unimportant.


如何编写hns域名简介

https://namebase.io/domains/hnsbrand
📍domain's name: hnsbrand
💰price: 2,000 $HNS
🧐Price's Prediction in the future: ~10,000 - 100,000 $HNS.

ℹ description:
A brand is a name, term, design, symbol or any other feature that identifies one seller's good or service as distinct from those of other sellers.
Brands are used in business, marketing, and advertising for recognition and, importantly, to create and store value as brand equity for the object identified, to the benefit of the brand's customers, its owners and shareholders.
🤝HNSBRAND is built for Handshake Community. It represents brand for handshake.
📽projection:
✅ as the director of handshake, branding is someting inevitable for your community. HNSbrand is suitable for building a website contains brand guideliness.
✅ The website can be filled with:

Logo Guide
Color Guide
Font Guide
Design for Handshake
UI & UX
etc...

📈Business Opportunities:

Merchandise for Handshake Community
Poster
Sticker
Video Creation Service
Document Creation
Web Design
and many more...

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
🖼 Top-Level Domain is another form of NFT. But it's more useful than just a .JPEG
reff: https://www.namebase.io/register/aw4x9g

Formally establish “A RELEVANT ONLINE PRESENCE” with “.OMNIT”. This TLD has an “extended context value” considering the segments of the OmniVerse and Dweb to which it appeals. Based upon its use-case potential and the expanding NFT market, “this TLD appreciates in value daily”. (Note: This TLD is “untapped”; which means it has yet to be linked to a brand, DLinks page or any alternate web content. Reasonable offers below ceiling price are welcomed.)

https://hnslist.com/


Format time display and edit cards

close #107

Changes Unknown when pulling 6e759631d8d666f5fe4aa00ef9a57f0397150976 on time-display-format into ** on master**.

reviewed

Changes Unknown when pulling 8a25dfa21cb6ba6e943caec352d7e51747318e98 on time-display-format into ** on master**.


Sort :Lazy profile by time

Everything is seemingly scattered at the moment, it would be useful to easily find which plugins take up the most time from ascending to descending. Maybe to get fancy, there could be a keybind to toggle different sorting options, alphabetical, time, asc->desc, desc->asc, etc.

I just implemeted sorting and filtering for the profiling view