Selecting time from start to end in different days not working

Check that this is really a bug

[X] I confirm

Reproduction link
https://github.com/anwarmah/calender
Bug description
Scheduling the start and end time within the day is working. But different days is not working.
const handleOpen = (calls) => {
setCallData(callStructure);
setCallData(f=>({ ...f, start: calls.start}));
setCallData(f=>({ ...f, end: calls.end}))
setOpen(true);
}
Expected Behavior
Start and end time different days need to work.
Actual Behavior
Start and end time different days not working.
react-big-calendar version
0.38.9
React version
8.6.0
Platform/Target and Browser Versions
15.2
Validations

[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a react-big-calendar issue and not an implementation issue

Would you like to open a PR for this bug?

[X] I'm willing to open a PR

@anwarmah Without seeing the data associated with your events it's very hard to troubleshoot your problem, which is why we ask you to fork our Issue Template when reporting an Issue. Judging by your code it would appear that an event's start and end are strings rather than true JS Date objects. This would explain the functionality you're receiving. See our documentation on Dates in Big Calendar.


Allow unlimited length job row validation error descriptions

Motivation and Context
If a row in a CSV file has a lot of problems, it could easily exceed the current 255 character limit for the error description(s).
What has changed
Swapped the type from varchar(255) to bytea so that there's no limit on the validation_error_descriptions column.
How to test?
Set up a load of rules on a load of columns, then try to load in data which violates all those rules... as many as possible on a single row, to ensure that the error description is exceptionally long.
Links
Trello: https://trello.com/c/Rwv4wxTa

 validation error description column is varchar(255) which causes errors when the error descriptions are longer


Required simple configuration file (like in checkstyle)

Ktlint is really weird.
You force others to use your pre-compiled rules and give no option to easy disable those rules.

Using IDE's configuration files it horrible idea, because cool programmers do not store any IDE configuration files in project repository.
I just want to disable some of your checks globally in gradle or just use some configuration file where I can disable them (and just provide path to this file from gradle)
How can you even came to the idea, that creating my own Jar with additional rules it the good way to configure ktlint? The only way to make it "more comfortable" is to force this jar to be OSGI compatible.

You force others to use your pre-compiled rules and give no option to easy disable those rules.

No one is forcing anyone :) https://github.com/shyiko/ktlint/issues/190#issuecomment-383021426

I do not want to add additional comments in my code to disable some checks, it is stupid.

https://github.com/shyiko/ktlint#how-do-i-suppress-an-error
This is meant primarily as an escape latch for the rare cases when ktlint is not able to produce the correct result (please report any such instances using GitHub Issues).

Using IDE's configuration files it horrible idea, because cool programmers do not store any IDE configuration files in project repository.

Don't like --apply-to-idea-project? Use global variant - --apply-to-idea. Not good enough either? Create a dedicated IntelliJ plugin and I'll gladly add a link to the README.

I just want to disable some of your checks globally in gradle or just use some configuration file where I can disable them (and just provide path to this file from gradle)

https://standardjs.com/index.html#i-disagree-with-rule-x-can-you-change-it

How can you even came to the idea, that creating my own Jar with additional rules it the good way to configure ktlint? The only way to make it "more comfortable" is to force this jar to be OSGI compatible.

Additional rules are not meant to be used to "configure ktlint" (nor can they be used for that purpose). They are strictly for extending (not overriding) existing rulset.


Remove obsolete requirement on Patch

remove GNU Patch which is no longer required on Windows

remove GNU Patch which is no longer required on Windows

Just looking through our current code, we have 3 different ways we do patches:

We use git apply-patch.
We use find_package(Patch REQUIRED), and then call ${PATCH_COMMAND}.
We have a custom apply-patch.py script.

Is it really the case that the second one doesn't require GNU patch?  If not, how does it work?

Yes, the second one finds the patch executable distributed with Git https://gitlab.kitware.com/cmake/cmake/blob/master/Modules/FindPatch.cmake
The Choco Patch package is kind of terrible --- it requires admin rights on Windows. So if we're still using it, show me where so I can rip it out!

The Choco Patch package is kind of terrible --- it requires admin rights on Windows. So if we're still using it, show me where so I can rip it out!

Ah, good to know, thanks.
However, trying to run a build on Windows with non-admin rights doesn't actually work here; I get a popup saying that it needs additional rights to run patch.exe.  That suggests that there is something still using patch.exe, but I don't know what it is at the moment.

What package is building when you get that prompt?

What package is building when you get that prompt?

It's hard to tell; it actually still continues.  Let me try with --executor sequential to see if I can pinpoint it.

I think I see it in uncrustify_vendor on CI but I can't figure out why... https://ci.ros2.org/job/ci_windows/10517/consoleText

Hmmm... I think it might be either a matter of (1) search order or (2) installing the "portable" versus the "install" package via Chocolatey.
Either way, if you remove the Choco "Patch" package, does the build fail or succeed?

Hmmm... I think it might be either a matter of (1) search order or (2) installing the "portable" versus the "install" package via Chocolatey.

Yeah, I was coming to the conclusion that it was a search order thing.  In my build, the first thing that failed was rviz_ogre_vendor, which also uses the find_package(Patch) idiom.

Either way, if you remove the Choco "Patch" package, does the build fail or succeed?

I uninstalled the choclatey patch package, and I'm rebuilding now.  My Windows machine is slooooow, so this will probably take overnight to get a result.

I uninstalled the choclatey patch package, and I'm rebuilding now. My Windows machine is slooooow, so this will probably take overnight to get a result.

I ran into trouble building, but I'm not sure whether it is from removing patch.exe or not.  It is currently failing to find the vendored spdlog patch on my local machine.  spdlog_vendor does use patch to patch something into the spdlog package, but I'm just not sure if that is causing the problem or not.  I'll try to take another look at it later this week.

Okay. Please let me know.

All right, it seems to be working now on my local Windows VM without patch.exe (and in a non-administrator window).  Woohoo!  I don't know what the previous issue was, but after an update here it has seemed to go away.  I'll do a brief review here.

@rotu mind to rebase?

@rotu Friendly ping.

resolved merge conflicts

Oops. I think I preempted this with #671


Is that possible to run chroma locally?

Hi @tazarov .First of all nice work! People like me work on cloud native project really feels great to see a go client of chroma. However is it possible to run chroma locally ?

@bjwswang, what do you mean locally? If that is a docker container on your local machine or private cloud VM, then yes, you can run it locally - see Chroma docs here - https://docs.trychroma.com/usage-guide#running-chroma-in-clientserver-mode
If you mean run locally without client/server mode, the answer is no. Chroma is written in Python, so only a Python client has the advantage of running it without an actual server; all other clients need a Chroma server to operate.

@bjwswang, what do you mean locally? If that is a docker container on your local machine or private cloud VM, then yes, you can run it locally - see Chroma docs here - https://docs.trychroma.com/usage-guide#running-chroma-in-clientserver-mode
If you mean run locally without client/server mode, the answer is no. Chroma is written in Python, so only a Python client has the advantage of running it without an actual server; all other clients need a Chroma server to operate.

I see. Thanks! The latter one is what I was asking.   Cause I saw the examples in the chromadb repo.

@bjwswang, what do you mean locally? If that is a docker container on your local machine or private cloud VM, then yes, you can run it locally - see Chroma docs here - https://docs.trychroma.com/usage-guide#running-chroma-in-clientserver-mode
If you mean run locally without client/server mode, the answer is no. Chroma is written in Python, so only a Python client has the advantage of running it without an actual server; all other clients need a Chroma server to operate.
When I tried the examples from the README doc, there are some tiny problmes. Do you mind I made a PR for that ?

When I tried the examples from the README doc, there are some tiny problmes. Do you mind I make a PR for that ?

Go ahead. I don't claim to be an expert in Golang :)


Fix call to airbrake

notify_sync was not available in airbrake v4

Looks good, we should keep an eye on the reporting with the async behaviour.


chore: release 1.1.4

📦 Release PR
1.1.4 (2024-01-13)
🪲 Bug Fixes

room and teacher generation now works fine (21bf922)

🤖 This pull request was automatically generated. To publish the version, please merge the pull request.

:robot: Release is at https://github.com/Vertretungsapp/indiware-api/releases/tag/v1.1.4 :sunflower:


Zone file comments

Hi,
First of all THANK YOU!  this saved me a heap of time converting zone files!
I just noticed a small error on conversion though, we have some zone files commented with a leading  "#", checking the bind zone file syntax the following are valid;
/* This is a C-style comment */
// This is a C++-style comment
# This is a shell-style comment

An example of the current output when # commented record is processed is;
resource "aws_route53_record" "#host-domain-com-CNAME" {
   zone_id = "${aws_route53_zone.host-domain-com.zone_id}"
   name = "#host-domain-com."
   type = "CNAME"
   ttl = "300"
   records = ["cnamehost-domain-com."]
}

This results in an Terraform error
Error: aws_route53_record.#host-domain-com-CNAME: #host-domain-com-CNAME: resource name can only contain letters, numbers, dashes, and underscores.
Obviously this is just because of the "#" in the record name and record can/should be skipped/ignored.

Hi @nalberti!
Glad you found it useful, and sorry for the issues. I've had a look, and it seems that RFC 1035 only allows ; for comments, and this is what the parser I use is following. While the BIND server is a bit more liberal, and allows more comment styles outside that spec.
I couldn't find any grammar in the BIND documentation exactly where those comment styles are allowed, though. They aren't even mentioned in the zone file section. Did you find something about this? There's potential for making parsing a bit harder if you can have something like foo IN /* mid-line comment */ A <IP_ADDRESS> # More comments

After some testing, it appears BIND does not accept /* ... */-style comments in zone files (but in other configuration files), so at least that complication is avoided:
/*test.example.com. IN A <IP_ADDRESS>*/ leads to dns_rdata_fromtext: /var/cache/bind/test.zone:5: near '<IP_ADDRESS>*/': bad dotted quad

I see what you mean.. I just read though the BIND Admin guide to see if there was anything specific to zone files however it only appears to detail comments as they generally relate to configuration files.
My interpretation is that includes zone files however your test indicate otherwise.
The only guess I have is the examples show a space post/pre "*", I wonder if that makes the difference.
Here is a relevant excerpt;
http://web.mit.edu/darwin/src/modules/bind/bind/doc/html/comments.html

I had a short discussion about this, and it turns out BIND might actually be violating DNS spec here by filtering out these, and the parser is doing the "right" thing by not doing so. # is a valid part of a DNS name, so #foo.example.com is a valid record... Surprised me, but so it is, apparently.
So, in the general case it would be correct to do nothing and expect the user to filter the files. However, since BIND does this, I believe this utility could do the filtering as well before passing it off to the (technically correct) parser.
I'll try to implement this tomorrow!

Hahah, wow, you are indeed correct!
I double checked and BIND is indeed serving the record #host.ourdomain.com in our public DNS!
So I agree with your suggestion that its just the Terraform resource name not supporting what is a valid host name character that is the issue.
Honestly, I doubt this issue would ever come up again, just based on the rarity of having a "#" as part of a host name and/or the widespread use of hash commented zone files.

@nalberti Would you mind giving this version a try and see if it works for you? https://6-61497387-gh.circle-artifacts.com/0/bzfttr53rdutil
Would also be fantastic if you could validate that it also does not result in any difference on the old files - I had to do a fair amount of restructuring of the code. I've done quite a bit of validation, but I don't have access to any of the large or "long-time maintained" zones that I initially developed this for.

Appears to work fine, I tested on  3 different zone files of my own and 2 random/sample ones found online.
The output was identical, verified by file size and diff.
Terraform plan also ran against the output fine.
Anything else you would specifically like me to test or further information ?

Great, thanks a lot! That should be enough validation, I'll go ahead and merge and create a new release :)


fix vim version in pi_netrw help

This PR is about Issue https://github.com/vim/vim/issues/5033 .

Codecov Report

Merging #5034 into master will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #5034      +/-   ##
==========================================
- Coverage   81.97%   81.96%   -0.02%
==========================================
  Files         133      133
  Lines      146570   146570
==========================================
- Hits       120158   120143      -15
- Misses      26412    26427      +15

Impacted Files
Coverage Δ

src/ui.c
69.06% <0%> (-1.26%)
:arrow_down:

src/mouse.c
71.28% <0%> (-0.09%)
:arrow_down:

src/gui_gtk_x11.c
58.11% <0%> (-0.05%)
:arrow_down:

src/os_unix.c
63.45% <0%> (-0.05%)
:arrow_down:

src/terminal.c
81.81% <0%> (+0.03%)
:arrow_up:

src/gui.c
63.7% <0%> (+0.05%)
: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 b189295...37eb8d0. Read the comment docs.

I'll include it, but expect @cecamp  to fix it in the master copy


How do nrf52-hal-common releases work?

I notice that with adafruit-nrf52-bluefruit-le board crate, its built of of much newer abstractions around GPIO pins that are only in the unreleased nrf52-hal-common in git. I'm wondering when the next release of nrf52-hal-common will be so that I can build off newer abstractions without having to use a path dependency.
I'm curious if there's a thought process on when things get released?

It's pretty much by request. I'm working on a couple things now, Let's plan maybe a week to the next release? I'll open an issue to track this specifically.

Awesome! Thank you :)


Pasting into Scala shell provided by sbt console is slow

steps

In Mac OS Terminal, go to an empty directory and run sbt console
Paste in a long string and observe that there is a delay before each character appears on the screen

macOS Ventura 13.2
sbt version 1.8.2
Java 17.0.6

problem
It seems to share the root cause with #6644, i.e., per-character invocation of isEchoEnabled which leads to forking stty. I opened a new issue only because it is not about sbt's own shell (sbt shell), which by the way works fine for me with regard to pasting in long strings.
expectation
Pasting is instantaneous. It should take only roughly as long as it would if you pasted the same string into a Scala shell you get by invoking scala.
notes

@tomonacci Thanks for the report.


After upgrading to React Native 0.73 & Jest 29, bundle splitter seems to cause rendering issues in inner components (in tests)

Sorry, this is quite a tricky bug to narrow down as there are lots of variables involved, but hopefully there's enough here for a hint of the problem
Describe the bug
We have upgraded from React Native 0.68 and jest 26-29. Quite a big jump, but we managed to get most of our 700 tests working after tweaking some of the fake timer logic.
We're having problems in two suites, both of which involve the bundle splitter layer.
If I import a component using bundle splitter, the useEffect in my component never seems to run. I have tried all manner of jest.runOnlyPendingTimers etc, and have also tried real timers, increasing jest timeouts etc and nothing seems to get this to work. If I call React Native test library rerender it then calls useEffect once, but this is obviously a hack.
The test then works fine when I import the component normally.
Code snippet
Component file
const SignUpScreen = () => {
    //This render logic successfully runs in my test
    React.useEffect(() => {
         //but this useEffect never does
         triggerTracking()
    }, [])

    const triggerTracking = ()=>{
         myTrackingFn()
    }

Navigation layer file
const SignUpScreen = register({
    loader: () => require('Screens/SignUpScreen'),
    group: ONBOARDING,
})
// import SignUpScreen from 'Screens/SignUpScreen' // If I comment the above and use this, everything works as expected

Test file
        const component = <Navigator {...props} />

        const renderedComponent = await waitFor(() => render(component))

        // Check screen has rendered
        const image = await renderedComponent.findByTestId(SIGNUP_IMG_TEST_ID)
        expect(image).toBeTruthy()

        // Initial Paywall
        act(() => {
            // Nothing in here causes the useEffect to fire...have tried many many combinations!
            jest.runOnlyPendingTimers()
            //jest.runAllTimers Also doesn't work
            // renderedComponent.rerender(component) //This gets the useEffect to fire once
        })

        // This never triggers, even with real timers, because the useEffect never runs
        await waitFor(() => expect(myTrackingFn).toHaveBeenCalled(), {
            timeout: 40000,
        })

I can fix it using this mock:
const RNBundleSplitter = jest.requireActual('react-native-bundle-splitter')

module.exports = {
    ...RNBundleSplitter,
    register: (props: any) => {
        const Component = props.loader().default

        return Component
    },
}

but would be nice if I could test the real behaviour in my tests.
Expected behavior
The useEffect in the inner component should render in tests
Smartphone (please complete the following information):

Desktop OS MacOS 14.4
Device: n/a
JS engine: Jest (node)
Library version 2.2.3

Any idea what this could be?

Hm, thanks for reporting @matt-dalton it looks interesting!
I don't have any ideas what it could be 🤔 @IvanIhnatsiuk have you see anything similar?
@matt-dalton did you follow https://kirillzyusko.github.io/react-native-bundle-splitter/docs/recipes/jest-testing-guide (I think most likely you did, but just want to be sure that we are on the same page).

I actually raised the issue that lead to those docs last year!

Ah, right, exactly!

Seems I'm the annoying guy finding issues with the tests.

Ha-ha, no, you are not 🙂
I'll try to search for solutions - may I ask you to provide a simple reproduction example? I'm not on a project where we use react-native-bundle-splitter and updating previous project to latest deps will take a big effort. So if you can provide a reproduction example - that would be amazing!

Unfortunately I'm not allowed to share the actual project I'm working on. I'm not sure if the upgrade is a critical part of it - some version of the components enough may be enough to trigger it. Let me see if I can trigger it on a simpler project somehow. Do you by any chance know anywhere with suitable initial boilerplate? e.g. do you have examples in the codebase that might work?

Hmm tried removing (using my transformed code below) and didn't fix it unfortunately

I did try many many combinations of things to progress timers, so would be surprised if it is a setTimeout

Thanks @kirillzyusko ...sorry took me a bit to get to it.
Some extra detail which I didn't realise up front...the problem occurs in the problematic test only when another test is run first. So it's the second of the 2 tests that fails...so could be related to what happens after a first test is cleaned up.
As such I've provided logging as requested from both tests (you'll see a console.log denoting when one starts)
  console.log
    start of passing test

      at Object.log (App/Navigation/Navigators/RootNavigator/__tests__/RootNavigator.test.tsx:152:21)

  console.log
    2 false null

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    2 false null

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    0 null

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    0 null

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    0 null

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    2 true [Function (anonymous)]

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    1 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:117:37)

  console.log
    0 null

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    2 true {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    1 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:117:37)

  console.log
    2 true [Function (anonymous)]

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    2 true {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    0 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    1 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:109:41)

  console.log
    0 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    0 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    1 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:109:41)

  console.log
    0 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    2 true [Function (anonymous)]

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    2 true {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    2 true undefined

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    0 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    1 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:109:41)

  console.log
    0 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    0 undefined

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    1 undefined

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:109:41)

  console.log
    0 undefined

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    0 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    1 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:109:41)

  console.log
    0 {
      '$$typeof': Symbol(react.memo),
      type: [Function (anonymous)],
      compare: null
    }

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    start of failing test

      at Object.log (App/Navigation/Navigators/RootNavigator/__tests__/RootNavigator.test.tsx:198:21)

  console.log
    2 false null

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    0 null

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    0 null

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:105:29)

  console.log
    2 true [Function (anonymous)]

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

  console.log
    1 [Function (anonymous)]

      at OptimizedComponent.log (node_modules/react-native-bundle-splitter/dist/optimized.js:117:37)

The afterEach for these tests is:
import { fireEvent, cleanup, act, waitFor } from '@testing-library/react-native'

afterEach(() => {
        jest.runOnlyPendingTimers()
        cleanup()
        jest.useRealTimers()
        jest.clearAllMocks()
    })

Also just to rule out any problems with logging...I'm using the dist post-build node_modules version of the lib so couldn't log exactly where you said. Here's what I've added:

@matt-dalton Sorry for long answer - I think you added a logger in correct place.
For me this statement looks very strange:
console.log
    2 true undefined

      at OptimizedComponent.log [as render] (node_modules/react-native-bundle-splitter/dist/optimized.js:129:21)

So we executed a logic and received a component, but we got undefined 🤯
To debug it further I would try:

add screenName to logger - it's very hard to understand which screen produced undefined...
can you try to use loader: () => import('Screens/SignUpScreen'), - this is the recommended syntax now

I think now we need to figure out why undefined gets produced. I suspect it comes from here: https://github.com/kirillzyusko/react-native-bundle-splitter/blob/master/src/map.ts#L35 but not sure till the end 🤔
Regarding "start of failing test" test - for me it looks strange why componentDidMount was called two times. Can it be because of concurrent React?


fix writer

pass a writer to skel that will log the output

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@112aecf). Click here to learn what that means.
The diff coverage is 93.33%.

@@            Coverage Diff            @@
##             master      #78   +/-   ##
=========================================
  Coverage          ?   93.76%
=========================================
  Files             ?       15
  Lines             ?     1170
  Branches          ?        0
=========================================
  Hits              ?     1097
  Misses            ?       73
  Partials          ?        0

Impacted Files
Coverage Δ

src/lib.rs
100% <ø> (ø)

src/streamer.rs
92.05% <100%> (ø)

src/accountant_stub.rs
96.15% <100%> (ø)

src/accountant_skel.rs
90.26% <88.88%> (ø)

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 112aecf...ce34eab. Read the comment docs.

https://github.com/loomprotocol/silk/pull/80


Create CAM for network trained on timeseries

Would it be possible to handle networks trained for timeseries classification? Example CNN below:
class Cnn1d(nn.Module):

    def __init__(self, outputs=2):
        super(Cnn1d, self).__init__()
        self.outputs = outputs
        self.conv1 = nn.Conv1d(1, 16, 3)
        self.bn1 = nn.BatchNorm1d(16)
        self.pool1 = nn.MaxPool1d(2)

        self.conv2 = nn.Conv1d(16, 32, 3)
        self.bn2 = nn.BatchNorm1d(32)
        self.pool2 = nn.MaxPool1d(2)

        self.conv3 = nn.Conv1d(32, 64, 3)
        self.bn3 = nn.BatchNorm1d(64)
        self.pool3 = nn.MaxPool1d(2)

        self.conv4 = nn.Conv1d(64, 128, 3)
        self.bn4 = nn.BatchNorm1d(128)
        self.pool4 = nn.MaxPool1d(2)

        self.dropout = nn.Dropout()
        self.avgPool = nn.AvgPool1d(127)
        self.fc1 = nn.Linear(256, self.outputs)

    def forward(self, x):

        x = self.conv1(x)
        x = F.relu(self.bn1(x))
        x = self.pool1(x)

        x = self.conv2(x)
        x = F.relu(self.bn2(x))
        x = self.pool2(x)

        x = self.conv3(x)
        x = F.relu(self.bn3(x))
        x = self.pool3(x)

        x = self.conv4(x)
        x = F.relu(self.bn4(x))
        x = self.pool4(x)

        x = self.dropout(x)
        x = self.avgPool(x)
        x = x.view(x.shape[0], -1)
        x = self.fc1(x)

        return x

Hi,
Interesting question.
I was about to say that no, since this package is aimed for images,
But actually we can treat the timeseries as an image with one row.
Then we can "resize" that image to see stripes, where a hot stripe means that element was important.
The trick would be to write a custom reshape_transform, that is responsible for getting the tensors from the
target layer, and transforming them into a 2D image.
The target layer would be the dropout layer, since that's what used just before the global average pooling in this case.
I think something like this should work:
def reshape_transform(tensor):
    image_with_single_row = tensor[:, None, :, :]
    # Lets make the time series into an image with 16 rows for easier visualization on screen later
    target_size = 16, tensor.size(1)
    return torch.nn.functional.interpolate(image_with_single_row, target_size, mode='bilinear')

Btw, it would be awesome to have this example as a notebook example.
Let me know if I can help

Thanks for the reply :) So this is what I've got so far, can you let me know if it looks logical to you?
from pytorch_grad_cam import GradCAM, ScoreCAM, GradCAMPlusPlus, AblationCAM, XGradCAM, EigenCAM, FullGrad
from pytorch_grad_cam.utils.model_targets import ClassifierOutputTarget
from pytorch_grad_cam.utils.image import show_cam_on_image
from torchvision.models import resnet50

n = np.random.randint(0,len(train_dataset))

target_layers = [model.bn8] # using a bit deeper model in this example

input_tensor = train_dataset[n][0].unsqueeze(0) # torch.Size([1, 1, 5000])
targets = None

cam = GradCAM(model=model, target_layers=target_layers, use_cuda=True, reshape_transform=reshape_transform)
# using your reshape function from above @jacobgil

grayscale_cam = cam(input_tensor=input_tensor, targets=targets)

plt.figure()
plt.plot(scale(input_tensor.squeeze().numpy()))
plt.plot(grayscale_cam.T.squeeze())

Btw, I have binary classification and the model has a single output. My signal is the wingbeat recording of a fly using an optical sensor. A single recording is 5000 measurements from a sensor and it can have flight and noise. In this example below, the flight is up to sample 3000 (x-axis) and then you have noise. I scale my signal (blue) from 0 to 1 to overlay the gradcam output (orange). It seems that I should multiply by -1 to get the weights to fall in the interesting signal region and not the noise.

Oh ok, so the samples here are 1D features.
I think what grad-cam is doing here, is just taking the gradient.
So it's not really grad-cam, it collapses into the older "gradient of output vs input" saliency method.
And apparently the gradients are higher in the end of the time series - does that make sense in terms of what you expect from the model?

So this is interpreted more like "this is where the model is more wrong and needs to change drastically" instead of "this is what contributes more to its final prediction", am I right to read it like this?


Add a project logo

Closes #353

Coverage remained the same at 98.966% when pulling 2056de0d14a4265a1d2e7716a132a38d87cf115a on JWCook:logo into 894f3ab5b8c0efd1ada0f75dd33cc3b195d5f9a6 on reclosedev:master.


Archive tags

Cleans up titles to remove brackets around years in the same way that flexget_archive search does. Causes cli flexget archive search Blah.Movie.(2015) to return the same results as using flexget_archive in a task.
Also enables tags in flexget_archive plugin to match the archive command and the example documentation. Before this only flexget_archive: yes was implemented and you couldn't filter searches by tags set in the archive plugin.
This now works, before it searched the entire archive regardless of specified tags:
sometask:
  archive: [movies, tv]

searchtask:
  discover:
    what:
      - emit_movie_queue: yes
    from:
      - flexget_archive: [movies]

Thanks!


Link to label/hashtag generates error if no Channels module is installed

https://una.io/page/view-discussion?id=3274

Already fixed in Ticket #2164


Design focus states

Brought up during Design Team meeting (with OET/CDT folks), we discussed wanting to design focus states on interactive elements that work on dark and light backgrounds

This relates to https://github.com/cagov/design-system/issues/755 since they both appear to be about colors of focus states

Did research and initial set of explorations in Figma: Focus states
Will work on the next round of explorations, based on feedback received from our 04/12/22 web design meeting.

In Slack: cagov-design-system-design
Hello! Update on #700 Design focus states (related to #755 Links and button outline on focus is not accessible)
Thanks for all of the helpful feedback at our 4/12/22 weekly design meeting and from today's mini meeting. I did more studies and found a single color that works on both our light and dark backgrounds.
Here's the direction I propose moving forward with in Figma:
• Custom focus style: Box-shadow (has the widest range of aesthetic design capabilities)
• Focus color:
○ 4px #2491FF on light, #FFFFFF
Contrast ratio 3.2:1
○ 4px #2491FF on dark, #003688
Contrast ratio 3.5:1
Let me know if you have any feedback, before moving forward with a developer.
Thanks!

@sharon-rabang moving to in progress.

06/15/22: Met with Ashley Draper from the Content Team about this project and the draft content.
06/17/22: Ashley provided us with revised content. Will share it at the 06/21/22 design team meeting.

The "Focus state" content (revised by @ashleydraper) has been reviewed and approved by the Design Team.
@yesenia-gtz We can update the Visual design style guide page with this content, once the focus states have been developed.
Visual design style guide page content updates:

Add the “Focus state (h2)” content after the “Buttons (h2)” content

Focus state
Some people use keyboards or other assistive devices to navigate through a page. A focus state highlights the interactive page element the visitor is currently on.  As they tab through the page, jumping from one element to the next, the visitor has a visual cue of their current location.
The Design System uses a blue outline style to signify a focused state around a component. Focus blue #2491FF meets visibility and color contrast accessibility on both our light and dark backgrounds.
Focus states apply to all interactive components:

Buttons
Cards
Text fields
Icons
Selection controls

Caption 1:
Light background
Stroke: 4px
Color: #2491FF
Contrast ratio: 3.2:1
Caption 2:
Dark background
Stroke: 4px
Color: #2491FF
Contrast ratio: 3.5:1

Under “Accessibility” in the third bullet, "Provide visual focus indication for keyboard navigation", add a link to "visual focus indication" that goes to “Focus state(h2)”.

@zakiya this one is ready for development, please have engineers work with @sharon-rabang to design details
Tasks needed:

[ ]  update style guide on website
[ ] ensure figma UI kit aligns

Issue related to https://github.com/cagov/design-system/issues/755


ERROR: Executing genrule //tensorflow:tensorflow_python_api_gen failed (Exit 1)

Hi, I am trying to build TF from source. But I met an error which is listed below. Does anyone know how to fix it? Thanks a lot!
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): NO
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): Source
TensorFlow version (use command below):
Python version: 3.5.2
Bazel version (if compiling from source): 0.15.2
GCC/Compiler version (if compiling from source): 5.4
CUDA/cuDNN version: 9.2 / 7.1
GPU model and memory: GTX 1080Ti
Exact command to reproduce: bazel build --config=opt --config=cuda //tensorflow/tools/pip_package:build_pip_package

Source code / logs
INFO: From Compiling tensorflow/core/kernels/padding_fifo_queue.cc:
In file included from ./tensorflow/core/framework/common_shape_fns.h:22:0,
                 from ./tensorflow/core/framework/resource_mgr.h:24,
                 from ./tensorflow/core/framework/queue_interface.h:23,
                 from ./tensorflow/core/kernels/queue_op.h:22,
                 from ./tensorflow/core/kernels/fifo_queue.h:26,
                 from ./tensorflow/core/kernels/padding_fifo_queue.h:27,
                 from tensorflow/core/kernels/padding_fifo_queue.cc:26:
./tensorflow/core/util/tensor_format.h: In function 'tensorflow::TensorShape tensorflow::ShapeFromFormat(tensorflow::TensorFormat, tensorflow::int64, tensorflow::gtl::ArraySlice<long long int>, tensorflow::int64)':
./tensorflow/core/util/tensor_format.h:500:45: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (format == FORMAT_NHWC_VECT_W && dim == spatial.size() - 1) {
                                             ^
In file included from ./tensorflow/core/platform/default/logging.h:24:0,
                 from ./tensorflow/core/platform/logging.h:25,
                 from ./tensorflow/core/lib/core/refcount.h:22,
                 from ./tensorflow/core/platform/tensor_coding.h:21,
                 from ./tensorflow/core/framework/resource_handle.h:19,
                 from ./tensorflow/core/framework/register_types.h:21,
                 from tensorflow/core/kernels/padding_fifo_queue.cc:22:
./tensorflow/core/util/tensor_format.h: In instantiation of 'T tensorflow::GetTensorDim(tensorflow::gtl::ArraySlice<T>, tensorflow::TensorFormat, char) [with T = long long int]':
./tensorflow/core/util/tensor_format.h:452:47:   required from here
./tensorflow/core/util/tensor_format.h:420:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   CHECK(index >= 0 && index < dimension_attributes.size())
                             ^
./tensorflow/core/platform/macros.h:87:47: note: in definition of macro 'TF_PREDICT_FALSE'
 #define TF_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                               ^
./tensorflow/core/util/tensor_format.h:420:3: note: in expansion of macro 'CHECK'
   CHECK(index >= 0 && index < dimension_attributes.size())
   ^
./tensorflow/core/util/tensor_format.h: In instantiation of 'T tensorflow::GetFilterDim(tensorflow::gtl::ArraySlice<T>, tensorflow::FilterTensorFormat, char) [with T = long long int]':
./tensorflow/core/util/tensor_format.h:461:54:   required from here
./tensorflow/core/util/tensor_format.h:435:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   CHECK(index >= 0 && index < dimension_attribute.size())
                             ^
./tensorflow/core/platform/macros.h:87:47: note: in definition of macro 'TF_PREDICT_FALSE'
 #define TF_PREDICT_FALSE(x) (__builtin_expect(x, 0))
                                               ^
./tensorflow/core/util/tensor_format.h:435:3: note: in expansion of macro 'CHECK'
   CHECK(index >= 0 && index < dimension_attribute.size())
   ^
ERROR: /home/xxx/tensorflow-git/tensorflow/BUILD:581:1: Executing genrule //tensorflow:tensorflow_python_api_gen failed (Exit 1)
Traceback (most recent call last):
  File "/home/xxx/.cache/bazel/_bazel_root/10dd4b2d41234e5022064db22e215668/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/python/tools/api/generator/create_python_api.py", line 27, in <module>
    from tensorflow.python.tools.api.generator import doc_srcs
  File "/home/xxx/.cache/bazel/_bazel_root/10dd4b2d41234e5022064db22e215668/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/python/__init__.py", line 52, in <module>
    from tensorflow.core.framework.graph_pb2 import *
  File "/home/xxx/.cache/bazel/_bazel_root/10dd4b2d41234e5022064db22e215668/execroot/org_tensorflow/bazel-out/host/bin/tensorflow/create_tensorflow.python_api.runfiles/org_tensorflow/tensorflow/core/framework/graph_pb2.py", line 6, in <module>
    from google.protobuf import descriptor as _descriptor
  File "/usr/local/lib/python3.5/dist-packages/google/protobuf/__init__.py", line 37, in <module>
    __import__('pkg_resources').declare_namespace(__name__)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2927, in <module>
    @_call_aside
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2913, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2952, in _initialize_master_working_set
    add_activation_listener(lambda dist: dist.activate())
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 956, in subscribe
    callback(dist)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2952, in <lambda>
    add_activation_listener(lambda dist: dist.activate())
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2515, in activate
    declare_namespace(pkg)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2097, in declare_namespace
    _handle_ns(packageName, path_item)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2047, in _handle_ns
    _rebuild_mod_path(path, packageName, module)
  File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2066, in _rebuild_mod_path
    orig_path.sort(key=position_in_sys_path)
AttributeError: '_NamespacePath' object has no attribute 'sort'
Target //tensorflow/tools/pip_package:build_pip_package failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 112.766s, Critical Path: 89.56s
INFO: 323 processes: 323 local.
FAILED: Build did NOT complete successfully

Hi Paul @poxvoculi Can you help to fix this issue? This issue is still there after I reclone the newest version of source codes. Thanks!

I get the same issue, please help me

Hi Paul @poxvoculi Can you help to fix this issue? This issue is still there after I reclone the newest version of source codes. Thanks!

same here

how did you guys solve this problem?


KeyError: 'Wh': Wh is not a recognized volume unit.

2023-06-08 14:34:45.561 ERROR (MainThread) [homeassistant.helpers.event] Error while processing state change for sensor.go_echarger_222819_wh
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/util/unit_conversion.py", line 72, in convert
    from_ratio = cls._UNIT_CONVERSION[from_unit]
KeyError: 'Wh'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 287, in _async_state_change_dispatcher
    hass.async_run_hass_job(job, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 607, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/energy/sensor.py", line 419, in async_state_changed_listener
    self._update_cost()
  File "/usr/src/homeassistant/homeassistant/components/energy/sensor.py", line 385, in _update_cost
    converted_energy_price = converter(
  File "/usr/src/homeassistant/homeassistant/util/unit_conversion.py", line 74, in convert
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Wh is not a recognized volume unit.

This came because I added the Charged Energy as a Gas Sensor in the energy dashboard.


feat: add taint for node

What type of PR is this?

/kind feature
What does this PR do?

Which issue(s) does this PR fix?

Fixes #
Special notes for your reviewer:

Does this PR introduce a user-facing change?

NONE

/lgtm
/approve

/hold

/unhold

/unhold


Adding ports and operations SOAP

In order to create data dynamically "Mocked" , I see an endpointd "POST" for creating  a whole project
/api/rest/soap/project/{projectId}/resource/{resourceId}/import
Import resource
But I believe it would be helpful if I could add a specific port to a project and also an operation.
a good start would be SOAP projects but also cool if it could be enhanced to REST
Thanks!

Hi @CamiloCode!
Thank you for raising this! I agree with and the plan has been to continue to expand the REST API.
As soon as I'm starting to get some time over, I will jump on this and implement the basic operations (Read, create, update and delete).
I will keep you updated regarding this.
Best regards,
Karl Dahlgren

hi @karldahlgren any chance to work on this ? :) it would be really interesting to have this feature.

Hi @CamiloCode.
Sorry, I haven't been able to find time to implement this yet. However, I will try to priorities in the following week.
Thank you for understanding.
Best regards,
Karl Dahlgren


[BUG] yurtingress create fail

What happened:
When create yurtingress, yurtappmanager report clustrole yurt-app-manager-role not found.
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
helm upgrade --install -n kube-system yurt-app-manager openyurt/yurt-app-manager

cat<<EOF | kubectl apply -f -
apiVersion: apps.openyurt.io/v1alpha1
kind: YurtIngress
metadata:
  name: yurtingress-demo
spec:
  ingress_controller_replicas_per_pool: 2
  ingress_controller_image: huiwq1990/ingress-nginx-controller:v0.49.0
  ingress_webhook_certgen_image: docker.io/jettech/kube-webhook-certgen:v1.5.1
  pools:
    - name: sh-works
EOF

Anything else we need to know?:
Yurtingress depend clusterrole yurt-app-manager-role, as the code https://github.com/openyurtio/yurt-app-manager/blob/master/pkg/yurtappmanager/util/kubernetes/apply_addons.go#L45.
But yurtappmanager's clusterrole depend serviceaccount, as the code https://github.com/openyurtio/yurt-app-manager/blob/master/charts/yurt-app-manager/templates/clusterrole.yaml#L4.
Environment:

OpenYurt version:
Kubernetes version (use kubectl version):
OS (e.g: cat /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

others
/kind bug

@huiwq1990 which version of helm charts did you deploy?


Docker build fails ENOTDIR: not a directory,

When I run a docker build
>  docker build -t agario_clone  --platform linux/amd64 .

I get an error like
#7 420.7 npm ERR! ENOTDIR: not a directory, open<EMAIL_ADDRESS>
I am running on an M1 mac to build the container (hence the platform specifier), some Google searching suggests that this error is due to using an old version of Node.js. Curious if anyone else has seen this

I tried installing the missing @types packages, the same failures kept occurring
+        "@types/cors": "^2.8.13",
+        "@types/eslint": "^8.40.0",
+        "@types/eslint-scope": "^3.7.4",
+        "@types/minimatch": "^5.1.2",

I was able to get the build to complete by using the node:8-onbuild container, but that failed once deployed

您好，已经收到您的简历，简历部门需要初筛，如果通过了两个工作日内会有通知。


Filter module with first slider

So I didn't get to do any coding at the hackathon (helping everyone else!), and it also seemed like it would be useful for me to go ahead and set up a home in the code for @laurkgol's categorical picker and @MaryColley's date pickers.
This is a pretty good start at setting up a demo of our 3 filters, and done in a way that it can be easily expanded to an arbitrary list of filter criteria. I'm currently publishing the state change of my one slider just as a single 'filterValues' so we still need to handle how to wrap all the filter criteria up into one variable.

Adds a temporary sidebar for filtering
Adds a slider that can publish its changes to the state module
Sets up structure for inserting all filter ui elements based on config data

Other stuff:

Shrinks sidebar-view temporarily to make development easier (this sidebar will either get re-arranged or put into a slide in-out thing)
adds import of Slide.js which is one option for making data navigation components navigable. But, doesn't implement this yet (left it in to help remember what looked like best pick after research)

Here's a demo:

@ptgott or @ostermanj it would be great if you could give this PR a test and review!
@MaryColley and @laurkgol there are spots in the filter-view.js file reserved for you to put your ui components in ("//set up categorical pickers" and "//set up date pickers") once this gets merged to dev

Looks like a good start! I can review Monday evening unless @ostermanj wants to do it sooner.

I agree it looks great! Very cool that the framework is there to know programmatically which type of filter to add in for a specific data set.
The PubSub module allows adding subtypes to messages dot-notation, so we could handle publishing changes to the state of multiple filterable fields like this:
filterValues.<field>, [<min>,<max>]
So the project count would be setState('filterValues.proj_units_tot', [5, 200], for example. A function subscribed to "filterValues" would be called whenever any filterValues subtype stateChange was made, but you can also have functions subscribed only to the specific subtype by using that dot-notation in the setSubs method.
I guess the subscribed functions may have to know what kind of filter (continuous, date, categorical) was triggered. They could look that up based on the field, or it could be passed in as in setState('filterValues.proj_units_tot, {continuous: [5, 200]} or some other way, if necessary.
Small change to previous commits: in line 91 of map-view.js, if ( existingOverlayType !== overlay.proj_name ) should be if ( existingOverlayType !== overlay.name ).
I think worth approving with that small change (may have been my typo on earlier commit), but let's wait for @ptgott 's review too.

@ostermanj Oh, that's great - I didn't realize that the pubsub dot notation worked like that, I thought you'd just used the dot-noted keys as a convenient way to group similar names. That will make creating the real filter state setup (which I left as a TODO) much simpler.
The first part of my code has the filterView.components variable. I think that is going to be coming from the API instead of hard-coded. That is the DRY source of truth of what type of variable a particular field is (categorical, continuous). As such, the code that monitors the filterState can probably just look it up directly from there instead of embedding it into the setState.

@ptgott  and @ostermanj I merged this with a) the line that john noted fixed, and b) changed to make the state module accurately record which slider moved. But, in b) I had to use the ES6 'let' variable. We should discuss this tonight, and whether we should stay w/ es5 which would require a constructor.


Need to Add a System to Count Procs Like Beidou Q, XQ Q

Need to think more about how...

@Tsym-or-Tysm did you want to log this in debug only or is this for total stats?

This needs to be in total stats for sure. Debug it doesn't matter since you can just see it going off when you read it.

sounds like we need a dataframe per iteration to me 🤔

this should be doable now with the new stats framework, maybe.


about label/score normalization

hey, thanks for your great work.
i viewed code and i found that there's no label normalization, e.g. normalizing scores to range [0, 1]. it's ok not to normalize when train and test on the same dataset or datasets with similar range.
in the paper, table 3 lists 3 datasets (livec, bid and knoiq) which have different score ranges. is it reasonable to use raw scores? or maybe you have normalized scores?
look forward to your reply.

also, i find that the target network contains 5 fc layers in the code, while 4 fc layers claimed in the paper.

Actually, we didn't do this normalization in cross database evaluation. This is because the final criterion SRCC calculates only the correlation ratio between two vectors and thus has no relationship with vector scale.
However, it seems to be true that normalizing labels to the same scale in single database evaluation is more reasonable, since we use a fixed lr for training all databases, while it might be better to use different lr for training datasets with different label ranges.

Thanks for your kind remind, there indeed exists a little difference about fc numbers from the paper and our code. However, it seems using whether 4 or 5 fc layers doesn't affect the model performance much, this is probably due to the target net has already learned sufficient quality representation in several front layers. You can also change the fc numbers by your own to see if the performance changes accordingly.

Thanks for your reply.
i think it's important to normalize label to get consistent label distribution in cross database evaluation. as for using different lr for different database in single database evaluation, it does not matter because the gradient from L1 loss has nothing to do with the scale.

Our pleasure ; )


Integration of UVLS in Additional IDEs

As of now, UVLS is integrated in:

[x] Visual Studio Code
[x] NeoVim

It would be great to have UVLS integrated into additional IDEs to allow more widespread usage.

An integration into Notepad++ is quite easy to achieve due to the great NppLSP plugin.
I created some UDL (Language Highlights) for Notepad++. We can talk about integrating this into the global collection of UDLs.
Some features (like TAUT/UNSAT) don't seem to work. Maybe we push it with non-recognized priorities.
Other configuration files + explanation will follow in next commit.

Here is a list of all natively supported tools to choose from:
https://microsoft.github.io/language-server-protocol/implementors/tools/


audio normalize function diff with wavtokenzier

In wavtokenizer, normalization is done as follows:
    #gain = np.random.uniform(-1, -6) if self.NAME == "train" else -3
    #waveform, _ = torchaudio.sox_effects.apply_effects_tensor(waveform, self.sample_rate, [["norm", f"{gain:.2f}"]])

However, in this work, it changed to:
if self.audio_normalize:
    mono = x.mean(dim=1, keepdim=True)
    volume = mono.pow(2).mean(dim=2, keepdim=True).sqrt()
    scale = 1e-8 + volume
    x = x / scale
    scale = scale.view(-1, 1)
else:
    scale = None

Could you explain the considerations behind this change? Has there been a comparison to determine which method is better?

The torchaudio.sox_effects.apply_effects_tensor function is used for data augmentation in wavtokenizer, which I believe would help improve performance. However, we did not utilize this function in SimVQ.
Additionally, the audio_normalize function is not used in either the wavtokenizer or SimVQ implementations.


Default timezone

Is there any way that the timezone can be controlled either by the host machine or passed in as a config option within config.rb
https://github.com/clwdev/precip/blob/a331efed7557a82a82f90ab74f674d3f49d76e7c/puppet/precip/manifests/init.pp#L80

It's not configurable right now, and since it's in the Puppet script even if you go into the box and fiddle with the symlink it'll just fix itself next time you provision.
This is a reasonable request, though.
Do you really need it to be configurable, or do we just want it to be made consistent with the PHP Setting of UTC?


Set up proper caching for mobile CI

Recently, we have added a bunch of caching to Envoy's CI which has both sped things up and fixed (or seriously mittigated) a load of persistent flakes that have been endemic (optimistically i would say until ~now)
Essentially there are a few things worth caching:

docker build image
bazel directories (repository_cache, external, .cache)

Regarding the docker image it is huge - to make it work faster than pulling from dockerhub in Envoy's CI i have had to load it using tmpfs - any other way would be significantly slower
I held off doing this for a long time because dockerhub can be faster - but now that we have done this it has been a huge improvement to both performance and reliability. Anecdotally i would say that the azp cache gets faster the more you use it whereas the reverse seems to be true with the dockerhub cache (with some caveats)
Likewise with the bazel directories, a huge number of flakes occur just because of transient network issues, and caching these mostly eliminates this problem
While working on this for Envoy one thing i noticed was that incorrect use of bazel was creating multiple environments, fixing that was a small but sure optimization. Envoy now dumps pretty good fs info at the end of the build, and this is invaluable to understanding what bazel is doing and why it goes wrong - i strongly suggest we do the same for the mobile ci

one consideration if we setup the cache is where - with azp you get a free unlimited cache - but for our self-hosted machines its not nearly as fast as it is for the ms-hosted ones
with github actions - setting up an s3 bucket cache is an option
also not sure what spec the machines have - iiuc they are all ms-hosted ones which means that getting a build image as large as the mobile one into a running docker quickly may be hard - tmpfs may not be an option
if any have spare RAM capacity we could also just mount some of the bazel dirs tmpfs as we have done for envoy

also related to this - ive been working on thinning out the build images used by ci
if mobile ci uses RBE there is a good chance that it doesnt need llvm, which means we could reduce the mobile build image size significantly

as if to underline this point, the build image has been unavailable for the last few hours
Starting job container
  /usr/bin/docker pull envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757
  Error response from daemon: manifest for envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757 not found: manifest unknown: manifest unknown
  Warning: Docker pull failed with exit code 1, back off 9.731 seconds before retry.
  /usr/bin/docker pull envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757
  Error response from daemon: manifest for envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757 not found: manifest unknown: manifest unknown
  Warning: Docker pull failed with exit code 1, back off 6.28 seconds before retry.
  /usr/bin/docker pull envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757
  Error response from daemon: manifest for envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757 not found: manifest unknown: manifest unknown

https://github.com/envoyproxy/envoy/actions/runs/4805922388/jobs/8554285389?pr=26969#step:2:26
https://hub.docker.com/r/envoyproxy/envoy-build-ubuntu/tags?page=1&name=mobile-

im pretty confused
the image its trying to pull in error above is
/usr/bin/docker pull envoyproxy/envoy-build-ubuntu:mobile-321658b6b120abda6869f89fac275f59bf3b1e757

but that is not the version we have in the workflow action
https://github.com/envoyproxy/envoy/blob/0eac670a8470dae4c03020e72c1baac19290d7b0/.github/workflows/mobile-android_build.yml#L19-L20
the one its trying to pull really doesnt exist, and isnt configured anywhere in our repo


[composer] Stop button disappears and Run button enabled in Debug, after run the service and navigate to back forth

Description:
As $subject see below.
Run a service  => Stop button appears
Navigate back forth (click on left task bar options) => Run button enabled.

Affected Versions:
beta-rc1
OS, DB, other environment details and versions:
Windows 10 | Edge
&
Ubuntu 15.10 | Firefox-59.0.2

Big issue is Stop button disabled here, so no way to stop the service now.


Can I get a better example of how to use the option "showLoaderOnConfirm" with an ajax request?

For example, below is the command I'm executing:
Defaults
swal.setDefaults({
    allowOutsideClick: false,
    allowEscapeKey: false,
    showCloseButton: false,
    buttonsStyling: false,
    confirmButtonClass: 'btn btn-primary',
    cancelButtonClass: 'btn btn-default btn-swal-cancel'
});

Script to delete a contact using ajax
swal({
    title: "Delete contact?",
    text: "This contact will be permanently deleted and cannot be recovered. Are you sure?",
    type: "warning",
    confirmButtonText: "Delete",
    confirmButtonClass: 'btn btn-danger',
    showCancelButton: true,
    showLoaderOnConfirm: true
}, function () {
    this.$http.delete('/contacts/' + contact.id).then(function (response) {
        swal.close();
    }, function (response) {
        swal.showValidationError('Server Error!');
    });
}.bind(this));

This works on the original SweetAlert2 repository by t4t5 but it doesn't work on yours. I've tried using the }.then(function () { but anything in there is run before the ajax finishes. Another problem is that the loader is never shown and instead just closes the model. The original SweetAlert had an option closeOnConfirm that you could set to false but I don't see it anymore in your documentation?
Thank you.

https://limonte.github.io/sweetalert2/#ajax-request

@limonte Do I have to use the preConfirm option when using ajax?

No, preConfirm is an optional parameter. Please take a look on https://github.com/limonte/sweetalert2/wiki/Migration-from-SweetAlert-to-SweetAlert2

Great, thank you. I've solved my ajax issue. However, I believe I've noticed another problem.
When buttonsStyling is set to false, the loader isn't shown. Is there a way to have my own styled buttons but still use the default loader?


apt-get update before installing deps

builds are currently failing

Yeah. I guess GitHub don’t maintain the apt cache that regularly


Constant.txt parameters

Hi,
Thanks for sharing your software. I am running this script for the basketball sequence provided here: https://cvlab.epfl.ch/cms/site/cvlab2/lang/en/data/pom
I have also read the paper
https://infoscience.epfl.ch/record/145991/files/FleuretBLF08.pdf

Could you please provide the description of what each of the parameters in the constant.txt are?
What calibration method was used for your example that you have provided here?
How different is the implementation of https://cvlab.epfl.ch/cms/site/cvlab2/lang/en/software/pom/index.php from yours?

Thanks for your time,
-Kiran

Hello,
WIDTH = width of the tracking zone in m
HEIGHT 32 = height of the tracking zone in m
NB_WIDTH 120 = discretization of width
NB_HEIGHT 300 = discretization of height
MAN_RAY 0.16 = default radius of a man used to generate rectangles
MAN_HEIGHT 1.8 = default height of a man used to generate rectangles
REDUCTION 1 = 1
ORIGINE_X -3.0 = X location for the start of the grid
ORIGINE_Y -6.0 = Y location for the start of the grid
We used OpenCV calibration with additional bundle adjustment.
More details here -> https://arxiv.org/abs/1707.09299
https://cvlab.epfl.ch/cms/site/cvlab2/lang/en/software/pom/index.php  is the POM algorithm, you need the output of the code provided here as input to POM.
Best,
Pierre

Hello,
Can you please provide the information about how ORIGIN_X and ORIGIN_Y correspond to the location for the start of the grid? How are these origins computed?
Thanks,
Jeet Vora


bump(*): bump kubernetes dependencies

This is required to remove github.com/elazarl/goproxy dependency that was removed upstream.
EDIT: proof test: https://github.com/openshift/cluster-kube-apiserver-operator/pull/1529

/lgtm
/approve
/hold
I put the hold label just in case you want to run the encryption tests (I think the test use the migrator). Feel free to remove the hold anytime.

/hold cancel
https://github.com/openshift/cluster-kube-apiserver-operator/pull/1529 is green

/assign @deads2k

/retest


Logic App Designer not setting AuthenticationType for Managed Identity connection

Describe the Bug with repro steps

Create new Logic App
Enable Managed Identity
Use template "When a resource event occurs"
Complete details of event (observed for Microsoft.Storage.BlobCreated)
Use Managed Identity as connection
Save

In Preview the UI presents a save successful message. However in network tab the API returns:
{"error":{"code":"WorkflowManagedIdentityConfigurationInvalid","message":"The workflow connection parameter 'azureeventgrid' is not valid. The API connection 'azureeventgrid' is configured to support managed identity but the connection parameter is either missing 'authentication' property in connection properties or authentication type is not 'ManagedServiceIdentity'."}}
And the changes were not saved
In GA the error message is displayed in the UI.
What type of Logic App Is this happening in?
Consumption (Portal)
Are you using Preview Designer or GA Designer
Generally Available
Workflow JSON
No response
Screenshots or Videos
No response
Browser
Edge
Additional context
No response

This work is related to supporting managed identity in connectors which only support single auth, but multiple connection variations.


Re-naming

When we re-name the project to elanor, we'll need to do it in a few places and it'll probably break things. First, we'll have to change ellie to elanor in a few places in setup.py. Then we'll need to rename the ellie directory to elanor. I think that it would also be good to rename the git repo, but I'm cool either way with that one.

Also: eleanor because I'm bad a spelling.

We could rename the ellie directory to eleanor which would allow us to do import eleanor as ellie or we could leave it as is and the import would be from eleanor import ellie. Seems like a stylistic choice to me that I don't have strong opinions about!

If we don't rename the directory then it'll actually be:
pip install eleanor

then:
import ellie

which I think would be confusing so I think we must rename the directory.

Ok! I renamed the directory to eleanor


Fix import for broadcast_to.

The import fails when it's not imported from numpy.

[ ] Tests added / passed
[ ] Passes flake8 dask

Thanks @samc0de. Pushed a small tweak to your branch to hopefully fix some CI failures.

Thanks @jakirkham for the updates.

LGTM. Thanks all.


LOADING IN JSON WITH PYTHON

| Camera Model                       | {D400 } |
| Operating System & Version  |   {Linux (Ubuntu 14/16/17) |
| Kernel Version (Linux Only)   |  (e.g. 4.14.13)                                         |
I tried executing the following python example
DS5_product_ids = ["0AD1", "0AD2", "0AD3", "0AD4", "0AD5", "0AF6", "0AFE", "0AFF", "0B00", "0B01", "0B03", "0B07"]
def find_device_that_supports_advanced_mode() :
    ctx = rs.context()
    ds5_dev = rs.device()
    devices = ctx.query_devices();
    for dev in devices:
        if dev.supports(rs.camera_info.product_id) and str(dev.get_info(rs.camera_info.product_id)) in DS5_product_ids:
            if dev.supports(rs.camera_info.name):
                print("Found device that supports advanced mode:", dev.get_info(rs.camera_info.name))
            return dev
    raise Exception("No device that supports advanced mode was found")

try:
    dev = find_device_that_supports_advanced_mode()
    advnc_mode = rs.rs400_advanced_mode(dev)
    print("Advanced mode is", "enabled" if advnc_mode.is_enabled() else "disabled")

    # Loop until we successfully enable advanced mode
    while not advnc_mode.is_enabled():
        print("Trying to enable advanced mode...")
        advnc_mode.toggle_advanced_mode(True)
        # At this point the device will disconnect and re-connect.
        print("Sleeping for 5 seconds...")
        time.sleep(5)
        # The 'dev' object will become invalid and we need to initialize it again
        dev = find_device_that_supports_advanced_mode()
        advnc_mode = rs.rs400_advanced_mode(dev)
        print("Advanced mode is", "enabled" if advnc_mode.is_enabled() else "disabled")

    # Get each control's current value
    print("Depth Control: '\n'", advnc_mode.get_depth_control())
    print("RSM: /n", advnc_mode.get_rsm())
    print("RAU Support Vector Control: /n", advnc_mode.get_rau_support_vector_control())
    print("Color Control: /n", advnc_mode.get_color_control())
    print("RAU Thresholds Control: /n", advnc_mode.get_rau_thresholds_control())
    print("SLO Color Thresholds Control: /n", advnc_mode.get_slo_color_thresholds_control())
    print("SLO Penalty Control: /n", advnc_mode.get_slo_penalty_control())
    print("HDAD: /n", advnc_mode.get_hdad())
    print("Color Correction: /n", advnc_mode.get_color_correction())
    print("Depth Table: /n", advnc_mode.get_depth_table())
    print("Auto Exposure Control: /n", advnc_mode.get_ae_control())
    print("Census: /n", advnc_mode.get_census())

    #To get the minimum and maximum value of each control use the mode value:
    query_min_values_mode = 1
    query_max_values_mode = 2
    current_std_depth_control_group = advnc_mode.get_depth_control()
    min_std_depth_control_group = advnc_mode.get_depth_control(query_min_values_mode)
    max_std_depth_control_group = advnc_mode.get_depth_control(query_max_values_mode)
    print("Depth Control Min Values: \n ", min_std_depth_control_group)
    print("Depth Control Max Values: \n ", max_std_depth_control_group)

    # Set some control with a new (median) value
    current_std_depth_control_group.scoreThreshA = int((max_std_depth_control_group.scoreThreshA - min_std_depth_control_group.scoreThreshA) / 2)
    advnc_mode.set_depth_control(current_std_depth_control_group)
    print("After Setting new value, Depth Control: \n", advnc_mode.get_depth_control())

    # Serialize all controls to a Json string
    serialized_string = advnc_mode.serialize_json()
    print("Controls as JSON: \n", serialized_string)
    as_json_object = json.loads(serialized_string)

    # We can also load controls from a json string
    # The C++ JSON parser requires double-quotes for the json object so we need
    #  to replace the single quote of the pythonic json to double-quotes
    json_string = str(as_json_object).replace("'", '\"')
    **advnc_mode.load_json(json_string)**

except Exception as e:
    print(e)
pass

And I get the following error:
parse error - unexpected 'u'; expected string literal
Any thoughts on how to fix this?
Here is the full output of the example:
('Found device that supports advanced mode:', u'Intel RealSense D415')
('Advanced mode is', 'enabled')
("Depth Control: '\n'", minusDecrement: 10, deepSeaMedianThreshold: 500, scoreThreshA: 511, scoreThreshB: 2047, textureDifferenceThreshold: 0, textureCountThreshold: 0, deepSeaSecondPeakThreshold: 325, deepSeaNeighborThreshold: 7, lrAgreeThreshold: 24)
('RSM: /n', rsmBypass: 0, diffThresh: 4, sloRauDiffThresh: 1, removeThresh: 63)
('RAU Support Vector Control: /n', minWest: 1, minEast: 1, minWEsum: 3, minNorth: 1, minSouth: 1, minNSsum: 3, uShrink: 3, vShrink: 1)
('Color Control: /n', disableSADColor: 0, disableRAUColor: 0, disableSLORightColor: 0, disableSLOLeftColor: 0, disableSADNormalize: 0)
('RAU Thresholds Control: /n', rauDiffThresholdRed: 51, rauDiffThresholdGreen: 51, rauDiffThresholdBlue: 51)
('SLO Color Thresholds Control: /n', diffThresholdRed: 72, diffThresholdGreen: 72, diffThresholdBlue: 72)
('SLO Penalty Control: /n', sloK1Penalty: 60, sloK2Penalty: 342, sloK1PenaltyMod1: 105, sloK2PenaltyMod1: 190, sloK1PenaltyMod2: 70, sloK2PenaltyMod2: 130)
('HDAD: /n', lambdaCensus: 26, lambdaAD: 800, ignoreSAD: 0)
('Color Correction: /n', colorCorrection1: 0.461914, colorCorrection2: 0.540039, colorCorrection3: 0.540039, colorCorrection4: 0.208008, colorCorrection5: -0.332031, colorCorrection6: -0.212891, colorCorrection7: -0.212891, colorCorrection8: 0.68457, colorCorrection9: 0.930664, colorCorrection10: -0.553711, colorCorrection11: -0.553711, colorCorrection12: 0.0458984)
('Depth Table: /n', depthUnits: 1000, depthClampMin: 0, depthClampMax: 65536, disparityMode: 0, disparityShift: 0)
('Auto Exposure Control: /n', Mean Intensity Set Point: 400)
('Census: /n', uDiameter: 9, vDiameter: 9)
('Depth Control Min Values: \n ', minusDecrement: 0, deepSeaMedianThreshold: 0, scoreThreshA: 0, scoreThreshB: 0, textureDifferenceThreshold: 0, textureCountThreshold: 0, deepSeaSecondPeakThreshold: 0, deepSeaNeighborThreshold: 0, lrAgreeThreshold: 0)
('Depth Control Max Values: \n ', minusDecrement: 255, deepSeaMedianThreshold: 1023, scoreThreshA: 1023, scoreThreshB: 4095, textureDifferenceThreshold: 4095, textureCountThreshold: 1023, deepSeaSecondPeakThreshold: 1023, deepSeaNeighborThreshold: 1023, lrAgreeThreshold: 2047)
('After Setting new value, Depth Control: \n', minusDecrement: 10, deepSeaMedianThreshold: 500, scoreThreshA: 511, scoreThreshB: 2047, textureDifferenceThreshold: 0, textureCountThreshold: 0, deepSeaSecondPeakThreshold: 325, deepSeaNeighborThreshold: 7, lrAgreeThreshold: 24)
('Controls as JSON: \n', u'{\n    "aux-param-autoexposure-setpoint": "400",\n    "aux-param-colorcorrection1": "0.461914",\n    "aux-param-colorcorrection10": "-0.553711",\n    "aux-param-colorcorrection11": "-0.553711",\n    "aux-param-colorcorrection12": "0.0458984",\n    "aux-param-colorcorrection2": "0.540039",\n    "aux-param-colorcorrection3": "0.540039",\n    "aux-param-colorcorrection4": "0.208008",\n    "aux-param-colorcorrection5": "-0.332031",\n    "aux-param-colorcorrection6": "-0.212891",\n    "aux-param-colorcorrection7": "-0.212891",\n    "aux-param-colorcorrection8": "0.68457",\n    "aux-param-colorcorrection9": "0.930664",\n    "aux-param-depthclampmax": "65536",\n    "aux-param-depthclampmin": "0",\n    "aux-param-disparityshift": "0",\n    "controls-autoexposure-auto": "True",\n    "controls-autoexposure-manual": "33000",\n    "controls-color-autoexposure-auto": "True",\n    "controls-color-autoexposure-manual": "166",\n    "controls-color-backlight-compensation": "0",\n    "controls-color-brightness": "0",\n    "controls-color-contrast": "50",\n    "controls-color-gain": "64",\n    "controls-color-gamma": "300",\n    "controls-color-hue": "0",\n    "controls-color-power-line-frequency": "3",\n    "controls-color-saturation": "64",\n    "controls-color-sharpness": "50",\n    "controls-color-white-balance-auto": "True",\n    "controls-color-white-balance-manual": "4600",\n    "controls-depth-gain": "16",\n    "controls-depth-white-balance-auto": "False",\n    "controls-laserpower": "150",\n    "controls-laserstate": "on",\n    "ignoreSAD": "0",\n    "param-autoexposure-setpoint": "400",\n    "param-censusenablereg-udiameter": "9",\n    "param-censusenablereg-vdiameter": "9",\n    "param-censususize": "9",\n    "param-censusvsize": "9",\n    "param-depthclampmax": "65536",\n    "param-depthclampmin": "0",\n    "param-depthunits": "1000",\n    "param-disableraucolor": "0",\n    "param-disablesadcolor": "0",\n    "param-disablesadnormalize": "0",\n    "param-disablesloleftcolor": "0",\n    "param-disableslorightcolor": "0",\n    "param-disparitymode": "0",\n    "param-disparityshift": "0",\n    "param-lambdaad": "800",\n    "param-lambdacensus": "26",\n    "param-leftrightthreshold": "24",\n    "param-maxscorethreshb": "2047",\n    "param-medianthreshold": "500",\n    "param-minscorethresha": "511",\n    "param-neighborthresh": "7",\n    "param-raumine": "1",\n    "param-rauminn": "1",\n    "param-rauminnssum": "3",\n    "param-raumins": "1",\n    "param-rauminw": "1",\n    "param-rauminwesum": "3",\n    "param-regioncolorthresholdb": "0.0499022",\n    "param-regioncolorthresholdg": "0.0499022",\n    "param-regioncolorthresholdr": "0.0499022",\n    "param-regionshrinku": "3",\n    "param-regionshrinkv": "1",\n    "param-robbinsmonrodecrement": "10",\n    "param-robbinsmonroincrement": "10",\n    "param-rsmdiffthreshold": "4",\n    "param-rsmrauslodiffthreshold": "1",\n    "param-rsmremovethreshold": "0.375",\n    "param-scanlineedgetaub": "72",\n    "param-scanlineedgetaug": "72",\n    "param-scanlineedgetaur": "72",\n    "param-scanlinep1": "60",\n    "param-scanlinep1onediscon": "105",\n    "param-scanlinep1twodiscon": "70",\n    "param-scanlinep2": "342",\n    "param-scanlinep2onediscon": "190",\n    "param-scanlinep2twodiscon": "130",\n    "param-secondpeakdelta": "325",\n    "param-texturecountthresh": "0",\n    "param-texturedifferencethresh": "0",\n    "param-usersm": "1",\n    "param-zunits": "1000"\n}')
parse error - unexpected 'u'; expected string literal

Never mind, this is fixed simply by switching to python3


Enhance the Bounds / BoundsListener functionality to be more extensible

Enhance the Bounds interface with a new method isOutside(AABB, Transform, Fixture) that is called from the AbstractCollisionWorld class.  This would allow users of the library to extend the Bounds class implementing custom logic at the Convex vs. Convex level rather than just at the AABB level.

Added in 4.2.1

Added in 4.2.1


track message dropped due to exceeding the channel's recving buffer limit

This makes me think that it would be good to track everytime a message was dropped because it wasn't able to be added to the queue
Originally posted by @cmwaters in https://github.com/celestiaorg/celestia-core/pull/1199#pullrequestreview-1873102908

I’m not actively working on this, so I’m unassigning myself.