helmfile: Failed to render chart

What happened?
When enabling the sidecar helmfile is unable to render the chart:
STDERR:
  Error: Failed to render chart: exit status 1: Error: unable to build kubernetes objects from release manifest: unable to decode "": json: cannot unmarshal number into Go struct field ObjectMeta.metadata.labels of type string
  Error: plugin "diff" exited with error

It looks like the default values won't work:
sidecar:
  enabled: true
  env:
    label: node-red-settings
    label_value: "1"

When changing the values to for example:
sidecar:
  enabled: true
  env:
    label: node-red-settings
    label_value: node-red-settings

This makes it work. So it seems like the quotes are not rendered correctly.
How can we reproduce this?
Use the following helmfile.yaml:
repositories:
  - name: node-red
    url: https://schwarzit.github.io/node-red-chart/

releases:
  - name: node-red
    namespace: node-red
    chart: node-red/node-red
    version: 0.24.2
    installed: true
    values:
      - values.yaml

And the following values.yaml:
settings:
  name: settings-config
  configMapName: settings-config

sidecar:
  enabled: true
  extraNodeModules:
    - node-red-contrib-microsoft-teams-tasks
    - node-red-contrib-json

When running helmfile apply this error will occur.
Helm Chart version
0.24.2

Search

[X] I did search for other open and closed issues before opening this.

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Additional context
No response

Hey @glenndehaan, thanks for submitting the Issue. It's fixed wiht 0.24.4 of the Chart!

@glenndehaan Awesome! Stay tuned for the other issue! Just need to fine tune the roles/rolebindings later!


DOC: Proper .rst formatting for deprecated features and Backwards incompatible changes

Reference issue
Fixes https://github.com/scipy/scipy/issues/10292.
What does this implement/fix?
Added proper formatting for having deprecated features and backwards incompatible changes as last improvements.
Additional information
None.

fine to backport I think, it does look better

@tylerjereddy e062ffb540025463278be319205f5d11b477a34e.

@tapaswenipathak The CI failures don't look related anymore -- I think CI may be failing on master at the moment!?

@tylerjereddy I think that's creating all CI integration failure issue; the last PR?

Ok, CI is finally working & Ralf is also in favor so in it goes. I'll have some backporting work to do..
Thanks @tapaswenipathak

Perfect timing @tylerjereddy.


Unable to access PyPI's CDN (files.pythonhosted.org) on macOS with IPv6 connectivity

Describe the bug
I'm unable to use pip to install any packages due to it failing to access PyPI's CDN (files.pythonhosted.org), and sometimes PyPI itself, on macOS with IPv6 connectivity (Enabled & available on the network, this is a true dual-stack network, with both real IPv4 & IPv6 address, I know, right? An actual ISP that does that)
The socket gets immediately closed on connection which leads to errors like this (Which are retried until eventually giving up):
Could not fetch URL https://pypi.org/simple/requests/: connection error: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/requests/ (Caused by ProtocolError('Connection aborted.', OSError(22, 'Inv    alid argument'))) - skipping

HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Max retries exceeded with url: /packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl (Caused by ProtocolError('Connection aborted.', OSError(22, 'Invalid argument')))

getpeername on macOS returns with errno EINVAL when the socket is closed.
Disabling IPv6 external connectivity by setting "Configure IPv6" to "Link-local only" in macOS network preferences causes pip to work again, but is obviously not desired.
Expected behavior

For pip install to work. Even with IPv6 connectivity on macOS.
To Reproduce

pip install -v requests

Literally any request to PyPI when you have IPv6 connectivity.
My Platform

pip version 20.1.1
Python 3.8.4 from Homebrew
macOS 10.14.6
A dual-stack IPv4/IPv6 network. Has both a public IPv4 address behind local router NAT, and IPv6 connectivity.
Additional context

log.txt from running pip install -vvv requests

Hi! Could you please open this issue in https://github.com/pypa/pypi-support/issues using the "Network Access Issue" template? That requests some information that helps debug the problem.
FWIW, I'm in the same situation (IpV4 nat, public IPv6) on macOS and haven't experienced this problem, so it's not universal.


Gradle Support

Hi,
The project has some support to Gradle?

I have create a pull request for this: https://github.com/BeyondAR/beyondar/pull/78


fix: fix ENS avatar not resolving when passing address

🧿 Current issues / What's wrong ?
Stamp avatar is not returning the avatar associated to the ENS name when passing an ETH address, instead of ENS name
This does not work: http://localhost:3008/avatar/0x839395e20bbB182fa440d08F850E6c7A8f6F0780
This works: http://localhost:3008/avatar/griff.eth
There are some rare case where it work in the current setup, thanks to the Lens resolver being able to resolve both ETH address and ENS name. The ENS resolver never worked when passing an ETH address 🙈
💊 Fixes / Solution
Fix #184
When passing an address to the ENS resolver, try to lookup the name associated to the address first, and use the returned ENS name to resolve the avatar.
🚧 Changes

Add castToEnsName function to ENS resolver, to ensure we always resolve an ENS name

🛠 Tests
Disable your cache first (comment the AWS lines in your .env)
Both of these addresses should return the same avatar:

http://localhost:3008/avatar/0x839395e20bbB182fa440d08F850E6c7A8f6F0780
http://localhost:3008/avatar/griff.eth

Current tests are failing due to starknet resolver being down, see #186


Unit testing of widgets without loading entire Rails stack in test environment?

(Largely a conceptual variation on #28)
Is it possible to test rendering of widgets from "fast Ruby" tests that don't load the entire Rails environment, or is (what I assume to be) the ActionView dependency dependent on enough outside Rails "magic" to be pulled out by itself reasonably? Has anyone successfully accomplished this?

Hey! I'm back! Completed the PCT a few days ago, and can get back to working on Fortitude.
As far as I'm aware, Fortitude is not dependent on ActionView or anything else from Rails. The only dependencies that fortitude.gemspec declares are as follows:
  s.add_dependency "activesupport", *activesupport_spec
  s.add_dependency "ref", ">= 1.0.5"

Basically, it's just ActiveSupport and ref.
In fact, the vast majority of Fortitude's own specs are written this way — everything in spec/system, which tests all of Fortitude's core functionality. And these run really, really fast as a result (2.88 seconds for 549 examples, on my machine). The stuff in spec/rails does depend on Rails, but that's all done via booting up an out-of-process Rails server (via my oop_rails_server gem), and shouldn't add any dependencies to Fortitude at all.
Fortitude does recognize Rails, if it's present, and add hooks allowing it to be used seamlessly with Rails (lib/fortitude/rails.rb), but that also shouldn't add any dependencies. What behavior are you seeing? I certainly want to keep Fortitude independent of Rails — it should work seamlessly with Rails if you're using it, but should never require it nor prevent you from writing really fast tests. :)

Again, I think the comment in #34 should be helpful here. In short, it’s completely and totally possible to test Fortitude widgets without Rails being loaded (or even available) in the least — you can just .new.to_html them, and it will all “just work”.
Now, if those widgets depend on Rails features, helpers, or variables in order to render themselves, then, yes, the short version is that you do have to have Rails loaded, and have to get the right integration going so the widget is rendered against the proper Rails view_context. If this doesn’t “just work” in any environment in which other rendering engines “just work”, let me know, and I’ll fix it right away.


[WIP] Report includes cols

High Level
Dedup include_as_hash logic for determining columns.
MiqReport#include_as_hash takes the include value from a report.yaml file and generates the includes() value.
The new code works on each layer of the include hash more consistently. Which deletion of duplicate code tends to do.
Details
Making columns into a variable allows us to trim down the if block up front. It also allows us to set klass and columns with a default parameter.
The duplicate code in the iterator of the includes nicely falls out and is handled by the block up front.
I did do this as 3 commits...
Why?
I want to generate the includes in a more straightforward manner. That way we can do a better job generating it and hopefully include fewer tables. (Right now we are including these tables even for intermediary results. Which is bring back many more records and making our count(*) less efficient. (inner joins and use distinct)`

WIP: build_table -> build_reportable_data
those still require "include" value
build_add_includes is very long. Unsure why

oops - WIP'd wrong pr


Circular import.

json_processor.py:7 leads to the circular import.

@cxllmerichie does it? Can you give an example?


Off-By-One Error with VDE Classifications.

The taxonomy and both paradigm tabs have individual category count values reading from the prior categories' totals. Ex: 'Body Extension Alterations' should have the count value assigned to 'Special Effect Alterations', 'Special Effect Alterations' should have the count value assigned to 'Cosmetic Alterations', etc.

Great catch! Fixed here.


Create map.cpp

In this program.
Uses of map function present in Standard template library.Map function will mapped two different data type value.In theabove program I have mapped integer and string.
Input -103,"jodhpur"
105,"delhi"
102,"bombay"
104,"lucknow"
106,"pune"
101,"kerala"
1st program will sort the mapped array usinng string
Output-
102 bombay
105 delhi
103 jodhpur
101 kerala
104 lucknow
106 pune
2nd program will sort the mapped array usinng integer
Output-
101 kerala
102 bombay
103 jodhpur
104 lucknow
105 delhi
106 pune

This code isn't valid. You should either add algorithms or solve questions from various CP sites. Can't just randomly make a question and solve it using STL.


Some options are missing in Dev17.

Environment

Actual result
1. The language server tab is missing.

Go to Tools/options/python
Check the option under Python.

2. Python entries in the Display items list are missing.

Go to to Tools > Options > Environment > Fonts and colors
Check Display items list

3. "Warn when imported module cannot be found" in  tools/options/python/general is missing

4. Diagnostics tab is missing.

This is by-design as Pylance does not support these options anymore.


Is Windows really supported?

The repo description mentions Windows but is there any reason to think that it can be compiled and used on Windows? The source doesn't really look like it. :-)

OK, I spoke too soon, I found FTLK. I started to make it build. First observation:
https://github.com/michaelrsweet/rasterview/blob/05fe309be609a853691f237274c8fba19546ee08/RasterView.cxx#L1196
should probably be
snprintf(s, sizeof(s), "%s - %s", VERSION, base);

@deakjahn No, first because the version should come last and second because "VERSION" is a defined string constant that is concatenated with the first part of the format string.

Then it's a difference in the building process. In my case, the compiler clearly complains about the missing comma. Anyway, that's least of my worries, I'm almost there, compiled, still struggling with linking. It wasn't plain sailing and requires some manual tweaking but I still have hopes. :-)

OK, success. I'll write up some details if somebody else would need it, too.

Download FTLK. There's an ide folder with MSVC projects, build the last one. Collect the following files from the test and lib folders:

fltk.lib
fltkforms.lib
fltkimages.lib
fltkjpeg.lib
fltkpng.lib
fltkzlib.lib
fl_call_main.obj

Copy the following packages into your RasterView source tree:

FL from FLTK
cups
portable (of libportable)
unistd (of libunistd)
zlib (also from FLTK)

Modify the VERSION line mentioned above. The normal build process creates it but we're outside the normal build process now.

Set up your own makefile or whatever to compile. You need to compile five source files:

main.cxx
RasterView.cxx
RasterDisplay.cxx
raster.c
error.c

...and link the resulting object files plus fl_call_main.obj against:

kernel32.lib
user32.lib
gdi32.lib
advapi32.lib
comdlg32.lib
shell32.lib
ole32.lib
oleaut32.lib
fltk.lib
fltkzlib.lib
fltkjpeg.lib
fltkpng.lib
fltkimages.lib

My compiler flags were:

C files: /nologo /MD /FC /GS /W1 /Zi /Gm /Od /Ob2 /Gd /Oy- /Os /Zc:wchar_t /Zc:inline /D_CRT_SECURE_NO_DEPRECATE /DWIN32_LEAN_AND_MEAN /DVC_EXTRA_LEAN /DWIN32_EXTRA_LEAN /c
C++ files: the above plus /EHsc
linker: /nologo /incremental:no /dynamicbase:no /manifest:no /machine:X86 /safeseh /nodefaultlib:libcd /out:RasterView.exe /subsystem:windows

I won't say all of the compiler switches are required, I just started with what FTLK uses in its demo project. Also, remember to also add your includes directories to both the source package above and
the ucrt, um and shared folders of your Windows SDK. You cna probably use the comman dline version of any contemporary Visual Studio version.


Add read_slice!() and write_slice!() macros

Is your feature request related to a problem? Please describe.
I'm always writing this kind of code:
let my_reactive_read_struct_field =
    create_read_slice(my_state, |state: &MyState| {
        state.my_struct_field.clone()
    });
let set_my_reactive_read_struct_field =
    create_write_slice(my_state, |state, new_value| {
        state.my_struct_field = new_value
    });

But when dealing with read/write slices, I don't spend so much time of my life thanks to the existence of the slice!() macro:
let (reactive_field, set_reactive_field) = slice!(my_state.my_struct_field);

Describe the solution you'd like
I would like to refactor the above using:
let my_reactive_struct_field = read_slice!(my_state.my_struct_field);
let set_my_reactive_struct_field = write_slice!(my_state.my_struct_field);

Or maybe some API like:
let my_reactive_struct_field = slice!(my_state.my_struct_field, "read");
let set_my_reactive_struct_field = slice!(my_state.my_struct_field, "write");

Describe alternatives you've considered
This, but shouldn't be as optimal. I'm wrong?
let (my_reactive_struct_field, _) = slice!(my_state.my_struct_field);
let (_, set_my_reactive_struct_field) = slice!(my_state.my_struct_field);

Additional context
Hopefully, these macros could take advantadge of the implementation on #2139.

I'll be honest and say I'm unlikely to implement these as they will probably be superseded by a proper Store type in the next release, and should be a short (4-5 line?) declarative macro in any case. But a PR would be welcome if you think it would be helpful for others too!


Add Java 11 github-actions

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/11407/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/11408/
Test PASSed.

@Xenorith: Sure. Let me get all of these passing (with no retries) first. I may actually do folders instead and also rename the checks to contains 8 and 11.

The result looks pretty good so I fixed the name. @Xenorith looks good?

One of the things you have noticed here is that there is a bit of code copying here that I could avoid by putting java8/java11 split into the matrix. I'm intentionally not doing that because putting them in the matrix will prevent us from rerunning separately when they fail.

so what you're saying is all these problems (cleaner code, no retry runs) will be fixed if there weren't flakey tests. shake angry fist

No for the cleaner code because I can imagine someone committing a bug that is specific to Java 11 and want to rerun just that. For that problem, shake fist at https://github.community/t/ability-to-rerun-just-a-single-job-in-a-workflow/17234 instead. In fact, without this and lots of complaints I might end up having 19 almost duplicate files instead!

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/11409/
Test PASSed.

I'm worried at all the 60 second test timeouts in java 11 test so going to run it again.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/11411/
Test PASSed.

Yep the tests seem to reliably hit the 60 second timeout limit on the first try :/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/11435/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-PR-Builder/11436/
Test FAILed.

@gpang Just rebased with master so this should pass and probably be ready to merge.

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.4 please


S4-214: Added goal trigger for Matomo on Confirmation page PDF link

Description
Added Javascript to PDF download link to trigger Matomo goal
Coding Standards
Code Style Guide: https://github.com/companieshouse/dissolution-web/wiki/Code-Style-Guide
Checklist

[x] 3 Amigos
[x] Acceptance Criteria met
[x] Branch named {feature|hotfix|task}/{S4-*}
[x] Commit messages are meaningful
[x] Manually tested
[x] All unit tests passing
[ ] WAVE accessibility testing tool ran on new or updated pages
[x] Pulled latest master into feature branch
[ ] Code reviewed
[ ] New Docker environment variables are consistent with those on the Rebel1 environment
[ ] If your pull request depends on any other, please link them in the description

Screenshots

@faggc Don't forget to add that env var to the dissolution-web.docker-compose file, and the chs-configs for rebel1 and cidev


Synchronization in wrong direction when linking products from existing second language page

Can you reproduce this issue on default Wordpress theme (eg Storefront)?
yes
Can you reproduce this issue when all other plugins are disabled except WooCommerce, Polylang and Hyyan WooCommerce Polylang Integration?
yes
What product versions and settings are you using when this issue occurs?

PHP: <IP_ADDRESS>
WordPress: 4.8
WooCommerce: 3.08
Polylang: 2.1.5
Hyyan WooCommerce Polylang Integration: 1.0.2
Browser: any

Steps to Reproduce

create product page in default language, set price to 100. (simple or variable product, doesnt matter,). Publish.
create product page in second language by clicking on "Add product" NOT by clicking on the + in the language settings editor. Set price to 200. Publish.
Now go into the just created page in second language and link it to the page in the default language.

What I Expected
The product in the second language would have the price and all other metas syncd to the metas of the product in the default language. So both would show the price of 100.
What Happened Instead
The product in the default language had the price and all other metas syncd to the metas of the product in the second language. So both showed the price of 200.

This is correct normal behaviour and the same as for Pages, Posts etc, last save wins.
The variations behaviour is the exception due to the implementation strategy used by this plugin, ideally it would work in the same way.


enable VideoWriter class for java

fixing fourcc
small test case: https://gist.github.com/berak/28ba78093943d3120dd4
hmm,    https://github.com/Itseez/opencv/pull/4006
i guess, this won't get merged into trunk (due to the android issue),
still, please let me run this through the buildbot once, so we know we got a valid patch to send
folks from answers.opencv.org to. (this is asked soo often from desktop java users..)

@mshabunin, should it be merged in?

i originally thought @sgjava's commit was reverted because of the finalizer issues,
only saw @apavlenko 's objection in #4006 after submitting.
well, if some innocent soul tries it on android, and it crashes without further explanation, - maybe we should not merge it now.
are there plans to add the new standalone mjpg encoder to android ? folks there would definitely like to save a video file now and then... (and this would at least partly solve the 'missing backend' problem there)
again, imho, there's no hurry, as long as there's a simple patch for those desktop java users, who urgently need it.

This was reverted, but I use patching to fix the memory leaks. See https://github.com/sgjava/opencvmem

ah, sorry, @sgjava,  probably should not have pinged you.
this is all about the VideoWriter, not about any memory issues.

My scripts also generate VideoWriter for Java, but I believe they were saying this crashes on Android. I'm using the "Desktop" version of OpenCV. I'm still run this on Android sticks, but they are running Ubuntu :)

@sgjava : maybe we can activate you for  http://answers.opencv.org/questions/scope:all/sort:activity-desc/page:1/query:java netbeans/ ? :)
(you seem to have all the answers lacking there ;)

Well, if I had unlimited time I'd be happy to. Most of the questions revolve around Windows/NetBeans. I'm primary developing on Ubuntu and targeting Mini PCs like ODROID C1. See https://github.com/sgjava/ubuntu-mini.

@berak , @sgjava , I don't mind enabling VideoWriter in Java - let's just handle it correctly on Android!

Thank you!
I've checked VideoWriter on Android (armeabi-v7a with NEON) and desktop java and it works fine with new MotionJPG codec.
:+1:

Now we just need to work on const_ignore_list in order to enable required constants. My install script comments out CV_CAP_PROP_FPS, CV_CAP_PROP_FOURCC and CV_CAP_PROP_FRAME_COUNT which work as expected. I haven't tested others yet.

:+1: for the Android+MJPEG!

Hi excuse me if this is not the place to post this issue, I have jus clone the repository and built the it on Mac os Yosemite and the VideoWriter class still does not appear in the java jar. I followed the instructions on this page http://blogs.wcode.org/2014/10/howto-install-build-and-use-opencv-macosx-10-10/ to install opencv on my device. I appreciated any help with this.

@damanzano , to get these changes you need to compile opencv master instead of using a public package - they have not been released yet.

For 3.0.0 release and earlier you can comment out VideoWriter in modules/java/generator/gen_java.py prior to compiling. Master already has this change as apavlenko pointed out.


add GraphRAG

add  GraphRAG

ollama is just an inference engine, it doesn't do RAG.  See the list of projects that use ollama for something that might implement GraphRAG.

@tqangxl Can you please close this issue? Ollama is not a RAG engine though it does interoperate with many of those, see link above.


Retrive State Tool Should Not Do A Directory Walk to Check For Existing Blocks

The proposed implementation of the retrieve state tool uses a directory walk to check for existing blocks before resuming (see here).
On slow disks this does not have great performance.

new PR https://github.com/casper-network/casper-node/pull/2182


[COOK-4685] Set pid to /run/nginx.pid on Ubuntu 14.04

This pull requests sets the pid attribute in the default attributes to the new /run/nginx.pid on Ubuntu 14.04.
https://tickets.opscode.com/browse/COOK-4685
Please advice on a better way to do the platform and version checking.

Can we get this merged? I spent a whole day looking at this issue and only just figured it out.
The fact that nginx::source works and nginx::package doesn't only made this more confusing.


[Impeller] Create thread specific ContextVK's

This basically means refactor CommandPookVK to not use a thread_local std::map<uint64_t, std::shared_ptr<CommandPoolVK>> variable.
The problems with the current design are:

Accessing the CommandPoolVK incurs overhead from the thread_local
Accessing the CommandPoolVK incurs overhead from the std::map
thread_local non-trivially deleted objects have undefined deletion order (we've worked around this issue with weak_ptr checks and releasing vk wrapper objects)
the thread_local data can leak when a shared thread pool is used for multiple engines

(internal) design doc: go/impeller-context-thread-specific
The suggestion is to make a ContextVK subclass that is used for background threads and stores its own CommandPoolVK, or to wrap up the context in an object that stores the thread specific information like the CommandPoolVK.

From the weekly sync a couple of days ago, the finding was that this was something we was not a lot of gain for a lot of effort. We could revisit this in the future. I have added the doc to shortlinks. But closing this issue now.

@chinmaygarde can we drop the priority on this and keep it open?  I think it's something we should do and may become necessary as thread specific storage gets more complicated with new caching of driver objects.
The decision for me was that this is a better design and has better performance but is a bit more involved than I expected so my time is better spent elsewhere now.
We definitely shouldn't be adding to the thread local storage.

Sure. Was just tidying up the dashboard. Don't want to close stuff thats useful.


Board detect v2

Changes from v1:

merged minor commits
s/99_board_detect.json/50-default.json/
Check file name for '.json' extension
Add variable to turn "data" explicit

Merged with the proposed changes.


README: update sponsors.

Custom tiers aren't handled here yet.

Review period skipped due to critical label.


Add these pages Modules, Promises, Async/Await in js

📥 Pull Request
Description
Add these pages Modules, Promises, Async/Await in js
Fixes #1056
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules

@ajay-dhangar  I add three pages so please label level 3


Fix ChannelExec exit status handling

Currently only ChannelShell exit status is handled, so any non-zero error codes from ChannelExec will be just discarded. This PR adds ChannelExec exit status handling.

retest this please

Checking the build on Jenkins.

I did check master build with fix applied, it seem to work as intended:
$ cd assemblies/apache-karaf/target/assembly/bin
$ ./start
$ ./client instance:list
client: JAVA_HOME not set; results may vary
Logging in as karaf
SSH Port │ SSH Host │ RMI Registry │ RMI Registry Host │ RMI Server │ RMI Server Host │ State   │ PID   │ Name
─────────┼──────────┼──────────────┼───────────────────┼────────────┼─────────────────┼─────────┼───────┼─────
    8101 │  <IP_ADDRESS> │         1099 │         <IP_ADDRESS> │      44444 │       <IP_ADDRESS> │ Started │ 31653 │ root
$ echo $?
0
$ ./client non-existent-command
client: JAVA_HOME not set; results may vary
Logging in as karaf
Command not found: non-existent-command
$ echo $?
1

retest this please

Jenkins was down, now I triggered a new build on it.

retest this please

Can you please rebase with master ? I fixed the build with #606

Done!


Larger touch target for back button in Toolbar on Android

Fixes #413

@nickmly can you drop a screenshot into the comment above?

@timarney Updated the comment. The button is the same size but the target is larger. I can also update the button size if needed.

Thinking we need to update the button size. On my Pixel XL it's quite small. Google Suggested min. 48 pixels if I remember correctly.

Updated to be 48px in size:

@emilykuret ☝ see button above and comment.

There seems to be a missing pixel in the arrow - but the size looks good. thank you!

Okay going to merge this as is as it covers the original ask.
Additional issues should be open pending direction on

Should it be text?
https://github.com/cds-snc/covid-shield-mobile/issues/250

If not - fix the back arrow icon so it can be bigger.


Docs: Typo

Aim
The wrapping_add function expects two arguments. However it was supplied x + y rather than x, y
Page: https://noir-lang.org/docs/noir/syntax/data_types/integers

Expected Behavior
Should be
std::wrapping_add(x , y);
Bug
It currently is
std::wrapping_add(x + y)
To Reproduce

Installation Method
None
Nargo Version
No response
Additional Context
No response
Would you like to submit a PR for this Issue?
No
Support Needs
No response

hey,
can confirm this is a typo


Icon submission: TheHive

Icon type
Logo based
URL of the site or app
https://thehive-project.org/
Logo / icon info
Grabbed logo and colors from the front page
Background color info
Background color is from the logo.
I also provide a fg.var version because the color is yellow and the white icon could be hard to see
Upload icon(s)
TheHive.zip
Anything else?
I could not union the paths of the logo, because the color of some parts relies on the fill and others on the border, so union was making weird results.
Confirmation

[X] I have read and carefully followed CONTRIBUTING document

Thank you for the tip, I was able to convert everything to path and union them correctly afterwards.
Here is the edited version (with only the standard version as fg.var was not necessary) :
TheHive.zip

Added to the repo, with fg.var after all. I was wrong, it needed that after all.


Always send new healthy endpoints

Please provide a description of this PR:
We should always send new healthy endpoints. This typically happens when EndpointSlices are manually managed or pods are selected by a ServiceEntry
Fixes https://github.com/istio/istio/issues/48373
To help us figure out who should review this PR, please put an X in all the areas that this PR affects.

[ ] Ambient
[ ] Configuration Infrastructure
[ ] Docs
[ ] Dual Stack
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

Please check any characteristics that apply to this pull request.

[ ] Does not have any user-facing changes. This may include CLI changes, API changes, behavior changes, performance improvements, etc.

@dddddai: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-basic-arm64_istio
8c436eae834b2422221cd96bdcc0bbb116511c20
link
true
/test integ-basic-arm64

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/retest

need back port?

/cherry-pick release-1.20
/cherry-pick release-1.19

@hzxuzhonghu: new pull request created: #48427

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

need back port?

Yes

In response to a cherrypick label: #48408 failed to apply on top of branch "release-1.19":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/xds/eds_test.go
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #48430

@hzxuzhonghu: #48408 failed to apply on top of branch "release-1.20":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: new issue created for failed cherrypick: #48431

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: #48408 failed to apply on top of branch "release-1.20":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: new issue created for failed cherrypick: #48456

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: #48408 failed to apply on top of branch "release-1.19":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/xds/eds_test.go
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: new issue created for failed cherrypick: #48457

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

In response to a cherrypick label: #48408 failed to apply on top of branch "release-1.18":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/xds/eds_test.go
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #48458

1.18 is EOL

@hzxuzhonghu: #48408 failed to apply on top of branch "release-1.20":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: new issue created for failed cherrypick: #48463

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: #48408 failed to apply on top of branch "release-1.19":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/xds/eds_test.go
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@hzxuzhonghu: new issue created for failed cherrypick: #48464

In response to this:

/cherry-pick release-1.20
/cherry-pick release-1.19

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

In response to a cherrypick label: #48408 failed to apply on top of branch "release-1.18":
Applying: always send new healthy endpoints
.git/rebase-apply/patch:69: trailing whitespace.
issue:
warning: 1 line adds whitespace errors.
Using index info to reconstruct a base tree...
M	pilot/pkg/model/endpointshards.go
M	pilot/pkg/xds/eds_test.go
Falling back to patching base and 3-way merge...
Auto-merging pilot/pkg/xds/eds_test.go
Auto-merging pilot/pkg/model/endpointshards.go
CONFLICT (content): Merge conflict in pilot/pkg/model/endpointshards.go
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 always send new healthy endpoints
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

In response to a cherrypick label: new issue created for failed cherrypick: #48465

1.18 is EOL

We've already cherry-picked into the release-1.20.


Variable Length Intervals (End of Month) Migrate to Lowest Common Schedule

Hi,
We've found that anything scheduled for the 31st of the month will move to the 30th in months that do not have a 31st (expected), but then continue to execute on the 30th in all subsequent months (unexpected).
For example, a schedule would follow this pattern:

2012-01-31T00:00:00.000Z
2012-02-29T00:00:00.000Z
2012-03-[29]T00:00:00.000Z => should be [31]
2012-04-[29]T00:00:00.000Z => should be [30]

This is caused by the current behavior of ScheduleStream, which holds the schedule as a string and rewrites it after each execution. So in effect, the scheduler will only project 1 period forward from the last execution time, not N periods forward from the original schedule.

I have fixed the issue in a local build of chronos by converting the stream to always project N periods forward from the original schedule start; however, I'd like some information on how the persistence is intended to work?
At the moment, chronos persists the modified schedule string during each scheduleStream() operation. I've converted the internal ScheduleStream to use a schedule case class structure instead. The main hiccup I see there that is potentially important to persist is the number of recurrences left for bounded schedules. Storing the already executed number of periods would also potentially reduce startup time by preventing generating N stream items on reload.
Would it be reasonable to add the Schedule datastructure to the persisted information? Or do we need to continue to persist the incorrect schedule for any backwards compatibility reasons?


how to port reskins onto other mods?

Describe your problem here.
basically what I want to do is make a mod folder that has character reskins and images all around the game (including other mods, normal game), not just the mod itself. is that possible?

Are you modding a build from source or with Lua?
Lua
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
No response

you put you're note skin in images

then you the chart editor on the song tab you put you're note skin name in

do this in the mod folder

but I don't need the note texture? I am trying to swap a character trough different mods but in a mod folder. Idk how to do that, so I had to put images and characters folders into mods folder

You can try putting the spritesheets with the .xml into the images/characters folder and the .json on the characters folder. However, making a custom folder for all the characters it's not possible on Lua (i think), you have to make a new mod with the images and characters folder.

rip so then it's impossible?

Making a mods folder for the characters its possible, but making custom folders for the characters its impossible on lua.

Simply put the images inside mods/images/characters/ instead of the usual method of mods/Mod Folder Name/images/characters/

I know, that's what I did, but imagine you want to upload the reskin/rechart/new difficulty to gamebanana. The mods folder would be messy. Maybe like make an update in which you can make a folder called "public" which is literally mods/images/characters (and other public stuff), but more organized.


Could I implement extra sql functions like EF.Functions ?

In PostgreSQL, it's has a lot of practical expansion, like PostGIS and TimescaleDB.
But when I use them, I have to execute the sql string that is whole handwritten to call the sql function which is provided by the extension. Like st_transform() or time_bucket().
On the other hand, PostgreSQL has many advanced sql statements. Like SELECT DISTINCT ON (fields) ..., it's also difficult to generate by EFCore, right?
So if we can custom some translator like which in the EF.Functions, it will be awesome.

@PMExtra You can use DbFunctions (see https://github.com/aspnet/EntityFrameworkCore/issues/7368) to map functions in your application code. Other extensions to SQL translation are also possible, but harder to do since you'l likely need to implement custom code in the query translation services.

@PMExtra I'd definitely be interested in any translation improvements which allow Npgsql to cover more PostgreSQL-specific SQL.
For any standard PostgreSQL function (as opposed to your own, custom functions added with CREATE FUNCTION), please consider sending a PR rather than implementing things in your own project - this will allow everyone to profit from the translation.
For other, non-function translation, as @ajcvickers said it would require a bit more work - but is definitely not impossible. You're welcome to experiment and send PRs on this kind of scenario as well.


Revert "Make buffer Clear() thread safe (#523)"

This reverts commit f853da2c33f66e660920dbb425f9ff151680a503.

coverage: 99.236% (-0.001%) from 99.237%
when pulling 3d094b52bfa071fae33ea601c59c9e647a63d26d on users/alexpeck/ts3
into 42018873e1dde18cd53fe4d703d8c6a97c14b2ce on main.

Instead fixed by https://github.com/bitfaster/BitFaster.Caching/pull/526


Guests restriction does not apply for SPO External sharing

The setting "No one in the organization can invite guest users including admins (most restrictive)" (under "External collaboration settings") does not apply to SharePoint "External sharing" (https://docs.microsoft.com/en-us/sharepoint/external-sharing-overview). Even if you have this setting set to "Yes", you are still able to invite guests via SharePoint, for any active site, if you go to Permissions > Add members > Share site only > invite any guest.
The guest will receive an email invite and will be able to accept the invite and will be added as a guest in Azure AD.
So, a note is needed in the article to mention the above.

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

ID: a586047b-a3f3-9cc7-5408-e06f81c1ff99
Version Independent ID: 5a6f9e74-2859-6f44-1ec4-9fada1441df5
Content: Azure AD Multi-Factor Authentication overview
Content Source: articles/active-directory/authentication/concept-mfa-howitworks.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@sopopa2
Thanks for your feedback! We will investigate and update as appropriate.

@sopopa2
Thank you for your detailed post!
When it comes to the documentation that you created this GitHub issue under, are you asking for a note to be added within our MFA documentation regarding guest restrictions not applying to SPO external sharing?
If you have any other questions, please let me know.
Thank you!

Hi,
I am asking for a note to be added regarding this setting:
"No one in the organization can invite guest users including admins (most restrictive): To deny everyone in the organization from inviting guests, select this radio button."
https://docs.microsoft.com/en-us/azure/active-directory/external-identities/external-collaboration-settings-configure#to-configure-external-collaboration-settings
As I mentioned, guests can still be added through SharePoint external sharing, because it's not using Azure B2B mechanism.
Kind regards,
Sorin Popa
Support Engineer
Azure Identity
Customer Services and Support
 Office: +40 (31) 1330447
<EMAIL_ADDRESS> Mon-Fri 9:00-18:00 CET

[Microsoft Logo]
Team Manager | Vlad Vlaicu<EMAIL_ADDRESS>If you have any feedback about my work, please let either me or my manager know.
From: James Tran-MSFT @.>
Sent: Tuesday, March 22, 2022 8:06 PM
To: MicrosoftDocs/azure-docs @.>
Cc: Sorin Popa @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Guests restriction does not apply for SPO External sharing (Issue #90219)
@sopopa2https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsopopa2&data=04|01|sorin.popa%40microsoft.com|d2b87fcfd7f4404c1e3708da0c2e9599|72f988bf86f141af91ab2d7cd011db47|1|0|637835691498637501|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=19lpS0PtqKSjTt9T7MuGscEd2J6ccO9D%2FaYJjV8QOpQ%3D&reserved=0
Thank you for your detailed post!
When it comes to the documentationhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs.microsoft.com%2Fen-us%2Fazure%2Factive-directory%2Fauthentication%2Fconcept-mfa-howitworks&data=04|01|sorin.popa%40microsoft.com|d2b87fcfd7f4404c1e3708da0c2e9599|72f988bf86f141af91ab2d7cd011db47|1|0|637835691498637501|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=6wNCL2%2BjE5PP0IvGtV3oAmgbLVWJAtiuet0%2FNhrpc5c%3D&reserved=0 that you created this GitHub issue under, are you asking for a note to be added within our MFA documentation regarding guest restrictions not applying to SPO external sharing?
If you have any other questions, please let me know.
Thank you!

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fissues%2F90219%23issuecomment-1075458849&data=04|01|sorin.popa%40microsoft.com|d2b87fcfd7f4404c1e3708da0c2e9599|72f988bf86f141af91ab2d7cd011db47|1|0|637835691498637501|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=jd0YBceO7fHULD4lrnYjk9nXRyzFoXNVoQJHqkYD0CE%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAYLOUXLQ5MU44WDEB35VHSDVBIDXRANCNFSM5RLB7YLQ&data=04|01|sorin.popa%40microsoft.com|d2b87fcfd7f4404c1e3708da0c2e9599|72f988bf86f141af91ab2d7cd011db47|1|0|637835691498637501|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=RZTLVXwnKPwgjtlfV4mlkrjvtDVw1uqW1ic5sTetrPA%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

@sopopa2
Thank you for the clarification! I've created a PR to update the documentation and it's currently waiting for the author to review and sign off.
I will now close out this issue. Please allow some time for the author to review and the changes to reflect.
Thank you for your time and patience!


Fix non-default childrenField and TreeNodeContent not rendering until a browser event

I made three changes:

Updated the setData function to account for a non-default childrenField

Changed the way TreeNodeContent is being loaded.

I'm using ComponentResolver instead of DynamicComponentLoader, since evidently DynamicComponentLoader is being deprecated.  (http://stackoverflow.com/a/35508835/5191105)
I removed the setTimeout before loading TreeNodeContent and instead use componentRef.changeDetectorRef.detectChanges() once it is instantiated.

Changed #node of ... to let node of ... since they like to change the syntax every couple weeks.

I've added support for dblclick and contextmenu events too.  I created angular2-contextmenu (on npm) to implement the actual context menu.

If you want me to split any of this out into separate pull requests I can do that.  Just let me know which pieces you're interested in.

Great thanks a lot!
I'm on vacation I'll do my best to look at it in a week or so.
BTW, I'd really like to hear your opinion as early user of the library, do
you find it useful? Is it easy and simple to use enough?
On Wed, May 25, 2016 at 1:32 PM, isaacplmann<EMAIL_ADDRESS>wrote:

I've added support for dblclick and contextmenu events too. I created
angular2-contextmenu (on npm) to implement the actual context menu.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/500tech/angular2-tree-component/pull/2#issuecomment-221698138

--
Adam Klein
CTO & Co-Founder
Tel. +972-52-747-5633
blog.500tech.com http://blog.500tech.com
meetup.com/angularjs-il

The latest commit fixes Issue #1.


Reserved function parameters should be clearly documented

A user wrote a function def my_func(obj): <his code>. Execution failed without clear error. Eventually turned out that "obj" parameter is reserved in Lithops.
We should clearly document what params are reserved to prevent further similar issues.

They are now specified in this document: https://github.com/lithops-cloud/lithops/blob/master/docs/functions.md#reserved-parameters


[SPARK-14374] [ML] [PySpark] PySpark ml GBTClassifier, Regressor support export/import

What changes were proposed in this pull request?
PySpark ml GBTClassifier, Regressor support export/import.
How was this patch tested?
Doc test.
cc @jkbradley

Test build #55798 has started for PR 12383 at commit 7fe414a.

Test build #55798 has finished for PR 12383 at commit 7fe414a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class GBTClassificationModel(TreeEnsembleModels, JavaMLWritable, JavaMLReadable):
class GBTRegressionModel(TreeEnsembleModels, JavaMLWritable, JavaMLReadable):

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/55798/
Test PASSed.

Merged build finished. Test PASSed.

Taking a look now

LGTM
I'll rerun tests once more to make sure some recent pyspark changes are reflected in the tests

Test build #2789 has started for PR 12383 at commit 7fe414a.

Test build #2789 has finished for PR 12383 at commit 7fe414a.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
class GBTClassificationModel(TreeEnsembleModels, JavaMLWritable, JavaMLReadable):
class GBTRegressionModel(TreeEnsembleModels, JavaMLWritable, JavaMLReadable):

Merged into master. Thanks!


Unjustified typescript error when using for..of on a NodeList

Issue Type: Bug
Consider this code:
const elements = document.querySelectorAll('div');
for (const element of elements) {
    console.log(element);
}

The editor will produce an "errror" on elements saying:

Type 'NodeListOf' is not an array type or a string type. (ts2495)

While that message is technically correct, there isn't a reason to produce an error there in the first place, because a NodeList is perfectly iterable. The same problem happens when spreading a NodeList into an array, like so: [...elements].
I don't understand why typescript is complaining about this ONLY in the editor. The code compiles perfectly fine, so there's not anything I have to do in my compiler settings. Not only does it compile, it even works.
In the editor, VSCode seems to be using typescript 3.4.5. Surely by now, typescript knows that there are more iterable objects than only arrays and strings. As far as I can tell, there's something wrong with the built-in typescript engine.
This problem has existed for as long as I'm using typescript, which is a few months, and apparently this problem made it unfixed in 1.34, which I'm sad to find out about.
 I believe this is by design but someone on the TS team would have to clarify why.
This config fixes the issue:
"compilerOptions": {
    "module": "commonjs",
    "target": "es5",
    "downlevelIteration": true,
    "lib": [
        "es2016",
        "dom",
        "dom.iterable"
    ]
}

Where should I put this config?

You've probably figured it out by now but just in case: you should put that in the tsconfig.json file in your main project directory.

I hadn't, but let me repeat that VScode is not using my project's typescript engine. It's using its own built-in engine. So why (and how) would it know to use my particular tsconfig?

@thany, you can click at the bottom of the VsCode editor the version number of TypeScript. It will open a dialog where you can select "Use workspace version". The workspace version is the tsconfig.json that is at the root of your project (the folder that contains all the source files of your application).

I don't have that option, for some reason.
Probably a bug in vscode if it does manage to find our tsconfig but doesn't know which typescript version it's for 🤷♂


Implementing wildfly core/security https://issues.jboss.org/browse/SWITCHYARD-2847

This code must be improved and tested. (I am working now on a quickstart demo project using Oauth(OpenId connect) and bearer token autentication).
Check the code, this trying to solve a problem with switchyard on Wildfly (jboss-web dependency is no longer valid on Wildfly 8).
Furthermore, it has an implementation using Keycloak security (openid bearer token authentication) on Wildfly.
The next week if i can will send you a demo project using keycloak security on wildfly.
Note: For Wildfly 9 or 10, needs to make a change on dependencies. It was developed using Wildfly 8.1.0.Final

Can one of the admins verify this patch?

Can one of the admins verify this patch?

I've added a demo quickstart Project to it.

Hi @arielcarrera ,
Thank you for this big contribution! and sorry for the delayed response. It looks great and I'd like to ask you a couple of things to merge this:

Could you 'squash' the commits into one?
Could you try this with latest upstream master of SwitchYard & WildFly10?
Is policy-security-saml quickstart still working on EAP6 & WildFly10 with this change? wondering why CLI scripts are commented out in POM
Is there any other quickstart you've tried with your code? I'll test with all the security related quickstarts before merge this, but if you did any of them already then please let me know how it went.

One more thing, it looks the org.keycloak.keycloak-core is not a part of WildFly10 distribution so we can't depend on it unless it could be installed automatically in SwitchYard installation. Any ideas?

Hi Tomohisa, i will try to respond all your answers:
1- I will try to split the source in two different commits/issues but you needs to consider that one issue depends of the other.
2- I have updated the code until 1st March and made some changes to work with Wildfly 10.0.0.Final
3- Before of this commit, the security in Wildfly (8,9 and 10) has not been working. The issue SWITCHYARD-2847 is about this problem (I reported the problem in the forum). The Jboss EAP uses a different core/security module and it has not been changed by me. My changes to work with keycloak's security only refers to Wildfly. I don't have a Jboss EAP to try it, sorry. I think that "policy-security-saml" is working after this but it needs to be tested again.
4- I just tried with "policy-security-saml" and my keycloak example.
5- Yes, you are right. I installed a keycloak module on Wildfly. I will try to create the assemblies into de distribution folder if I can.

Thank you for working on this actively!
You're right, the security bits has been broken when I updated the WildFly version to 10 due to the servlet engine replacement (catalina > undertow). Before that the CLI scripts are required for both of EAP and WildFly, so just commenting it out should be breaking setup/cleanup for the policy-security-saml quickstart when running on EAP.
Fixing that basic security bits is mandatory anyway, on the other hand the keycloak support is experimental and we need to keep it optional so people doesn't use keycloak won't be annoyed. That's why I thought we need to manage separate JIRA and pull request.

So, I'm sorry to be changing my word, but now I think it would be better to have a manual step to add keycloak module and make it pluggable by configuration rather than install it automatically so that the other SwitchYard user won't be affected. Still your policy-security-openid-connect demo would be great enough for the SwitchYard+keycloak users.

Hi Tomohisa, sorry for the delay, I have been a little busy during last days... as soon as i have time i will commit the two pull requests that you wants.
Thanks.

Closing as this is out of date


Kontena agent weave launch with custom hosts

Currently we are running kontena agent on private server. Our services use third party ones (outside of our grid, within the same private network) and we need to access them using standard domain names. As weave regenerates the /etc/hosts file on each update, we are unable to use this way to specify custom DNS settings.
I found that agent is building array of exec params in lib/kontena/network_adapters/weaver.rb so it could be possible to support weaves --add-host flag with little modifications.
Or is there another (preferred) way how we can handle this scenario?

That Kontena::NetworkAdapters::Weave#launch is the launch-router command, you probably mean the weaveexec attach --add-host flag which is elsewhere (attach_overlay / attach_container).
Unless you can actually add those internal domain names to your upstream network DNS resolver, then being able to resolve custom external DNS names from service containers would AFAIK require some new Kontena feature. Either defining them on the service and including them in the rewritten /etc/hosts file generated by weaveexec attach --add-host, or possibly also something to register custom names into WeaveDNS at the grid level - although I'm not sure if that would work for non-kontena.local names.


OpenSSL 3.0 FIPS Module/provider related question

We download OpenSSL source from here : https://www.openssl.org/source/ and use the 3.0.x (latest one available).
We then build the openssl source code using the below steps :
./Configure --prefix=/usr --openssldir=/usr/lib/ssl --libdir=lib/x86_64-linux-gnu enable-fips
make

We then create our own packages (libssl3, libssl-dev and openssl) for debian 10 & 11. This is because debian does not provide a FIPS enabled version of openssl 3.0 for Debian 10 & 11.
The latest OpenSSL code drop is 3.0.9 version. However, the FIPS compliant FIPS module is from 3.0.8 version as per https://www.openssl.org/source/
Because we use this in a FedRAMP environment, we now have to figure out how to package the fips module separately. This means, we should be able to install OpenSSL 3.0.9 but use FIPS module version 3.0.8. Is there a list of files that make up the FIPS module? Is fips.so the only thing in FIPS module? Or are there other header files that go along with the FIPS module?
My second question is, does OpenSSL community do any level of testing for inter-compatibility between say OpenSSL 3.0.9 code running with 3.0.8 version of FIPS module?

The relevant instructions are in #20907 which hasn't been approved or merged yet.
If Debian is shipping OpenSSL 3.0, you'd be able to just install the FIPS provider from 3.0.8.
OpenSSL does do cross version testing and we expect FIPS providers from all validated 3.x releases to work with all 3.y releases.

Thank you @paulidale


AttributeError: 'NoneType' object has no attribute 'lower'

exp = BaseExperiment(args, dataloaders=(dataloader_train, dataloader_val, dataloader_test)) this ligne raised me an error, i do not know how could i fix it ? Any help !

It seems that method or model_type is not specified. Are these two variables None?

It seems that method or model_type is not specified. Are these two variables None?

sched_lower = args.sched.lower()         #########################THIS LINE############################
total_steps = epoch * steps_per_epoch
by_epoch = True
if sched_lower == 'onecycle':
    lr_scheduler = optim.lr_scheduler.OneCycleLR(
        optimizer,
        max_lr=args.lr,
        total_steps=total_steps,
        final_div_factor=getattr(args, 'final_div_factor', 1e4))
    by_epoch = False
elif sched_lower == 'cosine':
    lr_scheduler = CosineLRScheduler(
        optimizer,
        t_initial=epoch,
        lr_min=args.min_lr,
        warmup_lr_init=args.warmup_lr,
        warmup_t=args.warmup_epoch,
        t_in_epochs=True,  # update lr by_epoch
        k_decay=getattr(args, 'lr_k_decay', 1.0))
elif sched_lower == 'tanh':
    lr_scheduler = TanhLRScheduler(
        optimizer,
        t_initial=epoch,
        lr_min=args.min_lr,
        warmup_lr_init=args.warmup_lr,
        warmup_t=args.warmup_epoch,
        t_in_epochs=True)  # update lr by_epoch
elif sched_lower == 'step':
    lr_scheduler = StepLRScheduler(
        optimizer,
        decay_t=args.decay_epoch,
        decay_rate=args.decay_rate,
        warmup_lr_init=args.warmup_lr,
        warmup_t=args.warmup_epoch)
elif sched_lower == 'multistep':
    lr_scheduler = MultiStepLRScheduler(
        optimizer,
        decay_t=args.decay_epoch,
        decay_rate=args.decay_rate,
        warmup_lr_init=args.warmup_lr,
        warmup_t=args.warmup_epoch)
else:
    assert False and "Invalid scheduler"

return optimizer, lr_scheduler, by_epoch

It seems that method or model_type is not specified. Are these two variables None?

And please tell me what are thos variables     what they do exactely ??
'N_S': 4,
'N_T': 8,
'hid_S': 64,
'hid_T': 256
Those as well ?
'pre_seq_length': pre_seq_length,
'aft_seq_length': aft_seq_length,

and tell me
the shape is B x T x C x H x W
B: the number of samples
T: the number of frames in each sample
C, H, W: the height, width, channel of each frame
the channel is the third variable or the last one.
Thank you so much

You could specify the sched . For example, --sched onecycle .
The channel is the third one, and we have fixed this comment in commit #0a0f36c.

I will close this issue if there is no more question. Please feel free to open a new issue when you have new questions.

You could specify the sched . For example, --sched onecycle .
The channel is the third one, and we have fixed this comment in commit #0a0f36c.

Ok cool it works


conformance profiles: how to handle multiple "modes" in a project

Slack context: https://kubernetes.slack.com/archives/CR0H13KGA/p1690238884857489?thread_ts=1690225970.833499&cid=CR0H13KGA
Many projects can operate in different modes. Some examples are Istio in sidecar mode vs ambient, GKE in internal LB mode or external LB mode (or multicluster vs single cluster), etc.
We should prescribe how these are reported in conformance profiles.

Good question. In GKE behavior is unique per GatewayClass, but other implementations like Istio may have different behavior for the same GatewayClass.
/cc @mlavacca @shaneutt

Yeah, it makes total sense. Kong has different modes that actually affect conformance as well. One thing that immediately comes to my mind is adding a new optional field in the implementation related to the mode. I think we need to update the GEP and maybe discuss the implementation details there. @howardjohn would you be interested in tackling that? It'd be great to have someone else coming from other implementations participating in the conformance profiles story.

This may be out of scope for this issue, but so it doesn't get lost; should we also consider allowing multiple versions for an implementation?
Copying a comment I put in Slack:

I also thought today about multiple versions - do we want to allow implementations to submit multiple conformance reports, each one for a single version (it seems like it might be nice to be able to say "main is at v1.2.0, stable is at v1.0.0" for an implementation.)
Also, that would allow us to keep history (for example, Cilium 1.14 supports Gateway v0.7.1, but Cilium 1.15 will probably jump straight to Gateway API v1.0.0 because of release cycle timings).

Seems like this could be a helpful thing to add:
/triage accepted
However it doesn't appear to be something we MUST resolve before GA.
/priority important-longterm


genMockFromModule a react component class,render function run and not in expectations

class SomeComponent extends React.PureComponent{
render(){
return (
//some jsx
);
}
}
export default SomeComponent
in mocks
const SomeComponent = jest.genMockFromModule('../SomeComponent').default;
export default SomeComponent;
but SomeComponent not rendered properly

Please note this issue tracker is not a help forum. We recommend using StackOverflow or our discord channel for questions. Thank you :)


Does not work with clustering.

When a child binds its port the other children fail
const cluster = require("cluster");
const numCPUs = require("os").cpus().length;

if (cluster.isMaster) {
  // Fork workers.
  for (let i = 0; i < numCPUs; i++) {
    cluster.fork();
  }

  console.log("Master starting " + new Date().toISOString());

  cluster.on("exit", () => {
    process.exit(1);
  });
} else {
  // worker task
  require("./server");
}

What does this have to do with uWebSockets?

It does work with clustering, but focus lies on WorkerThreads: https://github.com/uNetworking/uWebSockets.js/blob/master/examples/WorkerThreads.js

It does work with clustering, but focus lies on WorkerThreads: https://github.com/uNetworking/uWebSockets.js/blob/master/examples/WorkerThreads.js

Thanks for your help, ill give it a shot

It seems to not work either. Any insight?
const uWS = require('uWebSockets.js');
const port = 9001;
const { Worker, isMainThread, threadId } = require('worker_threads');
const os = require('os');

if (isMainThread) {
  /* Main thread loops over all CPUs */
  /* In this case we only spawn two (hardcoded) */
  /*os.cpus()*/[0, 1].forEach(() => {
    /* Spawn a new thread running this source file */
    new Worker(__filename);
  });

  /* I guess main thread joins by default? */
} else {
  /* Here we are inside a worker thread */
  const app = uWS.App({
  }).get('/*', (res, req) => {
    res.end('Hello Worker!');
  }).listen(port, (token) => {
    if (token) {
      console.log('Listening to port ' + port + ' from thread ' + threadId);
    } else {
      console.log('Failed to listen to port ' + port + ' from thread ' + threadId);
    }
  });
}

$ node worker-threads.js
Listening to port 9001 from thread 1
Failed to listen to port 9001 from thread 2
uv loop at [0x700008fd0af8] has open handles:
[0x10a00a6d0] prepare (active)
	Close callback: 0x128008000
	Data: 0x10a00a570
	(First field): 0x10a00a7d0
[0x10a00a750] check (active)
	Close callback: 0x0
	Data: 0x10a00a570
	(First field): 0x10a00a7d0
[0x10a00a8a0] timer (active)
	Close callback: 0x0
	Data: 0x10a00a7d0
[0x10a00bdc0] async (active)
	Close callback: 0x0
	Data: 0x10a00bcf0
uv loop at [0x700008fd0af8] has 4 open handles in total
node[34486]: ../src/debug_utils.cc:322:void node::CheckedUvLoopClose(uv_loop_t *): Assertion `0 && "uv_loop_close() while having open handles"' failed.
 1: 0x101224565 node::Abort() (.cold.1) [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 2: 0x10009d6d9 node::Abort() [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 3: 0x10009d541 node::Assert(node::AssertionInfo const&) [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 4: 0x10002d18e node::CheckedUvLoopClose(uv_loop_s*) [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 5: 0x100132976 node::worker::WorkerThreadData::~WorkerThreadData() [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 6: 0x10012f451 node::worker::Worker::Run() [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 7: 0x100132af9 node::worker::Worker::StartThread(v8::FunctionCallbackInfo<v8::Value> const&)::$_3::__invoke(void*) [/Users/jtwhissel/.nvm/versions/node/v14.1.0/bin/node]
 8: 0x7fff6f023109 _pthread_start [/usr/lib/system/libsystem_pthread.dylib]
 9: 0x7fff6f01eb8b thread_start [/usr/lib/system/libsystem_pthread.dylib]
Abort trap: 6

From the path in your stack trace, it seems you're using macOS.
Your example code omits two important lines:
/* This example spawns two worker threads, each with their own
 * server listening to the same port (Linux feature). */

Note the "Linux feature" parenthetical remark.
@alexhultman can confirm, but I believe SO_REUSEPORT on Linux uniquely supports (as of 3.9) TCP and UDP sockets, whereas SO_REUSEPORT on macOS only supports UDP sockets. macOS does not know what to do with two threads that request to be bound to the same TCP port.

Hey Chris, everything going fine so far? Are you using the ARM binaries?

Everything is going just fine, thank you. I'll catch up with you in a few weeks. Our ARM deployments have mostly shifted to Android, and the binaries aren't compatible with it right now. We'll get there.


Custom style doesn't work

Description
In this case, I add new colors on osmi.config.js and when I use it. It just doesn't work.
Custom Theme
export default {
  colors: {
    "slate-950": "#020617"
  }
}

Example Usage
apply('bg-slate-950')

Actual Output
rgba(2, 6, 23, var(1))

Already found the issue. Will create the PR for this


Fuzzy Search - Unable to search on strings with special characters

Using the search function in either soqlDatatable or collectionDatatable will yield incorrect results if special characters are in the search string. For example:
ABC-123
hello_world
This issue is logged to research the fuse.js lib on how it handles special chars and make appropriate changes to the search function in this lib.

Please also test with a 🚀 emoji in the name


[Enhancements] PDF Export

Being able to generate PDF reports would be an excellent addition :)
Cheers, Mykl

Hello, for pdf export I recommend using xhtml2pdf (forerly pisa): https://github.com/xhtml2pdf/xhtml2pdf
This is a great tool that internally uses reportlab but, instead of creating the report by hand using the reportlab API you provide an html template that will be used to generate the report. I've written a rather extensive blog post describing some techniques for using xhtml2pdf that you may find useful if you decide to use it: https://spapas.github.io/2015/11/27/pdf-in-django/

Very interesting! I'll check it out. That might indeed be a more straightforward way to approach this. The reportlab solution is...complicated :)

I'm thinking of addressing this via #248 - if you want to export to PDF, view the query in fullscreen and use the native browser print dialog to export to PDF. It's just too complex to handle all of the weird edge cases manually creating PDFs in explorer. I'm not against the idea, and if someone submits a kick-ass PR (or finishes mine), I'm fine with that - but it's not an enhancement I'll continue working on beyond the referenced PR. Hope folks can live with this solution!

 Could you reopen the issue?
Thanks !

I like the idea of having an export to PDF button if possible. That way all of the export options are the same. Agreed that we would need a PR that handles all of the edge cases in generation, though.

@grantmcconnaughey with the xhtml2pdf way I propose in #249 most edge cases are more or less handled by overriding the default template (i.e you can easily add a font that supports unicode characters).
We could offer even more control, for example allow the user to define a specific pdf-output template for each query however this seems like an overkill to me right now. After all, if there's a very special query that needs a very special output format, not covered by the generic (or overriden) pdf-output template the best way to convert it to pdf is to get the XLSX, format it whichever way you like and save it to PDF!

@spapas I'm all for going the xhtml2pdf way. I've used that library before and had pretty good success with it.
It would give us the ability to let users override a base PDF template, too. That way users could do custom styles for the PDF reports, which would be an awesome feature.


updates

Updated with latest results

@rsphilley @cgkrishnanunni  can you review and approve website update?

@rsphilley @cgkrishnanunni can you review and approve website update?

Cool. I see you have already merged.


Company, Site, Site Area, Asset: Add createdOn/By + lastChangedOn/By in the front-end

Update the backend also.
This info is only returned for the Admin users (handle that in the filtering method)

Done


Add #![doc(html_logo_url = ...)] to crates

I randomly came across this crate on docs.rs, and I had no idea that you were able to put logos in rustdoc! I figured we should put our derpy logo there. :smiley:

This is excellent. Our logo is really on par :)


Thank you

Thank you for everything ❤ bro

You’re welcome! Excited for community contributions to the whole openpilot stack.


Docs failing on readthedocs?

See https://readthedocs.org/projects/koalas/builds/8979495/
Configuration error:
There is a syntax error in your configuration file: invalid syntax (metadata.py, line 39)

Looks like the latest commit is valid, but doesn't work on readthedocs.

Yes, will take a look.


Power scalar workaround greater freedom of choice

I don't know if it would work in a good way, but I have a Samsung phone (yes, I read that Samsung does it differently, but that's not what I'm talking about here) I have a charger that shows me how many watts my phone consumes, the error is about -2W at x1000 and I was wondering if it could be possible to add a window in which the user would enter his own multiplier or something similar.

One thing to keep in mind is "battery power" (that Wattz reports) is different than "charger power", which your charger or an external power meter would report. This is because your phone consumes power that never makes it into the battery, as well as the fact that charging is a lossy process. See also, the faq. Basically, both power meters are correct, just measuring different things.

sorry, I forgot that the measurement on the phone is on something else, thank you and I completely forgot about this report


Sync eng/common directory with azure-sdk-tools for PR 1564

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/1564  See eng/common workflow

/check-enforcer reset


fix(deisctl): Switch from channels to io.Writers.

Fixes issue #3971
deisctl used channels to send output and errors to a goroutine which
then wrote them. This patch replaces that with simpler code that simply
writes messages to Stdout and Stderr (configurable for outher writers).

I "fixed" the line overwriting behavior in this release, but I'm not sure that we should keep it. It seems to me that we are in danger of hiding actually important data.

@Joshua-Anderson Maybe that progress() function could be colorized so that it prints out the circle,square,triangle sequence. That might look cool. And maybe we could put that into the colorizer, too. I think that'd be a nice general feature to have.

This looks good overall, although I don't know where the line overwriting behavior landed. So this probably requires-manual-testing.

The line overwriting stuff was in the commit I merged yesterday. But it shows here (prettyprint.Overwrite).

Comments are all cleaned up. Sorry... didn't know about that rule.
Okay, directions for manual testing, where $DEIS is the path to the deis source code.
$ cd $DEIS/deisctl
$ make test build install

Tests should pass and you should then have a shiny new deisctl installed.
Now...

deis start SOMETHING should show you the progress of the start by replacing the text inline.
deis help should correctly display the Deis logo

Edge cases where an error and a message happened in short succession won't stall the app. These were really hard to reproduce, otherwise I would give you a formula. (Note: The hangs on service fail are fixed in #3880, which depends on this PR)

deisctl help rules now. But on provisioning it was confusing when the control plane started especially.

All "start-pre" statuses overwrote each other on one line, so for a minute it looked like we started only the deis-builder component
In the end, I got duplicated status lines, some of which were in the wrong sections:

Storage subsystem...
deis-store-monitor.service: active/running
deis-store-daemon.service: active/running
deis-store-metadata.service: active/running
<EMAIL_ADDRESS>active/running
deis-store-volume.service: active/running
Logging subsystem...
deis-logger.service: active/running
deis-logspout.service: active/running
Control plane...
deis-controller.service: active/running
deis-controller.service: active/running
deis-publisher.service: active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
deis-database.service: active/running
deis-database.service: active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
deis-builder.service: active/running
Data plane...
deis-builder.service: active/running
deis-publisher.service: active/running
Routing mesh...
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
Done.

Was that deisctl start platform, @mboersma ?

Yes, this was deisctl start platform via SKIP_CLEANUP=true ./tests/bin/test-integration.sh.

If you run it straight, without a script wrapper, what do you get? I get this:
$deisctl stop platform
● ▴ ■
■ ● ▴ Stopping Deis...
▴ ■ ●
Routing mesh...
<EMAIL_ADDRESS>inactive/dead
<EMAIL_ADDRESS>inactive/dead
<EMAIL_ADDRESS>inactive/dead
Data plane...
deis-publisher.service: inactive/dead
Control plane...
deis-controller.service: inactive/dead
The service 'deis-builder' failed while stopping.
<EMAIL_ADDRESS>inactive/dead
deis-database.service: inactive/dead
Logging subsystem...
deis-logspout.service: inactive/dead
deis-logger.service: inactive/dead
Storage subsystem...
<EMAIL_ADDRESS>inactive/dead
The service 'deis-store-volume' failed while stopping.
deis-store-metadata.service: inactive/dead
deis-store-daemon.service: inactive/dead
deis-store-monitor.service: inactive/dead
Done.

Please run `deisctl start platform` to restart Deis.

I refetched this branch and rebuilt deisctl just now, and deisctl stop platform is fine but I still see the duplication issue on deisctl start platform:
$ deisctl stop platform
● ▴ ■
■ ● ▴ Stopping Deis...
▴ ■ ●
Routing mesh...
<EMAIL_ADDRESS>inactive/dead
<EMAIL_ADDRESS>inactive/dead
<EMAIL_ADDRESS>inactive/dead
Data plane...
deis-publisher.service: inactive/dead
Control plane...
deis-database.service: inactive/dead
<EMAIL_ADDRESS>inactive/dead
deis-builder.service: inactive/dead
deis-controller.service: inactive/dead
Logging subsystem...
deis-logger.service: inactive/dead
deis-logspout.service: inactive/dead
Storage subsystem...
<EMAIL_ADDRESS>inactive/dead
deis-store-volume.service: inactive/dead
deis-store-metadata.service: inactive/dead
deis-store-daemon.service: inactive/dead
deis-store-monitor.service: inactive/dead
Done.

Please run `deisctl start platform` to restart Deis.
$ deisctl start platform
● ▴ ■
■ ● ▴ Starting Deis...
▴ ■ ●
Storage subsystem...
deis-store-monitor.service: active/running
deis-store-daemon.service: active/running
deis-store-metadata.service: active/running
<EMAIL_ADDRESS>active/running
deis-store-volume.service: active/running
Logging subsystem...
deis-logger.service: active/running
deis-logspout.service: active/running
Control plane...
deis-controller.service: active/running
deis-controller.service: active/running
deis-database.service: active/running
deis-database.service: active/running
<EMAIL_ADDRESS>active/running
deis-publisher.service: active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
deis-builder.service: activating/start-post
...

Okay, the duplicates were removed. This was caused by "background starts" of certain tasks. I switched it to just junk the data coming out of those tasks.
What I see now with deisctl start is this:
deisctl start platform
● ▴ ■
■ ● ▴ Starting Deis...
▴ ■ ●
Storage subsystem...
deis-store-monitor.service: active/running
deis-store-daemon.service: active/running
deis-store-metadata.service: active/running
<EMAIL_ADDRESS>active/running
deis-store-volume.service: active/running
Logging subsystem...
deis-logger.service: active/running
deis-logspout.service: active/running
Control plane...
<EMAIL_ADDRESS>active/running
deis-database.service: active/running
deis-controller.service: active/running
deis-builder.service: active/running
Data plane...
deis-publisher.service: active/running
Routing mesh...
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
<EMAIL_ADDRESS>active/running
Done.

LGTM. I tested this again after the most recent changes, and I don't see any duplicated or overlapping output now.

Code LGTM. :ship:


Always update Viewport's last_mouse_position

When the mouse cursor is over an embedded Window, the Viewport's last_mouse_position did not get updated.
This patch makes sure that the update happens on every InputEventMouse.
Also document canvas layer of embedded Windows.
fix #67382

Thanks!


Register event payload class and event in 1

[Suggestion]
The chance of things going out of wack if you keep the event names manually with a string setup are high. suggestion is to do something like sqlalchemy uses with its models with __tablename__ on a (eventmodel) pydantic model
changing fastapi_events/registry/base.py to something like (untested) might be an easy first step:
    def register(self, _schema=None, event_name=None):
        if not event_name:
            if BaseModel and issubclass(_schema, BaseModel) and hasattr(_schema,"_event_name"):
                event_name = _schema._event_name
        if not event_name:
            raise ValueError("'event_name' must be provided when registering a schema")

"private fields" as per pydantic https://docs.pydantic.dev/latest/concepts/models/#private-model-attributes
(its a monday morning., i havent woken up enough to get this right yet)
this way the users can define a model and event name in 1 model and then just register it with something like (altho i would suggest having an upstream EventModel that upstreams BaseModel for possible future amazeballs
class MySuperEvent(BaseModel):
    _event_name="my.super.event"
    user: User = Field(default_factory=User))

main.py
import fastapi_events.whatever
whatever.register_event(MySuperEvent)

and for dispatch do something like dispatch(MySuperEvent(user=user)

Hi @WilliamStam , my sincerest apologies for completely missing your post.
I like your idea, and it could be an alternative to how event payload schemas are registered and how events are dispatched today.
All we need is to ensure backward compatibility.  I'll try to spend some time this week to play with your idea, and I'll let you know how it goes.
Once again,  I apologise for not seeing your issue earlier.

no worries. for backwards compatibility / ease would it not make more sense to maybe do something like
def register(self, event, listener):
        if isinstance(event,str):
            event_name = event
        else:
            event_name = f"{event.__module__}.{event.__name__}"
        logger.debug(f"registering event [{event_name}] with listener [{str(listener)}]")

maybe something like:
if isinstance(event,str):
    name = event
elif hasattr(event,"_event_name_"):
   name = getattr(event,"_event_name_")
else:
   name = f"{event.__module__}.{event.__name__}"

i had some issues with fastapi-events (cant recall specifics). came up with a bit of a different "way" of doing stuff for it. maybe some of this is useful to further the project. one thing i did figure out. for fastapi di resolving you need the request:Request object :( makes things a bit more complicated.
class EventsCollection():

    def __init__(self):
        self.events: Dict[str, List[Callable]] = {}

    def register(self, event, listener):
        event_name = f"{event.__module__}.{event.__name__}"
        logger.debug(f"registering event [{event_name}] with listener [{str(listener)}]")
        self.events.setdefault(event_name, [])
        self.events[event_name].append(listener)

    async def get_events(self, event):
        event_name = f"{event.__module__}.{event.__class__.__name__}"
        logger.debug(f"getting listeners for event [{event_name}]")
        listeners = self.events.get(event_name, [])
        return listeners

    async def dispatch(self, event, request: Request | None = None, **kwargs) -> None:
        event_name = f"{event.__module__}.{event.__class__.__name__}"
        if request:
            logger.debug(f"dispatching event [{event_name}] for request [{request}]")
        else:
            logger.debug(f"dispatching event [{event_name}]")
        listeners = self.events.get(event_name, [])
        for listener in listeners:
            logger.debug(f"found listener [{listener}]")

            try:
                args = {}
                if request:
                    solved_result = await solve_dependencies(
                        request=request,
                        dependant=get_dependant(call=listener, path=request.url.path),
                        body=None,
                        background_tasks=None,
                        response=None,
                        dependency_overrides_provider=None,
                        dependency_cache=None,

                    )
                    (
                        args,
                        sub_errors,
                        background_tasks,
                        _,  # the subdependency returns the same response we have
                        sub_dependency_cache,
                    ) = solved_result
                    # logger.info(args)
                    # logger.error(sub_errors)
                    for key in args.keys():
                        if key in kwargs:
                            args[key] = kwargs[key]

                    # logger.warning(kwargs)
                    # logger.warning(args)
                else:
                    args = kwargs

                await listener(event, **args)
            except Exception as e:
                logger.exception(e)

its messy i know...
for fastapi di the dispatch needs the request:Request object. for anything else just pass kwargs to override it
#event.py
@dataclasses.dataclass
class LoginSuccessEvent():
    username: str

#listener.py - user and request are DI lookups
async def user_login_success_listener(event: LoginSuccessEvent, user: CurrentUser, request: Request) -> None:
    client_id: ClientIdModel = request.scope.get("client_id")
    payload = {
        "user_id": user.id,
        "level": "info",
        "log": f"user logged in - {user.name}",
        "context": dataclasses.asdict(client_id)
    }
    await system_log_save(None, payload, lookup=False)

#events.py
events = EventsCollection()
events.register(LoginSuccessEvent, user_login_success_listener)

#dispatch.py
event = LoginSuccessEvent(username=username)
await events.dispatch(event)

for the fastapi di, need to start the "chain" of di's
#dependency.py
class EventDependency:

    def __init__(self, request: Request):
        self.request = request

    async def __call__(self, *args, **kwargs):
        logger.debug("EventDependency __call__")
        return events

    async def dispatch(self, ev, **kwargs):
        logger.debug("EventDependency dispatch")
        await events.dispatch(ev, request=self.request, **kwargs)

Events = Annotated[EventDependency, Depends(EventDependency)]

because of this limitation routes need
@router.post(
    "/login",
)
async def login(
    events: Events,
    username: str = Form(),
    password: SecretStr = Form()
) -> LoginResponse:
    ...
    event = LoginSuccessEvent(username=username)
    await events.dispatch(event)
    ...

(i'll delete this part if you feel it conflicts with what you've done)

Hi @WilliamStam, I appreciate your alternative solution. Do you mind creating another issue so that we can separate the issues and tackle them accordingly?

Just FYI, I'm implementing your suggestion to allow us to combine both the event name and the payload schema. However, instead of using _event_name as you suggested, I'm using __event_name__.
Stay tuned!

Combining event name and payload schema is super slick. Great idea!

@psychedelicious feel free to try out the new version!

@melvinkcx I'm working on implementing this and wanted a class for events that alerted the developer if the event was defined (not instantiated) without __event_name__. Static type analyzers and pydantic can't do this currently, but I found this helpful tip: https://github.com/pydantic/pydantic/issues/4448#issuecomment-1502469148
Now we can do this:
from abc import ABC
from typing import ClassVar

from pydantic import BaseModel, ConfigDict

class EventModel(BaseModel, ABC):
    __event_name__: ClassVar[str] = ...  # pyright: ignore [reportAssignmentType]

    def __init_subclass__(cls, **kwargs: ConfigDict):
        if cls.__event_name__ is ...:
            raise TypeError(f"{cls.__name__} must define __event_name__")

class ValidEvent(EventModel):
    __event_name__ = "some_event"

# Ok so far - this event has a name

class InvalidEvent(EventModel):
    # No event name defined!
    pass

# TypeError: InvalidEvent must define __event_name__

It's a simple thing, but improves the developer experience quite a bit. You'd really have to try to create an invalid event now.
Extending the example to maybe inspire others who are using this feature - we have a scope for events, let's call it the event type, and also want a timestamp on every event:
import datetime
from abc import ABC
from enum import Enum
from typing import ClassVar

from pydantic import BaseModel, ConfigDict, Field

def get_timestamp() -> int:
    return int(datetime.datetime.now(datetime.timezone.utc).timestamp())

class EventType(str, Enum):
    QUEUE = "queue"
    MODEL = "model"
    DOWNLOAD = "download"

class EventModel(BaseModel, ABC):
    timestamp: int = Field(default_factory=get_timestamp)
    __event_name__: ClassVar[str] = ...  # pyright: ignore [reportAssignmentType]
    __event_type__: ClassVar[EventType] = ...  # pyright: ignore [reportAssignmentType]

    def __init_subclass__(cls, **kwargs: ConfigDict):
        for required_attr in ("__event_name__", "__event_type__"):
            if getattr(cls, required_attr) is ...:
                raise TypeError(f"{cls.__name__} must define {required_attr}")

class EventMissingType(EventModel):
    __event_name__ = "my_event"

# TypeError: EventMissingType must define __event_type__

class EventMissingName(EventModel):
    __event_type__ = EventType.DOWNLOAD

# TypeError: InvalidDownloadEvent must define __event_name__

thanks again for the cool feature 👍

Indeed, @psychedelicious, we can enforce the definition of  __event_name__ using __init_subclass__. Unfortunately, this is not something we can introduce into the library as it is a breaking change. Thanks for sharing the snippet, I think there are devs out there who might need this additional check! =)


Hotfix RosGyro

Wrong value + possible crash.

test me

Build Passed :ok_hand:
You can safely merge 'hotfix-ros-gyro' into 'revision'.


⚠ Bofrost.lu has degraded performance

In 99db648, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1175 ms

Resolved: Bofrost.lu performance has improved in 0d24343 after 6 minutes.