exit from select 's' menu using 'esc' instead of 'q'

I find it a bit confusing that from 'f' filter menu I exit using 'esc' (which is obvious), but to exit from 's' select menu I need to use 'q'. It should be 'esc' to make it consistent.

this is due to the input nature of the filter menu -- enter will exit the dialog, retaining the filter as applied; esc will exit the dialog and clear/reset the filter

seems that allowing "exit" keys group + enter to exit the dialog, while retaining the filter, would provide the most consistent experience.

This is implemented in the latest release -- <enter> still closes the dialog with the filter applied, while<esc> will close the dialog and clear the filter.


custom scalar with max length for input object type

I have read the docs thoroughly before making this feature request.

[X] Yes

I have read through other open issues, and my issue is not a duplicate.

[X] Yes

Description
What is the current behavior?
input that can not set max_length for them:
import graphene
class BaseCreateInput(graphene.InputObjectType):
      name = graphene.String(required=True)

What is the expected behavior?
input that can set max_lenght for them:
import graphene
class BaseCreateInput(graphene.InputObjectType):
      name = graphene.String(required=True,max_lenght =125)

Motivation
Main Problem That Solve with this Feature
In this senario unnecessary and invalid data will not send into database.
Would you like to solve this issue yourself with a pull request?
No

Hi, thanks for the feature request! This library is currently in "pre-beta" (no 0.0.1 / release in PyPI yet) but I'll keep this feature in mind for that release.

I though about this feature, and I have some questions before I proceed.
The create and update mutation classes for the library use djangorestframework modelserializers, which can leverage model field's max_length automatically.
For example, given the following model:
class Example(models.Model):
    name = models.CharField(max_length=100)

...and the following serializer:
class ExampleSerializer(NestingModelSerializer):
    class Meta:
        model = Example
        fields = [
            "pk",
            "name",
        ]

We can create the following CreateMutation:
class ExampleCreateMutation(CreateMutation):
    class Meta:
        serializer_class = ExampleSerializer

Adding this to the Mutation object:
class Mutation(graphene.ObjectType):
    create_example = ExampleCreateMutation.Field()

We will get max_length validation automatically.
mutation ($input: ExampleCreateMutationInput!) {
  createExample(input:$input) {
    pk
    errors {
      field
      messages
    }
  }
}

Input data:
{
  "input": {
    "name": "<string over 100 chars>",
  }
}

Response:
{
  "data": {
    "createExample": {
      "pk": null,
      "errors": [
        {
          "field": "name",
          "messages": [
            "Ensure this field has no more than 100 characters."
          ]
        },
      ]
    }
  }
}

No need to defined GraphQL InputObjectTypes separately from the model, meaning less boilerplate and duplication of business rules.
Does this fit your usecase, or is there something I'm missing?

that is great idea when we dealing with models for crud operation or something like this .
but think  about time that we want just get email or phone number from user and send mail or SMS for them, in this senario it is
significant that user enter valid e-mail address or valid PhoneNumber( for example with max 12).
and other point : for Email is same  graphene has no things named EmailScalar and if we want to get email we must use from graphen.String

I see, that makes sense. For non-model operations, there exists the option for custom mutations, but as documented, those require the use of graphene fields, which don't have much validation.
I would solve this by using Regular DRF Serializers, since they have all the validation logic built-in already (e.g. max length validation and email validation, phone number validation can be achieved by django-phonenumber-field). However, there is currently some duplication required, since we'd need to declare both the graphene fields and the serializer:
from graphene_django_extensions.bases import DjangoMutation
from rest_framework import serializers

class ExampleSerializer(serializers.Serializer):
    phone = serializers.CharField(max_length=12)
    email = serializers.EmailField()

class ExampleMutation(DjangoMutation):
    class Meta:
        input_fields = {
            "phone": graphene.String(),
            "email": graphene.String(),
        }
        output_fields = {
            "successful": graphene.Boolean(),
        }

    @classmethod
    def custom_model_operation(cls, root, info, **kwargs):
        serializer = ExamplesSerializer(data=kwargs)
        serializer.is_valid(raise_exception=True)
        data = serializer.validated_data
        #
        # Do logic with data here
        #
        return cls(successful=True)

I didn't test the above but it should be something similar.

To get rid of the duplication, I could change the DjangoMutation class to build fields from the serializer if given in Meta class:
class ExampleInputSerializer(serializers.Serializer):
    phone = serializers.CharField(max_length=12)
    email = serializers.EmailField()

class ExampleOutputSerializer(serializers.Serializer):
    successful = serializers.BoolenField()

class ExampleMutation(DjangoMutation):
    class Meta:
        serializer_class = ExampleInputSerializer
        output_serializer_class = ExampleOutputSerializer

    @classmethod
    def custom_model_operation(cls, root, info, **kwargs):
        # kwargs is already validated

How does this sound?

I should also change custom_model_operation -> custom_mutation_operation.

that is ok overall from previous one .
but here are some notes :

as the link i provide here , we have already something like this (using DRF Serializer) :https://docs.graphene-python.org/projects/django/en/latest/mutations/#django-rest-framework

it is also depend of DRF also , i don't think it is make a sounds good

About serializer_class it will change to input? or we can customize it?  this is example of  DjangoModelFormMutation that we can set name for it but it is not work

                class PetMutation(DjangoModelFormMutation):
                    class Meta:
                        form_class = PetForm
                        input_field_name = 'data'
                        return_field_name = 'my_pet'

Yes, it seem you could achieve this by using SerializerMutation and overriding perform_mutate. In my own use, I'd like to be able to use the same mutation class for everything.

For me, depending on DRF is a benefit, as there are many extensions for it that one can use, and graphene-django also already includes nice auto converting functionality for converting serializer fields to graphene fields. If you'd rather use django forms, then I'd need to think about making it an option, and how that would work.

Currently, when using serializer_class for model operations, it will be used for input and output, unless one defines a output_serializer_class, which will then be used for output (for example to limit fields that can be returned back from the mutation). I was thinking of doing the same for custom mutations.

Changed how custom mutations work in 0.0.5, they now require regular Serializers (not ModelSerializers). Next, I'll work on adding django forms support, as it should be pretty simple.

0.0.6 now has form support for update and create, as well as custom mutations.

With the support for custom mutations and form mutations added, I think this issue can be closed.


Get rid of "Share the Id" notification at every startup

Every time I open VSCode I have this notification:

Sync: Share the Id with other extension users to share the settings.

How can I get rid of it permanently?

Can you post your Settings Sync global settings.
https://github.com/shanalikhan/code-settings-sync#global-settings

Here they are:
{
    "ignoreUploadFiles": [
        "state.vscdb",
        "state.vscdb.backup",
        "syncLocalSettings.json",
        ".DS_Store",
        "sync.lock",
        "projects.json",
        "projects_cache_vscode.json",
        "projects_cache_git.json",
        "projects_cache_svn.json",
        "gpm_projects.json",
        "gpm-recentItems.json",
        "state.*"
    ],
    "ignoreUploadFolders": [
        "workspaceStorage"
    ],
    "ignoreExtensions": [],
    "gistDescription": "Visual Studio Code Settings Sync Gist",
    "version": 340,
    "token": "[anonymized GitHub token]",
    "downloadPublicGist": false,
    "supportedFileExtensions": [
        "json",
        "code-snippets"
    ],
    "openTokenLink": true,
    "disableUpdateMessage": false,
    "lastUpload": "2019-06-27T09:13:31.267Z",
    "lastDownload": "2019-07-22T08:50:55.815Z",
    "githubEnterpriseUrl": null,
    "askGistName": false,
    "customFiles": {
        "projects.json": "C:\\Users\\arkay\\AppData\\Roaming\\Code\\User\\globalStorage\\alefragnani.project-manager\\projects.json",
        ".gitconfig": "C:\\Users\\arkay\\.gitconfig",
        "Greenshot.ini": "C:\\Users\\arkay\\AppData\\Roaming\\Greenshot\\Greenshot.ini",
        "default.svg": "C:\\Users\\arkay\\AppData\\Roaming\\Inkscape\\templates\\default.svg",
        ".editorconfig": "C:\\Users\\arkay\\Documents\\config\\.editorconfig",
        "autoload.bat": "C:\\Users\\arkay\\Documents\\config\\autoload.bat",
        "info.txt": "C:\\Users\\arkay\\Documents\\config\\info.txt",
        "remove-safely-icon.bat": "C:\\Users\\arkay\\Documents\\config\\remove-safely-icon.bat",
        "macros.ahk": "C:\\Users\\arkay\\Documents\\config\\macros.ahk",
        "run.ahk": "C:\\Users\\arkay\\Documents\\config\\run.ahk",
        "text.ahk": "C:\\Users\\arkay\\Documents\\config\\text.ahk"
    },
    "hostName": null,
    "universalKeybindings": false,
    "autoUploadDelay": 20
}

Fixed in 3.4.1, thanks!

The notification showed again, sorry.

alright, pls post the gist ID

1b8b7717469c2648bacb57a1498dd84e

Can you post the details with the proper issue template so I can see the reproducing steps , happeing on upload / download etc. I have updated your main post so you can fill it up.

Ok thanks, done

Any news on this?
I think we should have a "Do not show again" option in the "gear" icon menu of the notification, like other notifications in VSCode.

I didn't find time to fix this issue. Hopefully, it will be fixed in upcoming releases. :)

It is fixed and released in new version.

Hello,
Since the new release I see this message (but previously I wasn't). I see the checks on this changed in the last release:
Previously the condition looked at the localConfig.publicGist variable (see L407) but now just for optArgument.
But the way as the optArgument becomes true is different (in terms of this check): if the incoming variable is trueish, the message will be showned, meanwhile previously it not just checked for emptiness, it checked for it's value too (see L87-88).
Since I don't see the calling signature is changed (as of the extension.ts L19-21) I would assume this is not how it should work?
I think reverting the modification in the sync.ts L407 would solve the issue, or a direct check on optArgument:
-          if (optArgument) {
+          if (optArgument === "publicGIST") {

What is your thoughts on this @shanalikhan?

yes are you right. I will place the check on optArgument value too.
localConfig.publicGist can remain to true forever and user were seeing this message on every update. Now notification needs to be only appear when user creates new public gist. ( not on every upload on public gist, afterwards)

Ohh I see! I missed that part of the code, sorry :)


Autoclose Window if error are solved.

Since the window opens automatically when an error happens. It would be nice it could close itself when the error has been solved.

You step in? :smile:

@PEM-- I don't see this happening in near future. Got a lot to do right know.
But If I get bored one day and still diggin meteor, I might give it a try.

With great pleasure. Meteor is a great platform. Atom itself is an interesting platform to dig in. Let's keep this feature request opened in the mean time. Happy coding.


misc: Fixes #282. Add minimum version of Node.js. Add .nvmrc file

Locally I'm still getting an error with version "node": "^8.12.0".
^ is for minor versions, so anything higher than 8.12, but not 9.x or 10.x.
On the test server we're running 8.14.0, that's why the pipeline goes through. I'm on node 10.13, that's why the build is failing for me. If you're using ´>=instead of ^` you're including major versions as well.


bug: strange statement in arch doc about transport plugin

Describe the bug
https://github.com/kubestellar/kubestellar/blob/33bcdc47ffa2fb70a0e4767b8fb14c15fce0e223/docs/content/direct/architecture.md?plain=1#L453
seems strange to me. The transport interface does not give the plugin enough information or access to do this, and the implementation in ocm-transport-plugin indeed does not do this.
Steps To Reproduce
See above.
Expected Behavior
The doc is accurate.
Additional Context
No response

/cc @vMaroon
/cc @nirrozenbaum

This treats OCM hub/agent as part of the transport - so when OCM handles the registration/removal of a managed-cluster, we say that it is the transport plugin that handles it. All transport-specific components are part of the "pluggable transport" and therefore are part of the transport plugin.
I think the confusion here comes from the transport controller being called transport plugin, while the line refers to the pluggable transport.
@MikeSpreitzer do you want to suggest a rewrite?

Thanks for the explanation.
I might be inclined to use words like the following to describe the situation.

KubeStellar has a feature called "pluggable transport". This means that the "transport mechanism" is "plugged in" to KubeStellar. One of the things that the transport mechanism provides is a transport controller built from the combination of (1) an object wrapping implementation from the transport mechanism and (2) "generic" (i.e., independent of the particular transport mechanism) transport controller code. The transport mechanism is also responsible for creating inventory objects and corresponding mailbox namespaces, and for arranging the transport of desired and reported state between the mailbox namespaces and the WECs.


README ARM badge link broken (Jupyter lab message: "Could not find path: user-data-home/comble-mip/notebooks")

The "ACE Environment" badge at the top of the README leads to a non-existing path. Jupyter lab reports "Could not find path: user-data-home/comble-mip/notebooks"
https://github.com/ARM-Development/comble-mip/blob/854b3dee8f4a7af9678c4e5cc54dc54d2d411332/README.md?plain=1#L3

for the record: noticed on an ordinary account without elevated privilages

@slayoo Thanks for reporting this issue. As we discussed via email, we believe this is likely due to not having elevated privileges.
@mgrover1 Could you please confirm this is the culprit? Thanks!

Agreed! You need the elevated privileges to access this.

Thanks, if you'd have any hints on how to construct a link to a notebook within a pulled repo, for ordinary users, this would be of great help. (we're trying to help users of the PyPartMC package to quickly open example notebooks on the ARM Jupyter Hub, but have so far not found a way to direct to a particular file, like it is doable for Colab or mybinder.org)
relevant PR here: https://github.com/open-atmos/PyPartMC/pull/331/files

Thanks, if you'd have any hints on how to construct a link to a notebook within a pulled repo, for ordinary users, this would be of great help. (we're trying to help users of the PyPartMC package to quickly open example notebooks on the ARM Jupyter Hub, but have so far not found a way to direct to a particular file, like it is doable for Colab or mybinder.org)
relevant PR here: https://github.com/open-atmos/PyPartMC/pull/331/files

Pinging @mgrover1 since he would be the person to ask.

You can use nbgitpuller, which is what we used
https://nbgitpuller.readthedocs.io/en/latest/link.html
If this is within the scope of ARM, I would suggest submitting a contribution to the ARM-Notebooks repo which would make it more findable within the ARM community, and automatically build that link for you on one of the pages.

thanks @mgrover1
We've searched through the nbgitpuller docs, but couldn't find anything that would help with getting right into a particular directory with ARM JupyerHub (as the username is part of the path - that's the reason I've opened this issue after noticing that the same happens with the link in COMBLE README)
The best link we've come up so far is:
The PyPartMC project is very much within ARM scope (and the development was supported through an ARM project).
However, we are at a stage when the example notebooks in PyPartMC repo are continuesly changing and being developed - hence storing them within external repo could risk lower maintainability ?
BTW, for installing PyPartMC when running the example notebooks, we use the following header cell:
    import os, sys
    if 'JUPYTER_IMAGE' in os.environ and '.arm.gov' in os.environ['JUPYTER_IMAGE']:
        !pip --quiet install PyPartMC
        _pypartmc_path = !pip show PyPartMC | fgrep Location | cut -f2 -d' '
        sys.path.extend(_pypartmc_path if _pypartmc_path[0] not in sys.path else [])


Fix Double Underline when hovering over Discord

There is a double underline animation when hovering over the discord link in the footer while other links have only single underline animation. I want to fix this @Rajdip019

Hi can i take this one? can you assign to me please?

Hey @devilkiller-ag I have already assigned you an issue. So is there any problem I give this issue to @kala2 ?

I can complete both if you don't mind.

If @kala2 agrees we can work on it together.

Don't mind. I can take another ticket! it's all yours :)

Okay, assigning it to @devilkiller-ag . You can find some issue in the website or make any enhancement feel free to raise an issue @kala2

Thank You @Rajdip019

Hey, @Rajdip019 I am wondering why this issue is open till now. Is there any problem with my PR?

No this issue is solved so closing it. @devilkiller-ag


feat: ROCm support

Description
This PR modifies the build of sllm-store in order to support HIP/ROCm. It is the latest version of the closed PR https://github.com/ServerlessLLM/ServerlessLLM/pull/33
Motivation
Support ROCm platfrom
Type of Change

[x] New feature
[ ] Documentation update

Checklist

[x] I have read the CONTRIBUTION guide.
[ ] I have updated the tests (if applicable).
[ ] I have updated the documentation (if applicable).

TODO:

[ ] Add document about ROCm
[ ] Add tests for ROCm platfrom

Python tests for CUDA platform also works for ROCm platform, there's no need to change.

C++ tests after modification can also be runned:
(sllm_dev) shaosy@hacc-gpu7:/mnt/home/shaosy/ServerlessLLM/sllm_store/build$ ctest --output-on-failure
Test project /mnt/home/shaosy/ServerlessLLM/sllm_store/build
    Start 1: runTests
1/1 Test #1: runTests .........................   Passed    7.12 sec

100% tests passed, 0 tests failed out of 1

Total Test time (real) =   7.12 sec


Issues after updating firebase-ios-sdk

I updated https://github.com/firebase/firebase-ios-sdk/ because of issues/12441, but now I get this error: Couldn't stat /Users//Library/Developer/CoreSimulator/Devices/****-42B0-9841-/data/Library/Caches/com.apple.mobile.installd.staging/temp.aWbqKV/extracted//Frameworks/GoogleMobileAds.framework/Info.plist: No such file or directory

I believe this is a duplicate of https://github.com/googleads/swift-package-manager-google-mobile-ads/issues/62

Thanks, @tehsven  - I will close this one.


[IRGen] Don't apply direct error return to functions with indirect result

rdar://130971168
Having direct and indirect results on the same function is illegal.

@swift-ci smoke test

Merge after https://github.com/swiftlang/swift/pull/75149

Thanks @drexin!


Short overview or mini tutorial?

I came across this project when looking for tools to help me parse C files to auto-generate cgo bindings. Specifically, my use case is for implementing C APIs in Go (not accessing C APIs from Go).
Anyway, I just wanted to put in a request for a little bit more documentation to make sense of this library. I'm sure I'll get there eventually, through trial and error, but staring at the Godocs is a painful process.
Is there any further documentation that I've missed? If not, it would be great if someone with some knowledge of the project could write a short overview just to get new people started. I would be happy to contribute to it as I learn more.

I came across this project when looking for tools to help me parse C files to auto-generate cgo bindings.

@xlab has a project that I think does that: c-for-go

Is there any further documentation that I've missed?

No other documentation than what you've found already exists ATM.
Contributions surely welcome, but let me please first try to learn more about your task. Is it that you want to consume C .h files and create Go definitions from it? If that's the case you may want to try something like
$ go get -u github.com/cznic/ccgo/...
$ ccgo -o defs.go --ccgo-define-values header.h

But right now this will, and to just certain extent, work only for linux/amd64. If you're gonna try the above and you run into a problem, please let me know and/or report it here, thanks
If the above does not solve your case then please tell me more about the task. Some small and/or concrete examples would also help.
Even before knowing the details: the general usage pattern of the package is that one hands a set of Sources to Translate and gets back a TranslationUnit. From that point it depends on the details of your task, but in most cases one needs to walk the AST and process the information it contains.
Note: The AST is type annotated and value annotated where operands have known values.
Note2: The above links are for the v2 version. I suggest to use this newer version even though it's being actively developed and the API si not guaranteed to be stable. However, most recent changes do not change the API but fixe bugs, add features etc.
Note3: When switching on the AST nodes Case fields, always use the symbolic constant. Not the number behind the constant. Example: https://github.com/cznic/cc/blob/e719f34540155790c4b2817d58eb3fc35fc3a873/v2/ast2.go#L295

Thanks for the swift and detailed response. I'll take a look at the command you suggest, but in the meantime I'll explain my use case.
We have existing C libraries that we are considering re-writing in Go. We will use cgo to export our C functions into a shared object and we'll need to conform to existing C header files.
This can all be done manually, but it becomes time consuming and error prone. I'm investigating automating the process of generating the necessary logic to pass pointers and what-not between C code and Go. Walking through the AST nodes is probably the answer, so I'll keep digging there.

This can all be done manually, but it becomes time consuming and error prone. I'm investigating automating the process of generating the necessary logic to pass pointers and what-not between C code and Go. Walking through the AST nodes is probably the answer, so I'll keep digging there.

@dmjones that's exactly how I started c-for-go (ex. cgogen). I used @cznic awesome tool for AST traversing to generate stub code, but later decided not only generate stubs, but generate proper cgo binding code. So you're welcome to study my project. I think this file uses CC the most https://github.com/xlab/c-for-go/blob/master/translator/ast_walker.go

Thanks @xlab. Looks like I can take some fairly heavy inspiration from your project. If I get something working, I'll share it on GitHub and I'll let you know.

... I'll share it on GitHub and I'll let you know.

Please CC me too, thanks.


Used with Item Piles and it shows OpenImage but its locked.

If a PC trys to doubleklick a chest f.e., wich is locked, Item Pile shows the OpenImage although its already locked. What is my failure?

What exactly do you mean with the "OpenImage"?

Do you mean this lock symbol to the right of a container item pile?

hi, thx for the feedback. was not able to reproduce it. if so, i will take screens and post them here.

That was an oversight on my part. I have released v1.10.3 which should sync the lock state bewteen lock & key and item piles containers correctly and thereby solve this bug.


Arbitrarily oriented clipping planes capped with textures

Hello, thanks for the interesting work that you published. Looking at using it, are multiple clipping planes implemented and if yes, is it possible to put a cap on the clipped meshes so that we see the internal structure of the brain per region or per custom data, applied as a texture on the cap(s) ?
Here's an example from XTK WebGL viewer with three clipping planes to illustrate what I mean.

Hi, thanks for getting in touch.
If I understand correctly, you have a 3-dimensional image with some data, right?
You can't currently render 3d volumes as they are in brainrender, you need to create a mesh from them.
This is done automatically in brainrender using the Volume actor class.
It looks something like:

here I have a 3d image and the value at each voxel shows the intensity of gene expression in that brain region, this is shown as 'cubes' in the rendering. Not all voxels are shown, only those with a gene expression level above a given threshold.
This is done using vedo's Volume class which supports other methods for creating meshes from images.
Now, once you have created a mesh from your volumetric image, you can 'slice' the image using Scene.slice as you wish (with 3 orthogonal planes or any arbitrary plane), there's examples showing how to slice scenes.
I'm not sure if this addressed your question, if not perhaps you can tell me more about what data you have, what they look like and what you're aiming to achieve. One thing that is not clear from your question is if your data are registered to a reference atlas (and if so, which one?).

Sorry just one addition, from your image it looks like different portions of your 3d image are labelled differently, if so you can create a mesh from each which might look rather nice.

Thanks for your fast reply. The idea is to be able to move the slicing plane, revealing certain data. Here is the live demo from XTK samples : http://lessons.goxtk.com/11/. The only issue with such web frameworks is that 8y old code for web standard is like century old stuff unfortunately.
With what you say, I could generate a volume with custom data but if I want this to be interactive (if possible), then I have to recompute/redraw the volume, especially if it's clipped by multiple planes (like left, right, top, bottom and so on, if we imagine a box). Interesting anyway, I'll have a look at this.
When you say that brainrender cannot render volume, does it mean you take volumetric data with Volume class and do a marching cube on it so that you only display meshes?

Hi,
I see, that clarifies things thanks.
Some clarifications:

vedo, which brainrender uses to handle the renderings, can handle volumes and does so beautifully. Check the exaples at vedo, it can render volumes or extract density maps or surface meshes.
currently brainrender does not work with Volumes however, only with meshes. So brainrender uses vedo's Volume class methods to create meshes from volumes. This can be done with a few different algorithms, not sure if marching cubes is one of these.
If you want to use volumes, and not just meshes, I should be able to make ti happen.

Now, as you say the more annoying part might be coding up the interactive slicing of the scene. However fear not, vedo has got this covered too:

vedo has a Slicer widget that allows you to do exactly what you need (example code).
In conclusion, there's two options here as far as I can see:

if your data are not registered to a reference atlas supported by Brainglobe's AtlasAPI and you are not planning to register it an any point, your best option might be to just use vedo and its great slicer widget.
if, however, you do want to use your data together with some atlas (which one?), then you need brainrender. In this case I can make Volumes work in brainrender, and you can use vedo's Slicer as a starting point to code something similar using brainrender

Actually scratch that, I went and fixed brainrender so that it may work with volumes:

you may now use either vedo's slicer or implement something similar in brainrender, as you prefer ;)

Great news, thank you for the pointers to vedo, volume stuff, slicers and for the example code.
Actually we're using Allen CCF v3 as a basis and building from there (it looks like the hippocampi and mouse brain come from that atlas).
About this last image, you say it now works with volumes but I see a surface mesh (hippocampal formations). If you have a small code sample to show what you're doing here, that's welcome too. :)

it's not a surface, it's a volume visualised in "composite" mode.

Oh great news, if you're using the allen atlas then brainrender is perfect for you.
It looks like a mesh, but it's really a volume (if you were to slice and look inside you'd see that it's full, unlike a mesh).
The reason why you're only seeing a shape that looks like the hippocampus is because the volume is thresholded to show only the voxels with higher gene expression (and interpolated to looks smooth).
I've added an example to show how to use volumes in brainrender: https://github.com/brainglobe/brainrender/blob/master/examples/volumetric_data.py
Note that brainrender's Volume class uses the Volume class from vedo to handle the rendering (I know, repeated names makes things confusing...). Vedo's Volume has many options to change how the volume should be rendered. You can pass keyword arguments to brainrender's Volume, these are passed. to vedo's Volume and can therefore affect how the volume is rendered.
e.g. if I wanted to use mode=2 in vedo's Volume I would do this:
actor = Volume(
    data,
    voxel_size=200,  # size of a voxel's edge in microns
    as_surface=False,  # if true a surface mesh is rendered instead of a volume
    c="Reds",  # use matplotlib colormaps to color the volume
    mode=2,  # <- get's passed to vedo
)

Have a go at playing around with the volumes visualizations in brainrender and let me know if you bump in any issue or have questions!

Thank you very much for your explanations Federico!


[WIP] Extend IndexedOnHeapColumnVector from OnHeapColumnVector

What changes were proposed in this pull request?
now wip
How was this patch tested?

Composition over Inheritance, close this first


crash after long time in live mode

[root@nixos:~]# goaccess -p /nixos/.goaccessrc -f /var/spool/nginx/logs/access.log -o /data/www/report.html --real-time-html --ws-url=orion2518.startdedicated.de -d
Parsing... [62,974] [3,935/s]]
==23173== GoAccess 1.0 crashed by Sig 11
==23173==
==23173== VALUES AT CRASH POINT
==23173==
==23173== Line number: 141079
==23173== Offset: 62974
==23173== Invalid data: 68
==23173== Piping: 0
==23173== Response size:<PHONE_NUMBER> bytes
==23173==
==23173== STACK TRACE:
==23173==
==23173== 0 goaccess(sigsegv_handler+0x1a0) [0x40ad40]
==23173== 1 /nix/store/y5js9j7zgrmz4j2dqcy0nvaqyk3izbv7-glibc-2.24/lib/libpthread.so.0(+0x10e90) [0x7f5ba1738e90]
==23173== 2 /nix/store/y5js9j7zgrmz4j2dqcy0nvaqyk3izbv7-glibc-2.24/lib/libc.so.6(+0x12b537) [0x7f5ba14b3537]
==23173== 3 goaccess() [0x4217e8]
==23173== 4 goaccess() [0x421a1f]
==23173== 5 goaccess(ws_send_data+0x9) [0x421f09]
==23173== 6 goaccess() [0x421f44]
==23173== 7 goaccess(list_foreach+0x2a) [0x40fc9a]
==23173== 8 goaccess(ws_start+0x19b7) [0x423d87]
==23173== 9 goaccess() [0x40ff65]
==23173== 10 /nix/store/y5js9j7zgrmz4j2dqcy0nvaqyk3izbv7-glibc-2.24/lib/libpthread.so.0(+0x71f4) [0x7f5ba172f1f4]
==23173== 11 /nix/store/y5js9j7zgrmz4j2dqcy0nvaqyk3izbv7-glibc-2.24/lib/libc.so.6(clone+0x5f) [0x7f5ba147012f]
==23173==
==23173== Please report it by opening an issue on GitHub:
==23173== https://github.com/allinurl/goaccess/issues

Please try the latest version. There were some bug fixes on previous versions v1.0.1 and v1.0.2 that addressed some buffer issues on the web socket server.

Thank you, will do.
Gerardo O<EMAIL_ADDRESS>schrieb am Mo., 21. Nov. 2016 um
21:29 Uhr:

Please try the latest version. There were some bug fixes on previous
versions v1.0.1 and v1.0.2 that addressed some buffer issues on the web
socket server.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/allinurl/goaccess/issues/574#issuecomment-262121244,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAsGkAy0q3Iba2AND5x5RJ0Rk-8gBPVPks5rAkWEgaJpZM4K45wl
.

No, thank you for reporting it! BTW, can I ask for how long were you running it?

I couldn't really say exactly, actually it seems it has crashed twice, but
I guess it had been running about a month or two.
Gerardo O<EMAIL_ADDRESS>schrieb am Mo., 21. Nov. 2016 um
21:43 Uhr:

No, thank you for reporting it! BTW, can I ask for how long were you
running it?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/allinurl/goaccess/issues/574#issuecomment-262123068,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAsGkKIlj-Q4ek3bon6DmSzzEjT4qvTBks5rAkhGgaJpZM4K45wl
.

Got it. Tomorrow I'll be pushing out v1.1.1 that fixes some lagginess when rendering the charts, so you could either build v1.1 or wait for tomorrow's release.

I pushed out v1.1.1.. Please give it a shot and let me know how it goes. It should fix the issue you mentioned above.
Closing this. Feel free to reopen it if needed.


Error with animated text when maxLines specified

When trying to animate text with maxLines specified, e.g.:
Styled.text(text, maxLines: 10, animate: true)
  .fontSize(size)
  .textColor(color)
  .animate(slideDuration, slideCurve)

you get an error:
Cannot lerp between "10" and "10".

The type int returned a double after multiplication with a double value. See "Types with special considerations" at https://api.flutter.dev/flutter/animation/Tween-class.html for more information.

To lerp int values, consider IntTween or StepTween instead.

The relevant error-causing widget was:
  FeatureItem file:///feature_page.dart:130:9
When the exception was thrown, this was the stack:
#0      Tween.lerp.<anonymous closure> (package:flutter/src/animation/tween.dart:286:9)
#1      Tween.lerp (package:flutter/src/animation/tween.dart:303:6)
#2      Tween.transform (package:flutter/src/animation/tween.dart:325:12)
#3      Animatable.evaluate (package:flutter/src/animation/tween.dart:53:46)
#4      _AnimatedTextState.build (package:styled_widget/src/animated_text.dart:190:30)
...
====================================================================================================

You should change all occurrences of Tween<int> to IntTween in animated_text.dart.

@ReinBentdal, what kind of help do you mean by adding "help wanted" tag?
As I've mentioned in my post, all that you need is to change all occurrences of Tween in animated_text.dart (totally 3) to IntTween - I've used this approach locally.

Didn't see that. I will take your word for the fix to work, don't have time to verify. Since you have implemented the fix locally, why no pull request?

Since you have implemented the fix locally, why no pull request?

Sorry for that. Promise next time :)


Support for yourself my dude✨

Description
Take a vaction.
I assume this is in response to my earlier comment on crunching at work. I did indeed need a vacation, as I was getting frustrated and angry, even in my replies to AutoFixture questions and bug reports, which I now regret. I thank @Kralizek for calling me out on those.
I did actually have a small vacation last week, to recover and spend time with my family. Also I set things up at my workplace to normalize my work schedule. I don't expect the result to be immediate, but I should get more free time in the coming weeks and as a result more time to spend on AutoFixture.


Light and Dark Mode for Images based on a User's Preference

Hi team,
I would like to request a feature that allows for dynamic image selection based on the user's preference for light or dark mode when viewing documentation. Currently, while I can use the logo and background image settings, I haven't found a clear solution for selecting images from the assets folder that adapt to the chosen theme.
Here's an example of what I'm looking for:

At the moment, using a single image with a fixed background doesn't fully address the issue. For example, when users switch between modes, it can look strange if the background of the image doesn't change accordingly.
A potential solution could be to use CSS with conditional classes for different modes:

Thanks in advance!
Best,
Tim

@chdeskur tagging you in case you have an idea about how to achieve this with the product as-is today.

We've achieved this using custom CSS. You would add something along the lines of:
:is(.light) .light-mode {
  display: block;
}

:is(.light) .dark-mode {
  display: hidden;
}

:is(.dark) .light-mode {
  display: hidden;
}

:is(.dark) .dark-mode {
  display: block;
}

As there's a workaround available, I'm going to close this ticket. We can re-engage down the line if this becomes a need for other users!


Using  in a .map loop will not work as expected

Bug Report
Steps
I wrote this render function :
`render() {
return (

Your contributions

    {this.props.requests.map(d => {
      return (

          <Link to={`/c/contribution/${d.id}`}>

{d.title}

{d.description}

ID: {d.id}

          </Link>

            <Icon
              name='close'
              className='request-delete'
              onClick={this.show}
              size='big'
            />
            <Confirm
              open={this.state.open}
              content={`Are you sure you want to delete this request? All the information including the chat linked to this request will be deleted!`}
              onCancel={this.handleCancel}
              onConfirm={this.handleConfirm(d.id)}
              size={'mini'}
            />

      )
    })}

)

}`
handleConfirm() just console log the passed id.
Expected Result
This should create a bunch of confirms with different id's passed into it. So I have id's from 1 to 5, and there should be 5 functions, handleConfirm(1), handleConfirm(2),...
Actual Result
Don't matter on which Icon I click, it will always return the last id (in this case 5).
I logged the id out of <Confirm />  and that works, but inside the confirm itself it don't work.
Version
Latest with ES6 import.

Please provide a repro case. I don't think that this issue is related to Semantic UI React.

I could reproduce this problem too. This is a valid issue.

Also can confirm this issue is accurate. I could not for the life of me figure out how the wrong value was getting passed in my map. I removed the Confirm and ran the function directly, and it worked as intended

Same issue,  inside a map does not behave correctly.

Well, nice to see my one year old issue is still relevant, @layershifter maybe consider opening this again?

I will reopen it once there will be a repro on Codesandbox. Currently I don't see that the issue is valid 🤨

I created a CodeSandbox and I can't repro it there:
https://codesandbox.io/s/semantic-ui-example-dinew?file=/example.js
For usage questions please use StackOverflow, for bugs please fill our issue template fully and include a repro on CodeSandbox.


The trait ForMgMacro is not implemented for CssAssetBuilder

Problem
I updated dioxus and dioxus-cli to version 0.6.0-alpha.3 and it outputted following warning:
[build] WARN: The `web.resource` config has been deprecated in favor of head components and will be removed in a future release.
To migrate to head components, remove `web.resource.style` and include the following rsx in your root component:
```rust
rsx! {
    document::Link { rel: "stylesheet", href: asset!(css("./assets/tailwind.css")) }
}

Following this advise i get:
error[E0277]: the trait bound `CssAssetBuilder: ForMgMacro` is not satisfied
  --> src/main.rs:30:51
   |
30 |         document::Link { rel: "stylesheet", href: asset!(css("./assets/tailwind.css")) }
   |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ForMgMacro` is not implemented for `CssAssetBuilder`
   |
   = help: the following other types implement trait `ForMgMacro`:
             &'static str
             FontAssetBuilder
             ImageAssetBuilder
   = note: required for the cast from `&CssAssetBuilder` to `&'static (dyn ForMgMacro + 'static)`
   = note: this error originates in the macro `asset` (in Nightly builds, run with -Z macro-backtrace for more info)

A workaround is to use file(...) instead of css(...) like currently recommended in the docs for version 0.5 (https://dioxuslabs.com/learn/0.5/reference/assets#including-stylesheets).
Steps To Reproduce
Steps to reproduce the behavior:

Update dioxus and dioxus-cli from version 0.5 to 0.6.0-alpha.3
Remove web.resource.style from Dioxus.toml
Replace const _TAILWIND_URL: &str = manganis::mg!(file("assets/tailwind.css")); with document::Link { rel: "stylesheet", href: asset!(file("./assets/tailwind.css")) }

Expected behavior
It should work, that is, it should compile and load the css via the link tag.
Environment:

Dioxus version: 0.6.0-alpha.3
Rust version: 1.82.0
OS info: Arch Linux
App platform: web

I did. I have no web.resource or web.resource.dev.
Will update the issue


Error in log executing scripts

Mod Version: <IP_ADDRESS>
Forge Version: <IP_ADDRESS>4
http://pastebin.com/y9HGMjxR

Modpack/mods?

modlist: https://i.cubeupload.com/oX8B9j.png
Yes, I did.

OK.  Think I know the problem.  Fix will be in the next beta.  Until then you need to un-disable the the block effect if the issue is causing you a problem.


chore(main): release docs-site 1.4.1

:robot: I have created a release beep boop
1.4.1 (2024-05-27)
Bug Fixes

docs-site: fix addresses (#17363) (f4c891e)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/taikoxyz/taiko-mono/releases/tag/docs-site-v1.4.1 :sunflower:


fix tests

Test name
Status

big-data
passed

scaling
passed

scheduled-backup
passed

haproxy
passed

recreate
passed

storage
passed

upgrade-haproxy
passed

scaling-proxysql
passed

self-healing
passed

self-healing-chaos
passed

init-deploy
passed

security-context
passed

restore-to-encrypted-cluster
passed

upgrade-proxysql
passed

self-healing-advanced
passed

self-healing-advanced-chaos
passed

limits
passed

demand-backup
passed

monitoring-2-0
passed

smart-update
passed

operator-self-healing
passed

operator-self-healing-chaos
passed

affinity
passed

one-pod
passed

auto-tuning
passed

pitr
passed

proxysql-sidecar-res-limits
passed

users
passed

upgrade-consistency
passed

tls-issue-self
passed

demand-backup-encrypted-with-tls
passed

tls-issue-cert-manager
passed

tls-issue-cert-manager-ref
passed

validation-hook
passed

commit: https://github.com/percona/percona-xtradb-cluster-operator/pull/1063/commits/b1d96d854444b1d16bf5b4e9cc6b0f6614e58bc8
image: perconalab/percona-xtradb-cluster-operator:PR-1063-b1d96d85


Load from segments, not sections

This fixes a bug where uninitialized sections such as .bss were being loaded with incorrect values.

Why is travis failing?

It appears byteweight iterates over the loaded sections for function identification. The code causing the crash is in fsi in static2/builtin/byteweight.py
  (addr, lenn) = static['sections'][-3]
  for (addr, lenn) in static['sections']:
    ...

That first line crashes because the loader only adds two segments, which is all we need. But that line seems entirely useless since the loop just clobbers addr and lenn anyway. Someone probably just forgot to delete it?
I can't find any other occurrences of code using static['sections'], so it should be safe to rename this to self['segments'] and delete that crashing line.

OMG the tests actually caught something!


Missing step

The doc says to give the policy a name and specify the URLs not to rewrite. But you can't enter URLs unless you turn on at least one of the features:
On - URLs will be rewritten and checked against a list of known malicious links when user clicks on the link.
Once that's checked, you can enter the URLs in the list.

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

ID: aac84f75-b6d9-9495-873a-8f87b90b8034
Version Independent ID: 18369495-0e0f-e3e1-6945-0200790fd107
Content: Set up a custom do-not-rewrite URLs list using ATP Safe Links - Office 365
Content Source: microsoft-365/security/office-365-security/set-up-a-custom-do-not-rewrite-urls-list-with-atp.md
Service: o365-seccomp
GitHub Login: @chrisda
Microsoft Alias: chrisda

@patrichard Thank you for your feedback. We have made changes to the document via PR#https://github.com/MicrosoftDocs/microsoft-365-docs/pull/2481
Thanks
Sri

@msbemba  Thank you very much for the contribution and updating the documentation with PR. @patrichard Hope this update is helpful for you. Thanks for taking out some time to open the issue. Appreciate and encourage you to do the same in future also.


v2: Implement Extractor and Finalizer roles

3 preparator patches then a big one adding Extrator and Finalizer types that wrap Psbt. There are a ton of TODOs introduced with this PR.
The errors probably need some polishing, I'm particularly unimpressed with only being able to derive Debug on loads of them.

Extractor should be prioritized and finalizer deprioritized.
rust-bitcoin got away without a finalizer for life so far, so this could start by continuing to ignore it to get a workable v2, if it introduces too many TODOs. In payjoin-cli PSBTs get sent to bitcoind as a finalizer from which tx is extracted to broadcast. A missing finalizer still makes for a userful library.

Oh sweet! Extractor role is simple and it is done (with one caveat:
            // TODO: Check this MAX is correct.
            sequence: self.sequence.unwrap_or(Sequence::MAX),


Trying to run test with pact-go library.
Reproducable codes is here:
https://github.com/m15o/pact-go-on-golang1.22
Reproduced on github actions:
https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614
Since version v1.22.0 I get a runtime error when the -race option is present.
This does not happen on darwin/arm64
What did you see happen?
command:
# install pact-go dynamic library
go install<EMAIL_ADDRESS>PACT_GO=$(command -v pact-go)
sudo "$PACT_GO" -l DEBUG install

# run test
go test -v -race ./...

output:
=== RUN   TestConsumerV4
2024/05/28 00:11:43 [DEBUG] pact setup
2024/05/28 00:11:43 [DEBUG] initialising native interface
2024/05/28 00:11:43 [DEBUG] initialised native log level to TRACE (5)
2024/05/28 00:11:43 [DEBUG] initialised native log to log to stdout
2024/05/28 00:11:43 [DEBUG] log_to_stdout res 0
2024/05/28 00:11:43 [DEBUG] pact add V4 interaction
2024-05-28T00:11:43.590743Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_pact - ref = 1, keys = [1]
2024-05-28T00:11:43.590780Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_pact before - ref = 1, inner = RefCell { value: PactHandleInner { pact: V4Pact { consumer: Consumer { name: "PactGoV4Consumer" }, provider: Provider { name: "V4Provider" }, interactions: [], metadata: {"pactRust": Object {"ffi": String("0.4.16")}}, plugin_data: [] }, mock_server_started: false, specification_version: V4 } }
2024-05-28T00:11:43.590889Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_pact after - ref = 1, inner = RefCell { value: PactHandleInner { pact: V4Pact { consumer: Consumer { name: "PactGoV4Consumer" }, provider: Provider { name: "V4Provider" }, interactions: [SynchronousHttp { id: None, key: None, description: "", provider_states: [], request: HttpRequest { method: "GET", path: "/", query: None, headers: None, body: Missing, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, response: HttpResponse { status: 200, headers: None, body: Missing, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }], metadata: {"pactRust": Object {"ffi": String("0.4.16")}}, plugin_data: [] }, mock_server_started: false, specification_version: V4 } }
2024-05-28T00:11:43.590924Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_interaction - index = 1, interaction = 1
2024-05-28T00:11:43.590927Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_interaction - keys = [1]
2024-05-28T00:11:43.590930Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_interaction - inner = PactHandleInner { pact: V4Pact { consumer: Consumer { name: "PactGoV4Consumer" }, provider: Provider { name: "V4Provider" }, interactions: [SynchronousHttp { id: None, key: None, description: "", provider_states: [], request: HttpRequest { method: "GET", path: "/", query: None, headers: None, body: Missing, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, response: HttpResponse { status: 200, headers: None, body: Missing, matching_rules: MatchingRules { rules: {} }, generators: Generators { categories: {} } }, comments: {}, pending: false, plugin_config: {}, interaction_markup: InteractionMarkup { markup: "", markup_type: "" }, transport: None }], metadata: {"pactRust": Object {"ffi": String("0.4.16")}}, plugin_data: [] }, mock_server_started: false, specification_version: V4 }
2024-05-28T00:11:43.590945Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_interaction - index = 195, interaction = 38304
2024-05-28T00:11:43.590948Z TRACE ThreadId(01) pact_ffi::mock_server::handles: with_interaction - keys = [1]
runtime: g 21: unexpected return pc for github.com/pact-foundation/pact-go/v2/internal/native.(*Interaction).GivenWithParameter called from 0xe18a8f
stack: frame={sp:0xc00013dbf8, fp:0xc00013dd28} stack=[0xc00013c000,0xc00013e000)
0x000000c00013daf8:  0x0000000002940000  0x000000c00013dac8
0x000000c00013db08:  0x0000000000c3914c <github.com/pact-foundation/pact-go/v2/internal/native.(*Interaction).GivenWithParameter+0x00000000000000cc>  0x0000000000000000
0x000000c00013db18:  0x0000000000000000  0x0000000000000000
0x000000c00013db28:  0x000000c000111180  0x0000000000f32940
0x000000c00013db38:  0x0000000000e18a8f  0x0000000002952a70
0x000000c00013db48:  0x0000000002949090  0x0000000002952120
0x000000c00013db58:  0x000000c000111190  0x000000c000111180
0x000000c00013db68:  0x000000c00013dda0  0x0000000000000000
0x000000c00013db78:  0x0000000000c39680 <github.com/pact-foundation/pact-go/v2/internal/native.(*Interaction).GivenWithParameter.deferwrap1+0x0000000000000000>  0x0000000002949090
0x000000c00013db88:  0x0000000000000000  0x0000000000000000
0x000000c00013db98:  0x0000000000d5d880  0x000000c00013de28
0x000000c00013dba8:  0x000000c00013dd18  0x000000c00013dd18
0x000000c00013dbb8:  0x0000000000000000  0x0000000000000000
0x000000c00013dbc8:  0x0000000000000000  0x0000000005000104
0x000000c00013dbd8:  0x0000000000000000  0x0000000000000000
0x000000c00013dbe8:  0x0000000000000000  0x0000000000000000
0x000000c00013dbf8: <0x0000000000000000  0x0000000000000000
0x000000c00013dc08:  0x0000000000000000  0x000000c00013de28
0x000000c00013dc18:  0x000000000000000f  0x000000c00013de28
0x000000c00013dc28:  0x000000c0001247b0  0x0000000000e2171c
0x000000c00013dc38:  0x000000c00013ded8  0x0000000000cac63a <pact-go-test.TestConsumerV4+0x000000000000023a>
0x000000c00013dc48:  0x000000c000111170  0x0000000000e2171c
0x000000c00013dc58:  0x0000000000e18a8f  0x000000c00013de28
0x000000c00013dc68:  0x0000000000000000  0x0000000000000000
0x000000c00013dc78:  0x0000000000000000  0x0000000000000000
0x000000c00013dc88:  0x0000000000e1d539  0x0000000000000009
0x000000c00013dc98:  0x0000000000000000  0x0000000000000000
0x000000c00013dca8:  0x0000000000000000  0x0000000000000000
0x000000c00013dcb8:  0x0000000000000001  0x211eb45600000000
0x000000c00013dcc8:  0x0000000001237c00  0x000000c000122318
0x000000c00013dcd8:  0x00000000000000e0  0x0000000000000603
0x000000c00013dce8:  0x0000000001237c00  0x000000c000111170
0x000000c00013dcf8:  0x0000000001237c00  0x000000c00013dda0
0x000000c00013dd08:  0x000000c0001247b0  0x0000000000000000
0x000000c00013dd18:  0x00000000000000e6  0x0000000000e18a8f
0x000000c00013dd28: >0x0000000000000002  0x0000000000000000
0x000000c00013dd38:  0x0000000000000000  0x0000000000000000
0x000000c00013dd48:  0x0000000000000000  0x0000000000000000
0x000000c00013dd58:  0x0000000000000000  0x0000000000000000
0x000000c00013dd68:  0x0000000000000000  0x0000000000000000
0x000000c00013dd78:  0x0000000000000000  0x0000000000000000
0x000000c00013dd88:  0x0000000000000000  0x0000000000000000
0x000000c00013dd98:  0x0000000000000000  0x0000000000d2fd40
0x000000c00013dda8:  0x0000000000f32940  0x0000000000000000
0x000000c00013ddb8:  0x0000000000000000  0x0000000000000000
0x000000c00013ddc8:  0x0000000000000000  0x0000000000000000
0x000000c00013ddd8:  0x0000000000000000  0x0000000000000000
0x000000c00013dde8:  0x0000000000000000  0x0000000000000000
0x000000c00013ddf8:  0x0000000000000000  0x0000000000000000
0x000000c00013de08:  0x0000000000000000  0x0000000000000000
0x000000c00013de18:  0x0000000000000000  0x0000000000000000
fatal error: unknown caller pc

runtime stack:
runtime.throw({0xe22fa7?, 0x130deb0?})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:1023 +0x5c fp=0x7ffd6e07fdd8 sp=0x7ffd6e07fda8 pc=0x4423fc
runtime.(*unwinder).next(0x7ffd6e07fe80)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/traceback.go:469 +0x24c fp=0x7ffd6e07fe50 sp=0x7ffd6e07fdd8 pc=0x46f7ac
runtime.(*_panic).nextFrame.func1()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:938 +0xa6 fp=0x7ffd6e07ff08 sp=0x7ffd6e07fe50 pc=0x442026
runtime.systemstack(0x48233f)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:509 +0x4a fp=0x7ffd6e07ff18 sp=0x7ffd6e07ff08 pc=0x47d1aa

goroutine 21 gp=0xc000250700 m=0 mp=0x1388a00 [running]:
runtime.systemstack_switch()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:474 +0x8 fp=0xc00013d848 sp=0xc00013d838 pc=0x47d148
runtime.(*_panic).nextFrame(0xc00013d8a8?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:911 +0x65 fp=0xc00013d888 sp=0xc00013d848 pc=0x441f45
runtime.(*_panic).nextDefer(0xc00013d8e0)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:898 +0xa9 fp=0xc00013d8b8 sp=0xc00013d888 pc=0x441d69
panic({0xd658e0?, 0x1324330?})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:766 +0x13c fp=0xc00013d968 sp=0xc00013d8b8 pc=0x44191c
runtime.panicmem(...)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:261
runtime.sigpanic()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/signal_unix.go:881 +0x378 fp=0xc00013d9c8 sp=0xc00013d968 pc=0x45c958
runtime/internal/atomic.(*Pointer[...]).Load(...)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/internal/atomic/types.go:526
runtime.deferconvert(0xc00013dbe0)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:435 +0x64 fp=0xc00013da08 sp=0xc00013d9c8 pc=0x440de4
runtime.(*_panic).nextDefer(0xc00013da50)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:879 +0x125 fp=0xc00013da38 sp=0xc00013da08 pc=0x441de5
runtime.deferreturn()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/panic.go:598 +0x68 fp=0xc00013dac8 sp=0xc00013da38 pc=0x441488
github.com/pact-foundation/pact-go/v2/internal/native.(*Interaction).GivenWithParameter(0x0, {0x0, 0x0}, 0xc00013de28)
	/home/runner/go/pkg/mod/github.com/pact-foundation/pact-go/v2@v2.0.4/internal/native/mock_server.go:669 +0x3d1 fp=0xc00013dbf8 sp=0xc00013dac8 pc=0xc39451
created by testing.(*T).Run in goroutine 1
	/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1742 +0x826

goroutine 1 gp=0xc0000061c0 m=nil [chan receive]:
runtime.gopark(0x18?, 0x1386f60?, 0x18?, 0x0?, 0x7f4fd0781728?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:402 +0xce fp=0xc00026b710 sp=0xc00026b6f0 pc=0x4453ce
runtime.chanrecv(0xc00010e690, 0xc00026b7f7, 0x1)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/chan.go:583 +0x36d fp=0xc00026b788 sp=0xc00026b710 pc=0x40e7ad
runtime.chanrecv1(0x1386f60?, 0xd2fd40?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/chan.go:442 +0x12 fp=0xc00026b7b0 sp=0xc00026b788 pc=0x40e412
testing.(*T).Run(0xc000[15](https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614/job/25476960209#step:5:16)aea0, {0xe20c5a, 0xe}, 0xe611e0)
	/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1750 +0x851 fp=0xc00026b8d0 sp=0xc00026b7b0 pc=0x5b64b1
testing.runTests.func1(0xc00015aea0)
	/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:2[16](https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614/job/25476960209#step:5:17)1 +0x86 fp=0xc00026b920 sp=0xc00026b8d0 pc=0x5ba646
testing.tRunner(0xc00015aea0, 0xc00026bb10)
	/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:1689 +0x21f fp=0xc00026b9e8 sp=0xc00026b920 pc=0x5b49ff
testing.runTests(0xc000124738, {0x1325d90, 0x1, 0x1}, {0xc00026bbb8?, 0xc00026bc00?, 0x1387a80?})
	/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:2159 +0x8bf fp=0xc00026bb40 sp=0xc00026b9e8 pc=0x5ba49f
testing.(*M).Run(0xc0002803c0)
	/opt/hostedtoolcache/go/1.22.3/x64/src/testing/testing.go:2027 +0xf[18](https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614/job/25476960209#step:5:19) fp=0xc00026bec8 sp=0xc00026bb40 pc=0x5b7a78
main.main()
	_testmain.go:47 +0x2be fp=0xc00026bf50 sp=0xc00026bec8 pc=0xcada3e
runtime.main()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:271 +0x29d fp=0xc00026bfe0 sp=0xc00026bf50 pc=0x444f5d
runtime.goexit({})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc00026bfe8 sp=0xc00026bfe0 pc=0x47f161

goroutine 2 gp=0xc000006c40 m=nil [force gc (idle)]:
runtime.gopark(0x1344df0?, 0x1388a00?, 0x0?, 0x0?, 0x0?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:402 +0xce fp=0xc0000587a8 sp=0xc000058788 pc=0x4453ce
runtime.goparkunlock(...)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:408
runtime.forcegchelper()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:326 +0xb3 fp=0xc0000587e0 sp=0xc0000587a8 pc=0x445233
runtime.goexit({})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc0000587e8 sp=0xc0000587e0 pc=0x47f161
created by runtime.init.6 in goroutine 1
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:314 +0x1a

goroutine 18 gp=0xc000102380 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:402 +0xce fp=0xc000184f80 sp=0xc000184f60 pc=0x4453ce
runtime.goparkunlock(...)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:408
runtime.bgsweep(0xc00010e000)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mgcsweep.go:278 +0x94 fp=0xc000184fc8 sp=0xc000184f80 pc=0x42ed14
runtime.gcenable.gowrap1()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mgc.go:203 +0x25 fp=0xc000184fe0 sp=0xc000184fc8 pc=0x423685
runtime.goexit({})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000184fe8 sp=0xc000184fe0 pc=0x47f161
created by runtime.gcenable in goroutine 1
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mgc.go:203 +0x66

goroutine [19](https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614/job/25476960209#step:5:20) gp=0xc000102540 m=nil [GC scavenge wait]:
runtime.gopark(0xc00010e000?, 0xf2fc90?, 0x1?, 0x0?, 0xc000102540?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:402 +0xce fp=0xc000066f78 sp=0xc000066f58 pc=0x4453ce
runtime.goparkunlock(...)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:408
runtime.(*scavengerState).park(0x1387c[20](https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614/job/25476960209#step:5:21))
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mgcscavenge.go:425 +0x49 fp=0xc000066fa8 sp=0xc000066f78 pc=0x42c729
runtime.bgscavenge(0xc00010e000)
	/opt/hostedtoolcache/go/1.[22](https://github.com/m15o/pact-go-on-golang1.22/actions/runs/9261497614/job/25476960209#step:5:23).3/x64/src/runtime/mgcscavenge.go:653 +0x3c fp=0xc000066fc8 sp=0xc000066fa8 pc=0x42cc9c
runtime.gcenable.gowrap2()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mgc.go:204 +0x25 fp=0xc000066fe0 sp=0xc000066fc8 pc=0x423625
runtime.goexit({})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000066fe8 sp=0xc000066fe0 pc=0x47f161
created by runtime.gcenable in goroutine 1
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mgc.go:204 +0xa5

goroutine 20 gp=0xc000102a80 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/proc.go:402 +0xce fp=0xc000185e20 sp=0xc000185e00 pc=0x4453ce
runtime.runfinq()
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mfinal.go:194 +0x145 fp=0xc000185fe0 sp=0xc000185e20 pc=0x4226c5
runtime.goexit({})
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/asm_amd64.s:1695 +0x1 fp=0xc000185fe8 sp=0xc000185fe0 pc=0x47f161
created by runtime.createfing in goroutine 1
	/opt/hostedtoolcache/go/1.22.3/x64/src/runtime/mfinal.go:164 +0x3d
FAIL	pact-go-test	0.019s
FAIL

What did you expect to see?
run test without runtime error

Hmm, that looks like corruption found while processing defers, followed by an inability to unwind correctly.
I can reproduce, although it would be nice to have repro instructions that didn't involve sudo.
Crashes similarly at tip, but not on 1.21. I can try and bisect.
It might be good to audit your use of unsafe and cgo and see if you can find any cases where memory corruption could occur.

Bisect points to https://go-review.googlesource.com/c/go/+/516198 as the cause.
That CL only changes the internal layout of defer records, which shouldn't be observable.
So there is corruption happening, somewhere. Whether it is in C, Go client code, or runtime remains unclear.
I'm going to add some red zones to the defer records and see if I can observe any clobbering.

Ok, some progress. My best guess is that C.pactffi_given is corrupting the stack somehow.
Do the following patch to the runtime (I'm working on tip, but this should also work on 1.22):
diff --git a/src/runtime/panic.go b/src/runtime/panic.go
index 2e15649092..dd5e763511 100644
--- a/src/runtime/panic.go
+++ b/src/runtime/panic.go
@@ -542,6 +542,12 @@ func newdefer() *_defer {
        return d
 }

+//go:noinline
+func GetSP() *[15]uintptr {
+       sp := getcallersp()
+       return (*[15]uintptr)(unsafe.Pointer(sp))
+}
+
 // popDefer pops the head of gp's defer list and frees it.
 func popDefer(gp *g) {
        d := gp._defer

Then do the following patch to pact-go/internal/native:
diff --git a/internal/native/mock_server.go b/internal/native/mock_server.go
index 947970f..3bd9c8a 100644
--- a/internal/native/mock_server.go
+++ b/internal/native/mock_server.go
@@ -170,6 +170,7 @@ import (
        "fmt"
        "log"
        "os"
+       "runtime"
        "strings"
        "unsafe"
 )
@@ -646,11 +647,35 @@ func (i *Interaction) Given(state string) *Interaction {
        cState := C.CString(state)
        defer free(cState)

+       pre(runtime.GetSP())
        C.pactffi_given(i.handle, cState)
+       post(runtime.GetSP())

        return i
 }

+var entry2 uintptr
+
+//go:noinline
+func pre(sp *[15]uintptr) {
+       fmt.Printf("pre sp=%p\n", sp)
+       for i := range sp {
+               fmt.Printf("  %d %x\n", i, sp[i])
+       }
+       entry2 = sp[2]
+}
+
+//go:noinline
+func post(sp *[15]uintptr) {
+       fmt.Printf("post sp=%p\n", sp)
+       for i := range sp {
+               fmt.Printf("  %d %x\n", i, sp[i])
+       }
+       if sp[2] != entry2 {
+               panic("bad entry2")
+       }
+}
+
 func (i *Interaction) GivenWithParameter(state string, params map[string]interface{}) *Interaction {
        cState := C.CString(state)
        defer free(cState)

The panic added there in post triggers.
This prints the contents of the stack frame of (pact-go/internal/native.Interaction).Given, both before and after the call to C.pactffi_given at line 650 (with the patch, 651) of mock_server.go. The stack frame has 15 slots (1 slot = 8 bytes). The first 2 are reserved argument slots, so those can change across the call. But the other 13 slots should not change across that call. There is a defer record which occupies slots 2 through 7 inclusive, and the first slot of that defer record has 4 bytes of it clobbered. Particularly, the problem is the low byte is set from 0 to 1. That change makes the runtime very unhappy.
This bug is very sensitive to the stack frame layout of (pact-go/internal/native.Interaction).Given, any adjustment of the offset of the defer record from the stack pointer makes the problem go away (or at least, whatever gets clobbered in the stack frame instead turns out not to matter). The code I added to it is very carefully chosen to not affect the stack frame. I think -race is only relevant for this point, as without -race the stack frame gets laid out differently and the problem goes away.
I don't yet understand where the clobbering write is coming from. My best guess is the code for C.pactffi_given itself. It could also be a bug in our cgo calling convention, I suppose, although if cgo is clobbering caller frames I think we would have seen it crop up by now.
It would be great to have a similar hack on the C side to print the stack frames above on both entry and exit to C.pactffi_given. I don't know where that code lives, so I think I have to give up at this point and hand things back to the OP.

Update: gdb watchpoints save the day! A bit of fiddling and they showed who was writing to the slot in question. It's cgo's fault.
github.com/pact-foundation/pact-go/v2/internal/native.(*Interaction).Given:
calls github.com/pact-foundation/pact-go/v2/internal/native._Cfunc_pactffi_given
github.com/pact-foundation/pact-go/v2/internal/native._Cfunc_pactffi_given:
calls runtime.cgocall
runtime.cgocall:
calls runtime.asmcgocall
runtime.asmcgocall:
calls	_cgo_74dbbc5dfbe4_Cfunc_pactffi_given (indirectly)
_cgo_74dbbc5dfbe4_Cfunc_pactffi_given:
calls	pactffi_given@plt
then at the end, does the bad	write!
0x0000000000cdf544 <+36>:     mov    %ebp,0x10(%rbx,%rax,1)
here rbx is the SP of (*Interaction).Given's stack frame, rax is 0 (the amount the stack moved during the call), and 0x10 is the offset to slot 2.
rbx looks right, the same function uses 0($rbx) and 8($rbx) to get the arguments to pass to pactffi_given@plt. It just thinks there are 4 bytes of results when there are in fact 0, and the calling frame didn't plan for those 4 bytes.
@ianlancetaylor Does any of this sound familiar?

I think I see the problem.
In pact-go/internal/native/mock_server.go, there is the following definition:
void pactffi_given(InteractionHandle interaction, const char *description);

But in pact-go/internal/native/message_server.go, there is a different definition of the same function:
bool pactffi_given(InteractionHandle interaction, const char *description);

Note the different return type.
If you make them both return void, or both return bool, the bug goes away.
Somehow with the different definitions, at the callsite the compiler is assuming a void return value, but the cgo wrapper is assuming the bool return value. Chaos ensues.
So I think this is a bug on pact-go's side. Possibly we should have cgo complain if it sees this inconsistency. It certainly would be helpful to get a compiler error instead of have to trace down this runtime failure.

Closing as this isn't a Go bug. I opened #67699 to track getting better detection of conflicting declarations from cgo.

Amazing troubleshooting @randall77 (from a Pact maintainer)
We rely on a shared library built in rust, and consume in various languages. CGO has been a bit of a black-box to me and I struggle to work out where to start with diagnosing so this is really valuable.
Thanks for taking the time to investigate and proposing a fix on pact-go's side.
I'll look through your notes and create some easy to follow steps for our users of the lib to help attach to bug reports.

Also another Pact maintainer here - echoing Yousaf's sentiments, I just wanted to thank you as well - this was an excellent experience and much appreciated 🙏 .


Correct use of reexec.Init()

A true result from reexec.Init() isn't an error, but it indicates that main() should exit with a success exit status.

LGTM
@vrothberg @mheon @baude @QiWang19 @giuseppe PTAL

/approve

/lgtm
/hold

LGTM
@mheon happy green test buttons if you want to remove the hold

/hold cancel


Patreon

Icon Request

Icon name: patreon
Tags of this icon: patreon, donate, money, app
Use case: patreon donation button
Screenshots of similar icons: -

Hi~ We've add Patreonicons;
patreon-line
patreon-fill
If those are what you want, please close this issue.


Add to ProjectSettings Logging a Max Log Size in addition to Max Log Files

Godot version:
Any version
OS/device including version:
Any
Issue description:
There does not seem to be a user or otherwise setting to limit log file sizes. This means a log file can grow and overflow the system.
A Max Log Files setting should be added to the ProjectSettings screen and logger should be changed to rotate files when they exceed Max Log Files.

When you set up multiple log files, each log file will correspond to a game instance.
I don't see how log files can become huge if you only allow 5-10 of them to be created. For a long-running server, you should manage logs differently instead (look into solutions such as Loki).

With all due respect I am talking about a game running on a user device. Not servers even though same logic applies there.
Log file messages are generated by errors/warnings/etc but also print(). If I were debugging a long running game, I may want to keep logs enabled for a while printing thousands of messages.  And what is reasonable size anyway?
In either case it is bad practice to allow logs to be generated unchecked. You can have a runaway app creating havoc. And then end users may have a problem system and cant even use their computer because of disk full.  And why would you want devs the extra headache to worry about system overflow adding extra code to check size.
You already have the framework to add an extra property and check and rotate for that in logger.cpp.

And what is reasonable size anyway?

A few megabytes will most likely not cause an user's device to run out of space :slightly_smiling_face:

Games, especially ones still in development, can accrue log files up to 50-70 MB.

@Zireael07 The current log rotation system should already take care of that, as the default is to keep 10 log files at most (one per project start).

I meant a single log file of 50 MB (the game in question was Tales of Maj'Eyal)

And what is reasonable size anyway?

A few megabytes will most likely not cause an user's device to run out of space 🙂

We don't know what we don't know. Making assumptions about the user's device is not something Godot can afford. It could be a mobile device short on space.

You already have the framework to add an extra property and check and rotate for that in logger.cpp.

If I'm reading correctly, we'd have to perform log rotation at run-time, which adds more complexity.

Yes, it would be at runtime and no it does not any special complexity. All the code is already in place for rotation and writing. It's a matter of checking whether the log has reached a limit and calling the rotation method in logger.

It could be a mobile device short on space.

In general, you don't want to log files on mobile for two reasons:

Most users don't know how to access them, so storing them on the filesystem is of limited use. On iOS, it's impossible unless you jailbreak your device :slightly_smiling_face:
Experienced users can use adb logcat to view the running project's output.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!


Upgrade isort to fix CI issues

Fixes: https://github.com/PyCQA/isort/issues/2077

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
321

Relevant Lines:
321

💛  - Coveralls

Hi @jabbera ,
Thanks for the submission. Only missing a modification in the CHANGELOG file and I am happy to merge this PR.

I put something in the changelog, but it wasn't really clear where it should go. If you would prefer it somewhere else please let me know.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
321

Relevant Lines:
321

💛  - Coveralls


Added Kafka as Transport

This update introduces Kafka as transport implementation where the spec bundles may be received through it or through the sync service (configurable).

/assign @nirrozenbaum


Added note taking application using java

Issue resolved #75

Conflicts
@heet-kumar hey I'm getting conflicts while creating this pull request. For some reason, my commits on another issue(and another branch) is showing up in this branch and im clueless.
Here are some screens

@heet-kumar I think i was able to fix the error since it was with the other project's README file. Can you please see if everything's all right?

@heet-kumar hey could you please review the PR?

@rajdip-b So make a video of setting up the project locally, the code walkthrough, what are the files you have added and run the project so that that will be easier for user of these project how to run project locally.


Top level completions are suggested inside a record

Description:
Top level completions are suggested inside a record and the record attributes are not getting suggested.

Can you please share a sample for this?

Could not reproduce in the latest master. Hence resolving the issue and if the issue observed further please reopen


Yay! You’re on Rails!

Hello, i deploy peatio-2.1.20 into Ubuntu 16 but when i run $ bundle exec rails server -b <IP_ADDRESS>
is show Rails app not Peatio 2.1.20 running

UI for the peatio & barong is deprecated and removed at 2.0.
close this issue


Odd behaviour with set path+=foo when path contains an empty string

path is a comma-separated list of directories, where the empty string signifies "current directory" (see :help 'path'.
set path+=foo should append a comma to the option before adding "bar" (see :help :set+=).
However, with Vim 7.4.899 on Linux, set path+=foo doesn't quite behave like that, causing the empty string to effectively drop out of &path if you attempt to remove and re-add an entry in some cases:
:set path=foo,,bar
:echo &path
foo,,bar
:set path-=bar
:echo &path
foo,
:set path+=bar
:echo &path
foo,bar

I would think this is a bug in set+=, except that I'm not quite sure why path suggests that you should use set path=,, to search in the current directory rather that e.g. set path=,, and so it's possible I'm missing something.

Malcolm Rowe wrote:

path is a comma-separated list of directories, where the empty string signifies "current directory" (see :help 'path'.
set path+=foo should append a comma to the option before adding "bar" (see :help :set+=).
However, with Vim 7.4.899 on Linux, set path+=foo doesn't quite behave like that, causing the empty string to effectively drop out of &path if you attempt to remove and re-add an entry in some cases:
:set path=foo,,bar
:echo &path
foo,,bar
:set path-=bar
:echo &path
foo,
:set path+=bar
:echo &path
foo,bar

I would think this is a bug in set+=, except that I'm not quite
sure why path suggests that you should use set path=,, to search
in the current directory rather that e.g. set path=,, and so it's
possible I'm missing something.

That's a bug, caused by not checking the options flags properly.
I'll make a fix.
--
From "know your smileys":
:-F	Bucktoothed vampire with one tooth missing
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Video Still Playing after switching to new Tab Fragment inside ViewPager

Hey,
Thank you for this Awesome Lib I am trying to implement this in my App having:

Three  Tabs in Viewpager
First Tab having video Recylerview using Toro
Rest two also have Recylerview inside them

Problem: -

While Playing video inside first Tab and switch to 2nd Tab, video inside 1st Tab is still playing.
When I go to Another Activity by click on toro Video to open it in new Activity and comes back to Recylerview the toro video resume but become white.

Please help regarding these two issues, I have done all my code just stuck into these two issues.
Additionally: - Can we improve the performance of toro in small config android devices and on the slow network?

@amitsharma492 Can you show me the setup code for your RecyclerView in first tab of ViewPager?
About the performance in low-spec devices, it depends on the Video source I think. So if you own the media server, you can encode the video into various resolution whose lowest one should be fine for low-spec devices and slow network. The playback is handle by ExoPlayer so it should be fine if the source is good enough.
If you don't own the media server, it guess we have no other way. If you can download the whole video legally, you can setup your own server that download the video and do the recoding as above :D. HLS or DASH is your keyword in this case :).

Container mRecyclerView;
private void onRefreshComplete(List<FeedMetaData> result, String banner, String resAction, String resId) {
       Log.i(LOG_TAG, "onRefreshComplete");
mLayoutManager = new LinearLayoutManager(getActivity());
       mRecyclerView.setLayoutManager(mLayoutManager);
       adapter = new BannerAutoPostRecyclerAdapter(feedMetaDatas, getActivity(), "", "", "", mRecyclerView);
       mRecyclerView.setAdapter(adapter);
       mSwipeRefreshLayout.setRefreshing(false);
       refreshing = false;
   }

I am just Creating the Adapter for the Recyclerview, any other Requirement I need to set up for the toro

@eneim  Hey, What else I need to setup for Viewpager to pause the video when the user switches to another tab?

Hey @amitsharma492 , using Pager is tricky, because of its item cycle. You can refer to this sample for how I'm doing. Hope this help you. Please ask question if you find this a bit too complicated.

Hey @eneim, I've a ViewPager that has two fragments one with a Container and the other is just a normal view. I want to pause the playing video when I swipe to the next tab. What should I do?

Changing onWinowsVisibilityChanged from protected to public and calling it like this  @Override     public void setUserVisibleHint(boolean isVisibleToUser) {         super.setUserVisibleHint(isVisibleToUser);         if (feedRVAdapter != null && mRecyclerView != null) {             mRecyclerView.onWindowVisibilityChanged(View.GONE);         }     }
would solve your problem.

@AlaaAlShammaa Thanks its working and how can we solve the second problem
Problem: Click on video open it in new Activity and when back to previous (fragment having Recyclerview with Toro Video ) the video become white blank only audio is playing.

if have similar issue I can change onWinowsVisibilityChanged  protected to public in android sdk 26 View.java class but it still showing me as protected access

@yateeshkota You need to import the library files into your project to be able to modify its code

@AlaaAlShammaa you can extends my Container class and override methods instead.
@yateeshkota good point, let me double check the SDK later.

I'm facing similar problem.
When the video is playing and If I go into new activity and return back then I scroll my lists to top(first) position.
Now after few seconds Video automatically start playing even it is not in visible area of current screen.
I just want to stop playing video when I return back to the activity where I have all the video lists.
As I scroll and If I get any video visible on screen then only it should play automatically from start.
Please have a look

@brijhub Sorry for late reply. I tried to mimic the process, but my Videos stop playing after coming back as expected ... Can you send me a screen record of your issue, and if possible, simple source code to reproduce it? Also, can you tell me which toro version you used and Device info?

I had that same issue and followed @AlaaAlShammaa and @eneim comments and got it work but added a small change. I'm writing it here for future reference.
First, extend the Container class and override onWindowVisibilityChanged and set it to public as suggested and use it instead of Container:
public class PlayerViewContainer extends Container {
public PlayerViewContainer(Context context) {
    super(context);
}

public PlayerViewContainer(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);
}

public PlayerViewContainer(Context context, @Nullable AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
public void onWindowVisibilityChanged(int visibility) {
    super.onWindowVisibilityChanged(visibility);
}

}
Then override setUserVisibleHint(boolean isVisibleToUser) in your fragment and here I added a little change to make the video play again when I go back to its containing fragment
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (mComicsAdapter != null && mComicsRV != null) {
if (isVisibleToUser) {
mComicsRV.onWindowVisibilityChanged(View.VISIBLE);
        } else {
            mComicsRV.onWindowVisibilityChanged(View.GONE);
        }
    }
}

Also encountering this issue.. I have a Tab that contains 2 fragments.. Video is playing from the 1st Fragment when i move to 2nd Fragment .. Video in 1st fragment is still playing. I would like to pause the video when i switch to the other tab. I've tried the solution posted above by @Mahmoud-S-Ali to no avail... i'm using version 3.4.2 btw.

if (feedRVAdapter != null && mRecyclerView != null) { mRecyclerView.onWindowVisibilityChanged(View.GONE); } }

how can change to public ?


Get default application labels from toml files.

This PR will enable the launcher to query the labels of applications from their .toml files, to use as a default for the GUI.

Cool. Can you add a screenshot - I think the active Launcher in core is a bit behind from the one we currently use at Colorbleed. Here are two screenshots from ours:

Maybe it does something similar? :)

It is indeed behind! There are no actions in the current launcher.

Maybe we need a PR from Colorbleed to update the launcher?

Set up a PR from Colorbleed repo: https://github.com/getavalon/launcher/pull/27
Hopefully it also offers the functionality you're looking for here.

It certainly will :)


Got some mysterious background stripes when render a PDF page to Iced GUI

hi, I am using Vello to render pdf pages inside an Iced GUI application, I found that Vello doesn't implement wgpu::TextureFormat::Bgra8UnormSrgb format yet, but Iced uses this one,   I set the view_formats to wgpu::TextureFormat::Rgba8UnormSrgb and the format parameter to  wgpu::TextureFormat::Rgba8Unorm,
 let texture = device.create_texture(&wgpu::TextureDescriptor {
            label: None,
            size: wgpu::Extent3d {
                width,
                height,
                depth_or_array_layers: 1,
            },
            mip_level_count: 1,
            sample_count: 1,
            dimension: wgpu::TextureDimension::D2,
            usage: wgpu::TextureUsages::STORAGE_BINDING | wgpu::TextureUsages::TEXTURE_BINDING,
            format: wgpu::TextureFormat::Rgba8Unorm,
            view_formats: &[wgpu::TextureFormat::Rgba8UnormSrgb],
        });
        let view = texture.create_view(&wgpu::TextureViewDescriptor::default());

it can render pdf pages to iced gui successfully, but got some mysterious stripes, any compatibility issues here please?  If not, can I know how to debug this kinds of issues? I check my render pipeline tons of times, I am sure I didn't draw these stripes.

This issue is entirely unactionable, as it is not possible to reproduce this from the given information. Does this issue still reproduce on the latest main - I believe that we have landed a few watertightness issues.
If you are seeing that certain code creates artifacts in a texture drawn by Vello, please provide code to reproduce that scene, using only Vello rendering.


Request Error of the Kata named "How much water do I need?" in JavaScript

when I try to complete a kata "How much water do I need?" in JavaScript, whatever result I return it will always warn me the "500: Internal Server Error". Can someone fixed this or tell me what I do wrong?

We are need have patience. Sometimes site not work, but need little time wait.


Log the audit logs

This PR is for logging when we create log records in the database. The reason for this is because if an attacker infiltrates your system they would be able to change the database entries where as if it's going to your central logging system you'll have a trail.

Coverage increased (+0.01%) to 65.991% when pulling eff91a24a11a5707bfda69d8cf102a181a19e894 on treacher:log-auditing into ce5a45037a7eda5558632d030bf5d0a55755e944 on Netflix:master.

lgtm thanks!


Turn FHIR server back on for LAC to collect ELR data

Resolves #321
This just reverts #268 and then reconfigures the pipeline to only upload ELR messages to the FHIR server

I've got the new FHIR service deployed, and the pipeline can write to it, but running into issues authenticating to it on the command line for the end-to-end test. @DanPaseltiner is this worth continuing to dig into or should I just disable the e2e test for now?


[Clarification] Starting paths with {topology-path} and device list service

The yaml linting checks fail, if paths start with a parameter, instead of a /
the parameter would be necessary to query the connected devices with a filter (the path cannot start with the filter)
its value would be either empty (MWDI) or the complete topology-path (when request sent to the Controller)

if the topology-path is to be included as a service, it needs a schema specification (when running the request without a filter, Postman just sends an error message (response too big)
so it could only be used with a filter and it would have to be ensured that only approved filters are used
unclear how the schema would have to look like

To discuss: offer a new MWDI service for retrieving the deviceList instead of using a ressource path for that?

add {topology-path} only for the list of devices query, not for other ressource paths


[release/9.0-rc1] Update versions for latest .NET release

Backport of #6194 to release/9.0-rc1
/cc @eerhardt
Customer Impact
Our .NET Aspire 9.0-rc1 builds are still using the 9.0-rc1 builds of .NET - specifically EF Core. Customers will be using month old versions if we don't update to 9.0 rc2.
Also, System.Text.Json 8.0.4, which we depend on, was marked vulnerable. So updating to the new version of that important so users don't get vulnerable warnings.
Testing
Automated tests in repo.
Risk
Low. These are new versions of .NET that were released publicly. Getting more test coverage on them is helpful.
Regression?
No

Failed twice on elasticsearch, potentially true positive.

Failed twice on elasticsearch, potentially true positive.

It passed in main. So I'm confused if it is truly a true positive.

Maybe Elastic is just really flaky. We had issues by the past and there is already a specific timeout AFAIR.

/azp run

Talked offline, we need to take this. Approved.


Options handling  - few remaining issues

Originally reported by: Donna Calhoun (Bitbucket: donnaaboise, GitHub: donnaaboise)

I have just a few remaining comments and requests for the options handling :

Can the sc library put a bit more space between columns when outputting help options?

#!bash
[fclaw]    --use_fixed_dt         [0fFnN1tTyY]    Use fixed coarse grid time step [F]
[fclaw]    --run_diagnostics      [0fFnN1tTyY]    Run diagnostics [F]
[fclaw]    --conservation_check   [0fFnN1tTyY]    Conservation check [F]
[fclaw]    --subcycle             [0fFnN1tTyY]    Use subcycling in time [F]
[fclaw]    --noweightedp          [0fFnN1tTyY]    No weighting when subcycling [F]
[fclaw]    --help                                 Print usage information (same as --usage) [F]

27 spaces after [fclaw] and before [type] and 43 spaces after [fclaw] and before the help message would be perfect.

Can any error messages (printed with  FCLAW_EXIT_ERROR) be printed after the 'usage/help' listing?   As it is, the message is buried between initial compile flag info and the help/usage info.

A --print_options flag would be very useful.  If you could add this to core, I could set things up with separate "core" options, and forestclaw options.  Again, this flag would print option values after all parsing was done.    An advanced version might allow for settings such as  --print_options=current and --print_options=default, once we decide how to treat config files, etc.

Would it be possible to get final timing info at verbosity level production, rather than info?  Currently, to see timing info, I also have to get all of the p4est output, which obscures output of time steps, etc.

We still have to figure out what to do with defaults and the configuration file.

Bitbucket: https://bitbucket.org/donnaaboise/forestclaw/issue/80

This has been set as another issue - see #105


Results from zocalo are from the top left corner

We are converting the returned results from zocalo to positions incorrectly. The value returned from zocalo defines zero as the top left of the first box, whereas the start position sent to the controller (and thus where we define zero) is the centre of the first box.
Acceptance Criteria

We account for this mismatch
There are tests for this

FYI @rjgildea, I think this is best fixed in artemis for now, the issue will disappear when we move to using motor coords rather than box coords anyway


Move placeholder colour to theme item

As mentioned in #57100, moved TextEdit and LineEdit placeholder alpha to a colour in the theme.

Thanks!


added quiet flag

Closes #48

@tarkatronic This latest code should solve your issues

You will then want to use the value of that flag to decide what log level to set in the logger, as seen in logger/logger.go line 38

If i understand it rightly @tarkatronic , the solution is set a flag --quiet which will stop the logger from enabling rather than setting the log_level right?

Hi @krishnaduttPanchagnula. Sorry no, not exactly. We do want to set the log level, because there will be other ways to modify this in the future as well (such as with a --verbose flag).
What we need is a single place (probably in cmd/root.go) that will take all command lines flags into consideration, and then make sure the log level is set appropriately.
I did find in this example that there is a zerolog.SetGlobalLevel that we can call, which should handle setting the appropriate level. Additionally there is a zerolog.Disabled, which should do what we want.
So putting that together, we need a piece of code that sets the log level, and when --quiet is passed in, that log level is zerolog.Disabled.
Does that make sense?

Closing in favor of #69


Merge sort algo as it is faster for linked list.

Description of Change

Checklist

[x] Added description of change
[x] Added file name matches File name guidelines
[x] Added tests and example, test must pass
[x] Added documentation so that the program is self-explanatory and educational - Doxygen guidelines
[x] Relevant documentation/comments is changed or added
[x] PR title follows semantic commit guidelines
[x] Search previous suggestions before making a new one, as yours may be a duplicate.
[x] I acknowledge that all my contributions will be made under the project's license.

Notes:
This is my first try at open-source contribution, I have written the code to merge sort in linked list as it is better suited for sorting in linked list compared to other sorting algorithms.

Hey @Panquesito7 can you take a look at this addition please.


Mock endpoints are not correctly encoded

Describe the bug
When retrieving the endpoint name using getRestMockEndpoint() or some others getGraphQLMockEndpoint()... methods, it appears that API name and version and not URL-encoded like the Microcks server expect them to be.
Expected behavior
API names and versions containing accents or special characters should be URL encoded.
As an example, API permettant de gérer les pâtisseries should be encoded into API%20permettant%20de%20g%C3%A9rer%20les%20p%C3%A2tisseries or API+permettant+de+g%C3%A9rer+les+p%C3%A2tisseries.
Actual behavior
As of today, there's no encoding and API permettant de gérer les pâtisseries is returned as is. The workaround being that is the user responsibility to know that it should be URL-encoded before actually used.
How to Reproduce?
See above.
Microcks version or git rev
all
Install method (docker-compose, helm chart, operator, docker-desktop extension,...)
No response
Additional information
No response

It appears that some libraries, like RestAssured, don't expect already encoded endpoints, so they tend to re-encode them. This leads to 404 errors because we're not matching any endpoints on the server side.
I think the option could be to provide an additional set of methods like getEncoded RestMockEndpoint() and people would choose between one or the other depending on their HTTP client library.
Thinking about it, this lib's behavior is the same regardless of the binding language (Java, Go, NodeJS, NET); they all provide non-encoded URLs, and all the clients manage to encode them on the fly.
@f-lopes What do you think? What client are you using that causes you trouble?


ScriptResource.axd 0x800a139e - JavaScript runtime error: SyntaxError

The AJAX Control Toolkit <VERSION=18.1.0>
The installation method

[ ] Installer
[X] NuGet package
[ ] A custom build from the source code

Minimal steps to reproduce the bug
This will be difficult as it happens when I try and use DEBUG while inside of VS 2015 and am using IE 11 and the ASP.NET is using V4.5.1 Framework.
Actual result
I am getting the following error:
Exception was thrown at line 3568, column 4 in http://localhost:58648/ScriptResource.axd?d=mi2OcNv48xWANXsxQ04XhmPxMiAIoslLjMkConhj_s5hINsmMPafNowrPGrNsZjOtckRP4JEqBJFDB35ZAPSR15GRSbRbgoaB7O6Y-RRWaV8_X9nlO-1E-Qmelo25Ffn0&t=51e37521
0x800a139e - JavaScript runtime error: SyntaxError
Expected result
Browser(s) used
IE11
A site deployment method

[X] VS development web-server,
[ ] IIS

Since we still haven't received the requested information, I'm closing this issue.
Once you have any additional info regarding the error, please notify us by adding a comment.


Installing private repo with git+git is not working at 2018.7.1 version

This works with older version:
pipenv version: 11.10.1
pipenv install -e git+git@github.com:some/repo.git#egg=foo\&subdirectory=sub
Running same command with version: 2018.7.1.
First part succeeds, then second part fails.
Installing ...
Obtaining foo from git+git@github.com:CloudVLab/fusion.git#egg=Fusion&subdirectory=python
...
Successfully installed foo

Adding -e git+git@github.com:... to Pipfile's [packages]...

Pipfile.lock (a34c46) out of date, updating to (0c0917)...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
...
Command "git clone -q ssh://git@github.com:some/repo.git /tmp/tmptsmueli7source/foo" failed with error code 128 in None
...

Pipenv should either do(both commands are exactly same AFAIK):
git clone git@github.com:some/repo.git
or
git clone<EMAIL_ADDRESS>notice the : vs /
instead it is doing:
ssh://git@github.com:some/repo.git
which obviously not working.
As a workaround I had to do:
pipenv install -e<EMAIL_ADDRESS>

This is resolved in what will be the next release (I'd link to the issues but we fixed it some time ago)
Have been slammed on our end lately, but should be able to get the release out shortly -- sorry for the issue!

@techalchemy This issue appears to not be resolved. Spent a long time today tracking down that pesky ":" -> "/" required change. Any change this issue will get fixed? Thanks :)

I'm also running into this issue today :'(

@dsummersl did you make the : -> / transition in the ssh path of the repo you are trying to install?

Nope, I tried it. Works. Thank you!


Historical record of issues

Would be awesome for certain critical modules (could be an option to select what is important or critical) to have historical data for a plugin. For example, DetectX reports on malware found. Would be nice to have a record of state for every hour or every day to show when something is in a critical state (has virus) when that first appeared. Monday 9am user logged in and got the virus.
Admins could choose what is critical, i.e. DetectX, drive full, battery health, etc
And yes, this would increase the database size but it could be an acceptable tradeoff

I would find this helpful, especially in the example given of DetectX.