Problems including SDL

I'm trying to use CPM in conjunction with https://github.com/libsdl-org/SDL and it is quite a wild ride.
As per official practice you include the modules with #include <SDL2/SDL_xxxxxx.h> which matches how SDL presents the inclusions when built & installed.
Unfortunately however, SDL's inclusions folders in the source code do not match this exported pattern. The headers are inside the naked include folder in the root of the source tree.
This breaks code inclusion with CPM because the headers are expected in a different folder.
I can include it with #include <SDL_xxxxxx.h> but then it will break when it finds SDL already installed on the user's system.
I'm searching through ALL the samples included in CPM, and all the libraries use the proper/consistent folder pattern.
Is there a way already built into CPM to combat this discrepancy that I can leverage? Or am I stuck having to do some hacky magic with folders myself?

Do you intend to build the library itself as well ? (By the fact you want to use the provided headers I must assume yes).
To me this is more of a CMake issue than a CPM specific issue, because you'd have that issue regardless of how you included SDL2's source.
The best way for you IMO to achieve what you want is to add SDL2 with CPM as you're currently doing, but then also add an operation to copy the headers into your build directory (e.g. <binary_dir>/somesubdir/SDL2/...), likely as a custom target that you'd create yourself and you'd make as a dependency of the SDL2 library target. And this is not convoluted at all, SDL2 does it for itself ! Just look at the sdl_headers_copy target in their CMakeLists.txt and see for yourself !
Then what you'd want to do is make that directory an include directory of the SDL2 target via target_include_directories (as an INTERFACE property so as not to tamper with the build of SDL2 itself).
Good luck !

Hey there! Thanks much for the inputs!
Out of curiosity, how do libraries normally work with CPM? I thought CPM already fetched the library's source code and built it regardless of circumstances, or is that incorrect?
I'll mention I'm a complete noob with CMake, I've been having the worse headache of my life trying to make things work with it...
Which is really why I was looking into things like CPM hoping it would be a "add and forget" sort of deal (and the most part, it seems so! unfortunately SDL2 just so happens to not follow the same convention as the other libs)
Since literally all the sample libs work as expected, I think this is a problem of SDL2 doing things in a convoluted/non-conformant way rather than CPM's fault, but then again if I have understood correctly, there really isn't any way to do things "correctly" with CMake? And so if I brought it up with the SDL team, surely they'd tell me to go pound sand.
Would there be, maybe, a way in C++ to include libraries in a conditional manner? i.e. include the same file SDL.h but "try" to include it both with <SDL2/SDL.h> and <SDL.h>, and just pick the correct one automatically? Maybe with C++ macros or something similar?
If there isn't, I think my best option would be to just disregard the "proper" convention with SDL2 inclusion and just manually add a inclusion for the .../SDL2 subfolder of system-installed SDL2, if detected byCMake/CPM;
I really really really want to avoid messing with the source folders/copying headers/adding build targets etc. as to try and not mess with additional CMake headaches as much as I can avoid it...
but, of course, there might also be good reasons for why this is a terrible idea and doing as you say might be the only way to do things. If that's the case, I guess I'll swallow the bitterness and try to make that work, haha.

I see, that makes much sense. Thanks!
For the C++ route I found GCC has the __has_include directive which is incredibly useful, and it does exactly what I need but sadly it's not supported by all compilers. I tried to get CMake to find inclusion files, but to no avail either.
Will try to do as you recommended, hopefully it won't be too much of a nightmare... Thanks for the help!

So, I've read through the SDL cmakelists.txt and this seems to be the code that enumerates the headers:
# This list holds all generated headers.
# To avoid generating them twice, these are added to a dummy target on which all sdl targets depend.
set(SDL_GENERATED_HEADERS)

# ...

# Copy all non-generated headers to "${SDL2_BINARY_DIR}/include"
# This is done to avoid the inclusion of a pre-generated SDL_config.h
file(GLOB SDL2_INCLUDE_FILES ${SDL2_SOURCE_DIR}/include/*.h)
set(SDL2_COPIED_INCLUDE_FILES)
foreach(_hdr IN LISTS SDL2_INCLUDE_FILES)
    if(_hdr MATCHES ".*(SDL_config|SDL_revision).*")
        list(REMOVE_ITEM SDL2_INCLUDE_FILES "${_hdr}")
    else()
        get_filename_component(_name "${_hdr}" NAME)
        set(_bin_hdr "${SDL2_BINARY_DIR}/include/${_name}")
        list(APPEND SDL2_COPIED_INCLUDE_FILES "${_bin_hdr}")
        add_custom_command(OUTPUT "${_bin_hdr}"
            COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_hdr}" "${_bin_hdr}"
            DEPENDS "${_hdr}")
    endif()
endforeach()
list(APPEND SDL_GENERATED_HEADERS ${SDL2_COPIED_INCLUDE_FILES})
PrintList(SDL_GENERATED_HEADERS "SDL_GENERATED_HEADERS:")

# ...

# Create target that collects all all generated include files.
add_custom_target(sdl_headers_copy
    DEPENDS ${SDL_GENERATED_HEADERS})

And I tried to distill it into this:
if(DEFINED SDL2_SOURCE_DIR)
    message("# Since SDL2 was imported and build from source code, we try to \"soft install\" the header files ourselves...")
    message("# Headers folder set to: ${SDL2_BINARY_DIR}/include/SDL2")
    SET(SDL_HEADERS_SOFT_INSTALL_DIR ${SDL2_BINARY_DIR}/include/SDL2)
    # Copy all non-generated headers to "${SDL2_BINARY_DIR}/include/SDL2"
    # This is done to avoid the inclusion of a pre-generated SDL_config.h
    file(GLOB SDL2_INCLUDE_FILES ${SDL2_SOURCE_DIR}/include/*.h)
    set(SDL2_COPIED_INCLUDE_FILES)
    foreach(_hdr IN LISTS SDL2_INCLUDE_FILES)
        if(_hdr MATCHES ".*(SDL_config|SDL_revision).*")
            list(REMOVE_ITEM SDL2_INCLUDE_FILES "${_hdr}")
        else()
            get_filename_component(_name "${_hdr}" NAME)
            set(_bin_hdr "${SDL_HEADERS_SOFT_INSTALL_DIR}/${_name}")
            list(APPEND SDL2_COPIED_INCLUDE_FILES "${_bin_hdr}")
            add_custom_command(OUTPUT "${_bin_hdr}"
                COMMAND ${CMAKE_COMMAND} -E cmake_echo_color --cyan "Copying ${_hdr} to ${_bin_hdr}..."
                COMMAND ${CMAKE_COMMAND} -E copy_if_different "${_hdr}" "${_bin_hdr}"
                DEPENDS "${_hdr}")
        endif()
    endforeach()

    list(APPEND SDL_GENERATED_HEADERS ${SDL2_COPIED_INCLUDE_FILES})
    PrintList(SDL_GENERATED_HEADERS "SDL_GENERATED_HEADERS:")
    # Create target that collects all all generated include files.
    add_custom_target(sdl_headers_copy
        DEPENDS ${SDL_GENERATED_HEADERS})
   # Add dependency and inclusion dirs to SDL2
    add_dependencies(SDL2 sdl_headers_copy)
    target_include_directories(SDL2 INTERFACE ${SDL2_BINARY_DIR}/include)
endif()

And so if understand correctly:

We declare a custom target (sdl_headers_copy) which depends on the SDL_GENERATED_HEADERS files
We declare said files as a custom output via the add_custom_command(OUTPUT ... ) directives
We add the dependency of the custom target to the primary SDL2 library
We add the folder as an include path to the primary SDL2 library (as INTERFACE)

However, this doesn't seem to work... I'm getting this error:
Target "SDL2" INTERFACE_INCLUDE_DIRECTORIES property contains path:

    "E:/Git/Antimony-III/cmake-build-release/_deps/sdl-build/include"

  which is prefixed in the build directory.

Yes this will likely run everytime you configure CMake, I gave it a quick go and came up with this:
CPMAddPackage(GITHUB_REPOSITORY libsdl-org/SDL
        GIT_TAG main
        OPTIONS
            "SDL2_DISABLE_INSTALL TRUE")

if (SDL_ADDED)
    file(GLOB SDL_HEADERS "${SDL_SOURCE_DIR}/include/*.h")

    # Create a target that copies headers at build time, when they change
    add_custom_target(sdl_copy_headers_in_build_dir
            COMMAND ${CMAKE_COMMAND} -E copy_directory "${SDL_SOURCE_DIR}/include" "${CMAKE_BINARY_DIR}/SDLHeaders/SDL2"
            DEPENDS ${SDL_HEADERS})

    # Make SDL depend from it
    add_dependencies(SDL2 sdl_copy_headers_in_build_dir)

    # And add the directory where headers have been copied as an interface include dir
    target_include_directories(SDL2 INTERFACE "${CMAKE_BINARY_DIR}/SDLHeaders")
endif()

I've tried the above, but unfortunately it doesn't work... it still only copies the files over when building, not when configuring.
Also, doesn't copy_directory lack the benefit of copy_if_different, too?
Regarding that error, I would have never ever found out the SDL2_DISABLE_INSTALL thing on my own, haha. There's no universe where I would have stumbled across that. All of these things are just random esoteric noise and everything is hours and hours of trial-and-error with CMake.
Is there any particular reason we we need to make SDL2 dependent on this target and not the other way around?
(I apologize by the way if this is clearly outside the topic of CPM, thanks again for the help so far!)

I've tried the above, but unfortunately it doesn't work... it still only copies the files over when building, not when configuring.

This is the intended behavior though. While this is a basic header copy, I would still refer to it as a codegen step, and you do not want to accumulate these in the configure stages or else modifying project files will become a pain. While what you're doing is probably a personal project and these are overblown concerns, I'd still start getting the habit of making these build steps.
Not only does this avoid long configure times, it also enables you to only do the codegen steps you really need (in that case, when you build something that links to SDL2), and make these codegen steps depend on input files, in this case the header files of the SDL repo (see the use of DEPENDS), hence why the copy_if_differentoptimization is kind of useless in this case since it will never re-run unless you change SDL sources. It is made a dependency of SDL2 rather than the flipside because you link against the library, not the custom target, and if the custom target goes unused it will never run, thus not copy your headers.
The pattern of having a <project_name>_INSTALL or whatever variable is a common one in open-source project to enable the users of these librairies to disable the provided install steps which are as discussed mostly targetted for a system-wide install of the compiled librairies.


[proxima-core] #81 make Repository and generated code Serializable

This closes O2-Czech-Republic/proxima-platform#81


ARA (Ansible Run Analysis) Role

This adds ARA to the bastion, which gives us a more in-depth view of
the our Ansible runs.
It is currently very WIP.
Signed-off-by: Bradon Kanyid<EMAIL_ADDRESS>

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489021176.32/bonnyci-run-check-multinode : FAILURE in 54s

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489082267.16/bonnyci-run-check-multinode : FAILURE in 9s

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489110178.37/bonnyci-run-check-multinode : RETRY_LIMIT

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489192182.32/bonnyci-run-check-multinode : FAILURE in 6m 56s

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489192672.38/bonnyci-run-check-multinode : FAILURE in 6m 55s

Ok, ready for real review. Works well in my testing.

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489193907.3/bonnyci-run-check-multinode : FAILURE in 6m 57s

recheck

recheck

recheck

recheck

recheck

recheck

Build failed.

http://logs.bonnyci.com/check_github/BonnyCI/hoist/202/1489210099.03/bonnyci-run-check-multinode : FAILURE in 7m 02s

recheck

This looks good from an ansible POV, but I'll let someone who can test locally flip the final approval.
We may want to consider storing ARA data in a mysql database or some other remote database.  We have the per-bonny env mysql servers running on the zuul hosts but I'm not sure that'd be the best place.

Build failed.

http://logs.bonnyci.com/gate_github/BonnyCI/hoist/202/1489435098.45/bonnyci-run-gate-multinode : FAILURE in 33s

Build failed.

http://logs.bonnyci.com/gate_github/BonnyCI/hoist/202/1489436895.79/bonnyci-run-gate-multinode : FAILURE in 1m 37s

Build failed.

http://logs.bonnyci.com/gate_github/BonnyCI/hoist/202/1489440061.13/bonnyci-run-gate-multinode : FAILURE in 1m 22s


DO NOT MERGE: trigger workflow with latest action version

/deploy

You can access the deployment of this PR at https://renku-ci-nb-824.dev.renku.ch


Add Script / Documentation on converting samples to a supported format.

I have tried a number of methods to convert samples into a format that will work on the picotracker. The most conservative was sox -S "$SAMPLE_DIR/$SAMPLE_PATH" -r 22050 -b 16 -c 1 -e unsigned-integer "samplelib/$SAMPLE_FOLDER/$SAMPLE_OUT.wav" with both the unsigned and signed 16 bit integer versions not working there are some samples at http://simotek.net/downloads/BassU22/
I have also tried using ffmpeg with no luck. So far i've found very few samples that will work out of the box.

Thanks for reporting this @simotek 👍🏻
Definitely do need to document specifically what sample file formats are supported.
I think @democloid is planning to work on this soon.

I also tried signed versions with

sox -S "$SAMPLE_DIR/$SAMPLE_PATH" -r 22050 -b 16 -c 1 "samplelib/$SAMPLE_FOLDER/$SAMPLE_OUT.wav in http://simotek.net/downloads/BassSoxS22/
ffmpeg -i "$SAMPLE_DIR/$SAMPLE_PATH" -sample_fmt s16 -ac 1 -ar 22050 "samplelib/$SAMPLE_FOLDER/$SAMPLE_OUT.wav"  in http://simotek.net/downloads/BassFFMPEG22A/
ffmpeg -i "$SAMPLE_DIR/$SAMPLE_PATH" -acodec pcm_s16le -ac 1 -ar 22050 "samplelib/$SAMPLE_FOLDER/$SAMPLE_OUT.wav" in http://simotek.net/downloads/BassFFMPEG22B/

so starting from this line, the code here is the source of truth on what wav file formats are supported.
Having a look at the code, it supports:

8 or 16bit
stereo or mono
theoretically any sample rate

But interesting things to note:

number of channels is used but never actually validated to be 1 or 2
sample rate is stored and then used to adjust playback rate (see SampleInstrument 187)
theres 3 magic number checks of various parts of the file metadata header, I'll need to look up what each of those parts of the header contain that they are checking

I'll try to break this code out into a little harness and then run tests on arm emu against various sample files to see if theres also possibly any bugs in that code, possibly due to endianess differences.

Interestingly the samples work fine with LGPT

Interestingly the samples work fine with LGPT

Would you know which version of LGPT you were using that worked? That would help with cross checking it's source with pT's to see what the difference is.

the things that would make legacy piggy barf the most is metadata in the wav header

@simotek As frustrating as this may sound, the problem you're having is not related to format, but with spaces on the filenames. I'm annoyed at not having looked at this earlier to identify the issue.
That said, wav files don't seem to support any arbitrary combination of int format and endianness.
What's supported in wav, and picoTracker as well is:
unsigned 8 bit
signed 16 bit little endian
1 or 2 channels
Any sample rate up to 44100Hz
I have tested all these combinations and there seems to be no problems importing any file like this.
That said, I have identified some other issues:
Playback:

no sample rate adjustment (known issue)
2 chan 8 bit plays with artifacts on preview

File system:

Issue when loading new screen while playing, as the reference to the playing file is destroyed
Spaces in files
Some folders fail to load files sometimes

Most of the file system issues should be addressed by a new implementation we've been working on. The playback issues I have to work on. We also need better feedback to the user when encountering an invalid file.


Remove unnessary variable

Purpose
$subject
Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #20113 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #20113   +/-   ##
=======================================
  Coverage    19.9%    19.9%
=======================================
  Files          55       55
  Lines        1437     1437
  Branches      218      218
=======================================
  Hits          286      286
  Misses       1138     1138
  Partials       13       13

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 586dfec...e394497. Read the comment docs.


Reference search for proxyResolver.ts' connectProxyResolver misses results

Testing #143575
On insiders.vscode.dev with the VS Code repo open (full index downloaded):

Not sure if that is expected. Locally I get:

This is actually due to TypeScript, not anycode. By default anycode is configured to not offer reference search for TypeScript files. What you see is tsserver lacking cross file support for the web-case. Tho, because it works well for the single file case we didn't enable it by default for anycode. You use the following config to do
	"[typescript]": {
		"anycode.language.features": {
			"completions": false,
			"definitions": false,
			"references": true,
			"highlights": false,
			"outline": false,
			"workspaceSymbols": true,
			"diagnostics": false
		}
	},

With the setting I see a call-reference but not the import-reference. I will push a corresponding change

Published with 0.0.58


v3 does not recognize a connected wallet and is unable to connect one

We are using 3.0.0-alpha.41 and in production version LifiWidget is unable to recognize the connected wallet through wagmi (^2.9.6).
Connecting a wallet through Lifi does not work either and does not throw any exceptions.
Locally, this flow works properly, and it worked completely fine in v2.
📷 Screenshot

🎥
https://github.com/lifinance/widget/assets/163864960/e8a49f1e-1bff-4449-acee-3e956ea0969c

@haroon-schmrkow hey, can you please share your setup?

The Widget v3 has been released. Please see the documentation here https://docs.li.fi/integrate-li.fi-widget/li.fi-widget-overview


Feat/secure login

closes #2824
closes #2830

LGTM in general. Leaved 1 question to @onvisions

LGTM


Unnecessary update of computed property and watcher call, triggered by update of dependent computed property, even when it is evaluated to the same primitive value

Version
2.6.11
Reproduction link
https://jsfiddle.net/marcel_dancak/xr2q40Lp/19/
Steps to reproduce
Open console output in demo example. Click on UPDATE button and watch log messages in console.
What is expected?
After each click on UPDATE button, computed property 'c' is updated, but it's value is still the same number value. Computed property 'params' doesn't need to be updated, because it depends only on property 'c', which always has the same primitive value. Watcher on property 'c' is not triggered, and I would expect watcher on 'params' property to be not triggered as well.
What is actually happening?
Computed property 'params' is updated on each click.

I understand why 'c' watcher function is not called, and why watcher function on computed property returning 'the same' complex object is called, but I didn't expect computed property with the same primitive value result to cause updates of other computed properties.

In your example, params is not a primitive value. You've added a watcher for params, and since evaluation of this property returns a new object every time, you're going to see this. Vue doesn't do a deep check for equality in this way, you'll have to look in to a library like deep-equal to check for this condition.
I've actually ran in to this same issue and solved it similarly by watching a data property that gets updated through a secondary watcher. In the secondary watcher I compare the previous and current values for equality, and only update the data property when I've determined the values to be different.

In your example, params is not a primitive value. You've added a watcher for params, and since evaluation of this property returns a new object every time, you're going to see this. Vue doesn't do a deep check for equality in this way, you'll have to look in to a library like deep-equal to check for this condition.
I've actually ran in to this same issue and solved it similarly by watching a data property that gets updated through a secondary watcher. In the secondary watcher I compare the previous and current values for equality, and only update the data property when I've determined the values to be different.

Yes, the main issue is update of params, which results in expected call of it's watcher. Shortly after submitting this issue I figured out that part about watcher in the title could be misleading.
This was just the very simple example to demonstrate, in real code I have computed property which parse single query string parameter and return primitive value. But because it depends on this.$route.query, it is evaluated on any change of query string, and triggers update of another computed property, even when it's not really changed. In this case I will probably simply use deep equal check function in watcher to prevent unnecessary fetching data with request.
Still it would be nice, if Vue would be able to prevent such unnecessary updates, where simple equality === check would be enough. I think that unnecessary updates can trigger unnecessary rendering, or it could cause performance issues, when you have heavy to compute properties. Finding workaround for this issues is possible, but additional code may be more difficult to follow or more prone to errors. However I understand there may be some internal challenges, and thus more difficult to implement as it seems.

Yes, the main issue is update of params, which results in expected call of it's watcher. Shortly after submitting this issue I figured out that part about watcher in the title could be misleading.
This was just the very simple example to demonstrate, in real code I have computed property which parse single query string parameter and return primitive value. But because it depends on this.$route.query, it is evaluated on any change of query string, and triggers update of another computed property, even when it's not really changed. In this case I will probably simply use deep equal check function in watcher to prevent unnecessary fetching data with request.
Still it would be nice, if Vue would be able to prevent such unnecessary updates, where simple equality === check would be enough. I think that unnecessary updates can trigger unnecessary rendering, or it could cause performance issues, when you have heavy to compute properties. Finding workaround for this issues is possible, but additional code may be more difficult to follow or more prone to errors. However I understand there may be some internal challenges, and thus more difficult to implement as it seems.

This is expected, computed properties need to be reevaluated, c gets reevaluated with a and b changing and so does params because its dependency c depends on a and b and it needs to reevaluate and return a new object, triggering the watcher

This is expected, computed properties need to be reevaluated, c gets reevaluated with a and b changing and so does params because its dependency c depends on a and b and it needs to reevaluate and return a new object, triggering the watcher


Fixed showing popup window on center of the screen when working with multiple monitors

This is my first contribution ever, hope i did it right.
I actively use the application, but when working with two monitors when using the settings for displaying a pop-up window on the center of screen, in my opinion, it worked illogically: the window did not open on the active monitor where i working, but on the one marked in the system settings as the main monitor.
Fixed this for myself and i would like to share the fix.

NSScreen.main should return the window with the focused application. It does not track mouse cursor location so you can have one screen with cursor and another with the focused app. In this case, Maccy would be shown on the latter.
Given Maccy is keyboard-driven, I think it should stay the way it's implemented. Thank you for the proposal though!


Reasonably working version

Ran this through reporting and it is giving me coverage that seems to look correct. It should be more obvious if there are any issue when it is in daily use.
@foresmac

This LGTM so far; the test case seems to find that vip is covered about 47% and that sounds right to me based on the last pull on cover.io.
Note: I'll put together a sample file with multiple coverage profiles concat'ed together so you have more info to go on if that helps.


Kazakhstan will switch to a single time zone, UTC+05:00, on March 1, 2024.

Hello!
We are using the latest version github.com/ugjka/go-tz/v2 v2.2.2. Since March 1, 2024, Kazakhstan will switch to a single time zone (Asia/Almaty + Asia/Qostanay => UTC+05:00) Wikipedia Time in Kazakhstan.
Asia/Almaty:
lat = 43.2363924,
long = 76.9457275
timezone, err := tz.GetZone(tz.Point{Lon: long, Lat: lat}); // => '2024-01-01T00:00:00+06:00' (✅)
timezone, err := tz.GetZone(tz.Point{Lon: long, Lat: lat}); // => '2024-05-05T00:00:00+06:00' (❌)
Do you have an update time zone database plan later?
Thank you.

Just pushed v2.2.3, please report back or close the issue if it is fixed

Thank you!


Use program origin when computing label addresses

When using the .origin directive in PIO programs, labels would receive addresses relative to the first instruction in the program instead of absolute addresses that take the origin into consideration. This led to invalid jump addresses leading to incorrect encodings for JMP instructions.
I also added a test that checks the behaviour of this fix.

Thanks for the quick merge!


ATEM Mini Extreme Macros not working

I am using the latest companion beta build: companion-2.2.0-a1929525-3172-win64.exe
As far as I can tell, companion does not playback macros on the new Atem Mini Extreme.
I get the Name of the macro into companion, but I cannot playback.
Thank you for looking into this

Got it, the preset does not work correctly, but if I manually ad the run macro action, it does work.

Do you know what the preset is setting up wrong?
I don't think I have done anything to this in ages, but it looks correct to me


Browser crashes when a navigational request is aborted using --single-process flag

This is rather a question, not a bug report.
The main problem is when intercepting a navigation request (e.g. a link to a page points or redirects to a pdf or another type of document we don't want to).
For example a simple approach:
  // Enable request interceptions
  await page.setRequestInterception(true);

  // do not load images and fonts
  await page.on("request", (request) => {
    if (request.isInterceptResolutionHandled()) return;

    if (request.isNavigationRequest())
      request.abort("blockedbyclient");
    else
      request.continue();
  });

Or intercepting the response:
  const client = await page.createCDPSession();
  const cTypeHeader = "content-type";
  const cTypeExp = /\bhtml\b/i;
  const errorReason = "BlockedByClient";

  // intercept request when response headers were received
  await client.send('Fetch.enable', {
    patterns: [{ urlPattern: '*', resourceType: 'Document', requestStage: 'Response' }],
  });

  await client.on('Fetch.requestPaused', async evt => {
    const requestId = evt.requestId;
    const status = evt.responseStatusCode;

    if (status >= 200 && status <= 299) {
      const headers = evt.responseHeaders || [];
      const contentType = headers.find(h => h.name.toLowerCase() == cTypeHeader)?.value;

      // Do not allow anything other than html document.
      if (contentType && !cTypeExp.test(contentType))
        return await client.send('Fetch.failRequest', { requestId, errorReason }).catch(none);
    }

    await client.send('Fetch.continueRequest', { requestId }).catch(none);
  });

Both lead to the same situation when the browser kills the renderer and occasionally dies as they are in a single process 😀
The bug report is here and I was about to submit one more with crbug.com. But was also wondering if it is possible to run chromium without the --single-process flag. I tried just removing the flag but didn't have much success so far.

This is the comment I have in the code for --single-process
// Needs to be single-process to avoid `prctl(PR_SET_NO_NEW_PRIVS) failed` error


Offerings contain mixed types of dict and Offering (Model)

One of the recent updates to class Offering(APIModel) has resulted in get_genshin_user()'s return value, GenshinUserStats.explorations[x].offerings, became a list that contains two mixed types: Offering (Model) and dict.
Specifically, the Tree of Dreams (or 梦之树 on CN server) is having a type of dict.
We see that offerings has changed from typing.Sequence[Offering] to typing.Sequence[typing.Any]:
https://github.com/thesadru/genshin.py/blob/99a6a41277ddd68edb1c5b7ff2cd3606d2249d37/genshin/models/genshin/chronicle/stats.py#L88
and is now mixing Offering and dict:
https://github.com/thesadru/genshin.py/blob/99a6a41277ddd68edb1c5b7ff2cd3606d2249d37/genshin/models/genshin/chronicle/stats.py#L92
This change was causing some issues to us downstream users - we are expecting to use the offering model consistently in the iterable.
Is this the expected behavior? If so, do you mind sharing why the change was made?

This is an issue of simply making the validator use pre=True. Should be fixed soon.


Optimize DataFrameGroupBy.apply()

Refer to:
https://github.com/pandas-dev/pandas/blob/57bb1657a3530a2576a5d05541510840ebe9fd91/pandas/core/apply.py#L1072-L1104

    def apply_standard(self) -> DataFrame | Series:
        f = self.f
        obj = self.obj

        with np.errstate(all="ignore"):
            if isinstance(f, np.ufunc):
                return f(obj)

            # row-wise access
            if is_extension_array_dtype(obj.dtype) and hasattr(obj._values, "map"):
                # GH#23179 some EAs do not have `map`
                mapped = obj._values.map(f)
            else:
                values = obj.astype(object)._values
                # error: Argument 2 to "map_infer" has incompatible type
                # "Union[Callable[..., Any], str, List[Union[Callable[..., Any], str]],
                # Dict[Hashable, Union[Union[Callable[..., Any], str],
                # List[Union[Callable[..., Any], str]]]]]"; expected
                # "Callable[[Any], Any]"
                mapped = lib.map_infer(
                    values,
                    f,  # type: ignore[arg-type]
                    convert=self.convert_dtype,
                )

        if len(mapped) and isinstance(mapped[0], ABCSeries):
            # GH 25959 use pd.array instead of tolist
            # so extension arrays can be used
            return obj._constructor_expanddim(pd_array(mapped), index=obj.index)
        else:
            return obj._constructor(mapped, index=obj.index).__finalize__(
                obj, method="apply"
            )

Similar issue as https://github.com/has2k1/plydata/issues/19, timing result is also similar.

Also here:
https://github.com/pandas-dev/pandas/blob/57bb1657a3530a2576a5d05541510840ebe9fd91/pandas/core/groupby/ops.py#L1324-L1328

class FrameSplitter(DataSplitter):
    def fast_apply(self, f: F, sdata: FrameOrSeries, names):
        # must return keys::list, values::list, mutated::bool
        starts, ends = lib.generate_slices(self.slabels, self.ngroups)
        return libreduction.apply_frame_axis0(sdata, f, names, starts, ends)

Now can we make use of some of the cython functions?

See https://pwwang.github.io/datar/performance/#

There is still room to optimize, but closing for now.
Reopen this or open a new issue if the performance issue appears in a different way.


Put "Then" in test case expected result

Some other tools allow the option of putting the "Then" text of a scenario in the "expected result" field in the test case. I'm using Azure DevOps and I'm not sure if this is not an option in TestRail, but it would be a feature I'd appreciate.

Hello, dear user @spongessuck  :)
Do you mean something like this?

@spongessuck please check out version 3.12.0.
To enable the new feature please set SetThenStepsAsExpected config parameter as true.


An experiment to see how delayed_write and read_ahead behave

Technically, this shouldn't violate safety as an fsync will still flush out the data synchronously.
We used to have some versions of these previously done at the couch_file or couch_db_updater level. There was an 8KB read-ahead and a delayed commit option. These ones are a bit simpler and easier as they are using OTP provided functionality.
Locally on MacOS I haven't see a huge perf difference (with fabric_bench) but perhaps this might help in case with a remote block devices where write IO calls are throttled or somehow behave better if they are in larger blocks.

Closing as there wasn't as much interest in this


How can apply this plugin like an Angular.js Module?

Hi!, i'm working with angular.js and i've looking for a notification plugin that let me put and image inside a pop up notification, well i found this :). But i need to fixe it any way to angage it with Angular.js

https://github.com/dev-tim/angular-noty might be useful to you


Don't set the style.width and style.height on resize.

I think in the rewrite we will be completely decoupling the renderer from the DOM, and putting DOM handling into user-land. Thanks for this.


Arbitrage Strategy: Duplicate Exchange

Describe the bug
Using the same spot exchange in the arbitrage strategy results in a loop that crashes the Docker instance:
there is no validation to ensure that two different exchanges were entered!!
Steps To Reproduce
Start an arbitrage strategy and use the same exchange for both the primary and secondary markets (I used Kraken twice).
Release version
Version 1.11.0
Optional: your discord username:
markviti

Can't reproduce using latest development and binance/ascendex exchange, could you share your config or config screenshot @varkmiti?


Paddings must be non-negative: 0 -7          [[{{node Pad_2}}]] [Op:IteratorGetNext]

Hello everyone,
I tried to run the finetuning of DETR with the dataset indicated in the tutorial ("hardhat") and it seems to work fine.
Now I have replaced the initial dataset with one of my interest, namely "Crowd Human".
Suddenly, however, I get this error (sometimes it even manages to get to validation step 3 or 4):
`Load weights from weights/detr/detr.ckpt
Model: "detr_finetuning"

Layer (type)                    Output Shape         Param #     Connected to
input_2 (InputLayer)            [(None, None, None,  0

detr (Functional)               (6, None, 100,<PHONE_NUMBER>2    input_2[0][0]

pos_layer (Sequential)          (6, None, 100, 4)    132612      detr[0][0]

cls_layer (Dense)               (6, None, 100, 2)    514         detr[0][0]

tf_op_layer_strided_slice_6 (Te [(None, 100, 4)]     0           pos_layer[0][0]

tf_op_layer_strided_slice_5 (Te [(None, 100, 2)]     0           cls_layer[0][0]

tf_op_layer_strided_slice_8 (Te [(None, 100, 4)]     0           pos_layer[0][0]

tf_op_layer_strided_slice_7 (Te [(None, 100, 2)]     0           cls_layer[0][0]

tf_op_layer_strided_slice_10 (T [(None, 100, 4)]     0           pos_layer[0][0]

tf_op_layer_strided_slice_9 (Te [(None, 100, 2)]     0           cls_layer[0][0]

tf_op_layer_strided_slice_12 (T [(None, 100, 4)]     0           pos_layer[0][0]

tf_op_layer_strided_slice_11 (T [(None, 100, 2)]     0           cls_layer[0][0]

tf_op_layer_strided_slice_14 (T [(None, 100, 4)]     0           pos_layer[0][0]

tf_op_layer_strided_slice_13 (T [(None, 100, 2)]     0           cls_layer[0][0]

tf_op_layer_strided_slice_4 (Te [(None, 100, 4)]     0           pos_layer[0][0]

tf_op_layer_strided_slice_3 (Te [(None, 100, 2)]     0           cls_layer[0][0]
Total params: 41,582,278
Trainable params: 41,476,038
Non-trainable params: 106,240

/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/loss/compute_map.py:101: RuntimeWarning: invalid value encountered in true_divide
overlaps = intersections / union
Validation step: [0],    ce: [0.78]      giou : [1.13]   l1 : [0.93]     time : [0.00]
Traceback (most recent call last):
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/eager/context.py", line 2102, in execution_mode
yield
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 758, in _next_internal
output_shapes=self._flat_output_shapes)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 2610, in iterator_get_next
_ops.raise_from_not_ok_status(e, name)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 6843, in raise_from_not_ok_status
six.raise_from(core._status_to_exception(e.code, message), None)
File "", line 3, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: Paddings must be non-negative: 0 -7
[[{{node Pad_2}}]] [Op:IteratorGetNext]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "finetune_crowd_human.py", line 99, in
run_finetuning(config)
File "finetune_crowd_human.py", line 79, in run_finetuning
training.eval(detr, valid_dt, config, class_names, evaluation_step=100)
File "/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/training.py", line 72, in eval
for val_step, (images, t_bbox, t_class) in enumerate(valid_dt):
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 736, in next
return self.next()
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 772, in next
return self._next_internal()
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 764, in _next_internal
return structure.from_compatible_tensor_list(self._element_spec, ret)
File "/usr/lib/python3.6/contextlib.py", line 99, in exit
self.gen.throw(type, value, traceback)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/eager/context.py", line 2105, in execution_mode
executor_new.wait()
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/eager/executor.py", line 67, in wait
pywrap_tfe.TFE_ExecutorWaitForAllPendingNodes(self._handle)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Paddings must be non-negative: 0 -7
[[{{node Pad_2}}]]
Traceback (most recent call last):
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/eager/context.py", line 2102, in execution_mode
yield
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 758, in _next_internal
output_shapes=self._flat_output_shapes)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/ops/gen_dataset_ops.py", line 2610, in iterator_get_next
_ops.raise_from_not_ok_status(e, name)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 6843, in raise_from_not_ok_status
six.raise_from(core._status_to_exception(e.code, message), None)
File "", line 3, in raise_from
tensorflow.python.framework.errors_impl.InvalidArgumentError: Paddings must be non-negative: 0 -7
[[{{node Pad_2}}]] [Op:IteratorGetNext]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "finetune_crowd_human.py", line 99, in
run_finetuning(config)
File "finetune_crowd_human.py", line 79, in run_finetuning
training.eval(detr, valid_dt, config, class_names, evaluation_step=100)
File "/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/training.py", line 72, in eval
for val_step, (images, t_bbox, t_class) in enumerate(valid_dt):
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 736, in next
return self.next()
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 772, in next
return self._next_internal()
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/data/ops/iterator_ops.py", line 764, in _next_internal
return structure.from_compatible_tensor_list(self._element_spec, ret)
File "/usr/lib/python3.6/contextlib.py", line 99, in exit
self.gen.throw(type, value, traceback)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/eager/context.py", line 2105, in execution_mode
executor_new.wait()
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/eager/executor.py", line 67, in wait
pywrap_tfe.TFE_ExecutorWaitForAllPendingNodes(self._handle)
tensorflow.python.framework.errors_impl.InvalidArgumentError: Paddings must be non-negative: 0 -7
[[{{node Pad_2}}]]
`
What does it mean? and how can I solve the problem?
Thank you so much in advance. Greetings, Simone.

This normally means some samples from your own dataset have more than 100 objects (in this case, 107. That's why it tells you -7 because you are trying to pad the objects from 107 back to 100).
One solution would be increasing both the number of object queries and the padding number, which are defined in DETR class and pad_labels function, respectively.

@PhanTask Thanks so much for the answer... Yes, apparently the problem seems to be just that! I tried to change the parameters you said, but I get this error:
Load weights from weights/detr/detr.ckpt
Traceback (most recent call last):
File "finetune_crowd_human.py", line 99, in
run_finetuning(config)
File "finetune_crowd_human.py", line 49, in run_finetuning
detr = build_model(config)
File "finetune_crowd_human.py", line 41, in build_model
detr = get_detr_model(config, include_top=False, nb_class=2, weights="detr", num_decoder_layers=6, num_encoder_layers=6)
File "/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/networks/detr.py", line 175, in get_detr_model
hs = transformer(input_proj(x), masks, query_embed(None), pos_encoding)[0]
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 982, in call
self._maybe_build(inputs)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 2643, in _maybe_build
self.build(input_shapes)  # pylint:disable=not-callable
File "/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/networks/custom_layers.py", line 64, in build
initializer=tf.keras.initializers.GlorotUniform(), trainable=True)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 614, in add_weight
caching_device=caching_device)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/training/tracking/base.py", line 724, in _add_variable_with_custom_getter
name=name, shape=shape)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/training/tracking/base.py", line 791, in _preload_simple_restoration
checkpoint_position=checkpoint_position, shape=shape)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/training/tracking/base.py", line 75, in init
self.wrapped_value.set_shape(shape)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1209, in set_shape
(self.shape, shape))
ValueError: Tensor's shape (100, 256) is not compatible with supplied shape (500, 256)
Traceback (most recent call last):
File "finetune_crowd_human.py", line 99, in
run_finetuning(config)
File "finetune_crowd_human.py", line 49, in run_finetuning
detr = build_model(config)
File "finetune_crowd_human.py", line 41, in build_model
detr = get_detr_model(config, include_top=False, nb_class=2, weights="detr", num_decoder_layers=6, num_encoder_layers=6)
File "/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/networks/detr.py", line 175, in get_detr_model
hs = transformer(input_proj(x), masks, query_embed(None), pos_encoding)[0]
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 982, in call
self._maybe_build(inputs)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 2643, in _maybe_build
self.build(input_shapes)  # pylint:disable=not-callable
File "/user/spadula/DETECTOR/detr-tensorflow-main/detr_tf/networks/custom_layers.py", line 64, in build
initializer=tf.keras.initializers.GlorotUniform(), trainable=True)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/keras/engine/base_layer.py", line 614, in add_weight
caching_device=caching_device)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/training/tracking/base.py", line 724, in _add_variable_with_custom_getter
name=name, shape=shape)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/training/tracking/base.py", line 791, in _preload_simple_restoration
checkpoint_position=checkpoint_position, shape=shape)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/training/tracking/base.py", line 75, in init
self.wrapped_value.set_shape(shape)
File "/user/spadula/.local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1209, in set_shape
(self.shape, shape))
ValueError: Tensor's shape (100, 256) is not compatible with supplied shape (500, 256)
It seems we need to change something else too...
I take this opportunity to ask you another question, given your gentleness: once finetuning is done in this way, where can I find the "retrained" model, so that I can use it?
Thanks in advance for your availability!

@simpad2409 I saw you changed the object query number from 100 to 500. Note that if you do so, the structure of the transformer changed and you cannot load the pretrained DETR weight anymore (shape mismatch issue), which means you cannot use the provided DETR weight (for 100 queries) for fine-tuning directly.
This means, in the code detr = get_detr_model(config, include_top=False, nb_class=2, weights="detr", num_decoder_layers=6, num_encoder_layers=6), weights="detr" should be 'weights=None'.
However, you may still preload weights for some specific layers that are not affected by object query numbers such as the ResNet backbone part. You may extract this part of the weight and preload it for your backbone.
For saving and loading funetune model, you may use model.save_weights() and model.load_weights() functions.

If you really want to be able to handle more than 100 objects the best move might be to extend the num_queries while keeping the weights of the first 100  pretrained queries.
It might be a good ideas to look at the distribution of the number of obejcts per image for the Crowd Human dataset, to decide on the right things to do.

@PhanTask @thibo73800 Thanks to both of you for answering me. You are really kind! Below is a graph showing the number of people for each image (and therefore gt) of the CrowdHuman dataset.
What do you think? Is it possible to increase the number of queries? If so, how?
Thanks again to both of you!

Based on this histogram, the mean might rouhgly around 30, while the median should be around 20. So the question is, do you want your model to be able to predict more than 100 people (even if this is really not often the case) ? Or do you want your model to always detect the 25/50th most obvious people ?

@thibo73800 I would like to create a detector that is able to detect as many people as possible (correctly) within a scene, in order to estimate the distance between them and to create a system for social distancing on the subject of Covid-19.
I don't know if I got the idea ...

@PhanTask @thibo73800 Thanks for the reply. :)
I followed the advice to filter images with at most 100 people inside. THANK YOU!
I have another question ... I started finetuning on my CrowdHuman dataset to improve detection on people in DETR. I have a validation set of about 3000 images; should I pass it all on?  I do like this:
valid_dt, _ = load_tfcsv_dataset(
config, 3000, augmentation=False, ann_file="test/_annotations.csv", img_dir="test")
(I noticed, however, that at each validation ALL 3000 images are viewed from the network... and not just a few at a time, different for each validation at the end of each epoch).
Am I doing something wrong?
What can you advise me to do a "good" finetuning for the detection of people? Thank you so much.

@PhanTask @thibo73800  Thanks for the reply. :)
I followed the advice to filter images with at most 100 people inside. THANK YOU!
I have another question ... I started finetuning on my CrowdHuman dataset to improve detection on people in DETR. I have a validation set of about 3000 images; should I pass it all on? I do like this:
valid_dt, _ = load_tfcsv_dataset(
config, 3000, augmentation=False, ann_file="test/_annotations.csv", img_dir="test")
(I noticed, however, that at each validation ALL 3000 images are viewed from the network... and not just a few at a time, different for each validation at the end of each epoch).
Am I doing something wrong?
What can you advise me to do a "good" finetuning for the detection of people? Thank you so much.


Extended configuration for scripts

I've been wishing for a way to provide some more complex configuration options to Hubot scripts. I think the ENV variables are good for access tokens and such, but I've been thinking it would be cool to be able to pass data to a specific script within hubot-scripts.json. Something like this...
[
  "redis-brain.coffee"
, { "script": "bees.coffee", "noisy": true }
, "cowsay.coffee"
, "kittens.coffee"
, {
      "script": "meme_generator.coffee"
    , "exclude": [ "futurama-fry", "y-u-no" ]
    , "noisy": false
  }
]

Does this sound like something you'd consider including in Hubot?

I think the script name as a key, and the settings as the value would work better.

No, never. Sorry.


Database 40GB

Hi is it normal that the DB is 40GB large?

Technically not (and that's the wal file), try disabling the persistent connection. You can see another thread here: https://github.com/UnamSanctam/UnamWebPanel/issues/216, from what I can see it seems to be caused by too many connections compared to how fast your webserver can handle them. You could also just disable the hashrate history in the config.php, since that's what all the data is, and it will also increase the performance massively. Which is why I also wrote the warning inside the config.php

Okay Thanks


multi-gekko, trade multi assets with gekko

Just published multi-gekko. Generate multiple config files and monitor multiple currencies and exchanges using gekko.
multi-gekko

Awesome! This is definitely something a ton of people have been asking.
Feel free to create a PR to fix this doc and add multi-gekko to it: https://github.com/askmike/gekko/blob/develop/docs/extending/other_software.md
Also feel free to post on the Gekko forum :)
Unfortunately I am closing this issue as I'm trying to clean up the issue tracker a little bit.


Two characters cut off in output

Not sure where this is coming from, but it seems to stem from somewhere near the lua templating portions of code.

Seems like this may in fact be 1 character, but since it is run twice, two characters end up being cut off.
Quite weird.

Maybe it isn't? ...
Perhaps I am mistreating the output, or strdup is being weird. Will investigate.

Hmm, seems like the templating engine requires a terminating newline.
Will add code to add a newline to end of string if it does not exist.

Changed templating engine, so this is no longer relevant.


2.0.8 will cause network crashes in system apps

device  iphonex  16.1.2
The issue with the 2.0.8 VPN has been resolved, but it can cause the system's APP network to crash. For example, Homekit did not respond and phone transfer failed. Restarting the user space can recover, but the problem will reappear shortly thereafter
2.0.6 VPN has a problem of not being able to start, but before restarting the user space, disable some plugins. After restarting the user space, if the VPN becomes available, enable all plugins. VPN can continue to work normally unless the user space is restarted But there won't be any issues with system app network crashes

2.0.6 VPN has a problem of not being able to start, but before restarting the user space, disable some plugins. After restarting the user space, if the VPN becomes available, enable all plugins. VPN can continue to work normally unless the user space is restarted But there won't be any issues with system app network crashes

That's the worst solution ever, do not do this.
Besides, if something crashes then attach a craslog from KrashKop?...

2.0.6 VPN has a problem of not being able to start, but before restarting the user space, disable some plugins. After restarting the user space, if the VPN becomes available, enable all plugins. VPN can continue to work normally unless the user space is restarted But there won't be any issues with system app network crashes

That's the worst solution ever, do not do this.
Besides, if something crashes then attach a crashlog from KrashKop?...

Incident Identifier: 3A54BA93-4046-4D13-9520-BD19BB4EF439
CrashReporter Key:   6b717b07bdb588a900459c2079de978b4241f9df
Hardware Model:      iPhone10,3
Process:             terminusd [26484]
Path:                /usr/libexec/terminusd
Identifier:          terminusd
Version:             ???
Code Type:           ARM-64 (Native)
Role:                Unspecified
Parent Process:      launchd [1]
Coalition:           com.apple.terminusd [3937]
Date/Time:           2024-02-29 21:22:19.4776 +0800
Launch Time:         2024-02-29 21:22:19.1237 +0800
OS Version:          iPhone OS 16.1.2 (20B110)
Release Type:        User
Baseband Version:    8.04.01
Report Version:      104
Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001ef5f2fcc
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [26484]
Triggered by Thread:  1
Thread 0:
0   libsystem_kernel.dylib        	       0x1e32b9cd4 __semwait_signal_nocancel + 8
1   libsystem_c.dylib             	       0x1b161cf70 nanosleep$NOCANCEL + 212
2   libsystem_c.dylib             	       0x1b161a404 sleep$NOCANCEL + 48
3   libdispatch.dylib             	       0x1b15c07f0 _dispatch_queue_cleanup2 + 204
4   libsystem_pthread.dylib       	       0x1f205cb18 _pthread_tsd_cleanup + 616
5   libsystem_pthread.dylib       	       0x1f205f9c8 _pthread_exit + 80
6   libsystem_pthread.dylib       	       0x1f205de30 pthread_exit + 56
7   libdispatch.dylib             	       0x1b15bc224 dispatch_main$VARIANT$armv81 + 120
8   terminusd                     	       0x100b4ab18 0x100a80000 + 830232
9   dyld                          	       0x100e57df0 start + 2096
Thread 1 name:   Dispatch queue: terminusd.main.root
Thread 1 Crashed:
0   NetworkRelay                  	       0x1ef5f2fcc _NRLogAbortWithPack + 64
1   NetworkRelay                  	       0x1ef5f2fc4 _NRLogAbortWithPack + 56
2   terminusd                     	       0x100b30e08 0x100a80000 [+ 724488](tel:+ 724488)
3   terminusd                     	       0x100b30c1c 0x100a80000 [+ 723996](tel:+ 723996)
4   libdispatch.dylib             	       0x1b15da7c8 _dispatch_client_callout + 16
5   libdispatch.dylib             	       0x1b15aaf40 _dispatch_once_callout + 28
6   terminusd                     	       0x100aefdec 0x100a80000 + 458220
7   terminusd                     	       0x100aef204 0x100a80000 + 455172
8   terminusd                     	       0x100aef0a4 0x100a80000 + 454820
9   libdispatch.dylib             	       0x1b15da7c8 _dispatch_client_callout + 16
10  libdispatch.dylib             	       0x1b15aaf40 _dispatch_once_callout + 28
11  terminusd                     	       0x100b4b2fc 0x100a80000 + 832252
12  libdispatch.dylib             	       0x1b15d9850 _dispatch_call_block_and_release + 24
13  libdispatch.dylib             	       0x1b15da7c8 _dispatch_client_callout + 16
14  libdispatch.dylib             	       0x1b15b5854 _dispatch_lane_serial_drain$VARIANT$armv81 + 604
15  libdispatch.dylib             	       0x1b15b6318 _dispatch_lane_invoke$VARIANT$armv81 + 432
16  libdispatch.dylib             	       0x1b15bed48 _dispatch_root_queue_drain + 328
17  libdispatch.dylib             	       0x1b15beb1c _dispatch_worker_thread + 248
18  libsystem_pthread.dylib       	       0x1f205c060 _pthread_start + 116
19  libsystem_pthread.dylib       	       0x1f205a688 thread_start + 8
Thread 2:
0   libsystem_kernel.dylib        	       0x1e32b9a94 __sigsuspend_nocancel + 8
1   libdispatch.dylib             	       0x1b15c08e0 _dispatch_sigsuspend + 44
2   libdispatch.dylib             	       0x1b15c08b4 _dispatch_sig_thread + 56
Thread 3:
0   libsystem_pthread.dylib       	       0x1f205a674 start_wqthread + 0
Thread 4:
0   libsystem_pthread.dylib       	       0x1f205a674 start_wqthread + 0
Thread 5:
0   libsystem_pthread.dylib       	       0x1f205a674 start_wqthread + 0
Thread 1 crashed with ARM Thread State (64-bit):
x0: 0x000000055cb06ff0   x1: 0x00000001a63827fa   x2: 0x00000002062cd5e8   x3: 0x000000055ca19527
x4: 0xfffffffba417c3ae   x5: 0x000000000000000a   x6: 0x0000000000000004   x7: 0x0000000000000027
x8: 0x0000000203445000   x9: 0x000000007fffffff  x10: 0x0000000209a89158  x11: 0x00ed000209a89159
x12: 0x0000000000249f00  x13: 0x6e6f697373655379  x14: 0x00000002062cd5e8  x15: 0x00000002062cd5e8
x16: 0x00000001b15a967c  x17: 0x00000001b15d9d58  x18: 0x0000000000000000  x19: 0x000000055ca194f0
x20: 0x000000055cb06ff0  x21: 0x0000000100b7da96  x22: 0x0000000100bb5000  x23: 0x0000000100bb9000
x24: 0x0000000000000000  x25: 0x0000000100bb4000  x26: 0x0000000100b845be  x27: 0x0000000100b845c1
x28: 0x00000002034454e9   fp: 0x000000016f406a10   lr: 0x00000001ef5f2fc4
sp: 0x000000016f406a00   pc: 0x00000001ef5f2fcc cpsr: 0x60000000
far: 0x0000000100b958ba  esr: 0xf2000001 (Breakpoint) brk 1
Binary Images:
0x1e32b1000 -        0x1e32e6fef libsystem_kernel.dylib arm64  <7798d964d97e320b99a295b63e0f882b> /usr/lib/system/libsystem_kernel.dylib
0x1b15fa000 -        0x1b1675ff7 libsystem_c.dylib arm64   /usr/lib/system/libsystem_c.dylib
0x1b1576000 -        0x1b15f9fff libdispatch.dylib arm64  <19f4cd59ab923ed49730174fa4b1468e> /usr/lib/system/libdispatch.dylib
0x1f2059000 -        0x1f2069fff libsystem_pthread.dylib arm64  <0f4eb3635df330d495d23ada3d3e82f2> /usr/lib/system/libsystem_pthread.dylib
0x100a80000 -        0x100b97fff terminusd arm64  <06359c3d0b293d5da4506993b37fea7f> /usr/libexec/terminusd
0x100e44000 -        0x100ebffff dyld arm64  <444f50414d494e45444f50414d494e45> /usr/lib/dyld
0x1ef5e9000 -        0x1ef643fff NetworkRelay arm64  <75db3b40b2c33f1eb95aae0109dd4219> /System/Library/PrivateFrameworks/NetworkRelay.framework/NetworkRelay
Error Formulating Crash Report:
dyld_process_snapshot_create_for_process failed with 5
EOF

Please try again in 2.0.9. terminusd crashes should be fixed now.

Please try again in 2.0.9. terminusd crashes should be fixed now.

Unfortunately, the 2.0.9 terminal still crashes
Incident Identifier: B591676D-7697-4958-B41C-B12B908CEF74
CrashReporter Key:   6b717b07bdb588a900459c2079de978b4241f9df
Hardware Model:      iPhone10,3
Process:             terminusd [32834]
Path:                /usr/libexec/terminusd
Identifier:          terminusd
Version:             ???
Code Type:           ARM-64 (Native)
Role:                Unspecified
Parent Process:      launchd [1]
Coalition:           com.apple.terminusd [4896]
Date/Time:           2024-03-01 08:08:18.8687 +0800
Launch Time:         2024-03-01 08:08:18.7150 +0800
OS Version:          iPhone OS 16.1.2 (20B110)
Release Type:        User
Baseband Version:    8.04.01
Report Version:      104
Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001ef5f2fcc
Termination Reason: SIGNAL 5 Trace/BPT trap: 5
Terminating Process: exc handler [32834]
Triggered by Thread:  1
Thread 0:
0   libsystem_kernel.dylib        	       0x1e32b9cd4 __semwait_signal_nocancel + 8
1   libsystem_c.dylib             	       0x1b161cf70 nanosleep$NOCANCEL + 212
2   libsystem_c.dylib             	       0x1b161a404 sleep$NOCANCEL + 48
3   libdispatch.dylib             	       0x1b15c07f0 _dispatch_queue_cleanup2 + 204
4   libsystem_pthread.dylib       	       0x1f205cb18 _pthread_tsd_cleanup + 616
5   libsystem_pthread.dylib       	       0x1f205f9c8 _pthread_exit + 80
6   libsystem_pthread.dylib       	       0x1f205de30 pthread_exit + 56
7   libdispatch.dylib             	       0x1b15bc224 dispatch_main$VARIANT$armv81 + 120
8   terminusd                     	       0x1040dab18 0x104010000 + 830232
9   dyld                          	       0x1044b3df0 start + 2096
Thread 1 name:   Dispatch queue: terminusd.main.root
Thread 1 Crashed:
0   NetworkRelay                  	       0x1ef5f2fcc _NRLogAbortWithPack + 64
1   NetworkRelay                  	       0x1ef5f2fc4 _NRLogAbortWithPack + 56
2   terminusd                     	       0x1040c0e08 0x104010000 + 724488
3   terminusd                     	       0x1040c0c1c 0x104010000 + 723996
4   libdispatch.dylib             	       0x1b15da7c8 _dispatch_client_callout + 16
5   libdispatch.dylib             	       0x1b15aaf40 _dispatch_once_callout + 28
6   terminusd                     	       0x10407fdec 0x104010000 + 458220
7   terminusd                     	       0x10407f204 0x104010000 + 455172
8   terminusd                     	       0x10407f0a4 0x104010000 + 454820
9   libdispatch.dylib             	       0x1b15da7c8 _dispatch_client_callout + 16
10  libdispatch.dylib             	       0x1b15aaf40 _dispatch_once_callout + 28
11  terminusd                     	       0x1040db2fc 0x104010000 + 832252
12  libdispatch.dylib             	       0x1b15d9850 _dispatch_call_block_and_release + 24
13  libdispatch.dylib             	       0x1b15da7c8 _dispatch_client_callout + 16
14  libdispatch.dylib             	       0x1b15b5854 _dispatch_lane_serial_drain$VARIANT$armv81 + 604
15  libdispatch.dylib             	       0x1b15b6318 _dispatch_lane_invoke$VARIANT$armv81 + 432
16  libdispatch.dylib             	       0x1b15bed48 _dispatch_root_queue_drain + 328
17  libdispatch.dylib             	       0x1b15beb1c _dispatch_worker_thread + 248
18  libsystem_pthread.dylib       	       0x1f205c060 _pthread_start + 116
19  libsystem_pthread.dylib       	       0x1f205a688 thread_start + 8
Thread 2:
0   libsystem_kernel.dylib        	       0x1e32b9a94 __sigsuspend_nocancel + 8
1   libdispatch.dylib             	       0x1b15c08e0 _dispatch_sigsuspend + 44
2   libdispatch.dylib             	       0x1b15c08b4 _dispatch_sig_thread + 56
Thread 3:
0   libsystem_pthread.dylib       	       0x1f205a674 start_wqthread + 0
Thread 4:
0   libsystem_pthread.dylib       	       0x1f205a674 start_wqthread + 0
Thread 5:
0   libsystem_pthread.dylib       	       0x1f205a674 start_wqthread + 0
Thread 1 crashed with ARM Thread State (64-bit):
x0: 0x0000000ba6907360   x1: 0x00000001a63827fa   x2: 0x00000002062cd5e8   x3: 0x0000000ba6908c47
x4: 0xfffffff55d81cc8e   x5: 0x000000000000000a   x6: 0x000000000000005d   x7: 0x0000000000000027
x8: 0x0000000203445000   x9: 0x000000007fffffff  x10: 0x0000000209a89158  x11: 0x00ed000209a89159
x12: 0x0000000000249f00  x13: 0x6e6f697373655379  x14: 0x00000002062cd5e8  x15: 0x00000002062cd5e8
x16: 0x00000001b15a967c  x17: 0x00000001b15d9d58  x18: 0x0000000000000000  x19: 0x0000000ba6908c10
x20: 0x0000000ba6907360  x21: 0x000000010410da96  x22: 0x0000000104145000  x23: 0x0000000104149000
x24: 0x0000000000000000  x25: 0x0000000104144000  x26: 0x00000001041145be  x27: 0x00000001041145c1
x28: 0x00000002034454e9   fp: 0x000000016be76a10   lr: 0x00000001ef5f2fc4
sp: 0x000000016be76a00   pc: 0x00000001ef5f2fcc cpsr: 0x60000000
far: 0x00000001041258ba  esr: 0xf2000001 (Breakpoint) brk 1
Binary Images:
0x1e32b1000 -        0x1e32e6fef libsystem_kernel.dylib arm64  <7798d964d97e320b99a295b63e0f882b> /usr/lib/system/libsystem_kernel.dylib
0x1b15fa000 -        0x1b1675ff7 libsystem_c.dylib arm64   /usr/lib/system/libsystem_c.dylib
0x1b1576000 -        0x1b15f9fff libdispatch.dylib arm64  <19f4cd59ab923ed49730174fa4b1468e> /usr/lib/system/libdispatch.dylib
0x1f2059000 -        0x1f2069fff libsystem_pthread.dylib arm64  <0f4eb3635df330d495d23ada3d3e82f2> /usr/lib/system/libsystem_pthread.dylib
0x104010000 -        0x104127fff terminusd arm64  <06359c3d0b293d5da4506993b37fea7f> /usr/libexec/terminusd
0x1044a0000 -        0x10451bfff dyld arm64  <444f50414d494e45444f50414d494e45> /usr/lib/dyld
0x1ef5e9000 -        0x1ef643fff NetworkRelay arm64  <75db3b40b2c33f1eb95aae0109dd4219> /System/Library/PrivateFrameworks/NetworkRelay.framework/NetworkRelay
EOF

weird, did you OTA update? does it still happen after reboot + rejb?

I'm not sure if OTA will be upgraded after too long I restarted my device and jailbroken terminusd, but it also crashed. But in version 2.0.6, I have never experienced a crash when using terminusd for a long time

This should be actually fixed now in latest nightly, please test.
https://nightly.link/opa334/Dopamine/actions/runs/8165294582/Dopamine.zip

Fixed in 2.0.10+


Only the depth module is recognized when the USB 3.0 cable is extended.

Required Info

Camera Model
D435

Firmware Version
0.508.15.00

Operating System & Version
Windows 10 (64 bit)

Kernel Version (Linux Only)

SDK Version
2.9.0

Hello.
I am trying recently released D435 and D415 with Intel RealSense Viewer v2.9.0. The cameras are improved very much from the previous models. Thank you very much for your invention.
The issue:
When I connected the camera with a USB 3.0 active extension cable (https://www.amazon.com/dp/B01FQ88CE6), the device manager recognize only depth module but not RGB module. Also, the Viewer call the connected device as Intel RealSense USB2 and can receive only low resolution depth streams (with a D415; a D435 does not work even for the low resolution depth).
Previously the extension cable works well with a R200, as long as I used relatively low resolution Depth (320x240) and RGB (640x480) streams. I would like to use a D435 in similar setting, to exploit its advantage in the minimum distance.
I need the extension for a multi-camera, 360 deg recording of aroud 1m3 space.
If I could have an intermediate option (The device recognition as low resolution RGBD for relatively weak USB 3.0), it must be really helpful.
Thank you very much in advance.

Make sure your RealSense Camera is in USB3 state instead of USB2 when it's enumerated.
Checkout this video for the USB extension for RealSense D400 series camera: https://www.youtube.com/watch?v=GLQgR1jT04M

Hi, Thank you for the useful information.
So you have special products designed for extending this type of USB3 cameras.
I have a few questions:

Do your extension work as well as the short 1m cable? (i.e, no frame drop and no spontaneous disconnection of the link)
If so, the stable connection could be kept for more than 2 hours of continuous recording?
Do you have a Japanese distributor?

Hi Matsumoto,
Yes we have 1m A to C or 1m A to C Dual Screw Locking available.
You can directly buy those cables from our ecommerce website: https://www.ntcdistributing.com/a-to-c/
Or purchase through our Japanese Distributor: http://www.viewplus.co.jp
We have been manufacturing industrial grade USB 3.1 and 3.0 cable for many years. Our products supply industry like Machine Vision and Medical Imaging where continuous frame drop free image streaming is a must.
Alan Li
Associate Product Manager
Newnex Technology Corp.
3041 Olcott St
Santa Clara, CA 95054, USA
t: +1<PHONE_NUMBER> ext 231
e<EMAIL_ADDRESS>http://www.newnex.com/ www.newnex.com
https://www.facebook.com/Newnex-Technology-Corp-138785369498793/ Facebook icon  https://twitter.com/Newnex Twitter icon  https://www.youtube.com/channel/UCOjDbQf-waOOX949CWTLPWQ Youtbue icon
From: Jumpei Matsumoto<EMAIL_ADDRESS>Sent: Thursday, February 22, 2018 2:57 PM
To: IntelRealSense/librealsense
Cc: Alan Li; Comment
Subject: Re: [IntelRealSense/librealsense] Only the depth module is recognized when the USB 3.0 cable is extended. (#1061)
Hi, Thank you for the useful information.
So you have special products designed for extending this type of USB3 cameras.
I have a few questions:

Do your extension work as well as the short 1m cable? (i.e, no frame drop and no spontaneous disconnection of the link)
If so, the stable connection could be kept for more than 2 hours of continuous recording?
Do you have a Japanese distributor?

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/IntelRealSense/librealsense/issues/1061#issuecomment-367851528 , or mute the thread https://github.com/notifications/unsubscribe-auth/AjCfhc3MqIGg73ZnLHcUQOFLeOzEweQ0ks5tXfDTgaJpZM4Ro_t- .Image removed by sender.

Hi Matsumoto,
Yes we do have 1m A to C or 1m A to C Dual Screw Locking available.
You can directly buy those cables from our ecommerce website: https://www.ntcdistributing.com/a-to-c/
Or purchase through our Japanese Distributor: http://www.viewplus.co.jp
We have been manufacturing industrial grade USB 3.1 and 3.0 cable for many years. Our products supply industry like Machine Vision and Medical Imaging where continuous frame drop free image streaming is a must.

Hi Matsumoto, we have stress tested all our solutions with the D435 camera. So far we haven't observed any frame drop issue. We have been manufacturing industrial grade USB3 connectivity solutions for many years. Our products supply industry like Machine Vision and Medical Imaging where continuous frame drop free image streaming is a must.
Right now since Type-C interface product is kind of new, you can directly purchase it from us through our website: www.newnex.com

Hi again,
Sorry I wanted to ask if your 20 m cable works as well as the 1m cable which is

Thank you for further information!
(Sorry for closing and opening the issue, it's just my errors)

Hello @MatsumotoJ,
Do you still need help with this issue?
Regards,
Jesus G.
Intel Customer Support

Hello Jesus,
The firmware support for "some sort of low-res depth+color mode", suggested by dorodnic is still very helpful (The high quality cable above might be a bit expensive for people using our open source full-3D recording system with more than 4 cameras).
I hope that you would consider adding the function to the firmware.
You can close the issue if you want.
Thank you,
Jumpei

Anyone had any success using a 5m passive extension cable or active? newnex's site require an inquire and are not based in EU (so long shipping), I've considered to get this cable but if someone already tested a 5 meter passive and or active extender from a third-party, please share your experience!

[Realsense Customer Engineering Team Comment]
Thank you all for your suggestions for extended cabling, please consider this specific issue now closed.
If you wish to make a general posting for community input please consider using the community pages, https://communities.intel.com/community/tech/realsense. For @Q40, you may find more specific help on the Logitech support site.
If you have other specific issues or wish to follow up on this one, please feel free to open a new issue.

Hi again,
The following 3m cable worked with D435 and D415: https://www.amazon.com/dp/B01MZIPYPY
I think that I can work with the cables for 360 degree recording by putting the PC below the floor of the recording space.
However the firmware support is still very helpful for more flexible arrangement of devices.
Thanks!

Hi
I am using a a D435 and would like to record color+depth stream 640x480 at 60fps. Atleast 30 fps. Could you please let me know the rates you got ?

Hi srp-31,
Here the cable looks working for the setting with one D435:

Note I tested only for a few minutes.

Hi Matsumoto
Thank you for the quick reply. I had another camera (Logitech Brio) which has a long USB ccble. I was able to get the required performance with it.

@TheMikeyR how was your experience with active extension cable? is it working?

@npd26 Sorry for late answer, It didn't work with the extension cable I've linked above, but I've used a Deltaco USB3-1002 (rev 6) cable which is a 5m extension. Works great with no issues, and it gets power through the usb-port, so no need for external power.

thank you for the answer. I am looking since 1 week in Germany, which cable will work with realsense D435.

@npd26 Sorry for late answer, It didn't work with the extension cable I've linked above, but I've used a Deltaco USB3-1002 (rev 6) cable which is a 5m extension. Works great with no issues, and it gets power through the usb-port, so no need for external power.

For others working with this issue, when I used D435 and D435i with the 5m "extension cable similar to you linked above", Realsense viewer sees cameras as connected from USB 2 port. However when i try to connect it with a powered usb hub (TP-Link 7-Port USB 3.0) it works well and viewer sees cameras connected as USB 3 port.


Fixed compilation, wrong type was used

the proper type is Specs, not IO Specs

Looks like I forgot to update the documentation. Good catch moa-91!


It doesn't show any games

It was working succesfully when i downloaded first (probably like 1-2 year ago) but now it just doesn't show any games. Only shows a thing named "Spacewar" without any image after few minutes.

Refer to #152.

Thanks m8


How does fire button work ?

Reading the issues, it appears a fire button should appear when touching the right of the screen. The thing is when touching the right of the screen, the joystick appears and not the fire button.
I'm initializing virtualjoystick like this:
joystick = this.joystick = new VirtualJoystick({
container	: document.getElementsByClassName('main')[0],
mouseSupport	: true,
});
Is there anything else to do to have the firebutton ? How do I listen for firebutton presses ? Is there an equivalent to joystick.left() ? Maybe joystick.fire() ?
Thanks for the help.

There isn't a built in fire button.  You need to create a second joystick, constrain it's stick radius to 0, and use the touchstart event listener to detect touch events on that joystick.  In that touchstart event listener, you'd then add whatever code you have to fire whatever you're looking to fire.
Look at https://github.com/jeromeetienne/virtualjoystick.js/blob/master/examples/dual.html to get a start on this.


api/cloud: drop v1 API

It's deprecated and not used anywhere, let's just drop it.
Signed-off-by: Ondřej Budai<EMAIL_ADDRESS>This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

Ah, good catch, thanks! :)


Documentation for Authentication

Custom headers and additional args using string interpolation
Use YouTrack as an example

I would be quite interested how I can implement a central authentication (or receive a bearer and forward it to all services that require authentication)... Is there already an example somewhere?

You can check examples directory;
https://github.com/Urigo/graphql-mesh/tree/master/examples


Change events don't work reliably in general

There are many issues with the same root-cause of change events aren't sent in general, or contain incorrect data.  We don't really need more reports of different areas, it can affect any of the hundreds of types.
rancher/dashboard#1339     CIS
rancher/dashboard#1315     Schemas/missing links
rancher/dashboard#1266     Namespaces
rancher/dashboard#1246     Backup
rancher/dashboard#1065     Configmaps/counts
rancher/dashboard#1012     Deployments
rancher/dashboard#371     Gatekeeper constraints

On master-head - commit id: 27000be7e
State of CIS scans do not change. Refresh of the page is required

CIS scan state change work sometimes and sometimes it does not.

There is an UI part that needs to be fixed also before moving this to test.

UI PR: https://github.com/rancher/dashboard/pull/1534

On master-head - commit id: d4b3bc89
Still seen as an Issue:

State of CIS scans do not change. Refresh of the page is required
https://github.com/rancher/dashboard/issues/1266 is also reproducible

Reopening this issue

@sowmyav27 Can you try to reproduce again and capture the websocket messages in network Tab of devTools

On master-head - commit id: d4b3bc89

CIS scan state change works sometimes. When it works notice resource.create calls in WS messages tab (dev tools). When state of cluster scan does not change - WS messages do not contain resource.create for resourceType:"cis.cattle.io.clusterscanreport"
Create namespace --> No WS messages related to resource.create seen for namespace creation.

Found & fixed another issue which explains the randomness a lot easier than the edge cases we previously fixed with the server side and what happens in error conditions.
If you switch clusters, the dashboard closed the connection to the old cluster like it's supposed to, and opened a new connection...  But still to the old cluster, not the new one.  So if you switch clusters, no events until you reload the page.

On master-head - commit id: cb9e8a105c1

State of cluster scan does not change - WS messages do not contain resource.create for resourceType:"cis.cattle.io.clusterscanreport"
Create namespace --> No WS messages related to resource.create seen for namespace creation.

Majority of the use cases for change events have been identified. Please make a new issue for the specific change event going forward.
@sowmyav27 Can you make a new issue for the cluster scan one that you last commented and reopened this issue for.

On 2.5-head commit id: 71da1569
Issues seen fixed:

https://github.com/rancher/dashboard/issues/1266
https://github.com/rancher/dashboard/issues/1246
https://github.com/rancher/dashboard/issues/1065
https://github.com/rancher/dashboard/issues/1012 --> goes from Updating to Active state

Logging separate issues for:

https://github.com/rancher/dashboard/issues/371 - Logged issue


Not able to export

Not able to export. When going to print, the resume is cut off on the sides.

Same here, cant export using the single or multi page feature and when I print, I simply get a vertical strip of the CV.

@HotBlack77 Could you share some more information about which browser you are using? I'm not completely sure why, but the browser has some differences in the way it's calling the cloud function, or downloading the file. Your diagnosis could prove helpful to me in solving this :)

I was trying on a slighlt earlier version of chrome, but today both chrome (version 89.0.4389.82) and Edge (89.0.774.45) work fine. Hwoever, there is quite a long delay between clicking export and the download of the PDF starting (som sort of user feedback during this might be helpful).


DataFrame.iplot doesn’t work correctly with TimeDeltaIndex

Hello,
I noticed that DataFrame.iplot doesn't work correctly with TimeDeltaIndex.
Here is code
import pandas as pd
pd.set_option("max_rows", 10)  # affichage limité à 10 lignes

# import plotly.plotly as py
# import plotly.graph_objs as go
from plotly.offline import iplot, init_notebook_mode

import cufflinks as cf
cf.go_offline(connected=True)
init_notebook_mode(connected=True)

N = 3
rng = pd.timedelta_range(start="0h", freq="15min", periods=3)
df = pd.DataFrame({"a": [1,2,3], "b": [1,3,2], "c": [4,5,6]}, index=rng)
# df.index = df.index.total_seconds() / 60  # convert TimeDelta to minutes
df.iplot()

and a screenshot

You can notice that x-axis is not displayed correctly.
A workaround can be to convert to minutes using
df.index = df.index.total_seconds() / 60

or to Timestamp
df.index = df.index + pd.to_datetime(0)

Kind regards
PS : sorry but I think I probably did a mistake by posting at https://community.plot.ly/t/dataframe-iplot-doesnt-work-with-timedeltaindex/24692 ...
I think I should have post here

Related issue https://github.com/plotly/plotly.py/issues/799


Is it possible to handle headers with __float128?

Discussed in https://github.com/JuliaInterop/Clang.jl/discussions/508

Originally posted by amontoison August 30, 2024
Some Fortran libraries, like CUTEst, can be easily compiled in quadruple precision with the gfortran compiler.
The associated type in the header file to call the routines from C is __float128 and is equivalent to Float128 (implemented in Quadmath.jl).
It will be a nice feature to add an option to generate Julia wrappers for this precision. We just need to add using Quadmath at the top of the generated file if Julia wrappers can be generated.
I have a package where I need to write these additional wrappers by hand:

https://github.com/JuliaSmoothOptimizers/CUTEst.jl/tree/main/gen
https://github.com/JuliaSmoothOptimizers/CUTEst.jl/blob/main/src/libcutest.jl

https://github.com/JuliaInterop/Clang.jl/blob/9c77fd6b4982c8b34c21a64748aea2664409206e/src/generator/jltypes.jl#L145


How could someone use rodi in web frameworks other than BlackSheep

I am trying to integrate rodi with FastAPI but I am not sure how should I approach to the problem.
Is there any example? Flask or any other web framework example would also help

@aeb-dev
I'm creating a library using Rodi and FastAPI. Although it might be overkill for what you're asking, you can see how I implemented and combined them here if you have the time to go through the code haha:
https://github.com/lucas-labs/pest/blob/master/pest/core/module.py

Thank you @lucas-labs. We actually inspired from your project to achieve what we want. Thanks for the idea!

We integrated Rodi into FastAPI via a custom middleware, and to Strawberry via a SchemaExtension.  To not interfere with either framework we use wrappers to remove the autowired parameters from what the frameworks see.  Strawberry specifically isn't friendly to this process.


Fixed bullet scale on get_transform and joints

Fixed bullet scale on get_transform and joints

I really need this fix, please @reduz check it

do changes work the same in godot physics ?

Yes, but don't merge it in this moment because I have to fix more

@AndreaCatania Is this now ready to merge?

Yes merge it I'll fix others things in another PR


inbuild console text is unreadable

VSCode Version: Code 1.19.3 (7c4205b5c6e52a53b81c69d2b2dc8a627abaa0ba, 2018-01-25T10:25:01.248Z)
OS Version: Darwin x64 16.7.0
Extensions:

Extension
Author (truncated)
Version

vscode-docker
Pet
0.0.24

jsx
Twe
0.0.1

vscode-wakatime
Wak
1.1.22

vscode-babel-coloring
dza
0.0.4

tslint
eg2
1.0.28

vscode-clang
mit
0.2.2

cpptools
ms-
0.15.0

vetur
oct
0.11.7

Steps to Reproduce:

sometimes when i open my editor terminal, the text changes to some unreadable format. the only way to get rid of it is to restart the editor.

Reproduces without extensions: Yes/No

can you please post a screenshot?

This will be fixed in v1.21 which will come out in around a week.

Actually you may be seeing an issue that was fixed in 1.20, you should upgrade now.


Develop a bot

Can you develop a specific bot?

Can you develop a specific bot?
Yes

How can i contact you? RICHWAYS

Can you develop a specific bot?
Yes

How can I contact you

Can you develop a specific bot?
Yes

KUNTA-KINTE#7306 DM me on discord dude


Gauge 2way sync

Description
Gauge 2way sync implemented
Issues Resolved
#1012 Gauge 2Way sync

Codecov Report

Merging #1048 (cbbb10a) into main (08a8d82) will decrease coverage by 0.05%.
The diff coverage is 12.30%.

@@             Coverage Diff              @@
##               main    #1048      +/-   ##
============================================
- Coverage     54.31%   54.26%   -0.06%
  Complexity      291      291
============================================
  Files           277      277
  Lines          9106     9117      +11
  Branches       2034     2037       +3
============================================
+ Hits           4946     4947       +1
- Misses         3990     4000      +10
  Partials        170      170

Flag
Coverage Δ

dashboards-observability
48.28% <12.30%> (-0.07%)
:arrow_down:

opensearch-observability
71.87% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../common/query_manager/ast/builder/stats_builder.ts
0.00% <0.00%> (ø)

...mmon/query_manager/ast/expression/AggregateTerm.ts
0.00% <0.00%> (ø)

...bility/common/query_manager/ast/expression/span.ts
0.00% <0.00%> (ø)

...helpers/ppl_docs/language_structure/identifiers.ts
100.00% <ø> (ø)

...anes/config_controls/config_panel_option_gauge.tsx
10.52% <0.00%> (-1.24%)
:arrow_down:

...ponents/visualizations/charts/helpers/viz_types.ts
33.68% <ø> (ø)

...ts/visualizations/charts/financial/gauge/gauge.tsx
27.39% <13.63%> (-2.19%)
:arrow_down:

.../public/components/event_analytics/utils/utils.tsx
50.00% <20.00%> (-1.08%)
:arrow_down:

...hboards-observability/common/constants/explorer.ts
100.00% <100.00%> (ø)

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


Implement API Routes for any model output type

This PR is related to #42.
In this PR, I complete implementation of the model server with API routes supporting for both json weight and archived model under the same format of request.
flowchart LR;
   exporter -- model request in json --> model-server
   model-server -- model weight in json --> exporter

example response:
{"cache_miss": 1, "cpu_cycles": 1, "cpu_instr": 1}

flowchart LR;
   exporter -- model request in json --> model-server
   model-server -- model weight per component in json --> exporter

example response:
{"core": {"cpu_cycles": 1, "cpu_instr": 1}, "dram": {"cache_miss": 1}}

flowchart LR;
   exporter -- unix.sock --> estimator -- model request in json --> model-server
   model-server -- archived folder of model in zip --> estimator

example response:
tests/download/
└── AbsPower
    ├── KerasLR_Full.h5
    ├── core.h5
    ├── dram.h5
    ├── merge.pkl
    └── metadata.json

The model request is mainly composed of list of available metrics, requested output type.
In addition, we can specified specific model name or add the filter string which will be pared by this filter parser.
class ModelRequest():
    def __init__(self, metrics, output_type, model_name="", filter=""):
        self.metrics = metrics
        self.model_name = model_name
        self.filter = filter
        self.output_type = output_type

The model will be automatically selected here.
Check example usage in model_server_test.py

Also if we are going to be archiving model, should we use SavedModel instead?

Also if we are going to be archiving model, should we use SavedModel instead?

Sure. You can save to any format in the pipeline train function. We just have to support that in the kepler-estimator.

Sorry for updating all changes at the same amend.
I update the following changes.

use previously-implemented return_model_weights to get weight json. However, combined core and dram to a single return for AbsComponentModelWeight type model.

{"core": {"All_Weights": {"Numerical_Variables": {"cpu_cycles": {"weight": -2.709056854248047, "mean":<PHONE_NUMBER>.0, "variance": 6.718171076850876e+18}, "cpu_instr": {"weight": 4.264798641204834, "mean":<PHONE_NUMBER>.0, "variance": 4.049098354087428e+18}, "cpu_time": {"weight": 0.20845267176628113, "mean": 168149.25, "variance": 119128200.0}}, "Categorical_Variables": {"cpu_architecture": {"Sandy Bridge": {"weight": 0.5169816613197327}, "Ivy Bridge": {"weight": -0.10627192258834839}, "Haswell": {"weight": 0.10388034582138062}, "Broadwell": {"weight": 20.83293914794922}, "Sky Lake": {"weight": -0.32286643981933594}, "Cascade Lake": {"weight": -0.006997883319854736}, "Coffee Lake": {"weight": 0.5498881936073303}, "Alder Lake": {"weight": -0.18849200010299683}}}, "Bias_Weight": 21.37813377380371}}, "dram": {"All_Weights": {"Numerical_Variables": {"container_memory_working_set_bytes": {"weight": -14.61004638671875, "mean": 217088.0, "variance":<PHONE_NUMBER>32.0}, "cache_miss": {"weight": -10.457398414611816, "mean": 8926177.0, "variance":<PHONE_NUMBER>2240.0}}, "Categorical_Variables": {"cpu_architecture": {"Sandy Bridge": {"weight": 0.6605328917503357}, "Ivy Bridge": {"weight": 0.4871968626976013}, "Haswell": {"weight": -0.32830944657325745}, "Broadwell": {"weight": 28.224138259887695}, "Sky Lake": {"weight": -0.15247410535812378}, "Cascade Lake": {"weight": -0.019185900688171387}, "Coffee Lake": {"weight": 0.037583351135253906}, "Alder Lake": {"weight": -0.16830193996429443}}}, "Bias_Weight": 27.499914169311523}}}

similarly update to Sample in AbsModelWeight

change from .h5 to SavedModel (tf format)

remove unnecessary remove when archiving model


SW-4986: Search and filters (FE - Cohorts List updates)

This PR includes adds a CohortsTable component with search and filtering functionality.
Examples
Before

After

Demo
https://github.com/terraware/terraware-web/assets/1474361/416760ed-bd46-4a8d-935a-181a32982ff6

Hmm I swore this was working on Friday, but I just noticed it isn't working as expected now. Will fix.


arrow orientation on first popup opening fix

https://github.com/material-extended/mde/issues/28

@kostia-lev
Thank you very much for the pull request.
I will review this tomorrow and update you, it should be merged this week :)

For faster response try to ping me using @joejordanbrown so I receive an email notification to my inbox.

Why this was not validated ? Many people are waiting for this fix !

@kostia-lev @kevinLourencoDev
Sorry about the delay. I was working on testing this before but I was then pulled back on to an emergency job and never managed to get back on to this until now.
@kostia-lev I've tested and I'm happy to merge this into master. Thanks again for the pull request 👍

LGTM


ci: switch to pre-commit.ci as style check

pre-commit.ci seems to be quite a bit faster than the existing GitHub Actions workflow and also fixes formatting issues.
Not sure how well it works with local hooks. Would also be nice to switch off autoupdate, so that this can be combined with the automatic PRs for requirement pinning.

Does not work well with local pre-commit hooks


🚩 HMR Dublicate content 🚩

Describe the bug
Hi. I have 100% one component with uniq key
<BlogInfoLine :key="post.blogPostId"></BlogInfoLine>
after i change anything inside i get dublicate content (watch video).
i try restart VSC and browser - nothing.

On browser Vue plugin show that is One component

On html sctucture see that root element dont dublicate but internal side by side dublicated

Reproduction
big work say that i can show
System Info
Binaries:
    Node: 17.3.1 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.15 - C:\Program Files (x86)\Yarn\bin\yarn.CMD
    npm: 8.3.1 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 96.0.4664.110

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

where can i find online IDE with vite for reproduction ?

Im REPRODUCE!

open
https://stackblitz.com/edit/vitejs-vite-kbmubr?file=vite-project%2Fsrc%2Fcomponents%2Fx.vue&terminal=dev
ctrl+c
cd vite-project/
npm i
vite

take start:

change anything in file x.vue

take dublicate

@devopg move the vite.config.ts file one level up, you've it on src

@userquin you miss point '3', read again;
vite config in root level  folder 'vite-project'

Just open your link, the dev server will fail

@userquin
press refresh btn 2-3 times . its problem server .

@devopg https://stackblitz.com/edit/vitejs-vite-9gsmsc, just check the .stackbliztrc file, now the dev server starts without refreshing (your link not working on my browser).

@devopg it seems the problem is with the missing url on the img: I update my previous repro to include the vite logo and it is working now, once change span text there is no duplicated entries

If you're using assets images you must import it to get the url, if you want to use images directly you must add it to the public directory and then use /xxx.ext, check https://vitejs.dev/guide/assets.html#importing-asset-as-url and https://vitejs.dev/config/#publicdir respectively

man @Niputi  give me link to this service. i dont know how right use him. i Create sub folder and create clear project , run vite instanse from new folder. all work fine - problem reproduce! If you are worried about some extra unused files - recreate and give link.

@devopg can you reproduce the problem on my repro? it is working on my repro.

@userquin give me link to your repo (only on online tools \ ide) i easy can reproduce again

https://stackblitz.com/edit/vitejs-vite-9gsmsc

@devopg you don't need to execute nothing, I added the rc config file to start it

I change some names on App.vue, using of instead in on the loop

@userquin easy ! take it!

6 month left, any news ?

Closing as this was an upstream bug (https://github.com/vuejs/core/issues/7138) and the fix is coming.


Adding class to non-active collapse-toggle

Hey there,
I am currently enjoying your simple yet effective script, thanks. I stumbled however upon something I'd like to have implemented, maybe that's a possible enhancement, so here's the deal:
Could we add a class to the collapse-toggle whose content isn't active? I see this is kinda what's to be achieved by having collapse-text-show and -hide, but not quite the same. I'm toggling with images and don't want them to be included twice .. but asking doesn't cost anything, right?
Cheers and keep up the good work,
I love many of your scripts.
S1SYPHOS

Not sure I follow what it is you're trying to accomplish. That collapsed element is already not visible, so what would be gained from having a class indicating such? Any content in there is hidden already.
All that said, the .active class already provides a way for you to target selectively:
.collapse {
    /* Styles when hidden */
}

.collapse.active {
    /* Styles when visible */
}

I mean the toggle itself (.collapse-toggle), not the content (.collapse). As soon as a toggle is clicked there's no way to distinguish between the one with the active class and the one that wasn't clicked. In some use cases the result you want to accomplish for the general .collapse-toggle differs from .collapse-toggle.active AND .collapse-toggle.inactive.

Ah, ok. I get it now. Sounds like you want three states:

Never clicked.
Clicked and active.
Clicked and inactive.

This can be done today using the callback option in the Houdini API:
houdini.init({
    callback: function ( toggle, contentID ) {

        // If toggle is now active, remove the .inactive class
        // Otherwise, add the .inactive class
        if ( toggle.classList.contains( 'active' ) ) {
            toggle.classList.remove( 'inactive' );
        } else {
            toggle.classList.add( 'inactive' );
        }
    }
});


Chacha20 support

Chacha20 is supported, but Chacha20-ietf is not supported since I can't find it in bc.

Waiting for BC support this.


Add Zeus support

See https://github.com/CartoDB/cartodb/issues/11643

One (newbie) question, are we using spring? I was told that spring was the milk.

Spring is for Rails 4.2+ only, as it does a lot of rails specific magic. Zeus is a very similar idea, but works with any ruby program, so we can use it with our Rails version. Otherwise, they are both pretty much the same thing (preloading the environment and then forking processes). From the alternatives I researched, Zeus seemed the better suited for our use case since it's more flexible and easier to combine with our parallel testing setup.


Rename import/export values to 'energy' instead of 'power'

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
Resolves #53

What is the current behavior? (You can also link to an open issue here)
Import/export values are named with power

What is the new behavior (if this is a feature change)?
Renamed default names for import/export values to energy
Also updated capitalization.

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
As the API name is not renamed, it shouldn't break. Home Assistant should take care of the renamed entity

Closed this one because lot of files were commited that shouldn't be there and force-push is a bad idea.