Generics

Generics Proposal
Motivations
The main reason for generics is to allow container types to be used by any type, yet type safe. This will be especially helpful for structures such as vectors and trees.
Also, in Ark, traits must be used in combination with generics, as traits are static (eg. Rust) and not dynamic (eg. Go and Rust). Unless traits are implemented dynamically, adding runtime overhead, traits must be used with generics.
Syntax
@felixangell suggested attribute-like syntax: [T: SomeTrait].
I prefer the more common syntax <T: SomeTrait>.
The containing brackets aside, here is the syntax for generics declarations:

<TypeIdentifier>
<TypeIdentifier: TraitConstraint>
probably a few more that could be added

Implementation
Static generics will require code generation for all the different types that call the generic function. This will require name mangling, so it's a good idea for us to draft an Ark name mangling specification.
Generics will probably be implemented in the parser rather than the codegen.
What next
The current proposal lacks the important details about the semantics of generics, which need to be sorted out.
More detail and suggestions are welcome.

@ark-lang/owners
I dunno I kind of like the [] for generics, but it also means it would look like this:
[T: Foo]
func whatever(a: T) {

}

Given the new attribute changes stuff.

How about using the more common syntax?
func <T: Foo> whatever(a: T) {
...
}

@SamTebbs33
Yeah, that's the syntax that @MovingtoMars. I like the idea of using [] (attributes), even if it doesn't really make sense I mostly like it because it looks cool

:+1: for [T: Foo] syntax

@felixangell @raoulvdberge it's so confusing though... why use it when it's already attribute syntax.

@MovingtoMars Because a generic is also kind of an attribute

@raoulvdberge That's what I thought!

@raoulvdberge it's only a type of attribute when you describe it in English. In Ark, an attribute is a key with an optional value that says something about a declaration. Generics introduce a type into scope that can be referenced by a set name, which may have a restrictor (trait). They're completely different semantically and combining them is just confusing.

@MovingtoMars When I initially thought of attributes, I thought a characteristic that belongs to the given declaration, or statement, or whatever. If you think about it, the idea that T is Foo for the given declaration is a quality that only that function/statement/whatever shares, and I think that makes sense.
Just like a structure being packed or aligned, that's a unique quality given to the given structure, which also makes sense.

I like <> for generics. That is the C++ and the C# and the Java standard and it makes sense!

The problem i see with using the current attribute system is later reference to the type. Say I have a
[T: Foo] struct Name { ... }
and i want a variable containing one, how do i specify that? Would we go
thing : [int]Name = ...
and conflict with array syntax?

Maybe we could do
thing : Name[int] = ...
but that seems confusing seeing as attributes normally come before the thing

I'm still against [] syntax. It doesn't make sense. We should just use <>.

The carat syntax does make a lot more sense, and it's familiar from other languages.

This is approved, help us design the spec here!


No reference to API documentation from github project / pypi homepage.

Basically, I was trying to find API documentation for ConnectionPool (the quickstart doesn't document how you release a connection you acquired from a pool).
Apparently, https://redis-py.readthedocs.io/en/latest/ is the documentation for this project, but I had to use google to get there.
It seems to me that the README at https://github.com/andymccurdy/redis-py and https://pypi.org/project/redis/ should probably have at least a reference to the generated autodocs.

Hi @fake-name, is this what you meant?

Spot on!

This issue could be closed after merge of #1026


[SPARK-8895] MetricsSystem.removeSource should be called in StreamingContext.stop

This ensures that if one StreamingContext is created after stopping
another using the same SparkContext, MetricRegistry does not complain
that the metrics are already registered.

Can one of the admins verify this patch?

@aniketbhatnagar There is already a PR for this. #7250

Do you mind closing this PR?

Closed in favour of Duplicate #7250


Join us on Slack

We're creating an ice_cube Slack to bring contributors together. Click below to join:
https://join.slack.com/t/icecube-corp/shared_invite/zt-1e1vf3y7m-DFgFJWUTiq1rbBaStEoiXg

"This link is no longer active."

Here's a new one: https://join.slack.com/t/icecube-corp/shared_invite/zt-118ro0kvr-AKGf14JskPuLa07fLEFaJA

Sorry for the trouble @kkurian - not sure how to get a permanent link but I can look into it

@pacso link is not working, how can I join?

@pacso @seejohnrun I am interested in joining as well.

@thibaudclement / @vl3 - I've updated the link, should work now

New link?

Sorry ... updated link valid for the next 30 days - https://join.slack.com/t/icecube-corp/shared_invite/zt-1zas03xpd-wSnGLohR2OplO844OTxLXg
I'll update the main one too

Sorry to ask again but is there a new link for this?

@xiaochuanyu - https://join.slack.com/t/icecube-corp/shared_invite/zt-2hnc5v6z7-K0kxsfdfN56ps68AMJzh2Q will work for the next 30 days

new link please!

new link please!

Also requesting new link please :)

I'm just getting on a flight, but will update the link as soon as I'm at my hotel.

New link - https://join.slack.com/t/icecube-corp/shared_invite/zt-2vqckjvpw-YLuopzAY74Aog7T2fB9p9g
I've updated the top comment too, and will delete these comments in a few days.


vite-plugin-dts cannot handle TS target es2023

Describe the bug
I would like to compile my TS with the target es2023. However, vite-plugin-dts fails during build:
[vite:dts] Error parsing tsconfig.json content: Argument for '--target' option must be: 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.

Could you please add es2023 to the valid targets?
Reproduction
https://stackblitz.com/edit/vitejs-vite-yvyhes?file=vite.config.ts
Steps to reproduce
Run npm build
System Info
System:
    OS: Linux 6.10 Manjaro Linux
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
    Memory: 10.49 GB / 31.08 GB
    Container: Yes
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 22.6.0 - /usr/bin/node
    npm: 10.8.2 - /usr/bin/npm
  npmPackages:
    vite: ^5.4.2 => 5.4.2
    vite-plugin-dts: ^4.0.3 => 4.0.3

### Validations

- [X] Read the [FAQ](https://github.com/qmhc/vite-plugin-dts#faq).
- [X] Check that there isn't [already an issue](https://github.com/qmhc/vite-plugin-dts/issues) that reports the same bug to avoid creating a duplicate.
- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.

I suspect the problem is this: https://github.com/microsoft/rushstack/issues/4930


"configOptions" property not work

Checked the source code, it seems we need to set the "configOptions" property's type as Object, then it will works well.

Hi @benjaminliugang - i'm going to close this issue. Please use our provided template for submitting issues. also, if/when you reopen this issue please provide some sample code.

btw, if you think you have a solution, please feel free submit it as a Pull Request.

@runn-vermel - I'm going to open a Pull Request for this issue. The configOptions property should just have it's type declared as Object.

can you explain what's not working, and how this PR will fix it please?

The issue was obscured by the fact that we were binding directly to a JavaScript object in our demo page instead of passing it in as a string as you showed in your email. I've fixed it in v1.6.9 and also in our new v2* chain on master (you should use v1.6.9 for now though). Thanks for pointing it out.


Please add "Abandon 996" badge in this project to support us.

Add this badge - to your project to support 996.ICU.
把这个徽章加入你的项目来支持996.ICU

Chinese software engineers are protesting against the country ’ s 996 work schedule.
An unleagal work schedule (9a.m. ~ 9p.m., 6 days a week) .
Search 996.icu to support us !!
中国的程序员正在网上发起反抗 996 工作制的运动
“ 996 ”工作制，即每天早 9 点到岗，一直工作到晚上 9 点，每周工作 6 天。
请搜索 996.icu 支持我们 ！
Working Men of All developers, Unite!

Please support us.

illegal not unleagal.

I guess human evolution left some individuals behind.
Damn : (

TensorFlow issues isn't the right place for this discussion.


Handle Auto Scaling Groups with missing LaunchConfigurationName

Fixes #143
Move creation of config_names below cache check
Unable to reproduce this problem in normal operation - Verified that nothing breaks

Coverage increased (+0.005%) to 76.147% when pulling 271fee8904d67ce8bcafd2033a119b195ee0da03 on ewbankkit:issue-143 into 024ae8974c759325c14fe912d671520ac55788bd on capitalone:master.

@kapilt, I see you addressed this with https://github.com/capitalone/cloud-custodian/commit/abc59d6e7831001779334ee3ca3a489bb694ed29. I'll close this PR.


[Creator Starter Kit] BUG:

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

I am not seeing the issue here ?

Closing this as there is no content.


Auto-login

We should cache the last login (e.g. via metamask) and perform the account connection the user has already authorized, so that the login button does not need ot be hit each time the page is refreshed.

Depends on https://github.com/webaverse/app/pull/2841


Enable CAN peripheral on STM32G0

This PR enables CAN support for stm32g0.
The driver introduced in #31061 by @alexanderwachter does work for this series as well without issues.
All tests pass with this definitions on nucleo_g0b1re.

I Will push code for interrupt sharing later, therefore I marked it as draft for now.

@mbolivar can you check dt device-tree API extension?

I am wondering if the Macros with the _COND suffix are worth it or this logic should be implemented by each driver using shared-irqs itself? Mostly because zephyr also has ZLI and #32575 for example provides the possibility to choose between "normal" and direct IRQs .
Would you prefer to open a separate PR for the commit "drivers: shared_irq: add devicetree helper macros", or should I rename this PR accordingly.


Add XML API Connector, and two playbooks to the demo the API. Playboo…

Add XML API Connector, and two playbooks to the demo the API. Playbooks added are Playbook to get threat PCAPs and  Playbook to get system infor of the firewall from Sentinel Alert and create and Update an incident
Required items, please complete
Change(s):

Updated Playbooks/PaloAlto-PAN-OS/PaloAltoCustomConnector/azuredeploy.json
Created a new folder for PaloAlto-PAN-OS-GetSystemInfo  under Playbooks/PaloAlto-PAN-OS/Playbooks/
Created a new folder for PaloAlto-PAN-OS-GetThreatPCAP under Playbooks/PaloAlto-PAN-OS/Playbooks/

Reason for Change(s):

Added a new Sentinel Connector for PAN-OS XML API

Version Updated:

No

Testing Completed:

Yes

Checked that the validations are passing and have addressed any issues that are present:

Need Help

Hi,
Thanks for this great contribution! :)
Regarding playbook logic:
Please use the incident trigger and not the alert trigger. The readme file says it will start with incident trigger while the code says alert trigger. When doing so, the action "Alert - Get incident" is not required.
Also, the description says that "Alert - Get incident" creates an incident while it doesn't (it just looks for an existing incident contains this alert)
In the playbook description it is mentioned to check if the alert is a palo alto alert - are these playbooks meant only for specific anlytic rules? If yes, we should mention it in the prerequistes.
Regarding playbook ARM templates:
The location is hard coded. Please change the location value to: "[resourceGroup().location]"
The Azure Sentinel connector under $connections should include the managed identity object:
"connectionProperties": {
"authentication": {
"type": "ManagedServiceIdentity"
}
},
API connection resources are missing from the playbook template?
Could Log Analytics connector recieve resource group from the incidnet trigger, or it must be the playbook parameter?

@smisun - Did you get a chance to incorporate changes suggested by lior

@smisun - Did you get a chance to incorporate changes suggested by lior

@sreedharande - Sorry, I haven't had a chance to get to this. I got pulled into an incident and haven't been able to look at anything else. I hope to get to this tomorrow.

Hi,
Thanks for this great contribution! :)
Regarding playbook logic: Please use the incident trigger and not the alert trigger. The readme file says it will start with incident trigger while the code says alert trigger. When doing so, the action "Alert - Get incident" is not required. Also, the description says that "Alert - Get incident" creates an incident while it doesn't (it just looks for an existing incident contains this alert) In the playbook description it is mentioned to check if the alert is a palo alto alert - are these playbooks meant only for specific anlytic rules? If yes, we should mention it in the prerequistes.
Regarding playbook ARM templates: The location is hard coded. Please change the location value to: "[resourceGroup().location]"
The Azure Sentinel connector under $connections should include the managed identity object: "connectionProperties": { "authentication": { "type": "ManagedServiceIdentity" } },
API connection resources are missing from the playbook template?
Could Log Analytics connector recieve resource group from the incidnet trigger, or it must be the playbook parameter?

Thanks for the review, Lior!
I've changed the incident trigger, and removed the action "Alert - Get incident". Thanks for clearing up my confusion about what the action "Alert - Get incident" does :). I've added the prerequisite to indicate that this works only for Palo Alto incidents.
I've removed the hard coded location from the Playbooks.
I've the added the "ManagedServiceIdentity" authentication type for Sentinel connector
I've added the API connection resources to the playbook templated
In our team, we have a practice of separating the Log Analytics resource group, so it's easier to just get the name from the playbook parameter.

@smisun - Did you get a chance to incorporate changes suggested by lior

@sreedharande - Sorry, I haven't had a chance to get to this. I got pulled into an incident and haven't been able to look at anything else. I hope to get to this tomorrow.

@sreedharande - I've incorporated Lior's suggestions and updated things

Please update playbook trigger

Done


[test_scan2d]: Complete support for cumsum and cumprod

The end-to-end core test test_scan2d fails to run correctly on a PVC GPU for certain combinations of arguments/attributes (axis = 1, num_warps = 4, shape = [1024, 2]).

I looked into LLVM IR dumps for the case with op=cumsum, shape = [16, 32], axis=0, num_warps = 4. Each thread handles four elements in a row. Each warp has 32 threads and handles four input rows. Here is a code to compute the partial sum for the first element handled by a thread:
  %26 = tail call i32 @_Z21sub_group_shuffle_xorij(i32 %19, i32 8), !dbg !14
  %27 = icmp eq i32 %9, 0, !dbg !14
  %28 = select i1 %27, i32 0, i32 %26, !dbg !14
  %29 = add i32 %28, %19, !dbg !14
  %30 = tail call i32 @_Z21sub_group_shuffle_xorij(i32 %29, i32 16), !dbg !14
  %31 = icmp ult i32 %9, 2, !dbg !14
  %32 = select i1 %31, i32 0, i32 %30, !dbg !14
  %33 = add i32 %29, %32, !dbg !14

Here %19 is an input value and %9 is a row index within a warp. More readable C code for this:
other_val = sub_group_shuffle_xor(val, 8)
local_sum = val + row_no== 0 ? 0 : other_val
other_local_sum = sub_group_shuffle_xor(local_sum, 16)
res = local_sum + row_no < 2 ? 0 : other_local_sum

We expect res to hold warp-local partial sums in each thread. But the condition (row_no == 0) applied to the local_sum allows adding elements from subsequent rows into the partial sum, so row#3 is added to row#2. Also, the second sub-group shuffle exchanges partial sums instead of the full sum for the appropriate half of a warp.
E.g. here is what happens now for the first column within the first warp:
row_no    val      other_val       local_sum         other_local_sum          sum
    0    x[0, 0]    x[1, 0]    x[0, 0]              x[2, 0] + x[3, 0]      x[0, 0]
    1    x[1, 0]    x[0, 0]    x[0, 0] + x[1, 0]    x[2, 0] + x[3, 0]      x[0, 0] + x[1, 0]
    2    x[2, 0]    x[3, 0]   *x[2, 0] + x[3, 0]*  *x[0, 0]*              *x[0, 0] + x[2, 0] + x[3, 0]*
    3    x[3, 0]    x[2. 0]    x[2, 0] + x[3, 0]    x[0, 0] + x[1, 0]      x[0, 0] + x[1, 0] + x[2, 0] + x[3, 0]

Here we see that row#2 wrongly includes row#3 in its sum and misses row#1. The same thing happens for all columns and each warp ends up with one incorrect row.
To fix that, we should fix the condition used for partial sum computation (which is now row_no == 0) and at each reduction stage compute full sums for exchange via sub_group_shuffle_xor. At this moment, I don't know which part of the lowering is responsible for the error.

The root cause of the problem is in commonShflSync method which ignores shuffle mode for GenX target.

Fixed by #218


Show logo on browser tabs

Currently, we see something weird on browser tabs when our site is open. We should put the logo and meaningful titles on each page.

Verified with google chrome latest on Windows 10, commit  00695fb.


Expressed neoantigens and other minor changes

In this PR:

Add an only_expressed flag to load_neoantigens that uses isovar to grab protein sequences from RNA reads, and then sends those sequences through mhctools. CC @iskandr; am I doing anything obviously wrong?
Add a mannwhitneyu test, and set two-sided to be the default.
Return plot objects in plotting functions.

Note that I added a bunch of variables to Cohort that I'm not currently using anywhere, mostly for consistency. I need to find a better way to handle the self.tumor_rna_bam_file_format_func(tumor_rna_bam_id) situation; it's confusing that these format functions take in different sets of parameters.

self.tumor_rna_bam_file_format_func(tumor_rna_bam_id) situation; it's confusing that these format functions take in different sets of parameters.

Yea, perhaps we can have more consistency there. This is really just an artifact of not having the sample_id with the RNA files originally so they were run with RNA ID that was available at the time. We could just rename the files to something more sane.

@arahuja I think this repo should work with RNA IDs that are != DNA IDs, though?

Coverage decreased (-0.9%) to 54.795% when pulling c6f4112ed62598421041c2e321780ccc23bab7b4 on isovar into cf4c8195cf7c51e143b51202611894c0f79b6adf on master.

Going to open a separate PR with the latest changes.

My only suggestion would be to maybe increase the minimum MAPQ to 1 and if you're ultimately using the counts of neoepitopes with >= 3 spanning reads then this will be very sensitive to the degree of exonic coverage. Maybe normalize by number of reads mapping to exons?


Fix text color on desktop warning toasts

Consolidate desktop Toast styles to Toast.scss.
Apply .xh-toast--{intent} class rather than relying on bp-applied class.

Hoist P/R Checklist
Pull request authors: Review and check off the below. Items that do not apply can also be
checked off to indicate they have been considered. If unclear if a step is relevant, please leave
unchecked and note in comments.

[x] Caught up with develop branch as of last change.
[x] Added CHANGELOG entry, or determined not required.
[x] Reviewed for breaking changes, added breaking-change label + CHANGELOG if so.
[x] Updated doc comments / prop-types, or determined not required.
[x] Reviewed and tested on Mobile, or determined not required.
[x] Created Toolbox branch / PR, or determined not required.

If your change is still a WIP, please use the "Create draft pull request" option in the split
button below to indicate it is not ready yet for a final review.

Pull request reviewers: when merging this P/R, please consider using a squash commit to
collapse multiple intermediate commits into a single commit representing the overall feature
change. This helps keep the commit log clean and easy to scan across releases. PRs containing a
single commit should be rebased when possible.

Avoiding:

Looks great to me!


Remove useMemo from useSubscription

This is more of an issue than a PR. useSubscription is currently wrapping the JS hook with useMemo which errors with "can't call a hook from within a hook". It wasn't immediately apparent to me why useMemo was being used in quite this way. I would have expected the JS component to be doing proper checks on the args provided to it and useSubscriptionArgs looks to me like it would create a new object on every render anyway defeating useMemo? Anyway, I didn't dig too deep and just removed useMemo here. I'm sure there was a reason I'm not seeing—maybe it's worth a comment once it gets figured out.
Thanks!

That error is a bit strange, afaik you can call hooks from custom hooks which this function is.
The reason for the useMemo  can be found here https://github.com/FormidableLabs/reason-urql/pull/83:

Problem 2
The return value from reason-urql hooks were not safe to use in the dependency list of useEffect, useMemo, useCallback and similar, even though the response JS-land seems safe to use. That's caused by us converting the Js object to an Reason type, and at runtime that always creates a new object

Previously it was like what's proposed here (you can see it here f4b9dd6)
There were other places that didn't have useMemo but that PR introduced too, for the same reasons.
That said, it's still strange that you got an error about not being able to use the hook from within a hook. Could you send a reproduction repo with that error?

Awesome! Thanks for the info and quick response.
Hooks within Hooks
Maybe we can avoid a repro if we can align on how hooks work?

 It’s my understanding that a function becomes a custom hook as soon as it calls another hook. Before that it was just a function. However, this code is not calling this hook directly from a custom hook, it's calling it from within a real hook.
I think this is a violation of “Only Call Hooks at the Top Level“
Excerpt from the Rules of Hooks you posted:

Don’t call Hooks inside loops, conditions, or nested functions. Instead, always use Hooks at the top level of your React function. By following this rule, you ensure that Hooks are called in the same order each time a component renders. That’s what allows React to correctly preserve the state of Hooks between multiple useState and useEffect calls. (If you’re curious, we’ll explain this in depth below.)

So useMemo is kinda like a conditional. Some renders it will call the hook, some renders it won’t. Even if you got it to pass here, I would expect it to eventually error with the “rendered with a different number of hooks” error. When that’s going on I don’t see how React can keep track of which hook is which.
UseMemo
Regarding the intent for the return value to be “safe”, is the intent that when given to useEffect it should run once and only once when the response changes? If so, I think something else should be used entirely since “You may rely on useMemo as a performance optimization, not as a semantic guarantee.”: https://reactjs.org/docs/hooks-reference.html#usememo
Is there a specific use-case where you would want to referentially check the whole response? I think I would always be checking specific values to determine if an effect should be run, but maybe this is worth the effort.
How to move forward
I actually can’t even figure out how this code is working (I mean that sincerely—not trying to be snotty). When new data comes in on your subscription, useSubscriptionJs should update a useState hook internally somewhere which should trigger a new render. However we’re memoizing on… handler, args, parse? No response? Theoretically, (if we could rely on useMemo as a semantic guarantee) useMemo would run only the first time and we would never return a new response unless handler, args, or parse changed which doesn't seem like the intent. Luckily, it looks to me like we create a new args on every render so useMemo is not actually doing anything and should be running on every render… :shrug:
I guess if the problem is in converting the response to record I would expect some sort of check on response changed and only create new value at that time like:
  React.useMemo1(
    () => {
      response->subscriptionResponseToRecord;
    },
    [|response|],
  );

But use something that is guaranteed to run once instead of useMemo :) Maybe I’m missing something in my analysis.
Thanks!

However, this code is not calling this hook directly from a custom hook, it's calling it from within a real hook.

That makes sense, I hadn't thought about that

Regarding the intent for the return value to be “safe”, is the intent
that when given to useEffect it should run once and only once when the
response changes?

Yes

Is there a specific use-case where you would want to referentially check
the whole response? I think I would always be checking specific values
to determine if an effect should be run, but maybe this is worth the
effort.

This would also happen when you check specific values, for example, when the specific value is an Array, afaik it'll use referential check to know if the Array changed or not

I actually can’t even figure out how this code is working
From your analysis, I also can't seem to figure it out. Seems like it's working by chance.

Your solution seems to be what I should have gone for. But you said to use something other than useMemo, what would you use?

Your solution seems to be what I should have gone for. But you said to use something other than useMemo, what would you use?

I think you might just have to build it up from basic building blocks:

let useSemanticallyGuaranteedMemo1 = (computeValue, arg) => {
  let (memoizedState, setMemoizedState) =
    React.useState(() => computeValue(arg));

  React.useEffect1(
    () => {
      setMemoizedState(_ => computeValue(arg));
      None;
    },
    [|arg|],
  );

  memoizedState;
};

That aside, I’m trying to understand the use-case for memoizing in the first place. Here’s the shape of the hook response:

type hookResponse('ret, 'extensions) = {
  fetching: bool,
  data: option('ret),
  error: option(UrqlCombinedError.t),
  response: response('ret),
  extensions: option('extensions),
};

We are trying to memoize the data  or data in the response, not the whole hookResponse, right? I can't think of a use case to be checking the actual record with fetching, error, etc.
If we’re looking at data (at one spot or another) there's two situations to consider:

a render is going on that was not driven by an actual change (react apparently just does this sometimes)
an actual change has occured

In the no-change case the useSubscription hook in javascript should be returning a data value that is referentially equal to the one on the last render. If not, then it seems like a bug in Urql.
In the case where a change has happened, we (the library authors) have no idea what the shape of the data is, all we can do is a referential check on the data object itself and triggering a change here makes total sense to me.

This would also happen when you check specific values, for example, when the specific value is an Array, afaik it'll use referential check to know if the Array changed or not

Let’s say your subscription is returning data like:

{

  .
  chatRoomUsers: array(string),
  comments: array(string),
}

And you’re in the situation where chatRoomUsers has changed, but comments have not, and you don’t want to rerender comments in this case. Seems like here there are two considerations again:

Your subscription is returning a whole list of comments with every update
You're using a handler on useSubscription to add comments one at a time to the comments value

In the case your subscription is returning a whole list of comments with every update, that seems expected and unavoidable. You (as the user) could implement your own comparator function to see if the contents of two arrays are equal if you really needed that. Maybe length check or something would be sufficient.
In the other case of using a handler on useSubscription to add comments one at a time to the comments value, I would assume it depends on how you manipulate the previous value, but I don’t know. If that’s the issue, we could dig in further.
Aside from possibly that one last point, I’m kinda of the opinion that the useMemo shouldn’t be needed. Thoughts?

We are trying to memoize the data or data in the response, not the whole hookResponse, right? I can't think of a use case to be checking the actual record with fetching, error, etc.

I believe we should memoize the whole response, and re-calculate based on a referential check to the return values from the JS hook. Then the hook behavior will be quite similar to the original useSubscription behavior.

In the no-change case the useSubscription hook in javascript should be returning a data value that is referentially equal to the one on the last render. If not, then it seems like a bug in Urql.

When that code was merged, useSubscription in urql behaved correctly, and internally maintains its own state, I believe that hasn't changed.

Aside from possibly that one last point, I’m kinda of the opinion that the useMemo shouldn’t be needed. Thoughts?

I'm with you here too. Maybe it's also a good chance to check the other uses of useMemo in the same PR, and create issues if they're not being properly used too.

I pushed up a pass at memoizing the response based on what is returned from JS.

I made those small updates so we should be good to go. Thanks!

Thanks again!

@all-contributors please add @jeddeloh for code.


Autocomplete is not non-js compliant

The Autocomplete component doesn't work if javascript is disabled.
To make it work when js is disabled we need to turn the component into a select.
To disable Javascript on your chrome browser please refer to the following guide
Please refer to accessible-autocomplete for a working example
It also doesn't allow to:

to specify a class for the container
to specify a label
to specify a label class Name
to pass an id to the input or select element(in case of progressive enhancement)
to display an error message in three different positions (BEFORE_LABEL, BOTTOM, AFTER_LABEL and AFTER_HINT)
error message text
error className
error id

Please create your branch from release/0.5
git checkout release/0.5
git pull
git checkout -b 'feature/autocmplete-nonJs'

closed with #307


Added List mode for Role, ClusterRole and Bindings

Install and Uninstall Order for List Kinds
What this PR does / why we need it:
Kubernetes supports RoleList, RoleBindingList, ClusterRoleList and ClusterRoleBindingList, in order for a Role to be bound, it must already exist, for the List references, see: https://github.com/kubernetes/kubernetes/blob/master/pkg/apis/rbac/types.go
@hickeyma @SlickNik refs #5267 #5268

Sure @hickeyma , lemme know if anything else is missing.

Hmm I started adding them because prometheus-operator used them, but I don't see them as used anymore...
Some examples:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBindingList
items:
- apiVersion: rbac.authorization.k8s.io/v1
  kind: RoleBinding
  metadata:
    name: prometheus-k8s
    namespace: monitoring
  roleRef:
    apiGroup: rbac.authorization.k8s.io
    kind: Role
    name: prometheus-k8s
  subjects:
  - kind: ServiceAccount
    name: prometheus-k8s
    namespace: monitoring

apiVersion: rbac.authorization.k8s.io/v1
items:
kind: RoleList
- apiVersion: rbac.authorization.k8s.io/v1
  kind: Role
  metadata:
    name: prometheus-k8s
    namespace: monitoring
  rules:
  - apiGroups:
    - ""
    resources:
    - nodes
    - services
    - endpoints
    - pods
    verbs:
    - get
    - list
    - watch

Apparently they were removed 21 days ago from prometheus-operator:

https://github.com/helm/charts/blob/d891e2571360a3e5a42b5d3ad936fd008fd61b90/stable/prometheus-operator/templates/prometheus/rolebinding-specificNamespace.yaml
https://github.com/helm/charts/blob/d891e2571360a3e5a42b5d3ad936fd008fd61b90/stable/prometheus-operator/templates/prometheus/role-specificNamespace.yaml

I have tried to squash them @hickeyma please let me know if anything else, thanks for your patience and guidance :)

@sebosp Do you mind doing a PR for the dev-v3 branch for this?

Sure @hickeyma, please take a look at #6100


DOCKER: SSL for host and path style

Using Subject Alternative Names (SAN) to specify both host and path style host names.

@nicolas2bert, can we close this?


Have keys also be of type number

Typescript has enums and I find coming up with and tracking key names for textures and such to be a pain.
As far as I know, this shouldn't break anything considering that doing: Object[number] will just make the number the key.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

nevermind, can just use template literals for a good work around. It also breaks something with animations.


bug: prettier-plugin-tailwindcss with daisyUI plugin breaks prettier

What version of daisyUI are you using?
latest
Describe your issue
Exactly as the title says. If I remove the daisy plugin from tailwind.config.js, prettier works again.
What browsers are you seeing the problem on?
Chrome
Reproduction URL (optional)
No response

What version of daisyUI are you using?
latest
Describe your issue
Exactly as the title says. If I remove the daisy plugin from tailwind.config.js, prettier works again.
What browsers are you seeing the problem on?
Chrome
Reproduction URL (optional)
No response

,

Can you give me an example repo where I can reproduce the issue?

I have this same set up, no issues on my side…

Can you give me an example repo where I can reproduce the issue?

I tried to reproduce it today but I couldn't. I'm really not sure. I had bugs disappear after I restarted my dev server before. Maybe it was just a case of that.


Update retired WindowsAzure packages

Updated retired Microsoft.WindowsAzure.Storage & Microsoft.WindowsAzre.ConfigurationManager to Microsoft.Azure.Storage.Blob & Microsoft.Azure.ConfigurationManager respectively
I have tested both the AzureBlobCache and AzureImageService

Thanks @Jeavon I've been wanting to get around to this for a while!


Standalone ppx rewriter (-as-ppx mode) ignores cookies

This causes https://github.com/janestreet/ppx_inline_test/issues/1. ppx_inline_test creates error nodes in the ppx if the build system doesn't specify a library name. jbuilder generates a proper -ppx flag for merlin including the --cookie library-name=… part, but this driver ignores cookies when in -as-ppx mode (--cookie is in standalone_args when it should be in shared_args).

Indeed, I fixed this in the v0.10 branch, we are going to do a new release soon

@diml, is this fixed ?

yes


Add Ruckus FastIron (ICX switch) driver

Description
Add Ruckus/Brocade FastIron (ICX 7000 series switch) driver.
Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update

How Has This Been Tested?
Ran Makefile and added unit tests for ICX FastIron command prompt patterns.
Checklist:

[x] My code follows the style guidelines of this project (no GitHub actions compalints! run make lint before
committing!)
[x] I have commented my code, pydocstyle and darglint are happy, docstrings are in google docstring format, and all
docstrings include a summary, args, returns and raises fields (even if N/A)
[x] I have added tests that prove my fix is effective or that my feature works, if adding "functional" tests please
note if there are any considerations for the vrnetlab setup

FastIron platform is not supported by vrnetlab.

[x] New and existing unit tests pass locally with my changes

Hi @wonderbred
Thanks for opening this! You get the dubious honor(?!) of being the first to submit a community platform :D!!
Apologies for the docs/readme not being up to date yet... need to find some time to get all that dialed in. Few questions/comments:

What is the name of the vendor going forward? I know there is ruckus and also brocade... if memory serves.... brocade bought ruckus? (or am I hallucinating that?) I'm asking as the textfsm platform is set to brocade_fastiron but the platform is ruckus just want to make sure whatever we set things to makes sense/is clear to folks.
Is the name of the os fastiron? I recall fast iron switch family but never knew what the os was called. Asking for same reason as above!
Tests are failing for prompt patterns. This is mostly my fault I think :) scrapli always uses multiline/case ignore regex flags, but I did not have them on the tests for the example. I will push those up to master so you can update here along with any name change stuff based on above questions.
If the failed when contains commands if those are different than iosxe those should get updated too -- if they're the same, all good just checking!

Thanks again for opening this! Let's confirm/finalize the naming stuff and fix/add the regex flags on the test so the builds pass and get it merged in!
Carl

Thanks for opening this! You get the dubious honor(?!) of being the first to submit a community platform :D!!

An honor and a privilege ;-)

Few questions/comments:
* What is the name of the vendor going forward? I know there is ruckus and also brocade... if memory serves.... brocade bought ruckus? (or am I hallucinating that?) I'm asking as the textfsm platform is set to `brocade_fastiron` but the platform is `ruckus` just want to make sure whatever we set things to makes sense/is clear to folks.

The vendor name is Ruckus. Ruckus was purchased by Brocade (who was then purchased by Broadcom, who then sold their wireless and ICX switch divisions to Arris, who was ultimately purchased by CommScope). It's been a bit of a roller coaster, but the important thing is the Ruckus name is not going away. Regardless of who the parent company is, the wireless hardware and ICX switch lines will remain "Ruckus" products.
Unless something has changed in the last year or so, the last time I checked, the TextFSM ntc-templates didn't support platform name aliases. So unless someone decides to clone all of the brocade_fastiron templates to new ruckus_fastiron templates, they can't just rename the brocade_fastiron templates to ruckus_fastiron templates without breaking compatibility for everyone who is already using the brocade_fastiron platform name.
I'm happy to change the platform name in the future, but for now, brocade_fastiron is what they're still using in the ntc-templates project for this line of switches.

* Is the name of the os `fastiron`? I recall fast iron switch family but never knew what the os was called. Asking for same reason as above!

FastIron is the ICX switch OS. "ICX" is the switch series (like Cisco's "Catalyst") and "FastIron" is the OS name (like "IOS-XE").

* Tests are failing for prompt patterns. This is mostly my fault I think :) scrapli always uses multiline/case ignore regex flags, but I did not have them on the tests for the example. I will push those up to master so you can update here along with any name change stuff based on above questions. _EDIT_ updated here: https://github.com/scrapli/scrapli_community/blob/master/tests/unit/scrapli/networkdriver/test_scrapli_networkdriver.py#L31

No worries, I need to update the failed when contains strings anyway, so I'll grab the updates and resubmit the PR.

* If the `failed when contains` commands if those are different than iosxe those should get updated too -- if they're the same, all good just checking!

Good catch, didn't see that. The error strings are definitely different, but they're also not well documented, so for now I'm just putting the two most common ones: Invalid input - and Error -. FastIron has changed a lot in the last few years, so it's possible that this isn't 100% compatible with older versions. But this should be a good starting point.

Thanks again for opening this! Let's confirm/finalize the naming stuff and fix/add the regex flags on the test so the builds pass and get it merged in!

Thank you for this project! I really like how you've designed it and am looking forward to playing with the async functionality and contributing.
Brett

Awesome, thanks a bunch for all the details -- all that sounds good/makes sense to me! I will try to get this merged soonish (maybe this weekend at the latest hopefully) and pushed to pypi (I also need to finish at least the first swag of the readme, and a few other things I want to sneak in before the first "real" release).
Thanks for the great work!!
Carl


i18n(fr): Update reference/configuration.mdx from #1729

Description
Update reference/configuration.mdx from #1729

i18n

Thanks for the update 🙌
Left a few suggestions to match a bit more the English version, but after that, I think it's good to go 🚀

Hello and thanks @HiDeoo @pioupia for the review!


Fix code scanning alert - Full server-side request forgery

Tracking issue for:

[ ] https://github.com/Levi-Hutchins/Catch-A-Phish/security/code-scanning/5

fixed in recent merge


chocolatey package out of date

chocolatey still only has version 0.25.1 of hugo
https://chocolatey.org/packages/hugo/
please update to latest version...

We don't maintain the Coholatey package -- you should contact the person who created it; we may in the future if we can get it into the build. Right now we have too much other stuff to do to keep track of all the different build managers.

I'll reopen this as a tracking issue, but it will not happen tomorrow ...


MG+MIS submit

Hi Dr. Smith,
Here is my MG and here  is my MIS, I would be happy to hear any feedback or comments.
Thanks,
Cynthia

CynthiaMG.pdf - PDF Expert.pdf
CynthiaMIS.pdf - PDF Expert.pdf


Fix XML map on Android

The lat/lng from Flickr isn't a number but a string which makes Mapbox choke. I've hardened the plugin (2.3.1) and applied a few parseFloats here as well.

Thanks dude!  I'll have a look.


Valence 0.2.0 Roadmap

Roadmap
Here are some things that should happen before Valence 0.2.0 is released. Not all of these are extracted into issues yet, but they could be with some added detail.
Things to do, roughly in this order:

[x] Reorganize system schedule.
[x] #291
[x] Divide McEntity into smaller components, closing #199.
[x] #269
[x] #296
[x] #308
[x] Reimplement client self-exclusion. Don't send packets for the client's own entity.
[x] Redesign player list. Make every entry an entity.
[x] Consider making valence crate a thin wrapper over valence_anvil, valence_command, valence_core, valence_network, etc. This would avoid circular dependency problems and improve compile performance.
[x] Consider moving network code to separate crate and plugin for more modularity.
[x] Move block entities and chunks into the ECS World. Consider caching chunk handles in view of the client to reduce hashmap lookups. Sort chunk updates nearest to furthest to reduce lag in the client.
[ ] #400
[x] Rework valence_anvil. Events should be used to indicate loaded/unloaded/missing chunks. Chunk providers will listen for missing chunks. Make AnvilLevel a component for Instance.
[x] #349
[ ] Add proper bounds checks to packets. Fix inconsistencies with the yarn mappings. Implement size limit while encoding and decoding binary NBT.
[ ] #359
[x] Consider adding #[derive(Reflect)] to things in valence_protocol and possibly elsewhere. Put it behind a feature flag. bevy_reflect only supports 'static types.
[ ] Entity velocity not working?
[x] Think about making valence more data-driven. Make blocks and block types entities. This may fix the poor compile times of valence_block. Postponed at least until improvements to bevy_ecs are implemented.
[ ] #366
[ ] #256
[x] Proper validation for serverbound inventory packets. #292
[ ] #4
[ ] Examples: Make some complete minigame examples demonstrating bevy states and a variety of valence features.
[x] Move every example into its own package.
[ ] Make website with Hugo and mdbook. (no javascript dev environments please). #382
[ ] Document everything.
[ ] Populate mdbook getting started guide on the website.

Some other things to look into, but are not strictly necessary for 0.2 (unordered):

[ ] Redesign text API.
[ ] #319
[ ] Are non-vanilla dimensions bugged? Needs testing.
[x] Consider allowing for multiple player lists instead of a single global list.
[ ] Implement visibility system. Allow some entities to be visible only to certain clients. #342 and #362.
[ ] Serialization support for anvil worlds.
[ ] Serializing and deserializing entities in anvil worlds?
[ ] Reduce the frequency of sent entity movement updates using a configured component?
[ ] Some entities disappearing in cow sphere example? Extract this into issue?
[ ] Pretty printing for SNBT in valence_nbt.
[ ] Set up nix dev env. Is #9 sufficient?
[ ] Use fixed-point angle units instead of floats?
[x] #42
[x] #282
[ ] #210
[ ] #104
[ ] #332
[ ] Implement most of the block placement rules, closing #115 and making the building example mostly complete. Consider if valence should have first-class support for placement.
[ ] Figure out how to improve the performance of the terrain example.
[ ] stresser is missing some basic functionality.
[ ] Fill in miscellaneous missing abstractions for the protocol.
[ ] #404

Redesign text API.

What specifically needs to be changed?


availability_mode=unknown_error

Hello!
We experienced an error:
time="2020-07-13T13:04:06Z" level=error msg="Get \"https://index.docker.io/v2/kubernetesui/dashboard/manifests/v2.0.1\": EOF" availability_mode=unknown_error image_name="kubernetesui/dashboard:v2.0.1"
How we can help to solve it?
What additional information is needed from us?

Can it be reproduced or does it happen randomly? Have you tried the latest k8s-image-availability-exporter's version?


Identifiers

closes https://github.com/inveniosoftware/invenio-app-rdm/issues/962

Open Questions

The labels (for all vocabularies) will be a problem if the user customizes the vocabularies (e.g. roles). We might want the components to do a read_many/all and do some logic.
The error message comes from the backend (rdm-records --> marshmallow-utils), therefore we need to propagate labesl. Shall this become a vocabulary? We will have the same problem than the point above. Just the propagation would be solved by making it into a vocabulary.

Alternative
Make them into environment/config variables that can be changed by the user so labels are always found.

The identifier schemes are not vocabularies so they shouldn't be affected?
Probably the backend should define valid values, and the values should be used by Invenio-App-RDM to be dumped here?

@lnielsen so basically we go for the "alternative":

Make them into environment/config variables that can be changed by the user so labels are always found.

That way they can be defined in rdm-records (the validators can use them), be overwritten by users, and also be injected into the UI via config.

Scheme labels are taken from config

Open questions:

Would it be preferable just adding identifier labels to the config and let the frontend build the full dict (i.e. relations + resource type + identifiers schemes) or is it ok in the backend
As you can see in the photo some widths overlap the x for deletion with the label (see the Bibcode in the bottom of the previous image). This was already there, should be tackled in a separate issue.


STC ignoring SliceEncodingDirection

Hi.
It seems that stc is not taking SliceEncodingDirection into account.
I was under the impression that this parameter should alter how SliceTiming is handled.
If my nifti orientation is LPS and the slices where acquired in z direction in descending order (from superior to inferior), SliceEncodingDirection should be 'k-' and SliceTiming something like [0, .05, .1 (...)] correct?
Thanks.

That looks correct. Thanks for the heads up. Any interest in submitting a patch?

I can work on that.

SliceEncodingDirection would also make non-axial acquisitions possible (although that's probably rare). Is it desired to enable data that has not been recorded in z direction?
I'm not familiar with AFNI's TShift. How should the timing information that goes into it look like? Does it assume superio-to-inferior, or does it lookup nifti orientation (I can look that up myself, but if there are experts here, I'd be interested...)

I'll start by saying that we have been assuming the k orientation; as a consequence, at least one of the SDC algorithms will fail if the PhaseEncodingDirection is k[-]. But I do agree we should handle these cases correctly.
By my reading, TShift will use the header only if no slice timing pattern is supplied. Because we supply a pattern, it is treated as if it's in the z+ direction.
  -tpattern ttt = use 'ttt' as the slice time pattern, rather
                  than the pattern in the input dataset header;
                  'ttt' can have any of the values that would
                  go in the 'tpattern' input to to3d, described below:

   alt+z = altplus   = alternating in the plus direction
   alt+z2            = alternating, starting at slice #1 instead of #0
   alt-z = altminus  = alternating in the minus direction
   alt-z2            = alternating, starting at slice #nz-2 instead of #nz-1
   seq+z = seqplus   = sequential in the plus direction
   seq-z = seqminus  = sequential in the minus direction
   @filename         = read temporal offsets from 'filename'

  For example if nz = 5 and TR = 1000, then the inter-slice
  time is taken to be dt = TR/nz = 200.  In this case, the
  slices are offset in time by the following amounts:

             S L I C E   N U M B E R
   tpattern    0   1   2   3   4   Comment
   --------- --- --- --- --- ---   -------------------------------
   altplus     0 600 200 800 400   Alternating in the +z direction
   alt+z2    400   0 600 200 800   Alternating, but starting at #1
   altminus  400 800 200 600   0   Alternating in the -z direction
   alt-z2    800 200 600   0 400   Alternating, starting at #nz-2
   seqplus     0 200 400 600 800   Sequential  in the +z direction
   seqminus  800 600 400 200   0   Sequential  in the -z direction

  If @filename is used for tpattern, then nz ASCII-formatted numbers
  are read from the file.  These indicate the time offsets for each
  slice. For example, if 'filename' contains
     0 600 200 800 400
  then this is equivalent to 'altplus' in the above example.
  (nz = number of slices in the input dataset)

It's not obvious from the docs whether z+ is assumed to be the positive direction along the I-S axis, or the increasing indices along the k data axis of the data block, or whether there's any effect of the slicedim attribute in the NIFTI header. This could be tested fairly easily, though I'll try to summon @afni-rickr to see if he happens to know (or know who might know).
In any event, I see no options for including a manually specified slice-encoding dimension, so I'm going to guess that they always assume that it's either k or S+ (this is why I don't like the XYZ convention, btw).
I would recommend making the changes in nipype:
https://github.com/nipy/nipype/blob/39675df33fadf4459e46b0dcdb78425b853dd22d/nipype/interfaces/afni/preprocess.py#L2725-L2729
You could add a slice_direction option with values (i|j|k)[-] to the input spec, and if there's a -, subtract the array from the TR.
If we want to go all out, once we figure out how to interpret z+, we could either reorder the data block or munge the affine to get the correct behavior out of TShift, and then restore the correct order/affine post-run. But that might make more sense as a fMRIPrep subclass of nipype's TShift for now.

Hi @effigies, Yes, 3dTshift will get the slice timing pattern from the dataset, if it is there.  And timing passed from the command line overrides the header contents.
And yes, the positive z direction for timing is based on positive indexing of the z direction on disk, not I-S, and not dependent on the sign of the coordinates.  For verification, one can use 3dinfo -VERB to show the slice timing and orientation info, or something like 3dinfo -slice_timing -orient to get that info more specifically.  The NIFTI_SLICE_* values were defined translating directly to the AFNI codes that you report.
I have never seen data where the slice-encoding dimension is not k, and am not sure how the software would behave.  Does this mean datasets are being reoriented in scanner space for some reason?  Is that the basis for this thread?
Thanks.

Hi @effigies.  For what it is worth, if one resamples data in AFNI, we generally wipe out the slice timing,  believing it is misleading at best.  So a subsequent 3dTshift would simply duplicate the input (with modest whining).

 Happy to share an example if it would be helpful

@mattcieslak An example image would surely be helpful, though right now working with just an individual BOLD series is hard, as the anatomical portions of the pipeline are non-optional.
If you're open to sharing a non-trivial amount of data, would it be possible to share the dataset on OpenNeuro? That would make it simpler for anybody to pick it up, work on the problem, and be sure they can run through the whole pipeline.


AttachIl2Cpp

Hi,
I noticed that the AttachIl2Cpp feature was removed in BNM 2.0.4. I really liked using this feature to call methods outside the Il2cpp thread. Is there any chance you could bring it back in a future update? Thanks!

Even using it, calling unity/il2cpp methods outside main thread is dangerous. This method don't syncs threads. You can call some math unity methods safely, some other will crash after call.

If i don't use AttachIl2Cpp or il2cpp_thread_attach on the current thread, the app will crash. However, if i use it on a thread before calling a method, the app runs smoothly. For example, in my code below, I call a method on the ImGui thread. When I don't use AttachIl2Cpp, the app crashes, but it works fine when I do
ImGui::Spacing();
auto currencyManager = SDK::CurrencyManager::instance<SDK::CurrencyManager*>().Get();
if (currencyManager && BNM::IsUnityObjectAlive(currencyManager)) {
	ImGui::Checkbox(OBFUSCATE("Debug"), &config.profile.debug);
	if (config.profile.debug) {
		ImGui::Spacing();
		ImGui::Separator();
		ImGui::Spacing();
		ImGui::Text(OBFUSCATE("Current Money: "));
		if (ImGui::InputInt(OBFUSCATE("##currentMoney"), currencyManager->currentGold<int>().GetPointer())) {
			if (BNM::AttachIl2Cpp()) {
				auto OnGoldChanged = currencyManager->OnGoldChanged<Action<int>*>().Get();
				if (OnGoldChanged) OnGoldChanged->Invoke(currencyManager->currentGold<int>().Get());
				BNM::DetachIl2Cpp();
			}
		}
	}
}
ImGui::Spacing();
ImGui::End();

You have own thread for imgui?

i am using GLSurfaceView.Renderer for IMGUI

After reanalyzing il2cpp src, I see that code attaching to. I will return methods it in next patch if it really useful.


Could this theoretically be retrained from scratch to generate singing vocals?

Given a 10k hour dataset of singing vocals (instead of the current audiobook reading content), could this model be ported to be able to sing/generate vocals?

@Saltb0xApps  I was thinking the same thing and also adding another input conditioning, like background music for the generated audio to follow. I am not exactly an ML engineer but here is my rough thinking.

Text Encoder (Unchanged):
Continues to map text descriptions to a sequence of hidden-state representations using a frozen text encoder initialized from Flan-T5.

2.Music Encoder:
A new component that takes background music as input and generates a music-conditioned representation using a pretrained music autoencoder (DAC or EnCodec).
This encoder analyses the background music to extract features such as tempo, key, mood, and rhythm, which will be used to condition the generated speech.

Parler-TTS Decoder (Modified):
The decoder now auto-regressively generates audio tokens conditional not only on the encoder hidden-state representations (from text) but also on the music-conditioned representation.
To incorporate the music-conditioned representation, you could either:

Concatenate: Directly concatenate the music-conditioned representation with the text-conditioned hidden states before feeding them into the decoder.
Cross-Attention Modification: Integrate the music-conditioned representation into the cross-attention layers of the decoder, allowing the decoder to attend to both text and music features simultaneously.

Audio Codec (Unchanged):
Continues to recover the audio waveform from the audio tokens predicted by the decoder using the DAC model or EnCodec as preferred.

Hey @Saltb0xApps @adamfils - this sounds like it would work. The only change that I would make would be using a more powerful audio encoder to extract more meaningful representations from the music conditioning (e.g. warm starting an audio encoder from the HuBERT model to extract music embedding representations). Using DAC or EnCodec alone is only going to provide you with a down-sampled version of the music inputs, rather than any features that encode tempo, key, mood, and rhythm, etc. This is then analogous to what the Flan-T5 encoder does for the text conditioning.
Note that you could use something similar to train a TTS model that has text and voice conditioning as well (just replace the music conditioning with a voice sample in the flowchart above). You could then give it a 2-second voice prompt to control the style of generated voice, and then control how fast/slow or animated/monotonous the speech is using the text prompt.

@sanchit-gandhi / @adamfils Thank you for providing a detailed response!
I have a large dataset of around 1k hours of just vocals (separated from music out of Facebook's sound library using demucs) and their lyrics/transcription using Whisper. I was wondering if I could take that dataset of just vocals, combined with dataspeech info for style, and retrain parler-tts to only output singing vocals.
The idea is to create a more robust singing version of Suno AI's bark using parler-tts that can generate singing vocals instead of just regular speech.
Would this require code level changes as mentioned above, or simply retraining parler-tts on this dataset would be a good enough starting point for something that can generate vocals only?

Hey @Saltb0xApps, this would totally work as you only need 3 things from your datasets for the training to work:

Audio samples
Transcriptions
Text conditioning

Parler-TTS is agnostic to the text conditioning and audio samples you're using!
Also, 1K hours should be enough to get a good-enough model from scratch. You can also explore fine-tuning the current model as well as it already learned some acoustics features and to associate text tokens to acoustics sounds!

@ylacombe I curated the dataset of 1000 hours of vocals (mostly english)
Would love to hear your thoughts whether this dataset could work -
• audio + transcriptions - https://huggingface.co/datasets/AkhilTolani/vocals
• transcriptions + dataspeech tags - https://huggingface.co/datasets/AkhilTolani/vocals-stripped-pitch-text-bins-descriptions
I just started a finetune run here on 2xA100 GPUs. Would love to know if my fine-tune parameters are adjusted correctly for the difference in hardware/dataset size - https://wandb.ai/akhiltolani/parler-speech/runs/wkh5eor3/overview?nw=nwuserakhiltolani

@Saltb0xApps awesome please share some of your audio outputs when you can as the training proceeds.

Hey @Saltb0xApps, wow thanks for sharing this! How did you create this dataset out of curiosity?
A few remarks:

I'm pretty sure the model can learn from your samples but it would surely benefit from more precise tags: for now, it only uses the dataspeech tags but you would probably need more signals about the singing voices (for example, the singing style, the note etc). Maybe you can get some additional features from the way you created your dataset, would you like to describe this a bit more?
You should also probably modify the prompt to create descriptions a bit. The current one is about delivering speech, whereas you want to deliver singing.
I'll give a proper look to the HPs ASAP

I've listened to some samples, the model seems to get a sense of singing, which is a good sign! It'd probably need some better hyper-parameters though!
Re: Hyper-parameters

You've got 1k hours of audio, so you'd better raise your global batch size to get closer to the global batch size we've used for training (196), you can do it by setting gradient_accumulation_steps to something aound 6
You might have to experiment with the learning rate, for now you can leave it as it is but it's a bit too high IMO

Thank you also for sharing your logs, they bring a lot of value to the community! I really like your initiative! If you're okay with this, we can probably make a big splash from your model once the results are what we expect. What do you think?

Absolutely! I'd love connect & discuss a plan over discord/email. Lmk if that works for you!

I've listened to some samples, the model seems to get a sense of singing, which is a good sign! It'd probably need some better hyper-parameters though!
Re: Hyper-parameters

You've got 1k hours of audio, so you'd better raise your global batch size to get closer to the global batch size we've used for training (196), you can do it by setting gradient_accumulation_steps to something aound 6
You might have to experiment with the learning rate, for now you can leave it as it is but it's a bit too high IMO

@ylacombe  Ah thank you for sharing this! I definitely agree 1e-4 is too high. I'll do another run with 4e-5 as the lr and updated gradient_accumulation_steps to 6 later today.

@ylacombe I believe parler-tts is going to come up with a larger model very soon if i remember correctly?
600M is comparable to musicgen-small, and i believe there is a major qualitative difference between 3B+ params and 600M params (atleast in musicgen)!
I'd imagine funetuning the parler-tts large model would most likely also give much better singing results!

Here is a Huggingface space to try out the singing vocals fine-tune of Parler-tts!
https://huggingface.co/spaces/AkhilTolani/vocals

The model is having a very hard time differentiating between male and female vocals. Maybe its my training dataset?

Ideas on how to generate consistently long vocals based on speaker_id in chunks? (2 min+ for practical use?)

Need to figure out how to set determine min_length or min_new_tokens based on input text so that the model doesn't miss a few words. Can do something very rudimentary like input_prompt_word_count*0.8 (or any simple formula that almost gets it right)

The model occasionally just generates screeching noises with no coherent words. Need to determine why.

Ideas on how to generate consistently long vocals based on speaker_id in chunks? (2 min+ for practical use?)

This needs a bit of hacking around the model, i.e by adding some names to indicate to your model to keep voice consistency.


Request For Info: setting initial view of picture based on point of entry

Hi,
Just wondering; is it possible to set the initial view of a picture based on point of entry via hotspot.
Example: Imagine walking through three rooms, from west to east;
A <-> B <-> C
A has hotspot to B, B has hotspots to A and C and C has hotspot to B.
Now in my setup I set my initial pitch/yaw of room A, B and C to the east. When I move from room A to B to C, the view angle is correct on entering the room. But when I move from C to B to A, westwards, it will set view angle in A and B to the east since that was the setup. Is there any way that I can dynamically set the viewangle of the target scene?
thanks in advance!
Joost

I just found the following info on pannellum.org. Is that the solution to my problem?
targetPitch (number)
Specifies the pitch of the target scene, in degrees. Can also be set to same, which uses the current pitch of the current scene as the initial pitch of the target scene.
targetYaw (number)
Specifies the yaw of the target scene, in degrees. Can also be set to same or sameAzimuth. These settings use the current yaw of the current scene as the initial yaw of the target scene; same uses the current yaw directly, while sameAzimuth takes into account the northOffset values of both scenes to maintain the same direction with regard to north.
targetHfov (number)
Specifies the HFOV of the target scene, in degrees. Can also be set to same, which uses the current HFOV of the current scene as the initial HFOV of the target scene


fix selection from file for windows

This fixes a issue when trying to search for selected file content

Thank you :)


Message on play

After the weird corona-chaos I had a little time to add a new info-dialog to the PhonieBox. If you click a file to play or add a file to the playlist a text-box will be displayed within the browser for a couple of seconds. This gives a direct feedback if the function has been accepted.

kind regards
Christian

@xn--nding-jua very nice!!!


⚠ Slack has degraded performance

In dd00785, Slack (https://status.slack.com/api/v2.0.0/current) experienced degraded performance:

HTTP code: 200
Response time: 139 ms

Resolved: Slack performance has improved in 98a2d4c.


Week 2 Review Ticket

Total Score:
Scrum Team GitHub pages (2/2)

[ ] Project Owner / Sponsor presentation(visuals like wireframes or HTML pages), results of review, PII concerns, hosting plan, and software license
[ ] 1st Code in GitHub with software license per 5.5

Individual GitHub pages (3 points)
GitHub page that documents key learnings and code snippets using GitHub and replit (See Challenges at the bottom of  TT2 (Links to an external site.) for details) (/3)

[ ] Organize files, directories and menus for the first 3 weeks.
[ ] Write Factorial function using classes, providing implementation of call.
[ ] Select your own Math function. Write it in Imperative and OOP form.

Team: 2/2

Team had wireframes, identified sponsor, Pll concerns, a hosting plan, and code/identification of a Github software license

Individual: 3/3

Has 5.5 and 5.6 Notes and Questions
Had organized files for each week: 0,1,2 (all in a source folder)
Had Factorial function using classes and implemented call
Had Imperative and OOP form of Primes function


ENH REQ: Include a multi-line description for a design

It would be good to have a tab to the right that held a multi-line description for an OKIT based design.
This could include a lot more detail around what the purpose of the design was and the thoughts behind it.
Maybe even go as far as allowing it to be exported to markdown to accompany the exported images.

Will be in the 0.16.0 release


Experimental Navigator push doesn't work well on Android 5.0.1

I am running the UIExplorer example from the stable 0.22 branch, below are my steps to replicate
Running the following commands on osx 10.11.3
git clone -b 0.22-stable --single-branch --depth 1 https://github.com/facebook/react-native.git
cd react-native
npm install
./gradlew :Examples:UIExplorer:android:app:installDebug
adb reverse tcp:8081 tcp:8081
./packager/packager.sh

Then starting UI explorer on my phone (Samsung GT-I9505 - 5.0.1), go to Navigation (Experimental) -> Animated Example -> Push! causes an extremely jerky animation and then the phone locks up and eventually crashes.
Note: I am not using chrome debugging.
The following is a CPU usage graph

The red line is navigating to the animated example, the blue line is after tapping push for the first time.
This also happens if I build the release version, sign it with my personal key and install it on the device.
I believe this issue is related to the following issues but cannot say for certain
https://github.com/facebook/react-native/issues/6666
https://github.com/aksonov/react-native-router-flux/issues/355
https://github.com/aksonov/react-native-router-flux/issues/401
https://github.com/facebook/react-native/issues/6477
https://github.com/facebook/react-native/issues/6474
I'm tagging @satya164 @ericvicenti @hedgerwang as I believe they may be able to help out (sorry if I got that wrong!)

I've also seen this issue. Good stuff.

Testing this on 0.23-stable shows significant improvement (It doesn't crash after the first push), but after a few pushes (~20) performance degrades significantly, taking up to 10 seconds to respond to any input

Can you try using chrome profiler to see what's happening?

@thessem : did you mean that this can't be reproduced in Genymotion (simulator), but needs a real device instead?

@hedgerwang Both issues are significantly worse on device compared to Genymotion, On simulator the 0.22.2 crash still appears after 2/3 pushes, the 0.23 performance issue isn't very apparent at all, whereas it's immediately apparent after ~10ish pushes on device.
@satya164 My apologies I can't seem to get the chrome debugger to connect to either my genymotion or actual device for android (it works on iOS) on either 0.22.2 and 0.23-rc1 so I cannot provide this!

Perhaps we could try to reduce the number of scenes rendered.
renderScene(props) {
  const offset = props.scene.index - props.navigationState.index;
  if (Math.abs(offset) > 3) {
    // The scene is far way from the focused scene, don't render it.
    return null;
  }

  return <NavigationCard {...props} renderScene={this.props.renderScene} />;
}

+1 after ~10-15 pushes and pops my app crashes.

I'll investigate this ASAP.

FYI, this issue was hitting me hard and I believe I've fixed it by changing this line here:
https://github.com/facebook/react-native/commit/28649b8cf0a58fe4f32016a7ce6de1e35b349d2b#diff-04c37ff76f85aea35e8475617539b75fL251
and here
https://github.com/facebook/react-native/commit/28649b8cf0a58fe4f32016a7ce6de1e35b349d2b#diff-04c37ff76f85aea35e8475617539b75fL156
There was a bug where the animated values weren't actually being unsubscribed to:
this._layoutListeners.forEach(subscription => subscription.remove);

should become
this._layoutListeners.forEach(subscription => subscription.remove());

This is fixed in master.... but I'm not sure if it affects 0.23 or not. Also, others have mentioned that there is still a problem on devices even in 0.23. There may be more issues that are causing this, but this was definitely a big part of it.
cc @hedgerwang @ericvicenti

It looks from this discussion like this issue is fixed so I am going to close this issue.


scripts: Fix bad indentation in Python scripts

Making a clean slate for some pylint CI tests.

Codecov Report

Merging #14886 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #14886   +/-   ##
=======================================
  Coverage   52.48%   52.48%
=======================================
  Files         309      309
  Lines       45063    45063
  Branches    10434    10434
=======================================
  Hits        23653    23653
  Misses      16595    16595
  Partials     4815     4815

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 295dc41...2e3d632. Read the comment docs.


covert example to use steps -- last step could be complete -- would make it easier to have single complete step be a composite; less duplicate docker files would need updating, etc

[ ] just separate to two steps for now - step one is what's there, step two is what needs changing for the current "complete" step
[ ] change "complete" step to be a combination of new, then the next two steps - should work just the same, no need to double up on tf files etc

you know, I'm questioning the value to this one. Backlogging it and making a new ticket to make just the consolidated approach work on top of omgd code new to avoid doubling up on profile, tf, and deploy files


Add admins field in settings

Requires: https://github.com/snapshot-labs/snapshot.js/pull/194

is it possible/good to auto-populate the space owner's address also? (non-deletable)
or can we display this field as a deletable list, for example:

is it possible/good to auto-populate the space owner's address also? (non-deletable)
or can we display this field as a deletable list, for example:

I like the idea, I think we should consider this.

@ChaituVR @samuveth We can do this on another PR, still need to figure out the UX for it. I was thinking to do something more like GitHub, where you see admins and members all together and have a way to select which address is members or admin.


Add an indication  to the filter icon to show that filter is turned on

Describe requirements
We have the filter support in Manager, both in the configuration and runtime and I am testing the functionality. I am wondering if we can add a blue dot to the Filter icon to indicate that filter is on (when filters are turned on), right now it looks like this
 and I am proposing like Experience Builder but I like how the map viewer shows blue dot for indication

@chris-fox @avezina @jmhauck please le me know your thoughts on this
Alternatives
No response
Other Relevant Info
No response
Impact
No response

It looks like the Action component supports this. https://developers.arcgis.com/calcite-design-system/components/action/

I like displaying the indicator, blue dot, when a filter is active.

Looks good in qa


Parse the DrugCentral 'structures' table to get more metadata

The comprehensive collection of drug-specific metadata (including all names and availabilty of formulations) is in the structures table of the DrugCentral dump, but it's challenging to parse because some it is values are full structure descriptions, complete with newlines. This PR will handle parsing of this table.
This PR also includes manual updates to the SSSOM DrugCentral CURIE map, from extracting the structure IDs + names from the PostgreSQL DB as:
psql -d temp -c "COPY ( SELECT cd_id, id, name FROM structures ) TO stdout" > dump.tsv

The id field is what's referred to as struct_id elsewhere.

The element molimg in the structures table is an image, so when the csv parser hits it, it throws (through Koza) a field larger than field limit error.
Or, this could be due to the double quotes surrounding the molfile element, but I think it's the first one.


feat : Added toast at login, signup, checkout, feedback ,choosepincode

Solved issue #67  assigned to me
Description
This pull request implements toast notifications for the following actions in the application:

Login: Displays a success message upon successful login and an error message for failed attempts.
Signup: Provides feedback on account creation, with toasts for both success and failure scenarios.
Feedback Submission: Displays a confirmation message after successfully submitting feedback.
Choose Pincode: Alerts users when they've successfully chosen a pincode or if an error occurs.

Key Changes

Integrated React Hot Toast to manage notifications.
Added toast calls in respective components for login, signup, checkout, feedback submission, and pincode selection.
Handled success and error scenarios with appropriate toast messages.
Ensured the toast messages are consistent with the UI and user experience guidelines.

Motivation
These toast messages enhance the user experience by providing real-time feedback on critical actions within the app. This will improve user interaction by keeping them informed of the status of their requests.
Testing

Verified that toasts are displayed for each of the actions in both success and error cases.
Ensured that the UI is responsive and the notifications do not interfere with the user flow.

Results:
https://github.com/user-attachments/assets/e91bbd76-37d3-42d5-8e92-52725d7fccde
https://github.com/user-attachments/assets/82c6fcec-4b42-45c9-8186-579496824921

@MinavKaria  consider increasing the level of contribution if possible.

@MinavKaria  Please review and merge the PR.


can't handle the http header "Connection"

seems there is a typo
HEADER_PAIR(c, header_handle_connection),

Yes, it seems to be generated by global find and replace.


TypeError: cannot unpack non-iterable NoneType object

Following the tutorial for Image Classification, I am getting below error

My dataset:
https://drive.google.com/drive/folders/1sQpk94eAhq4ADBHpCh3yc2D4YbJxBpCn?usp=sharing

Hi @jocelynbaduria 👍
I believe that deep_autoviml cannot access Google drives as far as I know.
You will have to run it locally on your local machine or on Kaggle Notebooks.
Currently there is no way to authenticate and access Google drives.
Hope this helps.


added star history

added star history in the readme page

Thank you for the suggestion. I don't think we need to add this to the README, though.


can you remove Firebase please, It is redundant dependency

Deleted on 1.1.0 version

Firebase again added

Hi @Hellomik2002, sorry. Could you point out in the pubspec.yaml which dependency exactly you are referring to?


error with lime test -debug

So I'm brand new to making mods in kade engine and as I was following a tutorial it said to use "lime test windows -debug" I tried this but "source/Character.hx:385: characters 4-8 : Expected }" appeared and nothing else
please let me know how to fix this

also
i installed everything from the doc/MD file

It could be two things,

You didn't install the linc_luajit branch:
You need to put in the following commands.

haxelib remove linc_luajit
haxelib git linc_luajit https://github.com/nebulazorua/linc_luajit 0af04cd3a1
Or you could have installed the wrong Polymod:
The Polymod that is on the building.md document is disaffected on kade engine so you need to install mastereric's Polymod fork instead.
haxelib git polymod https://github.com/mastereric/polymod


Updated actor start script

Changes regarding https://apifytech.atlassian.net/browse/AP-1169

I think that start_actor.js will be included in stack traces if we do it like this. Are we ok with it?
Also, in cases where the start script is something else than node *.js, aren't we gonna lose some performance if we execute it as child process of the current node process? (no idea, just askin)


Bug fixes

This PR addresses some bugs with recent threadmark dropdowns and deleted posts.

@jrahmy I just noticed a glaring oversight. A lack of server-side permission checking when creating a threadmark via replying.
Either on the threadmark (add threadmark permission), or checking that the category is allowed.

@Xon Ouch, that was a bad one.
I've only just seen your edit. I believe permission checks generally belong in the controller (in the event you wish to use the datawriter to do something the visitor wouldn't normally be able to do themselves), but I'll move them into the datawriter if you prefer. I understand having them in the controller results in duplicate queries to get the thread and forum data, and the datawriter generally allows for more robust error handling.

Should be good now.

@jrahmy LGTM


[SCB-1161] Eureka integration english guide

Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Make sure there is a JIRA issue filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Format the pull request title like [SCB-XXX] Fixes bug in ApproximateQuantiles, where you replace SCB-XXX with the appropriate JIRA issue.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Run mvn clean install to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

Coverage increased (+0.04%) to 89.362% when pulling a8268cdb0e16e3f454d4d72a5a22e4d2b464ed82 on coolbeevip:SCB-1161 into 1d53a2d4f46b54e62df221f5d6160e49ffc2f556 on apache:master.


DB refactor

Hello Dear Mohab
Please check review my code.
I know some points might not be the best
but My mind melt after handling this refactoring
so I got this as a first step , get comments and refactor
I tested oracle db
please let me know how to test other methods

Please and Thank You.

closed due to inactivity. please feel free to reopen as needed.


Different transform in trainvae.py & trainmdrnn.py

In trainvae.py:
transform_test = transforms.Compose([
transforms.ToPILImage(),
transforms.Resize((RED_SIZE, RED_SIZE)),
transforms.ToTensor(),
])
While in trainmdrnn.py:
transform = transforms.Lambda(
lambda x: np.transpose(x, (0, 3, 1, 2)) / 255)
I don't quite understand why there would be such difference and its consequences for the encoder processing of VAE model.

Indeed, I don't think there is any reason for this difference.
Still, the two different preprocessing pipelines should be equivalent. The only operation missing in the code you quoted is, in trainmdrnn, the Resize operation. This operation is done later in to_latent.

I see.
Thanks!


Line breaks and NormalParagraphStyle

Hi,
if you like I added:

support for line breaks when two or more spaces are present at the end of a line: Markdown Basics - Line Return
NormalParagraphStyle for normal paragraphs

Thanks Francesco, I'll have a look at this over the weekend.

Thanks for your contribution. Apologies for leaving this hanging out there so long.