[Module Proposal]: avm-res-desktopvirtualization-scalingplan (res) (tf)

Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals

Check this module doesn't already exist in another project that is being evolved into AVM

[X] I have checked for that this module doesn't already exist in CARML or TFVM

Terraform or Bicep?
Terraform
Module Classification?
Resource Module
Module Name
avm-res-desktopvirtualization-scalingplan
Module Details
We will be migrating and modifying the Terraform module we are using for AVD LZA.
Please add as the following co-owner:
cc: @cshea15
I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER
cc:  @danycontre and @moisesjgomez
Do you want to be the owner of this module?
Yes
Module Owner's GitHub Username
jensheerin

@matebarabas Met with Matt White and reviewed all of the AVD tf module proposals and he approves moving to in development

@jensheerin, thanks for opening this request and volunteering! Thanks for aligning with @matt-FFFFFF, @danycontre and others.
I know you've already pasted the confirmation statement above, but for our records, please let me paste the request below (no need to respond to this again - unless you disagree :) ).
I'll also shortly send you a final confirmation that indicates you're good to go.
Thank you!

Hi @jensheerin,
Thanks for requesting/proposing to be an AVM module owner.
We just want to confirm you agree to the below pages that define what module ownership means:

https://azure.github.io/Azure-Verified-Modules/specs/shared/team-definitions
https://azure.github.io/Azure-Verified-Modules/specs/shared
https://azure.github.io/Azure-Verified-Modules/help-support/module-support

Any questions or clarifications needed, let us know.
If you agree please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks,
The AVM Core Team

@jensheerin: I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER

Hi @jensheerin,
Thanks for confirming that you wish to own this AVM module and understand the related requirements and responsibilities.
We just want to ask you to double check a few important things before you start the development.
Please visit the module index page of your module and use the following values explicitly as provided there:

ModuleName
TelemetryIdPrefix
ModuleOwnersGHTeam and ModuleContributorsGHTeam
Repository name and folder path defined in RepoURL

You can now start the development of this module! Happy coding! 🎉
Please respond to this comment, once your module is ready to be published!
Any further questions or clarifications needed, let us know.
Thanks,
The AVM Core Team

In progress https://github.com/Azure/terraform-azurerm-avm-res-desktopvirtualization-scalingplans

Great progress, @jensheerin! Can you please ping me here when this PR was reviewed, merged and the module is published? Thanks!

PR reviewed and merged. Published https://registry.terraform.io/modules/Azure/avm-res-desktopvirtualization-scalingplan/azurerm/latest

[x] Module published.
[x] GitHub teams created and assigned to their respective parents.

Thank you @jensheerin for your work! Closing the issue.


NFR-MCT-024 - Staging environment

A staging environment should be available to verify functionality before deploying to the production environment

how can we set up a staging server? part of cicd


HDDS-5684. Add bucket owner field

What changes were proposed in this pull request?
Add support for Bucket Ownership feature.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5684
How was this patch tested?
This patch was manually tested using docker.

This is included in #2826 . Closing this one


Traefik-Ingress sticky sessions are not working with HTTPS

Issue:
When I ran the application on Traefik Node Port HTTPS Service the sticky sessions are not working properly
Able to access URL properly but Sticky Sessions doesnt work Node Port (HTTPS)
https://myapp-82.sm.k8s.dev.myapp.io:31946
Working properly with out any issues with Sticky Sessions Node Port (HTTP)
http://myapp-82.sm.k8s.dev.myapp.io:30548
Kubernetes Bare Metal Version:
Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T18:02:47Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.3", GitCommit:"a4529464e4629c21224b3d52edfe0ea91b072862", GitTreeState:"clean", BuildDate:"2018-09-09T17:53:03Z", GoVersion:"go1.10.3", Compiler:"gc", Platform:"linux/amd64"}

Operating System
Ubuntu
Application Service Configuration
{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "myapp-web",
    "namespace": "myapp",
    "selfLink": "/api/v1/namespaces/pega/services/myapp-web",
    "uid": "5ad2fe01-bf24-11e8-9466-00505623bd42",
    "resourceVersion": "272065",
    "creationTimestamp": "2018-09-23T11:32:29Z",
    "annotations": {
 ###     "traefik.ingress.kubernetes.io/affinity": "true",
 ###     "traefik.ingress.kubernetes.io/load-balancer-method": "drr",
 ###   "traefik.ingress.kubernetes.io/max-conn-amount": "10",
 ###      "traefik.ingress.kubernetes.io/session-cookie-name": "JSESSIONID"
    }
  },
  "spec": {
    "ports": [
      {
        "name": "http",
        "protocol": "TCP",
        "port": 80,
        "targetPort": 8080
      }
    ],
    "selector": {
      "app": "myapp-web"
    },
    "clusterIP": "<IP_ADDRESS>",
    "type": "ClusterIP",
    "sessionAffinity": "None"
  },
  "status": {
    "loadBalancer": {}
  }
}

Ingress Configuration
{
  "kind": "Ingress",
  "apiVersion": "extensions/v1beta1",
  "metadata": {
    "name": "traefik-ingress-myapp",
    "namespace": "pega",
    "selfLink": "/apis/extensions/v1beta1/namespaces/myapp/ingresses/myapp-ingress-pega",
    "uid": "8485d85a-c088-11e8-9466-00505623bd42",
    "resourceVersion": "250419",
    "generation": 1,
    "creationTimestamp": "2018-09-25T06:02:00Z",
    "annotations": {
      "kubernetes.io/ingress.class": "traefik"
    }
  },
  "spec": {
    "tls": [
      {
        "hosts": [
          "myapp-82.sm.k8s.dev.myapp.io"
        ],
        **"secretName": "myapp-82.sm.k8s.dev.myapp.io.tls"**
      }
    ],
    "rules": [
      {
        "host": "myapp-82.sm.k8s.dev.myapp.io",
        "http": {
          "paths": [
            {
              "backend": {
                "serviceName": "myapp-web",
                "servicePort": 80
              }
            }
          ]
        }
      }
    ]
  },
  "status": {
    "loadBalancer": {}
  }
}

Traefik Service Configuration
{
  "kind": "Service",
  "apiVersion": "v1",
  "metadata": {
    "name": "traefik",
    "namespace": "traefik",
    "selfLink": "/api/v1/namespaces/traefik/services/traefik",
    "uid": "a8978ab5-c07f-11e8-9466-00505623bd42",
    "resourceVersion": "250107",
    "creationTimestamp": "2018-09-25T04:58:35Z",
    "labels": {
      "app": "traefik",
      "chart": "traefik-1.43.0",
      "heritage": "Tiller",
      "release": "traefik"
    }
  },
  "spec": {
    "ports": [
      {
        "name": "http",
        "protocol": "TCP",
        "port": 80,
        "targetPort": "http",
        "nodePort": **30548**
      },
      {
        "name": "https",
        "protocol": "TCP",
        "port": 443,
        "targetPort": 443,
        "nodePort": **31946**
      },
      {
        "name": "metrics",
        "protocol": "TCP",
        "port": 8080,
        "targetPort": "dash",
        "nodePort": 31746
      }
    ],
    "selector": {
      "app": "traefik",
      "release": "traefik"
    },
    "clusterIP": "<IP_ADDRESS>",
    "type": "LoadBalancer",
    "sessionAffinity": "None",
    "externalTrafficPolicy": "Cluster"
  },
  "status": {
    "loadBalancer": {}
  }
}

What is your environment & configuration (arguments, toml, provider, platform, ...)?
debug = true
defaultEntryPoints = ["http","https"]
[entryPoints]
  [entryPoints.http]
  address = ":80"
  compress = true
  [entryPoints.https]
  address = ":443"
  compress = true
    [entryPoints.https.tls]
      [[entryPoints.https.tls.certificates]]
      CertFile = "/ssl/tls.crt"
      KeyFile = "/ssl/tls.key"
  [entryPoints.traefik]
  address = ":8080"
[kubernetes]
[api]
  entryPoint = "traefik"
  dashboard = true
[metrics]
  [metrics.prometheus]
    entryPoint = "traefik"

If applicable, please paste the log output in DEBUG level (--logLevel=DEBUG switch)

Thanks for your interest in Traefik.
Could you provide us some debug logs?

logs-from-traefik-in-traefik-9dbb64dbb-qbrk8.txt
Hi @Juliens Please find the attached logs.

Thanks for your interest in Traefik.
Could you provide us some debug logs?

logs-from-traefik-in-traefik-9dbb64dbb-qbrk8.txt
Please find the attached logs for more information

I think your problem can come from you cookiename, you need to use a cookie name that is not used by other application.
Can you try to use a different cookie name?

But with the same

I think your problem can come from you cookiename, you need to use a cookie name that is not used by other application.
Can you try to use a different cookie name?
But with the same cookie name the HTTP works correctly without any issues

I think your problem can come from you cookiename, you need to use a cookie name that is not used by other application.
Can you try to use a different cookie name?
Its working different cookie name. Please find the screen shot where in the case of HTTPS there was a duplicate entry for the cookie-name JSESSIONID where as in HTTP case it has no duplicates

In your screenshot, I see that you have the same behavior on Traefik Request cookie when you are in HTTP and in HTTPS, but your JSESSIONID cookie is not present in the request when you are in HTTP, but it is present when in HTTPS.
The cookie is overriden (only in HTTPS)  and Traefik can't use it.
So the solution is to use different cookie.

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Slack workspace for more community #support.

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Slack workspace for more community #support.


Question: Create Alternate C3 Rendering Pipeline Using Raster Canvas

I'm working on a project that requires generating a lot of data points (100k+). Our current implementation uses C3. SVG is clearly the bottleneck, so we are exploring how best to replace the SVG rendering with canvas.
After looking through C3's source, it seems like the generation of data points in SVG format using generateDraw[name of graph type], and the actual rendering with redraw[name of graph type] methods are modular in a way that would lend itself to adding an alternate raster Canvas methods. Mouse events would need to be handled differently, but this doesn't seem insurmountable.
My question is, can anyone with more experience in the code base advise if this is a foolhardy approach for reasons I'm not considering? If I make these additions, would this be something people would be interested for me to refactor to the point where it's clean enough to offer as a pull request? Thanks.

Wow, interesting. C3 uses D3 for everything, which is entirely SVG. So you'd likely need a library to abstract the rendering in a way similar to D3 (does such a thing exist?).
I admittedly have zero experience in Canvas, so I'm not very helpful, but that's a crazy-cool idea. I wonder if you could render SVG in a virtual DOM à la React and then use Canvg to convert to Canvas like SVG Crowbar does, and whether this would be any better for performance?

Actually, D3 can apparently be used with Canvas. Who'd've thunk? https://bocoup.com/weblog/d3js-and-canvas/

Yeah, D3 doesn't inherently require using SVG. It's a misconception. It does have SVG helper methods, but the actual generation of SVG elements always occurs within the enter() handlers and whatnot instead of the core library.

FYI, I've implemented a subset of C3's functionality using Canvas rendering, and created a pull request: https://github.com/cnatale/c3
More info is available here: https://github.com/masayuki0812/c3/pull/1436
Performance improvements have been very impressive. My company's QA is still running tests, but we're seeing an increase in the number of data points a graph can display of anywhere from a factor of 10-100. Raster rendering also greatly cuts down on memory footprint, since the graph doesn't need to keep around all the SVG elements representing graph segments, or the vertical strips used for mouseover detection.
Note that animations are not currently implemented (although hover highlighting is), so if you need animated transitions definitely stick with the SVG version for now.

:100:

looks like the issue is closed


Enhancement: Add a flag to present additional annotation columns to kubectl get

What would you like to be added:
There's an (extremely helpful) option to add a column based on a particular label to the output of kubectl get:
$ kubectl help get | grep -- '-L'
  -L, --label-columns=[]: Accepts a comma separated list of labels that are going to be presented as columns. Names are case-sensitive. You can also use multiple flag options like -L label1 -L label2...

It'd be great if there were a similar option for annotations (-A / --annotation-columns for eg.)
Why is this needed:
This helps adding custom rows to add visibility over custom configurations as annotations for example.
Additional informations:
This issues was sort of copied from the closed https://github.com/kubernetes/kubernetes/issues/64529
This may be added in addition to that feature https://github.com/kubernetes/kubernetes/issues/98368

/remove-lifecycle stale

We don't want to add a specific flag for this but someone is going to look into reviving https://github.com/kubernetes/kubernetes/pull/102819.
/close


I'm going to do a pull-request with this function, it's not ideal for the project, but it works well.

but inside the game instead of contributing to the team you kept getting shitted on ahahhahahha


Enable container IPv6 to/from container IPv4 via NAT46

When sending a IPv6 packet to a IPv4 mapped destination (::FFFF:IPv4) we do NAT64 and convert the packet to an IPv4 packet with a source address corresponding to the IPv4 address of the container and the destination address as specified in the mapped IPv6 address.
The connection tracking entry will remeber that the packet was translated to allow reverse translation for reply packets.
ENABLE_NAT46 depends on LXC_IPV4 and CONNTRACK features to do the IPv4 packet processing
and connection tracking.
Signed-off-by: Madhu Challa<EMAIL_ADDRESS>

@mchalla What is the status on this? Are you looking for a review or are you still working on this?

Yes these are the changes after our discussion when you were here. This voids the nat46 branch changes. Pl review these ones. Thanks.

Also changed the commit message a bit.


GpuAdd supports ANSI mode.

And let Multiply fall back to CPU when ANSI mode is enabled.
Signed-off-by: Firestarman<EMAIL_ADDRESS>

build


Updated README with a few fixes

Coverage remained the same at 100.0% when pulling b3344f35aabab452e69a68de250385cd5f11a704 on Munter:patch-1 into 86450f4e36ff4daea4022735b8ba75d4190b9eff on papandreou:master.

Thanks a lot!


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3506

Questions ?
Please refer to the Backport tool documentation


search: intbitset could be None

What I did
I was visiting a collection page, e.g. /search?cc=Photo&ln=en
What happened
Traceback (most recent call last):
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1836, in __call__
    return self.wsgi_app(environ, start_response)
  File "/code/invenio/invenio/ext/legacy/__init__.py", line 128, in __call__
    response = self.app.handle_exception(e)
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask_RESTful-0.3.4-py2.7.egg/flask_restful/__init__.py", line 270, in error_router
    return original_handler(e)
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1403, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/code/invenio/invenio/ext/legacy/__init__.py", line 124, in __call__
    response = self.app.full_dispatch_request()
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1477, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask_RESTful-0.3.4-py2.7.egg/flask_restful/__init__.py", line 270, in error_router
    return original_handler(e)
  File "/code/invenio/invenio/base/wrappers.py", line 125, in handle_user_exception
    return super(Flask, self).handle_user_exception(e)
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1381, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1475, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask-0.10.1-py2.7.egg/flask/app.py", line 1461, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/code/invenio/invenio/base/decorators.py", line 203, in decorator
    return f(*args, **argd)
  File "/code/invenio/invenio/modules/search/views/search.py", line 149, in decorated
    return method(collection, *args, **kwargs)
  File "/code/invenio/invenio/modules/search/views/search.py", line 465, in search
    records=len(get_current_user_records_that_can_be_displayed(qid)),
  File "/code/invenio/invenio/modules/search/facet_builders.py", line 59, in get_current_user_records_that_can_be_displayed
    return get_records_for_user(qid, current_user.get_id())
  File "/home/invenio/.virtualenvs/maint-2.0/lib/python2.7/site-packages/Flask_Cache-0.13.1-py2.7.egg/flask_cache/__init__.py", line 537, in decorated_function
    rv = f(*args, **kwargs)
  File "/code/invenio/invenio/modules/search/facet_builders.py", line 57, in get_records_for_user
    cc)
  File "/code/invenio/invenio/legacy/search_engine/__init__.py", line 3138, in get_records_that_can_be_displayed
    records_that_can_be_displayed = hitset_in_any_collection - (notpermitted_recids - permitted_recids)
TypeError: Argument 'self' must not be None

What was expected
Unicorns and :rainbow:!

@greut Please add a bullet point with FIX label describing the issue so we can generate RELEASE-NOTES. Thanks

I've got to learn it all again ;-)


python311Packages.dynalite-devices: 0.47 -> 0.1.48

Diff: https://github.com/ziv1234/python-dynalite-devices/compare/refs/tags/v0.47...0.1.48
Changelog: https://github.com/ziv1234/python-dynalite-devices/releases/tag/v0.1.48
Description of changes
Related to https://github.com/NixOS/nixpkgs/pull/216168

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 236881 run on x86_64-linux 1

4 packages built:

python310Packages.dynalite-devices
python310Packages.dynalite-devices.dist
python311Packages.dynalite-devices
python311Packages.dynalite-devices.dist


Add option for + (plus) sign in emails

It would be really useful to have a way to automatically add a random number before the @ sign in an email. This is especially useful for people who use gmail for their test emails. Since gmail allows the user to do stuff like this:
<EMAIL_ADDRESS><EMAIL_ADDRESS>https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html

@husainshabbir I know my response to this ticket is very late, but I did want to thank you for implementing it. It has made my life a whole lot easier :+1: :+1:


Add pkg/errors dependency

Required for https://github.com/containers/image/pull/182
Signed-off-by: Claudia Beresford<EMAIL_ADDRESS>

@tscolari in order to vendor a dependency here you first have to vendor the code which actually uses it. In this case https://github.com/containers/image/pull/182.
You need to edit hack/vendor.sh and add a line to vendor pkg/errors + you need to modify the containers/image line to vendor from docker-src-error-wrap branch from https://github.com/tscolari/image, then run hack/vendor.sh. After https://github.com/containers/image/pull/182 is merged you'll move containers/image back to master, run hack/vendor.sh again and this PR will be good to be reviewed and merged.

Updated after changes in https://github.com/containers/image/pull/186 and rebased.

@glestaris could you run ./hack/vendor.sh one more time w/ the correct containers/image ref? Thanks!

I switched back to containers/image master @runcom. Should now be good to merge.


CORE-17778 Use the query provider instead of raw SQL in findTransactionIdsAndStatuses

Overview
Currently, we use a raw SQL in the findTransactionIdsAndStatuses function in UtxoRepositoryImpl.
We should change this to use the QueryProvider instead.
This is not going to change functionality just a nice to have thing to avoid confusion in the future.
Test plan
Make sure that the current integration / e2e tests run.

LGTM qq - do we have any tests for this?

Not really - as Nandor mentioned in the description, this doesn't change any functionality, it's just a code tidy up (encapsulating the raw Postgres SQL in a query provider so we could cleanly swap it out should we need to).
Therefore, not breaking any existing tests is sufficient coverage.


Consider including the grafana / prometheus helm charts in the base binderhub chart

One of our grant deliverables is "Provide user-facing UI for statistics and Binder health monitoring". I think at the time we imagined creating these stats ourselves, but I think it's clear that grafana/prometheus is the easiest solution and we don't wanna re-create the wheel.
Could we make it easier for people to deploy their own grafana/prometheus services by including those charts in the binderhub meta chart w/ reasonable default configuration in the helm chart? If that was done, I think we could consider this deliverable "delivered"

And if not in the chart itself, include getting all the way to grafana + prometheus as siblings to binderhub in the docs.

Is there any documentation at the moment for how you all configured grafana for mybinder.org?

The helm chart for mybinder.org is in https://github.com/jupyterhub/mybinder.org-deploy/ which includes the grafana+prometheus configs.

I think https://github.com/jupyterhub/mybinder.org-deploy/ is good enough


Add missing python-dateutil to setup.py

Reported here
https://github.com/home-assistant/home-assistant/issues/28960

thanks!


Support spreading null or undefined props

Describe the bug
Spreading null or undefined props gives runtime errors.
While it is not exactly the same, such situation is usually supported in places like plain object or React. It might be nice if Solid provides similar behavior.
Additional consideration: support full native spreading JS object with boolean, number, etc. ?
Your Example Website or App
N/A
Steps to Reproduce the Bug or Issue
N/A
Expected behavior
Spreading null or undefined props shouldn't throw exceptions.
Screenshots or Videos
No response
Platform
N/A
Additional context
Related discussions:

https://discord.com/channels/722131463138705510/722349143024205824/751816143085240401
https://discord.com/channels/722131463138705510/722349143024205824/968760047029080094

Doing {...(nullable ?? {})} should work, but I find it a bit inconsistent with native behavior. However that's just my personal thought.

Now I found this weird. I've been using TS for more than 3 years and I just learned this just now (since TS wouldn't allow you do this). I'm okay with supporting this but this just kind of felt weird for me :joy:

Maybe you've been using TS too much. 😉 It's part of ECMAScript (also in Object.assign), and quite useful when you have optional arguments.
In the context of Solid, suppose you have an optional prop props.divProps that can be an object of props to pass in to a child component (useful when you have more than one such child component that you want to customize).  It's natural to want to write <div {...props.divProps}>, which gets ignored when props.divProps is null, just like you can currently write <div foo={foo()}> which gets ignored when foo() is null.

@ryansolid Please excuse me if I'm misunderstanding. I think 5292c2d didn't handle spreading component props (via createComponent with/without mergeProps).

@tienpv222 the commit was made in the compiler: https://github.com/ryansolid/dom-expressions/commit/a8fc08cabcb5850de4b4f6c4f200794e96d8eb5a

Yeah i missed looking at mergeProps in Solid. We can add additional checks.


initialisation for Raspbian

I need to complete the OS detection in dotfiles first, and then install tools, probably very similarly to ubuntu init

vagrant init exits with RC=1. no message.  It's probably not necessary in Raspbian anyway, but it should be deselected or else fixed.

I can probably use exactly ubuntu init, and just select it manually from the menu (or rename the ubuntu init to raspbian).

need to re-test this on an actual Pi to be certain that i've fixed everything, but at this stage it's looking pretty promising.


refactor: Migrate entire project to use Safe Args

Fixes #1205
Changes: Replaced existing fragment args with safe args. Default values
nullability has been inferred by me based on what values were being
passed earlier.

Build is failing.

I have fixed the wildcard imports issue, along with the other spotlessKotlin issue. I have also added documentation to the wrapper data class I created.
Cool trick I learned from the build log is to execute ./gradlew spotlessApply before pushing any commit. Will use this in every future contribution!

@iamareebjamal I think I have passed all the PR checks. Please review this PR when you can 😊


Staging

#10

https://github.com/uber-go/atomic/issues/120

Alpha Test Run
Greenlight

Slack

Email

Zoom Registration


Add OptiX to ci-osl container

Please?

Hi @lgritz, the big issue I see is that Optix needs a NVidia login to be able to be downloaded...
wget https://developer.nvidia.com/designworks/optix/downloads/7.1.0/linux64
--2020-08-29 16:38:01--  https://developer.nvidia.com/designworks/optix/downloads/7.1.0/linux64
Resolving developer.nvidia.com (developer.nvidia.com)... <IP_ADDRESS>
Connecting to developer.nvidia.com (developer.nvidia.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-08-29 16:38:02 ERROR 403: Forbidden.

So far all the ASWF docker images can be built by GitHub actions when releasing them, and we would need some secret token to download Optix in that context, but this would need to be cleared by NVidia first. Maybe that's something you could bring up at the next TAC?

@ee33 Can you hook us up with somebody who can advise on how to create a docker container with OptiX installed, for future CI of OSL (and probably other projects eventually)?

Hi @lgritz , I'd be happy to try and download the optix headers inside the one of the docker images if you still want this. Can you point me to the place where you've been doing it?

I've got it working and it's just a few short downloads. Maybe it's not worth putting in the Docker images because it doesn't really save any appreciable time (compared to a build of a big package, say) and it limits flexibility of being able to change which version I download (or have multiple tests with different versions).
But if you're curious, the download code is here: https://github.com/imageworks/OpenShadingLanguage/blob/master/src/build-scripts/gh-installdeps-centos.bash#L29

We can close this issue if you want; I've got things working just fine on my end.

Thanks Larry, closing for now, but we could consider having a script to download optix built-in the images as well.


docs: add license

Added per #6 in preparation for move to the webpack-contrib organization.

You need to merge :+1:


doc : how to build theme

Great work, thanks for sharing.
I've made a child theme.
Now I'd like to customize colors.
I changed in user/themes/mychildtheme/scss/design/_variables.scss
How can I rebuild the css ?
I run npm install, it's ok, then what ? Can you help me please ?

First run ´npm install´, After that you have to run ´npm dep-update´.
Finaly you create the new builds with ´npm build´.
Does it help you?

Thanks for feedback.
npm install is ok
(I installed gulp) then
gulp dep-update fails

gulp dep-update
[18:09:03] Requiring external module @babel/register
/home/htdocs/public/pro/kine/user/themes/xxx/gulpfile.babel.js:1
import gulp from 'gulp';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:1072:16)
at Module._compile (internal/modules/cjs/loader.js:1122:27)
at Module._compile (/home/htdocs/public/pro/kine/user/themes/xxx/node_modules/pirates/lib/index.js:99:24)
at Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Object.newLoader [as .js] (/home/htdocs/public/pro/kine/user/themes/xxx/node_modules/pirates/lib/index.js:104:7)
at Module.load (internal/modules/cjs/loader.js:1002:32)
at Function.Module._load (internal/modules/cjs/loader.js:901:14)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at execute (/usr/local/lib/node_modules/gulp-cli/lib/versioned/^4.0.0/index.js:36:18)

I tried to solve this, but it leads to other problems.
Maybe, it will be easy if I use the node version you used.
Which node version did you use ?

On my Windows i use npm 6.14.4 and on Mac 6.10.3.
I made adjustments in the package.json. You can download the latest version and copy it to the folder. After that you can run after npm install, npm run dep and npm run build. This worked for all of my tests that I did.
A new release will come soon.

That did not succeed :/ with both node versions with and without the the new package.json
I'll give the errors later..

» cd user/themes/akazie-wood
» gulp -v
CLI version: 2.2.0
Local version: 4.0.2
» rm package.json
» wget https://raw.githubusercontent.com/AkazieIT/grav-theme-akazie-wood/master/package.json --output-document=package.json
» rm -rf node_modules
» rm package-lock.json
» nvm install 6.14.4
v6.14.4 is already installed.
Now using node v6.14.4 (npm v3.10.10)
npm install

full output here : https://paste.ubuntu.com/p/7Qq6XcgRRY/
» npm run dep                                                                                seb@localhost

><EMAIL_ADDRESS>dep /home/htdocs/public/pro/kine/user/themes/akazie-wood
> gulp dep-update

[16:09:52] Requiring external module @babel/register
[16:09:54] Using gulpfile /home/htdocs/public/pro/kine/user/themes/akazie-wood/gulpfile.babel.js
[16:09:54] Starting 'dep-update'...
[16:09:54] Starting 'core-clean'...
[16:09:54] Finished 'core-clean' after 8.71 ms
[16:09:54] Starting 'dep-scss'...
[16:09:54] 'dep-scss' errored after 663 μs
[16:09:54] TypeError: Object.entries is not a function
    at /home/htdocs/public/pro/kine/user/themes/akazie-wood/gulpfile.babel.js:188:37
    at taskWrapper (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/undertaker/lib/set-task.js:13:15)
    at bound (domain.js:280:14)
    at runBound (domain.js:293:12)
    at asyncRunner (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/async-done/index.js:55:18)
    at _combinedTickCallback (internal/process/next_tick.js:73:7)
    at process._tickDomainCallback (internal/process/next_tick.js:128:9)
[16:09:54] 'dep-update' errored after 23 ms

npm ERR! Linux 5.5.11-200.fc31.x86_64
npm ERR! argv "/home/seb/.nvm/versions/node/v6.14.4/bin/node" "/home/seb/.nvm/versions/node/v6.14.4/bin/npm" "run" "dep"
npm ERR! node v6.14.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>dep: `gulp dep-update`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>dep script 'gulp dep-update'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the akazie-wood package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp dep-update
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs akazie-wood
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls akazie-wood
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/htdocs/public/pro/kine/user/themes/akazie-wood/npm-debug.log

npm-debug.log : https://paste.ubuntu.com/p/QNh3T5F27J/
> npm run build
><EMAIL_ADDRESS>build /home/htdocs/public/pro/kine/user/themes/akazie-wood
> gulp build

[16:16:49] Requiring external module @babel/register
[16:16:50] Using gulpfile /home/htdocs/public/pro/kine/user/themes/akazie-wood/gulpfile.babel.js
[16:16:50] Starting 'build'...
[16:16:50] Starting 'css'...
[16:16:50] Starting 'css-scss-main'...
Error in plugin "sass"
Message:
    scss/main.scss
Error: File to import not found or unreadable: core/bootstrap/functions.
        on line 2 of scss/main.scss
>> @import "core/bootstrap/functions";

   ^

[16:16:50] Finished 'css-scss-main' after 26 ms
[16:16:50] Starting 'css-min-main'...
[16:16:50] Finished 'css-min-main' after 396 ms
[16:16:50] Finished 'css' after 424 ms
[16:16:50] Starting 'js'...
[16:16:50] Starting 'js-core'...
[16:16:50] 'js-core' errored after 3.78 ms
[16:16:50] Error: File not found with singular glob: /home/htdocs/public/pro/kine/user/themes/akazie-wood/js/core/jquery.min.js (if this was purposeful, use `allowEmpty` option)
    at Glob.<anonymous> (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob-stream/readable.js:84:17)
    at Glob.g (events.js:292:16)
    at emitOne (events.js:96:13)
    at Glob.emit (events.js:188:7)
    at Glob._finish (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob/glob.js:197:8)
    at done (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob/glob.js:182:14)
    at Glob._processSimple2 (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob/glob.js:688:12)
    at /home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob/glob.js:676:10
    at Glob._stat2 (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob/glob.js:772:12)
    at lstatcb_ (/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/glob/glob.js:764:12)
[16:16:50] 'js' errored after 5.41 ms
[16:16:50] 'build' errored after 430 ms

npm ERR! Linux 5.5.11-200.fc31.x86_64
npm ERR! argv "/home/seb/.nvm/versions/node/v6.14.4/bin/node" "/home/seb/.nvm/versions/node/v6.14.4/bin/npm" "run" "build"
npm ERR! node v6.14.4
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR<EMAIL_ADDRESS>build: `gulp build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script 'gulp build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the akazie-wood package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     gulp build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs akazie-wood
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls akazie-wood
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!

> cat /home/htdocs/public/pro/kine/user/themes/akazie-wood/npm-debug.log
0 info it worked if it ends with ok
1 verbose cli [ '/home/seb/.nvm/versions/node/v6.14.4/bin/node',
1 verbose cli   '/home/seb/.nvm/versions/node/v6.14.4/bin/npm',
1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>6 silly lifecycle<EMAIL_ADDRESS>no script for prebuild, continuing
7 info lifecycle<EMAIL_ADDRESS><EMAIL_ADDRESS>8 verbose lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle true
9 verbose lifecycle<EMAIL_ADDRESS>PATH: /home/seb/.nvm/versions/node/v6.14.4/lib/node_modules/npm/bin/node-gyp-bin:/home/htdocs/public/pro/kine/user/themes/akazie-wood/node_modules/.bin:/home/seb/.nvm/versions/node/v6.14.4/bin:/home/seb/.symfony/bin:/home/donnees/docs/dev/android/platform-tools:/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/home/seb/.local/bin:/home/seb/bin:/home/seb/.composer/vendor/bin/
10 verbose lifecycle<EMAIL_ADDRESS>CWD: /home/htdocs/public/pro/kine/user/themes/akazie-wood
11 silly lifecycle<EMAIL_ADDRESS>Args: [ '-c', 'gulp build' ]
12 silly lifecycle<EMAIL_ADDRESS>Returned: code: 1  signal: null
13 info lifecycle<EMAIL_ADDRESS>Failed to exec build script
14 verbose stack Error<EMAIL_ADDRESS>build: `gulp build`
14 verbose stack Exit status 1
14 verbose stack     at EventEmitter.<anonymous> (/home/seb/.nvm/versions/node/v6.14.4/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at EventEmitter.emit (events.js:191:7)
14 verbose stack     at ChildProcess.<anonymous> (/home/seb/.nvm/versions/node/v6.14.4/lib/node_modules/npm/lib/utils/spawn.js:40:14)
14 verbose stack     at emitTwo (events.js:106:13)
14 verbose stack     at ChildProcess.emit (events.js:191:7)
14 verbose stack     at maybeClose (internal/child_process.js:920:16)
14 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:230:5)
15 verbose pkgid<EMAIL_ADDRESS>16 verbose cwd /home/htdocs/public/pro/kine/user/themes/akazie-wood
17 error Linux 5.5.11-200.fc31.x86_64
18 error argv "/home/seb/.nvm/versions/node/v6.14.4/bin/node" "/home/seb/.nvm/versions/node/v6.14.4/bin/npm" "run" "build"
19 error node v6.14.4
20 error npm  v3.10.10
21 error code ELIFECYCLE
22 error<EMAIL_ADDRESS>build: `gulp build`
22 error Exit status 1
23 error Failed at the<EMAIL_ADDRESS>build script 'gulp build'.
23 error Make sure you have the latest version of node.js and npm installed.
23 error If you do, this is most likely a problem with the akazie-wood package,
23 error not with npm itself.
23 error Tell the author that this fails on your system:
23 error     gulp build
23 error You can get information on how to open an issue for this project with:
23 error     npm bugs akazie-wood
23 error Or if that isn't available, you can get their info via:
23 error     npm owner ls akazie-wood
23 error There is likely additional logging output above.
24 verbose exit [ 1, true ]

Also fails with node 6.10.3
> nvm install 6.10.3
v6.10.3 is already installed.
Now using node v6.10.3 (npm v3.10.10)
> npm install

-> https://paste.ubuntu.com/p/5npq76tm3x/
» gulp dep-update

-> https://paste.ubuntu.com/p/ST4sT8Ts6q/
gulp build

-> https://paste.ubuntu.com/p/VYXTBcZ24F/

But for now, I just discovered that the theme can be customize using the file akazie-wood.yaml.
Maybe that will do the job..

And also using the user/themes/xxx/templates/partials/custom-css.html.twig
A lot can be customized.
So I have no need to recompile assets anymore.
Thanks for the support.


add abort function to abort uploading process

Proposed Changes
add abort function to abort uploading process

Has been merged in develop branch.


fix: changing operator breaks the filter

we only need one operator at a time. for example: when we change from "equals" to "contains", the filter object becomes {equals: "blah", contains:"blah"}. we only need one at a time

thanks for the merge


Crash upon usage of Electric Pump

When the Mekanism Electric Pump is both connected to a power source and a water source, either the client, or server breaks. I tested with two people, my friend put the pump down, and it kicked me from the server. Both he and the server were fine. I then rejoined, put the pump into place myself, and it kicked us both out and crashed the server. This is the server crash report if anyone can make any sense of it. I love this mod, and so far the only problems I have with it is this annoying random bug, so if I could get any sort of feedback it would be appreciated.
crash-2015-05-02_15.26.45-server.txt

You need to update your Forge to 1355+ so that you get the new fluid systems.


Feature/picklable

Description
Refactored saveable to be simplier and more generic
Type of Change

[ ] 📚 Examples / docs / tutorials / dependencies update
[ ] 🔧 Bug fix (non-breaking change which fixes an issue)
[x] 🥂 Improvement (non-breaking change which improves an existing feature)
[ ] 🚀 New feature (non-breaking change which adds functionality)
[x] 💥 Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🔐 Security fix

@kevinmessiaen can you also extract the common parts from slicing and transformation functions to reduce duplications?


The material is quite complex and lacks any diagrams to help explain it

This set of pages desperately needs some diagrams. Is there a description which is so, and/or that explains this material in a more understandable way?

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

ID: 3edde2b4-b806-3772-b0e1-125908c4b28b
Version Independent ID: 84677d18-20e0-cdc4-9cc4-a3a397b3fe58
Content: WDMAud Topology Parsing - Windows drivers
Content Source: windows-driver-docs-pr/audio/wdmaud-topology-parsing.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @DOMARS
Microsoft Alias: domars

@ericleigh - I agree that audio drivers are complex and a diagram could help here. Because of resource constraints it is not likely we will be able to do the work to improve this legacy content. The SYSVAD audio driver sample code can be the best path to learn about current day audio driver topology.

Thanks, Don.
Don’t you think it is sort of a cop-out to agree that the content isn’t understandable but then say “resources are constrained”, but then close the problem report?  Why not leave it open so it can remain in the backlog?
Perhaps someone from OSR or other driver org could do a PR with a diagram?   If I learn enough to take a crack at it, I will do a PR myself, but that would require a lot of time.  My resources are more limited than yours!
-thanks for the overall excellent work on documentation.
-e
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10

From: Don Marshall<EMAIL_ADDRESS>Sent: Monday, September 16, 2019 8:33:00 PM
To: MicrosoftDocs/windows-driver-docs<EMAIL_ADDRESS>Cc: Eric<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/windows-driver-docs] The material is quite complex and lacks any diagrams to help explain it (#1747)
@ericleigh - I agree that audio drivers are complex and a diagram could help here. Because of resource constraints it is not likely we will be able to do the work to improve this legacy content. The SYSVAD audio driver sample code can be the best path to learn about current day audio driver topology.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fwindows-driver-docs%2Fissues%2F1747%3Femail_source%3Dnotifications%26email_token%3DABX3S2V5HUJBMZWHYMVOE63QKAQTZA5CNFSM4IQM24H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD625DUY%23issuecomment-532009427&data=02|01||ab4f974a1f7748cb6b1008d73b06984e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637042771812728770&sdata=sK4DMJDW64ym%2BTchTr1dOsyc2edUJjgDCjy8D7zHgXI%3D&reserved=0, or mute the threadhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABX3S2XG5IJFMNAFG6JZZO3QKAQTZANCNFSM4IQM24HQ&data=02|01||ab4f974a1f7748cb6b1008d73b06984e|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637042771812738782&sdata=%2BscpLhNoW1w%2BmAdDIdNov157oE4nGjqyINasGl9b%2B0o%3D&reserved=0.


Prevent dangling command calls

If an os/exec.Command is passed non *os.File as an input/output, go
will create os.Pipes and wait for their closure in cmd.Wait().
If the code following this is responsible for closing io.Pipes or
other handlers then on process death from context cancellation the
Wait can hang.
There are two possible solutions:

use os.Pipe as the input/output as cmd.Wait does not wait for these.
create a goroutine waiting on the context cancellation that will close the inputs.

This PR changes the inputs to the CatFileBatch calls to use os.Pipes preventing
dangling cat-file calls.
iterate on #19454
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

there are other places that need similar changes but this is the most important of these

Then there is only one nio usage left, should it be refactored together? Then maybe the nio vendor package can be removed.
// LogNameStatusRepo opens git log --raw in the provided repo and returns a stdin pipe, a stdout reader and cancel function
func LogNameStatusRepo(ctx context.Context, repository, head, treepath string, paths ...string) (*bufio.Reader, func()) {
	// We often want to feed the commits in order into cat-file --batch, followed by their trees and sub trees as necessary.
	// so let's create a batch stdin and stdout
	stdoutReader, stdoutWriter := nio.Pipe(buffer.New(32 * 1024))

Then there is only one nio usage left, should it be refactored together? Then maybe the nio vendor package can be removed.

Yes this was a planned follow-up, however:
There were (sometimes quite significant) performance improvements when the nio.Pipe was used over the io.Pipe implementation - (albeit the io.Pipe was itself a wrapper around an os.Pipe.)
We're going to need to double check with some large files and large repositories to see whether a nio.Pipe wrapper around the os.Pipe is necessary. (The git or bsd ports repos are good test cases.)
There are a few options:

Just remove the nio.Pipe here - and in its backport - merge and see if there are apparent perf issues in real life usage. In a follow-up PR we could add back in the nio.Pipe if necessary. Meanwhile I continue working through the rest of the commands and remove the wrapping io.Pipes and nio.Pipes simplifying to os.Pipe
We attempt to get everything sorted in one PR.

Unfortunately, I don't know how Windows and BSD are going to respond to the loss of the buffering nio.Pipe. I suspect it will actually turn out to be an improvement but I'm not certain as it depends on the context switching of the kernel vs go's context switching.
There's another approach to solving the dangling file problem which makes fewer changes and you may prefer that to be merged and backported first.

The nio was introduced in https://github.com/go-gitea/gitea/pull/16059 , but I think it's not necessary.
Pipe is a very general mechanism provided by OS, in most cases it could be treated as a socket (indeed they have the similar performance). Since we never add a buffer to a socket when copying streams, I don't think it's necessary to add a buffer to a pipe, either.
I prefer to drop the nio package.

OK, I've made substantial changes and created a common git.Pipe command with an implementation of PipeWriter and PipeReader that is based on the os.Pipe files.
If a git.PipeWriter or git.PipeReader (as appropriate) is passed in to a git.Command RunContext then the File() will be passed to the underlying os/exec process transparently. I'm not sure if this will/could have effects on error propagation but I think it will be fine. (Although I will check.)
I've removed the nio.Pipe stuff as we may not need it and we could always just add it back in - however, we'll only know about it's need once 1.17 is released because I do not think we can really backport this.
Most of the cases switching to using a git.Pipe won't have been affected by the dangling file case - certainly the pipeline functions I think were safe. However, it's still likely to be a performance improvement switching to use these.
There are also a few cases where there was unnecessary usage of pipes and one case where I've dropped using a temporary file in preference to feeding the output down straight down the writer.
As an aside we need to come up with a succinct way of expressing when this kind of deadlock can occur and how to ensure it does not happen. Although we could simply change the Command RunContexts to only take git.PipeWriter and git.PipeReader as appropriate it might be better to express when exactly you need to have the additional:
go func() {
   <-ctx.Done()
   cancel()
   _ = stdin.Close()
   _ = stdout.Close()
}()

Perhaps actually Command should do this itself?

Maybe we can introduce a git.Pipes(n) ([]PipePair, err) to save a lot of code, and the caller don't need to Close when error occurs
pipes, err := Pipes(3)
if err != nil { ... }
rd1, wr1 := pipes[0].rd, pipes[0].wr
rd2, wr2 := pipes[1].rd, pipes[1].wr
...

as per https://github.com/go-gitea/gitea/pull/19454#pullrequestreview-950248088

Looks like the race detector doesn't like the PipePair.Close() function because it has to close both ends of the pipes in different go-routines to the ones that read them.
This is frustrating.

Use PipeReader.p.lock to protect?

We'd need to lock the reads as well.


Test fail if optional dependency matplotlib not present

I think matplotlib should be an optional dependency for ctapipe and python setup.py test should succeed if it's not present.
But currently there's a module-level import of matplotlib in ctapipe/visualization/mpl.py:6 and then pytest errors out trying to collect tests:
https://travis-ci.org/cta-observatory/ctapipe/jobs/89389169#L613
In Astropy / Gammapy this is solved by putting the imports of the optional packages like matplotlib into functions / methods instead of the start of the file, and then by marking tests to declare optional dependencies those tests are skipped if the dependency is not present (see https://gammapy.readthedocs.org/en/latest/api/gammapy.utils.testing.requires_dependency.html).
It should also be possible to configure the pytest test collection to avoid collecting tests from certain modules / packages if a dependency needed there isn't present.
I don't plan to fix this, but merge #33 as-is, so CI will still be broken in master for now.

That sounds like a reasonable solution. I will try to make those tests optional similar to how you did it in gammapy.

Hmm. I didn't quite succeed. From the pytest documentation, I see that i can use pytest.importorskip() in a test to skip all tests in the module if the import fails. I thought that would work, but since the tests are inside the visualization module, at some point there is a from visualization import * that happen implicitly when importing the visualization.tests module, which again imports matplotlib.
I'm looking for a solution.

Note that the error occurs during test collection, not test execution.
There should be a way to configure pytest test collection to ignore visualisation if matplotlib isn't present.
But I didn't have to figure that out myself yet.
In Gammapy I have module-level imports of an optional dependency as well, but for some reason the pytest collector doesn't complain about that, i.e. I think pytest doesn't try to find tests there:
https://github.com/gammapy/gammapy/blob/master/gammapy/scripts/catalog_browser/app.py#L2
Let me know if you figure out how this stuff works!


Test not-dismissing reviews for pure PR base-branch rebases

pr-push-rebase-check.yml was not executed because this PR was opened, not synchronized.

CI was executed, resulting in No approved reviews to dismiss, skipping checks, ax expected.

I could merge this now, but let me merge something on master first, to test CI.

Congrats!
Even though pressing the Compare button for the latest force push does not show anything (it does not compare git messages)

the change if commit message as properly detected by the CI script and review was invalidated:

You've earned yourself a PR approval :medal_sports:

Even after 19 days,

Patch length: before = 1733, after = 1733
Keeping the reviews because the latest push was only a rebase on main


"Generic type ' Example' requires 1 type argument(s)." ts(2314) not thrown in .d.ts file

Bug Report

🔎 Search Terms

generic type
ts 2314
.d.ts

🕗 Version & Regression Information

Versions I tried: I tried 3.3.3, 4.1.3 and 4.3.0-dev.20210216.

⏯ Playground Link

Repo link with relevant code
(Repo is small. TypeScript is the only dependency.)
💻 Code

export type Example = {
  _links: Links<>; // throws error in a .ts file, but not a .d.ts file
};

🙁 Actual behavior

No error thrown.
🙂 Expected behavior

Throw "Generic type ' Example' requires 1 type argument(s)." ts(2314).

"skipLibCheck": true,

Well, that'd be it.

Really, this is an unfortunate symptom of grammar validation being folded into the checker. I don't exactly recall why we do this. I would still say this is undesirable behavior.

Oh wow. Thanks. Should this issue stay open or should I close it?
I always thought the Lib part in skipLibCheck refers to TypeScripts internal libs (those configured with --lib and similar to --skipDefaultLibCheck) and the .d.ts files in my dependencies. But now after looking it up it's actually clearly documented:

Skip type checking of all declaration files (*.d.ts).

I believe we moved grammar checks into the checker phase back when parse errors prevented typechecking and program emit. A correct fix without perf cost is going to be tricky; I am somewhat inclined to Won't Fix since you should never get into this state in the first place (skipLibCheck hand-authored .d.ts is going to be problematic for a ton of other reasons beyond this one).

Would be fine for me.


German translations

I translated the two strings to German.

Neat -- thank you~

Merging this now, but there may also be programmatically generated text that will need translating as well. Most of that, however, can be translated on the user side when they use the library.

@K0bin refer to issue #5 again if you want to help translate the example app strings.

I'm going to do it but to be honest I don't see the point in translating the example app.

@K0bin it's not mandatory, so if you don't want to, that's fine.


Create API Umbrella user in all relevant collections

When creating a new API Umbrella user in Apinf, create corresponding Meteor user. Also, create user object in API Umbrella Web.
Definition of done

[ ] Write collection event function when inserting API Umbrella user into database.
[ ] Within collection event, post API Umbrella user to API Umbrella Web.
[ ] Store returned user object inside API Umbrella user object.
[ ] Create corresponding Meteor user.
[ ] Link API Umbrella user and Meteor user via id field.

Updated hours to 8.


Add a delete key method to config

I recently created a package for which I needed to override the config. For the installation I used the save() method of config, but for the uninstallation there is no delete() method to clean the file, why not add one ?
This may not be the best way to go, I'm waiting for your reviews !

I’d like @korvinszanto to take a look at this


some problems I met when I build the code by using download models

Hi author, thanks for your outstanding work. I meet some problems when I build my work.
I download ecco  and daam, I put them into backend but the code can not from daam import trace and can not  from ecco.output import NMF, however it can import ecco.
The other problem is "RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect."
I had tried " CUDA_LAUNCH_BLOCKING=1." and I am sure that I have only one GPU and there is not other proccess running in my GPU.
These two images show problems I had met.

Additionly, I use down load stable diffusion v1-4 , gpt2 and Promptist to run the code because I can not link huggingface. These images show the parts I changed to use those local model. Maybe the parts I changed lead to the problems that I met. All of the parts I changed are in main.py.

Hi @leon946 ,

I download ecco and daam, I put them into backend but the code can not from daam import trace and can not from ecco.output import NMF, however it can import ecco.

For these two modules, you will need to install it by pip install -e . within your environment. Otherwise you won't be able to import them as certain modules are not actually linked.

The other problem is "RuntimeError: CUDA error: invalid device ordinal
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect."

Does your machine have multiple GPUs? In our original implementation, by default, the prompter was run on another GPU (https://github.com/ma-labo/PromptCharm/blob/223fee4d48bc7cefe49432025c9ddd5770069b3c/backend/main.py#L302). So simply change it to device='coda:0' if have only one GPU.

It solves my problems. Thank you very much.


feat(clear-linux): Add working first-pass iteration of Clear Linux bu…

…ilds
Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Can you elaborate on the goal of this PR? This repository contains the EKS-optimized AMI, currently based on AL2; we can't take on ownership of an entirely new variant.

You could PR this to https://github.com/aws-samples/amazon-eks-custom-amis instead.


perf: Demo

Type: perf
Ionic Version: 2.x
Platform: android 5.1 webview
Prueba de todo esto

Please provide more information, it is not clear what the issue is. Thanks.

Closing this as there isn't enough information. Please create a new issue with more information.


Procurement doesn't refresh tabs correctly

[19-03-2016 13:45] Error refreshing tab: System.Net.WebException: The operation has timed out
at System.Net.HttpWebRequest.GetResponse()
at POEApi.Transport.HttpTransport.GetStash(Int32 index, String league, String accountName, Boolean refresh)
at POEApi.Transport.HttpTransport.GetStash(Int32 index, String league, String accountName)
at POEApi.Transport.CachedTransport.GetStash(Int32 index, String league, String accountName, Boolean refresh)
at POEApi.Model.POEModel.GetStash(Int32 index, String league, String accountName, Boolean forceRefresh)
at POEApi.Model.Stash.RefreshTab(POEModel currentModel, String currentLeague, Int32 tabId, String accountName)

Procurement 1.9.9 has been released, please retest and reopen your issue if your error persists:
https://github.com/Stickymaddness/Procurement/releases/tag/1.9.9


Renders tooltip but nothing shown

I have the issue where I am trying to place a tooltip on an svg element like so:
    return (
      <g transform={translate} key={props.x}>
        <rect
          data-tip data-for='test'
          className={styles.verticalSingleBarAxisRect}
          width={barWidth}
          height={props.width}
          transform={`translate(${props.margin.left + 10},1)`}
        >
        </rect>
        <ReactTooltip id='test' type='error'>
          Test tooltip
        </ReactTooltip>
        </g>);

And the ReactTooltip component is rendering and when I inspect the HTML elements in chrome, the wrapper element and  element are there but nothing appears. When I implement one of the examples from http://wwayne.com/react-tooltip/ on the same page, just outside of an svg element they render just fine. Any ideas on how to get the tooltip to appear? Thanks!

Ok one more note that might help:  When I create a single svg element and say draw a rectangle, the tooltip will display, what I'm doing is rendering 4 rectangles to make a stacked bar graph and would like different information about the bar graph to displayed when the user hovers over different stacks in the bar graph. I've noticed that when the rectangles are rendered, the wrapper component renders and when I move the mouse over the individual rectangles the wrapper 'style' property changes but does not continually update when I hover around within the rectangle, as opposed to when I render a single svg element with a rectangle in it, the style gets updated continually as I hover around within the rectangle.

Ok so I see you can't place the ReactTooltip component within  elements within an SVG, but rather the  has to be placed outside of the SVG and I had to add
   componentDidUpdate(){
    ReactTooltip.rebuild()
  }

to the component which renders the svg.  So then my question would be:  Is there anyway to add the tooltips within the SVG? As it is now, it seems I would have to do callbacks back to the parent component which is rendering the svg element in order to let it know which tooltip to render based on the id that I give it in the child component where the rect element is being rendered.

May be you can do something like
    return (

        <ReactTooltip id='test' type='error'>
          Test tooltip
        </ReactTooltip>
        <g transform={translate} key={props.x}>
          <rect
            data-tip data-for='test'
            className={styles.verticalSingleBarAxisRect}
            width={barWidth}
            height={props.width}
            transform={`translate(${props.margin.left + 10},1)`}
          >
          </rect>
        </g>

);

Is it appropriate for you?
If I understand you clear, you have at least two components: Parent and SVG, Parent renders  and SVG actually renders svg, right? Then, why don't you place ReactTooltip.rebuild() in SVG itself?
In case there are some misunderstanding: ReactTooltip.rebuild() is a static method which re-renders every <ReactTooltip /> component.

Thanks much for the quick response!
Yes so if I do it similar to what you suggest..
      <g>
        <ReactTooltip id='test' type='error'>
           Test tooltip
        </ReactTooltip>
        <rect
          data-tip data-for='test'
          className={styles.verticalSingleBarAxisRect}
          width={barWidth}
          height={props.width}
          transform={`translate(${props.margin.left + 10},1)`}
        >
        </rect>
      </g>

it renders everything and now the style property of the  updates as I scroll around but it still does not display the tooltip?
If it helps to clarify, the component structure is like...

  <svg>
    <g>
      <g>
        <g>
         <ReactTooltip>
            some text
         </ReactTooltip>
         <rect/>
        </g>
      </g>
    </g>
  </svg>

Thanks again, sorry if this is something simple i'm not understanding about how react-tooltip works!

Thank you for your feedback, I'm too interested to react-tooltip would be able to work with svg.
Thank you for clarification.
May be tooltip is actually displayed, but overlapped by svg somehow? Please, check position and layout of the tooltip's
 element with the inspector.

So interestingly, when I inspect the  component with React tools in chrome, it shows the component in the upper left of the screen with '0px x 0px' as the dimensions, as opposed to when I put something from the react-tooltips examples in my app, but not within the svg element
it shows the  component with a  sub component which shows directly above the associated element when I inspect it with React tools in chrome.

I think it's a good approach to place <ReactTooltip /> outside of <svg> and call ReactTooltip.rebuild from the svg renderer (yes, not from the parent, but from svg renderer, or subrenderer, whatever you think is suitable).
If this is your case and it's still doesn't work, please, try to build an example reproduces this issue.
I'm sorry, I'm too busy right now to do it by myself.

No worries! i'll play around with it for another hour or so and if can't resolve then i'll just use react-faux-dom to make this one chart only in d3, was just trying to avoid it by using pure react but also don't have  a lot of time to try to figure it out. Thanks for your help!

I happened to face an issue like this.
In my case, I was using Child Routes, so I was unable to use the  component from the parent.
I created another  inside my child route and it worked for me. (I was setting tooltip using data-tip attribute)
Just sharing it here, in case it helps someone.

I happened to face an issue like this.
In my case, I was using Child Routes, so I was unable to use the component from the parent.
I created another inside my child route and it worked for me. (I was setting tooltip using data-tip attribute)
Just sharing it here, in case it helps someone.

thank you, it worked for me


Complete Search Queue

Search should queue changes for indexing. Currently, this is wired directly to the indexer.

queue up changes or new tickets

queue  to the db for on-prem
azure storage queue for cloud

background process dequeues and updates the index

timer loop for on-prem
webjob for azure

Design issues:

Should the site itself trigger rebuilds periodically, on-startup, etc. or should this be handled by the timer/webjob also?
What level of admin control should be given regarding routine indexing behavior?
Local debug and testing?

Instead of queuing to the DB for on-prem deployments, we'll just use an in-memory static queue instead. Indexing in on-prem cases is incredibly fast, and there is little to gain by writing pending reindex requests to hard storage... that just adds load on the DB and grows the log without any significant pay-off. Instead, the on-prem version will queue in memory, and we'll just make sure that in-process queue items are dequeued and processed immediately as items arrive.

Nice to see you working on ticket desk again. :)
On Wed, Mar 4, 2015 at 3:43 AM, Stephen M. Redd<EMAIL_ADDRESS>wrote:

Instead of queuing to the DB for on-prem deployments, we'll just use an
in-memory static queue instead. Indexing in on-prem cases is incredibly
fast, and there is little to gain by writing pending reindex requests to
hard storage... that just adds load on the DB and grows the log without any
significant pay-off. Instead, the on-prem version will queue in memory, and
we'll just make sure that in-process queue items are dequeued and processed
immediately as items arrive.
—
Reply to this email directly or view it on GitHub
https://github.com/StephenRedd/TicketDesk/issues/2#issuecomment-77117318
.

--
Kelly Gilliam
864.621.3925

Yeah, I'm glad to have time for it again. The new job is very much an 8 to 5 deal... no one takes work home. In fact, they don't even setup to do full development locally since they rely on in-house shared DB servers. So, I have my evenings back to play with my own code... unless I find a part-time after-hours paid gig anyway.
I miss the team at EP though.
--Stephen M. Redd
From<EMAIL_ADDRESS>Sent: ?Wednesday?, ?March? ?4?, ?2015 ?10?:?55? ?AM
To<EMAIL_ADDRESS>Cc: Stephen<EMAIL_ADDRESS>Nice to see you working on ticket desk again. :)
On Wed, Mar 4, 2015 at 3:43 AM, Stephen M. Redd<EMAIL_ADDRESS>wrote:

Instead of queuing to the DB for on-prem deployments, we'll just use an
in-memory static queue instead. Indexing in on-prem cases is incredibly
fast, and there is little to gain by writing pending reindex requests to
hard storage... that just adds load on the DB and grows the log without any
significant pay-off. Instead, the on-prem version will queue in memory, and
we'll just make sure that in-process queue items are dequeued and processed
immediately as items arrive.

Reply to this email directly or view it on GitHub
https://github.com/StephenRedd/TicketDesk/issues/2#issuecomment-77117318
.

--
Kelly Gilliam
864.621.3925

Reply to this email directly or view it on GitHubhttps://github.com/StephenRedd/TicketDesk/issues/2#issuecomment-77184006.

Search queues and azure webjob are not in place, and mostly working as intended. There will be later refactoring around first-run-setup and publishing/deployment.


Fix pfp change notification

Beforehand, it would try to set the picture as the baileys' user because of the "from" attribute, but this has been corrected to either use the jid attribute or the hash for non-contacts (not saved)
Some md5 hash comparison occurs and we can find the contact to update
also, prior to this update, the field would've just stayed at "changed" and cached that too, which would've caused a bunch of crashes I guess at "store.fetchImageUrl"
Because of this though, a socket is recommended to be passed into the config

I update my project based on the PR.
In the case of Groups, I get this error when calling profilePictureUrl function:
{"data":{"stack":"Error: \n    at promiseTimeout (C:\inetpub\vhosts\mersaliy.com\WAAPI5001\lib\Utils\generics.js:154:19)\n    at waitForMessage (C:\inetpub\vhosts\mersaliy.com\WAAPI5001\lib\Socket\socket.js:112:61)\n    at query (C:\inetpub\vhosts\mersaliy.com\WAAPI5001\lib\Socket\socket.js:135:22)\n    at Object.profilePictureUrl (C:\inetpub\vhosts\mersaliy.com\WAAPI5001\lib\Socket\chats.js:392:30)\n    at C:\inetpub\vhosts\mersaliy.com\MersaliyWAAPISource\wa\waserver.ts:611:64"},"isBoom":true,"isServer":false,"output":{"statusCode":408,"payload":{"statusCode":408,"error":"Request Time-out","message":"Timed Out"},"headers":{}}}

The update has an issue in the case of fetching the group profile picture.
I'm not sure where is the problem but I get the error mentioned in my previous comment after applying the PR in my code.

The update has an issue in the case of fetching the group profile picture. I'm not sure where is the problem but I get the error mentioned in my previous comment after applying the PR in my code.

This is not related to that at all. This only updates the contact in a memory store to accurately reflect profile picture info. Groups or not is not the problem


Improve sentence parsing

I've always parsed this sentence as "attrs comes with serious, business aliases". I just realized you probably meant srs bzns aliases and figured I'd clarify.
Pull Request Check List
This is just a reminder about the most common mistakes.  Please make sure that you tick all appropriate boxes.  But please read our contribution guide at least once, it will save you unnecessary review cycles!
If an item doesn't apply to your pull request, check it anyway to make it apparent that there's nothing to do.

[x] Added tests for changed code.
[x] New features have been added to our Hypothesis testing strategy.
[x] Changes or additions to public APIs are reflected in our type stubs (files ending in .pyi).

[x] ...and used in the stub test file tests/typing_example.py.

[x] Updated documentation for changed code.

[x] New functions/classes have to be added to docs/api.rst by hand.
[x] Changes to the signature of @attr.s() have to be added by hand too.
[x] Changed/added classes/methods/functions have appropriate versionadded, versionchanged, or deprecated directives.

[x] Documentation in .rst files is written using semantic newlines.
[x] Changes (and possible deprecations) have news fragments in changelog.d.

If you have any questions to any of the points above, just submit and ask!  This checklist is here to help you, not to deter you from contributing!

Well, this requires research.
Grammar Monster seems to agree, says that a compound adjective (as opposed to two adjectives that each apply) should be hyphenated for clarity… and with a name like Grammar Monster, it's hard to argue.
So the question is whether @hynek meant that the aliases are both serious aliases and business aliases or whether he meant that they are "serious business" aliases.  I've always assumed the latter, in which case this PR is correct.
I'll leave it to @hynek to confirm.  :-)

Thank you for the extensive research, this echoes my thinking perfectly. We cannot make this change lightheartedly, so I salute your efforts to that end.

Obviously, I meant srs bzns duh. ;)

Thanks!


Split and Merge algorithm

Good afternoon,
we implemented the Split and Merge algorithm in bayesmix.
We ran tests on galaxy and faithful datasets with the same settings that were used in the master's thesis on bayesmix and with the following parameters for the algorithm:

5 iterations of restricted Gibbs Sampling
1 iteration of MH sampling
1 iteration of full Gibbs Sampling, i.e. Neal3

We obtained interesting results:

on galaxy we obtained an ESS on the number of clusters of 622.256. The run time was 1.648s, while the run time for Neal2, Neal3 and Neal8 was, respectively, 0.577s, 0.828s, and 0.819s.
on faithful we obtained an ESS on the number of clusters of 659.87. The run time was 20.568s, while the run time for Neal2, Neal3 and Neal8 was, respectively, 2.322s, 6.164s, and 8.093s.

We include the density and the cluster estimates we obtained with Split and Merge.
galaxy_cluster
galaxy_density
faithful_cluster
faithful_density

I will have a look as soon as possible. In the meantime, what is the ESS per second for all the models? Can you compare that?

I will have a look as soon as possible. In the meantime, what is the ESS per second for all the models? Can you compare that? I would also like to see the ESS/s when varying the parameters of the split-merge algorithm (number of restricted scans, number of metropolis-hastings moves).

As requested, we computed the ESS/s of our algorithm (using the code in commit fec8db5) with different parameters and we compared it with the other marginal algorithms in the library.
Here are the results:
galaxy_ess_s
faithful_ess_s
We saw that, in general, the value of the ESS for Split and Merge is higher than the value for the other algorithms, but the run time is also higher. This makes our algorithm worth using (from the point of view of ESS/s) only with certain combinations of parameters.
We analyzed Neal2, which has an ESS/s much higher that all the other algorithms: we found out that this extreme value is due to a very low run time, which compensates the ESS, lower than the one of all the other algorithms.

As requested, we computed the ESS/s of our algorithm (using the code in commit fec8db5) with different parameters and we compared it with the other marginal algorithms in the library. Here are the results: galaxy_ess_s faithful_ess_s
We saw that, in general, the value of the ESS for Split and Merge is higher than the value for the other algorithms, but the run time is also higher. This makes our algorithm worth using (from the point of view of ESS/s) only with certain combinations of parameters. We analyzed Neal2, which has an ESS/s much higher that all the other algorithms: we found out that this extreme value is due to a very low run time, which compensates the ESS, lower than the one of all the other algorithms.

Can you try with a few other simulated datasets as the dimension increase? For instance you simulate data from a 2 component mixture, the first has mean equal to -3/sqrt(d) and the second one to 3/sqrt(d) (these are d-dimensional vectors with all entries equal) and identity covariance. You could compare the various algorithms for d=2,5,10,25. Set the number of initial clusters to 1. In my experience neal3 should be stuck to always finding only 1 cluster, while split-merge might find two. This could give a major advantage to split-merge

Hello, I will review this PR soon. In the meantime, could you please mark conversations in this thread as resolved if the proposed changes have already been implemented? Thank you!

With the build test on commit 1b3d1b7 we noted that our fork was not up-to-date with the changes in the signatures of get_mass_new_cluster and get_mass_existing_cluster. Therefore, we fetched upstream our fork and we modified the calls to these functions. Now it should work correctly.

Way to go! Guys, before merging, I would like to ask you one last thing: create a python notebook in python/notebooks that you call something like "split_merge_benchmarking.ipynb" where you put all the experiments you have and the comparison with Neal2/3/8.
You can either use the command line via an executable file to run all the experiments or use the bayesmixpy interface (it's just a wrapper around the command line, nothing fancy about it) and report the plots etc...
Let me know when you have something ready :)

We just added the notebook, as you suggested. It contains the tests that we ran to obtain the numerical values and the graphs for the final presentation and the report.
It is composed of two sections: in the first one we test the algorithm on galaxy and faithful, in the second one we test the algorithm with high dimensional synthetic datasets. As you suggested, we tried different combinations of parameters to check if there were some advantages in using Split and Merge. We found a combination (the one that is written in the notebook) in which Split and Merge clearly outclasses Neal3: with dimensions between 6 and 10, Split and Merge recognizes correctly the two clusters, while Neal3 in some cases is not able to find two clusters and in other cases requires thousands of iterations to find them.

Impressive job guys! I'm really glad to merge this PR to master!

We need more developers like these ones!!
https://www.youtube.com/watch?v=EMldOiiG1Ko

Thank you for the patience and all the suggestions!


ESP32 dual core usage

Is there anything in particular I should do to ensure that both cores of the ESP32 are utilised when using TaskScheduler, or is the handled by the library internally?
Or does the library only support single core?

TS is a cooperative multi-tasking library and therefore runs in a single thread, single core.

ESP32 runs on FreeRTOS adopted to multi-core architecture. Details here:
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-guides/freertos-smp.html?highlight=freertos
I have been quite successful in combining the benefits of both frameworks. Example is here:
https://github.com/arkhipenko/dnd


Unable to report error from outside VS 2019

Hey
I got a problem.
can't report an critical error with VS 2019 since I can't launch it, can't reinstall it, can't nothing but manually wipe it from disk file by file.
How do I report an error when it wont start at all. no startup logo, nothing..
The only thing that happens since it launched last was updating Windows

@kam1986 -- Kasper, thank you for your feedback.  Please try the suggestions in the following article:

https://docs.microsoft.com/en-us/visualstudio/install/install-visual-studio?view=vs-2019#get-support

Let us know if you are successful.


Enhanced AH and Bazaar Menu

LividDogg
Nice looking sb menu, bazar and other interfaces where instead of blocks you have to click on its buttons

Separating Bazaar menu and AH menu issues

#89 Added in v0.0.7


chore(dep): Pin starknet-rs dependencies

Pins starknet-rs dependencies
Description
Pins starknet-rs dependencies.
Type of change

[x] Bug fix

@diegokingston @MauroToscano we'll need to merge this with IAI not running. The cause is main is broken due to unpinned deps in the benchmarks (this PR fixes it). The first step to IAI benchmarks is running for main, which fails for the aforementioned issue. The CI / Compile workflow checks that the current version of benchmarks build, so once in main other PRs should start passing the IAI step.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 72.01%. Comparing base (712d894) to head (bb278c5).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #879      +/-   ##
==========================================
- Coverage   72.03%   72.01%   -0.03%
==========================================
  Files         149      149
  Lines       33407    33407
==========================================
- Hits        24066    24057       -9
- Misses       9341     9350       +9

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Reduce dependencies for library consumers

Hello!
Cargo has the built-in feature to put examples in a dedicated folder. These executables have access to the additional [dev-dependencies], which can therefore be removed from the lib's dependencies. In particular, moving tokio with the "full" feature enabled to [dev-dependencies] reduces the weight of the crate for consumers by quite a lot.
I haven't changed the version of any dependency.

Reverted in https://github.com/hyperliquid-dex/hyperliquid-rust-sdk/pull/73 as it broke the build (https://github.com/hyperliquid-dex/hyperliquid-rust-sdk/actions/runs/12447623886/job/34751307349). Feel free to re-open once fixed


Don't need freeze

Site not rendering, possible blame is on execution option "freeze: true" in _quarto.

Can you expand here. The site renders through GitHub Actions. Do you mean it doesn't render on your computer? Freeze won't affect that. I'll have to close this PR, because deleting the freeze does nothing except slow down the build.

This is where the site is built: https://github.com/steno-aarhus/coding-cafe/actions all the green checks indicate it is fine.

Yes, but if we look at the site built (https://coding-cafe-sdca-au.netlify.app/) not all recent edits are visible (e.g. stuff about reregistration at AU). Here I should add that this may be a caching issue but I have cleared the cache and tried different browsers. My guess is that this is because of the execution option "freeze: true".
From https://quarto.org/docs/projects/code-execution.html#freeze :
execute:
  freeze: true  # never re-render during project render

And further:
"Note that you’ll still want to take care to fully re-render your project when things outside of source code change (e.g. input data). You can remove previously frozen output by deleting the _freeze folder at the root of your project."
Thus, I propose to change the execution option and to delete the _freeze directory to let the site re-render properly. I tested this locally and the problem persisted. Applying the proposed patch the site was built including recent edits.

Mmm, a couple of things.

Looking at the code, we don't have that much here that freeze is even necessary, so I will go ahead and delete it. BUT! This won't solve the problem you are talking about. The caching only applies to R code, and there isn't much R code in this site, and none related to registration.
I'm not sure what you are referring to with "reregistration". Could you tell me which file you are talking about? I think I know what you are talking about, is it the advertisement material/coding_cafe_pamphlet.qmd file? Because the only "register" word I find is in that file related to my R courses as well as in the index.qmd, which only mentions the word but that's it. I'd would like to understand what is the issue, could you give much more detail into which text isn't showing up?

I agree, freezing is probably unnecessary here.

If you look in index.qmd the following paragraph is found:
"During the sessions there will be free cake and coffee/tea - or
whatever is appropriate for the time of the day. For the sessions
at the Department of Public Health, Aarhus University, please write
an email to<EMAIL_ADDRESS>or
<EMAIL_ADDRESS>1 week before to ensure
there is cake for you. You are always free to join whether you have
registered or not."
However, this is not found on the website
https://coding-cafe-sdca-au.netlify.app/.

The paragraph was added in a commit by Daniel (where he called it
reregistration).
The reason, as I see it, is freezing. Note that this is (in my
understanding) distinct from caching: The latter refers to
computations, while the former refers to the rendering process (see
the reference to Quarto doc above). When something gets pushed to
main, the Github action renders, but because of the freeze the new
paragraph is not added to the site.
I therefore propose to delete the _freeze directory (and now that you
have removed the freeze: true execution option, no new directory
should be formed).

Yeaaa, I see that now, thanks! Yes, not sure why it was set to true. We don't even need freeze anyway :stuck_out_tongue_closed_eyes: so it's gone now!

Thanks @simonbmk for bringing this up and to both of you fixing it. I was on leave last week so didnt have the time to check this before now. The sites works smoothly again. Big thanks.


Fix PixelEvents, EventBus and StandardEvents types

Background
On all standard events, data is an object with some specific data. 'page_viewed' of type PixelEventsPageViewed is the only one that doesn't include any explicit additional data. However, the implementation still provides an empty object.
Solution
First, I added PixelEventsPageViewedData as an empty object to page_viewed event type. Then, I figured that some other types were slightly off, so I moved custom_event out of PixelEvents and now CustomEvent replaces PixelEventsCustomEvent.
I then updated StandardEvents so that the "all events" keys' possible values were properly typed. Which led me to also update the EventBus interface since it's not possible to publish to "all events", it's only possible to subscribe to those.
Checklist

[x] I have :tophat:'d these changes
[ ] I have updated relevant documentation

Release PR:

https://github.com/Shopify/ui-extensions/pull/1252


[Dropzone] Cannot build, style.css missing

Commit 807e0ea4cb4c1ead7c807826e5f84038498dfdaa removed the src directory containing style.css from the released sources but the package.json still refers to that file to include it in default builds:
https://github.com/symfony/ux/blob/57deb647010ba7f6de954ae74b6f35de4b82827c/src/Dropzone/assets/package.json#L15-L17
Did you intend to remove that CSS file completely? Or should it be copied to the dist folder instead?

Thanks for the report - fixed in #661 :)


Assimp loading embedded textures.

Environment

LWJGL version: 3.2.3
LWJGL build #: ?
Java version: 11
Platform: Windows
Module: assimp

Description
Some 3D model formats (namely gltf's binary format: glb) have embedded textures and Assimp supports these textures.
As described in the Textures section in their documentation, to load an embedded texture you call aiScene::GetEmbeddedTexture and it returns an aiTexture. This struct contains the width, height, filename of the texture, and a pointer to the data.
In LWJGL that method is missing (as are the rest of methods in C++ Assimp's aiScene) but that's not that big of a problem given that this method is an easy implementation.
The real problem comes with reading the embedded texture:
The aiTexture::pcData pointer can be two things depending on the value of aiTexture::height. It can be a list of aiTexels if the height is >0, or it can be a buffer of length aiTexture::width bytes that contains file-like data (like a png, or jpeg).
In LWJGL only the first of these options is possible (as far as I can tell). AITexture.pcData() returns an AITexel.Buffer, and in fact you need to give the pcData method a capacity (it is also not specified if that capacity is the number of bytes or the number of AITexels).
So in the case of AITexture.width() being 0, the pointer cannot be requested as a ByteBuffer to be given to stbi_load_from_memory(), thus the embedded texture cannot be loaded.
We need a way of getting that buffer as a portable ByteBuffer of length aiTexture::width so we can use it in STBImage.

I found a very sketchy workaround:
val address = aiTexture.pcData(0).address0()
val buffer = MemoryUtil.memByteBuffer(address, aiTexture.mWidth())
// Give buffer to stbi_load_from_memory

It works, but i don't know if that might cause issues with memory management.

Thanks @mcmacker4!