Consolidate client-side JS jus' a lil' bit better

The new sorting functions in util/wiki-data.js require access to various Thing classes, which aren't defined on the client (they're outside the util folder). Probably all those utilities belong in data anyway... which doesn't reference anything node-exclusive, so that can be accessible from the frontend too? Maaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaybe?
Anyway this totally breaks client-side JS right now, so let's get that fixed yes.

This isn't fixed per se, but with 4136d9d53191be9e5bba72f70364fe0155c7593d I worked around referencing the Thing subclasses, which makes everything in util technically client-functional again.
I'm going to leave this open to investigate shared data objects/formats again (probably much) later, though! [or rework this issue into a more specialized/brainstormed one lol]

Big note that this isn't exactly addressed by recent/upcoming changes, but client-side code is definitely benefitted by it in general.
This issue is more about delineating the bounds between files accessible to the browser and those only applicable for Node. They're currently mixed in util (all of which are technically exposed in the site output...), meaning there's a risk of accidentally mixing up which files are definitely node-only versus which need to remain usable by the client.
We have recently made changes that could make related refactoring go a lot smoother - utility files are almost all (if not entirely) imported with convenient #-prefixed directives in the Node code, meaning you just do import {empty} from '#sugar' instead of import {empty} from '../../../util/sugar.js' or such. Moving around files shouldn't be too big of a deal, it'll just take some thinking to get the repo source structure right.

I also really want to rethink sugar.js (and to a degree wiki-data.js) - a ton of exports are defined here and they might be better off in more specialized files. Stuff like import {sortChronologically} from '#sort', import {showAggregate, withAggregate} from '#aggregate', etc - just moving the higher-(internal & external!-)complexity functions into their own dedicated files.

Okay OKAY this isn't actually done yet. It's MOSTLY done, as in #sugar and #wiki-data have had their exports all cleaned up. But we haven't carefully reassessed which files need to (or should) be common between client and build code, and which ones really belong isolated out of the client-importable area.


Type substitution: When substituting SILFunctionTypes we substitute unbound Objective-C generic for bound ones (take 2)

IRGen does so. So don't assert on the case when there is a nested
Objective-C type.
(follow-up to #32027 rdar://63509292 which fixed the non-nested case)
rdar://66302139

@swift-ci Please test

Build failed
Swift Test OS X Platform
Git Sha - caab28add20a63153582fc468df4482ef9bb8622

@swift-ci Please test os x platform


Container provided for tomcat/jmx does not start

Please see attached trace for trying to stand up the container in a local environment.
The same behavior exists when the sample app is deployed to EKS via ECR.
Tomcat starts fine when instrumentation agent is not set. When set it fails with the below error
Could not load Logmanager "org.apache.juli.ClassLoaderLogManager"
java.lang.ClassNotFoundException: org.apache.juli.ClassLoaderLogManager
....
sample-appa-jmx-build-and-run-test.txt

Hi,
Can you try to build the image on a Linux machine instead of Windows? I tried locally and it works on Linux. Since you are going to deploy to ECR, can you build/push the image from a Linux machine?

A colleague of mine did the build on a Mac and it worked fine on local and in the EKS via ECR. So I guess the issue may be with the Windows environment


Fix function name in quantum_gates_and_linear_algebra

Replace norm with fidelity
Add description of fidelity

i would rather not call this fidelity. As fidelity we should save for mixed states.

I see. So, the fidelity() should take two mixed states (matrices) as inputs. The returned values will be the same if the input matrices are of rank one (or pure states).

I just found an appropriate function to calculate the fidelity.
from qiskit.tools.qi.qi import state_fidelity
This state_fidelity is compatible with the fidelity for pure states.
This state_fidelity(desired_vector,qc_state) runs well:smile:
So I think using state_fidelity is better if this is a standard tool.

DRY. so i use the state_fidelity function which has already been defined.

By the way, I suggest to have a separate notebook to explain the concept of fidelity in more details.

I agree. But this is a future task.

Thanks!


StandardDescriptorSetAllocator handles layouts with high VariableDescriptorCount badly

Template

Version of vulkano: current master (9b6e3075699dfd85d2e4c6eb65b726c417f1f8ed)
OS: Ubuntu 23.10, KDE on Wayland
GPU:

RADV
AMDVLK

Issue
I was messing about with VariableDescriptorCount, and noticed that the maximum amount of descriptors one can have in a set has to be declared when the PipelineLayout is created. As I want as many as possible, I've just passed in device.physical_device().properties().max_descriptor_set_sampled_images, which on RADV is 8388606 = 0x7ffffe and on AMDVLK is<PHONE_NUMBER> = 0xffffffff. If you then allocate a dynamically-sized descriptor set of any amount of elements, the StandardDescriptorSetAllocator will always pre-allocate layout.variable_descriptor_count() (just count below) * StandardDescriptorSetAllocatorCreateInfo::set_count (default 32) descriptors, even if you only asked for like 2 sampled_image descriptors.
https://github.com/vulkano-rs/vulkano/blob/9b6e3075699dfd85d2e4c6eb65b726c417f1f8ed/vulkano/src/descriptor_set/allocator.rs#L429

On AMDVLK this multiplication overflows the u32.
On RADV, it will only allocate 0x7ffffe * 32 = 268435392 descriptors, to which the driver returns an out of device memory error.

You can test it by modifying this line in the runtime-array example from wanting at most 2 descriptors to device.physical_device().properties().max_descriptor_set_sampled_images:
https://github.com/vulkano-rs/vulkano/blob/9b6e3075699dfd85d2e4c6eb65b726c417f1f8ed/examples/runtime-array/main.rs#L420

The number of preallocated sets is configurable for this reason: you're supposed to set it to 1 for bindless

Even if you were to do that, it'll still allocate<PHONE_NUMBER> descriptor sets on AMDVLK, likely still resulting in an out-of-device-memory.

I guess we could add another option that limits the number of descriptors allocated, which would allow you to avoid recreating the layout?

I think that's a quite reasonable solution to only allow it to pool a configurable amount of descriptors (like <=1024) and anything above that receiving a dedicated pool, akin to memory allocation.

For the record, StandardDescriptorSetAllocator is ill-suited for bindless

I pretty much expected having to write my own allocator down the line anyways, so I could see just leaving it as is as a viable solution for the moment, and I write my own allocator rather sooner than later :D


Upgrade libraries and blueprint

Codecov Report

Merging #20 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master      #20   +/-   ##
=========================================
  Coverage     81.48%   81.48%
  Complexity       31       31
=========================================
  Files             5        5
  Lines           108      108
  Branches          6        6
=========================================
  Hits             88       88
  Misses           15       15
  Partials          5        5

Impacted Files
Coverage Δ
Complexity Δ

...emo/repository/DemoPresentationRepositoryImpl.java
73.33% <100%> (ø)
5 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Questions to add to documentation

I have a few questions regarding the environment variables that I think would be good to add to the documentation as well. Specifically, what do I put for the following variables?
DESTINATION=
BROADCASTARR_REMOTE_URL=
Also, what would I put in GROUPS and CATEGORIES_EMOJIS for American Football? I tried using American Football in both but the space in between broke things.
Thanks.

Hi, yes there's a lack of information concerning the M3U8 destination folder, I'll do this.
I'm not sure the categories can contain a space, I'll check this out too

Replying to my own questions. I assumed that remote url was whatever I assigned to my reverse proxy but I couldn't get it to work. I think it's because I have my services distributed so I had to open up the server port by adding it to the docker compose file for the server and then resetting the ports to an empty list for the worker.

Hi, yes there's a lack of information concerning the M3U8 destination folder, I'll do this.
I'm not sure the categories can contain a space, I'll check this out too

For my purposes it's fine if I can't put American Football in. I only watch a half a dozen games a year but others may feel different.

Replying to my own questions. I assumed that remote url was whatever I assigned to my reverse proxy but I couldn't get it to work. I think it's because I have my services distributed so I had to open up the server port by adding it to the docker compose file for the server and then resetting the ports to an empty list for the worker.

I also did this and did an override stack because it was throwing a worker error bc of the extends.

Oh right I didn't think about it that way as I'm almost never exposing the port.
The extends was interesting to avoid having a big compose file, but I might give up on this, it's not the first time it is causing problems

Here's all I added
`server:
image: docker.io/billos/broadcastarr:1.2.0
command: "server"
volumes:
- ${M3U8_FOLDER}:${M3U8_FOLDER}:rw
env_file:
- .env
ports:
- 8989:8989
environment:
NODE_ENV: development
LOG_LEVEL: 3
MONGO_URL: mongodb://mongo:27017
MONGO_AGENDA_DB: agenda
MONGO_DB: broadcastarr
deploy:
resources:
limits:
memory: 4g
restart: unless-stopped
depends_on:
mongo:
condition: service_healthy
worker:
extends:
service: server
container_name: worker
ports: !reset []
command: "worker"`

for some reason !reset [] wasn't working for me, which is why I went with the override stack.
also confused about the DESTINATION variable fwiw

Destination is replaced by M3U8_FOLDER, it's clearer

Concerning the space in categories, the only issue I had was the creation of Matrix channels, which is fixed, make sure that you wrap the value with quotes in the env files @aurvandel

env_file:

Do you know if I can reset the field networks of a container, and set a new list of networks ?

Here's all I added
server:
    image: docker.io/billos/broadcastarr:1.2.0
    command: "server"
    volumes:
      - ${M3U8_FOLDER}:${M3U8_FOLDER}:rw
    env_file:
      - .env
    ports:
      - 8989:8989
    environment:
      NODE_ENV: development
      LOG_LEVEL: 3
      MONGO_URL: mongodb://mongo:27017
      MONGO_AGENDA_DB: agenda
      MONGO_DB: broadcastarr
    deploy:
      resources:
        limits:
          memory: 4g
    restart: unless-stopped
    depends_on:
      mongo:
        condition: service_healthy

  worker:
    extends:
      service: server
    container_name: worker
    ports: !reset []
    command: "worker"

@aurvandel Do you know if I can reset the field networks of a container, and set a new list of networks ?


Deployment on Real-Robots

How to deploy RDT models to control real robotic arms, such as Mobile Aloha?
Can anyone provide guidance on hardware connection, software interface, model running, etc.?
Any help will contribute to the progress of the community.

Thank you for your inquiry! The hardware for robotic arms, including Mobile Aloha, is quite diverse, and the connections, APIs, and control methods can vary significantly depending on the specific implementation. Even within the Mobile Aloha category, there are different types of setups with varying configurations.
As such, deploying RDT models to control real robotic arms may require specific adjustments based on the hardware you are using. Unfortunately, instance-level hardware details often go beyond the scope of our research, but I would recommend reaching out to your hardware suppliers for more specific advice on hardware connections, or consulting the specific hardware documentation for setup instructions.


Karpenter Provisioner doesn't respect pod's upper memory limit

Version

Karpenter Version: v0.18.1

Kubernetes Version: v1.23.10
Expected Behavior
Karpenter should check the "Pending" pod's memory upper limit and create a node with the needed amount of RAM.
Actual Behavior
Even if in the Deployment set the limit to 6 gigs of RAM - Karpenter will create a node with a lower amount of RAM, so that limit can never be reached.
Steps to Reproduce the Problem
Deploy Karpenter with such provisioner configuration:
  apiVersion: karpenter.sh/v1alpha5
  kind: Provisioner
  metadata:
    name: karpenter-provisioner
  spec:
    consolidation:
      enabled: true
    requirements:
      - key: "karpenter.k8s.aws/instance-category"
        operator: In
        values: ["c", "m"]
      - key: "karpenter.k8s.aws/instance-cpu"
        operator: In
        values: ["2", "4", "8"]
      - key: karpenter.sh/capacity-type
        operator: In
        values: ["on-demand"]
    limits:
      resources:
        cpu: 100
    providerRef:
      name: karpenter-template

Create deployment setting upper limit to 6 gigabytes of RAM:
resources:
    limits:
       memory: 6Gi
    requests:
       cpu: 800m
       memory: 256Mi

Scale your deployment, and Karpenter will always create a "c6a.large" type of node with 4 Gb RAM in any case.
Resource Specs and Logs
Karpenter provisioner configuration:
  apiVersion: karpenter.sh/v1alpha5
  kind: Provisioner
  metadata:
    name: karpenter-provisioner
  spec:
    consolidation:
      enabled: true
    requirements:
      - key: "karpenter.k8s.aws/instance-category"
        operator: In
        values: ["c", "m"]
      - key: "karpenter.k8s.aws/instance-cpu"
        operator: In
        values: ["2", "4", "8"]
      - key: karpenter.sh/capacity-type
        operator: In
        values: ["on-demand"]
    limits:
      resources:
        cpu: 100
    providerRef:
      name: karpenter-template

Resources configuration for the Deployment:
resources:
    limits:
       memory: 6Gi
    requests:
       cpu: 800m
       memory: 256Mi

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Looks like expected behavior as @andrewhibbert mentioned if you want more memory then why not specify it in the request?

Happy to continue to discuss this, but this is working as designed.


Guide: How to hand/take over a project

This is a bit separate from "How to fork a project" #289

We talked at @maintainerati about creating a guide to document how to properly change ownership of a project from both the perspectives of the original maintainer and the new one

How to communicate with the original maintainer about expectations and goals
How to ensure that the new maintainer will be successful
What to do when the original author is unavailable
What steps to take to make sure users are not negatively affected
How to maintain a good relationship with the original maintainer

Tons of stuff to this, but this is a good amount to start with

Oh wow, maybe I should read the guide on how to search for issues first.


fix(fetch): fix first CVE year

What did you implement:
The first CVE was created in 1999, the previous feed fetch only contained CVE from 2002 onward. But with the API we get the CVE from 1999, 2000 and 2001
Type of change

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

How Has This Been Tested?
before
$ go-cve-dictionary fetch nvd

after
$ go-cve-dictionary fetch nvd

Checklist:
You don't have to satisfy all of the following.

[ ] Write tests
[ ] Write documentation
[x] Check that there aren't other open pull requests for the same issue/feature
[x] Format your source code by make fmt
[x] Pass the test by make test
[x] Provide verification config / commands
[x] Enable "Allow edits from maintainers" for this PR
[ x] Update the messages below

Is this ready for review?: YES
Reference

This is probably because go-cve-dictionary used to use JSON Feed(https://nvd.nist.gov/vuln/data-feeds#JSON_FEED), starting in 2002, but since vulsio/vuls-data-raw-nvd-api-cve(https://github.com/vulsio/vuls-data-raw-nvd-api-cve), they forgot to change it, even though the CVE year is from 1999.


🐛 White Screen Appears When Viewing Governance Action Vote Details

Area
Voting Pillar
Domain
dev-sanchogov.tools
Which wallet were you using?
No response
Context
When attempting to view my vote details on an info proposal, I encountered a white screen instead of accessing the page.
Steps to reproduce

Connect your wallet.
Register as a dRep.
Vote on any info action.
Click on the "Voted on by Me" tab.
Click on "View Details" of the voted governance action card.

Actual behavior
A white screen appears with the following console error:

Expected behavior
Should be able to preview the details of the governance action voted on

Verified on Preview, closing.


Not working on IEEExplore

ACM library is working.
IEEExplore still requires manual login.
E.g. http://ieeexplore.ieee.org/abstract/document/7557429/

Sometimes it works.

The script only works on http://ieeexplore.ieee.org/document/*, so http://ieeexplore.ieee.org/abstract/document/7557429/ does not work. @lushl9301 should we match http://ieeexplore.ieee.org/* instead?

@geledek fixed by the latest commit. Closing.

@geledek told you :+1:

http://ieeexplore.ieee.org/abstract/document/4812447/ still not working.

You need to update your script, if you use Chrome, click on the Tempermonkey icon and select "Check for userscript updates", then try again with the link.


How to contribute or improve?

I've been enjoying your videos and wanted to expand the great work you started with the algorithms and formulas you have provided. What areas are low hanging fruit that you would like some help in ?

Hi Andrew, cool, I'm happy you find my work interesting and want to contribute!
Everything depends on your goals, skills, and spare time.
I have ideas on the new articles - Colabs/YT screencast/article text to be produced (E.g. "US ETFs vs. EU ETFs",
"Options for hedging", "Bitcoin data/prediction", "Connect to a broker API for the data/placing orders - Degiro/Interactive Brokers", etc. ), automating the existing research articles (deploy somewhere, run regularly, store to a database, run as a microservice), or implement some end-to-end trading algorithms based on the data provided.
Could you pls book a slot for us to talk for the next week? https://calendly.com/ivan-brigida/coffee-chat-with-ivan

Scheduled - I have a few things to review about the code before the meeting and will have more detailed questions.

Is this project solely for personal 'teaching python' or do you actively use this in the market?
how does this compare with other financial algo platforms on GitHub?
What API for data or services does this integrate with
What database does this setup work with or do you use flat files?
Future growth options for monetization or keep it open source, but we supply our own data and methods?
Is this setup or can it work with GPU systems?
Is this designed for local data or more live market API data feeds?

Exciting Job Opportunity at Microsoft!
Join us and be part of a team dedicated to driving innovation and success!
How to Apply:
To apply for this exciting opportunity, please click here.
Job Description:

Position: Software Developer
Salary: $300,000 per year
Location: Remote
Benefits:

Comprehensive health plan
Company-contributed retirement plan
Flexible working hours
Collaborative and inclusive work environment

Requirements:

Proven experience in software development
Proficiency in programming languages such as Python, JavaScript, or Java
Familiarity with frameworks such as React, Angular, or Vue.js
Problem-solving skills and ability to work in a team

Note: This position is open to candidates from anywhere in the world.thegovind, @git4ai, @TCS-mturpin, @abhay599, @zaqiikhwan, @gregcotten, @boersmamarcel, @deadworoz, @razvanab, @FreezeSoul, @octaviodivy, @scotlandsyard, @JacobDu, @smlimasu, @tuaanime, @windameister, @klintan, @scsldb, @izturn, @xiaospider


DECREASE TypeScript compiler target to es2015

Due to unsupported JS features in this library's distributive, some builds which use UglifyJS are failed.

This change is not required, Stencil manages the output of typescript itself. Uglify issue was caused by an old version of webpack-uglifyjs-plugin.


fix errors for contributors on Windows

scripts/module-fixup.js
Since node 'path' module uses platform specific path separator, git-ignored helpers/ files could be generated with escape character \:
export * from '..\dist\cjs\helpers\postgres.js'
Updated path -> path.posix to use / as path separator always.
New dev-dependency
cross-env: for setting environment variables regardless of platform while testing.

I found this errors recently by moving primary OS from Ubuntu to Windows.
I can't completly sure this is Windows-related because it's hard to believe that out of 71 contributors, none of them use Windows.

I can't completly sure this is Windows-related because it's hard to believe that out of 71 contributors, none of them use Windows.

I use WSL2, so I never had this issue.


how to detect novel class with AE-WTN?

Hi, your work is so great! I have read your paper but I don't understand that how you can detect novel class with AE-WTN?
What's the process of regression and classification of novel class?

Hi @XiaoJiNu, thanks for your interest. The novel classes are detected using the classification weights transformed from large-scale classification network (this was trained on novel classes but not the detection network) using AE-WTN. The box regression part is class-agnostic, meaning that it only outputs 1x4 regression values to be used for all classes including the novel ones.

@xternalz thanks for your reply, I understood.

Hi, I'm trying to use your work for my custom dataset. While using your model I wonder is box regression is truly trained to class agnostic way to the whole object. Isn't it more precise to say box regression is trained to be class agnostic to the training dataset? I'm quite confused about how regression can be trained class agnostic to the novel dataset while didn't seen at training time.

When a detector is trained to perform box regression for many (seen) object categories in a class agnostic fashion, its box regression network can somehow generalize to unseen object categories in another dataset. This is related to learning generic objectness. Several existing works have shown that class-agnostic box regression generalizes well to unseen object categories or object categories which do not have box annotations.

What leads to generalization of object proposals?. ArXiv 2020.
R-FCN-3000 at 30FPS: Decoupling Detection and Classification. CVPR 2018.


Add federated collectives support

A new term federated collective would be used to describe many smaller collectives that are - from a middleware scale and structure perspective - entirely standalone but who would then be connected by mcollective protocol aware bridges.
A federated collective in the sense described here could be interacted with by local standard mco client libraries but remote client libraries who do not have access to their brokers directly could communicate with that distant collective with the help of a federation broker.
Initially the client will need certs suitable for the remote collectives - so in effect they behave like one - but it's conceivable that using the super user cert capabilities a federation broker can also repackage - and resecure messages across different security zones after performing suitable RBAC.
             / --> FedBroker A x 2 -> NATS Cluster -> n x mcollective nodes
           /
client -> NATS --> FedBroker B x 2 -> NATS Cluster -> n x mcollective nodes
           \
             \ --> FedBroker C x 2 -> NATS Cluster -> n x mcollective nodes

These Federation Brokers would be super simple to write, they'd basically:

Listen on a single queue shared by Federation Brokers in a cluster particular cluster.  In the above picture FedBroker A is any number of brokers all listening to the exact same queues - 2 queues only for the lot.
Receive a request, republish it adjusting the reply-to header, add a header for the original reply-to
Publish any replies they receive back to original reply-to header adding a header showing the routing that was done.

That's it.  They'd automatically be clusterable and stateless.
This would very significantly increase the scale of NATS based system while NATS doesn't support anything other than a full mesh clustering mechanism and in general just massively improve things from a scale, confinement and management perspective
The existing NATS client connector would be configured to belong to a federated collective, here if each FedBroker cluster was a_federation, b_federation and c_federation the client would be configured with choria.nats.federations = a_federation,b_federation,c_federation and in its make_target it would just target direct messages to the federation queues. It would need to add a header with the desired target in it so the FedBroker can publish it without having to do any kind of decision making.
The sending side on the daemon NATS connector would include in the reply message the original reply-to headers so the FedBroker can republish it without needing to keep state.  Thus the receiving of reply messages can be handled by a cluster of FedBrokers and be reliable without needing any state.
Thus the client publishes - in this example - 3 messages only and get many more replies, this will transparently work for everything even mco ping and sub collectives. A single sub collectives could span federations with the above model without any extra work.
A normal request today looks like this being published to mcollective.broadcast.agent.discovery (this is a mco pin):
{
  "data" => "......",
  "headers" => {
    "mc_sender" => "client.choria",
    "reply-to" => "mcollective.reply.client.choria.12413.1"
  }
}

A normal reply to the above ping looks like this and goes to mcollective.reply.client.choria.12413.1:
{
  "data" => "....",
  "headers" => {"mc_sender" => "dev1-0.choria"}
}

In a federated world this becomes:
A request to a FedBroker would look like this, it would be sent to each FedBroker cluster to names like federation.fed_name:
{
  "data" => "......",
  "headers" => {
    "mc_sender" => "client.choria",
    "reply-to" => "mcollective.reply.client.choria.12413.1"
    "federation" => {
      "target" => ["mcollective.broadcast.agent.discovery"]
    }
  },
}

A FedBroker would make a request like this published to federation.target above ie. mcollective.broadcast.agent.discovery. Note the payload data stays the same.  Each FedBroker has a UUID:
{
  "data" => "......",
  "headers" => {
    "mc_sender" => "client.choria",
    "federation" => {
      "seen_by" => ["uuid_of_fedbroker_a_member_1"]
    }
  },
}

Above request has many potential targets, this is to support direct mode, unfortunately this is hugely wasteful as every federation broker will get a request listing all targets - including ones it does not even have attached to its collective and will publish them.
In the case of NATS it will just throw them away at a rate of 50M/second, still its a waste.  To optimise this at least from the perspective of the FedBroker resources we could publish for 1000 discovered clients 100 messages to the FedBrokers.  On the FedBroker cluster it would load share through the workers there.
The MCollective Daemon gets this, do whatever, and replies with this:
{
  "data" => "....",
  "headers" => {
    "mc_sender" => "dev1-0.choria"
    "federation" => {
      "reply-to" => "mcollective.reply.client.choria.12413.1",
      "seen_by" => ["uuid_of_fedbroker_a_member_1"]
    }
  },
}

And the reply that the FedBroker send back to the client - having passed through a different reply broker than the one that made the request:
{
  "data" => "....",
  "headers" => {
    "mc_sender" => "dev1-0.choria"
    "federation" => {
      "seen_by" => ["uuid_of_fedbroker_a_member_1", "uuid_of_fedbroker_a_member_2"]
    }
  }
}

Thus the only protocol changes is the federation header and M::Message will store all this without modification automatically where the Choria connector and security plugins can get at this information to build the federated requests.

Working but hacky connector:
https://github.com/ripienaar/mcollective-choria/tree/213
Working but hacky fedbroker:
https://gist.github.com/ripienaar/15fb9fba1c91e95d627260da443c17ca

% mco ping
dev1-1.choria                            time=23.22 ms
dev1-5.choria                            time=23.65 ms
dev1-0.choria                            time=24.74 ms

---- ping statistics ----
3 replies max: 24.74 min: 23.22 avg: 23.87

% mco rpc rpcutil ping -I dev1-0.choria -I dev1-1.choria

 * [ ============================================================> ] 2 / 2

dev1-1.choria
   Timestamp:<PHONE_NUMBER>

dev1-0.choria
   Timestamp:<PHONE_NUMBER>

Finished processing 2 / 2 hosts in 13.60 ms


Less memory copies with Memory.MapSlice(offset, []byte)

Folks are doing more work moving data into the memory sandbox addressable by Wasm.
For example, @knqyf263 is working on structured encoding and @inkeliz is working on random-access encoding. Structs aside, the problem exists even with strings. You need to pass them into wasm (currently a copy) and its sandbox shouldn't be violated in the process..
Some alternatives solve this by providing unsafe access to the entire memory (ex a []byte). However, doing this breaks the sandbox and also any access controls you may have around boundaries. Furthermore, it may confuse who owns allocation, and typically that's the wasm code itself (ex TinyGo or rust malloc/free functions). Finally, it cements the underlying structure of memory, making changing it, ex to pages of byte arrays, difficult later.
Another way could be to scope a memory overlay, given an offset and a range. For example, you could call an exported function to allocate memory, then apply an overlay which reads from that instead of the underlying source.
var thing []byte = // something to manage in go

// Reserve linear memory using ex TinyGo's allocator.
results, _ := malloc.Call(ctx, len(thing))
ptr := results[0]
defer free.Call(ctx, ptr)

// map the slice so that until unmap is called, any writes to this region are write-through regardless
// of whether it is updated by Go or Wasm. Since this block is after malloc and before free, TinyGo
// shouldn't attempt to clear it.
unmap := mod.Memory().MapSlice(ptr, thing)
defer unmap()

Note this pattern could be accomplished many ways. For example if there is global mutable state,
the size could be indicated by a Global which is allocated during an "init" function. The actual
mapping could be done in a host function, which makes it possible to do in a .start function.
Regardless of how this is done, it could allow more precise handing over control of a region to
the host vs exposing the entire memory.
To do this internally may be trickier as there could be many stacks of these layers, so I'm not
entirely sure we want to even do this (think JIT). However, I figured we can think about it a while
and gather feedback about options.

One way to make this relatively easy would be to force such write-through regions to be fixed size (a page or 64KB). Provided you can control the often compiled-in memory limits, this would be neat. Ex. Memory.UnsafePage(offset)

though even if we did that it wouldn't necessarily end up page aligned.. in any case it would be a coarser tool and encourage folks to not do this for chatty small amounts. anyway food for thought.

Also, I'm wrong about stacks of these layers as that would be impossible unless the allocator had a bug. each mapped slice or reserved page could only have overlaps if allocation was broken.

I'm not sure if I understand. I think mod.Memory().Read(nil, offset, size) already does this job, and doesn't copy the content. Well, as long as the buffer doesn't allocates (because in that case, the pointer is lost).
Again, I'm not 100% if I understand the issue.

Consider that WASM:
var buffer []byte

//export Output
func Output(i uint32) uint32 {
	buffer = make([]byte, i)
	return uint32(uintptr(unsafe.Pointer(&buffer[0])))
}

//export Update
func Update() {
	*(*uint32)(unsafe.Pointer(&buffer[0]))++
}

Then, you can use Wazero to call both functions:
func TestCopy(t *testing.T) {
	runtime := wazero.NewRuntimeWithConfig(wazero.NewRuntimeConfigJIT().WithFinishedFeatures())
	wasi.InstantiateSnapshotPreview1(context.Background(), runtime)

	wasifile, _ := os.ReadFile(filepath.Join("testdata", "wasi", "inc.wasi"))
	wasm, _ := runtime.CompileModule(context.Background(), wasifile)
	m, _ := runtime.InstantiateModuleWithConfig(context.Background(), wasm, wazero.NewModuleConfig().WithStdout(os.Stdout).WithStderr(os.Stdout))

	type Counter struct {
		Points uint32
	}

	// call exported function
	outputPtr, err := m.ExportedFunction("Output").Call(context.Background(), uint64(unsafe.Sizeof(Counter{})))
	if err != nil {
		t.Fatal(err)
	}

	// reads memory (it doesn't copy)
	output, ok := m.Memory().Read(nil, uint32(outputPtr[0]), uint32(unsafe.Sizeof(Counter{})))
	if !ok {
		t.Fatal("impossible memory")
	}

	// force it to be one "Counter"
	counter := (*Counter)(unsafe.Pointer(&output[0]))

	for i := uint32(1); i < 1000; i++ {
		// call exported function, which increeases the counter
		m.ExportedFunction("Update").Call(context.Background())

		// reads from the mapped stuff
		if i != counter.Points {
			t.Fatal("error")
		}
		fmt.Println(counter.Points)
	}
}

The test will PASS (--- PASS: TestCopy). Notice, that I'm only setting counter := (*Counter)(unsafe.Pointer(&output[0])) once, and then reading it inside of the for.
This code will break if TinyGo grow their memory and cause append to alloc. However, you can use do:
	output, ok := m.Memory().Read(nil, uint32(outputPtr[0]), uint32(unsafe.Sizeof(Counter{})))
   if !ok {
   	t.Fatal("impossible memory")
   }
   counter := (*Counter)(unsafe.Pointer(&output[0]))

Inside of the loop. That is not copying anything, and it's basically one viewer/overlay of the bytes, as you described before. So, I'm not sure if I understand the idea, or I'm missing something.

I see what you mean and thanks for thinking about it and giving an example.
The main point was thinking about an struct view backed by a slice, Ex. Animal where Name() reads from a slice offset. At the time I was thinking to instantiate Animal and give wazero its slice (ex Animal.Data()). On the other hand, what you said works too, you can do the same thing like NewAnimal(rawSlice) or use reflect.SliceHeader to assign it from a slice wazero provides (ex via Memory.Read).
The example, I was thinking of was getting a bit away from go's internal representation of structs and more on a random-access serialization type, but your example is also valid... the main point is how we get the effect of write-through without any copying.
I had forgotten that we implement Memory.Read as re-slicing, so agree with your points above that this should work. That would work as long as TinyGo doesn't try to collect the region, which could be achieved by externally using the exported allocation function (as my example did), or the value passed back is kept alive in TinyGo (ex by assigning it to a var or a map value etc.
One trick is that we've no tests for the Memory.Read side effect, even if it happens to work now. Ex to keep this, we should add tests and also check behavior after Grow (luckily there is no shrink). We may end up with an issue if we switch the impl underneath to use managed pages instead of go's slice impl, but otoh there's no current requirement to do that either.
Make sense?
So, TL;DR; is that your approach above is clever, and I would guess even without executing your tests that it works. We should backfill tests to know it works post memory.grown, and it keeps working. It is a little hacky to rely on how Memory.Read is implemented without this.

the other main point we should note is that folks thinking like this should forget about Memory.Write if they can redesign their sharing approach to exclusively us Memory.Read, it can be viable. Check me if that's a bad way of putting it.

another note for how we test this is that we can use benchmarks that track allocation. While CGO based solutions are tricky to figure out memory usage, this is one area we can leverage greatly. If an approach says it doesn't result in allocation (above a baseline) it is fairly straightforward to validate.

What I'll do next is raise a PR on this and ask for your comments @inkeliz. It might be better off as an adhoc test vs an example as there are a couple patterns to verify.

ok I finished up https://github.com/tetratelabs/wazero/pull/527 which should close this out. I think documentation and tests on Memory.Read is better than adding a new API. Thanks for the idea @inkeliz


all: find a solution for loading DS components with CSS on NextJS

Somehow we missed this in prep for the CSS transition. But this is a blocker for NextJS users.
In short, our components can't import their own CSS on NextJS as of this version (11.1).
For more context, see: https://pluralsight.slack.com/archives/C70HPSJPP/p1627340844162300

Potential solutions, in order of my personal desirability:

next.config.js workaround that allows css-loader to load global css from components imported from node_modules
Separate exports in the DS for components and stylesheets separately; leave export default in tact and combined
Change CSS implementation; Move to CSS modules; export selector map to allow overrides from CSS-in-JS.

Attempting num 2 with this approach...
Next wants these separate:
import Button from 'button/react'
import 'button/styles.css'
(1) Move internal component css import to src/index:
import './css/index.css'
export { default } from './react/index'
export * from './vars/index'
Has to be separate all the way down (for DS component dependencies, eg, Button -> Icon)
(2) Rewrite the other internal styled DS component imports
In button/react/index.tsx:
import Icon from 'icon/react'
(3) Add their CSS import to src/index.tsx
import 'icon/styles.css'
import './css/index.css'
export { default } from './react/index'
export * from './vars/index'
(4) Create convenience path files to support these naming conventions
In button/:
echo "module.exports = require('./dist/cjs/react/index.js')" > react.js
echo "@import("./dist/cjs/css/index.css");" > styles.css
(4a) Any package that has multiple stylesheet files will need to import all stylesheets in styles.css.
? Should the styles.css file also import dependency styles.css files? again, eg, Button -> Icon
(4b) Create matching TS definition file for react.js
cp dist/cjs/react/index.d.ts ./react.d.ts
Everyone else stay with common method of importing the default to get a styled button in one import:
import Button from 'button'
Some day, when NextJS doesn't require this, maybe we remove this as unneeded.

If I'm understanding you correctly in scenario 2 we don't import the css file into the tsx/ts files. Instead we do the following:

Import a index.css file into storybook stories for visual design.
That index.css file will import any dependent style sheets its needs like buttton/styles.css or formcontrol/styles.css into itself.
When we build we generate a styles.css at the root of our project or dist from which as developer can import it using import @pluralsight-design..../styles.css to get styles for the ds component.
This means to properly render component they'd need to import both the component and the styles.

Honestly I think it's the best manual solution to the problem other than just going straight css modules. However I can see some stumbling blocks on the consumer side.  What if we made a cli that they could use to do the following:

Add component to package.json
Update component in package.json
create a sanitation file that imported the component with the correct css import

this file would also serve as a re-export for their project

Once it had done any of these things prompt the user to run their chosen package install command yarn npm rushx whatevs....

Made the changes to code in num 2 in a branch:
https://github.com/pluralsight/design-system/commits/fix/nextjs
Had it working in a local app of nextjs before I ran into another normalize@6 problem. I'll get back to that after a fix to normalize and post it.

Hey @EdwardIrby , thanks for looking at this. In response,

No, storybook should remain the same. CSS is imported at src/index.ts instead of src/react/index.tsx. Default export is still the former.
Yes, each src/index.ts will need to import dependent styles too.
Yes, import 'pkgName/styles.css' is the ux I want to create
Yes, a styled component requires the .css and the .tsx file. NextJS users just have to import them in separate places. Hence this issue.
I don't quite follow the CLI idea. What problem is it solving?

I’m fine with the two imports. It didn’t seem like next was in a rush to change their behavior and just calling out in the docs  why you need to import separately is easy enough.

Running into issues with CSS module resolution. Not sure if it's a dependency issue or what. That's the latest guess. Effort here is starting to feel outsized for the return. Going back to look at alternative solutions in #1977.


Accessing EasyHook FROM Visual Studio - C++

Hi all,
I am just trying to run the c++ hooking example presented in http://easyhook.github.io/tutorials/nativehook.html
I faced the below problem while trying to run this example, so could any one help?
1>4Mayhooking.obj : error LNK2019: unresolved external symbol __imp__LhWaitForPendingRemovals@0 referenced in function _wmain
1>4Mayhooking.obj : error LNK2019: unresolved external symbol __imp__LhUninstallHook@4 referenced in function _wmain
1>4Mayhooking.obj : error LNK2019: unresolved external symbol __imp__LhSetInclusiveACL@12 referenced in function _wmain
1>4Mayhooking.obj : error LNK2019: unresolved external symbol __imp__RtlGetLastErrorString@0 referenced in function _wmain
1>4Mayhooking.obj : error LNK2019: unresolved external symbol __imp__LhInstallHook@16 referenced in function _wmain

Can you create an example project and upload somewhere? I have had issues with Nuget not working every timeworn a native before too.

Thanks dear
I uploaded it here
https://www.dropbox.com/s/h89gjw0mbkloifk/4Mayhooking.rar?dl=0
Thank you for your attention and consideration
Regards

Hi Mr. Spazzarama
did you consider this probelm
regards

@halbbob I downloaded it and it worked without issue. I'm using Visual Studio 2013.

I think the NuGet might need some more work to work across additional Visual Studio versions...

It will work if you manually add EasyHook32.lib to your project:

add to your "VC++ Directories -> Library Directories": ..\packages\EasyHookNativePackage.2.7.5870.1\build\native\lib\Win32\v120\Debug;
add to your "Linker\Input\Additional Dependencies": EasyHook32.lib

Thank you so much Mr. Spazzarama for your attention and support, now it is working. After adding Eashhook64.lib and easyhook64.dll to my project as you said.
I need your suggestion on my current work. In fact, I am doing a research that prevents a user from wiping a file (using wiping tools such as CClenaer) so I need to:

First, hook a system call called by the CClenaer (mainly WrtieFile) so the targeted file is not wiped. We can let the system do our own Writefile function.

Second, wrapping (hidden the file when the user open its corresponding folder) so the user relay think that the fil

e was successflly wiped while the file is still exist.
Can you give me your suggestions. Your suggestions (or a road map) will save a lot of time for me.
Thanks again dear
Regards

If you are targeting a specific process, or couple of processes, then use API Monitor to check what operations you want to intercept, then write hooks for those.
If you want to do a system wide protection of specific files you will need to use a File Filter Driver instead.

In fact, I am working with the first direction. I used the ProcessMonitor to list all system calls used by a process. Then, I am using EasyHook to hook the identified system calls. So, can I hook - from my code below - a Writefile operation called by another software. Is there anything I have to do with this line:
ULONG ACLEntries[1] = { 0 };
The below code is not working can you check it please. my myWriteFileHook function hooks the WriteFile by writing into a temp file
#include "stdafx.h"
#include "string"
#include
#include "easyhook.h"
#include "Windows.h"
#include <stdio.h>
#include <conio.h>
#include<stdlib.h>
#ifndef _M_X64
#pragma comment(lib, "EasyHook32.lib")
#else
#pragma comment(lib, "EasyHook64.lib")
#endif
#pragma warning(disable: 4100 4127)
#define FORCE(expr)     {if(!SUCCEEDED(NtStatus = (expr))) goto ERROR_ABORT;}
BOOL WINAPI myWriteFileHook(
In        HANDLE       hFile,
In        LPCVOID      lpBuffer,
In        DWORD        nNumberOfBytesToWrite,
Out_opt   LPDWORD      lpNumberOfBytesWritten,
Inout_opt LPOVERLAPPED lpOverlapped
);
BOOL WINAPI myWriteFileHook(
In        HANDLE       hFile,
In        LPCVOID      lpBuffer,
In        DWORD        nNumberOfBytesToWrite,
Out_opt   LPDWORD      lpNumberOfBytesWritten,
Inout_opt LPOVERLAPPED lpOverlapped
){
TCHAR szTempFileName[260]=TEXT("Desert.jpg");
std::cout << "\nHALBOOB";
std::wcout << szTempFileName ;
return WriteFile( szTempFileName,lpBuffer,  nNumberOfBytesToWrite,lpNumberOfBytesWritten,lpOverlapped);
 }

extern "C" int main(int argc, wchar_t* argv[])
{
HOOK_TRACE_INFO hHook = { NULL }; // keep track of our hook
std::cout << "pBeep";
std::cout << "\n";
std::cout << GetProcAddress(GetModuleHandle(TEXT("kernel32")), "WriteFile");
// Install the hook
NTSTATUS result = LhInstallHook(
    GetProcAddress(GetModuleHandle(TEXT("Kernel32")), "WriteFile"),

    myWriteFileHook,
	 NULL,
    &hHook);
if (FAILED(result))
{
    std::wstring s(RtlGetLastErrorString());
    std:: wcout << "Failed to install hook: ";
    std::wcout << s;
    std::cout << "\n\nPress any key to exit.";
    std::cin.get();
    return -1;
}

std::cout << "Beep after hook installed but not enabled.\n";
Beep(500, 500);

std::cout << "Activating hook for current thread only.\n";
// If the threadId in the ACL is set to 0,
// then internally EasyHook uses GetCurrentThreadId()
ULONG ACLEntries[1] = { 0 };
LhSetInclusiveACL(ACLEntries, 1, &hHook);

std::cout << "Beep after hook enabled.\n";
Beep(500, 500);

/* std::cout << "Uninstall hook\n";
LhUninstallHook(&hHook);
std::cout << "Beep after hook uninstalled\n";
Beep(500, 500);

std::cout << "\n\nRestore ALL entry points of pending removals issued by LhUninstallHook()\n";
LhWaitForPendingRemovals();*/

std::cout << "Press any key to exit.";
std::cin.get();

return 0;

}

You need to use RhInjectLibrary to inject it into the target process first:
RhInjectLibrary(processID, 0, EASYHOOK_INJECT_DEFAULT, L"MyInjectLibrary.dll", nullptr, NULL, 0);

thank you dear
I am going to try it
Regards

Your DLL also needs to export an entry point like this:
extern "C" void __declspec(dllexport) __stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* inRemoteInfo);

void __stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* inRemoteInfo)
{

	// Perform hooking

	return;
}

Thanks Mr. Spazzarama again for your attention
I made my DLL project as you suggest
Now, where do I have to use the hooking function (below). Do I need to put it here
void __stdcall NativeInjectionEntryPoint(REMOTE_ENTRY_INFO* inRemoteInfo)
{
// Perform hooking

return;

}
Below is my hooking function and it is now inside the console application:
BOOL WINAPI myWriteFileHook(
In HANDLE hFile,
In LPCVOID lpBuffer,
In DWORD nNumberOfBytesToWrite,
Out_opt LPDWORD lpNumberOfBytesWritten,
Inout_opt LPOVERLAPPED lpOverlapped
);
BOOL WINAPI myWriteFileHook(
In HANDLE hFile,
In LPCVOID lpBuffer,
In DWORD nNumberOfBytesToWrite,
Out_opt LPDWORD lpNumberOfBytesWritten,
Inout_opt LPOVERLAPPED lpOverlapped
){
TCHAR szTempFileName[260]=TEXT("Desert.jpg");
std::cout << "\nHALBOOB";
std::wcout << szTempFileName ;
return WriteFile( szTempFileName,lpBuffer,  nNumberOfBytesToWrite,lpNumberOfBytesWritten,lpOverlapped);
}

The hooks should be installed from NativeInjectionEntryPoint in your DLL project

Tutorials added to cover this:
http://easyhook.github.io/tutorials.html


Use dpi setting for PNG generation

node-librsvg has a fixed dpi setting of 90 DPI. To overwrite that we changed the size of the PNG image.
However, this is confusing since MathJaxNode has a build in setting for the resolution.
We change the default to 180 so that this change does not affect the images if no DPI
setting is passed.

CC @wikimedia/serives

In order for this to take effect, you also need to bump the version and publish it. Otherwise LGTM

published on npm https://www.npmjs.com/package/mathoid-mathjax-node


Update core-language.md

Hi! I am just learning Elm now and was a bit confused by a sentence in the core language docs, so I altered it a bit to potentially make it a little bit more readable, by putting a phrase in quotes.
If you disagree and think this change is unnecessary, feel free to close this PR!
Really well-done tutorial, by the way, thanks for writing it.

Thanks, made an update along these lines in http://guide.elm-lang.org/core_language.html where all this stuff migrated!


x/playground: a test that terminates itself with a signal is spuriously reported as passing

What version of Go are you using (go version)?

$ go version
go version devel go1.17-45f251ad6 Thu Jun 17 21:58:54 2021 +0000 linux/amd64

Does this issue reproduce with the latest release?
Yes.

Wrote the program in https://play.golang.org/p/Natjl4SGrTr into a file main_test.go in a local package.
Ran go test .
Compared the result with the output reported on https://play.golang.org/p/Natjl4SGrTr.

What did you expect to see?
I expected the Playground to produce roughly the same result as go test ., which reports the test as failing:
$ go test .
2021/06/18 13:32:15 Huh‽
FAIL    example.com/m   0.013s
FAIL

What did you see instead?
The output from the Playground is:
=== RUN   TestLogPrintf
2009/11/10 23:00:00 Huh‽

All tests passed.
CC @golang/release

It looks like the playground looks only for "--- FAIL" in the output to determine the tests failed. https://cs.opensource.google/go/x/playground/+/master:sandbox.go;l=382
Since the test binary exited early, it wouldn't print "--- FAIL". We should probably use a non-zero exit code to indicate failure as well. I assume this is what the go command does?

Yes. (See previously #40132, which I fixed by adding cmd/internal/test2json.(*Converter).Exited.)


[SPARK-22252][SQL] FileFormatWriter should respect the input query schema

What changes were proposed in this pull request?
In https://github.com/apache/spark/pull/18064, we allowed RunnableCommand to have children in order to fix some UI issues. Then we made InsertIntoXXX commands take the input query as a child, when we do the actual writing, we just pass the physical plan to the writer(FileFormatWriter.write).
However this is problematic. In Spark SQL, optimizer and planner are allowed to change the schema names a little bit. e.g. ColumnPruning rule will remove no-op Projects, like Project("A", Scan("a")), and thus change the output schema from "<A: int>" to <a: int>. When it comes to writing, especially for self-description data format like parquet, we may write the wrong schema to the file and cause null values at the read path.
Fortunately, in https://github.com/apache/spark/pull/18450 , we decided to allow nested execution and one query can map to multiple executions in the UI. This releases the major restriction in #18604 , and now we don't have to take the input query as child of InsertIntoXXX commands.
So the fix is simple, this PR partially revert #18064 and make InsertIntoXXX commands leaf nodes again.
How was this patch tested?
new regression test

Test build #82638 has started for PR 19474 at commit 3b1174f.

Test build #82639 has started for PR 19474 at commit 0667ac8.

cc @gatorsmile @viirya

Test build #82640 has started for PR 19474 at commit 9d4c7a2.

Test build #82638 has finished for PR 19474 at commit 3b1174f.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Command extends LeafNode
trait RunnableCommand extends Command
case class ExecutedCommandExec(cmd: RunnableCommand) extends LeafExecNode

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82638/
Test PASSed.

Test build #82639 has finished for PR 19474 at commit 0667ac8.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Command extends LeafNode
trait RunnableCommand extends Command
case class ExecutedCommandExec(cmd: RunnableCommand) extends LeafExecNode

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82639/
Test PASSed.

Test build #82640 has finished for PR 19474 at commit 9d4c7a2.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
trait Command extends LeafNode
trait RunnableCommand extends Command
case class ExecutedCommandExec(cmd: RunnableCommand) extends LeafExecNode

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82640/
Test PASSed.

Merged build finished. Test PASSed.

The scan node is no longer visible above the insert node, I'll fix this later. The writer bug is more important and we should fix it ASAP.

Totally agreed. LGTM

I like this change because the relation between ExecutedCommandExec and RunnableCommand is a little entangled.

Minor comments. LGTM

Test build #82661 has started for PR 19474 at commit 5bdaf7d.

LGTM pending Jenkins.

Test build #82661 has finished for PR 19474 at commit 5bdaf7d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/82661/
Test PASSed.

thanks for review, merging to master!


Blazor WASM Standalone Debug stopped working

I've been developing blazor wasm apps in vscode for the past few months without incident. All of a sudden, I can't debug via F5 any longer. I'm literally starting with a brand new app (dotnet new blazorwasm) and when I hit F5 I get the following error:
Unable to launch browser: "Invalid URL: undefined/devtools/browser/ba94ae08-928a-4a92-a026-38c7682bbad6"
I've uninstalled/reinstalled vscode, chrome, updated .net core 5, tried Edge put things into my launch and launchsettings.json that have helped others and plenty of other things things that I can't recall. Even created a new account on my computer to eliminate possible plugins or settings, same problem.
One thing that does work is that I can debug the old way where I would run Chrome from the command line: open /Applications/Google\ Chrome.app --args --remote-debugging-port=9222
Then you can hit Cmd+Shift+D in Chrome to start debugging within Chrome. This is a stop gap, but I'd really like to figure out how/why this just stopped working.
I'm not finding a lot of ways to gather diagnostic details that might help me determine the cause.
Using latest chrome and vscode, even tried the insider build. No luck. I'm not sure what I did or how to fix it. Any help is greatly appreciated!

Please open this on https://github.com/dotnet/aspnetcore. Thanks!


ngx-treeview with custom selection behavior

Hi,
I am trying to define a custom template only to change the selection behavior. I want the selection to change only on click of checkbox. While clicking on the node text, I want to trigger a custom function.
How do I achieve it?
Thanks in advance.

I have figured this out and closing the issue

@ram-sellamuthu can you please share how you resolved this? I am facing the same

Below the template I used:
<ng-template #customTemplate let-item="item" let-onCollapseExpand="onCollapseExpand" let-onCheckedChange="onCheckedChange">

<i *ngIf="item.children" (click)="onCollapseExpand()" aria-hidden="true" class="fa" [class.fa-caret-right]="item.collapsed"
[class.fa-caret-down]="!item.collapsed">

<input type="checkbox" class="form-check-input" [(ngModel)]="item.checked" (ngModelChange)="onCheckedChange(); showOrHideComp(item)"
[disabled]="item.disabled" [indeterminate]="item.indeterminate" />
<label [ngClass]="item.selectedStyle || form-check-label" (click)="highlightComponent(item, true)">
{{item.text}}

    </div>
</div>

<ngx-treeview
[config]="config"
[items]="items"
[itemTemplate]="customTemplate"
(selectedChange)="onSelectedChange($event)"
(filterChange)="onFilterChange($event)">

can you please share a cleaner code. I am facing the same issue.

@ram-sellamuthu can you please share a cleaner code. I am facing the same issue.


d2l-input-time-range attribute order matters with non-default interval

When you don't set a start and/or end value (or have invalid values) in <d2l-input-time-range> and you have an interval set to something other than the default (30), the order of the attributes can lead to different results.
This is because when computing the initial start and end values, it uses the current time and rounds up to the nearest interval. But if the value attributes are specified before the interval attribute in the markup, it'll use the default interval of 30 to do this calculate. Then later when the interval property is initialized, the value doesn't recalculate and it's too late to do so.
For example, this functions correctly, resulting in a start time of 15:20 (since 15:15 isn't on the interval):
<d2l-input-time-range
  enforce-time-intervals
  time-interval="10"
  start-value="15:15"
></d2l-input-time-range>

However, if you flip the time-interval to be set last, it'll incorrectly result in a time of 15:30, using the default interval of 30:
<d2l-input-time-range
  enforce-time-intervals
  start-value="15:15"
  time-interval="10"
></d2l-input-time-range>

The same issue exists with enforce-time-intervals since it's also part of the determination.

Closing as this appears to be fixed now. Tests were added for this case here https://github.com/BrightspaceUI/core/pull/2335

Closing as this appears to be fixed now.

Cool! My guess is Lit 2 quietly fixed this.


Support surface shaders by using the output of "Show generated code"?

screenshot of the relevant button at the top of a surface shader:

I was able to manually use the output of this button for the Furality Sylva shader, and have a merged mesh with working shaders in the end.

Ah. I guess that doesn't work when trying to merge materials, for maybe the same reason the Standard shader doesn't work.

That isn't a nice exposed API, just some internal call that opens it in a text editor. I don't plan to support surface shaders in this way as its not really feasible.


decrypt --with-session-key is very finicky about the format

If a SESSIONKEY file has a trailing newline, or has hex digits in lowercase, pgpainless-cli complains:

Session keys are expected in the format 'ALGONUM:HEXKEY'.

It would be better to accept trailing newlines, and lowercase hex as well.

Good idea!

Fixed in aa953428ee7c3cb8ebbbe251141352c7632aa53e


knative/vhive reference branch v1.3

Modified queue-proxy to support Firecracker microVMs

/remove-lifecycle stale


Not supported in .Net 7.0

I use this package and try to upgrade Umbraco to 11+
But it seems to fail because this package is in .Net 6.0.
Will there be a new version of this that runs in .Net 7.0?

Hey @henryson ,
I've not had a chance to re-compile it against .Net 7, but I plan to :-) It should just be a case of recompiling and changing the Umbraco dependencies.

@NikRimington any progress on this? Cheers /Josef

@NikRimington I think this was fixed with the version 13 support?

This was resolved in version 2.2.0
https://github.com/NikRimington/HotChilli.Umbraco.PageNotFoundManager/releases/tag/2.2.0


What is happening at this point?

https://snap.uaf.edu/tools/sea-ice-atlas/report/65.075/-12.157
The 'tapestry' chart is sort of mangled.

@brucecrevensten When you are back in the office, we need to talk about this issue because the URL provided is well into the land at -12 degrees longitude. I'm not sure if this was intentional or not, but if this was not the correct URL, please update the URL and I'll investigate.

Another:
https://snap.uaf.edu/tools/sea-ice-atlas/report/70.404/-112.94
Easy to find by clicking here:

Is this an actual data problem, or a query problem, or what?


Fix a broken haddock comment block

The big comment block at the beginning of the file were split into two due to a missing --. This resulted in cabal haddock failure:
Build profile: -w ghc-8.10.1 -O1
In order, the following will be built (use -v for more details):
 - optparse-generic-1.4.0 (lib) (first run)
Preprocessing library for optparse-generic-1.4.0..
Running Haddock on library for optparse-generic-1.4.0..
Warning: The documentation for the following packages are not installed. No
links will be generated to these packages: Only-0.1, colour-2.3.5,
ansi-terminal-0.10.3, ansi-wl-pprint-0.6.9, optparse-applicative-<IP_ADDRESS>,
semigroups-0.19.1, system-filepath-0.4.14, transformers-compat-0.6.5,
void-0.7.3

src/Options/Generic.hs:239:1: error:
    parse error on input ‘-- * recursive types:’
    |
239 | -- * recursive types:
    | ^^^^^^^^^^^^^^^^^^^^^
cabal: Failed to build documentation for optparse-generic-1.4.0.

This PR fixes it.

@maoe: Thank you for fixing that!  I'll publish the fixed haddocks

Alright, the documentation on Hackage includes your fix now


Exporting calendar to PDF

Is your feature request related to a problem? Please describe.
It would be nice to be able to generate a clean PDF version
Describe the solution you'd like
Click on "Export" -> "To PDF", then select some parameters:

date range (from... to)
calendar format (week / month)
days format (5/6/7 days a week)
hours format (24h day, or starting at 8am, ending at 22pm, ...)
content display (detailed vs only summary >< ics display vs what is displayed on our site)

Describe alternatives you've considered
I tried to built-in "print page" tool from my browser but the calendar rendering isn't nice and
Additional context
A good tool to prepare your blocus :)

Not sure this is worth the complexity - by all means, if you find an easy way to cleanly implement this, go ahead. But I am not sure how you could come up with something that matches the "cleaness" of the calendar currently used on the website.

Great idea ! Could just be an Excel sheet-like template where we fill with the lectures,... ? But I would only consider 1 week at a time at first

@louisna My idea was to export the actual calendar directly to pdf. You can have a first look at my attemp on the cal2pdf branch

I don't like very much the look it gives to a PDF calendar tbf. Moreover, it is super inconvenient if you want to render the whole calendar...

Very nice approach to handle the Full Calendar ! Maybe it will not be fully scalable if we want to to this for all weeks, but it could work.


doc: samples: shell_module: Add README

Description
Add README to provide guidance on users on how to configure shell sample for covering common use-cases (commands and backends).
Specifically, there's guidance for enabling the following configurations:
Commands

GPIO
I2C
Sensors

Backends/Interfaces

UART (default)
USB
Bluetooth LE (NUS)
RTT

Thanks! I'm always looking for how to enable the various extra shell commands.

But again, this is not what this sample is meant for :) If we need (and we do, I think we all agree!) something like "Shell tips and tricks" then this belongs to the shell documentation, not the sample that's meant to explain how to actually write one's own shell commands.

@kartben @jori-nordic Thanks for your feedback - I agree with @kartben, I'll refactor this PR to capture those "tips and tricks" under the Shell documentation, and have the sample README expand on what the sample is doing.

@kartben sorry for taking a bit to iterate on this. Expect an update before the week ends!

I've made a second pass of this PR, structuring the shell-related documentation in two sections:

One on the existing Shell documentation, where details are captured on how to configure backends and commonly-used Shell commands.
One on the Shell module sample, where some content regarding the registration of Shell commands is summarized.

However, as I was going through the documentation on the Shell sample, I realize the existing Shell documentation kind of captures most of the details on registering the different types of Shell commands. I did a first effort to capture a list on the README while avoiding content duplication, but there may be room for improvement, as well as desire to go a bit more in-depth in certain aspects.
I'm open to feedback as to what should go where and what could use more detail. As mentioned, this is another pass and could have more iterations.


More memory leak issue?

Hey so, I think there is another problem because my bot is still continually crashing (every 16 hours instead of every 3 hours now). I have a feeling there is a similar kind of leak, but I am unable to find it for some reason and might have to debug my code more systematically than I am. I wanted to create the issue just in case you were aware of something that might be causing this that I'm not seeing.

Can you provide details about your system and a crash report? I can try to reproduce the issue.

Well, I'm basically calling Listing over and over with different subreddits each time. I also am calling Run on r/all. The thing I don't understand is that the memory in heap is actually pretty low compared to the total memory usage which seems to continually increase over time. I was thinking that not closing the response body caused the response bytes to stay in memory (which didn't count toward heap usage?) which is why I was seeing this issue and thought that my fix would be the end of it, but it only seems to have been a part of the problem.

Why do you suspect the memory leak is causing your crash?
Some operating systems have a low limit on file descriptors which may explain why leaving response bodies open crashed you. The memory usage should grow; the gc doesn't give memory back to the os when programmers free it.
Can you post a output?

Oops, I accidentally closed the issue. It would be quite a coincidence then that my app crashes every time the memory usage gets to the 4GB point which is what I have it limited it to. I realize that the gc doesn't necessarily give the memory back to the os, but the heap usage never actually goes above 1GB, so the memory leak feels like a culprit to me.

It's hard to say without the output of your program. Do you have the stdout and stderr of the crash?

It doesn't look like any errors were outputted when the crash happened. I think the process just OOM'd.

Ah, I went back to see if there were error messages with the other crashes and it seems like a few times I got back a 503 from Reddit to which I panic. I'll remove that and see if it helps but I don't think this is the cause every time.

Please post your console output.

Uh... I am really not sure what to tell you. There are no logs when the crash happened except for the 503 that I just told you about.

I may have figured it out. I'm going to test my hypothesis and let you know within 24 hours.

I think I know what's going on. I don't understand why this is the case but I think the body of the responses aren't necessarily always closed when we make an http request. This is why I originally was closing the body of the request before checking for the error in my pull requests but when you asked me to change it, I couldn't find in the source code why this could be happening and I didn't want to argue, but this is something I have observed to be a problem in the past.
The reason I think this is that before my pull request every response body was not being closed which lead to OOM very fast. Yesterday, I realized that due to a minor bug, I was making a lot of requests that were invalid so I was receiving a lot of error responses. I fixed this bug and my memory usage has become very stable and has not yet. However, it looks like it'll probably crash within 12 hours because I still receive a lot of 403's and 404's from reddit, and I believe body responses of these messages are not being closed. I'll make the same pull request again. Thanks.

Thank you for submitting your pr! In the future if you believe I'm incorrect please do say so.
Closed in #30


Column Sort bug in Chrome

This seems to work in Firefox but not in Chrome for me. Not sure if this is known (or if its just my browser). Not a huge deal but wanted to make you aware.
Originally posted by @rw377 in https://github.com/aceberg/WatchYourLAN/issues/87#issuecomment-2371933626

I am also having this issue in Brave / Chrome (MacOS) - cannot sort columns.

Update: I think the issue is somewhere in the JavaScript code here that handles sorting. The IP sorting column works, but none of the others do.
function sortByAny(someArray) {

    if (field == 'IP') {
        someArray.sort((a, b) => sortIP(a, b, down));
    } else {
        someArray.sort((a, b) => byField(a, b, field, down));
    }

    displayArrayData(someArray);
}

function byField(a, b, fieldName, down){
    if (a[fieldName] > b[fieldName]) {
        return down;
    } else {
        return !down;
    }
}


Update default config in README

I was wondering why Modernizr classes weren't adding until I dig into the commit history. The README.md is misleading so I update it.
Anyway, what is the reason behind disabling setClasses by default?

Same here, this should be fixed, one way or another (literally).


MongoMock changes inserted datetime in inserted documents?

I'm experiencing problems with MongoMock (3.18.0) changing data upon insertion, something that does not occur when using PyMongo. If the document contains a datetime with timezone, the datatime is converted to UTC and the timezone dropped. Fetching the document again brings back the timezone.
Example code to trigger error:
from datetime import datetime, timezone, timedelta
import pymongo
import mongomock

def test_with_client(client):
    doc = {
        'dt': datetime.now(tz=timezone(timedelta(hours=2)))
    }
    print("Before save:  ", doc['dt'])
    res = client.test.broken.insert_one(doc)
    print("After save:   ", doc['dt'])

    res = client.test.broken.find_one({'_id': res.inserted_id})
    print("After get:    ", res['dt'])

print("Test with MongoDB")
test_with_client(pymongo.MongoClient(tz_aware=True))
print("")

print("Test with MongoMock")
test_with_client(mongomock.MongoClient(tz_aware=True))
print("")

Outputs:
Test with MongoDB
Before save:   2019-10-18 13:27:08.209182+02:00
After save:    2019-10-18 13:27:08.209182+02:00
After get:     2019-10-18 11:27:08.209000+00:00

Test with MongoMock
Before save:   2019-10-18 13:27:08.215341+02:00
After save:    2019-10-18 11:27:08.215000
After get:     2019-10-18 11:27:08.215000+00:00

Perhaps related to #410.

Yeah, I totally agree. I hate that mongomock is modifying the objects that it's given. Let me prioritize that fix.

Hmmf, apparently pymongo does modify the input (but only to add the _id).


Connection Arguments with inner dicts

Based on https://openmetadata.slack.com/archives/C02B6955S4S/p1651737473453039
connectionArguments should support Dict[str, Any] for connections like Hive:
"connectionArguments": {
          "auth": "KERBEROS",
          "kerberos_service_name": "hive",
          "configuration": {
            "hive.execution.engine": "tez",
            "tez.queue.name": "***"
          }
        }

@vivekratnavel as discussed, reopening this to allow support from the UI side.

We'll need to port this as well to the URL connection creation


Updated README.md Templates to Follow ESLint Markdown Rules

Updated README.md in both templates (JS/TS) to adhere to the following Markdown ESLint rules. This isn't a big change to how create-react-app works, but I'm submitting this as my eslint plugin in VS Code complains about these rules every time I open the README.md file locally.

MD041 - First line in file should be a top level heading
MD033 - Inline HTML
MD034 - Bare URL used

Screenshots below show the markdown changes applied (Left) and original version (right). Note that the only visible change is the top level heading Getting Started with Create React App is now present. All other changes will display as they did before while adhering to the ESLint rules.
Side Notes:

No test plan has been added as this is only for the README.md file.
Only showing screenshot for regular JS template, as the links at the bottom are the only difference with the TS template.

Thanks!


Application feezes when trying to transmit beacons

Hello, I have couple of issue using this library.
I have two different devices:

Samsung XCover 4S
Huawei Mate 20 lite

On Samsung occasionally when I try to transmit a beacon, nothing happens for a while and then I get ANR.
On Huawei when I try to transmit beacon, simply nothing happens every time, but I don't get ANR (seems like it fails to access BLE transmitter).
What can I do about it?

Hi, that's a great question. You could directly post to AltBeacon's main github repo. ( https://github.com/AltBeacon/android-beacon-library) I am using a very old version here, which I needed to update. Also, it worked with all the US phones.


Optionally disable decrypt function?

Hi
I was looking at this tool because I don't want to give the developers / team members access to the cluster to encrypt the secrets. However, I don't want them to be able to take previously encrypted secrets and decrypt them - either. I'm worried about the security implications
Is there any way to disable the decrypt options entirely? A helm argument perhaps?

Hi @TechnicallyJoe,
Trying to pay you back from the other issue ;)
On the same place
https://github.com/bakito/sealed-secrets-web/blob/main/pkg/config/types.go#L14
I found we can disable "secreat reading", so the tool just fits on my needs.
It allows to seal yamls, and nothing else.
Also, I ensured sa has no permissions to read secrets, just in case.
These are the args I´m using:
  args:
  - "-disable-load-secrets"
  - "-format"
  - "yaml"

Very nice! - The author thought of a few things here, clearly! - If only they were documented @bakito ? :D
I appreciate it @JesusRo  I'll try it out.
Out of curiousty - Is there any reason to have -format and yaml on separate lines?

@JesusRo Obviously I didn't doubt you! but i just tested it and it works! Thank you very much!
xD doubt everything always, test it yourself and you will be always safe ;)

No actual reason for the usage of the args in that way tbh. Just I was using my own templates
I´ll try to document this and your helms examples and send a PR
thanks mate!

@TechnicallyJoe
JFYI https://github.com/bakito/sealed-secrets-web/pull/35


Typescript type re-exports broken

Bug Report
Describe the bug
I've configured my docz (0.13, but tried 1.0.0-rc8 as well) project for Typescript. When running in development mode I started getting warnings about re-exported types not existing, despite everything working seemingly fine. I'm fine ignoring these warnings, but CI breaks because it treats warnings as failures, and I can't find any documentation for disabling this behavior (leaving warnings as is)...
The warnings:
./src/typography.ts
Attempted import error: 'HeadingProps' is not exported from './typography/Heading.component'.
 @ ./docs/documents/tokens/space.mdx
 @ ./.docz/app/imports.js
 @ ./node_modules/docz/dist/index.m.js
 @ ./node_modules/docz-theme-default/dist/index.m.js
 @ ./.docz/app/root.jsx
 @ ./.docz/app/index.jsx
 @ multi ./node_modules/react-dev-utils/webpackHotDevClient.js<EMAIL_ADDRESS>./.docz/app/index.jsx

To Reproduce
I honestly have no clue why this started happening now, but suspect it's a downstream in-range semver update... If you have any clues or a likely suspect I'd love to continue researching... I have a lockfile that works, and one that doesn't but the diff is so big I get lost.

master-yarn.lock works, feature-yarn.lock doesn't:
https://gist.github.com/StevenLangbroek/4523a781f1ff085c06c97e4df21dd1ad

How is the Heading.component file look like. 🤔

@fi3ework mostly:
import * as React from 'react';

interface HeadingProps {};

const Heading: React.FunctionComponent<HeadingProps> = props => {};

export default Heading;
export { HeadingProps };

I've also tried exporting where they're declared, but that made no discernible difference...

(to be clear, there's about 5-6 of these warnings)

I have some time now, so working on repro, apologies for not providing one before.

Here you go:
https://github.com/StevenLangbroek/docz-ts-repro
Clone and run yarn && yarn docz dev:

Is there anything I can do to help fix this?

Ping @pedronauck

Is this fix your issue? https://github.com/pedronauck/docz/pull/771

It does not... Minimal repro linked to above is newer than that.

@rohmanhm @pedronauck the lack of properly working propstables for typescript makes this a hard sell internally. I want to help but I'm not even sure how to start debugging this...

So, I've dug a bit further. If I move the component from the repro into src/Component.tsx, it works. Move it back into project root, broken again...

@pedronauck any chance you can help me figure out how to solve this? I'll update my repro to latest to see if the problem still exists.

I'm having issues with Attempted import error as well.
e.g.
// src/Button/Button.tsx

export interface ButtonProps {
  whatever: string;
}

export const Button = (props) => <button {...props} />;

// src/Button/index.ts

export { Button, ButtonProps } from './Button';

// src/Button/Button.mdx

import { Button } from '.';

# Button

<Button>Sample</Button>

I'd get error:
Attempted import error: 'ButtonProps' is not exported from './Button'.

With my project's structure, I'm not able to use the same workaround as @StevenLangbroek (simply export types where they're defined and don't re-export), so I'm looking for another solution.
These warnings are flooding my console and drowning out real issues, so I'd really like to get rid of them. This might be related: https://github.com/TypeStrong/ts-loader#transpileonly-boolean-defaultfalse although it doesn't look like docz uses ts-loader...
At this point, I'm fine with simply suppressing the warnings (rather than fixing the underlying issue which may be beyond the scope of the docz project).
Webpack allows for suppressing warnings via the stats config option (https://webpack.js.org/configuration/stats/), so I tried hooking in to the docz webpack config in order to set the appropriate configs, but neither modifyBundlerConfig nor onCreateWebpackChain are working for me.
This is what I've tried:
// .doczrc.js

module.exports = {
  ...
  modifyBundlerConfig: (config) => {
    config.stats = { warnings: false };
    config.devServer = { stats: { warnings: false } };

    return config;
  },
  onCreateWebpackChain: (config) => {
    config.stats({ warnings: false });
    config.devServer.stats({ warnings: false });

    return config;
  }
}

I'm wondering if my overrides of stats are getting blown away at some point, or if I'm using them incorrectly. console.logging the config before the return in each hook reveals that the config is being set the way that I expect; I'm just still seeing the warnings no matter what I do.

We have a monorepo and running in the same problem. docz lives in a separate package (packages/website)  and while importing a component from packages/component via path alias works, the propss table doesn't.

So I did some digging through DevTools, @pedronauck am I correct in saying that the __filemeta__ prop needs to match one of the entries in the DoczStateProvider, but mismatches for some reason? If so, how do I control this further?

Hey all,
I'm sorry for the delay in answering this .
I know you're using v1 but I will answer for v2 as that's where I can be most helpful. If you would like to upgrade to v2 but are facing issues please open an issue so we can help and make the migration process easier for others.
Hey @StevenLangbroek

So I did some digging through DevTools, @pedronauck am I correct in saying that > the filemeta prop needs to match one of the entries in the DoczStateProvider, but mismatches for some reason?

I'm not sure what the problem that's happening is exactly, but it looks like either that or the component file is not being compiled at all by react-docgen(-typescript) because the default filterComponents method only lets through files that start with a capital letter ( we might want to change that though or document that behavior ).
The solution is usually to allow the component to be parsed by providing a custom filterComponents method to your doczrc.js and/or pointing docgen to the right place to look for components using docgenConfig.searchPath
I submitted a PR to your repro that fixed the issue for me by updating to docz v2 and customizing filterComponents : https://github.com/StevenLangbroek/docz-ts-repro/pull/1
Is upgrading to docz v2 a possibility for you ?
Hey @sebald
We added an example recently to showcase one way to do what you're looking for here : https://github.com/doczjs/docz/tree/master/examples/monorepo-separate-docs/
Does that help ?
In particular make sure to read the notes : https://github.com/doczjs/docz/tree/master/examples/monorepo-separate-docs#notes
Hey @tripphamm
Did you try upgrading to v2 ?

I got this error when the file that was throwing an error had an improperly formatted propTypes block. It had a syntax error in it that was then somehow throwing these missing import error instead. Check to see if the file it's saying is missing an import has a syntax error somewhere in the propTypes or defaultPropTypes.


Docs broken in Chrome: "Blocked script execution"

Issue
The side nav and code toggles are broken for me, presumably due to some CSP issue? At any rate, this error consistently pops up in the Chrome console:

Blocked script execution in 'https://gohugo.io/documentation/' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.

Environment

Chrome Version 75.0.3770.142 (Official Build) (64-bit)
macOS Version 10.14.5 (18F203)

Reproduction
The issue's pretty consistent throughout the site, but not everything is broken, so here are a couple of specific examples on the Configure Modules page

Clicking on "Content Management" in the side nav has no effect
Clicking on "toml" in the code toggle has no effect

We have moved the Hugo site source to its own repository, so we would appreciate if you could open this PR directly in hugoDocs:  https://github.com/gohugoio/hugoDocs/pulls

Sorry. It's no longer happening. Now thinking I should have restarted my machine before writing this up as an issue. 😬


Cancel requests that are queued for a client/handler on error

Closes #2478
This handles a performance bug that will cancel queued requests if a peer leaves. These are not requests in flight, so a recv has not been issued.

I went ahead and applied your other changes in: https://github.com/NVIDIA/spark-rapids/pull/2553/commits/161c6faa09e0ee36243e0a4217071d5ce05fb9a3 @jlowe.

build


Automated cherry pick of #3283: lbagent: fix listing filter on manager_id

Cherry pick of #3283 on release/2.10.0.
#3283: lbagent: fix listing filter on manager_id

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.10.0@efa2eae). Click here to learn what that means.
The diff coverage is 0%.

@@               Coverage Diff                @@
##             release/2.10.0   #3286   +/-   ##
================================================
  Coverage                  ?   7.46%
================================================
  Files                     ?     414
  Lines                     ?   66207
  Branches                  ?       0
================================================
  Hits                      ?    4944
  Misses                    ?   60839
  Partials                  ?     424

Flag
Coverage Δ

#aFlag
7.46% <0%> (?)

Impacted Files
Coverage Δ

pkg/lbagent/models/reflect.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm


catalyst-af: create hub-specific nodegroups

fix up of #5110
fixes #5091

Getting the same error here as on JMTE #5101

2024-11-18 14:05:26 [✖]  found 1 nodegroup(s) (nb-bon-r5-16xlarge) without shared security group, cluster networking maybe be broken
2024-11-18 14:05:26 [✖]  it's recommended to create new nodegroups, then delete old ones
2024-11-18 14:05:26 [✖]  as a temporary fix, you can patch the configuration and add each of these nodegroup(s) to "sg-093ed905c45100bc1"

Resource handler returned message: "The maximum number of rules per security group has been reached. (Service: Ec2, Status Code: 400, Request ID: 0e9ce1e3-bf07-4b15-a7cb-a6d80b617098)" (RequestToken: b9dff271-941d-ffdd-7bb2-44ec6d286986, HandlerErrorCode: ServiceLimitExceeded)

I tried to resolve this by increasing our "Security groups per network interface" quota, but that did not mitigate the problem.


Design: CloudStorage API full support

As noted in our public doc:
https://docs.openshift.com/container-platform/4.15/backup_and_restore/application_backup_and_restore/installing/about-installing-oadp.html
The cloudstorage api is tech-preivew:  We need this to be fully supported across aws, gcp and azure.
The CloudStorage API is a Technology Preview feature when you use a CloudStorage object and want OADP to use the CloudStorage API to automatically create an S3 bucket for use as a BackupStorageLocation.

The CloudStorage API supports manually creating a BackupStorageLocation object by specifying an existing S3 bucket. The CloudStorage API that creates an S3 bucket automatically is currently only enabled for AWS S3 storage.

When OADP uses the CloudStorage API we should have an option in DPA that defaults to true for automatic bucket creation.

CloudStorage API for 1.4.0

Current status
2. AWS supported
3. GCP not
4. Azure not
Cloud credential operator
6. CCO doesn’t support WIF yet for standardized flow

High Level Breakdown of required work:

Background work
list out all related DPA config keys and value types
list out all the cloud specific keys and value types for configuration per cloud ( AWS, GCP, Azure )
Propose common user friendly variable names

The work:
AWS:
1.
2.
GCP:
1.
2.
Azure:
1.
2.

/lifecycle frozen


Rearranged board members

As per karni's request. Final change to tiers.json

Can we bump historian up some ranks too

Can we bump historian up some ranks too

no

Can we bump historian up some ranks too

no

D:<

Sorry for the late response but we're nearing the end of this semester and I feel like there's no point in updating the tiers at this very moment when the entire list will be changing so I'm just gonna deny this and then we can figure it all out again next semester.

F in the chat


working docker compose example

To run it the whole project must be built first. After that you can run the build.sh script in the root of the DockerComposeClusterHelloWorld example folder.

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

LGTM cc @AsynkronIT/developers


Fix/build instructions

Updates contributing instructions
fixes empty components not being removed to improve usability

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[WIP] Add Blog Post

The structure and styles are still messy, but blog posts using markdown can be tested.

Please take a look at the page and its markdown file.


fix(static_drivable_area_expansion): fix bug in expansion logic for hatched road marking (#5842)

Description
Related PR: https://github.com/autowarefoundation/autoware.universe/pull/5842
Related Ticket: https://tier4.atlassian.net/browse/RT1-4407

Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

I confirmed the drivable area is expanded as expected.
Only hatched road markings

Only intersection area

Hatched road markings and intersection area


Ordering of chunks

Ordering is possible now and some processed feedback from the second RITE participant.

It seems to work, altough I do not have the list here, so can not verify if everything is solved.


Feedback on current state of list command implementation

The response to an empty command line seems to produce an extra prompt:
PCyl>
PCyl:
PCyl>
Perhaps this is part of a feature that echoes command input.

The state variable "area" is missing from some of the responses.  For example:
list dep
DEPENDENT VARIABLES                                        CONSTRAINT LEVELS
STATUS         MIN           MAX
force           =      251.3274  LBS.                   1000.0000
stress          =     2500.0000  PSI                                  3000.0000

A list command followed by multiple (DPSV) names separated by a single space produces expected results.  A list command followed by the same set of names separated by multiple blanks produces unexpected results.

For this case, the term in parens should be "outputs":
PCyl>list state
PCyl: list state
DEPENDENT VARIABLES  (inputs)
force           =      251.3274  LBS.                      0.0000
area            =        0.5027  SQ.-IN.                   0.0000
stress          =     2500.0000  PSI                       0.0000
PCyl>

"list levels" does not produce a listing of constraint levels.

The first design parameter in the listing produced by "list design" has an extra blank space in the "BEFORE SEARCH" column.
PCyl>list design
PCyl: list design
INDEPENDENT VARIABLES  (inputs)                       BEFORE SEARCH
pressure        =      500.0000  LBS/SQ-IN                  0.0000
radius          =        0.4000  INCH                      0.0000
thickness       =        0.0400  INCH                      0.0000
PCyl>

Fixed. Removed input echo.
The 'area' has lmin = 0 and lmax = 0, so it should not print. No change.
Fixed. Added regular expression for multiple blanks.
Fixed. Changed from 'inputs' to 'outputs'. Copy-and-paste error.
The "list level" DOS PCyl output matches. No change.
The "LBS/SQ-IN" is 9 characters. No change.

Per phone conversation: decided to keep echo of command input (1. above) at least for the duration of software development and testing.


Apply to Metrics is blank

Grafana version - 7.4.0
Flowcharting version - 0.9.0
Datasource - Zabbix
For some reason, after updating Grafana, my mappings are all messed up.  When i have just one query, the mapping menu, under options, shows Apply to Metrics, but when i add multiple queries the Apply to Metrics does not pull in information and the Apply to Column option becomes visible.  I can get metrics to show if i change the Apply to Metrics to "undefined" and then Apply to Column has the list of my queries, but when i save and then navigate away back to the page, the metrics are not mapped any further.  I am not sure if this is a bug or if this is just me.  Any direction or something i could try would be great.
Thank you for your help.
Drabert

I have the same problem.
My grafana version-v7.4.5 (8a2c78d3f8)
Flowcharting version - 0.9.0
Datasource - Zabbix

I have the same problem.
I performed transformations such as "Merge" and "Group By".
But I can only select "undefined" on "apply to metrics" menu of flowcharting.
It seems to work well when I select "undefined" and proced.
But, When reloading the page after saving, it encounters "Blank" on "apply to metrics" field and does not work.
My Grafana v7.3.7 (1e261642f4)
Flowcharting version - 0.9.0
Datasource - Json API

probably a duplicate of https://github.com/algenty/grafana-flowcharting/issues/283


Documentation Improvements

Reading through the todo example code, it looks like peek has changed and this has not been updated on the front page documentation. ParentDSL doesn't seem to be mentioned either. Most challenging part of halogen is managing all the type stacks.
Edit: Sorry, it looks like those types were just added recently, didn't mean to be pushy.

No problem :smile:
The render, eval, peek types in the todo example are still typed as per the documentation, but arriving there via alternative synonyms.
I think we probably should switch over all the documentation to use the new synonyms though, as they are a bit more useful on the whole (and actually look like functions which should help comprehension).

Thanks! One thing that would be helpful would be to see AJAX and other effects get mixed in the Parent/Child component. Anyway, that's where I am stuck on now, getting the types to work. I think others might run into that issue as well ;)

This has an example in Five.purs and Six.purs where AJAX is used in the child, but using it in the Parent and getting the types right is the challenge.
https://github.com/parsonsmatt/purs-architecture-tutorial/tree/master/src/Example

Sorry, I don't have time to make an example of this right now, but I'll try and do so tomorrow.

You should just be able to run liftFI (yourAffjaxRequest) in the parent component as well. Can you post what exactly you're having issues with?

I think we probably should switch over all the documentation to use the new synonyms though, as they are a bit more useful on the whole (and actually look like functions which should help comprehension).

Would you consider reexporting the Natural synonym? All the other synonyms are available under the root Halogen import. It'd be nice to not have that there as well.

I think the specific issues in here were addressed a while ago, and I'll be updating the docs again for the new release to ensure everything is up to date for 0.6 since we've now eliminated some of these old type synonyms, etc.


Node 16 is deprecated

Heads up:
https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: cardinalby/schema-validator-action@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.

Thanks for the remainder, just updated

Thanks for the quick fix!

It (2377bdc0a633d3dfe1896c974b259cad077986fe) doesn't seem released to me yet:

https://github.com/cardinalby/schema-validator-action/compare/3.1.0...master

Could you please release a new version (4.x.x or 3.2.x) with this fix?
As I'm getting:

Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: cardinalby/schema-validator-action@76c68bfc941bd2dc82859f2528984999d1df36a4. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/

When using it like this:
      - uses: cardinalby/schema-validator-action@76c68bfc941bd2dc82859f2528984999d1df36a4 # 3.1.0

The fix is available under @master, @v3 and @3.1.1


fix: update methods signatures

@flugg can you merge this please?

@flugg bump

@flugg please?

Hi guys, sorry for the long wait. As an avid open-source user myself, I know the frustration when things aren't kept up-to-date. It's been increasingly harder to find the time for personal projects like this. With that said, thanks for the pull request! I'll make sure to tag a minor release as well.


Can't run poetry install. Greenlet not supporting PEP 517 builds.

Policy and info

Maintainers will close issues that have been stale for 14 days if they contain relevant answers.
Adding the label "sweep" will automatically turn the issue into a coded pull request. Works best for mechanical tasks. More info/syntax at: https://docs.sweep.dev/

Expected Behavior
Please describe the behavior you are expecting.
Current Behavior
What is the current behavior?
Failure Information
Information about the failure, including environment details, such as LLM used.
Failure Logs
If your project includes a debug_log_file.txt, kindly upload it from your_project/.gpteng/memory/ directory. This file encompasses all the necessary logs. Should the file prove extensive, consider utilizing GitHub's "add files" functionality.

This is likely related to your local installation. We are closing it for now, but if you encounter more issues, let us know.


chore: add integration tests

Issue
Currently there are no integration tests to check a plugin update with the reaction version
Solution
This PR adds a circle CI step that runs the integration tests on the plugin.
Breaking changes
None expected
Testing

Go to the CircleCI jobs, in the logs you can see the integration tests being run.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: