Hovering effect enhanced

Related Issue
[Cite any related issue(s) this pull request addresses. If none, simply state “None”]
Fixes:  #684
Description
The hovering effect over book now is changed
#684
Type of PR

[ ] Bug fix
[x] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
Before
https://github.com/user-attachments/assets/b6bd83af-f37f-40d6-afdb-b61db97d31fa
After
https://github.com/user-attachments/assets/dc669eb0-287c-4f69-8126-a26cccc3064d
Checklist:

[x] I have made this change from my own.
[ ] I have taken help from some online resources.
[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers and screenshots after making the changes.

@Son7c Your pull request has been successfully merged! Don't stop here—continue contributing by addressing more issues and aiming to become a top contributor. Exclusive swag awaits for those who go the extra mile!
Great contribution to GSSOC'24 EXTENDED! 🎉


fix(wallet): use selector for sending payments

Description:
Use selector for sending payments
Motivation and Context:
Entries in sendingPayments state are not suitable for direct display. We use a selector to decorate them with additional/missing information but that selector was not being used.
How Has This Been Tested?
Manually - make a ln payment and verify app doesn't crash after clicking send
Types of changes:
Bug fix
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Coverage remained the same at 20.23% when pulling fbf8c46b5120dbcad57a275078b58b6dc1db92d0 on mrfelton:fix/payments-sending into a3aed2b665c723459d8fa3aa796f1cb7b7e781de on LN-Zap:next.


Consistent orm object usage

Codecov Report

:exclamation: No coverage uploaded for pull request base (fix-sqlalchemy-object-saving-issue@f7fb43c). Click here to learn what that means.
The diff coverage is 100%.

@@                          Coverage Diff                          @@
##             fix-sqlalchemy-object-saving-issue     #279   +/-   ##
=====================================================================
  Coverage                                      ?   57.19%
=====================================================================
  Files                                         ?       40
  Lines                                         ?     3357
  Branches                                      ?      394
=====================================================================
  Hits                                          ?     1920
  Misses                                        ?     1337
  Partials                                      ?      100

Impacted Files
Coverage Δ

vmpool/clone.py
44.15% <ø> (ø)

core/db/models.py
74.27% <100%> (ø)

vmmaster/webdriver/commands.py
68.47% <100%> (ø)

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 f7fb43c...f7df7da. Read the comment docs.

!test

!test

!test


[Tests] Add check for argument name validity

Checks that all method and signal arguments have valid names
Put it individually as it'd otherwise involve further checks with the @varargs@ special markers etc. which makes it a bit more messy
See:

https://github.com/godotengine/godot-cpp/issues/1536

I'd say a check in unit tests should suffice, but we could add checks in the API dump as well but we'd need to add some more for class, method, and signal names etc., which would double with the unit tests so I'd say the unit tests should cover the API

Will move to the arg check and add the vararg check to prevent issues with empty cases, will push once CI is done

This is a good fix.
I think the only thing that could be added is checking against reserved C++ keywords, but at least those should compile error for godot-cpp.

C++ keywords are already sanitized in godot-cpp:
https://github.com/godotengine/godot-cpp/blob/f2b521f55a0a2ba7080418ba898b97028da6134a/binding_generator.py#L2775-L2795


Implement OS settings dark mode

Attempt: isDarkMode as derived from darkModeSetting.
Outcome: failed
It seems that Svelte caches the results of derived. As such, when darkModeSetting doesn't change, the return value remains the same without going through the calculation logic, although this also depends on window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches.


Feat: Swiper in the companies

Describe the feature
Hey i would  like to add the swiper functionality in the company  section so that it looks  more beutiful and engaging rather than all messed up in one places , by this we add any amount of cards which  add additonal info to user .
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

what changes you want to do @namandude ?


Add benchmark script

It would be great to have some form of integration-level benchmark script that we can use to make sure changes to this library are not slowing things down.
I've used https://github.com/evanphx/benchmark-ips in the past, but am open to other options as well.

The following might be examples of how to implement:
https://github.com/rom-rb/rom/blob/master/core/rakelib/benchmark.rake
https://github.com/rom-rb/rom/blob/master/core/benchmarks/basic_bench.rb
https://github.com/rom-rb/rom/blob/master/core/benchmarks/setup.rb

The tricky part here is that we need to boot a rails app to render the components and compare them with partials. Maybe then parse the logs to have the actual benchmark results. Will try to take a look at some point this week if no one else is on it


Ability to leave out the “data: {}” object when using PrismaClient

In prisma 1 you would do prisma.createUser({ args.email })  it seems the way to do it in prisma 2 is  prisma.user.create({ data: { args.email }) . It’s a small thing but it would be nice to have the data object be inferred under the hood. Just like prisma 1 does it. is that a possibility for prisma 2?

Thanks a lot for raising this issue. This will be addressed by some upcoming Client API improvements discussed here: https://github.com/prisma/specs/issues/356


Harney Peak in South Dakota

Hi,
In SW South Dakota in the Stamen Topo map, Harney Peak should be labeled as Black Elk Peak.
Apparently, this is a sensitive topic locally.

Dupe of https://github.com/stamen/terrain-classic/issues/124


socket/SOL: sync the SOL index with linux

Summary
socket/SOL: sync the SOL index with linux
Testing
CI check is enough

@PetervdPerk-NXP Could you please review?

@anchao is there any benefit to be "sync" with linux?

i suspect dense numbers are easier for compilers to optimize switch statements.

@anchao is there any benefit to be "sync" with linux?

Unsynchronized options will cause some compatibility issues,
for example:
setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, &mreq, sizeof(mreq));
int psock_setsockopt(FAR struct socket *psock, int level, int option,
                     FAR const void *value, socklen_t value_len)
...
      case SOL_IP:    <--
        ret = ipv4_setsockopt(psock, option, value, value_len);
        break;
....

this option configure will be failure since IPPROTO_IP and SOL_IP are different definitions in NuttX,
if we want to be fully compatible with posix applications, the experience of adopting Linux will be a good choice.

ok. sync with IPPROTO_ makes sense.
actually, shouldn't we just remove all SOL_ constants except SOL_SOCKET, and use IPPROTO_ constants instead?

ok. sync with IPPROTO_ makes sense.
actually, shouldn't we just remove all SOL_ constants except SOL_SOCKET, and use IPPROTO_ constants instead?

Done, please help to review the following PR:
https://github.com/apache/incubator-nuttx/pull/1291
https://github.com/apache/incubator-nuttx-apps/pull/311

LGTM


Whitelisting not working

https://github.com/Bawnorton/AllTheTrims/wiki/Whitelisting
Following this wiki page, I tried enabling a whitelist.
When the whitelist is not ignored even vanilla mats don't work.
The file and folders with this address (*\Modpack\data\allthetrims\tags\items\whitelist.json) weren't there.
When I added them manually and pasted the example code in the whitelist file I couldn't use the example minecraft:stone to work either.
After every change I restarted Minecraft entirely just to make sure it had it's time to load. Is this a bug or am I doing something wrong?
I'm playing on the newest version of the mod.

I haven't actually tested the whitelisting system in a while, so I may have broken it at some point. I'll give it a look when I'm not busy.

I can confirm that the whitelist still isn't working. I first tried adding the whitelist with no items/one item, but it broke the trim entirely and nothing could be trimmed. Then, I tried adding all the vanilla, modded, and datapack items I have on my game to the whitelist. This was, really weird, as half of them don't render and half of them do. The modded items were the smallest sample size at 3 and they all were included as trim already so I don't know why they had no texture. Half the vanilla trims had not texture, and half the datapack items (which were vanilla but not vanilla trim) worked though.
All of the items that weren't missing texture blocks also had no dynamically rendered item texture from Dynamic Trims either.

I'm gonna can the whitelisting, it doesn't really fit with the mod and is proving to be quite the headache to fix with the limited amount if time I have at the moment.
Sorry, I may come back to it in the future but it's pretty low on my list of priorities atm as very few people are actively using it.

Ah, that's rough. I think that the whitelist feature was nice because it separated two parts of what the mod accomplishes, making everything a trim but also automatically making trim textures and working with modded armor and armor trims. The whitelist helped to isolate that latter part, and now that it's being discontinued it looks like there isn't really anything that has that feature in the current ecosystem.
I hope you're able to figure it out when you have more time/motivation to throw at a smaller part of the mod like this, although it's not useful for the general public it's definitely invaluable for pack makers at any level
Either way, I do appreciate the work that went in trying to get the feature functional


Send local video to chromecast

Is there anyway using pychromecast to stream a file on the local filesystem to the chromecast using pychromecast? If not, which protocol needs to be implemented to do that? Because the chromecast is capable of doing this.
This would enable my cast command line tool to do:
cast send file:///home/user/videos/holyvideosbatman.mp4

Which would be awesome!

Marked it as a wontfix.
The goal for PyChromecast is to offer a library that implements the Google Cast protocol. Serving video is therefore out of the scope of this project.


Uninitialized pointers used in code overwrite memory at 0x00000000 in memory

I had created code that remaps the PICs so code in BIOS32 could run (and restore them after) with interrupts on while in real mode when I discovered some serious issues with memory at 0x00000000 being overwritten with garbage. I discovered that in a number of places in the code you don't assign an address to a pointer and most often that results in memory at 0x00000000 being written to. In other places you assign a pointer not with allocated memory but with NULL values. All these possible bugs can add up to unusual behaviour potentially occurring.
The most prevalent place to observe this is in is terminal.c. Find the occurrences of char *s = {0}; and char *str = {0}; . This set s to NULL(0) and then you use that memory (with a strcpy). You'd normally have to allocate memory but in the 2 cases in terminal.c the code can be simplified.
This existing code in terminal.c:
// %s is for strings (or address of).
case 's': {
    const char *c = va_arg(args, const char *); // Char promotes to integer, and we're trying to get the address of the string.
    char *str = {0}; // The array where the character will go.

    strcpy(str, (const char *)c); // Copy c to str (dest is the first parameter)

    if (!print(str, strlen(str))) return -1; // Print error!

    charsWritten++; // Increment charsWritten
    i++; // Increment i.
    break;
}

Can be replaced with:
// %s is for strings (or address of).
case 's': {
    const char *c = va_arg(args, const char *); // Char promotes to integer, and we're trying to get>
    if (!print(c, strlen(c))) return -1; // Print error!

    charsWritten += strlen(c); // Increment charsWritten
    i++; // Increment i.
    break;
}

and:
// %s is for strings (or address of).
case 's': {
    const char *c = va_arg(args, const char *); // Char promotes to integer, and we're trying to get the address of the string.
    char *s = {0}; // The array where the character will go.

    strcpy(s, (const char *)c); // Copy c to str (dest is the first parameter)

    for (int i = 0; i < strlen(s); i++) {
        put_method(s[i]);
    }
    charsWritten++; // Increment charsWritten
    i++; // Increment i.
    break;
}

Can be replaced with:
// %s is for strings (or address of).
case 's': {
    const char *c = va_arg(args, const char *); // Char promotes to integer, and we're trying to get>
    for (int i = 0; i < strlen(c); i++) {
        put_method(c[i]);
    }
    charsWritten += strlen(c); // Increment charsWritten
    i++; // Increment i.
    break;
}

In this case I removed strcpy altogether and just use the const *c directly. As well you will notice I properly update charsWritten with the actual number of characters printed (as you just added 1).  You may wish to look at all the places where you output more than one character and add the appropriate number of characters written. I noticed this in cases where itoa is called and charsWritten is not updated correctly with the actual number of characters written.
Two other places where a pointer isn't initialized and writes are made to 0x00000000 occur. In processor.c you have static cpuInfo_t *processor_data; . This pointer is never initialized anywhere with kmalloc for example or your code could use static cpuInfo_t processor_data; to allocate the memory in global memory. Then all places you use processor_data-> would become processor_data. . You have a similar problem with sse5_Data in the processor_data structure.. sse5_data is defined as a pointer but it is never initialized to allocated memory. In ide_ata.c a similar issue with ataRoot. You do fsNode_t *ataRoot; but this pointer is never set to initialized memory before being used.
There is a potential use of framebuffer before it is initialized in pit.c . This code:
// PIT timer interrupt handler
void pitIRQ() {
    pitTicks++; // Increment tick count
    updateTextCursor_vesa(); // To be replaced with some sort of handler/caller list
}

Should be:
// PIT timer interrupt handler
void pitIRQ() {
    pitTicks++; // Increment tick count
    if (terminalMode == 1)
        updateTextCursor_vesa(); // To be replaced with some sort of handler/caller list
}

If you use updateTextCursor_vesa() before the framebuffer pointer is set then you will be accessing memory through an uninitialized pointer.

@mpetch Thank you for pointing this out! This information will prove very useful - kmalloc() was giving a lot of trouble, and due to issues with liballoc, the new memory allocator and BIOS32 (as always haha), I was more focused on that. While I will throw on a temporary fix, do you have an idea on a way to implement memory allocation without actually having it initialized yet (since it is initialized later)? My current approach is very naive, and is likely overwriting pages and not telling the actual handler, and that's not good, but liballoc faults BIOS32.

Right now, the repo can be built and tests do (for the most part) pass, but the underlying base is bad, and from experience (cough stackoverflow issue cough), a bad underlying base is just a catastrophe waiting to happen. These problems are very helpful and these parts of the code were always ones that caused issues! Thank you so much!

Temporary patch applied.

During further investigation, I have discovered that BIOS32 may not be the culprit. I implemented a small function to service interrupt 0x15 (AX = 0xE801, should return memory info) and it serviced fine and even returned correct values.

During further investigation, I have discovered that BIOS32 may not be the culprit. I implemented a small function to service interrupt 0x15 (AX = 0xE801, should return memory info) and it serviced fine and even returned correct values.

If you call functions that were overwriting memory at 0x00000000 before calling BIOS32, the interrupt Vector table could be clobbered and real mode BIOS and external interrupts may not work properly because the vectors have potentially been overwritten with garbage. I discovered this very issue because I tried to write code to properly enable interrupts when back in real mode and it crashed. Depending on what interrupts get clobbered some may appear to work and others may not.

@mpetch Yes, you are correct. I'm working on that non-present code now. Another problem though is that things like ACPI do not properly map their pages so doing anything with ACPI after paging is enabled page faults. I tried to move memory management as far back in the init process as I could but then initrd freaks out. I'm trying to solve this issue too.

ACPI can easily be fixed with a few vmm_allocateRegion calls, but those can only be done after VMM is initialized. initrd can be patched with another vmm_allocateRegion call, but then the system freaks out or just stops.

Bug in initrd revolves around file amounts. Disabling for now reveals more bugs in FAT driver, but otherwise system CAN start up.

The bug in initrd is not within the generator, but rather apparently address calculation is not working.

It appears that, for now, the OS is stable.
I've also marked pages as non-present in the first 4kb as you suggested, and have added test modules to test specific parts of code. Thank you!


⚠ File access (beta) has degraded performance

In 3c96461, File access (beta) (https://beta.fyle.uk/file/fish) experienced degraded performance:

HTTP code: 200
Response time: 6645 ms

Resolved: File access (beta) performance has improved in 4509fd7.


Add Flag countries

Current coverage is 92.57% (diff: 100%)

No coverage report found for master at 189395f.

Powered by Codecov. Last update 189395f...26f4fae


NFS share being unmounted randomly with release 0.4.00

I've seen multiple cases that the NFS share being unmounted. There is no specific pattern or anything predictable so far. It seems that the latest firmware will think the "SD card" is not working so it dismounts it.

@HclX  - thanks for the updates here. As I've played with this, i haven't had an opportunity to play with the older versions.  I'm able to reproduce reboots of my wyze and also reproduced the random dismount by going to the "view playback" and starting to move around.  It seems that the app trying to access the historical files is really tough on it, and it is pretty flakey. Is that the way it's always worked with the NFS?

Per my experience, "view playback" is always slow and flaky, even with SD card. It's getting worse with NFS share because now you have almost infinite storage space  and there are tons of files the camera firmware has to iterate through. That's why I added the "archive old recordings" feature which moves those recordings out of the camera firmware's view to speed things up. But even with that I noticed things sometime go very wrong and even crash the camera.

Cool, yeah, that's what i felt too.
I was trying to research some software to see if there was a desktop app that could show clips in a timeline the way Wyze does, but no luck yet.
I did find that if i search for *.mp4 on the NFS, i can drag all the search results into VLC and create a playlist of the clips - that works ok.
At sometime i might work on coding a little gui to show the clips as links on a timeline - the folder structure/file naming is very programmatic and makes it easy to find which date / hour / min the file is.

@Semag - I use a script to merge all the files into a 24 hour file to help me manage all this. Here's a link to my script if your're interested.
I know there is a way to discard video where there is no motion changes, but I need to figure that out..

@kdvlr  are you recording continuously?  I'm currently offloading some of the motion detection onto the camera, which has a lot of false positives, but I don't think it has missed anything really.  This reduces the network strain and writing frequency.
I want to get the PIR motion detector through the sense package and see how that improves the camera i have mounted by my front door, right now there are way too many false motion events.
I know that there are software packages (blue iris, motion eye, Camect) that will do AI analysis, but they all seem to require the RTSP streams ( which we know is notoriously unreliable on the wyze cam).

Per my experience, "view playback" is always slow and flaky, even with SD card. It's getting worse with NFS share because now you have almost infinite storage space and there are tons of files the camera firmware has to iterate through. That's why I added the "archive old recordings" feature which moves those recordings out of the camera firmware's view to speed things up. But even with that I noticed things sometime go very wrong and even crash the camera.

I have witness this too. I was not sure if it was an NFS issue, a hard drive sleeping issue (I have disabled this now), or a camera hardware issue. I have done some troubleshoot but nothing intensive.

for those who cares, i added change to automatic reboot the camera when the dismount is detected. the change is merged into dev branch so you guys can try it out: you should hear a "double beep" when the camera reboots because of this. I'm still verifying this change so no idea how reliable it works.

Was the release updated again or is the one I downloaded the latest verion. PS unzip in Linux does not unzip the latest file.
unzip "wyze_hacks_0_4_00.zip" .
Archive:  wyze_hacks_0_4_00.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
unzip:  cannot find zipfile directory in one of wyze_hacks_0_4_00.zip or
        wyze_hacks_0_4_00.zip.zip, and cannot find wyze_hacks_0_4_00.zip.ZIP, period.

my latest change is in release 0.4.01 archive, just pushed another minor change to avoid bloating log files.

not really fixing the root cause, but the nfs dismount detection and reboot seems to be working.


Boolean CLI arguments should be parsed as such

I expected 'true'/'false' (regardless of case) to be parsed as booleans by the arg parser, instead of strings. I think it'd make more sense if that were the case.

If you use BoolParameter you get that ability – otherwise I think it would be inconsistent. It's like how bool('False') == True which is confusing the first time you see it but actually makes sense if you think about it

My bad, sorry. BoolParameter sounds like what I was looking for then.

@erikbern I've changed a parameter to a BoolParameter, but now I don't appear to be able to pass a value to it on the command line to set it to false. On the command line it's now just a flag.
Is there any way I can pass 'false' to a bool parameter on the command line?

@boosh You should be passing False, but are you saying that it ignores that and sets to True? Hmm, I recall hearing of this bug before. Can you create a failing test case and put it in a PR? Potentially with a fix?

+1 sounds broken

I mean that I'm declaring it as:
    wait = luigi.BoolParameter(default=True,
                               description="Whether to block until the step has "
                                           "completed, or return immediately after "
                                           "adding it to the cluster.")

But when I run it on the command line with -h, it only offers me --wait. If I try to pass a parameter (e.g. --wait false), it complains that it doesn't know what to do with the false parameter.

yes they are exposed as store_true meaning presence = true, not presence = false
default should be false for all boolean parameters by design. maybe the design is bad though.
i remember a long time ago we discussed if for those variables we should expose eg --no-wait instead

Ah OK. Well --no-wait would be handy for my usecase. Want me to open a ticket?

+1 I would like this. Automatic "--no-*" prefix recognized to negate a bool param.

+1 I would like this. Automatic "--no-*" prefix recognized to negate a bool param.


Can't send entire balance when using 'Only ETH'

I want to send the entire ETH and ETC balance of my account to another account (basically because I was warned about the replay attack on gastracker).
So when I click 'Send Entire Balance' and switch radio box to 'Only ETH' and send the transaction it shows an error:

'Insufficient funds for gas * price + value'

When I substract the 0.000441 fee from my total balance which is mentioned below:

A standard transaction using 21000 gas will cost 0.000441 ETH.

I still get the same error.
So how can I send my entire ETH (and ETC) balance? Is there a different transaction cost involved?

The gas for the "Send Only" functions is greater than the default 21000. It ranges somewhere between 30k and ???. I've seen 32k, 56k, etc.
We use 300k as a safety to prevent it from ever failing as all excess gas gets returned to you. So, at this time, there is no easy way to "send all" via the Reply contract. 😞
We hope to fix this moving forward but for now, the estimate gas function isn't reliable and we would rather overestimate and have no errors than have people emailing every 2 seconds saying their transaction failed.
300000* 0.000000021  = 0.0063 ETH/ETC
This is also what is being discussed in #64 and #63 and we will also be updating the gas price to 23300 (as discussed in #191)

Sorry - going to update to 60k gas in like 10 minutes
so it'll be .00126 ETH/ETC for gas

Just changed to 60k and updated messaging under TX to read:
We use a gas price of 0.000000021 ETH to ensure your TX gets mined quickly. Multiply 0.000000021 by the gas of your TX and you get the cost of the TX in ether. We do not take a transaction fee.
Standard TX: 21000 gas (0.000441 ether)
TX to Wallet Contract: 23300 gas (0.0004893 ether)
Only ETH / ETC TX: 60000 gas (0.00126 ether)

Thanks for the update, managed to move my ETH now.
Still having trouble with ETC, hope that you can fix the gas estimation soon :)


FLINK-27107. Typo in Task.

What is the purpose of the change
Link to the Apache JIRA :- https://issues.apache.org/jira/browse/FLINK-27107
Two small typos in Task
TaskCancelerWatchDog/TaskInterrupter field: executerThread -> executorThread
TaskCanceler field: executer -> executor
Verifying this change
This is a typo change so it should work fine without testing
Does this pull request potentially affect one of the following parts:
NO
Documentation
Does this pull request introduce a new feature : NO

@zentol  @MartijnVisser  PTAL, thanks


Add local types to SourceFile when type checking and not when parsing

Otherwise we end up adding phantom declarations that
don't get erased when we backtrack.
Fixes https://bugs.swift.org/browse/SR-7283,
rdar://problem/38913395.

@swift-ci Please smoke test

Ok, looks like typeCheckDecl() is too late for this.

#21487 should fixes this particular crash. But still, we really want to eliminate side-effects in Parser.


allow haystack index name to be configurable

@saeedmb8 review please

👍

Coverage remained the same at 88.736% when pulling 63c48ac460891aa7de2cd7afe521e461e00b9e7e on feature/issue-3-use-app_id-as-the-index-name into 8d918e26cc6e15eab3d108720e7024e098d4308a on develop.


[Gally]: master <- dev

Automatically created by Git-Ally

:tada: This PR is included in version 1.2.5 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


:sparkles: virtual/workspaces: allow configuring authorization cache resync

Signed-off-by: Steve Kuznetsov<EMAIL_ADDRESS>

 Container sidecar exited with code 137, reason OOMKilled

!

/retest

/retest

This flaked on #2263 - should be good to go once #2260 merges to make that skippable.

Retest when ready

/retest

/cherry-pick release-0.9


"Error: ENOENT: no such file or directory" shows on log when opening DEBUG in new window

What are the steps to reproduce?
Open the editor and go to the debug tab down the bottom right is the 'Open in new window' button. If you press it, the debug opens in the new window.
What happens?
In the log you will see the following:
1 Jul 07:32:33 - [info] Started flows
Error: ENOENT: no such file or directory, stat '/usr/local/lib/node_modules/node-red/node_modules/@node-red/nodes/core/common/lib/debug/locales/editor'
Error: ENOENT: no such file or directory, stat '/usr/local/lib/node_modules/node-red/node_modules/@node-red/nodes/core/common/lib/debug/locales/node-red'
Error: ENOENT: no such file or directory, stat '/usr/local/lib/node_modules/node-red/node_modules/@node-red/nodes/core/common/lib/debug/locales/jsonata'
Error: ENOENT: no such file or directory, stat '/usr/local/lib/node_modules/node-red/node_modules/@node-red/nodes/core/common/lib/debug/locales/infotips'

What do you expect to happen?
No error in the log.
Please tell us about your environment:

[ ] Node-RED version: reproduced in v1.0.6 and v1.1.0
[ ] Node.js version: v12.13.0 (on macOS) v12.16.3 (on Raspberry Pi)
[ ] npm version: v6.13.4 (on macOS) - v6.14.4 (on Raspberry Pi)
[ ] Platform/OS: macOS v10.14.6 and raspberry pi (buster)
[ ] Browser: Safari

Lena on the forum thinks they know where the error is located. See https://discourse.nodered.org/t/error-enoent-no-such-file-or-directory-shows-on-log-when-opening-debug-in-new-window/29303


使用了DREAM模型后，为什么两个不同的人脸相似度反而提升了

两个相同人脸相似度是提升的，但提升特别小，我是用你提供的直接数据训练的DREAM模型（switching）

Thanks for asking,  I get confused by question, you use the provided data or provide pretrained model?
What's more, English is prefered :)

I'm sorry.I get the DREAM model with the provided data. (python branch_train.py)
The test data is 256 dimensional vector with mobilefacenet.

@penincillin

The data we provided is too little to train a useful model. The only purpose of providing this data is to make sure you can go through the whole pipeline of our code and have a idea of the correct format of the data.
To train a useful model, you should use much more data than sample data provided by us.

@penincillin Iget it,thanks!!!

@songyy137222 hello, Can you please tell me how to get 21-point of face to alignment?


Time complexity of test triple ranking

Hi there, you mentioned that

Each correct test triple (h, r, t) is corrupted by replacing either its head or tail entity with every entity $e \in E$.

which means, in my opinion, the time complexity of $N$ test triples ranking is $N \times |E|$.
I wonder whether it is time-consuming?

Yes, it‘s time-consuming in the evaluation phase. The limitation has been addressed in https://arxiv.org/abs/2004.14781

Thank you for your quick response.


Scoop command aliases

I just found pshazz and scoop and I've got to say I am a big fan so far, but I'm having one small issue that I would love some clarification with.
I installed the coreutils package in scoop, and basically I'm just trying to do a simple alias for ls to resolve to ls --color by default.
Nothing I've tried seems to be working, including resolving it to an absolute path, and the documentation for aliases is lacking at best. It took me a while to find it since it's under themes instead of its own spot.
The gist of what I'm asking is whether it's currently possible to resolve an alias to a scoop command and parameterize that, and if so how is that done?

You can change aliases via the aliases field in a pshazz's theme like this:
https://github.com/lukesampson/pshazz/blob/master/themes/lukes.json#L15-L20
So I guess you need to remove the powershell built-in ls alias to use the ls command from coreutils, and then add a ls alias to ls --color.

Yeah, I tried that, it didn't work. I was able to get the regular ls to resolve correctly, but it's just not getting the parameter passed in.
With this as my alias config:
"aliases": {
     "rm": [ "ls" ],
     "add": {
        "ls": "ls --color"
     }
}

If I run it with or without the add field, it does exactly the same thing, which is just the standard ls command.


Clear legacy configs when converting to new TableConfig.

Description
We moved to StreamIngestionConfig and BatchIngestionConfig recently.
In this PR, we clear the legacy configs after converting to the
new TableConfig in the utility convertFromLegacyTableConfig.
Added unit test for the same.
Upgrade Notes
Does this PR prevent a zero down-time upgrade? (Assume upgrade order: Controller, Broker, Server, Minion)

[ ] Yes (Please label as backward-incompat, and complete the section below on Release Notes)

Does this PR fix a zero-downtime upgrade introduced earlier?

[ ] Yes (Please label this as backward-incompat, and complete the section below on Release Notes)

Does this PR otherwise need attention when creating release notes? Things to consider:

New configuration options
Deprecation of configurations
Signature changes to public methods/interfaces
New plugins added or old plugins removed

[ ] Yes (Please label this PR as release-notes and complete the section on Release Notes)

Release Notes

Documentation

Codecov Report

Merging #7071 (1325f69) into master (92868e6) will increase coverage by 0.04%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master    #7071      +/-   ##
============================================
+ Coverage     73.62%   73.67%   +0.04%
  Complexity       91       91
============================================
  Files          1479     1479
  Lines         72838    72842       +4
  Branches      10475    10475
============================================
+ Hits          53630    53668      +38
+ Misses        15739    15704      -35
- Partials       3469     3470       +1

Flag
Coverage Δ

integration
41.92% <0.00%> (-0.03%)
:arrow_down:

unittests
65.57% <100.00%> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

...he/pinot/common/utils/config/TableConfigUtils.java
87.59% <100.00%> (+0.39%)
:arrow_up:

...a/manager/realtime/RealtimeSegmentDataManager.java
50.00% <0.00%> (-50.00%)
:arrow_down:

...ller/helix/core/minion/TaskTypeMetricsUpdater.java
80.00% <0.00%> (-20.00%)
:arrow_down:

...operator/filter/RangeIndexBasedFilterOperator.java
40.42% <0.00%> (-4.26%)
:arrow_down:

.../org/apache/pinot/core/startree/StarTreeUtils.java
76.47% <0.00%> (-3.93%)
:arrow_down:

...gregation/function/StUnionAggregationFunction.java
71.42% <0.00%> (-2.86%)
:arrow_down:

.../pinot/core/query/scheduler/PriorityScheduler.java
80.82% <0.00%> (-2.74%)
:arrow_down:

...not/broker/broker/helix/ClusterChangeMediator.java
74.72% <0.00%> (-2.20%)
:arrow_down:

...g/apache/pinot/common/utils/helix/HelixHelper.java
55.81% <0.00%> (-1.75%)
:arrow_down:

...e/impl/dictionary/IntOffHeapMutableDictionary.java
78.72% <0.00%> (-1.07%)
:arrow_down:

... and 15 more

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 92868e6...1325f69. Read the comment docs.

We should convert the config based on the table type. For OFFLINE table, convert the batch config; for REALTIME table, convert the stream config.
Or only convert the field if the deprecated field is set

Updated with the latter suggestion to convert only if deprecated field is set.


[dash-p4] Support SAI API generation for bulk sync API, flow reconcile API and related counter.

This change updates the P4 code to generate the SAI APIs for bulk sync API, flow reconcile API and related counters.
The API change can be found via the PR in OCP SAI repo here: https://github.com/opencomputeproject/SAI/pull/2014.

hi @marian-pritsak , please let us know if you have any comments after you are back. we will get the HLD adjusted accordingly afterwards.


Feature/rework pager

What is this pull request?

Rework pagination of GetAccountTransactions() and GetAccountAssetTransactions()

Why do you implement it? Why do we need this pull request?

The feature of restricting transactions is required.

How to use the features provided in the pull request?

Brief description of API: https://hackmd.io/KwBgzAJhCMIIYFoBM0wHYEBYBmAOECcc2BAxqUrgGya5hyZpJA==?both

GetTransactions API is in the above, but not implemented yet in this PR.
The pagination idea of since_tx_hash and until_txhash is also provided, but it won't be done in this PR.

Details/Features

Add pagination to GetAccountTransactions()
Add pagination to GetAccountAssetTransactions()
JSON / Proto converters of these API.
Interactive Cli Query of these API.
Add EqualToList as VerificationStrategy<T> in test subscriber. It is used for testing observable with vector.

P.S. (optional)

Initially, this PR was scheduled to be separated as rx stuff and endpoints, but after all it doesn't be done. Changing of rx stuff needs to modify model. Changing model requires to modify proto and json converters, and they also require to modify torii endpoints and interactive cli. After all, All modification is needed to succeed compilation.
[x] Rebase PR.
[x] Apply temporary implementation of RedisBlockQuery

@motxx seems that this PR has troubles with CI (build step). Can you check what is the problem so that we can review it?

Codecov Report

Merging #650 into develop will decrease coverage by 0.29%.
The diff coverage is 19.45%.

@@            Coverage Diff             @@
##           develop     #650     +/-   ##
==========================================
- Coverage    43.17%   42.88%   -0.3%
==========================================
  Files          301      297      -4
  Lines        12267    12395    +128
  Branches      6785     6916    +131
==========================================
+ Hits          5296     5315     +19
+ Misses         713      655     -58
- Partials      6258     6425    +167

Impacted Files
Coverage Δ

irohad/model/query_execution.hpp
100% <ø> (ø)
:arrow_up:

irohad/model/converters/pb_query_factory.hpp
100% <ø> (ø)
:arrow_up:

irohad/model/registration/query_registration.hpp
20% <ø> (ø)
:arrow_up:

irohad/ametsuchi/block_query.hpp
50% <ø> (ø)
:arrow_up:

libs/generator/generator.hpp
80% <ø> (ø)
:arrow_up:

irohad/ametsuchi/impl/storage_impl.cpp
27.81% <0%> (ø)
:arrow_up:

.../irohad/model/converters/pb_query_factory_test.cpp
2.08% <0%> (ø)
:arrow_up:

...d/model/queries/get_account_asset_transactions.hpp
0% <0%> (ø)

irohad/model/queries/get_account_transactions.hpp
0% <0%> (ø)

...rohad/model/converters/json_query_factory_test.cpp
4.85% <0%> (-0.65%)
:arrow_down:

... and 76 more

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 1289c3d...8c9f4c1. Read the comment docs.

Also don't forget to rebase, new patches forbid warnings

@l4l @muratovv Could you review this?

Looks more or less fine for me but still this pr is huge, so I'd like to ask some additional ppl to review this

This PR is huge, reviewing is hard.
Should I separate PR like:
- Implement EqualList of VerificationStrategy
- Implement GetAccountTransactions
  - without test
  - with model, rxstuff, IrohaCLI and converters
- Implement GetAccountTransactions test
- Implement GetAccountAssetTransactions implementation
  - without test
  - with model, rxstuff, IrohaCLI and converters implementation
- Implement GetAccountAssetTransactions test

?

I think it's better, yeah

Close PR to separate into 5 PRs.


get_model_size_mb (LightningModule.model_size) shouldn't create temporary files in the current directory

Currently, the get_model_size_mb function is implemented like this:
def get_model_size_mb(model: Module) -> float:
    """Calculates the size of a Module in megabytes by saving the model to a temporary file and reading its size.
    The computation includes everything in the :meth:`~torch.nn.Module.state_dict`,
    i.e., by default the parameteters and buffers.
    Returns:
        Number of megabytes in the parameters of the input module.
    """
    # TODO: Implement a method without needing to download the model
    tmp_name = f"{uuid.uuid4().hex}.pt"
    torch.save(model.state_dict(), tmp_name)
    size_mb = os.path.getsize(tmp_name) / 1e6
    os.remove(tmp_name)
    return size_mb

This writes the model to disk and also introduces a race condition where the temporary file may be left behind if the user "Ctrl+C"s the program while the torch.save and os.path.getsize calls are running. I originally found this bug by investigating, what was creating the mysterious cb0e0c0d62ee4c20986c67462c1105d3.pt files in my project directory.
You can achieve the same result without touching the disk by doing
import io

target = io.BytesIO()
torch.save(model.state_dict(), target)
size_mb = target.getbuffer().nbytes / 1e6

@RuRo Thanks, this seems totally reasonable to me. Would you be interested in contributing this change?


Update ollama.py

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
module could not be imported
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
from mem0 import Memory

config = {
    "llm": {
        "provider": "ollama",
        "config": {
            "model": "llama3.1:8b-instruct-q8_0",
            "temperature": 0.1,
            "max_tokens": 20000,
        }
    },
    "embedder": {
        "provider": "ollama",
        "config": {
            "model": "llama3.1:8b-instruct-q8_0",
            "temperature": 0.1,
            "max_tokens": 20000,
        }
    }
}

m = Memory.from_config(config)
result = m.add("Likes to play cricket on weekends", user_id="alice", metadata={"category": "hobbies"})
print(result)

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules
[ ] I have checked my code and corrected any misspellings

Maintainer Checklist

[ ] closes #1618
[ ] Made sure Checks passed

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @krescent for adding this.


Added socket id env for multi GPU configuration

Hi @grgalex
It's been a week and more. We are using the nvshare library in the kubernetes POD and managing the GPU memory across the processes/PODs. It's working fine without any issues. Thank you for making it open for everyone, It's quite useful for GPU based projects.
Now, we are trying to integrate it with a multi GPU. Basically In a node we have 2 GPUs, we are trying to integrate both the GPUs.
Regarding multi GPU I have experimented with a couple of things-On the repo I went through some issues for multi gpus configuration. Initially I have increased the scheduler and device plugins on the deployment files and deployed the nvhare-system. Then we have deployed our project on the node. As soon as we deployed we got a socket connection error.
After that I did a fork and added an environment variable NVSHARE_SOCK_ID It's basically taking the id of the GPU based on the ID it's creating/connected to the socket. This NVSHARE_SOCK_ID and NVIDIA_VISIBLE_DEVICES we have passed a couple places like scheduler, device-plugins and the container's. This approach is working fine without any issues. In multiple containers we can pass  NVSHARE_SOCK_ID and NVIDIA_VISIBLE_DEVICES based on which GPU we want to process.
Below some screenshots for config and deployments-

Now we have a another use case- Let's assume In a container we are passing NVSHARE_SOCK_ID: "0" and NVIDIA_VISIBLE_DEVICES: "0" it means this container will access only the 0'th GPU only.
In one of the containers there is a single process and two threads are there. Each thread utilizes GPUs by cudaSetDevice() in cpp. In normal cases we have to pass NVIDIA_VISIBLE_DEVICES: "all" then we can access and map it. But along with nvshare how we will pass and manage the socket for NVSHARE_SOCK_ID.
Could you please go through my changes and help with the above problem?

By the way, if you or your companies have something you want to discuss in private, feel free to drop me an e-mail.


Cache preview data?

It looks like get_preview_data() is called for every entry in settings.LANGUAGES, but it doesn't depend on the language. If get_preview_data() is non-trivial (e.g., hits the database, builds complex objects), this could be unnecessarily time-consuming. Maybe the preview data could be cached in an instance variable?

The reason why we did that is because some implementation of models fields translation return the right translation of a field with regard to the current user language. So in case we change the language we need to refresh this cache anyways


A Question on How to Generate 3D Turbulent Wind

Hello everyone,
I am trying to generate a turbulent wind using turbsim, and I want the wind speeds in all three directions(x, y, z) of this wind to be roughly the same (such as maintaining fluctuations around 7m/s).
The turbulent wind I generated before, often meets the requirements in the x direction, but the wind speed in the y or z direction is always close to zero.
In other words, I want to accurately control the wind speed in all directions. How can I set up the INP file?
Best wishes!

Dear @shipors,
Can you clarify how you are currently setting up your TurbSim simulation?  Presumably you are using one of the standard turbulence models, like TurbModel = "IECKAI"?  Each of these standard turbulence has default scaling between the standard deviations in the u-, v-, and w- components of turbulence.
If you have your own scalings in mind, you could select different turbulence models.  For example, TurbModel = "USRINP" allows you to specify you own scalings and spectra in the u-, v-, and w- directions.  And when using TurbModel = "IECVKM" along with a user-defined velocity profile (WindProfileType = "USR"), you can set your own scaling factors for the standard deviations of the u-, v-, and w-components.  See the TurbSim documentation for more information: https://openfast.readthedocs.io/en/main/_downloads/cb14d3e2d3533d76e405d730fea19846/TurbSim_v2.00.pdf.
Best regards,

TurbSim always generates winds aligned with the mean wind direction (noted by lower case u, v, w). By that definition, v and w should have mean velocities of 0. After generating those winds, it rotates to the global coordinate system (aligned with global X, Y, Z and noted by U, V, W).  If you want the mean wind speeds around global X, Y, and Z to be the same, you'd have to adjust the rotation angles VFlowAng and HFlowAng


Gaussian Compilers Primitive and Decomposition definitions need to be fixed

Issue description
Gaussian compilers currently define measurement operations as primitives, which should not be the case. Furthermore, Gaussian state decompositions are defined in the Gaussian compilers decomposition, which is not ideal.

It seemed like good idea to make explicit that a compiler only operates on operation and not measurements and preparations, but this is too overzealous. For the moment we will allow compiler to still have these operations.


mozCurrentTransformInverse is deprecated

Configuration:

Firefox Browser Developer 103.0b9
pdfjs-dist 2.15.349

Steps to reproduce the problem:

The warning appears when trying to display a paginated pdf in Firefox Browsers.

The exact message is "mozCurrentTransformInverse is deprecated and will be removed in the future. Use CanvasRenderingContext2D.getTransform() or CanvasRenderingContext2D.setTransform() instead."
Are there any plans to a possible upgrade related to this issue?

For future reference, when opening an issue: Please don't forget to fill in the Attach (recommended) or Link to PDF file here:-part of the ISSUE_TEMPLATE.

Fixed by PR #15281


Create BIDSFile object that provides easier access to metadata and image

Currently, when files are retrieved with get, access to metadata has to occur through the BIDSLayout, and there's no way to easily access the actual nifti image (if the file is a nifti). It would be helpful to create a BIDSFile wrapper around grabbit's File that adds .nifti and .metadata fields.

I would replace nifti with image, as we may have GIFTI or CIFTI images.


smplx param

Hello. Why is the trans of smplx so different from the trans of smpl.
For example, the first frame of the bike.
smplx from 00000.json:  "trans": [-0.6369207501411438, 0.29978230595588684, 3.131704092025757]}
smpl from poses.npz:  array([[-2.58424114e-02,  1.62764579e-01,  3.47014847e+01],
Are the estimated smplx parameters in the world coordinate system or in the camera coordinate system?
Thanks!

camera coordinate system. I do not know how poses.npz is obtained.

Ok, get it. Thank you.