Bump istio api

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
8f19d03500cf9b5c92686489d8ed8b5933d694b6
link
/test gencheck_istio

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.

I have no strong feeling, will wait for that merged, and try it here

Try the newest api, and reverted the test skip.

@hzxuzhonghu: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

gencheck_istio
b63a07b50f02ac931214357bc5241e8ff3fcc463
link
/test gencheck_istio

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.

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

Test name
Commit
Details
Rerun command

gencheck_istio
b63a07b50f02ac931214357bc5241e8ff3fcc463
link
/test gencheck_istio

e2e-mixer-no_auth_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test e2e-mixer-no_auth_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-mixer-no_auth_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test e2e-mixer-no_auth_istio

gencheck_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test gencheck_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-mixer-no_auth_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test e2e-mixer-no_auth_istio

gencheck_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test gencheck_istio

e2e-dashboard_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test e2e-dashboard_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-mixer-no_auth_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test e2e-mixer-no_auth_istio

gencheck_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test gencheck_istio

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

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.

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

Test name
Commit
Details
Rerun command

gencheck_istio
7a329be502eab1585539027ed7d5f95f5efb3f6a
link
/test gencheck_istio

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

integ-galley-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-galley-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

integ-galley-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-galley-k8s-tests_istio

integ-telemetry-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-telemetry-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

integ-galley-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-galley-k8s-tests_istio

integ-telemetry-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-telemetry-k8s-tests_istio

integ-mixer-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-mixer-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

integ-galley-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-galley-k8s-tests_istio

integ-telemetry-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-telemetry-k8s-tests_istio

integ-mixer-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-mixer-k8s-tests_istio

integ-istioio-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-istioio-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

integ-galley-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-galley-k8s-tests_istio

integ-telemetry-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-telemetry-k8s-tests_istio

integ-mixer-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-mixer-k8s-tests_istio

integ-istioio-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-istioio-k8s-tests_istio

integ-pilot-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-pilot-k8s-tests_istio

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.

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

Test name
Commit
Details
Rerun command

e2e-dashboard_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-dashboard_istio

e2e-mixer-no_auth_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test e2e-mixer-no_auth_istio

integ-distroless-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-distroless-k8s-tests_istio

integ-conformance-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-conformance-k8s-tests_istio

integ-galley-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-galley-k8s-tests_istio

integ-telemetry-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-telemetry-k8s-tests_istio

integ-mixer-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-mixer-k8s-tests_istio

integ-istioio-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-istioio-k8s-tests_istio

integ-pilot-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-pilot-k8s-tests_istio

integ-security-k8s-tests_istio
a5b3fc02f9d4170896add3f90a96169e379f504f
link
/test integ-security-k8s-tests_istio

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.


Whatsapp Backup broken

Hi,
When I start whatsapp, I log in using the sms code. After that it asks me to recover a backup from my google drive. Now when I want to give whatsapp access to my google drive, it just gives me the option to add a new google account. My current one (where my google drive backup is uploaded) is not in the list. When I add it by using the whatsapp prompt, it says that the account already is on my device. When I remove the account in the settings app, and add it as a new one in whatsapp, it just loads forever.
I would really appreciate your help, as this is kinda a dealbreaker for me :D

Probably related https://github.com/microg/android_packages_apps_GmsCore/issues/548

Workaround is to do a local backup on stock rom, and copy it over to your new install until the accounts are fixed.

Security wise you shouldn't do Google Drive Backups for WhatsApp anyway.


i18n support

Clear and concise description of the problem
i18n support is quite complicated, there's many edge cases and moving parts.
This issue will be used to track general i18n support, including support for all i18n strategies.

Need this also :D Thank you for your work, that's one of the best packages I have used for Nuxt 3.

I think this might not be needed anymore in v3, if anyone can confirm.

I have a nuxt app with 3 locales (ca, en, es) after trying all three strategies i get:
prefix-> the sitemap shows only /** and /en/** which is the default locale.
prefix_and_default -> the sitemap shows only /**
prefix_except_default -> the sitemap shows only /**

The update works much better with the content module, It's picking up all the locales!
As for the rest I'm only getting the default route in the sitemap.
Using prefix_except_default and exactly same experience as mentioned above.
Live sitemap picks up all content based routes with locales but other routes are ignored.
Example:
/blog - Present
/ko/blog - Missing
/zh/blog - Missing
Here's my Configuration / repo

There were a few bugs found around how the i18n integration was working if you were using inline options, these are fixed in 3.0.15.
I've added a docs page for the i18n integration that may provide further help.
Any StackBlitz reproductions you can provide of things not working (you can use https://stackblitz.com/edit/nuxt-starter-jwuie4?file=app.vue as a starter), would be helpful :pray:

The i18n logic has been updated to correctly show all i18n URLs will all hreflands and add a x-default for default lang routes.

Hi,
I just try your last version (3.1.3), and the update apply about i18n integration are very nice !
I have just one question about include property:
When we use multiple custom sitemaps we need to define wich links are added into each sitemap with include attribute. But with i18n, we need to add all locales availables into include attribute like this:
sitemaps: {
  main: {
    include: [
      '/en/auth/**', '/en/search/', '/en/privacy-policy', '/en',
      '/fr/auth/**', '/fr/search/', '/fr/privacy-policy', '/fr'
    ]
  },
  versions: {
    include: ['/en/version/**', '/fr/version/**']
  },
  information: {
    include: ['/en/information/**', '/fr/information/**']
  }
}

I don't kow if you can manage this case (with a marker for example to have something like this:
sitemaps: {
  main: {
    include: ['/[locale]/auth/**', '/[locale]/search/', '/[locale]/privacy-policy', '/[locale]']
  },
  ...
}

Or any other way to handle all locale automatically with include (and exclude) attributes.
I make this little reproduction stackblitz if this use case.

As of 3.1.3, the i18n logic has been updated:

will now correctly show all i18n URLs with all hreflangs
x-default added for default lang
hreflang will now use the locale iso if available (over the code).

Got it working with this version, all urls now showing up in sitemap!
Thank you Harlan 🎉 😄

Hey everyone,
I'm having some issues with dynamic URLs. I cannot seem to find a solution that fixes my problem.
I'm using the i18n strategy prefix and the dynamic URLs I'm injecting do not have any prefix.
If I consider adding them myself, then the alternative links are wrong and I'd prefer avoiding doing this myself anyway.
See on Stackblitz
"@nuxtjs/i18n": "^8.0.0-beta.13",
"nuxt": "^3.6.5",
"nuxt-simple-sitemap": "^3.1.8",

// nuxt.config.ts
export default defineNuxtConfig({
  // ...
  i18n: {
    strategy: 'prefix',
    defaultLocale: 'en',
    locales: [
      { code: 'fr', iso: 'fr' },
      { code: 'es', iso: 'es' },
      {code: 'en', iso: 'en'}
   ],
  },
  site: {
    url: 'http://localhost:3000',
  },
  sitemap: {
    autoAlternativeLangPrefixes: true,
    xsl: false
  }
})

Entry for non-dynamic URL:
<url>
        <lastmod>2023-08-03T09:13:24+00:00</lastmod>
        <loc>http://localhost:3000/en/definitions</loc>
        <xhtml:link rel="alternate" hreflang="fr" href="http://localhost:3000/fr/definitions" />
        <xhtml:link rel="alternate" hreflang="es" href="http://localhost:3000/es/definitions" />
        <xhtml:link rel="alternate" hreflang="en" href="http://localhost:3000/en/definitions" />
        <xhtml:link rel="alternate" hreflang="x-default" href="http://localhost:3000/en/definitions" />
    </url>

Entry for dynamic URL injected via server/api/_sitemap-urls.ts
<url>
        <lastmod>2023-08-22T13:39:17+00:00</lastmod>
        <loc>http://localhost:3000/definitions/river</loc>
        <xhtml:link rel="alternate" hreflang="x-default" href="http://localhost:3000/definitions/river" />
        <xhtml:link rel="alternate" hreflang="fr" href="http://localhost:3000/fr/definitions/river" />
        <xhtml:link rel="alternate" hreflang="es" href="http://localhost:3000/es/definitions/river" />
        <xhtml:link rel="alternate" hreflang="en" href="http://localhost:3000/en/definitions/river" />
    </url>

The <loc> is missing the prefix and the x-default just also has a prefix.
Expected:
<url>
        <lastmod>2023-08-22T13:39:17+00:00</lastmod>
        <loc>http://localhost:3000/en/definitions/river</loc>
        <xhtml:link rel="alternate" hreflang="x-default" href="http://localhost:3000/en/definitions/river" />
        <xhtml:link rel="alternate" hreflang="fr" href="http://localhost:3000/fr/definitions/river" />
        <xhtml:link rel="alternate" hreflang="es" href="http://localhost:3000/es/definitions/river" />
        <xhtml:link rel="alternate" hreflang="en" href="http://localhost:3000/en/definitions/river" />
    </url>

Am I missing something?
Thanks for the help!

Thank you for the detailed post @vdlbk.
I've done some more work on i18n based on what you've sent. Please see the release notes https://github.com/harlan-zw/nuxt-simple-sitemap/releases/tag/v3.2.0

Hey @harlan-zw! Thanks for the quick reaction, I really appreciate it!
Using 3.2.0, I can change the value of  sitemaps to undefined | true | false, it gives me every time hasDisabledSitemaps: true. So it's generating the same sitemap with every link in it (Similar to the problem n°2 I'm mentioning below). With the 3.2.2, it seems to work better.
Still, I tried on Stackblitz  and locally on my project, and I have on both the same problems.

When sitemaps === undefined (or empty), no index sitemap is generated for each locale. Only the default. And we are missing the last updated date. Is that something to do with an i18n configuration now? I'm guessing not.

When sitemaps === false, some entries are missing the last updated date, and there are wrong links. Looks like some of the locale prefixes are being mixed together sometimes. But we can also see some valid links.

Many thanks for your help and time! 🚀

Sorry @vdlbk, I tested this out by using locales as a string array (['en', fr']) without testing for object entries ([{ code: 'en', iso: 'en-AU' }]) :facepalm: Appreciate your screenshots!
Can you please try 3.2.3. I've tested it out on your StackBlitz repo and it looks correct (https://stackblitz.com/edit/nuxt-starter-kq6gnw?file=nuxt.config.ts)

No worries @harlan-zw, happy to see you spotted quickly the reason behind this!
But I'm curious to understand why we strip non-prefixed URLs instead of adding the prefix? Especially in the prefix strategy where we expect every URL to have a prefix. Does it means for dynamic URLs I should add the prefix myself?
And it does not look to work properly.
In the version 3.2.3, for my example with locales en and hr, we can see these 4 URLS :

URL
Comment
valid?

http://localhost:3000/en/definitions
Non-dynamic URL
✔

http://localhost:3000/definitions/river
Dynamic URL missing the locale prefix en
🔴

http://localhost:3000/hr/definitions
Non-dynamic URL
✔

http://localhost:3000/hr/definitions/river
Dynamic URL with the locale prefix hr
✔

In the version 3.2.4, the http://localhost:3000/definitions/river got stripped because it misses the prefix, while http://localhost:3000/hr/definitions/river no. But as it is also a dynamic URL and has it "received" the prefix somehow, it's not stripped. Do you know why the default locale was not added to dynamic URLs?
Because if I change the defaultLocale to hr, then it's the opposite that happens, the en URL is here and the hr URL got removed.
The expected output should be the following URLs in the sitemap:

URL
Comment

http://localhost:3000/en
Non-dynamic URL

http://localhost:3000/hr
Non-dynamic URL

http://localhost:3000/en/definitions
Non-dynamic URL

http://localhost:3000/hr/definitions
Non-dynamic URL

http://localhost:3000/en/definitions/river
Dynamic URL with the locale prefix en

http://localhost:3000/hr/definitions/river
Dynamic URL with the locale prefix hr

http://localhost:3000/en/about
Non-dynamic URL

http://localhost:3000/hr/about
Non-dynamic URL

Also, do you know why some entries are missing the last update date?
Adding the defaults configuration does not change the deal.

Nice, almost there :crossed_fingers: 3.2.5 is looking better but maybe you can confirm
https://stackblitz.com/edit/nuxt-starter-kq6gnw?file=package.json

It's working as expected. It's neat! Well done @harlan-zw, you did a great job here! 👏

Thank you for your amazing help @vdlbk!

@harlan-zw I was using nuxt-seo-kit and it was not the version 3 for nuxt-simple-sitemap.
https://github.com/harlan-zw/nuxt-seo-kit/blob/main/layer/package.json

@LeCoupa are you using @nuxtseo/module v2.0.0-beta?

I am using<EMAIL_ADDRESS>

@luca-smartpricing I am facing the same problem, Could you solve it?

there isn't a compostable that i can use to set dynamic custom alternative language directly on the page? I have a blog but the articles URL are different for every lang Example:
// blog section
en/blog/a-simple-article
it/blog/un-semplice-articolo
de/blog/een-eenvoudig-artikel

// guide section
en/guide/a-simple-guide
it/guide/una-semplice-guide
de/guide/een-eenvoudig-handleiding

// case-study section
en/case-study/a-simple-post
it/case-study/un-semplice-post
de/case-study/een-eenvoudig-post

What's the best practice to implement alternate langs in this case?

You can use the i18n.pages config or the defineI18n composable, just make sure you set the strategy to no_prefix I think

Hi 👋
I'm having some issues with i18n support. Please find below a partial from my en-US-sitemap.xml. Notice the lines marked with ❌, these urls/pages do not exist. I've been using Vue for years but its my first time using Nuxt and this sitemap package, so its totally possible I am doing something silly.
Thank you for the efforts! 🙌

我的i18n设置了domain模式，在这种情况下启用autoI18n，sitemap中不能得到正确的网页地址。

There is a question where I want to set up a sitemap using the dynamic URLs feature, and the URLs are different in different languages, how to avoid generating all versions of this URL?

In the v4 release there have been many more improvements to i18n. I've updated the i18n documentation here.
I'm going to close this issue off as I believe all major issues are solved, anything further will just be proper documentation.
Please let me know if you have any problems with a new issue and I'll do my best to help.


Use $line-height variable for .input-group-addon line height

To avoid this when setting a bigger $line-height with flexbox enabled:

line-height should be the same as on body, and .form-control
<fieldset class="form-group">

		$
		<input type="text" class="form-control" placeholder="Username" aria-describedby="sizing-addon2">

</fieldset>

/CC @mdo

Pretty sure v4's latest code for these are fine as they are. Punting on this for now.

Confirmed fixed in current v4-dev.


Support for nested tags in the icon marker editor

I have the following snippet in the icon marker editor ...
"#person/family": {
"prefix": "fas",
"icon": "fa-user",
"markerColor": "yellow"
}
The works fine for me but beside person/family I have also a person/work tag and person/sport tag, and more ... .
I would like to have all my person's with a location be shown on the map. So something like "#person/*" would be perfect but that does not seems to work.
I could use multiple entries for all my different person/?? tags but is not an optimal solution. Would be great if you could support nested tags.

That sounds super useful. I'll do that.

Added in the new version :) You can now use #person* or #person/*.

Thanks ... that works great 👍

Thanks ... that works great 👍

How does this work, please? My computer knowledge is very weak

In the Map View configuration, under "edit the marker icons (advanced)", any tag can have a * symbol to denote more characters: e.g. if you change #trip to #trip* it would also match tags like #trip-to-hawaii.
Note this is an advanced setting, it is currently not as user-friendly as I'd like it to be, and it's unfortunately too easy to get wrong.


vimPlugins: turn filetype and syntax before sourcing the plugins

Motivation for this change
Vim Terraform expects the filetypedetect group to exist. However, since we were enabling the filetype and the syntax after loading the plugins, it was exiting with an error preventing us from generating the remote plugins manifest with the plugin enabled. See #65894 for context.
Things done

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

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

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

Notify maintainers
cc @timokau @gloaming @manveru @rvolosatovs
closes #65894

Tested with neovim on NixOS only. Reviewer: Please test with Vim as well as Darwin!
nix-build -I nixpkgs=. -E 'with import <nixpkgs> {}; neovim.override { configure = { vam.pluginDictionaries = [ "vim-terraform" ]; }; }' --show-trace

Not sure this is a good idea. The issue linked by @gloaming mentions that they

are not sure if filetype on can be completely undone
each filetype on adds ~100ms overhead

Not sure this is a good idea. The issue linked by @gloaming mentions that they
* are not sure if `filetype on` can be completely undone

* each `filetype on` adds ~100ms overhead

We already had it in the vimRC. I merely moved it to the top.

EDIT: I see what you mean, sorry for missing your point. Another way to solve this is to enable this patch only for the manifest generation. It might still break the result vim. I'll give it a shot.

@timokau It seems to work for me if I enabled at the top only for generating the manifest. What do you think of this approach?

I don't think you missed my point; On the contrary, I missed that we already set filetype on. Not sure why we do that, not really our place to change the defaults. But since we already do...
But then there's still justinmk's point in https://github.com/neovim/neovim/pull/6596#issuecomment-297459887 that this may interfere with plugin managers. So your new solution is probably better. Not sure why plugin managers do the filetype off/filetype on dance in the first place though.

Instead of earlyFiletype, maybe we want a more general beforePlugins escape hatch? Then we could just say beforePlugins = "filetype ident on". Paying the 100ms twice only for the manifest generation shouldn't matter.

@timokau sure that sounds like a good idea. I've added beforePlugins and afterPlugins as it makes sense to have both. Obviously, the manifest generation only needs the beforePlugins.
PTAL

Isn't afterPlugins == customRC? I wonder what other plugin managers do. If they also don't set filetype on, how is it plugins like vim-terraform don't fail for them?

PTAL

I don't know that acronym.

Isn't afterPlugins == customRC?

That's right. I removed it then.

I wonder what other plugin managers do. If they also don't set filetype on, how is it plugins like vim-terraform don't fail for them?

I'm not sure actually, that's a good question. We could take this discussion on a separate issue and look deeper into plugins. Maybe @junegunn could chime in here as well.

PTAL

I don't know that acronym.

Please Take Another Look :)

I wonder what other plugin managers do. If they also don't set filetype on, how is it plugins like vim-terraform don't fail for them?

I'm not sure actually, that's a good question. We could take this discussion on a separate issue and look deeper into plugins. Maybe junegunn could chime in here as well.

Right, I'm fine with merging this for now if it fixes the immediate build failure :+1:. Anything else can be done as a followup.

Please Take Another Look :)

Good to go :)


Hangs after upgrade to 3.0

Updated to 3.0 and Mancy hung will starting up the first time. Main window is shown just in empty state... no line for input and not bottom toolbar. Quitting and restarting resulted in the same. Only upon deleting ~/Library/Application Support/mancy and restarting did Mancy start fully.

I'm having the same issue


Please invite me to the Recode-Hive GitHub Community Organization

Name
Deepak
Discord Username (if applicable)
arrowmx
Additional Context
I am passionate about open-source development and believe that joining the Recode-Hive community will help me learn, collaborate, and contribute effectively to impactful projects. Being part of this community will allow me to connect with like-minded developers, improve my coding skills, and share my knowledge while learning from others. Additionally, I am excited about the opportunity to work on real-world projects and grow as a developer within a supportive and innovative environment.

Invitation sent to join the GitHub Organisation. Welcome to the community 🎉
Don't forget after accepting to make it public so it appears on your GitHub profile for everyone else to see. You can do this by finding your name in the GitHub organisation list and change the dropdown to public https://github.com/orgs/recodehive/people


Start using Cake.Recipe

@jzeferino @louisfischer are you guys familiar with the package of scripts that I have created called Cake.Recipe?
This is used on almost all the addin's within the Cake-Contrib Organisation, which means there are consistent builds across all the repositories, and when a change is made to Cake.Recipe, it can be applied across all the repositories.

I don't think we are. We'll take a look when we have time.
Does it have any minimum requirements regarding the Git branching model?

@luisgoncalves Cake.Recipe works best when you are using GitFlow, which you seem to be set up to use, but it is not a requirement.
Would you be interested in me putting a PR together to add Cake.Recipe to this repo?

@gep13  can you elaborate a bit more whats the benefits of Cake.Recipe? What are the implications of using it?
You can PR it.

@jzeferino sure thing....
Over the course of creating around 10 addins, and then helping to support another 40 within the Cake Contrib Organisation, it became clear that the builds that are being done are almost exactly the same (only a few minor differences between each).  When adding a new step into the build process (for example sending a notification to Gitter or Twitter when a release succeeds), that functionality had to be added to all repositories.  Cake.Recipe is a collection of Cake Build Tasks which are deployed as a NuGet Package, and which is restored when the build starts.  As a result, a new build step (for example, the addition of GitLink to allow source code debugging of addins) can be added in one place, and automatically pushed out to all repositories without needing to change things in lots of places.
Cake.Recipe including all of the major builds steps that are typically required, i.e:

Build (support for both MSBuild and XBuild)
Testing (support for NUnit, xUnit, VSTest, Fixie)
Test Report Generation using ReportUnit
Code Coverage Generation using OpenCover
Uploading of Code Coverage results to Coveralls.io
Analysis (using DupFinder, InspectCode)
Notifications (Twitter and Gitter)
Semantic Versioning
Release Notes generation
Creation of NuGet and Chocolatey Packages
Publishing to MyGet, NuGet, Chococolatey
AppVeyor integrations for pushing artifacts, etc
Wyam Documentation generation and publishing of site
Probably a few more things that I can't think of just now

All of the above are configurable in what I refer to as a setup.cake file, so you can choose which ones to run and which ones to not.  The tasks are also based on some conventions, i.e. where you place certain files on the file system within the project, which can also control which tasks are executed.
Please let me know if you have any questions.

So, if I understood correctly, it's just a matter of installing the NuGet package and adding the setup.cake file with the appropriate flags and parameters. Sounds good!

@luisgoncalves yes, that pretty much sums it up.  I might have to move some files around on the file system to put them into the correct convention driven folder as well.

@gep13 feel free to PR with the first implementation. Thanks for the contribution.

@jzeferino yes, I haven't forgotten about this, it is on my list of things to do.


Pod Controller Output Menu

When you select the output of a pod Controller, it does not start at the top (W), it starts at the second option (A).

The wire tool will try to automatically move the cursor to an output with the same name as the selected input. If you've selected an input named "A" it'll start there. Here's what happens when selecting an input named "Space" from an E2

If you select an input that doesn't match anything, it'll use whichever it tried the last time.

I suggest asking simple questions like this on the discord https://discord.gg/H8UKY3Y to get help faster.
If you're unsure if it's a bug you can ask on discord first and if someone says it's a bug you can then create a bug report here on github.


Add nodes_to_linequbits method to LineTopology

Resolves #4710

Two final small suggestions - please add them in.
Otherwise it looks good to me. Thank you!

Thanks! I've added the changes!


MacOS error:  dyld: lazy symbol binding failed:  ai.djl.pytorch 1.7.0

_## Question
Really enjoying using this library for deep learning  but I have come across an error I cannot seem to solve. I am trying to load a model and get the following errors when I call predictor.predict
dyld: lazy symbol binding failed: Symbol not found: __ZN3c104impl23ExcludeDispatchKeyGuardC1ENS_11DispatchKeyE
  Referenced from: /Users/au671271/.djl.ai/pytorch/1.7.0-SNAPSHOT-cpu-osx-x86_64/0.8.0-SNAPSHOT-cpu-libdjl_torch.dylib
  Expected in: /Users/au671271/.djl.ai/pytorch/1.7.0-SNAPSHOT-cpu-osx-x86_64/libc10.dylib

dyld: Symbol not found: __ZN3c104impl23ExcludeDispatchKeyGuardC1ENS_11DispatchKeyE
  Referenced from: /Users/au671271/.djl.ai/pytorch/1.7.0-SNAPSHOT-cpu-osx-x86_64/0.8.0-SNAPSHOT-cpu-libdjl_torch.dylib
  Expected in: /Users/au671271/.djl.ai/pytorch/1.7.0-SNAPSHOT-cpu-osx-x86_64/libc10.dylib

I originally thought this might be an error in my g++ toolchain, however, if I downgrade the version to of a.djl.pytorch in Maven, to 1.6.0 the error no longer occurs.
	<dependency>
		<groupId>ai.djl.pytorch</groupId>
		<artifactId>pytorch-native-auto</artifactId>
		<version>1.7.0-SNAPSHOT</version> <!--v1.6 works, 1.7 does or 1.7-SNAPSHOT does not-->
		<scope>runtime</scope>
	</dependency>_

I'm a bit lost on how to solve this? Does anyone have any tips?
The full code is here and I was using the main class PyTorch2JavaTestdjl
Thanks in advance for any help.

Hi, friend，from the exception, it seems to be a version dependency problem，Please wait patiently for the official djl team to ask you to answer this question，You can look at this url bump up pytorch version

@macster110 Most likely is version mismatch.
pytorch-native:1.7.0 need to work with pytorch-engine:0.9.0-SNAPSHOT version. And be sure clean the cache:

rm -rf ~/.djl.ai/pytorch
./gradlew clean

Thanks @Jzow and @frankfliu. You are right, updating my Maven pom.xml to 0.9.0-SNAPSHOT for all djl.ai dependecies did the trick. Thanks for the help!


feat: Create custom artists when adding collected artists

Description
This PR adds functionality to create custom artists in the add collected artists flow. It also does some refactoring :)
Success:
https://github.com/artsy/eigen/assets/4691889/a573dd48-3201-4e33-97a3-564301bb9662
Error Handling:
https://github.com/artsy/eigen/assets/4691889/9557c425-98a8-4d1e-9c10-6e9dff75c134
PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

Create custom artists when adding collected artists - ole

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.


Split the code to small functions and add tests

Although we have +-80% of test coverage, many error cases have been found and the complexity of the code has increased. It's also a great time to use more ES6 features, fix syn|async issues, organize more the code etc.

related to #207

Now the 2 main files to focus is file-writer.js and license-dependency.js
to try to split in small functions and add tests.
Ofc apply ES6 feature in case needed and move functions/code to the responsible.


update(deploy/kubernetes): Falco deployment files

Updating Falco deployment files (automatically generated by helm template). Made using the update-falco-k8s-manifests ProwJob. Do not edit this PR.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: poiana
To complete the pull request process, please assign maxgio92 after the PR has been reviewed.
You can assign the PR to them by writing /assign @maxgio92 in a comment when ready.
The full list of commands accepted by this bot can be found 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

@poiana: There is not a label identifying the kind of this PR.
Please specify it either using /kind <group> or manually from the side menu.

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.

LGTM label has been added.  Git tree hash: f3552a39f42a09e6dc35025130edb6c41a092d24


custom url path for multi-page entries

Description
There is a situation that the entry HTML is from node_modules, and the access url would be like <domain>/node_modules/swagger-ui-dist/oauth2-redirect.html
import path from 'path';
import { defineConfig } from 'vite';

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    rollupOptions: {
      input: {
        index: path.resolve(__dirname, 'index.html'),
        oauth2Redirect: path.resolve(__dirname, 'node_modules/swagger-ui-dist/oauth2-redirect.html'),
      },
    },
  },
});

Suggested solution
I wish I could set the route in vite.config.ts, so I can access via <domain>/oauth2-redirect
import path from 'path';
import { defineConfig } from 'vite';

// https://vitejs.dev/config/
export default defineConfig({
  build: {
    rollupOptions: {
      input: {
        index: path.resolve(__dirname, 'index.html'),
        oauth2Redirect: {
           path: path.resolve(__dirname, 'node_modules/swagger-ui-dist/oauth2-redirect.html'),
           route: 'oauth2-redirect'
        },
      },
    },
  },
});

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Duplicate of #3428


Throw exception when a future gets a message it does not expect.

I keep screwing up responses.  This at least tells me when I send a bad message and the future isn't frozen anymore.
I'm sure there's maybe a nicer way to do this.
I wish I could also tell then a future process's message is processed but no reply was sent at all.  This is also a problem I have when developing.

Looks good.

wish I could also tell then a future process's message is processed but no reply was sent at all. This is also a problem I have when developing.

I'm not quite following here, could you expand on this?

If I forget to respond to a message the caller is sat waiting for a reply that won't return.  I was hoping to also get an exception after a message is processed but no reply was sent.  Not sure it's possible but wanted to ask.

@adamhathcock If you use RequestAsync, you can set a timeout after which the associated Task will fail. There's isn't really any way that the framework could determine that an actor should have responded.


Can i set progress to exact number in between seekbar sections.

I want to set progress in between 60 and 40 it could be any number .But when i set on 49 it set on 40 and when i set on 57 it set on 60,
Is that possible to set on exact particular number ?

@jishantmed yes , please see the latest version which is provided attr isb_thumb_adjust_auto =  false
, or by java code indicatorSeekbar.setThumbAdjustAuto(false)


Adding a dict default formatter, returning an empty string

If this is the correct solution remains to be seen, but it seems to work wonders
with the the sqlalchemy athena driver (For now, available here: https://github.com/dwa/PyHive/tree/dwa-tobii-sqlalchemy-athena)

I will close this, as I don't think this is the right solution.


OpenAI Assistant - Single conversation/thread with multiple messages

I'm trying to assert the result of an OpenAI Assistant as per the docs here: https://www.promptfoo.dev/docs/guides/evaluate-openai-assistants/ but can't find a way to prepend the new test messages to a previous thread/conversation, there's a way to do this?
ie:
prompts:
  - '{{message}}'

providers:
  - openai:assistant:...
tests:
    vars:
      message: ['Who founded Facebook?', 'When was he born?'] # the last message here is not added to the assistant thread

You'd have to build multiple messages into the prompt itself, for example by having a variable for previous chat messages.  See https://www.promptfoo.dev/docs/configuration/chat/

@typpo I was able to use the prompt in that configuration for simulating a conversation, now I have a different problem: I want to have multiple different conversations to be part of a single test suite, there's a way to do this?
Something like this:
description: ''

prompts: [prompt.json]

providers:
 - openai:gpt-4o

tests:
  - description: "Conversation 1"
    - vars:
        question: Who founded Facebook?
    - vars:
        question: Where does he live?
    - vars:
        question: Which state is that in?
  - description: "Conversation 2"
    - vars:
      question: Who founded Twitter?
    - vars:
      question: "Is he into Bitcoin?"

Where ideally, each vars could have its own assertion as well.


500 error We're sorry, but something went wrong.

Getting this when I deployed after following your steps with the heroku button. It seemed to install perfectly but when opening the app I get the "We're sorry, but something went wrong." error message.
My logs are below the image, not sure what to do. I saw in a related issue someone had an outdated version but mine is direct from the heroku button on the github code page in your readme.

--LOGS--
2016-08-24T21:09:21.835126+00:00 app[web.1]: Completed 500 Internal Server Error in 126ms
2016-08-24T21:09:21.835623+00:00 app[web.1]:   app/controllers/invite_controller.rb:125:in app' 2016-08-24T21:09:21.835626+00:00 app[web.1]:   app/controllers/invite_controller.rb:150:in set_app_details'
2016-08-24T21:09:21.835626+00:00 app[web.1]:
2016-08-24T21:09:21.835625+00:00 app[web.1]:   app/controllers/invite_controller.rb:135:in app_metadata' 2016-08-24T21:09:21.818506+00:00 heroku[router]: at=info method=GET path="/" host=hurdle-customer-beta.herokuapp.com request_id=a32f118f-f75f-45db-a39a-1f3662f9eb48 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=129ms status=500 bytes=1669 2016-08-24T21:11:13.335614+00:00 app[web.1]: Started GET "/" for <IP_ADDRESS> at 2016-08-24 21:11:13 +0000 2016-08-24T21:11:13.336160+00:00 app[web.1]: Processing by InviteController#index as HTML 2016-08-24T21:11:13.455621+00:00 app[web.1]:   app/controllers/invite_controller.rb:150:in set_app_details'
2016-08-24T21:11:13.455621+00:00 app[web.1]:
2016-08-24T21:11:13.440151+00:00 heroku[router]: at=info method=GET path="/" host=hurdle-customer-beta.herokuapp.com request_id=bca36c3f-3432-4ac2-b952-bfaec52b3112 fwd="<IP_ADDRESS>" dyno=web.1 connect=2ms service=122ms status=500 bytes=1669
2016-08-24T21:11:14.215861+00:00 heroku[router]: at=info method=GET path="/favicon.ico" host=hurdle-customer-beta.herokuapp.com request_id=77453b6e-ab4d-4f9d-9cc0-912a5c834120 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=2ms status=200 bytes=143

it was a username permissions thing, i figured it out, had to use the master account


Update S2A context proto with local identity and credentials info.

Thanks for the quick review @rmehta19!


Improve alignment of directive behavior with GraphQL spec

Before, only the skip and include directives were included in schema introspection. This PR adds all built-in directives to the introspection result (always), and to the SDL export (only when they are used) to better align with the latest GraphQL working draft specification.
Fixes #1187.

All tests pass now, and I added some tests to verify the correctness of the changes.
Ready to merge if you approve of the changes @sunli829.

thanks! 🙂


runOnInit exits with code 0 continously when using rtsp source

Which version are you using?
v0.20.0
Which operating system are you using?

[ ] Linux amd64 standard
[x] Linux amd64 Docker
[ ] Linux arm64 standard
[ ] Linux arm64 Docker
[ ] Linux arm7 standard
[ ] Linux arm7 Docker
[ ] Linux arm6 standard
[ ] Linux arm6 Docker
[ ] Windows amd64 standard
[ ] Windows amd64 Docker (WSL backend)
[ ] macOS amd64 standard
[ ] macOS amd64 Docker
[ ] Other (please describe)

Describe the issue
If using the runOnInit-command to re-stream an external rtsp stream the command continously exits with code 0 and never actually streams.
Describe how to replicate the issue

start the server with the following configuration (using your own rtsp/rtmp servers or public ones):

paths:
  relay:
    source: rtsp://<rtsp-server>/stream
    runOnInit:
        ffmpeg -rtsp_transport tcp -i rtsp://<rtsp-server>/stream -c copy -f flv rtmp://<rtmp-server>/app/relay

See the logs:

origin_1  | 2022/10/12 15:53:33 INF rtsp-simple-server v0.20.0
origin_1  | 2022/10/12 15:53:33 INF [path relay] [rtsp source] started
origin_1  | 2022/10/12 15:53:33 INF [path relay] runOnInit command started
origin_1  | 2022/10/12 15:53:33 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:53:33 INF [RTSP] listener opened on :8554 (TCP), :8000 (UDP/RTP), :8001 (UDP/RTCP)
origin_1  | 2022/10/12 15:53:33 INF [RTMP] listener opened on :1935
origin_1  | 2022/10/12 15:53:33 INF [HLS] listener opened on :8888
origin_1  | 2022/10/12 15:53:34 INF [path relay] [rtsp source] ready: 2 tracks (MPEG4Audio, H264)
origin_1  | 2022/10/12 15:53:38 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:53:43 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:53:48 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:53:53 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:53:58 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:03 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:09 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:14 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:19 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:24 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:29 INF [path relay] runOnInit command exited with code 0
origin_1  | 2022/10/12 15:54:34 INF [path relay] runOnInit command exited with code 0

Try the same using ffmpeg directly (without rtmp-simple-server):
ffmpeg -rtsp_transport tcp -i rtsp://<rtsp-server>/stream -c copy -f flv rtmp://<rtmp-server>/app/relay
Using rtsp-simple-server is not working, but ffmpeg command directly does

Did you attach the server logs?

no
Did you attach a network dump?

no

I tried to open an issue 3 times with the issue template and it still gets closed all the time. Seems buggy.


Re-import annotations from S3 target storage

Is your feature request related to a problem? Please describe.
While it is possible to export annotations to a S3 target storage, it is not possible to import previously created annotations from there.
In my scenario, one label-studio (LS) instance is run on a temporary cloud server. As soon as the dataset is labelled and the annotations exported to the target bucket, the cloud instance is deleted. Now, lets say I want to import the labelled data into another, central LS instance, which does not get deleted. Now the pain begins, as I have to use a python script to read out the json files from the target storage and convert them into a json task, that I can then manually import to the central LS instance. This instance then creates new annotation files with new names. If I want to export these to an S3 target I either have to remove the old annotation files or use a new bucket. Both options are too complex.
Describe the solution you'd like
I want to use the annotation target storage as source storage to import the annotations into new LS instances. After import, I want to update the annotations and export them again to the same storage.
If this doesn't make sense, maybe point out how the standard workflow is designed, if there is one? We use temporary LS sintances on temporary servers that get deleted after labeling, only the S3 target exports remain after deletion.
Describe alternatives you've considered
As written above, currently I use python to download the annotations from the target S3 and convert them to a task file, which I then import to LS.
Additional context
Add any other context or screenshots about the feature request here.

I am facing the same issue

@dgormly @pdlje82
There is a special environment variable that changes the behavior of Target Storages to write tasks as Label Studio JSON Task Format, not as annotations, is FUTURE_SAVE_TASK_TO_STORAGE. When set to 1 or true, tasks will be saved using the task ID as the filename stem, and the format of the target file contents will be in the standard Label Studio task format, which is suitable for re-importing tasks using the Label Studio Import dialog.
To import annotations from an S3 target storage into a new Label Studio instance, you can follow these steps:

Run Label Studio with this env var or add it into your environments vars:

FUTURE_SAVE_TASK_TO_STORAGE=1 label-studio

Create a new project. Import new tasks.

Add a Target Storage (S3/GCS/Local) in the Project settings.

It's recommended to use a separate folder to store annotations, because they don't have an extention (just task ids as filenames) and it might be difficult to separate them from other files.

Submit annotations.

Newly added annotations will be written to the Target Storage.
Or you can explicitly save annotations from scratch clicking Sync button on the Target Storage card in the Project settings.

Configure the Source Storage (S3/GCS/Local) in the new Label Studio instance:

Use the save bucket and prefix as you used for the Target Storage.
Click Sync button on the Source Storage card.

Now tasks with annotations should be re-imported from the previously exported tasks on the Target Storage of the old LS instance.

Related issue: https://github.com/HumanSignal/label-studio/issues/2512#issuecomment-1423548314

I am sure that FUTURE_SAVE_TASK_TO_STORAGE=1 env var is set properly. Here is one of output json 3123.json :

It seems that the prediction serialization is not supported.
You have to remove all predictions, then sync the target storage and try to re-sync source storage for the re-import.

Probably, this line should be fixed:
 expand = ['annotations.reviews', 'annotations.completed_by', 'predictions']

After following these steps:

Clear target storage in Step 2

2.Add a Target Storage (S3/GCS/Local) in the Project settings.

Delete all predictions

3123.json now have no predictions content

But new error message came:
Error logs for s3 storage 7 in project 8 and job null:

  File "/label-studio/label_studio/./tasks/serializers.py", line 68, in create
    raise AnnotationDuplicateError()
tasks.exceptions.AnnotationDuplicateError: Annotation with this unique id already exists

meta = {"attempts":6,"duration":0.194515,"time_queued":"2024-05-20 14:51:00.266912+00:00","time_failure":"2024-05-20 14:51:00.464046+00:00","time_last_ping":"2024-05-20 14:51:00.269531+00:00","time_in_progress":"2024-05-20 14:51:00.269531+00:00"}

Is this says annotations.id should be unique across projects. As mentioned earlier, I create a new project in the old Label Studio instance and want import old tasks.

It says you already have annotation with such annotation.unique_id, it seems you've already imported it.

Thanks @makseq
It looks like annotation id should be unique across projects. After deleting tasks in old project in the same Label Studio Instance, importing goes successfully.


Add NetworkInformation to session start events.

#no-changelog

Overall LGTM, but "AppInfo having a 1-to-1 copy of NetworkInfo fields, exposing properties of an object that it owns" feels kind of weird to me. I don't know if this is a well known pattern and if it's good practice or not. I tried to Google/Moma this to find guidance but couldn't find anything. Any suggestions @ncooke3 ?

I like this approach. Look at NetworkInfo as a network information data provider to ApplicationInfo. ApplicationInfo is a packager of many application information including network state and packaging in SessionEvents. Secondly, this is also inline with the already existing pattern that I do not want to change it in this PR.

Overall LGTM, but "AppInfo having a 1-to-1 copy of NetworkInfo fields, exposing properties of an object that it owns" feels kind of weird to me. I don't know if this is a well known pattern and if it's good practice or not. I tried to Google/Moma this to find guidance but couldn't find anything. Any suggestions @ncooke3 ?

I like this approach. Look at NetworkInfo as a network information data provider to ApplicationInfo. ApplicationInfo is a packager of many application information including network state and packaging in SessionEvents. Secondly, this is also inline with the already existing pattern that I do not want to change it in this PR.

I think instead of re-exposing the properties of of an object it owns, we should instead just add a property networkInfo on ApplicationInfo. Since we are constructing model data here, I think we should leverage creating a hierarchy instead bubbling re-exposing fields.
protocol ApplicationInfoProtocol {
-  /// Type of network the device is connected to
-  var networkType: GULNetworkType { get }
-
-  /// Mobile subtype the device is connected to
-  var mobileSubtype: String { get }
-
-  var networkType: GULNetworkType {
-    return networkInfo.networkType
-  }
-
-  var mobileSubtype: String {
-    return networkInfo.mobileSubtype
-  }
+  /// The application's network info.
+  var network: NetworkInfo { get }
}

Additionally, while it wasn't added in this PR, NetworkInfo is a reference type. This seems like a good candidate for a value type?

@leotianlizhan Overall LGTM, but "AppInfo having a 1-to-1 copy of NetworkInfo fields, exposing properties of an object that it owns" feels kind of weird to me. I don't know if this is a well known pattern and if it's good practice or not. I tried to Google/Moma this to find guidance but couldn't find anything. Any suggestions @ncooke3 ?

I like this approach. Look at NetworkInfo as a network information data provider to ApplicationInfo. ApplicationInfo is a packager of many application information including network state and packaging in SessionEvents. Secondly, this is also inline with the already existing pattern that I do not want to change it in this PR.

I think instead of re-exposing the properties of of an object it owns, we should instead just add a property networkInfo on ApplicationInfo. Since we are constructing model data here, I think we should leverage creating a hierarchy instead of re-exposing fields.
protocol ApplicationInfoProtocol {
-  /// Type of network the device is connected to
-  var networkType: GULNetworkType { get }
-
-  /// Mobile subtype the device is connected to
-  var mobileSubtype: String { get }
-
+  /// The application's network info.
+  var network: NetworkInfo { get }
}

Additionally, while it wasn't added in this PR, NetworkInfo is a reference type. This seems like a good candidate for a value type? Was this considered for ApplicationInfo as well?

That is a good suggestion @ncooke3 . I made the change. About the value type vs reference type, I totally agree - We just use reference type in all the places which is less than ideal. I'm working on a separate PR to start using value types more than reference types. I've kept it out of scope of the current PR.


No character metrics for emoji characters

Describe the bug:
Emoji characters (e.g. '🙂') are rendered with incorrect height due to missing character metrics.
To Reproduce:
Steps to reproduce the behavior:

Go to katex.org
Paste the LaTeX string: \sqrt{\char"1F642} = \text{?}
Open dev console
See warning: No character metrics for '🙂' in style 'Main-Regular' and mode 'math'
See rendering where "🙂" character is rather larger than the space allocated for it:

Expected behavior:
The emoji character "🙂" should be rendered under a square root symbol. The size of the character should be accounted for. No logs should be seen in the dev console.
Environment (please complete the following information):

KaTeX Version: 0.16.2
Device: Desktop
OS: Microsoft Windows 11 Home
Browser: Chrome
Version: 105.0.5195.127 (Official Build) (64-bit)

Additional context:
The same problem seems to happen with any other emoji character.

Note this also happens for the non-emoji character "☺", which is used in the official example for the \char function. However, it renders more sensibly (due to its smaller size).

This is the core logic for finding character metrics: https://cs.github.com/KaTeX/KaTeX/blob/ef49e2be91628e96e4fcb962b28b443930627d84/src/fontMetrics.js#L211-L249
Here we have this interesting feature:
        // We don't typically have font metrics for Asian scripts.
        // But since we support them in text mode, we need to return
        // some sort of metrics.
        // So if the character is in a script we support but we
        // don't have metrics for it, just use the metrics for
        // the Latin capital letter M. This is close enough because
        // we (currently) only care about the height of the glpyh
        // not its width.

Perhaps we can do a similar thing for emoji characters? They are all similar height, and we can check whether it's in an emoji character range.

Or more generally, can KaTeX use the TextMetrics API for fallback characters?:
> const canvas = new OffscreenCanvas(1, 1);
> const ctx = canvas.getContext('2d');
> const metrics = ctx.measureText('🙂');
TextMetrics {
  width: 13.73046875,
  actualBoundingBoxLeft: -1,
  actualBoundingBoxRight: 12,
  actualBoundingBoxAscent: 9,
  actualBoundingBoxDescent: 2,
  …
}

I'm not sure how/whether these numbers correspond to KaTeX's metrics, though ...

Hmm, I haven't actually made my primary pain clear: my server-side logs are littered with thousands of lines like
[2022-09-22 07:24:52] No character metrics for '🐦' in style 'Main-Regular' and mode 'text'
[2022-09-22 07:24:52] No character metrics for '🦅' in style 'Main-Regular' and mode 'text'

That's due to this TODO
// TODO(emily): Figure out a good way to only print this in development

I'd be reasonably happy if I could just get these lines to go away in production.

(I just opened https://github.com/KaTeX/KaTeX/issues/3720 for the logging issue, as I think it's a different problem.)

KaTeX only has and uses metrics for its own fonts, hence the error. For server-side rendering (which you're using it seems), we can't use the TextMetrics API (even if present, we wouldn't know what fonts the client would use).

Note this also happens for the non-emoji character "☺" (\char"263a), which is used in the official example for the \char function.

Perhaps we should add a note in the documentation there about character metrics so the vertical spacing is likely off.

Perhaps we can do a similar thing for emoji characters? They are all similar height, and we can check whether it's in an emoji character range.

Is this actually true (reference?), or does the relative height depend on the specific emoji font / operating system? Even if it's approximately true, this would seem like a good fix for emoji.

Perhaps we can do a similar thing for emoji characters? They are all similar height, and we can check whether it's in an emoji character range.

Is this actually true (reference?), or does the relative height depend on the specific emoji font / operating system? Even if it's approximately true, this would seem like a good fix for emoji.

It does seem at least approximately true that, for a given emoji font, all characters are the same width and height. E.g. see the grids of emojis at https://getemoji.com/. It's not formatted as a grid, they're just all the same width. Hacky way to check the heights are also the same: set writing-mode: vertical-rl, and observe that they're still all in a grid.
The width+height certainly seems to vary by font, but perhaps we can just pick a size that approximates common emoji fonts?

The width+height certainly seems to vary by font, but perhaps we can just pick a size that approximates common emoji fonts?

Yes, this seems reasonable. I think it would be useful to do something like this, given that KaTeX isn't ever going to include its own emoji font, but supporting them at least a little better would seem helpful.
I'm not sure how to easily sample emoji fonts, as several of them are operating system specific. If you could make a TextMetrics demo page (you pretty much already have), I could run it on various operating systems via BrowserStack. We can of course also look directly at free fonts like Noto Emoji, OpenMoji, and Twemoji


Refactor alarm creation

Try to move more ownership of the alarm creation into the alarm generators as currently it is a bit weirdly split.
Should also fix an issue for SQS where you currently can't set the monitor error queue flag at group level, only at resource level. Because the config is now merged earlier and accessible at that point.

Fair. I will have another go at it.
I was trying to fix the bug around SQS config not being merged from the service and resource level and it was getting really complicated the way it was structured before . At the moment there is a bunch of different classes with loads of type arguments and it isn't really clear what is responsible for what, and a lot of the concerns are overlapping, so I was trying to delete one of them.  But can try and do something better.


Deprecate Gateset.accept_global_phase_op

Deprecates Gateset.accept_global_phase_op
Breaking Change: Changes the default value of Gateset.accept_global_phase_op from True to False. I can't think of any way to remove this parameter without eventually needing this breaking change. Currently all gatesets that are created allow global phase gates if they don't specify accept_global_phase_op=False explicitly. But the end goal is only to allow global phase gates if they're included in the gates list. So at some point in the transition the default behavior needs to break, and I can't think of a way of doing that via deprecation. Therefore I think we may as well do it now via this breaking change.
Note that even though it's breaking, it isn't breaking in a bad way. Users who are adding global phase gates to things that suddenly don't accept them will just see an error that the gate is not in the gateset, and then go add it. It's much safer than breaking in the other direction in which we silently start allowing new gate types.
Closes #4741
@tanujkhattar

Added GlobalPhase to the other gatesets. I can't think of a better way to make this more discoverable.

@tanujkhattar Added a warning in the last commit, if the value is not provided and there's no GlobalPhase in the gates. LMK what you think.


MongoDB health checks are raising user assertion errors.

I added some monitoring on a kubedb instance and noticed a weird constant increase in the user assertion type (metric name: mongodb_asserts_total):

I did some tests and found that the current form of health check is producing an assertion (error) each time it is invoked by Kubernetes. So I decided to exec into a mongodb replicaset (named coreos-prom-mgo) to see if the healthcheck is working:
livenessProbe:
  exec:
    command:
    - mongo
    - --eval
    - db.adminCommand('ping')

Becomes
$ kubectl exec -it coreos-prom-mgo-2 /bin/bash
root@coreos-prom-mgo-2:/$ mongo --eval db.adminCommand('ping')
bash: syntax error near unexpected token `('

But now if we add the double quotes:
root@coreos-prom-mgo-2:/$ mongo --eval "db.adminCommand('ping')"
MongoDB shell version v4.0.5
connecting to: mongodb://<IP_ADDRESS>:27017/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("feabacc5-80f1-4123-a06c-548710d33de3") }
MongoDB server version: 4.0.5
{
        "ok" : 1,
        "operationTime" : Timestamp(1566496903, 1),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1566496903, 1),
                "signature" : {
                        "hash" : BinData(0,"YB5v9ucra3ZOGw48YheQ/jbyHZU="),
                        "keyId" : NumberLong("6727977956066459650")
                }
        }
}

Therefore, db.adminCommand('ping') should be be surrounded by double quotes or else it will cause an assertion. Unfortunately, in Yaml, even if you do such thing, the parser will take them away.
So, I found a nice quick fix. Here is an example mongodb manifest:
apiVersion: kubedb.com/v1alpha1
kind: MongoDB
metadata:
  name: coreos-prom-mgo
  namespace: default
spec:
  version: "4.0.5-v1"
  terminationPolicy: WipeOut
  replicas: 3
  replicaSet:
    name: rs0
  podTemplate:
    spec:
      livenessProbe:
        exec:
          command:
          -  echo
          - -e
          - "--eval \"db.adminCommand('ping')\""
          -  \|
          -  xargs
          -  mongo
        failureThreshold: 3
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      readinessProbe:
        exec:
          command:
          -  echo
          - -e
          - "--eval \"db.adminCommand('ping')\""
          -  \|
          -  xargs
          -  mongo
        failureThreshold: 3
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
  storage:
    accessModes:
    - ReadWriteOnce
    resources:
      requests:
        storage: 1Gi
  monitor:
    agent: prometheus.io/coreos-operator
    prometheus:
      namespace: default
      labels:
        release: name-of-your-prometheus-release-label-value
      interval: 10s

After doing that, the asserts errors stopped their constant increase.
Lesson of the day (to myself): Watch your MongoDB metrics folks it's really important!

Looks like a good pickup! I'm currently looking at doing a proof of concept around this tool so great fix as mongo is one of the dbs i'd be evaluating! :)

I tried it and I can confirm that there is a continuous increase in mongodb_asserts_total.
There is a twist though, When you exec into pod and run mongo --eval "db.adminCommand('ping')", It may seem that it is passed but there is Unauthorized error in pod's mongod log.
2019-08-23T05:36:23.423+0000 I NETWORK  [conn27] received client metadata from <IP_ADDRESS>:59264 conn27: { application: { name: "MongoDB Shell" }, driver: { name: "MongoDB Internal Client", version: "3.6.12" }, os: { type: "Linux", name: "Ubuntu", architecture: "x86_64", version: "16.04" } }
2019-08-23T05:36:23.431+0000 I ACCESS   [conn27] Unauthorized: not authorized on admin to execute command { endSessions: [ { id: UUID("928633b8-a953-434f-b3bd-2a438464c4e5") } ], $db: "admin" }
2019-08-23T05:36:23.432+0000 I NETWORK  [conn27] end connection <IP_ADDRESS>:59264 (2 connections now open)

And, this also increases the total amount of mongodb_asserts_total.  so, mongo --eval "db.adminCommand('ping')" still generates asserts.user.
My guess, the user assertion is occuring whenever we connect without auth. So, mongodb_asserts_total is in increasing state because the default probes are connected without providing auth. https://github.com/kubedb/project/issues/609
If we replace probes with the following command, It passes successfully. Here bash is used to parse the evironment variables.
        exec:
          command:
          - bash
          - -c
          - |
            mongo --username="$MONGO_INITDB_ROOT_USERNAME" --password="$MONGO_INITDB_ROOT_PASSWORD" --eval "db.adminCommand('ping')"

So, the working yaml without increasing mongodb_asserts_total:
apiVersion: kubedb.com/v1alpha1
kind: MongoDB
metadata:
  name: mgo-replicaset
  namespace: demo
spec:
  certificateSecret:
    secretName: mgo-replicaset-keyfile
  databaseSecret:
    secretName: mgo-replicaset-auth
  monitor:
    agent: prometheus.io/coreos-operator
    prometheus:
      interval: 10s
      labels:
        k8s-app: prometheus
      namespace: monitoring
      port: 56790
    resources: {}
  podTemplate:
    controller: {}
    metadata: {}
    spec:
      livenessProbe:
        exec:
          command:
          - bash
          - -c
          - |
            mongo --username="$MONGO_INITDB_ROOT_USERNAME" --password="$MONGO_INITDB_ROOT_PASSWORD" --eval "db.adminCommand('ping')"
        failureThreshold: 3
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 5
      readinessProbe:
        exec:
          command:
          - bash
          - -c
          - |
            mongo --username="$MONGO_INITDB_ROOT_USERNAME" --password="$MONGO_INITDB_ROOT_PASSWORD" --eval "db.adminCommand('ping')"
        failureThreshold: 3
        periodSeconds: 10
        successThreshold: 1
        timeoutSeconds: 1
      resources: {}
  replicaSet:
    name: rs0
  replicas: 3
  serviceTemplate:
    metadata: {}
    spec: {}
  storage:
    accessModes:
    - ReadWriteOnce
    dataSource: null
    resources:
      requests:
        storage: 1Gi
    storageClassName: standard
  storageType: Durable
  terminationPolicy: Pause
  updateStrategy:
    type: RollingUpdate
  version: 3.6-v3

But, I am still wondering,

why the custom probes of @richerlariviere are not generating unauthorized warning in mongod log, where the defualt probes do? Both miss the authentication parameters.
The default probe does not generate unauthorized log for standalone mongodb either.

I found another Interesting issue related to mongodb ping.

Even if ping fails, the command exit code is not set to non-zero. mongodb issue: mongo --eval exits with status 0 on failure

root@mgo-replicaset-0:/# mongo --eval "db.adminCommand('ping')" --quiet
{
    "ok" : 1,
    "operationTime" : Timestamp(1566552534, 1),
    "$clusterTime" : {
        "clusterTime" : Timestamp(1566552534, 1),
        "signature" : {
            "hash" : BinData(0,"gtROXMOCrWm6MFCPUMFCXpI4AwU="),
            "keyId" : NumberLong("6728225827219046402")
        }
    }
}
root@mgo-replicaset-0:/# echo $?
0
root@mgo-replicaset-0:/# mongo --eval "db.adminCommand('ping2')" --quiet
{
    "operationTime" : Timestamp(1566552544, 1),
    "ok" : 0,
    "errmsg" : "no such command: 'ping2', bad cmd: '{ ping2: 1.0, lsid: { id: UUID(\"772b045c-96ec-4bbc-bd04-a44de99e4b85\") }, $clusterTime: { clusterTime: Timestamp(1566552544, 1), signature: { hash: BinData(0, E6A3DAAF7B64187D48437407C1FC49836AC6ACAA), keyId:<PHONE_NUMBER>219046402 } }, $db: \"admin\" }'",
    "code" : 59,
    "codeName" : "CommandNotFound",
    "$clusterTime" : {
        "clusterTime" : Timestamp(1566552544, 1),
        "signature" : {
            "hash" : BinData(0,"5qPar3tkGH1IQ3QHwfxJg2rGrKo="),
            "keyId" : NumberLong("6728225827219046402")
        }
    }
}
root@mgo-replicaset-0:/# echo $?
0

Here, Exit status will only be non-zero, if mongo cli is unable to connect to a server.

--eval is deprecated and will be unavailable after 4.2 release. https://docs.mongodb.com/manual/release-notes/4.2-compatibility/#remove-support-for-the-eval-command

So, considering both, the below command can be a solution to go with. xref: https://stackoverflow.com/a/37852368/4628962
          command:
          - bash
          - -c
          - |
            if [[ $(echo 'db.runCommand("ping2").ok' | mongo localhost:27017 --username="$MONGO_INITDB_ROOT_USERNAME" --password="$MONGO_INITDB_ROOT_PASSWORD" --authenticationDatabase=admin --quiet ) -ne "1" ]]; then
              exit 1
            fi

@the-redback Thank you so much for your response and contribution on this issue. I gathered some details if it can help.

* why the custom probes of @richerlariviere are not generating `unauthorized` warning in mongod log, where the default probes do? Both miss the authentication parameters.

My probe is generating these messages each time a new connection is made.
I NETWORK  [listener] connection accepted from <IP_ADDRESS>:44718 #6948 (6 connections now open)
I ACCESS   [conn6948] Successfully authenticated as principal root on admin

* The default probe does not generate `unauthorized` log for `standalone` mongodb either.

If by standalone you mean a mongodb with only 1 replica, I have seen that behavior in one of my MongoDBs. I noticed an increase even if I'm not seing unauthorized warnings in my logs.
Graph with 1 replica (with my custom probes): Increase
Kubernetes version: 1.13.9
Node count: 3 (this is our staging cluster for internal testings)
Kubedb: 0.12.0 with monitoring.enabled=true and monitoring.agent="prometheus.io/coreos-operator"

yaml manifest

Graph with 3 replicas (with my custom probes): Pretty stable. That replicaset uses the same manifest I posted earlier.
Setup:
Kubernetes version: 1.14.6
Node count: 1 (this is my test cluster)
Kubedb: 0.12.0 with monitoring.enabled=true and monitoring.agent="prometheus.io/coreos-operator"

I found something very interesting in my 1 replica setup in the exporter logs:
E0823 13:25:56.261459       1 replset_status.go:232] Failed to get replSet status.
E0823 13:25:56.261967       1 oplog_status.go:127] Failed to get local.oplog_rs collection stats.

For future debug about assertion error, increate log level:
$ mongo --host=localhost --username="$MONGO_INITDB_ROOT_USERNAME" --password="$MONGO_INITDB_ROOT_PASSWORD" --authenticationDatabase=admin
> db.setLogLevel(10)

Write now, two user assertion is occuring. one for unauthorized probe and another for exporter.
TODO:

[ ] Fix unauthorized readiness and liveness probe
[ ] Fix exporter caused user assertion error. [exporter is trying to use local db and it is causing user assertion in mongos]

closing the issue as New exporter is introduced and also user assertion due to readiness and liveness probe is fixed.
The fixes will be part of 0.13.0 release.

Thank you so much!


Fixed: Oriented bounding boxes broken with COCO format

Motivation and context
Resolved #4745
How has this been tested?

Checklist

[x] I submit my changes into the develop branch
[x] I have added a description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[x] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.

@zhiltsov-max Can you take a look into the changes?


fix: event trigger label conflict

Description
Based on https://github.com/actions/labeler#permissions and https://github.com/prince-chrismc/label-merge-conflicts-action#faq---how-do-i-fix-resource-not-accessible-by-integration must using event pull_request_target

In order to add labels to pull requests, the GitHub labeler action requires write permissions on the pull-request. However, when the action runs on a pull request from a forked repository, GitHub only grants read access tokens for pull_request events, at most. If you encounter an Error: HttpError: Resource not accessible by integration, it's likely due to these permission constraints. To resolve this issue, you can modify the on: section of your workflow to use pull_request_target instead of pull_request (see example above). This change allows the action to have write access, because pull_request_target alters the context of the action and safely grants additional permissions.

Follow-up #7928
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[x] Conforms to style guide

using the (potentially dangerous) event pull_request_target
https://github.com/prince-chrismc/label-merge-conflicts-action#faq---how-do-i-fix-resource-not-accessible-by-integration

GitHub workflows can be triggered through a wide variety of repository events. This includes events related to incoming pull requests (PR). There exists a potentially dangerous misuse of the pull_request_target workflow trigger that may lead to malicious PR authors (i.e. attackers) being able to obtain repository write permissions or stealing repository secrets.
TL;DR: Combining pull_request_target workflow trigger with an explicit checkout of an untrusted PR is a dangerous practice that may lead to repository compromise.
https://securitylab.github.com/research/github-actions-preventing-pwn-requests/

Are you sure that this PR is safe?
pull_request_target is dangerous.

I would not advocate to use pull_request_target as it makes the PR vulnerable.

If we use pull_request_target, and If the secrets of this repository were to be obtained by an attacker through PR, it would be a major security incident.

Anyway, the Member adds the label stale. I think similar to smart commenting safely.

I admit that pull_request_target is dangerous. I will use sample from @datamweb, labeling manually but commenting with automation

@ddevsr can you try putting the permissions inside the specific job instead of outside? also change the token to ${{ secrets.GITHUB_TOKEN }}. although they're the same

@kenjis @paulbalandan @datamweb I already change to implement smart commenting codeigniter4/shield#812

@paulbalandan @kenjis I tested with result Resource not accessible by integration again

try add contents: write permission

https://github.com/codeigniter4/CodeIgniter4/actions/runs/6193902891/job/16816111260?pr=7936
Setup job still permission PullRequest: read

Because you sent the PR from your repository.
This workflow does not work if it is merged.

https://github.com/orgs/community/discussions/63736
Give permissions above if conditions.
@kenjis Oh, okay

Now let's merge and test.


File that fails check should give some indication of the formatting that was missing.

When the --check option is used, the output only contains if a file was not formatted. It doesn't contain any indication of what part of the file wasn't formatted.
Theoretically you can just run csharpier on the file, but in the case where the --check appears to be a false positive, not having a message means it is harder to track down why it failed.

I can reproduce this by downloading the zip of the repo and running --check against that. That means I should be able to use the debug version to step through what is going on.

It appears that SyntaxNodeComparerTests formats differently based on if it has \r\n or \n as line endings. So line endings must be included somehow in the width of strings.


Removed background from stirling.svg

@Sf298 thanks for making the svg transparent, can you merge it as a separate file so we have options of using either one

@Frooodle I have updated the PR with the changes you requested!

Hi Sf298,
We are updating Stirling-PDF's license to MPL 2.0 (Mozilla Public License Version 2.0) to continue fostering our open-source commitment while introducing more flexible usage of the project.
What We Need From You:
In order to transition to the MPL 2.0 license, we need the explicit consent of all our contributors.

If you're comfortable relicensing your contributions for this specific PR under MPL 2.0, please respond with:
I, Sf298, grant permission to relicense my contributions from this PR to Stirling-PDF under the Mozilla Public License 2.0.
If you'd prefer to give blanket permission for all of your contributions to Stirling-PDF (be it through pull requests, commits, or any other form of contribution) rather than on a PR-by-PR basis, please respond with:
I, Sf298, grant permission to relicense all my contributions to Stirling-PDF under the Mozilla Public License 2.0.

What does this do and why?
As your old code was contributed under a different license it legally cannot move to a new license without your permission, and since we dont want to lose your code we wanted to reach out. Remember this project is remaining open-source!.
Deadline:
If we dont receive a response, or if you decline, unfortunately, we will have to remove your contributions from Stirling-PDF before the license change, which is scheduled  in coming months.
Thank You!
Your contributions are invaluable, and we hope to continue having them in Stirling-PDF under the new license. Feel free to ask if you have any questions or concerns about this change.
Best,
Frooodle
Stirling-PDF Maintainer


Json file with no data for segmentation !!

An error is reported after clicking the trigger

hi, i have this trouble too...
773	Audio	Imported audio file is longer than the sequence, expanding total time to match the audio file length. - this message with any file 1,2,5min
and Json file with no data...
Help plz.
i install all versions, install manually and have a many crashes, then autoinstall pakg - have no crash, but still not work.


displayName arg doesn't work

Display name is never set when passed in via the command line. For example:
myservice.exe action:install displayName:DoStuff
I believe the issue has to do with the following line:
https://github.com/PeterKottas/DotNetCore.CmdArgParser/blob/f5d012866e08bd7cf4e677bc55c5cf030d95665f/Source/PeterKottas.DotNetCore.CmdArgParser/Parser.cs#L39
This results in "displayname".StartsWith("displayName") which evaluates to false.
I noticed this is the only camel cased argument, while others are kebab cased. Perhaps this is the reason for this issue? Would it be possible to use "display-name" or "displayname" instead? I'm happy to throw together a pr, but I wanted to make sure that the change was in the desired direction first.

Thanks for reporting this. It indeed seems it's a problem. I'll fixed this right now. Sorry about the delay, I only have time to maintain this lib from time to time.

Fixed by https://github.com/PeterKottas/DotNetCore.WindowsService/releases/tag/v2.0.4

Awesome. Thanks for looking into it!

Np ;)
On 15 Dec 2017 6:50 pm, "mbuck"<EMAIL_ADDRESS>wrote:

Awesome. Thanks for looking into it!
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/PeterKottas/DotNetCore.WindowsService/issues/59#issuecomment-352069154,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKHFt31C9UiLVnO40W7BSI9DDYXDGn4Bks5tArFNgaJpZM4Qv3MH
.


Consider adding one decimal place to installation badges (1.0k - 9.9k)

This is what I see in the BLE repo:
It seems that the numbers are rounded, so this can be anything from 500 to 1499. Adding one decimal place (1.4 k in this case) would add a lot of information.
Maybe even limit it to numbers below 10k:

1.0 k ... 9.9 k - one decimal place
10 k ... infinity - no decimal place

Why no decimal place after 9.9k? From 10k to 11k is a very long way.... and this can make developers sad. :disappointed:

Because of the space in the badge mainly

Done


default sorting for users by display name.

There are plenty of times when the user list, or parts of it, would need to
be displayed in a sensible order. This patch adds default sorting of users
by displayName.

I'll note that this automatically improves the usability of admin/users :)

@thehunmonkgroup these changes are making the test to fail here:
ADMIN USERS SELENIUM Manages admins:
Uncaught Error: expected true to equal false
Could you possibly push a commit for this test failure?

The selector for clicking the event remove link wasn't specific to the user, try this updated patch, it should work fine now.


trimmingCharacters(in: .whitespaces) should not be used when parsing data.

I'm developing an AI assistant app that make use of your library. Here are a sample of events:
event: message
id: 1356ce6b-5504-4f18-8cfb-30c8d6aff925
data: I'm

event: message
id: 1356ce6b-5504-4f18-8cfb-30c8d6aff925
data:  here

event: message
id: 1356ce6b-5504-4f18-8cfb-30c8d6aff925
data:  to

event: message
id: 1356ce6b-5504-4f18-8cfb-30c8d6aff925
data:  assist

With that said, extra space before data is removed at ServerEvent.swift:88
This should be reconsidered to remove at most 1 space before data.

Fixed in #24. I will release a new version soon.


DOCS: Update NumPy docs related to GitHub

See https://numpy.org/devdocs/dev/index.html
There are multiple references throughout the website that refer to a GitHub username and password.

Enter your GitHub username and password (repeat contributors or advanced users can remove this step by connecting to GitHub with SSH).

The entire GitHub authentication system has been replace with PATs.  The documentation needs to be updated.

I searched NumPy's issue tracker for a related issue. none found.

https://github.com/numpy/numpy/issues?q=is%3Aissue+is%3Aopen+github+password
https://github.com/numpy/numpy/pulls?q=is%3Apr+is%3Aopen+github+password

This looks like a great issue we can get started with.

There are many ways this could unfold, with lots of possible different solutions.  I'm not sure what the best option is, and I'm guessing a discussion will need to happen on NumPy's site eventually.  We could discuss and develop a possible solution here first, and then ask for feedback on NumPy's issue tracker before submitting a PR. Or, we could just get started with the discussion on NumPy's issue tracker.  I've got multiple idea for how to fix the issue, and would be happy to chime in with them, but I'd also love to let someone on the team give it a try first.

@bmwoodruff I have gone through the documentation you referenced: (https://numpy.org/devdocs/dev/index.html)
Indeed, Personal Access Tokens (PATs) have replaced the traditional GitHub Username and Password authentication.
I think we can have a discussion here first about ways to solve this issue. For example, we can keep on searching for any other possible instances/locations where this traditional authentication method needs to be updated in the existing NumPy documentations (If any is available).
Once identified, we can systematically replace these references with clear instructions on generating and utilizing Personal Access Tokens (PATs) for authentication purposes. As a team, we can come up with a refined set of instructions of how to set up PATs. We can then ask for feedback on NumPy's issue tracker before submitting a PR.

@bmwoodruff For a start, I will be practicing how to do a pull request on this issue today. Let me start with the first option you've suggested above. I hope all goes well.

@ogidig5's PR finished this task.


Fix custom plugin system config fields

This PR implements a fix for the incorrect custom plugin path config field, by removing the incorrect field and replacing it with a field for the module and a field for class.
This PR also implements a fix for handling cases where the custom plugin params field is missing or empty.
Fixes: #60

@giovanni-guidini I made the changes!


Improve core error handling

This PR does two things:

Fixes #5055. Now, when any of the command authoring commands that accept kwargs are invoked, the supplied kwargs will be validated and any errors will be raised instead of silently ignored.

Similiarly, this fixes an issue in the test base when using the self.kwargs feature so that kwarg mis-spellings in commands raise an actionable error instead of manifesting in strange, hard-to-diagnose ways.

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[N/A] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

Command Guidelines

[N/A] Each command and parameter has a meaningful description.
[N/A] Each new command has a test.

(see Authoring Command Modules)

View a preview at https://prompt.ws/r/Azure/azure-cli/5518
This is an experimental preview for @microsoft users.


RabbitMQ_Cluster_Mode Unable to create

Unable to Create Cluster mode broker for the rabbitmq engine using this terraform module, seeing SINGLE_INSTANCE and ACTIVE_STANDBY_MULTI_AZ are expected.

@krishnakanthsunkavilli you can use the following:
deployment_mode                 = "CLUSTER_MULTI_AZ"
as it's defined in root AWS terraform provider resource. This module may just update variables.tf description

Can confirm specifying "CLUSTER_MULTI_AZ" for rabbitmq deployment_mode does work.


self._addDefaultMeta is not a function error still occurs with 3.2.1

Please tell us about your environment:

winston version?

[ ] winston@2
[x] winston@3

node -v outputs: 11.6.0
Operating System? OSX
Language? ES6/7

What is the problem?

Seems like #1579 did not fully fix the _addDefaultMeta bug. After upgrading to winston 3.2.1 I still get this error in my app at https://github.com/winstonjs/winston/blob/efd7baf65da13edaba7829aa4339757eed4322eb/lib/winston/create-logger.js#L80
Full stack trace:
TypeError: self._addDefaultMeta is not a function
  at Object.DerivedLogger.(anonymous function) [as log] (/path/to/project/node_modules/winston/lib/winston/create-logger.js:80:14)
  at module.exports.<anonymous> (/path/to/project/node_modules/sequelize-fixtures/lib/writer.js:39:16)
  at module.exports.tryCatcher (/path/to/project/node_modules/bluebird/js/release/util.js:16:23)
  at module.exports.writeFile (/path/to/project/node_modules/bluebird/js/release/method.js:15:34)
  at updateReferences (/path/to/project/services/sample_data/index.js:919:6)
  at Object.import (/path/to/project/services/sample_data/index.js:961:13)

What do you expect to happen instead?
That my app does not crash with the above error

Another way I found that works is to bind:
const logHelper = {
  log: logger.info.bind(logger)
};

@indexzero I dont understand how I can create a log helper like wished for here with the sentence you provided?
What @tizmagik did mention, works, but I want to avoid binding stuff

`const winston = require('winston');
const logger = winston.createLogger({
transports: [
new winston.transports.Console()
]
});
const logHelper = {
log: logger.info.bind(logger)
};
module.exports.log = {
custom:logHelper,
inspect:false,
level: process.env.SAILS_LOG_LEVEL || 'debug'
};`
I am trying to configure sails.log in config/log.js using the above code.
But it's not logging out anything.
Can someone please guide on the above problem.
@indexzero @tizmagik @vongohren

So this logger.info.bind(logger) works for me. But I cannot say why.
Can anyone tell me why this is not documented anywhere or why.
Is this bad design by us developers who end up doing bind?
Or @indexzero

@vongohren see https://stackoverflow.com/questions/45910018/how-to-bind-methods-when-destructuring-an-object-in-javascript

Binding somehow solved my issues with maximum call stack. Would love a good explanation on why this works or an actual solution... but thanks!

@ionizer me too, just didnt get the stackoverflow posted earlier. maybe @indexzero can chime in?

@vongohren I think I get it now, though it's a bit hard for me to explain. In some cases where we wrap the logger in an object like so:
const logHelper = {
  log: logger.info
};

...the logger.info function is almost like it's scope being isolated inside the logHelper object because it's not bound. The exact explanation according to the SO answer is that outside the logHelper object, logHelper.log() fails because logger.info's context is lost outside of the wrapping object.

@ionizer ah ok! Did not now the context inside the object dissapeard


Extensions for part 3

patchwork
The brand new marquee package: https://www.tidyverse.org/blog/2024/05/marquee-0-1-0/ (lets you use markdown for axis labels and such, much overlap with ggtext)

We did gganimate last year and were planning to do it again. There are some notes in the third session section of the Hackmd.

patchwork, gganimate, marquee (or ggtext) and ggiraph is probably plenty.
I can take patchwork (and marquee or ggtext), @KristinaRiemer can do gganimate again since she did that section last year IIRC, and maybe @diazrenata can take ggiraph (and marquee or ggtext)?

We decided on extensions


SRI support on search result

We only support SRI info on the library page right now, should work on the search result soon.

To get this working it looks like algolia search needs to return the SRI value for the default file for each lib in the hits data. I'm not quite sure where algolia is fetching the data from so I am very unsure as to how to implement this on the backend to get it working.
@PeterDaveHello any help or guidance as to where Algolia gets the data from would be great :)