STM32U5 consumes more current using power management

Describe the bug
I am using nucleo_u575zi_q board. I want to implement shutdown mode using power management scheme and wake up the MCU using an external interrupt. For starters I am testing  zephyr\samples\boards\stm32\power_mgmt\blinky example to test the basic power management. I am using zephyr 3.10 version.
I created power states nodes in nucleo_u575zi_q.dts file (since nodes were not present there).
power-states {
stop0: state0 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <1>;
min-residency-us = <100>;
};
stop1: state1 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <2>;
min-residency-us = <500>;
};
stop2: state2 {
compatible = "zephyr,power-state";
power-state-name = "suspend-to-idle";
substate-id = <3>;
min-residency-us = <900>;
};
&cpu0 {
cpu-power-states = <&stop0 &stop1 &stop2>;
};
In the blinky proj.conf file following is the configuration I have:
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_CONSOLE=n
CONFIG_SERIAL=n
Expected behavior
When CONFIG_PM is set to y, the MCU should consume low power than what it would consume in active state (CONFIG_PM=n).
Observation
If
CONFIG_PM=y
CONFIG_PM_DEVICE=y
CONFIG_PM_DEVICE_RUNTIME=y
CONFIG_CONSOLE=n
CONFIG_SERIAL=n
Current Consumption = 12.8 mA
LED stops blinking
If
CONFIG_PM=n
CONFIG_PM_DEVICE=n
CONFIG_PM_DEVICE_RUNTIME=n
CONFIG_CONSOLE=n
CONFIG_SERIAL=n
Current Consumption = 7.3 mA
LED is blinking after every 2 seconds
**
Impact
High
Environment (please complete the following information):

OS:  Windows
Toolchain Zephyr SDK V 3.10

@vibhor-meshram Did you enable lptim node in order to use it as a LP ticker ?
&clk_lse {
	status = "okay";
}

&lptim1 {
	clocks = <&rcc STM32_CLOCK_BUS_APB3 0x00000800>,
		 <&rcc STM32_SRC_LSE LPTIM1_SEL(3)>;
	status = "okay";
};

Hi @erwango I added the above nodes. No change in in output. Adding my dts file for your reference.
nucleo_u575zi_q-common.txt

@vibhor-meshram I'm closing the point as can't be reproduced. Please re-open if you have more inputs.


Remove or update http://leafo.net/scssphp

The website http://leafo.net/scssphp is outdated, but it is still shown first in Google.
It would be a shame for such a great library when people are disappointed because of the old version.
It would be great when the website is updated or forwarded to new github.io page.

I had the same problem! When I looked for preset variables I was confused, because I couldn't find it in the documentation. It took a while until I realized there were two official sites and I was on the outdated one.
So please, either update http://leafo.net/scssphp or remove.

+1

http://leafo.net/scssphp is always the first.

+1. And even worse, version 0.0.12 works on some servers and does not on others. This drove me crazy. I even tried to debug the library

@leafo This causes a lot of confusion and really should be addressed ASAP. I would recommend just having http://leafo.net/scssphp redirect to https://leafo.github.io/scssphp.

http://leafo.net/scssphp/ shows docs for v0.12
while https://leafo.github.io/scssphp/ seems to have latest docs (v0.6.5)
it took me hours to know that i was reading outdated documentation.

<?php
require "scssphp/scss.inc.php";
$scss = new scssc();

echo $scss->compile('
  $color: #abc;
  div { color: lighten($color, 20%); }
');

Above code never worked for me because i have installed 0.6.5.

+1

nice, totally wasted half an hour because of this stuff. This bug seems to be very hard to fix :D

Hello
bug always present :) Should be nice to do a simple redirection to github pages
Thanks a lot

How is this still an open bug? 😄

I think only @leafo as the ability to fix that :)


Save updates - include version; include notification

Includes updates for:

https://trello.com/c/jpScBhhz/228-5-ui-update-save-to-use-updated-api
https://trello.com/c/gZVZ2XEN/212-3-rfe-add-notifications-when-recipe-is-saved

Save was updated to include version number so that
version is automatically incremented, then recipe details
are reloaded to display new version number. Version number
is now visible in the Edit Recipe header.
Notifications were updated to include messages for save;
messages were also refactored; close function was updated
to accept either a message index or message label; notifications
component was also updated to support all message types (e.g.
warning, error, info).

Revision field is able to be increased and refreshed when save button clicked, which is mentioned on https://github.com/weldr/bdcs-api-rs/pull/38.
Comment is not implemented on UI.
Notification works well when save button clicked.

This fixes issue #48


rename servicediscovery pacakge to nameresolution

servicediscovery is not an appropriate name for the package as it doesn't conduct service discoveries but name resolutions.

@Haishi2016 Is it only in code? If yes, could you add priority to it. PS. not closing it and asking clarification :)

We need to check docs as well.

@yaron2 @amanbha @yolember @msfussell @orizohar Any objections to change the servicediscovery to nameresolution ? it may require to change component-contrib as well.

@youngbupark  LGTM, no objections


Fix the misalignment between mosi and miso

@ivmarkov this pr is about the issue of eth w5500 not work


Can't compile on OS X

Hey there! Tried to give this a shot on compiling on OS X, but no dice yet. I installed openfst using brew, if that's of any help:
Right now i'm stuck on trying to compile the library:
g++ -O2 -I3rdparty/sparsehash -I3rdparty/utfcpp -c Phonetisaurus.cpp -o Phonetisaurus.o
In file included from Phonetisaurus.cpp:39:
In file included from ./Phonetisaurus.hpp:36:
In file included from ./MBRDecoder.hpp:33:
3rdparty/sparsehash/google/dense_hash_map:106:10: fatal error: 'tr1/functional' file not found
include HASH_FUN_H // defined in config.h
^
3rdparty/sparsehash/google/sparsehash/sparseconfig.h:10:20: note: expanded from macro 'HASH_FUN_H'
define HASH_FUN_H
^
1 error generated.
make: *** [Phonetisaurus.o] Error 1
Any ideas? :D

+1 in Yosemite, looks like the folks from jasper also have this problem: https://github.com/jasperproject/jasper-client/issues/35#issuecomment-65497426
I guess apple gcc doesn't have experimental tr1/functional, I tried using g++5 from homebrew but it still doesn't help. Looking for other solution...

any progress on this? Im having the same problem.

Unfortunately not jskye :(
There doesn't appear to be any way to compile this on Yosemite at the moment..

I have the same problem with Mavericks.
@astahlman and @the01 seem to have got it working here.
Similar problems seem to be solved by compiling with c++11 flag solves because it includes this library, but i haven't got it working myself by adding the flags into the makefile.

This worked for me in Yosemite:
sudo brew install homebrew/science/opengrm-ngram
then download phonetisaurus-0.7.8.tgz
in src/3rdparty/sparsehash/google/sparsehash/sparseconfig.h  change line 10 to
#define HASH_FUN_H
and line 13  to
#define HASH_NAMESPACE std

I got it to compile by changing a few flags in the make file, such as pointing it to homebrew libraries.
Here are some notes I made at the time of what edits I made on the makefile and sparseconfig which robert-boulaneger mentioned above . I don't really know what I'm doing, but hey it compiled!
Install Deps
>> brew install homebrew/science/openfst
>> brew install homebrew/science/opengrm-ngram

Make phonetisaurus compile on OSX
>> edit src/Makefile to point to fst/fstlib.h
## Point to python 2.7 on system (homebrew)
-- PYTHON_H=/usr/include/python$(VERSION)
++ PYTHON_H=/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/include/python$(VERSION)
## Point to Openfst include
-- THIRD_PARTIES_INCLUDE ?= -I3rdparty/sparsehash -I3rdparty/utfcpp -I3rdparty/rnnlm
++ THIRD_PARTIES_INCLUDE ?= -I3rdparty/sparsehash -I3rdparty/utfcpp -I3rdparty/rnnlm -I/usr/local/Cellar/openfst/1.5.0/include
## Point to Openfst libs (libfst.dylibs)
-- LIBS=-lfst -ldl -lm -Wall -Wno-sign-comp
++ LIBS=-L/usr/local/Cellar/openfst/1.5.0/lib/ -lfst -ldl -lm -Wall -Wno-sign-compare
## use different std libraries (or something?)
-- CFLAGS ?= -O2
++ CFLAGS ?= -O2 -std=c++11 -std=stdlib=libc++
## This compile uses different flags, so change those too
-- $(CC) -O3 -fPIC -I3rdparty/sparsehash -I. -I3rdparty/utfcpp -I3rdparty/utfcpp -lfst -lfst -lm -ldl -funroll-loops -ffast-math -lm -fPIC -w -c 3rdparty/rnnlm/rnnlmlib.cpp
++ $(CC) -O3 -std=c++11 -stdlib=libc++ -fPIC -I3rdparty/sparsehash -I. -I3rdparty/utfcpp -I3rdparty/utfcpp -I/usr/local/Cellar/openfst/1.5.0/include -lfst -lfst -lm -ldl -funroll-loops -ffast-math -lm -fPIC -w -c 3rdparty/rnnlm/rnnlmlib.cpp
## Ditto
-- RnnLMPy-binding.o: RnnLMPy-binding.cc
--	$(CC) -O3 -fPIC -funroll-loops -ffast-math -lm -I. -I3rdparty/utfcpp -I3rdparty/sparsehash -I3rdparty/rnnlm -I$(PYTHON_H) -c $(<) -o $(@)
++ RnnLMPy-binding.o: RnnLMPy-binding.cc
++	$(CC) -O3 -std=c++11 -stdlib=libc++ -fPIC -funroll-loops -ffast-math -lm -I. -I3rdparty/utfcpp -I3rdparty/sparsehash -I3rdparty/rnnlm -I/usr/local/Cellar/openfst/1.5.0/include -I$(PYTHON_H) -c $(<) -o $(@)
## Again
-- $(LIBDIR)/librnnlm.so: RnnLMPy-binding.o util.o
--	$(CC) -Wl,-soname,librnnlm.so.0 -shared -lfst RnnLMPy-binding.o \
++ $(LIBDIR)/librnnlm.so: RnnLMPy-binding.o util.o
++	$(CC) -Wl,-soname,librnnlm.so.0 -shared -L/usr/local/Cellar/openfst/1.5.0/lib/ -lfst RnnLMPy-binding.o \
## Again
-- $(LIBDIR)/librnnlm.dylib: RnnLMPy-binding.o
--	$(CC) -Wl,-install_name,librnnlm.so -shared -lc -lfst RnnLMPy-binding.o util.o \
++ $(LIBDIR)/librnnlm.dylib: RnnLMPy-binding.o
++	$(CC) -Wl,-install_name,librnnlm.so -shared -lc -L/usr/local/Cellar/openfst/1.5.0/lib/ -lfst RnnLMPy-binding.o util.o \
## Point to includes
-- Phonetisaurus-binding.o: Phonetisaurus-binding.cc
--	$(CC) $(LIBS) -O3 -fPIC -funroll-loops -ffast-math \
--	-I. -I3rdparty/sparsehash -I3rdparty/utfcpp -I$(PYTHON_H) $(LIBS) -c $(<) -o $(@)
++ Phonetisaurus-binding.o: Phonetisaurus-binding.cc
++	$(CC) $(LIBS) -O3 -std=c++11 -stdlib=libc++ -fPIC -funroll-loops -ffast-math \
++	-I. -I3rdparty/sparsehash -I3rdparty/utfcpp -I/usr/local/Cellar/openfst/1.5.0/include -I$(PYTHON_H) $(LIBS) -c $(<) -o $(@)
## Again
-- $(LIBDIR)/libphonetisaurus.so: Phonetisaurus-binding.o util.o
--	$(CC) $(LIBS) -Wl,-soname,libphonetisaurus.so.0 -shared -lfst Phonetisaurus-binding.o \
--	util.o -I. -o $(LIBDIR)/libphonetisaurus.so -O3 -fPIC -funroll-loops -ffast-math $(LIBS)
++ $(LIBDIR)/libphonetisaurus.so: Phonetisaurus-binding.o util.o
++	$(CC) $(LIBS) -Wl,-soname,libphonetisaurus.so.0 -shared -lfst Phonetisaurus-binding.o \
++	util.o -I. -o $(LIBDIR)/libphonetisaurus.so -O3 -std=c++11 -stdlib=libc++ -fPIC -funroll-loops -ffast-math $(LIBS)
## One More
-- $(LIBDIR)/libphonetisaurus.dylib: Phonetisaurus-binding.o util.o
--	$(CC) -Wl,-install_name,libphonetisaurus.dylib -shared -lc -lfst Phonetisaurus-binding.o \
--	-I. util.o -o $(LIBDIR)/libphonetisaurus.dylib -O3 -fPIC -funroll-loops \
--	-ffast-math -lm -lpython$(VERSION)
++ $(LIBDIR)/libphonetisaurus.dylib: Phonetisaurus-binding.o util.o
++	$(CC) -Wl,-install_name,libphonetisaurus.dylib -shared -L/usr/local/Cellar/openfst/1.5.0/lib/  -lc -lfst Phonetisaurus-binding.o \
++	-I. util.o -o $(LIBDIR)/libphonetisaurus.dylib -O3 -std=c++11 -stdlib=libc++ -fPIC -funroll-loops \
++	-ffast-math -lm -lpython$(VERSION)

>> edit src/3rdparty/sparsehash/google/sparsehash/sparseconfig.h
-- #define HASH_FUN_H <tr1/functional>
++ #define HASH_FUN_H <functional>
-- #define HASH_NAMESPACE std::tr1
++ #define HASH_NAMESPACE std
>> edit src/3rdparty/rnnlm/rnnlmlib.h
-- #include <tr1/unordered_map>
++ #include <unordered_map>
-+ replace instances of std::tr1::unordered_map with std::unordered_map
>> edit src/PhonetisaurusRex.h
-+ find and delete instances of tr1/ and tr1:: in the text

check out #8 for OS X El Capitan

This should be resolved thanks to @jtrmal pull request: https://github.com/AdolfVonKleist/Phonetisaurus/pull/16


Break ReLu functionality

Artificial commits to break ReLu functionality as part of ramp-up task. The previous change didn't deterministically cause tests to fail and this one should.

Duplicate with #1437 .

Thanks @RoARene317 for finding the duplicate. We are aware of the duplication. This kind of PRs (usually labeled with "dontmerge") are mainly for testing purposes.


[Bug] Can't download PDF file if file name in Chinese character set

Is there an existing issue for this?

[X] Yes, I have searched the existing issues and none of them match my problem.

Product Variant
Cloud (https://rxresu.me)
Current Behavior
After testing, I can't download a PDF file if the filename is in the Chinese character set(just opened a about:blank page of the browser tab), but I can download it if the filename is in English.
BTW: The JSON file download request is processed normally.
Expected Behavior
Supports a wide range of character sets
Steps To Reproduce
No response
What browsers are you seeing the problem on?
No response
What template are you using?
None
Anything else?
No response

I want to confirm that I am experiencing the same issue, but with files whose names contain Spanish characters (accents, ñ, etc.). When I try to download the file, the browser simply shows a blank page (about:blank), and the file doesn't download correctly.
However, if the filename is in English (without special characters), the download works fine. In my case, downloading JSON files works without any issues, just like in the original report.
It seems like the problem is related to how special characters (non-ASCII) are being handled in the filenames. Is there any solution or update available for this?
Thanks in advance.
@imbennie  @AmruthPillai

I am also experiencing this, any solutions?
Thanks

I am also experiencing this with russian letters, any solutions? Thanks

Rename the filename with English characters so it will be download to your computer.


Create read-from-mailslot.yml

Looks like it failed for no sample provided.  Because reasons, I can't supply that.  Possible to skip?

could we use VT to find an alternative sample? Otherwise let's move the rule to the nursery until we can find a test case.

(for future reference, no need to provide references to non-public samples. feel free to update the PR to redact that if you'd like.)

Removed example and moved to nursery.  Will work on compiling a sample we can use for linting


refactor(core): remove underscore-mixins dep

ref #52

The build is failing
Cc @Siilwyn

Having a weird way of passing parameters...
#justcoffeescriptthings

@hisabimbola check what it's failing on now. ^^ It should pass but order of the object keys is different.

@hisabimbola it seems we've uncovered a bigger issue possibly because of an SDK update which should've been major?

Coverage increased (+0.05%) to 94.0% when pulling 829f8c35c7e2c50a967bb1b316148095b37c1ff7 on remove-mixins-dep into e41942337eb46e56d0bb587305c535ecfe75a565 on master.

I think the CI is cursed.

Aaand I can't replicate this. :/


Build scripts make assumptions about packaging requirements

I am the maintainer for the AUR package of promscale.
The build scripts used are Debian-specific, and leave no wiggle room for other distributions.

The binary path in the systemd service is assumed to be /usr/local/bin/promscale which is incorrect.
The systemd service file is installed to /etc/systemd/system/promscale.service is also incorrect. Distributions must install it to /usr/lib/systemd/system, leaving users/sysadmins the ability to use their own replacements in /etc/systemd/system.
The parameter EnvironmentFile in the systemd service file is considered a bad idea by it's creator (refs: 1, 2), and alternative methods are preferred.

@grawlinson Thank you. cc @antekresic who is in charge of the build scripts. Am I correct in thinking https://aur.archlinux.org/cgit/aur.git/tree/systemd.service?h=promscale is the systemd definition you wrote and prefer?

I wrote that, and I can confirm it works without issue. Arch Linux packaging requirements is to keep packages as close to upstream as possible.
I’m not 100% familiar with Debian packaging requirements, but here is a good reference.

Hi @grawlinson, thanks for reporting this. I have taken your points into consideration and will try to improve upon them. However, could you clarify this:

The binary path in the systemd service is assumed to be /usr/local/bin/promscale which is incorrect.

As far as I can tell, that's the correct path where promscale binary is stored. Could you expand on this?
Thanks.

@antekresic https://unix.stackexchange.com/questions/8656/usr-bin-vs-usr-local-bin-on-linux implies that package-managed binaries should go into /usr/bin not /usr/local/bin?

@cevian Ah right... /usr/local/bin is the default path for goreleaser, I'll change it to /usr/bin and add this to my PR.

@antekresic  do we like the drop-in approach https://kinvolk.io/docs/flatcar-container-linux/latest/setup/systemd/environment-variables/ instead of EnvironmentFile. Are there other options you'd recommend @grawlinson ?

Personally, I don't think current setup limits our users since you can edit systemd units and add your custom configuration that way (instead of editing the installed configuration file).
Configuration file setup that we have right now is an easy and convenient way to configure Promscale by simply editing a file and changing some values. I'm not entirely convinced we should be changing that setup at all right now.

I've merged a PR addressing the first two points of this issue. Feel free to reopen and discuss the third point if necessary so we can address that too.


Fix FE suggestion

Is your feature request related to a problem? Please describe.
nest-frontend  | Instead of /public/img/owasp_icon_white_sm.png, use /img/owasp_icon_white_sm.png.
Describe the solution you'd like
Use it in the suggested way

@arkid15r please help assign this to me ..
Thanks !

Probably fixed in https://github.com/OWASP/Nest/commit/31626655b0cb5ea68ccbcc9f4bbb874496c6b83c


Issues consuming Globalize as a library

Hi there again :wave:
I'm back with some residual concerns from the long closed: https://github.com/globalizejs/globalize/issues/441. I've attempted more than a few times to support Globalize as a i18n option in react-widgets with some hardship. The strategy in RW is to allow pluggable localizers, so I don't have to tie folks to a particular i18n choice. However i've found that helping folks use<EMAIL_ADDRESS>the right way is really really hard.
localizers look a bit like this:
export default function(Globalize) {
  setLocalizer({
    date: Globalize.dateFormatter({ date: 'short' }),
    time: Globalize.dateFormatter({ time: 'medium' }),
  })
}

The consumer of react-widgets picks the localizer they want passes Globalize to it and react -widgets sets up and uses those formatters for it's internal needs. The part about passing Globalize to it is important, because I don't want to require users to use globalize or ship extra code to them. Given how npm and peer deps work, the cleanest way to do that is to not have a dependency on globalize directly.
This leads the the following issues:

There isn't any good way for me to provide compiled formatters for the formats I use internally to a user without compiling them to every single locale.
Users can't easily compile them, via the webpack plugin,  because my code is in node_modules and doesn't import Globalize (the plugin only extracts from files requiring globalize)

This places me in a spot where i need to provide extremely bespoke instructions on how to manually install and compile these files. at which point its hard to recommend Globalize anymore.
I'd really love to figure out how to make this experience better, Globalize is a great project and it stinks when folks give up on it when it's hard to use. The WebpackGlobalizePlugin is a good start, but as soon as it doesn't cover one edge, you are forced to bail out and write everything yourself, and there is very little documentation covering what is needed to work. The compiler is also cool but feels neglected at this point.
I'd be happy to help where I can, i've already built out a babel plugin to extract formatters which is more like how react-intl works.

Hi @jquense. Hopefully I'm not jumping in out of turn and @rxaviers can tell me to be quiet if he likes 😉  but I just happened to see this email pop up and wanted to comment.
Globalize really needs help and you sound like someone who has a good understanding of the project and a desire to make it better which is the perfect combination. You mention a number of places where things are "too hard" or in need of more documentation and I know this project would love help in those areas. I think this issue is great for context as to how you've come across these problems but I think what may be more helpful are smaller, more specific issues for each of those trouble spots you see where a user's understanding falls apart and could be helped by better documentation or even improvements to the API. With more consumable issues like that, it will be easier for folks like @rxaviers and @alunny and @jzaefferer to review, comment and discuss them and give direction on how you can further contribute.
I realize this doesn't immediately solve your issue but I think a more solid project with better documentation serves everyone better and provides for more users which some then become contributors and the project just keeps getting better. Happy to help with further guidance where I can and I'll step back and let the real project members jump in. Thanks!

Thank you @jquense for bringing these points up to us and @kborchers for your reply.
@jquense, as Kris said your help to the project is very welcome...

because I don't want to require users to use globalize or ship extra code to them

It seems like a good approach to me.

There isn't any good way for me to provide compiled formatters for the formats I use internally to a user without compiling them to every single locale.

Right. You could use globalize-compiler to generate the pre-compiled formatters, but I agree that isn't ideal. Note, globalize-compiler will parse fine your Globalize calls (static methods), but wouldn't for any instance calls (not supported yet*). (*: no plan to do so, but patches are welcome).
By the way, src/localizers/globalize.js (even on 4.0.0-beta-5) seems to be using Globalize 0.x, not 1.x. Do you have any code publicly available using Globalize 1.x so that I can see please?

Users can't easily compile them, via the webpack plugin,  because my code is in node_modules and doesn't import Globalize (the plugin only extracts from files requiring globalize)

Right, although I have an idea, see below.
For context, the webpack plugin only extracts from files requiring globalize for efficiency and safety. In theory, it could try extracting from all files, but the chances of extracting zero formatters from a file that doesn't require globalize is high. :) Anyway:
What if you moved your localizers away from react-widget, so you can define/list their dependencies in its own package.json and put a require there. There could be a react-widget-globalize-localizer package that is exactly what you have in mind with the exception that it require('globalize') and have it listed as a dep in its package.json. The developer would import 'react-widget-globalize-localizer' and pass it to react-widget as an argument. The only change he would probably have to make in his webpack config is to whitelist react-widget-globalize-localizer from his node_modules excludes.
Does that make sense? What do you think?
Otherwise, what changes would you like to see in order to enable your use case?

@jzaefferer could have ideas here as well since he has experience with both jQueryUI and Globalize. jQueryUI might have the same sort of challenge in its to-be-released datepicker.

thanks for the reply :). Sorry the react-widgets code wasn't up to date here is the latest version
I've thought about (and have at points) split out the localizers into separate packages. the tough bit there is maintainability for me, and ease of use of users. It's nice to not have to download and install extra packages to use the library. That said, tooling can make that easier and it's a good idea i should revisit. I'd be very interested how jQuery UI's datepicker is going to handle this sort of thing.
I think it's just hard to understand what the steps are for setting up an app, apart from env idiosycracies like webpack hating the UMD wrapper ya'll use :P I can't think of some specific issues that i'd like to see changed (or don't know how to change them) but I can, PR stuff to the individual projects as I run into them. Maybe some official direction for what libraries would need to do to not burden users with a lot of lib specific setup, while also making sure we structure code in a way that works neatly with the globalize tooling


Feature Request: Collaboration

Would it be at all possible to add the ability to share a different link that allows for editing, similar to Google Docs? Maybe have the ability to only allow certain Google emails?
I get you are a new developer and I'd love to help in any way I can, but this is a bit above my expertise. I love your product, it competes perfectly with Trello, my team wants to move away from Trello and use your platform, but the lack of collaboration kills it. I'll use be using it though, great job!

Hi! I would also like to use your product, but I also need collaboration!

I agree, this would be a fantastic feature!


AS-Revoke-Azure-AD-User-Session- Playbooks should use lower  privilege

User.ReadWrite.All was previously required but we have User.RevokeSessions.All now which is least privilege option
https://learn.microsoft.com/en-us/graph/api/user-revokesigninsessions?view=graph-rest-1.0&tabs=http

Affected Playbooks:
AS-Revoke-Azure-AD-User-Session-From-Entity
AS-Revoke-Azure-AD-User-Session-From-Incident

Hi @jkerai1 , Could you please provide more details?

@v-visodadasi
The app reg here should be using User.RevokeSessions.All not User.ReadWrite.All
See Least Privilege Table here: https://learn.microsoft.com/en-us/graph/api/user-revokesigninsessions?view=graph-rest-1.0&tabs=http#permissions


#![no_std] compatibility

Some thought will need to go into optimal buffer sizes given multi-part messages, and I would want to look at a better way of building up character data, but this seems doable given demand.

Hello @squidpickles ,
In order to allow for no_std, I suppose you should:

remove the thiserror dependency (or replace the impl for the no_std environment)
disable default features for nom
remove any allocations (you can check the heapless crate) the only issue I see currently, is that in nmea we have a hard limit on message size of 102 characters. So we should see how to handle this for AIS messages.

Hi @elpiel,
Yes, I have started some work on this.
The message size limits do help, but AIS messages can be multipart; people have observed up to 10 parts combined into a single message. I've been thinking about the best way to do this, mainly because there are tradeoffs between covering most use cases efficiently and still having room for the extremes. heapless is a possibility, but still has the problem of needing to allocate larger blocks of memory than needed for the 95% case.
Likely, I'll do an alloc version that retains the Vec, and then see about what to do for no_std.

people have observed up to 10 parts combined into a single message

Yes, we do have some combinations for GNSS message types in nmea too. Maybe we can incorporate the AIS message combination there too?!
I don't really know what messages we should combine though and what information can be collected from multiple messages.
I'm also open to suggestions for features in nmea to allow e.g. usage of ais messages only or gnss messages only.


train_cub_200 example

Signed-off-by: ChengZi<EMAIL_ADDRESS>

Codecov Report

Merging #989 (573225a) into main (97e5fa7) will decrease coverage by 0.05%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #989      +/-   ##
==========================================
- Coverage   68.78%   68.73%   -0.06%
==========================================
  Files         209      209
  Lines        9394     9394
  Branches     1557     1557
==========================================
- Hits         6462     6457       -5
- Misses       2478     2481       +3
- Partials      454      456       +2

Impacted Files
Coverage Δ

towhee/engine/task_scheduler.py
71.60% <0.00%> (-2.47%)
:arrow_down:

towhee/engine/operator_context.py
84.78% <0.00%> (-2.18%)
:arrow_down:

towhee/engine/graph_context.py
90.76% <0.00%> (-1.54%)
:arrow_down:

towhee/dataframe/iterators.py
80.46% <0.00%> (-0.79%)
:arrow_down:

towhee/engine/operator_runner/runner_base.py
93.97% <0.00%> (ø)

towhee/hub/repo_manager.py
81.08% <0.00%> (+0.90%)
: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 97e5fa7...573225a. Read the comment docs.

/lgtm
/approve


updating dependencies for stability

I noticed some instabilities when running the application and seemed to be related to using older dependencies. I've updated tokio and buttplug to a more recent version. I might try updating buttplug to 7.* later.

other than one type, looks good. thank you very much 😸

fixed, and you're welcome! ^^


Download UTXO Set

For a given address, download and store locally the entire UTXO set as provided by LWD
Requirements:

[ ] Last known UTXO set is available offline
[ ] Test database migration (if required)

@geffenz (me!) create a please hold screen so the 1.5+ seconds or so it takes doesn't make the app look broken.

@geffenz (me!) create a please hold screen so the 1.5+ seconds or so it takes doesn't make the app look broken.


Download prompt for wget scripts

Describe the solution you'd like
Download prompt for wget scripts to avoid multiple downloads (in case users click download multiple times)
-- Figure out how to render download prompts
-- User will need to disable pop-up blocker for the site/allow pop-up

Pop might as well confirm the file count if possible,


BUG: setting external ETCD address does not take effect

As describe in #2692, Set Etcd.External cause program failed.
Etcd.External or Etcd.local only one can be filled.

CI Error.
How do I add a external ETCD in CI to verify bug fixed?

Please review the code.


Added nginx image.

Prerequisite of : https://github.com/stackabletech/regorule-operator/issues/190

Closing since there seems to be a better solution for opa bundles.


"System available processing power" metric is unclear

Under 'Overview' we have the following text:
CPU
This metric is not available on Windows.

The total CPU usage of the server, as a percentage:

CPU usage

System available processing power

System load average

The field "System available processing power" has no metric. Additionally, the current Anypoint Platform interface calls this field "Available Processors". Please clearly define what this field is measuring.

@phubbard-mulesoft - can you provide the URL of the topic you're referring to?

Sorry, here you go: https://docs.mulesoft.com/runtime-manager/monitoring-dashboards#server-monitoring-dashboard


Use Rarimo's beta network when user switches to a testnet in MetaMask

Add beta-mainnet API URLs and state contract address. Rewrote state details retrieval by checking chainId and using specific config URLs accordingly.

@lukachi update the expected snap version in the connector from 0.3.x to 0.4.x


Fix: Update Stream struct to include display name and login name

This is an issue because the Login value of User is the login name with Login of Stream is the display name which could differ

Fixed via #13


Allow Cassandra restore to run without prompting

https://ocd.appscale.com:8080/job/Daily Build/1324/

👍


when will the fine-tuned COCO image caption models be released?

We have release the models. Please check MODEL_ZOO.md


Improve test coverage for generate queries

These functions are easy to cover with unit tests, so let's get them
in there.

Codecov Report

Merging #59 into master will increase coverage by 0.19%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #59      +/-   ##
==========================================
+ Coverage   52.03%   52.22%   +0.19%
==========================================
  Files          73       73
  Lines        3521     3521
==========================================
+ Hits         1832     1839       +7
+ Misses       1676     1669       -7
  Partials       13       13

Impacted Files
Coverage Δ

...s_generate_queries/databases/timescaledb/devops.go
20.13% <100%> (+4.86%)
:arrow_up:

Continue to review full report at Codecov.

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


Expand Button Fix, Speaker Icon for Currently Playing

Just pushed a commit here that should resolve the comments from above! thanks for your thorough feedback @jamesmcnamara


Doesn't work out of the box

Thanks for making this plugin, but unfortunately it doesn't seem to work for me.

The error I'm getting is:
The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received undefined

> semantic-release
[1[2](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:2):44:32 PM] [semantic-release] › ℹ  Running semantic-release version 24.1.2
[12:44:[3](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:3)2 PM] [semantic-release] › ✘  An error occurred while running semantic-release: TypeError [ERR_INVALID_ARG_VALUE]: The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received undefined
    at createRequire (node:internal/modules/cjs/loader:1631:11)
    at Object.<anonymous> (/home/runner/work/deepmerge-ts/deepmerge-ts/node_modules/.pnpm/@sebbo2002+semantic-release-jsr@2.0.0/node_modules/@sebbo2002/semantic-release-jsr/dist/index.cjs:528:7831)
    at Module._compile (node:internal/modules/cjs/loader:1[4](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:4)69:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1[5](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:5)48:10)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Module._load (node:internal/modules/cjs/loader:1104:12)
    at cjsLoader (node:internal/modules/esm/translators:34[6](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:6):17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:286:[7](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:7))
    at ModuleJob.run (node:internal/modules/esm/module_job:234:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:473:24) {
  code: 'ERR_INVALID_ARG_VALUE'
}
TypeError [ERR_INVALID_ARG_VALUE]: The argument 'filename' must be a file URL object, file URL string, or absolute path string. Received undefined
    at createRequire (node:internal/modules/cjs/loader:1631:11)
    at Object.<anonymous> (/home/runner/work/deepmerge-ts/deepmerge-ts/node_modules/.pnpm/@sebbo2002+semantic-release-jsr@2.0.0/node_modules/@sebbo2002/semantic-release-jsr/dist/index.cjs:52[8](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:8):7831)
    at Module._compile (node:internal/modules/cjs/loader:146[9](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:10):14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Module._load (node:internal/modules/cjs/loader:1[10](https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717#step:5:11)4:12)
    at cjsLoader (node:internal/modules/esm/translators:346:17)
    at ModuleWrap.<anonymous> (node:internal/modules/esm/translators:286:7)
    at ModuleJob.run (node:internal/modules/esm/module_job:234:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:473:24) {
  code: 'ERR_INVALID_ARG_VALUE'
 ELIFECYCLE  Command failed with exit code 1.
}
Error: Process completed with exit code 1.

GitHub Action Log: https://github.com/RebeccaStevens/deepmerge-ts/actions/runs/11180146051/job/31081283717

Sorry for the late reply, I'm currently on vacation and therefore only check in irregularly. Can you try the current develop branch (npm i @sebbo2002/semantic-release-jsr@next)? There are a few fixes in there that I haven't released yet. I'll do that after my vacation.

That version works for me :)


⚠ Bofrost.lu has degraded performance

In 8753cb8, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1443 ms

Resolved: Bofrost.lu performance has improved in 36e5077 after 6 minutes.


Tracking: Watermark

RFC PR: risingwavelabs/rfcs#2
Implementation design doc: https://github.com/risingwavelabs/rfcs/blob/46123694776083788a08b880ab1fa27eda542b76/rfcs/0016-watermark-operators-explained.md

Source

[x] #6952

Frontend

[x] #6704
[x] #6070
[x] Derive watermark columns
[ ] #6452

Stream

[x] #6043
[x] #6046
[x] #6060
[x] #6050
[x] #8444
[x] Watermark derivation in window functions
[x] #6268
[x] #6472
[x] #6112
[x] #8106
[x] #6813
[x] #7811
[x] #8375

After some discussions, we can also clean the state in DynamicFilter executors.

will we handle watermark events from the upstream in CDC scenes?

@TennyZhuang Do you think we can prepare external docs about watermark?


drivers/mmcsd: Rename mmcsd_read_csd to mmcsd_read_extcsd

Summary
Rename mmcsd_read_csd to mmcsd_read_extcsd,  since it really read extcsd register not csd register and remove the temp buffer inside it.
Impact
mmcsd
Testing
cortex m55

[Experimental Bot, please feedback here]
No, this PR does not fully meet the NuttX requirements.
Missing Information:

Summary:

Why is this change necessary? What is the problem with the current naming and buffer usage?
How does removing the temporary buffer work? What are the implications for memory usage and performance?

Impact:

Be specific about which architectures, boards, or drivers are affected.
Impact on user: Will any user-facing APIs change?
Impact on compatibility:  Are there any backward compatibility concerns?

Testing:

Provide more details about your build host and target environments:

OS versions
Compiler versions
Specific ARM board model

Testing logs:  The provided logs are placeholders. Please include actual logs showing the behavior before and after the change.

Recommendations:

Expand the "Summary" section to clearly articulate the problem, solution, and rationale behind the changes.
Provide specific details in the "Impact" section, addressing all points with concrete information.
Replace placeholder testing logs with real output from your testing environment.

let's ignore the ci error which is fixed by https://github.com/apache/nuttx/pull/13717 to avoid wasting the ci resource:
100  496k  100  496k    0     0  2326k      0 --:--:-- --:--:-- --:--:-- 2326k
common/xtensa_cpupause.c: In function 'xtensa_pause_handler':
Error: common/xtensa_cpupause.c:240:3: error: implicit declaration of function 'xtensa_savestate'; did you mean 'xtensa_setps'? [-Werror=implicit-function-declaration]
  240 |   xtensa_savestate(tcb->xcp.regs);
      |   ^~~~~~~~~~~~~~~~
      |   xtensa_setps
Error: common/xtensa_cpupause.c:243:3: error: implicit declaration of function 'xtensa_restorestate'; did you mean 'xtensa_context_restore'? [-Werror=implicit-function-declaration]
  243 |   xtensa_restorestate(tcb->xcp.regs);
      |   ^~~~~~~~~~~~~~~~~~~
      |   xtensa_context_restore
cc1: all warnings being treated as errors


aaaaa LAG IN 4K ON PC WITH TOP HARDWARE! OMG

Can you provide more information? what exactly the issue is, atom and package version, os, etc.

Atom 1.16.0 x64
Package version 1.4.0
Windows 8.1 version 6.3 (build 9600)
CPU Intel Core i7-5700 HQ
GPU NVidia 970M
Integrated graphics Intel HD Graphics 5600
lags both on integrated and GPU when running (typing anything with particles) at 4k. All works fine in 1080p. May be it's just problems in Atom itself, I don't know.

Could you share your package configuration? Particles size, particles spawn count, etc... to see if the problem is in the package.

CPU and RAM usage is all over the place with mid-range computer and default settings


Doctring edits

This is just a few minor edits to docstrings and error messages that had typos or that I felt were inconsistent or opaque, all lumped together into a messy (and maybe opinionated) PR. Feel free to edit!

Make sure to format the files you edited, too.

You can mark my review comments as resolved, lgtm!

The docs changes are good, but I don't really like the new package error messages. The usage of {..} in the error message has no precedent.

The usage of {..} in the error message has no precedent.

Fair enough. How about just
package specification "@namespace/name:version" is missing namespace
version number "major.minor.patch" is missing patch version

instead? I think the messages should definitely hint at the required formats somehow.

How about: version number is missing patch version and a hint package specification should be of the form "@namespace/name:version". That is, the hint using the hint mechanism instead of being part of the error message. This might need a little restructuring / return type changing from StrResult to HintedStrResult.
I'd also prefer to have the error message changes in a separate PR. They are fairly unrelated to the docs changes, which could already be merged.


Get-CertificationAuthority -Enterprise gives a wrong result

PS C:\Users\QQQ> Get-CertificationAuthority -Enterprise

PS C:\Users\QQQ> Get-CertificationAuthority

DisplayName                              ComputerName              IsAccessible ServiceStatus Type
-----------                              ------------              ------------ ------------- ----
XXXXXXXXXX Issuing 06                    SSSSSSSSSSSSSSSSSSSS.com  True         Running       Enterprise Subordinate CA

PS C:\Users\QQQ> Get-CertificationAuthority | Get-EnterprisePKIHealthStatus

Name                  Status Childs
----                  ------ ------
XXXXXXXXXX Issuing 06     Ok {XXXXXXXXXX Issuing 06, SSSSSSSSSS Root 02}

The command with the key "-Enterprise" gives no result, but one Enterprise Subordinate CA exists in our domain.

Do you get any result when using -Standalone switch instead? In test domain, I have a mix of Enterprise and Standalone CAs and the -Enterprise switch works for me as expected, returns only enterprise CAs in the forest.

I can't perform such a test. We have some domains and all of them have domain issuing CA. We have only one standalone root CA without domain.
Something has happened and that problem converted to another one. The same query has been giving the right result now but it takes about 7 minutes.

Running Connect-CertificationAuthority also takes the same time.
I have such problems with the tool only in one domain. All others work normal. Actually I think this domain also works fine itself. I'll be happy to find our bug and help you to improve your tool!

There are a lot of things you may need to test before you can find the root cause of this. Please, test how much time take these commands:

[SysadminsLV.PKI.Management.ActiveDirectory.DsPkiContainer]::GetAdPkiContainer("Enroll").EnrollmentServers

$CertConfig = New-Object SysadminsLV.PKI.Dcom.Implementations.CertConfigD
$CertConfig.EnumConfigEntries()

if they are fast enough, you will have to debug SysadminsLV.PKI.dll library in Visual Studio to find out which internal call cause delays.

They finished immediately. It appears like I have to learn how to debug dll in VC :-( I hope I'll do it soon.

Library sources are here: https://github.com/PKISolutions/pkix.net
download them to Visual Studio, add either a CLI application as host application, or create unit test project and test [PKI.CertificateServices.CertificateAuthority]::Connect() method. Set breakpoints and debug it line by line.
One thing you should know: debug an x64 process, because CA management interfaces doesn't exist for x86 platform (Visual Studio defaults to x86 when debugging).


port configuration of -1 can allocate illegal ports

https://github.com/ruslanys/sample-spring-boot-netty/blob/9cc9ab629e2b8eb45d86cc2226f76511ca3eca95/src/main/kotlin/me/ruslanys/web/HttpServer.kt#L29
When the port is set to -1, a random port is allocated. Most operating system restrict non-privileged processes to ports above 1024. In addition, the available port range may be further restricted by the kernel configuration. This method does not account for those restrictions and may generate an illegal port, especially if local tests are running without root privileges.

Ah, yes! You are right.
I've set the lower limit and excluded IANA range.
Thank you! Appreciate your help! 🙏

Take a look at #2


Difference with the old svg node

This new node won't look in any way to the old svg node.  I understand that people would like to have a simple replacement for their old svg node inside the new dashboard D2.  But that won't be the case for many reasons:

Severe lack of free time.  Remember that I am not a software company...
VueJs (combined with Vite builds) is a complete different technology compared to AngularJs.
Lots of features have sneaked in the old ui node, which I regretted afterwards that I have agreed to implement.  They didn't fit into the overal design, and gave me a lot of maintainance issues afterwards.
The old svg node has grown organically over the years to become a little monster.  Some parts should be separated into separate nodes, like e.g. the ability to open the svg in a drawing editor.
Replacement of the DrawSvg editor by another one offers layers, for example SVG-Edit.
In the old nodes there were a lot of issues from users that tried to implement workarounds for the lack of a server-side state.  But all these implementations had their own disadvantages.  Hopefully I can solve this kind of troubles by keeping a server-side virtual DOM tree in sync with the DOM trees in the browsers.
Server-side management of animations, to avoid that new clients don't receive active animations.
Cleanup of input/output message formats, to make things (hopefully) easier to get started with.

Of course contributions are very welcome!  Just make sure to discuss it in advance (by opening an issue), because - as explained above - the new node will not be a modern lookalike of the old node.

Well, to be honest I am very frustrated with Dashboard 2.0 and the lack of compatibilty with the old Dashboard and its widgets.
Having written commercial Windows code myself since almost the very beginning 1990, I know how hard it is to change from one IDE to an new one and the paradigm shift often coming with it.
I for example migrated my companies salesforce automation software from Visual Basic /dBase/Access to C#/ DevExpress ORM/SqlServer/Postgresql. I had up to 4 programmers involved and it took us more than a year. It was a new Application but using the proven pen based UI and underlying local and server based business processes. Using wrappers we could use older and newer libraries and combine licenced libraries with open source libraries.
Dashboard 2.0 as you propagate it, is an IDE tool and intended to replace 1.0 and bring performance and functional enhancements.  But why can't you keep the proven code API and incrementally add new and replace deprecated code? If thats not possible then something in your approach is wrong. DevIntent discussed this refactoring process on one of its pages.
But the deeper I get involved in migrating from 1.0 to 2.0 I trip into ever newer functional gaps. The layout editor with the need to add spacers takes so much valuable time to adjust the layout if you add a single new control or need to rearrange the controls, groups or pages.
The newest: the SVG widget.  You can add the proven old widget but you cannot assign a group. So it does not work as expected and now I am in a dead end.
Yes you wrote:
[quote]...as explained above - the new node will not be a modern lookalike of the old node. [quote].
OK, feel free to develop a new SVG widget but don't force us implementors to wait until you or your company has time to do so.
If you want implementors like me to use / migrate to Dashboard 2.0 then Dashboard 2.0 must be able to handle legacy widgets.
I develop iOT devices running on Raspberry Pi on a freeware / non profit basis and thought investing in node-red as a built in Web Browser UI for these devices with its origins from IBM and its really amazing functionality and ease of use would be a good idea.
But now its one step forward and three steps back. I am close to abandon Dashboard 2.0 and return to 1.0.

@MaWa53

Dashboard 2.0 as you propagate it, is an IDE tool and intended to replace 1.0 and bring performance and functional

I really hope Dashboard D2 will bring performance in the near future, but I am pretty sure at the moment it is slower.  For example the ui-chart node is much slower compared to dasbhoard D1.  So please provide me the link where I have written that nonosense, and I will immediately update my desinformation!

But why can't you keep the proven code API

Hmm I had hoped that the why would be pretty clear from my detailed list of reasons above...
If I would have been pleased with the old ui-svg node, I would certainly have kept the API identically.
But the old ui-svg node has grown organically over many years, to become a little monster.
However I learned a lot from my own experience with the old node, and from LOTs of user feedback.
And I certainly don't want to make the same mistakes again.  Although I will most probably make new mistakes.  Perhaps even bigger ones...
So unfortunately I cannot remove any reasons from the list above, because they are all still valid...

If thats not possible then something in your approach is wrong.

Not sure if you have seen point 1 in my list, i.e. a complete lack of free time.  At this moment this repository is abandonned as a result of that.  However I see from your feedback that you have lots of experience in ICT, and evidently also the correct approach to do a better job.  Since we are an open-source community, you are very welcome to create an alternative/better SVG node for dashboard D2.  I will be happy to remove this repository, so I can focus on some more fun stuff in my evenings.  Then you can keep the proven code API and incrementally add new and replace deprecated code.
But one tip if you would consider start contributing to our open source community: there is very few people in our community that contribute in any way, even those with a development background.  And some of them will even be very ungrateful for the free stuff you provide them.   I have never quite understood that level of greed.  But fortunately they aren't the majority!  And finally: make sure you don't get into the situation that you start wondering whether it is worth continuing after so many years!

The layout editor with the need to add spacers takes so much valuable time to adjust the layout

I have no idea about that.  I have not contributed to that editor and I have not used it myself.  Have you already given (constructive) feedback to the dashboard team about that?  I know that Steve has been spending a lot of his free time in the weekends and evenings on it, but he did not manage yet to solve all the open TODO's.  And yes of course if nobody in our community wants to contribute to the editor, then it will take longer to finalize it.  That is unfortunately how open source works...

The newest: the SVG widget. You can add the proven old widget but you cannot assign a group. So it does not work as expected and now I am in a dead end.

As you can see on the readme page of this repo:

Not sure which expectations you have from a node in early alpha status.  I had created this repo simply to have some version control, to let users know the status, and that people can contribute.  That is all...
Note that this repo is abandonned at the moment, because I am busy trying to help Joe with his dashboard issues and I need to migrate some other ui nodes first (for my own home automation).

Feel free to develop a new SVG widget but don't force us implementors to wait until you or your company has time to do so.

Ok you need to support my old brain again I am afraid.  Can you please share a link to the page where I try to force you or anybody else to use this node?  Once you have share the link with me, I will again immediately remove my inappropriate sentences!
So please don't wait for this node to be completed!  I don't have any benefit whatsoever when people start using my node.  If you found another way to get the job done, please let me know so I can mention it on my readme page!  Because undoubtedly other users will have similar needs.

If you want implementors like me to use / migrate to Dashboard 2.0

Well not sure if you are aware that I have zero relations with Flowfuse, the company behind Node-RED.  So I have completely zero benefit if you start using dashboard D2 or not.  And to be honest: if you dislike the dashboard so much, I would personally recommend you to not use it at all.  If you like dashboard D1 much more, feel free to keep using it.  Whatever you decide to do, it is all fine for me...

Hello Bart,First of all I have to apologize for laying my frustration on you. I thought you were from flowfuse. Most of the problems have their origin in the dashboard 2.0. So I am very sorry to bother you. Your svg 1.0 is a great widget and I use it to mirror an EVE driven LCD display plus it's touch interface to a browser from the raspberry pi that controls a 7 Axis stepper driven machine. If possible I will remove my comments as soon as I get back to my office. Best regardsManfred
-------- Ursprüngliche Nachricht --------Von: bartbutenaers @.> Datum: 16.12.24  22:13  (GMT+01:00) An: bartbutenaers/node-red-dashboard-2-ui-svg @.> Cc: Manfred @.>, Mention @.> Betreff: Re: [bartbutenaers/node-red-dashboard-2-ui-svg] Difference with the old svg node (Issue #11)
@MaWa53
Dashboard 2.0 as you propagate it, is an IDE tool and intended to replace 1.0 and bring performance and functional
I really hope Dashboard D2 will bring performance in the near future, but I am pretty sure at the moment it is slower.  For example the ui-chart node is much slower compared to dasbhoard D1.  So please provide me the link where I have written that nonosense, and I will immediately update my desinformation!
But why can't you keep the proven code API
Hmm I had hoped that the why would be pretty clear from my detailed list of reasons above...
If I would have been pleased with the old ui-svg node, I would certainly have kept the API identically.
But the old ui-svg node has grown organically over many years, to become a little monster.
However I learned a lot from my own experience with the old node, and from LOTs of user feedback.
And I certainly don't want to make the same mistakes again.  Although I will most probably make new mistakes.  Perhaps even bigger ones...
So unfortunately I cannot remove any reasons from the list above, because they are all still valid...
If thats not possible then something in your approach is wrong.
Not sure if you have seen point 1 in my list, i.e. a complete lack of free time.  At this moment this repository is abandonned as a result of that.  However I see from your feedback that you have lots of experience in ICT, and evidently also the correct approach to do a better job.  Since we are an open-source community, you are very welcome to create an alternative/better SVG node for dashboard D2.  I will be happy to remove this repository, so I can focus on some more fun stuff in my evenings.  Then you can keep the proven code API and incrementally add new and replace deprecated code.
But one tip if you would consider start contributing to our open source community: there is very few people in our community that contribute in any way, even those with a development background.  And some of them will even be very ungrateful for the free stuff you provide them.   I have never quite understood that level of greed.  But fortunately they aren't the majority!  And finally: make sure you don't get into the situation that you start wondering whether it is worth continuing after so many years!
The layout editor with the need to add spacers takes so much valuable time to adjust the layout
I have no idea about that.  I have not contributed to that editor and I have not used it myself.  Have you already given (constructive) feedback to the dashboard team about that?  I know that Steve has been spending a lot of his free time in the weekends and evenings on it, but he did not manage yet to solve all the open TODO's.  And yes of course if nobody in our community wants to contribute to the editor, then it will take longer to finalize it.  That is unfortunately how open source works...
The newest: the SVG widget. You can add the proven old widget but you cannot assign a group. So it does not work as expected and now I am in a dead end.
As you can see on the readme page of this repo:
image.png (view on web)
Not sure which expectations you have from a node in early alpha status.  I had created this repo simply to have some version control, to let users know the status, and that people can contribute.  That is all...
Note that this repo is abandonned at the moment, because I am busy trying to help Joe with his dashboard issues and I need to migrate some other ui nodes first (for my own home automation).
Feel free to develop a new SVG widget but don't force us implementors to wait until you or your company has time to do so.
Ok you need to support my old brain again I am afraid.  Can you please share a link to the page where I try to force you or anybody else to use this node?  Once you have share the link with me, I will again immediately remove my inappropriate sentences!
So please don't wait for this node to be completed!  I don't have any benefit whatsoever when people start using my node.  If you found another way to get the job done, please let me know so I can mention it on my readme page!  Because undoubtedly other users will have similar needs.
If you want implementors like me to use / migrate to Dashboard 2.0
Well not sure if you are aware that I have zero relations with Flowfuse, the company behind Node-RED.  So I have completely zero benefit if you start using dashboard D2 or not.  And to be honest: if you dislike the dashboard so much, I would personally recommend you to not use it at all.  If you like dashboard D1 much more, feel free to keep using it.  Whatever you decide to do, it is all fine for me...
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: @.***>

Hi @MaWa53,
Apologies accepted.  I have also removed my response, on your request.

I thought you were from flowfuse

Well let's suppose I was an employee from Flowfuse...
I don't know if you pay Flowfuse for their services, and you have some legal SLA documents on your desk containing lots small characters.  If that is the case, then stop reading here and contact Flowfuse that they should stick to the agreements.  After all, an agreement is an agreement...
However if you are using the free open-source version of Node-RED and the dashboard, then things become completely different.
Let's start to have a look at some numbers, because (most) numbers don't lie:

There are at this moment 322 open issues.
I have recently tried to assist Joe reducing his backlog by creating 41 pull requests, but that is like a drop of water on a hot plate...
The dashboard contributors are mainly Joe and Steve, and there are only 2 non-Flowfuse contributors which periodically contribute (cgjgh and myself).
I have 4 ui nodes (svg, web-push, video, heatmap) that I need to migrate to dashboard D2.
I have been begging on Github and Discourse to find some more contributors (both for the dashboard and my ui nodes), but I managed to convince about 0 people.
There are already quite a lot of users downloading dashboard D2 from npm, on average 10K per month.

So this is what is going on: thousands of people want a free dashboard for Node-RED, but don't want to do anything in return.  Those people know that there are 322 issues, and they are still very surprised that some of there stuff doesn't work correctly.
The dashboard is free software offered by Flowfuse, for which I am very grateful!  They also share their source code, so people can show their appreciation by contributing code/documentation/...  If people on the other hand start demanding from Flowfuse that they solve it all on their own, then I can only conclude that we have a very lazy community which is digging its own grave...
Now I am going to stop defending Joe, Steve and myself.  And I will get back to my developments ;-)

@bartbutenaers
Well I don't want to move too much off topic, but we seem to have a different understanding what Node-RED and its widgets is and what open source means and how FlowFuse appears from the public view.
Please don't feel attacked and you don't need to defend yourself, Joe and Steve.
IMHO Node-RED is a widget based visual programming tool addressing users with very little knowledge of javaScript, event driven programming and maybe none of the underlying dev. frameworks and, very important, no web browser and server programming knowhow.
A Node-RED app is automatically a server app and can be used locally or remote by one or more users. That makes it so attractive.
Widgets enhance the visual or functional capabilites using a standardised node and message interface. The underlying knowledge often goes even deeping into special knowhow like e.g. your SVG or the TCP, MQTT and many other widgets.
Although I have more than 45 years programming experience using Node-RED I am on the above described user level. I would contribute if I could but my programming skills are in a different direction. My IoT and PC / Raspberry Pi based apps are written in C, C++, C# and Python using VSC and VS as IDE. On the very small Raspi Zero W I use Codelite as IDE and C++ via RealVNC Viewer. Even there I implemented a Node-RED collection of pages for settings and calling maintanance routines in my c++ exe and it works great.
If something does not work, then that creates an issue to be handled. But I think your expectation, that a node-red user is somewhat obliged to dive into solving that issue and help is illusory. Most users can't do that.
A good error description and examples how to reproduce the error is all you should expect.
Open source and freeware are often merged and that is the case with Node-RED.
First of all it's freeware and has attracted thousands of users because of its unique way of programming.
Open sourcing Node-RED and its widgets helped and still helps the system to evolve and for those who can contribute to see how other contributers wrote their code to avoid reinventing.
Making something open source does not create a legal obligation that arises when something is sold for money.
But there is a moral obligation that arrises as soon as others use and depend on what was published.
I have seen many open source publications that fell asleep after a short time and were no longer supported.
I would love to pay for a product like node-red if that would ensure several years of support, a consistent API and the price was right. I e.g. just licenced VSPE to get a virtual COMx on my PC running LightBurn connected via TCP to the Node-RED TCP widget and from there to the Marlin based controller.
And finally I come to FlowFuse.
At first glance at the FlowFuse product features page you seem to be looking at a relabeled Node-RED screen (App Icon).
On second glance you see they added a pullup with Devices, Snapshots etc.  Looking at their Pricing page reveals their commercial orientation.
It is all the more surprising that a product used by well-known companies like Bosch has such a backlog when it comes to processing errors in its central UI function, the dashboard.
It is even more surprising that important employees come from the circle of Node-RED's creators, who certainly know the system's internals very well and could at least handle the "need-triage" issues.
It seem to be a matter of priorities and open source without contributors (you said it right: lazy community) does not work.
But as I said before Node-RED is a user Application and not a set of high level library, where the user has the skill and knowledge to contribute.
My final wish is, if external circumstances make it necessary to create a new version of a module, then the programming interface and visual representation should not be fundamentally changed.

But I think your expectation, that a node-red user is somewhat obliged to dive into solving that issue and help is illusory. Most users can't do that.

Well I completely understand that, and I don't have that expectation at all.  In fact I "think" some of the root causes of the low contribution rate from our community is the fact that we offer a low-code application.  With low-code I assume you won't attract a massive number of developers.  Which is - let's be honest - quite a problem for an open source community...  Lot's of my users have very little technical skills, and I really like to develop stuff to allow them to do fun stuff anyway.
The problem is bit the other way around.  I experience that every year of my open-source developments people are expecting more and more of the open-source developers.  And especially in the last months - since the backlog of D2 is growing and my ui nodes don't get migrated - I am often quite flabbergasted that strangers are telling me what I need to do during my free time.   Then my civility abruptly ends...

It seem to be a matter of priorities and open source

I am not going to judge about their workload or priorities or anything else.  During the years I learned to know some of these guys a bit better, and they are very helpfull, hard-working and smart folks.  So I assume there is just too much on their plate.  They are trying to hire people, but that takes time to get the fully up and running.  And then it becomes painful if there is so less contributions.  But that is my personal view, and might be complete incorrect.

My final wish is, if external circumstances make it necessary to create a new version of a module, then the programming interface and visual representation should not be fundamentally changed.

Yes I understand, but currently my ui-svg node is in the category "maybe later, maybe never".  So a stable APi is the last thing on my (exploding) head...  I am already glad if the dashboard backlog get reduced, and if my ui nodes in the near future get somehow migrated, whatever API they have...

But there is a moral obligation that arrises as soon as others use and depend on what was published.
I have seen many open source publications that fell asleep after a short time and were no longer supported.

Well I have to admit that there is indeed quite a lot of this sentence that I agree.  And it isn't even limited to software, but hardware or anything else.  For example Shelly now has decide to stop production of its wifi TRV devices, leaving existing customer - who spend their money on such devices - with a lot of headache.  Since I am one of those customers, I indeed feel the pain and understand what you mean...
But I will give you a real (not hypothetical) example.  I really need an open-source developer from our community, who has helped me a LOT in the past.  I really need his knowledge.  But the economics in his country has changed a lot, so no he has to get a second job to maintain his familly.  So now I am really stuck with something which is very critical for my own home automation.  But there is no single hair on my head that triggers me to send him a message that he has the moral obligation to continue his open-source developments, because I heavily depend on it.  Instead when he should ever be reading this, I would really want to thank him for his help in the past, and I really wish him luck with all his hard work to support his familly!  That is the way open-source works unfortunately...
But yes I understand that if a "healthy" company decides for one of another reason to open-source their software, that they indeed should have a moral obligation to continue supporting it decently for their customers.  That is true...

I would like to thank you for the time you spent to have this interesting discussion.
Likewise for your work on the SVG widget.
If you're interested I can describe what I do with it.
Maybe you can take this usage into account in the 2.0 version.
I use "svg_replace" with all graphic elements.
This is refreshed every second via TCP. I buffer the whole svg string and in case of a touch down or up event from your svg graphics I scan the buffered svg string to find the x and y and report the id of the element, which is then forwarded to my app via TCP as a touch down or touch up event.  In my app this is then merged with the touch events from die intelligent EVE LCD display.
As my app knows which page it is showing the id is sufficient to remote control my machines app.
I wish you happy holiday season and good good start into 2025.
Manfred


Error creating certificate

I'm trying to create a certificate but it's giving an error. Ports 80 and 443 are open.
ERROR:
Error: Command failed: certbot certonly --non-interactive --config "/etc/letsencrypt.ini" --cert-name "npm-22" --agree-tos --email<EMAIL_ADDRESS>--preferred-challenges "dns,http" --domains "n1.t4l35.site"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

    at ChildProcess.exithandler (node:child_process:326:12)
    at ChildProcess.emit (node:events:369:20)
    at maybeClose (node:internal/child_process:1067:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)

Letsencrypt Log
2021-08-07 20:51:48,168:DEBUG:certbot._internal.main:certbot version: 1.17.0
2021-08-07 20:51:48,168:DEBUG:certbot._internal.main:Location of certbot entry point: /opt/certbot/bin/certbot
2021-08-07 20:51:48,168:DEBUG:certbot._internal.main:Arguments: ['--non-interactive', '--config', '/etc/letsencrypt.ini', '--cert-name', 'npm-22', '--agree-tos', '--email'<EMAIL_ADDRESS>'--preferred-challenges', 'dns,http', '--domains', 'n1.t4l35.site']
2021-08-07 20:51:48,168:DEBUG:certbot._internal.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#manual,PluginEntryPoint#null,PluginEntryPoint#standalone,PluginEntryPoint#webroot)
2021-08-07 20:51:48,183:DEBUG:certbot._internal.log:Root logging level set at 30
2021-08-07 20:51:48,184:DEBUG:certbot._internal.plugins.selection:Requested authenticator webroot and installer None
2021-08-07 20:51:48,187:DEBUG:certbot._internal.plugins.selection:Single candidate plugin: * webroot
Description: Place files in webroot directory
Interfaces: IAuthenticator, IPlugin
Entry point: webroot = certbot._internal.plugins.webroot:Authenticator
Initialized: <certbot._internal.plugins.webroot.Authenticator object at 0x7f0a2b35a978>
Prep: True
2021-08-07 20:51:48,188:DEBUG:certbot._internal.plugins.selection:Selected authenticator <certbot._internal.plugins.webroot.Authenticator object at 0x7f0a2b35a978> and installer None
2021-08-07 20:51:48,188:INFO:certbot._internal.plugins.selection:Plugins selected: Authenticator webroot, Installer None
2021-08-07 20:51:48,199:DEBUG:certbot._internal.main:Picked account: <Account(RegistrationResource(body=Registration(key=None, contact=(), agreement=None, status=None, terms_of_service_agreed=None, only_return_existing=None, external_account_binding=None), uri='https://acme-v02.api.letsencrypt.org/acme/acct/126590777', new_authzr_uri=None, terms_of_service=None), 453e9dfd311338c9f17d679125cf65c9, Meta(creation_dt=datetime.datetime(2021, 6, 10, 2, 59, 20, tzinfo=<UTC>), creation_host='2a6c1c54a134', register_to_eff=None))>
2021-08-07 20:51:48,200:DEBUG:acme.client:Sending GET request to https://acme-v02.api.letsencrypt.org/directory.
2021-08-07 20:51:48,203:DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org:443
2021-08-07 20:51:48,392:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "GET /directory HTTP/1.1" 200 658
2021-08-07 20:51:48,393:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Sat, 07 Aug 2021 21:01:52 GMT
Content-Type: application/json
Content-Length: 658
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "Yy-2vWokHFk": "https://community.letsencrypt.org/t/adding-random-entries-to-the-directory/33417",
  "keyChange": "https://acme-v02.api.letsencrypt.org/acme/key-change",
  "meta": {
    "caaIdentities": [
      "letsencrypt.org"
    ],
    "termsOfService": "https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf",
    "website": "https://letsencrypt.org"
  },
  "newAccount": "https://acme-v02.api.letsencrypt.org/acme/new-acct",
  "newNonce": "https://acme-v02.api.letsencrypt.org/acme/new-nonce",
  "newOrder": "https://acme-v02.api.letsencrypt.org/acme/new-order",
  "revokeCert": "https://acme-v02.api.letsencrypt.org/acme/revoke-cert"
}
2021-08-07 20:51:48,394:DEBUG:certbot.display.util:Notifying user: Requesting a certificate for n1.t4l35.site
2021-08-07 20:51:48,473:DEBUG:certbot.crypto_util:Generating RSA key (2048 bits): /etc/letsencrypt/keys/0012_key-certbot.pem
2021-08-07 20:51:48,475:DEBUG:certbot.crypto_util:Creating CSR: /etc/letsencrypt/csr/0012_csr-certbot.pem
2021-08-07 20:51:48,476:DEBUG:acme.client:Requesting fresh nonce
2021-08-07 20:51:48,476:DEBUG:acme.client:Sending HEAD request to https://acme-v02.api.letsencrypt.org/acme/new-nonce.
2021-08-07 20:51:48,520:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "HEAD /acme/new-nonce HTTP/1.1" 200 0
2021-08-07 20:51:48,521:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Sat, 07 Aug 2021 21:01:53 GMT
Connection: keep-alive
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: 0101cu5exVAVDsY3RFds9sfuAsTcbUduTfP9wwFt54hnW4s
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

2021-08-07 20:51:48,522:DEBUG:acme.client:Storing nonce: 0101cu5exVAVDsY3RFds9sfuAsTcbUduTfP9wwFt54hnW4s
2021-08-07 20:51:48,522:DEBUG:acme.client:JWS payload:
b'{\n  "identifiers": [\n    {\n      "type": "dns",\n      "value": "n1.t4l35.site"\n    }\n  ]\n}'
2021-08-07 20:51:48,525:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/new-order:
{
  "protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTI2NTkwNzc3IiwgIm5vbmNlIjogIjAxMDFjdTVleFZBVkRzWTNSRmRzOXNmdUFzVGNiVWR1VGZQOXd3RnQ1NGhuVzRzIiwgInVybCI6ICJodHRwczovL2FjbWUtdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9uZXctb3JkZXIifQ",
  "signature": "ZeL08fLgmZmxRWj0Q4WUp-0GZTttAchJ_WsgPTcDz4vDpdnAXGmE_fOTArfVUbeRavemSnDGIXin3gnGIzOdBCChk0iIanUeMBkuc4zBTiNdb0l5hem6c326gHFnCXEu7psG1w6aljtIFx0ynzw42kTDSTaTXVJJPsZqjZvgnS3T-pt7e-wCF0rTzpeeEgLCYFlIzvnVF9LKB0Lre1ufCwZyKGkHKkjHv9Ljax4NLPJy4F3rvldwLGubLyhv5nBRJcn4wEPCY2b7rfhSzyca5wKYhhkubc0j0afX544_lc-Z3-2FI8l0ewlWwesz543MvdR6bfiiomCJb6F3oiTTag",
  "payload": "ewogICJpZGVudGlmaWVycyI6IFsKICAgIHsKICAgICAgInR5cGUiOiAiZG5zIiwKICAgICAgInZhbHVlIjogIm4xLnQ0bDM1LnNpdGUiCiAgICB9CiAgXQp9"
}
2021-08-07 20:51:48,740:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/new-order HTTP/1.1" 201 336
2021-08-07 20:51:48,741:DEBUG:acme.client:Received response:
HTTP 201
Server: nginx
Date: Sat, 07 Aug 2021 21:01:53 GMT
Content-Type: application/json
Content-Length: 336
Connection: keep-alive
Boulder-Requester: 126590777
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Location: https://acme-v02.api.letsencrypt.org/acme/order/126590777/15258772520
Replay-Nonce: 0101I9UUwEI5UimOUjts7k8jPn6IhdrNagwbOQ05xokvDSU
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "status": "pending",
  "expires": "2021-08-14T21:01:53Z",
  "identifiers": [
    {
      "type": "dns",
      "value": "n1.t4l35.site"
    }
  ],
  "authorizations": [
    "https://acme-v02.api.letsencrypt.org/acme/authz-v3/19858791360"
  ],
  "finalize": "https://acme-v02.api.letsencrypt.org/acme/finalize/126590777/15258772520"
}
2021-08-07 20:51:48,741:DEBUG:acme.client:Storing nonce: 0101I9UUwEI5UimOUjts7k8jPn6IhdrNagwbOQ05xokvDSU
2021-08-07 20:51:48,741:DEBUG:acme.client:JWS payload:
b''
2021-08-07 20:51:48,743:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz-v3/19858791360:
{
  "protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTI2NTkwNzc3IiwgIm5vbmNlIjogIjAxMDFJOVVVd0VJNVVpbU9VanRzN2s4alBuNkloZHJOYWd3Yk9RMDV4b2t2RFNVIiwgInVybCI6ICJodHRwczovL2FjbWUtdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xOTg1ODc5MTM2MCJ9",
  "signature": "H7kgyZIv0uS-Ag1nZs3it6yx4MU6zTrmAHQmVYmALxv_RhN-YeYxWn9It-5intFc8Ud3LxO5BrdMo-YJ1PibhWsHZ9DquD8DqxSkBdMqDbfls5gL3XtamqGFk1gPqqbqNyRrSfwc4SF-O0KzO7TghLm9DnbYSe2pyLMi_JHgbYTkmlEm8IcDFl7WYOYkUWz5ge-EoXRtskxzJPlnl_c0gWKwqInfW9FVWQxPgG5X_qDH16K5mHyvASKHKqkE6bkb-SaR7AZgEImPEkbOgkI1rWB9ZIM1zv9Sg674PxYCX3Wcab_c1qqpX4E4sew7niKbX1PqJolWBTyxkh9ciSQJAQ",
  "payload": ""
}
2021-08-07 20:51:48,816:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz-v3/19858791360 HTTP/1.1" 200 794
2021-08-07 20:51:48,816:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Sat, 07 Aug 2021 21:01:53 GMT
Content-Type: application/json
Content-Length: 794
Connection: keep-alive
Boulder-Requester: 126590777
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: 0102PZIo8u2K3MRzirogaz4WRNkaIplFjUD6MKjTFSAAM38
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "identifier": {
    "type": "dns",
    "value": "n1.t4l35.site"
  },
  "status": "pending",
  "expires": "2021-08-14T21:01:53Z",
  "challenges": [
    {
      "type": "http-01",
      "status": "pending",
      "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/ZUzLqQ",
      "token": "7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM"
    },
    {
      "type": "dns-01",
      "status": "pending",
      "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/Zw0u3g",
      "token": "7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM"
    },
    {
      "type": "tls-alpn-01",
      "status": "pending",
      "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/JkvCXQ",
      "token": "7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM"
    }
  ]
}
2021-08-07 20:51:48,817:DEBUG:acme.client:Storing nonce: 0102PZIo8u2K3MRzirogaz4WRNkaIplFjUD6MKjTFSAAM38
2021-08-07 20:51:48,817:INFO:certbot._internal.auth_handler:Performing the following challenges:
2021-08-07 20:51:48,817:INFO:certbot._internal.auth_handler:http-01 challenge for n1.t4l35.site
2021-08-07 20:51:48,817:INFO:certbot._internal.plugins.webroot:Using the webroot path /data/letsencrypt-acme-challenge for all unmatched domains.
2021-08-07 20:51:48,817:DEBUG:certbot._internal.plugins.webroot:Creating root challenges validation dir at /data/letsencrypt-acme-challenge/.well-known/acme-challenge
2021-08-07 20:51:48,818:DEBUG:certbot._internal.plugins.webroot:Attempting to save validation to /data/letsencrypt-acme-challenge/.well-known/acme-challenge/7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM
2021-08-07 20:51:48,819:DEBUG:acme.client:JWS payload:
b'{}'
2021-08-07 20:51:48,820:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/ZUzLqQ:
{
  "protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTI2NTkwNzc3IiwgIm5vbmNlIjogIjAxMDJQWklvOHUySzNNUnppcm9nYXo0V1JOa2FJcGxGalVENk1LalRGU0FBTTM4IiwgInVybCI6ICJodHRwczovL2FjbWUtdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9jaGFsbC12My8xOTg1ODc5MTM2MC9aVXpMcVEifQ",
  "signature": "d25jBTD3RAF3zARuxRWxrTcurAX3K3hYDgt51XB0ELTp5NyEMIyrggmxTeNGW73plOm7V5TqikMfdLFap536TRv7Zv0d83qgEgcWzd1VxaNs-ErYs5Y_4ELIZxss5tirJvu7l6h51XY4s36zP75ya7C9bJBAKvwN2rDXkLqMAERPjMXKSOa2PfqXsHpYWK2UWtyatEsVy09j6R60i8xpcPq7uKUMQ1BwoGuMtc5M74TAAh1XZ1FLbtYRQVYrDw8qUhshl2UcH7TOg_3Gr8lRDLlbUk2vVy2lP1OVnrBb6fVwLvxX_MeneDuxEit63bniHVSbWh5nj4Zo56VNtEQwFA",
  "payload": "e30"
}
2021-08-07 20:51:48,932:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/chall-v3/19858791360/ZUzLqQ HTTP/1.1" 200 186
2021-08-07 20:51:48,933:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Sat, 07 Aug 2021 21:01:53 GMT
Content-Type: application/json
Content-Length: 186
Connection: keep-alive
Boulder-Requester: 126590777
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index", <https://acme-v02.api.letsencrypt.org/acme/authz-v3/19858791360>;rel="up"
Location: https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/ZUzLqQ
Replay-Nonce: 0101zJKg3vdijm3k6MxbC0ksY9NmVRU7wgSYPCfTEOZy0TM
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "type": "http-01",
  "status": "pending",
  "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/ZUzLqQ",
  "token": "7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM"
}
2021-08-07 20:51:48,933:DEBUG:acme.client:Storing nonce: 0101zJKg3vdijm3k6MxbC0ksY9NmVRU7wgSYPCfTEOZy0TM
2021-08-07 20:51:48,933:INFO:certbot._internal.auth_handler:Waiting for verification...
2021-08-07 20:51:49,935:DEBUG:acme.client:JWS payload:
b''
2021-08-07 20:51:49,937:DEBUG:acme.client:Sending POST request to https://acme-v02.api.letsencrypt.org/acme/authz-v3/19858791360:
{
  "protected": "eyJhbGciOiAiUlMyNTYiLCAia2lkIjogImh0dHBzOi8vYWNtZS12MDIuYXBpLmxldHNlbmNyeXB0Lm9yZy9hY21lL2FjY3QvMTI2NTkwNzc3IiwgIm5vbmNlIjogIjAxMDF6SktnM3ZkaWptM2s2TXhiQzBrc1k5Tm1WUlU3d2dTWVBDZlRFT1p5MFRNIiwgInVybCI6ICJodHRwczovL2FjbWUtdjAyLmFwaS5sZXRzZW5jcnlwdC5vcmcvYWNtZS9hdXRoei12My8xOTg1ODc5MTM2MCJ9",
  "signature": "AehLKcVRLg-Vb2kvj9jSYH9DI12w9N4Vqfcw5adD1EcBkiSQ1pcvFID4Mxa4GbTaYdJYOICVr02ZwmEmtaTn7ewJSuI0Fg3KPuZwrq7UzpxzH6rzG_WXUfjxGzQizBm5Jt09n1-KBKdKE1CohlsNwNPRPnga6ORB47FZqh_lvZsFrkpmOz7LLyKO9wK16A2wCN2Co1p4oGLkV4rbBraC7mNPwjJpuIcAte4iB5t2V7NSaQMuyOO2VRQNa79rDvOCcDcUqgC5VpgNOs75CP1eV85L4QPRPCWKD8OsbRGPwu_mccInWSODJilZUNtAr2Laa9fKQU4a_9GNrQ1LNfw6zA",
  "payload": ""
}
2021-08-07 20:51:50,014:DEBUG:urllib3.connectionpool:https://acme-v02.api.letsencrypt.org:443 "POST /acme/authz-v3/19858791360 HTTP/1.1" 200 1321
2021-08-07 20:51:50,015:DEBUG:acme.client:Received response:
HTTP 200
Server: nginx
Date: Sat, 07 Aug 2021 21:01:54 GMT
Content-Type: application/json
Content-Length: 1321
Connection: keep-alive
Boulder-Requester: 126590777
Cache-Control: public, max-age=0, no-cache
Link: <https://acme-v02.api.letsencrypt.org/directory>;rel="index"
Replay-Nonce: 0102IYljwRC_FJ3MkHUjtTyduB1yceYiRiC3z9yi_WnbAVk
X-Frame-Options: DENY
Strict-Transport-Security: max-age=604800

{
  "identifier": {
    "type": "dns",
    "value": "n1.t4l35.site"
  },
  "status": "invalid",
  "expires": "2021-08-14T21:01:53Z",
  "challenges": [
    {
      "type": "http-01",
      "status": "invalid",
      "error": {
        "type": "urn:ietf:params:acme:error:unauthorized",
        "detail": "Invalid response from http://n1.t4l35.site/.well-known/acme-challenge/7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM [<IP_ADDRESS>]: \"\u003chtml\u003e\\r\\n\u003chead\u003e\u003ctitle\u003e404 Not Found\u003c/title\u003e\u003c/head\u003e\\r\\n\u003cbody\u003e\\r\\n\u003ccenter\u003e\u003ch1\u003e404 Not Found\u003c/h1\u003e\u003c/center\u003e\\r\\n\u003chr\u003e\u003ccenter\u003eopenresty\u003c/cente\"",
        "status": 403
      },
      "url": "https://acme-v02.api.letsencrypt.org/acme/chall-v3/19858791360/ZUzLqQ",
      "token": "7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM",
      "validationRecord": [
        {
          "url": "http://n1.t4l35.site/.well-known/acme-challenge/7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM",
          "hostname": "n1.t4l35.site",
          "port": "80",
          "addressesResolved": [
            "<IP_ADDRESS>",
            "<IP_ADDRESS>"
          ],
          "addressUsed": "<IP_ADDRESS>"
        }
      ],
      "validated": "2021-08-07T21:01:53Z"
    }
  ]
}
2021-08-07 20:51:50,015:DEBUG:acme.client:Storing nonce: 0102IYljwRC_FJ3MkHUjtTyduB1yceYiRiC3z9yi_WnbAVk
2021-08-07 20:51:50,016:INFO:certbot._internal.auth_handler:Challenge failed for domain n1.t4l35.site
2021-08-07 20:51:50,016:INFO:certbot._internal.auth_handler:http-01 challenge for n1.t4l35.site
2021-08-07 20:51:50,016:DEBUG:certbot.display.util:Notifying user:
Certbot failed to authenticate some domains (authenticator: webroot). The Certificate Authority reported these problems:
  Domain: n1.t4l35.site
  Type:   unauthorized
  Detail: Invalid response from http://n1.t4l35.site/.well-known/acme-challenge/7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM [<IP_ADDRESS>]: "\r\n<title>404 Not Found</title>\r\n\r\n
404 Not Found
\r\n
openresty</cente"

Hint: The Certificate Authority failed to download the temporary challenge files created by Certbot. Ensure that the listed domains serve their content from the provided --webroot-path/-w and that files created there can be downloaded from the internet.

2021-08-07 20:51:50,017:DEBUG:certbot._internal.error_handler:Encountered exception:
Traceback (most recent call last):
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/auth_handler.py", line 93, in handle_authorizations
    self._poll_authorizations(authzrs, max_retries, best_effort)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/auth_handler.py", line 181, in _poll_authorizations
    raise errors.AuthorizationError('Some challenges have failed.')
certbot.errors.AuthorizationError: Some challenges have failed.

2021-08-07 20:51:50,017:DEBUG:certbot._internal.error_handler:Calling registered functions
2021-08-07 20:51:50,017:INFO:certbot._internal.auth_handler:Cleaning up challenges
2021-08-07 20:51:50,017:DEBUG:certbot._internal.plugins.webroot:Removing /data/letsencrypt-acme-challenge/.well-known/acme-challenge/7NbxNjK3MQNOoxSjXFZYs6YHL45J4QcZklHm9vOdONM
2021-08-07 20:51:50,018:DEBUG:certbot._internal.plugins.webroot:All challenges cleaned up
2021-08-07 20:51:50,019:DEBUG:certbot._internal.log:Exiting abnormally:
Traceback (most recent call last):
  File "/opt/certbot/bin/certbot", line 8, in <module>
    sys.exit(main())
  File "/opt/certbot/lib/python3.7/site-packages/certbot/main.py", line 15, in main
    return internal_main.main(cli_args)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/main.py", line 1574, in main
    return config.func(config, plugins)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/main.py", line 1435, in certonly
    lineage = _get_and_save_cert(le_client, config, domains, certname, lineage)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/main.py", line 128, in _get_and_save_cert
    lineage = le_client.obtain_and_enroll_certificate(domains, certname)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/client.py", line 445, in obtain_and_enroll_certificate
    cert, chain, key, _ = self.obtain_certificate(domains)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/client.py", line 375, in obtain_certificate
    orderr = self._get_order_and_authorizations(csr.data, self.config.allow_subset_of_names)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/client.py", line 425, in _get_order_and_authorizations
    authzr = self.auth_handler.handle_authorizations(orderr, self.config, best_effort)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/auth_handler.py", line 93, in handle_authorizations
    self._poll_authorizations(authzrs, max_retries, best_effort)
  File "/opt/certbot/lib/python3.7/site-packages/certbot/_internal/auth_handler.py", line 181, in _poll_authorizations
    raise errors.AuthorizationError('Some challenges have failed.')
certbot.errors.AuthorizationError: Some challenges have failed.
2021-08-07 20:51:50,021:ERROR:certbot._internal.log:Some challenges have failed.

Are you sure the domain is set up to point to the correct server? Could you try updating to v2.9.7 and see if the issue persists?

Yes, domain is for the correct IP. If I access IP:81 from NPM, it works better, with the domain it's giving an error, but before that it wasn't possible. I will update and test.

Have you enabled the Use DNS Challenge toggle?
If your issue still persists even after the update, please post the contents of the file /var/log/letsencrypt/letsencrypt.log in the npm container directly after the error occurs.

I get same error, when I want to create SSL

I get same error, when I want to create SSL.I have done tests with several versions, the versions, 2.8.0, 2.9.7 and latest. In no case could I generate certificates.

New oracle server, posts 80 and 443 open, I can't create certificate, internal error appears.
It's a clean install!
 You should use `allowGraph` instead. `allowEager` method will be removed in 3.0

`QueryBuilder#eager` method is deprecated. You should use the `withGraphFetched` method instead. `eager` method will be removed in 3.0

QueryBuilder#omit is deprecated. This method will be removed in version 3.0

[10/11/2021] [11:49:18 PM] [Nginx    ] › ℹ  info      Reloading Nginx

[10/11/2021] [11:49:18 PM] [SSL      ] › ℹ  info      Requesting Let'sEncrypt certificates for Cert #1: portainer.t4l35.host

[10/11/2021] [11:49:18 PM] [SSL      ] › ℹ  info      Command: certbot certonly --non-interactive --config "/etc/letsencrypt.ini" --cert-name "npm-1" --agree-tos --authenticator webroot --email<EMAIL_ADDRESS>--preferred-challenges "dns,http" --domains "portainer.t4l35.host"

[10/11/2021] [11:49:19 PM] [Nginx    ] › ℹ  info      Reloading Nginx

[10/11/2021] [11:49:19 PM] [Express  ] › ⚠  warning   Command failed: certbot certonly --non-interactive --config "/etc/letsencrypt.ini" --cert-name "npm-1" --agree-tos --authenticator webroot --email<EMAIL_ADDRESS>--preferred-challenges "dns,http" --domains "portainer.t4l35.host"

Saving debug log to /var/log/letsencrypt/letsencrypt.log

An unexpected error occurred:

The server experienced an internal error :: The service is down for maintenance or had an internal error. Check https://letsencrypt.status.io/ for more details.

Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

@talesam This time your error is different. As it says in the log
The service is down for maintenance or had an internal error. Check https://letsencrypt.status.io/ for more details.

As you can see on the letsencrypt status page the issuance was temporarily unavailable that night. Please retry.

@ririko5834 @nahuedev and to everyone who encounters Some challenges have failed.: The error is extremely generic and could mean anything. It is necessary you provide the letsencrypt log in order to have any chance at finding the issue. Please see https://github.com/jc21/nginx-proxy-manager/issues/1271#user-content-certificate-error on how to do that.

@talesam Desta vez, seu erro é diferente. Como está escrito em ambos os logs:
The service is down for maintenance or had an internal error. Check https://letsencrypt.status.io/ for more details.

Como você pode ver na página de status letsencrypt, a emissão estava temporariamente indisponível naquela noite. Por favor tente novamente.

Still with error...
Error: Command failed: certbot certonly --non-interactive --config "/etc/letsencrypt.ini" --cert-name "npm-4" --agree-tos --authenticator webroot --email<EMAIL_ADDRESS>--preferred-challenges "dns,http" --domains "portainer.t4l35.host"
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Some challenges have failed.
Ask for help or search for solutions at https://community.letsencrypt.org. See the logfile /var/log/letsencrypt/letsencrypt.log or re-run Certbot with -v for more details.

    at ChildProcess.exithandler (node:child_process:397:12)
    at ChildProcess.emit (node:events:394:28)
    at maybeClose (node:internal/child_process:1064:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
    ```

![Captura de tela de 2021-10-12 12-51-28](https://user-images.githubusercontent.com/981368/136989091-7b218f75-09ca-4f0d-9e63-605bc1adeac0.png)

It was something in the oracle firewall, I disabled everything and I'm using ufw.


route.action() removes element content when route does not change

If we have an action that returns new element in each call, but children are the same, router ruins the UI by removing children. This happens when revisiting the same route.
Note that this is different than https://github.com/vaadin/vaadin-router/issues/357 because now we return a new element. It does not happen when route changes because the child element changes.
This simple example demonstrates the issue:

   1
   2
   3

//@ts-ignore
import { Router } from '@vaadin/router';

const routes = [
    {
        path: '(.*)',
        action: async (cfg: any) => {
            // Create a new element each execution
            const elm = document.createElement('div') ;

            const content = document.createElement('div');
            content.textContent = `ROUTE: ${cfg.pathname}`;
            elm.appendChild(content);

            // return a new element
            return elm;
        }
    }
];

const router = new Router(document.querySelector('#outlet'), {});
router.setRoutes(routes);

check if this issues is relevant after #357 is fixed.


Realm, some errors when use pod update

Installing Realm 0.100.0 (was 0.99.0)
^@^@^@^@^@[!] /bin/bash -c
set -e
sh build.sh cocoapods-setup
core is not a symlink. Deleting...
Downloading dependency: core 0.98.4
Downloading core failed:
curl: (56) SSLRead() return error -9806

See #2713.