[BUG] Upgrading Longhorn-crud to 1.3.0 results in Rancher UI not working

Describe the bug
I'm not sure how to explain this, but as soon as I upgraded the CRD to 1.3.0 from 1.2.5 Rancher won't load the UI.
I get this:
A clear and concise description of what the bug is.

time="2022-10-20T09:04:59Z" level=error msg="Failed to connect to proxy. Empty dialer response" error="dial tcp <IP_ADDRESS>:443: connect: connection refused"
time="2022-10-20T09:04:59Z" level=error msg="Remotedialer proxy error" error="dial tcp <IP_ADDRESS>:443: connect: connection refused"
time="2022-10-20T09:05:09Z" level=info msg="Connecting to wss://<IP_ADDRESS>/v3/connect with token starting with 5qp6bxkd96xm67jpxkzppfrdhsf"
time="2022-10-20T09:05:09Z" level=info msg="Connecting to proxy" url="wss://<IP_ADDRESS>/v3/connect"
time="2022-10-20T09:05:09Z" level=info msg="Starting plan monitor, checking every 120 seconds"

I wasn't able to roll back to before the upgrade:
Error: cannot patch "engines.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "engines.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "replicas.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "replicas.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "settings.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "settings.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "volumes.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "volumes.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "engineimages.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "engineimages.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch
 "nodes.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "nodes.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "instancemanagers.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "instancemanagers.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "sharemanagers.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "sharemanagers.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "backingimages.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "backingimages.longhorn.io" is invalid: status.storedVersions[1]
: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "backingimagemanagers.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "backingimagemanagers.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "backingimagedatasources.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io
 "backingimagedatasources.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "backuptargets.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "backuptargets.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "backupvolumes.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "backupvolumes.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "backups.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "backups.
longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions && cannot patch "recurringjobs.longhorn.io" with kind CustomResourceDefinition: CustomResourceDefinition.apiextensions.k8s.io "recurringjobs.longhorn.io" is invalid: status.storedVersions[1]: Invalid value: "v1beta2": must appear in spec.versions

Ref: https://github.com/longhorn/longhorn/discussions/4198#discussioncomment-3071658
See attachments for CRDS:
kubectl get crds nodes.longhorn.io -o yaml
kubectl get crds engineimages.longhorn.io -o yaml
kubectl get crds backingimages.longhorn.io -o yaml
kubectl get crds backuptargets.longhorn.io -o yaml
kubectl get crds volumes.longhorn.io -o yaml

backingimages.longhorn.io.txt
engineimages.longhorn.io.txt
volumes.longhorn.io.txt
backuptargets.longhorn.io.txt
I can't even do an ETCD restore as the cluster agent can't connect, my only choice (besides a solution from the team here), is to roll back an older version of rancher, which shows cluster snapshots (despite the fact that cluster agent doesn't connect, and pray a restore will work, which is not ideal, since it is from the 8th of October........)
Funnily enough I can still access Lonhorn UI.
I tried to lower replica count and got:
unable to update replica count for volume pvc-ad916f17-caa4-42e1-a7ac-353b6275d533: conversion webhook for longhorn.io/v1beta1, Kind=Volume failed: Post "https://longhorn-conversion-webhook.longhorn-system.svc:9443/v1/webhook/conversion?timeout=30s": service "longhorn-conversion-webhook" not found

To Reproduce
Steps to reproduce the behavior:

Go to Helm Apps in Rancher and upgrade Longhorn CRD to 1.3.0 from 1.2.5

Expected behavior
An upgrade that doesn't bork my cluster
Log or Support bundle
If applicable, add the Longhorn managers' log or support bundle when the issue happens.
You can generate a Support Bundle using the link at the footer of the Longhorn UI.
Environment

Longhorn version: 1.2.5
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): Helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: RKE

Number of management node in the cluster: 5
Number of worker node in the cluster: 5

Node config

OS type and version: Linux 20
CPU per node:
Memory per node:
Disk type(e.g. SSD/NVMe):
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal):
Number of Longhorn volumes in the cluster: 10

Additional context
Add any other context about the problem here.

Downgrading Longhorn is not supoorted. Why not upgrade to v1.3.1 and check the root cause of the UI not working issue?

It seems that you upgraded the wrong chart. In Rancher Ui, you will see 2 charts longhorn and longhorn-crd. You should only upgrade the longhorn chart. The longhorn-crd chart is a dependent chart, its upgrade will be handle automatically by Rancher UI.

I can't even do an ETCD restore as the cluster agent can't connect, my only choice

Do you mean that the upgrade break Rancher agent as well as the ETCD?

It seems that you upgraded the wrong chart. In Rancher Ui, you will see 2 charts longhorn and longhorn-crd. You should only upgrade the longhorn chart. The longhorn-crd chart is a dependent chart, its upgrade will be handled automatically by Rancher UI.

Seems I read the upgrade instructions wrong.
In the past I did the crd first, then the main Longhorn one.

Do you mean that the longhorn-crd chart upgrade broke Rancher agent as well as the ETCD?
As soon as I upgraded Longhorn CRD, Cluster agent had issues, Rancher web UI would basically just time out trying to show the cluster explorer, or any resource for the cluster, it would even hang NOT browsing the cluster itself.

Luckily I was able to initiate a ETCD restore after a lot of trial and error, and once I restored ETCD I uninstalled Longhorn. I've been burned by it for far too long even before it borked my cluster.


What do the values of some sensors‘ attributes  truely means？

Hi, When I attach ”electrics“ sensor to a vehicle and try  to get some data, I found  the data I got is not the same as I thought. As follows:
First, the vehicle is define at position (0,0,0)
scenario = Scenario('smallgrid', 'example')
vehicle = Vehicle('ego_vehicle', model='etk800', licence='PYTHON')
electrics = Electrics()
vehicle.attach_sensor('electrics', electrics)
timer = Timer()
vehicle.attach_sensor('timer', timer)
scenario.add_vehicle(vehicle, pos=(0, 0, 0), rot=None, rot_quat=(0, 0, 0.3826834, 0.9238795))

Then, I can pull the sensors data and output the data.
sensors = beamng.poll_sensors(vehicle)
timeNow = sensors['timer']['time']
posNow = sensors["state"]['pos']
dirNow = sensors["state"]['dir']
wheelspeed = sensors['electrics']['wheelspeed']
throttle = sensors['electrics']['throttle']
steering = sensors['electrics']['steering']
brake = sensors['electrics']['brake']

The part of the output is shown as follows. From here, it can be found that the vehicle's position (-0.     0.001  0.186)  here is not same as what I defined before (0, 0, 0). It really troubles me a lot.   And I also have the following doubts about the meaning of other properties.

Is "dir" the moving direction of the vehicle? The scene level I use is "smallgrid" and the ground in this scene looks flat. Why time is 0, the z coordinate value of dir is not 0？
Is "wheelspeed" the speed  of the rear wheels?
Is the correspondence between "steering" and steering wheel angle linear?
Why is the "brake" value not 0 when t=0 (Vehicle does not start)?

'time', 'pos', 'dir', 'wheelspeed', 'throttle', 'steering', 'brake'
0	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	-0.0	0.3
0.041	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	0.0	0.3
0.081	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	0.0	0.3
0.122	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	-0.0	0.3
0.162	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	-0.0	0.3
0.202	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	-0.0	0.3
0.243	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	0.0	0.3
0.283	[-0.     0.001  0.186]	[-0.    -1.    -0.011]	0.0	0	0.0	0.3

Looking forward for a reply. Thans very much.

Hi naner34,
Thank you for your queries. I will try to answer them here:
The vehicle position is actually the vehicles 'ref node' snapped to the float grid, which may be slightly different from the position which you said.  The 'ref node' is fairly stable, so if you do not deform the vehicle too much, this will be fixed, and you can take the difference into account if you need to (it should remain the same for all time). Note: even the 'ref node' is not at (0, 0, 0).
Our jbeam engineers choose four stable vehicle nodes to define the local reference system of the vehicle. These nodes should be well-positioned and guarded so as to avoid being exposed to deformation as much as possible. From these four nodes, we compute vectors such as 'forward' and 'up' - these are useful since they provide a local frame for the vehicle at a given time (you can get the third vector by taking the cross product of these two, for example) and use these to form transformation matrices etc.  The reason the direction is not parallel to the XY plane, as you have noticed, is because these vectors will be slightly out.  It is very close to parallel here - -0.011 is very small, and again this should remain constant, so one can take this into consideration when doing any computations with it, if required.  'dir' here is just the forward direction of this frame ie the direction in which the vehicle is facing forward.
'wheelspeed' is usually the average speed of all four wheels.
Steering is linear with the movement within the steering rack, but not necessarily linear with wheel angle (this depends on the suspension geometry, and whether you are looking at the left or right wheel (it will be assymmetric depending on the Ackermann angle setup for the vehicle, eg see https://en.wikipedia.org/wiki/Ackermann_steering_geometry for some more information on that).
Regarding the question about the brake value:  are you using the 'arcade' shifting mode? this mode will automatically apply some braking for you when the vehicle is stopped.  Maybe try switching to the 'realistic' shifting mode and review the options->gameplay->assistant settings if you do not want the game to be adding extra helper inputs.
We hope the information here will help you somewhat with your queries.
Best regards,
BeamNG Tech Team

Thank you very much. It helps me a lot.


aws2-ddb: cannot use url-connection-client if quarkus-amazon-dynamodb is in the classpath

See items 2 and 4  from this PR for more details.
Currently it is not possible to use url-connection-client with quarkus-amazon-dynamodb because it creates runtime error, that both apache and non-apache clients are present together. Exclusion of apache client doesn't work, because aws-support extension requires it. (which could be possible to refactor)
Using quarkus-amazon-dynamodb also breaks integration-tests/aws2 - it has to be investigated, whether it is possible to leverage quarkus-amazon-dynamodb and modify both test modules accordingly.

Currently it is not possible to use url-connection-client with quarkus-amazon-dynamodb

I vote for documenting this in aws2-ddb limitations.adoc and see whether there is a demand (please upvote!) for fixing it.


fix: Cannot read property 'forEach' of undefined

Sorry for the sudden PR.
An error was occurring while using the program, so I have made a temporary fix!
The full text of the error that was occurring is as follows
TypeError: Cannot read property 'forEach' of undefined
    at Object.exports.bigQueryTableInsertErrors (/home/yuuta3594/.npm/_npx/d906c8461d95e111/node_modules/@firebaseextensions/firestore-bigquery-change-tracker/lib/logs.js:138:18)
    at FirestoreBigQueryEventHistoryTracker.insertData (/home/yuuta3594/.npm/_npx/d906c8461d95e111/node_modules/@firebaseextensions/firestore-bigquery-change-tracker/lib/bigquery/index.js:191:18)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async FirestoreBigQueryEventHistoryTracker.record (/home/yuuta3594/.npm/_npx/d906c8461d95e111/node_modules/@firebaseextensions/firestore-bigquery-change-tracker/lib/bigquery/index.js:74:9)
    at async run (/home/yuuta3594/.npm/_npx/d906c8461d95e111/node_modules/@firebaseextensions/fs-bq-import-collection/lib/index.js:229:9)
Error importing Collection to BigQuery: TypeError: Cannot read property 'forEach' of undefined

Thanks @YutaUra.
We have added this PR for reviewing,

I built off of this here https://github.com/firebase/extensions/pull/1310 as there are other places where this error can happen (see for example https://github.com/firebase/extensions/issues/1309)
If the new PR passes code reviews etc, i will close this PR. Your commit is in the new PR :)

Thank you 😆


Unable to redirect to the find facilities page from details page

Current behavior

When on details page and then clicking the back button, the user is landed on a blank page instead of moving to the list page
Expected behavior

On clicking back button the user should always move to the find facilities page
Steps to reproduce the issue

Go to detail page of any facility
Refresh the page
Click the back button and check that the list page is not visible

Can you handle fixing this bug by yourself?

[x] YES
[ ] NO

Environment details

Browser:
OS:
Code Version:

Additional information

Also check for any redirections inside the app and update them.

Verified and working fine in release v1.9.3. Hence, closing this ticket.


Tokenizer settings

Awesome work!
Just some short questions regarding:
https://github.com/Pandora-Intelligence/fast-sentence-transformers/blob/3f277ee7b49d78e0a61fe72d82e02064d4a33e71/fast_sentence_transformers/FastSentenceTransformer.py#L330-L331
Why are the tokens returned as pt (cuda) tensor, but converted to numpy array in the next line. Am I missing something! Would it make sense to change to return type np?

Hi @michaelfeil, you are correct! I think it is some legacy code.

Hi @michaelfeil, just getting back to you. It is because the pooling_model.forward() expects a tensor. So, we do actually need to do a conversion. Either, from np to pt or the other way around.


Improve push-antrea.sh script (Vagrant testbed)

Improve support when additional K8s worker Nodes are created (not a
single one, which is the default). Instead of asking the user to set the
NUM_WORKERS environment variable to the correct value, we consider all
the hosts in the generated ssh-config file.

@GraysonWu this is to address the issue you ran into a while back

Codecov Report

Merging #1977 (ca317ae) into main (796ea63) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1977      +/-   ##
==========================================
- Coverage   41.90%   41.85%   -0.06%
==========================================
  Files         123      124       +1
  Lines       14903    15218     +315
==========================================
+ Hits         6245     6369     +124
- Misses       8124     8322     +198
+ Partials      534      527       -7

Flag
Coverage Δ

unit-tests
41.85% <ø> (-0.06%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ntroller/networkpolicy/networkpolicy_controller.go
56.52% <0.00%> (-9.11%)
:arrow_down:

pkg/apiserver/storage/ram/watch.go
84.61% <0.00%> (-3.85%)
:arrow_down:

pkg/ovs/openflow/ofctrl_packetout.go
71.49% <0.00%> (-3.76%)
:arrow_down:

pkg/controller/networkpolicy/clustergroup.go
68.02% <0.00%> (-2.25%)
:arrow_down:

pkg/agent/controller/networkpolicy/packetin.go
9.09% <0.00%> (-1.68%)
:arrow_down:

pkg/controller/networkpolicy/crd_utils.go
88.60% <0.00%> (-1.61%)
:arrow_down:

pkg/agent/openflow/client.go
32.28% <0.00%> (-0.85%)
:arrow_down:

pkg/agent/flowexporter/exporter/exporter.go
48.26% <0.00%> (-0.51%)
:arrow_down:

...ntroller/networkpolicy/networkpolicy_controller.go
55.51% <0.00%> (-0.41%)
:arrow_down:

pkg/agent/openflow/network_policy.go
65.52% <0.00%> (-0.30%)
:arrow_down:

... and 7 more

/skip-all


feat(submodules): allow python submodule name configuration

Using a .jsiirc.json file, the name generation for entities within a
submodule can be configured ot use a different name than the default.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: AutoBuildProject6AEA49D1-Blkkw9bQFn8A
Commit ID: 43a514bcb10fd3be7fc39b2571e67f43f04e265d
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository

@eladb - can't you just make monocdk's root Java package be software.amazon.awscdk.core, and then customize the Java package name of submodules in there? What's missing?

@eladb - can't you just make monocdk's root Java package be software.amazon.awscdk.core, and then customize the Java package name of submodules in there? What's missing?

I guess you are right. @MrArnoldPalmer can you acknowledge that you saw this discussion?

I'm dropping this PR because it'll be superceded by a different (and I believe slightly simpler) way to model the data in the Assembly schema.


TimeSeries Store Operation PB Encode Performance Improvements

Some changes that @srgg made on another branch to improve TS PB encoding performance. Cherry-picking here to get them into the build while he works on some other query-related decode perf changes.

Looks good to me

:shipit:


Is this discontinued?

Is this discontinued?

Check this https://www.youtube.com/watch?v=Bx_gwRODtlY

We didn't give this library much thought in the past, but maintainability may be improved now.


[API] None intent should have a probability

In the current setup the IntentClassifiers return the None in the get_intent method when the None intent is detected. This means that the NLU output is something like:
{
    "input": "nothing here",
    "intent": null,
    "slots": []
}

when we expect the richer:
{
    "input": "nothing here",
    "intent": {"intentName": null, "probability": 0.945533},
    "slots": []
}

Indeed. This is a breaking change in the top level API though, so we need to schedule this change properly.


Support KV-only mode

Feature Request
Currently, tidb-lightning only supports SQL-like data to be imported into TiKV. But, in fact, tidb-lightning consists of two parts: translating SQL data in KV pairs and importing KV pairs into TiKV. By splitting these two steps, we can support importing KV-like data into TiKV, e.g. migrating from HBASE to TiKV.

(since Lightning has been merged into BR and this repo will be archived soon, I'll move this to pingcap/BR first.)


How do i use socketbot with watson conversation

Hi
I want to know how i can use socketbot without botkit studio token. I am using botkit with watson and facebook as thirdparty now, would like to know how i can receive and send messages that i was doing using facebookbot through socketbot. So, instead of facebook, i want to get the watson responses on my web application now.
Any help would be appreciated. Thanks

Use https://github.com/howdyai/botkit-starter-web and replace Botkit Studio integration code with Watson integration code that you can find in the README file.

Did you mean this,
var bot_options = {
username: process.env.CONVERSATION_USERNAME,
password: process.env.CONVERSATION_PASSWORD,
workspace_id: process.env.WORKSPACE_ID,
url: process.env.CONVERSATION_URL,
version_date: process.env.CONVERSATION_VERSION_DATE
replyWithTyping: true,
};
Thanks

Yes, options are necessary, but you have to create middleware object and register it with Botkit (as in example).
And don't forget to install botkit-middleware-watson using npm.

How can I directly take user inputs from a channel, say facebook, for a particular topic instead of passing it to watson middleware when I have watson middleware for other intents in my code?
I want to have a conversation without sending it to watson.
Thanks

As far as I understand it, you need to use a middleware wrapper, as explained in the readme file (see section on message filtering). That is, you write your own function that decides when/how to pass the message to the Watson middleware (or not).

Thank you so much. That helps a lot.
Can i build an entire conversation using this message filtering?
Thanks

Thanks a lot


Component soyosource_display took a long time for an operation

Hello,
I tought to give this tiny board esp32-c3-devkitm-1 a try, it is smaller and more powerful than esp8266.
I installed code from your repository.
Thanks for that.
It works in general but it generates a lot of this messages.

Component soyosource_display took a long time for an operation (54 ms).
Components should block for at most 30 ms.
Do you have any idea to get rid of it?

No. These warnings are normal and can be ignored.
See https://github.com/esphome/issues/issues/4717

This is just processing time and 54ms isn't much. Why do you want to speed up this? Did you try to remove some sensors and decrease the log level?

This isn't a delay. The display port of the devices just pushes some data and the decoding of the data takes 54ms.

Thanks. maybe i must here disable the logging coure other reasons. The ESP32-C super mini have a poor  antenna, to poor for mounting inside the alu case of the soyo inverter. I'm currently trying to create a circuit board for the ESP01. The router shows me almost 20dBm more. The resources are somewhat limited and I need 4 GPIO.


Linktree-clone

Made a clone of linktree with animated background with reference to issue #5

Hi please make the changes in readme table too

Yes done with it 👍

Please merge code also


[NewPlugin]  tchebb binaryninja-offsetview v0.2

Please add my plugin to the repository.
Yes, I've read the instructions, especially the part about creating an actual release and creating the tag.
I either used the UI, or the hub command to create a real release.
Author: Me
Repo name: binaryninja-offsetview
Release: v0.2

Have you tried "Open with Options" in Binary Ninja? We support rebasing in the UI and headless now for supported file formats and raw files.

Oh, that's great to hear! I let my subscription lapse a while ago so didn't know about the new feature. That could be a reason to renew, though. Until then, I'll keep using this for myself :)


Saving 26k objects in context with property AutoDetectChangesEnabled set to false takes much more time than in EF6

Hi.
In previous version (EF6) when Configuration.AutoDetectChangesEnabled is set to false and I add to context 26k objects, and call SaveChanges() - saving operation takes 40 seconds.
In Entity Framework Core this operation with property ChangeTracker.AutoDetectChangesEnabled = false, and with the same count and type of objects takes 15 minuts.
Where is the problem or what I'm doing wrong?

Which EF version? - a number of performance impovements have been made in RC 2

7.0.0-rc1-final - package in project.json and 7.0.0-rc1-16348 - Product Version in DbContextModelSnapshot

When I will be able to use RC2? :)

Soooon!

Duplicate of https://github.com/aspnet/EntityFramework/issues/4831


Barell package

It's a bit noisy to both install all deps and to import them one-by-one.
It'd be nice to be able to install 1 package, e.g. npm i @react-email/components that had all the components as deps.
The way that would work would simply to be something like the below:
export * from '@react-email/body';
export * from '@react-email/button';
export * from '@react-email/column';
export * from '@react-email/container';
export * from '@react-email/head';
export * from '@react-email/heading';
export * from '@react-email/hr';
export * from '@react-email/html';
export * from '@react-email/img';
export * from '@react-email/link';
export * from '@react-email/preview';
export * from '@react-email/render';
export * from '@react-email/row';
export * from '@react-email/text';

Nice, let's do it!


Documentation failed to build in docs.rs

Will need to dig into what happened here. For now our documentation is serving a 404.
https://docs.rs/crate/proc-macro2/0.4.21/builds/126085
$ rustc --version
rustc 1.31.0-nightly (78ff609d7 2018-10-19)
$ cratesfyi --version
cratesfyi 0.6.0 (c695234 2018-11-02)
$ cratesfyi ...
    Updating crates.io index
 Downloading crates ...
  Downloaded proc-macro2 v0.4.21
   Compiling proc-macro2 v0.4.21
       Fresh unicode-xid v0.1.0
     Running `rustc --crate-name build_script_build /home/cratesfyi/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.21/build.rs --color never --crate-type bin --emit=dep-info,link -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="proc-macro"' -C metadata=167aa8b4d7bae7c9 -C extra-filename=-167aa8b4d7bae7c9 --out-dir /home/cratesfyi/cratesfyi/debug/build/proc-macro2-167aa8b4d7bae7c9 -L dependency=/home/cratesfyi/cratesfyi/debug/deps --cap-lints allow`
     Running `/home/cratesfyi/cratesfyi/debug/build/proc-macro2-167aa8b4d7bae7c9/build-script-build`
 Documenting proc-macro2 v0.4.21
     Running `rustdoc --crate-name proc_macro2 /home/cratesfyi/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.21/src/lib.rs --cap-lints allow --color never -o /home/cratesfyi/cratesfyi/doc --cfg 'feature="default"' --cfg 'feature="proc-macro"' -Z unstable-options --resource-suffix -20181019-1.31.0-nightly-78ff609d7 --extern-html-root-url 'unicode_xid=https://docs.rs/unicode-xid/0.1.0' --cfg procmacro2_semver_exempt -L dependency=/home/cratesfyi/cratesfyi/debug/deps --extern unicode_xid=/home/cratesfyi/cratesfyi/debug/deps/libunicode_xid-264701959ae3940e.rmeta --cfg u128 --cfg use_proc_macro --cfg wrap_proc_macro`
error[E0412]: cannot find type `SourceFile` in module `imp`
   --> /home/cratesfyi/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.21/src/lib.rs:223:28
    |
223 | pub struct SourceFile(imp::SourceFile);
    |                            ^^^^^^^^^^ not found in `imp`
help: possible candidates are found in other modules, you can import them into scope
    |
56  | use SourceFile;
    |
56  | use proc_macro::SourceFile;
    |
56  | use stable::SourceFile;
    |

error: Compilation failed, aborting rustdoc

thread 'main' panicked at 'ProcessError { desc: "process didn\'t exit successfully: `rustdoc --crate-name proc_macro2 /home/cratesfyi/.cargo/registry/src/github.com-1ecc6299db9ec823/proc-macro2-0.4.21/src/lib.rs --cap-lints allow --color never -o /home/cratesfyi/cratesfyi/doc --cfg \'feature=\"default\"\' --cfg \'feature=\"proc-macro\"\' -Z unstable-options --resource-suffix -20181019-1.31.0-nightly-78ff609d7 --extern-html-root-url \'unicode_xid=https://docs.rs/unicode-xid/0.1.0\' --cfg procmacro2_semver_exempt -L dependency=/home/cratesfyi/cratesfyi/debug/deps --extern unicode_xid=/home/cratesfyi/cratesfyi/debug/deps/libunicode_xid-264701959ae3940e.rmeta --cfg u128 --cfg use_proc_macro --cfg wrap_proc_macro` (exit code: 1)", exit: Some(ExitStatus(ExitStatus(256))), output: None }

Could not document `proc-macro2`.', src/bin/cratesfyi.rs:142:13
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Documenting that release with that compiler does work locally...
$ git checkout 0.4.21
$ RUSTFLAGS='--cfg procmacro2_semver_exempt' cargo +nightly-2018-10-20 doc

From tracing through the feature flags, this failure means that the build was configured as follows:

with cfg(procmacro2_semver_exempt) because lib.rs:223 is being compiled;
with cfg(wrap_proc_macro) because cfg(not(wrap_proc_macro)) unconditionally defines imp::SourceFile in stable.rs;
without cfg(super_unstable) because unstable.rs is not defining SourceFile.

Relevant configuration on our end:
https://github.com/alexcrichton/proc-macro2/blob/3f8382d1bb42f0121707660b9b7f0628a371c840/Cargo.toml#L21-L22
https://github.com/alexcrichton/proc-macro2/blob/3f8382d1bb42f0121707660b9b7f0628a371c840/build.rs#L25-L31

From this I conclude that --cfg procmacro2_semver_exempt is not being passed when building the build script. There may be a different field in [package.metadata.docs.rs] that also needs to be set.

Working backwards from the command-lines given by Cargo in the log...
(when building the build script)
$ rustc ... --cfg 'feature="default"' --cfg 'feature="proc-macro"'

(when documenting the crate)
$ rustdoc ... --cfg 'feature="default"' --cfg 'feature="proc-macro"' ... --cfg procmacro2_semver_exempt ... --cfg u128 --cfg use_proc_macro --cfg wrap_proc_macro

But in the build log for 0.4.20...
(when building the build script)
$ rustc ... --cfg 'feature="proc-macro"' --cfg 'feature="default"'

(when documenting the crate)
$ rustdoc ... --cfg 'feature="proc-macro"' --cfg 'feature="default"' ... --cfg procmacro2_semver_exempt ... --cfg use_proc_macro

It looks like 0.4.21 is getting more cfg flags. I don't think the rustdoc-args configuration was ever given to the build script. It's analogous to setting $RUSTDOCFLAGS or using cargo rustdoc.

279519f0b426d1a9c9a7f95bf3353e716d41fa0f seems to fix it. I released 0.4.22 and filed https://github.com/rust-lang-nursery/docs.rs/issues/262 to follow up in docs.rs.

I think i found the major difference:
https://github.com/alexcrichton/proc-macro2/blob/553aaa900be64c2b36ec34b90c54c4b493500f79/build.rs#L24-L31
The rustc used by docs.rs until recently had the version string 1.28.0-dev, which caused the wrap_proc_macro to not get set. Now that the compiler is new enough, it goes into that block to set cfg(wrap_proc_macro), which leaves in the hole you've now discovered.

Right you are! I missed that the previous version was building with 1.28.0-dev. :clap: Thanks and apologies for dragging you into this.

Hi @dtolnay,
I'm having trouble building the docs for my crate due to this issue it seems: https://docs.rs/crate/cqc/0.3.4/builds/126609
I can't reproduce the error on my machine on neither stable or nightly. Any ideas what's going wrong?


Uncaught TypeError: Cannot read properties of null (reading 'instantBootEnabled')

While using intercom on my react project. I can see this error.
Uncaught TypeError: Cannot read properties of null (reading 'instantBootEnabled')
I'm not sure It caused suddenly. It worked till now.
Here is my code:
const { boot } = useIntercom();
useEffect(() => {
  boot({
    customAttributes: {
      horizontal_padding: 25,
    },
  });
}, [boot]);

This has just started occurring for us over the past couple of days too, unaware of any code changes our side that caused this.

I was getting this earlier but now seems to have fixed itself. The exception originated from https://js.intercomcdn.com/frame-modern.xxx.js so perhaps it was a wider problem with Intercom rather than this library.

Same problem

Also seeing this intermittently under local development

This seems to be crashing how web app quite frequently. Here is a full stacktrace
{
  message: null is not an object (evaluating 'e.instantBootEnabled'),
  name: TypeError,
  stack:
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:657609
v@https://js.intercomcdn.com/vendor.989ae25f.js:2:535589
@https://js.intercomcdn.com/vendor.989ae25f.js:2:537066
v@https://js.intercomcdn.com/vendor.989ae25f.js:2:535589
@https://js.intercomcdn.com/vendor.989ae25f.js:2:537032
v@https://js.intercomcdn.com/vendor.989ae25f.js:2:535589
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:659107
@https://js.intercomcdn.com/vendor.989ae25f.js:2:584026
forEach@[native code]
m@https://js.intercomcdn.com/vendor.989ae25f.js:2:584019
dispatch@https://js.intercomcdn.com/vendor.989ae25f.js:2:550272
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:609920
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:565249
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:563866
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:558823
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:566465
@https://js.intercomcdn.com/vendor.989ae25f.js:2:561681
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:632589
@https://js.intercomcdn.com/frame.9a0e43ba.js:2:671283
shutdown@https://js.intercomcdn.com/frame.9a0e43ba.js:2:690621
@https://<our-web-app>/_next/static/chunks/pages/_app-4f5322db7c0bcefe.js:65:2362803
[...]
}

We're also seeing this error in Sentry, but we're not using react-use-intercom, adding to @anibe's point that this might be related to Intercom itself. We're still seeing the errors though.

Same issue !

We ended up wrapping the boot() call with a try/catch – not ideal, but seems to have stopped it from crashing our entire app.

We ended up wrapping the boot() call with a try/catch – not ideal, but seems to have stopped it from crashing our entire app.

We did the same. @cookpete do you know what happens if boot() fails. Is Intercom just not showing in that session? And does it work again when refreshing the page?

When boot() caused an instantBootEnabled error it would get caught by our ErrorBoundary and show our error page, preventing users from using the app. Although they could still open the Sentry report dialog to report the problem. Sentry showed the instantBootEnabled trace but Fullstory just showed a console error of {}, which is a bit confusing.
This only happened for a small number of users and we couldn’t see any patterns or clues as to why it happens.

@anibe do you have a link to the support request?

@theseyi no link as it was an internal request.
They have come back to say the issue has been fixed, hopefully it should be fixed for everyone here too 🤞

I'm happy to hear that Intercom resolved the issue Thanks for the updates!


Try out a codecov.yaml

Feature Request
Desired behaviour
https://docs.codecov.io/docs/codecov-yaml
At least tune the coverage thresholds

We haveone


DNC - Convert procs to TypeScript (plus 2 fixes)

Converted Procs.js to .tsx
Fixed a display problem in the timeline, proc overwrites weren't showing the new status application
Stopped counting procs lost on death as 'dropped' since we're already dinging them for dying

Dropping this PR, since I'm superseding it with a Core procs solution, that also includes the fixes I developed here.


Changed regex in last test to make it less specific.

The last test will now allow a space/spaces before the closing semicolon.
Closes #5857

Much better! :+1:


with() and select() not possible?

Laravel Version: 5.5.8
PHP Version: 7.0.19
Database Driver & Version: mysql

Description:
I am trying to eager load a set of relations with my model and at the same time use select() on the "main" model, filtering out the number of columns I fetch and also aliasing some of them. For example:
Model::with(['rel1', 'rel2'])->select(['id', 'foo as bar', 'date'])->find(1)->toArray();

But this seems to fail. If I remove the select() part I get my data for Model + rel1 and rel2.

This repo is for bug tracking. Use the forums or slack channel for solving your issue

@carestad It's possible, just make sure to also include the column you're using for the relations on the select statement.
If that still doesn't work, then you might have something wrong on your code.

@Dylan-DPC Yes, and from my understanding this is a bug.
I have been trying to get to the bottom of this on my own, but I don't have enough understanding of Laravel's code to do so.
I recently set up a test Laravel setup and created a test DB and three models. To ease the testing I just did some var_dump'ing in a artisan command created with php artisan make:command test (source follows).
Company
DB Table: companies
Columns: id, navn, phone, vatno
Model
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Company extends Model
{
    protected $table = 'companies';
}

Project
DB Table: projects
Columns: id, name, description, company
Model
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Project extends Model
{
  protected $table = 'projects';

  public function orders()
  {
    return $this->hasMany('App\Order', 'project', 'id');
  }

  public function company()
  {
    return $this->hasOne('App\Company', 'id', 'company');
  }
}

Order
DB Table: orders
Columns: id, name, description, price, project
Model
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Order extends Model
{
    protected $table = 'orders';
}

test command
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;
use App\Project;

class test extends Command
{
    /* (default stuff) */
    public function handle()
    {
      $p1 = Project::with('orders', 'company')->find(1);
      $p2 = Project::with('orders', 'company')->select('id', 'name')->find(1);

      var_dump($p1->toArray());
      var_dump($p2->toArray());
    }
}

Problem
When commenting out the var_dump of $p2, I get my expected output.
When also trying to var_dump $p2, CPU fans starts running like wild and memory consumption of PHP sky rockets until my computer freezes and in the end either kills PHP or the system.

Update: also tested in Laravel 5.5.21 and still problem still persists.

I will just make a note here that to make select() work with with(), one will have to also include the relation models' linked keys as part of the selection. So if rel1 is refered to in Models table in the column called rel1_id, the select statement needs to include rel1_id.

So your issue is that it your query takes too long to execute and dies on the way?

Well now that I figured out it was a matter of including the relation's local key in the select() it does not happen, but when I left them out that did happen, yes.


bug(MatDatepicker): Overriding MatDatepickerIntl texts

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
Hello, I'd like to override the closeCalendarLabel for all places in the application where the Material Datepicker is used.
According to the documentation: https://material.angular.io/components/datepicker/overview#localizing-labels-and-messages,
I've provided my values, but it doesn't seem to work. The new texts are applied only if I provide a custom MatDatepickerIntl in the child component where the MatDatepicker is used. Am I doing something wrong that prevents me from overriding it globally?
Reproduction
StackBlitz link: https://stackblitz.com/edit/stackblitz-starters-6vdvpgxv?file=src%2Fmain.ts
Steps to reproduce:

Override MatDatepickerIntl globally
Use the material datepicker in the child component
Open the datepicker and press TAB to show the close button.

Expected Behavior
Overriding MatDatepickerIntl globally applies new labels to all MatDatepicker instances.
Actual Behavior
Overriding MatDatepickerIntl globally does not applies new labels to all MatDatepicker instances.
Environment

Angular: 18
CDK/Material: 18
Browser(s): Firefox, Edge
Operating System (e.g. Windows, macOS, Ubuntu): Windows, macOS

It's because you're importing the MatDatepickerModule which then re-provides the default implementation. You should import the individual directives: https://stackblitz.com/edit/stackblitz-starters-f3zbbv71?file=src%2Ffoo%2Fdate-example%2Fdate-example.component.ts


onDidChangeActiveTextEditor fired twice when closing the editor

When using tab switching, for instance (Ctrl+Tab) - event is only fired 1 time as expected.
But for closing editor tab (Ctrl+W) it is fired 2 times:

The editor is undefined
The editor is the next tab (editor)

Both documents are text (not images or anything).

Version: 1.51.0-insider (user setup)
Commit: 89c002ab02f87102d91efc83c191ef1174756c6a
OS: Windows_NT x64 10.0.18363

/assign jrieken

/findDuplicates

Yeah, but we have decided not to fix this. An editor can always be undefined so it doesn't really matter if its undefined for a split seconds or not.  The underlying cause is the mechanics of the workbench


afpacket example with filter

Is it possible to assign bpf while using afpacket similar to pcap ? and if so could you provide an example
Thanks

type afpacketHandle struct {
	TPacket *afpacket.TPacket
}

func (h *afpacketHandle) ReadPacketData() (data []byte, ci gopacket.CaptureInfo, err error) {
	return h.TPacket.ReadPacketData()
}

func (h *afpacketHandle) ZeroCopyReadPacketData() (data []byte, ci gopacket.CaptureInfo, err error) {
	return h.TPacket.ZeroCopyReadPacketData()
}

func (h *afpacketHandle) SetBPFFilter(filter string, snaplen int) (err error) {
	pcapBPF, err := pcap.CompileBPFFilter(layers.LinkTypeEthernet, snaplen, filter)
	if err != nil {
		logp.Err("CompileBPFFilter failed: %v\n", err)
		return err
	}
	bpfIns := []bpf.RawInstruction{}
	for _, ins := range pcapBPF {
		bpfIns2 := bpf.RawInstruction{
			Op: ins.Code,
			Jt: ins.Jt,
			Jf: ins.Jf,
			K:  ins.K,
		}
		bpfIns = append(bpfIns, bpfIns2)
	}
	if h.TPacket.SetBPF(bpfIns); err != nil {
		logp.Err("SetBPF failed: %v\n", err)
		return err
	}
	return h.TPacket.SetBPF(bpfIns)
}

Awsome.. Thank you for this

Thanks, negbie!  Would either you or gmonk like to add a quick code sample to the examples/ directory?

Sure, I will do it in the following days.

If this https://github.com/google/gopacket/pull/460/commits/511567d6ae8083f45de05b8c00a4a300b51efa3b is too much and you only want a additional function which takes a BPF filter string and returns []bpf.RawInstruction{} so it could be used with TPacket.SetBPF(), tell me.

Example code in #460 was merged, so closing this


⚠ Bofrost.at has degraded performance

In 9f4b458, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 2015 ms

Resolved: Bofrost.at performance has improved in 642cb81 after 6 minutes.


galgebra in jupyter notebook (brombo/galgebra#39)

@Nelli-Khlyustova commented on Sep 20, 2018

Is it possible to install galgebra to anaconda?
I tried this:
import pip
!pip install galgebra
it didn't work. So what should I do?

@mevangelista-alvarado commented on Jan 15

@Nelli-Khlyustova galgebra only works in Python2 and anaconda is Python3,  for more information about how to install galgebra you can reading https://github.com/brombo/galgebra/blob/master/doc/GAlgebraPrimer.pdf

@hugohadfield commented on Jan 15

@mevangelista-alvarado  I would strongly recommend using the fork of this library maintained here:
https://github.com/pygae/galgebra
@utensil has done amazing work bringing the library into python3 and merging lingering pull requests

@mevangelista-alvarado commented on Jan 15

@mevangelista-alvarado I would strongly recommend using the fork of this library maintained here:
https://github.com/pygae/galgebra
@utensil has done amazing work bringing the library into python3 and merging lingering pull requests

Thanks, @hugohadfield for the recommendation. I will try this library with my symbolic calculus codes

@hugohadfield commented on Jan 15

@mevangelista-alvarado let us know if you have problems with python3 etc.

@utensil commented on Jan 17 •
edited

Yes, please try to pip install . for a local clone from https://github.com/pygae/galgebra for now and let us know if there's any problem.
I'm still working on improving the documentation and the examples.

From http://webcache.googleusercontent.com/search?q=cache:https://github.com/brombo/galgebra/issues/39

@utensil seems to have already labelled this as done, closing


Git history vanished???

Hi @amarouane it looks like you recently forced a overwrite and consequential deletion of the entire Git history for this project!
This seems a bit extreme for any type of software development, however please excuse me if there was/is some reasoning behind the decision.
What is the current state of the project? Is it worth me progressing with both #14 and #15?

I can't even pull remote changes into my local master branch
lmcgibbn@LMC-056430 /usr/local/cmr(master) $ git fetch ghrcdaac
remote: Counting objects: 80, done.
remote: Total 80 (delta 26), reused 26 (delta 26), pack-reused 54
Unpacking objects: 100% (80/80), done.
From https://github.com/ghrcdaac/cmr
 * [new branch]      Development -> ghrcdaac/Development
 + 1aa9656...0bf2521 master      -> ghrcdaac/master  (forced update)
lmcgibbn@LMC-056430 /usr/local/cmr(master) $ git pull ghrcdaac master
From https://github.com/ghrcdaac/cmr
 * branch            master     -> FETCH_HEAD
fatal: refusing to merge unrelated histories

I have just deleted my local source code and started again... this seems like a really strange and radical way of doing development @amarouane I'm a bit confused here. Please re-open if you are interested in commenting. In the meantime, I'm trying to improve and advertise uptake and usage of this library within PO.DAAC. I'll let you guys know how that goes.

Hi @lewismc I am so sorry the history was deleted by mistake I accidentally pushed a password in the configfile  (the file was in gitignore) and tried to delete that particular commit but by mistake I ended up deleting the whole history. Is there and way we can recover? I will go and check if I still have history on my local branch and try to work from there. I am so sorry

These things happen. Let's just move on. Please take a look at #23

I want to ask you if you want to publish the Travis build results on a slack channel? or do you want to use emails?

It doesn't really bother me. I am not really using slack right now to be honest but I think the notification system is useful for anyone that wishes to use it. Go ahead and do whatever you feel comfortable with.


Spike - OpenSearch reporting and notifications assessment

Description
We want to identify which of the following functional requirements can be achieved using the OpenSearch Reporting and Notifications plugins. This will allow us to determine the features that will have to be developed in the wazuh-dashboard-plugins repository and how to use the existing features of the mentioned plugins.

Notifications plugin documentation
Reporting plugin documentation

Functional Requirements

Generate PDF reports: The user must be able to generate PDF reports of existing dashboards. This can be achieved by using the OpenSearch reporting plugin.
Schedule reports: The user must be able to schedule reports within a certain time interval. This can be achieved by using the OpenSearch reporting plugin.
Send reports by e-mail: The user must be able to receive the scheduled reports by e-mail. Evaluate if we can create a plugin that integrates reports generated in the OpenSearch reporting plugin with the OpenSearch notifications plugin.
Download reports on demand: The user must be able to download an existing report whenever needed. This can be achieved by using the OpenSearch reporting plugin.
CRUD reports from one place: Depending on the Wazuh indexer RBAC permissions, the user should be able to manage existing reports and create new ones in one place. This can be achieved by using the OpenSearch reporting plugin.
Initial threat detection and posture status: Threat detection and posture status will be regularly sent to users via email based on Wazuh dashboard initial startup configuration.

Implementation Restrictions

Use OpenSearch features: Ensure we use as many native features as possible to achieve the requirements.
Pre-configured reports: We must be able to pre-configure a set of reports in the initial setup of the application.
Stateless reports: The generated reports should be stateless to make the docker deployment easier.
Custom SMTP server: The user must be able to configure its own SMTP server.

Plan

Analysis

[x] Prepare the dev environment to have the reporting and notifications plugins https://quay.io/repository/wazuh/osd-dev?tab=tags 2.14.0.reporting
[x] Analyse if the reporting and notifications plugins provides an API to be used from the dashboard
[ ] Identify RBAC permissions to restrict reporting operations
[ ] Find a way to generate predefined reports on the initial Wazuh dashboard setup
[ ] Find a way to generate predefined dashboards on the initial Wazuh dashboard setup
[x] Analyze if the OpenSearch notifications plugin provides an interface so we can integrate it with the OpenSearch reporting plugin
[x] Analyze if the current Wazuh dashboard's visualizations are compatible with the native features.
[x] Analyze if all the desired visualizations are compatible with the reporting system.

PoC

[ ] Create a new report alerts plugin that integrates report definitions with the notifications plugin capabilities
[ ] Create tests dashboards with mocked data as saved objects so they can be referenced in the reporting plugin

Branch

https://github.com/wazuh/wazuh-dashboard-plugins/tree/enhancement/194-spike-reporting-and-notification-plugins

I was reading the documentation of both plugins and looking for information if they have something to integrate both plugins.
From what I could see, they were going to work on an integration that was going to be in 2.0.0 but apparently it didn't arrive and they don't give much information about when this integration is going to be in 2.0.0.
https://github.com/opensearch-project/reporting/issues/72
On the other hand I saw that you have opensearch-reporting-cli which can be used for sending reports to mail but we would need our dashboards to be added as saved object of dashboards, because you need the id of the visualization.
https://opensearch.org/docs/latest/reporting/rep-cli-create/
And create a development image with the plugins and upload it to quay, to see the capabilities that both plugins provide.

A new branch is created with a new plugin to test and see what can be used of the notification and reporting plugins.
https://github.com/wazuh/wazuh-dashboard-plugins/tree/enhancement/194-spike-reporting-and-notification-plugins

From what I've found out, it seems that they don't have methods to generate reports or send notifications from other plugins.

While testing the applications I saw that the Dashboard application has a button to generate reports using the report plugin.
But when I looked into how they were adding the button to generate the reports I couldn't find it in the visualization plugin.
As far as I can see it is being added by the reporting plugin depending on which application it is in according to the breadcrumb and the buttons added to the top left.
https://github.com/opensearch-project/dashboards-reporting/blob/<IP_ADDRESS>/public/components/context_menu/context_menu.js#L264-L316

Update 2024-06-27
Research about Notifications plugin
To understand the Notifications plugin, it was configured on the platform by configuring a Channel with an SMTP sender through the Resend service, following the OSD guide. Something to keep in mind is that you have to use commands that are not in the UI to load the sender's SMTP service credentials.
Analyzing the functionalities provided by the Notifications plugin, it is likely that the Create Monitor functionality in Alerting (image below) can be used for everything in the schedule; However, it does not solve the problem as to how to generate the report.
It will continue to be analyzed at the code level to evaluate if what was mentioned above can be taken advantage of.

Update 2024-06-28

Code from the creation by definition of the Reporting plugin is analyzed
The possibility of creating reports through Notebooks is analyzed (Documentation)
Research is being carried out on the Notebooks plugin, currently implicit in the Observability plugin. Related with Issue 195

Update 2024-06-28

Analysing the plugins in more detail
Analysing the opensearch-reporting-cli
Testing opensearch-reporting-cli

Update 2024-07-02
Analysing the creation of a plugin using the stuff from the reporting plugin to create a new plugin with stuff from the reporting plugin and notification plugin

Update 2024-07-02

The report generation code is analyzed using Notebooks to analyze the possible development of its own plugin that incorporates the Reporting and Notification functionality.
Progress is made with reading the documentation in the OSD repository of the internal Notebook plugin within the Observability plugin (plugins/dashboards-observability/public/components/notebooks/docs)
There is an example of Notebook in plugins/dashboards-observability/public/components/notebooks/docs/example_notebooks/default/Introduction Notebook.json where you can see the structure and specification of the corresponding backend according to the documentation mentioned above.
We will continue investigating whether this can be useful for the development of our own plugin

Update 2024-07-02

Adding the reporting plugin to the plugin created to have a base and getting the plugin working.
Seeing that there are email and notification things in the code that are not being used anywhere.
Investigating if it was new code from the new integration they want to do and it turns out that it came from the beginning of the plugin that seems to be taken from this repository https://github.com/opendistro-for-elasticsearch/kibana-reports
Investigating if it is possible to recover some of that code.

Update 2024-07-05

Configuring the notification plugin to verify that deprecated code uses the notification plugin
Deprecated code uses the notification plugin to know which channels to send to.
Set the test send for the chosen channel.
Analysing how to add the PDF to the email being sent.

The notification plugin api, can be used in the new reporting plugin
https://opensearch.org/docs/latest/observing-your-data/notifications/api/

Update 2024-07-11

Investigating how to get the notification channel information

Find in the documentation the API that provides the notification plugin.

Sending email test when running on demand report generation
Investigating how to run the email test when it is scheduled
Seeing who is triggering the PDF creation

Apparently the dashboard PDF report generation from what I've seen is generated by the "visualReportId" parameter in the url, which is the ID of the report definition created in the report plugin. So the PDF is only created when the dashboard or notebook is opened in the browser with that parameter.

Update 2024-07-11
Although there is no explicit dependency of the Reporting plugin on the Notifications plugin, there is an implicit dependency at the code level, so that if the Notifications plugin is installed, the functionality to configure Notifications for the report is displayed.
Code that checks the Notifications plugin - (plugins/dashboards-reporting/public/components/report_definitions/delivery/delivery.tsx)

Component that is hidden or not according to the previous check

The Delivery component uses the backend services of the reporting plugin server (plugins/dashboards-reporting/server/routes/notifications.ts)

Update 2024-07-12

Investigating how the PDF is generated by the reporting plugin

Apparently it generates it according to what it has in the screen therefore I find complicated to use this to send the report pdf by mail, maybe what is more feasible is to send the URL so that the report is generated but it would be necessary to analyze if it is possible.
https://github.com/opensearch-project/dashboards-reporting/blob/main/public/components/visual_report/generate_report.ts#L111

Seeing the settings of the notification plugin in Index Management>Index Management>Notification Settings

Investigating how this part is working to better understand the process of sending notifications.

Update 2024-07-12
Research and testing are being conducted to modify the content of the test email and to attach a file, which in the future will be the report. Although this has not yet been achieved, the specific location where the report content is generated has been identified (plugins/dashboards-reporting/public/components/visual_report/generate_report.ts). This information could be useful for assembling the email attachment. The html2canvas library is used to generate the report.
Regarding the content of the notification email, in the Notifications configuration when creating a report definition, you can configure both the subject and the message to be sent.
The subject is entered via a EuiFieldText input and the message via a markdown editor using the react-mde library.

Update 2024-07-15
Research continues to be able to edit the content of the Reporting plugin test message through the Notifications plugin. For them, tracking is done from delivery.tsx of the reports plugin to eventRoutes.ts of the Notifications plugin in search of finding the point where the email notification with its testing content is generated.
Notifications plugin path involved
router.post(
    {
      path: `${NODE_API.SEND_TEST_MESSAGE}/{configId}`,
      validate: genericParamsAndDataSourceIdQuery,
    },
    async (context, request, response) => {
      // @ts-ignore
      const client = MDSEnabledClientService.getClient(request, context, dataSourceEnabled);
      try {
        const resp = await client(
          'notifications.sendTestMessage',
          {
            configId: request.params.configId,
          }
        );
        return response.ok({ body: resp });
      } catch (error) {
        return response.custom({
          statusCode: error.statusCode || 500,
          body: error.message,
        });
      }
    }
  );

Update 2024/08/1
I have been getting back on topic and configuring the test environments.
I have been testing the notification plugin in the opensearch management and alerts plugin that is implemented to see if I can find out how they are handling it but still no success.

Update 2024/08/02
Researching and testing the sending of mails. I saw that the configuration of the conditions of the mail sending is saving it in /_plugins/_im/lron as this documentation says, but I still can't find how to send the mail, I left a query in the opensearch slack channel asking if there is any documentation on how to implement the notification plugin.
https://opensearch.org/docs/latest/im-plugin/notifications-settings/
https://opensearch.slack.com/archives/C051D137M7G/p1722613562833819

Update 2024/08/05
It was found that the mail sending is done from the indexer plugin, so it is possible that may need to make changes in the indexer as well.
https://github.com/opensearch-project/notifications/blob/main/notifications/core/src/main/kotlin/org/opensearch/notifications/core/client/EmailMimeProvider.kt

Update 2024/08/13
Investigating a little the scheduled reports that are also made on the side of the indexer, perhaps what can be done at the time that the definition of the report is generated in the indexer since the id is obtained and is part of what is needed to generate the report, it would be necessary to analyze if the other data are also there to be able to build the url
https://github.com/opensearch-project/reporting/blob/main/src/main/kotlin/org/opensearch/reportsscheduler/scheduler/ReportDefinitionJobRunner.kt

To configure a smtp channel in the notification plugin you have to configure the password and username of the sender in the opensearch keystore,
On the Wazuh Dashboard side we can access the rest of the notification channel configuration through its API.
Identify in the backend of the reporting plugin indexer where the link to the scheduled PDF report is generated.
To generate the images and the PDF blob the user has to be connected to the dashboard because that is where the screenshots are taken. We could paste the PDF download link in the body of the email using the indexer plugin (so that the user clicks on the link and can generate the PDF from the UI).
If we want to use functionalities of the notification plugin it seems impossible to do it without touching things on the indexer side.

Example using Reporting CLI
We could also use our own scheduling system that would internally use the reporting CLI.
opensearch-reporting-cli -u https://localhost:5601/app/dashboards#/view/ed7c9360-5bb4-11ef-a9ee-17f85c351195 -a basic -c admin:admin -e smtp -s<EMAIL_ADDRESS>-r<EMAIL_ADDRESS>--smtphost smtp.server.com --smtpport 465 --smtpusername <UserName> --smtppassword <Password> --subject New report available --note New report -f pdf

Environment for modification of the reporting plugin in indexer

Clone the reporting repository

https://github.com/opensearch-project/reporting

Make the modifications and compile the code with ./gradlew build
2.1. Have this dockerfile

# Use the OpenSearch base image
FROM opensearchproject/opensearch:2.15.0

# Switch to root user to perform setup
USER root

ENV discovery.type=single-node
ENV OPENSEARCH_JAVA_OPTS="-Xms512m -Xmx512m"
ENV DISABLE_SECURITY_PLUGIN=true

# Create the plugins directory if it doesn't exist and another directory to place the zip file
RUN mkdir -p /usr/share/opensearch/external-plugins

# Copy the plugin ZIP file into the Docker image with correct ownership
COPY --chown=opensearch:opensearch ./opensearch-reports-scheduler-<IP_ADDRESS>-SNAPSHOT.zip /usr/share/opensearch/external-plugins/tasks.zip

# Ensure correct permissions for the plugin ZIP file
RUN chmod 644 /usr/share/opensearch/external-plugins/tasks.zip

# Debug: List the contents of the external-plugins directory to verify the ZIP file is there
RUN ls -la /usr/share/opensearch/external-plugins/

# Debug: Check if the plugin ZIP file exists
RUN if [ -f /usr/share/opensearch/external-plugins/tasks.zip ]; then echo "Plugin ZIP file found"; else echo "Plugin ZIP file not found"; exit 1; fi

# Switch to opensearch user to install the plugin
USER opensearch

# Remove the existing reporting plugin
RUN /usr/share/opensearch/bin/opensearch-plugin remove opensearch-reports-scheduler

RUN ls /usr/share/opensearch/plugins
# Install the plugin from the external-plugins directory
RUN /usr/share/opensearch/bin/opensearch-plugin install file:///usr/share/opensearch/external-plugins/tasks.zip --batch || (echo "Plugin installation failed"; exit 1)

# Expose ports
EXPOSE 9200 9600

# Switch back to root user for any further configuration
USER root

# Debug: Capture the OpenSearch logs
RUN cat /usr/share/opensearch/logs/opensearch.log || echo "Log file not found"

RUN ls /usr/share/opensearch/plugins
# Ensure correct permissions for the plugin directory
RUN chown -R opensearch:opensearch /usr/share/opensearch/plugins/opensearch-reports-scheduler

# Switch back to the opensearch user
USER opensearch

2.2. copy the generated zip (in the build located in the build/distributions folder) at the same level as the dockerfilebuild/distributions

Create a docker image: docker build . -t
Have an opensearch dashboard with reporting and notifications plugin
Create a report and the changes made should be made

Researching and testing the reporting plugin on the indexer side, we were able to modify the plugin to send an email with the notification plugin when the report schedule is generated, testing what could be sent in the email we saw that you can send the email with plain text or HTML.
try sending an email with the report definition link:

try to send an email with the html format
Welcome to Wazuh DashboardThis is an HTML email!

Send report by email
Pre-condition

Have configured a channel of the notifications plugin

Steps

To have a dashboard and create the scheduled report definition.

In the description you can use HTML or plain text.

Receive an email when the report schedule interval has passed

You can receive the link to the definition of the created report by adding the text {{urlDefinition}} or the hits with the text {{hits}}.
The hits are taken from a request to the index from the indexer.
Email

Report definition

Report

Dashboard


Add time series sample

Now that there is time series support in NimbusML, should a time series sample be added?

I have added uni-variate time-series forecasting scripts in PR #32. These scripts are for demonstration purposes, and will be incorporated into an official NimbusML tutorial.


Bundle missing error

Getting this error when trying to run Layout Layers.

Ok, after digging through this myself and having lots of issues - I realized that the SketchToolbox install doesn't work - you need to install from the "latest" distribution. There's a direct link in readme. Now it works completely fine. Here's my support request for getting toolbox support back up!! Sweet plugin. My pie in the sky wish would be a feature that generates a stylesheet based on the layer names in an existing folder and EVEN get those values and create the stylesheet for you - but.... That's a heck-a-ton of work. :)

Motleydev is right, just need to install it manually.

Sorry about that! SketchToolbox install support will be re-established soon

I have the same error. I already deleted the plugin from the Sketch Toolbox and then installed CSSketch manually but the error message is still there. Already restarted Sketch and did the same process several times without success

for me it helped to re-install Sketch itself, too @kunoxs

@lkoeln Looked like a possible solution but it did not work :( danke sehr anyway

If you're running CSSketch.sketchplugin after downloading the source or
.zip it won't work. Make sure you're running the installer from
https://github.com/JohnCoates/CSSketch/releases/latest
On Wednesday, April 13, 2016, Kunoxs<EMAIL_ADDRESS>wrote:

@lkoeln https://github.com/lkoeln Looked like a possible solution but
it did not work :( danke sehr anyway
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/JohnCoates/CSSketch/issues/35#issuecomment-209518871

@JohnCoates Yes but I'm using OS X 10.10.5 and that installer is for 10.11 so is not working


Support R-package with cmake build and fix installation instructions

Description
Support R-package with cmake build and fix installation instructions
Also: Fixes https://github.com/apache/incubator-mxnet/issues/17103
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] Changes are complete (i.e. I finished coding on this PR)
[X] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[X] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at https://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[X] To the best of my knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Changes

[X] Support building R-package with cmake built libmxnet.so
[X] Fix R-package installation instructions

@hetong007 could you help verify this?

I added a few more fixes to this PR. The current R-package was broken since #7273 #7389 due to missing linker arguments to the OpenCV dependency. It worked only due to some lucky circumstances such as order of dependency declaration in libmxnet.so that do not hold for CMake compiled version.
In particular, I updated the Makevars to fix the issue.


s390 build crashing since 8.2.0528

As seen in Travis, Vim crashes in the test_vim9_func.vim test suite.  I was able to reproduce the issue on Debian's s390x porterbox and the test that's being run is the first call to CheckDefFailure in Test_func_type_part().
The abbreviated backtrace is:
#5  0x000002aa1fe70576 in deathtrap (sigarg=11) at os_unix.c:1094
        entered = 1
        i = 7
#6  <signal handler called>
No symbol table info available.
#7  type_name (type=0x2aa200f5b00 <t_func_void>, tofree=0x3ffee577380) at vim9compile.c:1888
        arg_free = 0x2aa1fccd978 <_start> "A@\360\b\343\060\360"
        arg_type = 0x3ffaf341764 <dcgettext+36> "\353o\360\330"
        len = -500695556
        ga = {ga_len = 5, ga_maxlen = 100, ga_itemsize = 1, ga_growsize = 100, ga_data = 0x2aa2117de80}
        i = 0
        name = 0x2aa20058d52 "func"
#8  0x000002aa1ff8c33a in type_mismatch (expected=0x2aa200f5b00 <t_func_void>, actual=0x2aa200f5b90 <t_func_0_number>) at vim9compile.c:2428
        tofree1 = 0x2aa2117de80 "func("
        tofree2 = 0x2aa200f5b00 <t_func_void> ""
#9  0x000002aa1ff8c6c8 in need_type (actual=0x2aa200f5b90 <t_func_0_number>, expected=0x2aa200f5b00 <t_func_void>, offset=-1, cctx=0x3ffee577700) at vim9compile.c:2499
No locals.
#10 0x000002aa1ff90b32 in compile_assignment (arg=0x2aa2117f350 "RefVoid = FuncNoArgRetNumber", eap=0x3ffee577798, cmdidx=CMD_SIZE, cctx=0x3ffee577700) at vim9compile.c:4122
        r = 1
        stacktype = 0x2aa200f5b90 <t_func_0_number>
        stack = 0x3ffee577770
        p = 0x2aa2117f36c ""
        ret = 0x0
        var_count = 0
        semicolon = 0
        varlen = 7
        instr = 0x3ffee577710
        idx = 0
        new_local = 0
        op = 0x2aa2117f358 "= FuncNoArgRetNumber"
        opt_type = 1023
        dest = dest_local
        opt_flags = 0
        vimvaridx = -1
        oplen = 1
        heredoc = 0
        type = 0x2aa200f5b00 <t_func_void>
        lvar = 0x2aa211502f0
        name = 0x2aa211d08f0 "RefVoid"
        sp = 0x2aa2117f357 " = FuncNoArgRetNumber"
        has_type = 0
        is_decl = 0
        instr_count = 2
#11 0x000002aa1ff94bd6 in compile_def_function (ufunc=0x2aa2114c380, set_return_type=0) at vim9compile.c:5722
        oplen = 1
        heredoc = -296257920
        is_ex_command = 0
        line = 0x2aa2117f350 "RefVoid = FuncNoArgRetNumber"
        p = 0x2aa2117f357 " = FuncNoArgRetNumber"
        ea = {arg = 0x0, nextcmd = 0x0, cmd = 0x2aa2117f350 "RefVoid = FuncNoArgRetNumber", cmdlinep = 0x3ffee577868, cmdidx = CMD_append, argt = 0, skip = 0, forceit = 0, addr_count = 0, line1 = 0, line2 = 0, addr_type = ADDR_LINES, flags = 0, do_ecmd_cmd = 0x0, do_ecmd_lnum = 0, append = 0, usefilter = 0, amount = 0, regname = 0, force_bin = 0, read_edit = 0, force_ff = 0, force_enc = 0, bad_char = 0, useridx = 0, errmsg = 0x0, getline = 0x0, cookie = 0x0, cstack = 0x0, verbose_save = -1, save_msg_silent = -1, did_esilent = 0, did_sandbox = 0}
        errormsg = 0x0
        had_return = 0
        cctx = {ctx_ufunc = 0x2aa2114c380, ctx_lnum = 1, ctx_instr = {ga_len = 3, ga_maxlen = 50, ga_itemsize = 24, ga_growsize = 50, ga_data = 0x2aa211e3b00}, ctx_locals = {ga_len = 1, ga_maxlen = 10, ga_itemsize = 24, ga_growsize = 10, ga_data = 0x2aa211502f0}, ctx_max_local = 1, ctx_imports = {ga_len = 0, ga_maxlen = 0, ga_itemsize = 40, ga_growsize = 10, ga_data = 0x0}, ctx_skip = 0, ctx_scope = 0x0, ctx_type_stack = {ga_len = 1, ga_maxlen = 50, ga_itemsize = 8, ga_growsize = 50, ga_data = 0x2aa211c5be0}, ctx_type_list = 0x2aa2114c3d8}
        instr = 0x3ffee577710
        called_emsg_before = 24
        ret = 0
        save_current_sctx = {sc_sid = 11, sc_seq = 29, sc_lnum = 0, sc_version = 1}
        emsg_before = 24
(More stack frames follow...)

Looking at frame 7, we can see that a NULL pointer is being dereferenced:
#7  type_name (type=0x2aa200f5b00 <t_func_void>, tofree=0x3ffee577380) at vim9compile.c:1888
1888		   char *arg_type = type_name(type->tt_args[i], &arg_free);
(gdb) p type->tt_args
$5 = (type_T **) 0x0

It looks like this is due to C's fun wrinkle of not specifying the sign of a bare char type -- on s390 it's unsigned.  This probably caused earlier checks, either directly against -1 or just < comparisons, to fail and allow us to unexpectedly get into this code.
(gdb) p type->tt_argcount
$6 = 255 '\377'

It looks like all of the code except the actual type_T struct declares argcount variables as int.
It seems like the cleanest two options to avoid these problems are either to add a new typedef for the argcount that can be used everywhere (e.g., typedef signed char argcount_T) or change tt_argcount/tt_min_argcount to int.
As an aside, this can easily be reproduced on x86 systems by building with CFLAGS=-funsigned-char.

It seems like the cleanest two options to avoid these problems are either to add a new typedef for the argcount that can be used everywhere (e.g., typedef signed char argcount_T) or change tt_argcount/tt_min_argcount to int.

I forgot, there's already a type for that -- int8_t.  That also adds clarity that the values aren't characters but actually just a reduced width integer.

On Linux x86_64, if I compile with  -funsigned-char I get a compilation warning in vim9compile.c which is possibly related (I don't have time to look in details):
clang-11 -c -I. -Iproto -DHAVE_CONFIG_H     -g -O2 -Wall -funsigned-char -Wextra -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1        -o objects/vim9script.o vim9script.c
vim9compile.c:2427:45: warning: result of comparison of constant -1 with expression of type 'char' is always true [-Wtautological-constant-out-of-range-compare]
            if (ret == OK && expected->tt_argcount != -1
                             ~~~~~~~~~~~~~~~~~~~~~ ^  ~~

We should not depend on whether char is signed or not so we should fix the warning.
All tests pass on Linux x86_64 with  -funsigned-char on my machine though.
If I build instead with  -fsigned-char, I get no compilation warning and all tests also pass.

James McCoy wrote:

As seen in
Travis, Vim
crashes in the test_vim9_func.vim test suite.  I was able to reproduce
the issue on Debian's s390x porterbox and the test that's being run is
the first call to CheckDefFailure in Test_func_type_part().
The abbreviated backtrace is:
#5  0x000002aa1fe70576 in deathtrap (sigarg=11) at os_unix.c:1094
        entered = 1
        i = 7
#6  <signal handler called>
No symbol table info available.
#7  type_name (type=0x2aa200f5b00 <t_func_void>, tofree=0x3ffee577380) at vim9compile.c:1888
        arg_free = 0x2aa1fccd978 <_start> "A@\360\b\343\060\360"
        arg_type = 0x3ffaf341764 <dcgettext+36> "\353o\360\330"
        len = -500695556
        ga = {ga_len = 5, ga_maxlen = 100, ga_itemsize = 1, ga_growsize = 100, ga_data = 0x2aa2117de80}
        i = 0
        name = 0x2aa20058d52 "func"
#8  0x000002aa1ff8c33a in type_mismatch (expected=0x2aa200f5b00 <t_func_void>, actual=0x2aa200f5b90 <t_func_0_number>) at vim9compile.c:2428
        tofree1 = 0x2aa2117de80 "func("
        tofree2 = 0x2aa200f5b00 <t_func_void> ""

[...]

#7  type_name (type=0x2aa200f5b00 <t_func_void>, tofree=0x3ffee577380) at vim9compile.c:1888
1888		   char *arg_type = type_name(type->tt_args[i], &arg_free);
(gdb) p type->tt_args
$5 = (type_T **) 0x0

It looks like this is due to C's fun wrinkle of not specifying the
sign of a bare `char` type -- on s390 it's unsigned.  This probably
caused earlier checks, either directly against `-1` or just `<`
comparisons, to fail and allow us to unexpectedly get into this code.

(gdb) p type->tt_argcount
$6 = 255 '\377'

It looks like all of the code _except_ the actual `type_T` struct
declares argcount variables as `int`.

Thanks for digging this up!  The Travis output didn't give any hint.

It seems like the cleanest two options to avoid these problems are either to add a new typedef for the argcount that can be used everywhere (e.g., typedef signed char argcount_T) or change tt_argcount/tt_min_argcount to int.
As an aside, this can easily be reproduced on x86 systems by building with CFLAGS=-funsigned-char.

I can reproduce the crash, so I can check the fix.  I think we'll just
use "unsigned char" for the type, that should work on all systems.
--
My Go, this amn keyboar oesn't have a .
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

On Linux x86_64, if I compile with  -funsigned-char I get a compilation warning in vim9compile.c which is possibly related (I don't have time to look in details):

That's probably the same issue, just that clang is smart enough to catch it at compile time where as gcc misses it and Vim crashes at runtime.  Using -Wconversion would hopefully catch it in gcc as well, but there are tons of other places in Vim's code that trip that as well.


data race: TestSnapshot

WARNING: DATA RACE
Write at 0x00c42049a343 by goroutine 103:
  testing.(*common).FailNow()
      /home/travis/.gimme/versions/go1.7.3.linux.amd64/src/testing/testing.go:452 +0x4a
  testing.(*common).Fatalf()
      /home/travis/.gimme/versions/go1.7.3.linux.amd64/src/testing/testing.go:496 +0x94
  github.com/coreos/etcd/etcdserver.TestSnapshot.func2()
      /home/travis/gopath/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/server_test.go:866 +0x33e
Previous write at 0x00c42049a343 by goroutine 81:
  testing.(*common).FailNow()
      /home/travis/.gimme/versions/go1.7.3.linux.amd64/src/testing/testing.go:452 +0x4a
  testing.(*common).Fatalf()
      /home/travis/.gimme/versions/go1.7.3.linux.amd64/src/testing/testing.go:496 +0x94
  github.com/coreos/etcd/etcdserver.TestSnapshot.func3()
      /home/travis/gopath/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/server_test.go:877 +0x523
Goroutine 103 (running) created at:
  github.com/coreos/etcd/etcdserver.TestSnapshot()
      /home/travis/gopath/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/server_test.go:872 +0x857
  testing.tRunner()
      /home/travis/.gimme/versions/go1.7.3.linux.amd64/src/testing/testing.go:610 +0xc9
Goroutine 81 (finished) created at:
  github.com/coreos/etcd/etcdserver.TestSnapshot()
      /home/travis/gopath/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/etcdserver/server_test.go:886 +0x893
  testing.tRunner()
      /home/travis/.gimme/versions/go1.7.3.linux.amd64/src/testing/testing.go:610 +0xc9

This is a data race from concurrent calls to Fatalf, not an actual race in the etcd code. What was the Fatal logging output?

@heyitsanthony  https://travis-ci.org/coreos/etcd/jobs/170575410#L4032
Think we have two goroutines Fataling https://github.com/coreos/etcd/blob/master/etcdserver/server_test.go#L877?

I suspect it's taking too long in s.KV().Commit() since the Waits fail before SaveNoCopy runs causing recording the SaveNoCopy event to block forever:
goroutine 468 [chan send, 2 minutes]:
github.com/coreos/etcd/pkg/testutil.(*recorderStream).Record(0xc42012c4c8, 0xf810f2, 0xa, 0x0, 0x0, 0x0)
	/home/travis/gopath/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/pkg/testutil/recorder.go:91 +0x8e
github.com/coreos/etcd/pkg/mock/mockstore.(*storeRecorder).SaveNoCopy(0xc42026dd80, 0x1, 0x3, 0xc42014be60, 0x1, 0x1)
	/home/travis/gopath/src/github.com/coreos/etcd/gopath/src/github.com/coreos/etcd/pkg/mock/mockstore/store_recorder.go:113 +0x83
github.com/coreos/etcd/etcdserver.(*EtcdServer).snapshot.func1()
	github.com/coreos/etcd/etcdserver/_test/_obj_test/server.go:1741 +0xdf
github.com/coreos/etcd/etcdserver.(*EtcdServer).goAttach.func1(0xc4203fa500, 0xc42038a090)
	github.com/coreos/etcd/etcdserver/_test/_obj_test/server.go:2037 +0x80
created by github.com/coreos/etcd/etcdserver.(*EtcdServer).goAttach
	github.com/coreos/etcd/etcdserver/_test/_obj_test/server.go:2038 +0x271

@heyitsanthony
If that is the case, the waiter should timeout and print out the logging? (I am convinced commit takes longer than 5 seconds, just do not know why it does not fail fast)

Oh... I see why... since both of the fatals are in go routines. It makes sense now. I guess we should just close this one... CI was too slow.

@xiang90 it can be made to fail fast by deferring the ch <- struct{}{}'s so it'll close even on fatal. Worth fixing?

@heyitsanthony
Ha. Yes. See #6801


I can not run in my windows

There is the errors
npm ERR! code EBADPLATFORM
npm ERR! notsup Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"linux","arch":"ia32"} (current: {"os":"win32","arch":"x64"})
npm ERR! notsup Valid OS:    linux
npm ERR! notsup Valid Arch:  ia32
npm ERR! notsup Actual OS:   win32
npm ERR! notsup Actual Arch: x64

I'v solve it  after update my node


docker stack deploy docs - registry auth

File: engine/reference/commandline/stack_deploy.md
Could use more detail around how --with-registry-auth works and whether Swarm works with credential helpers. I'm not finding credential helpers work with the Swarm but I'm not seeing docs one way or the other. Reviewing https://github.com/moby/moby/issues/31063

I figured out the issue. When running pass insert docker-credential-helpers/docker-pass-initialized-check I had to leave the passphrase empty. Otherwise it never worked with the swarm (never could find image). See also https://github.com/docker/docker-credential-helpers/issues/102#issuecomment-692061908. I'm not sure if this is intended behavior or not.
Regardless this could potentially use some documentation improvements (or links) mentioning credential helpers with the swarm and only needing on the manager(s) etc.


fix(input): add more padding so that the hint doesn't overflow the container

also use em instead of px for some things so things don't overflow when using different font sizes.

fixes #2163

LGTM
This may cause issues for Google apps if it changes the height of the input. We should check with a couple of projects before merging.


Feature request

Can we have an 'Ignore SSL cert' option please? So many API test systems have invalid SSL certs.
Equivalent to CURLOPT_SSL_VERIFYHOST / CURLOPT_SSL_VERIFYPEER
Thanks

Hi,
Chrome apps won't support this option and it is not  up to me. Because of the limitations a new ARC was created (the desktop client). You can download it from: https://install.advancedrestclient.com/install
You may need to transfer your data from one app to another. Follow these instructions for that: https://docs.advancedrestclient.com/moving-from-chrome-application-to-desktop-client


os/gtime: issue title end with error: runtime error: index out of range [4] with length 4

What do you want to ask?
addonce 4 times ,oops--> throw panic "end with error: runtime error: index out of range [4] with length 4"

Need more details...

@zackhsw Please submit minimum codes that can reproduce this issue.


readme 2.0

rename old README.md to README_1.md for old version
add README.md for 2.0

Great!! 👍👍
I think you just need to fix the strange indentation of some example codes.

sure😉


Prefixes parsed event

Codecov Report

Merging #77 (a62b863) into master (e080996) will increase coverage by 0.51%.
The diff coverage is 97.14%.

@@            Coverage Diff             @@
##           master      #77      +/-   ##
==========================================
+ Coverage   82.88%   83.39%   +0.51%
==========================================
  Files          15       15
  Lines        1233     1265      +32
==========================================
+ Hits         1022     1055      +33
+ Misses        211      210       -1

Impacted Files
Coverage Δ

packages/rdf-editor/src/RdfEditor.js
94.90% <96.96%> (+0.28%)
:arrow_up:

packages/editor-base/index.js
96.96% <100.00%> (ø)

packages/formats/parsers/graphy.js
100.00% <100.00%> (ø)

packages/sparql-editor/src/SparqlEditor.js
98.13% <0.00%> (+1.86%)
:arrow_up:

Continue to review full report at Codecov.

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


Subscription invocation scope

Is your feature request related to a problem? Please describe.
I want to use DataLoader scoped to subscription invocation (topic event).
Why: because subscription function gets invoked for every connected client. I want to cache possible queries I have to do in subscription function between these invocations.
Describe the solution you'd like
DI Container can be scoped with help of context.
For queries and mutations we can scope it per request.
For subscriptions we can only scoped it per connection. It would be great if we could scope it per subscription invocation (topic event).
Describe alternatives you've considered
I don't see a way how to do this currently. Am I missing something?
Additional context
/

I'm not sure if it's possible at all. If the context is the same, how can I detect that it's an another topic trigger for this client?
The idea behind scoped containers is that they are per request, so per user, isolated, no potential data leaks. So as the subscription is scoped per connection, it solves this problem.
You have to show me your use case, when you need a fresh instance of the resolver class with fresh services for each subscription trigger for each trigger. It sounds like horrible things from the performance and memory usage perspective.

@19majkel94
Yes, it can't be context based and yes, scoped container on this level is probably a bad idea.
As you pointed out, it would not be clear they are shared between users and would bring big performance/memory usage.
My use case is I want to cache some results between function invocations for the same trigger and clear that cache after all invocations are done.
For example, I have news feed and 1000 users are listening for new items.
Event is fired that new item exists but event does not contain all the data needed for the response.
Extra data has to be fetched before forming response and this data can be cached between these 1000 invocations.
To complicate it further I was trying to fetch this extra data in FieldResolver function so it is fetched only if needed 🙉. This is how I came to scoped container, since I have to inject something in Resolver with lifetime of trigger.
Since we agree scoped container on trigger level is a bad idea, would there be a way to have "cache object" with lifetime of trigger injected in Subscription function?
Or maybe have ability to define "event resolver" that would get fired once per trigger if subscription function is actually fired. That's where you could supplement event data. Scoping container for this "event resolver" would be an issue again, but it could just be decided it can't have custom scopes and has only global scope.

Since we agree scoped container on trigger level is a bad idea, would there be a way to have "cache object" with lifetime of trigger injected in Subscription function?

This shouldn't be TypeGraphQL responsibility.

Extra data has to be fetched before forming response and this data can be cached between these 1000 invocations.

Why you can't just cache the data on the service side?
@Resolver()
class SampleResolver {
  constructor(
    private subscriptionDataService: SubscriptionDataService,
  ) {}

  @Subscription(type => Item, { topics: "newItem" })
  newItem(@Root() itemId: number) {
    // it will be called 1000 times
    // but will call the DB only once per 5-10-15s
    // (return the result from it's own cache)
    return this.subscriptionDataService.getData(itemId);
  }


Fix UniProtKB CURIE prefix in STRING

To address #235 - I was erroneously writing the Uniprot CURIE prefix as UniprotKB instead of UniProtKB

@justaddcoffee Thanks for the quick fix 👍


Send draft materials to Stacey for upload to SRG website and website

We need to send to Stacey the following, correct?

[ ] Draft assessment pdf
[ ] alternative_text.csv
[ ] contents of hake-assessment\out-csv

Chris will send this to Stacey and then check these off.

Yep, and to get there we need:

[ ] new .rds built by Chris
[ ] Chris build fresh document with alt text
[ ] Chris does autotagging
[ ] Chris upload .rds and .pdf
[ ] We all take a quick look over the .pdf, then submit

Also need to:

[ ] tag repo for pre-SRG version (?)

Tagged and a release was made called 2021 Pre-SRG


Video module lazyload update

The current admin settings for the video module show the 'Upload Thumbnail' option within the 'Upload Video' accordian. However before accordians, this option was intended for use with embeded YouTube videos and the lazyload setting; so that a light weight placeholder thumbnail image would initially be loaded and the heavier weight YouTube scripts would be defered until the video was clicked, thereby reducing page size.
In this proposed update, I've moved the thumbnail upload to it's own accordian because it works with either an uploaded video or with and embedded video with lazyload selected. The lazyload setting I've added to an accordian below.
I found the lazyloading script failed when using the experimental Full Page Cache, it didn't like html being set in the innerHTML property. As a workaround if Full Page Cache is set, the iframe params are sent via ajax to a function that returns the html code; Someone else may have a better solution!

hi Nick, we fixed this on the other pull request


use FnJoin in bucketName property

Hi everyone,
I am using a cdk.Parameter object to define the stage of my CloudFormation stack and I would like to use this object to define a bucket name, doing so I'll have a bucket related to production, dev, test, etc...
In order to achieve this result I am doing as follow:
new Bucket(this, this.name.toLowerCase(), {
            bucketName: new FnJoin("", [this.name.toLowerCase(), "-", DefaultParameters.getParameter(this.parent, DefaultParameters.PARAMETERS.stage)]).toString(),
            versioned: true
        });

where
DefaultParameters.getParameter(this.parent, DefaultParameters.PARAMETERS.stage)

return a cdk.Parameter object.
When I run
cdk synth --output tmp

I receive this error:
/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/node_modules/@aws-cdk/aws-s3/lib/util.js:9
        throw new Error('Bucket name contains invalid characters: ' + bucketName);
        ^

Error: Bucket name contains invalid characters: ${Token[TOKEN.5]}
    at Object.validateBucketName (/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/node_modules/@aws-cdk/aws-s3/lib/util.js:9:15)
    at new Bucket (/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/node_modules/@aws-cdk/aws-s3/lib/bucket.js:172:16)
    at new TestBucket (/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/build/lib/s3/testBucket.js:10:23)
    at new MainStack (/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/build/stacks/main_stack.js:23:25)
    at new MyApp (/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/build/index.js:22:9)
    at Object.<anonymous> (/Users/dodo/Desktop/Dev/Code/Projects/pvideosmart/pvideosmart-aws-infrastructure/build/index.js:25:22)
    at Module._compile (module.js:635:30)
    at Object.Module._extensions..js (module.js:646:10)
    at Module.load (module.js:554:32)
    at tryModuleLoad (module.js:497:12)

I have tried to comment the following line from @aws-cdk/aws-s3/lib/bucket.js:
util_1.validateBucketName(props && props.bucketName);

Doing so I obtain the desired result in the output template which is:
pvideosmartweb94A59098:
        Type: 'AWS::S3::Bucket'
        Properties:
            BucketName:
                'Fn::Join':
                    - ""
                    -
                        - pvideo-smart-web
                        - '-'
                        -
                            Ref: stage
            VersioningConfiguration:
                Status: Enabled

Am I missing something or there is a problem in the s3 bucket's name verifcation process?
Thank you.

You are correct. The S3 bucket name validation was not written with the use of Tokens in mind.
We wanted to validate that you weren't making any mistakes against this, but the fact is that with Tokens we cannot actually check this (since the value may be unavailable until deployment time), and now that Tokens may be embedded into strings it doesn't actually make any sense to validate anymore.
The only thing to do for now is get rid of that validation.

I agree with you since there are other objects that have no name validation like roles and IMHO at the moment is more useful being able to create referenced name than having the validation in place since in any case failing it will result in a CloudFormation error during the deployment.
Of course having both the validation and the token would be the best, but for me getting rid of the name validation on buckets is enough for now.
Thank you for the replay, and keep up the good work!


[stable/cert-manager] Update readme ACTION REQUIRED: Let's Encrypt is blocking old cert-manager versions.

What this PR does / why we need it:
Add ACTION REQUIRED: Let's Encrypt is blocking old cert-manager versions.
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/chart])

/assign @simonswine

/ok-to-test

/retest


Added previous expression

Hi there,
I know I never replied, and I have no clue if you guys would even be happy with the code, but I wanted to give it a shot. I've made sure to leave A LOT of comments for everyone to easily adjust the code to their needs. Please feel free to provide feedback and suggestions.
In this pull request, I've added the following changes:

Added a feature to display the calculation that made up the result in the previous expression area.
Adjusted the layout and styles to prevent the appearance of a white bar at the bottom of the calculator.
Resolved issue 🌟Feature: See calculation that made up result #8.

Even if you decide not to use the code, I had a lot of fun working on this. Your feedback and thoughts are highly appreciated.
Best regards,
DoonOnthon

Hi @DoonOnthon 👋,
there is a problem with your code. It would help me if you sync your fork and do the PR again. I thank you for your help.
Note: Please check again if your changes work with the latest version of the code.


Better Lua Note Hit Detection Done!!!

Eeeepic Lua note hit detection

Funny isSus variable but there isn't sick note score ?

Funny isSus variable but there isn't sick note score ? Or i'm blind maybe

Could you maybe give my the code you are refering to?  Or i'm blind maybe

Could you maybe give my the code you are refering to?  It's been fixed :)

Would probably have to rewrite this once i redo the accuracy system.


Not able to add the Lambda layer

Describe the bug
I try to use the Lambda layer ARN from the doc (https://aws-otel.github.io/docs/getting-started/lambda/lambda-python) but getting error: (arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-x86_64-ver-1-21-0:1)
User: arn:aws:sts::XXXXX:assumed-role/cdk-hnb659fds-cfn-exec-role-699391019698-us-east-1/AWSClo
udFormation is not authorized to perform: lambda:GetLayerVersion on resource: arn:aws:lambda:us-east-1:901920570463:layer:aws-otel-python-x86_64-ver-1-21-0:1 because no resource-based policy allows the lambda:GetLayerVersion action (Service: Lambda, Status Code: 403, Request
ID: 27deadb4-XXXXX)" (RequestToken: 58696e69-XXXXX, HandlerErrorCode: AccessDenied)

Not sure what is the correct format for the <architecture> tag
Steps to reproduce
Try to add the above layer to a Lambda function
What did you expect to see?
A working ARN and exmaples of the values for the placeholders
What did you see instead?
The above error
Environment
Any x86_64 Python Lambda function
Additional context
Add any other context about the problem here.

Apparently <architecture> tag should be replaced with amd64 (https://github.com/aws-observability/aws-otel-lambda/blob/main/sample-apps/python-aws-sdk-aiohttp-sam/template.yml)
Please update the doc.


Given pull-core implements all that is required for pull-pushable...

May as well just require it instead of pull-stream.  Oh and I upgraded tape while I was in the neighbourhood :)

thanks, merged into 1.1.5


Need higher resolution image for GetIn Logo

On the main screen it wold look better if we had a higher resolution image.

Same issue on the main nav screen.


Allow plugins:["*"]

Q
A

Bug fix?
no

Breaking change?
no

New feature?
yes

Deprecations?
no

Spec compliancy?
no

Tests added/pass?
no

Fixed tickets
no

A test using * would be good 😄

a bug fix since it should of worked before?

Does this mean I can automatically load all plugins I have installed? How does it figure out which package is a plugin?

@krainboltgreene Bablyon doesn't support external plugins (so plugin is a bit of a misnomer here). The plugins option takes an array of strings for built-in parser plugins.

Right this is only for the parser plugins https://github.com/babel/babylon#plugins - it's basically a truthy check in the parser to either make it say "unexpected token" or to parse it.