Make generation of png data urls and fallback css optional

If you happen to be targeting ES5 compliant browsers you only need to generate the CSS that contains the svg data urls. It would be great to be able to optionally disable the output of the other 2 formats if you only want to target newer browsers.

@jefflembeck is this still an appropriate solution? I'd like to utilize Grunticon 2.0's SVG embedding ability, but I do not want to generate any of the PNG images or fallback CSS. This doesn't seem possible currently.

@dcalhoun so, we have an api for the loader fragment that leaves you with a potential option
If you use our grunticon loader code:
here is the embedding code  - https://github.com/filamentgroup/grunticon/blob/master/tasks/grunticon/static/grunticon.embed.js#L76
You'll see that it references grunticon twice in it: grunticon.method and grunticon.href. If you set those appropriately (to "svg" and whatever the url is for your svg data file) before you call grunticon.svgLoadedCallback, that should do the trick for you.

@dcalhoun I actually made a plugin to resolve my original issue. You can find it on npm: https://www.npmjs.com/package/grunt-svg-css

@jefflembeck if I'm following you correctly, then you are directing me to:

Generate the SVG data CSS using DirectoryEncoder or @psyrendust's grunt-svg-css
Include Grunticon's loader script
Load the single CSS file generated via a standard link tag
Call grunticon.ready directly

Example:
<script>/* [grunticon-loader] */</script>
<link href="/path/to/icons.data.svg.css" type="text/css" />

grunticon.method = "svg";
grunticon.href = "/path/to/icons.data.svg.css";
grunticon.ready(function() {
  grunticon.embedIcons(grunticon.getIcons(grunticon.getCSS(grunticon.href)));
});

This seems to work, but is a lot. Do you still feel this is a better solution than allowing an option to disable PNG/fallback generation/loading?

It's not a great solution, but it is a workaround that can use the tools that we've built. This ticket is not within the scope of the Grunt

Fair enough. Thank you for the help. Great job on the building the plugin.

@jefflembeck

This is closed because it would skirt the entire point of grunticon as a tool. DirectoryEncoder will handle this for you.

I don't think it will. I don't see a way to generate icons with various colors, for instance.
        grunticon: {
            lucidIcns: {
                files: [{
                    expand: true,
                    cwd: 'app/webroot/css/css-common/icns/min',
                    src: ['*.svg'],
                    dest: 'app/webroot/css/css-common/icns/dest',
                }],
                options: {
                    height: 72,
                    width: 72,
                    cssprefix: '.icn-',
                    template: 'app/webroot/css/css-common/icns/template.hbs',
                    datasvgcss: '_icns-data-svg.less',
                    colors: {
                        disabled: '#929292',
                        inverse: '#ffffff',
                        green: '#8DC63F',
                        blue: '#29aae1',
                        primaryGray: '#828282',
                        bluishGray: '#77818d',
                        gray: '#5a5a5a',
                        backgroundGray: '#ebebeb',
                        priorityRed: '#ed6058',
                        optionBarGray: '#444444',
                        alertYellow: '#ffaf46',
                        lightGray: '#a0a0a0',
                        mintGreen: '#92d1a6'
                    }
                }
            }
        },


Chrome inspector offline mode still sends messages

Using chrome's network tab and setting network throttling to offline doesn't stop messages from being sent and does not disconnect from the socket.

Just checked, looks like that's a bug with Chrome's devtools, it keeps the websocket alive and still sends messages up (but doesn't accept any incoming messages) There's an open bug here on the chromium tracker https://bugs.chromium.org/p/chromium/issues/detail?id=627188
Closing this since there's nothing we can do here, sorry!

This appears to be the bug being tracked https://bugs.chromium.org/p/chromium/issues/detail?id=423246


(Docs) Add blog post link to Fargate doc

What does this PR do?
Adds blog post to Fargate doc
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Changelog entries must be created for modifications to shipped code
[x] Add the qa/skip-qa label if the PR doesn't need to be tested during QA.

/merge


Initial PageSpeed performance vs .js and .css bundles

Concerned by the initial page load, I tried to put my app into testers like PageSpeed Insights. Though I understand I am not the best developer out there and can definitely review things, what surprises me is that my overall score gets mostly drained by

blocking script resources and blocking CSS resources
namely main.5b5f3790.js and main.61ae6290.css (c-r-a bundles generated by webpack)

Google recommends this :

You should avoid and minimize the use of blocking JavaScript, especially external scripts that must be fetched before they can be executed. Scripts that are necessary to render page content can be inlined to avoid extra network requests, however the inlined content needs to be small and must execute quickly to deliver good performance. Scripts that are not critical to initial render should be made asynchronous or deferred until after the first render. Please keep in mind that for this to improve your loading time, you must also optimize CSS delivery.

I understand that some part of the Javascript and Css could stay like this (due to framework nature of building the page based on javascript). However, a big chunk of the javascript does NOT participate to initial page load, rather they could be called separately or execute asynchronously.
In some related issue, I found several alusions to the require.ensure() function provided by webpack. My concern is that I am a newbie here and doesn't seem to oversee how to implement it in practice so that workflow stays equal.
After reading some docs, I found that basically, I should do something like:
require.ensure([], function(require) {
    var bootstrap = require("bootstrap");
    ...
});

Eventually, this pattern will split my Javascript into 2 separate bundles (tested, it works). However, this implies very poor old fashioned experience of javascript (callback hell?) because as I understand, I should but all my components within the callback of require.ensure()...
I love create-react-app as a developer, but I don't think my users will feel the same passion if I can't boost their experience and ask them to wait for AAAAAAAALLLLLLLLL my files to be downloaded.
So after hours searching and fighting my pagespeed score, I surrender myself to you guys:
how do you handle pagespeed issues and particularly blocking resources ? Do you use require.ensure()? In which context? How do you handle big .js and .css bundle?
Some examples would be more than appreciated.
Thanks

Google recommends this

This recommendation is only useful for apps that aren’t fully constructed in JS so we don’t follow it. It definitely makes sense if your app is partially server rendered, but this not the case for CRA.

Eventually, this pattern will split my Javascript into 2 separate bundles (tested, it works). However, this implies very poor old fashioned experience of javascript (callback hell?) because as I understand, I should but all my components within the callback of require.ensure()...

No, this is not the case. require.ensure() can be used anywhere (not just at top level) and you definitely don’t need to rewrite your components. For example it could look like this:
let TodoList = null;

class LazyTodoList extends Component {
  constructor(props) {
    super(props);
    this.state = { isReady: TodoList !== null };
  }

  componentDidMount() {
    require.ensure('./TodoList', () => {
      TodoList = require('./TodoList').default;
      if (!this.hasUnmounted) {
        this.setState({ isReady: true });
      }
    });
  }

  componentWillUnmount() {
    this.hasUnmounted = true;
  }

  render() {
    return this.state.isReady ?
Loading...
 : <TodoList />;
  }
}

This will load TodoList (and any components it depends on) lazily. You don’t need to do anything special in TodoList itself: Webpack will put all its dependencies into the separate bundle automatically even though they are written synchronously.
It is a bit awkward to use require.ensure because of its callback API and CommonJS legacy (see how we had to access .default). So in next version of react-scripts we will support the dynamic import() API proposal which offers the same functionality behind a Promise interface. It would look like this:
  componentDidMount() {
    import('./TodoList').then(TodoList => {
      if (!this.hasUnmounted) {
        this.setState({ isReady: true });
      }
    });
  }

This will be supported in<EMAIL_ADDRESS>Hope this helps!

Oh I see. Thank you very much for your devoted time on this.
Your example is for sure really usefull and self-explanatory.
In the meanwhile, this lecture also helped me: Medium - Page load performance with react (PWA)


ktlint --stdin takes too long

Expected Behavior
ktlint --stdin should be fast or provide a batch mode.
We are using ktlint --stdin to format in memory files when generating/regenerating an entire project.
With ktlint disabled a sample project takes ~45 seconds to generate, it increases to ~8m20s with ktlint formatting.

Current Behavior
ktlint --stdin takes more than 2 seconds to format each file.

Additional information

Current version of ktlint: 1.3.1

When I run Ktlint on a collection of project containing more than 5000 files/directories, it takes about 30 seconds.
If your project starts at a deeply nested folder structure than make sure that an .editorconfig file, containingroot = true element, exists in the root folder of the project.
Also using option --stdin is not the most efficient way to run Ktlint on multiple files.
I cannot provide further assistance without a reproducer.

When I run Ktlint on a collection of project containing more than 5000 files/directories, it takes about 30 seconds.

Yes, I understand that using in disk is quick, but we need to run in memory.
The project has 428 kt files:
kotlin % find . -type f -name "*\.kt" -print | wc -l
     428

Running ktlint in a single file takes ~2 seconds:
% cat src/main/kotlin/tech/jhipster/sample/config/SecurityConfiguration.kt | time .ktlint/1.3.1/ktlint --stdin -F > /dev/null
.ktlint/1.3.1/ktlint --stdin -F > /dev/null  2,26s user 0,13s system 121% cpu 1,958 total

Running ktlint in every file would take 856 seconds in series.
--stdin is needed because:

we generate the full application in memory
before committing to disk we compare with in disk files and ask if the user wants to override the file if it has changed.

You can see the java implementation in https://github.com/jhipster/generator-jhipster and kotlin implementation  in https://github.com/jhipster/jhipster-kotlin.
CI run using ktlint is in https://github.com/mshima/jhipster-kotlin/actions/runs/10078199400/job/27862760291?pr=7
Run cli.cjs generate-sample --skip-jhipster-dependencies --skip-install     8m 53s

Current main is in https://github.com/jhipster/jhipster-kotlin/actions/runs/10073101444/job/27846452712
Run cli.cjs generate-sample --skip-jhipster-dependencies --skip-install     39s

I don't know whether you can blame ktlint for the time it takes to process. When I run a command like below, it takes less then 300ms to complete (including debug logging):
ktlint-1.3.1 --stdin -F --log-level=debug < src/main/kotlin/Foo.kt

or
echo "class Foo(){}" | cat | ktlint-1.3.1 --stdin -F --log-level=debug

I know that when including the logging that it is included in the stdout and not useful in your case. But the interesting part is that it reports how much time ktlint used for processing. Maybe you can try a run including the logging and than analyse whether it is indeed ktlint which is slow.
17:54:50.753 [main] DEBUG com.pinterest.ktlint.cli.internal.KtlintCommandLine -- Finished processing in 176ms / 1 file(s) scanned / 3 error(s) found

Cold run results is quite different from hot run.
Cold run:
% echo 'class Foo' | time .ktlint/1.3.1/ktlint --stdin -F --log-level=debug | grep processing
15:22:06.978 [main] DEBUG com.pinterest.ktlint.rule.engine.internal.CodeFormatter -- Starting with processing file '<stdin>'
15:22:07.240 [main] DEBUG com.pinterest.ktlint.rule.engine.internal.CodeFormatter -- Finished with processing file '<stdin>'
15:22:07.240 [main] DEBUG com.pinterest.ktlint.cli.internal.KtlintCommandLine -- Finished processing in 313ms / 1 file(s) scanned / 0 error(s) found
.ktlint/1.3.1/ktlint --stdin -F --log-level=debug  0,81s user 0,09s system 64% cpu 1,388 total
grep processing  0,00s user 0,00s system 0% cpu 1,388 total

Hot run:
% echo 'class Foo' | time .ktlint/1.3.1/ktlint --stdin -F --log-level=debug | grep processing
15:22:15.480 [main] DEBUG com.pinterest.ktlint.rule.engine.internal.CodeFormatter -- Starting with processing file '<stdin>'
15:22:15.708 [main] DEBUG com.pinterest.ktlint.rule.engine.internal.CodeFormatter -- Finished with processing file '<stdin>'
15:22:15.708 [main] DEBUG com.pinterest.ktlint.cli.internal.KtlintCommandLine -- Finished processing in 272ms / 1 file(s) scanned / 0 error(s) found
.ktlint/1.3.1/ktlint --stdin -F --log-level=debug  0,80s user 0,07s system 95% cpu 0,911 total

By the way, my tests uses MacOS air/mini  with m1 processor.

Cold run results is quite different from hot run.

Do you mean the difference between 313ms and 272ms? I think that difference is way too small to conclude that ktlint is the bottleneck. The difference can also be caused by having files in an internal cache of the OS.

Cold run results is quite different from hot run.

Do you mean the difference between 313ms and 272ms? I think that difference is way too small to conclude that ktlint is the bottleneck. The difference can also be caused by having files in an internal cache of the OS.

1,388s and 0,911s, yes it's related to OS cache.
So 1,388s is the total time, 313ms is the processing time, so we have 1s for java bootstrapping and ktlint bootstrapping.
It's quite difficult to improve that.
Would be nice to have something like ($ is the delimiter):
echo 'Foo.kt$class Foo() {}$Bar.kt$class Bar() {}$' | ktlint --stdin -F --batch
Foo.kt$class Foo$Bar.kt$class Bar$

I understand the use case for your project. But for now, I have to say no to this. I see no value for this option for other use cases.


[Feature request]: Update patterns for better local LLM support (suggested fix)

What do you need?
After some experimentation, q8 llama3 and mistral run locally are performing much better after adjusting the prompt order.  I propose restructuring the patterns so that the "# INPUT" text comes before output instructions.  INPUT before OUTPUT INSTRUCTIONS is producing much more coherent responses.
As an example, let's look at extract_wisdom:
Proposed prompt order
INPUT
--put your YouTube transcript here--
IDENTITY and PURPOSE
STEPS
OUTPUT INSTRUCTIONS
OUTPUT
Current  prompt order
IDENTITY and PURPOSE
STEPS
OUTPUT INSTRUCTIONS
INPUT

Models tested:
llama3:8b-instruct-q8_0
mistral:7b-instruct-v0.2-q8_0

Have you tested these with OpenAI and Claude models? How does it perform?

I did some testing with gpt-4o and llama3:instruct.   The difference for GPT due to the re-ordering was fairly minimal.  In one instance, it was slightly better, in the other, slightly worse.  On llama3, I had a few tests that were markedly better, and then a couple where it didn't seem to make a difference.
These were a combination of my own patterns and the default ones, and this was all very "let's take a quick look".  I think it's worth exploring and would be up for some more testing, but I haven't thought of a good approach to this yet.  Maybe the OP has some ideas, or maybe there's a gamut of tests that are used for development?

I've created a prompt to create a cover letter with a certain resume given in the pattern and the job posting given as input.
The usual template
# IDENTITY and PURPOSE
# STEPS
# OUTPUT INSTRUCTIONS
# CV PROVIDED
# INPUT

worked  just fine with GPT4
However when testing on smaller local models ( gemma2:7b and llama3.1:8b) both were giving me an analysis of the job posting, with vague reference from the resume and were not following the instructions what so ever.
I've tested to manually prompt gemma2:7b and llama3.1:8b with the template as follow and it worked just fine, the instructions where followed.
I will provide below a CV in the section "CV PROVIDED" and the a job offer in the section "INPUT".
the instructions will be at the end.
# CV PROVIDED
# INPUT
# IDENTITY and PURPOSE
# STEPS
# OUTPUT INSTRUCTIONS

This leads me to two questions.

how can I see the prompt that is generated by fabric ? From testing it seems it's always at the end, and the "#INPUT" section doen't no to anything.
would it be interesting to be able to place the "input" anywhere on the template at the variable ?

I am currently working on bringing support for setting default model context length when calling Ollama through fabric.
I suspect that your proposal will not treat the disease but hide it and that the problem that you are trying to solve was already reported and closed without actually solving it.
In #743 and #662 users experience that the model forgets it's fabric pattern if the input is too long, and it's exactly what we should expect because the default context window used by Ollama is 2048 tokens (which is not even nearly enough for long youtube transcripts) even if the model supports 132k (because memory consumption grows exponentially and not all Ollama users have enough memory to run the model with it's MAX supported context window) and when an LLM running on Ollama runs out of it's context window set by Ollama it forgets things that came before, including the pattern that tells it what to do with all this.
What I think is that by reordering the prompt like in your proposal the model now forgets it's INPUT first and the pattern LAST so it now follows the pattern better but looses A LOT of information at the start of the youtube video transcript you are trying to use extract_wisdom on.
Unfortunately the only cure to this problem is giving the model more memory, and it's not even possible to set using fabric right now(you have to resort to what #662 did), but I already finished my PR #1088 that will allow sending num_ctx(context size) parameter to Ollama and as soon as it is merged and released people will be able to set the context window to the size that they can afford.


Frame layers

In the drag example I drew a line to represent the drag. However it stays. We probably want at some point to be able to draw over something in a non destructive way. In the present case, to have a line between the origin and the contact point only, without leaving a trace of the movement.
When we set a pixel in Frame, we could associate a layer to it, and then render only the top most pixel.

Hmm, interesting idea, this does seem like a really common thing I could imagine people wanting to do.

It would be interesting to offer "smart layers" that could also handle input out of the box like fps, mouse cursors,  exit buttons, keyboard launcher overlays.

brainstorm:
use conifer::prelude::*;
use conifer::layers::*;

struct MyLayer { ... }

impl Layer for MyLayer {
  fn run(screen:Screen,input_event:Event,delta_time:usize){
     ...
  }
}

fn main() -> Result<(), Box<dyn Error>> {
   let layers = Layers::build(vec![
      FPSLayer::new(),
      ExitLayer(Position::TopRight)::new() ,
      MyLayer::new()
   ]);
    Config::auto()?.run(layers.run);
    Ok(())
}

I rather had in mind something like:
struct Layer {
    pixels: Vec<Option<u8>>;
    // and maybe a callback to give the layer a special functionality, I think that is what you were going for
    f: Fn<Stuff>
}

pub struct Frame {
    ...
    layers: Vec<(Layer, Depth)>
    ...
}

Possibly also a Position if the layer doesn't have to be as big as the canvas, this could allow relative positioning but I think that's a question for later.

Since you have introduced blitting, how can we think about layers? First is it desirable? I see this as a notion of depth, you might want to manipulate objects thinking they are on the same plan, and keep this organization through iterations. But maybe that is not something for the display to know but rather something for the user's universe to worry about? e.g. if they want to keep a button somewhere to close the application, it is their job to keep it on top of everything else when they build the canvas?

It's a really great question. There's a part of me that feels blitting  is super powerful and could be even more optimized than my simplistic implementation. It could be a solution for most scenarios.
There's a part of me that likes the direction canvas is going, it's just a very efficient way to write to to the array of pixels that's going to eventually be written to the framebuffer.
There's a part of me that would like to build something non-trivial with what we have now, and see if we observe any patterns in what we have to do to make it possible.
I feel like if we to generalize  a Layers concept, we should keep it separate from Canvas.
let layers = Layers();
layers.push(NintendoControlsLayer::new());
layers.push(GameLayer::new());
run(|screen,event|{
    screen.draw_canvas(0,0,layers.flatten_to_canvas());
});

This way we don't force any particular rendering strategy on any one.


hack?

Signed-off-by: Kuat Yessenov<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: kyessenov
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS [kyessenov]

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-local-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-k8s-tests

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

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

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-k8s-tests

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

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

/test istio-unit-tests

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

Test name
Commit
Details
Rerun command

prow/istio-integ-local-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-local-tests

prow/istio-integ-k8s-tests.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test istio-integ-k8s-tests

prow/e2e-mixer-no_auth-mcp.sh
aa68d32d0d6f8fc658278b13590060beb240c3e3
link
/test e2e-mixer-no_auth-mcp

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


Graph Style Improvements

:tada: This PR is included in version 1.7.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


feat: CLN Pruned Invoices

Fixes: https://github.com/fedimint/fedimint/issues/278
Adds the ability for CLN to pay pruned invoices.
I kept the old implementation of paying the full BOLT11 invoice, since the new payment implementation is new and might not be as robust as the old implementation. Eventually once we are satisfied it is robust, we can remove the legacy payment implementation.

Yes you are correct, I will be addressing in a follow up.


chore: switch to Buf

Currently, we have to utilise the third_party directory to store all Protobuf dependencies.
With the help of Buf (and their Buf Schema Registry), we can remove these files and optimise our Protobuf environment.
As the Cosmos SDK doesn't publish their Protobuf files prior to v0.46.x, I've taken the liberty to publish our own under<EMAIL_ADDRESS>Additionally, to optimise the build environment, I've published a Docker image for easy use (ghcr.io/noble-assets/proto).

@johnletey, CI should run now after you pull in main.


Test: Removed CreateNewRuntimeHelper

Delete helpers.CreateNewRuntimeHelper because if it fails no assert
that provides the error message in the correct way.
With this change Cilium Runtime test will be executed as Kubernetes
test and will provide more context to users in case of fails
Signed-off-by: Eloy Coto<EMAIL_ADDRESS>

This change is

test-me-please

test-me-please

Will review once build passes, as the test panicked.

test-me-please

test-me-please

@ianvernon should be ok to review


Add support for ARM and ARM64

That way you can use Legacy Update on both ARM32 (Jailbroken Windows RT) and ARM64 (Windows 10/11) devices natively.

Kirb and I both will need ARM devices in order to port LU over. In the case of Arm32 at least, we will need to port NSIS over and make a custom toolchain for MinGW. It'll happen at some point, but it probably won't happen for a little while.
ARM64 would be a bit easier since we can get away with using a Raspberry Pi 4 (I have one of those), that's something we can probably look into. That's probably still going to be a NSIS port and a MinGW toolchain though since we're trying to get away from having to use Visual Studio for a variety of reasons, not the least of which (in my case) being that the tools necessary to target XP are deprecated in Visual Studio 2022.

Kirb and I both will need ARM devices in order to port LU over. In the case of Arm32 at least, we will need to port NSIS over and make a custom toolchain for MinGW. It'll happen at some point, but it probably won't happen for a little while.
ARM64 would be a bit easier since we can get away with using a Raspberry Pi 4 (I have one of those), that's something we can probably look into. That's probably still going to be a NSIS port and a MinGW toolchain though since we're trying to get away from having to use Visual Studio for a variety of reasons, not the least of which (in my case) being that the tools necessary to target XP are deprecated in Visual Studio 2022.

You could use Visual Studio 2017 which I believe supports both Windows XP and ARM64 (it definitely supports ARM32)

Also, ARM64 Windows support ARM32 apps just fine (at least before the latest Canary builds), although ARM32 Internet Explorer isn't included, which I guess is needed for Legacy Update.
However, you can use this fork of QEMU to emulate ARM32 Windows (both RT 8.1 and this leaked ARM32 Windows 10 build) which does have ARM32 Internet Explorer, although it is a bit slow.
And although I haven't tested this, it should also support KVM if you manually compile it for ARM64 Linux hosts (by default it is compiled for x86-64 Windows hosts) so that it works quite a bit faster. This however requires the host CPU to support ARM32 instructions (but it should work just fine with a Raspberry Pi 4)

Btw MiniGW already exists for both ARM32 and ARM64: https://xdaforums.com/t/mingw-w64-toolchain-to-recompile-apps-for-arm-in-a-ready-to-use-form.3775456/


Command blocks have everyone role applied

This should not be the default!

Resolved in https://github.com/Gegy/player-roles/commit/823752b021012cd367cf91b8583cdcebea394718


Feature: do something when succesfully build

Add option to run some command or tekton pipeline or webhook or something when a succesfully build a container image.
Useful to know when a build is succesfull

Seems useful, is there an ETA for it?


Format All files

We probably only need to do once, make sure you configure Save on Format + Clippy in VSCode.
Run make format and make fix

@timdegen maybe we can enable lint on CI


Detect the Travis host

Travis uses different hosts for the public service (travis-ci.org) and the commercial service (travis-ci.com). Accessing the wrong one causes no logs to be retrieved.

This code is currently deployed to production. @daveystruijk, could you see if your problem is solved and report here?

Hm, I created a new pull request at https://github.com/daveystruijk/contextproject-ms3/pull/2/files and it doesn't show any warnings. https://github.com/rmhartog/octopull/pull/4/files did previously show me a few warnings, but now shows nothing as well.

There seems to be another problem regarding private repositories that I will have to deal with seperately, but I have applied a fix that seems to be working for public repositories. @daveystruijk, could you retry by pushing some changes to your feature-test-octopull branch?

It's working. Awesome! :+1:

Awesome, thanks for your help! Let me know if you run into anything else, or even if you just have a question or suggestion ;)


Support for Keycloak 20.0.3

Make required changes to support dpeploying Keycloak 20.0* into ECS.
ℹ  This change will probably work with keycloak 18.* as well (requires changing base image in Dockerfile)

Uses JDBC_PING for distributed caching
Change caching communication port from 7600 -> 7800 for JDBC_PING
Dropped old wildfly standalone-ha.xml config
Update various environment variables for default admin user, database connection and more
Updates base Dockerfile image to quay.io/keycloak/keycloak:20.0.3 and follows Keycloak guidance on creating an optimized build with multistage Dockerfile

Reference threads that helped me:

https://keycloak.discourse.group/t/use-of-jdbc-ping-with-keycloak-17-quarkus-distro/13571/14
https://gist.github.com/xgp/768eea11f92806b9c83f95902f7f8f80

👆 although these all helped a lot, none captured the actual solution for ECS. So I think it made the most sense to capture that in this repo. Thanks for getting this started in the first place @deadlysyn !
Note that I was able to successfully run this in ECS, but do recommend some strict ALB ruiles if using in production.
fixes deadlysyn/terraform-keycloak-aws#4

@swarkentin sorry to let this languish so long, was distracted with a new job, then layoff, yaad yada like so many...
this looks great, thank you for taking the time to PR vs simply fork.  restores some of my faith in OSS (only half kidding).  agree on your comments wrt cleanup, a lot of it was based on old way of doing things so nice to remove the cruft.
merging and will cut a new version with attribution.  glad to see this turned out to be useful to folks, and can be into the future thanks to your contribution.  thanks again!


Refactor scheduling code structure

This PR refactors the previously messy structure of the scheduling code. Instead of mixing the different schedulers' code bases, the new version has the generic code for all schedulers in src/scheduling, the code relating to the flow-based scheduler in src/scheduling/flow, and the simple queue-based scheduler in src/scheduling/simple.
At the same time, this PR fixes issue #15, removing the circular dependency that led to unit test build failures.

This pull request is now managed with CodeReviewHub. Refresh.

Reviewed and approved in https://review.gerrithub.io/#/c/234885. :+1:


project.get_tasks() does not work as described in the docs

Project.get_uncompleted_tasks() --> returns all uncompleted tasks
Project.get_completed_tasks() --> returns all completed tasks
Project.get_tasks() --> returns all uncompleted tasks, but according to the docs it should return all tasks.

I also get this issue.
The v8 API doesn't seem to specify whether the items returned are all of them, or just the active ones. It seems to do it otherwise, you have to use the premium only endpoints, which is annoying.


issuse nexus 5

The nexus 5 when the extension seems not all of the lower area.
Workaround?
The same occurs when the soft inde softKey at the bottom

Sorry, I totally missed your feedback. I'm going to close this issue as I don't plan updates on this...


Changing error messages

Describe the bug
After starting n (1<= n <= 10) debug sessions, the reported errors change. Usually at this point in time, the Output-Pylance entry in the drop-down menu disappears
Steps to Reproduce
Open project - Errors reported:

Start debug sessions. After a couple of runs, error reporting will change:

(this has nothing to do with the current problems with flask, another project not using flask exhibits the same behavior)
The change in error reporting always happens, surprisingly this time the output-pylance entry did not disappear:

Notable difference is the line saying "no source files found"
Editing code yields new error messages but only on the new baseline. The initially reported errors are still there but do not get reported.

Expected behavior
Stable and reliable reporting of errors
Additional context and screenshots
I have not been able to force output-pylance to disappear, after some debug sessions it is gone.
Configuration information (If you are providing a diagnostics file (see below), skip this section)
`

Some more observations.
Step 1: I did run pyright from the command line which yielded numerous errors none of which were being reported when I did close the project in VS.
Step 2: Opening the project in VS yielded no errors although the one py file which got opened had an error reported in step 1.
Step 3: Opening other py-files with errors being reported in step 1 caused the very same errors to be reported for the newly opened files (but not for the one opened in step 1). Close files.
Step 4:  Starting some debug sessions until pylance-entry disappears from Output
Step 5: Re-Opening the files from step 3 or other files reported in step 1 does not cause any errors to be reported
The error reporting in VS is not in sync with pylance. Also, I did notice that VS only checks py-files opened in VS but not files never opened. Running pylance gives a full report of the project, VS error reporting does not and this is quite misleading if files are being edited by different users using different environments.

fwiw I forgot to mention as this happens really seldom. I just had an instance of a git commit removing pylance from the output drop-down


destroy aiven_account_team_member don't work

Hello we use terraform for manage user on aiven but when we destroy user still present in team
aiven_account_team_member.admin["user@email"]: Destroying... [id=a2d84283430c/at2df544fd4ab/user@email]
aiven_account_team_member.admin["user@email"]: Destruction complete after 0s

Apply complete! Resources: 0 added, 0 changed, 1 destroyed.

If i try to recreate the same after delete
aiven_account_team_member.admin["user@email"]: Creating...
Error: 400: {"errors":[{"message":"User is already member of the team","status":400}],"message":"User is already member of the team"} -

On UI i see that the user is still present after terraform say it was destroy
Thanks for your help
terraform 0.14.3
provider aiven 2.1.6

Hello @Jean-Mercier, can you please share more information regarding your TF plan? Since we cannot reproduce this by running examples/account code and removing/recreation a team member.

Closing this issue due to inactivity.


Vercel WASM deployment issues

I am using a @ffmpeg.wasm/main to concatenate the audio files before sending off for transcription.
It uses a .wasm file that when built, isn't being included in the vercel function.
I've tried the following code:
import { join } from 'path';
import { FFmpeg } from<EMAIL_ADDRESS>import core from<EMAIL_ADDRESS>import wasmPathAb from '@ffmpeg.wasm/core-mt/dist/core.wasm?url';

const wasmPath = join(process.cwd(), wasmPathAb);
const ffmpeg = await FFmpeg.create({
	core: core,
	coreOptions: {
		wasmPath: wasmPath
	},
});

And that successfully includes the file in the vercel output. but this error persists:
RuntimeError: Aborted(Error: ENOENT: no such file or directory, open '/var/task/_app/immutable/assets/core.5838ff71.wasm'). Build with -sASSERTIONS for more info.

The file is confirmed at that path (in the vercel output), but the function is unable to access it at runtime.
Not sure how to force it to include that file in the function. Any ideas?
Related:
https://github.com/sveltejs/kit/issues/10594
https://github.com/sveltejs/kit/pull/8441

Still struggling with this one. It seems vercel needs the assets to be statically analyzable. But even with this code:
const wasmPath = _dirname + '/../assets/core.wasm';

As an update, this seemesly has nothing to do with ESM/CJS or even the fact that it's a wasm file as I can't even get it to work with an SVG and the instructions here. I just need to know how do I get vercel to include a file in the built function?

serverless runs in random cloud machines,
so, why not try storing the file in public folder, and access it using absolute path url?

I tried that - same issue - vercel doesn't know to bundle it with the function. If I understand the issue, putting it in the public / assets folder makes it a vercel CDN asset, and its not available in the function environment.

I have the file being moved into the function now manually post-build. Kind of silly because it copies a 23mb wasm file into EVERY serverless function, but that seems to now make it available.
Thanks to:
https://twitter.com/dimfeld/status/1714684628802699436
code: https://github.com/dimfeld/website/blob/master/copy_content_to_build_destination.mjs

With a bit of extra work you can figure out the exact function you need, by looking at .vercel/output/config.json. Here's an excerpt of config.json from building my website repo above, and you can see the mapping from the src route to the dest function that ends up handling the route.
{
  "version": 3,
  "routes": [
                // Removed a bunch of other routes for brevity.
		{
			"src": "^/notes/([^/]+?)\\.og-image\\.png/?(?:/__data.json)?$",
			"dest": "/fn-0"
		},
		{
			"src": "^/plas/event/?(?:/__data.json)?$",
			"dest": "/fn-1"
		},
		{
			"src": "^/plas/script\\.js/?(?:/__data.json)?$",
			"dest": "/fn-1"
		},
		{
			"src": "^/repl/([^/]+?)\\.json/?(?:/__data.json)?$",
			"dest": "/fn-0"
		},
		{
			"src": "^/writing/([^/]+?)\\.og-image\\.png/?(?:/__data.json)?$",
			"dest": "/fn-0"
		}
  ]
}

Thanks again @dimfeld - your fix was the ticket!


stdenv.isBSD: reinit

Motivation for this change
This was removed in e29b0da9c7492732e0dc5730c3da754baa57a1a2, because
it was felt it was ambiguous whether isBSD should remove Darwin.
I think it should be reintroduced.  Packages sometimes have their own
concepts of "is BSD" e.g. Lua, and these almost never include Darwin,
so let's keep Darwin excluded.
Without a way to say "is this BSD", one has to list all flavours of
BSD seperately, even though fundamentally they're still extremely
similar.  I don't want to have to write the following!
stdenv.isFreeBSD || stdenv.isNetBSD || stdenv.isOpenBSD || stdenv.isDragonFlyBSD

Additionally, we've had stdenv.hostPlatform.isBSD this whole time, and
it hasn't hurt anything.
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

OpenSSL is another package targets generic "BSD", not including Darwin.


Fabric CA still relies on Fabric v1.4 source code

Can we please remove this dependency from the Fabric CA code in the later/latest releases:
https://github.com/hyperledger/fabric-ca/blob/main/go.mod#L17
Fabric v1.4 is deprecated.

Looks like it's tied in here: https://github.com/hyperledger/fabric-ca/blob/main/lib/tls/tls.go#L27-L28

Here is what fabric-ca uses from Fabric (from modules.txt):
# github.com/hyperledger/fabric v1.4.11
## explicit
github.com/hyperledger/fabric/bccsp
github.com/hyperledger/fabric/bccsp/factory
github.com/hyperledger/fabric/bccsp/pkcs11
github.com/hyperledger/fabric/bccsp/signer
github.com/hyperledger/fabric/bccsp/sw
github.com/hyperledger/fabric/bccsp/utils
github.com/hyperledger/fabric/common/flogging
github.com/hyperledger/fabric/common/flogging/fabenc
github.com/hyperledger/fabric/common/metrics
github.com/hyperledger/fabric/common/metrics/disabled
github.com/hyperledger/fabric/common/metrics/internal/namer
github.com/hyperledger/fabric/common/metrics/metricsfakes
github.com/hyperledger/fabric/common/metrics/prometheus
github.com/hyperledger/fabric/common/metrics/statsd
github.com/hyperledger/fabric/idemix

The largest use is bccsp (and children packages). Here's what is used from bccsp (not exhaustive but pretty close):
bccsp.BCCSP
bccsp.Key
bccsp.KeyGenOpts
bccsp.SHAOpts
bccsp.X509PublicKeyImportOpts
bccsp.ECDSAKeyGenOpts
bccsp.RSA2048KeyGenOpts
cspsigner.New(c.csp, key)
factory.GetDefault()
factory.FactoryOpts
factory.SwOpts
factory.FileKeystoreOpts{}
factory.GetBCCSPFromOpts(opts)
pkcs11.PKCS11Opts
utils.PEMtoPrivateKey(keyBuff, nil)
utils.PrivateKeyToDER(key)

It looks like the main BCCSP interface is the same between fabric release-1.4 and main branch which is good news. Things in factory and utils package have changed. I'd suggest to review fabric bccsp (and children) package refactoring that took place in 2020 and then make the corresponding changes in fabric-ca.  We could in theory extract bccsp from fabric and push the common code into fabric-lib-go since that was the initial intent of fabric-lib-go, but that is probably a larger refactoring that can be deferred in the first pass.

@benjsmi  All done! Thanks @celder628 !


feat(multi_object_tracker): reduce publish delay

Description
This PR suggests a new method to reduce latency about 100 ms.
Background:
Current multi_object_tracker publishes the tracked object triggered by a timer. This timer ensures the topic is published in target frequency. The delay is compensated by predict the tracked objects motion.
However, the input (merged objects from multiple detectors) frequency is unstable (see the following plots, name of input_latency_ms). The instability of the detection latency is absorbed by the multi_object_tracker and adds latency about one cycle (100 ms of TIER IV configuration).
The new method:
there is two triggers to publish the tracked object

on measurement : When the publishing frequency is in the target window, publish right after the process is done. The publishing object will be compensated the delay from the measurement to the publishing time.
on timer : When the input is late, publish tracked object with delay compensation.

Side effect:
The publishing frequency will not be kept precisely. (see the following plots, name of cycle_time_ms )
Related links
TIER IV INTERNAL
Tests performed
Current

Improved

Notes for reviewers
This PR will be merged after PR https://github.com/autowarefoundation/autoware.universe/pull/6706
This PR is an alternative work of PR https://github.com/autowarefoundation/autoware.universe/pull/6687
Interface changes
N/A
Effects on system behavior
It may reduces overall latency about one cycle of the perception (100 ms).
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

Now I get your idea.
The key value in your logic is constexpr double maximum_latency_ratio = 1.11;  // 11% margin.
This value represents how large this "time keeper" can endure input delay variance.
If this value is small as 1.11, the time keeper is more strict so that it can cause large delay when larger input latency variance comes.

If I choose larger value like 1.5, the time keeper would not bother process and then processing time can be stick to raw value. It has drawback that the worst delay becomes larger since time keeper is loose.

@YoshiRi
Your understand is right. If we increase the value maximum_latency_ratio, probability of prediction-without-update will reduced.
However, I do not know users can accept the long silent of 150 ms.
One another key tuning point is
const double minimum_publish_interval = publisher_period_ * 0.7;  // 70% of the period
If we allow to publish topics in a short time (lower the minimum_publish_interval), The publisher triggered by message will keep up the latest object.
I adjusted the value to 0.4 and the test result is as following.

The cyclic time is occasionally drops near to 40 ms, but the publish interval is kept within 116 ms in my environment.

This PR will be reviewed and merged after a bugfix of the MOT https://github.com/autowarefoundation/autoware.universe/pull/6775 is merged.


Support for intelliSense in requirejs projects

Basically title.
Is it possible to add it? Or is there any plugin that can do such thing?
Thanks.

Can you please provide a small example project and describe the problem you are running into currently?
Thanks

Of course, I set up a little project here: https://github.com/iFarmGolems/requirejs-intellisense-vscode
The thing is, when I am in testmodule and I invoke constructor function from my dependency, vscode will not predict properties on that object.
I may be missing something, but I think that intellisense can not work without pointing it to my config file with respective paths.

Thanks for the example project. I confirmed that it does not work as expected and was unable to create a configuration that allows for better intellisense in this project type.
We use the TypeScript server for JavaScript language features and support for AMD modules is being tracked upstream: https://github.com/Microsoft/TypeScript/issues/6942
Closing as upstream

I would definitely love to have to this feature. I think there are several legacy codebases out there which would benefit from this feature.
One way to resolve the dependencies can be to have the vscode lookup a requires config file (this can be configurable per project).


Add preliminary EyefulTower dataset support

Summary
This PR adds preliminary support for the EyefulTower dataset. Specifically, the following main functionality:

Ability to download part or all of the dataset via the ns-download-data script, with selectable dataset (of 11) and resolution (of 4).
Automatic generation of nerfstudio-compatible transforms.json upon download, allowing each dataset to be loaded into memory

Usage
You can download a single EyefulTower dataset and resolution with basic download command. This will grab the riverview scene at 2k JPEG resolution.
$ ns-download-data eyefultower

You can use the flags to download more of the dataset, or just download it all.
$ ns-download-data eyefultower --capture-name apartment # Download the apartment scene with the default 2k JPEG resolution
$ ns-download-data eyefultower --capture-name riverview table kitchen --resolution-name jpeg_2k exr_2k # Download multiple datasets and resolutions at the same time
$ ns-download-data eyefultower --resolution-name all --capture-name all # Download everything

Data is downloaded using the aws s3 sync command as suggested in the EyefulTower documentation, which means redundant data will not be redownloaded. This makes it easy to start small with the dataset (e.g. running only ns-download-data eyefultower) and eventually working your way through the commands until you've downloaded everything.
Training
I've tested training on 3 scenes (riverview, office_view2, office1b), all using this command and parameters with the dataset swapped out:
ns-train nerfacto --data .\data\eyefultower\{dataset}\images-jpeg-2k\ \
    --pipeline.model.max-res 19912 \
    --pipeline.model.log2-hashmap-size 22 \
    --pipeline.model.far-plane 100 \
    --pipeline.datamanager.train-num-rays-per-batch 12800 \
    --max-num-iterations 100000 \
    --steps-per-eval-all-images 100000

All 3 datasets seemed to finish training and offer good results. See results section below.
Comments / questions / future work
Metashape: Originally, I tried using the ns-process-data script to convert from the cameras.xml files provided with Eyeful into something that nerfstudio understands. This doesn't work as-is though, since the Eyeful datasets use rig constraints, which the metashape processing in process_data.py doesn't understand. I made some progress towards implementing this and generated updated cameras.xml files for each of the downscaled datasets (which the original EyefulTower doesn't provide), but hit an issue when generating the transforms (since the exact tree isn't documented by metashape), and decided to just convert the existing cameras.json like I did. Adding support for rigs would be a great future addition.
EXR: I've generated the transforms.json file for the EXR images, but I haven't tried using them with any of the nerfstudio pipelines as I don't believe there's currently HDR training support. Assuming that's correct, I'm hoping that offering this dataset integration is a good first step towards adding HDR support in nerfstudio.
Fisheye: 5 of the 11 datasets from EyefulTower are taken with the V1 rig, which uses fisheye cameras. I've marked them as OPENCV_FISHEYE in the transforms.json, but I haven't tested those datasets as I'm not sure how good the fisheye support is. I see that some support was just merged in this PR a few hours ago. Perhaps fisheye support for EyefulTower can be a future PR?
Larger datasets: 6 of the 11 datasets from EyefulTower are taken with the V2 rig, and should in theory work fine with this code on a sufficiently powerful machine. On my workstation, though, I ran out of RAM when trying to load one of the larger scenes (apartment), so I stuck to the 3 smaller V2 scenes (riverview, office_view2, office1b). I believe the default dataloader tries to load the entire dataset into memory at once. Are there other dataloaders that can load the data in batches, rather than loading it all at once?
Automatic downscaling: The ns-process script automatically generates downsampled images. The method I took, directly generating the transforms.json, does not do that. This seems to work fine, at least for the smaller scenes as described above. I'm not sure exactly where the downsampled images are used, but I did notice that there's a line in the training output which says:
Auto image downscale factor of 1                                                 nerfstudio_dataparser.py:349

Does this indicate that there's automatic downscaling that could be applied at runtime, to perhaps scale down the larger datasets (e.g. apartment) into something smaller, e.g. 1k or 512, such that the entire (downscaled) dataset could fit into memory? This question assumes there's no batched dataloader we could use instead.
Splits: The EyefulTower dataset provides a splits.json file indicating how data should be partitioned into a train and test split.  Currently, I don't use this file, as I'm not sure what format nerfstudio expects the splits in, or if there's support at all. If someone could point me in the right direction, I can try to add support. Right now, all the cameras, both train and test, are dumped into the transforms.json.
Subsampled data: In a similar vein to the splits file, as a way to try to reduce the amount of data that's loaded, I also generate a transforms_300.json and transforms_half.json, which (as you might've guessed) contain 300 images and half the dataset, respectively. I couldn't find a flag that would let me use these transforms_*.json files rather than the original transforms.json file in the generated datasets, but I'd love to know if one exists.
Results

Also - I developed this on Windows. I had to add the change to disable pycolmap in order to run pip install -e .[dev] on Windows, but that doesn't seem to have broken any functionality as it was already disabled in the base environment.
I still wasn't able to run ns-dev-test though, as it seems to require running a shell script (.sh) which doesn't work in Windows.
(nerfstudio12) PS C:\Users\vasuagrawal\Documents\nerfstudio> ns-dev-test
Skipping actions/checkout@v3
Skipping Set up Python 3.8.13
Skipping actions/cache@v2
Skipping Install dependencies

───────────────────────────── Running: ./nerfstudio/scripts/licensing/license_headers.sh ; ─────────────────────────────
'.' is not recognized as an internal or external command,
operable program or batch file.
Error: `./nerfstudio/scripts/licensing/license_headers.sh ;` failed.
(nerfstudio12) PS C:\Users\vasuagrawal\Documents\nerfstudio>

@VasuAgrawal re: splits I think this is what you want: https://github.com/nerfstudio-project/nerfstudio/blob/main/nerfstudio/data/dataparsers/nerfstudio_dataparser.py#L211
IMO it would be nice if the nerfstudio dataparser used provided dataset-provided splits by default before falling back to "fraction." Happy to make a PR if there are no objections.

IMO it would be nice if the nerfstudio dataparser used provided dataset-provided splits by default before falling back to "fraction." Happy to make a PR if there are no objections.

This seems like a good idea to me!

Agreed with using the filename split as well. :) I think we can also include a default method with default command line arguments, maybe with a method name "nerfacto-eyeful-tower"? I also think it would be cleaner if we move most of the code from "download_data.py" to a new file and the necessarily parts to connect it to the CLI. Good work, excited to get this merged!

Turns out someone already thought of adding split support: https://github.com/nerfstudio-project/nerfstudio/blob/main/nerfstudio/data/dataparsers/nerfstudio_dataparser.py#L195 - my bad!

Updates
Thanks for the help so far everyone! A couple updates:

I've added support for the official EyefulTower splits, using the train split as train here (naturally), and the test set as val here. I haven't added a separate test (it's not clear what to use exactly), but that doesn't seem to be preventing training.  This is a known issue (per Pierre Moulon, one of the authors), and is due to one of the dependencies not supporting Windows. For the time being, I've just disabled the dependency on Windows, so that the pip install -e .[dev] command still works. I also cleaned up the format since the authors mentioned that [all] wasn't required, and that it should be projectaria-tools, not projectaria_tools (though the latter also seems to work?).
It turns out that I can pass in the direct path to a *.json file for the --data argument, rather than relying transforms.json being implicitly found, thanks to this handy block of code. This means we can now pass in any of the following for --data. The last two options are useful for testing with smaller datasets, either to help with iteration speed, or just due to memory constraints (until we can start using a batched dataloader).

--data .\data\eyefultower\riverview\images-jpeg-2k
--data .\data\eyefultower\riverview\images-jpeg-2k\transforms.json
--data .\data\eyefultower\riverview\images-jpeg-2k\transforms_300.json
--data .\data\eyefultower\riverview\images-jpeg-2k\transforms_half.json

I tested the apartment scene (one of the largest) with 2K resolution and all the images. This took a while to load (10+ minutes? I left it unattended after a while ...), and ended up taking ~130 GB RAM and ~12 GB VRAM to train, but did successfully train for a while (hours) before I killed it. While my workstation has the capacity for this, I don't think most people's do, so I'm chatting with Christian (another author) to see if we can generate a 1K resolution dataset for EyefulTower as well, to help with iteration on lower-end machines. As-is though, assuming linear scaling of the memory requirements, we should be able to go up to 4K training on a DGX A100 machine (80 GB VRAM, ~48 GB required, and 2 TB RAM, ~520 GB required), but won't be able to get to 8K naively (~192 GB VRAM required, ~2080 GB RAM required).
I also got TensorBoard working, which is nice:

awscli issues docs environment issue
Unfortunately, I've also discovered a small issue due to the new awscli dependency. Specifically, when trying to install the documentation environment with pip install -e .[docs] on Windows, there's now an irresolvable version mismatch between awscli and sphinx:
(nerfstudio12) PS C:\Users\vasuagrawal\Documents\nerfstudio> pip install -e .[docs]

...

ERROR: Cannot install None and awscli==1.31.10 because these package versions have conflicting dependencies.

The conflict is caused by:
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.31.10 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.16 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.15 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.14 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.13 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.12 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.11 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.10 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.9 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.8 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.7 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.6 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.5 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.4 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.3 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.2 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.1 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.32.0 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.31.13 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.31.12 depends on colorama<0.4.5 and >=0.2.5
    ipython 8.6.0 depends on colorama; sys_platform == "win32"
    sphinx 5.2.1 depends on colorama>=0.4.5; sys_platform == "win32"
    awscli 1.31.11 depends on colorama<0.4.5 and >=0.2.5

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

Fortunately(?) I think this will only be an issue on Windows, as sphinx only uses colorama on Windows. If documentation isn't being built on Windows, maybe this is okay?
I've looked at a few other solutions, but none are fantastic:

Switch to the unofficial awscliv2 package, which doesn't seem to have a colorama dependency. There's intentionally no official V2 package from AWS, so we're stuck with an unofficial one. Unfortunately, this package also hasn't been updated since 2022.
Build awscliv2 from source, which would resolve the colorama dependency version issue (as the maximum version has been bumped to 0.4.7 for V2), but this means every developer now needs a C++ toolchain (among other dependencies), which is ... not fun.
Try to get AWS to bump the colorama maximum version on awscliv1, but this seems unlikely to happen given the various open issues like this one. Attention seems entirely focused on V2 now.
Try to get Sphinx to lower the the minimum required version of colorama. No specific rationale for the version bump was given in the upgrade commit, so maybe this is the most workable option?

I'd love to know what everyone else thinks!

I'll take a crack at splitting the updates into a separate file, and adding some documentation. I'm not sure about the dedicated command yet (i.e. ns-train nerfacto-eyeful-tower instead of ns-train nerfacto) since I think that sets a dangerous precedent for combinatorial explosion with Method X Dataset, but I agree that'd aid discoverability.

Per @ethanweber 's recommendation, I added a new method to method_configs.py with a copy of the nerfacto method, with a few updated settings as I've been pasting above.

Hey @VasuAgrawal, one thing we could do is make a super small addition to your other repo https://github.com/facebookresearch/EyefulTower, which would hook the custom nerfacto config as a method. If this is interesting to you, let me know. It would avoid the dangerous precedent with "Method X Dataset" as you said.
I think it would involve having two additional files like this...
eyefultower/nerfstudio_config.py
pyproject.toml

Some more updates:

As suggested by @ethanweber , I've split the EyefulTower download into a separate file. This also required separating out the DatasetDownload class into a separate file to avoid a circular import.
It turns out there's already some support for fisheye images in NerfStudio, with fisheye sampling added in this method in the recent PR adding support for Aria data. Use of this method is gated by the fisheye_crop_radius flag, e.g.:

ns-train nerfacto-eyeful-tower --data .\data\eyefultower\table\images-jpeg-2k\ --pipeline.datamanager.pixel-sampler.fisheye-crop-radius 0.4

However, I didn't want users to have to manually check which datasets were fisheye and which ones weren't, and what an appropriate fisheye-crop-radius setting was for each dataset. I instead added this to the transforms.json, and updated a little bit of the plumbing to allow the setting to propagate all the way forward. I'm not super happy with this solution since it doesn't show up in the config output in the command line, and requires updating the _broadcast_dict_fields methods to not overwrite metadata, whose implications I don't understand.
            pixel_sampler=PixelSamplerConfig(
                _target=<class 'nerfstudio.data.pixel_samplers.PixelSampler'>,
                num_rays_per_batch=4096,
                keep_full_image=False,
                is_equirectangular=False,
                fisheye_crop_radius=None
            ),

This is roughly the extent of the fisheye support I want to add in this PR, and it may be too much already due to the aforementioned concerns. There's a few other things that would be really nice to have, e.g. specifying crop radius by degrees instead of pixels (to transparently handle different zooms), allowing for per-camera/per-frame radii, ensuring the sampling doesn't potentially produce out of bounds indices (with a sufficiently large radius, or rectangular image like those in Eyeful, I think this happens right now, but I think they just become redundant values and change the sampling to be non-uniform?). These things can be added in future PRs :).

I'm not sure why my VSCode wants to nuke the formatting on all the imports. I'll fix that.

Here's a couple fisheye results, on seating_area and table. Things generally seem to train.

TensorBoard output also works with fisheye images, but I think there's some bugs in the pipeline somewhere as the renderings around the periphery don't look anywhere as good as those near the center. Not sure what's causing this right now. Also not sure how significant of a problem this is as the visualization the viewer seems to be okay?

I think I've addressed all the feedback. The other PRs will probably be in tomorrow-ish. Please take another look when you can and let me know if you'd like any additional changes.

I tried it on my end, and I was able to download and train both a perspective and fisheye dataset. Once you merge main and fix the merge conflict and change glob to glob_str, it should be ready @VasuAgrawal.

I made these changes here https://github.com/nerfstudio-project/nerfstudio/tree/convert-cameras-json, but I didn't know how to push to your fork...

Thanks @ethanweber ! I just pulled your changes into my fork and pushed.
I made a separate fork and did the pull request though there since I didn't think I had write access directly to the Nerfstudio code, but if I do and you'd prefer I do any future commits directly as a nerfstudio branch for easier collaboration, I'm happy to do that.

Just for fun, I did confirm that the default EyefulTower scene trains with nerfacto, nerfacto-big, and nerfacto-huge and produces reasonable results. There's definitely loads of room for improvement, but it's good enough that I'm not going to worry about updating the EyefulTower repo with a specific recommended config for now.
30K iterations nerfacto:

~45K iterations nerfacto-big (killed early):

~30K iterations nerfacto-huge (killed early):

Hi @VasuAgrawal, can you change one last thing? If you can remove this comment that would be good. Someone must have beat us to making this update.

Using a fork worked just fine! Thanks for merging my changes.

Here's a couple fisheye results, on seating_area and table. Things generally seem to train.

TensorBoard output also works with fisheye images, but I think there's some bugs in the pipeline somewhere as the renderings around the periphery don't look anywhere as good as those near the center. Not sure what's causing this right now. Also not sure how significant of a problem this is as the visualization the viewer seems to be okay?

Hi! What's the command to reproduce this result? I tested with default nerfacto but the result looks bad.


clarify or remove graphical client "spacewar"

According to spacewar's readme, this graphical client "mostly doesn't work". First, it's a bit odd to include a half-made project with tested GUIs like Castor and Lagrange. It feels misleading. Second, awesome-lists tend to curate the best projects out there.
Ideas

Remove this entry
Clarify that this project is an example project, and not a full-blown solution
Move it to a subsection specifically examples, samples, works-in-progress, etc.

See 102f103cc8fb1567d0814a8b8892f4108ed01aca

@binyamin Thanks for your hints.
I clarified that the spacewar client is experimental and unstable.
But I think that even those entries are important for the list and the gemini community.
Someone could learn from the code or improve it even further. So my goal is to collect as many code repos and software, even if they are not fully functional. But I will try to mark those along the growth of the list.
Thanks! 😊

@kr1sp1n That makes a lot of sense. I had actually been building one myself, called Gemium (https://github.com/gemium/gemium). It's a WIP. I don't want to open a PR because it's my own project. Feel free to add it.


allow user to force trust_remote_code=true via from_pretrained kwargs

Description
A simple code change that allows you to force TL to use trust_remote_code=True in its configuration. This is particularly useful when you need to use an unreferenced model with a supported architecture that requires it (e.g., m-a-p/CT-LLM-Base).
Type of change

[x] New feature (non-breaking change which adds functionality)

Thanks!


running headers and footers per "region"

I'm trying to use asciidoctor-pdf to make a book.
Most books can be viewed as having 7 regions:

Pre-contents forematter, e.g., title page, blank page, title/subtitle/author page, copyright page, dedication page [forematter]
Table of contents page(s) [toc]
Optional preface and/or introduction [prechapters]
Chapters [chapters]
Optional appendix(es) [appendixes]
Optional index(es) [indexes]
Optional colophon [endmatter]

Ideally the running headers and footers should be able to be specified per region, i.e.,
footer-prechapters: ...
footer-chapters: ...

etc.

This is way beyond the scope of what this converter is designed to do. The logic for the running heading and footer is already complicated enough, and this would make it so tremendously complicated that it would simply be unmaintainable.

This is way beyond the scope of what this converter is designed to do. The logic for the running heading and footer is already complicated enough, and this would make it so tremendously complicated that it would simply be unmaintainable.


13903 keep import when visualization fails

Fixes https://github.com/CartoDB/cartodb/issues/13903

Acceptance 🍏


Compile ES6/ES2015 version

Would be great to compile a ES6 version of the library for use in a project.
Which should allow for tree-shaking.
Should this be defined in the rollup.config.js?
Rollup reference
How to Build and Publish ES6 Modules Today, with Babel and Rollup
I've  done this as a npm script in the package.json using babel cli before.
"build:commonjs": "BABEL_ENV=commonjs babel src --out-dir lib",
"build:es": "BABEL_ENV=es babel src --out-dir es",

Then in either a .babelrc config file or the package.json you define the env
{
  "presets": [
    "latest", {
      "es2015": {
        "modules": false
      }
    }
  ],
  "env": {
    "commonjs": {
      "plugins": [
        [
          "transform-es2015-modules-commonjs",
          {
            "loose": true
          }
        ]
      ]
    },
    "es": {
      "plugins": [
        "./build/use-lodash-es"
      ]
    }
  }
}

Hey @andykenward it looks like it's a case of setting the format as es6 instead of umd in rollup.config.js: https://github.com/Stinkdigital/sono/blob/master/rollup.config.js#L11. We could pass in another process.env value for that.
I also think we need to look at moving the effects and waveform utils into separate modules to make the tree shaking work effectively.


Mapping to openssl implementations

How exactly does this table hashtable.csv map to the implementation in openssl, as used by say node:
https://stackoverflow.com/questions/14168703/crypto-algorithm-list
[ 'DSA',
  'DSA-SHA',
  'DSA-SHA1',
  'DSA-SHA1-old',
  'RSA-MD4',
  'RSA-MD5',
  'RSA-MDC2',
  'RSA-RIPEMD160',
  'RSA-SHA',
  'RSA-SHA1',
  'RSA-SHA1-2',
  'RSA-SHA224',
  'RSA-SHA256',
  'RSA-SHA384',
  'RSA-SHA512',
  'dsaEncryption',
  'dsaWithSHA',
  'dsaWithSHA1',
  'dss1',
  'ecdsa-with-SHA1',
  'md4',
  'md4WithRSAEncryption',
  'md5',
  'md5WithRSAEncryption',
  'mdc2',
  'mdc2WithRSA',
  'ripemd',
  'ripemd160',
  'ripemd160WithRSA',
  'rmd160',
  'sha',
  'sha1',
  'sha1WithRSAEncryption',
  'sha224',
  'sha224WithRSAEncryption',
  'sha256',
  'sha256WithRSAEncryption',
  'sha384',
  'sha384WithRSAEncryption',
  'sha512',
  'sha512WithRSAEncryption',
  'shaWithRSAEncryption',
  'ssl2-md5',
  'ssl3-md5',
  'ssl3-sha1',
  'whirlpool' ]

I'm not sure which hash function would give a correct hash to label it sha2-256 for instance,
is it RSA-SHA256 sha256 ? etc...
Could you provide any guidance on this?
thnx :-)

Basically, what you see in the hashtable defined by multihash are hash functions which we have already given function codes. We mention in the README that there are other tables, too, which exist; your list looks like another possible table we could link. Specifically, it is returning names for hash algorithms as defined by crypto, which contains openssl as a dep. However, more specifically, it also includes functions which are not strictly hashing functions, but hashing and signing - really, a list of suites. For example, sha1WithRSAEncryption (how that is different from RSA-SHA1, I don't know). Multiformats is only for hashing functions, so we won't support those at the moment, although there may be a future multi-* which will.
You'll have to look closer and figure out which hashing algorithm you are using specifically, and see if it is in the multihash table, and it if isn't, feel free to PR with a new function code.

It's a bit subtle indeed.
Do you happen to know of a correct mapping between a multihash function code and some (secure) hash function I can use from node? For instance the hash function that IPFS uses in it's JS implementation? If not I'd proceed scouring through it's source or I'll dive into some docs to figure out which name maps where.
Thanks for your (joint) efforts!

BTW. Since the hash functions are deterministic, it would be very easy to compute a few hash values for each function and make them part of the multihash specification: require their implementations to compute the same result for some given numbers/bytes.
Pick a few random numbers and you are near certain if hash function matches the code or not. (Unless I'm missing some more subtle things about hash functions)

multihash function code
algorithm name
x0
x1
x2
x3

0x0a
foo
foo(x0)
foo(x1)
...

0x12
bar
bar(x0)
...

You should even be able to detect which code should be used for a given function fully automatically, without requiring an explicit mapping. You can probably find some minimum set of colums needed to add to the specification to detect all listed hash functions without collision.
In other words, I rather take such a table and write a program that computes and verifies my wanted mapping between multihash and OpenSSL.

Do you happen to know of a correct mapping between a multihash function code and some (secure) hash function I can use from node? For instance the hash function that IPFS uses in it's JS implementation?

I personally don't. @diasdavid might have a better idea of what is used.
You're right, I believe, that it should be easy to add some hash values to verify that you are using the right function. I think this is a good idea, but it's a bit beyond the scope of this issue; perhaps open that idea in another one?


[Edge] migrate nnstreamer-edge @open sesame 06/27 20:04

Migrate nnstreamer-edge library from nnstreamer repo.
Signed-off-by: Jaeyun<EMAIL_ADDRESS>

:octocat: cibot: @jaeyun-jung, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nnstreamer-edge/ci/repo-workers/pr-checker/8-202206272004320.79317307472229-6ecf280ba09166d2e33a15a30e6ae23db5fc8007/.

:octocat: cibot: @jaeyun-jung, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nnstreamer-edge/ci/repo-workers/pr-checker/8-202206272024280.90387511253357-a5a53f22b9a5ebb1cbbd5c974ae2117b0f21ce73/.

:octocat: cibot: @jaeyun-jung, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nnstreamer-edge/ci/repo-workers/pr-checker/8-202206272054420.79806208610535-bc3ea7a6eb7e85dab95e1033210751c0d57dac16/.

INFO: You can read if there are misspelled characters at our misspelling check report. Please read http://ci.nnstreamer.ai/nnstreamer-edge/ci/repo-workers/pr-checker/8-202206301506440.96758699417114-7e65e131d37c09994442a7e629db60364cd86c90/report/misspelling_result.txt.

INFO: You can read if there are misspelled characters at our misspelling check report. Please read http://ci.nnstreamer.ai/nnstreamer-edge/ci/repo-workers/pr-checker/8-202206301830260.2071681022644-70855987ce00cc1221522d7837866011f3c4fb8d/report/misspelling_result.txt.

INFO: You can read if there are misspelled characters at our misspelling check report. Please read http://ci.nnstreamer.ai/nnstreamer-edge/ci/repo-workers/pr-checker/8-202207011047540.43513298034668-a414dc88f0a2672b16a7194509da87fb509dfc21/report/misspelling_result.txt.


3dot/hamburger menu fixed that crashed in mobile view | Issue #98

Fixed the 3-dot Menu ( hamburger menu ) Not Working in Mobile View Issue #98
https://github.com/user-attachments/assets/ff7188cb-89c0-4244-b40a-ab8aa090fb76
@BamaCharanChhandogi

@BamaCharanChhandogi please review and merge


Print first letter of every word in the string

🚀 Feature
Given a string S, the task is to create a string with the first letter of every word in the string.
Have you read the Contributing Guidelines on Pull Requests?
Yes
Motivation
I want to contribute this code in c++ in cp folder .
Pitch
I want to contribute this code under GSSoC'21 .

/assign


Request to be added as maintainer?

Would you be open to adding me as a maintainer?
I wouldn't be super active, but I saw a number of PR's that were closed that I would be willing to handle updating/rebasing them, but only if I know there's a good chance they'll be merged (otherwise no sense spending the time on them).
I'm also willing to help out on the issue tracker with issue triage.
Other projects that I help out in a similar fashion with include Flask, FactoryBoy, kafka-python, Jinja2, prezto, etc.

Absolutely, I'll add you right now.

Thanks!

Hey @bbangert I finally got some time to help out, and started to go through the issue tracker, but it looks like my collaborator permissions have since been revoked?


Clarify that creating a custom engine build configuration is not sufficient by itself to reduce exported project size

Godot version
v4.0.beta17.official [c40020513]
System information
macOS 13.2 (22D49)
Issue description
After disabling most features through the engine build configuration menu, a 2D scene with a single ColorRect produces a web release-build that is over 28MB. This is the same size as an export with all features included.
Steps to reproduce

Create a new project with a 2D scene
Go to Project > Customize Engine Build Configuration
Click "Detect from Project" and manually unselect "3D Engine" and "3D Physics"
Go to Project > Export
Build release as web/HTML5.
Web assembly file is around 28MB.

Minimal reproduction project
Test Project 2D G4.zip

You need to compile custom HTML5 export templates after creating a custom configuration. There is no way to magically trim features from the exported project without recompiling :slightly_smiling_face:

I'd like to add a newbie (in godot engine developement) perspective:

I've looked through documentation, and other than this particular paragraph I cannot find more information about creating custom templates. Certainly none on how to use the engine build configuration.
Now, I suspect if I dug into docs from the start of Contributing section, I could figure it out.
However, I've seen a few issues here and some discussions on reddit from devs interested primarly in making games for web put a lot of value in reducing the size of downloaded files, and therfore startup time.
I propose that creating and using custom templates should get a treatment similiar to 'your first game' tutorials, as a step-by-step guide in official documentation. It's an activity that any dev could benefit from, especially due to further core Godot developement increasing the size of binaries. The users don't nescessarly want to even check the Contributing section of the documentation (contribution is not on their mind yet, creating small exports is).

I'm willing to contribute my time to this goal, especially if I could get some guidance from someone in the know already.

How does this custom engine build configuration actually work? There is no information about this anywhere. we have this page: https://github.com/godotengine/godot/pull/62996
Here it says to use that menu to create that .build file and then put it in scons with this:
$ scons p=windows target=release tools=no build_feature_profile="soso.build"
But as far as I can tell, this doesn't change anything.
I would be more then happy to write out the docs or try to fix any of the issues which make it not work, but to my knowledge 'build_feature_profile' doesn't work (yet), nor is there any way to use that file. (or maybe it's a windows only thing for now?)

How does this custom engine build configuration actually work? There is no information about this anywhere. we have this page: #62996 Here it says to use that menu to create that .build file and then put it in scons with this: $ scons p=windows target=release tools=no build_feature_profile="soso.build" But as far as I can tell, this doesn't change anything.
I would be more then happy to write out the docs or try to fix any of the issues which make it not work, but to my knowledge 'build_feature_profile' doesn't work (yet), nor is there any way to use that file. (or maybe it's a windows only thing for now?)

The option name was initially build_feature_profile in https://github.com/godotengine/godot/pull/62996, but it has changed to build_profile in 4.0.stable: https://github.com/godotengine/godot/blob/a3c49ad2f0120f41789836a523698db0d4a9f0f2/SConstruct#L218

I would be more then happy to write out the docs or try to fix any of the issues which make it not work, but to my knowledge 'build_feature_profile' doesn't work (yet), nor is there any way to use that file. (or maybe it's a windows only thing for now?)

The option name was initially build_feature_profile in #62996, but it has changed to build_profile in 4.0.stable:
https://github.com/godotengine/godot/blob/a3c49ad2f0120f41789836a523698db0d4a9f0f2/SConstruct#L218

Are there any plans of changing this in the near future, or would it be okay to add this to the overall documentation already? If it would be okay than I'd like to create an entry to the docs on how to use this. (I'll first fiddle around with it a bit to test things out of course so I can write a correct entry ^^)

Are there any plans of changing this in the near future, or would it be okay to add this to the overall documentation already? If it would be okay than I'd like to create an entry to the docs on how to use this. (I'll first fiddle around with it a bit to test things out of course so I can write a correct entry ^^)

I'll gladly test the docs - drop me a link to PR when you're ready.

I also stumbled on this completely by accident. Documentation would be greatly appreciated. The autodetection is great and will greatly reduce the effort required to produce small builds, which are essential for mobile devices especially in places where network availability is limited.

The autodetection is great and will greatly reduce the effort required to produce small builds, which are essential for mobile devices especially in places where network availability is limited.

The custom build profile feature on its own doesn't reduce binary size much, so it won't help that much. Using optimize=size and disabling modules helps much more in comparison, but there's no way to detect which modules are required for a specific project.

The custom build profile feature on its own doesn't reduce binary size much, so it won't help that much.

Do I understand it right - feeding the *.build file to SCONS when compiling an export template won't exclude the disabled_classes from the final export template? If so, what is the custom build profile feature meant for then?

Do I understand it right - feeding the *.build file to SCONS when compiling an export template won't exclude the disabled_classes from the final export template? If so, what is the custom build profile feature meant for then?

It will exclude the disabled classes, but it won't disable modules that these disabled classes may rely upon. This reduces the opportunities for reducing binary size significantly.


Changelog calendar breaks on non-app pages (i.e. Change Initiative)

Description
Open the new calendar on a CI page and it errors.
Waltz Version
1.41
Steps to Reproduce

Open CI page
open changes section
flip to calendar tab

Expected Result
Shows calendar
Actual Result
Errors

Hmm, just tried to (unsuccessfully) reproduce this.  More analysis needed.


AttributeError

Hey guys,
when I try to setup the soundfile backend I get this error:
AttributeError: partially initialized module 'torchaudio' has no attribute 'set_audio_backend' (most likely due to a circular import)
This is how I try to setup the soundfile backend:

PS: I try to setup the backend in the utils.py of the torchaudio module.
Thank's for every help in advance:)

Hi @NoCodeAvaible
Looks like you are editing the installed package. That's not a standard way to do but I understand why one wants to do so.
Can you do it at the very end of torchaudio/__init__.py (the top level __init__.py) ? Then it should work.

ok thank you very much for your help

in the folder backend?

just at the top level, that's it. that will be almost equivalent setting the backend in user-side script.

ok

Closing as this is not an issue in torchaudio.