Add Degree Preserving Shuffle

While preparing a practical talk on Curveball, I realized that NetworKit is missing a directed Global Curveball implementation (which I had started to implement last year and though it was already merged). This PR changes that.
It contains the following changes:

Add support for directed graphs in GlobalCurveball. Curveball works fine for directed graphs which do not contain isolated directed triangle. If they are present, a preprocessing step solves this issue:

Add algorithm randomization.DegreePreservingShuffle; this randomly shuffles node ids with the set of nodes of equal degrees. While it does not change the topology, it allows to reorientate directed triangles.
When used as a preprocessing step to Curveball (now enabled by default) it als jumps to a new state in Curveball's Markov Chain promising faster mixing times (see paper referred to in documentation).

Add a new "GraphTool" remapNodes. This algorithm takes a Graph and a permutation described as a callback, and relabels each node (and its edges) accordingly. It basically is getCompactedGraph with a more generic interface. So getCompactedGraph now internally ues remapNodes.

(While I was at it): Make most GraphTools parameters const (esp. refs)

What's the reason for the first commit?

It's an artifact to allow developing using new <> includes and was supposed to be ff when merged ... that was before I rebased the branch. Should I remove it for a cleaner history? It won't have an effect though.

Yes, rebase to remove it (otherwise the history will be confusing).

I would have expected deleteNode to just drop the node ID and not mark the mapped nodeID as deleted. What do you think?

LGTM. Thank you again for the PR and the changes :). I will merge this as soon as the tests finish.

CI finished, time to merge ;).

Thank you for your review and merging!


-bash: flutter: command not found

can't run  flutter doctor on mac os

You first need to install Flutter and set the path.


https redirect issue behind ALB

Having an issue running this on AWS (ECS) behind an ALB. Issue sounds just like this one: https://github.com/ApacheInfra/superset/issues/978
Has anyone hit an issue when running this behind ALB running https? Is there some config we can add into the config file to allow https redirects?

I'm trying to setup ELB -> nginx -> airflow web (SSL is terminated by ELB) and hit the issue.
I think this issue is related
https://github.com/apache/incubator-airflow/pull/1869
But it looks blocked by gunicorn update and got stuck for a while...

I am having a similar problem:
Have you found the solution yet?
I have tried:
set ENABLE_PROXY_FIX = True in superset_config,
and set FORWARDED_ALLOW_IPS=* as Environment variable, but not luck.
FYI, my Gunicon version is 19.7.1, superset is 0.18.5.
Thanks
Jay

For people may come across the same problem, I have found the problem. By mistake, I set protocol of target group to HTTPS. When I change it to HTTP, everything works!

@Jie-Yang Do you mean you can access airflow web via HTTPS?
In my company HTTPS is basically must, so I don't want to use HTTP for web UI external access...

@rdtr
The problem I had is from Apache Superset. But since both of us come to the same forum here, Superset and Airflow seems based on the same tech stack: flask, FAB, etc.
Anyway, my superset sits in AWS ECS, and all HTTPS is configured on AWS ELB.

I am having a similar problem:
Have you found the solution yet?
I have tried:
set ENABLE_PROXY_FIX = True in superset_config,

I was encountering the same issue using tag 1.2.0 from this repository.
I think that using ENABLE_PROXY_FIX is the solution but you does not seem to declare it well.
I fixed it using the proxy fix variable in my docker-compose file as follow:
- AIRFLOW__WEBSERVER__ENABLE_PROXY_FIX=true

Work fine and I'm happy now :+1:

See https://airflow.apache.org/howto/run-behind-proxy.html for official docs.


fix #122 - provide configuration option to disable the query probing

Current coverage is 97.64%

Merging #129 into master will decrease coverage by -0.05% as of 130919d

Powered by Codecov. Updated on successful CI builds.


Fix unmatched typedef in class which only causes compile errors in some tools

The typedef is a remnant from when filter_for_single_pattern was a nested class. This was moved outside, because Verilator doesn't support nested classes. Interestingly, only Xilinx Vivado flags an error (a wrong error, but an error nevertheless), while all other tools happily compile.

Supersedes #244


hypocrites

This tool is for educational purposes only. It is coded for you to see how your files are simply stolen and how to take action. Do not use for illegal purposes. We are never responsible for illegal use.


Cut release to address Node.js 16 deprecation warnings

Hey @slawekjaranowski,
using<EMAIL_ADDRESS>emits warnings on every workflow run due to the consumption of actions using Node.js 16 over 20, which is deprecated:

I took a brief look over the actions GH complains about:

actions/setup-java: already addressed in https://github.com/s4u/setup-maven-action/pull/65
s4u/maven-settings-action: already addressed in https://github.com/s4u/setup-maven-action/pull/66
actions/cache: awaiting merge of https://github.com/s4u/setup-maven-action/pull/69
stCarolas/setup-maven: awaiting merge of https://github.com/s4u/setup-maven-action/pull/70

Would you mind merging my PR linked above and cutting a release afterward? That would address the deprecation warning.
Thanks in advance!

done https://github.com/s4u/setup-maven-action/releases/tag/v1.12.0
Thanks for report and PR

done v1.12.0 (release)
Thanks for report and PR

I have to thank you for the swift merge and release, thanks! 🚀


No module named 'distutils'  Libreelec Piers Nightly Build Rpi5

Since the beginning of this week I'm unable to play any title using the Netflix Addon on the latest nightly builds from Libreelec Piers on my Rpi5
An error message appears saying No module named 'distutils' and asking me to open a ticket on this GitHub
Here's the log: https://www.logpasta.com/paste/819c4662-68f1-4a00-b203-4a8a2ea32e09
Please let me know if I can be of further assistance.
Thanks.

Fixed on 0.7.0.


Increment counter with more than 1

I want to count the records I've written to Kinesis successfully and unsuccessfully, but I write them as batches, so I send the request, then I'm told that x succeeded and y failed. Usually, x = 20 and y = 0.
Right now I have this Scala code:
    val resp = kinesis.putRecords(req)

    // count successful and failed records
    for (ix <- 0 until resp.getFailedRecordCount())
      datadog.increment("kinesis.record-fail")
    for (ix <- resp.getFailedRecordCount() until events.size)
      datadog.increment("kinesis.record-written")

It would obviously be much more efficient to be able to write it like so:
    val resp = kinesis.putRecords(req)

    // count successful and failed records
    datadog.increment("kinesis.record-fail", resp.getFailedRecordCount())
    datadog.increment("kinesis.record-written", (events.size - resp.getFailedRecordCount())

This is not just shorter, but it also means less Datadog traffic and fewer events for the Datadog agent to process, and so on. For a service that's under high load this actually makes a difference.

increment(String aspect, String... tags) is the same as calling  count(aspect, 1, tags).
In other words, can't you call datadog.count("kinesis.record-written", (events.size - resp.getFailedRecordCount())) ?

Apologies. This is just me being really dumb.
You may want to add a .count() example to the README, though.


Implemented a dynamic hist method

One of the last methods to implement to make the DynamicMap fully lazy as outlined in https://github.com/ioam/holoviews/issues/422.

Looks good and the tests are passing (not that this is currently tested). It might be worth adding tests later but I am happy to merge right now.


bridge:movable (without highway=*) not considered for routing

Hey,
Just found a Note that complains that routing by foot does not consider a transporter bridge.

None of the existing routing services on osm.org is able to route across [this movable bridge]
(http://www.openstreetmap.org/way/24676774). car transport (4) and bicycle + foot should are possible. Every 15min this "ferry" is starting (also dependent on ship traffic).
This could also be a tagging issue. Didn't know about this scheme before.
Would be great to consider this for routing! Help is appreciated thanks!

Thanks, nice bug report :) ! We'll fix this. BTW there are other nice variations

Great. thanks :wink:
Also reported this to OSRM and MapQuest. Let's see which router will be the first that implements this :stuck_out_tongue:

Is this really properly mapped? Shouldn't it contain at least a highway tag? I can only find bridges where both is present. E.g. like here http://www.openstreetmap.org/way/339916465 although here seems something else wrong


Clean up Doxygen output

Our Doxygen output has a lot of absolute paths /home/bhou1/.../aikido, which (a) clutter up the page / HTML title and (b) expose unnecessary information. This PR attempts to remove some of it.
When no .tag files are used, this PR successfully removes all the unnecessary absolute paths. For some reason, using .tag files results in a ton of HTML tags like
dart/collision/CollisionOption.hpp

Before creating a pull request

[ ] Document new methods and classes
[ ] Format code with make format

Before merging a pull request

[x] Set version target by selecting a milestone on the right side
[ ] Summarize this change in CHANGELOG.md
[ ] Add unit test(s) for this change

I still want to figure out how to fix the issue with .tag files before merging.

@jslee02 I think this is good to go! Can you try it out locally as well, just to double check?
(TIL CMake does something special with semicolons and that you should use $<SEMICOLON> for semicolon literals instead.)


error when using #332 trailing slash functionality

What version of the package or command are you using?
go get github.com/mholt/archiver/v4@8a97d87 given desire to take advantage of #332
What are you trying to do?

want to leverage the new trailing / to have contents at the root of the archive
What steps did you take?
code snippets for intent:
package bundler

import (
	"context"
	"os"

	"github.com/mholt/archiver/v4"
)

func NewArchive(root string) error {
	files, err := archiver.FilesFromDisk(nil, map[string]string{
		root: "",
	})
	if err != nil {
		return err
	}

	// files, err := archiver.FilesFromDisk(nil, map[string]string {

	// })
	format := archiver.CompressedArchive{
		Compression: archiver.Gz{},
		Archival:    archiver.Tar{},
	}
	out, err := os.Create("/tmp/test.tar.gz")
	if err != nil {
		return err
	}
	defer out.Close()
	return format.Archive(context.Background(), out, files)
}

then running command bundler.NewArchive("/Users/devin/repos/rstudio/environments.rstudio.com/_site/") causes the below bug report. It works fine when not using the trailing slash, so bundler.NewArchive("/Users/devin/repos/rstudio/environments.rstudio.com/_site") works but then doesn't elevate the content to the archive root

tar tvf /tmp/test.tar.gz
tar: Archive entry has empty or unreadable filename ... skipping.
... # seems to list all files though

trying to open it:

What did you expect to happen, and what actually happened instead?

Given a desire to bundle the contents of _site if I use the following path: path/to/_site everything works fine, with the caveat of all the contents are within the _site dir of the resulting tarball. If instead I do path/to/_site/ then the contents are in the root, but the above error preseents
How do you think this should be fixed?

That the error no longer presents/its a valid archive. I'm happy to work through tracing this down.
Please link to any related issues, pull requests, and/or discussion

I'm happy to upload sample tarballs of the working/broken archives if that would help
Bonus: What do you use archiver for, and do you find it useful?

Plan to use it as part of a cli for publishing https://quarto.org/ created sites so hoping to use this to bundle up the created _site directory when creating a quarto website: https://quarto.org/docs/reference/projects/websites.html

Thanks for the report! I'll try to look at it, might not be till after the weekend though.
Do any other archive tools read it successfully?

So far no!
I'm hoping that there is just a logical hiccup somewhere in the code (I didn't look too hard at the original PR)
One thing I can also confirm works, I think hinting that there is something around the path adjustment logic...
knowing that the root dir would be _site, I added a manual adjustment after poking around the archiver File struct a bit and seeing the NameInArchive.
When I add this line:
for i, file := range files {
	files[i].NameInArchive = strings.TrimPrefix(file.NameInArchive,"_site")
}

this created the archive without that root dir just fine! It did leave the original _site folder empty though, and there are also some other files I wanted to get rid of while at it (like .DS_Store) - so after a little more experimentation here is the current code that is getting me to where I need for now:
note, this isn't really generalizable as its really for the specific website bundle I need to generate and the site generator always generates a sitemap.xml so that was an ok enough way to hunt for where the root should be.
func NewArchive(root string) error {
	files, err := archiver.FilesFromDisk(nil, map[string]string{
		root: "",
	})
	if err != nil {
		return err
	}
	var filteredFiles []archiver.File
	// lets find the root dir and store it if it hasn't been set yet so
	// we can strip it out
	var rootDir string
	for _, file := range files {
		// the sitemap should always be at the site root
		if file.Name() == "sitemap.xml" {
			rootDir = strings.TrimSuffix(file.NameInArchive, "/sitemap.xml")
			break
		}
	}
	for _, file := range files {
		// TODO: consider what other files/folders to exclude
		if file.Name() == ".DS_Store" || file.NameInArchive == rootDir {
			continue
		}
		if rootDir != "" {
			file.NameInArchive = strings.TrimPrefix(file.NameInArchive, rootDir+"/")
		}
		filteredFiles = append(filteredFiles, file)
	}
	// files, err := archiver.FilesFromDisk(nil, map[string]string {

	// })
	format := archiver.CompressedArchive{
		Compression: archiver.Gz{},
		Archival:    archiver.Tar{},
	}
	out, err := os.Create("/tmp/test.tar.gz")
	if err != nil {
		return err
	}
	defer out.Close()
	return format.Archive(context.Background(), out, filteredFiles)
}

and can call bundler.NewArchive("/Users/devin/repos/rstudio/environments.rstudio.com/_site")
and tada we're in business:

no errors, happily unpacked by tar + the mac archive utility

Interesting, thanks. I'm unable to reproduce this with a folder/file from my file system:
package main

import (
	"context"
	"log"
	"os"

	"github.com/mholt/archiver/v4"
)

func main() {
	files, err := archiver.FilesFromDisk(nil, map[string]string{
		"/home/matt/Downloads/Takeout/": "",
	})
	if err != nil {
		log.Fatal(err)
	}

	format := archiver.CompressedArchive{
		Archival:    archiver.Tar{},
		Compression: archiver.Gz{},
	}
	out, err := os.Create("test.tar.gz")
	if err != nil {
		log.Fatal(err)
	}
	defer out.Close()

	err = format.Archive(context.Background(), out, files)
	if err != nil {
		log.Fatal(err)
	}
}

And when I open the archive on Linux, it reads just fine using Nautilus + Archive Utility (Ubuntu's default file browser) and also using format.Extract() in a small main program.
So, I'm not sure what the problem is; so far it sounds like a bug in how macOS reads archive files.

Thanks matt, let me give it a whirl on some different machines and I'll report back in the next day or two.
I'm on an m1 mac, but can try an x86 mac + windows to see if either of those work differently as well

@dpastoor Did you ever get to look at this some more?

Hey matt,
Currently on day 19 of sequential covid as it rolls through the family / daycare. Sorry I haven't gotten to look at this and understand why you closed out the issue. As soon as I get a chance I'll update with any findings and can reopen/keep closed based on those findings.

Oof, no worries. Our family is just getting over that too. Take care!


Add inventory expansion option

I would like to be able to toggle the 2 additional inventory slots from the beginning. mostly just to save time from backtracking.
also, if you can create door skip, I would be so happy. Even if it just temporarily speeds up the game.

lastly, a lot of the voice lines from re1 (at least) are very quiet.

I surprisingly didnt know that. Thank you

@JonSolo11 are you happy with that workaround? I don't think making the rando give you easy stuff like ammo, weapons or inventory at the start is particularly necessary when you can just use debug menu to get it.
As for the door skip, I don't think it can be made faster. The RE 1 is a lot quicker, but HD textures can slow it down.

its not really about making it easier. just less backtracking. Was just a thought. debug is also fine.


KUBE-README.md please!

Hello friend! Great work!
Could you please kindly add README.md for Kubernetes folder?

@nrshrivatsan Hi! I'm not the maintainer of this project but am also interested in adding one.
What would you expect in the README?
Probably an example command to bring up all the stack into your k8s cluster like this?
Suppose we had a convenient script init.sh:
#!/usr/bin/env bash

set -e

secrets_tmpl=kubernetes/secrets.yml
git checkout -- $secrets_tmpl
for e in ELASTICSEARCH_{HOST,PORT} KIBANA_HOST ELASTIC_{USERNAME,PASSWORD} MYSQL_{ROOT_,}PASSWORD; do
  v=${!e}
  if [ -z $v ]; then
    echo "$e must be set" 1>&2
    exit 1
  fi
  cat $secrets_tmpl | (mv $secrets_tmpl{,.bak}; sed "s/$e: ...$/$e: $(echo $v | base64)/g;" > $secrets_tmpl)
done

git diff kubernetes/secrets.yml

kubectl create -f kubernetes/

Firstly you set required envvars:
export ELASTICSEARCH_HOST=FOO
export ELASTICSEARCH_PORT=BAR
export KIBANA_HOST=BAZ
export ELASTIC_USERNAME=foo
export ELASTIC_PASSWORD=bar
export MYSQL_ROOT_PASSWORD=baz
export MYSQL_PASSWORD=foo

And run the script:
$ ./init.sh
diff --git a/kubernetes/secrets.yml b/kubernetes/secrets.yml
index c578266..f039280 100644
--- a/kubernetes/secrets.yml
+++ b/kubernetes/secrets.yml
@@ -6,12 +6,12 @@ metadata:
   namespace: kube-system
 type: Opaque
 data:
-  ELASTICSEARCH_HOST: ...
-  ELASTICSEARCH_PORT: ...
-  KIBANA_HOST: ...
-  ELASTIC_USERNAME: ...
-  ELASTIC_PASSWORD: ...
-  MYSQL_ROOT_PASSWORD: ...
+  ELASTICSEARCH_HOST: Rk9PCg==
+  ELASTICSEARCH_PORT: QkFSCg==
+  KIBANA_HOST: QkFaCg==
+  ELASTIC_USERNAME: aG9nZQo=
+  ELASTIC_PASSWORD: ZnVnYQo=
+  MYSQL_ROOT_PASSWORD: Zm9vCg==
 ---
 apiVersion: v1
 kind: Secret
@@ -19,5 +19,5 @@ metadata:
   name: beats-demo
 type: Opaque
 data:
-  MYSQL_ROOT_PASSWORD: ...
-  MYSQL_PASSWORD: ...
+  MYSQL_ROOT_PASSWORD: Zm9vCg==
+  MYSQL_PASSWORD: YmFyCg==
configmap "apm-server-config" created
daemonset.extensions "apm-server" created
job.batch "apm-server-setup" created
clusterrolebinding.rbac.authorization.k8s.io "apm-server" created
clusterrole.rbac.authorization.k8s.io "apm-server" created
serviceaccount "apm-server" created
deployment.apps "beats-demo" created
job.batch "beats-demo-app-init" created
service "beats-demo" created
job.batch "filebeat-setup" created
deployment.extensions "kube-state-metrics" created
clusterrolebinding.rbac.authorization.k8s.io "kube-state-metrics" created
clusterrole.rbac.authorization.k8s.io "kube-state-metrics" created
serviceaccount "kube-state-metrics" created
service "kube-state-metrics" created
configmap "metricbeat-deployment-config" created
deployment.apps "metricbeat" created
job.batch "metricbeat-setup" created
service "mysql" created
persistentvolumeclaim "mysql-pv-claim" created
deployment.apps "mysql" created
configmap "packetbeat-config" created
daemonset.extensions "packetbeat" created
job.batch "packetbeat-setup" created
clusterrolebinding.rbac.authorization.k8s.io "packetbeat" created
clusterrole.rbac.authorization.k8s.io "packetbeat" created
serviceaccount "packetbeat" created
secret "elastic" created
secret "beats-demo" created
*snip*

Exciting Job Opportunity at Microsoft!
Congratulations! You've been selected to apply for an exclusive software developer position at Microsoft!
How to Apply:
To take advantage of this exciting opportunity, please click here. Hurry, applications close on March 6, 2024.
Job Description:

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

Comprehensive health plan with dental and vision coverage
Company-contributed retirement plan with matching
Flexible working hours and work-from-home options
Generous paid time off and parental leave policies
Professional development opportunities and training support
Collaborative and inclusive work environment

Requirements:

Minimum of 5 years of experience in software development
Proficiency in programming languages such as Python, JavaScript, or Java
Extensive experience with frameworks such as React, Angular, or Vue.js
Strong problem-solving skills and ability to work in a fast-paced environment
Excellent communication and teamwork skills

Note: This position is open to candidates from anywhere in the world. Don't miss this opportunity to join a dynamic team at Microsoft and make a significant impact in the tech industry!
CheeseDeployer, @myself659, @agmmnn, @astrofrog, @Iven-Wang, @deyer, @Solertis, @iobond, @davidkohcw, @hyc5566, @kaustavha, @zhoulzhou, @rayshan, @pindaroso, @katox, @kznmft, @bitcointrail, @DanFry, @samholt, @hitpoint


How to use current location as input

I would like to add a location icon next to the input field which would insert my current location using HTML5 navigator.geolocation.getCurrentPosition.
This would especially be helpful on mobile devices for any kind of route planner.
Unfortunately, this is not (yet) possible with this plugin?

+1 for above feature.

Hi,
I created a new function here #104

Thank you so much for the feature....much appreciated.


Add allowFinally option to catch-or-return rule

What is the purpose of this pull request?

[ ] Documentation update
[ ] Bug fix
[ ] New rule
[x] Changes an existing rule
[ ] Add autofixing to a rule
[ ] Other, please explain:

What changes did you make? (Give an overview)
This adds the allowFinally option to catch-or-return as described in #158.  This allows the use of .finally() after a Promise chain has been "caught".
Closes #158

@mikegreiling I'm pretty ok with this, but can you help me understand why the finally termination thing isn't quite good enough for you? It's jut that this still enforces catch first?

@xjamundx yes, the use case for us was that we wanted to allow for a .finally() to appear at the end of a Promise chain to do some cleanup and remove some duplicate code, e.g.
Before:
showSpinner = true;
service.doSomethingAsync()
    .then(response => {
        console.log('success!', response);
        showSpinner = false;
    })
    .catch(err => {
        console.log('error!', err);
        showSpinner = false;
    });

After:
showSpinner = true;
service.doSomethingAsync()
    .then(response => {
        console.log('success!', response);
    })
    .catch(err => {
        console.log('error!', err);
    })
    .finally(() => {
        showSpinner = false;
    });

However, we still want to enforce the use of a .catch() to handle rejected promises.  Adding 'finally' to terminationMethod would allow one to create a promise without a catch.
showSpinner = true;
service.doSomethingAsync()
    .then(response => {
        console.log('success!', response);
    })
    .finally(() => {
        showSpinner = false;
    });

// no catch 😱

Seems good. Will try to publish as a non-breaking change


feat/experimental

Please review before merging.

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


SPIKE: How to become aware of security incidents on the platform

User Story
As a Modernisation Platform Engineer
I want to be alerted of security incidents reported by AWS tools
So that I can respond to them in a timely fashion
User Type(s)

Value
How do we make sure that we are aware of any security incidents that happen on the platform?
Can we leverage existing tools such as security hub?
We need to be alerted to critical/high security warnings from AWS security hub, whilst also being able to filter out the criticals which we have dismissed.
Questions / Assumptions / Hypothesis
Definition of done

[ ] review current alerting being sent into Slack Alerting channels

[ ] EG. SecurityHub into low-priority-alerts

[ ] sources of potential information identified (eg. SecurityHub)
[ ] possible methods for notifying the team on an alert identified
[ ] new issue(s) for implementation created

Reference
How to write good user stories

I reviewed the ticket, and we are not receiving any Security Hub alerts in the Slack alerting channel. The alerts we are getting in the low priority channel are all from CloudWatch metric filters.

I discussed the findings and solution options with the team. The architecture to implement the solution has been finalized. Based on these discussions and findings, I have raised a new ticket to implement the proposed solution and complete the integration.
Findings Document
New Implementation Ticket


SubdomainSet issues

The current implementation of SubdomainSet's has the following issues that need to be fixed:

~Many cases do not work with Devito loop optimization and require operators to be created with dle='noop'. See test_subdomains.py for examples.~

Currently implicit equations are only added to the expression list 'once' for each Subdomain set. When complex dependencies exist between equation on different subdomains this will lead to incorrect c-code.

~MPI is not currently supported.~

The _add_implicit method located in Operator needs refactoring. This is occurring too early in the compilation process leading to certain properties of equations being 'discovered' twice.

This functionality needs a notebook tutorial.

As of 8/8/2019 issue 1 is no longer present in tests conducted thus far.

fixed by #1216 .

Some thoughts below
Instead of generating
for n
  a_m = ...[n];
  a_M = ...[n];
  for a = a_m to a_M ...
     ...

we could treat SubDomainSet as what it actually is -- a set of blocks of, generally, different size. This is a generalisation of loop blocking. Or, IOW, loop blocking is a special case of SubDomainSet where the whole domain is covered by disjoint blocks (those at the domain boundaries potentially being smaller than the inner ones, leading to the so called "remainder loops"). So instead of creating one single Dimension(n), we could create Dimension(nx), Dimension(ny), ..., that is one "block" Dimension per space dimension. These could be -- just like in the case of loop blocking -- IncrDimension(nx, ...). This would lead to generating
for nx = nx_m to nx_M, 1:
  for ny = ny_m to ny_M, 1:
    x_m = array_x_m[nx]
    x_M = array_x_M[nx]
    for x = x_m to x_M, 1:
       ...

This would preserve the block-wise iteration semantics, which I would be able to exploit for optimization in the later stages of the compilation pipeline. For example, with a "flatten" n Dimension it's much more difficult to reconstruct the information that if I hoist some time-invariant code outside of n and time then I should not infer that I'm avoiding n*time*... operations, but rather just time.
Anyway, food for thought...


boards: adapt LVGL v8 defconfig

Summary
Adapt to LVGL v8 update: https://github.com/apache/incubator-nuttx-apps/pull/1341
Impact
LVGL related configuration may not work properly.
imxrt1064-evk:lvgl
imxrt1060-evk:lvgl
stm32f746g-disco:lvgl
lpcxpresso-lpc54628:lvgl
stm32f429i-disco:lvgl
esp32c3-devkit:lvgl
ttgo_t_display_esp32:lvgl_fb
ttgo_t_display_esp32:lvgl_lcd
esp32-wrover-kit:lvgl
sim:lvgl_fb
sim:lvgl_lcd

Testing

@gustavonihei
Can you help test other ESP32 boards? :)

@gustavonihei Can you help test other ESP32 boards? :)

I have just the ESP-WROVER-KIT here, I believe @tmedicci could help testing with the ttgo_t_display_esp32 platform.

@gustavonihei Can you help test other ESP32 boards? :)

I have just the ESP-WROVER-KIT here, I believe @tmedicci could help testing with the ttgo_t_display_esp32 platform.

I was able to test on ttgo_t_display_esp32. ttgo_t_display_esp32:lvgl_fb worked successfully. ttgo_t_display_esp32:lvgl_lcd fails to build because it lacks a parameters I've commented on code.

@tmedicci @gustavonihei
Is there anything else we need to modify? Can we start merging this PR :)

@tmedicci @gustavonihei Is there anything else we need to modify? Can we start merging this PR :)

It isn't a block from my side, but I still see a warning regarding the framebuffer usage, please check https://github.com/apache/incubator-nuttx-apps/pull/1341/files#diff-2017a1909697a8fc95f0082144b1c6ef91522530ba90c8cd37caa318a5a346ec
I'd say that it's important to double-check the implementation.

@tmedicci @gustavonihei Is there anything else we need to modify? Can we start merging this PR :)

It isn't a block from my side, but I still see a warning regarding the framebuffer usage, please check my last comment on apache/nuttx-apps#1341
I'd say that it's important to double-check the implementation.

Sorry it took so long to reply.
Is the framebuffer warning "fbmem2 is incorrect" this one? I changed this to INFO level because this is designed to accommodate dual framebuffers with non-contiguous addresses. For single framebuffer devices, this is not required.
CONFIG_LV_FONT_MONTSERRAT_12
CONFIG_LV_FONT_MONTSERRAT_18
I don't think it's necessary, LVGL will automatically choose the default font, it doesn't affect the demo effect, turning off the non-necessary fonts can save FLASH space, I would like to turn them off again

@tmedicci @gustavonihei Is there anything else we need to modify? Can we start merging this PR :)

It isn't a block from my side, but I still see a warning regarding the framebuffer usage, please check my last comment on apache/nuttx-apps#1341
I'd say that it's important to double-check the implementation.

I don't seem to find any relevant comments on https://github.com/apache/nuttx-apps/pull/1341, can you try again :)

@tmedicci
Do you agree to turn off the font:
CONFIG_LV_FONT_MONTSERRAT_12
CONFIG_LV_FONT_MONTSERRAT_18

@tmedicci Do you agree to turn off the font: CONFIG_LV_FONT_MONTSERRAT_12 CONFIG_LV_FONT_MONTSERRAT_18

I see no problems turning off the fonts besides the warning. Particularly, I'd keep them enabled for that defconfig, but you can decide about it ;)


fix broken benchmarks

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
834

Relevant Lines:
900

💛  - Coveralls


Multiple Cameras

I often plug my laptop into a sort of docking station setup with an external webcam (which I use most of the time), but there is the occasion when I want to use Howdy authentication when my laptop is unplugged. (And use the builtin webcam.) I don't know how easy it would be to implement, but it would be nice for there to be support for multiple webcam devices.
Thanks again for this wonderful software!

Does sound nice, if more people are interested i'll consider implementing it

I have the exact same scenario, would love to have this functionality. The only issue I would have though is that the external webcam doesn't have any IR emitters so would be reliant upon the IR coming from the laptop. Would that even be possible? Love the app btw, so incredibly useful!

This is something I'd be interested in. Ideally, it would first try to use my external webcam, and if it wasn't detected it would fallback to the webcam on my laptop. My external webcam has IR emitters, as well as my laptop.

To make it work for now.

Add file /lib/udev/rules.d/99-howdy-camera-select.rules

KERNEL=="video2", SYMLINK+="videohowdy"
KERNEL=="video0", SYMLINK+="videohowdy"

Replace video0 / video2 with your devices.
The first one is the camera from the dock.
The second one is the builtin.

Refresh udev
sudo udevadm trigger

Configure howdy to the new device.
``

sudo howdy config
device_path = /dev/videohowdy
# if you close your lid when docked then also
ignore_closed_lid = false

sudo howdy add with both cameras seperately.

magic.

Worked for me on Ubuntu 20.10 on dell 5511 & Logitech BRIO.

See #515

To make it work for now.
1. Add file `/lib/udev/rules.d/99-howdy-camera-select.rules`
   Replace video0 / video2 with your devices. The first one is the camera from the dock. The second one is the builtin. The first device in the list that is found will grab the symlink, You can chain as many as you want.

KERNEL=="video2", SYMLINK+="videohowdy"
KERNEL=="video0", SYMLINK+="videohowdy"

2. trigger udev `sudo udevadm trigger`

3. `sudo howdy config`
   `device_path = /dev/videohowdy`

   1. if you close your lid when docked then also
      `ignore_closed_lid = false`

4. `sudo howdy add` with both cameras seperately.

5. magic.

Worked for me on Ubuntu 20.10 on latitude 5511 with Logitech BRIO through WD19TB dock.
Ain't linux great xD

@tdaniely this doesn't seem to be working for me, I think I may have got my udev rules wrong. I have dev/video2 as my laptop camera and dev/video4 for my docked camera. I know that this works because when I manually change the howdy config to each camera, they each individually get used. I tried to set this as my /lib/udev/rules.d/99-howdy-camera-select.rules but it always seems to try the laptop camera:
KERNEL=="video4", SYMLINK+="videohowdy"
KERNEL=="video2", SYMLINK+="videohowdy"

I also tried it in the other order and it just uses the laptop camera, I know that the udev rules are being triggered because when it set it to just
KERNEL=="video4", SYMLINK+="videohowdy"

it works fine. Any idea why it is not choosing priority correctly based upon which camera is available?

Hey, can you please link some of the solutions in the wiki section! That would be very helpful. Thank you.

I have a doubt, does howdy can use both video feeds from the laptop's integrated webcam and intergrated IR cam to perform more accurately. I don't know whether it exits already in howdy or not.

See #718

To make it work for now.
1. Add file `/lib/udev/rules.d/99-howdy-camera-select.rules`
   Replace video0 / video2 with your devices. The first one is the camera from the dock. The second one is the builtin. The first device in the list that is found will grab the symlink, You can chain as many as you want.

KERNEL=="video2", SYMLINK+="videohowdy"
KERNEL=="video0", SYMLINK+="videohowdy"

2. trigger udev `sudo udevadm trigger`

3. `sudo howdy config`
   `device_path = /dev/videohowdy`

   1. if you close your lid when docked then also
      `ignore_closed_lid = false`

4. `sudo howdy add` with both cameras seperately.

5. magic.

Worked for me on Ubuntu 20.10 on latitude 5511 with Logitech BRIO through WD19TB dock.
Ain't linux great xD

I had neglected to change the parameter ignore_closed_lid from false to true. Thanks


Some questions on starting a persist ant container

I would like to try and start a persistent container on aws. After reading the README, I have some questions:

I am planning on just creating an ec2 instance and running this docker container on there. Is there a recommended volume size that I need to attach?

The README mentions passing in db credentials in persistent mode but does not clarify how exactly this is done. How do I pass in the credentials for the postgres instance?

Thanks in advance.

I am planning on just creating an ec2 instance and running this docker container on there. Is there a recommended volume size that I need to attach?

SDF nodes have 50GB volumes attached but they contain the full history DB. You are more likely to sync only recent ledgers to it can be smaller. @vogel can tell more about disk requirements.

The README mentions passing in db credentials in persistent mode but does not clarify how exactly this is done. How do I pass in the credentials for the postgres instance?

When you start a container it will ask you to type a password.

Current stellar-core-state nodes on SDF contains a little more than 3 GB of data - full pubnet history (most of that in database).
So 10 GB should be enough with a lot to spare.


add link to status page in welcome, FAQs, and sidebar

added a sentence in each faq to have additional keywords to be searchable - lmk if that works for you :)


Could not install zephir_parser on PHP x.x.xx

Describe the bug
It is impossible to install pecl package inside Windows env.
Version

[ ] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[x] v2
[ ] v1

Runners

[x] GitHub Hosted
[ ] Self Hosted

Operating systems
Windows2019
PHP versions
Any
To Reproduce
https://github.com/zephir-lang/zephir/actions/runs/3790395319/jobs/6449129559#step:3:35

@Jeckerson
There are no DLLs for zephir_parser 1.5.2 currently, it will work once they are added to PECL.
Suppose the extension is needed and the exact semver version is not important. In that case, you can remove the version from the input and it will install the latest available extension version with the DLL for the PHP version.
Otherwise, I can add support for the extension using GitHub releases in the next release.

I might be incorrect, but I noticed that pecl, some time ago, stopped to release win .dll files.
And if look inside this folders https://windows.php.net/downloads/pecl/releases/ none contain recent releases.
@shivammathur Could you pick .dll from release assets? https://github.com/zephir-lang/php-zephir-parser/releases/tag/v1.5.2

Added support in https://github.com/shivammathur/setup-php/commit/7abee8e28c06b766cef0828e207a8279bc8f111e. Will be in the next release.

Released in 2.24.0


ng-selectize [options]="options" doesn't synchronize two-way

Steps to reproduction:

Create reactive form
Bind ng-selectize options [options]="options" and formControlName="selectize"
In code change options and patch form

Expectation: ng-selectize updates options correctly.
Reality: ng-selectize glitches!
As a temporary solution I used to have a reference to selectize.js component, and update their options.
Your move?

UPD: My temporary solution not working in my project with the latest version of  ng-selectize (1.1.0).
More precisely, it worked when I tried to repeat the error in the ng-selectize-demo project. But it seems to me that the old version of the ng-selectize is being used.
In my project, errors occur with the latest version of the ng-selectize. I decided to try an older version (1.0.11), no errors found.


fetchLast

to replicate the functionality built on the writhem bot we'd like to say:
/fetchLast - will fetch the last 1 entry.
/fetchLast 5 - will fetch the last 5 entries in the order they are currently showing.
/fetchLast !5 - will fetch the last 5 entries in reverse order.

The new GS lets you suggest and add the song to the end or to the next track so I am not sure this command is needed?

let's imagine you're utilizing the playPlaylist command and adding 10 songs to the queue. It'll add them to the end of the queue. now you want 5 of those to be next, in reverse order. what do?

Fully implemented.


Fix: Add Contributors Profiles in README

✅ Fixes: #71
This PR adds a automated workflow to update the contributors list in the README file and adds a section in the README to display the contributors. The most important changes include creating a GitHub Actions workflow and updating the README file.
Workflow automation:

.github/workflow/add-contributor.yml: Added a new GitHub Actions workflow to automate updating the contributors list in the README file whenever changes are pushed to the main branch.

README updates:

README.md: Added a section to display contributors and included a "Back to Top" button for easier navigation.

@shrinidhihegde3 Review this PR & add hacktoberfest labels to this PR.

@Hemu21 @shrinidhihegde3 can you add gssoc & level labels

@Hemu21 @shrinidhihegde3 can you add gssoc & level labels

@yashksaini-coder this project is not under gssoc-ext only in hacktoberfest. I hope you understand.

@Hemu21 @shrinidhihegde3 can you add gssoc & level labels

@yashksaini-coder this project is not under gssoc-ext only in hacktoberfest. I hope you understand.

Bro you send message in another PR for adding labels as this is a gssoc-ext project

@yashksaini-coder  by mistake I added it.

@yashksaini-coder by mistake I added it.

bro don't get my hopes up

@Hemu21 i have not registered this repo in GSOC so by adding label will it work?

@Hemu21 i have not registered this repo in GSOC so by adding label will it work?

No it won't count towards leaderboard


internal boundaries in with_boundaries

Internal boundaries were queried in #336 and support added in #340.  I wanted to check that these were preserved in serialization #158 #261 under #680, but it appeared whereas they were supported by the old Mesh.define_boundary, this has been deprecated in favour of the (functional rather than mutating) Mesh.with_boundaries which doesn't support them.
The problem is in
https://github.com/kinnala/scikit-fem/blob/0855dae117728588f269d968c8da4dbe06446d1b/skfem/mesh/mesh.py#L180
which hardcodes boundaries_only=True.
Minimal example:
m = MeshLine([0, 1, 2]).with_boundaries({"mid0": lambda x: x[0] == 1.0})
m.define_boundary("mid1", lambda x: x[0] == 1.0, boundaries_only=False)

Then m.boundaries is

{'mid0': array([], dtype=int64), 'mid1': array([1])}

I'm sorry that we are are back in square one regarding the interfaces. Because the new Mesh class was quite a big refactoring, I probably deleted the one test we had with centreline interface to cut some corners.
However, can we take a critical look at the use of these interfaces. I'd like to fully understand the use cases. Now that we have probes, I think the one-dimensional example is not meaningful anymore. How about higher dimensional examples? Is the main use case to integrate over interfaces? Is there something else?
I propose that we use a separate Mesh.interfaces field, in addition to Mesh.subdomains and Mesh.boundaries, to make it clear that it is sets of internal facets.

I'd like to fully understand the use cases. Now that we have probes, I think the one-dimensional example is not meaningful anymore? How about higher dimensional examples? Is the main use case to integrate over interfaces? Is there something else?

One use case is a hypersurface source, like a point-source but (n – 1)-dimensional; e.g. the line-load on a Kirchhoff plate mentioned in the original issue. That shows up as a linear form so it's kind of an integral, yes.
That might be the main use, but I'm also wondering about multiphysics problems in which a subprogram might be solved on a subdomain for which an interface is really a boundary.  There might be better ways to handle that though.

I think InteriorFacetBasis can be used for creating mortar coupling between two parts of the mesh if you have an internal boundary.


Add supports for ghc-8.10.4

Add supports in GHC-8.10.4

adds 8.10.4 in travis build process
relax quickcheck version to 2.14.2
fix shadow variable binding warning
add HasMock instance for Fragment modifier

@fisx @phadej ^

Needed another base bump, so I've opened a follow-up PR #28 containing this one.

in favor of #28.


Added option to declare BIPM version in Pulsar object

The build is failing because enterprise is testing against an older version of pint that does not have bipm_version as an option to pint.toa.get_TOAs.

The tests should pass if we updated the PINT tag in the requirements.txt file to a newer version that includes a bipm_version argument in pint.toa.get_TOAs. Any problem with me doing this?

Lets update to the latest PINT.  If that breaks something else, we can sort it out.


Slack client decoupling

As mentioned in https://github.com/rneatherway/gh-slack/pull/55#issuecomment-1839189046, I suggested the idea of decoupling the slack client (i.e. https://github.com/rneatherway/gh-slack/tree/main/internal/slackclient) into its own module.
I have seen https://github.com/slack-go/slack, which looks awesome and very complete but also wrapping up a lot of functionalities in go functions instead of keeping the abstraction low.
I think having a Slack client object that only allows to easily send requests to the API would make it easy to extend and keep as simple as possible.
I think the real beauty of this project is the way it gets the token from the local slack installation. I would see this + a generic way to call the API/RTM enough for the base module.

Agreed, I think that's a nice idea to make this easier for other people to build upon. What you've done in the previous PR is nice for building small bash scripts with jq etc, but being able to write Go for larger things is better.
How about:

Keep this repository here as the place to install gh-slack. There's no massive reason that this has to be gh plugin even, it's mainly that this was a very convenient package manager while I was working at GitHub.
Create a new repository, something like rneatherway/slack-core (name suggestions welcome!). I'd add you as a contributor there and we can iterate on a design to point gh-slack to before doing a release that other people might depend on.

OK, I've had a go over at #57. Let's discuss over there?

Yes! Thanks for doing this!
I'll be mostly off until the 4th of Jan.
Let's discuss more when I come back :) Have a great end of the year!

Sounds good, enjoy your holiday 😁


video recording is not working in HTC 300

When you click the record button, nothing happens...

It seems there is a bug where the record button doesn't change state whilie
it is recording. What happens if you close AndroidTool > Open AndroidTool >
Wait for the button to be active > Press the button > Wait 20 seconds >
Press the button again?
On Mon, Sep 28, 2015 at 2:33 AM Adonis Valamontes<EMAIL_ADDRESS>wrote:

When you click the record button, nothing happens...
—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66.

Tried it nothing happen...
On Sep 28, 2015 8:52 PM, "Morten Just"<EMAIL_ADDRESS>wrote:

It seems there is a bug where the record button doesn't change state whilie
it is recording. What happens if you close AndroidTool > Open AndroidTool >
Wait for the button to be active > Press the button > Wait 20 seconds >
Press the button again?
On Mon, Sep 28, 2015 at 2:33 AM Adonis Valamontes <
<EMAIL_ADDRESS>wrote:

When you click the record button, nothing happens...
—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66.

—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66#issuecomment-143822225
.

I dont see the record button active, its grey is that the active state?
On Mon, Sep 28, 2015 at 8:52 PM, Morten Just<EMAIL_ADDRESS>wrote:

It seems there is a bug where the record button doesn't change state whilie
it is recording. What happens if you close AndroidTool > Open AndroidTool >
Wait for the button to be active > Press the button > Wait 20 seconds >
Press the button again?
On Mon, Sep 28, 2015 at 2:33 AM Adonis Valamontes <
<EMAIL_ADDRESS>wrote:

When you click the record button, nothing happens...
—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66.

—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66#issuecomment-143822225
.

--
Geopay.me Inc.
*"don't need to know everything, I just need to know where to find it."*A.
Einstein.
If you need to reach your people really fast, there's no better way to do
it than with "mobile".
Mobile is direct, accurate, and personal.
This email may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this email by mistake),
please notify the sender immediately and destroy this email. Any
unauthorised copying, disclosure or distribution of the material in this
email is strictly prohibited.
Email transmission security and error-free status cannot be guaranteed as
information could be intercepted, corrupted, destroyed, delayed,
incomplete, or contain viruses. The sender therefore does not accept
liability for any errors or omissions in the contents of this message
which may arise as a result of email transmission.

Just confirming that you do in fact run at least 4.4 KitKat, right?
It should have the same color as the camera in the screenshot button next to it. Sounds like the HTC is not reacting to the tool's request for display size info. That's fixable, but probably only by someone who has the same model and Android version.

I have HTC Desire 300
Android 4.1.2
On Mon, Sep 28, 2015 at 10:06 PM, Morten Just<EMAIL_ADDRESS>wrote:

Just confirming that you do in fact run at least 4.4 KitKat, right?
It should have the same color as the camera in the screenshot button next
to it. Sounds like the HTC is not reacting to the tool's request for
display size info. That's fixable, but probably only by someone who has the
same model and Android version.
—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66#issuecomment-143845922
.

--
Geopay.me Inc.
*"don't need to know everything, I just need to know where to find it."*A.
Einstein.
If you need to reach your people really fast, there's no better way to do
it than with "mobile".
Mobile is direct, accurate, and personal.
This email may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this email by mistake),
please notify the sender immediately and destroy this email. Any
unauthorised copying, disclosure or distribution of the material in this
email is strictly prohibited.
Email transmission security and error-free status cannot be guaranteed as
information could be intercepted, corrupted, destroyed, delayed,
incomplete, or contain viruses. The sender therefore does not accept
liability for any errors or omissions in the contents of this message
which may arise as a result of email transmission.

I cant take screen shots but no video
On Mon, Sep 28, 2015 at 10:06 PM, Morten Just<EMAIL_ADDRESS>wrote:

Just confirming that you do in fact run at least 4.4 KitKat, right?
It should have the same color as the camera in the screenshot button next
to it. Sounds like the HTC is not reacting to the tool's request for
display size info. That's fixable, but probably only by someone who has the
same model and Android version.
—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66#issuecomment-143845922
.

--
Geopay.me Inc.
*"don't need to know everything, I just need to know where to find it."*A.
Einstein.
If you need to reach your people really fast, there's no better way to do
it than with "mobile".
Mobile is direct, accurate, and personal.
This email may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this email by mistake),
please notify the sender immediately and destroy this email. Any
unauthorised copying, disclosure or distribution of the material in this
email is strictly prohibited.
Email transmission security and error-free status cannot be guaranteed as
information could be intercepted, corrupted, destroyed, delayed,
incomplete, or contain viruses. The sender therefore does not accept
liability for any errors or omissions in the contents of this message
which may arise as a result of email transmission.

correction
I CAN TAKE SCREEN SHOTS
On Mon, Sep 28, 2015 at 10:06 PM, Morten Just<EMAIL_ADDRESS>wrote:

Just confirming that you do in fact run at least 4.4 KitKat, right?
It should have the same color as the camera in the screenshot button next
to it. Sounds like the HTC is not reacting to the tool's request for
display size info. That's fixable, but probably only by someone who has the
same model and Android version.
—
Reply to this email directly or view it on GitHub
https://github.com/mortenjust/androidtool-mac/issues/66#issuecomment-143845922
.

--
Geopay.me Inc.
*"don't need to know everything, I just need to know where to find it."*A.
Einstein.
If you need to reach your people really fast, there's no better way to do
it than with "mobile".
Mobile is direct, accurate, and personal.
This email may contain confidential and/or privileged information. If you
are not the intended recipient (or have received this email by mistake),
please notify the sender immediately and destroy this email. Any
unauthorised copying, disclosure or distribution of the material in this
email is strictly prohibited.
Email transmission security and error-free status cannot be guaranteed as
information could be intercepted, corrupted, destroyed, delayed,
incomplete, or contain viruses. The sender therefore does not accept
liability for any errors or omissions in the contents of this message
which may arise as a result of email transmission.

Ah, screen recording isn't supported before 4.4.
I'm happy that you can take screen shots though.


Power off action unavailable when migrating from a previous version

https://github.com/biotinker/LibreTasks/commit/3e11fab17c7ce0854a8647c0f2cef6374655c9e3 introduces a new Power Off action. However, the action is registered in DbMigration#initialVersion() rather than in a method called from DbMigration#migrateToLatest(), and the db version doesn’t get bumped. As a result, the new entry will be added to a fresh DB but not to a DB migrated from an earlier version.
I’ll look into this (should be pretty straightforward) and submit a merge request.

Merge request has been submitted, see above.


nixos/sshd: validate ssh configs during build

Motivation for this change
With sshd -t config validation for SSH is possible. Until now, the
config generated by Nix was applied without any validation (which is
especially a problem for advanced config like Match blocks).
When deploying broken ssh config with nixops to a remote machine it gets
even harder to fix the problem due to the broken ssh that makes reverts
with nixops impossible.
This change performs the validation in a Nix build environment by
creating a store path with the config and generating a mocked host key
which seems to be needed for the validation. With a broken config, the
deployment already fails during the build of the derivation.
The original attempt was done in #56345 by adding a submodule for Match
groups to make it harder screwing that up, however that made the module
far more complex and config should be described in an easier way as
described in NixOS/rfcs#42.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Will validation fail if someone utilizes the sshd Include command in their extraConfig?

Will validation fail if someone utilizes the sshd Include command in their extraConfig?

Unless I'm missing something, this won't break validation (tested with sshd from OpenSSH_7.9p1 on NixOS 19.03).

Does DenyGroups get validated and fail if the groups don't exist?

Same here. It seems as no content is validated, however syntax and the specified options.

I don't want to be sounding too negative on this topic, but when a few attempts at implementing validation on the httpd service ran into all sorts of problems I was very discouraged.

IIRC this is also implemented for prometheus and I actually liked it while using that module.
Can you please send me a link to the discussion? I'd be very interested in learning which problems were faced there :)

It's a shame there isn't some sort of stage between the building and activation of a generation that checks like this can run and then abort activation if the checks do not see succeed, leaving the user on the current generation without having cycled any services.

That's actually an interesting idea for the "Future work" section of RFC#42 which actually recommends the use of config validation tools if available/possible.

@Ma27 the history of this problem actually goes back years...

a recent discussion including myself lamenting over declarative apache configs here
which spawned https://github.com/NixOS/nixpkgs/pull/58033
https://github.com/NixOS/nixpkgs/issues/35395#issuecomment-370465197

There are more issues/prs which discuss this, but the list above is all I could find with minimal effort.

So unless I'm missing something, the main issues with config validation at build time are (1) issues with cross-builds and (2) false-positives when having a complex config that only works in a certain environment.
(1) should be solvable by using nativeBuildInputs in the derivation that validates the config (I'll change that later that day)
(2) doesn't seem to be a problem according to my test results. To quote sshd(8):
       -T     Extended test mode.  Check the validity of the configuration file, output  the  effective
              configuration  to stdout and then exit.  Optionally, Match rules may be applied by speci‐
              fying the connection parameters using one or more -C options.

       -t     Test mode.  Only check the validity of the configuration file and  sanity  of  the  keys.
              This is useful for updating sshd reliably as configuration options may change

If I understand thsi correctly, my approach simply checks the syntax and the used configuration keys.
Does this look ok to you? Or am I missing something?


Euler Rotation Order as Parameter for Rotation

Right now rotations are limited to the XYZ rotation order through the constructor. While a workaround exists where the user can explicitly apply rotations separately in the desired order, a more succinct solution would be to add an "ordering" parameter to the Rotation constructor. This would allow for various domain specific design paradigms. Something like:
Rotation((a, b, c), ordering=ZYZ)
Going further, having the ability to specify the default ordering would make build123d more friendly to disciplines like robotics.

should Rotation((a, b, c), ordering=ZYZ) use an enum instead, e.g. Rotation((a, b, c), ordering=RotationOrder.ZYZ) ?
naming it AxisOrder.ZYZ instead might be a bit more general for future re-use.
Do we plan to support only intrinsic rotations, or all at this page including extrinsic?: https://dev.opencascade.org/doc/refman/html/gp___euler_sequence_8hxx.html
There are 12 intrinsic rotation orders available at the link above (and 12 extrinsic).

An enum definitely seems like the best solution. Having access to all possible rotations seems like a smart idea to improve accessibility, not sure about the effort required to support this though.

The effort is quite small to support extrinsic too. Also, it appears that OpenSCAD uses extrinsic rotations, so I think having extrinsic available here is a good idea for newcomers from that community.


Option to list files that are identical in the two folders

When comparing two folders, it's good to (optionally) get feedback for files that are NOT different, i.e. identical

Interesting feature 👍

I pre-released v0.11.0. Please install it and verify the feature is working as expected.
Thanks!

That's working very well! - many thanks Mosh!
I would prefer the option to show identical files to be ON by default, but not something I would push for ... maybe there are reasons for having OFF as the default. cheers


Change retry logic for jobs to change spot instance types depending on the retry count

What is it?
Currently, if the daily jobs attempt to retry they just keep attempting to use the same node types. However, because some of these jobs may be scheduled to spot instances, they might end up failing for some unknown reason. We should, instead, have them scheduled to run on progressively different instances. I asked dagster's GPT about it and this is what it said might be possible

Currently, there isn't a built-in way to dynamically update the op_tags for the k8s_job_executor based on the number of retries directly within Dagster. However, you can achieve this by implementing a custom retry mechanism using sensors or hooks to monitor the number of retries and adjust the configuration accordingly.
Here's a high-level approach to achieve this:
Track the Number of Retries: Use a sensor or a hook to monitor the job runs and keep track of the number of retries.
Adjust Configuration Based on Retries: When the number of retries exceeds a certain threshold (e.g., 2 times), modify the op_tags to allocate more resources or change other configurations.
Re-execute the Job with Updated Configuration: Trigger a re-execution of the job with the updated op_tags.
Below is a conceptual example using a sensor to monitor job failures and re-execute with updated op_tags:

from dagster import sensor, RunRequest, DagsterEventType, EventRecordsFilter, DagsterInstance, execute_job, ReexecutionOptions, reconstructable

# Define your job and ops with initial configuration
from dagster_k8s import k8s_job_executor
from dagster import job, op

@op(tags={"dagster-k8s/config": {"container_config": {"resources": {"requests": {"cpu": "200m", "memory": "32Mi"}}}}})
def my_op(context):
    context.log.info("Running my_op")

@job(executor_def=k8s_job_executor)
def my_job():
    my_op()

# Sensor to monitor job failures and re-execute with updated configuration
@sensor(job=my_job)
def retry_sensor(context):
    instance = DagsterInstance.get()
    run_failure_records = instance.get_event_records(
        EventRecordsFilter(event_type=DagsterEventType.RUN_FAILURE),
        ascending=False,
        limit=1,
    )

    if not run_failure_records:
        return

    failed_run_id = run_failure_records[0].run_id
    failed_run = instance.get_run_by_id(failed_run_id)
    retry_count = int(failed_run.tags.get('dagster/retry_number', '0'))

    if retry_count > 2:
        # Update op_tags for more resources
        updated_op_tags = {
            "dagster-k8s/config": {
                "container_config": {
                    "resources": {
                        "requests": {"cpu": "500m", "memory": "64Mi"},
                    }
                },
            }
        }
        # Re-execute the job with updated configuration
        options = ReexecutionOptions.from_failure(failed_run_id, instance)
        execute_job(
            reconstructable(my_job),
            instance=instance,
            reexecution_options=options,
            tags={"dagster/retry_number": str(retry_count + 1), **updated_op_tags}
        )
    else:
        # Re-execute the job with the same configuration
        options = ReexecutionOptions.from_failure(failed_run_id, instance)
        execute_job(
            reconstructable(my_job),
            instance=instance,
            reexecution_options=options,
            tags={"dagster/retry_number": str(retry_count + 1)}
        )

This is a relevant issue but I'm not sure it's actually all that important right now. We've not had many issues with this and I think it's quite complex.


Fail to run the POC due to NtCreateThread error 0xC0000022

While trying to utilize the POC in my own environment, I got almost all the way through with an exception of the last phase of creating a thread to run the malicious code from transaction :
C:\processrefund-master\x64\Debug>processrefund.exe svchost.exe MalExe.exe
[+] Got ntdll.dll at 0x7fff635d0000
[+] Got NtCreateSection at 0x00007FFF6366FF90
[+] Created a transaction, handle 0x88
[+] CreateFileTransacted on svchost.exe, handle 0x8c
[+] opened malexe.exe, handle 0x90
[+] malexe size is 0xefa00
[+] allocated 0xefa00 bytes
[+] read malexe.exe to buffer
[+] over wrote svchost.exe in transcation
[+] created a section with our new malicious svchost.exe
[+] Got NtCreateProcessEx 0x00007FFF6366FFF0
[+] Created our process, handle 0x98
[+] our new process oep is 0x7ff6b4f08f28
[+] Got NtCreateThreadEx 0x00007FFF63670DC0
[+] Got RtlCreateProcessParametersEx 0x00007FFF635F4760
[+] creating Process Parameters at 0x000002218316D790
[+] creating memory at process for our paramters 0x83160000
[+] writing our paramters to the process
[+] Got NtQueryInformationProcess 0x00007FFF6366F970
[+] writing our paramters to the process peb 0x0000003E0B94B000
[+] Thread created with handle cccccccc
The operation completed successfully.

Running in debugging mode I saw that the thread handle value (hThread) from the last printout was "cccccccc" before the call for ret = createThreadEx(&hThread, GENERIC_ALL, NULL, hProcess, (LPTHREAD_START_ROUTINE)oep, NULL, FALSE, 0, 0, 0, NULL);
Notice that I'm working under windows 10 latest version. apparently they had something in previous version which trigger a panic after calling one of the internals (probably NtCreateProcessEx) but it was resolved for now.
Also, I've disabled the windows defender since it was preventing this executable.
Any idea what might be the problem here ? Does the log messages shows anything ?

You have received NTSTATUS
STATUS_ACCESS_DENIED.

Have you tried running it as admin?
If running as admin doesn’t work, try disabling windows defender entirely as it may prevent the thread creation.

Yes, I made sure that the defender is disabled (before that I triggered the Win32/DoppelInjector.A!attk.) and also run as administrator.
I've tested it under VM running windows 10 version 1809.
Perhaps do you need some more inputs to help debugging this issue ?
Thanks

Can you try creating a regular process and calling ntcreatethread on it?

I have confirmed it's windows defender.
please disable it via group policy:
Computer Configuration > Administrative Templates > Windows Components > Windows Defender Antivirus - >Turn off Windows Defender Antivirus

Hi, just let you know that i've managed to make the POC work on my machine after following your instructions.
I thought I've disabled Defender from GUI, as it stopped blocking the process, but it was only partial disablement, and the full one is only possible from group policy.
Thanks for the clarification.


Segfault question

I'm getting some segfaults reported on older PHP versions (< 8.1.17 and <8.2.4) in our GrumPHP project.
Would it make sense to add a conflict section in the composer file of this package so that people know there something wrong with their setup?
It's a PHP bug but it make usage of fibers rather unstable:

GH-10496 (segfault when garbage collector is invoked inside of fiber).

I can always add it to my project, but it might make more sense to add it here so that other projects can benifit from this as well.

We had this on our plan, but forgot about it. A conflict rule is probably not the right way, as people on broken versions would just install an older version then without noticing. We should probably add a runtime check instead.

See #85.


Added admin panel vs livewire docs for filter layout

The admin panel docs for this feature already exist at https://filamentphp.com/docs/2.x/admin/resources/listing-records#displaying-filters-above-or-below-the-table-content.
Let me know if anything's missing. 🙂

@zepfietje yes, but that's the Admin Panel Resources manager docs. The docs I modified are the Table Builder docs, where the convention is to show you how to do things in a Table Builder either in the admin panel or stand alone.  As-is, those Filter layout docs only show how to do it standalone.  There are dozens of other examples in the Table Builder docs where it gives bot ("If you are doing this in a Livewire component ... or if you are doing this in the Admin Panel ...").

Personally I prefer linking to the admin panel docs from the table docs then. It's really hard to maintain the docs when features are documented in 3 places.
Could you show me where it's duplicated like you mentioned? Maybe we could add a note to the table docs, just unsure it should be duplicated like this.
And yes, I agree searching the docs across packages is hard sometimes. The unified API in v3 will make this a lot better.


Can't render genesis block in Polkadot.js explorer

Apparently there is something about genesis block that makes Polkadot.js explorer unable to decode it:
Unable to retrieve the specified block details. can't access property "asPreRuntime", n[0] is undefined

Genesis block is a bit special and might need extra care, but I do think we want to render it properly (happens both with 2022-jan-05 and 2022-mar-09 builds).

Thanks for this check, added validation on the extractAuthor function.
If there are no preRuntimes logs will skip extraction and render information correctly.
https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Faries-farm-rpc-b.subspace.network#/explorer/query/0


Ensure votes are for the correct round in the updater

Motivation
ChainClient::communicate_chain_updates sorts votes by value hash only, instead of by (value_hash, round). This could potentially group non-matching signatures.
Proposal
Group by (value_hash, round) instead.
Also, check that the hash and round are the ones we expected based on the CommunicateAction, and use a safer constructor for the certificate that checks that the signatures match.
Test Plan
This adds no new functionality, only additional sanity checks. Making the validator responses disagree on the round number would require simulating malicious validators.
Release Plan

[x] All good!
[ ] Need to bump the major/minor version number in the next release of the crates.
[ ] Need to update the developer manual.
[ ] This PR is adding or removing Cargo features.
[ ] Release is blocked and/or tracked by other issues (see links above)

Reviewer Checklist

[ ] The title and the summary of the PR are short and descriptive.
[ ] The proposed solution achieves the goals stated in the PR.
[ ] The test plan is reproducible and provides sufficient coverage.
[ ] The release plan is adequate.
[ ] The commits correspond to distinct logical changes.
[ ] The code follows the coding guidelines.
[ ] The proposed changes look correct.
[ ] The CI is passing.
[ ] All of the above!

I opened https://github.com/linera-io/linera-protocol/issues/943 for testing.


Implement sort_by_key command

Hi, @sharkdp
I've implemented the new command sort_by_key as suggested in #2. The changes are:

Implement filesize and file_ext functions
Add comparison operators for TypedValue class
Implement sort_by_key command

Can you check if I did everything correctly?
Regards

This looks great, thank you very much!
I will take a closer look in a few days when I am back home.


not show hours and minutes

It's possible only show dates and not show hours and minutes??

Hi, #2098 just a few issues ago reference to the same, in the docs it tell too how to do this http://eonasdan.github.io/bootstrap-datetimepicker/Options/#format.
As this an usage question close this as soon as you see this, thanks

thanks


PowerShell Write-SqlTableData Computed Column Error

Cannot insert new data onto table when a computed column exists, returned below error:
The column "A" cannot be modified because it is either a computed column or is the result of a UNION operator.

Hi @van-thieu - could you expedite my investigation by providing a simple repro? A script that would create the DB/Table and the actual .ps1 you are running would be fantastic. Thanks!


Map tiles on mobile loading slowly

On mobile (in slow networks), the map tiles are sometimes not loaded when a user enters the application. The loading screen which should prevent this experience does not listen to the loading state of the tiles.
This could potentially be solved with the areTilesLoaded method (doc) that could be bound to the application state.

But what should we do. I think we should try to decouple it totally from the tile loading.

I've started working on a branch that would remove the loading overlay only after map + trees have rendered (only for mobile).
It does not fix the loading speed, but might improve the user experience: loading screen disappeared means everything has in fact loaded.
The approach (see here) feels hacky, but it seems to work. Feedback and thoughts appreciated!

But doesn't that trap users in the loading screen until the map is done.
deck.gl works on Desktop also without the map tiles. So you can already interact with the map before the tiles are there.
On mobile this means the loading screen will take between 10 to 20 seconds?
People will bounce away a lot.
I think we should find a way to let the user interact with the application before the map is done. Move map tiles loading into the background and give the user the possibility to interact already.
Maybe (random thoughts):
logged in users:

send directly into the their profile.
zoom into their trees.
give them some stats about the state of their trees

new users:

do some animation with the content of the overlay
distract them from the fact that the application is not ready

map:

review https://docs.mapbox.com/help/troubleshooting/working-with-large-geojson-data

data fetching:

review data fetching in the whole application.

Closing for no longer being relevant


fix: LEAP-252: Use standard error message for Async Taxonomy errors

PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[ ] Tests for the changes have been added/updated (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[x] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[x] Frontend

Describe the reason for change
The app is not using the default message error box, It's showing a modal box blocking all the UI when it shows
What does this fix?
It's being changed the way that the error is being shown from the modal box that is blocking the UI to the default message error box in red that hide the tags and just show the error detailed.
What libraries were added/updated?
none
Does this change affect performance?
no
Does this change affect security?
no
What alternative approaches were there?
no
What feature flags were used to cover this change?
fflag_feat_front_lsdv_5451_async_taxonomy_110823_short
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[x] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[ ] e2e
[ ] integration
[ ] unit

Codecov Report
Attention: 2 lines in your changes are missing coverage. Please review.

Files
Coverage Δ

src/tags/control/Taxonomy/Taxonomy.js
66.51% <0.00%> (-11.37%)
:arrow_down:

... and 224 files with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!.

/git merge master


Truffle throw error when compiling correctly written sol.

error when:
modifier onlyBefore(uint _time) { if (now >= _time) throw; _ ;}
working variant:
modifier onlyBefore(uint _time) { if (now >= _time) throw; _ }
must to be: http://solidity.readthedocs.io/en/develop/common-patterns.html?highlight=modifiers#restricting-access

This is because Truffle still uses < 0.4.0 of solc.

Thanks Simon. I will be bumping solc today.
On Oct 12, 2016 2:06 AM, "Simon de la Rouviere"<EMAIL_ADDRESS>wrote:

This is because Truffle still uses < 0.4.0 of solc.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ConsenSys/truffle/issues/285#issuecomment-253159285,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAFp1YoCkDDCXc8Lp9W_aAfgmQGFbHIPks5qzKMPgaJpZM4KJuK-
.

@tcoulter I tested the new release 2.1.0, now the error is inverted.
Even if the #pragma statement is not specified _; works and _ without the
semicolon raises an error

Which error? I'm assuming that's an error coming from solc, in which case you'll have to go to them. I don't think the newest solc supports backwards compatibility based on the pragma statement.

@tcoulter you are right, the error is Error: Expected token Semicolon got 'RBrace' and it comes from solc. I got the same error manually compiling the contract using solc.

I'm going to close this issue. If you're still running into trouble please open a new one.


Fix linebreaks in FAQ

Markdown either needs an empty new line or a trailing \ to enforce linebreaks
Before:

After:

bors r+


chromium: 55.0.2883.75 -> 55.0.2883.87

Motivation for this change
security update
please also backport to stable
Things done

Built on platform(s)

[x] NixOS

[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

And now?

all set


feat: added text to the renderd ssr

resolves: #79
{
  "html": "<!DOCTYPE html> ...",
  "text": "Welcome John Doe"
}

[x] Can generate plaintext along side html now
[x] update docs
[x] convert plainText to just text for easiness

Closed in favor of a new update to the monorepo, will create a pr when we have that


No Visio file ?

Great  resource but the link to download the Visio file is missing on this page.
Thank you

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

ID: 104eba32-c77e-b013-e161-ff616d16a0f7
Version Independent ID: 3bc27d0a-ef32-f5f6-4c85-fe8e2e45155e
Content: Hub-spoke network topology in Azure - Azure Reference Architectures
Content Source: docs/reference-architectures/hybrid-networking/hub-spoke.yml
Service: architecture-center
Sub-service: reference-architecture
GitHub Login: @EdPrice-MSFT
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 522131

It appears the Visio diagram is available.  If assistance is still needed, please re-open with additional details.


Add new Helm installation method in ChaosCenter UI & API for deploying Chaos Infrastructure

Add new Helm installation method in ChaosCenter UI & API for deploying Chaos Infrastructure
Basically, with this enhancement, ChaosCenter will be able to show commands for helm installation in UI with proper infraID, AccessKey & other values to be set based on inputs provided by user.

Hello @Jonsy13 Sir
I want to work on this issue. Please assign it to me
Thank you

Thanks @andoriyaprashant for showing interest in working on this issue. Have assigned you now!

@andoriyaprashant are you still working on this issue?


Fix SA1132

Fixes #1553
Fixes #1554

I don't think this is behaving as you expected for the following [invalid] syntax:
int a, = 3;

In this scenario, the VariableDeclaratorSyntax is not missing, but its child identifier token is.

updated

Current coverage is 78.63%

Merging #1559 into master will increase coverage by +1.32% as of 0812386

@@            master   #1559   diff @@
======================================
  Files          531     522     -9
  Stmts        32235   31404   -831
  Branches      8833    8841     +8
  Methods          0
======================================
- Hit          24924   24695   -229
- Partial       5165    5169     +4
+ Missed        2146    1540   -606

Review entire Coverage Diff as of 0812386

Powered by Codecov. Updated on successful CI builds.

:+1:


[pulsar-broker]Fix: race condition while deleting global topic

Motivation
When client removes local-cluster from the replication-cluster-list, broker deletes the topic from that cluster. However, sometime due to race-condition when broker receives multiple zk-watch for policies update, broker doesn't fence topic safely which allows multiple threads to delete the same topic. In that case, first thread successfully deletes the topic and second thread fails and keep retrying to delete the same topic continuously and logs below error message.
18:41:00.190 [bookkeeper-ml-workers-OrderedExecutor-5-0] ERROR org.apache.pulsar.broker.service.persistent.PersistentTopic - [persistent://my-prop/global/my-namespace/8:] Error deleting topic
org.apache.bookkeeper.mledger.ManagedLedgerException$MetaStoreException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode
Caused by: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode
        at org.apache.zookeeper.KeeperException.create(KeeperException.java:114) ~[pulsar-broker-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.mledger.impl.MetaStoreImplZookeeper.lambda$null$108(MetaStoreImplZookeeper.java:325) ~[managed-ledger-original-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.mledger.util.SafeRun$1.safeRun(SafeRun.java:32) [managed-ledger-original-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36) [bookkeeper-common-4.7.2.jar:4.7.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [pulsar-functions-metrics-2.2.8-yahoo.jar:?]
        at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
18:41:00.190 [bookkeeper-ml-workers-OrderedExecutor-5-0] ERROR org.apache.pulsar.broker.service.persistent.PersistentTopic - [persistent://my-prop/global/my-namespace/8:] Policies update failed org.apache.pulsar.broker.service.BrokerServiceException$PersistenceException: org.apache.bookkeeper.mledger.ManagedLedgerException$MetaStoreException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode, scheduled retry in 60 seconds
java.util.concurrent.CompletionException: org.apache.pulsar.broker.service.BrokerServiceException$PersistenceException: org.apache.bookkeeper.mledger.ManagedLedgerException$MetaStoreException: org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = NoNode
        at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:292) ~[?:1.8.0_181]
        at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:308) ~[?:1.8.0_181]
        at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:647) ~[?:1.8.0_181]
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632) ~[?:1.8.0_181]
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) ~[?:1.8.0_181]
        at java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:1977) ~[?:1.8.0_181]
        at org.apache.pulsar.broker.service.persistent.PersistentTopic$4.deleteLedgerFailed(PersistentTopic.java:782) ~[pulsar-broker-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl$17.operationFailed(ManagedLedgerImpl.java:2010) ~[managed-ledger-original-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.mledger.impl.MetaStoreImplZookeeper.lambda$null$108(MetaStoreImplZookeeper.java:325) ~[managed-ledger-original-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.mledger.util.SafeRun$1.safeRun(SafeRun.java:32) [managed-ledger-original-2.2.8-yahoo.jar:2.2.8-yahoo]
        at org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36) [bookkeeper-common-4.7.2.jar:4.7.2]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_181]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_181]
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [pulsar-functions-m

Modification

Fence topic safely and handle topic-already-deleted exception successfully.

run java8 tests

run java8 tests

rerun java8 tests

rerun integration tests

rerun java8 tests

rerun integration tests
rerun java8 tests

rerun integration tests
rerun java8 tests

rerun integration tests

rerun java8 tests
rerun integration tests

run java8 tests
run integration tests

rerun java8 tests

rerun integration tests

rerun java8 tests


FZ editor: VS clean command doesn't correctly clean all files

Currently we don't clean all files for FZE, which causes it to not be built correctly:

we should remove "Generated Files" and "obj" dirs from
PowerToys\src\modules\fancyzones\editor\FancyZonesEditor

I think this happen after the porting from 4.7.2 to core 3.1

We should consider deleting all the GeneratedFiles folders when cleaning the build.

@yuyoyuppe is this issue still relevant for the latest PowerToys release?
/needinfo


add onInputType function to update suggestions list

Is your feature request related to a problem? Please describe.
I want to be able to update the suggestions as i type on the input form
Describe the solution you'd like
add a onInputType that called after user change the search value
Additional context
I need to update the suggestions list that will be retrieved from backend

Hello @arifikhsan, thanks for the feature request, I have been thinking about this and we recently had a discussion here https://github.com/maheshmnj/searchfield/issues/78.
Please follow up on that issue for further updates closing this issue as a duplicate.
Thank you.

allright thank you so much @maheshmnj


I get SyntaxError with the "const body" line

I'm getting this error caused by the line:
const body = JSON.stringify({ foo: "bar", ...originalBody })
"Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0"
...and anything else I try there just gives me a 500 page error. Any ideas how to fix this?

Okay, I just use
  const originalBody = await originalResponse.text()
...replacing .json() with .text() and then proceed working with text instead of json.


How to check if elf is statically linked?

I want to check if an elf object is statically linked.
I've found Object::kind, however I'm not sure which variants in ObjectKind refers to a statically linked.

There's nothing in the unified API, and even ObjectKind isn't completely accurate.
For now, you'll need to use the lower level ELF APIs to read the ELF header flags and the program headers (e.g. check for PT_INTERP and/or PT_DYNAMIC, I don't know what the exact check is).

Thanks for the quick reply!
I found that goblin supports getting program header https://docs.rs/goblin/latest/goblin/elf/struct.Elf.html and have PT_INTERP defined in the crate

goblin is certainly the easiest way to do it, but if all you want is to check if it is statically linked then it's doing a lot of parsing that you don't need. I don't know if that matters.

For cargo-binstall, most of the time is spent on network and the elf shouldn't be too big, so I think it should be ok


Feature: Limit nodes report list to failed and changed status

I've been using puppetboard for a while, and I want to see when nodes where changed rather than seeing that my nodes have been unchanged for the last 10 when inspecting the node.
I thought about consolidating the unchanged into counts and time ranges, but then realized that would make the shared macro for displaying reports more complicated and it was already used on the /nodes route.  This is what I whipped up in 15 minutes.

Thank you for your submission, however, I have just created #264 to add more flexible query clauses to the PuppetDB queries for the Nodes and Reports tab based on the value of an optional status HTTP query string argument.


Replace jquery-ui with sortablejs

closes #932
This might use some cleanup, although lint reports no issues. I tried not to break anything, the changeset is pretty small as is.
bundle.vendor.js size for production build with this change is 209kb. The version running on my server is at 245kb - saving over 30kb is probably worthwhile doing.

So this supports touch events, but that seems quite broken. Holding and dragging networks sort of works, but the dragged shadow is offset to the right. Dragging channels does not work because we have a popup (how would we fix this?)

So it seems my initial observation was wrong - we are saving around 12kb, not over 30kb. I guess that's still a noble enough goal to pursue.

So this supports touch events, but that seems quite broken. Holding and dragging networks sort of works, but the dragged shadow is offset to the right.

I'd have to test this on a mobile device...

Dragging channels does not work because we have a popup (how would we fix this?)

I am not sure what this means - what popup?

I am not sure what this means - what popup?

Holding down (or right click) on a channel opens a menu.

@xPaw should the user be able to drag things while the popup is open?

should the user be able to drag things while the popup is open?

I don't know what kind of UX that would produce. cc @astorije

@awalgarg, would you mind rebasing your PR on master and resolving conflicts please?

I tried using dragula, maybe it will be a better impl.
diff --git a/client/css/style.css b/client/css/style.css
index 5a3292d..acc8c31 100644
--- a/client/css/style.css
+++ b/client/css/style.css
@@ -1706,6 +1706,32 @@ kbd {

 /* End tooltips */

+/* Dragula */
+
+.gu-mirror {
+	position: fixed !important;
+	margin: 0 !important;
+	z-index: 9999 !important;
+	opacity: .8;
+}
+
+.gu-hide {
+	display: none !important;
+}
+
+.gu-unselectable {
+	-webkit-user-select: none !important;
+	-moz-user-select: none !important;
+	-ms-user-select: none !important;
+	user-select: none !important;
+}
+
+.gu-transit {
+	opacity: .2;
+}
+
+/* End dragula */
+
 /**
   * IRC Message Styling
   * https://github.com/megawac/irc-style-parser
diff --git a/client/js/lounge.js b/client/js/lounge.js
index 1764a3c..72d02fe 100644
--- a/client/js/lounge.js
+++ b/client/js/lounge.js
@@ -5,7 +5,7 @@ const $ = require("jquery");
 const io = require("socket.io-client");
 const Mousetrap = require("mousetrap");
 const URI = require("urijs");
-const Sortable = require("sortablejs");
+const dragula = require("dragula");

 // our libraries
 require("./libs/jquery/inputhistory");
@@ -1463,48 +1463,40 @@ $(function() {
 	}

 	function sortable() {
-		Sortable.create(document.querySelector(".networks"), {
-			animation: 150,
-			draggable: ".network",
-			handle: ".lobby",
-			onUpdate: function() {
-				var order = [];
-				sidebar.find(".network").each(function() {
-					var id = $(this).data("id");
-					order.push(id);
+		$(".networks").each(function(_, list) {
+			dragula([list], {
+				moves: (el, source, handle) => {
+					return $(handle).parent().hasClass("lobby");
+				}
+			}).on("drop", () => {
+				const order = sidebar.find(".network").map(() => {
+					return $(this).data("id");
+				});
+
+				socket.emit("sort", {
+					type: "networks",
+					order: order
 				});
-				socket.emit(
-					"sort", {
-						type: "networks",
-						order: order
-					}
-				);

 				ignoreSortSync = true;
-			}
+			});
 		});
-		$(".network .channel-list").each(function(_, list) {
-			Sortable.create(list, {
-				animation: 150,
-				handle: ".name",
-				draggable: ".chan",
-				onUpdate: function(e) {
-					var order = [];
-					var network = $(e.item).parent().parent();
-					network.find(".chan").each(function() {
-						var id = $(this).data("id");
-						order.push(id);
-					});
-					socket.emit(
-						"sort", {
-							type: "channels",
-							target: network.data("id"),
-							order: order
-						}
-					);

-					ignoreSortSync = true;
-				}
+		$(".network .channel-list").each(function(_, list) {
+			dragula([list]).on("drop", (el, container) => {
+				const network = $(container).parent();
+
+				const order = network.find(".chan").map(() => {
+					return $(this).data("id");
+				});
+
+				socket.emit("sort", {
+					type: "channels",
+					target: network.data("id"),
+					order: order
+				});
+
+				ignoreSortSync = true;
 			});
 		});
 	}
diff --git a/package.json b/package.json
index 1645450..9c04e80 100644
--- a/package.json
+++ b/package.json
@@ -55,7 +55,6 @@
     "request": "2.81.0",
     "semver": "5.3.0",
     "socket.io": "1.7.3",
-    "sortablejs": "1.5.1",
     "spdy": "3.4.4"
   },
   "devDependencies": {
@@ -63,6 +62,7 @@
     "babel-loader": "6.4.1",
     "babel-preset-es2015": "6.24.1",
     "chai": "3.5.0",
+    "dragula": "3.7.2",
     "eslint": "3.19.0",
     "font-awesome": "4.7.0",
     "handlebars": "4.0.6",
diff --git a/webpack.config.js b/webpack.config.js
index ed3d587..b24320e 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -11,9 +11,9 @@ let config = {
 	entry: {
 		"js/bundle.js": path.resolve(__dirname, "client/js/lounge.js"),
 		"js/bundle.vendor.js": [
+			"dragula",
 			"handlebars/runtime",
 			"jquery",
-			"sortablejs",
 			"mousetrap",
 			"socket.io-client",
 			"urijs",

bump @awalgarg? Thoughts on dragula > sortable?

Hi. Haven't been getting much time due to exams and work. I'd probably not be able to look at this until the end of this month. Apologies!

Closing due to lack of interest, sorry everyone :(


Fix for similarity_search_with_score

Description: the implementation for similarity_search_with_score did not actually include a score or logic to filter. Now fixed.
Tag maintainer: @rlancemartin
Twitter handle: @ofermend

thanks @ofermend!


Create report stack to fix browser history issues on web

<If necessary, assign reviewers that know the area or changes well. Feel free to tag any additional reviewers you see fit.>
Details

Fixed Issues

Fixes GH_LINK
Tests

QA Steps

Tested On

[ ] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

Mobile Web

Desktop

iOS

Android

Closing this one as well in favor of https://github.com/Expensify/Expensify.cash/pull/2458


Ability to open spotify: and https://open.spotify.com/ links

Is your feature request related to a problem? Please describe.
I would really like to open spotify: and https://open.spotify.com/ links in Psst instead of having to find the track/playlist/album/artist based on title.
Describe the solution you'd like
I think one solution might be to use a named local socket, using something like https://docs.rs/interprocess . The first running Psst instance would set up a socket and listen for Protobuf, JSON-RPC or some other simple protocol, for commands on what to do. Another Psst instance, with a specific command line - say --url spotify:playlist:xxx would connect to that socket, send a command and terminate.
Describe alternatives you've considered
Another option could be to have the Psst window be a drop-target for text, RegExp match on the text being dropped, and recognize a https://open.spotify.com/ text, parse it, and show/play whatever the link directs to.
Additional context
Having a named socket would open up the possibility of other integrations with Psst, like Stream Decks and such. I suppose that's already somewhat possible using global media hotkeys, but those are always at the mercy of the OS.

This sounds like a great initiative, I've wanted to handle these links as well but it does require a listener for opening the applications. I think pasting Spotify links into the search bar does direct to the proper album/song.

Potential duplicate of #159 ?
open.spotify.com links do indeed work in the search bar for the time being. I regularly open songs/albums in Psst by pasting links shared to me into the search bar. However, playlist URLs do not work (#565)