[BUG] Chat not working (Win10)

Hi,
Just setup version 0.8.3 on my Win1O workstation, added OpenAI API key, created a couple of projects and subprojects, imported a handful of docs and URLs… Everything beautiful 👍
But I can't use the chat, neither at project level nor at document level, with slightly different issues:

At project level, when I send my message I see the discussion view somehow "flicker", but nothing appears, not even the message I just sent.
At source level, I only see my messages, but no answers

I've tried to disable all fancy chat settings, to no luck.
Also note that disabling automatic introduction is only effective on project chat.

Hey, thanks for the post. I've been crazy busy with work stuff and haven't had a chance to work on bugs.
I just tested on Windows 10 and did not experience the issue. Are you able to share some screenshots or videos of the issue?
You might want to enable the error/warn/debug messages in Settings > Display. You can also open the dev console with "ctrl + shift + i" to see what errors you're getting, if any

Closing due to no response


delete extra empty lines of DO and correct spelling errors. fixed#825

Codecov Report

Merging #826 (8c6981b) into master (c2c55a5) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master     #826   +/-   ##
=========================================
  Coverage     71.74%   71.74%
  Complexity     1578     1578
=========================================
  Files           275      275
  Lines          6304     6304
  Branches        710      710
=========================================
  Hits           4523     4523
  Misses         1399     1399
  Partials        382      382

Impacted Files
Coverage Δ
Complexity Δ

...ava/org/dromara/soul/admin/entity/AuthParamDO.java
100.00% <ø> (ø)
1.00 <0.00> (ø)

...java/org/dromara/soul/admin/entity/AuthPathDO.java
100.00% <ø> (ø)
1.00 <0.00> (ø)

...org/dromara/soul/admin/entity/DashboardUserDO.java
100.00% <ø> (ø)
3.00 <0.00> (ø)

...n/java/org/dromara/soul/admin/entity/PluginDO.java
100.00% <ø> (ø)
3.00 <0.00> (ø)

.../org/dromara/soul/admin/entity/PluginHandleDO.java
100.00% <ø> (ø)
3.00 <0.00> (ø)

...org/dromara/soul/admin/entity/RuleConditionDO.java
81.25% <ø> (ø)
2.00 <0.00> (ø)

...ain/java/org/dromara/soul/admin/entity/RuleDO.java
100.00% <ø> (ø)
4.00 <0.00> (ø)

...dromara/soul/admin/entity/SelectorConditionDO.java
81.25% <ø> (ø)
2.00 <0.00> (ø)

...java/org/dromara/soul/admin/entity/SelectorDO.java
94.44% <ø> (ø)
4.00 <0.00> (ø)

...java/org/dromara/soul/admin/entity/SoulDictDO.java
93.33% <ø> (ø)
2.00 <0.00> (ø)

... and 2 more

Continue to review full report at Codecov.

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


MathMultipleConverter can throw Exceptions e.g. at DesignTime

The MathMultipleConverter throws a NullReferenceException at DesignTime when I used it for a Style, because a referenced value wasn't created yet.
The converter tries to convert the values .ToString(), even when there are null -> Exception
if (Double.TryParse(value[0].ToString(), out value1) &&  Double.TryParse(value[1].ToString(), out value2))
You can just fix this by adding this at the top or surround it with a try:
             if (values[0] == null ||                  values[1] == null)                 return Binding.DoNothing;

I hope that PR #464 will help you after merging.

Yep, your changes seems great, better to avoid all those possible Exceptions than just using a try/catch. Till the package is updated I implemented a copy by myself, thanks for your effort!


Panic when using closure returning a signal in inner_html attribute.

Describe the bug
Panic when returning a ReadSignal from a closure used in an attribute.
Minimal example:
use leptos::*;

fn main() {
    let text = create_rw_signal("123".to_string());
    mount_to_body(move || {
        view! {
            <div inner_html = move || { text }/>
        }
    })
}

Leptos Dependencies
Cargo.toml:
leptos = { version = "0.5.2", features = ["csr"] }

Other dependencies:
trunk 0.17.5
wasm-bindgen 0.2.88
To Reproduce
Steps to reproduce the behavior:

git clone https://github.com/titaniumtraveler/leptos-test-1
trunk serve
firefox http://<IP_ADDRESS>:8080
Panic in browser console when executing the wasm with following message:Uncaught (in promise) RuntimeError: unreachable executed
    __wbg_finalize_init http://<IP_ADDRESS>:8080/leptos-test-1-5c01ef5f7a5b7def.js:360
    __wbg_init http://<IP_ADDRESS>:8080/leptos-test-1-5c01ef5f7a5b7def.js:396
leptos-test-1-5c01ef5f7a5b7def_bg.wasm:569714:1

Expected behavior
The panic not to happen and it to just work.
Additional context
It works fine when using text.get() instead of text in the closure body.

So, this is kind of a tough one.
On the one hand, you should never need to have a function that returns a signal (or another function) as an attribute value. Your example is better written as either
<div inner_html=move || text.get()/>

or simply
<div inner_html=text/>

either of which works.
On the other hand, panicking in this situation and forcing you to track down the bug is annoying.
The attached PR means your example does work, which is nice -- but it does some additional work to do it, so it's best to avoid this situation if possible.

Hey, would you like to add a tracing::warn event if this case is encountered? Like when calling a reactive accessor outside a tracking context?
Occurrences would otherwise go by (probably) completely unnoticed.

Hey, would you like to add a tracing::warn event if this case is encountered? Like when calling a reactive accessor outside a tracking context?
I definitely agree that that would be really helpful. Especially because when not using console_error_panic_hook the error message is impossible to understand, leading to a frustrating debug experience.

The actual panic is fixed in https://github.com/leptos-rs/leptos/commit/68c91a732d745fc441a7280b8188aa32051c9d48. I'm making a separate PR (#2045) to give a clearer warning in the working but less than ideal situation.


Add file attachment api

This PR allows attaching files to backlog space.
The $multipart should be set as-
$multipart = [
    [
        'name'     => 'file',
        'contents' => fopen('test.txt', 'r'),
        'filename' => 'file name',
        'headers'  => [
            'Content-Type' => 'application/octet-stream'
        ]
    ]
]

I'm using your library for one of my projects. This option is really needed for me.

@biplobice
It corresponded with release1.1.0.
Thank you!


Shutting down the server activates the global environment for no reason

[ Info: Listening on: <IP_ADDRESS>:8000
✓ LiveServer listening on http://localhost:8000/ ...
  (use CTRL+C to shut down)
^C
⋮ shutting down LiveServer… [ Info: Server on <IP_ADDRESS>:8000 closing
✓

[ Info: 📓 serializing global context...
[ Info: ... [global context] ✓
[ Info: 📓 serializing 10 local context...
[ Info: ... [lc of tutorials/index.md] ✓
[ Info: ... [lc of 404.md] ✓
[ Info: ... [lc of tutorials/preferences.md] ✓
[ Info: ... [lc of news/2022/07/dagger_julius_benchmark.md] ✓
[ Info: ... [lc of news/index.md] ✓
[ Info: ... [lc of index.md] ✓
[ Info: ... [lc of resources/index.md] ✓
[ Info: 📓 keep copy of config.md...
[ Info: 📓 keep copy of utils.jl...
[ Info: 💡 serializing done (δt = 0.8s)

[ Info: 🗑 cleaning up all objects
[ Info: 💡 cleaning up done (δt = 1ms)

  Activating project at `~/.julia/environments/v1.8`

I don't see why shutting down the server should change the environment at all. I want to keep using the environment that was active before starting the server, which may not be the global one.

Thanks for the feedback @giordano ; the intent is indeed exactly what you point out. It should be reasonably easy to fix, will try to do that in the next couple of days

The main fix in https://github.com/tlienart/Xranklin.jl/commit/1e0fe858a74a2e06f77e84bb3455c2c071002cb8 is that at the end of a serve instead of just Pkg.activate() it activates the previous Pkg.project().path called before the build unless this hasn't changed.
This should remove the issue mentioned above but let me know if that's not the case.


Works on one chart in Angular, but not the other!

I have a polynomial regression line on one of my charts, but I cannot for the life of me get it to work on a different chart. It is almost exactly the same configuration. But the regression just doesn't show up. No errors in the console, nothing.
Is there a way to toggle a verbose debugging mode or something?
I've taken the configuration (options) from the non-working  chart and set up a fiddle here: http://jsfiddle.net/yv8pbx56/4/
The regression works perfectly in the fiddle. But in my angular project I get no regression line. Just the scatter plot shows.
I must have everything imported correctly including the regression plugin since the chart in showing up. So how can I find out if the regression plugin is working and just confused or what?
My angular component code:
import { ChangeDetectorRef, Component, Input, OnInit } from '@angular/core';
import { RiskApiService } from "@core/services";
import * as Highcharts from "highcharts";
import { IHighChartsSeriesData } from "@app/interfaces/IHighChartsSeriesData";
import * as HC_Regression from 'highcharts-regression';

@Component({
	selector: 'cl-trend',
	templateUrl: './trend.component.html',
	styleUrls: ['./trend.component.scss']
})
export class TrendComponent implements OnInit
{
	//public Names: BehaviorSubject<IRiskName[]> = new BehaviorSubject<IRiskName[]>([]);
	public TrendChartOptions: Highcharts.Options = this.get_trend_chart_options([], false);
	public highcharts = Highcharts;
	public updateTrendFlag: boolean = false;

	constructor(
		private _changeDetector: ChangeDetectorRef,
		private _api: RiskApiService
	)
	{
		HC_Regression(Highcharts);
	}

	ngOnInit(): void
	{
	}

	private _riskId: string;
	@Input()
	public set RiskId(riskId: string)
	{
		if (this._riskId !== riskId)
		{
			this._riskId = riskId;
			setTimeout(async () => this.init(), 1);
		}
	}
	public get RiskId()
	{
		return this._riskId;
	}

	private _expanded: boolean = false;
	@Input()
	public set Expanded(expanded: boolean)
	{
		if (this._expanded !== expanded)
		{
			this._expanded = expanded;
			setTimeout(async () => this.init(), 1);
		}
	}

	private async init()
	{
		const mods = await this._api.XmodGraph(this._riskId); //  this is cached, so no problem calling it many times
		let index: number = 0;
		let seriesData: IHighChartsSeriesData[];
		if (mods && mods.length > 0)
		{
			seriesData = (this._expanded ? mods.slice(-30) : mods.slice(-10)).map((v, i, crs) =>
			{
				return { name: v.XmodIncepYear.toString(), x: index++, y: v.XmodFactor, color: undefined };
			});
			this.TrendChartOptions = this.get_trend_chart_options(seriesData, this._expanded);
			this.updateTrendFlag = true;
			this._changeDetector.detectChanges(); // tried this as a last ditch
		}
	}

	private get_trend_chart_options(seriesData: IHighChartsSeriesData[], expanded: boolean): Highcharts.Options
	{
		seriesData = seriesData || [];
		const max = Math.max.apply(Math, seriesData.map((o) => o.y));
		const avgLast3 = seriesData.slice(0, 3).reduce((pv, m) => pv + m.y, 0) / 3;
		const avgAll = seriesData.reduce((pv, m) => pv + m.y, 0) / seriesData.length;

		return {
			credits: { enabled: false },
			chart: {
				zoomType: "xy",
				type: 'scatter',
				width: expanded ? 817 : 286,
				height: 151,
				spacingLeft: 5,
				spacingTop: 10,
				spacingBottom: 15,
				spacingRight: 10,
				borderWidth: 0
			},
			title: { text: null, },
			xAxis: {
				type: 'category',
				labels: {
					style: {
						fontSize: '8pt',
						fontFamily: "Verdana",
						color: "#0F4F8C"
					},
					rotation: -90,
					step: 1
				},
				tickInterval: 1,
				showLastLabel: true
			},
			yAxis: {
				min: 0,
				max: max + 10,
				tickInterval: max / 6,
				allowDecimals: false,
				title: { text: null },
				labels: {
					formatter: function ()
					{
						return ('000' + parseFloat('' + this.value).toFixed()).slice(-3);
					},
					style: {
						fontSize: "8pt",
						fontFamily: "Verdana",
						color: "#0F4F8C"
					}
				}
			},
			legend: { enabled: false },
			plotOptions: {
				scatter: { dataLabels: { color: "#0F4F8C" } },
				series: {
					borderWidth: 0,
					color: "#336699",
					dataLabels: { enabled: false, allowOverlap: true }
				}
			},
			tooltip: {
				formatter: function ()
				{
					const y = ('000' + parseFloat('' + this.point.y).toFixed()).slice(-3)
					return `<span>${this.series.name}</span><br><span>${this.point.name}</span>: <b>${y}</b><br/>`;
				}
			},
			series: [
				({
					regression: (seriesData.length > 2),
					//type: 'line',
					zIndex: 1,
					name: 'X-Mod',
					id: "mods",
					lineWidth: 0,
					marker: {
						enabled: true,
						symbol: "circle",
						radius: 6
					},
					regressionSettings: {
						name: 'Trend',
						visible: (seriesData.length > 2),
						type: 'polynomial',
						color: avgLast3 > avgAll ? "#D50D0D" : "#1D681B",
						order: 4,
						lineWidth: 2,
						index: 2,
						//regressionSeriesOptions: { dataLabels: { enabled: false } }
					},
					data: seriesData
				} as any)
			]
		};
	}
}

This issue is not due to configuration or references to the packages. It has to do with changing the data after initial display. Opening another issue that is more relevant to the actual problem.

Can you share a snippet on JsFiddle or simillar?
On Wed, Jun 29, 2022 at 9:10 PM Ken Hadden @.***> wrote:

I have a poly nomial regression line on one of my charts, but I cannot for
the life of me get it to work on a different chart. It is almost exactly
the same configuration. But the regression just doesn't show up. No errors
in the console, nothing.
Is there a way to toggle a verbose debugging mode or something?
—
Reply to this email directly, view it on GitHub
https://github.com/streamlinesocial/highcharts-regression/issues/110,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAP5GLTGCXXGGICPANHN7BLVRTQV5ANCNFSM52HQIIKQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@phpepe Sorry, all the relevant code is in the original post. I don't have any time to setup a fiddle.  However, I did post this issue with a fiddle. The problem occurs when I change the data after the chart has been initialized: https://github.com/streamlinesocial/highcharts-regression/issues/111
It's been almost six months since I worked on this. And if I recall correctly I had to do some dirty hacks to get it to work. I never did get it working properly.


Routine load timeout.

Steps to reproduce the behavior (Required)

CREATE TABLE

CREATE TABLE `aggregate_table_for_bitmap` ( `k1`  boolean, `k2`  tinyint, `k3`  smallint, `k4`  int, `k5`  bigint, `v1`  bitmap bitmap_union, `v2`  bitmap bitmap_union, `v3`  bitmap bitmap_union, `v4`  bitmap bitmap_union, `v5`  bitmap bitmap_union ) ENGINE=OLAP COMMENT "OLAP" DISTRIBUTED BY HASH(`k1`, `k2`, `k3`) BUCKETS 3 PROPERTIES ( "replication_num" = "1", "storage_format" = "v2" );

2.ROUTINE LOAD
CREATE ROUTINE LOAD routine_load_for_bitmap_7a1dc812_cf1b_11ec_a7be_00163e0e489a on aggregate_table_for_bitmap COLUMNS (k1,k2,k3,k4,k5,v1 = to_bitmap(k1),v2 = to_bitmap(k2),v3 = to_bitmap(k3),v4 = to_bitmap(k4),v5 = to_bitmap(k5)),COLUMNS TERMINATED BY '\t' PROPERTIES ("desired_concurrent_number"="1","max_error_number"="1000","max_batch_interval"="5") FROM KAFKA ("kafka_broker_list"="xxx:9092","kafka_topic"="data-for-bitmap","kafka_partitions"="0,1,2,3,4","kafka_offsets"="OFFSET_BEGINNING,OFFSET_BEGINNING,OFFSET_BEGINNING,OFFSET_BEGINNING,OFFSET_BEGINNING");

Expected behavior (Required)
Load correctly.

Real behavior (Required)
AssertionError: routine load timeout.

StarRocks version (Required)

You can get the StarRocks version by executing SQL select current_version()
BRANCH_ASAN d44c230

It seems that this problem cannot be reproduced. I think it should be hung-up.


Can't install module on Plesk 12.5 on CentOS 7

Error: Failed to install the extension: Executing /usr/local/psa/admin/plib/modules/letsencrypt/scripts/post-install.php failed: Bootstrapping dependencies for centos 7 x86_64... http://autoinstall.plesk.com/LETSENCRYPT_0.0.1/dist-rpm-CentOS-7-x86_64/packages/plesk-wheel-psutil-3.2.2-centos7.15112714.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=plesk-letsencrypt clean metadata Trying other mirror. http://autoinstall.plesk.com/LETSENCRYPT_0.0.1/dist-rpm-CentOS-7-x86_64/packages/plesk-wheel-cryptography-1.1-centos7.15112714.x86_64.rpm: [Errno -1] Package does not match intended download. Suggestion: run yum --enablerepo=plesk-letsencrypt clean metadata Trying other mirror. Error downloading packages: plesk-wheel-psutil-3.2.2-centos7.15112714.x86_64: [Errno 256] No more mirrors to try. plesk-wheel-cryptography-1.1-centos7.15112714.x86_64: [Errno 256] No more mirrors to try.

Hello,
A yum metadata doesn't updated on server, I re-regerate it. Please try again or download from catalog and upload to Plesk again if it was installed before.
Thanks,

Works fine now, thanks!


[Discussion] Integrating a static site generator

Hi!
First of all, thank you for this theme. Design- and a11y-wise, it follows the principles Adam Wathan advocates. I personally really love the modal, specially on mobile.
I have forked the repo and started working on adding a static site generator to it. Something like 11ty or hexo, may be. The most significant benefit will be reusing existing html files to make it more modular. I would like to know what @estevanmaito thinks about the idea.

Hey! Thank you!
It's a great idea. Personally, I don't see a lot of people using this dashboard as pure HTML but instead implementing some sort of template engine like Handlebars, etc or SSG.
I don't plan to change this project to keep this flexibility, but I encourage you to create a new repo like windmill-dashboard-hexo and develop it. Just put a link to the main project and I would proudly start an "Alternatives" section in this repo and point to your project. I think it would be a great start to an ecosystem.
Let me know what you think!

Yea, sounds good to me. Let me see what I can do. :)


map is deprecated, not available in terraform 0.15

Community Note

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

Terraform Version and Provider Version
Terraform v0.15.0

provider registry.terraform.io/hashicorp/oci v4.21.0

Affected Resource(s)

output "subnet_ids"
Terraform Configuration Files

Debug Output

Panic Output

Expected Behavior

terraform apply with success
Actual Behavior

There is error:
 Error: Error in function call
│
│   on .terraform/modules/oke_network/modules/okenetwork/outputs.tf line 5, in output "subnet_ids":
│    5:   value = map(
│    6:     "cp", join(",", oci_core_subnet.cp[*].id),
│    7:     "workers", join(",", oci_core_subnet.workers[*].id),
│    8:     "int_lb", join(",", oci_core_subnet.int_lb[*].id),
│    9:     "pub_lb", join(",", oci_core_subnet.pub_lb[*].id)
│   10:   )
│     ├────────────────
│     │ oci_core_subnet.cp will be known only after apply
│     │ oci_core_subnet.int_lb will be known only after apply
│     │ oci_core_subnet.pub_lb will be known only after apply
│     │ oci_core_subnet.workers will be known only after apply
│
│ Call to function "map" failed: the "map" function was deprecated in Terraform v0.12 and is no longer available; use tomap({ ... }) syntax to write a literal map.

Steps to Reproduce

terraform apply

Important Factoids

References

Hi @dirgapeter
Thanks for bringing this to our attention. We haven't tested on v0.15 yet but we'll start doing so as soon as possible.


fix(BD-labels):add device attributes and location details as bd labels

Signed-off-by: Abhishek Agarwal<EMAIL_ADDRESS>Why is this PR required? What issue does it fix?:
issue- #615
What this PR does?:
This PR adds some generic labels to the block device resources which are already present inside the BD CR spec along with some topology(location) details as labels for the block devices to be able to easily classify devices on the basis of these labels.
The labels will be added by making use of an ENV variable set on the NDM manager daemonset pods. The ENV variable responsible for these labels is LABEL_LIST which is a string containing comma separated list of labels to be added.
env:
  - name: LABEL_LIST
    value: "Vendor,Model,DriveType,FileSystem,node-attributes"

Only some specific labels can be added to this list which is understood by the daemonset pod.
Description of the labels currently supported:

Vendor: adds vendor name
Model: adds model name
DriveType: adds type of drive detail(SSD/HDD)
FileSystem: adds fs present on the device
node-attributes: adds location details to the device

Does this PR require any upgrade changes?:
If the changes in this PR are manually verified, list down the scenarios covered::

Deleted ndm operator deployment and ndm manager daemonset.
Deployed fresh ndm resources.
Checked the BD resources labels after deployment. Verified that the device attribute labels and node location labels as getting added

master@master-virtual-machine:~$ kubectl get bd blockdevice-13fd4ff9d80c62365c0aa068d8b48ed9 -n openebs -oyaml
apiVersion: openebs.io/v1alpha1
kind: BlockDevice
metadata:
  annotations:
    internal.openebs.io/uuid-scheme: gpt
  creationTimestamp: "2021-06-29T14:51:56Z"
  deletionGracePeriodSeconds: 0
  deletionTimestamp: "2021-08-26T05:17:58Z"
  finalizers:
  - openebs.io/bd-protection
  generation: 2845
  labels:
    beta.kubernetes.io/arch: amd64
    beta.kubernetes.io/os: linux
    hostname: node1-virtual-machine
    kubernetes.io/arch: amd64
    kubernetes.io/hostname: node1-virtual-machine
    kubernetes.io/os: linux
    ndm.io/blockdevice-type: blockdevice
    ndm.io/drive-type: HDD
    ndm.io/filesystem-type: zfs_member
    ndm.io/managed: "true"
    ndm.io/model: Virtual_disk
    ndm.io/vendor: VMware
    nodename: node1-virtual-machine
  name: blockdevice-13fd4ff9d80c62365c0aa068d8b48ed9
  namespace: openebs
  resourceVersion: "21268874"
  uid: 471de5d0-dcfc-4c10-a612-23a9662124c5
spec:
  capacity:
    logicalSectorSize: 512
    physicalSectorSize: 512
    storage:<PHONE_NUMBER>8
  claimRef:
    apiVersion: openebs.io/v1alpha1
    kind: BlockDeviceClaim
    name: bdc-cstor-471de5d0-dcfc-4c10-a612-23a9662124c5
    namespace: openebs
    resourceVersion: "7383975"
    uid: 3dc4ec42-2dc7-4930-86c4-dce6a462ec45
  details:
    compliance: SPC-
    deviceType: partition
    driveType: HDD
    firmwareRevision: '1.0 '
    hardwareSectorSize: 512
    logicalBlockSize: 512
    model: Virtual_disk
    physicalBlockSize: 512
    serial: ""
    vendor: VMware
  devlinks:
  - kind: by-path
    links:
    - /dev/disk/by-path/pci-0000:00:10.0-scsi-0:0:1:0-part1
  filesystem: {}
  nodeAttributes:
    nodeName: node1-virtual-machine
  partitioned: "No"
  path: /dev/sdb1
status:
  claimState: Claimed
  state: Inactive

Any additional information for your reviewer? :
Mention if this PR is part of any design or a continuation of previous PRs
Checklist:

[x] Fixes #615
[x] PR Title follows the convention of  <type>(<scope>): <subject>
[ ] Has the change log section been updated?
[x] Commit has unit tests
[ ] Commit has integration tests
[ ] (Optional) Are upgrade changes included in this PR? If not, mention the issue/PR to track:
[ ] (Optional) If documentation changes are required, which issue on https://github.com/openebs/openebs-docs is used to track them:

Codecov Report

Merging #618 (dca0b0f) into master (426eeaa) will decrease coverage by 0.39%.
The diff coverage is 10.00%.

@@            Coverage Diff             @@
##           master     #618      +/-   ##
==========================================
- Coverage   47.26%   46.87%   -0.40%
==========================================
  Files          78       78
  Lines        3781     3819      +38
==========================================
+ Hits         1787     1790       +3
- Misses       1838     1871      +33
- Partials      156      158       +2

Impacted Files
Coverage Δ

cmd/ndm_daemonset/controller/controller.go
12.00% <0.00%> (-2.64%)
:arrow_down:

cmd/ndm_daemonset/probe/changehandler.go
0.00% <0.00%> (ø)

cmd/ndm_daemonset/probe/addhandler.go
74.02% <6.66%> (-3.45%)
:arrow_down:

cmd/ndm_daemonset/controller/blockdevice.go
81.69% <50.00%> (-2.14%)
:arrow_down:

cmd/ndm_daemonset/probe/eventhandler.go
39.72% <100.00%> (+0.83%)
: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 426eeaa...dca0b0f. Read the comment docs.

I am not sure why the integration tests are failing. cc: @akhilerm @kmova .

@Ab-hishek the integration tests are a bit flaky. @z0marlin is looking into it

Explore if the following configmap can be used to generalize the metadata label addition.
# Create NDM configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: node-disk-manager-config
  namespace: openebs
data:
  # node-disk-manager-config contains config of available probes, filters, meta-hooks.
  # Probes, Filters and Meta-hooks will initialize with default values if config for that
  # filter, probe or meta hooks are not present in configmap
  node-disk-manager.config: |
   # udev-probe is default or primary probe it should be enabled to run ndm.
   probeconfigs:
      - key: udev-probe
        name: udev probe
        state: true
      - key: seachest-probe
        name: seachest probe
        state: true
      - key: smart-probe
        name: smart probe
        state: true
  # filterconfigs contains configs of filters. To provide a group of include
  # and exclude values add it as `,` separated string
  filterconfigs:
      - key: os-disk-exclude-filter
        name: os disk exclude filter
        state: true
        exclude: "/,/etc/hosts,/boot"
      - key: vendor-filter
        name: vendor filter
        state: true
        include: ""
        exclude: "CLOUDBYT,OpenEBS"
      - key: path-filter
        name: path filter
        state: true
        include: ""
        exclude: "/dev/loop,/dev/fd0,/dev/sr0,/dev/ram,/dev/md,/dev/dm-,/dev/rbd,/dev/zd"
   # tagconfig can be used to set a openebs.io/block-device-tag to the block devices with
   # provided value, when a device attribute (type) matches a given pattern.
   tagconfigs:
     - name:
        type: path
        pattern:  /dev/nvme*
        tag: nvme-device
   # metconfig can be used to decorate the block device with different types of labels
   # that are available on the node or come in a device properties.
   # node labels - the node where bd is discovered. A whitlisted label prefixes
   # attribute labels - a property of the BD can be added as a ndm label as ndm.io/<property>=<property-value>
   metaconfigs:
     - name: node-labels
        pattern:  kubenetes.io*, beta.kubernetes.io*, custom.io/custom-label
     - name: device-labels
        type: bd.di.Vendor, db.fs.FsType


Some apps might save per-app view, ignoring templates?

search in the opendialog view not showing details in the SYMENU APP

It looks like you're in a file open/save dialog of an application. Is that correct? If so, the usual explanation is that app was open when you ran WinSetView. Logout and login and then try WinSetView again. If the problem persists, let me know what app that is. And try the search from a regular Explorer window to confirm you get the expected view there.

search from

explorer -> OK (detail view)
opendialog in many apps -> OK (detail view), including running before WinSetView was run.

the app is SyMenu

restart of the app -> FAIL (still not detail view).
todo: relogin test follows.

notes

maybe connected to the specific "Gallery" folder

the search in the explorer in the gallery directly works as expected though.
SyMenu: go to Configuration > add an App -> browse for an exe or an icon.
when setting this funny collection-view to details manually, it preserves the selection. Maybe the app serialized somehow the view of the dialog in its config and the "global" template (what is being set by the WSV (c)) not used at all. Because the app even persists the search TERM one used last time.

The view shown is just the Windows default search result layout. You must have previously did a search before running WinSetView which created a saved view in the registry for that folder. WinSetView would have deleted all the saved views, but some app (maybe SyMenu, but not necessarily) had that view open with the old default view which then created a new saved view with the old default settings.
Do a logout and login (or restart) and then run WinSetView before running anything else. That should work. Let me know if that resolves it.

If the problem persists, I would suspect some software that is restoring saved views on login, such as WindowManager.

Just checking back. Did you get this sorted?

I log out not that often because of the logistical reasons. Let's close it and reopen if there are any other troubles.

The issue may have occurred for apps that don't actually close when you click the close box.
Apps that minimize to the System Tray when "closed", such as Discord, Steam, and qBittorrent, must be fully closed (e.g. right-click the app’s System Tray icon and select Exit).


Added AWS Account Role ARN support

Fixes #2

Why do you have to set the alias? It seems to make no difference since you still use only one AWS provider.
I believe that this might work for you. But me and other users actually just create the cluster directly through the user and this change basically breaks it.

My understanding is that you should be able to override the provider from the root module. Can't you simply do something like this? It should keep my module unchanged while letting you configure your role.
provider "aws" {
  region = "${var.aws_region}"

  assume_role {
    session_name = "Terraform"
    role_arn     = "arn:aws:iam::12345678900:role/terraform"
  }
}

module "kubernetes" {
  source = "../"

  aws_region    = "eu-central-1"
  cluster_name  = "aws-kubernetes"
  master_instance_type = "t2.medium"
  worker_instance_type = "t2.medium"
  ssh_public_key = "~/.ssh/id_rsa.pub"
  ssh_access_cidr = ["<IP_ADDRESS>/0"]
  api_access_cidr = ["<IP_ADDRESS>/0"]
  min_worker_count = 3
  max_worker_count = 6
  hosted_zone = "my-domain.com"
  hosted_zone_private = false

  master_subnet_id = "subnet-8a3517f8"
  worker_subnet_ids = [
      "subnet-8a3517f8",
      "subnet-9b7853f7",
      "subnet-8g9sdfv8"
  ]

  # Tags
  tags = {
    Application = "AWS-Kubernetes"
  }

  # Tags in a different format for Auto Scaling Group
  tags2 = [
    {
      key                 = "Application"
      value               = "AWS-Kubernetes"
      propagate_at_launch = true
    }
  ]

  addons = [
    "https://raw.githubusercontent.com/scholzj/terraform-aws-kubernetes/master/addons/storage-class.yaml",
    "https://raw.githubusercontent.com/scholzj/terraform-aws-kubernetes/master/addons/heapster.yaml",
    "https://raw.githubusercontent.com/scholzj/terraform-aws-kubernetes/master/addons/dashboard.yaml",
    "https://raw.githubusercontent.com/scholzj/terraform-aws-kubernetes/master/addons/external-dns.yaml",
    "https://raw.githubusercontent.com/scholzj/terraform-aws-kubernetes/master/addons/autoscaler.yaml"
  ]
}

@scholzj not really. Inside of the module you're redeclaring the provider, which means the external one is "useless" in this case.
Unless you call every resource with a provider and also make sure you're assuming the specific role, it wouldn't work.
The reason why it works nicely is because you don't have setup multiple accounts. It reads the file ~/.aws/credentials and ~/.aws/config which likely only have "default" in your case.
In cases where you handle multiple accounts, you need to assume specific profiles over different accounts, which leads to the need of specifying the provider for every resource.

The reason why it works nicely is because you don't have setup multiple accounts. It reads the file ~/.aws/credentials and ~/.aws/config which likely only have "default" in your case.

Well, what I tired is to configure the credentials only in the outside provider and not in the inside. That seemed to work fine and use the root module provider correctly. But that is a bit artificial, so maybe it doesn't work on your use case. I saw there are some issues open in Terraform around the way the provider is inherited.

Inside of the module you're redeclaring the provider, which means the external one is "useless" in this case.

Ok. What if we delete the provider which is inside the module? I checked the registry and there seem to be some module which actually don't seem to define the provider inside the module and expect the user to define it in the root module. Would that help to take your provider from the root module? Can you try that locally?
I'm also still not sure how you plan to use the alias with multiple accounts. Is it because you main project includes also other modules which need to use the different AWS accounts and that is why you need the alias? Because if it is just about this module how will you change the accounts / aliases without modifying the module? TBH I don't see any harm in the alias, I'm just trying to understand how it helps.

Well, what I tired is to configure the credentials only in the outside provider and not in the inside. That seemed to work fine and use the root module provider correctly. But that is a bit artificial, so maybe it doesn't work on your use case. I saw there are some issues open in Terraform around the way the provider is inherited.

That would not work. Your credentials would work fine for the organization, but not for the individual accounts. You'd end up creating resources at the organization level.
People are complaining on Terraform because they want to declare the provider only once, and currently this is not possible.

Ok. What if we delete the provider which is inside the module? I checked the registry and there seem to be some module which actually don't seem to define the provider inside the module and expect the user to define it in the root module. Would that help to take your provider from the root module? Can you try that locally?

That was the first thing I did. Whenever you define an un-aliased provider, your resources will reuse that definition. That works fine for a single account, but it doesn't work for multiple accounts.

I'm also still not sure how you plan to use the alias with multiple accounts. Is it because you main project includes also other modules which need to use the different AWS accounts and that is why you need the alias? Because if it is just about this module how will you change the accounts / aliases without modifying the module? TBH I don't see any harm in the alias, I'm just trying to understand how it helps.

In my case, I have 3 accounts that will define my environment: management, development and production. They're actually 3 AWS accounts that are children of a 4th one converted to an organization. This means only global services can be declared at the organization level (ie. Route53). These accounts then have VPC peering for management <-> production and management <-> development.
In my Terraform scripts, I require to declare all 4 accounts in order to orchestrate my environment creation. This means I have at least 4 declarations like:
provider "aws" {
    alias = "management"
    # ...
}

provider "aws" {
    alias = "development"
    # ...
}

provider "aws" {
    alias = "production"
    # ...
}

provider "aws" {
    alias = "organization"
    # ...
}

Depending of the account I'm looking to perform orchestration, I require to setup provider = "<provider_alias_here>" on every resource (or data) that is executed against AWS. If I don't specify a provider, it'll attempt to run against the organization account, and the execution will fail, since it won't go to your desired account.

That was the first thing I did. Whenever you define an un-aliased provider, your resources will reuse that definition. That works fine for a single account, but it doesn't work for multiple accounts.

Ok, but what if we add the alias to the resources and remove the provider and let you define the provider in your root project? Because the alias is fine with me. It should not break anything for me and other users. We will need to set the alias in our providers, but that should be fine. But the part with the role
assume_role {
   session_name = "Terraform"
   role_arn     = "${var.aws_role_arn}"
}

is a breaking the module for me and some other users I know about. So I cannot really merge that part.


Support more types for DLD dataframe extra columns

Building on https://github.com/European-XFEL/EXtra/pull/166, this PR relaxes the type requirements a bit to work with both pulse- and train-resolved data in pd.Series, xr.DataArray or directly KeyData objects. Naturally the pulse index must be compatible, i.e. use the same first two columns.

The implementation looks good to me.
It doesn't seem 100% ideal to be making APIs that look like load_some_data(with=some_other_data), as opposed to some form of load_some_data() + some_other_data. But I think that's hard to avoid given the constraints of what you're doing here, so go ahead.

Thanks for review!
Indeed I still want a PulsePattern.label_data-esque API that can take data in as many different formats as possible and align it. But it seemed unlikely to get this right quickly, so I opted for a smaller integration in the DLD component itself. It should be easy to continue supporting this API on top of a more generic one later.

In that case, LGTM


Error while restarting the training for Coverage

Hello,
I have successfully trained the Pointer Generator model as mentioned in the Readme of the repo. But as per the documentation, when I am trying to train for coverage, I am facing below error:
NotFoundError (see above for traceback): Key seq2seq/decoder/attention_decoder/coverage/w_c not found in checkpoint
[[Node: save/RestoreV2_19 = RestoreV2[dtypes=[DT_FLOAT], _device="/job:localhost/replica:0/task:0/cpu:0"](_arg_save/Const_0_0, save/RestoreV2_19/tensor_names, save/RestoreV2_19/shape_and_slices)]]
The steps taken while restarting:

Kill the normal training process.
Restarting (using the same parameters as before) but add an additional parameter "--coverage=True" towards the end.

Any of the experienced folks here, please let me know what am I doing wrong and how to go ahead with Coverage training.

Super! Thanks a ton!


Support Git Bash on Windows

I am running into a "line too long" error during catkin_make_isolated on Windows when using lots of packages. This appears to be caused by the various environmental variables in env.bat becoming longer than the 8191 character limit allowed in a batch file. Using Git Bash instead of cmd would fix this issue and be more familiar to users from Linux. Git Bash shouldn't have this same limitation.
I submitted an issue to RosOnWindows (https://github.com/ms-iot/ROSOnWindows/issues/157) but it appears this is actually being configured by catkin.

If the shell doesn't support long environment variables you need to use a merged install spaces instead. bat certainly falls into that category. I don't know about Git bash.
Assuming there is nothing catkin can do about I am going ahead and close this issue.

The --merge option failed with an error "Command "*" not found".
Can you briefly describe how and where the environment files are generated for the workspace and primary ROS install directory (ie /opt/ros/melodic/setup.bash). I can create a patch fairly quickly but it isn't clear how these files are generated.

We are attempting to work around the limitations of the Windows build environment here: https://github.com/Jmeyer1292/opw_kinematics/pull/33

Can you briefly describe how and where the environment files are generated for the workspace and primary ROS install directory (ie /opt/ros/melodic/setup.bash).

The function catkin_generate_environment called from here generates the prefix level files.
There is some conditional logic to only have one Debian package generate them: https://github.com/ros/catkin/blob/0d245cb80fd62053ba6bcc33b888e97c1588188e/cmake/all.cmake#L78-L86

I'v created a script that will read the environmental variables set in a batch file and export back to Git Bash. This allows Git Bash to be used normally by sourcing setup.bat like this:
source source_bat.bash "c:\opt\ros\melodic\x64\setup.bat"

This does not solve the "line too long" problem, but otherwise allows for Git Bash to be used.


docs: update example usage

Currently example points to an old version. I would never find out that there is a new version if the old one would not use deprecated node version (also being used by checkout@v2).

Sorry, I had to test this but looks good, thanks for suggesting the changes!


Fix wrong styling for import in docs

Coverage remained the same at 82.62% when pulling 79a0ee4916e0a3702a9f470ba30b2e70bd3303be on develop into fa8ad071d093bbb28e2a9d7971203b1f27405329 on master.


Avoid having hardcoded strings as options.

https://github.com/f-guevara/QuizMakerRepo/blob/458595f15091aaad9ac7991dbfb970bf8f796415/ConsoleUI.cs#L58
In general hardcoded strings like this should be avoided. A constant should be declared for this as it's an option and in the future this might changes.
Messages DO NOT require constants. So you don't have to declare constant for every hardcoded string but for strings which are used in if cases or as options.
There is at least one more occasion like this.

On a previous issue, I eliminated this part of the code, the user just enters "ESC" key to terminate the operation. Issue solved


module incompatible with npm 3

The module tries to load jsdoc inside the gulp-jsdoc3 folder. In npm 3 the dependencies are installed in a flat structure and this causes an error.

Thanks for the bug report! This is now fixed in 0.0.3 see: https://github.com/mlucool/gulp-jsdoc3/commit/fb198746b2532bc449433b79f6dd6fa25e7f5dbf


[stable/sonarqube] Adding support for Service annotations

I needed to add annotations to service to allow an internal load balancer in GCP. I guess this could be useful for others.
Inspired in https://github.com/kubernetes/charts/blob/master/stable/kong/templates/service-kong-admin.yaml

/assign @unguiculus

cc @rjkernick

/ok-to-test

/assign

@marcostvz please try https://github.com/kubernetes/charts/pull/3947, it has more flatten value file.

Please add documentation.

/test pull-charts-e2e

Hey @unguiculus tell me if is enough adding that to README.md

Please also add an empty default to values.yaml.

Done, thanks for your comment

/test pull-charts-e2e

/retest

/test pull-charts-e2e

Making that change will retest and hopefullt fix the container not ready error.

Please rebase off of master. The tests should pass with the fixes that are on master.

Thanks @rjkernick , it looks good now 🎉

/assign
/lgtm


[ADP-3063] Remove ConnectionPool

Overview
This task is about removing the ConnectionPool type and withConnectionPool function.
Historically, the ConnectionPool was an attempt to enable concurrent reading from a database file. However, the present state of the code is that only a single connection is ever used per database file.
Comments

This fixes an issue where runQuery would close and open the database connection all the time — instead of working with a pool :: ConnectionPool, this function would work with a fp :: FilePath.

Issue number
ADP-3063

bors merge


Basepath argument is not fully qualified. Parameter name: basePath

Environment data

VS Code version: 1.331
Extension version: 2019.3.6558
OS and version: Wins 10

The following error shows up every time at the launch.

a stackoverflow post here

Please could you open your Developer Tools window and look for errors in the Console window. Please paste the contents of the error here.

ERR Basepath argument is not fully qualified.
Parameter name: basePath: Error: Basepath argument is not fully qualified.
Parameter name: basePath
	at new t (C:\Users\liqia\.vscode\extensions\ms-python.python-2019.3.6558\out\client\extension.js:83:39490)
	at C:\Users\liqia\.vscode\extensions\ms-python.python-2019.3.6558\out\client\extension.js:1:100690
	at C:\Users\liqia\.vscode\extensions\ms-python.python-2019.3.6558\out\client\extension.js:1:100984
	at Immediate.<anonymous> (C:\Users\liqia\.vscode\extensions\ms-python.python-2019.3.6558\out\client\extension.js:1:101343)
	at runCallback (timers.js:696:18)
	at tryOnImmediate (timers.js:667:5)
	at processImmediate (timers.js:649:5)

the problem disappeared even before the update of 2019.4.11881


Add jenkins job to run rake tasks

Running rake tasks from jenkins has a couple of advantages:

We get a history of commands that have been run
We save the output to see what happens
We don't have to SSH into machines
Long-running tasks won't be interrupted when connection gets lost
We can link to the rake task with filled-in variables. This is nice for in Trello tickets.

The building of the jenkins job has been tested on a vagrant machine. Testing this on integration next to see if running the command works.

One improvement would be to prefill other machines, or infer the machine from the app name. Suggestions welcome.

It would be nice if we didn't have to duplicate the list of applications but I can't think of an easy way to get around that. I wonder whether hiera lookups for lists work yet. If not we could probably make it a multiline string and look that up although that's a bit terrible.

That's a good idea, I'll try that.

@alexmuller extracted the choices, updated PR. Is that what you meant?

I've tested the shell script/parameters thing in Jenkins integration by creating a new task:
https://deploy.integration.publishing.service.gov.uk/job/test-rake-task

I've added a not about why using ..app_choices: "%{hiera('app_choices')}" actually works.

I think we could improve the way the machines are selected as you say but I think this is a valuable addition as-is. Merge when ready :+1:


Feature: Add option for hiding outside-of-month days

Currently each calendar month is filled with 6 weeks of calendar cells to provide a consistent height to each month.  Like many other calendars, the days which are in the previous or subsequent months are displayed and stylistically we have chosen to give these days 50% opacity.
It would be nice to have an option to hide these days completely.  It is important that the keyboard navigation respects this option.

Outsider and disabled opacity is now configurable thru the theming interface


[Feature request] Vote timeout pauses

Can you add 2 pauses per team per half?
Example: Team T/CT to be able to pause the game 2 times for a half.
When switching sides(next half) to reset the counter and team to be able again to pause.
Idea: 4 pauses per map, 2 each half per team.
For overtime - 2 pauses are enough I think?
P.S - The idea is like CS:GO Voting system.

Maybe add a variable to control this :+1:

Can you add 2 pauses per team per half? Example: Team T/CT to be able to pause the game 2 times for a half. When switching sides(next half) to reset the counter and team to be able again to pause. Idea: 4 pauses per map, 2 each half per team. For overtime - 2 pauses are enough I think? P.S - The idea is like CS:GO Voting system.

Try to use this build
Linux
https://github.com/SmileYzn/RePugMod/actions/runs/2463237966
Windows
https://github.com/SmileYzn/RePugMod/actions/runs/2463237963
I have clean votes after a timeout runs, now each team can pause game more than one time.
Ps. I did not set the variable to control yet.
Need to test if teams can pause two times or more during a half before add any control variable..
:brazil:

I have clean votes counter after a timeout runs, now each team can pause game more than one time.

This works just fine, also when running pause (round is paused) I can vote for another pause.
You can add a check if a pause is running to vote for extend the pause 2/2 pauses or something like that..
Also you can add a gUtil.HudMessage with Match paused/Tactical Timeout and the counter from 60(variable set) to 0...
I can only test for linux, I don't use windows, so yeah...
Thank you for your time and the good work.
Keep it up +1

Only doubt, i'm at work ant can't test.
But the pause itself is only a extended freezetime to 60 seconds?
I really need to rework player menu vote system, also add command for admin open specific menus, like pug_ban_menu or pug_kick_menu

I have clean votes counter after a timeout runs, now each team can pause game more than one time.

This works just fine, also when running pause (round is paused) I can vote for another pause.
You can add a check if a pause is running to vote for extend the pause 2/2 pauses or something like that.. Also you can add a gUtil.HudMessage with Match paused/Tactical Timeout and the counter from 60(variable set) to 0...
I can only test for linux, I don't use windows, so yeah... Thank you for your time and the good work. Keep it up +1

I made some fixes on vote pause system, now only is lacking to add a console variable to manage how many pauses each team can execute per half.
Did you can test it first?
Linux Action build
https://github.com/SmileYzn/RePugMod/actions/runs/2465653501
Thanks for help
:pray:

Okay I tested:
gUtil.HudMessage with Match paused/Tactical Timeout and the counter - Works good, no problems.
You can remove the ---Match is live--- after the pause counter ends. (no need to announce that the match is live/unpaused)
The check while we are in pause to start another pause (the game is already paused) - Works good, no problems.
After the pause time ends and freezetime ends, (on new round) I can pause again.
Just a idea: You can add a vote menu to extend pause 2/2 when 1st pause counter is over. And print a message
Example: Counter-Terrorists 1/2 Pauses (0:60 Countdown)
Example 2 with extend pause: Counter-Terrorists 2/2 Pauses (0:60 Countdown)
Yeah.. Just a idea
Thanks for the work and your time.

I will also add pause to pug control menu to admin.
Did you want to show in vote menu how many pauses and the time to pause the game? I did not understand correctly how extend the paused game.

Did you want to show in vote menu how many pauses and the time to pause the game?
Yes

Picture: https://i.ytimg.com/vi/Lbmvr9Bojt0/maxresdefault.jpg
If possible when pause time is over, to add a popup menu to the captain or the whole team which paused the game, if they want to use the second pause? And if is it voted yes to extend the pause 2/2

I have added a variable pug_vote_pause_limit (Default 2 pause per half) to limit how many pauses each team can execute in a half.
Also allow the same team that called pause to vote to pause again while freezetime is running.

I tested:
After we are in pause (1st) and the counter is going, we vote for a second and nothing happens, but it counts that we've used one more pause.

allow the same team that called pause to vote to pause again while freezetime is running.

"Unable to pause match while is in freezetime period" - this should be fixed, what happens if someone wants to pause the game in the freezetime? Or if something happens suddenly in freezetime and the team needs to pause fast?
I think this:
If a pause is called in freezetime, then pause match on the fly (instant).
If called when its not freezetime (normal time) pause in next round.

I will fix it thanks

I tested:
After we are in pause (1st) and the counter is going, we vote for a second and nothing happens, but it counts that we've used one more pause.

allow the same team that called pause to vote to pause again while freezetime is running.

"Unable to pause match while is in freezetime period" - this should be fixed, what happens if someone wants to pause the game in the freezetime? Or if something happens suddenly in freezetime and the team needs to pause fast?
I think this: If a pause is called in freezetime, then pause match on the fly (instant). If called when its not freezetime (normal time) pause in next round.

I fixed it again, did you can try to test?
I think is working here.
Linux
https://github.com/SmileYzn/RePugMod/actions/runs/2476318098
:brain:

Tested:
"Unable to pause match while is in freezetime period" - this should be fixed, what happens if someone wants to pause the game in the freezetime? Or if something happens suddenly in freezetime and the team needs to pause fast? - Still not fixed/corrected.
While we are in pause (1st) when I vote for another, the timer resets (pause is extended), but it allows me to vote for 3rd pause.
Like when I start a pause (1st)time, then when match is paused I can do 2 more in a row and we get total 3 pauses, which is not right. Set by cvar default is 2.
Also you can add to gUtil.HudMessage, how many pauses team used like 1/2 or 2/2, like in the picture: https://i.ytimg.com/vi/Lbmvr9Bojt0/maxresdefault.jpg

Tested:
"Unable to pause match while is in freezetime period" - this should be fixed, what happens if someone wants to pause the game in the freezetime? Or if something happens suddenly in freezetime and the team needs to pause fast? - Still not fixed/corrected.
While we are in pause (1st) when I vote for another, the timer resets (pause is extended), but it allows me to vote for 3rd pause. Like when I start a pause (1st)time, then when match is paused I can do 2 more in a row and we get total 3 pauses, which is not right. Set by cvar default is 2.
Also you can add to gUtil.HudMessage, how many pauses team used like 1/2 or 2/2, like in the picture: https://i.ytimg.com/vi/Lbmvr9Bojt0/maxresdefault.jpg

Sorry for delay, but in current pause only team that called it can extend, other team need to wait a new round to pause it.
Did you can test it again?
Linux
https://github.com/SmileYzn/RePugMod/actions/runs/2492224325
Ps. Can you add-me on steam?
https://steamcommunity.com/id/_SmileY

Corrected hudmessage:

Tested the build above, it is the same like the last one? No changes from my last comment - https://github.com/SmileYzn/RePugMod/issues/10#issuecomment-1152861932.
Is this the right build that you build? I think it is wrong one.

Tested:
Everything is okay, except freezetime pause:
"Unable to pause match while is in freezetime period" - this should be fixed, what happens if someone wants to pause the game in the freezetime? Or if something happens suddenly in freezetime and the team needs to pause fast? - Still not fixed/corrected.
Also you can change/add a text:
"Unable to use this command now." to/or "Max pauses for half/game reached (2 of 2)."

Pause is only allowed in next round, why users just pauses match suddenly?

Imagine if a urgent pause is needed after the round ends and teams are in freezetime, but they can't pause, so they need to wait freezetime to end. Then vote pause, play the whole round, and after the round end, pause is going in the new round.
I think this is not good, but you can leave it as you want (by your taste).

Tested, Everything works correct and fine.

Tested, Everything works correct and fine.

Thanks for help


Deploy Airflow into Modernisation Platform EKS Cluster

User Story
As an engineer, I would like to depoy a self-hosted Airflow into our new MP EKS cluster so we can use it to run ingestion jobs on Open Metadata.
Further, as part of the deployment, I would like to investigate the removal of basic auth as a means of authenticating with Airflow and if not possible, document how access is being protected.
Value / Purpose
After having considered alternative approaches (MWAA or GHA) the team has agreed on using self-hosted Airflow for scheduling ingestion jobs. This approach was chosen because it minimises work needed to configure ingestion, removes the need to write custom ingestion scripts and allows simplifies the process of automating metadata registration for newly ingested datasets.
Useful Contacts
No response
User Types
No response
Hypothesis
If we use self-hosted Airflow for our ingestion jobs, we will be able to achieve automated registration with a simple API call rather than being forced to author and maintain custom ingestion recipe definitions.
Proposal
Deploy Airflow into our new EKS cluster
Use OMD-specific AF image.
Additional Information
Follow-on from #
Definition of Done

[ ] README has been updated
[ ] User docs have been updated
[ ] Airflow has been deployed
[ ] Investigation into not using basic auth has been carried out and results captured
[ ] Design for protecting Airflow from compromise has been documented and vetted with Simon Heron
[ ] Code has been reviewed
[ ] Tests are green

Done simultaneously with #1717

This work has been canned, we're using Open Metadata's built-in Airflow deployment


Make ReedlineErrorVariants public

Following #676, this PR makes ReedlineErrorVariants public in order to allow constructing it from outside of reedline.

Gonna fix these errors before re-submitting.

Done

Thanks


Remove Hermes React Executor from BUCK file.

Summary
Currently CI is broken because of a missing BUCK file. We don't actually need to build these things with buck right now so I'm just gonna remove it until somebody figures out how to build the proper BUCK file.
Test Plan

buck test works again

@cpojer Looks like the build is still failing because of a missing jni rule in ReactAndroid/src/main/java/com/facebook:yoga

If it's still needed internally, then an OSS-only conditional like this could be used:
https://github.com/facebook/react-native/commit/cb87c3f4100c1f1dde2ad2b4ada522abe8d38547#diff-eb9398d8c631ce0cd12c55e5121870bf

@mhorowitz has a proper fix, closing this PR.


Unknown cloud block

Installation details

[ ] IDE version
WebStorm 2021.3.1
Build #WS-213.6461.79, built on December 28, 2021
Runtime version: 11.0.13+7-b1751.21 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
macOS 12.0.1
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 10
Non-Bundled Plugins:
org.intellij.plugins.hcl (0.7.14)

[ ] Terraform version 1.1.3

Terraform Configuration Files
terraform {
  cloud {
    organization = "abc"

    workspaces {
      name = "test"
    }
  }
  required_version = "~> 1.0"
}

Exception
Expected Behavior
known block
Actual Behavior
unknown block
Steps to Reproduce
Notice the unknown cloud block highlight, along with the nested workspaces keyword.

@VladRassokhin I also faced this and other problems.
Is there any way to contribute to this plugin?
The last commit 2 years ago looks suspicious...


resolution for #2746

Issue

If a DataFrame has 1 column of Length 0, and I insert a new column of Length > 0, InsertColumn should throw. It doesn't at the moment.

Solution
I have included an IF statement that will throw an exception if a new column of a length > 0 is inserted into a DataFrame that already has a column(s) that are of length 0. I have also included a test for this scenario.

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

Thanks for the PR @RamonWill! I think the code and unit test look right!


Vitaliy/compare hf mosaic

This test compares HF's GPT2 and the MosaicGPT model for compatibility.
Usage: From benchmarks/llm run pytest tests/compare_hf_v_mosaic_gpt.py
Note: The test converts a HF GPT2 statedict into a MosaicGPT model statedict. The inverse of this functionality is useful if people want to use this repo to train a MosaicGPT2 model then publish the weights to HF Hub.

Does the final torch.allclose get any closer if we turn off dropout?

Not in any meaningful way. The differences come down to numerical precision propagating and accumulating thru all the layers.
I set rng before the fwd of each model. The resulting dropped idx are the same (given the dropout layer is implemented the same). The one place where this logic fails is in the FlashAttn layer where dropout is implemented inside FlashAttn and therefore the implementation is diff from nn.Dropout.
I checked and removing dropout makes virtually no difference.
Note:

not setting rng before each fwd (so that dropout has diff behavior) makes a pretty big diff (when dropout is enabled)
alternatively setting dropout to have diff values makes a pretty big diff too.

It might even make sense to parameterize this test case with dropout=[0, 0.1] or something like that.

sure why not.

re: https://github.com/mosaicml/benchmarks/pull/28#pullrequestreview-1192226736
I don't think it matters either way...


Console Error on Preview Component

@ajith1989
validateDOMNesting(...): <a> cannot appear as a descendant of <a>.

@tony-stark-edith Could you specify the preview component?

I think, this happens when Thumbnail component is used in List component image prop.
It produces a situation where <a> in Thumbnail to be appear as a child of <a> in List. It is shown as the warning message in development mode.
Please refer this issue
@ajith1989


Testing Issue

When running unit tests, a couple error out due to the tests using this mount location:
/home/kp/vol which doesn't exist on my computer.  I switched these to /tmp and they worked fine.

Good catch. I fixed this, however when I set it to /tmp it changed the permissions on /tmp causing some problems... So I set it to /tmp/docker/. Thanks for the report.


endpoints_resolution_error: Error: could not resolve endpoints

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
Latest
Wrapper Library
Not Applicable
Wrapper Library Version
None
Public or Confidential Client?
Confidential
Description
I was trying to acquire token from our Microsoft tenant. I have no knowledge about the Azure AD or whatsoever, because I only tasked to develop front end for our Microsoft Dynamics App in React. I only got some of the credential like tenant id, client id, client secret and resource.
I used MSAL Node library and function ConfidentialClientApplication() to acquire the token
But when I check it in the Ms. Edge's console log it throw an error

{"errorCode":"endpoints_resolution_error","errorMessage":"Error: could not resolve endpoints. Please check network and try again. Detail: ClientAuthError: openid_config_error: Could not retrieve endpoints. Check your authority and verify the .well-known/openid-configuration endpoint returns the required endpoints. Attempted to retrieve endpoints from: verify url","subError":"","name":"ClientAuthError","correlationId":""}

When I click the veryfy url (Cannot show you the url because it might contain sensitive information) It shows all the metadata of the open id so I thought maybe it's normal. But why is the error endpoints_resolution_error throwed when everything is normal?
BTW here is the metadata I got from OpenID

{"token_endpoint":"https://login.microsoftonline.com/tenant-id/oauth2/token","token_endpoint_auth_methods_supported":["client_secret_post","private_key_jwt","client_secret_basic"],"jwks_uri":"https://login.microsoftonline.com/common/discovery/keys","response_modes_supported":["query","fragment","form_post"],"subject_types_supported":["pairwise"],"id_token_signing_alg_values_supported":["RS256"],"response_types_supported":["code","id_token","code id_token","token id_token","token"],"scopes_supported":["openid"],"issuer":"https://sts.windows.net/tenant-id/","microsoft_multi_refresh_token":true,"authorization_endpoint":"https://login.microsoftonline.com/tenant-id/oauth2/authorize","device_authorization_endpoint":"https://login.microsoftonline.com/tenant-id/oauth2/devicecode","http_logout_supported":true,"frontchannel_logout_supported":true,"end_session_endpoint":"https://login.microsoftonline.com/tenant-id/oauth2/logout","claims_supported":["sub","iss","cloud_instance_name","cloud_instance_host_name","cloud_graph_host_name","msgraph_host","aud","exp","iat","auth_time","acr","amr","nonce","email","given_name","family_name","nickname"],"check_session_iframe":"https://login.microsoftonline.com/tenant-id/oauth2/checksession","userinfo_endpoint":"https://login.microsoftonline.com/tenant-id/openid/userinfo","kerberos_endpoint":"https://login.microsoftonline.com/tenant-id/kerberos","tenant_region_scope":"AS","cloud_instance_name":"microsoftonline.com","cloud_graph_host_name":"graph.windows.net","msgraph_host":"graph.microsoft.com","rbac_url":"https://pas.windows.net"}

MSAL Configuration
const config = {
      auth: {
        clientId: **SECRET**,
        authority: "https://login.microsoftonline.com/**SECRET**/,
        clientSecret: **SECRET**,
        knownAuthorities: ["login.microsoftonline.com"],
        protocolMode: "OIDC"
      }
    }

Relevant Code Snippets
const clientCredentialRequest = {
  scopes: [**SECRET**"/.default"], // replace with your resource
};

cca.acquireTokenByClientCredential(clientCredentialRequest).then((response) => {
  console.log("Response: ", response);
}).catch((error) => {
  console.log(JSON.stringify(error));
});

Identity Provider
Azure AD / MSA
Source
External (Customer)

Hey @rizaldirpamungkas,
Can you please explain why you are using "login.microsoftonline.com" in known authorities? Can you try removing it at retrying?
@derisen can you please help out here with the usage?

It gives me error, if I don't put the known authorities. Here is the error

Detail: ClientConfigurationError: untrusted_authority: The provided authority is not a trusted authority. Please include this authority in the knownAuthorities config parameter.","subError":"","name":"ClientAuthError"

@rizaldirpamungkas seems like you are way off. You mention this is React app, so most likely you wan to build a single-page application using msal-react to sign-in users and call some Microsoft APIs? Have a look at the tutorials here. It's also a good idea to get familiar with app types and scenarios mentioned [here](Have a look at the scenarios mentioned here).
Let us know if this helps.

Hi @derisen, yeah I tried using msal-react as well before but so far I can't find the function to retrieve token using shared secret in which that's the only way I can access the token for the API

@rizaldirpamungkas Can you explain your use case? Why are you using client credentials grant with a React App? Any high level description of your use case may help us enable you better.

I currently build a UI app using React for the custom module in our Dynamics 365 ERP, to be able to access the API that Dynamics serve I need to get access token from login.microsoft.com . The only thing I get to have that access token was just client id, tenant id, client secret and resource. So in this app we're not really using SSO type of auth with pop up login window. And since the only viable library match my use case was MSAL Node, so that's why I use that. I hope my explanation clear, thanks

Hi @derisen, yeah I tried using msal-react as well before but so far I can't find the function to retrieve token using shared secret in which that's the only way I can access the token for the API

@rizaldirpamungkas not entirely sure what you're referring with "shared secret", but in general you cannot have secrets in a browser app. For acquiring an access token and calling an API on the browser side, please have a look at:
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/acquire-token.md
https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-browser/docs/resources-and-scopes.md

Ok, thanks think I have to change my approach now, if it's possible


Consider replacing the CCK with a testdata folder

A bit of a chicken and egg problem with the perl tests here - they rely on the current published version of the CCK, whose messages don't include the new field, which is causing the failure. Any thoughts on how to address this @ehuelsmann?

@davidjgoss looking at the test I think we can change them a little so. So instead of comparing the round trip ndjson --> object --> ndjson and comparing the result we can do  object --> ndjson --> object and compare that result. That way we don't need the CCK at all and the code will change along with that specific message object.
Though I think it would be even better to include a testdata folder with (for now) a single message that all implementations try to round trip. That way we won't have to update N implementations manually.
Originally posted by @mpkorstanje in https://github.com/cucumber/messages/issues/102#issuecomment-1318916040

I think hand picking a few interesting cases should be sufficient.
For this repo we are mostly concerned with ensuring the serialization works. This means that both legs of a round trip work.
Wether or not the contents of a message is correct and consistent with the other messages in a report file isn't a concern here. So we don't need a cucumber implementation to generate them.

I agree, pick some from CCK + https://github.com/cucumber/messages/blob/main/java/src/test/java/io/cucumber/messages/NdjsonSerializationTest.java and put them in a folder and we can just check encode->decode->encode works and results in the same things


AttributeError: module 'magenta.music' has no attribute 'read_bundle_file'

When using any of the RNN model (Drums RNN, Melody RNN, etc.) generate command, like:
drums_rnn_generate --config="drum_kit" --bundle_file="bundle.mag"

I get a stack:
Traceback (most recent call last):
  File "/home/alex/miniconda3/envs/magenta/bin/drums_rnn_generate", line 8, in <module>
    sys.exit(console_entry_point())
  File "/home/alex/miniconda3/envs/magenta/lib/python3.6/site-packages/magenta/models/drums_rnn/drums_rnn_generate.py", line 258, in console_entry_point
    tf.app.run(main)
  File "/home/alex/miniconda3/envs/magenta/lib/python3.6/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/home/alex/miniconda3/envs/magenta/lib/python3.6/site-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/home/alex/miniconda3/envs/magenta/lib/python3.6/site-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "/home/alex/miniconda3/envs/magenta/lib/python3.6/site-packages/magenta/models/drums_rnn/drums_rnn_generate.py", line 228, in main
    bundle = get_bundle()
  File "/home/alex/miniconda3/envs/magenta/lib/python3.6/site-packages/magenta/models/drums_rnn/drums_rnn_generate.py", line 128, in get_bundle
    return magenta.music.read_bundle_file(bundle_file)
AttributeError: module 'magenta.music' has no attribute 'read_bundle_file'

Which is a new problem (I'm on Magenta 1.2.0) that was not in 1.1.7. I didn't bisect to find the exact commit that added the regression, but I think the merge "Merge pull request #1570 from cifkao:magenta-music Copybara-Service 20/11/2019 07:01" and commit 3ae5635e4ea2c2359145bddf70fd53528a955fd6 are at fault.
I'm working on a PR I'll send it soon, but you guys might want to check all the imports in the project for the magenta.music package.

Sorry for the issues, and thanks for the fixes!

No problem, thank you for making Magenta, amazing project by the way.

Hi! I'm still experiencing this issue with Magenta 1.2.0. Just updated from 0.5.0.
`(magenta) Andrews-MacBook-Air:~ andrewrahman$ BUNDLE_PATH=/Users/andrewrahman/Documents/Soulside/Magenta/Magenta/MagFiles/MelodyRNN/basic_rnn.mag
(magenta) Andrews-MacBook-Air:~ andrewrahman$ CONFIG='basic_rnn'
(magenta) Andrews-MacBook-Air:~ andrewrahman$
(magenta) Andrews-MacBook-Air:~ andrewrahman$ melody_rnn_generate \

--config=${CONFIG}
--bundle_file=${BUNDLE_PATH}
--output_dir=/Users/andrewrahman/Desktop/Testing/Excited/Melody01/Temp1
--num_outputs=10
--num_steps=512
--temperature=1
--primer_midi=/Users/andrewrahman/Desktop/ExcitedPrimers/Melody01.mid
WARNING:tensorflow:From /anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py:250: The name tf.app.run is deprecated. Please use tf.compat.v1.app.run instead.

WARNING:tensorflow:From /anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py:221: The name tf.logging.set_verbosity is deprecated. Please use tf.compat.v1.logging.set_verbosity instead.
W1210 17:03:00.819072<PHONE_NUMBER> module_wrapper.py:139] From /anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py:221: The name tf.logging.set_verbosity is deprecated. Please use tf.compat.v1.logging.set_verbosity instead.
Traceback (most recent call last):
File "/anaconda3/envs/magenta/bin/melody_rnn_generate", line 8, in
sys.exit(console_entry_point())
File "/anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py", line 250, in console_entry_point
tf.app.run(main)
File "/anaconda3/envs/magenta/lib/python3.7/site-packages/tensorflow_core/python/platform/app.py", line 40, in run
_run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
File "/anaconda3/envs/magenta/lib/python3.7/site-packages/absl/app.py", line 299, in run
_run_main(main, args)
File "/anaconda3/envs/magenta/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
sys.exit(main(argv))
File "/anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py", line 223, in main
bundle = get_bundle()
File "/anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py", line 125, in get_bundle
return magenta.music.read_bundle_file(bundle_file)
AttributeError: module 'magenta.music' has no attribute 'read_bundle_file'
(magenta) Andrews-MacBook-Air:~ andrewrahman$
`

I have added @dubreuia 's fixes but now I am getting this error:
ModuleNotFoundError: No module named 'magenta.protobuf'
Which I do not see an existing error for:
(magenta) Andrews-MacBook-Air:~ andrewrahman$ BUNDLE_PATH=/Users/andrewrahman/Documents/Soulside/Magenta/Magenta/MagFiles/MelodyRNN/basic_rnn.mag
(magenta) Andrews-MacBook-Air:~ andrewrahman$ CONFIG='basic_rnn'
(magenta) Andrews-MacBook-Air:~ andrewrahman$
(magenta) Andrews-MacBook-Air:~ andrewrahman$ melody_rnn_generate \
> --config=${CONFIG} \
> --bundle_file=${BUNDLE_PATH} \
> --output_dir=/Users/andrewrahman/Desktop/Testing/Excited/Melody01/Temp1 \
> --num_outputs=10 \
> --num_steps=512 \
> --temperature=1 \
> --primer_midi=/Users/andrewrahman/Desktop/ExcitedPrimers/Melody01.mid
Traceback (most recent call last):
  File "/anaconda3/envs/magenta/bin/melody_rnn_generate", line 5, in <module>
    from magenta.models.melody_rnn.melody_rnn_generate import console_entry_point
  File "/anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/melody_rnn/melody_rnn_generate.py", line 26, in <module>
    from magenta.models.shared import sequence_generator_bundle
  File "/anaconda3/envs/magenta/lib/python3.7/site-packages/magenta/models/shared/sequence_generator_bundle.py", line 17, in <module>
    from magenta.protobuf import generator_pb2
ModuleNotFoundError: No module named 'magenta.protobuf'

I fixed this by pulling directly from GitHub and replacing the 'magenta' folder in my Mac Air ▸ anaconda3 ▸ envs ▸ magenta ▸ lib ▸ python3.7 ▸ site-packages with the GitHub 'magenta' folder.
I don't think this an ideal fix as I tried to install using Anaconda (with many errors) and then was successfully able to install using command line without Anaconda, but it's working for now.

I'll update the pip package today.
On Tue, Dec 10, 2019, 8:33 AM Andrew James Rahman<EMAIL_ADDRESS>wrote:

I fixed this by pulling directly from GitHub and replacing the 'magenta'
folder in my Mac Air ▸ anaconda3 ▸ envs ▸ magenta ▸ lib ▸
python3.7 ▸ site-packages with the GitHub 'magenta' folder.
I don't think this an ideal fix as I tried to install using Anaconda (with
many errors) and then was successfully able to install using command line
without Anaconda, but it's working for now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/magenta/issues/1638?email_source=notifications&email_token=AAIJV2HZYAMX4GVZ4RX77BTQX7AGXA5CNFSM4JVL7UN2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGP4CAA#issuecomment-564117760,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAIJV2HVORLSTN6AQOUUBUTQX7AGXANCNFSM4JVL7UNQ
.

Please try v1.2.1


API documentation

Hi, it there any API documentation i can use to promt the model?

Like the llama.cpp docs? You can access them by going to http://[IP]:[PORT:8000]/docs

thank you


Spreed-webrtc with janus?

Hello,
I was wondering you'r opinion and maybe some guidelines about integrating spreed-webrtc system with Janus?
I am creating like call broadcasting service. Something similar to twitch, but with ability for a streamer to call another user and the call is broadcaster to all viewers. No viewer limit( so it could be 500'000 ).
Questions: How could one integrate this with Janus? When integrated with Janus, will this remove the need for TURN server? How can i stream 2 people talking to each other with Janus?

Do you have any updated news?

I chose to create frontend from scratch and copy paste some of the styles/animations etc from spreed. Works like a charm.


refactor(utils): ♻ move nonZeroSign method from int to num extension

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1187

Relevant Lines:
1187

💛  - Coveralls


markdown-it was update

cannot import markdown-it-task-lists and markdown-it-imsize

do you run npm install them

Which version of vuepress? Since @1.0.0.alpha.x, markdown config has been extend with plugins api, as a corresponding, the theme updated to @vuepress-theme-yubisaki@next version.


Interaction Rework

Pull Request Etiquette

[x] I have checked the PRs for upcoming features/bug fixes.
[x] I have read the contributing guidelines.

Changes

[x] Internal code
[x] Library interface (affecting end-user code)
[ ] Documentation
[ ] Other: _____

Closes Issue: NaN
Description
This is still very much a work in progress. However, it is already finished enough to test in your own projects. We still need to consider some naming and especially how we want to proceed with CommandData.
Bill of materials:

[x] Auto-Complete (for slash commands)
[x] Context Menus (Message & User)
[ ] Attachment Options (unreleased)
[ ] Modal Interactions (unreleased)

Interaction Hierarchy

Discussion
We are actively discussing development of this rework in our Discord Server in the Interaction Rework Thread
Migration Details
Interaction Rework
In JDA 5, we need to rework our interactions in order to properly support the new interactions such as Context Menus and Auto-Complete.
Added

Auto-Complete interactions are now supported via CommandAutoCompleteInteractionEvent and OptionData#setAutoComplete
Context Menus are now supported via ContextInteraction with MessageContextInteractionEvent and UserContextInteractionEvent
Command#getType has been added together with the Command.Type enum
CommandData.fromCommand(Command) has been added, which can be used to convert an instance of Command to CommandData

Changed

Since context menus are also application commands, we had to change how CommandData works. Previously, you created these through the constructor with new CommandData(name, desc). This pattern does not work anymore because context menus introduced command types that don't have descriptions. These types are now handled by factory methods instead. New slash commands are now created with Commands.slash(name, desc) and context commands can be created with Commands.context(type, name).

The update code looks like this:
jda.updateCommands()
   .addCommands(Commands.slash("ban", "Ban a user").addOption("user", "The user to ban", true))
   .addCommands(Commands.user("ban")) // context menu item
   .queue();

SelectionMenu has been renamed to SelectMenu, this rename includes event names as well. SelectionMenuEvent -> SelectMenuInteractionEvent
The old Component interface is now changed to ActionComponent which includes Button and SelectMenu
The old ComponentLayout interface is now changed to LayoutComponent
We now introduced a new Component interface as an abstraction of ActionComonent and LayoutComponent
Interaction no longer has reply, deferReply, and getHook. These have all been moved to dedicated interfaces: IReplyCallback and IDeferrableCallback which are implemented by ComponentInteraction (Buttons/SelectMenus) and CommandInteraction (Slash/User/Message commands)
Auto-Complete interactions do not support replies with messages, you can only reply with a list of Command.Choice (Name/Value pairs). This is implemented via IAutoCompleteCallback.
MessageType.APPLICATION_COMMAND has been renamed to SLASH_COMMAND because we now also have MessageType.CONTEXT_COMMAND
InteractionType.SLASH_COMMAND has been renamed to COMMAND and we added InteractionType.COMMAND_AUTOCOMPLETE

All interaction commands have been renamed to a more consistent and clear pattern:

SlashCommandEvent -> SlashCommandInteractionEvent
ButtonClickEvent -> ButtonInteractionEvent
SelectionMenuEvent -> SelectMenuInteractionEvent

Removed

All ApplicationCommand* events have been removed, discord does not support these events anymore

TODO:

[ ] Rename the callback actions to be more fitting
[ ] Reconsider hierarchy for CommandData
[ ] Documentation
[ ] Checks

I've introduced a new class which hosts factory methods to create the various command types with static asserted types:
CommandListUpdateAction commands = jda.updateCommands();

// Add slash command
commands.addCommands(
    Commands.slash("ban", "Ban a user from this server. Requires permission to ban users.")
        .addOptions(new OptionData(USER, "user", "The user to ban") // USER type allows to include members of the server or other users by id
            .setRequired(true)) // This command requires a parameter
        .addOptions(new OptionData(INTEGER, "del_days", "Delete messages from the past days.")) // This is optional
);

// Add user command
commands.addCommands(
    Commands.user("Ban user") // cannot call addOptions
);

All the interaction callback rest actions now follow the naming pattern: <Type>CallbackAction

ReplyCallbackAction
MessageEditCallbackAction
AutoCompleteCallbackAction

I have also updated the class documentation for IReplyCallback and IMessageEditCallback to explain how they function in more detail, especially their behavior with @original.

Should we rename component types?

Component -> ActionComponent
ComponentLayout -> LayoutComponent

Should this PR also add a CommandPayload#getOptionValue(name, fallback)? (See Card)

Should this PR also add a CommandPayload#getOptionValue(name, fallback)? (See Card)

I'd love that

It'd be something like my OptionHelper? That would be incredibly helpful 😄

Should we rename component types?

Component -> ActionComponent
ComponentLayout -> LayoutComponent

See also: Card

I actually like what we already have. Are layout systems like ActionRow considered "components"?

Renaming them would allow us to do methods like addComponents(component...) which can accept either a layout component or action components. That could be nice for something like selection menus, which can only appear once per action row. And yes, action row is considered a component in the API.
We could make an abstracted Component interface for the shared functionality (which is just type so far).

I will also remove ApplicationCommand events because they are not supported for bots anymore: https://github.com/discord/discord-api-docs/issues/3690#issuecomment-902915187

We could probably make CommandCreateAction extend SlashCommandData to save us some docs duplication. Thoughts?

We could probably make CommandCreateAction extend SlashCommandData to save us some docs duplication. Thoughts?

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.
Using v5.0.0-alpha.3
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output

Using com.github.DV8FromtheWorld:JDA:dff736bd7a  (dff736bd7a):
The same code, just only changed SlashCommandEvent for SlashCommandInteractionEvent.
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandInteractionEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandInteractionEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandInteractionEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output:

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.
Using v5.0.0-alpha.3
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.SlashCommandEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output

Using com.github.DV8FromtheWorld:JDA:dff736bd7a  (dff736bd7a):
The same code, just only changed SlashCommandEvent for SlashCommandInteractionEvent.
import net.dv8tion.jda.api.JDABuilder
import net.dv8tion.jda.api.events.GenericEvent
import net.dv8tion.jda.api.events.interaction.command.SlashCommandInteractionEvent
import net.dv8tion.jda.api.hooks.EventListener

fun onSlashCommandInteraction(event: SlashCommandInteractionEvent) {
    println("Received ${event::class.java.simpleName}")

    printAck(event)

    event.deferReply().queue()

    // Should be acknowledged at this point
    printAck(event)

    if (event.isAcknowledged) event.hook.sendMessage("Post ack").queue()
    else event.reply("Not ack").queue()
}

fun printAck(event: SlashCommandInteractionEvent) {
    println("IsAck?: ${event.isAcknowledged}")
}

fun main() {
    val jda = JDABuilder.createLight(System.getenv("DISCORD_TOKEN"))
        .addEventListeners(object : EventListener {
            override fun onEvent(event: GenericEvent) {
                when (event) {
                    is SlashCommandInteractionEvent -> onSlashCommandInteraction(event)
                }
            }
        })
        .build()

    Runtime.getRuntime().addShutdownHook(Thread {
        jda.shutdown()
    })
}

Output:

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.

This should be fixed now.

Interaction#isAcknowledged() is not working as expected on SlashCommandInteractionEvent.

This should be fixed now.

I've added ActionRow.partitionOf(components) which can be used to quickly generate a list of valid action rows for arbitrary amounts of components:
val buttons = List<ActionComponent>(21) { primary("$it", "$it") }
val selects = List<ActionComponent>(5) { SelectMenu.create("$it").build() }
val merged = buttons + selects
println(ActionRow.partitionOf(merged.shuffled()).joinToString("\n"))

ActionRow([B:4(4), B:3(3), B:1(1), B:9(9), B:11(11)])
ActionRow([B:12(12), B:15(15)])
ActionRow([SelectMenu:3(null)])
ActionRow([SelectMenu:0(null)])
ActionRow([B:6(6), B:14(14), B:5(5)])
ActionRow([SelectMenu:4(null)])
ActionRow([B:13(13)])
ActionRow([SelectMenu:1(null)])
ActionRow([B:16(16), B:7(7), B:19(19), B:2(2)])
ActionRow([SelectMenu:2(null)])
ActionRow([B:20(20), B:0(0), B:10(10), B:8(8), B:18(18)])
ActionRow([B:17(17)])

I've also added LayoutComponent#withDisabled(boolean) which acts similar to ActionComponent#withDisabled but on its elements.
val row = ActionRow.of(
  Button.primary("id1", "Hello"),
  Button.primary("id2", "World")
)

val disabled = row.withDisabled(true) // -> all buttons disabled

This can be useful when you want to turn off all components on a message quickly:
jda.listener<ButtonInteractionEvent> { event ->
  if (event.componentId == "disable") {
    event.editComponents(event.message.actionRows.map { it.asDisabled() }).queue()
  }
}

I've also added LayoutComponent#withDisabled(boolean) which acts similar to ActionComponent#withDisabled but on its elements.
val row = ActionRow.of(
  Button.primary("id1", "Hello"),
  Button.primary("id2", "World")
)

val disabled = row.withDisabled(true) // -> all buttons disabled

This can be useful when you want to turn off all components on a message quickly:
jda.listener<ButtonInteractionEvent> { event ->
  if (event.componentId == "disable") {
    event.editComponents(event.message.actionRows.map { it.asDisabled() }).queue()
  }
}

Out of simple curiosity, what would be the Java equivalent of this?

//You've created an ActionRow and sent it in a message somewhere
ActionRow row = ActionRow.of(
   Button.primary("id1", "Hello"),
   Button.primary("id2", "World"),
)

//You receive
@Override
public void onButtonInteraction(ButtonInteractionEvent event) {
  //note, Minn checked for "disable" but the buttons provided had ids of `id1` and `id2`
  if (event.getComponentId().equals("disable")) {
    List<ActionRow> rows = event.getMessage().getActionRows()
      .stream()
      .map(row -> row.asDisabled()
      .collect(Collectors.toList());

    event.editComponents(rows).queue();
  }
}

I've further abstracted the component hierarchy to account for possible non-action components in the future, such as text or image elements:

LayoutComponent#getComponents now returns a List<ItemComponent> instead. I've added a LayoutComponent#getActionComponents for convenience.
The name for ItemComponent is still up in the air, the hierarchy seems pretty solid though.

For full transparency, the other "competing" name for ItemComponent is LayoutChildComponent


output files with build order (flat) with output recipes

Bit of a hack for @mingwandroid
This outputs files with the flattened build order.  The build folders are the generated recipes, each with their own combined and reduced conda_build_config.yaml.  You should be able to:

run c3i examine --folders *-feedstock --matrix-base-dir (config dir) --output-dir (where you want the results)
cd into the output-dir
run conda-build feeding in the output_order_(platform) file somehow.

Merged in #52.  Closing.


rTGS DB error

at this address http://localhost:3000/coap DB output is
1166	275	480	 1	 1	 1	 STANDING	CoAP_undefinedSec_undefinedHop	38	2016-06-17 20:18:33
While at http://localhost:3000/get-coap DB output is correct
1159	268	440	 1	 1	 1	 STANDING	CoAP_1Sec_1Hop	39	2016-06-17 20:17:54

Issue Resolved, make test....


Get user comments

https://github.com/Sid72020123/scratchconnect/discussions/6#discussioncomment-1011901
Just to put this in To-Do list lol

Should the title be get user and studio comments?

I cannot find the API of the user and studio comments.

Oops :P  I will try finding... I know its possible tho

I found out how to get studio comments but not of user :(
Now I am going to update it on holidays because by exams are coming soon!

I made a new update to get studio comments! No only user is remaining.

Ok, my exams are gonna get over! The I will try finding the API. Can u give me the studio comment and project comment api links? That will help  a lot
If I get inbanned, then also it will help.  I will try to find

I GOT SOMETHING!!!! https://scratch.mit.edu/site-api/comments/user/Ankit_Anmol/?page=1

Is that good? Isk if u can do anything for that with python though

I got something else...  it diesnt work for me but everyone says it does https://scratch.mit.edu/api/v1/user/griffpatch/?format=json

I GOT SOMETHING!!!! https://scratch.mit.edu/site-api/comments/user/Ankit_Anmol/?page=1

I know that API but I can't fetch the data and it will take some time which will make the library slow.

I got something else... it diesnt work for me but everyone says it does https://scratch.mit.edu/api/v1/user/griffpatch/?format=json
I will ty this.

I is not working even if I gave the headers :(

:(

Do you want to make a Scratch Username bot using this library?
I haven't got any API to get user comments but you can see the comments in the Messages.

What username bot?

A bot that follows your action when you comment on it's profile. Such as 'follow me' to follow you.

I haven't found any comments API yet. :(

But I'm blocked on scratch.  I can't do that :(

Can u give projects/studios API? should be related

For project: https://api.scratch.mit.edu/users/Sid72020123/projects/1/comments/
For studio: https://api.scratch.mit.edu/studios/1/comments/
I checked they are not related to user comments.

Oh

I'm trying to make my own api... I am able to get "parent comments" in python but I need to also get the replies..
Also need to convert them to dictionary
Also.... aghhh I only gave the first page data

https://github.com/Quantum-Codes/Profile-comments-API  what u need in API? make issue there.

I too was working on that! I have almost finished it but a little is remaining!

@Sid72020123  gimme the link

Fixed this issue! Thanks to @Quantum-Codes


Update version: KDE.Kdenlive version 23.08.4

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

No files changed;


Add simple where condition to filter on indexed fields

Hello,
This is a proposal to add a simple where filter to filter on indexed fields. I needed it to make an app I work on faster to recover entities linked data.
Maybe I'm wrong and it has already another solution, but didn't find it so this PR could help other users.
Best regards,
Benoît

@nwestfall Did you see my updates?

Any news on this?

Sorry for the delay guys, had a few other projects come up.  I'm pulling the code and taking a look to try and get this out.

@BenoitLacour never mind, I did not mean to merge this, not sure what happened.  But now that it's in master, I can go ahead and fix it.  Thanks!


LLVM update to 10.0.0

Library name: LLVM
New version number: 10.0.0
The existing LLVM package is version 8.0.0. Versions 8.0.1, 9.0.0, 9.0.1, and 10.0.0 are newer and released. Halide, also an existing port, no longer supports LLVM 8. I would appreciate it if the version could be bumped, or if multiple versions could be made available.

See https://github.com/microsoft/vcpkg/pull/10295 [llvm] Update to version 10.0.0 and add new features

@timautry -- Thanks and sorry for the duplicate!