Injecting ejs into html

@ExE-Boss Just heads up, I am getting ready to push a major enhancement.
I have stripped most of the work that we have done before.
I am using HTML as the base language, and then injecting javascript as an embedded language. So we have to set the language as html. This enables everything that we have been missing. Standard html formatter should work.
I will be pushing this to 1.0.0 because of needing to change ejs to be recognized as html.

And this once again broke ctrl+/ and ctrl+shift+/, after I had painstakingly fixed it in https://github.com/Digitalbrainstem/ejs-grammar/commit/6d55bc37213a2ea3497b408cb8fa867849f3347c.

ctrl+/ works for me. ctrl+shift+/ does not, though ctrl+/ comments and uncomments.
Mind joinging me in gitter chat? chat

I do see what you mean by ctrl+/ now. For me it does the entire line. Which is not what we want it to do. I am looking into it.

I have a very easy fix. If I include "contentName": "source.js", to the ejs-tag, it makes everything inside the tag be javascript.

New update is pushed. Let me know if it still seems broken. For the most part, all we need to do is make sure the content we want has the right scope name.


GPII-3843: Wait for service to be reachable before starting the Locust tests

This is "fix" for failing Locust tests after cluster creation. Atm. we don't wait for or check that the services are ready, but simply rely that they will be available by the time we run the Locust test.
This PR adds a wait that the targeted service needs to be reachable from within the pods before starting the test.
Depends on https://github.com/gpii-ops/docker-image-locust/pull/4
Details about my investigation can be found at https://gist.github.com/stepanstipl/6eb26d942d7ded09f741a0b9f3677de1.
TL;DR:

Issue is related to DNS resolution
I wasn't yet able to pin it down to specific setting, but looks like issue with negative caching somewhere in the DNS resolution path
Issue happens only on newly-created cluster, if the tests are run right after cluster setup, otherwise it does not happen
I suspect race-condition before all the parts of the cluster fully comes up, helped by Alpine's way of handling DNS resolution
Tests on my personal cluster showed required number of iterations to wait for is anything between 0 and cca 30 (therefore relatively high number of retries).

One last thing I'm trying to confirm is whether this can be reproduced before the https://github.com/gpii-ops/gpii-infra/pull/342 - move to DNS challenge PR (as I still believe it's not related to that change, but don't have good data to back that up).

Thanks for reviews everyone and good points. 👍
I think that:

a) I'll move this code inside to locust images to avoid the exec issue
b) I need to spend a bit more time on the investigation, because it seems, however unlikely as the change doesn't touch DNS itself, that the failures are related to the move to DNS challenge.

I still think it makes sense to add some form of wait for the services to be ready.

I wonder if locust tests are the right place for this check. In AWS, there was a deployment step that waited for preferences and flowmanager to be ready before proceeding. Maybe a general purpose wait_for step would be useful for more than just locust?
OTOH, the locust tests replace the smoke tests that we used in AWS for this purpose, so maybe locust is the right place after all.

In this particular case the issue is that the service is up and reachable from outside, but not from within the locust pod, till the dns starts working. So test ouside would not solve the problem.

The first thing that springs to mind is some kind of allow list: alert on kubectl exec, unless it is kubectl exec couchdb curl /_membership or kubectl exec curl preferences/health.
Alternately, you might do something more like what Alfredo suggested and integrate this check into the worker startup scripts.

I'll try to move this inside the locust image for now - I think it's probably better aproach in this case.

Update:

The loop logic has been moved into the locust image, this PR now only bumps the locust image version and depends on https://github.com/gpii-ops/docker-image-locust/pull/5

this is to avoid exec alerts
and it's actually a better place - the code is simpler

This PR also adds dedicated cert-manager pod service account (this is to help with debugging, otherwise account is always destroyed when CI runs)

I believe I've addressed all the comments raised here, thanks 👍 !

LGTM


Fixes calebthebrewer/gulp-selectors/issues/23

aria-labelledby attribute now has its values replaced with minified IDs.

Thanks!

You’re welcome. This is my first accepted pull request to an open source project.
Cheers!

On Jul 27, 2016, at 4:40 PM, Caleb<EMAIL_ADDRESS>wrote:
Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


Don't insert  on new lines when syncing markdown

Context: we sync all of our documentation from Github repos, using the full suite of rdme tools: both OpenAPI spec and docs written in markdown. We intentionally do not use ReadMe's live editor to maintain a single source of truth in a repo that can have automated checks and sync up.
Problem:
Most of the markdown rendering tools follow the spec that insert a new line only after a blank line was inserted in source.
For example:
If I write some text here even if I insert a new line
here it, in the final output it will continue on the same line

And only here it will get a new line/paragraph

However, ReadMe will render all of the \n in the upload and break lines creating a somewhat disorienting output.

We made the decision to treat newlines in a non-standard way. We were thinking it's more intuitive for some people if newlines are preserved, and matches more with how text editors behave. Here's where the option is defined.
If you'd like to use the standard behavior, feel free to get in touch at<EMAIL_ADDRESS>and we can toggle a flag at the project level for you.

understood, thank you - appreciate the response!

@kellyjosephprice Thank you for clarifying this.
Would it be possible to make this something users can configure themselves? Either through web UI or rdme cli?
I'll reach out to support in the meanwhile.

I wnat to highlight it once again. It is not clear what was the reason of taking a decision not to follow. Discussing the topic of "new linse" we shoulpd split itnto two different branches:

Instert a new line
 tag
Put text into paragraph
 tag

For new lines in Markdown basic syntax end a line with two or more spaces:
This is the first line.
And this is the second line.

This is the first line.
And this is the second line.

For paragraps use a blank line to separate one or more lines of text
This is your first paragraph.

And this is the second one.

This is your first paragraph.
And this is the second one.

Suggestion for Readme online editor
New lines
Insert a new line when Cmd + Return buttons are clicked. In Raw Mode, the carrege return symbol will be converted into two spaces in the end of line.
The change in bold is what can be modified in current Readme implementation. Please note, that it will not break existing text, if users have a configuration they can chage themselves.
Paragraphs
Insert a new paragraph when Return button is clicked. In Raw Mode, it will be converted to an empty text line.
This is how Readme currently works.

Insert a new line when Cmd + Return buttons are clicked. In Raw Mode, the carrege return symbol will be converted into two spaces in the end of line.

You can do this now with shift+return!

That's great, @kellyjosephprice! It works in the following scenarios:
Scenario: Display "new line" on Shift + Enter
Given user is in "Editor mode"
And he is writing a line of text
When Shift + Enter is clicked
Then it displays a new line after a line of text in "Editor Mode"
And it displays
 in HTML (when previewing the page)
And it displays "two spaces +  carrege return" symbols in "Raw mode" (when switching to "Raw mode")
Scenario: Display "new line" when line ending with two spaces + carrege return symbols
Given user is in "Raw mode"
And line is ending with two spaces + carrege return symbols
And text is the following
There are two spaces in the end of the line
So that you see this line of text on a new raw

When swithing to "Editor Mode"
Then it displays new line in "Editor Mode"
And it displays
 in html (when previewing the page)
But it fails in the following scenario
Scenario: Do not display "new line" when line ending with only carrege return symbol  (Raw Mode)
Given user is in "Raw mode"
And line is ending with carrege return symbol
And there are no two spaces before  carrege return in the end of line
And text is the following
There are NO spaces in the end of the line.
So that this part of text should be a continuation of the previouse line

When swithing to "Editor Mode"
Then it displays a single line in "Editor Mode"
And it displays  a single line in html (there is no
 tag between markdown lines)
Currently the scenario Do not display "new line" when line ending with only carrege return symbol  (Raw Mode) behaves in the following way:
When swithing to "Editor Mode"
Then it displays a new line in "Editor Mode"
When switching back to "Raw Mode"
Then it displays two spaces +  carrege return symbols in "Raw mode"
If Readme provides two modes "Raw mode" and "Editor mode" it is reasonable ot ask to support correct formating transition when switching between modes in both ways.
Thanks

Currently the scenario Do not display "new line" when line ending with only carriage return symbol (Raw Mode) behaves in the following way:
When switching to "Editor Mode" Then it displays a new line in "Editor Mode" When switching back to "Raw Mode" Then it displays two spaces + carriage return symbols in "Raw mode"

This should be fixed now!

Currently the scenario Do not display "new line" when line ending with only carriage return symbol (Raw Mode) behaves in the following way:
When switching to "Editor Mode" Then it displays a new line in "Editor Mode" When switching back to "Raw Mode" Then it displays two spaces + carriage return symbols in "Raw mode"

This should be fixed now!

It is still not fixed
https://app.screencast.com/tp595HQ3aYpmW

It is still not fixed https://app.screencast.com/tp595HQ3aYpmW

I know it's a divisive choice, but that was by intention. See my previous comment: https://github.com/readmeio/markdown/issues/689#issuecomment-1431800943

We made the decision to treat newlines in a non-standard way. We were thinking it's more intuitive for some people if newlines are preserved, and matches more with how text editors behave. Here's where the option is defined.
If you'd like to use the standard behavior, feel free to get in touch at<EMAIL_ADDRESS>and we can toggle a flag at the project level for you.

We may be able to get rid of that completely in the future, but for now, you'd have to ask support for to turn it off.
Sorry!


Fix styleOption error in index.ts

Summary

#1357
Fix styleOption error in index.ts
As typescript updates, errors occur where existing styleOption is omitted.

Thanks for the fix. Sorry, I missed the optional identifier.

@alubbe Please merge this, as it fixes missing optional operator for type script users.


Bump ox version, remove ruby-version

This PR bumps the ox version from 2.2.1 to to ~> 2.8.0. Ox '2.2.1' was failing to build on my Ubuntu 16.04.3 LTS machine which seems like a fairly vital platform to be able to build for. Ox 2.8.0 built with no problem and has a myriad of other fixes.
I also removed /.ruby-version as it seemed odd for a gem to lock its own ruby version, especially with a ruby version already being set in the gemspec.
Ran the tests with ruby 2.4.2 and there were no failures.

:+1:

updated ox to latest version


Add joystick and gamepad callbacks.

This PR attempt to fix #601.

Now, the callbacks have been implemented, which was easier than I expected, since most code to do so was already in place. The documentation is there too, though it still needs some small fixes, I don't know Doxygen that well. Now, next is to write tests and examples.

Unfortunately it doesn't work because in GLFW the joystick is actively polled. I will probably have to add something to poll joysticks as well.

It now works fine on Linux, tested with tests/event.  Please, could someone volunteer to test on other platforms as well?

Looking at the events test on Windows, the joystick button callback gets called constantly, even when the joystick isn't being touched.  I used the joystick test to ensure that the joystick isn't doing anything, (the axes always stated 0 for their value).

Thanks for testing this. It would be great if you could also debug this to find the cause, otherwise this will have to wait until I can get a Windows system myself.

It looks like the axes updater only fires when there's a change.  I rewrapped it and the wrapped the others to do the same but in a potentially more optimized way.  Not sure if the _glfwInputGamepad functions should be run or not if there weren't any changes, so that may be broken with the below changes.  I don't use/know git or github at all, so I don't know how to "properly" send you these changes.
// Notifies shared code of the new value of a joystick axis
//
void _glfwInputJoystickAxis(_GLFWjoystick* js, int axis, int value)
{
  //When the function needing this is called, it will create its own variable, so is this needed?
  //const int jid = (int) (js - _glfw.joysticks);

  if (js->axes[axis] != value)
    {
      js->axes[axis] = value;
      if(_glfw.callbacks.joystick_axis)
        _glfw.callbacks.joystick_axis((int) (js - _glfw.joysticks), axis, value);
      _glfwInputGamepad(js);
    };
}

// Notifies shared code of the new value of a joystick button
//
void _glfwInputJoystickButton(_GLFWjoystick* js, int button, char value)
{
  //When the function needing this is called, it will create its own variable, so is this needed?
  //const int jid = (int) (js - _glfw.joysticks);

  if(js->buttons[button] != value)
    {
      js->buttons[button] = value;
      if(_glfw.callbacks.joystick_button)
        _glfw.callbacks.joystick_button((int) (js - _glfw.joysticks), button, value);
      _glfwInputGamepad(js);
    };
}

// Notifies shared code of the new value of a joystick hat
//
void _glfwInputJoystickHat(_GLFWjoystick* js, int hat, char value)
{
  //When the function needing this is called, it will create its own variable, so is this needed?
  //const int jid = (int) (js - _glfw.joysticks);
  const int base = js->buttonCount + hat * 4;

  js->buttons[base + 0] = (value & 0x01) ? GLFW_PRESS : GLFW_RELEASE;
  js->buttons[base + 1] = (value & 0x02) ? GLFW_PRESS : GLFW_RELEASE;
  js->buttons[base + 2] = (value & 0x04) ? GLFW_PRESS : GLFW_RELEASE;
  js->buttons[base + 3] = (value & 0x08) ? GLFW_PRESS : GLFW_RELEASE;

  if(js->hats[hat] != value)
    {
      js->hats[hat] = value;
      if(_glfw.callbacks.joystick_hat)
        _glfw.callbacks.joystick_hat((int) (js - _glfw.joysticks), hat, value);
      _glfwInputGamepad(js);
    };
}

My changes fixed the issue with the events test, but I don't get any events in my program.  I'm still looking into it.

Thanks for your efforts, I will add your modifications to my PR once everything works.

Okay, scratch that last comment from me.  I made a really bad whoopsie.  I'm slowly removing SDL2 from my program and forgot to add glfwPollEvents(); to my video loop.  The callbacks looks like they're running really well right now.

OK, then I'll integrate your changes as fast as my "copious" free time allows me to.

@Blergenstein, I have finally integrated your changes, could you please test again and see if it works for you as well?
@elmindreda, sorry to ping you again, but could you please review this PR, or assign someone else to this PR? This is a useful feature that we would like to use downstream in Ebiten.

Sorry for the delay.  It looks good; although the is a slight catch that I noticed with the Events test.  You have to use glfwPollEvents(); to be able to use the joystick callbacks.  If you don't, the input from the joystick seems very pokey, and doesn't always seem to catch all of the inputs.
Other than that, it seems to work well.

This seems to be platform dependent, on Linux the glfwPollEvents is not
strictly necessary. But for portability I will update the examples and
document that glfwPollEvents is needed to get joystick events when I get
time to do this.
Now for someone to test this on OSX.

Good luck finding a Mac person, and thanks again for your work on this.
On Sun, Mar 29, 2020 at 2:47 AM Beoran<EMAIL_ADDRESS>wrote:

This seems to be platform dependent, on Linux the glfwPollEvents is not
strictly necessary. But for portability I will update the examples and
document that glfwPollEvents is needed to get joystick events when I get
time to do this.
Now for someone to test this on OSX.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/glfw/glfw/pull/1590#issuecomment-605599300, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AOLBMQVQBK46LZPMUP5OSLDRJ34KLANCNFSM4JHBQCGQ
.

I was able to test this branch on MacOS but the joystick callbacks were ONLY sent while any of the other events were active like moving the mouse / clicking the buttons or while keyboard key was pressed.  If I just use the joystick alone, no event is sent with the exception of the connect and disconnect event.

@cmedinasoriano  Are you using glfwPollEvents() correctly (once per frame in your main loop)? If not, that may explain what you are seeing.

@beoran Sorry I was using the events test provided as is.  It was calling the glfwWaitEvents instead of the glfwPollEvents and I assumed one was replacing the other.  I can confirm that after using glfwPollEvents every event callback is working properly.

Interesting, that does mean that glfwWaitEvents still has errors on OSX, and probably on Windows as well, because it should call  glfwPollEvents internally. For the time being glfwPollEventsis a workaround, but I will have to fix this issue as well.

It seems like under Linux this patch calls glfwPollEvents twice, both in window.c and x11_window.c.
Is this intentional? I assume the correct behavior is for it to only be called in x11_window.c.
For what it's worth, I've had no problems with this patch on my own branch since I initially merged your commit back from October.

Yes, this is intentional, IIRC it did not always work correctly. Perhaps it can be improved as well, though.

I updated the PR. Any news on this? This PR has been open for 2 years.

Year 3 has come and gone.  I updated this branch with the latest changes and resolved the conflicts.  @beoran take a look at your fork and maybe merge the PR changes or some of them if you don't agree with all changes.  Would've posted my own PR for this repo but this issue is already on the 3.4 milestone so this seemed a better way to contribute

@Enthuin thanks, I will take a look at resolving the conflicts as soon as I can get to it.

It is now June 2024. Is there any movement on this PR?


Task wrapped result + option helpers

Is your feature request related to a problem? Please describe.
Helper functions to work with Task<Result<'success option, 'error>>
Example:
type Error =
  | UsernameTaken
  | DatabaseError of DbError

taskResult {
  do!
    // getUserByUsername : string -> Task<Result<User option, DbError>>
    getUserByUsername createAccountRequest.Username //
    |> TaskResult.mapError DatabaseError
    |> TaskResult.bindRequireNone UsernameTaken
}

Describe the solution you'd like
Helper functions that combine bind + requireSome, requireNone, etc...
// name needs work :P
let inline bindRequireSome (error: 'error) (taskResultOption: Task<Result<'success option, 'error>>) =
    taskResultOption
    |> bind (Result.requireSome error >> Task.singleton)

Describe alternatives you've considered
N/A
Additional context
N/A
I would like to create a PR for this.

Yeah it seems like the only work around is currently to do it in two binds
let getUserName () = taskResult {
    return Some "jimmy"
}

let main () = taskResult {
    let! userNameOpt = getUserName ()
    let! userName =  Result.requireSome "No username" userNameOpt
    return ()
}

Seems like a good addition.


File replacement within document

Allows replacing arbitrary contents of docx container with provided values.
My example use case: replacing a logo in the header of the document depending on the context it's generated in.

@tmikoss would you be able to explain how your function works? I am looking to replace text in a document and was wondering if that's what you added to the library

@echan00 this is for replacing files, not text.  This handles replacing files (for example, images) within the archive.


Bump version

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Jinja2 variable definitions are suggested to take a {%<one space>set<one space><variable name><one space>=<one space><expression><one space>%} form. See lines [0, 1, 2, 3, 4, 5]

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

@conda-forge-admin, please rerender


DRM & ClearKey 1.4.X Unexpected runtime error

Version
Media3 1.4.0
More version details
From 1.4.0 and up has this issue, downgrading to 1.3.1 fixes it
Devices that reproduce the issue
Amazon FireTV Stick 4K (Mantis)
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Not tested
Reproduction steps
I can provide sample ClearKey link in private to test
Expected result
Media working like in 1.3.1
Actual result
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal: Playback error
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:   androidx.media3.exoplayer.ExoPlaybackException: Unexpected runtime error
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:720)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:98)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:154)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:61)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:   Caused by: android.media.MediaCodec$CryptoException: Operation not supported in this configuration
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2584)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:108)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1994)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:873)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
09-13 07:39:36.096 18108 18297 E ExoPlayerImplInternal:       ... 3 more
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal: Disable failed.
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:   android.media.MediaCodec$CryptoException: Operation not supported in this configuration
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at android.media.MediaCodec.native_flush(Native Method)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at android.media.MediaCodec.flush(MediaCodec.java:2068)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:168)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:960)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:953)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:780)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onDisabled(MediaCodecVideoRenderer.java:794)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.BaseRenderer.disable(BaseRenderer.java:220)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1846)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1566)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1523)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:722)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:98)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:154)
09-13 07:39:36.097 18108 18297 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:61)

Media
Will send to<EMAIL_ADDRESS>Bug Report

[x] You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

We didn't receive this. Please re-send it with subject Issue #1732. Thanks!

You will email the zip file produced by adb bugreport to<EMAIL_ADDRESS>after filing this issue.

We didn't receive this. Please re-send it with subject Issue #1732. Thanks!

Done

The email contains a logcat snippet, not the zip file produced by adb bugreport. The full bugreport often contains additional info which can help to understand issues. Please run adb bugreport after reproducing the issue, and email us the resulting zip file, then update this issue.

The email contains a logcat snippet, not the zip file produced by adb bugreport. The full bugreport often contains additional info which can help to understand issues. Please run adb bugreport after reproducing the issue, and email us the resulting zip file, then update this issue.

Updated the email with adb bugreport zip file result

Thanks - please can you add an EventLogger (https://developer.android.com/media/media3/exoplayer/debug-logging) and reproduce and take a new BR.
Please can you also provide a BR of a successful playback using 1.3.1, so we can understand what might be behaving differently.

Thanks - please can you add an EventLogger (https://developer.android.com/media/media3/exoplayer/debug-logging) and reproduce and take a new BR.
Please can you also provide a BR of a successful playback using 1.3.1, so we can understand what might be behaving differently.

Updated, please check

Thanks - I can't see any EventLogger output in the BR, so I'm not sure if you added it correctly (you need to add a line like player.addAnalyticsListener(new EventLogger())).
However I can see a difference between the two BRs without this, that I suspect is responsible for the error you're seeing.
At 1.3.1 we are instantiating an "insecure" (i.e. not HW-secure) video decoder:
OMXMaster: makeComponentInstance(OMX.MTK.VIDEO.DECODER.AVC) in mediacodec process

At 1.4.0 we are instantiating a HW-secure one (note the .secure suffix):
OMXMaster: makeComponentInstance(OMX.MTK.VIDEO.DECODER.AVC.secure) in mediacodec process

ClearKey doesn't support HW-secure playback.
At a guess, I suspect the change in behaviour might have been introduced by https://github.com/androidx/media/commit/c872af4bc00608be70b74a2f61078e5d65ed8322 where we switched from using MediaCrypto.requiresSecureDecoderComponent(String) to MediaDrm.requiresSecureDecoder(String).
We made a related follow-up fix/workaround that was included in 1.4.1 where MediaDrm.requiresSecureDecoder(String) was returning false when it should have been returning true (and MediaCrypto.requiresSecureDecoderComponent(String) was returning true): https://github.com/androidx/media/commit/b184677b7b50652ea9a97d1504c80f171143d7d9 (and then a follow-up fix to this for an edge-case that will be in 1.5.0-beta01: https://github.com/androidx/media/commit/0b86f8949865ed685ff1aad89962867b5629ee8d).
In your case, my hypothesis would suggest that MediaDrm.requiresSecureDecoder(String) is incorrectly returning true while MediaCrypto.requiresSecureDecoderComponent(String) is returning false. Would you be able to test this hypothesis?
If you have a local dependency on ExoPlayer this is quite easy, because you can just add some logging here in MediaCodecRenderer:
https://github.com/androidx/media/blob/be4d31ba87d240e76f7a34458073a124d61bfeff/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java#L579-L584
Something like:
if (codecDrmSession != null
    && (codecDrmSession.getState() == DrmSession.STATE_OPENED
        || codecDrmSession.getState() == DrmSession.STATE_OPENED_WITH_KEYS)) {
  Log.w(
    "issue-1732",
    "drmSession.requiresSecureDecoder()="
        + codecDrmSession.requiresSecureDecoder(checkStateNotNull(inputFormat.sampleMimeType));
}
if (mediaCrypto != null) {
  Log.w(
    "issue-1732",
    "mediaCrypto.requiresSecureDecoderComponent()="
        + mediaCrypto.requiresSecureDecoderComponent(checkStateNotNull(mimeType));
}

with 1.5.0 the error changed to "ERROR_CODE_DRM_SYSTEM_ERROR (6006)"
Playback error
androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(2, null, null, video/avc, avc1.640028, 2528997, null, [1920, 1080, 25.0, ColorInfo(Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:641)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                at android.os.Looper.loop(Looper.java:154)
                                                                                at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                                Caused by: android.media.MediaCodec$CryptoException: Operation not supported in this configuration
                                                                                at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
                                                                                at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2584)
                                                                                at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:112)
                                                                                at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1990)
                                                                                at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:875)
                                                                                at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1094)
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1138)
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:562)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                at android.os.Looper.loop(Looper.java:154)
                                                                                at android.os.HandlerThread.run(HandlerThread.java:61)

I couldn't build locally so I can't test the above and with 1.5.0 the error changed to "ERROR_CODE_DRM_SYSTEM_ERROR (6006)"
Playback error
androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(2, null, null, video/avc, avc1.640028, 2528997, null, [1920, 1080, 25.0, ColorInfo(Unset color space, Unset color range, Unset color transfer, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:641)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                at android.os.Looper.loop(Looper.java:154)
                                                                                at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                                Caused by: android.media.MediaCodec$CryptoException: Operation not supported in this configuration
                                                                                at android.media.MediaCodec.native_dequeueOutputBuffer(Native Method)
                                                                                at android.media.MediaCodec.dequeueOutputBuffer(MediaCodec.java:2584)
                                                                                at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter.dequeueOutputBufferIndex(SynchronousMediaCodecAdapter.java:112)
                                                                                at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.drainOutputBuffer(MediaCodecRenderer.java:1990)
                                                                                at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:875)
                                                                                at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1094)
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1138)
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:562)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:98)
                                                                                at android.os.Looper.loop(Looper.java:154)
                                                                                at android.os.HandlerThread.run(HandlerThread.java:61)

I just noticed that I also received a similar error for a HLS + ClearKey stream.
Playback error
                                                                                androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(0, null, null, video/avc, avc1.64001F, -1, null, [848, 480, -1.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
                                                                                at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:641)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                at android.os.Looper.loopOnce(Looper.java:226)
                                                                                at android.os.Looper.loop(Looper.java:313)
                                                                                at android.os.HandlerThread.run(HandlerThread.java:67)
                                                                                Caused by: android.media.MediaCodec$CryptoException: Operation not supported in this configuration: 6 (Unknown error -6)
                                                                                ============================== Beginning of DRM Plugin Log ==============================
                                                                                12-13 05:49:00.712 I found instance=clearkey version=android.hardware.drm@1.4::IDrmFactory
                                                                                12-13 05:49:00.712 I found instance=widevine version=android.hardware.drm@1.4::IDrmFactory
                                                                                12-13 06:17:01.117 E Not implemented
                                                                                ============================== End of DRM Plugin Log ==============================

@icbaker, I'd really appreciate if you could reopen the issue.

Downgrading solved it for me

@KingLucius

with 1.5.0 the error changed to "ERROR_CODE_DRM_SYSTEM_ERROR (6006)"

This is likely due to this change in the release notes:

Fix MediaCodec.CryptoException sometimes being reported as an "unexpected runtime error" when MediaCodec is operated in asynchronous mode (default behaviour on API 31+).

appreciate your help building the lib so I can try it directly with the needed log modifications

The instructions for depending on ExoPlayer locally from your project are here: https://github.com/androidx/media/blob/release/README.md#locally
Or just modify a local copy of our demo app if it's easier.

@efkann

Interesting enough, downgrading to 1.3.1 doesn't fix anything for me. Still same error:

Given this issue is specifically about a behaviour that changed between 1.3.1 and 1.4.0, I think you're probably experiencing something different. I see you already filed https://github.com/androidx/media/issues/1964 and as you've seen from https://github.com/androidx/media/issues/1045 ClearKey in HLS is, as far as I understand, undocumented and currently unsupported by ExoPlayer. I suggest you either keep discussion of your issue in https://github.com/androidx/media/issues/1964 or file a new issue if it's separate to that.

I will check the demo app
Thanks

Google Android TV API 25 Results (Media works without any issue):
drmSession.requiresSecureDecoder()=true
drmSession.requiresSecureDecoder()=true

Amazon Android TV API 25 Results (Media doesn't work):
drmSession.requiresSecureDecoder()=true
drmSession.requiresSecureDecoder()=true

Last working commit: d833d59124d795afc146322fe488b2c0d4b9af6a
First commit doesn't work: 2a5b9afb88965dba7b7138e7c721672360149dbd
(Really strange it's the same as d833d59124d795afc146322fe488b2c0d4b9af6a)

Last working commit on A FireTV Stick : d833d59
First commit doesn't work: 2a5b9af
(Really strange it's the same as d833d59)

These commits are on different branches, so it's not very meaningful to compare the code state between them.
If you are bisecting I suggest you stick to commits on a single branch, either main or release.

Google Android TV API 25 Emulator Results (Media works without any issue):
drmSession.requiresSecureDecoder()=true
drmSession.requiresSecureDecoder()=true

Amazon Android TV API 25 Results (Media doesn't work):
drmSession.requiresSecureDecoder()=true
drmSession.requiresSecureDecoder()=true

And what does MediaCrypto.requiresSecureDecoderComponent(String)  return in each case? See https://github.com/androidx/media/issues/1732#issuecomment-2367927781.

And what does MediaCrypto.requiresSecureDecoderComponent(String) return in each case? See https://github.com/androidx/media/issues/1732#issuecomment-2367927781.

drmSession.requiresSecureDecoder()=true for both emulator (media works) & real Amazon stick (media doesn't work)

And what does MediaCrypto.requiresSecureDecoderComponent(String) return in each case? See #1732 (comment).

drmSession.requiresSecureDecoder()=true for both emulator (media works) & real Amazon stick (media doesn't work)

OK - but that's only half of what I asked, in either my original comment and my follow-up. The other half is: MediaCrypto.requiresSecureDecoderComponent (not drmSession.requiresSecureDecoder)

Ah sorry missed those part
for MediaCrypto.requiresSecureDecoderComponent there was no logging at all

mediaCrypto is always null, please find the below full logcat from the device
Amazon-AFTMM-Android-7.1.2_2024-12-16_195057.zip

mediaCrypto is always null even on the emulator though the media is working with no issue, please find the below full logcat from the device

Thanks for clarifying - it looks like I asked you to add the MediaCrypto part of the logging in the wrong place. Can you try putting it back closer to where it was before https://github.com/androidx/media/commit/c872af4bc00608be70b74a2f61078e5d65ed8322 - concretely here, at the bottom of (but inside) this else if:
https://github.com/androidx/media/blob/df887a942222914836081f868067960eb0149547/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/mediacodec/MediaCodecRenderer.java#L1088-L1096
So it looks like:
  } else if (cryptoConfig instanceof FrameworkCryptoConfig) {
    FrameworkCryptoConfig frameworkCryptoConfig = (FrameworkCryptoConfig) cryptoConfig;
    try {
      mediaCrypto = new MediaCrypto(frameworkCryptoConfig.uuid, frameworkCryptoConfig.sessionId);
    } catch (MediaCryptoException e) {
      throw createRendererException(
          e, inputFormat, PlaybackException.ERROR_CODE_DRM_SYSTEM_ERROR);
    }
    Log.w(
        "issue-1732",
        "mime="
            + inputFormat.sampleMimeType
            + ", mediaCrypto.requiresSecureDecoderComponent()="
            + mediaCrypto.requiresSecureDecoderComponent(
                checkStateNotNull(inputFormat.sampleMimeType)));
  }
  return true;
}

When testing I also realised the duplicate logging is due to one for audio and one for video, so it might be clearer to log the MIME type in each case too (as I've added to the code snippet above).

API 25 on Emulator
drmSession.requiresSecureDecoder()=true
mime=video/avc, mediaCrypto.requiresSecureDecoderComponent()=false
drmSession.requiresSecureDecoder()=true
mime=video/avc, mediaCrypto.requiresSecureDecoderComponent()=false
drmSession.requiresSecureDecoder()=true
mime=audio/mp4a-latm, mediaCrypto.requiresSecureDecoderComponent()=false

API 25 on Fire Stick
drmSession.requiresSecureDecoder()=true
mime=video/avc, mediaCrypto.requiresSecureDecoderComponent()=false
drmSession.requiresSecureDecoder()=true
mime=video/avc, mediaCrypto.requiresSecureDecoderComponent()=false

Thanks, those logs seem to confirm my hypothesis from above in https://github.com/androidx/media/issues/1732#issuecomment-2367927781:

In your case, my hypothesis would suggest that MediaDrm.requiresSecureDecoder(String) is incorrectly returning true while MediaCrypto.requiresSecureDecoderComponent(String) is returning false.

Have you noticed that the log repeated 3 times for the emulator (2 video / 1 audio), while on Fire stick no audio mime logging

Have you noticed that the log repeated 3 times for the emulator (2 video / 1 audio), while on Fire stick no audio mime logging

I'm not sure if this is relevant? Given your exception in https://github.com/androidx/media/issues/1732#issuecomment-2539719220 is from the video decoder.

Please notice that media is working on emulator while not working on real fire stick

This may be because the emulator isn't able to provide a secure decoder, so we never end up incorrectly playing content on a secure decoder.

I'm not sure if this is relevant? Given your exception in https://github.com/androidx/media/issues/1732#issuecomment-2539719220 is from the video decoder.

I think you're right, I have tried the same build on Android 14 smart phone and the result is media is working and the log as the below:
drmSession.requiresSecureDecoder()=false
mime=video/avc, mediaCrypto.requiresSecureDecoderComponent()=false
drmSession.requiresSecureDecoder()=false
mime=audio/mp4a-latm, mediaCrypto.requiresSecureDecoderComponent()=false

Any ETA when this issue can be resolved ?


Evidence Link collapsedHeight prop error

It looks like as of 30081d3a77b77c81aa8a1603502a74df11d38a78 the Evidence link display is unusable.
To Replicate

Open a model that has Resource defined
Click "New Evidence Link"
The target link display is in the wrong place, but it might just be due to the collapsedHeight prop error.

Click the "Edit" button.  The "Set target" is also in the wrong place.

It should look like this:

Moved from https://github.com/Vertex-Labs/meme/issues/4

In trying to QA, I can't get to the Evidence link to figure out where errors are coming from, so I'm taking this issue and gonna fix it in a branch.

Fixed with 9007b3f7124f6b38522384e180b95a5ece2aaa58
See https://mui.com/material-ui/migration/v5-component-changes/#✅-rename-collapsedheight-prop


Element utilities

Debug utilities for element formulations can be helpful. For this we should have visualization helpers for

[ ] Reference vertex numbering in 1d, 2d, 3d for all reference shapes
[ ] Reference face numbering in 2d and 3d for all reference shapes
[ ] Reference edge numbering in 3d for all reference shapes
[ ] Visualization of individual basis functions for arbitrary interpolations (on suitable reference shapes)
[ ] Utils for orientations

Ping @koehlerson - probably we should discuss the scope of FerriteVis.jl before attacking this.

Should we include such "fancy" utility functions in this package?
Or, should we provide examples/wiki/... on how to do this on Lagrange elements?
Or, should we just provide this as docs in Ferrite.jl directly?
Or, ... ?

Currently, I am somewhat leaning to 3, because this feels like docs. However, it also feels helpful to have it available from command line, for example when developing new element formulations.

I think we can achieve something like this rather easily, but I don't know how useful it is in the end. It would take probably a day to get something working but in the end it would be just plots quite similar to https://www-users.cse.umn.edu/~arnold/femtable/


Unit test for main.IsValidUUID

Description
Unit test for main.IsValidUUID
Fixes #149
Type of change

Unit tests (no changes in the code)

Testing steps
Done on CI
Checklist

[ ] make before_commit passes
[ ] updated documentation wherever necessary
[ ] added or modified tests if necessary
[ ] updated schemas and validators in insights-data-schemas in case of input/output change

Codecov Report

Merging #173 (0bc4db1) into master (d414e58) will increase coverage by 0.64%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #173      +/-   ##
==========================================
+ Coverage   17.45%   18.10%   +0.64%
==========================================
  Files           3        3
  Lines         464      464
==========================================
+ Hits           81       84       +3
+ Misses        372      369       -3
  Partials       11       11

Impacted Files
Coverage Δ

cleaner.go
1.63% <0.00%> (+1.63%)
:arrow_up:

Continue to review full report at Codecov.

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


Corrected issue with regex for (NH4)HS test case

@jo4356, please close branch once PR is completed.


Question with Russian language description of Gherkin

Good day! Now in Cucumber gherkin uses Russian description(gherkin_language.json). There are three possible isues: Given, When, Than. In Russian language more preferable for 'Given' use  "Допустим ", "Дано " and "Пусть ", without "Если". And "Если" shift into 'When'. From the point of view of the Russian language, it is more readable and logically understandable.

Hi @cerebellum13,
Thanks for letting us know about this. Just to confirm:

Dopustim = Given,
Dano = when, and
Pust' = then,
and esli should be removed.

Is this correct?
Thanks!

No, I suggest that you leave those words in Russian that are now. And the word "Если" is transferred to the group "When".

@cerebellum13 can you send us a pull request with your suggestions please?

Created a pull request.


Edit README.md

I did slight edits to make the README more attractive.

just fixed that grammar, merging

thanks for the PR!


feat: move integration tests to main repo

Adds e2e tests to the main repo.
To run all the tests, use the provided shell script ./run-e2e-tests.sh.
To run individual tests, first spin up the relevant setup instances, for instance for most test it's enough to have a few basic instances of the POI Radio running:
docker-compose -f e2e-tests.docker-compose.yml up basic-instance  --scale basic-instance=5

Then, run the desired test:
cargo run --bin integration-tests -- --check=poi_ok

poi_ok (probably needs a better name) is the basic but most important sanity check test, it spins up another normal Radio instance that waits until it receives 5 unique messages, then exits successfully.
Other tests like invalid_payload and poi_divergence_local require a different setup, all of that is demonstrated in the shell script and can be used as reference.
I've added the shell script as a CI check so that if any of our e2e test fails (or times out) we get an error. Moving forward, we should add a new e2e test for every bigger new feature. It's important to keep in mind that the tests instrument Docker images so are quite heavy and slow, that's why we should be careful about adding too much, they're main point is to make sure that the whole system works, and not so much to check individual bits of logic. Anything that can be just a unit test - should be just a unit test.
Currently the tests take about 30 minutes to run when starting from scratch and 13-15 minutes when you already have the Docker images built.
Next steps
Right now the tests are just a Rust binary crate, but we should convert them to actual cargo tests with cfg(test), that will be a bit tricky but is totally doable. That will enable us to fully sandbox the e2e tests and make changes to both the SDK and the Radio that would only be compiled if they're being ran in a test environment.
Also, the current test-radio.rs is just a slightly edited version of poi-radio's main.rs file. In the interest of time I'm keeping it that way but we should refactor main.rs to be more modular so that test-radio.rs can just reuse the things it needs. That way updating test-radio.rs after the POI Radio's main logic is changed won't be needed.

@hopeyen  thanks for the awesome feedback! 🚀  I implemented most of the changes and left some comments on things that I'm not sure if we should change (at least right now). Also added this issue - https://github.com/graphops/poi-radio/issues/64 , where we can add further improvement ideas.


[enhancement/ui/ux issue] Clicking on current pool, shows 'delegate to this pool'

when i go to > Stake Pools > click on the pool i am currently delegating to - in the popup the button says 'delegate to this pool'. this seems a bit confusing, as I already am delegating to it.

You could have multiple wallets delegated to different pools. This button launches the delegation wizard where you can select a wallet and a different pool. I agree it is not ideal in all cases. We will see how we can improve this. Thanks for the report.


Update Sequence diagram for Sprint 3

add new sequence diagrams for implemented features in sprint 3

Sequence diagrams were updated and added to sprint 3 report :)


Question
How to open a proxy

Search network icon on right side of the top bar, right-click on that icon and search for VPN-related settings.


Revert "Update to include new category pages"

Reverts community/community#29812

brecht.vrolix

#33132


git-node v8: remove eu-strip during major upgrades

Ref: https://github.com/nodejs/node/pull/20304

Note: Node's gitignore was updated in https://github.com/nodejs/node/pull/20304 to ignore the eu-strip directory. It is not enough because the rule is overwritten by V8's gitignore.
The new task removes the V8 rule and the local directory.


AndroidX Work Manager

Summary
Use AndroidX WorkManager
API Changes
Currently, the job manager from the support library is used.
Blocker
The work manager is currently not based on promises and should not be used until it is.
Intended Use Case
Replace support library with AndroidX
This should not be taken on by the community

This is implemented in 1.1


Handle datasets that have different types of files

For example:

data1.zip
data2.tar.gz
data3.csv
data4.txt

Yes!
Why not make 'type' an attribute of url and add a 'type' option to selectively download the files acting this type among the list of urls? (I wish I had time to write code and propose pull requests rather than just asking for more features)


TUI Calendar and React conflicts on updating DOM

Version
@toast-ui/react-calendar v1.0.4
Development Environment
React JS
Current Behavior
Having issues on events like creating, updating and deleting schedule

Warning: unstable_flushDiscreteUpdates: Cannot flush updates when React is already rendering.
Uncaught TypeError: Cannot read property 'hide' of null at ScheduleCreationPopup.hide

Expected Behavior
Just need tui-calendar which is react friendly which I can

Customize fields
Scalable
Repo: https://github.com/psdwizard/react-tui-calendar

Thank you!

Just got the same issue.

-- Please reply above this line --
Hi Nhn/tui.calendar,
Thanks for the email!
We’re working on your request, and we’ll get back to you as soon
as possible (Monday-Friday 9am-10pm Philippine time).
Thanks again,
Team Fullstack HQ
P.S. We’ve got our best developers on it :)

@psdwizard
I reproduced it.
I think it's a life cycle problem.
I need to find out exactly.

Have we had any progress on this issue?

-- Please reply above this line --
Hi Nhn/tui.calendar,
Thanks for the email!
We’re working on your request, and we’ll get back to you as soon
as possible (Monday-Friday 9am-10pm Philippine time).
Thanks again,
Team Fullstack HQ
P.S. We’ve got our best developers on it :)

I have the same issue


Param error is incomplete and too ambiguous

When rendering a panel I get the following param error:
WARNING:param.: The Parameterized instance has instance parameters created using new-style param APIs, which are incompatible with .params. Use the new more explicit APIs on the .param accessor to query parameter instances.To query all parameter instances use .param.objects with the option to return either class or instance parameter objects. Alternatively use .param[name] indexing to access a specific parameter object by name.

As far as I can tell I am only using the new-style API. It would be helpful for debugging if the error message where a little more specific about where the incorrect usage came from, or at least what attribute was being accessed in the old way.
(See attached files to reproduce)
Archive.zip

The specific error is triggered by using .params(), which it says, but it's very easy to miss (.params is old, .param is new). Moreover, it's not necessarily something you used explicitly; more likely it's some other code that contains a call to .params().  When we've seen this so far it's because of an outdated version of Panel relative to Param, but there could be other code floating around that would hit this issue.

I think I've got the latest version of both param and panel and also holoviews:
holoviews                 1.12.1                     py_2    conda-forge
...
panel                     0.5.1                h24bf2e0_2    conda-forge
param                     1.9.0                      py_0    conda-forge

I think I've updated all of my .params calls to .param so I'm wondering if there is a lingering .params in panel (or possibly holoviews) somewhere.

I don't have xmsinterp so I can't run that code myself, but if you want to see where the offending call is, just put assert() before self_.warning in param/parameterized.py's def params(self_, parameter_name=None): method and run it.  You'll see where it traces back to, and can raise the issue on the appropriate library.

@jbednar thanks for the tip. Inserting assert() causes the following traceback:
---------------------------------------------------------------------------
AssertionError                            Traceback (most recent call last)
<ipython-input-11-11b21fef3482> in <module>
      1 opts = InterpOptions(name="")
----> 2 dmap = hv.util.Dynamic(opts.get_image(), operation=opts.get_image, streams=[Params(opts)])
      3 pn.Row(opts, dmap)

~/miniconda/envs/interp/lib/python3.7/site-packages/holoviews/streams.py in __init__(self, parameterized, parameters, watch, **params)
    629                                'to support watching parameters.')
    630         if parameters is None:
--> 631             parameters = [p for p in parameterized.params() if p != 'name']
    632         super(Params, self).__init__(parameterized=parameterized, parameters=parameters, **params)
    633         self._memoize_counter = 0

~/miniconda/envs/interp/lib/python3.7/site-packages/param/parameterized.py in inner(*args, **kwargs)
   1144                 get_logger(name=args[0].__class__.__name__).log(
   1145                     WARNING, 'Use method %r via param namespace ' % fn.__name__)
-> 1146             return fn(*args, **kwargs)
   1147
   1148         inner.__doc__= "Inspect .param.%s method for the full docstring"  % fn.__name__

~/miniconda/envs/interp/lib/python3.7/site-packages/param/parameterized.py in params(cls, parameter_name)
   2472     @Parameters.deprecate
   2473     def params(cls,parameter_name=None):
-> 2474         return cls.param.params(parameter_name=parameter_name)
   2475
   2476     @classmethod

~/miniconda/envs/interp/lib/python3.7/site-packages/param/parameterized.py in params(self_, parameter_name)
   1238         """
   1239         if self_.self is not None and self_.self._instance__params:
-> 1240             assert()
   1241             self_.warning('The Parameterized instance has instance '
   1242                           'parameters created using new-style param '

AssertionError:

So it looks like the warning is coming from holoviews. I posted a new issue there (https://github.com/pyviz/holoviews/issues/3702), but it would be great if the param warning gave a little better indication of what triggered the warning. In hindsight, I should have originally posted this issue there.  Can I ask a maintainer of this repo to transfer this issue over to param?


Define mixture for Circuit?

import cirq

q = cirq.LineQubit(0)
op = cirq.depolarize(0.5).on(q)

print(cirq.has_mixture(op))
print(cirq.has_mixture(cirq.Circuit(op)))

gives
True
False

which feels wrong. We could fix it by defining _mixture_ for Circuit. This method makes perfect sense but one potential pitfall is that if a Circuit has m mixture operations that each have k possibilities, the length of the Circuit mixture is k^m. This can easily be exponential in the size of the circuit.

Related to #408.

This is definitely not correct behavior (verified it still exists).

Update: has_mixture appears to have been fixed:
In [1]: import cirq

In [2]: q = cirq.LineQubit(0)

In [3]: op = cirq.depolarize(0.5).on(q)

In [4]: print(cirq.has_mixture(op))
True

In [5]: print(cirq.has_mixture(cirq.Circuit(op)))
True

However,
In [8]: print(cirq.mixture(op))
((0.5, array([[1., 0.],
       [0., 1.]])), (0.16666666666666666, array([[0.+0.j, 1.+0.j],
       [1.+0.j, 0.+0.j]])), (0.16666666666666666, array([[0.+0.j, 0.-1.j],
       [0.+1.j, 0.+0.j]])), (0.16666666666666666, array([[ 1.+0.j,  0.+0.j],
       [ 0.+0.j, -1.+0.j]])))

In [9]: print(cirq.mixture(cirq.Circuit(op)))
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-9-9483da13ef22> in <module>
----> 1 print(cirq.mixture(cirq.Circuit(op)))

~/src/Cirq/cirq-core/cirq/protocols/mixture_protocol.py in mixture(val, default)
    101         raise TypeError(f"object of type '{type(val)}' has no _mixture_ or _unitary_ method.")
    102
--> 103     raise TypeError(
    104         "object of type '{}' does have a _mixture_ or _unitary_ "
    105         "method, but it returned NotImplemented.".format(type(val))

TypeError: object of type '<class 'cirq.circuits.circuit.Circuit'>' does have a _mixture_ or _unitary_ method, but it returned NotImplemented.

In [10]:

Keeping the bug open until mixture is implemented for circuits. One step towards this goal is under review in #4550.


remove -all suffix from agent jars

Realized that we don't need the -all suffix on the jar URLs.
I can rebase this after #920.

I think we should stop publishing the -all artifact.


site code commit - feature request to prompt for commit message

Re: $ terminus site code commit --message=<message>
Feature Request - Terminus should prompt the user for a commit message instead of using "Terminus Commit" when null.
Suggest:
$message = @$assoc_args['message'];
          if (!$message) {
            $message = escapeshellarg(Terminus::prompt("Enter a commit message"));
          }

+1 for this.

If the user is using --silent, should we use a default message anyway? Perhaps an env var could replace it as the default message?


Missing policy assignment - Subnets should be private

What happened? Provide a clear and concise description of the bug, including deployment details.
I'm struggling to locate a policy assignment and have to assume it's been missed, or there's a compelling reason why it's not being assigned? it's one of the built-in one that's referenced in the Enterprise Scale ALZ Policy xlsx called 'Subnets should be private', suggesting it's assigned at both Platform and Landing Zones scope.
I should point out that we're a couple of versions behind at the moment, and I've identified this as part of a gap analysis to validate what's changing between our current and your latest version of the repo. I've not deployed the latest to see if the assignment actually shows in the portal yet, but have reviewed the assignments in alzDefaultPolicyAssignments.bicep and couldn't identify it.
I think this is being raised in the right place, as the assignments are maintained here with the definitions and initiatives being pulled from the Enterprise Scale repo.
Please provide the correlation id associated with your error or bug.
n/a
What was the expected outcome?
I'd expect to see the policy assignment in the alzDefaultPolicyAssignments.bicep file, but can't. I've also looked for anything that resembles it but is called something else like ...-defaultOutboundAccess etc., but no joy.
Relevant log output
No response
Check previous GitHub issues

[x] I have searched the issues for this item and found no duplicate

Code of Conduct

[x] I agree to follow this project's Code of Conduct

Hey @brotheroneill,
We haven't ingested the policy refresh yet that happened last week in ALZ. This is on the plan to complete by the end of this month.
Hope that helps
If you need it in the meantime you can add a custom assignment as per the wiki (https://github.com/Azure/ALZ-Bicep/wiki/AssigningPolicies) using the assignment file from the portal here as inspiration: https://github.com/Azure/Enterprise-Scale/blob/main/eslzArm/managementGroupTemplates/policyAssignments/ENFORCE-SubnetPrivatePolicyAssignment.json
Thanks
Jack


burning cinnabar hot fix

GH Actions says that your vars aren't uppercase and/or camelcase. Damnnn

@MartinNemi03 @metalcupcake5 🙏 merge this + production... we have broken theme on live


Dual Piezo

Why does error occurs when compiling sketch if i use dualPiezo(); ?

it happened on ver 0.5
there is ver 0.6, i'll try it. so i close this issue.
thank you Ryo Kosaka


ConfigMap removed on kubernetes version upgrade

Kubernetes Old Version : v1.11.6
Kubernetes New Version : v1.13.4
Rancher Version: v2.1.7
Rancher Old Version: v2.1.5
After upgrade, ConfigMap for nginx-ingress-controller is empty.

Not really sure what configmap you are talking about exactly, but I guess it's nginx-configuration and that is covered in https://github.com/rancher/rancher/issues/21851. Let me know if that does not cover your issue.


JavaScript emulator latency and landscape mode

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce?
Bug fix, feature

What is the current behavior? (You can also link to an open issue here)
Audio latency is high on all devices to specifically fix chrome on android,
If you try to play in landscape, you will be asked to rotate your screen on mobile, in some configurations with itch this is not possible.

What is the new behavior (if this is a feature change)?
Audio latency is returned to 2048 as originally designed (most computers can go lower, but this is the limit for Firefox android). Exception for Chrome Android to set the buffer to 4096.
Putting the phone in landscape mode will no longer ask you to rotate, and instead uses a gba style layout, works great on ultra wide phones, and ok on regular width phones.

Does this PR introduce a breaking change?
Requires user to re export for web if they want these improvements, Tested on medium and low end devices with chrome for android and Firefox for android, both function without audio stutter, and Firefox android + all pc browsers have slightly lower latency.

Other information:

Thanks @RichardULZ,
The landscape mode just had a small issue on iPhone X if you had multiple tabs open where it was cropping the bottom of the controls

but I've pushed some small changes to your branch to make the controls appear vertically centre aligned when in landscape that fixes the issue for me.
Unfortunately I don't have access to any Android devices to test on but I'll merge for now, just let me know if I broke anything for you :-D


Orders creation rejection issue

server code:
instance.orders.create({amount: 12 ,currency: 'INR',receipt:'12',payment_cature: 'true'},(err,res) => {
                           if(err) console.log("error");
                           else console.log("order created");
                         });

Response:
Unhandled rejection (<{"statusCode":400,"error":{"code":"BAD...>, no stack trace)

@arpitchaudhari Razorpay accepts amount in paisa and the minimum amount is 100 paisa = Rs 1


Uncheck "Based on dependency analysis" in the script phase to hide warnings #5870

Closes #5870

have no idea, i thought it act the same as for lower versions, runs scripts on every launch


Upgrade com.h2database:h2 to version 2.3.232

Which version and edition of Flyway are you using?
10.20.1
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Not relevant, but Java API.
Which database are you using? (Type & version)
H2
Which operating system are you using?
Not relevant, but Mac OS 15.1.
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
Run Flyway info.
What did you expect to see?
Absence of a warning message.
What did you see instead?
The following warning on the console:
WARN  o.f.c.i.database.base.Database - Flyway upgrade recommended: H2 2.3.232 is newer than this version of Flyway and support has not been tested. The latest supported version of H2 is 2.2.224.

Background: We are using version 2.3.232 of the H2 JDBC driver com.h2database:h2 in our software.

Updated in 10.21.0

I have upgraded to 10.21.0. Strangely enough, I'm still getting the exact same warning on the console. I have double-checked the class path to make sure that flyway-core:10.21.0 and com.h2database:h2:2.3.232 is contained and it is not polluted by an older version. Anything else that I could do wrong? Or could it be that the release of Flyway needs something more to be done?

I think I have found it: https://github.com/flyway/flyway/blob/2dbbab3e138519b8c658d80add3bd93427561403/flyway-core/src/main/java/org/flywaydb/core/internal/database/h2/H2Database.java#L109


block-level element within  indents incorrectly

In brackets.json, have the following for your preferences:
{
    "closeTags": {
        "whenOpening": false,
        "whenClosing": true
    }
}

Create an html file to edit. Type
 and press Enter/Return.
Type any block-level element, such as
 and press Enter/Return.
Type </ and press Enter/Return.
Type </ and press Enter/Return.
What happens:

</

What should happen instead:

This issue does not happen with inline elements inside
.
Version:
Release 1.3 build 1.3.0-16022 (release cd0a6aae5)
build timestamp: Fri Apr 24 2015 09:59:57 GMT+0100

OS:
Windows 8.1 Pro
64-bit

I think this was an issue in at least one previous version as well, if not all of them. But don't take my word for it.

Upstream bug filed: codemirror/CodeMirror#3422

I don't think it's valid HTML to have block tags in a
 tag. You're markup should look like this:

    Text before list...

    Text after list...


Bellman Ford algorithm

Java code for Bellman Ford algorithm

Thank you for contributing to Algorithms/java, we are happy to merge your pull request but first, it needs to fix:
Can you please:

move the algorithm directly into /graph, or any folder that fit into the algorithm type, probably its already created, but if it not you can feel free to create a new folder
add CamelCase format!
add extension file, in this case .java

we are waiting for your changes

Thank you for contributing to Algorithms/java, we are happy to merge your pull request but first, it needs to fix:
Can you please:

move the algorithm directly into /graph, or any folder that fit into the algorithm type, probably its already created, but if it not you can feel free to create a new folder
add CamelCase format!
add extension file, in this case .java

we are waiting for your changes

I'll do it right away.


[automation] Dependant and weekly releases

With the recent pull requests https://github.com/pyiron/docker-stacks/pull/147 and https://github.com/pyiron/docker-stacks/pull/150 this repository should now be automatically updated. Dependabot opens pull requests, when new python packages are available and new software stacks are released on a weekly bases.
ToDos:

[x] I just fixed the weekly release part today, so we should validate that it is automatically released next week.
[x] Dependabot currently only updates the requirements.txt file in the core of the repository to inform us about updates. But the conda environment files need to be updated manually. @niklassiemer is it possible to extend the Dependabot action to update the conda environment files as well? You did it for other repositories in the pyiron organisation so I think it should be possible here as well, the only challenge is that there are a range of different environment files with different requirements.

The first dependabot updates: https://github.com/pyiron/docker-stacks/pull/155 and https://github.com/pyiron/docker-stacks/pull/154 worked as expected.

The update of the environment(s) upon dependabot PRs is now working :) I tested this in #156 (and pushed two action fixing commits to main directly)

Thanks a lot @niklassiemer - that sounds like we have a fully automated setup now. Let’s see if everything works according to our plans on Monday and then we can close this issue.

[] new docker images are released with the corresponding environments
[] existing environments are tested as conda dry runs and the results are published on the GitHub pages branch
[] suggestions for updates are triggered by Dependabot and matched by our own bot to update the corresponding conda environments.

Everything worked as expected.


Cannot set the interpreter

Issue Type: Bug
Suddenly I cannot change the interprter anymore on my masOS version. I checked my setting the parth still point to my miniconda python. using "Select Interpreter" DOES show me all my possible environments, but after picking the one i want it stays stuck on /usr/bin/python
Extension version: 2018.6.0
VS Code version: Code 1.23.1 (d0182c3417d225529c6d5ad24b7572815d0de9ac, 2018-05-10T16:03:31.083Z)
OS version: Darwin x64 17.7.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz (8 x 2700)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledvideo_decode: enabledvideo_encode: enabledvpx_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (0.13GB free)

Process Argv
/private/var/folders/nv/3xl0t1xx4yxb6tyd0yqdm238001cpd/T/AppTranslocation/88BF837A-21EC-437B-893F-162B1D7F79AE/d/Visual Studio Code.app/Contents/MacOS/Electron

Screen Reader
no

VM
0%

What is your settings in your .vscode/settings.json file?

Do you have a multi root workspaces?
Please send a screen shot of VSCode with the explorer pane.

It's working again... not even a reboot, I switched networks... that's all I can think of.... Sorry for the noise, if it happens again i will re-open with more details. Is there a place where I can see VSCODE logs? Might be helpful to figure out what happened. I suspect it couldn't find conda or something.


How to have selected rows on table create with AsyncDataTableSource?

Is there a way to have selected rows when creating table with AsyncDataTableSource? I tried to pass selected at true on every DataRow2 within getRows() function but it does nothing.
Any idea ?
@override
  Future<AsyncRowsResponse> getRows(int startIndex, int count) async {
    final (items, paging) = await context.read<C>().fetchWithPaging(offset: startIndex, pageSize: count);

    this.items = items ?? [];

    if (items == null || paging == null) return AsyncRowsResponse(0, []);

    return AsyncRowsResponse(
      paging.total ?? 0,
      items
          .map(
            (item) => DataRow2(
              key: ValueKey<int>(item.hashCode),
              selected: true,
              onSelectChanged: selectable ? (value) => performSelectChanged(item, value) : null,
              color: color == null ? null : color!(item),
              cells: buildCells(context, item, this).map((e) => DataCell(Center(child: e))).toList(),
            ),
          )
          .toList(),
    );
  }

AsyncDataTableSource abstract class has own logic for selection and setting selected: true, in the AsyncRowsResponse is ignored.
If you happen to submit a PR with a fix for that - I am happy to review.

So, there's currently no way in AsyncPaginatedDataTable2 to refresh the page and have any checkboxes be selected?

I can cheat and add:
Timer(Duration(milliseconds: 100), () {
        setRowSelection(ValueKey(id), true);
      });

Right before I return the AsyncRowsResponse on getRows the first time, but that's extremely hacky.


Get grant number(s) which funded Mike's work on v1.0.0

@mmacferrin will contact Ted to find this information. Once that's added to this ticket, we can update CITATION.cff.
https://github.com/nsidc/Antarctica_Today/pull/3#issuecomment-1721591068

From e-mail:

NSF-OPP 1745116,
ANTARCTIC FIRN AQUIFERS: EXTENT, CHARACTERISTICS, AND COMPARISON WITH GREENLAND OCCURRENCES

NASA Arctic Sea Ice News and Analysis III (I think) — WALT, do you have the NASA project number for that?
USGS contract 140G0118 - Landsat And The Cryosphere: Tracking Interactions Between Ice, Snow, and the Earth System


fix: check muted property for mute getter

This PR also checks the mute property of the track when calling LocalStream.muted. This more accurately reflects the mute state of the track; for example, when sharing a window, the track gets muted by the browser when the shared window is minimized.

Holding off on merging this until I make some changes regarding the MuteStateChange event. We should only fire this if the mute state actually changes, taking into account both muted and enabled properties.


segfault with profiling on

I'm seeing the following segfault with profiling on, on a 2-rank run:
(gdb) bt
#0  0x0000200004c1a114 in nanosleep () from /lib64/power9/libc.so.6
#1  0x0000200004c19f44 in sleep () from /lib64/power9/libc.so.6
#2  0x0000200001ed6b08 in Realm::realm_freeze (signal=<optimized out>) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/runtime_impl.cc:183
#3  <signal handler called>
#4  0x0000200000b33d00 in Legion::Internal::CopyAcrossUnstructured::log_across_profiling (this=0x204f302787c0, copy_post=..., preimage=<optimized out>) at /autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/bits/stl_vector.h:1058
#5  0x0000200000eff278 in Legion::Internal::CopyAcrossUnstructuredT<2, long long>::execute (this=0x204f302787c0, op=<optimized out>, pred_guard=..., copy_precondition=..., src_indirect_precondition=..., dst_indirect_precondition=..., trace_info=..., replay=<optimized out>,
    recurrent_replay=false, stage=0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_types.h:2570
#6  0x0000200000b6e4c4 in Legion::Internal::RegionTreeForest::gather_across (this=0x198bb0c0, src_req=..., idx_req=..., dst_req=..., src_records=std::vector of length 0, capacity 0, src_targets=..., idx_targets=..., dst_targets=..., op=<optimized out>, src_index=<optimized out>,
    idx_index=<optimized out>, dst_index=<optimized out>, gather_is_range=<optimized out>, init_precondition=..., src_ready=..., dst_ready=..., idx_ready=..., pred_guard=..., collective_pre=..., collective_post=..., local_pre=..., reservations=..., trace_info=...,
    map_applied_events=..., possible_src_out_of_range=<optimized out>, compute_preimages=<optimized out>) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/region_tree.cc:2647
#7  0x00002000008e6c60 in Legion::Internal::CopyOp::perform_copy_across (this=0x204f340be750, index=<optimized out>, init_precondition=..., src_ready=..., dst_ready=..., gather_ready=..., scatter_ready=..., local_precondition=..., local_postcondition=...,
    collective_precondition=..., collective_postcondition=..., predication_guard=..., src_targets=..., dst_targets=..., gather_targets=0x2000464be5e0, scatter_targets=0x0, trace_info=..., applied_conditions=std::set with 0 elements, compute_preimages=false)
    at /autofs/nccs-svm1_sw/summit/gcc/9.3.0-2/include/c++/9.3.0/bits/stl_bvector.h:886
#8  0x00002000009337b8 in Legion::Internal::CopyOp::trigger_mapping (this=0x204f340be750) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:8305
#9  0x0000200000ca563c in Legion::Internal::Runtime::legion_runtime_task (args=0x201ffc0337c0, arglen=12, userdata=<optimized out>, userlen=<optimized out>, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:31644
#10 0x0000200001eb57b0 in Realm::LocalTaskProcessor::execute_task (this=0x17a82760, func_id=<optimized out>, task_args=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/bytearray.inl:150
#11 0x0000200001f10310 in Realm::Task::execute_on_processor (this=0x201ffc033640, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/bytearray.inl:39
#12 0x0000200001f10484 in Realm::KernelThreadTaskScheduler::execute_task (this=<optimized out>, task=<optimized out>) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1366
#13 0x0000200001f13524 in Realm::ThreadedTaskScheduler::scheduler_loop (this=this@entry=0x1728d6d0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1103
#14 0x0000200001f13d2c in Realm::ThreadedTaskScheduler::scheduler_loop_wlock (this=0x1728d6d0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1217
#15 0x0000200001f17400 in Realm::KernelThread::pthread_entry (data=0x204f280cac90) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.cc:781
#16 0x0000200004518ae0 in start_thread () from /lib64/power9/libpthread.so.0
#17 0x0000200004c5e7c8 in clone () from /lib64/power9/libc.so.6
(gdb)

I haven't been able to get a reproducer for this on sapling working. I have a deterministic reproducer on Summit -- please slack me to set up a time to get the necessary debug information.

Can we try this again with the fixes from last night?

I'm still hitting this on Summit

Can we get some updated line numbers? Frame 4 in particular looks pretty bogus (the compiler probably inlined the vector dereference and the debugger is very confused), but it is crucial to understanding exactly which vector we are indexing out of range. If possible, let's run this in debug mode. Since it seems deterministic it should reproduce even in debug mode.

Turning on debug mode got me a different assertion failure, not sure if it's related:
(gdb) bt
#0  0x00002000086ba114 in nanosleep () from /lib64/power9/libc.so.6
#1  0x00002000086b9f44 in sleep () from /lib64/power9/libc.so.6
#2  0x00002000051ec8a4 in Realm::realm_freeze (signal=6) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/runtime_impl.cc:183
#3  <signal handler called>
#4  0x0000200008613618 in raise () from /lib64/power9/libc.so.6
#5  0x00002000085f3a2c in abort () from /lib64/power9/libc.so.6
#6  0x0000200008606f70 in __assert_fail_base () from /lib64/power9/libc.so.6
#7  0x0000200008607014 in __assert_fail () from /lib64/power9/libc.so.6
#8  0x0000200002aa3e10 in Legion::Internal::FutureInstance::init_ready (ready=..., runtime=0x1f796a50, inst=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:2636
#9  0x0000200002aa3350 in Legion::Internal::FutureInstance::FutureInstance (this=0x200049f5cc18, d=0x205b8edc6310, s=1, r=..., rt=0x1f796a50, eager=false, external=false, own=false, inst=..., p=..., use=..., remote_read=...)
    at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:2564
#10 0x0000200002529504 in Legion::Internal::AllReduceOp::finalize_serdez_targets (this=0x2000510f4cb0, protect=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:25657
#11 0x000020000252a108 in Legion::Internal::AllReduceOp::trigger_execution (this=0x2000510f4cb0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:25776
#12 0x00002000022d828c in Legion::Internal::InnerContext::process_trigger_execution_queue (this=0x201ec8008890) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_context.cc:8268
#13 0x00002000022ea3a0 in Legion::Internal::InnerContext::handle_trigger_execution_queue (args=0x20004c022800) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_context.cc:11733
#14 0x0000200002b2fc80 in Legion::Internal::Runtime::legion_runtime_task (args=0x20004c022800, arglen=12, userdata=0x1f7bf9f0, userlen=8, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:31612
#15 0x00002000051b5fe4 in Realm::LocalTaskProcessor::execute_task (this=0x1f734a30, func_id=4, task_args=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/proc_impl.cc:1135
#16 0x000020000525c22c in Realm::Task::execute_on_processor (this=0x20004c022680, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:302
#17 0x00002000052612c4 in Realm::KernelThreadTaskScheduler::execute_task (this=0x1f734ca0, task=0x20004c022680) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1366
#18 0x000020000525fcf0 in Realm::ThreadedTaskScheduler::scheduler_loop (this=0x1f734ca0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1105
#19 0x00002000052603e8 in Realm::ThreadedTaskScheduler::scheduler_loop_wlock (this=0x1f734ca0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1217
#20 0x000020000526c538 in Realm::Thread::thread_entry_wrapper<Realm::ThreadedTaskScheduler, &Realm::ThreadedTaskScheduler::scheduler_loop_wlock> (obj=0x1f734ca0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.inl:97
#21 0x00002000052801ec in Realm::KernelThread::pthread_entry (data=0x205b6c03c250) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.cc:781
#22 0x0000200007fb8ae0 in start_thread () from /lib64/power9/libpthread.so.0
#23 0x00002000086fe7c8 in clone () from /lib64/power9/libc.so.6

Pull and try again.

I pulled, rebuilt and still hitting the same assertion.
(gdb) bt
#0  0x00002000086ba114 in nanosleep () from /lib64/power9/libc.so.6
#1  0x00002000086b9f44 in sleep () from /lib64/power9/libc.so.6
#2  0x00002000051ec8a4 in Realm::realm_freeze (signal=6) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/runtime_impl.cc:183
#3  <signal handler called>
#4  0x0000200008613618 in raise () from /lib64/power9/libc.so.6
#5  0x00002000085f3a2c in abort () from /lib64/power9/libc.so.6
#6  0x0000200008606f70 in __assert_fail_base () from /lib64/power9/libc.so.6
#7  0x0000200008607014 in __assert_fail () from /lib64/power9/libc.so.6
#8  0x0000200002aa3ea8 in Legion::Internal::FutureInstance::init_ready (ready=..., runtime=0x160e0010, inst=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:2636
#9  0x0000200002aa33e8 in Legion::Internal::FutureInstance::FutureInstance (this=0x201f73f6cc18, d=0x201f20026fb0, s=1, r=..., rt=0x160e0010, eager=false, external=false, own=false, inst=..., p=..., use=..., remote_read=...)
    at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:2564
#10 0x000020000252959c in Legion::Internal::AllReduceOp::finalize_serdez_targets (this=0x2000510d88d0, protect=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:25664
#11 0x000020000252a1a0 in Legion::Internal::AllReduceOp::trigger_execution (this=0x2000510d88d0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:25783
#12 0x00002000022d828c in Legion::Internal::InnerContext::process_trigger_execution_queue (this=0x2000580082f0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_context.cc:8268
#13 0x00002000022ea3a0 in Legion::Internal::InnerContext::handle_trigger_execution_queue (args=0x201ffc0382a0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_context.cc:11733
#14 0x0000200002b2fd18 in Legion::Internal::Runtime::legion_runtime_task (args=0x201ffc0382a0, arglen=12, userdata=0x1607aca0, userlen=8, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:31612
#15 0x00002000051b5fe4 in Realm::LocalTaskProcessor::execute_task (this=0x1607b040, func_id=4, task_args=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/proc_impl.cc:1135
#16 0x000020000525c22c in Realm::Task::execute_on_processor (this=0x201ffc038120, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:302
#17 0x00002000052612c4 in Realm::KernelThreadTaskScheduler::execute_task (this=0x13bf0540, task=0x201ffc038120) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1366
#18 0x000020000525fcf0 in Realm::ThreadedTaskScheduler::scheduler_loop (this=0x13bf0540) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1105
#19 0x00002000052603e8 in Realm::ThreadedTaskScheduler::scheduler_loop_wlock (this=0x13bf0540) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1217
#20 0x000020000526c538 in Realm::Thread::thread_entry_wrapper<Realm::ThreadedTaskScheduler, &Realm::ThreadedTaskScheduler::scheduler_loop_wlock> (obj=0x13bf0540) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.inl:97
#21 0x00002000052801ec in Realm::KernelThread::pthread_entry (data=0x201f2007a480) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.cc:781
#22 0x0000200007fb8ae0 in start_thread () from /lib64/power9/libpthread.so.0
#23 0x00002000086fe7c8 in clone () from /lib64/power9/libc.so.6
(gdb)

Pull and try again

Ok, here's the original backtrace you wanted, in debug mode:
(gdb) bt
#0  0x00002000086ba114 in nanosleep () from /lib64/power9/libc.so.6
#1  0x00002000086b9f44 in sleep () from /lib64/power9/libc.so.6
#2  0x00002000051ec8a4 in Realm::realm_freeze (signal=11) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/runtime_impl.cc:183
#3  <signal handler called>
#4  0x00002000029ae92c in Legion::Internal::CopyAcrossUnstructured::log_across_profiling (this=0x205b7c0911b0, copy_post=..., preimage=-1) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/region_tree.cc:6784
#5  0x00002000030a6658 in Legion::Internal::CopyAcrossUnstructuredT<2, long long>::execute (this=0x205b7c0911b0, op=0x205b6c081230, pred_guard=..., copy_precondition=..., src_indirect_precondition=..., dst_indirect_precondition=..., trace_info=..., replay=false,
    recurrent_replay=false, stage=0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/region_tree.inl:6898
#6  0x0000200002997d68 in Legion::Internal::RegionTreeForest::gather_across (this=0x2232e0f0, src_req=..., idx_req=..., dst_req=..., src_records=std::vector of length 0, capacity 0, src_targets=..., idx_targets=..., dst_targets=..., op=0x205b6c0810c0, src_index=0, idx_index=2,
    dst_index=1, gather_is_range=false, init_precondition=..., src_ready=..., dst_ready=..., idx_ready=..., pred_guard=..., collective_pre=..., collective_post=..., local_pre=..., reservations=std::map with 0 elements, trace_info=..., map_applied_events=std::set with 0 elements,
    possible_src_out_of_range=false, compute_preimages=false) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/region_tree.cc:2649
#7  0x00002000024d40a0 in Legion::Internal::CopyOp::perform_copy_across (this=0x205b6c0810c0, index=0, init_precondition=..., src_ready=..., dst_ready=..., gather_ready=..., scatter_ready=..., local_precondition=..., local_postcondition=..., collective_precondition=...,
    collective_postcondition=..., predication_guard=..., src_targets=..., dst_targets=..., gather_targets=0x201f680bdb78, scatter_targets=0x0, trace_info=..., applied_conditions=std::set with 0 elements, compute_preimages=false)
    at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:8395
#8  0x00002000024d3510 in Legion::Internal::CopyOp::trigger_mapping (this=0x205b6c0810c0) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/legion_ops.cc:8305
#9  0x0000200002b2fd9c in Legion::Internal::Runtime::legion_runtime_task (args=0x20005c01eed0, arglen=12, userdata=0x2234f580, userlen=8, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/legion/runtime.cc:31645
#10 0x00002000051b5fe4 in Realm::LocalTaskProcessor::execute_task (this=0x222c4100, func_id=4, task_args=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/proc_impl.cc:1135
#11 0x000020000525c22c in Realm::Task::execute_on_processor (this=0x20005c01ed50, p=...) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:302
#12 0x00002000052612c4 in Realm::KernelThreadTaskScheduler::execute_task (this=0x222c4370, task=0x20005c01ed50) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1366
#13 0x000020000525fcf0 in Realm::ThreadedTaskScheduler::scheduler_loop (this=0x222c4370) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1105
#14 0x00002000052603e8 in Realm::ThreadedTaskScheduler::scheduler_loop_wlock (this=0x222c4370) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/tasks.cc:1217
#15 0x000020000526c538 in Realm::Thread::thread_entry_wrapper<Realm::ThreadedTaskScheduler, &Realm::ThreadedTaskScheduler::scheduler_loop_wlock> (obj=0x222c4370) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.inl:97
#16 0x00002000052801ec in Realm::KernelThread::pthread_entry (data=0x205b7000c890) at /autofs/nccs-svm1_home1/rohany/nvidia/legate.core/legion/runtime/realm/threads.cc:781
#17 0x0000200007fb8ae0 in start_thread () from /lib64/power9/libpthread.so.0
#18 0x00002000086fe7c8 in clone () from /lib64/power9/libc.so.6
(gdb)

In frame 4, can you see which of the five vectors being dereferenced are not big enough for idx? It will be one of src_fields, dst_fields, it->instances, it->instance_events, or dst_unique_events.

(gdb) p idx
$3 = 0
(gdb) p src_fields
$4 = std::vector of length 1, capacity 1 = {{
    inst = {
      id = 0
    },
    field_id = 1002,
    size = 8,
    redop_id = 0,
    red_fold = false,
    red_exclusive = false,
    serdez_id = 0,
    subfield_offset = 0,
    indirect_index = 0,
    fill_data = {
      direct = "\000\000\000\000\000\000\000",
      indirect = 0x0
    }
  }}
(gdb) p dst_fields
$5 = std::vector of length 1, capacity 1 = {{
    inst = {
      id =<PHONE_NUMBER>427387932
    },
    field_id = 1004,
    size = 8,
    redop_id = 0,
    red_fold = false,
    red_exclusive = false,
    serdez_id = 0,
    subfield_offset = 0,
    indirect_index = -1,
    fill_data = {
      direct = "\000\000\000\000\000\000\000",
      indirect = 0x0
    }
  }}
(gdb) p it->instances
$6 = std::vector of length 1, capacity 1 = {{
    id =<PHONE_NUMBER>245307398
  }}
(gdb) p it->instance_events
$7 = std::vector of length 0, capacity 0
(gdb) p dst_unique_events
$8 = std::vector of length 1, capacity 1 = {{
    <Realm::Event> = {
      id =<PHONE_NUMBER>903010376
    },
  }}

looks like it->instance_events

This is lightweight Legion Spy or profiling, compiled without -DLEGION_SPY? And it only happens when you go to two nodes and not on one node right?

This one has nothing to do with spy (that was a different issue), neither lightweight or physical spy logging is enabled. Yes, it only appears at 2 ranks, not 1 rank.
That being said, the error does go away if I compile with -DLEGION_SPY.

Pull and try again.

works now


Add livetests to PPE

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

/azp run net - communication-alpha-ids - tests

/azp run dotnet - communication-phone-numbers - tests

/azp run dotnet - Azure.Communication.PhoneNumbers.Tests - tests

/azp run dotnet - Azure.Communication.PhoneNumbers.Tests

/azp run net - communication-phone-numbers - ci

/azp run net - communication - ci

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - Azure.Communication.PhoneNumbers - tests

/azp run net - communication - ci


Added 2 new animation tool

chore: Added new links of animation tools
Closes #724

@CBID2 THANKS 😀


WSL2 - Question on Docker running non-native architectures on x86_64

Environment
Windows build number: 10.0.19042.630
Your Distribution version: Docker
docker -v: Docker version 19.03.13, build 4484c46d9d
Whether the issue is on WSL 2 and/or WSL 1: Linux version 4.19.128-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Tue Jun 23 12:58:10 UTC 2020

Steps to reproduce

1. Install Docker Desktop for Windows using WSL2 backend

2. On Windows:
wsl.exe uname -m /* shows x86_64 */

2.  What allows this to happen?
Hyper-V magic? WSL2 kernel? I double checked there's no qemu involved but it works...
Why?

Never mind found the /proc/sys/fs/binfmt_misc/qemu-aarch64 in docker-desktop distro
wsl.exe ls /proc/sys/fs/binfmt_misc/qemu-aarch64 /* shows  /proc/sys/fs/binfmt_misc/qemu-aarch64 */

wsl.exe -l -v
  NAME                   STATE           VERSION
* docker-desktop         Running         2
  docker-desktop-data    Running         2

Looks like Docker Desktop for Windows came preinstalled with qemu... Closing...


[Feature]: Replace cli from pyinvoke to typer

Describe the Feature
mlinfra cli currently uses pyinvoke to allow interaction via cli. However we would like to replace it with typer due it its better features and maintenance.
Importance of the Feature
Currently we're using pyinvoke under the hood, to allow users interact with mlinfra cli. However this has proven to be bit clunky over the time and its rather difficult to customize it, whereas typer by tiangolo is an absolute joy to use and we would like to provide our users with the joyful interface of interacting with mlinfra cli.
Additional context
No response
Feature Category
mlinfra cli

Heyy, Im interested to work on this issue, can you please assign me?