fix shutdown code in hello_xr for android builds

The hello_xr program does not cleanly shutdown on Android based systems like Oculus Quest 2. I have written and tested a 3 line fix for the problem:
In src/tests/hello_xr/main.cpp function android_main() in the main loop is this function call:
        program->PollEvents(&exitRenderLoop, &requestRestart);

To fix the shutdown problem, add these lines following the above call to PollEvents():
        if (exitRenderLoop && !requestRestart) {
            ANativeActivity_finish(app->activity);
        }

The call to ANativeActivity_finish() tells the android main thread to initiate a shutdown of the NDK thread. That results in app->destroyRequested being set to a non-zero value, which causes the main while loop to terminate and end the program after android has put the NDK activity in the right state where it can shutdown cleanly. Exiting this loop and returning from android_main() prematurely cause the app to enter an odd state where it doesn't truly shutdown, which prevents the app from being started again on the Oculus Quest 2.

A similar change was made in the 1.0.25 release, I presume the change you proposed is still needed after that? Feel free to submit a Pull Request with your change and we'll get it merged.

If you are referring to this one in src/tests/hello_xr/main.cpp:android_main():
        program->PollEvents(&exitRenderLoop, &requestRestart);
        if (exitRenderLoop) {
            break;
        }

That doesn't work right. That causes the thread that the NDK activity is running in to terminate before android is ready for it. The program ends up in some sort of half terminated state where restarting the program becomes problematic (sorry, I'm no android expert by any stretch, so I can't explain it further than that). By replacing the break above with the call to ANativeActivity_finish(), the NDK thread continues to run until the program's android main thread tells it to terminate by setting  app->destroyRequested to non-zero, which android_main() is already while() looping on. The other thing is the above is ignoring requestRestart. If I am following the logic the handling of the XR_TYPE_EVENT_DATA_INSTANCE_LOSS_PENDING event in the PollEvents() function in openxr_program.cpp, the program shouldn't terminate when requestRestart is true, though I have yet to see that event happen in testing.
I don't know what a "pull request" is.

@jharan55 You can check https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests to learn what pull request is. In a short world, GitHub uses Pull Request or PR to manage contributor contributions.

Fix merged and released in 1.0.26, thanks!

That check in is an improvement though I note it still isn’t testing requestRestart as I documented in my original post. Not sure if it makes a difference, again I’m no Android expert. All I can say is the code I tested included the test for requestRestart and that code is what I released to the world in my Oculus Quest app MirrorBallVR on itch.io and Sidequest a few months ago. Last I checked my app had been downloaded 59 times so it’s getting some end user testing though admittedly a mere 59 downloads does not a comprehensive beta test make.
I do want to say thanks to the folks who developed and are maintaining hello_xr. There’s no way I could have gotten my app to work without having something that already works to start with like hello_xr.
Jeff Haran
On 12/01/2022 3:53 PM Ryan A. Pavlik<EMAIL_ADDRESS>wrote:

Fix merged and released in 1.0.26, thanks!
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

@jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart.

Sure. I've attached my main.cpp.
I've added some stuff to it to implement my app. The changes between the original hello_xr main.cpp and the attached version in are an also attached patch file.
The only things different process-wise are the calls to render_threads_start() and render_threads_stop(). The former creates some pthreads() and the latter shuts them down and joins them.
Jeff Haran

On 12/10/2022 3:44 PM computervisiongaming<EMAIL_ADDRESS>wrote:

@jharan55 https://github.com/jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart.

—
Reply to this email directly, view it on GitHub https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/329#issuecomment-1345410073 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEMP3GIQQV5HLQIMRKDWMUIWTANCNFSM6AAAAAAQEDNNC4 .
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Sure. I've attached my main.cpp. I've added some stuff to it to implement my app. The changes between the original hello_xr main.cpp and the attached version in are an also attached patch file. The only things different process-wise are the calls to render_threads_start() and render_threads_stop(). The former creates some pthreads() and the latter shuts them down and joins them. Jeff Haran
…
On 12/10/2022 3:44 PM computervisiongaming @.> wrote: @jharan55 https://github.com/jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart. — Reply to this email directly, view it on GitHub #329 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEMP3GIQQV5HLQIMRKDWMUIWTANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.>

Thanks, I appreciate it! Where can I find your main.cpp attachment? I don't see it on the message you sent.

Strange. I looked in my Sent folder and main.cpp is attached to the email I sent there.
I've attach it again to this one, along with the patch file.
Jeff

On 12/11/2022 2:19 PM computervisiongaming<EMAIL_ADDRESS>wrote:

    > >

    Sure. I've attached my main.cpp. I've added some stuff to it to implement my app. The changes between the original hello_xr main.cpp and the attached version in are an also attached patch file. The only things different process-wise are the calls to render_threads_start() and render_threads_stop(). The former creates some pthreads() and the latter shuts them down and joins them. Jeff Haran
    …
    On 12/10/2022 3:44 PM computervisiongaming @.> wrote: @jharan55 https://github.com/jharan55 https://github.com/jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart. — Reply to this email directly, view it on GitHub #329 (comment) https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/329#issuecomment-1345410073 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEMP3GIQQV5HLQIMRKDWMUIWTANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.>

>

Thanks, I appreciate it! Where can I find your main.cpp attachment? I don't see it on the message you sent.

—
Reply to this email directly, view it on GitHub https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/329#issuecomment-1345672693 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEKPOVFKFEVSLVJWV2TWMZHPNANCNFSM6AAAAAAQEDNNC4 .
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Just in case this has to do with the funky email client I get with my ISP not liking files with extension like .cpp, I've attached a main.zip file with my main.cpp and the patch file in it.
Let me know whether or not this gets through.
Jeff

On 12/11/2022 2:19 PM computervisiongaming<EMAIL_ADDRESS>wrote:

    > >

    Sure. I've attached my main.cpp. I've added some stuff to it to implement my app. The changes between the original hello_xr main.cpp and the attached version in are an also attached patch file. The only things different process-wise are the calls to render_threads_start() and render_threads_stop(). The former creates some pthreads() and the latter shuts them down and joins them. Jeff Haran
    …
    On 12/10/2022 3:44 PM computervisiongaming @.> wrote: @jharan55 https://github.com/jharan55 https://github.com/jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart. — Reply to this email directly, view it on GitHub #329 (comment) https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/329#issuecomment-1345410073 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEMP3GIQQV5HLQIMRKDWMUIWTANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.>

>

Thanks, I appreciate it! Where can I find your main.cpp attachment? I don't see it on the message you sent.

—
Reply to this email directly, view it on GitHub https://github.com/KhronosGroup/OpenXR-SDK-Source/issues/329#issuecomment-1345672693 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEKPOVFKFEVSLVJWV2TWMZHPNANCNFSM6AAAAAAQEDNNC4 .
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Just in case this has to do with the funky email client I get with my ISP not liking files with extension like .cpp, I've attached a main.zip file with my main.cpp and the patch file in it. Let me know whether or not this gets through. Jeff
…
On 12/11/2022 2:19 PM computervisiongaming @.> wrote: > > > Sure. I've attached my main.cpp. I've added some stuff to it to implement my app. The changes between the original hello_xr main.cpp and the attached version in are an also attached patch file. The only things different process-wise are the calls to render_threads_start() and render_threads_stop(). The former creates some pthreads() and the latter shuts them down and joins them. Jeff Haran > … > On 12/10/2022 3:44 PM computervisiongaming @.> wrote: @jharan55 https://github.com/jharan55 https://github.com/jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart. — Reply to this email directly, view it on GitHub #329 (comment) #329 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEMP3GIQQV5HLQIMRKDWMUIWTANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.> > > > Thanks, I appreciate it! Where can I find your main.cpp attachment? I don't see it on the message you sent. — Reply to this email directly, view it on GitHub #329 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEKPOVFKFEVSLVJWV2TWMZHPNANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.>

I receive your emails on my Gmail, but there's no attachment. Maybe it's because my email was set to private? I just made my email private and listed it in my bio. Maybe this helps?

OK. I'll attach main.cpp one more time and resend. And I've copied the contents of main.cpp below. Perhaps you can cut and paste it into an editor. Unfortunately, leading tabs apparently don't paste. Jeff // Copyright (c) 2017-2022, The Khronos Group Inc. // // SPDX-License-Identifier: Apache-2.0 #include "pch.h" #include "common.h" #include "options.h" #include "platformdata.h" #include "platformplugin.h" #include "graphicsplugin.h" #include "openxr_program.h" #include "mirror_ball.h" #if defined(_WIN32) // Favor the high performance NVIDIA or AMD GPUs extern "C" { // http://developer.download.nvidia.com/devzone/devcenter/gamegraphics/files/OptimusRenderingPolicies.pdf __declspec(dllexport) DWORD NvOptimusEnablement = 0x00000001; // https://gpuopen.com/learn/amdpowerxpressrequesthighperformance/ __declspec(dllexport) DWORD AmdPowerXpressRequestHighPerformance = 0x00000001; } #endif // defined(_WIN32) namespace { #ifdef XR_USE_PLATFORM_ANDROID void ShowHelp() { Log::Write(Log::Level::Info, "adb shell setprop debug.xr.graphicsPlugin OpenGLES|Vulkan"); } bool UpdateOptionsFromSystemProperties(Options& options) { #if defined(DEFAULT_GRAPHICS_PLUGIN_OPENGLES) options.GraphicsPlugin = "OpenGLES"; #elif defined(DEFAULT_GRAPHICS_PLUGIN_VULKAN) options.GraphicsPlugin = "Vulkan"; #endif char value[PROP_VALUE_MAX] = {}; if (__system_property_get("debug.xr.graphicsPlugin", value) != 0) { options.GraphicsPlugin = value; } // Check for required parameters. if (options.GraphicsPlugin.empty()) { Log::Write(Log::Level::Error, "GraphicsPlugin parameter is required"); ShowHelp(); return false; } return true; } #else void ShowHelp() { // TODO: Improve/update when things are more settled. Log::Write(Log::Level::Info, "mirror_ball --graphics|-g  [--formfactor|-ff ] [--viewconfig|-vc ] " "[--blendmode|-bm ] [--space|-s ] [--verbose|-v]"); Log::Write(Log::Level::Info, "Graphics APIs: D3D11, D3D12, OpenGLES, OpenGL, Vulkan2, Vulkan"); Log::Write(Log::Level::Info, "Form factors: Hmd, Handheld"); Log::Write(Log::Level::Info, "View configurations: Mono, Stereo"); Log::Write(Log::Level::Info, "Environment blend modes: Opaque, Additive, AlphaBlend"); Log::Write(Log::Level::Info, "Spaces: View, Local, Stage"); } bool UpdateOptionsFromCommandLine(Options& options, int argc, char* argv[]) { int i = 1; // Index 0 is the program name and is skipped. auto getNextArg = [&] { if (i >= argc) { throw std::invalid_argument("Argument parameter missing"); } return std::string(argv[i++]); }; while (i < argc) { const std::string arg = getNextArg(); if (EqualsIgnoreCase(arg, "--graphics")) { options.GraphicsPlugin = getNextArg(); } else if (EqualsIgnoreCase(arg, "--formfactor")) { options.FormFactor = getNextArg(); } else if (EqualsIgnoreCase(arg, "--viewconfig")) { options.ViewConfiguration = getNextArg(); } else if (EqualsIgnoreCase(arg, "--blendmode")) { options.EnvironmentBlendMode = getNextArg(); } else if (EqualsIgnoreCase(arg, "--space")) { options.AppSpace = getNextArg(); } else if (EqualsIgnoreCase(arg, "--verbose")) { Log::SetLevel(Log::Level::Verbose); } else if (EqualsIgnoreCase(arg, "--help")) { ShowHelp(); return false; } } // Check for required parameters. if (options.GraphicsPlugin.empty()) { Log::Write(Log::Level::Error, "GraphicsPlugin parameter is required"); ShowHelp(); return false; } return true; } #endif } // namespace #ifdef XR_USE_PLATFORM_ANDROID struct AndroidAppState { ANativeWindow* NativeWindow = nullptr; bool Resumed = false; }; /** * Process the next main command. / static void app_handle_cmd(struct android_app app, int32_t cmd) { AndroidAppState* appState = (AndroidAppState*)app->userData; switch (cmd) { // There is no APP_CMD_CREATE. The ANativeActivity creates the // application thread from onCreate(). The application thread // then calls android_main(). case APP_CMD_START: { Log::Write(Log::Level::Info, " APP_CMD_START"); Log::Write(Log::Level::Info, "onStart()"); break; } case APP_CMD_RESUME: { Log::Write(Log::Level::Info, "onResume()"); Log::Write(Log::Level::Info, " APP_CMD_RESUME"); appState->Resumed = true; break; } case APP_CMD_PAUSE: { Log::Write(Log::Level::Info, "onPause()"); Log::Write(Log::Level::Info, " APP_CMD_PAUSE"); appState->Resumed = false; break; } case APP_CMD_STOP: { Log::Write(Log::Level::Info, "onStop()"); Log::Write(Log::Level::Info, " APP_CMD_STOP"); break; } case APP_CMD_DESTROY: { Log::Write(Log::Level::Info, "onDestroy()"); Log::Write(Log::Level::Info, " APP_CMD_DESTROY"); appState->NativeWindow = NULL; break; } case APP_CMD_INIT_WINDOW: { Log::Write(Log::Level::Info, "surfaceCreated()"); Log::Write(Log::Level::Info, " APP_CMD_INIT_WINDOW"); appState->NativeWindow = app->window; break; } case APP_CMD_TERM_WINDOW: { Log::Write(Log::Level::Info, "surfaceDestroyed()"); Log::Write(Log::Level::Info, " APP_CMD_TERM_WINDOW"); appState->NativeWindow = NULL; break; } } } // void mirror_ball; // opaque handle to struct mirror_ball in .c code /* * This is the main entry point of a native application that is using * android_native_app_glue. It runs in its own thread, with its own * event loop for receiving input events and doing other things. / void android_main(struct android_app app) { try { void mirror_ball; // opaque handle to struct mirror_ball in .c code JNIEnv Env; app->activity->vm->AttachCurrentThread(&Env, nullptr); AndroidAppState appState = {}; app->userData = &appState; app->onAppCmd = app_handle_cmd; std::shared_ptr options = std::make_shared(); if (!UpdateOptionsFromSystemProperties(options)) { return; } mirror_ball = render_init(); std::shared_ptr data = std::make_shared(); data->applicationVM = app->activity->vm; data->applicationActivity = app->activity->clazz; bool requestRestart = false; bool exitRenderLoop = false; // Create platform-specific implementation. std::shared_ptr platformPlugin = CreatePlatformPlugin(options, data); // Create graphics API implementation. std::shared_ptr graphicsPlugin = CreateGraphicsPlugin(options, platformPlugin); graphicsPlugin->m_worldOffset.z = (-2.0 * max_source_dist_primary); // Initialize the OpenXR program. std::shared_ptr program = CreateOpenXrProgram(options, platformPlugin, graphicsPlugin); program->m_mirror_ball = mirror_ball; // Initialize the loader for this platform PFN_xrInitializeLoaderKHR initializeLoader = nullptr; if (XR_SUCCEEDED( xrGetInstanceProcAddr(XR_NULL_HANDLE, "xrInitializeLoaderKHR", (PFN_xrVoidFunction)(&initializeLoader)))) { XrLoaderInitInfoAndroidKHR loaderInitInfoAndroid; memset(&loaderInitInfoAndroid, 0, sizeof(loaderInitInfoAndroid)); loaderInitInfoAndroid.type = XR_TYPE_LOADER_INIT_INFO_ANDROID_KHR; loaderInitInfoAndroid.next = NULL; loaderInitInfoAndroid.applicationVM = app->activity->vm; loaderInitInfoAndroid.applicationContext = app->activity->clazz; initializeLoader((const XrLoaderInitInfoBaseHeaderKHR*)&loaderInitInfoAndroid); } program->CreateInstance(); program->InitializeSystem(); program->InitializeSession(); program->CreateSwapchains(); render_threads_start(mirror_ball); while (app->destroyRequested == 0) { // Read all pending events. for (;;) { int events; struct android_poll_source* source; // If the timeout is zero, returns immediately without blocking. // If the timeout is negative, waits indefinitely until an event appears. const int timeoutMilliseconds = (!appState.Resumed && !program->IsSessionRunning() && app->destroyRequested == 0) ? -1 : 0; if (ALooper_pollAll(timeoutMilliseconds, nullptr, &events, (void**)&source) < 0) { break; } // Process this event. if (source != nullptr) { source->process(app, source); } } program->PollEvents(&exitRenderLoop, &requestRestart); #if 1 // FIXME: this is a test if (exitRenderLoop && !requestRestart) { ANativeActivity_finish(app->activity); } #endif if (!program->IsSessionRunning()) { // Throttle loop since xrWaitFrame won't be called. std::this_thread::sleep_for(std::chrono::milliseconds(250)); continue; } program->PollActions(); program->RenderFrame(); } render_threads_stop(); render_close_hdl(program->m_mirror_ball); app->activity->vm->DetachCurrentThread(); } catch (const std::exception& ex) { Log::Write(Log::Level::Error, ex.what()); } catch (...) { Log::Write(Log::Level::Error, "Unknown Error"); } } #else int main(int argc, char* argv[]) { parse_command_line(argc, argv); try { // Parse command-line arguments into Options. std::shared_ptr options = std::make_shared(); if (!UpdateOptionsFromCommandLine(options, argc, argv)) { return 1; } std::shared_ptr data = std::make_shared(); // Spawn a thread to wait for a keypress static bool quitKeyPressed = false; auto exitPollingThread = std::thread{[] { Log::Write(Log::Level::Info, "Press any key to shutdown..."); (void)getchar(); quitKeyPressed = true; }}; exitPollingThread.detach(); bool requestRestart = false; do { void mirror_ball; // opaque handle to struct mirror_ball in .c code mirror_ball = render_init(); // Create platform-specific implementation. std::shared_ptr platformPlugin = CreatePlatformPlugin(options, data); // Create graphics API implementation. std::shared_ptr graphicsPlugin = CreateGraphicsPlugin(options, platformPlugin); graphicsPlugin->m_worldOffset.z = (-2.0 * max_source_dist_primary); // Initialize the OpenXR program. std::shared_ptr program = CreateOpenXrProgram(options, platformPlugin, graphicsPlugin); program->m_mirror_ball = mirror_ball; program->CreateInstance(); program->InitializeSystem(); program->InitializeSession(); program->CreateSwapchains(); render_threads_start(mirror_ball); while (!quitKeyPressed) { bool exitRenderLoop = false; program->PollEvents(&exitRenderLoop, &requestRestart); if (exitRenderLoop) { break; } if (program->IsSessionRunning()) { program->PollActions(); program->RenderFrame(); } else { // Throttle loop since xrWaitFrame won't be called. std::this_thread::sleep_for(std::chrono::milliseconds(250)); } } render_threads_stop(); render_close_hdl(program->m_mirror_ball); } while (!quitKeyPressed && requestRestart); return 0; } catch (const std::exception& ex) { Log::Write(Log::Level::Error, ex.what()); return 1; } catch (...) { Log::Write(Log::Level::Error, "Unknown Error"); return 1; } } #endif
…
On 12/11/2022 4:51 PM computervisiongaming @.> wrote: > > > Just in case this has to do with the funky email client I get with my ISP not liking files with extension like .cpp, I've attached a main.zip file with my main.cpp and the patch file in it. Let me know whether or not this gets through. Jeff > … > On 12/11/2022 2:19 PM computervisiongaming @.> wrote: > > > Sure. I've attached my main.cpp. I've added some stuff to it to implement my app. The changes between the original hello_xr main.cpp and the attached version in are an also attached patch file. The only things different process-wise are the calls to render_threads_start() and render_threads_stop(). The former creates some pthreads() and the latter shuts them down and joins them. Jeff Haran > … > On 12/10/2022 3:44 PM computervisiongaming @.> wrote: @jharan55 https://github.com/jharan55 https://github.com/jharan55 https://github.com/jharan55 Hi, could you share your hello_xr main.cpp with me please? I'm having the same problem with restarting my hello_xr on my Quest 2. I changed the 'break' statement to 'ANativeActivity_finish();' and 'ANativeActivity_finish(app->activity);', but it still crashes on restart. — Reply to this email directly, view it on GitHub #329 #329 (comment) #329 (comment) #329 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEMP3GIQQV5HLQIMRKDWMUIWTANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.> > > > Thanks, I appreciate it! Where can I find your main.cpp attachment? I don't see it on the message you sent. — Reply to this email directly, view it on GitHub #329 (comment) #329 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEKPOVFKFEVSLVJWV2TWMZHPNANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.> > > > I receive your emails on my Gmail, but there's no attachment. Maybe it's because my email was set to private? I just made my email private and listed it in my bio. Maybe this helps? — Reply to this email directly, view it on GitHub #329 (comment) , or unsubscribe https://github.com/notifications/unsubscribe-auth/AXSIBEOEVCGHXWWXPB64GGLWMZZKZANCNFSM6AAAAAAQEDNNC4 . You are receiving this because you were mentioned.Message ID: @.**>

Great thanks! I still don't get the attachments in my email, but I can see the contents of main.cpp in your comment. Tomorrow I'll see if this code can help me with my hello_xr restart issues.

Great thanks! I still don't get the attachments in my email, but I can see the contents of main.cpp in your comment. Tomorrow I'll see if this code can help me with my hello_xr restart issues.

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.
51 years since the invention of arpanet email and it’s still a challenge to deliver ASCII text files. Progress…

Glad you got it!

Jeff

I think this has been fixed: I don't see any changes in your posted file that should affect shutdown except for one marked "FIXME: this is a test" .
For future reference, GitHub uses Markdown to format issue comments, etc. so putting three back-ticks on a row of their own, both before and after a code snippet, should have preserved the spaces, etc.


Put sync frequency/manage microblog systems in Account & sync settings

This is logical and will be done. The reason why these settings are "General AndStatus settings" are historical :-)

In order to make sync settings easier for a User I will allow to have single default sync frequency for all accounts and all timelines (as it is now) plus ability to change this default for any individual timeline.

Additional controls for account syncing implemented in v.27.00 (180), available at the Open Beta testing channel https://play.google.com/apps/testing/org.andstatus.app


version bump to scrypto v1.0.0

Used the first thing that worked for the new path for p/dec import feel free to adjust it but otherwise a straightforward bump

Thanks @zygomeb . I took a look at the new macros and they are implemented in radix-engine-macros and therefore decided to use this package as dependency. To finish the migration easily I created a new PR #8 with all changes including a version bump of scrypto_math to 0.3.0. I will close this PR in favour of #8 - but really thank you very much for your contribution 👍


Add assertions_on_constants

What it does
Checks for assert!(true) and assert!(false) calls.
Why is this bad?
Should probably be replaced by a panic!() or removed
Example
assert!(false)
assert!(true)
const B: bool = false;
assert!(B)

I am applying to this issue via OnlyDust platform.
My background and how it can be leveraged
I'm a software developer with experience in projects using Java, C#, Rust, Cairo, and other technologies, and I'm a member of the Dojo Coding community in Costa Rica.
How I plan on tackling this issue
I would resolve the issue by replacing assert!(false) with panic!() to make the failure intention clearer, and removing redundant assert!(true) calls. This will improve the code's clarity and readability.

Sure


[GSSoC'23] Enlisting all the contributors

PR Description 📜

Enlisting all the contributors of the GameZone on the main page of the website

Fixes #2580

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[x] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸
https://github.com/kunjgit/GameZone/assets/114330097/c1920585-f32b-4f87-ac21-733ee7696f99

Thank you soo much for contributing to our repository 💗

Thank you @Avdhesh-Varshney ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

@kunjgit @gurjeetsinghvirdee @Arun9739 sir, please review this pull request

Thank you  @Avdhesh-Varshney , for your valuable time and contribution in our GameZone 💗.
It’s our GameZone, so Let’s build this GameZone altogether !!🤝
Hoping to see you soon with another PR again 😇
Wishing you all the best for your journey into Open Source🚀


WIP Feature/ansible

Ansible roles for deploying:

[x] docker
[x] ssh keys
[x] nginx with TLS certs
[x] node-exporter behind nginx with SSL and basic auth
[x] go-pfs as docker container (bootstrappers)
[x] go-ipfs as binary (gateways + preloaders will move to docker deploys soon)
[x] netdata config enabling histograms for gateway responses
[ ] git repo for storing encrypted ansible vault

git repo for storing encrypted ansible vault

unarchived https://github.com/protocol/infrastructure-secrets

@hsanjuan shouldn't runbooks be centralised? or there should be at least a central runbook index? There should be only one place I have to go to find all the runbooks or links to runbooks. As strongly as I feel about this point, I am split about the separation of deployment code/config from the documentation that describes it...

@hsanjuan shouldn't runbooks be centralised? or there should be at least a central runbook index? There should be only one place I have to go to find all the runbooks or links to runbooks. As strongly as I feel about this point, I am split about the separation of deployment code/config from the documentation that describes it...

I would like everything to be centralized, but at the same time gateways and bootstrappers are first priority so I'd like that at least to be centralized.

LGTM. We can iterate on the particulars, but unblocking easier deployments will be a big step forward.


Box Sizing Models CSS

Description 📜

I want to create documentation on box sizing models HTML/CSS

Domain of Contribution 📊

[x] Frontend Dev (HTML, CSS, JS)

/assign

/assign

\assign Document

assign


Fix BufferOverflowException during non-Unsafe PooledDirectByteBuf resize

Motivation
Recent optimization #9765 introduced a bug where the native indices of the internal reused duplicate nio buffer are not properly reset prior to using it to copy data during a reallocation operation. This can result in BufferOverflowExceptions thrown during ByteBuf capacity changes.
The code path in question applies only to pooled direct buffers when Unsafe is disabled or not available.
Modification
Ensure ByteBuffer#clear() is always called on the reused internal nio buffer prior to returning it from PooledByteBuf#internalNioBuffer() (protected method); add unit test that exposes the bug.
Result
Fixes #9911

@netty-bot test this please

@netty-bot test this please

@netty-bot test this please

@netty-bot test this please

@netty-bot test this please

@normanmaurer hopefully this will help #9943 :)

@njhill thanks a lot


Fix: handle undefined 'file' in notion block rendering

Description
A monitor failed because the image-type block retrieved by notion did not have file set (although it should have according to notion doc). Details here
This PR handles that situation.

will go ahead and merge to fix the monitor, PMRW tomorrow

What is the URL used for?


FEAT: Frontend API

You mean default api as we have charts api?

I mean some client interface to end-to-end support of any kind of transformation
3.0.0 for frontend-api will have just axios request which will send variables && query. It will be a base for any new features described below
3.1.0 will have hashes which will auth requests on backend (dev loader, like webpack loader for that)
After 3.1.0 we can add some kind of client side directives (which can be added on frontend only, like plugins)
And probably somewhere in future typescript plugin which will add types/suggestions/errors in dev mode / at build time
3.1.0 and later functionality already has a support in graphql-tag / apollo, so we will just need to add it to our frontend binding
I think it will have interface like:
import query from 'query.graphql';
import clientSideDirective from './custom-client-side-directive';

useDirective(clientSideDirective);

...

const { isLoading, data, error } = useSlicer(query, variables)

For this repo it will be probably just example
For us it will be real integration right now


[Request] Add docker desktop

When support to install docker desktop?

Relates https://github.com/lukesampson/scoop/issues/3082#issuecomment-460715842

PUSH, this is still needed :)

Wow crazy how this still isnt a thing. Makes my move to chocolately easier.

Still nothing? Nobody?

I would like to see Docker-Desktop too but in particular with an option to uncheck WSL2, which is a checkbox when opening the regular installer, as shown below. Without this option, installing using scoop is not an option for me as you cannot use Hyper-V AND WSL at the same time. As I'm using Hyper-V for other purposes, I want to simply have Docker use it too for compatibility reasons.

Additionally it should be suggested to be installed when using scoop install extras/dangerzone as Docker-Desktop is a dependency there.


Client-side error - forEach

ANET 2.0.13 gets Unable to get property 'forEach' of undefined or null reference error in main.1f692e8d.js 47:23318

Could it be related to: #429

Does this still happen since 2.0.18(.1) i.e. with the React 16 upgrade merged?


Increment version for guestconfiguration releases

Increment package version after release of Azure.ResourceManager.GuestConfiguration

API change check
API changes are not detected in this pull request.


fix duplication erro message

When uploading docs for format Review "You must upload a Format Review File" error message show up twice when you upload a docs thats's not accepted. We fix the code to make sure that this error message only show up once if the student submit the wrong doc.
closes #545

Fixed by #614


Bug when swap on entire document

Hi,
When I swap a selected component with an other file it's work like a charm but when I choose "Apply to document" Sketch no longer responding and I have to force quit Sketch.
(I also tried with only Camilo activated)
Sketch : 72.4
Camilo: 2.1.0
MacOS : Catalina 10.15.7

I can't reproduce the bug. It is working just fine for me. Please, can you describe with more detail the context  or attach an example document? Is working fine in other documents or with another libraries?


Bug: media_player entity not showing up in Music Assistant integration

I'm playing with "Music Assistant" integration and it doesn't find new "Hass.Agent" integration's created media player. It does find old "Hass Agent MediaPlayer" integration's player, though.
If i run playback in developer tools new media player works fine. But, as said, Music Assistant can't find it. Since at long run Hass Agent MediaPlayer integration will become ...well, maybe even obsolete and removed i guess, this is a problem...
Any clues?

Thanks for letting me know, I'm able to reproduce this but not quite sure why it's not seeing it (yet). I'll wait for tomorrow's release, since that'll be able to support the new 2022.11 release of MA, see if that fixes it. Otherwise I'll open a ticket with the devs.

Thanks a lot!

Additional info: I found out that above media player is not the only one which doesn't allow to be added - i have three tablets, running Fully kiosk and fully integration in HA, which among others creates media player and it also doesn't allow to be added (picture).

Interesting, thanks for the followup

No dice, I'll open a ticket with the devs

Dev mentioned that set_volume needs to be implemented, and that does indeed fix it.
HASS.Agent needs an update for that as well though, so this'll be implementeed in the next beta release :)

The beta is released if you want to test: https://github.com/LAB02-Research/HASS.Agent/releases/tag/2022.14.0-beta1
You'll also need to update the integration to the latest version (2022.11.9)
Afterwards, it should show up in Music Assistant

Yep. it does show up. Thanks!

Great 😀


Hello, I did not find the eval_scripts module in your library

Hello, I did not find the eval_scripts module in your library. How can I solve this problem?

Our released version only provides code related to the "nudity" concept, so we did not include codes in the eval_scripts, which are evaluation scripts for other concepts.

Thank you for your answer. For research purposes, is it possible to upload the complete code including other concepts? Thank you very much.

Hello,  @joycenerd; I have the same issues; could you please update this for research purposes? Thank you very much!

Hello @slrhs, @ryliu68,
After some discussion, we decide not to release the complete code for other concepts, we've created a guide that explains how to adapt our P4D framework for different concepts and models. You can find this guide in GUIDES.md.
We believe this guide will be more valuable for research purposes as it enables you to adapt the framework to your specific needs rather than being limited to our implementations.
Let us know if you have any questions about the adaptation process!


Conflicting directions between this article and another article this one refers to

In the section "Download and restore the backup to the development environment"
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/migration-upgrade/data-upgrade-2012#download-and-restore-the-backup-to-the-development-environment
The last sentence states: "Finally, rename the newly restored AX 2012 database AXDB."
However, in the next section, titled "Run the data upgrade deployable package", you refer to this article for more information:
https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/migration-upgrade/upgrade-data-to-latest-update
In this article, the instructions state: "...name your new database imported_new."
(This is step 2 in the "Upgrade the database" section: https://docs.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/migration-upgrade/upgrade-data-to-latest-update#upgrade-the-database)
May I suggest an alignment between these two articles so that they are consistent with what the restored database should be called?
Thanks.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9ae815e8-03c2-0769-5e6a-e36f57244651
Version Independent ID: 5304a30a-ca52-0bb6-99c3-c7a5bb8ab36e
Content: Upgrade from AX 2012 - Data upgrade in development environments - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/migration-upgrade/data-upgrade-2012.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @laneswenka
Microsoft Alias: laswenka

@danielzook, thank you for providing this feedback!
@laneswenka, please review and update the content, as needed.

Bug 10059315 has been logged to track this issue.


[UX] [Doc] Structure Doc content - Make Installation guide a main heading

Description:
Not fulfilling checklist items:
Help and documentation - Does the content appear in a structured and logical order?
Related task:
Run the product
Issue:
Installation guide is under Deep dive section[1]. This should be more visible to the user
Proposed Solution:
Make the "installation guide" subheading a main heading below introduction.
As a further improvement, we can structure the content as in IS[2] renaming "Deep Dive"  to
"Using WSO2 API Manager".
Doc Link:
[1] https://docs.wso2.com/display/AM210/Installation+Guide
[2] https://docs.wso2.com/display/IS540/WSO2+Identity+Server+Documentation
Suggested Labels:
Docs , improvement, 2.1.0
Affected Product Version:
2.1.0

We will not be fixing this as this issue is based on an older version of the product.


LibWeb: Implement popover property and attribute

The popover property now reflects the attribute.
It cannot currently use the Reflect IDL concept because the empty string value is special cased.
https://wpt.live/html/semantics/popovers/popover-attribute-basic.html - IDL Attribute Reflection subtest now passes.

Wrt to the reflection stuff I think ladybird needs an Empty value default attribute in the idl generator for this to work. But it's possible thered something else at play here.


Fix datadog external metric query when no label is set

What does this PR do?
Following up on https://github.com/DataDog/datadog-agent/pull/2666 , the following configuration is accepted by the hpa controller:
    external:
      metricName: nginx.net.request_per_s
      metricSelector:
        matchLabels:
      targetAverageValue: 9

The current logic resulted in an invalid nginx.net.request_per_s{} datadog query, instead of nginx.net.request_per_s{*}, making the whole metric batch query fail. All metrics being batched together, that brings all other external metrics to age out and become invalid:
external_metric-default-nginxext-nginx.net.request_per_s: '{"metricName":"nginx.net.request_per_s","labels":null,"ts":1542795321,"hpa":{"name":"nginxext","namespace":"default","uid":"cd03c0f1-ecea-11e8-9341-42010a8400d9"},"value":0,"val
id":false}'
external_metric-default-nginxext2-docker.cpu.usage: '{"metricName":"docker.cpu.usage","labels":{"kube_container_name":"nginx","kube_deployment":"nginx2"},"ts":1542795321,"hpa":{"name":"nginxext2","namespace":"default","uid":"18c74728-ed
70-11e8-9341-42010a8400d9"},"value":0,"valid":false}'

This PR fixes hpa.getKey to handle the special case of len(labels) == 0, making the query layer resilient to empty tags.
Tested image: xvellodatadog/agent-dev:hpa-notag

Codecov Report

Merging #2702 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #2702      +/-   ##
==========================================
+ Coverage   56.66%   56.67%   +<.01%
==========================================
  Files         380      380
  Lines       24123    24125       +2
==========================================
+ Hits        13670    13673       +3
+ Misses       9538     9537       -1
  Partials      915      915

Impacted Files
Coverage Δ

pkg/util/kubernetes/hpa/processor.go
87.14% <100%> (+0.37%)
:arrow_up:

pkg/logs/auditor/auditor.go
71.83% <0%> (+0.7%)
:arrow_up:


[5.1] Simplify logic in Model::asDateTime()

follow-up to #8469

:+1:

:+1:

Going to need much more explanation than this.

Why is water wet?
Chemically speaking saying that water is wet has not much sense. We could however say that "Wetting process" is caused by the presence of a thin liquid particles layer over a material. In our specific case this depend from the chemistry of water and the chemistry of skin. So the main causes of the fact that water is wet, is its wetting properties determined by a force balance between adhesive and cohesive forces over the skin. Mercury although is a liquid will not "wet" you because it has strong cohesive force that don't permit to the molecules to get in touch with the sensory cells. When you touch water or a water wetted material part of the water molecules are transfer to your hands (an hydrophilic material) and so to the receptor cells giving the sensation of wet, this sensation can be caused however in some case of parasthesias even if there are no liquid particles. In fact there are no "wet receptor" over your skin but the sensation is due to the elaboration of different stimuli from tactile, pressure and temperature receptor present in you skin. Try to play with plasticine after a while handling it your hands will become hydrophobic you will no more fell the wet sensation when you wash them even if water is still "wet"!
References

Marchioro, Giacomo (2014). "Why is water wet?".

Huh?  :)
If someone wants to explain it for real I will merge it.
On Monday, April 20, 2015, Graham Campbell<EMAIL_ADDRESS>wrote:

@taylorotwell https://github.com/taylorotwell Are you serious?
—
Reply to this email directly or view it on GitHub
https://github.com/laravel/framework/pull/8478#issuecomment-94529652.

If someone wants to explain it for real I will merge it.

Maybe you're not seeing it.  Look at the whole function before and after, then it should become clear why this change makes so much sense. :)

I was going to split the PR in 2 commits, but in fact it is better to keep it as a whole, as it is the most straightforward.
@taylorotwell That's the best I can do:

(I had forgotten how hard it is to draw arrows by hand :p)

For the record, this change made it in #9408.


kamid: init at 0.1

Motivation for this change
kamid is a FREE, easy-to-use and portable implementation of a 9p file server daemon for UNIX-like systems.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Please also add your package to pkgs/top-level/all-packages.nix.

Added! :D Should i squash it into "kamid: init at 0.1" or is it fine?

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

1 package built:

kamid

Please also add your package to pkgs/top-level/all-packages.nix.

Added! :D Should i squash it into "kamid: init at 0.1" or is it fine?

i have squashed it while merging, generally  you shold squash it, sometimes mergers forget to check it  :)


Windows executable request

Hello !
Is is possible that you include a guide how to compile this ? Or an already built windows executable ?
Thanks

It's not an executable, it's made in javascript, to compile it you have to use the javascript version of the compiler with the bun runtime in the index.yap.
You can transpile it to javascript from the /src/ directory by running:
bun ./backup/yapped_index.js ./index.yap


Unable to set path in access phase using kong.service.request.set_path

Hi Team,
Trying to set path in existing hostname, but its not happening
Existing : www.abc.com/common
New : www.abc.com/common/devices
Using kong.service.request.set_path('/devices') to set the path

Duplicated: https://github.com/Kong/kong/discussions/9803, closing.


Add binary for scanning a range of IPs and reporting a summary of expiration details (OK, WARNING, CRITICAL)

I'm thinking of output similar to the atc0005/dnsc project, very high-level for discovery. Specific systems can then be evaluated more closely via lscert.
Perhaps have quick result codes of OK, ! and X.
The concepts here should come in handy:

https://developer20.com/tcp-scanner-in-go/
https://github.com/blackhat-go/bhg/tree/master/ch-2
https://youtu.be/CMzm8485o4I?t=1681

haven't watched the video past this point, but the rest of the video has been very informative, so I'm assuming that this will be relevant

https://youtu.be/CMzm8485o4I?t=1808
Example:
conSema := make(chan struct{}, 10)
var wg sync.WaitGroup
for i := 1; i <- 65535; i++ {
	conSema <- struct{}{}
	go func(port int) {
		...
		wg.Done()
		<-conSema
	}(i)
}
wg.Wait()

Once 10 goroutines are in play, no further goroutines can be spun off until earlier ones complete/exit.

Leaning towards releasing a MVP version of certsum, the binary discussed previously. Later versions could add the  additional functionality I've been considering:

CSV export (bulk of fields, vs select few chosen for summary console output)
refactored flags

current set used by the prototype are a bit unwieldy

concurrent cert retrieval

current version uses concurrency for port scans, but single loop for retrieval/analysis

and likely other items I'm forgetting. This has been a very useful exercise and has helped identify multiple deficiencies with the existing lscert and check_cert tools, but continuing to push forward with further changes without saving current progress risks a loss of focus/perspective.
Time to cleanup the prototype branch and get it merged before further refactoring efforts.


Enhancement: add refresh_sql to E2E tests

Enhance E2E tests to test refresh_sql: https://github.com/spiceai/docs/pull/193

Implemented by https://github.com/spiceai/spiceai/pull/1125


luci.mk: execute install recipe in subshell

(CI failing because it assumes I'm working on a package)
The use of bash if statements has extra syntax requirements
compared to logical operators && and ||
for example, that each line must end with a semicolon.
Also, each line will execute regardless of the exit status of the last.
The default definition of Build/Install/Default
is not managed within the luci repo,
so a syntax requirement is not ideal.
A missing or extra semicolon for whatever reason
causes build failure.
By placing the Build/Install/Default recipe in a subshell
and connecting it to the next line with logical operator &&
the syntax of Build/Install/Default doesn't matter anymore,
and the copying from PKG_INSTALL_DIR is dependent
on Build/Install/Default being successful,
where the copy would still execute if Build/Install/Default fails
and the lines are separated.
Signed-off-by: Michael Pratt<EMAIL_ADDRESS>

Hmm, the Install/Default macro as it is right now will execute each line in a new shell according to the usual Make semantics - although there currently is just one line/command in it, wrapping the default macro in a subshell here will violate that assumption and if it ever gains more lines it might break or behave differently in the context of luci.mk which likely is not desired.
Can you give an example of an issue this PR fixes?

each line in a new shell according to the usual Make semantics

AFAIK that only applies to target rules. the way it is called here, with the newlines at the end of each line \ means it is only part of a single command
example of breakage is if you were to remove the semicolon in Build/Install/Default in the core repo

AFAIK that only applies to target rules. the way it is called here, with the newlines at the end of each line \ means it is only part of a single command

Yeah sure, that's why I said that there is only command in there right now. But it's legally allowed to add another, unrelated command not joined by &&, ; or \.

all this does is make the syntax requirements for adding something require a change in luci.mk without any possibility of issues caused by the syntax in the main repo
if []; then ; else ; fi requires the semicolons regardless of whether it comes from the call or not
do you think the && should just be a semicolon instead?
the only reason I did it this way is because it doesn't make sense to me for the second line to execute if the first fails

I noticed that the existing code had the same issue and also would break if the default install recipe ever gains another line. I decided to fix the presented issue differnetly, relying on make logic to not generate uneeded install commands in the first place.

thanks for your time, I like your alternative 👍🏼


Add test to Burke_Ratio macro

BurkeRatio.R has one error in calculating the Burke Ratio. When calculating the drawdowns, it requires the input returns with percent unit, so R times 0.01 to get accumulated results and then multiples 100 for drawdown array. But to get return of portfolio (Rp), it take R as returns without percent unit. While as the only input, R either contains the percent unit or not, so this R script cannot give us the correct result. That is, we cannot compare these two results.


Anchor Links in the Knowledge Base are Broken

Anchor links within the storage documentation are broken https://substrate.dev/docs/en/knowledgebase/runtime/storage It looks like this is a capitalization problem.

fixed bugs

Was there a PR to address this?

I do not believe so; here is the commit https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/commit/bc2bd3b8b99018a640e32a2e27a6c0f8b53081e1#diff-e9947298703a618ed717a990ee96c70a


Launch Erlang track?

We have enough exercises to launch:
accumulate
allergies
anagram
beer-song
bob
etl
luhn
nucleotide-count
phone-number
point-mutations
rna-transcription
trinary
word-count

In order to get this launched, we need to:

Figure out roughly how to order these by increasing difficulty
Stick that ordered list into config.json under "problems"
Flip the "active" property to true in config.json
Make sure we have a couple people around who know enough erlang to help nitpick in the early days

Can't this be closed? Erlang track is available for some time now.

Yeah, definitely. Thanks.


Additional quotes on win32 in BufferedProcess

I am trying to run a simple bat ( for a linter ) and at the BufferedProcess execution try I get the process variables that look like this
Command : C:\Windows\System32\cmd.exe"
Parameter of execution :
""C:\Windows\System32\jolie.bat "--check" "C:\Progetti\PortaleManutenzioneAndroid\Leonardo\leonardo.ol"""
Where the Linter execution path is 'C:\Windows\System32\jolie.bat'
It is symilar to the problem raised on #3208
my Atom version is 1.12.4
Regards
Balint

Thanks for contributing!
It appears that this is being caused by the sb-exec npm package, not Atom itself. It may be that there is still a bug in Atom. If so, we'll need the maintainer of the package that is causing the problem to help track that down. You should file this issue on their repository so they can either fix the problem or tell us where the problem is coming from. The Atom FAQ has information on how to contact the maintainers of any Atom community package or theme.
It could also be caused by a problem in your configuration if you've actually entered 'C:\Windows\System32\jolie.bat' as the executable path in linter-jolie. The quote wrapping should not be done by you. Additionally, this has nothing to do with BufferedProcess, since none of the relevant code paths use that class.


MSL: Support more usecases for unpacked vectors.

Additional usecases include array and vector indexing, variable declarations, loop initializers, function return values, switch statement evaluations, and various specialized MSL operations.
Ultimately, we might consider refactoring to move the current CompilerGLSL::to_unpacked_expression() to a new CompilerMSL::to_expression() to always take into consideration possible unpacking behavior, and remove CompilerGLSL::to_unpacked_expression() altogether.
I did not do that here, because I wanted to get further input from others in the team (@HansKristian-Work @cdavis5e) before taking that step. For example, I noticed that HLSL uses unpacking in a couple of places too, but didn't investigate further at this time.
Refactor CompilerGLSL::to_enclosed_unpacked_expression() for conciseness and consistency with similar functionality.
Fixes #1772.

It might be worth it to refactor to_expression to to_raw_expression or something like this, and then do a pass over all uses of it. Then promote to_unpacked_expression to to_expression.

Just thinking of what we'd call the non-unpacked expression thing.

Ah. Okay.
I think my point was that AFAIK unpacking is only used by MSL and not GLSL. So I was thinking that GLSL would only have a default to_expression() that did not take into consideration unpacking, and MSL would override to_expression() to basically always check for unpacking is required, and call the parent GLSL version if not.
Effectively...I was thinking there would be no separate non-unpacking function at either class level.
But happy to hear how GLSL and HLSL might need that.

I've created issue #1785, which we can use for further discussion about these ideas.


Improvements to installation and setup.py

This PR aims to fix #527 and implement any other small improvements we can to setup.py and the installation process.

Trying to detect whether the users was already using extras proved to be tricker than it was worth.
Here is an example of what you see when running python setup.py install:
==================================
HOLOVIEWS INSTALLATION INFORMATION
==================================

HoloViews supports the following installation types:

holoviews[recommended]
holoviews[extras]
holoviews[all]
holoviews[notebook-dependencies]

Users should consider using one of these options.

By default only a core installation is performed and
only the minimal set of dependencies are fetched.

For more information please visit http://holoviews.org/install.html

==================================

I tried to make it quite visible as when installing this way you get a lot of messages of what is copied where. I have no idea what it looks like installing from PyPI but I assume this output will be printed.
Currently, I'm only printing this if install is in sys.argv. As far as I know, that covers what we need.

Makes sense to me, not sure how we can increase visibility any further. We recommend installing via conda anyway so I think this is fine.

If we agree this is ok, please merge once the tests pass.

Actually, it is time I add the meta.yaml file for conda seeing it has become our recommended installation route. I don't want to add build.sh yet unless it becomes a bit more than:
#!/bin/bash
$PYTHON setup.py install

Looks good to me and PR build passed. Merging.


using nasm instead of gas

lets use nasm syntax instead of gas sytax. even gas works better with gcc, nasm syntax should tidy up the asm processes.
TODO:

Convert loader.s to nasm syntax

fixed with commit no : 6374121

fixed with commit no : 6374121


#3149 Feature Request: Customize DragAndDrop Interval Lenght for Placeholders in sap.m.PlanningCalendarRow

Hi i implement this feature but have a question to the min-width fixed for display icon.
In this moment the appointment created to 15 minute is not consistent to the real width of the appointment created/modified.
The steps to implement are:

update snapshot calculate
update calculation start date appointment
update documentation PlanningCalendarRow
Open Point:
min-width

Hello @salvatorelaspata,
Thank you for your pull request. I've created an internal record<PHONE_NUMBER>. The status of the PR will be updated here in GitHub.
Regards,
Dobrin

Hello @salvatorelaspata , thank you very much for this pull request. Is it possible to reopen it so we can make progress?  As this topic is currently on the agenda, we'd like to advance this pull request. If you are still willing, please reopen it within a week and let's continue the conversation about it.
Regards,
Todor

Hello @Todor-ads, i don't see the Reopen button in this thread, i think because the fork on my account was deleted
How can i reopen this pr? Should i create a new pr?
Regards,
Salvatore


Readonly connection still allows restore

System information:

Operating system: Windows 10 Pro 20H2
DBeaver version: <IP_ADDRESS>203181646

Connection specification:

Database name and version
Driver name: MariaDB JDBC driver
Do you use tunnels or proxies (SSH, SOCKS, etc)?  No

Describe the problem you're observing:
Setting a connection as read-only (connection -> edit connection -> general) prevents sql scripts from changing data, but does not prevent restore.
Steps to reproduce, if exist:

Set connection to read-only
Execute Tools -> Restore database

Expected behaviour:
A read-only connection should not be able to overwrite the whole database by performing a restore.

@omlnaut Thank you for the report


vl6180x missing Adafruit_I2CDevice.h

Hi,
the vl6180x is not working. I get this on compile:
`
In file included from .piolibdeps/klimaanlage/Adafruit_VL6180X/Adafruit_VL6180X.cpp:29:
.piolibdeps/klimaanlage/Adafruit_VL6180X/Adafruit_VL6180X.h:25:10: fatal error: Adafruit_I2CDevice.h: No such file or directory

Looking for Adafruit_I2CDevice.h dependency? Check our library registry!

CLI  > platformio lib search "header:Adafruit_I2CDevice.h"
Web  > https://registry.platformio.org/search?q=header:Adafruit_I2CDevice.h

25 | #include <Adafruit_I2CDevice.h>
|          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
*** [.pioenvs/klimaanlage/lib1a8/Adafruit_VL6180X/Adafruit_VL6180X.cpp.o] Error 1
`

Thanks for reporting this. It sounds very similar to #2.

I fixed the sample configuration which needs to include a few more libraries. Also, please upgrade to the latest vl6180x_sensor.h file which fixes a separate issue that I just discovered.


Custom Toolbar component

Reference: Rethinking the date picker UI
Is your feature request related to a problem? Please describe.
It is not, as far as I've searched for the "toolbar" in all the Issues.
Describe the solution you'd like
In order to create the DatePicker described in the referenced article, I'd like to be able to pass my own <Toolbar /> component in place of the default one, ideally with the currently selected date as a prop.
<DatePicker
  ToolbarComponent={({ year, month, date }) => (
{year}

{month}
))
/>

Describe alternatives you've considered
I looked through Dialog and Popover documentations for more specific prop name instead of proposed ToolbarComponent, but this one seems self-descriptive enough, I guess.

Yeah it should be easy

How do you overload the ToolbarComponent with additionnal compoment?
Something like but I don't know how to call the default toolbar:
<DatePicker
  ToolbarComponent={(props) => (
<ToolbarComponentDefault {...props /><OtherComponent />
))
/>

This is a basic implementation of a CustomToolbar that mimics the default behaviour. It can be further customised.
It may help someone.
import React, { useState } from 'react';
import PickerToolbar from "@material-ui/pickers/_shared/PickerToolbar";
import ToolbarButton from "@material-ui/pickers/_shared/ToolbarButton";
import { makeStyles } from '@material-ui/core';

export const useStyles = makeStyles({
	toolbar: {
		display: "flex",
		flexDirection: "column",
		alignItems: "flex-start"
	}
});

const CustomToolbar = function (props) {

	const { date,
		isLandscape,
		openView,
		setOpenView,
		title} = props;

	const handleChangeViewClick = (view) => (e) => {

		setOpenView(view);

	}

	const classes = useStyles();

	return (
		<PickerToolbar className={classes.toolbar} title={title} isLandscape={isLandscape}>
			<ToolbarButton
				onClick={handleChangeViewClick("year")}
				variant="h6"
				label={date.format("YYYY")}
				selected={openView === "year"}
			/>
			<ToolbarButton
				onClick={handleChangeViewClick("date")}
				variant="h4"
				selected={openView === "date"}
				label={date.format("LL")}
			/>
		</PickerToolbar>
	);

}

export default CustomToolbar;

@monteiz Thank you for the custom toolbar component implementation.
@Github3143  you can pass in "ToolbarComponent" props
<KeyboardDatePicker
label="DOB"
autoOk="true"
variant="inline"
value={search.dob}
onChange={date => setDate(date)}
views={["year", "month", "date"]}
name="dob"
format="MM/dd/yyyy"
KeyboardButtonProps={{ className: classes.dateIcon }}
ToolbarComponent={CustomToolbar}
/>

@monteiz Can you also provide default toolbar for Keyboard Time picker?

@tae-at-speer Sorry, I do not have it.

I've found out that you can use Keyboard Time picker separately using this.
import { T as TimePickerToolbar } from<EMAIL_ADDRESS>


Get Inpired : Blog Website

We would like to have a blog website for publishing interviews and stories from successful women, entrepreneurs and developers.

@anubhamane  I would like to work on this issue. Can I get more information on this.

is this issue is still open? @anubhamane

I would like to work on this issue. Is this open for contribution?

Hey can I work on this issue ?


pull request for e2e test at 11/15/2016 05:45:10

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Prohibit drag 'n' dropping between trees

What's the best solution here? Anyone?

I did this by adding a property to the rootscope with the name of the tree. Then modified the accept option to only allow dragging and dropping within the same tree.

That's how I ended up solving it too, thanks!


⚠ Bofrost.de has degraded performance

In 52f1991, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1192 ms

Resolved: Bofrost.de performance has improved in 515780e after 8 minutes.


Exposes experimental writefs.DirFS, but hides implementation

The type we use to expose write operations is still evolving. It might be a single writefs.FS interface, or similar to go where we have an interface per feature (e.g. writefs.MkdirFS). These choices are all implementation details for DirFS and won't be settled before the end of the month version cutoff. Instead, this only exposes the ability to create a DirFS, not an arbitrary implementation of writefs.FS. This does so by making writefs.FS an internal type.

@achille-roussel this will drift you, but it will allow end users to start with write features while we decide on a pluggability API. Those giving just a filepath don't need to wait for api shape to settle. We can finalize these things in january, in other words, but allow folks to begin using write support meanwhile.


[BC] drop alternative syntax by default for all build in fixers

On next major, lets drop alternative syntax by default for all build in fixers, with maybe exception like EncodingFixer or something.
It is becoming harder and harder to go through all the paths each time PHP changes something in the syntax. Secondly, a lot of the fixers do not exclude alternative syntax but are lacking tests. We could write tests and fix all issues, but I prefer not to until reported by someone else and than just drop on next major.

what alternative syntax you have in mind?

I assume we're talking about alternative syntax for control structures, e.g. if () { ... } → if (): ... endif;. Maybe introducing AlternativeSyntaxAnalyzer could help? Otherwise I'm fine with dropping support for it.

Indeed, things like T_ENDSWITCH etc. are a real pain, basically any control structure without braces likes:
while ($i <= 10):
    echo $i;
    $i++;
endwhile;

as it makes requires a bunch more logic to keep track of the "depth" for example

@SpacePossum

lets drop alternative syntax by default for all build in fixers

How you planed do it?
I'm think better solution is add something like "risky rule" to mark fixes working with alternative syntax because in most case that's use only in "views" and views don't uses traditional syntax.

it makes requires a bunch more logic to keep track of the "depth" for example

The problem not : no high-level tools for working with code as with abstraction.
Need create high level API to work with language constructions or use something like AST parser to parse code as nested tree


Device groups: Create DB structure to "groups".

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # THEEDGE-1590
Type of change
What is it?

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Documentation update
[ ] Tests update
[ ] Refactor

Checklist:

[X] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] I run go fmt ./... to check that my code is properly formatted
[X] I run go vet ./... to check that my code is free of common Go style mistakes

Codecov Report

Merging #581 (bf407a8) into main (fbbeaff) will increase coverage by 0.19%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #581      +/-   ##
==========================================
+ Coverage   30.00%   30.20%   +0.19%
==========================================
  Files          33       34       +1
  Lines        3513     3523      +10
==========================================
+ Hits         1054     1064      +10
  Misses       2315     2315
  Partials      144      144

Impacted Files
Coverage Δ

pkg/models/groups.go
100.00% <100.00%> (ø)

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 fbbeaff...bf407a8. Read the comment docs.


bump version

Pull Request Test Coverage Report for Build 82

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 97.315%

Totals

Change from base Build 80:
0.0%

Covered Lines:
107

Relevant Lines:
107

💛  - Coveralls


Typo

What are your changes?
Fixed "Resource hs exclusive access"
What type of changes does your doc introduce?

[ x] Bug fix
[ ] New feature

What is the urgency level of this change?

[ ] Blocker
[ ] High
[ x] Medium

I have completed these items:

[ n/a] I have tested all commands and code snippets.
[ n/a] I have built locally and tested for broken links and formatting.
[ x] I have made this change for all affected versions (e.g. 1.7, 1.8, and 1.9).
[ x] My doc follows the style guide: https://github.com/dcos/dcos-docs#contributing.

Ping @emanic @sascala @joel-hamill for reviewing pull request changes.
If you included a comment with your commit, it appears here:

CC: @sascala


Inspector - Add new parameter to InspectorReport proc to allow reporting of a single module

Inspector - Add new parameter to InspectorReport proc to allow reporting of a single module.
This can be handy for testing individual modules or scheduling reports specific to a single module without the need to create a new module config or amend an existing one to disable/enable modules accordingly.

I do not see a need for this at the moment, if you really wanted to run for a specific module you can actually do that already by creating a new Module_config and then having just the one module enabled.
Closing this one off.


Nuclei scan

Hi all,
How can we ensure Nuclei is operating optimally and utilizing all the templates at its disposal?
Could you shed some light on how Nuclei manages its template updates and its updates? Does Mantis rely on the Nuclei version installed on our systems?
I ask because my observations indicate it's only uncovering a limited number of vulnerabilities, exclusively about TLS/SSL misconfigurations. This seems rather unusual to me, especially considering I've scanned over 3,000 sites.
Thanks

Hi @Teicu ,
The command is present here:
https://github.com/PhonePe/mantis/blob/main/mantis/modules/scan/Nuclei.py
https://github.com/PhonePe/mantis/blob/main/mantis/modules/scan/NucleiInfo.py
If you want to run both of them, you can add this to the config (local.yml)

moduleName: scan
tools: [ 'DNSTwister', 'Nuclei', 'NucleiInfo', 'Corsy']
order: 5

This is not an issue but question.
Hi @Teicu ,hope your question is answered, if you have more questions, please post in our discord - https://discord.gg/uJV8Y3uSGu


VS 2022 not identifying missing parameter

URL
https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-cli-tutorial/modify
Operating system
windows
More information about your system
Windows 11 Pro, Beta Insider Program
x64
Description
C:\Users\jonat\Projects\BlazorApp\Components\Pages\Home.razor
An unhandled exception occurred while processing the request. Error details below but it seems that Visual Studio is not recognizing an invalid operation reflected on the web app.
InvalidOperationException: Object of type 'BlazorApp.Components.Pages.Counter' has a property matching the name 'IncrementAmount', but it does not have [Parameter], [CascadingParameter], or any other parameter-supplying attribute.
Microsoft.AspNetCore.Components.Reflection.ComponentProperties.ThrowForUnknownIncomingParameterName(Type targetType, string parameterName)
When I deleted the counter element and save the file, the web app reappears.
dotnet --info
PS C:\Users\jonat> dotnet --info
.NET SDK:
Version:           9.0.100-rc.1.24452.12
Commit:            81a714c6d3
Workload version:  9.0.100-manifests.67cd1eb6
MSBuild version:   17.12.0-preview-24422-09+d17ec720d
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.22635
OS Platform: Windows
RID:         win-x64
Base Path:   C:\Program Files\dotnet\sdk\9.0.100-rc.1.24452.12\
.NET workloads installed:
Configured to use loose manifests when installing new manifests.
[aspire]
Installation Source: VS 17.12.35309.182
Manifest Version:    8.2.0/8.0.100
Manifest Path:       C:\Program Files\dotnet\sdk-manifests\8.0.100\microsoft.net.sdk.aspire\8.2.0\WorkloadManifest.json
Install Type:        FileBased
Host:
Version:      9.0.0-rc.1.24431.7
Architecture: x64
Commit:       static
.NET SDKs installed:
8.0.304 [C:\Program Files\dotnet\sdk]
8.0.402 [C:\Program Files\dotnet\sdk]
9.0.100-rc.1.24452.12 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 9.0.0-rc.1.24452.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.0-preview.6.24327.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 9.0.0-rc.1.24431.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.33 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.20 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 9.0.0-rc.1.24452.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
x86   [C:\Program Files (x86)\dotnet]
registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]
Environment variables:
Not set

Can you share the contents of your Counter.razor page?
Does it look like the code that is shown on the page? Because the new property is being added on this step.

Hi Katie - My Components/Pages/Counter.razor output is below. Step titled 'Modify a component', which is different.
@page "/counter"
@rendermode InteractiveServer

<PageTitle>Counter</PageTitle>

Counter

Current count: @currentCount

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    public int IncrementAmount { get; set; } = 1;

    private void IncrementCount()
    {
        currentCount++;
    }
}
---

It looks like you're missing the [Parameter] attribute above IncrementAmount

Could you try adding this?

This issue is stale because there has been no response to a request for more information for 7 days.

@katiesavage I had noticed that your output was copy and paste image, and the week escaped me, but it was my user error. Appreciate your help and thank you!


Add support for jsr registry and jsr: protocol for the imports.

When installing some packages from denoland. Few of the packages are using jsr: registry and the protocol for its imports. This is an issue to keep track for the progress of jsr support in @jspm/generator
import { Generator } from "@jspm/generator";

const generator = new Generator({
  defaultProvider: "denoland",
  defaultRegistry: "npm",
});
await generator.install("denoland:oak/body.ts");
console.log(generator.getMap());

Sandbox to reproduce the same
Once the implementation is done, the tests need to be re-enabled in @jspm/generator and jspm-cli respectively.

Yes, these would be great to support! I have some prototype work, sounds like a good next step after we complete the release and update for the integrity story.

WIP at https://github.com/jspm/generator/pull/372.


Remove duplicated data types for collect_list tests

Trivial fix to remove the duplicated data type tests for collect-list

build


Add all_branches field in travis config

Codecov Report

Merging #125 into release/2.1.6 will not change coverage.
The diff coverage is n/a.

@@              Coverage Diff               @@
##           release/2.1.6     #125   +/-   ##
==============================================
  Coverage          64.55%   64.55%
==============================================
  Files                  5        5
  Lines                426      426
==============================================
  Hits                 275      275
  Misses               102      102
  Partials              49       49

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 19d6cc5...9bd42f6. Read the comment docs.


 When passing multiple parameters into the overloaded function, pass them within a touple. I believe the error is happening from that.
So in your code try doing:
tytray(.{50, 60})
Instead

Yeah, I will update the usage. As I originally wrote it incorrectly. Thank you for the catch on that!

Usage information should be fixed in 9cf5d88d268aa5fade7037e77f770183ad73c18a
If https://github.com/fig-eater/zig-function-overloading/issues/1#issuecomment-2183639259 doesn't fix the problem let me know.

Heheh, no problem! I'd love to contribute to this little project ^^


Fix the missing parameters needed by konflux

There are some parameters the deprecation job needs which currently are not being passed.  The details are at this link:
https://github.com/konflux-ci/build-definitions/blob/main/task/deprecated-image-check/0.4/MIGRATION.md
Refs:

https://issues.redhat.com/browse/ACM-10761

/cc @dislbenn
The fix was to run a script Dale wrote that adds the IMAGE_URL and IMAGE_DIGEST to the deprecated-base-image-check.  It piped it all through yq so there's a lot of reformatting.  Any idea if more is needed?

/lgtm


Fix node networking in Hetzner K3s clusters

During the rework of the operators and their tests, we experienced some problems on Hetzner clouds:
The pods could not reach each other with the class-a addresses.
The installations of the K3s components on hcloud clusters are configured to reflect the peculiarities of Hetzner machines (all have a public IP). There must be something missing in the way we configure it.

https://rancher.com/docs/k3s/latest/en/installation/install-options/server-config/

Thanks to @teozkr we found out that we have to configure flannel to use the private subnet address also, like described here: https://stackoverflow.com/a/66495119


Duration shrinking involving buffered range removal isn't allowed anymore by the MSE spec

The MSE spec has recently suffered some changes. At some point[1] between the 20160503 Candidate Recommendation (CR) version[2] and the 20160705 CR version[3] the duration change algorithm started to have different rules regarding the management of duration cropping.
Some 2016 and 2017 tests such as "23/24. DurationAfterAppendAudio/Video"[4], "27. MediaElementEvents"[5] and "42. MediaSourceDuration"[6] shrink the duration at some point. According to the old spec, that should automatically delete the buffered ranges beyond the crop point. However, according to the new spec, that action should cause a runtime error.
Now that the MSE spec has reached the Recommendation level[7], is there any plan to update the YouTube Conformance Tests to adhere to the latest version of the spec regarding the mentioned issues?
[1] https://github.com/w3c/media-source/commit/b386c1ca8637e8370f5817e35d71cb68d8854425
[2] https://www.w3.org/TR/2016/CR-media-source-20160503/#duration-change-algorithm
[3] https://www.w3.org/TR/2016/CR-media-source-20160705/#duration-change-algorithm
[4] https://github.com/youtube/js_mse_eme/blob/master/js/tests/2017/conformanceTest.js#L759
[5] https://github.com/youtube/js_mse_eme/blob/master/js/tests/2017/conformanceTest.js#L282
[6] https://github.com/youtube/js_mse_eme/blob/master/js/tests/2017/conformanceTest.js#L1218
[7] https://www.w3.org/TR/media-source/

2016 and 2017 have a particular MSE version associated with them (spec from 10 December 2013). These will never be updated. It is possible that tip and future versions will have this but these tests don't track with CRs


Bundle library in both CJS and ESM

Currently we're building our library using rollup and the only format we publish to NPM is CJS (Common JS).
We should also include ES Modules build in the package.
I think react-router-dom handles it well. ☺

closed by #162


Add Brifit T201

Is your feature request related to a problem? Please describe.
Request/reminder to add Brifit T201
The Brifit Thermometer has a different manufacturer ID (0xAA55). but seems to be part of the Thermobeacon family (it is also sold as Oria). In BLE monitor, the Brifit T201 had a different parser (brifit.py), but I have now merged the Thermoplus parser and Brifit parser into a Thermobeacon parser (https://github.com/custom-components/ble_monitor/pull/1079), to be in line with the Thermobeacon integration in HA.
This issue is to not forget to merge the Brifit T201 into thermobeacon-ble.
https://github.com/custom-components/ble_monitor/blob/823f9360bcc380ab0eabc6d7f3f1fba9061fd016/custom_components/ble_monitor/ble_parser/thermobeacon.py#L19
Describe the solution you'd like
A clear and concise description of what you want to happen.
Additional context
095432303102010614FF55AA0101A4C13874B08501070A1D10F064000100

0954323031 (Name T201)
020106 (flags)
14FF55AA (manufacturer specific data with man. id 0xAA55
0101A4C13874B08501070A1D10F064000100 manufacturer specific data (see parser in BLE monitor)

https://github.com/Bluetooth-Devices/sensorpro-ble
Should already be supported by sensorpro

Ah, sorry, I see.
They have so many names, still confusing me.


Candea College students

<EMAIL_ADDRESS>

I can't find confirmation of this as an email domain.

It has been added already.
https://github.com/leereilly/swot/blob/master/lib/domains/nl/candea.txt


(maint) fix acceptance pre-suite for aio packages

Prior to this change, the repos would be installed but an install of
puppet-agent would fail as if el machines could not find the rpm that
was also available.
This change duplicates the install_utils.rb from puppet repos to fix the
above.
note that facter is not on the path until RE-4044

@er0ck can you target this at the facter/2.x branch? That's what the AIO pipeline is pointing at. I can merge up to stable and thence to master.

Closing in favor of #859, which is the same change targeted at 2.x.

thanks!  sorry i didn't get to this today, didn't think anyone was really
waiting on it...
On Mon, Mar 2, 2015 at 7:23 PM, Kylo Ginsberg<EMAIL_ADDRESS>wrote:

Closed #856 https://github.com/puppetlabs/facter/pull/856.
—
Reply to this email directly or view it on GitHub
https://github.com/puppetlabs/facter/pull/856#event-244927876.

--
Eric Thompson
<EMAIL_ADDRESS><EMAIL_ADDRESS>Senior Software Quality Assurance Engineer

Ha! No worries at all. I wasn't really waiting on it either, but I started to start spiking one of the component (non-puppet) pipelines and figured I'd try facter first.

Actually that should have been #861.   (#859 was pointed at the wrong branch.)


 Stop the terrorism. Freedom to hostages!

Thanks for the support!


Implement rest of DataConsumerAgent, unskip its tests #19

Fixes #19 .
Changes proposed in this PR:

add buyDT on AgentWallet
unskip test for dataConsumer
test passed

I will split the PR soon.
Thank you.


Allow using "fake" files as source

Fixes #205, which wasn't the actual problem, but still is related

Codecov Report
Base: 77.32% // Head: 77.33% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (a513d67) compared to base (d7bde52).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@               Coverage Diff                @@
##             develop/1.9.0     #206   +/-   ##
================================================
  Coverage            77.32%   77.33%
  Complexity            8030     8030
================================================
  Files                  220      220
  Lines                25716    25715    -1
  Branches              6674     6673    -1
================================================
  Hits                 19886    19886
  Misses                3842     3842
+ Partials              1988     1987    -1

Impacted Files
Coverage Δ

...ava/decompiler/struct/SingleFileContextSource.java
51.85% <0.00%> (ø)

...etbrains/java/decompiler/struct/StructContext.java
65.78% <ø> (+0.42%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Please suggest carbon config settings to eliminate metric drops

I am running a Graphite server in production in which data is sent from 10 AWS regions using carbon-relay-ng.  The version of whisper is 0.9.12, CentOS version is 6.10.
The Graphite server is hosted in AWS cloud in an EC2 instance of type c4.8xlarge( 60 GB RAM & 36 CPU cores ).
The Graphite storage "/opt/graphite/storage" is mounted on a 6 TB GP2 EBS volume with 16000 IOPS.
Below is the content of /opt/graphite/conf/carbon.conf on the Graphite server:
 [cache]
WHISPER_FALLOCATE_CREATE = True
WHISPER_FADVISE_RANDOM = False
CERES_NODE_CACHING_BEHAVIOR = none

GRAPHITE_ROOT = /opt/graphite
GRAPHITE_CONF_DIR = /opt/graphite/conf
GRAPHITE_STORAGE_DIR = /opt/graphite/storage
LOCAL_DATA_DIR = /opt/graphite/storage/whisper
USER = apache
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 14000
MAX_CREATES_PER_MINUTE = 60000

ENABLE_TCP_LISTENER = True
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
LINE_RECEIVER_PORT = 2103

ENABLE_UDP_LISTENER = True
UDP_RECEIVER_INTERFACE = <IP_ADDRESS>
UDP_RECEIVER_PORT = 2103

ENABLE_PICKLE_LISTENER = True
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2104

USE_INSECURE_UNPICKLER = False

CACHE_QUERY_INTERFACE = <IP_ADDRESS>
CACHE_QUERY_PORT = 7002

USE_FLOW_CONTROL = True
LOG_UPDATES = False

WHISPER_AUTOFLUSH = False

ENABLE_MANHOLE = False
# Example: store everything
# BIND_PATTERNS = #

[cache:b]
WHISPER_FALLOCATE_CREATE = True
WHISPER_FADVISE_RANDOM = False
CERES_NODE_CACHING_BEHAVIOR = none

GRAPHITE_ROOT = /opt/graphite
GRAPHITE_CONF_DIR = /opt/graphite/conf
GRAPHITE_STORAGE_DIR = /opt/graphite/storage
LOCAL_DATA_DIR = /opt/graphite/storage/whisper
USER = apache
MAX_CACHE_SIZE = inf
MAX_UPDATES_PER_SECOND = 14000
MAX_CREATES_PER_MINUTE = 60000
CACHE_QUERY_PORT = 7102

ENABLE_TCP_LISTENER = True
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
LINE_RECEIVER_PORT = 2203

ENABLE_UDP_LISTENER = True
UDP_RECEIVER_INTERFACE = <IP_ADDRESS>
UDP_RECEIVER_PORT = 2203

ENABLE_PICKLE_LISTENER = True
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2204

USE_INSECURE_UNPICKLER = False

CACHE_QUERY_INTERFACE = <IP_ADDRESS>

USE_FLOW_CONTROL = True
LOG_UPDATES = False

WHISPER_AUTOFLUSH = False

ENABLE_MANHOLE = False
# Example: store everything
# BIND_PATTERNS = #

[relay]
USER = apache
LINE_RECEIVER_INTERFACE = <IP_ADDRESS>
LINE_RECEIVER_PORT = 2003
UDP_RECEIVER_INTERFACE = <IP_ADDRESS>
UDP_RECEIVER_PORT = 2003
PICKLE_RECEIVER_INTERFACE = <IP_ADDRESS>
PICKLE_RECEIVER_PORT = 2004
MAX_DATAPOINTS_PER_MESSAGE = 4000
MAX_QUEUE_SIZE = 15000
# Set this to False to drop datapoints when any send queue (sending datapoints
# to a downstream carbon daemon) hits MAX_QUEUE_SIZE. If this is True (the
# default) then sockets over which metrics are received will temporarily stop accepting
# data until the send queues fall below 80% MAX_QUEUE_SIZE.
USE_FLOW_CONTROL = True
# Local relay sharding to multiple carbon-cache on localhost, we only support
# sharding in this config.  Change $targets if needed
RELAY_METHOD = consistent-hashing
REPLICATION_FACTOR = 1
DESTINATIONS = <IP_ADDRESS>:2104,localhost:2204

Below is the Graph of committed points:

Below is the Graph of metrics received for both carbon-caches:

Below are some other graphs that might help you assess the situation:

I am observing metrics dropped for all metrics.  The frequency of metric drops is 12-20 every 12 hours.  Metric drop for some metrics is very less like 2 every 12 hours.
Can someone please suggest configuration settings for carbon-cache and/or carbon-relay which can help me eliminate metric drop issue.
Thanks in advance !

Hi @satish-chef ,
MAX_QUEUE_SIZE = 15000 looks very small. Try 100000.

Thanks @deniszh a ton for your response and your solution worked like a magic bullet for me.  It eliminated the metric drop issue for me.  I had to tweak some values of MAX_UPDATES_PER_SECOND and MAX_CREATES_PER_MINUTE as per my traffic and also i wanted to keep cache size at a minimum if not zero - http://obfuscurity.com/2016/08/Benchmarking-Carbon-and-Whisper-on-AWS
BTW, let me know what you think about this blog.  Is it advisable to keep the cache size to zero or at a minimum value possible.


Installing prefect-from dask using Conda causes prefect orion start to error out

Steps to reproduce:
> docker run -it prefecthq/prefect:2.4.2-python3.9-conda bash`
(prefect) root@ed9d6e00024a:/opt/prefect# prefect orion start
....
ctrl + c
(prefect) root@ed9d6e00024a:/opt/prefect# conda install -c conda-forge prefect dask
...
(prefect) root@ed9d6e00024a:/opt/prefect# prefect orion start
Traceback (most recent call last):
  File "/opt/conda/envs/prefect/bin/prefect", line 6, in <module>
    from prefect.cli import app
  File "/opt/conda/envs/prefect/lib/python3.9/site-packages/prefect/__init__.py", line 26, in <module>
    from prefect.flows import flow, Flow
  File "/opt/conda/envs/prefect/lib/python3.9/site-packages/prefect/flows.py", line 36, in <module>
    from prefect.context import PrefectObjectRegistry, registry_from_script
  File "/opt/conda/envs/prefect/lib/python3.9/site-packages/prefect/context.py", line 36, in <module>
    from prefect.futures import PrefectFuture
  File "/opt/conda/envs/prefect/lib/python3.9/site-packages/prefect/futures.py", line 25, in <module>
    from prefect.client import OrionClient, inject_client
ImportError: cannot import name 'inject_client' from 'prefect.client' (/opt/conda/envs/prefect/lib/python3.9/site-packages/prefect/client/__init__.py)

This happens with the previous 2 patch releases, so 2.4.1 and 2.4.2 seem impacted.

Note that the ImportError does not occur with the non-conda image tag 2.4.2-python3.9.

inject_client has moved to prefect.client.orion — weird that it'd be the old import in futures.py here

I released prefect_dask==0.2.1 on conda-forge and I was able to run prefect orion start.
Can you see if that works for you?

Will close this; feel free to re-open if needed!

@ahuang11 thanks! I ended up cutting over to the python3.9 image for unrelated reasons.


Use the current apputils and update loki plugin

This PR makes sg-core use the most recent version of apputils and does all the required changes to the Loki plugin, which is the only one affected by the changes in apputils. Thanks to this we should be able to run the Loki plugin inside the sg-core containers. (Currently it fails, because it unsuccessfully tries to find libproton.so, even though it actually doesn't need it).

The CI is currently failing because of a wrong API endpoint for checking Loki readiness, a fix for this is coming here.

Is the expectation to cherry pick this back to stable-1.3 once it is complete?

That depends if we ever want to use the Loki plugin with 1.3. Because right now in the upstream sg-core containers, when sg-core tries to load the Loki plugin, the whole sg-core crashes with:
12:32:33 [ERROR] failed configuring application [application: loki, error: failed initializing application plugin: failed to open binary /usr/lib64/sg-core/loki.so: plugin.Open("/usr/lib64/sg-core/loki.so"): libqpid-proton-core.so.10: cannot open shared object file: No such file or directory]

(The Loki plugin doesn't even use that lib for anything.)
What is the timeline for 1.4?

That depends if we ever want to use the Loki plugin with 1.3. Because right now in the upstream sg-core containers, when sg-core tries to load the Loki plugin, the whole sg-core crashes with:
12:32:33 [ERROR] failed configuring application [application: loki, error: failed initializing application plugin: failed to open binary /usr/lib64/sg-core/loki.so: plugin.Open("/usr/lib64/sg-core/loki.so"): libqpid-proton-core.so.10: cannot open shared object file: No such file or directory]

(The Loki plugin doesn't even use that lib for anything.)
What is the timeline for 1.4?

We can assume STF 1.4 won't show up during this calendar year. I expect to run with STF 1.3 for a while since standing up new y-stream releases requires so much time. I'm ok with slipping in new functionality to STF 1.3 at this point as long as documentation and testing are adequately covered.

I'm reconsidering my approval for backport, and perhaps working on getting STF 1.4 staged sooner rather than later, even if the functionality doesn't show up for several months. If we end up needing to backport this due to customer request, then we can deal with that at that point.
I'm hoping to get some automation setup in the next couple of weeks so that we can start making use of this functionality from upstream builds much more easily by creating a "stream" channel against the main branch. That work I'm hoping will start next week as I have a plan. That way we can start working these changes, and documenting them as we go, as finding all the features and doing a mass documentation lift at the end is really exhausting.

So do I understand it correctly, that we won't cherry-pick unless we are required to backport this? Should I merge this? :thinking:

So do I understand it correctly, that we won't cherry-pick unless we are required to backport this? Should I merge this? thinking

Yea I think we'll merge this to main and then if we end up supporting any sort of logging on 1.3 we'll probably need to backport this at that time. Thanks!


On Premise CRM  Version 1612 (<IP_ADDRESS>) (DB <IP_ADDRESS>) on-premises using google chrome 74 opens browser then times out and does not work.

On Premise CRM  Version 1612 (<IP_ADDRESS>) (DB <IP_ADDRESS>) on-premises using google chrome version 74 opens browser then times out and does not work. The browser opens then is greeted by the login page for CRM but stays there until the test times out. Also note I am using Windows Server 2012 R2.
I tried using the CRM on premise branch, V9 branch, and CRM Dev branch from easyRepro. I used the ADFS login method which didn't work for me either.
Any ideas?

Is this the same as #478 ?

Yes

So can we close one of them? Raising the same issue multiple times won't get it addressed faster.

I will close the previous issue and keep this one open.


Regenerate Javadoc to remove warnings.

This picks up the changes of
https://github.com/jspecify/jspecify/pull/511 and the pending changes of
https://github.com/jspecify/jspecify/pull/526.

For reference, the command I ran was:
git rm -r docs/static/docs && rm -rf docs/static/docs/api && mkdir -p docs/static/docs && $HOME/jdk-23-ea+22/bin/javadoc -notimestamp -windowtitle 'jspecify 0.0.0-SNAPSHOT API' src/main/java/org/jspecify/annotations/*.java -d docs/static/docs/api && git add docs/static/docs

And the command that I probably should have run was:
JAVA_HOME=$HOME/jdk-23-ea+22 ./gradlew clean javadoc && git rm -r docs/static/docs && rm -rf docs/static/docs/api && mkdir -p docs/static/docs && cp -a build/docs/javadoc docs/static/docs/api && git add docs/static/docs

But I have had sporadic trouble with JDK 23 and Gradle, as previously discussed somewhere or other.... (Compare https://github.com/jspecify/jspecify/pull/517 for JDK 22.) Hopefully we could use any version of the JDK to run Gradle but still use JDK 23 to run Javadoc, presumably using "toolchains," as also discussed at various times (e.g., in https://github.com/jspecify/jspecify/issues/271). Or maybe we don't need to use the latest version of Javadoc.
Anyway, the two commands produce identical output except for the capitalization of "UTF-8" in the output's meta Content-Type value.
Presumably @netdpb will figure something out as part of https://github.com/jspecify/jspecify/pull/528.

Fixes #491.


Netinit bringup for multiple types of network device interfaces

https://github.com/apache/incubator-nuttx-apps/blob/master/netutils/netinit/netinit.c
According to this, I am wondering how can we bring up all interfaces if we have multiple of them. In my application, I need to enable both ETHERNET and socketCAN at the same time. However, the CONFIG_NET_ETHERNET shadows over CONFIG_NET_CAN and therefore, though registered as a network device, the can0 iface is never brought up. This apparently is not only between socketCAN and Ethernet but also between all other interfaces like wlan, bluetooth,etc.

Or you may not boot into NSH, but to custom entry point and use netlib_ifup().

thanks for the comments. Now I see it clear. rcS is a good place to bring up all other non-ethernet interfaces :+1:


Development zos v2 modules

Well, it builds, so I'll merge. But we need to investigate something.
[+] kernel size: 114M

That's like 40M more than previously, I'm not okay with that :/