add language support for arbitrary languages

Allows boba support for arbitrary languages.
This is achieved by allowing a new parameter to the compile and run commands: --supported_langs (abbreviated -sl).
this parameter accepts a path to a file with valid json containing entries of the format:
{
    "c" : {
        "ext" : ["c"],
        "compile" : ["gcc", "-o", "{{universe_name}}", "{{script_name}}"],
        "run" : ["./{{universe_name}}"]
    }
    "python" : {
        "ext": ["py"]
        "run" : ["python", "{{script_name}}"]
    }
.
.
.
}

when executing, {{universe_name}} is replaced with the name of the universe (universe_1, universe_2, etc.) and {{script_name}} is replaced with the name of the script (universe_1.c/py/R.. etc.)
which defines languages that are understood by the Lang class.
by default, python and R are supported (see DEFAULT_LANGS in lang.py)
As shown above, this works for both compiled and interpreted languages.
This PR also contains a simple example for the C language. Simply do
boba compile -s template.c --supported_langs lang.json
boba run --all --supported_langs lang.json

in the examples/example_c folder, and you should see the output:
[universe_1] hello from universe 1
[universe_2] hello from universe 2
[universe_3] hello from universe 3

fixed the PR feedback and converted the C example to a unit test. Additionally, as requested, the supported_langs parameter was removed and replaced with a lang variable in the BOBA_CONFIG, like so:
# --- (BOBA_CONFIG)
{
  "lang": "lang.json"
}
# --- (END)

as seen in the c test case (can be found in test/test_c)

Thanks!


Add option to define if all versions must be switchable (and present) or not

Similar to tox's skip_missing_interpreters and might be called skip-missing-versions.

Closed with f49d08a297159c69c9a0bd10ac5e2fc1c45e94b9.


fix: respect excludedPattern defined in netlify.toml

Title says it all! We were only looking at the per-function setting for this, not at the per-route setting. This PR fixes that.

The test failures seem unrelated to me.

We are working on the test failures. Will update you when this is resolved.


ssh: unexpected message type 1 (expected 50)

SSH 功能现在是不是还有问题哈 ?
具体表现是内置 SSH  不会要求输入用户名密码 (只能用 SSH KEY)
2015/12/25 13:24:11 [I] Log Mode: File(Info)
2015/12/25 13:24:11 [I] Cache Service Enabled
2015/12/25 13:24:11 [I] Session Service Enabled
2015/12/25 13:24:11 [I] Mail Service Enabled
2015/12/25 13:24:11 [I] Register Mail Service Enabled
2015/12/25 13:24:11 [I] Notify Mail Service Enabled
2015/12/25 13:24:11 [I] Git Version: 2.6.4
2015/12/25 13:24:11 [I] SQLite3 Supported
2015/12/25 13:24:11 [I] Run Mode: Production
2015/12/25 13:24:11 [I] SSH server started on :22
2015/12/25 13:24:11 [I] Listen: http://<IP_ADDRESS>:3000
2015/12/25 13:24:20 [...s/modules/ssh/ssh.go:127 listen()] [E] Error on handshaking: ssh: unexpected message type 1 (expected 50)
2015/12/25 13:24:23 [...s/modules/ssh/ssh.go:127 listen()] [E] Error on handshaking: ssh: unexpected message type 1 (expected 50)

SMTP 的原因好像是 ：
registration notify - gomail: could not send email 1: missing port in address smtp.aliyun.com

You need a port after smtp.aliyun.com.

ssh: unexpected message type 1 (expected 50)

It should be a bug in Go's stdlib, seeking for solutions...

I also got this problem:
2016/01/04 01:38:33 [...s/modules/ssh/ssh.go:127 listen()] [E] Error on handshaking: ssh: unexpected message type 1 (expected 50)
2016/01/04 01:38:35 [...s/modules/ssh/ssh.go:127 listen()] [E] Error on handshaking: ssh: unexpected message type 1 (expected 50)
2016/01/04 01:38:37 [...s/modules/ssh/ssh.go:127 listen()] [E] Error on handshaking: ssh: unexpected message type 1 (expected 50)

It happened a lot and I'm not sure it's reason that caused the built-in ssh server seems to be hang or not.

Following along this thread, I think upstream repo has fixed the problem.


More useful 404 page

This feature makes the 404 page more useful. Fixes #485.
I'm not to sure if this is already the best we can do but it's a start.
I'm happy for suggestions/improvements.
To-do

[ ] Add an entry in the readme with screenshot

@bfred-it Okay I made it less specific.
Right now it ignores tree and blob.
I also removed the general change from blob to commits, I'm not sure if it is correct to always do that.
Here are 404 pages I found/looked at, if you have more please let me know.

non-existent branch 404-branch
existent file /test/404.js@shorten-url-labels

non-existent issue
non-existent repo
non-existent user Is this useful?

WIP


website: /code/#contributing anchor is broken

https://github.com/camlistore/camlistore/blob/master/CONTRIBUTING.md
links to https://camlistore.org/doc/contributing
that redirects to https://camlistore.org/code#contributing
... which is broken (the actual id is #contributing-36 or something)

looks like all the headings on most all the pages are including these numbers at the end of their IDs.  Very strange.  Is there a setting in blackfriday we need to tweak by chance?  Stray trailing punctuation or whitespace in the markdown that's getting converted?

The ids start out without suffix on server launch, and then increment on each page load, which is why I didn't catch it.

I imagine this is happening because we are reusing an instance across page renders which is meant to be instantiated once per render (see https://github.com/russross/blackfriday/pull/129). Investigating..

https://camlistore-review.googlesource.com/6816

hmm, the PR you pointed to says "configurable"; so isn't there a way for us to specify that we want the suffix to be the empty string or something like that?


[hiccup-svg] hiccup-svg's attributes don't seem to handle rstream

Hi!
I'm currently learning/experimenting with your different packages and I noticed that hiccup-svg's attributes don't seem to handle rstream, e.g:
// taken from one of your example
import { defAtom, defHistory } from<EMAIL_ADDRESS>import { equivArrayLike } from<EMAIL_ADDRESS>import { circle, svg } from<EMAIL_ADDRESS>import { $compile, $list } from<EMAIL_ADDRESS>import { fromAtom, reactive } from<EMAIL_ADDRESS>import { indexed, repeatedly } from<EMAIL_ADDRESS>import { random2 } from<EMAIL_ADDRESS>
const WIDTH = 600;
const NUM = 4;
const R = 20;

// define atom of NUM random points
const atom = defAtom([...repeatedly(() => random2([], R, WIDTH - R), NUM)]);
const db = defHistory(atom)

// reactive subscription for atom changes
const $db = fromAtom(db);

// ID of currently dragged point
const clicked = reactive(-1);

$compile([
  'div',
  {},
  [
    'div',
    {},
    ['button', { onclick: () => db.undo() }, 'Undo'],
    ['button', { onclick: () => db.redo() }, 'Redo'],
  ],
  svg(
    {
      width: WIDTH,
      height: WIDTH,
      viewBox: `0 0 ${WIDTH} ${WIDTH}`,
      onmousemove: (e: MouseEvent) =>
        clicked.deref() !== -1 && db.resetIn([clicked.deref()!], [e.clientX, e.clientY]),
      onmouseup: () => clicked.next(-1),
      ondblclick: (e: MouseEvent) =>
        db.swap((pts) => [...pts, [e.clientX, e.clientY]]),
    },
    $list(
      $db.map((pts) => [...indexed(0, pts)]),
      "g",
      {
        fill: 'white',
        stroke: 'black'
      },
      ([i, p]) =>
        circle(p, R, {
          onmousedown: (e: MouseEvent) => {
            clicked.next(i);
            db.resetIn([i], [e.clientX, e.clientY]);
          },
          fill: clicked.map(idx => idx === i ? 'grey' : 'white')
        }),
      equivArrayLike
    ),
  )
]).mount(document.getElementById("app")!);

Is it expected? How should I do if I want the fill color of a circle to change when the clicked stream is updated?
Thank you in advance,
Arnaud.

I tried to do it this way (by using sync) but without much success (I have duplicated circles on click):
import { defAtom, defHistory } from<EMAIL_ADDRESS>import { circle, svg } from<EMAIL_ADDRESS>import { $compile, $klist } from<EMAIL_ADDRESS>import { fromAtom, reactive, sync } from<EMAIL_ADDRESS>import { repeatedly } from<EMAIL_ADDRESS>import { random2, type Vec } from<EMAIL_ADDRESS>
const WIDTH = 600;
const NUM = 4;
const R = 20;

// define atom of NUM random points
const atom = defAtom([...repeatedly(() => random2([], R, WIDTH - R), NUM)]);
const db = defHistory(atom)

// reactive subscription for atom changes
const $db = fromAtom(db);

// ID of currently dragged point
const clicked = reactive(-1);

$compile([
  'div',
  {},
  [
    'div',
    {},
    ['button', { onclick: () => db.undo() }, 'Undo'],
    ['button', { onclick: () => db.redo() }, 'Redo'],
  ],
  svg(
    {
      width: WIDTH,
      height: WIDTH,
      viewBox: `0 0 ${WIDTH} ${WIDTH}`,
      onmousemove: (e: MouseEvent) =>
        clicked.deref() !== -1 && db.resetIn([clicked.deref()!], [e.clientX, e.clientY]),
      onmouseup: () => clicked.next(-1),
      ondblclick: (e: MouseEvent) =>
        db.swap((pts) => [...pts, [e.clientX, e.clientY]]),
    },
    $klist(
      sync({ src: {
        clicked,
        pts: $db,
      }}).map((src) => src.pts.map((pt, i): [number, number, Vec, string] => (
        [src.clicked, i, pt, src.clicked === i ? 'grey' : 'white']
      ))),
      "g",
      {
        fill: 'white',
        stroke: 'black'
      },
      ([_idx, i, p, fill]) =>
        circle(p, R, {
          id: i,
          onmousedown: (e: MouseEvent) => {
            clicked.next(i);
            db.resetIn([i], [e.clientX, e.clientY]);
          },
          fill
        }),
      ([_idx, i, p, fill]) => `${i}-${p}-${fill}`
    ),
  )
]).mount(document.getElementById("app")!);

Hi @arnaudchenyensu - so sorry, completely missed this issue... I will take a look & report back asap!

Hi @postspectacular , did you get any change to look into it? :)

Hi @arnaudchenyensu - yes I did and been meaning to respond here with update (also just pushed a feature branch with somewhat of a compromise I worked on a while ago, but still not sure about it), but haven't gotten around to write full explanation until now...
The short of it is that because the way the current (hiccup-svg) API is designed, it's not easily possible (or was originally intended) to provide the same kind of reactive attributes as with the functions provided by the hiccup-html package. A simple example to illustrate:
import { circle } from<EMAIL_ADDRESS>import { lch } from<EMAIL_ADDRESS>
circle([100,200], 300, { fill: lch(0.5,1,0), scale: 2, translate: [1000, 2000] })
// [
//   'circle',
//   {
//     fill: '#ff007c',
//     cx: '100',
//     cy: '200',
//     r: '300',
//     transform: 'translate(1000 2000) scale(2)'
//   }
// ]

Here, the following happened:

the given circle center point [100,200] was converted into the SVG cx & cy attribs
the LCH color was converted to a hex RGB value (for compatibility)
the scale and translate attribs were combined into a new SVG transform attribs

As you can see, even in this primitive example there's no direct 1:1 mapping between function args and resulting SVG attributes (that was kind of the whole point of this package) and so far I can't quite see how to overcome this to provide support for reactive values being used as inputs, and even questioning if we should.
If you want reactive SVG elements in a rdom component tree you can already do so and have options:

Use plain hiccup arrays instead of hiccup-svg to define your elements/attribs
Use the hiccup-svg (or even thi.ng/geom) to define your shapes/geometries and then replace elements where needed using rdom's control wrappers, e.g. $replace().

These are also combinable, as you can see in the rdom-svg-nodes. I've also just added a brand new rdom-reactive-svg example to show another combined approach:
Live demo
Sourcecode:
https://github.com/thi-ng/umbrella/blob/4a9bba9c26117468057e14a4854a47a8c4b21a9e/examples/rdom-reactive-svg/src/index.ts#L1-L40

Some more thoughts about the aforementioned feature branch: feature/hiccup-svg-deref-attribs has experimental support for IDeref-wrapped values, but the fundamental problem still persists that there's an unresolved discrepancy between the current hiccup-svg API and a resulting data structure which is more amenable to reactive changes/updates. The only way I can see this changing is via massive breaking changes, new dependencies, or best, a new rdom support package (since the original purpose of hiccup-svg for static SVG generation).
All I can say is that I'll keep thinking about it, but also keen to hear your/other's thoughts...
import { reactive } from<EMAIL_ADDRESS>
const pos = reactive([100, 200]);
const scale = reactive(2);

// same circle as other example, only partially with reactive attribs
circle(pos, 300, { fill: lch(0.5,1,0), scale, translate: [1000, 2000] })

// same result as before:
// [
//   'circle',
//   {
//     fill: '#ff007c',
//     cx: '100',
//     cy: '200',
//     r: '300',
//     transform: 'translate(1000 2000) scale(2)'
//   }
// ]

Even though this might feel like a step forward, I'm questioning the need for this extra complexity since this support for deref()-able (reactive) values doesn't make the result reactive (yet?). And the way I see it the problem here is:

@arnaudchenyensu To summarize some more from my above comment: The two fundamental issues and reasons for "incompatibility" here are that hiccup-svg:

has no 1:1 mapping between function args and resulting attributes
already applies various conversions and formatting of attribute values at the time of element creation

Both of these aspects are by design, but they also limit that package's use to only support reactivity on a per-shape, but not per-attribute basis. As I mentioned above, for a version support the latter, I think the best way forward would be a new support package for rdom (e.g. rdom-svg). This could even mirror mostly the same API as hiccup-svg, but would internally use a similar approach as I've shown in the new rdom-reactive-svg example, i.e. attaching attribute specific subscriptions/formatters for all shape params which need it...
I can definitely see value in that too, but would still like to hold off working on this for a while since I'm currently busy with adding more support for ES async iterables and consolidating functionality overlap between this native language feature and rstream constructs. A lot of this will impact rdom too and my plan is to try to decouple rdom from rstream entirely (also leading to smaller bundle sizes). I've written more about this on my Mastodon...
https://mastodon.thi.ng/@toxi/112338024068213892

Hi @postspectacular , thank you for your answers and examples; now it makes more sense and I'm perfectly fine using plain hiccup.
In my opinion (as a new user of your packages), it can be confusing knowing which element will be automatically updated and which will not. For example, just like you mentioned in your rdom-reactive-svg example, it's fine to use svg and group from hiccup-svg but we need to use plain hiccup for circles.
I would prefer to have consistency that nicely tie everything together. In this regard, having a package rdom-svg would make it more obvious that the preferred way to use svg with rstream is rdom-svg.
I don't think that's worth it to break hiccup-svg API for rstream. In my mind, hiccup-svg could be considered "completed" just like you did with hdom for example.
It's just my personal opinion obviously 😄
On another subject, your work is very inspiring and I always come back to it when I have a tricky problem to solve, to see "How @postspectacular  would I have solved it" 😆

I fully agree @arnaudchenyensu & I'm really sorry for the confusion! I know there're a lot (too many?) options, but they mostly stem from different use cases (and/or historic reasons). Feedback like this is really super helpful, though, and I think confusion can to some extend be addressed/lowered with more docs (e.g. here in this case pointing out clearly which element functions will translate inputs into which kind of attributes).
In the long run though, an rdom-svg package is gonna come (and hopefully in the not too distant future)! 👍


Grabbable fix and quality improvements

Looks good. Do we want to move this into Dev before we merge it into main?


published 0.9.5 for scala 2.13.0-M2

Everything seems to work fine with a publishLocal. Unfortunately this PR relies on a new version of pcplod which is unpublished yet.

Superseded by #59 -- thanks @etorreborre!


husky: init at 8.0.3

Description of changes
Closes #223369.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 230346 run on x86_64-linux 1

1 package built:

husky

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/941

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/969


Draft: proposal for backfill hot reload with new API endpoint

This is a proposal for #8268
It adds a new flag for promtool tsdb create-blocks-from, which is used to trigger a TSDB hot reload of a Prometheus server.
The endpoint which triggers a hot reload doesn't exist though. If this idea makes sense, then I'd be happy to work on this new endpoint :slightly_smiling_face:

This doesn't make sense, creating some blocks in a random directory on disk has nothing to do with a Prometheus server. The intention is that the moving of the blocks is done separately.

Would it make sense if it's a separate subcommand? e.g. promtool tsdb reload
Or the idea is that TSDB should be able to notice when a new block was backfilled and reload without an interaction from outside?

I am puzzled on this. I want to avoid:
Backfilling In the Prometheus data directory directly as it is not atomic (should we use DB instead of read only db?) and there are possible races with a running Prometheus's deletion of tmp-for-creation files.
Regular backfilling. If you need to backfill regularly you are probably better writing a remote_read adapter.

Would it make sense if it's a separate subcommand? e.g. promtool tsdb reload

I think that anything we offer from our API should be doable from promtool, so that makes sense - but doesn't really solve this problem.

Or the idea is that TSDB should be able to notice when a new block was backfilled and reload without an interaction from outside?

It should notice this much faster than it currently does.

Backfilling In the Prometheus data directory directly as it is not atomic (should we use DB instead of read only db?) and there are possible races with a running Prometheus's deletion of tmp-for-creation files.

That's a very good point! Creating blocks in the data directory of a running Prometheus instance probably isn't safe at all :thinking:. If we want to avoid that, then a hot reload doesn't make sense as well.

Thanks for the feedback!
Even though I kinda see some value for a reload endpoint on day-to-day tasks (e.g., manually triggering wal truncation to reduce resource usage), that's not the way to go for the backfilling problem.
I'm closing this PR so the discussion can go back to the linked issue.


fix(deployer) add support for no fail on warning flag

Fixes #1397
Context
Add the --no-fail-on-warning flag when running pomchecker when the version is above or equal 1.9.0.
Checklist

[x] Review Contribution Guidelines.
[x] Make sure all contributed code can be distributed under the terms of the
Apache License 2.0, e.g. the code was written by
you or the original code is licensed under a license compatible to Apache License 2.0.
[x] Update documentation when applicable.

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

Thanks! 😄


getPersonSourcesQuery vs. getPersonSourceRefs/getMultiSourceDescription

It isn't clear to me the difference between using getPersonSourcesQuery or the
getPersonSourceRefs/getMultiSourceDescription pair.  Don't they accomplish the same thing?
Why would you use one approach over the other?

getPersonSourcesQuery makes one HTTP request. getPersonSourceRefs +
getMultiSourceDescription makes one HTTP request for the source refs then
one HTTP request for each source description. If a person has 5 sources
attached, getPersonSourcesQuery makes one HTTP request
while getPersonSourceRefs + getMultiSourceDescription makes 6 HTTP requests.
On Thu, Sep 3, 2015 at 7:54 AM, stanben<EMAIL_ADDRESS>wrote:

It isn't clear to me the difference between using getPersonSourcesQuery or
the
getPersonSourceRefs/getMultiSourceDescription pair. Don't they accomplish
the same thing?
Why would you use one approach over the other?
—
Reply to this email directly or view it on GitHub
https://github.com/FamilySearch/familysearch-javascript-sdk/issues/117.


ARROW-12606: [C++][Compute] Fix Quantile and Mode on arrays with offset

Fixed CopyNonNullValues utility to handle arrays with offset correctly.
This patch also fixed quantile kernel random tests for integer types.

RTools 35 error (i386 test) is also seen in other PR. Travis and MinGW64 errors are not related.


Container stop/removing immediately after create, How to stop that?

name: Create docker image
on:
push:
branches:
- action-for-docker-compose
jobs:
build:
runs-on: self-hosted
steps:
- uses: actions/checkout@v3
- uses<EMAIL_ADDRESS>with:
compose-file: "docker-compose.yml"
tried with
up-flags: --build
down-flags: --volumes
these tags also

@zaahmed-nisum-com have you find any solution for this one ??

Same issue here, I want my docker containers to stay up


Let me count by query

Could be useful :)

hey @dropfen , linting failed, i assume on the if statement (always use curly brackets). Can you amend and see if the build succeeds? The PR is useful so once checks pass I'll merge right away. Thanks!

hmm..

This is strange:

<EMAIL_ADDRESS>lint /home/travis/build/techfort/LokiJS
jshint src/**.js
src/loki-angular.js: line 270, col 25, 'found' used out of scope.
src/loki-angular.js: line 273, col 29, 'found' used out of scope.
src/loki-angular.js: line 274, col 41, 'found' used out of scope.
src/loki-angular.js: line 276, col 29, 'found' used out of scope.
src/loki-angular.js: line 284, col 25, 'found' used out of scope.
src/loki-angular.js: line 285, col 25, 'found' used out of scope.
src/loki-angular.js: line 286, col 38, 'found' used out of scope.
7 errors

looks like loki-angular.js is the bad-guy :)

Weird...
I fixed the jshint error in his code and your p.r. looks clean now.
Thanks!


rule34hentai

rule34hentai does not work. No search result. A few days ago everything was fine.

same problem for me

Seems they enabled Cloudflare anti-bot system. 🤔

T_T T_T T_T

Seems they disabled it again?
I'll be closing the issue since it's back.


Stripe webhook disabled: https://api.wevoteusa.org -- needs work

This prevents our DB from being updated when payments are made, and reoccurring payments are charged.

Subject: | Stripe webhook disabled: https://api.wevoteusa.org
Sat, 20 Oct 2018 03:34:19 +0000
Stripe<EMAIL_ADDRESS><EMAIL_ADDRESS>Hi there,
We’re contacting you because the webhook endpoint associated with your wevote.us account in test mode has been failing for nine consecutive days. Webhooks are used to notify your server about events that happen in your Stripe account,such as a payout completing or an invoice being created. The failing webhook endpoint is https://api.wevoteusa.org/apis/v1/donationStripeWebhook/.
We have disabled your webhook endpoint so it will no longer receive these events from Stripe. If you'd like to re-enable your endpoint once you've fixed the problem, you can do so by clicking the 'Enable' button for the webhook in your Stripe settings: https://dashboard.stripe.com/account/webhooks.
Here is the summary of errors we have received when sending you webhooks:

33 requests had other errors while sending the webhook.

You need to return anything between a HTTP 200 to 299 for the webhook to be considered successfully delivered.
For more details on the errors, you can find your events page here: https://dashboard.stripe.com/test/events.
You can also always review the history of webhooks and failed request logs right from your dashboard: https://dashboard.stripe.com/test/events.
For more in depth information about how to use webhooks, we recommend taking a look at our documentation: https://stripe.com/docs/webhooks.
Yours,
The Stripe team

When this is running on the live server, we need to go back to the Stripe console and switch over to the latest API for production.


Add 'no_forwarder' Option to Public Frontend

Useful for skipping addresses of intermediate infrastructure (#609 )

Abandoning for now.


home-assistant: Add adaptive-lighting custom component

Description of changes
Adds adaptive-lighting to home-assistant custom components.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

nix-build -A home-assistant is passing.
The command nix-build -A home-assistant.tests is failing:
subtest: Check custom components and custom lovelace modules get removed
hass: must succeed: /nix/store/81nqwa85vq6v53ra11sy3w5x2kzzd0vn-nixos-system-hass-23.11pre-git/specialisation/removeCustomThings/bin/switch-to-configuration test
hass # [   80.766619] nixos[1793]: switching to system configuration /nix/store/dpxzxll5gmavhga2bcp3wiyx55dgngwv-nixos-system-hass-23.11pre-git
hass # stopping the following units: home-assistant.service
hass # [   80.807596] systemd[1]: Stopping Home Assistant...
hass # [   80.816952] systemd[1]: Stopped target Local File Systems.
hass # [   80.821905] hass[1657]: 2023-11-20 15:50:54.609 INFO (MainThread) [homeassistant.components.emulated_hue.upnp] UPNP responder shutting down
hass # [   80.833946] systemd[1]: Stopped target All Network Interfaces (deprecated).
hass # [   80.844849] systemd[1]: Stopped target Remote File Systems.
hass # [   81.980715] systemd[1]: home-assistant.service: Deactivated successfully.
hass # [   81.986469] systemd[1]: Stopped Home Assistant.
hass # [   81.989458] systemd[1]: home-assistant.service: Consumed 9.259s CPU time, no IO, received 84B IP traffic, sent 84B IP traffic.
hass # activating the configuration...
hass # [   82.949597] systemd[1]: Reloading requested from client PID 1850 ('systemctl') (unit backdoor.service)...
hass # [   82.952920] systemd[1]: Reloading...
hass # [   84.013920] systemd[1]: Reloading finished in 1057 ms.
hass # setting up tmpfiles
hass # starting the following units: home-assistant.service
hass # [   84.323096] systemd[1]: Starting Home Assistant...
hass # [   84.394440] systemd[1]: Reached target All Network Interfaces (deprecated).
hass # [   84.398664] systemd[1]: Reached target Remote File Systems.
hass # [   84.415379] systemd[1]: Starting Load Kernel Module efi_pstore...
hass # [   84.435549] systemd[1]: Starting Create SUID/SGID Wrappers...
hass # [   84.440866] systemd[1]: File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/).
hass # [   84.451761] systemd[1]: Reached target Local File Systems.
hass # [   84.468949] systemd[1]<EMAIL_ADDRESS>Deactivated successfully.
hass # [   84.477431] systemd[1]: Finished Load Kernel Module efi_pstore.
hass # [   84.492132] systemd[1]: Platform Persistent Storage Archival was skipped because of an unmet condition check (ConditionDirectoryNotEmpty=/sys/fs/pstore).
hass # [   84.695895] systemd[1]: Started Home Assistant.
hass # [   85.131208] systemd[1]: suid-sgid-wrappers.service: Deactivated successfully.
hass # [   85.136188] systemd[1]: Finished Create SUID/SGID Wrappers.
hass # [   85.311617] nixos[1793]: finished switching to system configuration /nix/store/dpxzxll5gmavhga2bcp3wiyx55dgngwv-nixos-system-hass-23.11pre-git
(finished: must succeed: /nix/store/81nqwa85vq6v53ra11sy3w5x2kzzd0vn-nixos-system-hass-23.11pre-git/specialisation/removeCustomThings/bin/switch-to-configuration test, in 6.06 seconds)
hass: must fail: grep -q 'mini-graph-card-bundle.js' '/var/lib/foobar/ui-lovelace.yaml'
(finished: must fail: grep -q 'mini-graph-card-bundle.js' '/var/lib/foobar/ui-lovelace.yaml', in 0.05 seconds)
hass: must fail: test -f /var/lib/foobar/custom_components/prometheus_sensor/manifest.json
Test "Check custom components and custom lovelace modules get removed" failed with error: "command `test -f /var/lib/foobar/custom_components/prometheus_sensor/manifest.json` unexpectedly succeeded"
cleanup
kill machine (pid 9)

However, it does not seem to be the case that these changes would cause that failure so any guidance is appreciated.

Please update the commit message to reference the name attribute name.


Rename repo

Would it be possible to rename this repo to dask-ec2-feedstock?

xref: https://github.com/regro/cf-scripts/issues/74

Personally am ok with that.
Unfortunately renaming is a bit of a chore. Open to suggestions to make it less of a chore.
That said, it might not be worth the effort as project has been deprecated.
cc @conda-forge/core

Actually I think this has mostly been taken care of on the bot side.

Still. We should probably add this to the "packages to deprecate and apply whatever solution we settle on" list. ;)


Training errors out

Trying to train few shot but i get errors because it's not creating these files:
self.path2: logs/xxx/2-name2text.txt
self.path4: logs/xxx/4-cnhubert
self.path5: logs/xxx/5-wav32k

Traceback (most recent call last):
  File "x:\sovits\GPT_SoVITS\s2_train.py", line 402, in <module>
    main()
  File "x:\sovits\GPT_SoVITS\s2_train.py", line 53, in main
    mp.spawn(run, nprocs=n_gpus, args=(n_gpus, hps,))
  File "x:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 239, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "x:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 197, in start_processes
    while not context.join():
  File "x:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 160, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "x:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 69, in _wrap
    fn(i, *args)
  File "x:\sovits\GPT_SoVITS\s2_train.py", line 69, in run
    train_dataset = TextAudioSpeakerLoader(hps.data)########
  File "x:\sovits\GPT_SoVITS\module\data_utils.py", line 37, in __init__
    assert os.path.exists(self.path2)
AssertionError

in addition, where exactly do i place the xxx.list file?

Does logs/xxx/2-name2text.txt exists?

there is something not elegant with “all_parts“ ，that's defined by gpu_numbers.split("-")， which means it will got 2 with 0-0……so……

哥，你这个文件的定义是有问题的……麻烦把那些代码改一下，你前面切分会给文件带-0，-1，-2，但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

哥，你这个txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)文件的定义是有问题的……麻烦把那些代码改一下，你前面切分gpu_names=gpu_numbers1c.split("-")会给文件带-0，-1，-2，因为webui单卡整的0-0……但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

这个问题我已经发现了下个版本就会改了（现在在一键三连里面会自动合并），但是我不知道楼主遇到是同一个问题么

@RVC-Boss 大佬，我用您的整合包訓練gpt出現錯誤

Coming back to this, I realized I forgot to ran step 1A (the training set formatting tool) before trying to run 1B 🤦

after running the dataset format tool i still get the error:
INFO:xxx:{'train': {'log_interval': 100, 'eval_interval': 500, 'seed': 1234, 'epochs': 8, 'learning_rate': 0.0001, 'betas': [0.8, 0.99], 'eps': 1e-09, 'batch_size': 6, 'fp16_run': True, 'lr_decay': 0.999875, 'segment_size': 20480, 'init_lr_ratio': 1, 'warmup_epochs': 0, 'c_mel': 45, 'c_kl': 1.0, 'text_low_lr_rate': 0.4, 'pretrained_s2G': 'GPT_SoVITS/pretrained_models/s2G488k.pth', 'pretrained_s2D': 'GPT_SoVITS/pretrained_models/s2D488k.pth', 'if_save_latest': True, 'if_save_every_weights': True, 'save_every_epoch': 4, 'gpu_numbers': '0'}, 'data': {'max_wav_value': 32768.0, 'sampling_rate': 32000, 'filter_length': 2048, 'hop_length': 640, 'win_length': 2048, 'n_mel_channels': 128, 'mel_fmin': 0.0, 'mel_fmax': None, 'add_blank': True, 'n_speakers': 300, 'cleaned_text': True, 'exp_dir': 'logs/xxx'}, 'model': {'inter_channels': 192, 'hidden_channels': 192, 'filter_channels': 768, 'n_heads': 2, 'n_layers': 6, 'kernel_size': 3, 'p_dropout': 0.1, 'resblock': '1', 'resblock_kernel_sizes': [3, 7, 11], 'resblock_dilation_sizes': [[1, 3, 5], [1, 3, 5], [1, 3, 5]], 'upsample_rates': [10, 8, 2, 2, 2], 'upsample_initial_channel': 512, 'upsample_kernel_sizes': [16, 16, 8, 2, 2], 'n_layers_q': 3, 'use_spectral_norm': False, 'gin_channels': 512, 'semantic_frame_rate': '25hz', 'freeze_quantizer': True}, 's2_ckpt_dir': 'logs/xxx', 'content_module': 'cnhubert', 'save_weight_dir': 'SoVITS_weights', 'name': 'xxx', 'pretrain': None, 'resume_step': None}
INFO:torch.distributed.distributed_c10d:Added key: store_based_barrier_key:1 to store for rank: 0
INFO:torch.distributed.distributed_c10d:Rank 0: Completed store-based barrier for key:store_based_barrier_key:1 with 1 nodes.
Traceback (most recent call last):
  File "X:\sovits\GPT_SoVITS\s2_train.py", line 566, in <module>
    main()
  File "X:\sovits\GPT_SoVITS\s2_train.py", line 53, in main
    mp.spawn(
  File "X:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 239, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "X:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 197, in start_processes
    while not context.join():
  File "X:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 160, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "X:\sovits\runtime\lib\site-packages\torch\multiprocessing\spawn.py", line 69, in _wrap
    fn(i, *args)
  File "X:\sovits\GPT_SoVITS\s2_train.py", line 81, in run
    train_dataset = TextAudioSpeakerLoader(hps.data)  ########
  File "X:\sovits\GPT_SoVITS\module\data_utils.py", line 36, in __init__
    assert os.path.exists(self.path2)
AssertionError

哥，你这个txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)文件的定义是有问题的……麻烦把那些代码改一下，你前面切分gpu_names=gpu_numbers1c.split("-")会给文件带-0，-1，-2，因为webui单卡整的0-0……但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

这个问题我已经发现了下个版本就会改了（现在在一键三连里面会自动合并），但是我不知道楼主遇到是同一个问题么

还有一个，1Bb-GPT训练时训练集self.semantic_data = pd.read_csv(semantic_path, delimiter='\t', encoding="utf-8")有点问题，我这边用了第一列作为列名，我用的最新的pandas……但是训练代码里面使用‘item_name’来取文件名……怎么都和列名不匹配，应该是前面定义的时候没定义进去吧？所以才会出现后面那个哥们用整合包訓練gpt出问题？

@RVC-Boss 大佬，我用您的整合包訓練gpt出現錯誤

哥们如果你的报错也是KeyError: 'item_name'，试试把GPT_SoVITS\AR\data\dataset.py里面init_batch改一下：
class Text2SemanticDataset(Dataset):
    """dataset class for text tokens to semantic model training."""

    def __init__(self,
                 phoneme_path: str,
                 semantic_path: str,
                 max_sample: int = None,
                 max_sec: int = 100,
                 pad_val: int = 1024,
                 # min value of phoneme/sec
                 min_ps_ratio: int = 3,
                 # max value of phoneme/sec
                 max_ps_ratio: int = 25) -> None:
        super().__init__()
        # self.semantic_data = pd.read_csv(semantic_path, delimiter='\t', encoding="utf-8")
        self.semantic_data = pd.read_csv(semantic_path, delimiter='\t', encoding="utf-8", names=['item_name','semantic_audio'])
        # get dict

然后下面init_batch改一下试试：
    def init_batch(self):
        # semantic_data_len = len(self.semantic_data)
        phoneme_data_len = len(self.phoneme_data.keys())
        print("semantic_data_len:", semantic_data_len)
        print("phoneme_data_len:", phoneme_data_len)
        idx = 0
        num_not_in = 0
        num_deleted_bigger = 0
        num_deleted_ps = 0
        # for i in range(semantic_data_len):
        for index,row in self.semantic_data.iterrows():
            # 先依次遍历
            # get str
            # item_name = self.semantic_data['item_name'][i]
            item_name = row['item_name']
            # print(self.phoneme_data)
            try:
                phoneme, word2ph, text = self.phoneme_data[item_name]
            except Exception:
                traceback.print_exc()
                # print(f"{item_name} not in self.phoneme_data !")
                num_not_in += 1
                continue

不是整个函数都整哈，替代同样的到最后一行就行，第一个到# get dict，第二个到continue

哥，你这个txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)文件的定义是有问题的……麻烦把那些代码改一下，你前面切分gpu_names=gpu_numbers1c.split("-")会给文件带-0，-1，-2，因为webui单卡整的0-0……但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

这个问题我已经发现了下个版本就会改了（现在在一键三连里面会自动合并），但是我不知道楼主遇到是同一个问题么

@RVC-Boss  最新的版本有这样的报错：
Running on local URL:  http://<IP_ADDRESS>:9871
"/home/hwang/Applications/miniconda3/envs/sovits/bin/python" GPT_SoVITS/prepare_datasets/1-get-text.py
"/home/hwang/Applications/miniconda3/envs/sovits/bin/python" GPT_SoVITS/prepare_datasets/1-get-text.py
Traceback (most recent call last):
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 389, in cached_file
    resolved_file = hf_hub_download(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 110, in _inner_fn
    validate_repo_id(arg_value)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_id
    raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use `repo_type` argument if needed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/hwang/Applications/GPTSoVITS/GPT_SoVITS/prepare_datasets/1-get-text.py", line 50, in <module>
    tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 737, in from_pretrained
    tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 569, in get_tokenizer_config
    resolved_config_file = cached_file(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 454, in cached_file
    raise EnvironmentError(
OSError: Incorrect path_or_model_id: 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Please provide either the path to a local folder or the repo_id of a model on the Hub.
Traceback (most recent call last):
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 389, in cached_file
    resolved_file = hf_hub_download(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 110, in _inner_fn
    validate_repo_id(arg_value)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_id
    raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use `repo_type` argument if needed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/hwang/Applications/GPTSoVITS/GPT_SoVITS/prepare_datasets/1-get-text.py", line 50, in <module>
    tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 737, in from_pretrained
    tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 569, in get_tokenizer_config
    resolved_config_file = cached_file(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 454, in cached_file
    raise EnvironmentError(
OSError: Incorrect path_or_model_id: 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Please provide either the path to a local folder or the repo_id of a model on the Hub.
Traceback (most recent call last):
  File "/home/hwang/Applications/GPTSoVITS/webui.py", line 499, in open1abc
    with open(txt_path, "r",encoding="utf8") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'logs/xxx/2-name2text-0.txt'

不确定是不是这个问题引起的？

Hey @HowcanoeWang how did you make the .list file ? The Text annotation file how did create it, did I miss some step because I don't how to create it and no user guide since it's new :D

Hey @HowcanoeWang how did you make the .list file ? The Text annotation file how did create it, did I miss some step because I don't how to create it and no user guide since it's new :D

Use the '中文离线识别ASR' tool to create the list file.
But if you are not using that tool, simply create an empty txt file and rename to xxxx.list, and type the following format should also works: (I guess...)
/absolute/file/path/to/each/vocal1.wav||ZH|这边输入对应的文字1。
/absolute/file/path/to/each/vocal2.wav||ZH|这边输入对应的文字2。

Very labor-intensive, strongly recommend the ASR tool

I didn't downloaded the ASR models... So I only need the ASR model ? I don't need the VAD and Punc model ?
Thank you so much :)

Hey @HowcanoeWang how did you make the .list file ? The Text annotation file how did create it, did I miss some step because I don't how to create it and no user guide since it's new :D

Use the '中文离线识别ASR' tool to create the list file.
But if you are not using that tool, simply create an empty txt file and rename to xxxx.list, and type the following format should also works: (I guess...)
/absolute/file/path/to/each/vocal1.wav||ZH|这边输入对应的文字1。
/absolute/file/path/to/each/vocal2.wav||ZH|这边输入对应的文字2。

Very labor-intensive, strongly recommend the ASR tool

I didn't downloaded the ASR models... So I only need the ASR model ? I don't need the VAD and Punc model ? Thank you so much :)

Please read the readme and follow its instruction:

For Chinese ASR (additionally), download models from Damo ASR Model, Damo VAD Model, and Damo Punc Model and place them in tools/damo_asr/models.

哥，你这个txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)文件的定义是有问题的……麻烦把那些代码改一下，你前面切分gpu_names=gpu_numbers1c.split("-")会给文件带-0，-1，-2，因为webui单卡整的0-0……但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

这个问题我已经发现了下个版本就会改了（现在在一键三连里面会自动合并），但是我不知道楼主遇到是同一个问题么

@RVC-Boss 最新的版本有这样的报错：
Running on local URL:  http://<IP_ADDRESS>:9871
"/home/hwang/Applications/miniconda3/envs/sovits/bin/python" GPT_SoVITS/prepare_datasets/1-get-text.py
"/home/hwang/Applications/miniconda3/envs/sovits/bin/python" GPT_SoVITS/prepare_datasets/1-get-text.py
Traceback (most recent call last):
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 389, in cached_file
    resolved_file = hf_hub_download(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 110, in _inner_fn
    validate_repo_id(arg_value)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_id
    raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use `repo_type` argument if needed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/hwang/Applications/GPTSoVITS/GPT_SoVITS/prepare_datasets/1-get-text.py", line 50, in <module>
    tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 737, in from_pretrained
    tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 569, in get_tokenizer_config
    resolved_config_file = cached_file(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 454, in cached_file
    raise EnvironmentError(
OSError: Incorrect path_or_model_id: 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Please provide either the path to a local folder or the repo_id of a model on the Hub.
Traceback (most recent call last):
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 389, in cached_file
    resolved_file = hf_hub_download(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 110, in _inner_fn
    validate_repo_id(arg_value)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_id
    raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use `repo_type` argument if needed.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/hwang/Applications/GPTSoVITS/GPT_SoVITS/prepare_datasets/1-get-text.py", line 50, in <module>
    tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 737, in from_pretrained
    tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/models/auto/tokenization_auto.py", line 569, in get_tokenizer_config
    resolved_config_file = cached_file(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 454, in cached_file
    raise EnvironmentError(
OSError: Incorrect path_or_model_id: 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Please provide either the path to a local folder or the repo_id of a model on the Hub.
Traceback (most recent call last):
  File "/home/hwang/Applications/GPTSoVITS/webui.py", line 499, in open1abc
    with open(txt_path, "r",encoding="utf8") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'logs/xxx/2-name2text-0.txt'

不确定是不是这个问题引起的？
补充一下页面的参数：

只有一张单卡GPU，感觉是不是没必要切分文本文件？

same encountered this error, is there a workaround?

@whitescent

same encountered this error, is there a workaround?

The "huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use repo_type argument if needed."
That error I fixed it by placing the huggingface models inside "GPT_SoVITS" folder. So repo name is "GPT-SoVITS" and inside that directory there is a another folder named "GPT_SoVITS" place the huggingface models with configs there.
As for the "FileNotFoundError: [Errno 2] No such file or directory: 'logs/xxx/2-name2text-0.txt'"
That error I think it will fixed after you run the ASR tool. I haven't tried that fix because I was trying to train in the cloud and the models were big and I couldn't install git-lfs, so I gave up and left it for a another day.

哥，你这个txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)文件的定义是有问题的……麻烦把那些代码改一下，你前面切分gpu_names=gpu_numbers1c.split("-")会给文件带-0，-1，-2，因为webui单卡整的0-0……但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

目前已经解决了，自动拼接了。

哥，你这个txt_path="%s/2-name2text-%s.txt"%(opt_dir,i_part)文件的定义是有问题的……麻烦把那些代码改一下，你前面切分gpu_names=gpu_numbers1c.split("-")会给文件带-0，-1，-2，因为webui单卡整的0-0……但是训练的时候还是按照2-name2text.txt之类的来拿……

Does logs/xxx/2-name2text.txt exists?

这个问题我已经发现了下个版本就会改了（现在在一键三连里面会自动合并），但是我不知道楼主遇到是同一个问题么

还有一个，1Bb-GPT训练时训练集self.semantic_data = pd.read_csv(semantic_path, delimiter='\t', encoding="utf-8")有点问题，我这边用了第一列作为列名，我用的最新的pandas……但是训练代码里面使用‘item_name’来取文件名……怎么都和列名不匹配，应该是前面定义的时候没定义进去吧？所以才会出现后面那个哥们用整合包訓練gpt出问题？

已修复，看看现在是否正常。

@RVC-Boss 大佬，我用您的整合包訓練gpt出現錯誤

哥们如果你的报错也是KeyError: 'item_name'，试试把GPT_SoVITS\AR\data\dataset.py里面init_batch改一下：
class Text2SemanticDataset(Dataset):
    """dataset class for text tokens to semantic model training."""

    def __init__(self,
                 phoneme_path: str,
                 semantic_path: str,
                 max_sample: int = None,
                 max_sec: int = 100,
                 pad_val: int = 1024,
                 # min value of phoneme/sec
                 min_ps_ratio: int = 3,
                 # max value of phoneme/sec
                 max_ps_ratio: int = 25) -> None:
        super().__init__()
        # self.semantic_data = pd.read_csv(semantic_path, delimiter='\t', encoding="utf-8")
        self.semantic_data = pd.read_csv(semantic_path, delimiter='\t', encoding="utf-8", names=['item_name','semantic_audio'])
        # get dict

然后下面init_batch改一下试试：
    def init_batch(self):
        # semantic_data_len = len(self.semantic_data)
        phoneme_data_len = len(self.phoneme_data.keys())
        print("semantic_data_len:", semantic_data_len)
        print("phoneme_data_len:", phoneme_data_len)
        idx = 0
        num_not_in = 0
        num_deleted_bigger = 0
        num_deleted_ps = 0
        # for i in range(semantic_data_len):
        for index,row in self.semantic_data.iterrows():
            # 先依次遍历
            # get str
            # item_name = self.semantic_data['item_name'][i]
            item_name = row['item_name']
            # print(self.phoneme_data)
            try:
                phoneme, word2ph, text = self.phoneme_data[item_name]
            except Exception:
                traceback.print_exc()
                # print(f"{item_name} not in self.phoneme_data !")
                num_not_in += 1
                continue

不是整个函数都整哈，替代同样的到最后一行就行，第一个到# get dict，第二个到continue

已修复，看看现在是否正常。

Hey @HowcanoeWang how did you make the .list file ? The Text annotation file how did create it, did I miss some step because I don't how to create it and no user guide since it's new :D

Use the '中文离线识别ASR' tool to create the list file.
But if you are not using that tool, simply create an empty txt file and rename to xxxx.list, and type the following format should also works: (I guess...)
/absolute/file/path/to/each/vocal1.wav||ZH|这边输入对应的文字1。
/absolute/file/path/to/each/vocal2.wav||ZH|这边输入对应的文字2。

Very labor-intensive, strongly recommend the ASR tool

I didn't downloaded the ASR models... So I only need the ASR model ? I don't need the VAD and Punc model ? Thank you so much :)

Fixed now. If you want to do Chinese ASR first and don't donwload the model, now it will download it automatically.

@RVC-Boss 成功定位了问题：
Traceback (most recent call last):
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/transformers/utils/hub.py", line 389, in cached_file
    resolved_file = hf_hub_download(
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 110, in _inner_fn
    validate_repo_id(arg_value)
  File "/home/hwang/Applications/miniconda3/envs/sovits/lib/python3.9/site-packages/huggingface_hub/utils/_validators.py", line 158, in validate_repo_id
    raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use `repo_type` argument if needed.

原因是，'bert_pretrained_dir': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large', 里面给的是三段的路径，而实际上的路径应该为两段 pretrained_models/chinese-roberta-wwm-ext-large 即可，因此需要删除webui.py 下面的如下代码中路径的value=路径值前面的 GPT_SoVITS ：
https://github.com/RVC-Boss/GPT-SoVITS/blob/d2c2d4eb34a6dcbd8f0127b212ad4cedd434a2a0/webui.py#L648-L650
https://github.com/RVC-Boss/GPT-SoVITS/blob/d2c2d4eb34a6dcbd8f0127b212ad4cedd434a2a0/webui.py#L664
https://github.com/RVC-Boss/GPT-SoVITS/blob/d2c2d4eb34a6dcbd8f0127b212ad4cedd434a2a0/webui.py#L671

readme里是让用户下到GPT_SoVITS/pretrained_models下面，不是GPT-SoVITS/pretrained_models下面，因此是你位置下错了。

@whitescent

same encountered this error, is there a workaround?

The "huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use repo_type argument if needed."
That error I fixed it by placing the huggingface models inside "GPT_SoVITS" folder. So repo name is "GPT-SoVITS" and inside that directory there is a another folder named "GPT_SoVITS" place the huggingface models with configs there.
As for the "FileNotFoundError: [Errno 2] No such file or directory: 'logs/xxx/2-name2text-0.txt'"
That error I think it will fixed after you run the ASR tool. I haven't tried that fix because I was trying to train in the cloud and the models were big and I couldn't install git-lfs, so I gave up and left it for a another day.

Fixed now. Now it will concat to a whole file automatically.

GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use repo_type argument if needed.
Traceback (most recent call last):
File "D:\python\lib\site-packages\gradio\routes.py", line 321, in run_predict
output = await app.blocks.process_api(
File "D:\python\lib\site-packages\gradio\blocks.py", line 1006, in process_api
result = await self.call_function(fn_index, inputs, iterator, request)
File "D:\python\lib\site-packages\gradio\blocks.py", line 859, in call_function
prediction = await anyio.to_thread.run_sync(
File "D:\python\lib\site-packages\anyio\to_thread.py", line 33, in run_sync
return await get_asynclib().run_sync_in_worker_thread(
File "D:\python\lib\site-packages\anyio_backends_asyncio.py", line 877, in run_sync_in_worker_thread
return await future
File "D:\python\lib\site-packages\anyio_backends_asyncio.py", line 807, in run
result = context.run(func, *args)
File "D:\python\lib\site-packages\gradio\utils.py", line 408, in async_iteration
return next(iterator)
File "webui.py", line 347, in open1a
with open(txt_path, "r", encoding="utf8") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'logs/E/2-name2text-0.txt'

@whitescent

same encountered this error, is there a workaround?

The "huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use repo_type argument if needed."
That error I fixed it by placing the huggingface models inside "GPT_SoVITS" folder. So repo name is "GPT-SoVITS" and inside that directory there is a another folder named "GPT_SoVITS" place the huggingface models with configs there.
As for the "FileNotFoundError: [Errno 2] No such file or directory: 'logs/xxx/2-name2text-0.txt'"
That error I think it will fixed after you run the ASR tool. I haven't tried that fix because I was trying to train in the cloud and the models were big and I couldn't install git-lfs, so I gave up and left it for a another day.

Fixed now. Now it will concat to a whole file automatically.

I'm still getting the same issue with latest code? im in windows env
"D:\conda_envs\replica\python.exe" GPT_SoVITS/prepare_datasets/1-get-text.py
"D:\conda_envs\replica\python.exe" GPT_SoVITS/prepare_datasets/1-get-text.py
Traceback (most recent call last):
File "D:\conda_envs\replica\lib\site-packages\transformers\utils\hub.py", line 385, in cached_file
resolved_file = hf_hub_download(
File "D:\conda_envs\replica\lib\site-packages\huggingface_hub\utils_validators.py", line 110, in _inner_fn
validate_repo_id(arg_value)
File "D:\conda_envs\replica\lib\site-packages\huggingface_hub\utils_validators.py", line 158, in validate_repo_id
raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use repo_type argument if needed.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\dev\replica\GPT-SoVITS\GPT_SoVITS\prepare_datasets\1-get-text.py", line 56, in
tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
File "D:\conda_envs\replica\lib\site-packages\transformers\models\auto\tokenization_auto.py", line 758, in from_pretrained
tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
File "D:\conda_envs\replica\lib\site-packages\transformers\models\auto\tokenization_auto.py", line 590, in get_tokenizer_config
resolved_config_file = cached_file(
File "D:\conda_envs\replica\lib\site-packages\transformers\utils\hub.py", line 450, in cached_file
raise EnvironmentError(
OSError: Incorrect path_or_model_id: 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Please provide either the path to a local folder or the repo_id of a model on the Hub.
Traceback (most recent call last):
File "D:\conda_envs\replica\lib\site-packages\transformers\utils\hub.py", line 385, in cached_file
resolved_file = hf_hub_download(
File "D:\conda_envs\replica\lib\site-packages\huggingface_hub\utils_validators.py", line 110, in _inner_fn
validate_repo_id(arg_value)
File "D:\conda_envs\replica\lib\site-packages\huggingface_hub\utils_validators.py", line 158, in validate_repo_id
raise HFValidationError(
huggingface_hub.utils._validators.HFValidationError: Repo id must be in the form 'repo_name' or 'namespace/repo_name': 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Use repo_type argument if needed.
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "D:\dev\replica\GPT-SoVITS\GPT_SoVITS\prepare_datasets\1-get-text.py", line 56, in
tokenizer = AutoTokenizer.from_pretrained(bert_pretrained_dir)
File "D:\conda_envs\replica\lib\site-packages\transformers\models\auto\tokenization_auto.py", line 758, in from_pretrained
tokenizer_config = get_tokenizer_config(pretrained_model_name_or_path, **kwargs)
File "D:\conda_envs\replica\lib\site-packages\transformers\models\auto\tokenization_auto.py", line 590, in get_tokenizer_config
resolved_config_file = cached_file(
File "D:\conda_envs\replica\lib\site-packages\transformers\utils\hub.py", line 450, in cached_file
raise EnvironmentError(
OSError: Incorrect path_or_model_id: 'GPT_SoVITS/pretrained_models/chinese-roberta-wwm-ext-large'. Please provide either the path to a local folder or the repo_id of a model on the Hub.
Traceback (most recent call last):
File "D:\dev\replica\GPT-SoVITS\webui.py", line 531, in open1abc
with open(txt_path, "r",encoding="utf8") as f:
FileNotFoundError: [Errno 2] No such file or directory: 'logs/Jeru/2-name2text-0.txt'


"acceptedResourceRoles": [""] is not being caught

I can provide "acceptedResourceRoles": [""] and it's not caught in Marathon, while "acceptedResourceRoles": [] is.

@lloesche when you say "not caught" does that mean that marathon ignores it?

Instead of throwing an error it accepts the invalid role name.
What I saw was a user trying to remove the default role of the marathon-lb Docker container slave_public by setting it to an empty string ''. However this didn't have the desired behaviour (what he needed was '*'). But instead of getting an error his invalid config was accepted and the task got stuck in waiting since Marathon never received a resource offer matching that role.

thanks!  we are working on a solution!

I believe we need to add a validation to ensure for all resource roles, the value is non-empty

#4067


C# Compilation Error For Method Overload with Different Interfaces

Hi,
We've got two overloads for a method taking different interfaces:
procedure SelectInterface(var InterfaceOne: Interface "Interface One")
procedure SelectInterface(var InterfaceTwo: Interface "Interface Two")
AL compiles, but I get a C# compilation error when trying to execute the code. The callstack is massive but includes "The type 'Codeunit2014410' already contains a definition for 'SelectInterface_Scope_850733594."
I haven't tested whether this is important but both of the interfaces are implemented by the same enum.

Could you provide a project to reproduce the issue and the version of the product that you are using?

Hi Alex,
Please see https://github.com/jimmymcp/al-issue-6594
There is a new action on the Customer List page "TestInterfaceOverload" which repros the error. When you run that action the web client falls over and a bunch of errors about C# compilation are put into the event log.

Not reproducible on the latest versions of BC and AL extension. This was fixed along with #6924.


Pomodoro timer impossible to turn off

Tried both 3.3.337 and latest dev version, but after having enabled Pomodoro-timer and used it for a day, I can't turn it off again. Still starts the break after 0.42h even if I set it to 55min before turning off the function alltogheter.

Please specify the os and double check if all pomodoro checkboxes are not ticked.

Hey, i found the issue: Toggl on another computer in another place running with the option ticked. Case closed


user view shows public user info to user by parameter

to show user details for a user one can access /user/
this view has to get a little clean up, several greetings and stuff has to be removed.

done


App Insights module supports creating API Key in binding

resolve #702
BTW upragde Azure Go SDK

Thanks for review. CI passed. The last commit is doc only. Will skip CI and merge.


Proposal: elm test warning

If you do npm install -g elm-test you'll be able to run elm test and have it work nicely.
However, if you have installed the Elm Platform but have not installed elm-test via npm, you may be surprised to find that running elm test Tests.elm yields an error. The error message won't give you much clue what the problem is, though; it'll just say that it doesn't know how to elm test.
I propose that we improve this user experience by making the elm binary aware of this likely problem. It could have a special-case error message for the case where the user requests elm test but no elm-test binary is found on the PATH. It could say something like:
elm test is not currently installed. To install it, please see these instructions:
    http://elm-lang.org/testing

Here's the error message I get right now:
Could not find command `test`. Maybe there is a typo?

Default commands include:

  make      Compile an Elm file or project into JS or HTML
  package   Manage packages from <http://package.elm-lang.org>
  reactor   Develop with compile-on-refresh and time-travel debugging
  repl      A REPL for running individual expressions

When you try to run the command `test` we actually search for an
  executable named elm-test. Are you able to run elm-test?
  Is it on your PATH?

It says at the bottom that it looks for elm-test on your PATH. That seems like reasonable behavior to me. Maybe this issue is out of date?

I was specifically suggesting special-casing it for elm-test, which I think is reasonable because although it is technically an unofficial third-party tool, it's the de facto way to write tests in Elm, which is a super common desire.

Closing in favor of https://github.com/elm-lang/elm-compiler/issues/1369


Git clone only for mkdocs build

Hi,
i might miss something here, but is it possible to only perform the clone for "mkdocs build" and not for the serve command?
I want to build a docker image and want to avoid keeping the git credentials in the final docker image. Thanks

Why are you calling mkdocs serve when building the Docker image?

Its the entrypoint of the image. Is that not the way to go?

serve is building and then hosting those files with live reload. If you're looking to just serve up the files then you should put them in a container that's running nginx for example.


Generate BEM-ish class strings based on cva variants config

Great work with this! So simple yet so slick.
I'm using this right now with a BEM-like approach. I'm using another function to generate unique classes for each component, and then writing matching CSS/Sass.
const button = cva('cn-c-button', {
  variants: {
    variant: {
      primary: 'cn-c-button--variant-primary',
      secondary: 'cn-c-button--variant-secondary'
    },
    size: {
      1: 'cn-c-button--size-1',
      2: 'cn-c-button--size-2'
    }
  }
})

I've built another function to generate prefixed classes consistently.
const buttonClasses = createComponentClass("button", {
    variant: ['primary', 'secondary'],
    size: ['1', '2'],
});

const button = cva(buttonClasses.base, { // 'cn-c-button'
    variants: {
        variant: buttonClasses.variants.variant, // 'cn-c-button--variant-primary'
        size: buttonClasses.variants.size, 'cn-c-button--size-1'
    }
});

const buttonIconClasses = createComponentClass("button__icon", {
    placement: ['start', 'end'],
});

const buttonIcon = cva(buttonIconClasses.base, {
    variants: {
        placement: buttonIconClasses.variants.placement, // 'cn-c-button__icon--placement-start'
    }
});

It would be great if I didnt have to create two separate functions and if cva automatically generated the classes for me, or if there was an alternative function that allowed me to do so.
const {cva, prefixed, variant, part, comp, util} = createCva({
  prefix: 'cn',
  categories: {
   comp: 'c',
   util: 'u'
  }
});

prefixed('something') // "cn-something"
variant('size','2') // "--size-2"
part('button','icon') // "cn-c-button__icon"
comp('modal') // "cn-c-modal"
util('mb-4') // "cn-u-mb-4"

const button = cva('button', { // "sui-c-button"
  variants: {
  // Can send variant name + additional classes
    variant: ['primary', { key: 'secondary', class: util('color-blue-500') }] // "sui-c-button--variant-secondary sui-u-color-blue-500"
  },
})

const buttonIcon = cva(part('button', icon), {
  variants: {
    placement: {
      start: util('justify-self-start',), // "sui-c-button__icon sui-u-justify-self-start"
      end: util('justify-self-end`')
    }
  }
})
// Or maybe?
const buttonIcon = button.part('icon', { ... })

Something like this would be amazing for those of use building custom prefixed CSS libraries, but I'm not sure on it just yet. I haven't fully explored this but g2g. Look forward to hearing your thoughts!
I'm happy to provide a further working example and will be working on this in my project next week.
Thank you for your work :)
Related:

https://bradfrost.com/blog/post/css-architecture-for-design-systems/

@kiastorm thanks for sharing, that's a pretty sweet idea! I was thinking about something similar too, but decided to focus on keeping cva as small as possible
Wondering if this would be good to explore as a separate package? 🤔
In other words, could your function wrap cva and extend its functionality?

Yeah I think that makes sense. I'm also exploring creating a postcss plugin that seems to have more obvious overlap with cva. Something that would allow syntax like this:
@util mb-$(#space) { // "cn-u-mb-4"
  margin-bottom: $space;
}

@component button { // "cn-c-button"
  color: #fff;
  background-color: yellow;

  @variant variant {
    @state primary { // "cn-c-button--variant-primary"
      background: blue;
    }
    @state secondary {
      background: red;
    }
  }

  @variant size {
    @state 1 { // "cn-c-button--size-1"
      padding: 0.5rem;
    }
    @state 2 {
      padding: 1rem;
    }
    @state 3 {
      padding: 1.5rem;
    }
  }

  @boolean-variant isFullWidth {
    @true { // "cn-c-button--isFullWidth"
      width: 100%;
    }
  }

  @compound-variant size: 1, variant: primary { // "cn-c-button--size-1--x--variant-primary"
    ...
  }

  @compound-variant size: 2, variant: primary {
    ....
  }
}

I hadn't used postcss until this past week, so I'm not entirely sure if what I'm suggesting is possible exactly how I'm imagining it, but I see a lot of potential with this.


Update the Swift version to 5.6.1

[One line description of your change]
Motivation:
[Explain here the context, and why you're making that change. What is the problem you're trying to solve.]
Modifications:
[Describe the modifications you've done.]
Result:
[After your change, what will change.]

@swift-ci smoke test

Thanks @shahmishal.  Ready to merge?

Yes

[ ]


TypeScript error with --isolatedModules flag

The TypeScript compiler option --isolatedModules reports an error:
node_modules/@vueuse/core/dist/index.d.ts:492:278 - error TS2748: Cannot access ambient const enums when the '--isolatedModules' flag is provided.

It would be nice if vueuse would not prevent the use of this compiler option.

I didn't aware of this flag. What can we do to make this supported?


Resource Group Create SDK should return an async poller - otherwise SDK users who create resources right after creating resource groups may see intermittent resource creation errors

Bug Report
Our Symptom
We are a team that runs frequent automated tests using the azure-sdk-for-go. Our test job does the following:

Create a resource group in ARM
Create a resource in that resource group in ARM
Delete that resource in ARM
Delete that resource group in ARM

Our tests recently started failing intermittently.
Based on our tests, we believe that ARM takes a few seconds for resource group creation to propagate in some cases and that those cases have recently become more common for us.

	ResourceGroup
}

Link: https://github.com/Azure/azure-sdk-for-go/blob/main/sdk/resourcemanager/resources/armresources/response_types.go
This makes it easy for clients of the sdk to write code like this:
rg, err := resourceGroupClient.CreateOrUpdate(ctx, params.Name, azresources.ResourceGroup{
				Location: to.Ptr(params.Location),
				Name:     to.Ptr(params.Name),
			}, nil)

someOtherResource, err := resourceClient.CreateOrUpdate(ctx, params.Name, rg.Name, // other params)

However, this code will have some small chance of failing if ARM encounters the same delay we encountered. Customers of the SDK will go through a difficult and confusing troubleshooting process before either adding their own custom polling or a delay to their code like this:
rg, err := resourceGroupClient.CreateOrUpdate(ctx, params.Name, azresources.ResourceGroup{
				Location: to.Ptr(params.Location),
				Name:     to.Ptr(params.Name),
			}, nil)

time.Sleep(10 * time.Second)

someOtherResource, err := resourceClient.CreateOrUpdate(ctx, params.Name, rg.Name, // other params)

We added a custom poller to our code to get around this issue.
Can the resource group client be updated to return an async poller to reflect this delay and to avoid duplicating the troubleshooting we did?

@jake-billings , this request needs service side change as currently this API is not an LRO. When it's changed to be an LRO, the generated sdk code would return the async poller.

I don't think ARM will change the RG implementation here. I think the SDK will need to poll on RGs or users will hit this issue sometimes. The poller might to be a little different from the standard LRO poller for resources.

If this is an issue caused by data propagation (cache or otherwise), then it can occur on all resource types, not just resource groups.
This basically suggests that issuing a GET after the synchronous PUT returned 200 might return 404?

I have only observed this issue with resource groups. It may or may not happen with other resource types.
I know other resource types that require LRO for creation return a poller. What would that poller do if the operation status returned a 404 once before returning the pending operation status? Would it treat that as part of the polling process or error out?

@jake-billings , that's the polling process until the resource get returns 200. It's same behavior across all languages, and that special polling should be taken care of by end user.

@jake-billings  all the SDK code are automatically generated, and adding customized code isn't supported by current generation infrastructure.  I talked to other SDK language team, and they haven't received any customer feedback on this issue.
We will re-evaluate this request if hearing more customer request on this.

Can you get hold of the devs owning. The resourcegroup service to make sure their resource creation is synchronous? We agree that this is a swagger definition issue, if the creation isn't synchronous, and that's not an SDK bug.

I have reached out to the devs owning resource group. I'll see what they say

@serbrech I confirmed with ARM team that this behavior is currently expected.

@serbrech I confirmed with ARM team that this behavior is currently expected.

Thanks for your update. I closed this issue.

@raych1 @serbrech Would customers agree this behavior is expected?
Is there a plan in place to document this - maybe we can provide some example SDK code?
Customers will need to add their own custom polling logic when creating a resource group then creating a resource in that group if they want it to work consistently.
To get it to work, they will need custom code polling 404 responses on the PUT to their new resource. It would appear from the SDK that these responses will not occur or will be retried when they do, but this is not the case.

@jake-billings not at all.
As a matter of fact, AKS Resource Provider was just affected by it, and the QoS of creating AKS cluster was affected by this behavior. to fix it, we have to poll the Resource Group manually after creating it... which should be built-in the SDK.
ARM side fix could be as simple as changing the x-ms option for final-state-via, so that the generated poller just issues GET requests on the resource. they wouldn't need to implement the LRO header.

@jake-billings
TL;DR: ensure the calls use the same correlation-id

the delay is caused by regional replication
it got more visible due to a change in load balancing on incoming calls

The details aren't important, and subject to change.
The more important information is that if the calls provide the x-ms-correlation-request-id header, the requests will be routed to the same region, and thus you will not get 404.
Polling the resource group following the PUT will not guarantee that the later operation transit via the same region.
Make sure you pass the same GUID in this header in the calls, and the problem should disappear.
using<EMAIL_ADDRESS>var cid http.Header
cid.Add("x-ms-correlation-request-id", "8337dcf7-ef97-4a04-8b2a-fdb0e95b387f")
ctx = policy.WithHTTPHeader(ctx, cid)
client.DoSomething(ctx, ...)

Thanks, @serbrech! Will let my team know about this fix!
I wonder if there's any way to pass a correlation id or similar header automatically... 🤔

@serbrech This fix did not work for us. We continue to see the issue with the correlation id set.
It looks like even with the correlation id being the same, it is possible for traffic to be routed to different regions in quick succession.

PreciseTimeStamp
httpMethod
operationName
httpStatusCode
correlationId
Location

2024-02-29T16:23:52.4732221Z
PUT
PUT/SUBSCRIPTIONS/RESOURCEGROUPS/
-1
5309fae3-d2d3-49ae-8e59-776c19847c89
Japan East

2024-02-29T16:23:52.5997332Z
PUT
PUT/SUBSCRIPTIONS/RESOURCEGROUPS/
201
5309fae3-d2d3-49ae-8e59-776c19847c89
Japan East

2024-02-29T16:23:52.6111353Z
GET
GET/SUBSCRIPTIONS/RESOURCEGROUPS/
-1
5309fae3-d2d3-49ae-8e59-776c19847c89
Japan East

2024-02-29T16:23:52.6316374Z
GET
GET/SUBSCRIPTIONS/RESOURCEGROUPS/
200
5309fae3-d2d3-49ae-8e59-776c19847c89
Japan East

2024-02-29T16:23:52.6604192Z
PUT
PUT/SUBSCRIPTIONS/RESOURCEGROUPS/PROVIDERS/MICROSOFT.EXTENDEDLOCATION/CUSTOMLOCATIONS/
-1
5309fae3-d2d3-49ae-8e59-776c19847c89
Japan West

2024-02-29T16:23:52.777555Z
PUT
PUT/SUBSCRIPTIONS/RESOURCEGROUPS/PROVIDERS/MICROSOFT.EXTENDEDLOCATION/CUSTOMLOCATIONS/
404
5309fae3-d2d3-49ae-8e59-776c19847c89
Japan West

@serbrech @raych1 This behavior is ongoing. Can we please reopen this issue and considering adding a poller here in SDK? It appears that ARM does not currently offer strong consistency, and I believe customers will experience this issue today if they try to create resource groups and resources at the same time.

We also still see it occuring with the correlationID set.
Polling is not helping either since 200 from 1 GET does not guarantee that a subsequent GET will succeed as the data is not consistent depending on where our request lands.


chore: rollback to dev pub-type

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:6766086fe03289330ba2b4b349ea7b8c1e4c8f37

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:d1624d878d981ea5b04c25e21fd4f283e5ca21ea

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:d9e8a5c9b9c92d6350920c46112138cfa32a66f1

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:d9e8a5c9b9c92d6350920c46112138cfa32a66f1

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:0022eacf86878c2ee4c6f0e26f66d82bc4ed34a0

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:ff6f0ce229ae1a3b2219eb64f7f48bb4d5682cc9

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:0f0187ed3cfce381c338deb69fc6b5e1bcd328ae

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:ed25e8dcaba02534b9fef5435ce1fb82ae377d3b

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:e1a386681161cc3d4ca221f4c02301231d56340c

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:1f0467a6bfd3c6766bf710389395ee3199dcfd8f

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:8d7b2f697bad42862efc08c3be462b52070e9e2e

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:74dc9b495df2daa182b56393ca42fc9db7e424a0

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:0b0c20079424cd5e8352aa07d434db2b90a42fca

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:e3a4be9e613be1ec25bfd1fe0c02f73ba7a9cc84

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:68b5bae370ed7006d353566e16d76d34000aabae

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:6dabeb05268ca39daba2b033ca2891e09f151b9f

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:4b72c3deaefb23b8de3c8c14180d943ba9bb52fd

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:10950c23768c37a7208eef02e06f7d6182dd4431

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:1a198df2b7eb28e2c72f10b68ae6eabee1d6fd60

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:737b22406b83cc37d5991639ff37155a66b8816f

Your development orb has been published. It will expire in 30 days.
You can preview what this will look like on the CircleCI Orb Registry at the following link:
https://circleci.com/developer/orbs/orb/dow/helm-orb-debug?version=dev:737b22406b83cc37d5991639ff37155a66b8816f


Research form.io / react capabilities for new survey questions

Research for the following cards to come on...

VC style question
pagination

-Likert is already available in form.io as "Survey"
This card is probably for the Jad 😉

Timebox - estimated time = 5

@carlygreenehill  @marieanik pagination with a progress bar is already doable. We know that already so for that you don't have to wait for an answer, it's yes.

Check boxes can be dynamically populated by adding a hidden component and adding Javascript logic under Custom Default Value in the Data tab to use Formio.fetch and pull the VCs and then pull the checkbox component by using a utility function and then populating its values field manually.
Checkbox layout could be altered by pulling the checkbox component as is from the Formio repo then making changes to the template.ejs
Tags component could be created by extended custom html element and adding a template for it. It can be populated by adding a a custom logic to it in the Logic tab that triggers on change of checkbox,  checks which checkboxes are true and appending values to the value field


Light/Dark theme not switchable on Android

Version: 0.5.10
Light/Dark theme icon does nothing on Android

Not loading Globals data module (has issue blocking the main form) for now on Android
However when fixed still need to check if embedded light/dark styles work fine on Android

hid for now - those styles don't support Android (probably need different ones or to set some switch on them)

Seems to be related to used styles being Windows only. Same issue on MacOS-X
Have hidden the style selection button for now

added styles for OS-X/iOS/Android too and enabled the button


Client Allocation Request for: Ancientgreek

Client Allocation Questions
Core Information

Name: Ancientgreek
Website / Social Media: http://www.ancientgreekwomen.com/gracesd02d.html
Region: North America
DataCap Requested: 1TiB
Addresses to be Notarized: f1gtpgfpa5aan4kqxz24eigbba4qyj4ful7gby42a
Notary Requested: dannyob

@VaggerXX Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Hi, @VaggerXX , I'm not sure what you're looking for datacap for here. Could you explain further?

Hey,  @dannyob  please allow me to introduce my project to you
From the website you can see that it is about ancient Greek culture,the content is mainly female oriented.This kind of theme is extremely rare.We have compiled a collection of public documents from around the world about ancient Greece.The data is cleaned, initially analyzed by Ai, and then edited by human.In this way we have compiled information about ancient Greece and divided it into nearly 200 sections.
The unique character of ancient Greek literature has made it one of the most important sources of world literature. With mythology, epic and tragedy as the most outstanding achievements, ancient Greek literature embodies the creative power and hope of the primitive ancestors to transcend reality and pursue the ideal of freedom. During this history women experienced a change in role from goddess-slave -woman. This is also the source of the development of female consciousness.
Our aim in making this project is to be able to preserve this history better, and we also hope that more people will use the information , especially for movies, TV shows, and games. It will be very helpful to them.
we intend to store some amount of rawdata that we have collected before.

Okay. Please ensure you store your data with multiple storage providers that you have no relationship with.  This helps us to ensure that datacap is spread across the ecosystem. Good luck!

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzaceau6yvdzklafy2t7mev3rocpjc55pud2wlmfhqtzbcliddzixn4zk

Address

f1gtpgfpa5aan4kqxz24eigbba4qyj4ful7gby42a

Datacap Allocated

1TiB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzaceau6yvdzklafy2t7mev3rocpjc55pud2wlmfhqtzbcliddzixn4zk


Proper Alignment of nav items

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Nav items in the navbar are not aligned properly.
Some items are getting overlaped.
Before:

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@anuragverma108 @huamanraj
Please assign this issue to me.
Thank you.


Refactor SearchServiceClient into SearchIndexClient and SearchIndexerClient

To avoid too many methods in SearchServiceClient, we will refactor it into two separate clients that group the functionality into index management, and skillsets (enrichments) management. Method names will retain their names they have today, like CreateIndex, DeleteIndex, CreateDataSource, DeleteDataSource, etc. This also means there should be the GetServiceStatistics like we should have no, instead of dropping "Service". This differentiates it with GetIndexStatistics.

SearchIndexClient will aggregate:

Index operations: CreateIndex, etc.
Synonym map operations: CreateSynonymMap, etc.
Service operations: GetServiceStatistics
Define/retain GetSearchClient that takes a string indexName and returns a SearchClient

SearchIndexerClient will aggregate:

Indexer operations: CreateIndexer, etc.
Data source operations: CreateDataSource, etc.
Skillset operations: CreateSkillset, etc.

https://github.com/Azure/azure-sdk-for-java/commit/471a3a71a66d198a9621d1948b3f829b136a68d6


Added support to label coloring

Added support to customize label colors through fill label option or one more column in data.

Thanks for the pull request! This is a good addition.
I'll accept the PR for now, but because this also requires specifying a background color for individual sections to take affect, I think I'll work in a change that allows specifying the background color and label color through the options.


Feature request: re-use a base VM if installer_app is specified.

At present, creating a VM by starting with from a macOS installer has a long iteration time because of the time it takes to create the base VM from the installer.
Since the installer should create mostly-the-same base VM each time it's run (modulo software updates of the moment at the time of run), cache it.
There should be a simple way to clear this cache to force a from-scratch VM.
(PR incoming)

Will be included in 1.6.0


Split Pane Remote Domains

Problem: Default wezterm split pane actions do not support splitting panes with remote domains
Feature: Configure split pane keybinds with remote domain switching either with MuxDomain attach (if possible) or find domain infomation and run native command in SpawnCommand (i.e. ssh @ etc,,,)
Maybe something like this could work:
if is_remote_domain(domain)
    window:perform_action(
        act.SplitHorizontal { domain = 'CurrentPaneDomain' },
        pane
    )
    domain:attach()
end

So I have done some research and found a possible method of "faking" ssh domain splits via exec_domains.
It should be possible parse the config ssh domains to either have one exec_domain for each ssh config, or have the cmd args to a single exec_domain contain the nessisary ssh command. I think the latter is the cleanest solution
config.exec_domains = {
	wezterm.exec_domain("exec", function(cmd)
		cmd.args = { "ssh"<EMAIL_ADDRESS>}
		return cmd
	end),
}

config.keys = {
	{
		key = "-",
		mods = "CTRL",
		action = wezterm.action_callback(function(window, pane)
			pane:split({ domain = { DomainName = "exec" } })
		end),
	},
}

Oh Interesting. So these exec_domains get handled differently than remote domains do. The remote domains (ssh, tls, and unix) essentially use wezterm connect which uses the selected protocol to connect to a remote wezterm instance running on the server which allows for multiplexing in the same window without making a new connection. So technically you could just expand on the ssh doc like this:
local wezterm = require 'wezterm'

local ssh_domains = {}

for host, config in pairs(wezterm.enumerate_ssh_hosts()) do
  table.insert(ssh_domains, {
    name = host,
    remote_address = host,
    --assume_shell = 'Posix',
  })
  table.insert(exec_domains,
    wezterm.exec_domain(
        "exec: " .. host,
        function(cmd)
            cmd.args = { "ssh", config.username .. "@" .. config.remote_address }
        end
    )
  )
end

return {
  ssh_domains = ssh_domains,
  exec_domains = exec_domains,
}

This would add the exec_domains to your list of domains that are usable in the split commands and you would have both the ssh_domain and exec_domain for spawning in the new tab or exclude ssh_domain if you have no need to multiplexing on a remote server.
Or I could add a piece to the apply_config that would add the exec_domain for each ssh_domain defined in the user config, but this would remove the ability to exclude the ssh_domains (which require a remote wezterm instance)
What are your thoughts?

I figured it out. I have added configuration options to automate the configuration of ssh and exec domains this should will allow splitting panes into an ssh session
{
  keys = ...,
  icons = ...,
  auto = {
    ssh_ignore = false,
    exec_ignore = {
      ssh = false,
      docker = true,
      kubernetes = true
    },
  }
}


Fetching favorites fails if name contains special characters

Fetching favorites fails if name contains characters such as ß.

This wasn't reproduced.


[multi-chain] Implement a generic chain spec

Closes #635
For now this does not error out on unknown transaction types and interprets it as EIP-155 for the transactions and EIP-568 for the receipts, doing what we do on main. The integration test listed in #635 passes. What's left is not erroring out on missing nonce/mixHash for remote blocks. EDIT: That's now done in https://github.com/NomicFoundation/edr/pull/653/commits/d95eb9ab2be09d4ddfaf6e9d9214d17a73f08d6b.
@Wodann this is up for preliminary review if you feel like it, I tried to clean it up more or less and retain the existing structure found in edr_optimism.

Ah, https://github.com/NomicFoundation/edr/pull/653/commits/d95eb9ab2be09d4ddfaf6e9d9214d17a73f08d6b regressed the unknown_transaction_types. Reverting to draft while I figure this out.

I have implemented the ProviderSpec and SyncNapiSpec and re-use the GenericChainSpec instead of the L1ChainSpec in edr_napi and updated the Hardhat patch to use it - let's see what CI says.

@Wodann I hope everything looks good now! The tests are passing and I applied the patch; let me know if I should add or change anything. Thanks!

While going through the changes I noticed that there was a failing test in the EDR TS bindings but it wasn't being triggered in the CI.
I added CI support, causing the failure, and pushed a fix for it.
I also re-added the implementation of the NapiSpec for L1ChainSpec as that should keep existing for future releases.

@Wodann thanks for the fixes! For the one last thread I can confirm that it's working as you'd expect but left a note there as well but we can tackle this in a follow-up, if at all. Since the change in https://github.com/NomicFoundation/edr/pull/653/commits/31f123e238595cb953024f7948f88211a2abd332 is cosmetic, I'll go ahead and merge this to unblock your remaining work.


Further Inlay Hints

Possible areas for more inlay hints in the future:
intro x[: \R] y[: \N] z[: \R]
byContra hP
fun x =>  ...
\lambda x => ...

Need to prevent diagnostic hints from showing up on non lean files

For instance, using a .tex file with the Texify Idea plugin and lean4ij enabled.