Memory Leak in Image(img), Axes function ?

I spot that when I try to create these elements in the loop it keeps taking more memory even I have delete the object in the end of the function already while I create new circle in every loops and has not seen any leakage of memeory. Can you fix that for me ?

I cannot reproduce the problem with the following script
from vedo import *
imgs = []
for i in progressbar(100):
    img = Image(dataurl+'images/watercolors3.jpg')
    # imgs.append(img)

no memory leak detected on my ubuntu system:
vedo version      : 2024.5.1+dev17  (https://vedo.embl.es)
vtk version       : 9.3.0
numpy version     : 1.26.4
python version    : 3.12.2 | packaged by conda-forge | (main, Feb 16 2024, 20:50:58) [GCC 12.3.0]
python interpreter: /home/musy/soft/miniconda/bin/python
installation point: /home/musy/Projects/vedo
system            : Linux 5.4.0-181-generic posix x86_64

from vedo import *
from memory_profiler import profile
import numpy as np
plt = Plotter()
@profile
def func():
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
plt.show(img1, zoom="tightest", interactive=False)
while True:
func()
Can you try running this code ? (pip install memory_profiler to view memory usage.)

It is suggesting that there is some leakage.

from vedo import *
from memory_profiler import profile
import numpy as np
#Code 1: Problem with Memory Leak
dx = 0.0007
dy = 0.0007
shape = [
dict(bottomleft=(0,0), topright=(1,1), bg='w'),
dict(bottomleft=(0+dx,0+dy), topright=(0.6-dx,1-dy), bg='k'),
dict(bottomleft=(0.6+dx,0+dy), topright=(1-dx,0.25-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.25+dy), topright=(0.8-dx,0.5-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.5+dy), topright=(0.8-dx,0.75-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.75+dy), topright=(0.8-dx,1-dy), bg='k'),
dict(bottomleft=(0.8+dx,0.25+dy), topright=(1-dx,1-dy), bg='k'),
dict(bottomleft=(0+dx,0+dy), topright=(0.3-dx,0.25-dy), bg='k'),
dict(bottomleft=(0.3+dx,0+dy), topright=(0.6-dx,0.25-dy), bg='k')
]
plt = Plotter(shape=shape, sharecam=False, size=(1050, 980))
@profile
def func():
plt.at(7).remove("Image")
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
img1.name = "Image"
plt.at(7).show(img1, zoom="tightest", interactive=False)
del img1
del img
while True:
func()
#Code 2: Running fine
plt = Plotter()
@profile
def func():
plt.remove("Image")
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
img1.name = "Image"
plt.show(img1, zoom="tightest", interactive=False)
del img1
del img
while True:
func()

'from vedo import *
from memory_profiler import profile
import numpy as np
Code 1: Problem with Memory Leak
dx = 0.0007
dy = 0.0007
shape = [
dict(bottomleft=(0,0), topright=(1,1), bg='w'),
dict(bottomleft=(0+dx,0+dy), topright=(0.6-dx,1-dy), bg='k'),
dict(bottomleft=(0.6+dx,0+dy), topright=(1-dx,0.25-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.25+dy), topright=(0.8-dx,0.5-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.5+dy), topright=(0.8-dx,0.75-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.75+dy), topright=(0.8-dx,1-dy), bg='k'),
dict(bottomleft=(0.8+dx,0.25+dy), topright=(1-dx,1-dy), bg='k'),
dict(bottomleft=(0+dx,0+dy), topright=(0.3-dx,0.25-dy), bg='k'),
dict(bottomleft=(0.3+dx,0+dy), topright=(0.6-dx,0.25-dy), bg='k')
]
plt = Plotter(shape=shape, sharecam=False, size=(1050, 980))
@profile
def func():
plt.at(7).remove("Image")
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
img1.name = "Image"
plt.at(7).show(img1, zoom="tightest", interactive=False)
del img1
del img

while True:
func()
Code 2: Running fine
plt = Plotter()
@profile
def func():
plt.remove("Image")
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
img1.name = "Image"
plt.show(img1, zoom="tightest", interactive=False)
del img1
del img

while True:
func()'

from vedo import *
from memory_profiler import profile
import numpy as np
Code 1: Problem with Memory Leak
dx = 0.0007
dy = 0.0007
shape = [
dict(bottomleft=(0,0), topright=(1,1), bg='w'),
dict(bottomleft=(0+dx,0+dy), topright=(0.6-dx,1-dy), bg='k'),
dict(bottomleft=(0.6+dx,0+dy), topright=(1-dx,0.25-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.25+dy), topright=(0.8-dx,0.5-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.5+dy), topright=(0.8-dx,0.75-dy), bg='k'),
dict(bottomleft=(0.6+dx,0.75+dy), topright=(0.8-dx,1-dy), bg='k'),
dict(bottomleft=(0.8+dx,0.25+dy), topright=(1-dx,1-dy), bg='k'),
dict(bottomleft=(0+dx,0+dy), topright=(0.3-dx,0.25-dy), bg='k'),
dict(bottomleft=(0.3+dx,0+dy), topright=(0.6-dx,0.25-dy), bg='k')
]
plt = Plotter(shape=shape, sharecam=False, size=(1050, 980))
@profile
def func():
plt.at(7).remove("Image")
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
img1.name = "Image"
plt.at(7).show(img1, zoom="tightest", interactive=False)
del img1
del img

while True:
func()
Code 2: Running fine
plt = Plotter()
@profile
def func():
plt.remove("Image")
img = np.zeros([512,512])
img[0:256, 0:256] =   0
img[0:256,  256:] =  64
img[256:,  0:256] = 128
img[256:,   256:] = 255
img = img.transpose(1,0)
img1 = Image(img)
img1.name = "Image"
plt.show(img1, zoom="tightest", interactive=False)
del img1
del img

while True:
func()

Seem like the problem is in .show function

plt.at(7).show() creates problem while plt.show() works fine.

Hi, do not use show(...) inside a loop or callback as it is primarily meant to set up the scene.
Use instead render() e.g.:
from vedo import *
from memory_profiler import profile

# @profile
def func():
    arr = np.zeros([512, 512])
    arr[0:256, 0:256] = np.random.randint(0, 255)
    arr[0:256,  256:] = 64
    arr[256:,  0:256] = np.random.randint(0, 255)
    arr[256:,   256:] = 255
    arr = arr.transpose(1,0)
    img = Image(arr)
    img.name = "Image"
    plt.at(7).remove("Image").add(img)
    plt.reset_camera(tight=0.01).render()

dx = 0.001
dy = 0.001
shape = [
    dict(bottomleft=(0,0),            topright=(1,1), bg='p9'),
    dict(bottomleft=(0+dx,0+dy),      topright=(0.6-dx,1-dy), bg='k1'),
    dict(bottomleft=(0.6+dx,0+dy),    topright=(1-dx,0.25-dy), bg='k2'),
    dict(bottomleft=(0.6+dx,0.25+dy), topright=(0.8-dx,0.5-dy), bg='k3'),
    dict(bottomleft=(0.6+dx,0.5+dy),  topright=(0.8-dx,0.75-dy), bg='k4'),
    dict(bottomleft=(0.6+dx,0.75+dy), topright=(0.8-dx,1-dy), bg='k5'),
    dict(bottomleft=(0.8+dx,0.25+dy), topright=(1-dx,1-dy), bg='k6'),
    dict(bottomleft=(0+dx,0+dy),      topright=(0.3-dx,0.25-dy), bg='k7'),
    dict(bottomleft=(0.3+dx,0+dy),    topright=(0.6-dx,0.25-dy), bg='k8')
]
plt = Plotter(shape=shape, sharecam=False, size=(1050, 980))
plt.parallel_projection()

for i in progressbar(10000):
    func()

PS note that the python del doesn't really mean "delete immediately" something, it rather flags the object for the garbage collector to be deleted later (if I remember correctly) by removing it from the function scope.


Rename amd64 to x86_64 and add x86 target

Better matches rust consts: https://doc.rust-lang.org/std/env/consts/constant.ARCH.html
Signed-off-by: Kate Goldenring<EMAIL_ADDRESS>

I'm not opposed to this, but we're using amd64 for spin releases: https://github.com/fermyon/spin/releases

Im fine leaving it and doing the mapping internally. @lann do you know if amd32 the equivalent 32 bit or just amd?

amd32

For obnoxious historical reasons the closest 32-bit equivalent would be i386 or x86, but you can basically ignore those today. The only 32-bit arch we would care about is arm32.


Added Notices

Updated the NOTICE file with additions for packages checked into the Quarks repository.  I determined what to add by going through the source tree looking for third party code, and reviewing license and notice files.

I saw something recently that said the NOTICE file must only include notices that must be there, so I'd like to hold off on merging this to understand if each notice must be copied there.

http://www.apache.org/dev/licensing-howto.html

For example, why is software distributed under the Eclipse Public Licence listed in the notice?
It's a category B licence:
http://www.apache.org/legal/resolved.html#category-b

On Wed, Mar 30, 2016 at 4:36 PM, Dan Debrunner<EMAIL_ADDRESS>wrote:

I saw something recently that said the NOTICE file must only include
notices that must be there, so I'd like to hold off on merging this to
understand if each notice must be copied there.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-quarks/pull/58#issuecomment-203685276

Yes, I saw conflicting information on that, so erred on the side of
safety.  If we can remove some of them, I'm fine with that.  I looked at
other projects and they seemed to vary a bit.

Currently the top-level LICENSE and NOTICE file are copied into each jar.
Seems that with these files fully completed (this pr and #57) that may no longer be the correct approach.
For example the scala licence added by #57 only is applicable for the Kafka connector, so why should it appear in every other jar?

On Thu, Mar 31, 2016 at 11:22 AM, Dan Debrunner<EMAIL_ADDRESS>wrote:

Currently the top-level LICENSE and NOTICE file are copied into each jar.
Seems that with these files fully completed (this pr and #57
https://github.com/apache/incubator-quarks/pull/57) that may no longer
be the correct approach.
For example the scala licence added by #57
https://github.com/apache/incubator-quarks/pull/57 only is applicable
for the Kafka connector, so why should it appear in every other jar?
I agree this is not the right approach. Does anyone have a suggestion?  I
will do some more research into what other projects do.

Closing this pull request; I plan to update notice file in smaller increments.


batch upload functionality

develop a function that allows the user to upload past results to the database
see example files here: https://drive.google.com/drive/u/0/folders/1duLG3nZBAePeOEDQ--LdZuDybKERxaoN

steps:

[ ] read in file containing the following columns: SAMPLE_ID Date FL (mm) Field Run ID, SHERLOCK Chr28 geno SHERLOCK Chr16 geno Gtseq Chr2 Haplo Gtseq SpW Prob_Spring Prob_Winter PLAD Run Designation Pop Structure ID CV_Fall CV_Late_fall CV_Spring CV_Winter
[ ] check with Sean - do they produce those last columns? those seem like Noble's output. for now, ignore Prob_Spring:CV_Winter
[ ] insert field run assignment and fork_length_mm into sample
[ ] create a dummy plate_run - need to decide if we want them to add the protocol, etc, and insert into table
[ ] insert into assay_result
[ ] run genetic identification


Mercenaries point buy uses MC value.

Trying to hire a Mercenary in Defender's Heart, it has 25 point when should have 20. It is following the value for the Main Character point buy instead of Mercenary.
Manual_151_Mercenary.zip

Fixed in 1.1.8

@cabarius I am getting this issue in the latest version <IP_ADDRESS>


Update optionalDependencies

@Slayer95? I don't really know much about dependency management in general.

@thecutestlittleoniichan this even directs to @Spandamn

Excuse me, what? This isn't related to development discussion anyways, so I'd refrain from commenting further.

(I deleted some irrelevant memeing)

I'd check for any breaking changes in updates for these dependencies, particularly http-proxy and node-mailer. If there are any, you'll need to check sockets.js and crashlogger.js to see if any changes are necessary.


Bluehost Mail Entries

What about pop, imap, smtp, webmail, and other CNAME entries that Bluehost included in the dns entries that along with an A record for mail.@ point back their hosting server. I'm guessing these should all either be removed or directed back towards outlook.com, office.com, or some other MS site.
It would be helpful if this article addressed those entries.

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

ID: 58d9b2b9-5fbf-0ecd-13f4-0de1613ca854
Version Independent ID: ccfb9be8-b68a-e7a6-ddd6-18244005a090
Content: Create DNS records at Bluehost for Office 365 - Microsoft 365 admin
Content Source: microsoft-365/admin/dns/create-dns-records-at-bluehost.md
Service: o365-administration
GitHub Login: @pebaum
Microsoft Alias: pebaum

Yes, Please... Guidance... seeing these as well and now I am wondering...

Hello @acynch How are you?
From my understanding, in this scenario, the records you mention, included by BlueHost are not required, as the required entries for Office 365 are already being taken care of.
I would like to invite the article's designated author @pebaum Peter, can you kindly confirm? Thanks

Would love to have confirmation from @pebaum, but I went ahead and deleted those entries after the migration to bluehost and everything appears to be working correctly as far as I can tell.


Validate server configuration

Validate the server.xml used by the current project when building and report issues found so users can address before they get much further.
Ref https://github.com/OpenLiberty/open-liberty/issues/11813.

I only see this as feasible if Open Liberty provides a utility for our plugin to call and pass in the server.xml for validation.

@yeekangc Is this epic still relevant given our focus on Liberty Tools and doing validation on Liberty configuration files there? I don't think this type of validation belongs in the build plugins.


Scroll hack for filter view

https://github.com/kinsi55/BeatSaber_BetterSongSearch/blob/master/UI/SongListController.cs#L183-L191
This should be moved to flow coordinator so that other view controllers are affected. Currently filter drop downs do not scroll

Can you even scroll dropdowns with the Joystick normally? I believe having tested that before (Hence the commented out lines) and came to the conclusion that either, that isnt possible, or that this implementation doesnt work for that and something more involved would be needed

Weird, it should scroll. Maybe apply the same hack used for sort dropdown for the other filters? So that it’s easier

I applied it to the quest port and it works just fine  ¯_(ツ)_/¯
https://github.com/Christoffyw/BetterSongSearchQuest/blob/ui-testing/src/UI/ViewControllers/SongList.cpp#L503-L514

I'll try to not forgor / test it for next update

A global resources call for this is super hacky. I'd classifly this as a BSML bug and see if fixing it there makes more sense. Until then this is closed for now.


[5.5] Crypto-based password resets

Same as https://github.com/laravel/framework/pull/17052.
As discussed with @taylorotwell, a proof-of-concept for crypto-based password resets.
This approach allows us to drop the password_resets table and remove the TokenRepositoryInterface and DatabaseTokenRepository. See laravel/laravel changes.
The email field has been removed from the reset form.
If the reset link is expired/invalid, or the user doesn't exists, then the password reset form is hidden and an appropriate warning message is displayed.

👏 nice

Awesome stuff! 👍

Would it be possible to keep and deprecate the old DatabaseTokenRepository for a release, instead of completely removing it?
Relevant: https://github.com/laravel/internals/issues/383 (Deprecating changes for 1 release instead of removing)

@sisve the suggestion in that thread seems to allude towards drepecte things "that can be aliased" - I don't see any point in keeping the old method for one release - having it as upgrade notes should be suitable.

As an alternative to deprecating it, the DatabaseTokenRepository could be move into a 3rd-party package, just like tinker and browser-kit-testing was in v5.4.

can you ELI5 what this means, and what the process kind of looks like?

Is this somewhat simular as a JWT? The concept looks familiar. Looks good :+1:

Yeah somewhat similar, here is an article on it.

@garygreen Taylor has now commented that "will attempt to deprecate removals for 1 release".
I see no reason that crypto-based password resets cannot live side-by-side. Isn't it, to over-simplify it, just two different kinds of token generators/validators; one that uses a repository, another that uses this new technology?
Or, to turn the question around; why must the old functionality be removed when this is introduced?

Honestly I think I may table this for now unless there is a severe security problem with our current approach. Trying to stabilize out these releases a bit more.

Okay. If anyone wants this a package, LMK.


Deleting a Node(First/Last/Intermediate) in Singly Linked List

Is your feature request related to a problem? Please describe.
Adding more common problems to Linked Lists.
A clear and concise description of what the problem is.
Insertion Program is available in the readme. Deleting nodes is also important. The node to be deleted can be present anywhere. I would like to add a solution for it.
Describe the solution you'd like
A clear and concise description of what you want to happen.
For deleting the first node, we create a temporary node which will point to the same node as that of head and move the head node's pointer to the next node and dispose of the temporary node. For the last/Intermediate nodes,we will traverse the list and while traversing maintain the previous node address also.Once we find the node to be deleted, we change the previous node’s next pointer to the next pointer of the node to be deleted and remove the current node.
Time Complexity for Intermediate Node: O(n)
Space Complexity:O(1)
Do you want to work on it
Mention the one language you want to be assigned for this issue.
Java

I would like to work upon the issue in Java, assign this to me,  @anubhavitis @dheerajkotwani

/assign

I have made a push request , please merge #1393 for issue #1380


[Release] sdk/resourcemanager/connectedcache/armconnectedcache/0.1.0

https://github.com/Azure/sdk-release-request/issues/5696

/azp run prepare-pipelines


hls/xls: bump python deps

Should fix recent XLS build failure:
https://github.com/hdl/conda-eda/actions/runs/5127108900/jobs/9222395220

use "compatible release" version selector, see https://peps.python.org/pep-0440/#compatible-release
update stdlib tests to new DSLX syntax

Fixes #331

/cc @xobs

Merging, since this is fixing the build.


Specify pool name when using REUSABLE client strategy

Add code to choose a random name to be used as the pool name when using
the REUSABLE client strategy. Without this enhancement two instances of
the microservice connecting to distinct servers will share a single
connection pool.
All Submissions:

[X] Have you checked to ensure there aren't other open Pull Requests for the same update/change?
[X] Have you added an explanation of what problem you are trying to solve with this PR?
[X] Have you added information on what your changes do and why you chose this as your solution?
[ ] Have you written new tests for your changes?

No new tests because the pool name is only used for real connections to real LDAP servers, not during mock ups.

[X] Does your submission pass tests?
[X] This project follows PEP8 style guide.

Is this ready for merge?

Yes, ready for merge. Thanks.


android build: use shallow repo copies for boehm-gc

saves plenty of disk space and bandwidth, can be easily converted to "full" repo if ever needed.  I have done it by adding --depth=1 in two places in android-bdwgc/setup.sh
# Fetch libgc/bdwgc

# cd to the installation path
cd "`dirname "${BASH_SOURCE[0]}"`"

# Download or redownload
rm -rf bdwgc
git clone --depth=1 -b android https://github.com/xymus/bdwgc.git || exit 1

# Setup libatomic_ops too
cd bdwgc || exit 1
git submodule init || exit 1
git submodule update --depth=1 || exit 1

It's a good idea, you should submit this change as a PR.


style(Item): update docs to the latest standards

Current coverage is 100% (diff: 100%)

Merging #881 into master will not change coverage

@@           master   #881   diff @@
====================================
  Files         137    137
  Lines        2259   2254     -5
  Methods         0      0
  Messages        0      0
  Branches        0      0
====================================
- Hits         2259   2254     -5
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update e92c8cc...c660593

Perfect, thanks!


add equals tests

Codecov Report

Merging #306 (b95972f) into master (715c5ed) will increase coverage by 1.14%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #306      +/-   ##
============================================
+ Coverage     60.09%   61.23%   +1.14%
- Complexity      437      443       +6
============================================
  Files            91       91
  Lines          1754     1754
  Branches        185      185
============================================
+ Hits           1054     1074      +20
+ Misses          652      626      -26
- Partials         48       54       +6

Impacted Files
Coverage Δ

...in/java/seedu/unify/logic/commands/TagCommand.java
45.45% <0.00%> (+45.45%)
:arrow_up:

Continue to review full report at Codecov.

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

LGTM!


dependency_graph bug

I get:
> staged.dependencies::dependency_graph()
 Error: Problem with `mutate()` column `title`.
ℹ `title = get_edge_tooltip(.data$from, .data$to, .data$listed_by)`.
x `title` must return compatible vectors across groups
ℹ Result type for group 1 (from = "NEST/goshawk @ https://github.roche.com", to = "NEST/utils.nest @ https://github.roche.com"): <character>.
ℹ Result type for group 16 (from = "NEST/tern @ https://github.roche.com", to = "NEST/scda @ https://github.roche.com"): <list>.
Run `rlang::last_error()` to see where the error occurred.

Please provide MWE to reproduce.

please take the internal utils.nest package on insightsengineering organization and test the staged.dependency package against that setup. There is currently though another issue among all the internal dependencies there that needs to be fixed (maybe start with the propose dependency issue).

in tlgdown I get

It's this line of code: https://github.com/openpharma/staged.dependencies/blob/main/R/dependencies.R#L576
need to change that to return character


Intersection of types with optional fields is incorrect

The Foo type should be compatible with the empty object, since bar is optional on both sides of the intersection:
type Foo = { bar?: true } & { bar?: false }

let x: Foo = {}

However, flow errors:
3: let x: Foo = {}                ^ Cannot assign object literal to `x` because boolean literal `true` [1] is incompatible with boolean literal `false` [2] in property `bar`.
References:
1: type Foo = { bar?: true } & { bar?: false }
                      ^ [1]
1: type Foo = { bar?: true } & { bar?: false }
                                       ^ [2]

A related bug, as described in #6616:
type MaybeX = {x?: string}
type DefinitelyX = {x: string}

function f(x: MaybeX) {
  `${x.x}` // fails, correctly
}

function f(x: DefinitelyX) {
  `${x.x}` // works, correctly
}

function f(x: DefinitelyX & MaybeX) {
  `${x.x}` // works, correctly
}

function f(x: MaybeX & DefinitelyX) {
  `${x.x}` // fails, should work
}

This example also shows another problem: this bug is ordering-dependent, so A & B is not the same as B & A.

Can anyone in the know explain if this is a feature or an issue, i can reproduce this here. It seems o work if i spread instead of returning the object directly
https://flow.org/try/#0C4TwDgpgBAtiAq5oF4oG8BQBIA+j0kAdgIYwQBcUA5HIpFQDQZRRYDOA9mQAoBOHYSm2C8AloQDmTAL4YMBaHAAiEMQDcIAEzopYCJFABk6bAOCiOJADYA5AK4wARqr4CA-JTeEHz3kxZYZhbWAMoi4hKuYB5QwmKSGLIYAMaWwnoAYnaEyVCoABQcjgBWlLRIAJRlICrqWjp5AHwmLAD0rVDwABaibLFdHHZWmlAA7hy8ANax4snQllYgUEGWxFZQYPyQvOYQfaOq0MSamlpQwBzMUO16DRdQybwQxMCKNaqiGtpIV0-AdrxCMsSgBuK5XG7dXpjCaTNgAOkREIAVL8IP9AS1WIj4UVildZCxka1EkA


How do i run raw GraphQL

Can we query GraphQL in Prisma 2? and how?

Hi,
I am assuming that you are referring to the GraphQL API which was exposed by Prisma 1.
We are not exposing GraphQL API this time as it is an implementation detail. It is used as a wire protocol in Prisma 1 and we have removed it Prisma 2 and have adopted a newer wire protocol(which still currently uses GraphQL internally but we may switch it in the future with something like gRPC) between Photon and query engine.
Photon is meant to be used as ORM. You can build a GraphQL API using it. Here is an example: https://github.com/prisma/photonjs/tree/master/examples/typescript/graphql
We have also written a blog post to clear this confusion out: https://www.prisma.io/blog/prisma-and-graphql-mfl5y2r7t49c/

Ok. Thank you for the clarification

We are closing this issue, please feel free to re-open a new issue if you think that the concern was not addressed.

link is dead. can you update it for future readers?
https://github.com/prisma/photonjs/tree/master/examples/typescript/graphql

@softmarshmallow The link has moved to https://github.com/prisma/prisma-examples/tree/prisma2/typescript/graphql


feat: add duckdb consumer and tpch tests

PR to add tpch query tests using DuckDB as a consumer

LGTM

I'm a little confused what the goal is here. For Acero, our test corpus consists of SQL and Substrait Query and we have:
Test: Substrait Query -> Acero -> Arrow Oracle: SQL -> DuckDb -> Arrow
However, in this PR, we have:
Test: SQL -> DuckDb -> Substrait Query -> DuckDb -> Arrow Oracle: SQL -> DuckDb -> Arrow
In other words, DuckDb is not running against the same Substrait Query that other consumers (e.g. Acero) are running against. The substrait_query parameter to test_substrait_query is completely ignored.

Ahh...I see your confusion.  I should have been more clear.
The reason for the disconnect right now is because the manually generated substrait queries in the Acero tests are being executed against local parquet files, which DuckDB doesn't support yet (I've opened an issue for them to add support here: https://github.com/duckdblabs/substrait/issues/3).
Whereas DuckDB currently only supports producing/running substrait plans that use named tables (which Acero doesn't support yet.  Vibhatha has the PR in review: https://github.com/apache/arrow/pull/14024/).
Once there is the same provider support in Acero/DuckDB, I'll open another PR to add the other tests for each consumer so that there is parity in the testing.
The plan is to have:
Acero Consumer Tests:

Isthmus Provider: Substrait Query (local parquet)-> Acero -> Arrow (currently supported)
DuckDb Provider: SQL -> DuckDb -> Substrait Query (named tables) -> Acero -> Arrow (currently not supported)

DuckDB Consumer Tests:

Isthmus Provider (using local parquet): Substrait Query (local parquet) -> DuckDB -> Arrow (currently not supported)
DuckDb Provider (using named tables): SQL -> DuckDb -> Substrait Query (named tables) -> DuckDB -> Arrow (currently supported)

I was going to updated the README once the support is all there...but I can also just update with the existing support in this PR if that helps avoid any confusion too.

Accidentally closed the PR...reopening

Once there is the same provider support in Acero/DuckDB, I'll open another PR to add the other tests for each consumer so that there is parity in the testing.

This seems like a reasonable approach.

It's seems based on comments that this patch doesn't integrates with neither acero nor isthmus. I think it should integrate with at least one before being merged. It sounds like thst would be isthmus given the state of things?

It's seems based on comments that this patch doesn't integrates with neither acero nor isthmus. I think it should integrate with at least one before being merged. It sounds like thst would be isthmus given the state of things?

I'm not entirely sure that is needed.  It seems like we have four tasks planned.

Id
Producer
Consumer

A
Isthmus
Acero

B
DuckDb
Acero

C
Isthmus
DuckDb

D
DuckDb
DuckDb

Task A has already merged.
Task B is blocked by Acero work.
Task C is blocked by DuckDb work.
Task D is added by this PR.

Why would D be done here and not in duckdb? It sounds like an internal test of duckdb, not an integration test of two different systems.

Why would D be done here and not in duckdb? It sounds like an internal test of duckdb, not an integration test of two different systems.

D was done mostly as an example to demonstrate how we should use duckdb as a producer or consumer in an integration test with other producers/consumers.  It's modular enough so that we can swap out consumers/producers relatively easily. I think it would be good to keep these here until we have other consumer/producer integration tests with the duckdb producer/consumer.

D was done mostly as an example to demonstrate how we should use duckdb as a producer or consumer in an integration test with other producers/consumers. It's modular enough so that we can swap out consumers/producers relatively easily. I think it would be good to keep these here until we have other consumer/producer integration tests with the duckdb producer/consumer.

Examples are super useful. However, I'm not convinced this is the place for examples. How about we put it on an example page on the Substrait website or in a Substrait examples repo.
Integration testing is sacred from my pov. It's what proves that this isn't a single-system standard. Having a single system talking to itself that may be entirely inconsistent from other systems talking to each other in the same repo feels like it sends the wrong message. It suggests that we're doing integration testing with DuckDB when we aren't (yet).
Given both your pushback, it seems like this is more controversial than I would expect it to be. Maybe we had different intentions for this repo or I'm missing part of the picture that you both have in your heads?

I think the idea is that there are P different producers and Q different queries.  For each consumer you will have P * Q different test cases:
q_1 x p_1
q_1 x p_2
...
q_1 x p_P
q_2 x p_1
...
q_Q x p_P

Eventually that won't be exact because some queries will only make sense for a subset of producers.  Also, today all queries are SQL but I think there may be a future where that isn't the case.
However, the point is that, for each query, a producer should return the correct answer, regardless of the producer that is converting query to plan.  You could imagine a support table:

Consumer
Isthmus
DuckDb
Ibis
...
dplyr

Acero
:heavy_check_mark:
:x:
:heavy_check_mark:
...
:heavy_check_mark:

DuckDb
:heavy_check_mark:
:heavy_check_mark:
:x:
...
:heavy_check_mark:

DuckDb is a producer, so there are a set of test cases created from it:
q_1 x DuckDb
q_2 x DuckDb
...
q_Q x DuckDb

We could call these tests "Integration" and skip them.  Yielding:

Consumer
Isthmus
DuckDb
Ibis
...
dplyr

Acero
:heavy_check_mark:
:x:
:heavy_check_mark:
...
:heavy_check_mark:

DuckDb
:heavy_check_mark:
(NA)
:x:
...
:heavy_check_mark:

...however it's not clear to me that we have to skip these cases.  If it isn't too much trouble to include them then it seems it will keep things simpler rather than confuse users why there might be an NA in the table.

"Support table" is maybe the wrong word.  "Test result table" might be more descriptive.  In theory a row should have check marks across the board or X's across the board.  In practice we've seen that each producer's nuances tend to lead to scattered X's.  However, this is not something we should be advertising or telling users, which is why "support table" is not really the right word.

It suggests that we're doing integration testing with DuckDB when we aren't (yet).

I agree that adding this PR is not completely satisfying "add duckdb consumer and tpch tests".  That title would imply to me that we are fully testing duckdb against all possible producers.
Perhaps we can reword the PR title to "add duckdb consumer and tpch tests for duckdb producer" and then make sure we have github issues for "add duckdb consumer and tpch tests for Isthmus producer" and "add acero consumer and tpch tests for duckdb producer".

I don't like merging something that may have a completely disjunct perspective on what a Substrait plan is. At least early on, let's only merge things here that also have a "trust chain". Once duckdb is in the trust chain via acero and/or isthmus, we can also add the inside-duck connection.

Hey guys,
so for a bit of context, what tpc-h queries can Acero and Isthmus round-trip?
From what I can see in the repo, acero is a consumer-only engine, but I'm not exactly sure how to consume/produce substrait plans from isthmus (I also haven't heard about isthmus before, so any ref pointers would be nice).
If these systems are (or are close to) a ground truth of accepted substrait plans, I'm of course happy to add them to our own substrait CI (We already have a bit on Ibis), since the acero consumption code is in this repo, having it in our CI and going from there should be pretty straightforward, and I can start working on adapting to it. :-).

Hey guys,
so for a bit of context, what tpc-h queries can Acero and Isthmus round-trip?
From what I can see in the repo, acero is a consumer-only engine, but I'm not exactly sure how to consume/produce substrait plans from isthmus (I also haven't heard about isthmus before, so any ref pointers would be nice).
If these systems are (or are close to) a ground truth of accepted substrait plans, I'm of course happy to add them to our own substrait CI (We already have a bit on Ibis), since the acero consumption code is in this repo, having it in our CI and going from there should be pretty straightforward, and I can start working on adapting to it. :-).

Hey Pedro, here's the repo with Isthmus: https://github.com/substrait-io/substrait-java/tree/main/isthmus
The TPC-H substrait plans in this repo were generated using Isthmus and then modified to read data from parquet files since that's is what Acero currently support:
https://github.com/substrait-io/consumer-testing/tree/main/tests/integration/queries/tpch_substrait_plans
(I know there is a plan for duckdb to add that support: https://github.com/duckdblabs/substrait/issues/3).
By default Isthmus has named tables in the substrait plans though, similar to duckdb produced substrait plans, so you may be able to run those already.

Another good idea might be to run the DuckDb (or whatever producer we are testing) plans through the validator.

Hi @westonpace, we already do that in the DuckDB CI, all tpc-h queries go through the validator.
Feel free to adapt the code https://github.com/duckdblabs/substrait/blob/main/test/python/test_validator.py

Thanks @pdet
Just added a test to check the validity of substrait plans generated via isthmus as well as duckdb:
https://github.com/substrait-io/consumer-testing/pull/3/files#diff-41f46f832fcb78dd7d4458cc161defc9bf5e50da0e9e0f570e868566f0b43d69
Looks like Isthmus only need warnings to be overridden, but duckdb needs a few errors to be overridden to pass the validator.

 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.


(fix/fb):alert inside modal

fixes #775
The alert message has been shifted inside modal.
However I was not able to produce the error locally, so its requested to produce the error locally while reviewing it. and please let know if it works fine.
PS: If anyone gets to know how to produce error, I would love to learn it as well.

PS: If anyone gets to know how to produce error, I would love to learn it as well.

e.g. this gets triggered when the wallet is not "Fidelity Bond"-enabled, when the wallet is created via the CLI and the users presses n on the question Would you like this wallet to support fidelity bonds? (https://jamdocs.org/FAQ/#how-to-import-an-existing-wallet-via-the-command-line).
We could load the timelocked address immediately after selecting the date, so the error would get triggered earlier in the process. Currently the user selects a UTXO and only then the address is loaded.. maybe this can be considered in #650?


Docker toolbox - STATUS_ACCESS_VIOLATION

Win7 x64
I installed the program DockerToolbox-1.10.0.exe. No error displayed.
I then launched the Docker Quickstart Terminal for the first time by clicking on the desktop icon.
I get a crash:  STATUS_ACCESS_VIOLATION at rip .....
Please see attached screenshot for details (i couldn't OCR it sorry).
https://dl.dropboxusercontent.com/u/1307844/2016-02-06%2017_27_05-Docker%20Quickstart%20Terminal.png

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

Thanks for reporting @matt32106, unfortunately this is the wrong issue tracker because toolbox is in a separate repository; can you open this in that issue tracker? https://github.com/docker/toolbox/issues


⚠ Fortnite has degraded performance

In 00c26e3, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1442 ms

Resolved: Fortnite performance has improved in b7f66f9.


Unable to access api.nuget.org from specific network

Connections to https://api.nuget.org/v3/index.json appear to be refused by the nuget.org. it seems our IP addresses are blocked.  due to this development activities are getting impacted. can you help in fixing it?

Hi @satripat , can you provide additional information regarding the issue?

What is the error you are seeing?
What is your location?
Please provide us with an MTR log according to the instructions here: https://docs.microsoft.com/en-us/nuget/policies/nuget-faq#managing-packages-on-nugetorg
What is your IP?

To avoid placing this information publicly, please send an e-mail with the details to<EMAIL_ADDRESS>

Hi @skofman1 ,
i have sent an email to<EMAIL_ADDRESS>with the details you requested. please help us fixing this issue.
thank you.

Another similar issue reported on twitter: https://twitter.com/ganesanarun21/status/864685044610211840

This issue is fixed. Thank you for your help. :+1:

hello team, this issue is back again. could you please look  into it?
thank you.

I have similar issue for unable access api.nuget.org. Please fix it,i will sent an email to<EMAIL_ADDRESS>with the details information.

I have similar issue for unable access api.nuget.org. Please help to fixing it,i will sent an email to<EMAIL_ADDRESS>with the details information. Thanks.


Inputs and textareas need better focus states

The gray glow doesn't look good, and one of the first things I'll do in a fresh project is disable that glow effect.

We didn't add it if Foundation Apps so...
We set the default to $input-include-glowing-effect: false !default;

Actually, I've been battling this issue for several hours now. Foundation's focus glow overrides browser's glow on text and textarea controls but not on select control. 1) How do we apply Foundation's glow on the select control? Or 2) How do we turn off Foundation's inconsistent glow override and restore browser's default glow over all controls (preferred!)? Thanks.


Random CUDA OOM error when starting SLURM jobs

🐛 Bug
When submitting jobs to SLURM, some jobs (around 1-2% of them) will randomly encounter a CUDA OOM error during the setup prior to training. I can confirm it's not an issue with the configuration of the job vs hardware itself, since I can resubmit the exact same job script and it will work. I also know that my resource consumption is not even close to the limit, since the jobs that do work use ~10Gb on 32Gb GPUs.
I already checked with nvidia-smi that the GPUs I get allocated are empty at the start of the training, confirming that it's not a problem with the cluster:
echo $(nvidia-smi --query-gpu=memory.used --format=csv,noheader) # At the beginning of the script
# Output: 0 MiB

Here is the output I get when my jobs crash:
CometLogger will be initialized in online mode
GPU available: True, used: True
TPU available: False, using: 0 TPU cores
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
Using native 16bit precision.
Traceback (most recent call last):
  File "my_code.py", line XX, in XX
    trainer.fit(model)
  File "my_virtualenv/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 424, in fit
    self.accelerator_backend.setup(model)
  File "my_virtualenv/lib/python3.8/site-packages/pytorch_lightning/accelerators/gpu_accelerator.py", line 36, in setup
    model.cuda(self.trainer.root_gpu)
  File "my_virtualenv/lib/python3.8/site-packages/pytorch_lightning/utilities/device_dtype_mixin.py", line 124, in cuda
    return super().cuda(device=device)
  File "my_virtualenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 463, in cuda
    return self._apply(lambda t: t.cuda(device))
  File "my_virtualenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 359, in _apply
    module._apply(fn)
  File "my_virtualenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 359, in _apply
    module._apply(fn)
  File "my_virtualenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 359, in _apply
    module._apply(fn)
  [Previous line repeated 2 more times]
  File "my_virtualenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 381, in _apply
    param_applied = fn(param)
  File "my_virtualenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 463, in <lambda>
    return self._apply(lambda t: t.cuda(device))
RuntimeError: CUDA error: out of memory

Please reproduce using [the BoringModel and post here]
Unfortunately, given the nature of the bug, it's not something I can reproduce with the BoringModel.
To Reproduce

Here are any of the SLURM parameters that could be relevant (only excludes logging and job time):
#SBATCH --gres=gpu:v100l:1
#SBATCH --cpus-per-task=8
#SBATCH --mem=48000M

The related non-default parameter to the trainer and dataloaders are the following:
Trainer(..., benchmark=true, precision=16, ...)

# Inside the lightning module
DataLoader(..., shuffle=True, num_workers=7, pin_memory=self.on_gpu, ...)

From experience, I set num_workers to 1 lower than the number of CPUs I request. On my local machine, that's never caused me any issues.
Expected behavior
SLURM jobs should not encounter random CUDA OOM error when configured with the necessary ressources.
Environment
PyTorch and CUDA are provided by the cluster's manager, so that they are optimized for the hardware. PyTorch Lightning I installed myself using pip.

CUDA:

GPU:

Tesla V100-SXM2-32GB

available:         True
version:           10.2

Packages:

numpy:             1.19.1
pyTorch_debug:     True
pyTorch_version:   1.7.0
pytorch-lightning: 1.0.4
tqdm:              4.50.2

System:

OS:                Linux
architecture:

64bit
ELF

processor:
python:            3.8.0
version:           #1 SMP Tue Feb 4 23:02:59 UTC 2020

Additional context
The PyTorch version reported here is 1.7, but I updated it just yesterday. I encountered the reported bug using both PyTorch 1.6 and 1.7.
EDIT: Fixed mistakes when detailing trainer & dataloader arguments.

I encounter similar issues:

for some, but not all jobs (about 50%) I get an OOM error right at the beginning of training.
If a job doesn't immediately crash, memory usage is about ~75% (about 17/24 GB).

@nathanpainchaud num_workers is not an argument to pl.Trainer, I assume you mean it to be the argument to your DataLoader?

@nathanpainchaud num_workers is not an argument to pl.Trainer, I assume you mean it to be the argument to your DataLoader?

Yeah, my bad. I'll edit the post to make it clear.

Had a similar issue, and tried different torch versions (1.4 ,1.5, 1.7)

Had a similar issue, and tried different torch versions (1.4 ,1.5, 1.7)


(game management) high level goal have game list view be a grid of game cover/posters (owen, patrick, daniel)

We will work on making a game list view for the games in the Chigame database. The listview will include the name of the game and a cover photo.

This issue requires we first complete the game model, #92. It would also benefit from having fixtures, #98.
Regardless, I was able to make a protoype using only a list of images. See below:
https://github.com/uchicago-cs/chigame/assets/69015620/1a9a01c2-2a76-4fd7-b572-fc81837f7c39
Features added:

view and url routing
css grid
game item expands on hover

Features missing:

linking to detail pages
displaying name and images actually associated with things in our database

We should also find a good Image Not Found image.

Also, it is worth thinking about where to store images. For the time being we can just link to BGG images but I imagine we eventually want the capacity to have ChiGame specific images stored somewhere. I am not sure what the best way of doing this is. Perhaps this could be its own issue.

Was looking into Bootstrap for a different issue (since bootstrap is already loaded into the base template) and thought Bootstrap cards could be helpful for this.

Brought game-management/browse branch back up to date with dev. I deleted the placeholder image data in the browse_view view since I felt that this should be covered by the fixtures from issue #98.
I left game_browse.html and game_list.html alone and wrote a new game_grid.html using Bootstrap cards. Leaving it as an open question what we should keep and delete for the future. This is what it looks like:

A few other considerations:

Should we have match create and join buttons on the cards?
Should we have a more details link, or hover and click on the card to get the game detail, or neither?

Should we have match create and join buttons on the cards?

For now, it might be best to just have a PLAY button on the games detail page that ships off the user to matches and tournament land (given that we are not exactly sure how those teams want to handle this).

Should we have a more details link, or hover and click on the card to get the game detail, or neither?

Hover and click to go the page would be by vote.

Nice UI btw!

Closing PR comment:

We developed a page featuring a grid layout to showcase games.
This involved crafting a template page enhanced with nice CSS. Both @frowenz and @willcravitz worked on this page. My contribution was the initial creation of the basic grid layout, while @willcravitz enhanced it by integrating bootstrap cards for a more visually appealing. I made some final adjustments to these cards, such as better responsiveness and consistent positioning of the titles.
Looking ahead, there are a couple of areas for improvement:
The descriptions currently have no length limit, which needs to be addressed.
The page's mobile responsiveness is currently suboptimal and requires enhancement.


React to aspnet/Razor#182 fix

use [HtmlAttributeNotBound] to make tag helper properties public
properties remain invisible in Razor

/cc @NTaylorMullen @DamianEdwards

:shipit:

c162209


Admin UI updates

Add finishing touches to the Admin UI.

Include links to Api-root and Api Swagger-documentation.
Update missing translations

Migrations added now.


Too many repeated logs when TiDB OOM

What did you do?
What did you do?
TiDB OOMs and leaves some uncommitted txn, TiCDC prints following repeated logs.
Also there are 128k regions being captured.
[2021/12/27 16:38:33.251 +08:00] [WARN] [region_worker.go:743] ["The resolvedTs is fallen back in kvclient"] ["Event Type"=RESOLVED] [resolvedTs=430067711011979653] [lastResolvedTs=430069518390002640] [regionID=30423658]
...
[2021/12/21 16:38:33.679 +08:00] [INFO] [lock_resolver.go:123] ["resolve lock successfully"] [regionID=46531755] [maxVersion=429936057445515264]
...
[2021/12/21 16:38:33.679 +08:00] [WARN] [region_worker.go:377] ["region not receiving resolved event from tikv or resolved ts is not pushing for too long time, try to resolve lock"] [regionID=41821223] [span="[7480000000000019ffe15f72a400000006ff0fed660000000000fa,<PHONE_NUMBER>000019ffe15f72a800000000ff7102130000000000fa)"] [duration=6h7m30.25s] [lastEvent=1.105348172s] [resolvedTs=429930279726220197]
...

What did you expect to see?
No more than 100 repeated logs.
What did you see instead?
See above.
Versions of the cluster
Upstream TiDB cluster version (execute SELECT tidb_version(); in a MySQL client):
v5.1.2

TiCDC version (execute cdc version):
v5.1.2

https://github.com/pingcap/tiflow/pull/7251


Keys in key file

Hello Mohamed,
Please note: This was seen on an automated scanning report. I'd like to report it, but it can be a false positive.
I'd like to report an issue regarding the edge key file. Its easy to crack the password and assume identity 'Mohamed Taman' unless for the project requirements we need to generate our own key file.
To Reproduce
Expected behavior
The file shouldn't open.
Screenshots
Please let me know if you'd like the file location.

If you feel this is a false positive, please feel free to close the issue..
If not, please change the respective credentials..
🙂

@Ajwani97 Thanks for reporting this, but could you elaborate more, and give your suggestions.

Hello,
Sorry for the late reply.. It's the edge.p12 file in keystore dir. Please change the file password to a strong one. 🙂


Changing a tag is unacceptable

The tag v1.0.1 was changed from 99c236d34e9f4cff9f700c9913487c3c7515f220 to cea663e7db48bee9e6fc6d6d17f4927d46db1840.
However distributions use a hash to check a tarball's integrity and such a change leads to broken packages.

Yeah your right. I reverted the tag to https://github.com/maxbachmann/jarowinkler-cpp/commit/99c236d34e9f4cff9f700c9913487c3c7515f220 and released the version number fix as v1.0.2

Thanks!


[DO NOT MERGE] BAU: stop pipeline stalling if test fails

Currently, if test fails, then the release will remain in the pre-release state. This means that it will not get picked up by the new run of the pipeline. Thus, the next run of package will just republish the old release and thus test will never trigger again.
We discovered this bug in the DCS pipeline, which is very similar to the proxy node's. See https://github.com/alphagov/doc-checking/commit/c32445c95c055545228013904f2ca25bafafd769 for the equivalent change to the DCS pipeline.

I've already solved this problem in our pipeline. We have the chart which is the last-release in your PR and a release which is the release being prepared. I will review this to see if we've missed anything.

I think the problem is that the 'generate_release-version' task uses 'release' to get the version number of the previous release. Happy to discuss in person if that'd be easier...

We've got a different solution to this so this change is not needed. Closing PR.


negative anchorPoint and offset not supported

I can't seem to type in a negative number for either anchorPoint or offsetX/offsetY.

Thanks for your feedback @staly-sfmta! We'll take a look.

@staly-sfmta sorry for the delayed response - as a workaround for now, you can type the number you want first, and then add the negative sign in front of it.


Add BasicAuth support into the example app

Example usage:
go run ./examples/instrumentation/go-synthetic/ --basic-auth-username=admin --basic-auth-password=pw
curl localhost:8080/metrics -u "admin:pw"

Gonna let @macxamin handle this - dropping myself.

Can you add instructions on how to use it to the README? So we can have a record on how to run with all the different auth modes?


Investigate Better Naming Conventions

There are Roughly 5 naming conventions I'll need for this library.

How to name the low level composables.
How to name the data returned from low level composables.
How to name the configurations provided to low level composables.
How to name the high level composables (composable builders)
How to name the data returned from high level composables.

Low Level Composables
We need a few 'low level composables' to do data management.
For example:

We have the base method to wrap an async function with executing/executed.
We have the status method to wrap an async function with status/error/result.
We have the form method to wrap an async function with an injectable form.
We have the cache method to wrap an async function with cache functionality.
Any and all combinations.

High Level Composables
These are our composable builders, and will primarily be a method to alias a function injecting the async method. In simpler terms, we define a method fetchUser as the composable useLowLevelComposable with the method getUserAsync injected.
Another situation for High Level Composables is to inject default configurations and default form values.
Configurations
Luckily Configurations in High Level Composables should be passed directly to the low level configurable, so we don't need to have a second naming convention.
Return Types
The naming conventions for low level and high level compostables should differ. (Does the execution inject a method, or is it going to be the composable itself)

I think I partially answered this in the issue.
Everything in this package falls under two categories:

Composables.
Composable Builders.

Under each of these main categories, there are features, for example appending status information.
In order for the pipeline feature to work, we'll need the execution order to be agnostic. For example, we may have
useStatus(useMethod, ...) or we may have useStatus(useCache(useMethod, ...), ...)

Or, the pipelined form:
pipe(method).cache().status()

I'd conclude that the naming convention for composable category to be: use-{feature}-reference with use-execution-reference as the base composable.
For testing, we can have a method that automatically uses the base composable. These would use the naming convention use-{feature}-reference-execution
As for the second category, just add the suffix builder making the naming convention use-{feature}-reference-builder
Next, for the return types, keep them the same as the composable name, omitting use and using PascalCase. Making the naming convention:
{Feature}Reference and {Feature}ReferenceBuilder
Finally, for Configurations, use {Feature}Config If ever a configuration needs to exist for composable builders, use {Feature}ConfigBuilder

to clarify, composable should use camelCase, and file names should use kebab case for all files.

Secondary update, let's use use-{feature}-composable instead of use-{feature}-reference-builder.
This will reduce lengths, improving the DX. Further, it'll more clearly indicate that the returned value is a composable, not the execution of a composable.


For make_trade, is the gas fee in wei or gwei?

make_trade() hasn't any gas-related params

I’m confused, then what is the fee parameter?

https://docs.uniswap.org/concepts/V3-overview/fees


Removed memori websites that give 404 since they are no longer using Volto

Would you please also submit a PR in https://github.com/collective/awesome-volto#websites-built-with-volto? That triggers the Marketing Team to update plone.org as well.

@sneridagh merging this change to the README, I had to remove the links from Nicola since they gave a 404 because those sites are no longer using Volto, they are now using Astro as you can see from the redirect https://memori.ai/en/


Explicitly check for old cassette names

Instead of searching through the testdata directory, looking for
matches, explicitly check if a cassette with an old name exists.
For some reason this path is triggered during test discovery by PyTest
and the search for the files slowed down the test collection process.
This speeds up the process, though probably it's not the right solution:
datafile names shouldn't be retrieved during test collection. Or at
least, I cannot find a reason why they are :)
Signed-off-by: Hunor Csomortáni<EMAIL_ADDRESS>

recheck


No debain image found in docker hub

There is no debain image on https://hub.docker.com/_/amazoncorretto

https://github.com/corretto/corretto-docker/issues/24#issuecomment-1113773155


ExecutionPolicy tag for reducers and accumulators

I propose something akin to the STL's ExecutionPolicies' for xtensor (http://en.cppreference.com/w/cpp/experimental/parallelism).
We could add a tag to the reducer and the (planned) accumulator that has 3 options:

Lazy
Greedy (immediate evaluation)
Cached

Each with their own performance characteristics.
Lazy would be perfect for sparse access. Greedy great for times when you need all of the expression evaluated anyways (and this would also serve as base to overload assign). And cached when you access sparse values multiple times.

I like this idea. What would be the name ? CachingPolicy ? EvaluationPolicy ? I think we should not choose ExecutionPolicy because people would expect a policy for choosing between parallel and sequential computations.

Thanks for starting this conversation. I really like the idea. Curious to see where this will lead!

How about evaluation_strategy? That would be pretty distinct from ExecutionPolicy :)


Protocol: AttributeError: 'NoneType' object has no attribute 'ReadUntilClose'

Hi,
I will get an error, when I run two error command:
Like this:
import os.path as op

from adb import adb_commands
from adb import sign_m2crypto

# KitKat+ devices require authentication
signer = sign_m2crypto.M2CryptoSigner(
    op.expanduser('~/.android/adbkey'))
# Connect to the device
device = adb_commands.AdbCommands.ConnectDevice(
    rsa_keys=[signer])
# Now we can use Shell, Pull, Push, etc!
# for i in xrange(10):
#   print device.Shell('echo %d' % i)

print device.Shell('ls 333')
print device.Shell('ls 222')
print device.Shell('ls 111')
device.Close()

result:
/usr/bin/python2.7 /home/ligf/PycharmProjects/test-adb/tmp.py
ls: 333: No such file or directory
Traceback (most recent call last):

  File "/home/ligf/PycharmProjects/test-adb/tmp.py", line 18, in <module>
    print device.Shell('ls 222')
  File "build/bdist.linux-x86_64/egg/adb/adb_commands.py", line 227, in Shell
  File "build/bdist.linux-x86_64/egg/adb/adb_protocol.py", line 377, in Command
  File "build/bdist.linux-x86_64/egg/adb/adb_protocol.py", line 405, in StreamingCommand
AttributeError: 'NoneType' object has no attribute 'ReadUntilClose'

Process finished with exit code 1

It may be a bug at here:
adb_protocol.py
    if cmd == b'CLSE':
      # Device doesn't support this service.
      return None
    if cmd != b'OKAY':
      raise InvalidCommandError('Expected a ready response, got %s' % cmd,
                                cmd, (remote_id, their_local_id))
    return _AdbConnection(usb, local_id, remote_id, timeout_ms)

BRs
/Eismog

The same problem. Has it been solved?
My phone is Huawei Honor 8.

Can you add this between line 253 and 254 of adb/adb_protocol.py: print command
Then run it again and paste the output here, please. This should only be happening if the device is either sending two CLSE responses or the library isn't handling the first CLSE in time.

Hi
the print output is here. The number 0 is the output of the first loop, the item in buckets are the output of print(command, arg0, arg1, bytes(data))
('AUTH', 1, 0, '\r\xbf_\xa5]\xbdUi\xbc\x02\x10n\x8f\xe2\xf9p\x17I:Y')
('CNXN', 16777216, 4096, 'device::ro.product.name=FRD-AL00;ro.product.model=FRD-AL00;ro.product.device=HWFRD;features=cmd,shell_v2')
('OKAY', 8, 1, '')
('WRTE', 8, 1, '0\n')
('CLSE', 8, 1, '')
0

('CLSE', 8, 1, '')
Traceback (most recent call last):
  File "test.py", line 24, in <module>
    print device.Shell('echo %d' % i)
  File "build/bdist.macosx-10.12-x86_64/egg/adb/adb_commands.py", line 227, in Shell
  File "build/bdist.macosx-10.12-x86_64/egg/adb/adb_protocol.py", line 386, in Command
  File "build/bdist.macosx-10.12-x86_64/egg/adb/adb_protocol.py", line 414, in StreamingCommand
AttributeError: 'NoneType' object has no attribute 'ReadUntilClose'

I am still affected by this issue

File "/usr/lib/python2.7/site-packages/adb/adb_commands.py", line 366, in Shell
timeout_ms=timeout_ms)
File "/usr/lib/python2.7/site-packages/adb/adb_protocol.py", line 406, in Command
return ''.join(cls.StreamingCommand(usb, service, command, timeout_ms))
File "/usr/lib/python2.7/site-packages/adb/adb_protocol.py", line 434, in StreamingCommand
for data in connection.ReadUntilClose():
AttributeError: 'NoneType' object has no attribute 'ReadUntilClose'

And my adb_protocol.py already contained
    if cmd == b'CLSE':
      # Some devices send two CLSEs
      cmd, remote_id, their_local_id, _ = cls.Read(usb, [b'CLSE', b'OKAY'],
                                                   timeout_ms=timeout_ms)
      # Device doesn't support this service.
      if cmd == b'CLSE':
        return None

Any help would be greatly appreciated as it seems to fail randomly and during periods of high ADB traffic.

Bump. This is plaguing my app like nothing else.

After having a fresh google around PR #151 seems to of fixed it up.

@alxhoff Thanks for the confirmation.  If Google loves open source so much it'd be great if they gave developers of their open-source projects the time necessary to review and merge bug fixes to them 😀 😀 😀
For myself I'll probably be forced to distribute my own fork of this package.


(T3) Bulk transactions with Concordium Client

confirmed:T3
address:3fXby4wPXezD5m1u4GKanE2asLDNBCoAShKd4JBVki4JwrXLfd

confirmed:T3
address:3fXby4wPXezD5m1u4GKanE2asLDNBCoAShKd4JBVki4JwrXLfd


DwC mappings for fieldNumber vs eventID are inconsistent on import/export

On import, fieldNumber maps to verbatim_trip_identifier, and eventID produces a Identifier::Local::TripCode object. However, on export, Identifier::Local::TripCode is used for fieldNumber and verbatim_trip_identifier isn't used.
Can we change this so that import/export behavior is consistent?
Edit: I see that verbatim_trip_identifier is basically never used or exposed.
What about exposing collecting_event_id for eventID and leaving Identifier::Local::TripCode for fieldNumber? To me, this lines up better with the DwC definitions (eventID being computer/numerically-generated, while fieldNumber relates to the personal identifier given by the collector)

Thanks @LordFlashmeow.
Perhaps we need a new local identifier to improve semantics?  @LocoDelAssembly thoughts?
DwC File        TW Serialization                         Export
fieldNumber  -> Identifier::Local::TripCode          ->  fieldNumber = Identifier::Local::TripCode ? Identifier::Local::TripCode : verbatim_trip_identifier
eventID      -> Identifier::Local::CollectingEvent   ->  eventID = Identifier::Local::CollectingEvent ? Identifier::Local::CollectingEvent : nil

Note that I'm very hesitant to expose TW internal ids as verbatim values in the export, i.e. CollectingEvent#id should not go direclty into eventID if a local identifier doesn't exist.   I'd rather write routes/services that can infer based on the DwC OccurrenceID.  Examples coming.
Let me know if this looks acceptable and I'll prioritize the back-end code on a new branch.

I'm not necessarily following yet (still fuzzy). I can say that in botany, they often have no "trip code" at all. They don't use dwc:fieldNumber, rather they use dwc:recordNumber which is the unique number (unique to the collector) assigned by the collector for that specific object collected. Botanists might have a collecting event id. Not sure they'd map it to fieldNumber. FieldNumber tends to be used by non-botanists (in my experience).

Currently eventID is not necessarily a Identifier::Local::TripCode if you provide a specific Identifier::Global type in TW:Namespace:eventID (e.g. Identifier::Global::Uri, not really a namespace per se but if the importer sees that it knows you want different kind of identifier).
I'm not so sure about fieldNumber identifiers, we need to pair with something else, otherwise I believe collisions will occur pretty often. These are IDs that are assigned perhaps in a notebook (paper one, not computer) and pencil, and uniqueness is a somewhat soft requirement (despite it is required property to make it usable as an ID).
fieldNumber:  An identifier given to the event in the field. Often serves as a link between field notes and the Event.
Wonder if it is supposed to be considered verbatim identifier given its definition somewhat implies it might not be the definitive one?

Yes @LocoDelAssembly you wrote:

I'm not so sure about fieldNumber identifiers, we need to pair with something else, otherwise I believe collisions will occur pretty often. These are IDs that are assigned perhaps in a notebook (paper one, not computer) and pencil, and uniqueness is a somewhat soft requirement (despite it is required property to make it usable as an ID).

fieldNumbers will often only be unique to the person in-the-field, not global unique. And they may be different from some eventID (which has a greater expectation uniqueness).

fieldNumber: An identifier given to the event in the field. Often serves as a link between field notes and the Event.
Wonder if it is supposed to be considered verbatim identifier given its definition somewhat implies it might not be the definitive one?

The fieldNumber is more-or-less equal to dwc:recordNumber. It would be "definitive" for the collector (as in: should be unique in that person's notebook -- but not globally unique).

PIcking up some of this again.

fieldNumber is more-or-less equal to dwc:recordNumber.

While part of a similar process they are clearly semantically different one identifies an Event (CE in TW), the other an Occurrence (CO/FO in TW).

Closing to work on in #3800.


Add support for OptimizelyX context #551

RFC for adding support for an Optimizely X summary context. Currently the Optimizely summary context does not work due to changes in the Javascript API between 'Classic' and 'X'.
Note: This context doesn't currently existing in Iglu Central though it's a pretty simple schema. I think it makes sense to have this as a separate schema (rather than adding to getOptimizelySummary) as Optimizely consider it a separate product and some fields are either not accessible or applicable between Optimizely Classic and Optimizely X.
Would love to get your thoughts on this @chuwy @alexanderdean

Thanks for putting this together @miike - could you open a companion PR into Iglu Central too?

Companion PR to add in Optimizely X summary schema https://github.com/snowplow/iglu-central/pull/495

Scheduling into 2.8.0 - exciting!

@miike has signed the Software Grant and Corporate Contributor License Agreement

Great, thanks @alexanderdean!

Closing in favour of #567

Removing milestone


[FEATURE] HEX Color

Is your feature request related to a problem? Please describe.
In the newer versions it is now possible to use rgb and hex colors but unfortunately I can't do it in this plugin yet.
Describe the solution you'd like
Enables hex and rgb colors in all config files.
Describe alternatives you've considered
N/A
Specific version
1.16-Newest Versions

Thank you for your excellent suggestions! Having support for hex colors is a must for new server versions, so I will also be including this in the next release.

Ohh it would also be a good idea to turn off the br/off indicator item in the menu (Red_dye, lime_dye). Instead a place holder would indicate if the option is on or off.


Adding email address to info-unit molecule

Adding email address to info-unit molecule
Changes

Modified  cfgov/jinja2/v1/_includes/molecules/contact-email.html to use email.text before email.url.

Modified  cfgov/jinja2/v1/_includes/molecules/info-unit.html to use display email address if link.text contains and email address.

Testing

Create a Sublanding page via Wagtail.
Add a Half Width Link Blob Group.
Enter example.com in the link text field. Preview.
Notice that the link has the email formatting.

Review

@richaagarwal
@chosak
@virginiacc

Screenshots

Todos

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

In order to get this to work properly, I had to set an email address (like<EMAIL_ADDRESS>for both the link Text and Url fields. This generates the "EMAIL" header and a correct link like:
<a href="mailto:user<EMAIL_ADDRESS>
If I set the text to<EMAIL_ADDRESS>but leave the URL as the default /, it produces the correct visual markup, but the link is wrong:
<a<EMAIL_ADDRESS>

If I set the text to<EMAIL_ADDRESS>but leave the URL as the default /, it produces the correct visual markup, but the link is wrong:

Fixed in https://github.com/cfpb/cfgov-refresh/pull/2281/commits/5c9d8bf48eb34e3d10488d6283af85cd38c40c80. I've reverted the change to contact-email.html and instead just assigned link.url the value of link.text. Currently, only the link.text is required by default.

Thanks. Besides the email address check (which I'm not sure where it should live), this looks good to me. 👍


PMID:19581297 publication page message

https://www.pombase.org/reference/PMID:19581297
I put this through curation yesterday. It is classed as 'curatable' because I don't know how else to classify it  (structure is just a temporary bin to find the structure papers that need to go through curation).
I added genes, but no annotation, but I would like to keep it as 'curatable' because it has been read.
I submitted with the message "no data of avaiable types'.
This has the message:
This publication has no annotations in PomBase because it hasn't been curated yet. Please contact the curators if you want to contribute annotations for this paper.
but it should really be somthing like "This publication has no annotations in PomBase because it has no data of available types"

Actually we need to check this one. The structure presented in the image is S. cerevisiae Tom70. The linked gene is  pombe ssa1, one of the heatshock proteins. MAybe these are incorrectly flagged in the pdb?

It's fixed for tonight's load so on Tuesday morning it should say:
This publication has no annotations in PomBase because the data it contains either cannot be associated with individual genes, or cannot be represented by currently available annotation types.


fix: ignore Jinja rules in Jinja escaped blocks

Ignore Jinja specific rules in Jinja escaped blocks.
Fixes #201

Approved. Merge at will

Approved. Merge at will


reth interrupted by SIGSEGV

Describe the bug
error: reth interrupted by SIGSEGV, printing backtrace
reth(+0x22ebbd6) [0x5561b507ebd6]
/usr/lib64/libc.so.6(+0x43850) [0x5561b2a43850]
reth(+0x2439fbc) [0x5561b51ccfbc]
reth(+0x243a2b5) [0x5561b51cd2b5]
reth(+0x24abd84) [0x5561b523ed84]
reth(+0x24bf62a) [0x5561b525262a]
reth(+0x26bf911) [0x5561b5452911]
reth(+0x26bfea1) [0x5561b5452ea1]
reth(+0x295f48b) [0x5561b56f248b]
reth(+0x2967904) [0x5561b56fa904]
reth(+0x29527c2) [0x5561b56e57c2]
reth(+0x29524f0) [0x5561b56e54f0]
reth(+0x292484b) [0x5561b56b784b]
/usr/lib64/libc.so.6(+0x9af7a) [0x5561b2a9af7a]
/usr/lib64/libc.so.6(__clone+0x40) [0x5561b2b27a10]
Steps to reproduce
Reth v1.0.5 crashes intermittently when built from source.
Node logs
https://gist.github.com/h0m3us3r/2a60e6e2c70435a34088308cd049c446
https://gist.github.com/h0m3us3r/20aecd434348df5f03223b879f48af45
https://gist.github.com/h0m3us3r/5f56eeb18d8a3e622f7a2e0aeab65e52

Platform(s)
Linux (x86)
What version/commit are you on?
v1.0.5 (603e39ab74509e0863fc023461a4c760fb2126d1)
What database version are you on?
Current database version: 2
Local database version: 2
Which chain / network are you on?
eth mainnet
What type of node are you running?
Archive (default)
What prune config do you use, if any?
none
If you've built Reth from source, provide the full command you used
RUSTFLAGS="-C target-cpu=native" cargo build --profile maxperf --features jemalloc,asm-keccak
Code of Conduct

[X] I agree to follow the Code of Conduct

This does not seem to happen on binary releases or docker images.


Mapping model between custom styles and modern styles

Some publishing portals use custom styling...foresee a mapping model so that a custom style can be translate to something that works on a modern page.

Closing as this has not come up at all...


Need help on setup

I'm installing on my macOs Serria 10.12.4. I'm using python 3.6.
Pip version : pip 9.0.1 from /usr/local/lib/python3.6/site-packages (python 3.6)
When I run pip3 install -e .
But it show me this error. Anyone know how to fix this?
Build using cmake ...
Scanning dependencies of target dlib
[  0%] Building CXX object dlib_build/CMakeFiles/dlib.dir/base64/base64_kernel_1.cpp.o
[  1%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bigint/bigint_kernel_1.cpp.o
[  2%] Building CXX object dlib_build/CMakeFiles/dlib.dir/bigint/bigint_kernel_2.cpp.o
.....
[ 91%] Building CXX object CMakeFiles/dlib_.dir/src/other.cpp.o
/private/var/folders/c6/vl7hxs354zjfz4qdgmn258900000gn/T/pip-build-ja5_ssrg/dlib/tools/python/src/other.cpp:56:1: error: reference to 'list' is ambiguous
list _max_cost_assignment (
^
 /Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/list:777:29: note: candidate found by name lookup is 'std::__1::list'
class _LIBCPP_TYPE_VIS_ONLY list
^
/usr/local/include/boost/python/list.hpp:57:7: note: candidate found by name lookup is 'boost::python::list'
class list : public detail::list_base
^
/private/var/folders/c6/vl7hxs354zjfz4qdgmn258900000gn/T/pip-build-ja5_ssrg/dlib/tools/python/src/other.cpp:72:11: error: reference to 'list' is ambiguous
const list& assignment
^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/list:777:29: note: candidate found by name lookup is 'std::__1::list'
class _LIBCPP_TYPE_VIS_ONLY list
^
/usr/local/include/boost/python/list.hpp:57:7: note: candidate found by name lookup is 'boost::python::list'
class list : public detail::list_base
^
2 errors generated.
make[2]: *** [CMakeFiles/dlib_.dir/src/other.cpp.o] Error 1
make[1]: *** [CMakeFiles/dlib_.dir/all] Error 2
make: *** [all] Error 2
 error: cmake build failed!

same problem. need help please..

I'm having exactly the same problem!

I remove all the version of setup.py
	install_requires=[
  'Keras',
 'editdistance',
'h5py',
'matplotlib',
'numpy',
'python-dateutil',
'scipy',
'Pillow',
'tensorflow',
'Theano',
'nltk',
 'sk-video',
 'dlib'
  ])
This seems work for me.


A backfill fetch error should be ignored as it can happen especially while making a remote call to get the remote cache

Please work on a PR description for next time!


[Feature] Refund

Description
This update enhances the Komoju-Magento plugin with the following key changes and improvements:

Addition of Customer Email and Name:

Added customer email and name to the hosted page URL parameters to provide better customer context.

Improved Refund Handling:

Implemented refund functionality to handle payment.refunded and payment.refund.created events more effectively.
Moved setTotalRefunded method outside of the for-loop block in payment.refund.created event processing to prevent duplication.

Code Cleanup and Refactoring:

Updated various namespaces and class references for consistency and readability.
Replaced deprecated methods

Detailed Changes
WebhookEventProcessor.php:

Set $baseTotalPaid = $this->order->getBaseTotalPaid();

Reason for Change:
Without setting baseTotalPaid, the refund logic was throwing errors. This is likely because the validation method validate checks if the base order refund exceeds the base total paid. If baseTotalPaid is not correctly set, this check can fail and cause errors when writing credit memo.

https://github.com/pepe1518/magento2/blob/master/vendor/magento/module-sales/Model/Service/CreditmemoService.php#L213
public function validate($entity)
{
    $messages = [];
    $baseOrderRefund = $this->priceCurrency->round(
        $entity->getOrder()->getBaseTotalRefunded() + $entity->getBaseGrandTotal()
    );
    if ($baseOrderRefund > $this->priceCurrency->round($entity->getOrder()->getBaseTotalPaid())) {
        $baseAvailableRefund = $entity->getOrder()->getBaseTotalPaid()
            - $entity->getOrder()->getBaseTotalRefunded();

        $messages[] = __(
            'The most money available to refund is %1.',
            $baseAvailableRefund
        );
    }

    return $messages;
}

Added logic to set the order state to complete if the total amount refunded matches the order's base grand total, which means when it is fully refunded. It is still set as processing based on the adobe commerce's spec.

if ($this->order->getBaseGrandTotal() == $totalAmountRefunded) {
    $this->order->setState(Order::STATE_COMPLETE);
    $this->order->setStatus(Order::STATE_COMPLETE);
}

Quote from: https://experienceleague.adobe.com/en/docs/commerce-admin/stores-sales/order-management/orders/order-status

A partially refunded order remains in Processing status until all ordered items (including refunded items) are shipped. The order status does not change to Complete until every item in the order has been shipped.

Set the shipping amount to 0 for the credit memo:

This ensures we only write the subtotal since the specific refunded items are unknown, and it avoids potential inaccuracies with shipping refunds.

Attachments
How it looks like after processing 3 partial refund

Please review these changes and merge the PR if everything looks good. Thank you!

@wyugue can you help us review this PR, please?

@Dinwy Were you able to provide setup instructions to @wyugue

@wyugue I wrote how to test in the previous PR, https://github.com/degica/komoju-magento/pull/15
However, I don't think it will work on or tested on Linux environment. If you see any error while setting up Magneto then go to Mark Shust's repo and follow the instruction written in there. After that, copy and paste src/app/code/Komoju to the $MAGENTO_INSTALL/app/code in the markshust/magento-php:8.3-fpm-2 image