How to get non-qualified type text?

I'm not sure what changed in my setup, perhaps a TypeScript upgrade, or a ts-simple-ast upgrade, but today I noticed that my script no longer works as intended, and when I get the text of the type of a class property I get an import path in front of it.
I wasn't able to find how to just get the non-qualified type. I must be missing something basic. Any help is appreciated.
This is my code:
const properties = _(cls.getInstanceProperties())
  .filter(prop => {
    return prop.getKind() === ts.SyntaxKind.PropertyDeclaration;
  })
  .forEach(prop => {
    console.log(prop.getType().getText());

The above outputs qualified types for some of the properties:
import("/path/to/node_modules/@angular/core/src/event_emitter").EventEmitter<Event>

But previously I was just getting:
EventEmitter<Event>

How can I get the latter again?

I believe this would have changed as of TS 2.9, when import types was introduced. Sorry - not sure how to get back to the original behavior...

@dsherret Thank you for the quick response! I was about to do some string manipulation but this solution is perfect.

@elclanrs and thanks for asking! I was actually using string manipulation in some of my other code to get rid of it, but now I'll change that code to this 😄

This broke again in my project and that workaround is not working anymore as it is showing the full qualified import again.
Can anybody confirm that this is the case? I'm running<EMAIL_ADDRESS>and<EMAIL_ADDRESS>If this is the case, is string manipulation the only way around it?

@elclanrs what typescript compiler api version are you using?
Run this to check:
import { ts } from "ts-simple-ast";

console.log(ts.version);

@elclanrs I tested this with ts 3.0.1, 3.0.3, 3.1.1, and 3.1.3 and it worked fine. Could you provide some reproduction steps and let me know what compiler version it's using?
import { Project, TypeFormatFlags } from "ts-simple-ast";

const project = new Project({ useVirtualFileSystem: true });
const sourceFile = project.createSourceFile("Class.ts", "export class Class { prop: string; }");
const mainFile = project.createSourceFile("main.ts", "import { Class } from './Class'; let c: Class;");

const varDec = mainFile.getVariableDeclarationOrThrow("c");
console.log(varDec.getType().getText()); // outputs: import("/Class").Class
console.log(varDec.getType().getText(varDec)); // outputs: Class

Damn, it is working in isolation, but not in my project. I even went back to the exact commit where I made the change, removed node_modules and reinstalled all the dependencies, and still doesn't work. It is so weird because there haven't been any changes to the script ever since that change nor any updates to ts-simple-ast or TypeScript.
I'm going to need more time to test this to try to find what's causing the issue because it doesn't make any sense. I'll get back to you soon. Thanks for the quick response.

That is strange! I'm not too familiar with this part of the typescript compiler API. Maybe I'll ask someone on the ts team what the proper thing is to do here, but for now you may want to resort to just manipulating the string :/

@dsherret I was able to reproduce it. It took me a while to figure out the issue, but I have a simple example so you can see the bug.

Clone this repo https://github.com/elclanrs/ast-qualified-name-bug
Run node ast.js

Notice that the output is wrong:
size : AvatarSize
avatarSize : import("/home/elclanrs/Documents/sandbox/ast-test/src/app/avatar/avatar.component").AvatarSize

The first input type is correct size: AvatarSize, but notice that the second input is not correct, and in addition the outputting the wrong type (it should be avatarSize: CardAvatarSize), it also outputs the full qualified name despite using .getText(prop).
My guess is this is some cache invalidation issue or string manipulation issue where the text of the type is matched loosely and it pulls the wrong type for the second property, matching AvatarSize instead of CardAvatarSize from the cache.
Any ideas on how to resolve this issue?

I've done some more experimentation, and it seems like the bug can be tracked down to getTypeAtLocation. You can see that the type in the expression below is already wrong:
const type = prop.context.typeChecker.compilerObject.getTypeAtLocation(prop.compilerNode);

While prop contains the right type, getTypeAtLocation returns the wrong type.
TypeScript seems to think that since the CardAvatarSize has the same type as AvatarSize it should grab AvatarSize. I know because if I change the type of CardAvatarSize to something slightly different like CardAvatarSize = 'sm' | 'md' | 'lg' then it reports the correct type.
This is so confusing... Is TypeScript trying to be too smart, or is there something that says that two union types that are the same but have different names must be resolved to the first encountered type that matches?

That's very interesting! It seems what matters here is what type is requested first to the type checker and that's the main problem here. I bet that's probably by design, but opened #480 to investigate further.
Closing this for now.


Some string in codebase causing candidatePermutations to stack overflow

What version of @tailwindcss/jit are you using?
v0.1.13
What version of Node.js are you using?
v14.15.0
What browser are you using?
n/a
What operating system are you using?
macOS
Reproduction repository
n/a
I have the following line of code in my codebase: [^${char}\\s][^${char}]*[^${char}\\s] (it’s used to build a regular expression). When I remove it from my codebase, @tailwindcss/jit works fine. When I add it back Tailwind CSS fails to build with:
RangeError: Maximum call stack size exceeded
    at candidatePermutations.next (<anonymous>)
    at candidatePermutations.next (<anonymous>)
    at candidatePermutations.next (<anonymous>)
    at candidatePermutations.next (<anonymous>)
    at candidatePermutations.next (<anonymous>)
    at candidatePermutations.next (<anonymous>)
    at candidatePermutations.next (<anonymous>)

I reproduced this issue by taking the implementation of candidatePermutations() in my node_modules folder and running it standalone:
function* candidatePermutations(candidate, lastIndex = Infinity) {
  if (lastIndex < 0) {
    return
  }

  let dashIdx

  if (candidate.endsWith(']', lastIndex + 1)) {
    dashIdx = candidate.lastIndexOf('[') - 1
  } else {
    dashIdx = candidate.lastIndexOf('-', lastIndex)
  }

  if (dashIdx < 0) {
    return
  }

  let prefix = candidate.slice(0, dashIdx)
  let modifier = candidate.slice(dashIdx + 1)

  yield [prefix, modifier]

  yield* candidatePermutations(candidate, dashIdx - 1)
}

for (const result of candidatePermutations('[^${char}\\\\s][^${char}]*[^${char}\\\\s]')) {
  console.log(result);
}

(Babel playground)

Simplest string that reproduces the infinite iteration: ]-[].

Simplest string that reproduces the infinite iteration: ]-[].

Now this is a maintainer's dream in terms of minimal reproduction 🙏  Looking into it now, thanks.

I think it might be a typo here:
https://github.com/tailwindlabs/tailwindcss-jit/blob/a54c6fdca05fd0568d676d5d3c39df80a114b974/src/lib/generateRules.js#L26-L30
This code works for me locally:
  if (candidate.endsWith("]", lastIndex + 1)) {
    dashIdx = candidate.lastIndexOf("[", lastIndex) - 1;
  } else {
    dashIdx = candidate.lastIndexOf("-", lastIndex);
  }

Line 28 is missing lastIndex.

Should be fixed in v0.1.14! Used a slightly different solution, basically only worry about the square bracket stuff on the first pass when looking at the full string, since we don't support arbitrary values in the middle of class candidates anyways (like bg-[#126546]-foo-bar isn't valid) 👍


Connection leak in TCP adaptor

To reproduce:  Configure a single router with a tcp listener and a matching tcp connector.  The Host/Port of the connector should be invalid (i.e. not referencing a valid server socket).
Use curl or similar to establish a connection to the listener port.  This connection hangs (is that correct?).  Then ^C the client to force the connection closed.
  It will assert with a leak-check failure due to the fact that the connector has a too-high reference count.  The connection was not cleaned up when the client was forcefully disconnected.

Command used:  curl http://localhost:9000/api


fix(the-graph-app): fix offset of edge

fix offset of edge when the graph is not at top: 0, left:0

Sorry this took a while to merge. Thanks for your contribution.


allow setting a channel successor

Continued from #684. dan says: "now and then original channel founders can just leave and all. some services packages let the channel founder set a 'successor', someone who will become the new channel owner if their account gets unregistered/etc (see /set #channel successor on anope)"

Idea: this should put the channel in the "transfer pending" state, requiring the successor to accept the transfer (and they can't accept it if they're over the limit).


use 0.1.4

-this release includes 8k_earth_daymap.jpg
-add ipyleaflet-gl-vector-layer-plugin dep now that it's in
conda-forge
-add jupytext dep

Checklist

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

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

@conda-forge-admin, please rerender


Draft Assume schema infra- will split into multiple PRs

This is my working branch for the assume schema- will split this into multiple PRs

opening many prs


Make Type Name Field Required

Purpose
$Subject
Examples
N/A
Checklist

[ ] ~Linked to an issue~
[ ] ~Updated the changelog~
[ ] ~Added tests~

getTypeRecordAndTypeFromTypeName

Fixed with 21b615251362dfa4113594c05e7b547ba191ffc4

Can't we remove the () values in function getTypeRecordAndTypeFromTypeName() in variable_validator with this change?

Fixed with 21b615251362dfa4113594c05e7b547ba191ffc4


Not dumping empty lists doesn't conform to the spec

Currently, cwlgen.utils.should_exclude_object will cause the exporter to skip empty lists. This means that if you have an empty list of outputs, the output key will not be included in the resulting CWL. However the spec requires that the outputs list be present. This causes an empty-output tool to fail validation under cwltool.

Thanks for the report @TMiguelT, this is fixed and released in v0.4.1.


Replace deprecated sets usages with generic version

Changes

Follow-up for https://github.com/knative/pkg/pull/2915
Replaces all deprecated usages of sets with new generic versions
Drops kind testing on K8s 1.26 (as min-version is now 1.27)

/kind cleanup
Partially https://github.com/knative/serving/issues/14692
/hold needs https://github.com/knative/networking/pull/908 merged first

/assign @dprotaso
/assign @skonto

/unhold

/lgtm
/approve


Extract using foreign APIs & generate analyses

Goal is to extract using Google APIs, and appropriate ingest into db (including nas), and to specify analysis using these predictors.

[ ] Dynamically set up keys & set up on server
[ ] Deal w/ NAs
[ ] Compile a valid looking analysis

Current problem: All predictors from Google get loaded, but when loading them into an analysis and compiling the following error occurs:
KeyError('Level predictor_id must be same as name (None)'
Also ingest process never seemed to exit, so ensure that this is going OK and not crashing. It's definitely very slow so batch processing may be appropriate.


Set dns options while creating the docker machine

Instead of setting it in bootsync, we can use the --engine-opt param of docker-machine while creating the machine itself.

@silvamerica what do you think?

Looks good. We originally did this as a way to migrate machines to the new DNS servers, but it's no longer needed.


Reduce Docker image size

By using Alpine instead of Ubuntu, the resulting image is around 110 MB smaller:
$ docker images
REPOSITORY       TAG      CREATED         SIZE
unms-exporter    alpine   3 seconds ago   20MB
unms-exporter    ubuntu   5 minutes ago   132MB

Some savings are due to building with -ldflags="-s -w" (strip binary), and -trimpath (remove builder path prefixes).
We could save 5 MB more by using FROM scratch instead of Alpine, but then handling of timezone and CA certificate files becomes a hassle.

give me a sec to fix the CI flow for external contributions

@dmke would you mind merging main into your branch so the CI can run?

Done.


Fix deprecations for Julia 0.6

Fixes https://github.com/nalimilan/StringEncodings.jl/issues/12.

Current coverage is 88.20% (diff: 100%)

Merging #13 into master will decrease coverage by 0.87%

@@             master        #13   diff @@
==========================================
  Files             2          2
  Lines           174        178     +4
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            155        157     +2
- Misses           19         21     +2
  Partials          0          0

Powered by Codecov. Last update e6fd1bf...e968e85

Coverage decreased (-0.9%) to 88.202% when pulling e968e85110784c050d2fcc84a7e51ee0b89f9196 on nl/deprecations into e6fd1bfa601a66207afc3061c479678548dd227f on master.

Coverage decreased (-0.9%) to 88.202% when pulling e968e85110784c050d2fcc84a7e51ee0b89f9196 on nl/deprecations into e6fd1bfa601a66207afc3061c479678548dd227f on master.

Coverage decreased (-0.9%) to 88.202% when pulling d230c5011ace9bf196322caf332758bfcbbeeab3 on nl/deprecations into e6fd1bfa601a66207afc3061c479678548dd227f on master.


Building kernel modules for v934.1 (x86)

Hi, a few months ago I created an issue asking about availability of kernel headers for compilation of some kernel module and eBPF probes: https://github.com/gardenlinux/gardenlinux/issues/685
At the time, I was advised to use the component-descriptor asset in the release to get the version of the kernel being used, then extrapolate the URLs where the headers could be found. I went ahead and automated crawling of those headers based on that file, but the latest release (934.1) doesn't have a component-descriptor and http://repo.gardenlinux.io/ is still not browsable. Could I get some pointer on how I could automate crawling of the kernel headers used by Garden Linux again?

Hi,
the source of truth for the available kernel version is the repo.gardenlinux.io, at least that is where the garden linux build is retrieving the kernel packages. Each released version has a corresponding suite in the repo.
The repo has indeed directory browsing via http(s) disabled.
Please note, that old kernel versions will not be deleted in the respective repo suite.
Thus, you need to filter for the greatest kernel version available in that suite.
But newer kernels will require a Garden Linux version upgrade; either in major, or in minor version - depending on the changes of that kernel.
Here are some pointers on how to browse the repo:
apt search
Use this if you are on a Garden Linux system and want to search for a particular package.

required:deb https://repo.gardenlinux.io/gardenlinux 934.1 main is listed in either /etc/apt/sources.list or a /etc/apt/sources.list.d/some-file
use apt search linux-image | grep gardenlinux | sort -r | head -n 1 to search and filter for the greatest available kernel version

Use the Package file from the repository
Use this if you do not have apt available, or if you are concerned with the "apt does not have a stable CLI interface" warning.
curl -s http://repo.gardenlinux.io/gardenlinux/dists/today/main/binary-amd64/Packages | grep -e "Package: linux-image-5.15.[0-9].*" | sort -r | head -n 1 | cut -d'-' -f3

Let me know if this works for you.
Thanks,
Vincent

Hi @Vincinator,
Thanks for the quick reply, I'll give your suggestions a spin and get back to you.
My main concern is finding a reliable way that we can automate crawling for the kernel headers, we've rebuilt the way we crawl them a few times over the past year and I'd think by now we would already have this solved, yet here we are, having to change it once more.

Sure @Molter73, looking forward to your feedback.
However, I am not sure if I am happy with the curl solution myself.
It is the closest to the source of truth, yes - but it is also a bit hacky.
I like the idea of including the component-descriptor in the release assets.
I need to check if this is a bug. I suppose it has not yet been ported to the new release pipeline.

Any word on re-adding the component-descriptor back to the releases? I noticed 934.2 also doesn't have it.
If this is not coming back, I'll need to implement another way of collecting kernel headers using the apt search alternative.

Hey @Vincinator,
Sorry to be insisting on this, we use the component-descriptor file to find the headers and build drivers for StackRox/RHACS, is there any update on it?

Hi @Molter73, sorry for the delay.
We will bring back the component-descriptor, I just got the development process rolling.

Quick update so you can plan accordingly: this will take probably 2-3 weeks.
Please let me know If you need support for the apt search approach.
Component-descriptor is currently build in a non-public infrastructure, getting it out there requires some extra steps.
On the long run, I see this component-descriptor created via the public github actions pipeline definitions, this is currently blocked and de-prioritized.
Sorry for the inconvenience. I will keep you updated.
Thanks

Thanks for the update @Vincinator!
We will not need to support the apt search approach if the component-descriptor is added back, but I will need it to manually add new kernels released for Garden in the meantime.
As an example, I see that version 934.3 was released recently, I will need to use the apt search approach to check whether it uses a new kernel and add it to our infra. If it had the component-descriptor as part of the release, our crawler would do that by inspecting the file instead.

@Vincinator any updates on this? 🙂

hi @Molter73 sorry for the late reply.
I am taking the implementation over, working on it. Will come back to you

First off, thanks for all the effort you've put into this @Vincinator!
I've manually added the URLs for the headers of all previous versions, so there's no need to add it to previous releases. Our crawler will run in about an hour, I'll let you know if it picks it up correctly.
Would this mean the next release will have the component-descriptor file?

Looks like the component descriptor doesn't have the information for the non-cloud images. I can make a small change in our crawler to deduce the package though, so for our use case this is enough, but thought it might be something you'd like to look into.

Would this mean the next release will have the component-descriptor file?

Still need to automated it, but I don't see any blockers for it. Will integrate it next week, so yes, next version should(tm) have the component-descriptor again.

Looks like the component descriptor for 934.6 doesn't have the information for the non-cloud images. I can make a small change in our crawler to deduce the package though, so for our use case this is enough, but thought it might be something you'd like to look into.

I'll have to look into this. Thanks for the info!

Thank you for all the work on this @Vincinator!


Create Prototype Website

Using fastapi create a simple website that can be accessed on localhost.

May I do it?

May I also help, using fast api with react and configuring Tailwind css with it.

Yeah you both can haha
Are you able to self assign the task or do you need me to do it?

we cannot self assign the task


fix: navigation property will work even if they are not draft enabled

Internal incident
Bit difficult to test as CAP seems to enforce the draft status on navigation properties.
@drktfl any idea besides xml metadata ?

This is an internal incident btw

this will fail because the navigation to non-draft will still add the draft flags to the result set. We can probably ignore this? However, the same errors happen without the code change in dataAccess.ts, so probably we aren't testing what is relevant or did not fix anything 🤔

this indeed only works with XML metadata. The CDS compiler creates all sorts of constraints, but nothing really useful. They are either incomplete or missing, which makes it hard to write a predictable test.
I pushed a CDS model, but only the metadata.xml is useful for testing because of the manual adjustments needed to cover more cases than the standard "incomplete constraints" case that the compiler produces for 1:1 navigations, or the "no constraints" case it produces for 1:n.
I probably shouldn't have set the parameter type for the navigation properties along the way, it now bloated the change


Video Card doesnt work in Teams Channel

I am not able to render Video Card in Teams Channel
It is giving me an error "Oops. Something went wrong!"
In the logs i get "[onTurnError]: Error: Unknow"
Code Sample link: https://github.com/microsoft/BotBuilder-Samples/tree/master/samples/javascript_nodejs/06.using-cards

Hi @vinayjayaram . It looks like Teams doesn't supporting Video Card: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/cards/cards-reference#cards-not-supported-in-teams

I'm just having the same problem. I wish teams would support the cards soon..
Is there already a roadmap when this feature will be available?

@Emod94 - There are a few public sites where you can see some of the things that are being worked on in Teams:
https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=Microsoft Teams
https://microsoftteams.uservoice.com/forums/555103-public
There is no indication that there are any plans for Teams to support video cards. Sorry for the inconvenience. Closing now.


Misc reminders about things that are missing in current doc

This thread contains unstructured reminders to be able to keep track of potentially (to be discussed) missing elements
in the current doc that came up via experimentation.

For pipelines development: https://dharpa.org/kiara.documentation/latest/extending_kiara/pipelines/assemble_pipelines/
it may help to specify that it is necessary to enable DEV=true to display pipeline-related errors. Contrarily than with what happens with modules (where some errors appear without enabling this mode), errors don't seem to be displayed for pipelines without using DEV=true.

DEV=true is also useful for general Module development, but yes, more so when writing pipelines. Also, there is another option DEBUG=true which prints out finer-grained log messages, which helps in some situations like a module/pipeline not appearing in kiara operation list etc.

In the old documentation, in the "Creating a Kiara plugin project" section 8https://dharpa.org/kiara.documentation/latest/extending_kiara/creating_modules/the_basics/#creating-a-kiara-plugin-project ), we may need to inform users of how they can update the plugin template in case of changes in the dedicated repo https://github.com/DHARPA-Project/kiara_plugin.develop. At the moment there is no indication for users of how to be informed of important (or less important) updates, and how to update the template, and what level of skills os required for that.

It may be useful for users to have a doc section explaining the automatic checks that are performed and document some cases that happen often (that make the tests fail).


Editing Original Credits

Why are you copying code and editing the credit and legal info out of it? You are aware this is against the License. https://github.com/MeMasterMind/Discord-Lists-v6 is the original link to it

If you'd noticed, the person who this cod you say is "Copied" from is in this organisation. Get a brain, and come back when you have some intelligence.


C/C++ test timeouts need to be set to reasonable values

Currently, timeouts for some of our C/C++ tests are set to as high as 8+hours. Problems with that:

unreasonably long-running tests are wasting computing resources on our CI (preventing other useful tests from running) and potentially cause test job duration spikes on Kokoro (many jobs taking too long also lead to depleting workers in our pool which leads to higher queing times).
we get no signal when some tests suddenly start taking unreasonably long

Related to https://github.com/grpc/grpc/issues/12669.

Here's a dump of timeout_seconds for test cases run by run_tests.py in different configurations:
timeouts_c_opt.txt
timeout_cpp_opt.txt
timeout_c_tsan.txt
timeout_cpp_tsan.txt

Reasonable numbers for timeouts that won't introduce flakiness can be determined from bigquery.
See https://github.com/grpc/grpc/pull/12924 for an example of a change where I used the bigquery data to do just that.

@ctiller I feel addressing this is a necessary to bringing our overall test duration down (without impacting the test coverage) and keeping it there. Without reasonable timeouts, the C/C++ test suite is just too unpredictable in terms of total duration. Can we get someone to review the timeouts currently being set and adjust at least the worse offenders?


gltfpack: Use quantized normal/tangents for reindexing by default

While reindexing full precision streams is usually sufficient to get a good non-redundant index buffer, some meshes go through export or processing pipelines that introduce imprecision in individual normals or tangents, creating artificial seams. This increases the storage size and decreases rendering efficiency, in addition to creating issues for simplification.
This can be solved with a tolerance-based weld pass, but for now we can simply use quantized normals/tangents during reindexing. Note that this by itself does not reduce precision of individual vertices, so in theory we can be more aggressive here with quantization bits - for now we always use 8 bits which should not cause issues even if the requested normal bits is 16.

This usually doesn't affect the reindexing results, but on some assets that have this issue the results can be significant:
input: 21 mesh primitives (1174473 triangles, 1317060 vertices); 21 draw calls (21 instances, 1174473 triangles)

before:
output: 2 mesh primitives (1174473 triangles, 1251636 vertices); 2 draw calls (2 instances, 1174473 triangles)
output: buffers: vertex 7553417 bytes, index 1939480 bytes

after:
output: 2 mesh primitives (1174473 triangles, 792117 vertices); 2 draw calls (2 instances, 1174473 triangles)
output: buffers: vertex 4802215 bytes, index 1353812 bytes

Actually, testing this on glTF-Sample-Models, the issue is more prevalent than I expected. E.g. DragonAttenuation goes from 137k vertices to 98k vertices. A handful of models I've seen that have issues with this are a result of Blender export following an FBX reimport, so maybe there's some specific toolchains that introduce this problem more often than others.
In the future we might replace this with a tolerance based weld (which meshoptimizer currently doesn't expose), but quantization based welding is good enough for now (although there are cases where normals are very close but fall into different quantization buckets, these cases are comparatively rare).

Also the effect on performance is neutral; we spend a little bit of extra time reprocessing normals/tangents, but the remap is a little faster, and ultimately other steps like vertex cache optimization dominate anyhow.


fix predict memory release

In my test, when I try to infer a lot pictures one time, mx.mod.predict will hold the result in gpu and the memory will increase until all the images are done. So I change mx.mod.predict to mx.mod.forward and make the loop for detection.

There's a iter_predict

iter_predict did exactly the same as i did, but it still cause the problem in predict. I use asnumpy to copy it from gpu.


Separate Model and Controller files

I'm working on figuring out how to get the Cubism motion3 files out of a game going EoS soon, but it seems like the structure of the files prevents me from recovering the AnimationClip files back into motion3 files via UnityLive2DExtractor.
I've seen other games where there is an Animator file that seems to contain the model3, moc3, and such files, but what I find in tihs game is that these files are already exposed - there is no Animator file containing them.

the animation clips are also in an entirely different folder than the model data, unlike in other situations where the whole cubism object is in 1 file.
I was wondering what I need to try to modify to get the data necessary to rebuild the motion3 out of the AnimationClips.
This section:
CubismMotion3Converter
seems to be what I need to modify to reference something, but I'm not clear on how it does what it does (what file is it reading, how does it grab the data it needs)
EDIT:  From what I'm understanding - there should be Transform files that I'm tracing the hierarchy of to build the Motion3 conversion objects with, but I can't seem to find any Transform files in relation to these Cubism files, only an AnimationController that seems to be more for StateMachine controls.
The cdi file seesms to contain parameter data (Parameter Names, Groups, Part names) - but no obvious hierarchy data or defaults, so I'm not sure if this works as a replacement for the Transform objects that are missing.
example.zip

how do you get moc3 files by using assetstudio，i can only get these files by using UnityLive2DExtractor，can you upload your assetstudio version？ please


Graphs

Since this game is all about improvments all of the Dopamine comes from the impact of upgrades, and co.
so, to enjoy that more instead of just simple numbers, 'we' need graphs. (like the one in settlers 2 eg).
so we can see production increase over time - eg for each buildings a graph can be added or removed from the diagram, and we can see the impact of each upgrade way more enjoyable  and clear than just by a changed number. the big bonus would be the overview over a bigger timeframe and not just the now-situation. :)
maybe in a new tab or in the info tab, the onfo there could be hidden by a button

Yea, this is nice to have but really a big feature request, lol.  Probably will be a while...

Yea, this is nice to have but really a big feature request, lol. Probably will be a while...

ya definitely. though it may be easier then thought, if code from other tools can be 'abused'. played around with the fps counter in CCs dev-menu, but my js knowledge is way too limited.
Else thought about abusing diagram-plotters from administation tools like nagios/nagiosgrapher, theoretically the building cps could be exported and interpreted as performancedata, but then youd need a webserver locally to display them.  :)

@Aktanusa on a second thought, i think a exrensive logging (to file) feature would be sufficient. logging any changes and their effect on the different cps values. This way ppl could use see exactly what changes had what impact (sometimes it happens just to fast) that data and import into excel or whatever.

I don't think logging to file is not easy to do.  This is a web browser we are talking about.  Not a personal application.  There is a lot of security involved with all the virus you can download from the internet, I'm sure the limits of JavaScript will be there.  I rather not store a log in memory until you want to download it either...

This is not something I think we are considering at this time


[requires.io] dependency update on master branch

Coverage remained the same at 98.187% when pulling 8de92e4a830dad7f3ac56c0e12260c5ea9112769 on requires-io-master into 72352a26ff23135bbc93f7191cf14466bf9927ac on master.

Coverage remained the same at 98.187% when pulling 163a2288c9b09377f653d725e56a0d9e86fed7b3 on requires-io-master into 72352a26ff23135bbc93f7191cf14466bf9927ac on master.


HADOOP-13327: Add OutputStream + Syncable to the Filesystem Specification

HADOOP-13327: Add OutputStream + Syncable to the Filesystem Specification

defines what an output stream should do
And what implementations of Syncable MUST do if they declare they support the method.
Consistently declare behaviors in our streams
Including for some (S3ABlockOutputStream) state tracking: no operations once closed; if an error has occurred, future operations raise it, etc.
With some more utility classes in org.apache.hadoop.fs.impl to aid this

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

0
reexec
0
Docker mode activated.

-1
patch
10
https://github.com/apache/hadoop/pull/532 does not apply to trunk. Rebase required? Wrong Branch? See https://wiki.apache.org/hadoop/HowToContribute for help.

Subsystem
Report/Notes

GITHUB PR
https://github.com/apache/hadoop/pull/532

JIRA Issue
HADOOP-13327

Console output
https://builds.apache.org/job/hadoop-multibranch/job/PR-532/1/console

Powered by
Apache Yetus 0.9.0 http://yetus.apache.org

This message was automatically generated.


Test PR - adding a file for testing purpose

This is a test PR.
This is not intended to be merged

trigger build

:heavy_check_mark: CI build for LArSoft Succeeded on slf7 for e20:prof -- details available through the CI dashboard

:heavy_check_mark: CI build for LArSoft Succeeded on slf7 for c7:prof -- details available through the CI dashboard

trigger build DUNE/dunesim#24

:heavy_check_mark: CI build for LArSoft Succeeded on slf7 for e20:prof -- details available through the CI dashboard

:heavy_check_mark: CI build for LArSoft Succeeded on slf7 for c7:prof -- details available through the CI dashboard

:warning: CI build for DUNE Warning at phase ci_tests DUNE on slf7 for e20:prof -- details available through the CI dashboard
:rotating_light: For more details about the warning phase, check the ci_tests DUNE phase logs
parent CI build details are available through the CI dashboard

:warning: CI build for DUNE Warning at phase ci_tests DUNE on slf7 for c7:prof -- details available through the CI dashboard
:rotating_light: For more details about the warning phase, check the ci_tests DUNE phase logs
parent CI build details are available through the CI dashboard


Test image processing at new sites/years

[x] Use phenocamapi package to obtain gcc/rcc of roi regions for canopy
[x] Plot against gcc of the roi in the canopy
[ ] Test at additional eastern deciduous forests

No pattern of understory gcc greening faster than the overstory DB

in 2021 at HARV NEON. However, David suggested a method of counting number of pixels at or above a green threshold, which may reduce the washing out by other pixels caused by averaging. To implement, would have to determine the green threshold somehow (K means during the spring/summer?), then counting the number of pixels within a spherical radius. Could eliminate need for masking.


[New Feature] Upload via Cloud Storage

The basic idea would be to provide auth tokens dynamically to a command that knew how to send data to S3/Azure/DO storage buckets.
Command proposal
upload s3 $token path/to/file

Modifying this a little into 2 commands (at least), given the complexity of each cloud provider.

s3upload access_key_id secret_access_key region bucket filename
azupload storage_account access_key filename

S3 upload completed as of 5cb9987
Azupload completed as of 04cb423


Respect revision in Component CR

Use revision in Component CR when it's defined otherwise fallback to
main/master branch.
PLNSRVCE-623

/retest

seemingly unrelated jvm failure (@psturc is working on filter)

forget if with this repo you have to rebase the PR to pick merged changes like @psturc /s #56
will
/retest
to see

I do not have the rebase only button on this repo to update the PR for @Michkov


Fix minor bugs in utils and generate

Modulus Pull Request
Description

Fix reversed image shape in utils and config loading bugs in generate
Checklist

[ ] I am familiar with the Contributing Guidelines.
[ ] New or existing tests cover these changes.
[ ] The documentation is up to date with these changes.
[ ] The CHANGELOG.md is up to date with these changes.
[ ] An issue is linked to this pull request.

Dependencies

/blossom-ci


Configuring CORS.

Demonstrates how to enable the CORS mechanism in ASP.NET Core.

@torhovland are you not missing the CORS package in the fsproj?

You're right. I've now added the ref to both the sample and the template fsproj files.

Thanks for the work! This looks good, I am not sure if we want to completely open CORS by default in the template though. Maybe it's just good enough to have it in the sample app where users can look up how to configure it when they need it? What do you think?

I'll merge it into develop anyway now and we can make that change before I merge everything back to master. Thanks for helping out, much appreciated!

Hi! I haven't opened CORS by default, only for http://localhost:8080, meant as an example. I somewhat agree that this may be better suited in a sample than in the template, but on the other hand, there is the argument about having the code at hand when you do actually need to configure CORS. It comes down to whether you want the template to be concise or comprehensive. As it's only 4 lines of code, I think it's fine, but I don't have any strong feelings about it.

@torhovland - According to the solution in this Giraffe CORS issue - should we add a route similar to this in the sample to make this work from the browser? route  "/options" >=> setHttpHeader "Allow" "GET, OPTIONS, POST"
https://stackoverflow.com/questions/46725807/issues-with-http-post-despite-enabling-cors-in-both-elm-and-giraffe/46735081#46735081


Constraints do not work

Steps to reproduce

Define the objective:

    def obj(x):
        return -(x[0] + x[1] + x[2])

Define 1 simple constraint:

    def cons(x):
        return x[2]

Define binary grid of parameters and budget:

    s = ng.p.Array(shape=(3,)).set_bounds(0, 1).set_integer_casting()
    b = 1000

Minimize the objective w.r.t. constraint:

    opt = ng.optimizers.NGOpt(parametrization=s, budget=b)
    rec = opt.minimize(obj, constraint_violation=[cons])

Observed Results
rec.loss is -3.0 for some reason, and constraint is violated
Expected Results
rec.loss is -2.0 and x[2] == 0, constraint is not violated

Yes, I have posted it by error:) Now I've updated the issue description. The bug is with the last release version, 1.0.5. I did not observe such behaviour, if use cheap constraints.

Your remark is excellent.
I bring a fix.
In the mean time, you might pick the best so far among points which do not violate constraints and it will work (basically the optimization works, just "recommend" fails).
I bring the fix asap.

https://github.com/facebookresearch/nevergrad/pull/1657

Will push nevergrad 1.07 asap

This is a correct fix I think (not yet in Pypi, will do asap).

Thank you! Now it works.

It's in 1.0.8 https://pypi.org/project/nevergrad/
@sergeiiudin  thanks a lot. You have found a strong issue in a release.
I'll investigate a bit more later; the new version was done quickly, maybe I can do some things better.


Set telemetry flag as a top level attribute on Emebdchain class

🚀 The feature
Right now we have a telemetry flag called collect_metrics. It is available as a flag in the config.
We need to set it as a top level flag
app.collect_metrics = False/True

Motivation, pitch
this enables anyone to easily toggle on/off the metrics
Alternatives
No response
Additional context
No response

@taranjeet Do we also want to keep in config or remove from there?

@Dev-Khant : it will be there in both config and top level attribute.

Yes, I understood it. Thanks


Small Bug in src/generate.py

Should the code of line54 be generate_fn(queries, args.model_path) instead of generate_fn(args.model_path, queries), since def generate_response(queries, model_path=None):?

Thanks for catching it! You are right that the function headers are mismatched for some models. It's due to previously merging those functions from our deprecated internal codebase. I will correct these cases (i.e., make def generate_response(queries, model_path=None): match the generate_fn(queries, args.model_path).

The bug is fixed now and thank you for spotting it :)


[Update Request]: BRL-CAD.brlcad version 7.38.0

What type of update are you requesting?
A new version of an existing package
Current Package Identifier
BRL-CAD.brlcad
Package Version
7.38.0
Please describe the changes you would like to see

Heads-up 7.38.0 is latest stable: https://github.com/BRL-CAD/brlcad/releases/tag/rel-7-38-0
Originally posted by @luzpaz in https://github.com/microsoft/winget-pkgs/issues/129009#issuecomment-1879660666

Sorry @luzpaz, I can't find any installer wizard or executable archives from that release. No additional files are attached to Assets panel. Could you please guide me on how to find the actual file?

I opened a ticket upstream: https://github.com/BRL-CAD/brlcad/issues/111

According to https://github.com/BRL-CAD/brlcad/issues/111#issuecomment-1904630757, an EXE file is released. I'll try if it's able to submit.


[wasm] Emscripten -sSTRICT

This stricter (and more well-optimized) compilation mode is finally working -
#1237, #1236 were the remaining bits.

Now the error is:

Module.preRun was supplied but preRun not included in INCOMING_MODULE_JS_API`

Now the error is:

Module.preRun was supplied but preRun not included in INCOMING_MODULE_JS_API`

Fixed in Emscripten 3.1.71.

Bots failure should go away after merging the dependencies #1236, #1237.


[feat] Enable self.log in callbacks

What does this PR do?

This PR enables user to call self.log directly from the callbacks and not pl_module.log.
Fixes # (issue)
Before submitting

[x] Was this discussed/approved via a Github issue? (no need for typos and docs improvements)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together? Otherwise, we ask you to create a separate PR for every change.
[ ] Did you make sure to update the documentation with your changes?
[ ] Did you write any new necessary tests?
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] If you made a notable change (that affects users), did you update the CHANGELOG?

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified; Bugfixes should be including in bug-fix release milestones (m.f.X) and features should be included in (m.X.b) releases.

Did you have fun?
Make sure you had fun coding 🙃

Hello @tchaton! Thanks for opening this PR.

In the file tests/trainer/logging_tests/test_train_loop_logging_1_0.py:

Line 812:1: W293 blank line contains whitespace
Line 814:29: W291 trailing whitespace
Line 815:29: W291 trailing whitespace
Line 816:35: W291 trailing whitespace
Line 817:27: W291 trailing whitespace
Line 818:33: W291 trailing whitespace
Line 819:27: W291 trailing whitespace
Line 822:1: W391 blank line at end of file

Do see the Hitchhiker's guide to code style

This PR breaks some of my callbacks.
I advise against dynamically binding methods like this. This will be extremely difficult to debug, both on the side of the user and on the side of the developer. I am convinced this is not future-proof.
If it really has to be like this, can we at least add an empty stub to the callback class, so that there is at least some indication for a name clash?

@tchaton please consider adding the stub as above. this also upsets mypy.

Any plans to revert this?


Display number of filtered out games

For the newly introduced game filter it would be awesome if the client would display the number of filtered out games in the lobby and live games tab. This acts as a feedback and reminder to the user that the filter is active.

Showing the number of filtered items is easy. But... I still can't find a good way to add a footer to the tables.

Maybe instead of displaying it in the menu, display it next to the entire button that opens the menu? There is enough space next to it

Ok, No problem


Add InsurancePlans class

InsurancePlans class is to support the addition of more than 1 insurance plans to Person class later on. This is because each client can purchase more than 1 insurance plan.

#49 partly completed.


iOS 13 access to Motion Sensors

This issue was originally opened on GeoAR.js repo, now merged into this with v2.0.0. See following PDF attached for thread. Images were too heavy to attach.
iOS 13 removed "Motion & Orientation Access" · Issue #12 · nicolocarpignoli:GeoAR.pdf

That worked. Thank you!


Fix linting on clippy > 1.71

This fixes linting for clippy > 1.71 which introduced a new default_constructed_unit_structs (see clippy's changelog)

[x] I agree to follow the project's code of conduct.
[x] I added an entry to CHANGES.md if knowledge of this change could be valuable to users.

bors r+


Allow to pass empty content-type for edenFetch and prevent

Hi!
I have to pass via a formData for a specific API endpoint.
My problem is :

https://github.com/elysiajs/eden/blob/main/src/fetch/index.ts#L21-L26 : body is stringified automatically if no content-type is provided
https://github.com/elysiajs/eden/blob/main/src/fetch/index.ts#L37-L42 : There's no way to remove completely content-type from headers preventing from browser to handle multipart correctly (https://stackoverflow.com/a/39281156)
https://github.com/elysiajs/eden/blob/main/src/fetch/index.ts#L39 content-type should be spelled as Content-Type, if you want to override the content-type then it will be parsed as JSON because of a different case here https://github.com/elysiajs/eden/blob/main/src/fetch/index.ts#L19

I can open a PR if you want but removing the first might be a breaking change that's why I've open an issue first :D

I am currently fixing this by using a middleware by overwriting the default fetch, but it would indeed be good to have this resolved in some way.
const { fetch: originalFetch } = window
window.fetch = async (...args) => {
    const [resource, config] = args

    if (config.method === 'POST' && (config?.headers?.['Content-Type'] === 'multipart/form-data') || (config?.headers?.['content-type'] === 'multipart/form-data')) {
      delete config.headers['Content-Type']
      delete config.headers['content-type']
    }

    const response = await originalFetch(resource, config)
    return response
}

Is this issue likely to get resolved any time soon?

Running into the same issue - using my own client for now, but if body is FormData then no Content-Type should be set.
@SaltyAom would you take a pr for creating a v2 of EdenFetch?

For anyone using Eden Fetch:
export function getFetchApi<T extends AnyElysia>() {
  return edenFetch<T>(getApiUrl(), {
    fetcher: async (url, options) => {
      const res = await fetch(url, supportMultipartFormData(options));

      // Redirect to sign in if not authenticated
      if (res.status === 401) {
        // ...
      }
      return res;
    }
  });
}

function supportMultipartFormData(options?: RequestInit | FetchRequestInit) {
  if (!options) {
    return options;
  }

  const headers = new Headers(options.headers ?? {});
  if (
    (options.method === "POST" && headers.get("Content-Type")?.includes("multipart/form-data")) ||
    headers.get("content-type")?.includes("multipart/form-data")
  ) {
    // Ref: https://github.com/elysiajs/eden/issues/32
    headers.delete("Content-Type");
    headers.delete("content-type");
    options.headers = headers;
  }

  return options;
}


DBZ-7156 Add ConvertRecordToRawSaveableForm transform

https://issues.redhat.com/browse/DBZ-7156

According to my last comment in the related DBZ Jira task, this might not be required and there are already SMTs in Debezium and Kafka Connect that can solve the issue in a more flexible and generic way than this SMT which feels rather specific to a single problem.


Merge <IP_ADDRESS>.0 release into main

Looks like the changelog is outdated, says version <IP_ADDRESS>.0 instead of <IP_ADDRESS>.0?


feat: add RDNA3 zero RPM setting

Closes https://github.com/ilya-zlobintsev/LACT/issues/392
Currently requires a kernel patch to work.

This will most likely need a small change and rename fan_zero_rpm to fan_zero_rpm_enable with the updated and reviewed patch. I'd probably wait until it has fully landed, though.

This was tested and confirmed working on a 7900XTX.


just contributing results

first thanks for all your hard work, you mentioned needing help from community in research on best params for configs;
I wrote up this article: https://civitai.com/articles/8313
and released this workflow pack: https://civitai.com/models/886896
contains default workflow, with 8 variants showing different Tiling/Batch configs.
I'm investigating the difference with Tiling and batch results. I included my outputs, (labelled) in the Gallery for the V1 workflow pack release, which included many variations on the manual batch/tiling.
I am Interested to know if there is a better place i can share this work with you, as this is not a bug report per se.
I think that batch 16 with 0.3 overlap is nice, but i will be doing much more testing!
Thanks for all the hard work !! I really appreciated that the Sample kept in memory allowing tweaks to the Decoder only requiring 17 seconds to complete the tiling with same seed operation :)

on the suggestion from others in the github discussions here, added the 7.0 CFG example:

until i make a video on it, this is the best i could do :)

If anybody was struggling to find complex video prompts for testing, i created this LLM template to use vision to look at an image and give us a nice prompt that will work well with video generators. This is an open template tuned for CogVideo, but it works well with Mochi also, you might want to customise it somewhat, but it serves the purpose well and if you do not use an LLM like Llava-OneVision-Qwen2 in comfyUI, you can just use this prompt with Claude/ChatGPT;
template:
Analyze the given image and generate a detailed video prompt by: describing the main subject or action; detailing the setting and background; noting significant visual elements, colors, and textures; including information about lighting, time of day, or weather conditions if relevant; mentioning any movement, progression, or change in the scene; describing the mood or atmosphere; including sensory details beyond visual elements when appropriate; using vivid, descriptive language; maintaining a neutral tone without subjective interpretations; keeping the description between 3-5 sentences for clarity and conciseness; structure the output as follows: [Main subject/action]. [Setting and background details]. [Visual elements, colors, textures]. [Lighting, time, weather]. [Movement or progression]. [Mood/atmosphere]. [Additional sensory details if applicable].
hope that helps!

Donut-Mochi-848x480-batch16-v6
decoder params:
frame_batch_size = 16
tile_sample_min_width = 144
tile_sample_min_height = 80
tile_overlap_factor_height = 0.3
tile_overlap_factor_width = 0.3
after some others in these threads posted about increasing CFG to 7.0, i carried on testing until discovering that the SD3.5 T5XXL_FP8_e4m3fn_scaled CLIP model creates excellent videos with a small cost for speed. (25 minutes)
https://civitai.com/posts/8379628
so testing continues, but it seems that this is the best quality setup i have found running on 4090.
because i have good CPU and 64gb RAM, next i'll be forcing the T5XXL_FP16 onto CPU. (extra models nodes)
Results will be posted up soon as i have enough to showcase, with the workflows included in the pack.

Results Gallery here: https://civitai.com/posts/8414644
I tested the current setup with:
GGUF Q8_0 + T5XXL_FP16 (forced CLIP onto CPU)
full configs available in the workflow, find this in the pack from version 5 onwards
\GGUF-Q8_0--T5-FP16-CPU\Donut-Mochi-848x480-GGUF-Q8_0-CPU_T5-FP16-v14.json
I have included all the experimental workflows and I'm only using 50 steps with pytorch SDP.
There are 3 100 step videos in the gallery, but anyone can add more steps to gain some quality at the expense of time taken.
24 Minutes for 6 Seconds at 24FPS on RTX 4090.
Very happy with the results, Thanks Kijai for all your work on the Wrapper, I hope these configs help others to get the most from this local video model !

@MushroomFleet your gallery shows pretty strong ghosting. This is caused by tiled VAE decoding. You can experiment with settings by saving some latents (use SaveLatent node from Comfy core), then move them from "output" to "input" directory, then you can load them (LoadLatent node) in a separate workflow and only work on the "Mochi Decode" node settings. I've tried generating short videos, which can be decoded without tiling and the ghosting disappears completely:
https://github.com/user-attachments/assets/e51e746f-1f59-481f-9916-85a674d63d7b
Compare to tiled decoding here:
https://github.com/user-attachments/assets/834b5de3-186c-4836-b41e-416eafddfe41

@MushroomFleet your gallery shows pretty strong ghosting. This is caused by tiled VAE decoding. You can experiment with settings by saving some latents (use SaveLatent node from Comfy core), then move them from "output" to "input" directory, then you can load them (LoadLatent node) in a separate workflow and only work on the "Mochi Decode" node settings. I've tried generating short videos, which can be decoded without tiling and the ghosting disappears completely:
Mochi_preview_00008.mp4
Compare to tiled decoding here:
Mochi_preview_00007.mp4

This has been a community led research effort, so i like to open source my findings in the spirit of progress!
Thanks so much for the tip on this, i think kijai mentioned it somewhere, but i forgot all about it :)
I'll add this to my testing list - Thanks again !!
I only just started with testing 25 frame jobs, so this will be a bigtime improvement
Big Thank !

I ran into an issue using OneVision with my LLM prompt above, as it would generate 512 tokens, setting it to 256 did not limit it, so i adjust the prompt above to reflect the limit, seems to work great.
issue here: https://github.com/kijai/ComfyUI-MochiWrapper/issues/34
not sure if anything can be done, will experiment with prompt scheduling to potentially swap out prompts with step count next.

As i automated the image to prompt using "Llama-OneVision-Qwen2" using the prompt above, I decided that i wanted to have a node that will automatically detect tall or wide images, then send the height and width to a resize node set to crop/fill and also to the ksampler, more testing is being done, but it works great. I used the V2 version of this node in image generation to find the best safe divisible by 64 dimensions, based on the model we are using (eg SDXL/SD3 = 1024x1024).
Selecting Mochi1 sets the default max resolution to 848x480, but at present it's only doing 16:9 or 9:16.

it may be the case that vertical video is a bad idea, but i still think that an image conformer that can automatically bring images into safe dimensions can be beneficial with the right settings.

(use SaveLatent node from Comfy core), then move them from "output" to "input" directory, then you can load them (LoadLatent node)

This works great and so i decided to build a new Latent Load nodes so we don't have to stop halfway through a workflow and copy and paste files from output to input. It seems it has been 6 months of beta for those nodes, and it is likely they will be updated - however - -
Using my Project File Path Generator Node, (renamed Save Latent in screenshot)

This allowed you to organise the saving of the latent in the Output folder, I use this node all the time to organise the saving of my outputs. It can be used with the ComfyCore Save Latent node. (nothing fancy here really, just nice for organisation)
I decided to write DJZ-LoadLatent.
It's pretty much the same code as the one in Comfy Core, however i made a few changes;
DJZ Latent Load Node:

Press R to refresh the list
It will scan comfyui outputs
allow loading of the .latent file

Here i have the Decoder stage disabled while i generate .latent files (saved to output folder with my path node)

Here i have the Sampler stage disabled while i use the decoder, with the DJZ-LatentLoad node.
NOTE: sampler params in screenshots are bogus, too few steps and frames to speed up testing.
This means your .latent files are kept in the same path structure as your video outputs would normally be.

https://runpod.io/console/deploy?template=egyeo55x8w&ref=0czffee4
ComfyUI Mochi Runpod template

I'm using it like this:

used local to create samples saved as .latent
starting Runpod template with L40 (48GB)
uploading all my latent files to the /output folder
loading the Donut-Mochi-848x480-t2v-LatentSideload-v25 workflow

first run takes a long time, so don't forget to connect your network storage to escape that wait time on second run

Refresh the Comfyui (press R)
choose the .latent from the list in my new DJZ-LoadLatent node
Queue it up !

this way you can take advantage of the power of the L40 to crush those latents into Video in record time, reducing the cost of the Runpod session by 95%

there will be a oneshot runpod workflow that can do it all in one go soon (for those that can't use local), but this is the cheapest solution if you can run the sampler on your local.

V6 Workflow pack gallery
https://civitai.com/posts/8455626
I've added my results from the last post here. Enjoy !
Still more to test so watch this space

I'm not sure if you noticed, but I have added different way of doing the tiled decoding which seems to work better, with 8x8 tiles I can do 163 frames within 24GB without any temporal tiling if I use 8x8 tiles:

The node has the option to do the decoding in chunks (per_batch), but it should be a last resort as it causes the stuttering/frame skipping since the VAE is not meant to be used in chunks.

I'm not sure if you noticed, but I have added different way of doing the tiled decoding which seems to work better, with 8x8 tiles I can do 163 frames within 24GB without any temporal tiling if I use 8x8 tiles:

The node has the option to do the decoding in chunks (per_batch), but it should be a last resort as it causes the stuttering/frame skipping since the VAE is not meant to be used in chunks.
mochi_00171.mp4

https://github.com/kijai/ComfyUI-MochiWrapper/issues/50
haha i just made this as i returned today and could not find that node anywhere, i updated the wrapper and comfy so i'm a bit confused now :D

Updated my workflows pack to use the newer VAE Spatial Tiling Decoder !
This can run 100% on local GPU, and all the demo videos in the gallery used only 50 steps
(100 steps used in the V6 gallery) another significant upgrade 💯
https://civitai.com/posts/8613066 <- gallery

I noticed there is a VAE encoder now, this should make video to video possible? maybe
until i have some results - here is a showcase video built with ACE-HoloFS video PromptGen, and used mostly a single Mochi Prompt, 100 steps for 3 seconds per segment, showcasing the outputs we can acheive easily on local GPU !
"Golden Son" Mochi1-Preview AMV
https://www.youtube.com/watch?v=xmJI6aKd9P0

Ok so my i2v workflow was built with future proofing this feature in mind, i had hoped we would get an encoder, so i'm glad it's here !!
Image VAE Encoder Research results:
This is my image input:

I use my Image Size Adjuster V3 with Mochi Option selected to ensure the best quality at the required native resolution for Mochi (848x480) in 16:9 AR:

which sends this Fill/Crop resized image into the VAE Encoder:

from there we can use Llava-OneVision-Qwen2 to interrogate the image:

with this prompt:
Create video prompt <256 tokens: [MOTION: main vector/speed] + [DYNAMICS: key element movements] + [ENVIRONMENT: background motion] + [FLOW: scene progression] + [VISUALS: motion-relevant details] + [DIRECTION: momentum cues], maintain source image coherence.
This can still result in a prompt of over 256 tokens, so i provded a manual prompt section, where i am using this to drive the image2video:
[Static to dynamic scene]: Three figures - armored warrior(L), seated robed man(C), angelic figure(R). Motion: warrior leans forward with spear, robed man's hands gesture expressively during conversation, angel remains still observing. Lighting subtly shifts, colors remain vivid (pink/gold armor, blue robe, white dress). Focus on facial expressions and hand movements progressing through dialogue.
then i am using the following setup to get my outputs:
Encoding settings:

workflow showing the two separate stages (Fast Group Bypass Switched)

Decoder settings:

just like all good i2i workflows the denoise will determine the model strength for the image to video.
at 1.00 it will be prompting the model like text2image, so you will see no similarity to the image input
at 0.75 (default i2i denoise) you can see some similarity, but a strong bias to the model weights
at 0.5 it should be a balance 50/50 with the model (prompt) and the image input
at 0.25 we should see a stronger bias to the input image, however now the model strength is very weak.
in my testing i found that the 0.5 value was excellent for animating the image input:
0.75 = https://i.gyazo.com/0454f9a92f681aa1e7b54fba6710bac5.mp4
0.5 = https://i.gyazo.com/aa0a6b4c4a4aeb3b1473791d5124cea0.mp4

I hope i have wrangled the OneVision to play nice and only output 256 tokens max, however it does occasionally break the rules, so there is a primitive node, which can be used to copy the offending vision prompt, (should encourage motion) and cut it down a bit for use. You can remove the OneVision if you like, it's purely used as a Vision Interrogator with LLM features to create motion from stills:

pushed new image to video workflow using the latest VAE Encoder method to my Master Workflow pack:
https://github.com/MushroomFleet/DJZ-Workflows/tree/main/Donut-Mochi-Video/True-Image-To-Video

To aid people who use the .latent save node, I have completed my "DJZ Load Latent V2" Node

This will allow incremental batch decoding for anyone who finds this useful

I had spent a lot of hours doing this one by one, and created this by popular request to make life easier !

I tried the true i2v workflow, but I don't think that is what people think of as "img2vid." This seems to be using the image as a base for every frame in the video, so it is a quite static video with just some moving parts. Whereas what we really want is to use an image as the first and/or last frame, and let the model convert that to natural video.

This is giving you a VAE image encoder, that is the definition of "image to video".
Things you can try:
turn the denoise to between 0.5 and 0.75, that is i2i defaults, as i explained - it will work, but you can't expect it to be automatic ;)~ You might also experiment with altering the CFG and step count to gain more motion, if your prompt is no good you will get zero motion.

Good Prompt + Good Params = good motion.
This is the same for any Video generation platform, be it local or in a cloud service.

Also some images are "blind spots" ie. they are not represented well in the corpus of training data. This is the same reason why some prompts produce bad results, the model cannot know things it was never taught. Mochi excels at realistic video generation - and is less apt with surreal/abstract types, this is a challenge for prompt engineers to solve.
I trained my prompt generation from the example prompts given for CogVideo - so it's doing a good job, but as stated in this reply - there is no one size fits all solution.


Add rancher specific resources to the "Resources" dropdown list when creating custom roles.

Rancher Server - v2.0.0-alpha17
Steps to reproduce the problem:
Create custom role by using "Add Role" option
In the "Add Role" page, Resource drop down does not include rancher specific resources like project.
We should be able to add all the rancher specific resources to the "Resources" dropdown list

Tested with latest build from master.
In the "Add Role" page, Resource drop down include rancher specific resources like project.


Adding new sensor "last update" to retrieve the date and time from the last connection to Ecowater server

Version 3.3.1

New "last update" sensor: It retrieves the data and time the integration connects to the Ecowater server.
Some minor changes. OUT OF SALT ON ... now gives the data d/m/Y instead Y/m/d when date format at setup is dd/mm/yyyy
Update Readme file to show the current version and changelog.
Update manifest.json to show version 3.3.1

@barleybobs is there anything stopping this PR from being merged?

Sorry. I am going to close this pull request. I need to test a bit more the "Last Update" sensor code. Because I saw there are some situations where the API is showing the device is "Online" but it is not receiving new data. I looks like the API is blocking the mobile app and the integration because I reached the limit API Calls. I can see the Softener had new data but it is not updating to the Ecowater Cloud until I did a powercycle of the Softener.

@figorr that is exactly the reason to have this new sensor "Last Update". The idea is to have a sensor that is only updated when the integration has been able to update data from Ecowater servers successfully, so when the ecowater servers block the app, the sensor will show that the last update was for example an hour ago, and we can create an automation to powercycle the softener.
This sensor "Last Update" should be updated every time Home Assistant is able to call the ecowater servers, and it should NOT be updated if the call to ecowater fails.

Sorry @heisenberg2980, I didn't explain myself well. The "Last Update" sensor wasn't working as I expected and in the case I described above... when the integration crashed... it kept updating the date and time as if it hadn't crashed.
Over this weekend I've been playing around with a forked version. I've introduced some changes. The problem is that I haven't only updated the "Last Update" sensor... I've also been playing around with translating the name of the sensors and I've introduced the Spanish translation (es.json). I've also corrected the way the date format is displayed in the "Out of Salt On" sensor when the date format chosen in the setup is "dd/mm/yyyy", so now gives the data d/m/Y instead Y/m/d.
So I've made a lot of changes. But if you dare... you can try the beta that I've been testing today. It seems to work fine. I haven't seen any errors in the log. And the "Last Update" sensor is updating fine, although I must also say that the API hasn't failed today, :)
You can find the beta (Beta v3.4.4.B01) under "Releases" at the forked repository. You just need to download the beta and replace the content of the ecowater_softener folder. This is like a manual installation.
homeassistant-ecowater-softener forked version
As I said this beta includes a lot of changes I made during the weekend. Please don't take in mind what readme says about creating an input_number and an input_button. I was also playing about dinamically changing the timedelta (time between scans) without having to reload the integration of HA but It didn't work, so I removed this part of the code. I need to think about it a bit more. And if finally I can find a solution I will send a pull request to @barleybobs, so he can decide if it could be useful or not.
Always, before start testing anything ... I recommend you to do a couple of things.

Make a copy of the entire integration folder, i.e. the "ecowater_softener" folder inside custom_components.
Make a full backup of Home Assistant.

So, if any errors occur or you just don't like the changes, you can always start with option 1 and restart the contents of the ecowater_softener folder back to its place and restart HA. Or if things get worse... you can go for option 2 and restore the HA backup you did.
As I said, in my case everything went well. I didn't see any error at log and the integration was loaded OK.
If the "Last Update" sensor works as expected ... maybe @barleybobs can include it in the future ... I will send a new pull request, but I think it is too early ... I need a bit more testing. I deleted the pull request for this reason.


Theme supports seriesSubjects: Scratch

I have made a sushi card for Scratch and I would love to use the Gitbook template.
Are you planning on extending the tool for Scratch?

Yes. We're going to add full support for Scratch in the next few months, but we can add the basic colours etc. more quickly and you can use images for now instead of being able to add code.

Colours issue fixed. Hoping to get to actual block support in the next few months.


Disable correlation id header for a specific domain

Hi,
An iframe of a payment provider is trying to do an cross-domain request. When doing so it fails with the following error:
Failed to load https://checkoutshopper-test.adyen.com/checkoutshopper/services/PaymentInitiation/v1/initiate?token=pub.v2.821...: Request header field Request-Id is not allowed by Access-Control-Allow-Headers in preflight response.
Also seen in the Network tab:

This is happening within an Azure Web App.
to my understanding, Application Insights adds these request-id's. I am able to disable this on the backend following this blog: https://blog.wille-zone.de/post/disable-application-insights-correlation-id-headers-on-httpclient-requests-in-aspnet-core/
How do I do this in the front-end? Angular 5 application to be specific.

Figured I had to use `correlationHeaderExcludedDomains
instrumentationKey: '80b3fe90-7aef-4dce-90c6-0ee09ceb2eab',
                    cookieDomain: "mybabywatcher.com",
                    enableCorsCorrelation: true,
                    correlationHeaderExcludedDomains: [
                       '*.adyen.com'
                    ]

Figured I had to use `correlationHeaderExcludedDomains
instrumentationKey: '80b3fe90-7aef-4dce-90c6-0ee09ceb2eab',
                    cookieDomain: "mybabywatcher.com",
                    enableCorsCorrelation: true,
                    correlationHeaderExcludedDomains: [
                       '*.adyen.com'
                    ]

Thanks much.

Add a related issue today were the wild card alone didn't work. I had to add strictly type the urls in order for it work properly.
instrumentationKey: '80b3fe90-7aef-4dce-90c6-0ee09ceb2eab',
                    cookieDomain: "mybabywatcher.com",
                    enableCorsCorrelation: true,
                    correlationHeaderExcludedDomains: [
                       '*.adyen.com',
                        '*.adyen.com/core.js'
                        '*.adyen.com/service.js'
                        '*.adyen.com/ui.js'
                    ]


Add dockerfile and instructions

This adds a working dockerfile to the project and instructions on how to use it in the readme.
(This could also be used to generate a docker image that can be pushed to Dockerhub for people to use if the project team so desires)

 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.

@GCHQ77703 Just pinging to make sure this doesn't get forgotten about or fall too far down the list.

I would suggest adding a staged build for a leaner container.
Also building with dockerx and releasing for multiple architectures (amd64, arm64, etc.)
Would be a nice feature, required for Raspberry pi's, M1 Apple devices (Docker for mac doesn't support Rosetta 2 yet), etc.
An example within a Github actions pipeline
Publishing to Github container repository (ghcr.io) is very easy and can be done with only the Github token already available in the Github actions pipeline. (see example above)
For docker hub; credentials need to be manually added by a project admin.
I might do a PR on your repo if I have the time tonight, if that is even possible.

I would suggest adding a staged build for a leaner container.
Also building with dockerx and releasing for multiple architectures (amd64, arm64, etc.)
Would be a nice feature, required for Raspberry pi's, M1 Apple devices (Docker for mac doesn't support Rosetta 2 yet), etc.
An example within a Github actions pipeline
Publishing to Github container repository (ghcr.io) is very easy and can be done with only the Github token already available in the Github actions pipeline. (see example above)
For docker hub; credentials need to be manually added by a project admin.
I might do a PR on your repo if I have the time tonight, if that is even possible.

all that would be great to add. if they would come back around and merge this we could add on some of those features later. Iterate.

This would be really helpful for easier deployment in container environments (like CapRover for self-hosting).

🤷🏼♂ I don't know why they won’t merge it.
Dave York
412-944-9675
@.***

On Nov 27, 2021, at 10:17 AM, Nilesh @.***> wrote:

This would be really helpful for easier deployment in container environments (like CapRover for self-hosting).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

This doesn't build. I get this error:

CC: @d4v3y0rk

Supplanted by #1699

Docker images are now automatically built and provided here: https://github.com/gchq/CyberChef/pkgs/container/cyberchef


Update async-fsharp.md

Fixed the F# headers
Seems adding the space works @cartermp!
Fix #157
/cc @blackdwarf

@cartermp how can we close this one? Since you've fixed this issue already.


Not compatible with Spine 3.8.76

Version

Phaser Version: 3.20.1

Operating system: Win 7 x64

Description

Incompatible with Spine 3.8.76 animation json files. Throws parse errors on json animation files.
Whats wrong/change in new Spine json files(see in pics below):

No "time" properties anymore if it equal 0(default on start) value. Phaser parser "covert" it to NaN.
No "x", "y" properties in "scale" blocks if it equals default "1" value. Its has no problem on position where 0 is default. But Phaser parser set it for 0 in common position and scale parser.
Different structure for "skins" block.

Additional Information
I wrote a working solution with backward compatibility with old Spine format(no need to reconvert all of your older animations): SpineWebGLPlugin.zip
Screens

They broke this between 3.8.72 and 3.8.76 ?! Seriously?

BTW there is no "Phaser parser" - the json is parsed by the Esoteric Spine Runtimes. So, to fix this properly, the runtimes just need to be updated to 3.8.76 and the plugin re-built. Even so, it seems strange they broke the json format this much in a tiny point release. Is this the case @badlogic ? (where can I find a change log between point releases of the runtimes so I can see what else changed between these versions?)

Jupp, that's the case. We don't use semantic versioning. The major version
number is really only increased when there are huge editor side feature
additions (frequency=years). The minor version number is increased on every
new editor release (frequency=month). Exports from differing minor version
numbers are not guaranteed to be compatible, e.g. 3.7.x exports don't work
with the 3.8 runtimes. The patch version is increased everytime we do an
editor side bug fix release.
TL;DR: ignore the major version number, treat minor version numbers as
incompatible to each other, treat patch version numbers as non API/format
breaking (guaranteed).
We have a CHANGELOG.md file in the root of our runtimes repo, and our
release blog posts also discuss breaking changes extensively. I'm out and
about on mobile atm, so please excuse me not providing links.
On Fri, Nov 15, 2019, 20:30 Richard Davey<EMAIL_ADDRESS>wrote:

BTW there is no "Phaser parser" - the json is parsed by the Esoteric Spine
Runtimes. So, to fix this properly, the runtimes just need to be updated to
3.8.76 and the plugin re-built. Even so, it seems strange they broke the
json format this much in a tiny point release. Is this the case @badlogic
https://github.com/badlogic ? (where can I find a change log between
point releases of the runtimes so I can see what else changed between these
versions?)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/photonstorm/phaser/issues/4860?email_source=notifications&email_token=AAD5QBAEOP3HRK43EVRAHMLQT32HDA5CNFSM4JNTZ76KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEGPD5Q#issuecomment-554496502,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAD5QBDXNISKXKW4PVT74ODQT32HDANCNFSM4JNTZ76A
.

@badlogic thanks for clarifying - this makes sense. I think I'll just edit the Phaser docs to state exactly which version of the runtimes the plugin is currently using, and give instructions on how to update them should they want to use newer one. Also, have a look at this: https://github.com/photonstorm/phaser/blob/master/plugins/spine/src/SpinePlugin.js#L377-L397 it's something I have to do otherwise Spine batching breaks. May be worth making part of the official runtime?

I'm going to close this issue, as I've updated the Spine docs to state exactly what runtime Phaser is compatible with - if you want to use another version, you'll need to replace the runtimes and build the plugin. I'll do this when we release new builds of Phaser, but it will never be fully in sync with the official runtimes.


feat: update remark version

Description

Fixes # (issue)
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

:tada: This PR is included in version 1.2.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.1.31 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.3.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.0.76 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:

:tada: This PR is included in version 1.2.0 :tada:
The release is available on<EMAIL_ADDRESS>Your semantic-release bot :package::rocket:


NormalizedCollection constructor error

I am getting the following error:
Error    Error: Each argument to the NormalizedCollection constructor must be a valid Firebase reference or an Array containing a Firebase ref as the first argument i@http://<IP_ADDRESS>:8100/lib/firebase-util.min.js:9:6773 n@http://<IP_ADDRESS>:8100/lib/firebase-util.min.js:9:6478 http://<IP_ADDRESS>:8100/js/controllers.js:558:54 invoke@http://<IP_ADDRESS>:8100/lib/ionic/js/ionic.bundle.js:17762:22
Here is my data structure:
{
"login": {
"user1": "kato"
},
"profile": {
"user1": {
"first": "Kato",
"last": "Richardson"
}
}
}
And my code:
var fb = new Firebase("https://xxxxxx.firebaseio.com");
var norm = new Firebase.util.NormalizedCollection(
fb.child('login'),
fb.child('profile')
);
Any idea what am I doing wrong?

Hrm. That doesn't sound right. Can you create a minimal repro including steps and version info?

Getting exact same error using React:
import React, {
Component,
} from 'react';
import {
Linking,
Platform,
ActionSheetIOS,
Dimensions,
View,
Text,
Navigator,
} from 'react-native';
import ReactFireMixin from 'reactfire';
import Firebase from 'firebase';
import FirebaseUtil from 'firebase-util';


some bugfixes

Hello!
Sorry my bad English.
I've found some bugs and fixed it.

My apologies, just noticed this PR (I must've missed the notification when I was away on a road trip).  I'd love to add some of your changes back in now that I've added some major updates.  I'll take a look and see if I can copy a few function over in the next week.  Thanks for contributing!

Ok I've implemented almost all of your fixes, except for the class Ngn.  I like the idea of making the engine that manages node creation a class, but I'm not sure how to do it elegantly to allow the node visualizer to query for the state of links and nodes.  I'll keep working on it, but for now I'll close this PR since most of the fixes are in.


Unresponsive input & crash

From a Discord server message
I have encountered a gameplay bug. When I am controlling the car, after a while, the car starts moving on its own and does not respond to my input. Occasionally I will see a popup at the lower left corner that is telling me to choose à,á,â,ä,æ,a,ã,å or ā. I am on a mac. This is with python 3.8.8. When I use python 3.9, I get this:
Traceback (most recent call last):
File "v1.1 source/The Epic of Goat v1.1.0/main.py", line 47, in
main()
File "v1.1 source/The Epic of Goat v1.1.0/main.py", line 24, in main
window = arcade.Window(
TypeError: init() got an unexpected keyword argument 'style'

User tried to turn FULLSCREEN_WINDOWED = False in const/window.py but the error persisted.

From pyweek feedback
The controls were buggy and delayed and not always working on my laptop (MacOS), but otherwise it would have been given "above average" for production. Was there a way you could have spiced up the storytelling in the intro? The goat theme was funny

From PyWeek feedback
Cool! I really liked the graphics, they were super awesome: really cool concept with the man and his goat :) ... this should have been made for that pyweek where we almost voted in “goats goats goats!” as the theme! The sound of the magnum firing is extremely satisfying ... I had a few issues with the controls? The keys would keep sticking for me (both asdw and trigger on the mouse) which made the game a bit too hard to progress past the first couple of stages. Great work!

https://github.com/pyglet/pyglet/issues/171


v1.5.0 "cannot insert multiple commands into a prepared statement"

Describe the bug
When evaluating multiple insert statements in a deferred query, versions <= 1.4.4 would succeed, but >= 1.5.0 will fail with the message "cannot insert multiple commands into a prepared statement"
To Reproduce
Use postgres-nio version >= 1.5.0, and run the following on a test database:
try postgres.simpleQuery("""
CREATE TABLE test (
    user_id serial PRIMARY KEY,
    username VARCHAR ( 50 ) UNIQUE NOT NULL
);
""").wait()

try postgres.simpleQuery("""
SET CONSTRAINTS ALL DEFERRED;
INSERT INTO "test" ("user_id", "username") VALUES ('1', 'user1');
INSERT INTO "test" ("user_id", "username") VALUES ('2', 'user2');
INSERT INTO "test" ("user_id", "username") VALUES ('3', 'user3');
INSERT INTO "test" ("user_id", "username") VALUES ('4', 'user4');
INSERT INTO "test" ("user_id", "username") VALUES ('5', 'user5');
COMMIT;
""").wait()

Expected behavior
That it would complete successfully with the rows inserted into the table. This is the behavior in versions <= 1.4.4.
Environment

This was tested with postgres-kit v2.3.0, and varying versions of postgres-nio.

Vapor Framework version: N/A, this was observed with only postgres-nio and postgres-kit dependencies
Vapor Toolbox version: N/A, this was observed with only postgres-nio and postgres-kit dependencies
OS version: macOS Big Sur v11.2.1

Work on this has begun: https://github.com/vapor/postgres-nio/pull/146

Thanks @fabianfett! Let me know if I can help.

I also stumbled upon this error and added a procedure in the database to be called from my web app as a (at least preliminary) solution.

Hi, is there any update on this?


support for installing binary extension modules

lacking so far

see
https://github.com/sdispater/poetry/issues/1351#
https://github.com/sdispater/poetry/issues/1453#
https://github.com/sdispater/poetry/issues/11#
this relies on a (generated) setup.py which will eventually disappear...
this part of poetry is not ready yet.
let's instead go for local installation only, and just put a soft link in the current site-packages...

a soft link to the package directory does not work, apparently.
must copy directory structure and soft links to files
copying build files is not nice. os.walk cannot selectively recurse directories? found walkdir at PyPI, (https://walkdir.readthedocs.io/en/stable/) which can exclude directories and files.
This is a workaround - but at least it works and continuous reinstallation (make reinstall) is not necessary. The only issue is:

pip uninstall et_dot
Uninstalling et-dot-0.0.0:
Would remove:
/Users/etijskens/miniconda3/envs/micctest/lib/python3.7/site-packages/et_dot-0.0.0.dist-info/*
/Users/etijskens/miniconda3/envs/micctest/lib/python3.7/site-packages/et_dot/*
Would not remove (might be manually added):
/Users/etijskens/miniconda3/envs/micctest/lib/python3.7/site-packages/et_dot/bar.cpython-37m-darwin.so
/Users/etijskens/miniconda3/envs/micctest/lib/python3.7/site-packages/et_dot/foo.cpython-37m-darwin.so
Proceed (y/n)?

implemented as micc dev-install

The workaround fails for CLIs installs in bin

this issue is kept open because there is only a temporary workaround awaiting poetry taking over installation

Since we decided dropping poetry for the time being, we got to implement setup.py.
here is the work plan:

make sure pip install .and pip install -e . work
publish and make sure that pip install works from pypi
check what happens on windows and linux.

note that manifest.in has no effect on wheel.

After some experimenting I found that pip install . builds a wheel that simply includes the .so files and installs them.
Probably, poetry will do so too.
The absence of a post install hook in poetry could be alleviated by implementing a pre-run hook in micc: check that the templates are unpacked from the archive.
Is that enough to pull me back to poetry?
still no editable install for poetry. (but we have already a workaround for that).
Apparently, pip reads the setup.py and the pyproject.toml

now that micc-build is separated from micc, and binary extensions are always built locally, there is no need for publishing binary extensions. poetry 1.0.0b4 does very well now.


FFT amplitude vs magnitude

According to https://www.sjsu.edu/people/burford.furman/docs/me120/FFT_tutorial_NI.pdf

yet:
https://github.com/swharden/FftSharp/blob/a1208459dcef9a21da53cc4f30617980a4a4e62f/src/FftSharp/Transform.cs#L195-L200
Should that 2 be Math.Sqrt(2)?
Perhaps this FFTmagnitude() function should be marked obsolete, and the correction made in a new FFTamplitude() function
Tests against python/numpy to confirm exactness of output should be performed to verify any changes are accurate.

When calculating Magnitude the * 2 is right because we are accounting for identical values of the mirrored real and imaginary components.
What we are doing wrong is dividing the output by N. That step should be done when calculating Amplitude (not Magnitude), and probably merits a separate function.

I added new tests to confirm the output of this Python code is identical to the equivalent calls using FftSharp:
https://github.com/swharden/FftSharp/blob/bbe128964ba32f1c868f0dd35e56d2245691f9fe/dev/python/fft.py#L41-L50


Yet another library for slurm submission

https://github.com/facebookincubator/submitit

Very interesting! Let's keep it in mind, in case anything goes wrong with clusterfutures.
Side comment, from their README:
Non-goals

    a task queue, this only implements the ability to launch tasks, but does not schedule them in any way.

Yet another one: https://covalent.readthedocs.io/en/latest/api/executors/slurm.html. But note that this one doesn't seem to offer a standard Executor interface.


Compilation completed successfully, but no node configuration .mofs were generated

I have no idea what is even going on at this point. I have done everything to make this work but apparently nodename is not accepted. I am running version <IP_ADDRESS> of xFailOverCluster in Azure Automation and no matter what I do I get the error in the title.
$ConfigurationData = @{
    AllNodes = @(
        @{
            NodeName                    = '*'
            ClusterName                 = 'Cluster01'
            ClusterIPAddress            = '<IP_ADDRESS>/24'
        },

        # Node01 - First cluster node.
        @{
            # Replace with the name of the actual target node.
            NodeName = 'Contoso-SVR-000000'

            # This is used in the configuration to know which resource to compile.
            Role     = 'FirstServerNode'
        },

        # Node02 - Second cluster node
        @{
            # Replace with the name of the actual target node.
            NodeName = '*'

            # This is used in the configuration to know which resource to compile.
            Role     = 'AdditionalServerNode'
        }
    )
}

Configuration rdshNew
{

    param (

        #$NodeName = 'localhost',

        [Parameter(Mandatory = $true)]
        [ValidateNotNullorEmpty()]
        [System.Management.Automation.PSCredential]
        $Creds
    )

    $DomainName = 'Contoso.pri'

Import-DscResource -ModuleName PsDscResources
Import-DscResource -ModuleName ComputerManagementDSC
Import-DscResource -ModuleName xFailoverCluster
Import-DscResource -ModuleName xRemoteDesktopSessionHost

    Node $AllNodes.Where{$_.Role -eq 'FirstServerNode' }
    {
        WindowsFeature Remote-Desktop-Services
        {
            Ensure = "Present"
            Name = "Remote-Desktop-Services"
        }
        WindowsFeature RDS-RD-Server
        {
            Ensure = "Present"
            Name = "RDS-RD-Server"
            DependsOn = "[WindowsFeature]Remote-Desktop-Services"
        }
        WindowsFeature FC
        {
            Name = "Failover-Clustering"
            Ensure = "Present"
            DependsOn = "[WindowsFeature]RDS-RD-Server"
        }

        WindowsFeature AddRemoteServerAdministrationToolsClusteringCmdInterfaceFeature
        {
            Ensure    = 'Present'
            Name      = 'RSAT-Clustering-CmdInterface'
            DependsOn = '[WindowsFeature]FC'
        }

        WindowsFeature FCPS
        {
            Name = "RSAT-Clustering-PowerShell"
            Ensure = "Present"
            DependsOn = "[WindowsFeature]AddRemoteServerAdministrationToolsClusteringCmdInterfaceFeature"
        }

        WindowsFeature ADPS
        {
            Name = "RSAT-AD-PowerShell"
            Ensure = "Present"
            DependsOn = "[WindowsFeature]FCPS"
        }

        WindowsFeature FS
        {
            Name = "FS-FileServer"
            Ensure = "Present"
            DependsOn = "[WindowsFeature]ADPS"
        }

        Computer JoinDomain
        {
            Name       = $NodeName
            DomainName = $DomainName
            Credential = $Creds
            JoinOU = "OU=Servers,OU=TestGroup,DC=Contoso,DC=PRI"
            DependsOn = "[WindowsFeature]FS"
        }

        xCluster FailoverCluster
        {
            Name = $Node.ClusterName
            StaticIPAddress = $Node.ClusterIPAddress
            DomainAdministratorCredential = $Creds
            DependsOn = "[Computer]JoinDomain"
        }

        Node $AllNodes.Where{ $_.Role -eq 'AdditionalServerNode' -and $_.NodeName -ne 'Contoso-SVR-000000' }
        {
            WindowsFeature AddFailoverFeature
            {
                Ensure = 'Present'
                Name   = 'Failover-clustering'
            }

            WindowsFeature AddRemoteServerAdministrationToolsClusteringPowerShellFeature
            {
                Ensure    = 'Present'
                Name      = 'RSAT-Clustering-PowerShell'
                DependsOn = '[WindowsFeature]AddFailoverFeature'
            }

            WindowsFeature AddRemoteServerAdministrationToolsClusteringCmdInterfaceFeature
            {
                Ensure    = 'Present'
                Name      = 'RSAT-Clustering-CmdInterface'
                DependsOn = '[WindowsFeature]AddRemoteServerAdministrationToolsClusteringPowerShellFeature'
            }

            Computer JoinDomain
            {
                Name       = $NodeName
                DomainName = $DomainName
                Credential = $Creds
                JoinOU = "OU=Servers,OU=TestGroup,DC=Contoso,DC=PRI"
                DependsOn = "[WindowsFeature]AddRemoteServerAdministrationToolsClusteringCmdInterfaceFeature"
            }

            xWaitForCluster WaitForCluster
            {
                Name             = $Node.ClusterName
                RetryIntervalSec = 10
                RetryCount       = 60
                DependsOn        = '[WindowsFeature]JoinDomain'
            }

            xCluster JoinSecondNodeToCluster
            {
                Name                          = $Node.ClusterName
                StaticIPAddress               = $Node.ClusterIPAddress
                DomainAdministratorCredential = $ActiveDirectoryAdministratorCredential
                DependsOn                     = '[xWaitForCluster]WaitForCluster'
            }
        }
    }
}

Should it be Node $AllNodes.Where{$_.Role -eq 'FirstServerNode' }.NodeName? :thinking: I haven’t tested it as I don’t have access to a computer now.

I attempted it with that. It does not get that far it seems. No matter how I have that set up, I get this error as the node names are responding as $null apparently. I have no idea why.

You have two NodeName = ‘*’, if you remove one, is it still the same problem?  How do you execute the configuration “rdshnew”?

I fixed that nodename in my code, that was an oversight when i was reverting back to the first.
Right from Azure Automation DSC GUI. I can't get it to compile though without getting that error which tends to lead to $nodename being $null.

When using a configuration data block you need to user PowerShell to compile it in Azure Automation. Look at AzureRm cmdlet for compiling a configuration (don’t remember the actually name of the cmdlet now).

So I should remove it from the DSC file and run it separate against the compiled file "rdshNew"?

You should pass the $ConfigurationData in the parameter ConfigurationData. See
https://docs.microsoft.com/en-us/azure/automation/automation-dsc-compile

It does not matter. No matter what I do I am getting the same error. This is an issue with it not accepting a wildcard as NodeName it seems.

Even without any config data in the DSC file, I am getting the exact same error.

Ok after using an article I found how to get that error resolved. I am now running into this error

"The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: An exception was raised while processing Node 'Master': Defining node 'Additional' inside the current node 'Master' is not allowed since node definitions cannot be nested. Please move the definition for node 'Additional' to the top level of the configuration 'rdshNew'. At line:84 char:5 + Node"

Now I understand what this error means, however, as you can see in the code above, these are seperate Node calls, they are not nested. My config data looks as follows:

$Parameters = @{
    'Creds' = "Creds"
}

$ConfigData =
@{
    AllNodes =
    @(
        @{
            NodeName                    = '*'
            ClusterName                 = 'Cluster01'
            ClusterIPAddress            = '<IP>'
            PSDscAllowPlainTextPassword = $true
        },

        @{
            NodeName = "Master"
            Role     = "FirstServerNode"
        },

        @{
            NodeName = "Additional"
            Role     = "AdditionalServerNode"
        }
    )
}

Not sure why it believes this is nested when it is not at all.

Ah I see now in your initial code in the issue description that you had one node block nested. The line ‘Node $AllNodes.Where{ $.Role -eq 'AdditionalServerNode' -and $.NodeName -ne 'Contoso-SVR-000000' }’.
I did not look so far in the code to be honest. :/

I'm having exactly the same issue. @cdeli did you solve the problem by any chance?