[Issue]: nvidia-smi not found

Problem Description
The estimate_matmul functionality in Triton relies rather heavily on the underlying stats of the GPU. On CUDA platforms, this functionality is realised by calling nvidia-smi and then parsing the results. I see that this code is still present in this fork of Triton:
https://github.com/ROCm/triton/blob/35edd6a650e3f6a56e3c2db9a54fdc2f8a6505e1/python/triton/testing.py#L12
Would it be possible to get support added for rocm-smi here instead? This makes autotuning Triton kernels for GEMM etc much easier.
Operating System

CPU

GPU
AMD Instinct MI300X
ROCm Version
ROCm 6.0.0
ROCm Component
No response
Steps to Reproduce
No response
(Optional for Linux users) Output of /opt/rocm/bin/rocminfo --support
No response
Additional Information
No response

@joerowell We can add it later after we merge this fork with upstream.
For gemm tuning, we have a dedicated script to tune gemm kernels. You can refer to this README for more info and let me know if you have more questions.

@jataylo @micmelesse  This seems to be related to the nvsmi related test failure. What is the status of that test?

@jataylo @micmelesse This seems to be related to the nvsmi related test failure. What is the status of that test?

Hi, any update of rocm-smi version of estimate_matmul function ? I also encounter this problem

@jataylo @micmelesse This seems to be related to the nvsmi related test failure. What is the status of that test?

We got around this in inductor by hard coding flops for specific arch when we required this, @zhanglx13 @micmelesse may have considering writing amdsmi equivalents in triton.

@jataylo @micmelesse This seems to be related to the nvsmi related test failure. What is the status of that test?

We got around this in inductor by hard coding flops for specific arch when we required this, @zhanglx13 @micmelesse may have to consider writing amdsmi equivalents in triton.

Can you give me the relevant code paths?

@MARD1NO Not sure if this helps at all https://github.com/pytorch/pytorch/blob/main/torch/_utils_internal.py#L208
This how we had to get around the nvsmi call from triton previously, by hard coding max-clock rates for our gfx arches. Not ideal.


Revert "Merge pull request #608 from cmccoy/return-static-vms"

This reverts commit cd26531d7f77d1f281e039b65bc79d2c3522fb8c, reversing
changes made to c1e4945ad34bd47c409ebb55d538d22f5463a643.

See #608.

Closing, in favor of a fix suggested by @ehankland


Making the program Menu driven

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Making the program menu driven as the user can know all the available functions

!bounty 5


Making the image domain configurable

Checklist

[x] Update changelog in CHANGELOG.md.

@marians the operator creates App Operator for each workload cluster and this option would allow it to be created from the gsoci.azurecr.io registry.


clusterlogging pkg: lokistack handler added

@trewest @kononovn @achuzhoy @cdvultur PTAL

Looks good just a few cosmetic changes

Thanks!

@trewest @kononovn @achuzhoy @cdvultur PTAL

/lgtm


Local pull request success status testing

Docs Build status updates of commit 9ca31a6:
:clock10: Pending: waiting for processors (11 builds ahead of you)
:warning: Docs Build is busy, currently there are 11 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 9ca31a6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

E2E_DocsBranch_Dynamic/index.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


[IOTDB-361]Refactor session management

Remove uses of ThreadLocals in TSServiceImpl
TS_SessionHandles are replaced with sessionIds
TSOperationHandles are replaced with queryIds
Make queryId in TSServiceImpl generated by QueryResourceManager

To remove the constraint of serving each client with a separate thread, ThreadLocals in TSServiceImpl are removed. Instead, each session (connection) will be given a sessionId as the unique identifier. In every request that needs authentication, the sessionId must be passed along with to indicate who the client is.
This also fundamentally supports query management in the distributed version.

This pr make the code many times clearer than before :tada:

Remove uses of ThreadLocals in TSServiceImpl
TS_SessionHandles are replaced with sessionIds
TSOperationHandles are replaced with queryIds
Make queryId in TSServiceImpl generated by QueryResourceManager

To remove the constraint of serving each client with a separate thread, ThreadLocals in TSServiceImpl are removed. Instead, each session (connection) will be given a sessionId as the unique identifier. In every request that needs authentication, the sessionId must be passed along with to indicate who the client is.
This also fundamentally supports query management in the distributed version.

I have two questions to confirm:

Note that TSServiceImpl.currSessionId is still ThreadLocal<>(). So to be accurate, the use of ThreadLocal is not totally removed in TSServiceImpl.
generateQueryId is used in TSServiceImpl.executeUpdateStatement.  In generateQueryId method, QueryFileManager.addQueryId will new HashSet<>(). Is that a waste for update statements?

Remove uses of ThreadLocals in TSServiceImpl
TS_SessionHandles are replaced with sessionIds
TSOperationHandles are replaced with queryIds
Make queryId in TSServiceImpl generated by QueryResourceManager

To remove the constraint of serving each client with a separate thread, ThreadLocals in TSServiceImpl are removed. Instead, each session (connection) will be given a sessionId as the unique identifier. In every request that needs authentication, the sessionId must be passed along with to indicate who the client is.
This also fundamentally supports query management in the distributed version.

I have two questions to confirm:

Note that TSServiceImpl.currSessionId is still ThreadLocal<>(). So to be accurate, the use of ThreadLocal is not totally removed in TSServiceImpl.
generateQueryId is used in TSServiceImpl.executeUpdateStatement.  In generateQueryId method, QueryFileManager.addQueryId will new HashSet<>(). Is that a waste for update statements?

Yes. I realized later that this ThreadLocal is still needed to retrieve the resources when the client is down so I added it, but I forget to update my description.
Good point. I think the data queries and non-data queries should be treated differently.


Index all file- and variable-level attributes

This dumps all the attributes into a table, regardless of duplication, and makes them accessible on the NCFile and NCVar models through the .attrs dictionary property.
Closes #182

Other things still to do (I think):

[ ] Alembic migration (do we want to automatically index all attributes for existing files?)
[ ] we should have time_bounds available, so handle #111
[ ] while we're at it, change column type for #195

Should allow #212 to be resolved with a change to the explorer GUI

I'm actually just going to mark this ready with only a few changes: #111 seems a bit less trivial to handle correctly, so I'll tackle that in a separate PR.

You want me to take a look @angus-g?

Yes please! Just keep in mind the context of https://github.com/COSIMA/cosima-cookbook/projects/5

There are no tests for the new attribute functionality, or the new uniqueness constraint on variables?

Whoops, right you are!

I love tests the most when someone else writes (and debugs) them.

What is the status of this @angus-g? Ready to merge or still more to do?

Hi @angus, this issue is starting to cause problems for users - is this ready to merge or does it need more work?

I haven't really looked at this since whichever change I made last. I'm pretty sure it works, and at the very least it should add units as another uniqueness constraint... I'd say go ahead with a merge if you need the functionality.

OK thanks @angus-g. This will also index cell_methods, right? That would resolve https://github.com/COSIMA/cosima-cookbook/issues/137, https://github.com/COSIMA/cosima-cookbook/issues/212, and https://github.com/COSIMA/access-om2/issues/234
@aidanheerdegen are you happy for me to merge this? I haven't actually looked at the code changes.

@angus-g will this be backward-compatible with existing databases (including updating existing DBs) or will DBs need to be rebuilt?
Or is rebuilding only needed for those who want access to these extra attributes?

@angus-g what about

we should have time_bounds available, so handle #111

from https://github.com/COSIMA/cosima-cookbook/pull/214#issuecomment-684482690

It will index all attributes, but I don't think it will distinguish two otherwise-identical variables with different cell_methods -- might need to add something to getvar or the explorer (or both?) to actually make use of it.

will this be backward-compatible with existing databases
Unfortunately not, it bumps the database version. It would need a re-index to pick up attributes on all the variables anyway

@aidanheerdegen I guess we'll have that available, but nothing in this is attaching that to the output DataArray yet

does a DB version bump also mean that the new DB will be unreadable except by the latest cookbook code?

That's right, but that's just something we enforce when the database is opened. I think in a technical sense this change might be compatible with the previous cookbook version though, so maybe the bump isn't required.

In fact, the only schema difference is an entirely new table, so the old cookbook will work fine with it:
CREATE INDEX ix_ncvars_ncfile_id ON ncvars (ncfile_id);
CREATE TABLE ncattributes (
        id INTEGER NOT NULL,
        ncvar_id INTEGER,
        ncfile_id INTEGER,
        name VARCHAR NOT NULL,
        value VARCHAR,
        PRIMARY KEY (id),
        FOREIGN KEY(ncvar_id) REFERENCES ncvars (id),
        FOREIGN KEY(ncfile_id) REFERENCES ncfiles (id)
);
CREATE INDEX ix_ncattributes_name ON ncattributes (name);

Yeah the version was intended only for breaking changes.

Right, I wasn't sure of the machinery (it could've put a new column on the existing ncvar/ncfile tables). ORM magic!

Okay, so we're back to having sensible CI and we're now putting the time bounds onto the returned DataArray. I didn't add a test for that, which would probably be a good thing to have. Then the only remaining task at that point is to allow specification of cell_methods (or more likely: an arbitrary attribute/value).
Also to consider for that:

If a reduction method selector in the cookbook defaulted to cell_methods="time: mean" this would work as expected for existing data.

@aekiss I went with a more general approach of allowing the restriction to any attribute name/value pairs. Is this too low-level? Also, the current query is for an exact match on the attribute value, would that cause trouble with cell methods (e.g. if you only wanted a specific time method, but there are also spatial methods on the variable)?

Thanks @angus-g, your more general approach sounds great.
To disambiguate variables with the same name but different reduction methods (https://github.com/COSIMA/access-om2/issues/234) it would be good for getvar to default to only selecting variables with cell_methods="time: mean" (which is by far the most commonly-used case). The user will then have to explicitly request other methods if they want them (e.g. for static fields, which have time: point).
It seems from here that the reduction_methods in a diag_table are only temporal, so I guess that means there won't be any spatial methods in cell_methods for MOM output?
https://github.com/mom-ocean/MOM5/blob/af3a94d40f21a4b7fd925d13b928f8721ad7d4c8/src/shared/diag_manager/diag_table.F90#L150
In the latest IAF 0.1deg run the only cell_methods are
time: max
time: mean_pow(02)
time: mean
time: min
time: point

in both mom and cice output, including timeseries of spatial averages. So an exact match would not be over-strict for those models.
However the cookbook is also being used to index the JRA55 data, which has cell_methods = "area: time: mean". So maybe there would be a problem with that? Perhaps we should also allow for wildcard matching, e.g. cell_methods = "% time: mean"?

I would suggest that maybe getvar shouldn't be responsible for enforcing default cell_methods -- that might fall more in the domain of the ExperimentExplorer? We could merge this in as-is with the ability to at least manually specify desired attributes, and add the GUI extensions separately. Thoughts (@aidanheerdegen?)

Sounds reasonable. If it is ready I'd favour merging and working out the detail in another PR. That way the machinery exists to try it out, play and test with the low level API.

I was suggesting getvar to have an optional argument cell_methods with default value "time: mean" so that users will get what they expect when they ask for a variable that is also available under different reduction methods, e.g. so that requesting u will by default only give time mean velocity and not velocity squared - see https://github.com/COSIMA/access-om2/issues/234


'android.os.AsyncTask' is deprecated

indeed, hopefully we can update this soon

Just to be clear with who will help. Let's use Coroutines

@Canato Can I work on this issue? Could you assign it to me?

@Canato Can I work on this issue? Could you assign it to me?

Yes @SanjayDevTech will add you to the team, so I can assign to you, please keep us update ^^

Yes @SanjayDevTech will add you to the team, so I can assign to you, please keep us update ^^

@Canato sure... I will commit the changes to my forked repository...

@Canato sure... I will commit the changes to my forked repository...

@SanjayDevTech please use Coroutines as much you can =)

@SanjayDevTech please use Coroutines as much you can =)

This is my plan @Canato :

Migrate some code to Kotlin (Just to implement Coroutine)
Replace AsyncTask with Coroutines
Refactoring CropImageView to use new Coroutine class 😃

This is my plan @Canato :

Migrate some code to Kotlin (Just to implement Coroutine)
Replace AsyncTask with Coroutines
Refactoring CropImageView to use new Coroutine class 😃

This is my plan @Canato :

Migrate some code to Kotlin (Just to implement Coroutine)
Replace AsyncTask with Coroutines
Refactoring CropImageView to use new Coroutine class 😃

Perfect! can we do this in 3 PRs to make faster to review?

This is my plan @Canato :

Migrate some code to Kotlin (Just to implement Coroutine)
Replace AsyncTask with Coroutines
Refactoring CropImageView to use new Coroutine class 😃

Perfect! can we do this in 3 PRs to make faster to review?

@Canato I have done 50% of migration
It is saying me to wait for your approval

@Canato I have done 50% of migration
It is saying me to wait for your approval

@SanjayDevTech Please open a PR so I can review and approve

@SanjayDevTech Please open a PR so I can review and approve

@Canato Opened : )

@Canato Opened : )

@Canato Final PR is opened : )

@Canato Final PR is opened : )

@Canato ChangeLog and Readme updated

@Canato ChangeLog and Readme updated


Add browse page archiving

Currently, Collections Publisher allows users to archive or delete topics that are no longer required, but does not allow the same functionality with mainstream browse pages. The underlying functionality to do this exists in the Publishing API but is not exposed here.
This commit adds the user-facing functionality to allow mainstream browse pages to be deleted (if they have not yet been published) or archived and redirected (if they have already been published). The user experience is identical to archiving/deleting topics.
Paired with @jackscotti
Trello: https://trello.com/c/olZEBaef/67-make-it-possible-to-redirect-browse-pages-in-collections-publisher
Unpublished mainstream browse page has a "remove" button:

Published mainstream browse page has an "archive" button:

Archiving a mainstream browse page can redirect it either to another browse page or any path on GOV.UK:

This adds a bit of duplication with what is done for Topics, maybe we can try to refactor the two archivers into a more general one?
Also we should use shared view partials.

Couple of small bits, otherwise looks good.


trim whitespace in subcommands

Proposed change

Trim leading/trailing whitespace in subcommand. Currently an error occurs if you accidentally have an extra whitespace, e.g.:
"No such subcommand: find_notes   "
Type of change

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (thank you!)
[ ] Code quality improvements to existing code or addition of tests
[ ] Documentation update

Additional information

This PR fixes or closes issue: fixes #
This PR is related to issue:

Checklist

[x] I am running the latest version of the plugin.
[x] The code change is tested and works locally.
[x] There is no commented out code in this PR.
[x] The code has been formatted using Stylua (a .stylua.toml file is provided)
[x] The code has been checked with luacheck (a .luacheckrc file is provided)
[] The README.md has been updated according to this change.
[] The doc/telekasten.txt helpfile has been updated according to this change.

Good for me. @TheTaoOfSu if I merge this, could you add it to your refact branch as well?

Yeah, this looks pretty easy to integrate, go ahead and pull it in.


simswap mask

Hi guys, great job with the sber-swap implementation. The results are the best of any framework I've seen so far. The masking has been the only problem. Would it possible for you to implement anything similar to what Simswap has done for masking?

SimSwap use face parsing. Citation from SimSwap preparation:  We use the face parsing from face-parsing.PyTorch for image postprocessing. Please download the relative file and place it in ./parsing_model/checkpoint from this link. If sber-swap developers made it possible to use this method, the final quality would be much better! Perhaps this would solve the problem of face jittering too. I really hope and expect that the developers will soon make this feature possible.

Hi guys, great job with the sber-swap implementation. The results are the best of any framework I've seen so far. The masking has been the only problem. Would it possible for you to implement anything similar to what Simswap has done for masking?

Yes this is definitely needed!

`import numpy as np
import cv2
import os
from parsing_model.model import BiSeNet
import torchvision.transforms as transforms
import torch
def encode_segmentation_rgb(segmentation, no_neck=True):
parse = segmentation
face_part_ids = [1, 2, 3, 4, 5, 6, 10, 12, 13] if no_neck else [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14]
mouth_id = 11
# hair_id = 17
face_map = np.zeros([parse.shape[0], parse.shape[1]])
mouth_map = np.zeros([parse.shape[0], parse.shape[1]])
# hair_map = np.zeros([parse.shape[0], parse.shape[1]])

for valid_id in face_part_ids:
    valid_index = np.where(parse==valid_id)
    face_map[valid_index] = 255
valid_index = np.where(parse==mouth_id)
mouth_map[valid_index] = 255
# valid_index = np.where(parse==hair_id)
# hair_map[valid_index] = 255
#return np.stack([face_map, mouth_map,hair_map], axis=2)
return np.stack([face_map, mouth_map], axis=2)

def expand_eyebrows(lmrks, eyebrows_expand_mod=1.0):
lmrks = np.array( lmrks.copy(), dtype=np.int32 )

# Top of the eye arrays
bot_l = lmrks[[35, 41, 40, 42, 39]]
bot_r = lmrks[[89, 95, 94, 96, 93]]

# Eyebrow arrays
top_l = lmrks[[43, 48, 49, 51, 50]]
top_r = lmrks[[102, 103, 104, 105, 101]]

# Adjust eyebrow arrays
lmrks[[43, 48, 49, 51, 50]] = top_l + eyebrows_expand_mod * 0.5 * (top_l - bot_l)
lmrks[[102, 103, 104, 105, 101]] = top_r + eyebrows_expand_mod * 0.5 * (top_r - bot_r)
return lmrks

def get_mask(image: np.ndarray, landmarks: np.ndarray) -> np.ndarray:
"""
Get face mask of image size using given landmarks of person
"""
img_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
mask = np.zeros_like(img_gray)

points = np.array(landmarks, np.int32)
convexhull = cv2.convexHull(points)
cv2.fillConvexPoly(mask, convexhull, 255)

n_classes = 19
net = BiSeNet(n_classes=n_classes)
net.cuda()
save_pth = os.path.join('./parsing_model/checkpoint', '79999_iter.pth')
net.load_state_dict(torch.load(save_pth))
net.eval()

to_tensor = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
])

with torch.no_grad():
      img = to_tensor(image)
      img = torch.unsqueeze(img, 0)
      img = img.cuda()
      out = net(img)[0]
      parsing = out.squeeze(0).cpu().numpy().argmax(0)
      print(np.unique(parsing))

      vis_parsing_anno = parsing.copy().astype(np.uint8)
      tgt_mask = encode_segmentation_rgb(vis_parsing_anno)

print("mask", mask)
print("tgt_mask", tgt_mask)

return tgt_mask`

I was able to successfully run the use_mask function from simpswap to return some object.  I tried to replace the get_mask function with the use_mask code from simswap.  I'm getting the following error.
ValueError: operands could not be broadcast together with shapes (1024,682,1,2) (1024,682,3)  Any idea on how to fix this?  mask is the result from original code and tgt_mask is the result from simswap code.
mask [[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
...
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]
[0 0 0 ... 0 0 0]]
tgt_mask [[[0. 0.]
[0. 0.]
[0. 0.]
...
[0. 0.]
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]
...
[0. 0.]
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]
...
[0. 0.]
[0. 0.]
[0. 0.]]
...
[[0. 0.]
[0. 0.]
[0. 0.]
...
[0. 0.]
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]
...
[0. 0.]
[0. 0.]
[0. 0.]]
[[0. 0.]
[0. 0.]
[0. 0.]
...
[0. 0.]
[0. 0.]
[0. 0.]]]
Here is the colab notebook for the full code.
https://colab.research.google.com/gist/quantarb/375cbd523b459b761c3556a372c76fac/sber-swap.ipynb

I figured out how to get the simswap use_mask to work with sber-swap.  You need to copy the parsing_model folder from simswap git repo and model file to use face-parsing.PyTorch.  The colab notebook does that for you.
https://colab.research.google.com/gist/quantarb/369a67477d40ce7a0ae511ab6699312c/sber-swap.ipynb
After that you need to replace everything in the mask.py before the face_mask_static fuction with the code below.  You will know if your code is working correctly if it prints "using my get_mask fuction."
`import numpy as np
import cv2
import os
from parsing_model.model import BiSeNet
import torchvision.transforms as transforms
import torch
def expand_eyebrows(lmrks, eyebrows_expand_mod=1.0):
lmrks = np.array( lmrks.copy(), dtype=np.int32 )

# Top of the eye arrays
bot_l = lmrks[[35, 41, 40, 42, 39]]
bot_r = lmrks[[89, 95, 94, 96, 93]]

# Eyebrow arrays
top_l = lmrks[[43, 48, 49, 51, 50]]
top_r = lmrks[[102, 103, 104, 105, 101]]

# Adjust eyebrow arrays
lmrks[[43, 48, 49, 51, 50]] = top_l + eyebrows_expand_mod * 0.5 * (top_l - bot_l)
lmrks[[102, 103, 104, 105, 101]] = top_r + eyebrows_expand_mod * 0.5 * (top_r - bot_r)
return lmrks

def encode_segmentation_rgb(segmentation, no_neck=True):
parse = segmentation
face_part_ids = [1, 2, 3, 4, 5, 6, 10, 12, 13] if no_neck else [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14]
mouth_id = 11
# hair_id = 17
face_map = np.zeros([parse.shape[0], parse.shape[1]])
mouth_map = np.zeros([parse.shape[0], parse.shape[1]])
# hair_map = np.zeros([parse.shape[0], parse.shape[1]])

for valid_id in face_part_ids:
    valid_index = np.where(parse==valid_id)
    face_map[valid_index] = 255
valid_index = np.where(parse==mouth_id)
mouth_map[valid_index] = 255
# valid_index = np.where(parse==hair_id)
# hair_map[valid_index] = 255
#return np.stack([face_map, mouth_map,hair_map], axis=2)
return np.stack([face_map, mouth_map], axis=2)

def get_mask(image: np.ndarray, landmarks: np.ndarray) -> np.ndarray:
"""
Get face mask of image size using given landmarks of person
"""
print("using my get_mask function")
n_classes = 19
net = BiSeNet(n_classes=n_classes)
net.cuda()
save_pth = os.path.join('./parsing_model/checkpoint', '79999_iter.pth')
net.load_state_dict(torch.load(save_pth))
net.eval()
to_tensor = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
])

with torch.no_grad():
      img = to_tensor(image)
      img = torch.unsqueeze(img, 0)
      img = img.cuda()
      out = net(img)[0]
      parsing = out.squeeze(0).cpu().numpy().argmax(0)
      vis_parsing_anno = parsing.copy().astype(np.uint8)
      tgt_mask = encode_segmentation_rgb(vis_parsing_anno)

face_mask_tensor = tgt_mask[:,:,0] + tgt_mask[:,:,1]

return face_mask_tensor`

Your final code should look something like.
`import numpy as np
import cv2
import os
from parsing_model.model import BiSeNet
import torchvision.transforms as transforms
import torch
def expand_eyebrows(lmrks, eyebrows_expand_mod=1.0):
lmrks = np.array( lmrks.copy(), dtype=np.int32 )

# Top of the eye arrays
bot_l = lmrks[[35, 41, 40, 42, 39]]
bot_r = lmrks[[89, 95, 94, 96, 93]]

# Eyebrow arrays
top_l = lmrks[[43, 48, 49, 51, 50]]
top_r = lmrks[[102, 103, 104, 105, 101]]

# Adjust eyebrow arrays
lmrks[[43, 48, 49, 51, 50]] = top_l + eyebrows_expand_mod * 0.5 * (top_l - bot_l)
lmrks[[102, 103, 104, 105, 101]] = top_r + eyebrows_expand_mod * 0.5 * (top_r - bot_r)
return lmrks

def encode_segmentation_rgb(segmentation, no_neck=True):
parse = segmentation
face_part_ids = [1, 2, 3, 4, 5, 6, 10, 12, 13] if no_neck else [1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 13, 14]
mouth_id = 11
# hair_id = 17
face_map = np.zeros([parse.shape[0], parse.shape[1]])
mouth_map = np.zeros([parse.shape[0], parse.shape[1]])
# hair_map = np.zeros([parse.shape[0], parse.shape[1]])

for valid_id in face_part_ids:
    valid_index = np.where(parse==valid_id)
    face_map[valid_index] = 255
valid_index = np.where(parse==mouth_id)
mouth_map[valid_index] = 255
# valid_index = np.where(parse==hair_id)
# hair_map[valid_index] = 255
#return np.stack([face_map, mouth_map,hair_map], axis=2)
return np.stack([face_map, mouth_map], axis=2)

def get_mask(image: np.ndarray, landmarks: np.ndarray) -> np.ndarray:
"""
Get face mask of image size using given landmarks of person
"""
print("using my get_mask function")
n_classes = 19
net = BiSeNet(n_classes=n_classes)
net.cuda()
save_pth = os.path.join('./parsing_model/checkpoint', '79999_iter.pth')
net.load_state_dict(torch.load(save_pth))
net.eval()
to_tensor = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.485, 0.456, 0.406), (0.229, 0.224, 0.225)),
])

with torch.no_grad():
      img = to_tensor(image)
      img = torch.unsqueeze(img, 0)
      img = img.cuda()
      out = net(img)[0]
      parsing = out.squeeze(0).cpu().numpy().argmax(0)
      vis_parsing_anno = parsing.copy().astype(np.uint8)
      tgt_mask = encode_segmentation_rgb(vis_parsing_anno)

face_mask_tensor = tgt_mask[:,:,0] + tgt_mask[:,:,1]

return face_mask_tensor

def face_mask_static(image: np.ndarray, landmarks: np.ndarray, landmarks_tgt: np.ndarray, params = None) -> np.ndarray:
"""
Get the final mask, using landmarks and applying blur
"""
if params is None:
    left = np.sum((landmarks[1][0]-landmarks_tgt[1][0], landmarks[2][0]-landmarks_tgt[2][0], landmarks[13][0]-landmarks_tgt[13][0]))
    right = np.sum((landmarks_tgt[17][0]-landmarks[17][0], landmarks_tgt[18][0]-landmarks[18][0], landmarks_tgt[29][0]-landmarks[29][0]))

    offset = max(left, right)

    if offset > 6:
        erode = 15
        sigmaX = 15
        sigmaY = 10
    elif offset > 3:
        erode = 10
        sigmaX = 10
        sigmaY = 8
    elif offset < -3:
        erode = -5
        sigmaX = 5
        sigmaY = 10
    else:
        erode = 5
        sigmaX = 5
        sigmaY = 5

else:
    erode = params[0]
    sigmaX = params[1]
    sigmaY = params[2]

if erode == 15:
    eyebrows_expand_mod=2.7
elif erode == -5:
    eyebrows_expand_mod=0.5
else:
    eyebrows_expand_mod=2.0
landmarks = expand_eyebrows(landmarks, eyebrows_expand_mod=eyebrows_expand_mod)

mask = get_mask(image, landmarks)
mask = erode_and_blur(mask, erode, sigmaX, sigmaY, True)

if params is None:
    return mask/255, [erode, sigmaX, sigmaY]

return mask/255

def erode_and_blur(mask_input, erode, sigmaX, sigmaY, fade_to_border = True):
mask = np.copy(mask_input)
if erode > 0:
    kernel = np.ones((erode, erode), 'uint8')
    mask = cv2.erode(mask, kernel, iterations=1)

else:
    kernel = np.ones((-erode, -erode), 'uint8')
    mask = cv2.dilate(mask, kernel, iterations=1)

if fade_to_border:
    clip_size = sigmaY * 2
    mask[:clip_size,:] = 0
    mask[-clip_size:,:] = 0
    mask[:,:clip_size] = 0
    mask[:,-clip_size:] = 0

mask = cv2.GaussianBlur(mask, (0, 0), sigmaX = sigmaX, sigmaY = sigmaY)

return mask

`

Thanks! I will try this tomorrow. How were the results?

I must warn you that my implementation is really basic. Due to my limited computer vision knowledge, I did not implement all of simswap's masking features like smoothing.
Finally, I am constructing a face-parsing model for each face swap, which is inefficient computationally.  I didn't see a  good way to pass the parsing model through the model inference function.  I think the authors or someone else could do much better job than my rough implementation.
The first image is the original sberswap.

The second image is with my implementation.

I cleaned up the code and improved the documentation.  This notebook has examples of how to do a single image swap, single video swap, and a folder swap.  I tried to use examples from the github so people can run the code without recreate my personal folder structure.
https://colab.research.google.com/gist/quantarb/15904518bacd7ebb5b046f95982955fb/sber-swap.ipynb

nice job!image swap works well but video swap result skip a lot of facial alignments,certainly needs an improvment.
thank you for your work!

nice job!image swap works well but video swap result skip a lot of facial alignments,certainly needs an improvment. thank you for your work!

Please see the colab.  I realized the notebook was using an old version of the masks.py file.  I updated the notebook and included new fuctionality to extract faces for the target folder.  The new face detection works a lot better, but still needs some work.
https://colab.research.google.com/gist/quantarb/6327c2ef8f72ebeb0e41541f8476f4ce/sber-swap.ipynb

nice job!image swap works well but video swap result skip a lot of facial alignments,certainly needs an improvment. thank you for your work!

Please see the new colab notebook. I realized the notebook was using an old version of the masks.py file. I updated the notebook to download the correct file and included new fuctionality to extract faces for the target folder. The new face detection works a lot better, but still needs some work.
https://colab.research.google.com/gist/quantarb/6327c2ef8f72ebeb0e41541f8476f4ce/sber-swap.ipynb

Great job, thanks a lot! I'd like to take this opportunity to ask you to try porting SimSwap's ability to change mask height and width. In reverse2original.py it is kernel = np.ones((40,40),np.uint8). First 40 - do not change the height of the face or can be replaced with your own values in px., second 40 - width. In sber-swap, this works in a similar way, but still gives a very unpredictable result. For example, if in SimSwap I know that the height of the face is 400 px. then operating with this value, I can change 40 to 350, for example, or to the one I need. In sber-swap, this does not work like that and you have to select completely different values manually. Maybe in sber-swap it works a little wrong due to the fact that there is still a height above the eyebrows and a slightly different blurring of the mask around the edges? In general, if you could transfer this feature here as in SimSwap, it would be really great!

nice job!image swap works well but video swap result skip a lot of facial alignments,certainly needs an improvment. thank you for your work!

Please see the new colab notebook. I realized the notebook was using an old version of the masks.py file. I updated the notebook to download the correct file and included new fuctionality to extract faces for the target folder. The new face detection works a lot better, but still needs some work.
https://colab.research.google.com/gist/quantarb/6327c2ef8f72ebeb0e41541f8476f4ce/sber-swap.ipynb

Great job, thanks a lot! I'd like to take this opportunity to ask you to try porting SimSwap's ability to change mask height and width. In reverse2original.py it is kernel = np.ones((40,40),np.uint8). First 40 - do not change the height of the face or can be replaced with your own values in px., second 40 - width. In sber-swap, this works in a similar way, but still gives a very unpredictable result. For example, if in SimSwap I know that the height of the face is 400 px. then operating with this value, I can change 40 to 350, for example, or to the one I need. In sber-swap, this does not work like that and you have to select completely different values manually. Maybe in sber-swap it works a little wrong due to the fact that there is still a height above the eyebrows and a slightly different blurring of the mask around the edges? In general, if you could transfer this feature here as in SimSwap, it would be really great!

I'm attempting to transfer face detection, mask smoothing, and all other functionality. On my notebook, sber-swap still is performing the face detection and simswap is only doing the masking.  This is quite difficult for me since I don't really understand the code.

I've been working on this. I added GPEN for the face restoration, SimSwap mask, optimized the code, and cut down the existing code base by like 70%. Still testing, but I hope to release a framework soon for all single-shot models.

One thing I have noticed is that with video, the simswap mask doesn't work better because it misses a lot of frames. Need to figure that out.

I've been working on this. I added GPEN for the face restoration, SimSwap mask, optimized the code, and cut down the existing code base by like 70%. Still testing, but I hope to release a framework soon for all single-shot models.

That would be really awesome.  Do you have an ETA on your release?

Not yet. I have GPEN and GFPGAN working for upscaling. I am generalizing the Framework to also be able to use the SimSwap model too.

If this is not outdated now, wav2lipHD uses modified faceparsing-mask in a much easier way I think.
I've implemented that in some of my projects.
Just cloning the parsing folder and adding 3 lines of code to get the mask


Creates UUID, puts into local and sends event to posthog

How to use
Import the Posthog event
import { posthogEvent } from "shared/analytics/posthog";
Call the function where you need events to fire
posthogEvent("Insert your posthog event title here")
Notes

This adds the basic functionality to generate a new UUID the first time the user visits the /download/ page which is then put both as a cookie + localStorage key entry UUID.

Sends Download page visited event to posthog

Checks if UUID already present and if not, creates UUID and puts in storage

Testing

[ ] Visit (https://deploy-preview-113--tally-cash.netlify.app/download/) to generate a UUID
[ ] Check via developer tools Application > Storage > Cookies > if UUID is present
[ ] Confirm event saved in Posthog https://app.posthog.com/events

@zuuring any chance we can do this all localStorage and skip the cookie? What's the downside?

We need further project clarifications before this will deploy ready.

@zuuring any chance we can do this all localStorage and skip the cookie? What's the downside?

@mhluongo We looked into this and using localStorage on the extension side will require us to enable storage permissions which will flag a permission modal when installing the extension.


Bug: Double-click on widgets selects the word "Circle"

This should not be the case:
https://user-images.githubusercontent.com/44469195/178801563-43bf98ac-5b36-4126-8dc5-9fedd1ecb899.mov

Is this an issue with compare_view or only jupyter_compare_view?
And what browsers show this problem?

I've just tried in different browsers: Here is the outcome:
Firefox & Safari: No Problem!
Google Chrome+Chromium: Problem from the screen recording above
Microsoft Edge: Double click opens context menu, as can be seen here::
https://user-images.githubusercontent.com/44469195/179737143-0ab35531-7a36-4652-89fa-cbeae21bb35c.mov


angeError [ERR_OUT_OF_RANGE] on clinic bubbleprof

Expected Behavior

Current Behavior
RangeError [ERR_OUT_OF_RANGE]: The value of "value" is out of range. It must be >= 0 and <= 65535. Received 136030
at checkInt (internal/buffer.js:58:11)
at writeU_Int16BE (internal/buffer.js:818:3)
at Buffer.writeUInt16BE (internal/buffer.js:826:10)
at StackTraceEncoder._transform (c:\Users\shape\AppData\Roaming\npm\node_modules\clinic\node_modules@nearform\bubbleprof\format\abstract-encoder.js:21:19)
at StackTraceEncoder.Transform._read (_stream_transform.js:189:10)
at StackTraceEncoder.Transform._write (_stream_transform.js:177:12)
at doWrite (_stream_writable.js:428:12)
at writeOrBuffer (_stream_writable.js:412:5)
at StackTraceEncoder.Writable.write (_stream_writable.js:302:11)
at AsyncHook.init (c:\Users\shape\AppData\Roaming\npm\node_modules\clinic\node_modules@nearform\bubbleprof\injects\logger.js:45:13)
Steps to Reproduce (for bugs)
it happen when i try to debug real nuxtjs typescript project. After like 3-5-10 seconds it crashes with that error
Sample upload
https://www.dropbox.com/s/8i6pnkmn1u257tg/.clinic.zip?dl=0
Environment

Clinic.js version: 4.1

Node.js version: 12.10

Browser name and version:

Win 10

It dont happen on empty project, but happens on real private project... So cant really provide full repro :(

@aldarund - Have a look at my answer on #189. You are likely having the same issue.


Return nil if translation is not found

The newly added translation method in ISO3166::Country should return nil
rather than throwing an I18nData::NoTranslationAvailable exception if a
translation is not found.

See https://github.com/hexorx/countries/issues/223

Solid addition thanks for this.


Add reference to github account

On the website there is no reference to GitHub account so there is no way to know that everything is on GitHub. Please add a link to GitHub in footer and in "Get Involved" section.

Thanks for the suggestion @leobel96 and sorry we have been slow to respond. As you may have noticed, the website is out-of-date and needs quite a lot of love. I have added the Github link to the footer, but further changes on Get Involved are on-hold until we have a plan for renovating the entire site.


Make dagre visualization prettier

Currently the dagre visualization just looks like a cola visualization with hierarchy.
I'd like to add arrows to it and basically make it look like the example in the main cytoscape page. Here is the link for its code.

I think to do that I need.. https://github.com/cytoscape/cytoscape.js-edgehandles maybe?

Not actually. This is done and it's part of the default style now.


[Bug]: Autocomplete won't suggest appsmith.geoLocation.currentLocation until appsmith.geolocation.watchPosition() is run

Is there an existing issue for this?

[X] I have searched the existing issues

Description
I'm not able to use appsmith.geolocation.currentPosition on the JS Object editor or on the JS editor on the right pane unless I run appsmith.geoLocation.currentLocation at least once. This is confusing as the autocomplete results should be consistent across scenarios.
Steps To Reproduce

Open the JS Object editor, try typing appsmith.geolocation.currentPosition and notice that you won't be able to use it
Run appsmith.geoLocation.currentLocation once
Try typing appsmith.geolocation.currentPosition and you will now be able to successfully use it

https://user-images.githubusercontent.com/17562726/183604553-336dfd04-732c-4cfd-86fc-82e40c753b78.mp4
Public Sample App
https://app.appsmith.com/app/testbed/page1-62f0b9e9b2f8027edfbf9008
Version
Cloud

Stats

Stat
Values

Reach
875

Effort (months)
<>


ArangoDB exits without logs when executing basic group by query (Docker: 139 / SIGSEGV)

My Environment

ArangoDB Version:        3.6.0, 3.6.4, 3.6.5
Storage Engine:             RocksDB
Deployment Mode:       Single Server
Deployment Strategy:   Manual Start in Docker
Configuration:               N/A
Infrastructure:               own Laptop/PC
Operating System:        Manjaro Lysia (20.0.3), Windows 10
Total RAM in your machine:        16GB
Disks in use:        SSD, HDD
Used Package:              Docker - official Docker library and Windows Service

Component, Query & Data
Affected feature:
AQL query using web interface and with arangojs driver
AQL query (if applicable):
LET res = (FOR i in Customers
    FOR o IN 1..1 ANY i Customers2Order
    //FILTER o.Auftraggeber == i.Kunden
        COLLECT ort=i.Ort, kat=i.Klassifikation, mat=o.Material
        RETURN {
            ort,
            kat,
            mat
 })
RETURN res

AQL explain (if applicable):
Query String (262 chars, cacheable: true):
 LET res = (FOR i in Customers
     FOR o IN 1..1 ANY i Customers2Order
     //FILTER o.Auftraggeber == i.Kunden
         COLLECT ort=i.Ort, kat=i.Klassifikation, mat=o.Material
         RETURN {
             ort,
             kat,
             mat
         })
 RETURN res

Execution plan:
 Id   NodeType                  Est.   Comment
  1   SingletonNode                1   * ROOT
 14   SubqueryStartNode            1     - LET res = ( /* subquery begin */
  3   EnumerateCollectionNode    440       - FOR i IN Customers   /* full collection scan */
  5   CalculationNode            440         - LET #10 = i.`Ort`   /* attribute expression */   /* collections used: i : Customers */
  6   CalculationNode            440         - LET #12 = i.`Klassifikation`   /* attribute expression */   /* collections used: i : Customers */
  4   TraversalNode               33         - FOR o  /* vertex */ IN 1..1  /* min..maxPathDepth */ ANY i /* startnode */  Customers2Order
  7   CalculationNode             33           - LET #14 = o.`Material`   /* attribute expression */
  8   CollectNode                 26           - COLLECT ort = #10, kat = #12, mat = #14   /* hash */
 13   SortNode                    26           - SORT ort ASC, kat ASC, mat ASC   /* sorting strategy: standard */
  9   CalculationNode             26           - LET #16 = { "ort" : ort, "kat" : kat, "mat" : mat }   /* simple expression */
 15   SubqueryEndNode             26     - RETURN  #16 ) /* subquery end */
 12   ReturnNode                  26     - RETURN res

Indexes used:
 By   Name   Type   Collection        Unique   Sparse   Selectivity   Fields        Ranges
  4   edge   edge   Customers2Order   false    false        99.99 %   [ `_to` ]     base INBOUND
  4   edge   edge   Customers2Order   false    false         3.09 %   [ `_from` ]   base OUTBOUND

Traversals on graphs:
 Id  Depth  Vertex collections  Edge collections                  Options                                  Filter / Prune Conditions
 4   1..1                       Customers2Order, Customers2Order  uniqueVertices: none, uniqueEdges: path

Optimization rules applied:
 Id   RuleName
  1   move-calculations-up
  2   move-calculations-up-2
  3   move-calculations-down
  4   splice-subqueries

Dataset:
Dump
Size of your Dataset on disk:
~9MB
Replication Factor & Number of Shards (Cluster only):
N/A
Steps to reproduce

Import database dump
execute above query
database will crash shortly after execution

Problem:
Docker container exits with error code 139. On windows the arangodb service just stops and on a native install on linux the database also stops without any logs.
This often happens a bit after the database executes the query and the result is visible in the web interface.
Weirdly, when using the filter that is commented in the above query, it works. Please note that the filter is unnecessary, because the edge collection was built using the same filter.
Expected result:
returns something and database doesn't quit

Oh, I forgot to mention that it works with ArangoDB 3.5.5

hm, there should be a vertex and an edge collection, you just posted one collection?

The dump should have 8 files, it only displays one on the website though, scroll to the bottom. Or download the zip

The fix will be available with ArangoDB 3.6.6.
Please follow the official release channels for notification.


refactor: Rename Pydantic v1 methods to their v2 counterparts

Overview
Some trivial renames, for the Pydantic v1->v2 upgrade. Closes EXEC-1063.
Test Plan and Hands on Testing
Just CI.

In every project that runs on a robot, try to configure pytest to fail a test if it detects that it raised a Pydantic deprecation warning. This is intended to prevent us from using the old method names, which are less type-safe.
This appears to only work for some warnings, but it works for the warnings that I care about and understand, so I didn't look into it further.

Review requests
None in particular.
Risk assessment
Low.
Merging
This is based atop PR #14871. It should merge into edge shortly after that PR.

lol not sure why they made these changes

I think they were trying to namespace all of their stuff under model_* so they'd have room to expand without stepping on user code.
model_* was an unfortunate prefix for them to choose because users wanted to use it for their own machine learning stuff. So they later narrowed the namespace a bit in https://github.com/pydantic/pydantic/issues/10315.


DoctrineDataSource: use Paginator only when needed

Paginator is used only if join/groupBy is used in query. For simple data without join it is unnecessarily slow AF.

Great job! Thank you :)


issue with running mne on 32bit OS

Describe the bug
So this will be a pretty niche issue I think as most people (rightfully so) run 64 bit versions of everything these days, however, due to various reasons we have to be using a 32bit computer in our lab.
Because of this I found an issue in mne.io.utils:_mult_cal_one. On a 32 bit machine a MemoryError is raised by numpy.
Steps and/or code to reproduce
I was running mne-bids to do BIDS conversion on the computer and it was all fine up until the extraction of event data at which point the aforementioned MemoryError occurred.
https://github.com/mne-tools/mne-python/blob/master/mne/io/utils.py#L93
is the specific line at which it breaks.
Additional information
I was able to fix this issue by replacing the line with:
try:
    np.take(one, idx, axis=0, out=data_view)
except MemoryError:
    one = one[idx]

I can make a PR if this is a satisfactory solution, but I don't know if there are other places this issue could occur. I tried to debug a little bit more to determine which array was causing the MemoryError but it was a bit hard with how I was running it to do that.
Further, this shouldn't even be a big array (there was like, one event...)

is it a dtype issue? I don't think the try except is the right fix. np.take
with out param
should not lead to memory allocation issues. If it's actually a dtype issue
we should
just enforce the right dtypes.

Ok, so after having a bit more of an investigation I can say that the issue is probably with the dtype.
The dtype is float64 which I assume causes the issue.
What I don't really understand is why this only happens with the take function, and not with any of the other times (for example with the line)
one = np.asarray(one, dtype=data_view.dtype)

Although, I just checked the sizes of one and dataview by using numpy.ndarray.nbytes with the following results for my data:
data_view.nbytes = 1562496
one.nbytes = 401561472

The value for one seems very high, especially since it should be pretty much empty...

sorry what is data_view?
if you do:
np.take(one, idx, axis=0, out=data_view)
then one should have:
data_view.dtype == one.dtype
data_view.shape == (len(idx), one.shape[1])
is it the case?

I don't know what data_view is. I'm just looking through the code that is failing.
np.take(one, idx, axis=0, out=data_view) is the line that has a MemoryError, but the following two equalities are true from what I can see by printing out values.

I'm going to close this as a corner case out-of-memory bug that we probably don't need to fix, and might have been / should be fixed in numpy


Updating to jQuery 1.7.

I've added back in the bind, so this has really turned into just upgrading to 1.7.

Thanks!


Depth parameter added

Reference Issues/PRs
#100
What does this implement/fix? Explain your changes.

depth parameter added GenerativeImage __init__
save_image_filter function added
minor edits

Codecov Report

Merging #108 (b9318cb) into dev (7fd4f91) will increase coverage by 0.02%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##              dev     #108      +/-   ##
==========================================
+ Coverage   99.45%   99.47%   +0.02%
==========================================
  Files           4        4
  Lines         363      371       +8
  Branches       57       58       +1
==========================================
+ Hits          361      369       +8
  Partials        2        2

Impacted Files
Coverage Δ

samila/functions.py
99.20% <100.00%> (+0.02%)
:arrow_up:

samila/genimage.py
100.00% <100.00%> (ø)

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 7fd4f91...b9318cb. Read the comment docs.


Remove leftover debugger

I assume that the addition of this debugger was an accident, and it's making my node debugging of ember-cli stuff a marginally less fantastic experience.
In the spirit of adding a failing test w/ the fix, I've included a mocha JSHint plugin.

Thanks @mike-north!

@stefanpenner mind cutting a release?

% npm publish
+<EMAIL_ADDRESS>

awesome. Thanks Rob!


Adopt a package management tool / makefile

Hello! Participated at Goconf2016, awesome talk :-)
So I've forked this repo but run into trouble when trying to run it. Essentially the compiler first looks into the /vendor folder, but since in the code the imports are specified as github.com/marcusolsson/ it doesn't work when I clone the project in the local folder github.com/edoardo849.
My suggestion could be to use a package management tool like glide to fix the problems OR to specify in the README to create the folder GOPATH/src/github.com/marcusolsson and to git clone there.
Sample output:
./main.go:86: cannot use session (type *"github.com/edoardo849/goddd/vendor/gopkg.in/mgo.v2".Session) as type *"github.com/marcusolsson/goddd/vendor/gopkg.in/mgo.v2".Session in argument to mongo.NewCargoRepository
./main.go:87: cannot use session (type *"github.com/edoardo849/goddd/vendor/gopkg.in/mgo.v2".Session) as type *"github.com/marcusolsson/goddd/vendor/gopkg.in/mgo.v2".Session in argument to mongo.NewLocationRepository
./main.go:88: cannot use session (type *"github.com/edoardo849/goddd/vendor/gopkg.in/mgo.v2".Session) as type *"github.com/marcusolsson/goddd/vendor/gopkg.in/mgo.v2".Session in argument to mongo.NewVoyageRepository
./main.go:89: cannot use session (type *"github.com/edoardo849/goddd/vendor/gopkg.in/mgo.v2".Session) as type *"github.com/marcusolsson/goddd/vendor/gopkg.in/mgo.v2".Session in argument to mongo.NewHandlingEventRepository

I was also thinking that maybe it will be easier to just have a makefile to make run and make docker-run to do everything. If you agree I can create it myself and create a pull request. Let me know!

Thank you, glad to hear you enjoyed it!
Yeah, that's something I need to add the the README. I'm currently using gvt for vendoring but that might subject to change. I haven't yet used glide myself but if you think it would improve the workflow then I'd be happy to accept a PR. Otherwise the alternative is, as you mentioned, to clone it into github.com/marcusolsson link.
Of course, I'd be happy to review a PR for a Makefile as well :)

Glide won't fix this problem. Because this repo has a vendor directory, it is one (or multiple) Go binaries i.e. package mains. And in order to work with your own fork or copy of such a Go package, you need to work in the original repo's location on disk. That is,

Make your fork in GitHub
git clone git@github.com:original/repo
cd repo
git remote add yourname git@github.com:yourname/repo
git checkout yourname

I'll add the instructions to the README. Thanks for the input @peterbourgon!


Can this Nice App auto-load after Device Reboot and change OS UI?

Hello / how are you?
One big dev question :  Can this great app autolaunch after device reboot?
In 2023, I wanted to try to install your great modern launcher into my old sweet Nokia/MS Lumia 950 :)
Maybe you know some secret method of W10M registry patching or something else?... ^ ^
Best,
MediaExplorer

@mediaexplorer74   are you meaning replace the start menu of the phone?

@mediaexplorer74 are you meaning replace the start menu of the phone? or do you mean when the phone starts up it starts this app?

Both (start menu substitution and app auto-starting (auto-launching or auto-loading?) when windows 10 mobile starts up ...

the second should be possbile not sure about the registry as i dont have a mobile registry to look at registry values to overwrite since if a bad value is input you might break the os requiring a full re-install(have had this happen to me on pc)

i will have to fix old version branch i just looked into that branch and it shows incorrect min/max values

the second should be possbile not sure about the registry as i dont have a mobile registry to look at registry values to overwrite since if a bad value is input you might break the os requiring a full re-install(have had this happen to me on pc)

ok. thank you for quick reply. I have Lumia phone. So, I'll try to "connect" (on)to the registry (for autorun key exploration/exploring)

i will have to fix old version branch i just looked into that branch and it shows incorrect min/max values

Hah , you discovered (noticed) my fork of your old-version branch? =) Great! Thank you very much for improving old sweet cancelled os (windows 10 mobile)
cheers up,
m.e

can do.  The old version branch i though still supported 15063 but was supporting 16299, github informed me of the fork

@mediaexplorer74 new UI is waiting on a fix for color picking in settings then it will be rebased fully on 15063

@mediaexplorer74 new UI is waiting on a fix for color picking in settings then it will be rebased fully on 15063

Great / Super (in Rus.) !
P.S. I found&downloaded UniversalShell.appx, and start reverse-engeneering this mystic mobile shell :)

will attempt this while working on #50  but will work on #50 first and only add this if quick and easy to implement or will implement in later build

initial implementation loads the app in the background if cpu and memory are available in version 2.2.4

@mediaexplorer74   will still look on how to override windows start menu


fix stackframe regex on scoped packages

Updates regex to support stackframes from scoped packages, e.g. @microsoft/applicationinsights-web
Fixes #695

thanks for fixing this. One other case that the regex doesn't match:
    at Array.forEach (<anonymous>)

I'll file a separate bug to track the fact that     at Array.forEach (<anonymous>) isn't captured but I don't want to block the PR on that, we should get this one change out the door asap IMO.


Incompatible with Sketch v56.2

I just updated to the latest version of Sketch (56.2).  Now whenever I use this plugin to export something the app crashes.  This crashing behavior can be consistently reproduced.

I am having the same issue. I updated Sketch today to 56.2 then downloaded the plugin, so I haven't been able to use it yet.

Having the same issue as @EmmyLou522. Recently upgraded to Sketch 56.2 then today downloaded the latest release v1.0.7 but it crashes when exporting. Installed previous releases of print-export-sketchplugin but all seem to crash the app when exporting.

I get this error in the logs after trying to run it, if it helps? This happened using it in Sketch version 53.2 also. I updated to the current version and it's still outputting this error.
TypeError: undefined is not an object (evaluating 'e.sizes')     at O (/Users/Lolosoltera/Library/Application Support/com.bohemiancoding.sketch3/Plugins/print-export.sketchplugin/Contents/Sketch/command.js:1:7795)     at P (/Users/Lolosoltera/Library/Application Support/com.bohemiancoding.sketch3/Plugins/print-export.sketchplugin/Contents/Sketch/command.js:1:6311)     at default (/Users/Lolosoltera/Library/Application Support/com.bohemiancoding.sketch3/Plugins/print-export.sketchplugin/Contents/Sketch/command.js:1:5279)     at __skpm_run (/Users/Lolosoltera/Library/Application Support/com.bohemiancoding.sketch3/Plugins/print-export.sketchplugin/Contents/Sketch/command.js:1:17577)     at __skpm_run[native code] (/)

I had to revert to Sketch 55 to get it to work. Then afterwards, I updated back to 56. Not ideal, but a potential workaround if you're in a pinch.


 These reproduction steps do not reproduce the bug:

Find a Control Point with Neutral Hostile units nearby
Type -hp 1 to reduce the Control Point's hit points to 1
Change the ownership of the Control Point to Lordaeron with -control 1
The Neutral Hostile units should attack the Control Point
If the bug exists, the Control Point will be destroyed instead of being transferred to Neutral Hostile


Fix for the leak test

I've got the leak test working. I've looked over the threads that were left. I see I could stop the event loop by closing the channel on shutdown. I assume the event loop will only be stopped once.
I've also made a few other improvements along the way.
Cheers,
Per.

Good job.
Cheers!


feat: allow trial on default plan of billing account

When the org is created, if a default billing account of the customer is registered to the billing provider, and if the plan is configured with trial days, the subscription will start as trialing automatically.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 5 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 9.462%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

core/event/service.go
0
5
0.0%

Totals

Change from base Build<PHONE_NUMBER>8:
0.0%

Covered Lines:
10361

Relevant Lines:
109506

💛  - Coveralls

@kushsharma @anujk14 more context on this please ?

@kushsharma @anujk14 more context on this please ?

@ravisuhag This will allow us to provide trials by default to users. For example, if we mark enterprise plan as the default one, and it has any trial days set, the user will be put on a free trial by default.
This is with reference to the decision doc that was shared earlier with us where we wanted to provide the enterprise trial by default to customers.


chore: rename tests github action

:tada: This PR is included in version 2.4.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Pub serve tests failing on Windows

See: http://chromegw.corp.google.com/i/client.dart/builders/pub-win/builds/9404/steps/pub tests/logs/stdio

This issue has been moved to dart-lang/pub#606.


Unable to connect to relative path sessions made w/o zoxide

What happened?

When I
sesh connect to a session which was made from a relative path that didnt have a zoxide entry before
I expected
to connect to the session like normally
but _ happened
an error with exit status 1

Recreation

Restart to default state without zoxide# Restart to default state
pkill sesh
pkill tmux
# Reset zoxide
zoxide remove ~/foo
zoxide remove ~/bar
# Delete paths
rmdir ~/foo
rmdir ~/bar
# Create paths
mkdir ~/foo
mkdir ~/bar

Create sessioncd ~/
# connects to foo via relative path and detaches creating a new session
sesh connect --command "tmux detach" foo # or ./foo/

Try to connect to session from a different pathcd ~/bar
# (sesh list | head -n 1) should output = foo or _/foo/
sesh connect $(sesh list | head -n 1) # exit status 1, see relevant log output

Notes

Substituting foo in step 2. sesh connect --command "tmux detach" foo with its full path ~/foo or its absolute path /home/user/foo makes it works correctly.
If a zoxide entry already exists for that directory it also works correctly
I am on Linux and sesh dev was installed via go install github.com/joshmedeski/sesh@latest and sesh 1.2.0 from GitHub Releases
This is my first time making a GitHub issue and I'm also new to go and software development in general

I just love what you have made and I thank you for that.

Version
dev and 1.2.0
Relevant log output
2024/07/19 10:06:56 unable to connect to "foo": failed to add "/home/gravity/bar/foo" to zoxide: exit status 1
Reviewed

[X] Reviewed existing issues and made sure this bug has not already been submitted.
[ ] I have read the documentation and understand how sesh works before submitting this bug

I have made a fork with a hack that sort of works so far in here.
I don't expect it to be merged or anything since it seems v2 is a complete rewrite, but I would like to see it in there.

Hey, I do intend on v2 of Sesh being able to handle relative paths, thanks for the flagging this.

Can you upgrade and test this and tell me if it's working with Sesh v2?

I have upgraded and yes this now works in Sesh v2 from what I've tested.
By the way, I have commented on the previous issue about hiding to already attached sessions session (https://github.com/joshmedeski/sesh/issues/50#issuecomment-2330724158), because --hide-attached no longer seems to have any effect in Sesh v2 but still is acceptable as an argument.
I don't know if I should create a new issue about this or reopen the previous one.
But I am closing this one as it seems fine so far.


Investigate /add graphql support

Probably with https://github.com/tartiflette/tartiflette
As separate package?

Looking at starlette docs it seems that graphene can also run async:
https://www.starlette.io/graphql/
There is also:
https://github.com/mirumee/ariadne
https://github.com/strawberry-graphql/strawberry
and (most basic but more pythonic?)
https://github.com/ethe/pygraphy

In my humble opinion, the ORM doesn't have to have support for GraphQL, at least that you want to convert this (or use it as part) in a project like sandman2, which is a great tool to expose a DB with a RestAPI. BTW, great job with orman, i'm exploring it right now, and seems great!

Yeah it's more like a separate package that will ease the graphql queries construction. Not a part of the core.
I have some outstanding tasks like changing the type hints system as primitive python types for fields are not working well with auto completion and mypy.
So this one has relatively low priority. In theory it should work with graphene-pydantic, yet i didn't test this.

I have been using https://github.com/strawberry-graphql/strawberry
It works perfectly well with the strawberry / pydantic  autocomplete, where Department is an Omar model:
@strawberry.experimental.pydantic.type(model= Department)
class DepartmentType:
    id: strawberry.auto
    name: strawberry.auto

although it is a little longwinded to have to define each field you want in the type


Crashed when looking up with Dark Steel Elytra(Minecraft 1.10.2)

Sorry, I can not speak English fluently because I'm Brazilian
What happens:
Note: I look up with dark steel reinforced with the elytra and the chunk unloads.
What you expected to happen:
that fly with the elytra without bugs.

Affected Versions (Do not use "latest"):

EnderIO: <IP_ADDRESS>_beta
EnderCore: <IP_ADDRESS>-beta
Minecraft: 1.10.2
Forge: <IP_ADDRESS>6

Screenshot:
http://imgur.com/5mxRb6V

I cant reproduce this. Can you give me any more information? For example, does it happen all the time? Does it crash the game? Is there any errors in the log file?
cheers

For me it didn't crash, I just went in no clip mode some how and ended up under bedrock, after a quick /ftb home command I found myself in flight mode just above the ground. Might be a conflict with Angel Rings?


Feature: Support publishing releases and development builds via GitHub Packages Registry

Leverage GitHub Packages
GitHub Packages https://github.com/orgs/attestantio/packages would allow for automated builds on the master branch (as an example) as well as cut 'Release' versions to be accessible.
Attestant currently does publish to Docker Hub, however the publishing workflow for building and pushing the Dockerfile is not public. Vouch Builds are located at: https://hub.docker.com/r/attestant/vouch, however only x86 Linux is available even though Attestant provides compiled binaries for Windows and macOS. Creating a docker-bake.hcl file would enable support for those architectures. For reference, see https://github.com/docker/metadata-action#bake-definition.
If you are open to accepting a PR to add support for publishing to GitHub packages, I would be happy to do so. However, the details of the docker hub publishing pipeline should be considered to not have any drift between the two registries insofar as published artifacts are concerned.
docker-bake.hcl example
# -*- hcl -*-

/** Special target: https://github.com/docker/metadata-action#bake-definition */
// docker-bake.hcl
target "docker-metadata-action" {}

target "build" {
  inherits = ["docker-metadata-action"]
  context = "./"
  dockerfile = "Dockerfile"
  platforms = [
    "linux/amd64"
	// additional platforms go here
  ]
}

I haven't looked into the docker workflow beyond what we have at current, but if it is possible to create docker builds with multiple architectures we'd be open to a PR that provided this.


Editable Function Calling Conventions

Is your feature request related to a problem? Please describe.
One good way to improve the quality of decompilation is providing accurate information on a function prototype - in particular, input registers, and registers/stack arguments that are 'spoiled' by the function.
Over a large binary, it is nearly inevitable that many different combinations of calling convention (input registers/spoiled registers) occur, making it untenable to maintain via the .cspec.
Describe the solution you'd like
1.) from the function edit screen, be able to specify (non)-spoiled registers
2a.) to be able to easily (without touching the .cspec) specify a calling convention specific to the binary
2b.) and for autoanalysis to be able to infer (when setting a function to 'unknown') their occurences (although this is definitely a stretch goal)
3.) while not strictly a calling convention, a common compiler optimization is to reuse a stack location when the variable is out of scope e.g.
Chicken * stack_chicken;
doChickenStuff(stack_chicken);
getDuck( (Duck **) &stack_chicken);
doDuckStuff( (Duck *) stack_chicken)

which often leads to ugly decompilation results or bad type propagation in large functions. I believe that being able to specify explicitly that stack inputs to a function are IN/OUT/INOUT would help with this pattern.
Describe alternatives you've considered
My current workflow uses the .cspec to do (1) and (2), which partially solves the problem, albeit in a cumbersome manner

These would be fantastic additions


Cache memory problem

Refer to #52
There is an error
* thread #13, name = 'io.flutter.1.io', stop reason = EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=1850 MB, unused=0x0)
    frame #0: 0x00000001f23c9138 libsystem_platform.dylib`_platform_memmove + 88
libsystem_platform.dylib`_platform_memmove:
->  0x1f23c9138 <+88>:  stnp   x8, x9, [x3]
    0x1f23c913c <+92>:  stnp   x10, x11, [x3, #0x10]
    0x1f23c9140 <+96>:  add    x3, x3, #0x20             ; =0x20
    0x1f23c9144 <+100>: ldnp   x8, x9, [x1]
Target 0: (Runner) stopped.

I removed the line from 42 to 63 for deleting unused saved cache files.
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
    NSString *temporaryDirectory = [paths objectAtIndex:0];
    NSString *filePathAndDirectory = [temporaryDirectory stringByAppendingPathComponent:kDirectory];
    NSError *error;

    // Clear cache folder
    if ([[NSFileManager defaultManager] fileExistsAtPath:filePathAndDirectory]) {
        NSLog(@"[FlutterPluginPDFViewer] Removing old documents cache");
        [[NSFileManager defaultManager] removeItemAtPath:filePathAndDirectory error:&error];
    }

    if (![[NSFileManager defaultManager] createDirectoryAtPath:filePathAndDirectory
                                   withIntermediateDirectories:YES
                                                    attributes:nil
                                                         error:&error])
    {
        NSLog(@"Create directory error: %@", error);
        return nil;
    }
    // Generate random file size for this document

    kFileName = [[NSUUID UUID] UUIDString];

It makes a memory problem when you try to open the PDF after several times.
There is no use to save the PDF caches from the getNumberOfPages method.

merged with #94  as i was unable to edit this.


Project conf - SVN - Default branch not used

In SVN project, if there is default branch name specified, it's not used.
Repo URL : https://user:password@uri/to/svn/project
Default branch name : my-branch
Error :

It's always "master" and not "my-branch"

Thank you for the report, @BrunoJunior.

I tryed to fix branches for SVN. @BrunoJunior Can you test it (PHP Censor from branch bugfix-svn)?
Try to create 2 new projects with:

Repository Name / URL (Remote) or Path (Local): "https://user:password@uri/to/svn/project" (URL without trunk/branches etc.) and Default branch name: ""
Repository Name / URL (Remote) or Path (Local): "https://user:password@uri/to/svn/project" (URL without trunk/branches etc.) and Default branch name: "my-branch"

In first case branch will /trunk (default from empty string) and in second case branch will /branches/my-branch.

OK
Bug fixed
I'll open an issue to make possible to change the default branch repo. (branches by default)


⚠ Bofrost.es has degraded performance

In 93e535b, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1676 ms

Resolved: Bofrost.es performance has improved in de3bd0c after 6 minutes.


js-interop: More examples

I'd love to see Dart flourish on the front-end, but to do that I think interop has to be easy to use.
I believe it's quite difficult to understand how to build interop files given the level of documentation and examples.
Can you please add more examples? Potentially a walkthrough where you make a js lib and then wrap it, or where you wrap some common, popular libraries.
I've tried to wrap https://github.com/text-mask/text-mask and I find myself a bit lost in the process.
We're actually considering Dart for our front end use, but issues like these really hurt with the debate.
Thanks!

I've been looking at this more and more. I think Typescript is winning because of Definitely-Typed and the ability to use ~2500 js libraries easily. If Dart had something similar it would win. The language is excellent. It's just a losing situation to have to turn a usually easy situation into something really complex.
Example:
"I'd love to try out widget X."
In Typescript => just like JS basically. npm install <cool new widget>
In Dart => npm inst...damnit this isn't going to be easy
The object oriented nature of the language is excellent. It's a winner - except for the ability to use 3rd party tools/widgets easily.
I hope that helps. I'd love to see this get better.

See https://github.com/dart-lang/js_facade_gen

@charlieyouakim Feel free to reach out to me directly. [github user name] [at] google.com
Have you tried https://github.com/dart-lang/js_facade_gen ?


make turbo extension use turboPath for commands

Description
Missed the turboPath override for this one. Also added some new features, and fixed another issue in the process:

downgrade ^ lint to HINT
detect missing packages in dependsOn
detect circular dependsOn
respect turboPath when running commands in the terminal

Closes https://github.com/vercel/turbo/issues/7394
Closes https://github.com/vercel/turbo/issues/7395
Testing Instructions

boot up LSP
override the turboPath
run a command by clicking on it
notice it is using your overridden turbo to do so
notice the ^ is downgraded to a hint
notice that missing tasks in dependsOn are now reported

Closes TURBO-2373

It would be good to add some tests in here at some point

Agreed, I actually don't know what tools there are for integration tests for LSPs but I will look into it. Some snapshot testing for diagnostic out given some file in would probably be pretty language agnostic


Document cgroup_root config option

This is a useful config to document b/c many systems are still running under the (rather weird) hybird cgroup1 and cgroup2 system (ie. /sys/fs/cgroup/unified for cgroup2 and /sys/fs/cgroup for cgroup1).
On hybrid systems, it is useful to set cgroup_root to the unified mountpoint as a stopgap to make below run.

It looks like the following are still undocumented:
    pub enable_gpu_stats: bool,
    pub enable_btrfs_stats: bool,
    pub btrfs_samples: u64,
    pub btrfs_min_pct: f64,

I can't really guess what the last two do but it'd be good if someone familiar could document all 4.

Thanks Daniel. Unfortunately those other 4 do nothing in open source, and we couldn't think of a way to hide them easily.

Ah ok. That's fine then. Thanks Brian.


Support source format NEWLINE_DELIMITED_JSON

Support source format NEWLINE_DELIMITED_JSON when loading data.
Note that it does not support the optional JobConfigurationLoad.schema parameter.

Thank you for your contribution !!! LGTM 👍


Revert "(chore): use read_elem_as_dask"

Reverts scverse/scanpy-tutorials#124

@flying-sheep I should not have merge the other PR, too quick.

And I don't have rights here to merge this myself

It’s fine, scanpy’s docs only update when we update the submodule in the scanpy repo, so it already being updated here is OK

I reopened https://github.com/scverse/anndata/issues/1133, we can do a PR to scanpy that updates the submodule and closes that issue


Swift playground

Completion of Swift v Obj-C.
Also playing around with pushing onto a new branch & trying to do a pull request

Put the pull request against the wrong repo.


beat chas

Description
So annoying! The PR release was still dependent on commercial staging env rather than gov stg env.
This corrects that issue.
Code Review Verification Steps

[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

Warnings

:warning:
Please add the JIRA issue key to the PR title (e.g. MB-123)

  Generated by :no_entry_sign: dangerJS against d4bea35a3fa21de39d40927aa1c076caddf7d623


ARTEMIS-1464 Fix Core to AMQP conversion BytesMessage corrupts bytes

Extend test cases in MessageTypesTest to cover Core to AMQP combinations for all JMSTypeTests
Fix ServerJMSBytesMessage to correctly return bodyLength
Fix CoreAmqpConverter to use amqp type "Data" instead of "AmqpValue" to match the same as when BytesMessage sent by Qpid Jms
Remove unused/dead code

@michaelandrepearce Hey, looks like there are two test failures, could you take a look.
Test Result (2 failures / +2)
org.apache.activemq.artemis.protocol.amqp.converter.message.JMSMappingOutboundTransformerTest.testConvertEmptyBytesMessageToAmqpMessageWithAmqpValueBody
org.apache.activemq.artemis.protocol.amqp.converter.message.JMSMappingOutboundTransformerTest.testConvertUncompressedBytesMessageToAmqpMessageWithAmqpValueBody

@mtaylor so this test is interesting, essentially it is stating that for BytesMessage it should be 'AmqpValue' type, where as on testing with Qpid JMS Producer a BytesMessage body is 'Data' type.
I assume Qpid behaviour is more correct, but i want to get a second opinion before i adjust this test to reflect it.

Using an AmqpValue section with Binary content is perfectly valid, and is what some other clients can prefer to do by default. The use of AmqpValue vs Data section shouldn't influence here, just what is prepared and put in them, so I wouldn't change it until there was reason.

@gemmellr fair enough this explains difference with QPID.
re Oasis spec doc i found can you comment? It seems to be specific on the type.

The AMQP JMS mapping is in part around getting any different AMQP JMS implementations behaving consistently with each other, it could as easily say use amqp-value, or say use either. The JMS mapping/client also copes with receiving either, see the recieving side mapping details later in the doc.
There is nothing wrong with the broker sending amqp-value sections, and other clients might prefer that. It seems entirely unrelated to the actual defect here, so I'd leave it the way it is, but even if it were changed I would actually separate it out as its own specific change.

@gemmellr yeah, i reverted that specific change put back to "amqpvalue" also just removing the additional core->core test combinations leaving just, amqp->amqp, core->amqp, amqp->core combinations

..and looks like you changed it while I was commenting as such ;)

@gemmellr  :)

Looks like you guys already have this resolved.  FYI the corresponding core to core test can be found here: https://github.com/apache/activemq-artemis/blob/master/tests/jms-tests/src/test/java/org/apache/activemq/artemis/jms/tests/message/MessageBodyTest.java#L51

@mtaylor @gemmellr thanks for the review comments.

@mtaylor @gemmellr I'm going to merge this, this morning , as it seems no further feedback.

I don't have any more comments but I was mainly reviewing from the AMQP handling perspective, I don't know enough about the Core bits usage to be comfortable about merging it myself (though obviously the tests added suggest its good) and so defer to those who do.

@mtaylor do we have your +1?

@michaelandrepearce Yes +1 from me.  Nice test coverage.


Strict shape checking of aggregate_stats and calc_metric_from_aggregate

This change introduces strict shape checking of return values of Metric.aggregate_stats and Metric.calc_metric_from_aggregate. These functions are now defined as a wrapper of inner functions (that may be overridden), and checks if the return values have expected shape.
May fix #497.

@neubig This change generates a bunch of errors due to unclear ndarray operations in inherited classes. I couldn't fully realize the correct fix of each implementation. Could you take a look at and fix them if possible?

Thanks @odashi ! I fixed most.
@pfliu-nlp : it seems that the remaining ones are APE and NLG meta-evaluation, where you're more familiar than I am. Would you be able to take a look? My commit here might be a good reference: https://github.com/neulab/ExplainaBoard/pull/499/commits/de3dac48b5cffcadf99d1980af4cddad44bc22d0

Sure. I'm working on this.

According to the internal discussion, we will introduce use_customized_aggregate() flag function that informs the assertion to skip to check the size of the last dimension.

I'll take a quick look at this.

@odashi and @pfliu-nlp : tests seem to be passing. you could take a look at my commits and see if you have comments.


add exception testing

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
https://testautomationu.applitools.com/pytest-tutorial/chapter3.html
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

done


Demo app fails to load Refill style (Android)

Steps to reproduce:

Clone https://github.com/tangrams/refill-style-more-labels into [PROJECT_ROOT]/scenes folder.
Update MainActivity.java line 57 to load Refill style.

view.getMapAsync(this, "refill-style-more-labels/refill-style-more-labels.yaml");

Launch demo app and notice no map is loaded (black screen). Setting other house styles in this fashion successfully loads a map (tested with Bubble Wrap and Cinnibar).

Verified - this is not specific to Android, it's a bug in a core library dependency. The commit of yaml-cpp that we use currently has a bug that causes a byte-order mark in a YAML file to cause a parsing error.
We've fixed this temporarily in tangram-es by just skipping a BOM before we pass the scene file to the parser.

👍


sap_hana_preconfigure - Fixes fatal looping error, reboot logic

A dict is being passed into a string field. This is not supported. Running the role as-is from main produces this error for every step that uses the name: "{{ packages }}" syntax:
TASK [sap_hana_preconfigure : 1944799 - PDF 8.1 Package List Packages (SLE-Module-Legacy15)] ***
fatal: [heiq1hhdb05]: FAILED! => {"changed": false, "msg": "argument 'name' is of type <class 'dict'> and we were unable to convert to list: <class 'dict'> cannot be converted to a list"}

TASK [sap_hana_preconfigure : 2578899 - SAP HANA database] *********************
fatal: [heiq1hhdb05]: FAILED! => {"changed": false, "msg": "argument 'name' is of type <class 'dict'> and we were unable to convert to list: <class 'dict'> cannot be converted to a list"}

I have converted all package installs to a with_items list that is fed to the name: field using the {{ item }} variable. This allows the role to execute correctly.
Additionally, the reboot logic handler is incorrect. The handler asserts that no reboot is required when the "Reboot the managed node" step is played, but then asserts a reboot is required during the "Let the role fail if a reboot is required" step. This has been repaired by adding the same checks to the reboot step as the playbook failure handler. It will now reboot the server correctly if a reboot is required. See for the current logic error:
RUNNING HANDLER [sap_hana_preconfigure : Reboot the managed node] **************
skipping: [myvm] => {"changed": false, "skip_reason": "Conditional result was False"}

RUNNING HANDLER [sap_hana_preconfigure : Let the role fail if a reboot is required] ***
fatal: [myvm]: FAILED! => {"changed": false, "msg": "Reboot is required!"}

RUNNING HANDLER [sap_hana_preconfigure : Show a warning message if a reboot is required] ***

The loop variable {{ item }} is already in use and generates warnings:
TASK [sap_hana_preconfigure : 2588899 - I/O scheduler] *************************
[WARNING]: TASK: sap_hana_preconfigure : 2588899 - I/O scheduler: The loop
variable 'item' is already in use. You should set the `loop_var` value in the
`loop_control` option for the task to something else to avoid variable
collisions and unexpected behavior.

I have fixed this with a loop_control block.

Regarding commit https://github.com/sap-linuxlab/community.sap_install/pull/186/commits/fbb69c53baf756e040b8a7d9904c59d547ca5837:
According to Ansible documentation of community.general.zypper, the name parameter type is list / elements=string (list of strings). The tasks should be fine as they are and no change required.
https://docs.ansible.com/ansible/latest/collections/community/general/zypper_module.html#parameter-name

Regarding commit fbb69c5:
According to Ansible documentation of community.general.zypper, the name parameter type is list / elements=string (list of strings). The tasks should be fine as they are and no change required. https://docs.ansible.com/ansible/latest/collections/community/general/zypper_module.html#parameter-name

Yes, but the script is passing a dict, according to the error. A dict is not a list. Read the error thrown by Ansible, or try running the role on your own machine. The task is not fine.
unable to convert to list: <class 'dict'> cannot be converted to a list"

Regarding commit fbb69c5:
According to Ansible documentation of community.general.zypper, the name parameter type is list / elements=string (list of strings). The tasks should be fine as they are and no change required. https://docs.ansible.com/ansible/latest/collections/community/general/zypper_module.`tml#parameter-name

Yes, but the play is passing a dict, according to the error. A dict is not a list. Read the error thrown by Ansible, or try running the role on your own machine. The task is not fine.
unable to convert to list: <class 'dict'> cannot be converted to a list"

I see, this is unexpected. We will need time to review your suggestions and test the issue.

Hi @rdvansloten thank you for contribution which ansible version and community.general version do you use ? I can't see any issues when i am testing it on my machine. The problem with the looping is that it will take a lot of more time then calling it once.
I love the idea for the loop_control improvement.

This PR is problematic, it is describing multiple issues and some is misinterpretation of logic - therefore the PR cannot be merged as some code is not accurate.
I am also concerned with loop with the zypper Ansible Module, as this would create unnecessary time calling zypper multiple times. There is a specific note in the documentation describing this:
When used with a loop: each package will be processed individually, it is much more efficient to pass the list directly to the name option.
I will close this PR and create a new PR for the valid code changes.


[REQ] Agent Patch System

Patches can be applied in multiple slots of an agent, and it's not an equippable item like a pin. It's more like a sticker for agents.

Here is a suggestion for creating a rule for Patch as well.

Create rules so that we can control whether the user can apply it to an agent or even remove it if it is already applied to the agent.


feat: support customFilters

See https://docs.campaign.adobe.com/doc/standard/en/api/ACS_API.html#filtering
under the profileAndServicesExt endpoint

Need to create 3 more paths in the OpenAPI spec, copy from:

getllProfiles
getAllServices
getAllOrgUnits

Add 'Ext' suffix to the operationId. e.g. getAllProfilesExt. The SDK method should be exactly the same as the non-ext version.

Might be able to get away with specifying the path as:
`"/profileAndServices{EXT}/service/{FILTERS}"
... and the SDK method takes a custom parameter. If custom is true, we set EXT = 'Ext', else EXT = ''


Investigate if WebTemplateStudio integration is useful

https://github.com/microsoft/webtemplatestudio
See if we can use this template for Babylon React Native or Babylon Native directly to make it easier to start a new project.

Doesn't seem like we need this.


fix(generic-app): remove too long labels

Remove a possible too long label in Helm Chart for generic-app, first appeared as issue in gitlab-ci-pipelines-exporter.
see: https://github.com/mvisonneau/helm-charts/issues/60

thanks @bt909 🙇 !


Data - Explore ways to improve population points accuracy

Explore ways to improve population points accuracy, including:

should we include business addresses?
could we use census data to rescale population at a lower level.

The main points that we are trying to address are:

make sure that represented population numbers are accurate
facilitate introduction of additional census info, such as age,...

We can eventually revisit RPG code to improve the accuracy of the state GeoJSON files.
For now, we'll look into normalizing population by geographical unit (county or census tract) on data load. This way, the total population within each geographical unit will be distributed among the points for that geography (proportionally to existing numbers).

Update: both improving accuracy within RPG and normalizing population by county have been implemented.


[Feature Request] clock timer

new node Timer as a slimmed down version of the blind controller without sun control, only with the rules and any output

is implemented


govim: fix threading model

I don't think I've quite got the threading model for github.com/myitcv/govim correct.
Autocmds can be nested and hence the handling (within a github.com/myitcv/govim-based plugin) of an event needs to support a further event being triggered during the handling. As such, functions, commands and autocmds should all support effectively recursive calls, and be handled from a single queue.
Non-Vim initiated events (i.e. something triggered by gopls) will potentially need to be handled different.

As part of this we will need a way for a gopls event to be able to schedule some work on the main event thread. For example, a callback with diagnostics from gopls needs to use the current buffer information.


[Idea] Easy interface for adding custom attributes (via lab metadata extension?)

This one I leave to @rly ; basically, users often want to add all kinds of custom lab-specific experiment/subject metadata to the files
Would be cool if this could reduce to a couple of simple buttons in the app that then generate a specific extension on the fly
Or outside of 'guided mode' there could be a free-form mode (like from SODA) where one of the modes is 'create an extension' in which case the main 'guided mode' would need a button for 'import a metadata extension' or something like that
We can hash out specific implementation details later, just starting this issue for now

This would be cool! As a first, pass,iIt might be useful to dynamically generate a webform using the JSON  schema for the NWB schema language: https://github.com/NeurodataWithoutBorders/nwb-schema-language/blob/main/source/nwb.schema.json

Summarized and moved to https://github.com/NeurodataWithoutBorders/nwb-guide/issues/847
Re-open again whenever this starts active development


feat: 3DS without redirection

Type of Change

[ ] Bugfix
[x] New feature
[x] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description
3DS Method call
3DS Auth Call
handled without redirection using popups
challenge & frictionless flow also handled
How did you test it?
testing app with 3ds enabled cards
multiple times with challenge and frictionless flow
Checklist

[x] I ran npm run re:build
[x] I reviewed submitted code
[ ] I added unit tests for my changes where possible

Please covert all Js module functions to core module to maintain consistency throughout codebase

Why is the package-lock.json file pushed?


add minimum distance method to base class and polygon env

Will merge after you change the Point to shapely.geometry.Point in polygon env as well the the lint check

Are you sure you have black>=5.0 ?

Also could you fix the lgtm alert?

Yeah I ll sort it out

Is tox -e lint . working properly locally for you?

lint command fails when ran in the root directory

I already fixed the lgtm alert in the previous commit


Added dark mode to Swap Option on main wallet tab

Main Wallet Tab > ... > Swap

Force-pushed after rebase master


Clarification on executor stdin / stdout field

Hi, we're having some misunderstandings around the stdout / stdin fields in executors. Hopefully you can make some clarifications around these.
As they are described right now, they will produce a file inside the container. Would that file then disappear after the executor finishes? The only way to keep it would be to place it inside a volume or define it as an output, is that correct?
Also on the Funnel homepage, an example is presented with the stdout of an executor defined. However when the task is described, stdout is also present in the logs. So should stdout always be presented in the logs, even if it is already captured in a file?
Would appreciate your input. Thanks.

@erikvdbergh I can't close issues to clean up the TODO list. If your question has been answered, can you close this or clarify what's needed? Please, thanks!

Yes this has been clarified in the docs now as well.


Add feature to get members' location

Add a feature to get a circle's members' location (a.k.a. Life360 members' history).

API: GET /v3/circles/<circle_id>/members/history


[basicdataset] Add WikiText-2 dataset

Description
Add WikiText-2 dataset to basicdatasets.

We referred to the code of cookStackexchange dataset. Function WikiText2.getData() will return the path of original text data.

Close #45

BTW, could you help me upload the metadata to the server and write remote testcases?

@dandansamax
Thanks for your contribution. I have uploaded modified version of metadata.json file to our repo.
Please update your PR and push it again (I'm not able to push my changes to your repo, enabling allow committer to update PR option can make collaboration easier).

@dandansamax
Please format the java code, there is white space in the test code:
./gradlew formatJava

And then commit the format changes.

Thank you so much for your patient help! I will enable edits from maintainers next time.

Codecov Report

Merging #1545 (e11b754) into master (bb5073f) will decrease coverage by 1.32%.
The diff coverage is 51.05%.

@@             Coverage Diff              @@
##             master    #1545      +/-   ##
============================================
- Coverage     72.08%   70.76%   -1.33%
- Complexity     5126     5368     +242
============================================
  Files           473      501      +28
  Lines         21970    23427    +1457
  Branches       2351     2545     +194
============================================
+ Hits          15838    16579     +741
- Misses         4925     5573     +648
- Partials       1207     1275      +68

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java
54.54% <0.00%> (-12.13%)
:arrow_down:

...pi/src/main/java/ai/djl/repository/Repository.java
83.33% <ø> (ø)

...l/training/loss/SigmoidBinaryCrossEntropyLoss.java
64.00% <0.00%> (ø)

... and 210 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 2566416...e11b754. Read the comment docs.


complete_run test failing

The complete_run test currently fails.

From discussion on #495:

However, I'm now debugging a FileNotFoundError: [Errno 2] No such file or directory: './v2_4_0_all_sets/all_sets_v250_20210608_1878984/cosp_histogram/MODIS-COSP/MODISCOSP-COSP_HISTOGRAM_MODIS-JJA-global.png' error....

@chengzhuzhang The above error seems to be because all_sets_v250_20210608_1878984 (an exact copy of /lcrc/group/e3sm/public_html/e3sm_diags_test_data/unit_test_complete_run/expected/previous_output/all_sets_v250_20210608_1878984) is in /lcrc/group/e3sm/public_html/e3sm_diags_test_data/unit_test_complete_run/expected/all_sets. I can't rm -rf it though because the permissions are drwxr-xr-x 17 ac.zhang40  E3SM
I think we need to add a step to change permissions on the directions to replace the expected images (at https://e3sm-project.github.io/e3sm_diags/_build/html/master/dev_guide/testing.html#complete-run-test). Something like chmod -R g+wX /lcrc/group/e3sm/public_html/e3sm_diags_test_data/unit_test_complete_run/expected/all_sets

Expected images have been updated, corresponding to the pre-release https://github.com/E3SM-Project/e3sm_diags/releases/tag/v2.6.0rc1. ./tests/test.sh and python -m unittest tests/complete_run.py pass now.


Add 'last updated' banner to internal and externally version controlled docs (NEW)

This PR is identical to #2784 other than one final commit which fixes a deployment issue we were seeing, and caused us to have to revert.

This PR removes the old "last reviewed on" banner from the bottom of the internally hosted docs. In their place - and as a new feature for the externally hosted docs - there's now a "Last updated" banner at the top of each doc. The date is clickable and links to the commit SHA on GitHub so that the changes can be viewed easily.
"Last updated" on internal docs:

"Last updated" on external docs:

This is phase 1 of removing Daniel the Manual Spaniel. Once the 'last reviewed' date is no longer surfaced visually, there's no point in keeping it - we'll remove the 'last_reviewed' and 'review_in' properties from files and discontinue the spaniel.
Trello: https://trello.com/c/OMBV5qM4/198-retire-daniel-the-manual-spaniel

I've pushed up a branch to test this, by logging out the timestamps vs paths:
https://github.com/alphagov/govuk-developer-docs/runs/1320989727
Sample:
TIMESTAMP FOR source/manual/query-cdn-logs.html.md IS 2020-10-06 13:48:51 +0000
TIMESTAMP FOR source/manual/add-authentication-to-an-application.html.md IS 2020-06-10 10:09:53 +0000

This appears to be working 🎉


Error on release build

I'm getting this error:
flutter: Loading actor filename assets/animation/welcome
[VERBOSE-2:shell.cc(181)] Dart Error: Unhandled exception:
RangeError (length): Invalid value: Not in range 0..8, inclusive: 8
#0      _List.[]= (dart:core/runtime/libarray.dart:0)
#1      Actor.readComponentsBlock (package:nima/nima/actor.dart:560)
#2      Actor.load (package:nima/nima/actor.dart:421)
#3      FlutterActor.loadFromBundle (package:nima/nima.dart:197)

On debug mode it's fine, this happens only if i run the release build.
Thanks.

This was due to a Dart AOT compiler bug which the Dart team fixed! Closing.