Minecraft example not working

Hi!
I'm trying to use imgui in a Minecraft mod i'm making, so i started with the example in the wiki:
public class TestScreen extends Screen {

    private static ImGui imgui = ImGui.INSTANCE;

    private static ImplGL3 implGl3;
    private static ImplGlfw implGlfw;

    static {
        GlfwWindow window = GlfwWindow.from(MinecraftClient.getInstance().window.getHandle());
        window.makeContextCurrent();
        new Context();
        implGlfw = new ImplGlfw(window, false, null);
        implGl3 = new ImplGL3();
    }

    public TestScreen () {
        super(new TextComponent("Test Screen"));
    }

    @Override
    public void render(int x, int y, float partialTicks) {

        implGl3.newFrame(); // JVM crashes here
        implGlfw.newFrame();
        imgui.newFrame();

        imgui.text("Hello Minecraft!");

        implGl3.renderDrawData(imgui.getDrawData());

    }
}

Upon showing the screen however, the jvm crashes:
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006b2e0e20, pid=2940, tid=0x00000000000059f0
#
# JRE version: Java(TM) SE Runtime Environment (8.0_211-b12) (build 1.8.0_211-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.211-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [nvoglv64.dll+0xc20e20]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

hs_err_pid2940.log
I'm not sure why this happens, i'm using exactly the same code as in the wiki.
Any help would be appreciated!

I'll forward you to this guy (https://github.com/kotlin-graphics/imgui/issues/96), who did the same

What does your build.gradle look like? You're crashing in native code, so I presume you're importing the wrong version(s) of LWJGL or the like. (Reference the answer in #96 if you need an example of what you need to add to your dependencies)

I'm just using the default Fabric build.gradle, plus
repositories {
    ...
    maven { url = "https://jitpack.io" }
}

dependencies {
    ...

    ext{
        imguiVersion = "-SNAPSHOT"
    }
    ["gl", "glfw", "core"].each {
        implementation("com.github.kotlin-graphics.imgui:imgui-$it:$imguiVersion") {
            exclude group: "org.lwjgl"
        }
    }
}

I also tried the specific commit you used (fc9aad3de1), with the same result.
Dependencies seem okay

I tried it with several older fabric versions down to 1.14 trying to match your configuration, however it still crashes.
Anyways, i don't know what i've done, but now it crashes "gracefully":
java.lang.IllegalArgumentException: Parameter specified as non-null is null: method imgui.impl.ImplGL3.renderDrawData, parameter drawData
	at imgui.impl.ImplGL3.renderDrawData(ImplGL3.kt)
	at de.niklasb.client.TestScreen.render(TestScreen.java:42)
	at net.minecraft.client.gui.screen.SplashScreen.render(SplashScreen.java:56)
	at net.minecraft.client.render.GameRenderer.render(GameRenderer.java:534)
	at net.minecraft.client.MinecraftClient.render(MinecraftClient.java:896)
	at net.minecraft.client.MinecraftClient.start(MinecraftClient.java:386)
	at net.minecraft.client.main.Main.main(Main.java:126)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at net.fabricmc.loader.game.MinecraftGameProvider.launch(MinecraftGameProvider.java:170)
	at net.fabricmc.loader.launch.knot.Knot.init(Knot.java:129)
	at net.fabricmc.loader.launch.knot.KnotClient.main(KnotClient.java:26)

It's probably the same root cause, but i guess thats easier to debug.
I've made a minimal demo, maybe you can take a look at how it differs from your project.
It just shows the test screen immediately after minecraft initiliazed and then, at least for me, crashes.
fabric-example-mod.zip

Do you get any rendering at all? The code crashing inside the OpenGL natives leads me to believe that something is happening with the GL context in Minecraft that causes us to not have a proper GL context. This might be because you register your screen in the onInit method, at which point the window may not be properly initialized, causing us to clear all context when window.setContextCurrent() is called. I would try to add a key toggle that will only open it when you hit that key, which will delay initialization and make sure we grab the right window.

Tried that, but it unfortunately still crashes.

Sometimes because getDrawData() returns null (https://github.com/kotlin-graphics/imgui/issues/99#issuecomment-502314096), sometimes jvm crashes (https://github.com/kotlin-graphics/imgui/issues/99#issue-456159881)
I've also tried calling ImGui#render before calling ImplGL3#renderDrawData, not sure if that's still required, just saw it in the tests, but that also didn't help.

Give me the output of this, please?
TestScreen.kt
public class TestScreen extends Screen {

    private static ImGui imgui = ImGui.INSTANCE;

    private static ImplGL3 implGl3;
    private static ImplGlfw implGlfw;

    static {
        test();
        GlfwWindow window = GlfwWindow.from(MinecraftClient.getInstance().window.getHandle());
        window.makeContextCurrent();
        new Context();
        implGlfw = new ImplGlfw(window, false, null);
        implGl3 = new ImplGL3();
    }

    public static void test() {
        ImguiKt.setIMGUI_ENABLE_TEST_ENGINE(true);
        ImguiKt.setImGuiTestEngineHook_PreNewFrame(() -> {
            Test.onNewFrame();
            return null;
        });
        ImguiKt.setImGuiTestEngineHook_PostNewFrame(() -> {
            Test.onPostNewFrame();
            return null;
        });
        ImguiKt.setImGuiTestEngineHook_ItemAdd((rect, integer) -> {
            System.out.printf("Item added at %f %f sz %f %f\n", rect.getBl().getX(), rect.getBr().getY(), rect.getWidth(), rect.getHeight());
            return null;
        });
        ImguiKt.setImGuiTestEngineHook_ItemInfo((id, string, itm1) -> {
            System.out.printf("Item added id %d str %s int %d\n", id, string, itm1);
            return null;
        });
    }

    private static void onNewFrame() {
        System.out.println("Pre-NewFrame");
    }
    private static void onPostNewFrame() {
        System.out.println("Post-NewFrame");
    }

    public TestScreen () {
        super(new TextComponent("Test Screen"));
    }

    @Override
    public void render(int x, int y, float partialTicks) {

        implGl3.newFrame();
        implGlfw.newFrame();
        imgui.newFrame();

        imgui.text("Hello Minecraft!");

        imgui.render();

        implGl3.renderDrawData(imgui.getDrawData());

    }
}

Sure
[06:19:59] [main/INFO]: [STDOUT]: Pre-NewFrame
Item added at 60.000000 73.000000 sz 13.000000 13.000000
Item added at 60.000000 79.000000 sz 400.000000 19.000000
[06:19:59] [main/INFO]: [STDOUT]: Post-NewFrame
[06:19:59] [main/INFO]: [STDOUT]: in (1.0, 1.0) (3.4028235E38, 3.4028235E38)
[LWJGL] [06:19:59] [main/INFO]: [STDERR]: Loading library: Imm32
[LWJGL] [06:19:59] [main/INFO]: [STDERR]: 	Imm32.dll not found in org.lwjgl.librarypath=C:\Users\User\AppData\Local\Temp\lwjglUser\3.2.1-build-12
[LWJGL] [06:19:59] [main/INFO]: [STDERR]: 	Loaded from system paths: C:\WINDOWS\System32\IMM32.DLL
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000561328, pid=19924, tid=0x0000000000005dcc
#
# JRE version: Java(TM) SE Runtime Environment (8.0_211-b12) (build 1.8.0_211-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.211-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  0x0000000000561328
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\User\IdeaProjects\client\run\hs_err_pid19924.log
Compiled method (nm)   40450 6337     n 0       org.lwjgl.system.JNI::callPP (native)
 total in heap  [0x00000000047ae3d0,0x00000000047ae750] = 896
 relocation     [0x00000000047ae4f0,0x00000000047ae538] = 72
 main code      [0x00000000047ae540,0x00000000047ae748] = 520
 oops           [0x00000000047ae748,0x00000000047ae750] = 8
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

hs_err_pid19924.log

The part that prints the handle number to the GLFWWindow? This crash was different, but a bad window once again could be a cause of this

Change the static block to this:
        test();
        GlfwWindow window = GlfwWindow.from(MinecraftClient.getInstance().window.getHandle());
        System.out.printf("GLFWWindow %d\n", MinecraftClient.getInstance().window.getHandle());
        window.makeContextCurrent();
        new Context();
        implGlfw = new ImplGlfw(window, false, null);
        implGl3 = new ImplGL3();

and does the GLFWWindow say it is 0?

Window seems fine
GLFWWindow 569093408

Also not sure if relevant, but sometimes i have to run it a few times because it crashes before anything is printed with the original exception in my first comment

Even with the key toggle?

Yep

I've made a minimal demo, maybe you can take a look at how it differs from your project.
It just shows the test screen immediately after minecraft initiliazed and then, at least for me, crashes.
fabric-example-mod.zip

How do you start that? I see no main

First you have to run ./gradlew genSources, then depending on whether you use eclipse or intellij either ./gradlew eclipse or  ./gradlew idea to generate the correct run configuration.
For other editors you can use those settings as reference:

Might help: https://fabricmc.net/wiki/tutorial:setup

weird

C:\Users\elect.gradle\caches\fabric-loom\minecraft-1.14.2-mapped-7.jar: The process cannot access the file because it is being used by another process.

I got it working with the zip you provided and a few changes:
I changed MinecraftClientMixin to MixinKeyboard and changed the mixin to this:
@Mixin(Keyboard.class)
public abstract class MixinKeyboard {

    @Inject(method = "onKey", at = @At(value = "HEAD"))
    public void onKey(long handle, int keycode, int scancode, int i3, int i4, CallbackInfo info) {
        if (MinecraftClient.getInstance().player != null && MinecraftClient.getInstance().currentScreen == null) {
            MinecraftClient.getInstance().openScreen(new TestScreen());
        }
    }

}

This way we can invoke imgui in-game by pressing a key (when we're sure everything of opengl/glfw etc has already been handled by minecraft)
And simply added imgui.render(); to your render method in TestScreen:
...
imgui.text("Hello Minecraft!");

imgui.render();

implGl3.renderDrawData(imgui.getDrawData());
...

I never ran into a JVM crash though. I'm on linux, so our natives are different.
Can you try the changes above and see if it works?

Nope, still crashes :/
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000677a0e20, pid=6760, tid=0x000000000000396c
#
# JRE version: Java(TM) SE Runtime Environment (8.0_211-b12) (build 1.8.0_211-b12)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.211-b12 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  [nvoglv64.dll+0xc20e20]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# C:\Users\User\Desktop\fabric-example-mod\run\hs_err_pid6760.log
#
# If you would like to submit a bug report, please visit:
#   http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

hs_err_pid6760.log

Solved the NPE, it was because there was a missing imgui.render(); before implGl3.renderDrawData(imgui.getDrawData());
Now I get the jvm crash though..

So this appears to be a Windows specific issue, where the Imm Libraries cause a crash. I'll start playing around with e=that, just was finally able to get everything set up. @elect86 do you know if only one Imm context can be had per window, and possibly minecraft already has it?

@elect86 I messes up the pulls on which branches but was planning to merge anyways. If you don't want the commit Cleanups/Javaifications, feel free to revert.
@niklasbuesing Using commit ccbbf105d1, set ImguiKt.MINECRAFT_BEHAVIORS = true and this should resolve the problem. I was able to get the Demo Window up and showing. Let me know if this fixes it on your side as well.
The drawbacks to this method is that currently Imgui on minecraft will not receive IME events, so we'll have to see if we can reflect out the HWND MC has.

Yep, works fine now! 👍
Thanks to everyone involved for their efforts. 😃

It's totally fine, let's merge it.. Nice workaround @Sylvyrfysh
Btw, I double checked ImmGetContext address is exaclty the same, only hwnd varies, but it looks somehow valid also on the small fabric sample.. I wonder what it is..
We might create an issue over there (https://github.com/FabricMC) to watch this issue in the long term and see if we find the culprit, I'm afraid this may have to do with something else under the hood.. (@niklasbuesing which repo would you suggest in their organization in this matter?)

Can someone post a zip of their simple example? i keep getting the glTexture2D crashes when trying to actually fix this

Example is not compiling for me on Java 8, glm seems to be compiled for Java 11...
/home/runner/work/examplemod/examplemod/src/main/java/io/github/examplemod/Imgui.java:3: error: cannot access Vec2
import glm_.vec2.Vec2;
                ^

> Task :compileJava FAILED
  bad class file: /home/runner/.gradle/caches/modules-2/files-2.1/com.github.kotlin-graphics.glm/glm/6048c31425ae6110258e4b42165f1e636f8b5603/be825795adf887a045ee19eb08db0eeff47b02fb/glm-6048c31425ae6110258e4b42165f1e636f8b5603.jar(glm_/vec2/Vec2.class)

    class file has wrong version 55.0, should be 52.0
    Please remove or make sure it appears in the correct subdirectory of the classpath.

If there is any way I could get around this, I would appreciate it greatly.

It's probably worth asking, is this library compatible with Java 8, and compatible with Linux?
The README seems to advertise that but I'm not sure if it's still the case...

Reading the build files seems to suggest this is a Java 11 library, how would I compile this for Java 8?

Change the value on the line here to 8. Don't know if that will compile though

Will keep you posted if it doesn't work, thanks

I don't think it'll work in my case as JitPack hosts this library compiled for Java 11 too.
The entire library would need to be recompiled for Java 8, dependencies included

How does everybody else manage to compile the mod, seeing as Minecraft uses Java 8?

Yep, we moved since some time to the current LTS, that is jdk11.
If you still need legacy support, you need to have the whole libraries on jdk8. It's quite simple actually:

create a new branch
get rid of the module-info.java
change compile target from 11 to 1.8 in build.gradle

However, honestly I dont have the resources and the interest to do that.
So if you would like that, I can send you an invite and you can jump in and take care of that :)

Sure, I could do that.
What should the branch be named?

as you wish, jdk8 or whatever you think is better

It seems I cannot create branches yet, I may need individual permissions for each repository.

Done, you are good to go :)

Ok, I have made the branches and will be committing to them over the coming days to change Java versions.

What should I do about these lines:
    unsigned_version = 'c81c2e39fb9e10403650c1b371b8573fc745bfb4'
    kool_version = '1e564cfb7ab72523d0f748a235e21cf33d0c73bc'

from https://github.com/kotlin-graphics/glm/blob/jdk8/build.gradle#L28?
They appear in all of the other repositories too, do they need to be updated to reflect the jdk8 branch somehow?

yep

What does the hash represent?

it's the commit hash/id

I have modified every repo required on the jdk8 branch, is there any way to tell if the CI is working or if I have made a mistake?

The list of relevant repos and commits is available here.

https://travis-ci.org/kotlin-graphics/imgui/branches

Oh, think I know what the problem is - specified commit id without branch name
Will try to amend the errors soon

You should start from the lowest library, like kool, which has this error

Will try to do the bulk of the fixes tomorrow, hopefully it'll work

Travis CI for Imgui
All dependencies have built sucessfully but there were a few errors for imgui itself.

You can comment out jdi and the tools.jar in gradle without problems, it's used only for counting the allocated instances, but it's quite unstable/untested

I have removed JDI, now I am getting the following error message on Travis CI:
e: /home/travis/build/kotlin-graphics/imgui/imgui-gl/src/main/kotlin/imgui/impl/gl/ImplGL3.kt: (14, 24): Unresolved reference: GlVertexArray
e: /home/travis/build/kotlin-graphics/imgui/imgui-gl/src/main/kotlin/imgui/impl/gl/ImplGL3.kt: (42, 15): Unresolved reference: GlVertexArray
e: /home/travis/build/kotlin-graphics/imgui/imgui-gl/src/main/kotlin/imgui/impl/gl/ImplGL3.kt: (276, 15): Unresolved reference: GlVertexArray
e: /home/travis/build/kotlin-graphics/imgui/imgui-gl/src/main/kotlin/imgui/impl/gl/commonGL.kt: (4, 12): Unresolved reference: GlBufferEnum
e: /home/travis/build/kotlin-graphics/imgui/imgui-gl/src/main/kotlin/imgui/impl/gl/commonGL.kt: (148, 21): Unresolved reference: GlBufferEnum

I have looked and they are indeed undefined in gln, do I need to hotfix/revert to an older version?
Is this a regression or a mistake on my part?

I found this class (gln.identifiers.GlVertexArray), which is probably an equivalent  to the missing one from earlier, but I couldn't find an equivalent to GlBufferEnum. Will continue my search.

If I remember correctly, Imgui is using an old version of gln. If you
forked gln head, that might be the issue. You probably want to fork off the
commit found in imgui Gradle.
On Mon, Sep 30, 2019, 00:25 AlexApps99<EMAIL_ADDRESS>wrote:

I found this class (gln.identifiers.GlVertexArray)
https://github.com/kotlin-graphics/gln/blob/jdk8/src/main/kotlin/gln/identifiers/vertexArray.kt#L59,
which is probably an equivalent to the missing one from earlier, but I
couldn't find an equivalent to GlBufferEnum. Will continue my search.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kotlin-graphics/imgui/issues/99?email_source=notifications&email_token=ADTJ6QHIMIY6X2Y5NGSJR73QMGETLA5CNFSM4HYGJBD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD74OQWA#issuecomment-536406104,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADTJ6QHMXYIJ5R6VZASKIVLQMGETLANCNFSM4HYGJBDQ
.

That is a good point, but it would be better for Imgui to use up-to-date libraries instead.
I will research a solution to the removal of GlBufferEnum, as I would prefer to use the latest version.

I have managed to update it to use the latest branch with a two-line modification, it builds now.
Thanks for the help, will create a demo soon to test it out.

What do you mean by undefined? They should be there under gln.identifiers

Ah, makes sense...
Thanks for all of the help, I really appreciate all the work you've put into these wonderful libraries :)

Thank you for supporting, appreciated

:tada:

Sweet, you may want to update the wiki about that to help other people

I did get a native code crash the second time I ran it, so further testing may be required.
Source is here: https://github.com/AlexApps99/MinecraftImgui
It is written in Minecraft Forge instead of Fabric, so it should be more widely supported and stable, testing from others would be appreciated.
The compiled jar is here: https://github.com/AlexApps99/MinecraftImgui/suites/247132341/artifacts/74208
To test it, just install Forge from this site: https://files.minecraftforge.net/ and put the jar in Forge's mods folder.

Works on linux, debug menus and all.
Main issue I've found is that text/keyboard input doesn't work and the titles of the tabs are misaligned, other than that it works brilliantly. I will look further into the unpredictable windows crashes before adding this to the wiki

How do you pass keyboard input to Imgui?
I tried to replicate the Java test file but it didn't seem to work sadly...

If others can test this on Windows and post their error messages (if any) I would be thankful :)
Please let me know if it works or not

Hey Alex,
did you solve for the inputs?

No, I haven't yet.

Their callbacks get passed here

Does key input work on Linux outside of Minecraft?
It seems that it only gets input on Windows (unsure)
https://github.com/kotlin-graphics/imgui/blob/master/imgui-core/src/main/kotlin/imgui/windowsIme/imeListener.kt#L31-L35

I tried to implement the callbacks myself, but the values referenced seem to be private. Are there any getters/setters for these values?
Code:
https://github.com/AlexApps99/MinecraftImgui/blob/master/src/main/java/com/example/examplemod/MyMinecraftScreen.java#L67-L87
Compilation errors:
https://github.com/AlexApps99/MinecraftImgui/commit/0c6d54cd0982b0c2ac3f0074fa27c6dfb5407cb2/checks?check_suite_id=262118357#step:4:307

IMM is windows only, Linux does not touch it. Additionally, there are not currently callbacks, but feel free to add them. I'll try to look into this on Monday

@AlexApps99, do you need the IME on Linux?

I don't think so, I wrote my own callbacks to gather input but there's no setter/variable to save input to

@AlexApps99 try io.getKeysDown()

That's a getter, I need to set the keys that are down

it's a boolean array
io.getKeysDown()[i] = true

@AlexApps99 any news?
Consider closing if resolved

@elect86 Sorry for the incredibly late response, I've been preoccupied by other things and I never made any additional progress. I am not the one who opened the issue, so if @niklasbuesing is ok with it this can be closed.

As a sidenote, since I am no longer working on this, I will remove myself from the organization.
Thanks for the wonderful libs you've given us!

For anyone who has stumbled upon this issue (and waiting for closure, presumably), i have taken an interest in this library and made a fabricmc template that works out of the box based on multiple issues and reports from this repository.
I have only tested this on linux, so i am unsure if issues still exist within windows.
https://github.com/breadbyte/fabric-example-imgui

@breadbyte if you want to add a link in the Readme and/or add a wiki page about that, dont hesitate

@breadbyte When I tried your fabric template, I still got class file has wrong version 55.0, should be 52.0. I'm probably doing something wrong, but I can't find out what.

What that usually means is that you're compiling with the wrong version of Java (52 is Java 8, 55 is Java 11)

I'm trying to compile with Java 8, but the template is using ImGui compiled for Java 11.  Before I go further in trying to fix them, I'm trying to see if the template creator ran into this.

I'm about to give a refresh to all the libs, I'll do also for the jdk8 branch
which kind of errors are you experiencing, @melvyn2?

I was dealing with the wrong problem, actually. When I ran the template with Java 12, I got a native crash. I realized that OpenJ9 might be causing the issue, so I switched to HotSpot.
That gave me a crash of java.lang.NullPointerException: A required function is missing: glfwGetMonitorWorkarea. After realizing this is platform specific code, I tried the template on linux, and everything worked out-of-box.
So, the real issue is that something breaks the template on macOS, but it works fine on linux.

Admittedly, I have not tested my template on both the Java 8 branch nor macOS as I don't have access to a macOS machine, and, for the record, I use AdoptOpenJDK 14 OpenJ9 on my machine.
I will do some more testing around.

I was dealing with the wrong problem, actually. When I ran the template with Java 12, I got a native crash. I realized that OpenJ9 might be causing the issue, so I switched to HotSpot.
That gave me a crash of java.lang.NullPointerException: A required function is missing: glfwGetMonitorWorkarea. After realizing this is platform specific code, I tried the template on linux, and everything worked out-of-box.
So, the real issue is that something breaks the template on macOS, but it works fine on linux.

According to Spasi, the error on macos

It means there's a version mismatch between the Java GLFW bindings and the corresponding natives.

@melvyn2 can you investigate in the glfw version you actually use on macos?

$ otool -L .gradle/caches/fabric-loom/natives/1.15.2/libglfw.dylib
.gradle/caches/fabric-loom/natives/1.15.2/libglfw.dylib:
	@rpath/libglfw.3.dylib (compatibility version 3.0.0, current version 3.3.0)

It doesn't look like it's loading LWJGL's glfw binary

Hello, what's wrong with my build.gradle? I can't use jdk8 branch.
buildscript {
    repositories {
        maven { url = 'https://files.minecraftforge.net/maven' }
        jcenter()
        mavenCentral()
    }
    dependencies {
        classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
    }
}
apply plugin: 'net.minecraftforge.gradle'
// Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: 'eclipse'
apply plugin: 'maven-publish'

version = '1.0'
group = 'com.yourname.modid' // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = 'modid'

sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.

minecraft {
    // The mappings can be changed at any time, and must be in the following format.
    // snapshot_YYYYMMDD   Snapshot are built nightly.
    // stable_#            Stables are built at the discretion of the MCP team.
    // Use non-default mappings at your own risk. they may not always work.
    // Simply re-run your setup task after changing the mappings to update your workspace.
    mappings channel: 'snapshot', version: '20190719-1.14.3'
    // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.

    // accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')

    // Default run configurations.
    // These can be tweaked, removed, or duplicated as needed.
    runs {
        client {
            workingDirectory project.file('run')

            // Recommended logging data for a userdev environment
            property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'

            // Recommended logging level for the console
            property 'forge.logging.console.level', 'debug'

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }

        server {
            workingDirectory project.file('run')

            // Recommended logging data for a userdev environment
            property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'

            // Recommended logging level for the console
            property 'forge.logging.console.level', 'debug'

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }

        data {
            workingDirectory project.file('run')

            // Recommended logging data for a userdev environment
            property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'

            // Recommended logging level for the console
            property 'forge.logging.console.level', 'debug'

            args '--mod', 'examplemod', '--all', '--output', file('src/generated/resources/')

            mods {
                examplemod {
                    source sourceSets.main
                }
            }
        }
    }
}

repositories
{
    maven {
        url = "https://jitpack.io"
    }
    jcenter()
    mavenCentral()
}

dependencies
{
    // Specify the version of Minecraft to use, If this is any group other then 'net.minecraft' it is assumed
    // that the dep is a ForgeGradle 'patcher' dependency. And it's patches will be applied.
    // The userdev artifact is a special name and will get all sorts of transformations applied to it.
    minecraft 'net.minecraftforge:forge:1.14.4-28.2.0'

    // ImGUI
    ["imgui-core", "imgui-gl", "imgui-glfw"].each {
        compile("com.github.kotlin-graphics.imgui:$it:jdk8-SNAPSHOT") {
            exclude group: "org.lwjgl"
        }
    }
}

// Example for how to get properties into the manifest for reading by the runtime..
jar {
    manifest {
        attributes([
                "Specification-Title": "examplemod",
                "Specification-Vendor": "examplemodsareus",
                "Specification-Version": "1", // We are version 1 of ourselves
                "Implementation-Title": project.name,
                "Implementation-Version": "${version}",
                "Implementation-Vendor" :"examplemodsareus",
                "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ")
        ])
    }
}

// Example configuration to allow publishing using the maven-publish task
// we define a custom artifact that is sourced from the reobfJar output task
// and then declare that to be published
// Note you'll need to add a repository here
def reobfFile = file("$buildDir/reobfJar/output.jar")
def reobfArtifact = artifacts.add('default', reobfFile) {
    type 'jar'
    builtBy 'reobfJar'
}
publishing {
    publications {
        mavenJava(MavenPublication) {
            artifact reobfArtifact
        }
    }
    repositories {
        maven {
            url "file:///${project.projectDir}/mcmodsrepo"
        }
    }
}

@HvHBlackTeal glm now doesn't have anymore 2 module, that means this:
com.github.kotlin-graphics.glm:glm:jdk8-SNAPSHOT
shall be instead as follow
com.github.kotlin-graphics:glm:jdk8-SNAPSHOT

But I'm not using
com.github.kotlin-graphics.glm:glm:jdk8-SNAPSHOT

on my code, I'm using
["gl", "glfw", "core"].each {
		implementation("com.github.kotlin-graphics.imgui:imgui-$it:jdk8-SNAPSHOT") {com.github.kotlin-graphics.glm:glm:jdk8-SNAPSHOT
		}
	}

to import ImGui, using
implementation("com.github.kotlin-graphics:glm:jdk8-SNAPSHOT")
["gl", "glfw", "core"].each {
implementation("com.github.kotlin-graphics.imgui:imgui-$it:jdk8-SNAPSHOT") {com.github.kotlin-graphics.glm:glm:jdk8-SNAPSHOT
}
}
also doesn't work and I get the same error, if I use default ImGui version but jdk8 glm, it says that ImGui classes are bad, they're 55.0 and should be 52.0, I'm trying to implement ImGui in a forge mod.

I'm in the process of refreshing the jdk8 branches along the organizations, however I'm experiencing some troubles on uno-sdk and jpms
I'll suppress the error to give you quickly the possibility to test

@HvHBlackTeal 65954961

@breadbyte it's almost perfect its this what happens if you leave the input open then close the screen.

gif reuploaded xD because its incomplete

The issues @Dj-jom2x are experiencing seem to be issues from my template specifically.
I've fixed it in my template.
https://github.com/breadbyte/fabric-example-imgui/commit/0b11740e1776cdffe9e704cf2f0347d4dc6198ec
The issue seems to be that the esc key was also propagating into imgui, causing imgui to also handle the esc key.
I've decided to drop the esc key from being processed into imgui at all, since Minecraft's esc key handler would be more useful in this case. This is just a quick fix, so if there's a better way to handle this, please do tell me.

The issues @Dj-jom2x are experiencing seem to be issues from my template specifically.
I've fixed it in my template.
breadbyte/fabric-example-imgui@0b11740
The issue seems to be that the esc key was also propagating into imgui, causing imgui to also handle the esc key.
I've decided to drop the esc key from being processed into imgui at all, since Minecraft's esc key handler would be more useful in this case. This is just a quick fix, so if there's a better way to handle this, please do tell me.

it seems working just fine xD thanks what I did for the temp fix.
	@Override
	public void onClose() {
		ctx.destroy();
		super.onClose();
	}

but every time you start the gui.. the currently selected tabs are being reset all opened collapsingHeader is being reset..
... but your solution works great xD because it keeps the current selected tabs and current opened collapsingHeader..

We may add an option to avoid propagating the esc key, whay to you think?

@Dj-jom2x I'm not sure if that would be a good idea, as the enter key provides actual useful functionality on imgui.
I've decided to fix it on my template using an input buffer instead, when minecraft closes the screen, the input buffer sends a keyrelease for every input on the buffer.
The reason why this is required is that when minecraft closes the screen, imgui cannot receive the keyreleased event, therefore on imgui's side it's as if it was never released at all.

Adding an option to stop the esc key from being handled would be a good candidate for a default minecraft behavior, i think.
Although minecraft has a shouldCloseOnEsc option, it's set to true by default, making imgui's esc key handler impossible to use due to, well, the screen has closed before anything useful could come out of it, so i don't know if it should be set as a toggle on imgui because the option could be toggled independently outside of imgui.

@breadbyte  very thanks.
I noticed when using inputTextEx and using
private static byte[] msg = new byte[256];

so for instance you make a
ArrayList<String> items = new ArrayList<String>();

you trim the msg by
   String _data = new String(msg).trim();

then add it to item
 items.add(_data);

then clear the msg by
msg = new byte[256];

there are 1/10 chances that you will get ??? next to the text you just say. am i doing it wrong?
I tried the string version too .. Using inputText that uses String as buffer is not helpful .. so if you create a string that has value "hello" then use that as buffer ... you can only type 5 letters or the total of letters.
also if you clear the msg buffer while u still typing so your focus is still on the input box.. the text is not gone... unless u click somewhere else. it will be nice if they act as a normal text input where they respect what is the current value regardless of focus

Hey,
what's the status on this one?


lineup_wall.fbx has incorrect measurements for Feet/Inches

The calculation from Meter to Feet is in decimal, but show it as Ft'In.
For example 1.5m shows 4'9, but that is actually 4'11
Attached is a fixed version with included finer graduations
https://cdn.discordapp.com/attachments/384108535887298582/950278372989231164/lineup_wall_Fixed.fbx

Implemented! Thanks


Uart API changes v4

Changes since v3:

remove sol_uart_read()

@barbieri @ceolin, Please could you guys take a look?

#2007


problem installing ctrld on OpenWRT on r8000

Hi there, I need some help with installing ctrld on r8000. Upon launching ctrld I get message illegal instruction

It appears the CPU despite being armv7 is unable to run armv7 binaries. Manually download https://dl.controld.com/linux-armv5/ctrld and overwrite the file in the install path.

@yegors
OK. Thank you... seems CPU does not provide VFP support on r8000 on OpenWRT

after downloading binaries you provided with curl everythink worked so THAK YOU!

@yegors can you make it to fallback to armv5 if it fails with armv7


Fix multiple console errors when login and in onboarding welcome video

Details

This PR is fixing multiple console errors when login and in onboarding welcome video page.
Fixed Issues

$ https://github.com/Expensify/App/issues/45619
PROPOSAL: https://github.com/Expensify/App/issues/45619#issuecomment-2255682959
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Logout if logged in
Login back to the app
Verify there is no TypeError: Cannot read properties of undefined (reading 'routes') error in the console
Go to staging.new.expensify.com/onboarding/welcome-video.
Verify there are no errors listed below:

Unexpected text node.

validateDOMNesting(...): cannot appear as a descendant of ...

play() failed because the user didn't interact with the document first.

The play() request was interrupted by a call to pause().

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/485da9e8-02ab-4979-8659-0d750bd8b685

Android: mWeb Chrome

https://github.com/user-attachments/assets/21f7d320-d81d-43c1-a7f0-97bdfacd5e52

iOS: Native

https://github.com/user-attachments/assets/f7db5a53-8fe6-4408-9177-b41102bfc967

iOS: mWeb Safari

https://github.com/user-attachments/assets/dc49eff9-491e-436c-9a91-f3cf883aa15c

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/ff12a11f-7ce5-4085-ab04-cb00bf446186

MacOS: Desktop

https://github.com/user-attachments/assets/6293fd86-7453-4211-a44b-2120ee541294

I can finally repro The play() request was interrupted because the media was removed from the document error and this only happens when strict mode is on because the video is re-mounted while the play request isn't completed yet. I don't think we can fix this since that's the behavior of strict mode.

Lint is failing.

@puneetlath oops, lint fixed

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

FYI I believe this was deployed to prod yesterday, from this checklist - https://github.com/Expensify/App/issues/47219


Remove stixify references in the code

https://github.com/muchdogesec/obstracts/blob/impl/obstracts/cjob/obstracts_helpers.py
^^ just one example. Stixify appears in a few places
We need to make the code cleaner, for those reading it.
Having references to Stixify is confusing.
I appreciate we may be reusing components between products, which is fine.
However, we should name them neutrally for reader clearity.

@fqrious i also think this is causing larger issues
collections are now being created for stixify

I'm going to fix the issue here, but there's no need to change the class name as it makes sense since the purpose of the class is to stixify a post


Get-RubrikEvent is missing "Queued" Status

The parameter "status" needs to include Queued as that is a possible eventStatus that gets returned

Thanks so much for bringing this up @mattaltimar - we will take a look and get the status parameter included for you!

Thanks Mike!
Thanks,
Matt Altimar
774-368-5656 | @rubrikInc | @MattAltimar
www.rubrik.com http://www.rubrik.com
On Fri, Jan 3, 2020 at 11:52 AM Mike Preston<EMAIL_ADDRESS>wrote:

Thanks so much for bringing this up @mattaltimar
https://github.com/mattaltimar - we will take a look and get the status
parameter included for you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/rubrikinc/rubrik-sdk-for-powershell/issues/539?email_source=notifications&email_token=AEDHMVUKBZHE5BSQRNOATODQ35UMFA5CNFSM4KANOOC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIBR7MA#issuecomment-570630064,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEDHMVWDTVHSSM7E7GLHONDQ35UMFANCNFSM4KANOOCQ
.

Resolved by #540


Alignment set interval not always matches

Neat one due to the mis-direction of the grid maker.
(Callbacks off) When user sets follower pattern for an 'every 5 images' interval, the follower pattern is not actually engaging every 5 images. Maybe it because the grid maker direction it goes isn't the same as the print plan direction, idk.

Can you share the gridmaker .xml and the project.seyr used for this?

This might be an already known GridMaker issue


Nginx issue

I'm running the commands as given in the readme, and I'm able to upload (using curl) a zipped folder containing the html output of Sphinx where index.html is at the top level, and I get a "success" response. (I'm building my docs using JupyterBook.) The project than shows up in the docat landing page, but navigating to the project docs itself returns an Nginx 404 error. I can upload a single index.html file, and that displays. But the zipped directory is not working.

Can you share the zip file to have a look at it?

It was my fault. I finally figured out that I shouldn't just zip up the html/ folder from _build/ (I'm using Sphinx), but rather the contents of the html/ folder. So, my index.html was nested one layer too deep. Maybe we can add a short note to the README as a "common mistake" to help future users.

Maybe issuing a warning in the api response when no /index.html file is found in the zip file would be nice.
I think we can keep the issue open to address something like this what do you think @fliiiix ?


Lisence

Please add lisence type to your project.

Licanse was added when repo was created: https://github.com/Nirklav/BinSerializer/blob/master/LICENSE.md


Event Sourcing Architecture

The purpose of this issue is to design a document to clarify how event sourcing is used in ZITADEL. RFCs for the event sourcing layer should always rely on this document. The document will change over time. Especially during the initialisation phase. Later the document will be stored as markdown file. This document is not meant to replace any parts of the docs pages.
The document:
Eventsourcing Architecture
ZITADELs business logic is based on event sourcing. Instead of manipulating data, each action is written into an append only log, called eventstore.
This document is based on the docs of cockroach. Especially their RFCs.
Goal
This document builds the foundation of the event sourcing storage implementation, the framework to create write models, read models and projections for caching and storing data and build objects.
Requirements
Every decision made on this topic must fullfil the following check list. This checklist might change over time.
Eventstore requirements

[ ] High throughput

[ ] Read
[ ] Write

[ ] Easy to implement additional commands/events
[ ] Non blocking per instance
[ ] Non blocking per aggregate root

[ ] Write has some conditions
[ ] Read must not contend write side

[ ] ? in memory storage ?
[ ] Regionality by event
[ ] Possibility to subscribe to events
[ ] Unique constraints

Write models requirements
Data container to create commands

[ ] Validate input
[ ] Query events from eventstore in real time (blocking)
[ ] create commands
[ ] snapshotting

Read models requirements
Data container to read events from the eventstore

[ ] Query objects from projections
[ ] Query events from projections
[ ] create objects (mainly to return to user)
[ ] time travel

Projection requirements
Cache which represents query data in denormalized format

[ ] subscribe to events
[ ] cache/store objects
[ ] regenerate stored objects
[ ] verify correctnes of object

Implementation
Overview
Package design
Flow from API call to projection
Eventstore
Projection
Read model
Write model
Index

Word
Definition
Links

event sourcing

-

event store (storing)

-

cqrs
Command and Query Responsibility Segregation
-

event driven

-

Pub/Sub

-

Aggregate

-

Aggregate Root

-

subscription

-

eventual consistency

-

command
Intent to create an event
-

event
Action saved in the eventstore
-

write model
Data container to create commands
-

read model
Data container to read events from the eventstore
-

Should this not be stored as PR template and triggered when something changes in folder xyz?

I like this approach!
On remark. Should this not be stored as PR template and triggered when something changes in folder xyz?

Thanks
My initial thoughts were that this document should be used during issue discussions. As soon as something is getting implemented different checks should apply, like benchmarks which should not decrease in speed, which might be a good metric for a PR template.
With an issue discussion I mean something like a change to read models in the framework or adding fields in events/commands.

Ok I see your point. In that case an issue template might make sense.

@fforootd
To be honest im not sure so far. I want to get a feeling of what feels right to the development proceds and afterwards manifest some business processes for that

Ok so I ask differently how should "somebody" know that he should respect the content of this issue?
We certainly can start this way. I am only asking because I think nobody will know when and how to use this 😁

I totally agree. My priority list looks like this: define the purpose of the doc > design document > fill doc > design processes

@adlerhurst @fforootd Is this relevant right now? Or should we close it? As I don't see what we want to do with it.

/close


Add support for file:// URLs and/or rendering from HTML parameter

Hi,
We have a use case where we need to take raw HTML and render a screenshot of it. Our existing process is to write the HTML to a temporary file and provide a file:// URL to a screenshot-generating app. It would be nice if we could use manet in the same fashion (we would have to ensure that our manet container has access to this temporary file, but that can be left up to the implementation).
Even more convenient might be if we could pass raw HTML and have manet render it (presumably this would need to be POST rather than GET). I'm not sure if this could be a potential security concern, but if so maybe it could be a feature that has to be specifically enabled.

I think it is pretty easy to setup a local server and render your html on it instead.

I agree with @aetherwu I'm not sure about needs to take screenshots from local files, it could make some problems with security..
I suggest to close this ticket for now, and re-open if somebody needs it


change ap configuration to use RaspAP project installer

Ran into lots of trouble getting AP settings configured but switched over to using RaspAP project installer and worked flawlessly:
https://github.com/billz/raspap-webgui/
Let's discuss what's actually working/not working with AP config and see if we need to switch setup process to use this configuration.

closed - we have an image for initially flashing the wheel and then never need to touch the pi software again. yay.


Could not find latest version from feed

I could not install dnx using dvnm.sh sourced in bash on OS X, neither using a version on Homebrew (1.0.0 stable) nor the current dev branch cloned here.
Console output
$ dnvm upgrade
Determining latest version
usage: grep [-abcDEFGHhIiJLlmnOoqRSsUVvwxZ] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...]
Error: Could not find latest version from feed https://www.nuget.org/api/v2

I'm running OS X Yosemite 10.10.4 and GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Solution
However, I resolved the issue by editing two lines in dvnm.sh in function __dnvm_find_latest()
The latest version of dnx was not extracted due to wrong placements of quotes and an erraneous regex call to grep.
Before
91 -    xml="$(curl $url 2>/dev/null)"
92 -    echo $xml | grep \<[a-zA-Z]:Version\>* >> /dev/null || return 1

After
91 +    xml=$(curl "$url" 2>/dev/null)
92 +    echo "$xml" | egrep "(\<[a-zA-Z]:Version\>)*" >> /dev/null || return 1

Pull request: https://github.com/aspnet/Home/pull/754

Please move to https://github.com/aspnet/dnvm/

Thank you. This issue is now transferred to:
https://github.com/aspnet/dnvm/issues/359


Save to specific file

I am having trouble saving results from Iocextract to a specific file. I would like to specify the file it should write results to. As of now I am using the following command:  "./stoq-cli.py iocextract -F ingest/myfile -C file" However I cant seem to figure out how to specify where to save to.
Another thing I am unsure about is to use Iocextract for all files within a directory. Ideally I would like to have it process all files within a directory and then have all the results written to one file with the time-stamp appended to the file name. Is that possible?

Hi ShimonKlein,
Currently, there is not a means to specify the output file. The results will be placed in results/$plugin_name with a randomly generate filename. You can change the default directory by updating results_dir configuration setting in stoq.cfg.
To scan an entire directory, you can simply run ./stoq-cli.py iocextract -F path/to/your/directory -C file. This however will not place all results into one file, but instead, one randomly named file per result.
I'll tag this issue as an enhancement and see if we can get something similar to your request implemented.

Thank you! That would be a great help.

@ShimonKlein, I believe your issue should now be supported. Please let me know if you run into any issues.


Using multiple textures in one shader

Hello. I am trying to convert an old cellular automata simulation I wrote in Processing to WebGL. Your example here was the first/best one that I could find that made use of swapping or pingponging of textures, which is necessary for CA simulations on the GPU. I am trying to just replace your frag shader with mine.
The problem I have is that my CA is complex and requires two separate textures to hold all the information about a cell's state. I am not able to figure out your Igloo API and I know nothing about WebGL. In fact I barely remember what I did in Processing years ago. I am hoping that only a few lines of code need to be changed. I think I will ultimately need two 'front' textures and two 'back' textures or maybe I just need two uniform's like state and state2?
All the guts of my old CA are written in GLSL and at the top I have uniform sampler2D src_tex_unit0, src_tex_unit1; which is how the two textures are passed in. And I have out vec4 outState, outEnergy;, which is the corresponding output values for the shader.

I think I will be able to figure out how to do what I want from scratch using P5.js.

In case you hadn't seen it, here's the article I wrote about how it
works:
A GPU Approach to Conway's Game of Life
https://nullprogram.com/blog/2014/06/10/
And in a later project I extended this to a more complex automata that
solves mazes:
A GPU Approach to Path Finding
https://nullprogram.com/blog/2014/06/22/
https://github.com/skeeto/webgl-path-solver
Though that still just uses a single texture. If you need more than
that, you'll have to bind another pair of textures to uniforms. That's
mostly about repeating exactly what is already done with the "front" and
"back" textures.
These days I do wish I hadn't used Igloo for this since it's an extra
layer of abstraction that makes it harder to reuse. I no longer use
Igloo for that reason, and instead use WebGL directly. I originally
wrote and used Igloo as a kind of crutch while I was getting the hang of
OpenGL and WebGL.

Thanks for the reply. I have managed to figure things out with P5. Well, I got a test with multiple textures working. Still hooking up all the wires for my old Processing simulation to work...


docs(api-table): update API table and description

updated API table for socket.io verifier and validator.
names are changed for consistency

This PR corresponds to issue #1320
Signed-off-by: Izuru Sato<EMAIL_ADDRESS>

Codecov Report

Merging #1348 (7da8eb2) into main (35b20ac) will increase coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1348      +/-   ##
==========================================
+ Coverage   67.93%   67.95%   +0.01%
==========================================
  Files         301      301
  Lines       10948    10948
  Branches     1347     1347
==========================================
+ Hits         7438     7440       +2
+ Misses       2819     2817       -2
  Partials      691      691

Impacted Files
Coverage Δ

...main/typescript/rustc-container/rustc-container.ts
68.53% <0.00%> (+2.24%)
:arrow_up:

Continue to review full report at Codecov.

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

update the title of this PR, because commit lint complains 'scope must be lower-case [scope-case]'.

@petermetz @takeutak
Fixed lint problem.
The original commit message started from 'docs(API-table):'.
New commit message starts from 'docs(api-table):'.


Add all official Antrea logos

This makes sure they are available online for people to use.

/skip-e2e


implemented code to resolve issue of something went wrong while switching between different routes ( #1x0k51t )

Fixed. Closing.


[Bug]: Another BHD status message to ignore: "STREAM TRUNCATED"

Describe the Bug
[2022-03-04 20:55:27,956] [util.py:206]               [INFO]     |    Torrent Name: Movie.Name                                                     |
[2022-03-04 20:55:27,956] [util.py:206]               [INFO]     |          Status: STREAM TRUNCATED                                               |
[2022-03-04 20:55:27,956] [util.py:206]               [INFO]     |         Tracker: https://<BHD>                                                  |
[2022-03-04 20:55:27,958] [qbittorrent.py:840]        [INFO]     | Saving Torrent JSON file to /path/to/.Recycle.Bin/torrents_json/Movie.Name.json |
[2022-03-04 20:55:27,970] [qbittorrent.py:866]        [INFO]     | Backing up <HASH>>.torrent and .fastresume to /path/to/.Recycle.Bin/torrents    |
[2022-03-04 20:55:28,333] [util.py:206]               [INFO]     |         Deleted .torrent AND content files.                                     |

Config
No response
Logs

Screenshots
No response
Installation
Unraid
Version Number
3.2.1
What branch are you on?
master

Can you please share with me the torrent name?

Sent you a PM.

Well ideally there wouldn't be many instances like this. This would only apply to BHD and I think I have covered 99% of the use cases. Hopefully this will be the last of them

I got this same error again just now, but for a torrent from PHD.

And again today.

@bobokun Got this again today for a PHD torrent, would be great if it could be added as a general exception.

get the same on iptorrents like crazy

unsure if i should bother with a new issue or if you guys will pick up on this here but also getting these on TL


Allow jest.config.cts

Summary
This PR will allow loading jest.config.cts files for ESM projects like proposed in PR #14064 and issue #13118
Additionally, this PR will add fixtures and snapshots that should fix the tests.
Test plan

Good idea. These are the missing parts:

change log entry
some integration tests here (perhaps: to check that it works, and that type errors are reported as expected): https://github.com/facebook/jest/blob/main/e2e/tests/tsIntegration.test.ts
documentation should be altered here: https://github.com/facebook/jest/blob/15af9b3b6f53a4f2f2e39d328eb6ef9f46ba91c4/docs/Configuration.md?plain=1#L8

@mrazauskas Thanks for the hints, I added some things now, please tell me if something is missing 🙂

Thanks!
Did you try running these new e2e tests? To do so, you build the repo and run yarn test-ts --selectProjects ts-integration. It is passing on main, but if I checkout your branch few tests fail. They all have "CTS config" in their names.

Interesting, I ran yarn test after writing the tests and did not get any errors. Will get into this later today!

I investigated the failing tests and was able to recognize two separate issues:

I can't use imports
TS is not really working in those files. I tried a different strategy to import the Config type and got the following error:

"const config: Config.InitialOptions = {displayName: 'ts-object-config', verbose: true};\n" +
        '      ^^^^^^\n' +
        '\n' +
        'SyntaxError: Missing initializer in const declaration\n' +

I then tried to move it to the back using as Config.InitialOptions but this also did not work.
I don't have any idea how to solve this...

Still trying, but still really have no idea how to fix the issue that the .cts files appear not to be recognized as valid TypeScript...
Maybe some hints?

@DerTimonius can you post a new short summary about what the problem is?

One thing that I can see without looking too deeply into it is that you have an export in your .cts file:

Since .cts is compiled to CommonJS, maybe you need to use the module.exports = {} format as you see in the other jest.config.cjs fixture:
https://github.com/jestjs/jest/blob/cddd9497ed8aa34be5dafaac6b2f6473c238b4e5/packages/jest-cli/src/init/__tests__/__fixtures__/has-jest-config-file-cjs/jest.config.cjs#L1-L8

Ah no, I'm wrong about that, export keyword is just fine:
https://github.com/withastro/astro/blob/d2020c29cf285e699f92143a70ffa30a85122bb4/packages/integrations/svelte/src/editor.cts

@karlhorky Sure. The issues I'm currently facing are solely in the new integration tests that were necessary to write.
Initially I got an error, telling me that I can't use import in the .cts files. I changed the type import, but I'm pretty sure that this is the first issue.
If I'm running the tests now I get the following error
"const config: Config.InitialOptions = {displayName: 'ts-object-config', verbose: true};\n" +
        '      ^^^^^^\n' +
        '\n' +
        'SyntaxError: Missing initializer in const declaration\n' +

It appears to me that the normal TypeScript code is not recognized as such - if I change the code to this:
const config = {displayName: 'ts-object-config', verbose: true} as Config.InitialOptions

I get almost a different error, telling me that as is an unknown token.
What I tried so far

I dig a bit in the TS docs regarding .cts files and found that maybe it is necessary to add "module": "NodeNext" to the tsconfig.json file. I then put it in the tsconfig of the e2e directory, but still got the same errors.
I then tried to adapt the tsconfig.json file in the root dir by adding "module": "NodeNext". The errors remained the same.
I then looked if maybe somewhere in the code the possibility for .cts files is missing and need to be added, but I'm not sure where this should be the case.

Hiya, sorry about the radio silence. Let's get this in 🙂
I tried to merge in main - the only conflict was in the changelog, but it seems like there might have been other changes causing test failures?

Still getting the same errors that I mentioned above (https://github.com/jestjs/jest/pull/14070#issuecomment-1595818552)
I really don't get this error: writing TS code in a .cts file and it's not recognized...

nice! seems like we just need to fix packages/create-jest/src/__tests__/init.test.ts and it's good to go

Hm, I don't know why the last check is failing. I did not remove the file in question: /home/runner/work/jest/jest/packages/jest-cli/src/init/__tests__/tsconfig.json

packages/jest-cli/src/init/ have been moved to packages/create-jest - this is probably some remnant of that?

@SimenB @DerTimonius thanks for the PR, review and merge!
Look forward to trying this out in a release! Will this be a part of<EMAIL_ADDRESS>or<EMAIL_ADDRESS>

@SimenB if the next minor or major releases are still going to be pending for a while, what do you think of creating and publishing a new alpha release eg<EMAIL_ADDRESS>

Nice, this has been released in<EMAIL_ADDRESS>🎉

https://github.com/jestjs/jest/releases/tag/v30.0.0-alpha.3