Lcg/1923

validatorless bootstrapping and chef-vault integration

@chef/client-core @chef/client-engineers
also, @afiune i finally got this done.

also @moserke, @dougireton and @jf647 you should be interested in this

It's confusing to me that these classes take a chef_server_rest argument that gets set to the instance variable of the same name, but there's also a method named chef_server_rest that produces something to be set to that instance variable. I presume in initialize that chef_server_rest is the argument and not the method, but is it necessary for these names to overlap?

Hmm, I guess I'm unclear on what's confusing.  The objects right now have a hard dependency on Chef::REST and on a particular way to create a new rest object there and its Chef::Config values.  By allowing the caller to inject that object instead of having the class create it there's a looser dependency so that you can inject a different Chef::REST object (like I'm using to inject a rest object with the authz/authn of the client that is being created instead of the user running knife), or you could even inject some other kind of object that duck-types to a Chef::REST interface.
It makes sense to me because when the caller supplies a chef_server_rest parameter to the constructor that gets assigned to the chef_server_rest ivar and is retrieved later by the chef_server_rest accessor.  All that you do via injecting it into the constructor is avoid the lazy ||= default construction of the object.

@chef/client-core @chef/client-engineers re-paging for review, would like to hit merge before monday.

Looks like a nice addition to knife bootstrap.  We still have to solve the initial registration flow more gracefully for things like autoscaling and cloudformation, but that's on the chef-vault 3.x roadmap.
Would you be open to making the options
knife[:bootstrap_vault_whatever]

rather than
knife[:vault_whatever]

?  I'm concerned that we have options in a flat namespace, some of which serve as stand-ins for switches to 'knife vault' and some of which server as stand-ins for switches to 'knife bootstrap'.
Is there anything in the public-facing chef-vault API that would make this easier for you?  I note that if the search fails we just emit to stdout, but given that you're waiting for SOLR to index the new node and client that should be OK.  We could raise errors instead in ChefVault::Item and have the existing knife commands catch those and emit similar error strings for compatibility.

Yeah I can namespace it all easy, very happy to do that and not re-invent the knife[:image] collision problem...
If you can make chef-vault accept the generated client and not require search that'd be best.  This code creates a client then saves it then retrieves it via solr and that whole round trip seems pointless.  I think part of that is that the chef-client API itself may not support what I want to do, but if you could look at what is needed from the chef-vault side maybe you can see how to fix it?

One thing I missed - when are users supposed to call the new Chef::DataBag.new(server_url) initialization method?  I see that parameter added to all the models but I don't know why.
Other than that and some minor comments, it LGTM.  I like the idea of registering a node before bootstrapping it!

I added that parameter for consistency.  I needed to DI the REST class with the client object into the Chef::Node so I needed it there, and I added it a few other places to reduce the tight coupling and allow for other DI uses.  There's a YAGNI argument against it, but I'd rather try to keep the API evolving consistently.

okay rebased on master

@lamont, @btm, do we need to change knife-windows to support this?

@btm, we should test knife-windows against this version of Chef -- with Chef Client 12.0.0, we broke knife-windows in multiple ways, we should ensure existing functionality is not regressed.

I certainly tried to be careful about that, which is why default_bootstrap_template and server_name are now documented APIs.

Can I get a few actual :+1:'s before monday?

@lamont-granquist, I've pushed a branch that allows ChefVault::Item#clients to accept a Chef::ApiClient.  Take a look and see if it will work for you.
I can get it on master pretty quick, but the next gem release wasn't going to be for a bit (working through an issue backlog).  Do you need it on rubygems to use?  I gather from Jay's request to tag a release that was lacking one that the chef-dk omnibus builds pull from GH directly.

:+1:
An nitpick: I dislike calling the API object 'chef_server_rest' (REST is a concept, not a thing you can have several of), which is why I use 'api_service' or something like that everywhere. But it's consistent with the class name and what we do elsewhere so I can live with it.

Yeah I wasn't super wild about the name, but its what we've already named the thing.  Since its a named parameter we can change it later and deprecate the old one in favor of the new one.

@jf647 i'm leaning towards shipping this like it is right now, and leaving that improvement for later.
I'm trying to get this merged for 12.1.0 and we freeze for that on monday.
That is, however, exactly the patch that I think I need...

:+1: from me

Red it and I want to say => :+1: but I just need to test it! (tomorrow!)


WMTS does not work

WMTS does not allow you to select the important TileMatrixSet parameter and important part of the specification.  This is from the API, to the core, down to Cesium.  In the Cesium engine, the TileMatrixSet is always set to 'default28mm' which works for the sample service in the API tester, but not some other WMTS services.  There are many other services that use tileMatrixSets with different names.   The getCapabilities for the WMTS service sends back the available tileMatrixSets and in the layer metadata it displays which tileMatrixSets are available for that layer.
Propose 'tileMatrixSet' property onto WMTS class.   Without it, WMTS doesn't make much sense.
Propose removing the default28mm default tileMatrixSet from Cesium.

Furthermore, the layer parameter in leaflet will never be set because of this code in EmpCesium.js
if (this.isV2Core && item.activeLayers) {
sLayers = item.activeLayers.join();
} else if (!this.isV2Core && item.layers) {
sLayers = item.layers.join();
}
WMTS does not have any activeLayers, therefore sLayers will always be empty.  WMTS can only display one layer at a time.   The proper transaction item will have .layer property which should be used for the request.

Added the 'tileMatrixSet' to the WMTS class, and to related classes in the API and core. Modified in EMPCesium to expect a single WMTS layer name.
I tested in Cesium and the tileMatrixSet is passed to the engine.
I'm not able to do a push into the dev branch because I have no internet connection. (bad switch)

I also added the property to the validation API..

test using branch 240.

Reintegrate

Merged into the dev branch. Closing this issue.


Time is not right,the flow is not really finish.

Future initTask = threadPool.submit(flowTask);
try {
initTask.get(mTimeout, TimeUnit.MILLISECONDS);
} catch (Exception e) {
LogImpl.w(TAG, "timeout for flow: " + getName());
}
long endTime = System.currentTimeMillis();
LogImpl.i(TAG, getName() + " runs " + (endTime - startTime));
Flow is not really finish.Some task may be still running.
And i think flow or Init need a callback,for example in Android loading Activity.

Yep, the time only tells cost for block task, asychronous tasks are not counted in.


bump dependency versions

Thanks for this. Did you test if the swagger import works with the upgrade?

Yep. I imported the echo API that swagger comes with and it works. I didn't do much more testing since the relax documentation also mentions using swagger 2.0 and so I figured those developing this may have been using swagger 2.0 even though a clean install still does v1. Let me know if you think more robust testing should be done.

Merging and testing!


chore(master): release 0.26.1

:robot: I have created a release beep boop
0.26.1 (2024-06-03)
Bug Fixes

add bee version (#659) (a5d4ecf)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ethersphere/bee-dashboard/releases/tag/v0.26.1 :sunflower:


Publish updates from master

Publish the latest changes from master

https://github.com/docker/docker.github.io/pull/12060 is probably also useful to have

https://github.com/docker/docker.github.io/pull/12060 is probably also useful to have


fix: scheduler can not exit gracefully due to machinery fatal log

Signed-off-by: bigerous<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1573 (7084ff3) into main (c893ad7) will decrease coverage by 0.01%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1573      +/-   ##
==========================================
- Coverage   44.99%   44.97%   -0.02%
==========================================
  Files         116      116
  Lines       10548    10548
==========================================
- Hits         4746     4744       -2
- Misses       5315     5319       +4
+ Partials      487      485       -2

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
44.97% <ø> (-0.02%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_conductor.go
56.13% <0.00%> (-0.49%)
:arrow_down:

...ent/daemon/peer/peertask_piecetask_synchronizer.go
48.91% <0.00%> (+1.29%)
:arrow_up:


Replace static binary lib with dylib for macOS

📝 Summary of Changes
Replace the binary used for libpact_mock_server that is built from Rust code in order to massively reduce file size and reduce the chance of blowing out the Git-LFS bandwidth budget.
Changes proposed in this pull request:

Remove the libpact_mock_server.a binary
Add libpact_mock_server.dylib binary for macOS
Add pact-foundation/pact-reference as a git submodule
Updates GitHub action to checkout submodules
Add a build phase to build the lib pact_mock_server.dylib (takes a while first time compiling it)
Resolves #30

Notes

If using PactSwift already, Rust tools will now be required to build the libpact_mock_server during a build phase.

🔨 How To Test

[x] Fails with a warning notifying Rust is not installed on a machine without Rust already installed
[x] Passes GitHub Actions CI
[x] Example (macOS platform) project using Carthage for dependency management pointing to "surpher/PactSwift" "tech/macos-dylib" successfully runs it's own Pact tests

Tested with surpher/pact-swift-examples/Pact-macOS-Example project (tests where request body includes a matcher was disabled due to unexpected behaviour in libpact_mock_server_ffi)


Move an instance of "Try it out!" to level 3 instead of level 2

The "Try it out!" for the "Request policy sync from administrator console" section is currently at the same level as the section header, which looks weird. I've bumped it down a header level in my proposal.

Hi @tycastMSFT, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;


Context timer cannot currently nest

A different internal data structure (stack) is needed in torchutil.time.Context to handle this case

Fixed in 0.0.10 (commit 958a949)


Create higher order components to load common styles and set theme.

The docs site shows that a small CSS reset is still needed: https://github.com/callemall/material-ui/blob/master/docs/src/css/main.css#L16-L27
Why not put this in a style tag as part of a SetMaterialStyle component?
This component could also load the theme manager in the context so that doesn't need to be done in the application code.

Wondering about this as well.

@wmertens I think that's a good idea. Recently there was a theme HOC created, so we could add it to that component. See #797

+1

#797 has been merged. Now we have both a helper ThemeManager as well as a ThemeDecorator decorator.


Allow for more than 2 custom breakpoints?

Thanks for an awesome easy-to-use package!
Any chance it would be a quick non-breaking change to allow for more breakpoints, in addition to just customizing the existing?  I'm working on a universal app that runs the gamut from small devices to large screens, so the one issue I've found myself running into recently is having a few more options along the way instead of just relying on flex/percentages, etc.
In a couple quick searches, it looks like other design systems like Microsoft's Fluent UI also allow for 6 or more. Interestingly, Braid also seems to indicate they wish they had avoided tying theirs so closely to hard-coded names in a comment, as opposed to treating it a bit more like a variable-length, ordered array, which is I guess more my preference too (but by all means keep the human-readable custom aliases too).
Looks like the current number is hard-coded to 3 currently, and it's not possible to override that, even with a typed object to replace it, so I get capped out there.  I would think this shouldn't add too much logic, since presumably you could just kind of map up through the values until there are no more left (and just take the highest value) if you're out of values and haven't run out of screen yet, which I think is what you do now).  Anyway maybe I'm missing something, but those were my 2 cents anyway.
I'll try to play with a hack/patch if I can despite my limited exposure to ReScript and happy to share whatever I come up with if I do as well if of interest.

👋 @markmctamney, the new version (v1.4.0) of Stacks supports custom breakpoints 🎉 you can add them by updating the breakpoints property in the provider, it accepts an array of tuples, the first value is a breakpoint name, and the other is a minimum breakpoint width.
<StacksProvider breakpoints={[
  ['mobile', 480],
  ['tablet', 768],
  ['desktop', 992],
  ['large-desktop', 1200],
  ['extra-large-desktop', 1440]
]}>
  …
</StacksProvider>

you can read more in the docs:
https://mobily.github.io/stacks/docs/breakpoints
https://mobily.github.io/stacks/docs/hooks/use-current-breakpoint/
let me know if this solves your problem 😊


ARM: Use a unified K-config option for enabling (default) ARM MPU support

Several ARM-based SOCs provide a K-config option to allow the user to choose whether to enable the ARM MPU. Example from Beetle:
config ARM_MPU_ENABLE
	bool "Enable MPU on ARM Beetle"
	depends on CPU_HAS_MPU
	select ARM_MPU
	help
	  Enable MPU support on ARM Beetle SoCs

This option is re-defined in several SOCs

Beetle
Nordic nRF52
NXP i.MX RT
STM32 SoCs,

however, it always does the same thing: selecting ARM_MPU.
There is a proposal (by @pizi-nordic ) to define a common option in arch/arm/core/Kconfig instead of multiple duplicate options in the respective SOC definition folders:
config ARM_MPU_ENABLE
	bool "Enable the use of ARM MPU"
	depends on CPU_HAS_MPU
	select ARM_MPU
	help
	  Enable MPU on ARM SoCs that implement the standard ARM MPU.

```Does this K-config simplification make sense?

Copying @galak , @MaureenHelm , @erwango , @carlescufi

I see no difference between ARM_MPU_ENABLE and ARM_MPU in proposed scheme. Could we just make ARM_MPU visible to the developer?


Updating dependencies

Packages were out of date.

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:

Cool, I've been waiting forever for that @afshad, even though the caret notation for the npm packages dependencies already addresses it.
You can review project score and general health/quality using bithound at: https://www.bithound.io/github/yahoo/xss-filters/master

CLA is valid!

resolved in https://github.com/yahoo/xss-filters/pull/60

Yay!
Thanks!


Update OAP e2e cases and images

This PR updates e2e cases with SW OAP

Codecov Report

Merging #211 (8c1aeb2) into main (8c8f666) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #211   +/-   ##
=======================================
  Coverage   43.81%   43.81%
=======================================
  Files          87       87
  Lines        8579     8579
=======================================
  Hits         3759     3759
  Misses       4483     4483
  Partials      337      337

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

LGTM. @kezhenxu94 Would you please take a look?


[WIP] Updates

General PR for a bunch of cleanup & updates that have been in the works for a while. This includes various things pulled in from the 1.x branch, as well as a better demo build, linting, dependency updates, etc.
TODOS:

[ ] add changelog from 1.9.4 when it's released
[ ] dependency updates
[ ] add linting
[ ] rework demo & add api docs (modeled after ember-cp-validations/ember-light-table)

This project is now being maintained by the team at @heroku.
To get the project healthy and maintainable again, we’re doing a bit of spring cleaning of older issues and pull requests. This pull request hasn’t been touched in a while so we’re closing it.
Please feel free to re-open if you’d like to resume work on it.


News section does not read correct article Author

Linked to dhealth.network website not producing correct feed.

Fixed in v1.1.4


social badge

Maybe this can be a good idea.
https://github.com/gliderlabs/slack/blob/master/slackin/README.md
Add a button in the README pixi front page.

@ivanpopelyshev @bigtimebuddy This is a yes/no. We can resolve this easily.

Yeah good idea.


Jupyter Notebooks imports not being resolved

Environment data

Pylance version: v2024.8.1
OS and version: Pop_OS! 6.8 LTS
Python version: 3.10
Poetry version: 1.35.0

Code Snippet
python
import pandas as pd
from pydantic import BaseModel, Field
from langchain.output_parsers import PydanticOutputParser

from langchain_core.prompts import PromptTemplate
from langchain.schema import HumanMessage
from langchain_openai import ChatOpenAI
import matplotlib.pyplot as plt
import numpy as np
from typing import List
import nest_asyncio

import aiohttp
import asyncio

Repro Steps

Import any package or module that is installed via Poetry

Expected behavior
No import errors
Actual behavior
Import "numpy" could not be resolvedPylance[reportMissingImports](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportMissingImports)
Logs

XXX

Thanks for the issue. Which kernel have you selected? I assume it's the one matching your poetry environment.
Does the problem go away if you save the notebook and reload the VS code window? If so, then this should be a dupe of
https://github.com/microsoft/vscode/issues/199800

Yes it does go away whenI save and reopen the window. Must be a dupe then :+1:
Using my local poetry .venv kernel

Closing via https://github.com/microsoft/vscode-jupyter/pull/15967


Feature request - set computer name with prefix and random nr

Hi Sven,
Nice tool to work with! I would like the option to enter a computer name myself and default suggests like "name-{randomnr}"
Maybe something for a next release ;)
Keep up the good work!

Thanks, that's an interesting suggestion. Would it matter how the random number is generated? I don't think it's possible to guarantee uniqueness if multiple computers were given names like this with the same prefix.

For now I have solved my situation. It would be nice if you could use a certain character that stands for a random number. Then it does not matter where in the name it appears and how many characters are desired. Example: Christmas-%%%%
If a name like this already exists, it will never be added to the AD.
Thanks for your work and Happy Holidays!

Hi @dianneman, yes, I was thinking of something similar. I'm reopening this so I can use it to track the feature when I have time to add it.


Flowable helper factories for get fresh

Addresses #238 .
Note: I'm opening this to get feedback and intend to continue on with this as it is not complete.

[ ] I need help with writing the appropriate tests for these additions.
[ ] Get agreement on the naming of these extension functions.
[ ] There is starting to be some duplication in the extensions that we may wish to address in this PR or in a separate one, discuss.

Regarding the last point I am talking about:
suspend fun <Key : Any, Output : Any> Store<Key, Output>.get(key: Key) = stream(
    StoreRequest.cached(key, refresh = false)
).filterNot {
    it is StoreResponse.Loading || it is StoreResponse.NoNewData
}.first().requireData()

// Which looks a lot like the newly added

suspend fun <Key : Any, Output : Any> Store<Key, Output>.getFlow(key: Key): Flow<Output> = stream(
    StoreRequest.cached(key, refresh = false)
).filterNot { it is StoreResponse.Loading || it is StoreResponse.NoNewData }
    .map { it.requireData() }

What I was thinking was modifying the existing get extension function to look something like:
suspend fun <Key : Any, Output : Any> Store<Key, Output>.get(key: Key) = getFlow(key).first()

The same for the other extension functions and possibly even the ones in the rx modules. However I didn't want to touch any existing code in this PR. Anyways........ thoughts appreciated.

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

It's been a while since I opened this PR and since then I left the project that we introduced Store to do no longer use it day to day. Realistically I'm not going to be able to complete this any time soon so will close it. Thanks.


Feature Request/Proposal: Set up preferred shell

Description
Adding a script usable by either just and/or yafti that should be able to let users choose their preferred shell, and set it up.
The minimum implementation I would need is setting up zsh and omz in this way:

Checking if zsh is installed. If it's not, proposing the user to install zsh as a layered package.
Propose the user to run ohmyzsh install script.

But I think it would make sense to extend this idea so users could choose any shell they want and the script would set it up.
I can work on this script, at least as far as the zsh part go. For further contribution it depends on the time I have.

We have ujust chsh zsh already. I think this should probably be ujust oh-my-zsh or perhaps an option step after the ujust chsh zsh to toggle oh-my-zsh on and off.

We have ujust chsh zsh already. I think this should probably be ujust oh-my-zsh or perhaps an option step after the ujust chsh zsh to toggle oh-my-zsh on and off.

I missed this script ^^' But it just sets the login shell. So it could be a separate script called ujust omz or ujust ohmyzsh (or both). But I could also make something like ujust chsh zsh --ohmyzsh and if it's not specified it asks the user "do you want to use ohmyzsh framework?"
Shouldn't it be a script that ujust just calls so it can be used by yafti as well?
Agreed on making it a toggle however!

Yeah a standalone script in /usr/libexec would do the trick, that way we can call it from ujust and from yafti.

The only response I have is I'm not sure this would belong in config? I can see something like this being beneficial in Bluefin DX, but not so much in Bazzite or other downstreams not focused on development.

I've noticed a large amount of shell diversity in our community.
I think letting each shell subcommunity hook up their own little config setups and stuff is fine -- people dig oh-my-zsh, I don't think it hurts to have it in config.
If people decide otherwise then I'll 100% take it in Bluefin!

I would agree that OMZ is a good fit for aurora/bluefin/bazzite ... but this my general concern with config echoes @noelmiller's above...
In general, I don't think we have a clear guide to when it is appropriate to add things for those downstreams to the config since it's also pre-installed on main/hwe images.

Ok, I'll take this in bluefin then Sharkitty if you wanna PR it there!

I hear the concerns. However, I feel like what's suggested here is to duplicated the same code in multiple downstreams. And that doesn't seems like a great way to handle this. Bringing the feature upstream would have allowed diverging downstreams to all benefit from the same code without having to re-implement it (And all it implies if there's a need for fixes or enhancements down the line).
If upstream doesn't want this feature. Too bad, but I understand. I would appreciate however if a better solution could be found.

If upstream doesn't want this feature. Too bad, but I understand. I would appreciate however if a better solution could be found.

I appreciate your contribution here, it just happens to come at a time when I've been pondering how we scope things for different use cases, while not being TOO opinionated in the core "main" images.
I've created this proposal as a way in which we could include your contribution in config but still keep it scoped to use in Aurora/Bluefin/Bazzite (or custom images which choose to add it).

I've created this proposal as a way in which we could include your contribution in config but still keep it scoped to use in Aurora/Bluefin/Bazzite (or custom images which choose to add it).

This is a very interesting proposal. It makes a lot more sense this way. I think going with this idea is the best course of action here.

This is handled by the terminal setup now and not at the system level.


Runnable onComplete Unit

Not sure how this is possible but there should be an onComplete unit for runnables that is called when the code in the runnable block has finished executing.
This will be very useful if you wish to run sync code and async code nested together.
onComplete { } - Run the next runnable the same way (async/sync) the previous runnable was ran
onCompleteSync { } - Run the next runnable sync, even if the previous runnable was async
onCompleteAsync { } - Run the next runnable async, even if the previous runnable was sync
For example, if I want to:

(Async) Copy a world folder
(Sync) Load the new copied world
(Async) Load the schematic

And also send players a message when step 2 and 3 are finished it would look like:
Without onComplete:
val name = "map-${arena.key}-$id"
async { // Asynchronously copy world

  val template = File(Bukkit.getWorldContainer(), "void-template")
  val world = File(Bukkit.getWorldContainer(), name)
  FileUtils.copyDirectory(template, world)

  val uid = File(world, "uid.dat")
  if (uid.exists()) uid.delete()

  sync { // Then synchronously load world

    broadcast(Component.text("Attempting world load...", NamedTextColor.GRAY))
    Bukkit.createWorld(WorldCreator(name))
    broadcast(Component.text("Loaded world $name", NamedTextColor.GREEN))

    async { // Then asynchronously paste schematic

      broadcast(Component.text("Attempting schematic paste...", NamedTextColor.GRAY))
      // Paste schematic
      broadcast(Component.text("Loaded schematic!", NamedTextColor.GRAY))

    }
  }
}

With onComplete:
val name = "map-${arena.key}-$id"

async {

  val template = File(Bukkit.getWorldContainer(), "void-template")
  val world = File(Bukkit.getWorldContainer(), name)
  FileUtils.copyDirectory(template, world)

  val uid = File(world, "uid.dat")
  if (uid.exists()) uid.delete()

}.onCompleteSync {

  broadcast(Component.text("Attempting world load...", NamedTextColor.GRAY))
  Bukkit.createWorld(WorldCreator(name))
  broadcast(Component.text("Loaded world $name", NamedTextColor.GREEN))

}.onCompleteAsync {

  broadcast(Component.text("Attempting schematic paste...", NamedTextColor.GRAY))
  // Paste schematic
  broadcast(Component.text("Loaded schematic!", NamedTextColor.GRAY))

}

I'm sure there are many possibilities where this will be a really useful stylistic feature. I would look into implementing this myself but to be honest I haven't got the first idea about concurrency, lol.

Implemented as of version 1.1.14


Update link to Blender 3.3 pull request.

I noticed a small copy/paste error here, and was curious about this change - so updated the link to correctly point to the 2565 PR.

Thanks!


Broken link(s?) in README on docs.rs

If you want to only display some components, you may want to use the InspectorQuery instead.

That InspectorQuery link fails on docs.rs because it's relative to the package but docs.rs links it relative to the website:

That's probably a widespread issue if relative links are used everywhere.

I pushed https://github.com/jakobhellermann/bevy-inspector-egui/commit/e362e7f1aec7e90bc0e3c5e565f5176669f85f89 but I don't know if that fixes the issue. The docs.rs build  is currently broken because bevy doesn't compile on the latest nightly.
Do you know if you can view the rustdoc-rendered README locally?


Remove the intercom Bubble from UI and change Help Center Wording

We would like to remove the intercom bubble from UI for various reason,

Improve the UI look - The bubble obstructs content
Push users to self serve.

Users will be able to get support via help centre.
Change the help centre wording to "Need Help?"
https://www.loom.com/share/8f9cd391b3054cf184fef6e8aec79cce?from_recorder=1&focus_title=1

When clicking "Need Help?" would Intercom open or the user simply be directed to the Help Center (totally removing Intercom)?

They would be redirected here
https://help.gnosis-safe.io/en/


Delete button does not work

Path : Organizational Structure.
Issue: Delete Button Does not Work

delete action will be implemented later due to some business rules


Log percentage complete of long beam block import

What is wrong?
When a block is taking a long time to import using Beam Sync, occasionally log (to info) the gas executed in the block (probably as a percentage of the total gas used as claimed in the header). This should give some concept of progress in importing the block, especially on the first beam block, which can take a while.
Probably also log to debug, more regularly.
How can it be fixed
There aren't any obvious APIs, I think, to get at this information yet. We can get the gas used by the current computation (transaction), but then we need to add that to the gas used by the previous completed transactions in the block. Not sure what is the best way to get access to those in the context of beam-syncing, when you pause for data.
It might be a bit easier to get at: which index the transaction is out of the total number of transactions, and the percentage complete with this particular transaction (by gas). That's probably the best tradeoff for showing helpful info, but not taking too long to implement.

Closed by #1916


yapf: 0.22.0 -> 0.24.0

Motivation for this change
Things done

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

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

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

@GrahamcOfBorg build pythonPackages.yapf

@pmiddend can you ask for ofborg access? https://github.com/NixOS/ofborg

Did it catch up with https://github.com/ambv/black already?


Fixes #9294 Low contrast color change on the onboarding page.

Closes #9294
Fixes Issue
Fixes issue of low contrast text on https://www.biodrop.io/account/onboarding.
Changes proposed

Used the dark class in the element and set to change font color.

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[ ] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Screenshots

Please revert the package.json and package-lock.json file.

To revert the package lock and the other file you can follow these steps.

go to main branch. make sure it is updated by git fetch upstream and git merge upstream/main  (essentially making sure it is up to date).
go back to your dark-mode-font-change branch
run this command to revert your file git checkout -- path to your lock file and git checkout -- path to your package json (please replace the path with the actual path)
push the code using git push origin dark-mode-font-change that should update this pr

@mohak34  please let me know if anything is not clear. You can use git checkout main and git checkout footer-text-update to switch between the branches
P.S To avoid this in the future you should use npm ci to install the packages instead of npm install

Alright, I'll send it over.

Running into errors in git chekout -- BioDrop\package.json (the relative path) and also in the full path.
For the relative, error message is error: pathspec 'BioDroppackage.json' did not match any file(s) known to git and for the full path,  fatal: Z:Web: 'Z:Web' is outside repository at 'Z:/Web Dev/Hacktoberfest/BioDrop/BioDrop'.

Running into errors in git chekout -- BioDrop\package.json (the relative path) and also in the full path.
For the relative, error message is error: pathspec 'BioDroppackage.json' did not match any file(s) known to git and for the full path,  fatal: Z:Web: 'Z:Web' is outside repository at 'Z:/Web Dev/Hacktoberfest/BioDrop/BioDrop'.

Please write the paths correctly and check.

Please add a screenshot to the commands you type and the error.

you need to make sure main branch is upto date with this repo.
you need to write the paths correctly.
also double check command spellings

Hey @sricharanandra , I have updated the command there was a slight mistake, my bad. Also you need to use correct file paths. Biodrop/package.json is not the correct path.
I can give you an example

Here you can see I am in the excalidraw folder in my terminal . and you can see package.json is immediately in the folder so the path would be ./package.json and similarly for the lock file

Nope. Still getting the same error.

Nope. Still getting the same error.

https://www.youtube.com/watch?v=jHkIXYVpMTo check this video by eddie

@sricharanandra how far are we with the suggested changes?

Tried following the video, didn't seen to work. Will clone the repo again and run npm ci this time and redo the changes. Will send it over in a few hours.

you don't need to clone the repo, you can create a new branch from main and make the changes. But feel free to follow whatever is comfortable to you

So the changes in the json files are only in the branch we code in?

I should close this PR and make a new one right? For the new branch?

I should close this PR and make a new one right? For the new branch?

Yes you can do that


Delayed messages

Is your feature request related to a problem? Please describe.
Sometimes I remember that I have to write somebody late in the night, and I want to text to not forget it, but I want it to arrive tomorrow.
Describe the solution you'd like
Send delayed messages, just like in telegram.
Describe alternatives you've considered
Use a reminder and text tomorrow.

Another alternative can be implementing this client side, howewer, this doesn't work when the device is not connected at sending time.

And you'd lose sync capabilities. You couldn't cancel the message from another device.

I would love this capability.

I would love this capability.


Chapter 8: How to load data for continuation of training

Hello, I am trying to continue training on previous data. My computer went into a forced restart. I started with, in the command prompt, "python -r YNDX_150101_151231.csv".
The last checkpoint was "checkpoint-  8.data"
The last mean_val was "mean_val-0.828.data"
How would I continue train from where it left off?

Hi!
All the examples in the book were written without ability to restart in mind, as, in general, restart of training in RL domain is quite tricky thing to do. From my experience, most of the time it is simpler to start training from scratch rather than deal with lost replay buffer, overfitting in the beginning and other issues.
In your case, you can extend the example to support restart. To do that, you need to load network state from the checkpoint before the training loop. In PyTorch, you can load network weights from file using the single line:
network.load_state_dict(torch.load(FILE_NAME_WITH_WEIGHT, map_location=lambda storage, loc: storage))

Exactly that was done in chapter 6 play tool: https://github.com/PacktPublishing/Deep-Reinforcement-Learning-Hands-On/blob/master/Chapter06/03_dqn_play.py#L32


Make better use of AssertJ's string matchers

Where we are using String#format(...) to deal with platform-specific line endings, we can instead use isEqualToNormalizingNewlines.
We can also replace some calls to String#format(String...) with AssertJ's built-in support for format strings.

For the migration command help text output tests, what do you think about moving them to files in src/test/resources/, at least until Java 17...


Server removes reports with the same report hash

Steps to reproduce:

step: analyze and store the results to a run:

// main.cpp
int main()
{
  sizeof(42);
  sizeof(42);
  sizeof(42);
}

step: update the file, reanalyze and store the results to the same run:

// main.cpp
int main()
{
  sizeof(42);
}

In the second case the server will remove reports from the database which have the same report id. So in the database there will be actually one report.

Does the calculated bug path hash influence this, I mean there is no bug path in this case probably so the same bug path hash is calculated for that one report event and it will be the same because the source line is the same in both cases.

We handled this problem in #3102.

We handled this problem in #3102.


Header and Item Names trimmed incorrectly on "90º" rotated Text Panel

Header and Item Names trimmed incorrectly on "90º or 270º" rotation for Text Panel as image bellow:

Please also note that the "Stock" text, is also padded to the Left
The issue doesn't happens when the LCD is facing the "0º" or "180º"

the "ideal" placement should be something like that:

the current issue is that the sprites added doesn't account for the viewport.X so the final results ends being off by the amount of offset the screen has, and since this screen have a really big offset, is more perceptible on that.


Frame explanation in terms of from-scratch consistency

The README talks about "soundness" and "glitch-free-ness", but these words are confusing. @shaylew mentions that "from-scratch consistency" makes more sense, which really explains how this is not observables, the model is a function of the view, how everything is "current", etc. Let's work on updating the README to speak in these terms, which make more sense.

in Ember, we use the term "settled" to mean: no pending reactive changes, the view will not be updated without an external force (Newton's laws of motion?)

@alxhub has also noted that a certain sense of time-independence is also an important property that we meet, e.g., it doesn't really matter which order you do two .set()'s in if you do nothing in between.


DSL2 modules

Description of feature
Categorization of the workflow at the process level with the corresponding modules needed to port to 'DSL2'. Once the modules have been created, I can place more shape on this in terms of subworkflows.
N.B: please checkout new branches for individual features and push to the DSL2 branch, not dev.
Input files
Currently, circRNA takes as input a samplesheet.csv file and a phenotype.csv file. Functions already exist to check these files, all that is needed is to place these in an input_check.nf local subworkflow.
I would like to incorporate strandedness like other nf-core workflows. Will check which circRNA quantification tools have a parameter denoting strandedness.
Pre-processing
The workflow takes as input fastq or bam files (which are converted to fastq using picard SamToFastq) and performs FastQC on the raw reads prior to trimming using BBDUK. The trimmed reads are then checked using FastQC again and placed in channels for downstream analyses.

[x] FastQC
[x] MultiQC
[x] BBDUK
[ ] picard/SamToFastq  (I don't care if we drop this functionality.)

circRNA Discovery
Several tools utilize the same aligner, there will be duplicates here.
CIRIquant

[x] bwa index
[x] hisat build
[x] ciriquant

CIRCexplorer2

[x] STAR genomegenerate
[x] STAR align (2 Pass mode)
[x]  circexplorer2 parse
[x] circexplorer2 annotate

circRNA_finder

[x] star genomegenerate
[x] star align (2 Pass mode)
[x] circRNA_Finder (postProcessStarAlignment.pl script)

DCC
DCC maps paired-end reads jointly and separately using STAR 2 pass mode. The goal is to generate chimeric.junction.out files from joint STAR mapping and individual read 1 and read 2 STAR mapping.

[x] star genomegenerate
[x] star align (2 Pass)
[x] dcc

find_circ

[x] bowtie2 build
[x] bowtie2 align
[x] find_circ find_anchors
[x] find_circ find_circ

Mapsplice

[x] bowtie build
[x] mapsplice align
[x] circexplorer2 parse
[x] circexplorer2 annotate

Segemehl

[x] segemehl align

Custom scripts to parse segemehl output, no need to create a module.
circRNA annotation
customized bash script to standardise the annotation outputs from the seven quantification tools.
circRNA FASTA sequence
customized bash script to generate the mature spliced sequence in FASTA format, and append the back-splice junction sequence for miRNA target prediction.
circRNA count matrix
consolidate the circRNAs called by multiple tools on a per sample basis, generate the count matrix.
miRNA target prediction
miRanda

[x] miranda

TargetScan

[x] targetscan. biocontainers #475

custom script to amalgamate the results from both tools.
Differential expression

[x] hisat build
[x] hisat align
[x] stringite

Custom R scripts for DESeq2 and CircTest, no need to create modules.

I think all these modules have been properly implemented. Can we close this issue?


Adjusting ID and Title of Big Blue Button Meeting

We currently generate the ID of a Big Blue Button Meeting for Video Calls randomly.
As suggested by @GhaziTriki we should generate them the following way:
- meeting Id:
 * private chat: zulip-deployment-id-owner-id-user
 * stream topic: zulip-deployment-id-stream-id-topic-id
- meeting name:
 * private chat: User Name Room
 * stream topic: stream - topic

The problem I see in that is that using the formats for the id that would mean that there can not be different meetings in one stream/pm chat. I think a time aspect should be included. (like appending the unix timestamp)

@zulipbot claim

I started implementing it.
The problem I have is that in the request to generate the link we do not know which Stream/Private Message/Group Message the Meeting/Message that will be created is in.
I am not sure if the name and id should be generated client side.

I feel like we could generate the IDs still randomly and just configure the name based on the current compose box location at the time the request is made to create them?

@strifel we can simply pass some JSON to the API call and write
data = json.loads(request.body.decode("utf-8"))
meeting_title = data['meeting_title']

in zerver/views/video_calls.py:164:def get_bigbluebutton_url


try to get display columns to go in and out on state change

let me know if i'm going down the wrong path here...

Me too, way easier to follow


Server Access Request

Please answer the following questions
What is your experience playing modded Minecraft?
Have you successfully been able to play this modpack in single-player?
What is your Minecraft username?
Please re-state the server rules in your own words
Next Steps
Please be patient while waiting for your request to be considered!  Access requests are considered once per day, so you should generally receive a response in less than 24h.  In the meantime, you can set up your Minecraft instance to access the server at:
istari.tungstonminer.com:24565
Finally, it is highly recommended that you read the wiki for the modpack.  There are a lot of changes to world generation, mob spawning, ore placement, recipes and general game mechanics which will be very confusing otherwise.

I have been playing modded for around 6-8 months I believe by now,
Yes I have
Fireoverlord13
I must not kill any and all allied players (that includes neutral ones)
I must always ask for permission to modify and or building near other people's builds,
I must not destroy the world without an excuse or purpose

Sounds good!  Welcome to the server!  If you run into any problems, feel free to ask for help on the Discord channel.


Add key-fetcher Middleware to Intercept and Map App Keys

Introduction
This commit adds functionality to intercept and map the app key in client requests. By introducing a key-fetcher middleware during request processing, it extracts the client's app key from the Authorization header and replaces it with the actual app key from the provider. Additionally, a TimedMap caching mechanism is implemented to cache fetched app keys, improving performance.
Main Changes

Added key_mapper Module

Created the interceptors/key_mapper.rs file, implementing the key_fetcher function.
Utilized once_cell::sync::Lazy and timedmap::TimedMap to create the static cache APP_KEY_CACHE.

Modified Middleware Layer

In main.rs, introduced the new middleware using middleware::map_request_with_state:.route_layer(middleware::map_request_with_state(config.clone(), key_fetcher))

Implemented key_fetcher Functionality

Extracted the client's app key from the Authorization header in the request.
Checked if the corresponding provider's app key exists in the cache; if so, used it directly.
If not in the cache, fetched the provider's app key from the configured fetcher URL.
Cached the fetched app key with a validity period of 1 hour.
Replaced the Authorization header in the request with the provider's app key.

Summary by CodeRabbit

New Features

Introduced a new configuration option for fetching application keys from the environment.
Added a key mapping module to enhance HTTP request handling.
Integrated middleware for improved request processing.
Added a new dependency to support enhanced functionality.

Bug Fixes

Ensured proper formatting in the configuration file.

Documentation

Updated documentation for the new key mapping functionality with examples.

@garyhai Hi, can you please elaborate on why we need a key-fetcher for this repo. Wouldnt that make the gateway way less secure if you can get the API keys via an API?

Thank you @imshashank for your inquiry regarding the necessity of a key-fetcher in this repository. I appreciate the opportunity to elaborate on its purpose and address your security concerns.
Purpose of the Key-Fetcher
In developing AI frontend applications, particularly web-based ones, it’s crucial to conceal sensitive information such as App Keys. A common solution is to implement a backend service that proxies requests to AI providers. As AI applications grow in complexity, with more intricate interfaces and higher performance demands (e.g., support for streaming), developing such backend gateway services becomes increasingly challenging. I believe this is the motivation behind the design of ai-gateway. AI application developers greatly benefit from components like ai-gateway, which enhance development efficiency and reduce complexity.
Beyond hiding App Keys, developers often need to implement a traffic pool that supports multiple service providers and App Keys, due to quota limitations imposed by AI service providers. AI applications typically have their own user registration and login mechanisms, managing user sessions and authorizations. This setup allows developers to use AI providers’ network interfaces directly on the client side without complex encapsulation or performance concerns. One of ai-gateway’s impressive features is its unified OpenAI interface that supports various AI service providers.
Extending Business Logic
Business-specific logic should not be implemented directly within ai-gateway, yet the gateway needs to handle such tasks. While extending business logic through plugins is an option, it can limit the choice of programming languages, increase development complexity, and prevent the use of existing business logic modules. The key-fetcher addresses this by interacting with business logic through a loosely coupled standard HTTP interface, allowing for greater flexibility and maintainability.
Security Considerations
The key-fetcher is designed to interact with business logic through a loosely coupled standard HTTP interface. It is typically deployed on the same node or within the same internal network as ai-gateway. Therefore, it employs performance and security-sensitive implementations, such as the Axum middleware. As a backend network component, ai-gateway’s security relies on network topology and internal maintenance services, which are not directly exposed to external users.
I hope this clarifies the rationale behind introducing the key-fetcher and addresses your security concerns. Please let me know if you have any further questions or require additional information.

Hi,
Sorry, but you haven't answered my questions.
Please explaining in 2 lines what this does, why we need to cache the keys? Wouldn't this actually make the whole gateway unsafe and also why can't we just read keys from headers?

The key-fetcher allows using OpenAI APIs directly from the web frontend without exposing the OpenAI app key.
It doesn’t cache keys; it maps the JWT token from the frontend to an OpenAI app key via an HTTP service on the backend.

I have realized that this PR may be too restrictive and that considering such an extension for the project at this stage is premature. Therefore, I have decided to close this pull request. I hope the ideas presented can still offer some valuable insights for the project’s future development.


How to get CDN origins for specific scope

There is no OriginScope parameter like in Remove-SPOTenantCdnOrigin.

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

ID: 5e4ea598-827b-f445-0904-34715521e9cd
Version Independent ID: 45c5b70d-a4c3-d134-95a8-415ff2365f01
Content: Get-SPOTenantCdnOrigins (sharepoint-online)
Content Source: sharepoint/sharepoint-ps/sharepoint-online/Get-SPOTenantCdnOrigins.md
Service: sharepoint-powershell
GitHub Login: @vesajuvonen
Microsoft Alias: vesaj

@officedocsbot assign @yogkumgit

Hello @Damag3d
Thanks for your feedback.
I can confirm that -OriginScope is not present in the Get-SPOTenantCdnOrigins cmdlet.
I suggest you to visit this resource https://sharepoint.uservoice.com/ to propose this to the product team.
Thank you

@Damag3d  Thank you very much for your kind feedback. Considering your valuable feedback, we request you to log this issue as a User Voice. Concerning team will evaluate and take the appropriate action, as per their schedule. Thanks again for taking out some time and sharing your feedback.

@officedocsbot close

@yogkumgit I do not get your logic here. We faced the issue that customer had Office 365 CDN set up. It became inaccessible. When we have checked if any CDNs are working then Get-SPOTenantCdnOrigins showed none. We wanted to doublecheck if CDNs are enabled on specific sites.
Also publishing feature sets up CDNs automatically. Inability to properly manage CDNs, can result in

security risks - when CDN used is managed by 3rd party
broken UI - our case
temporary loss of data - our case
Current behavior is such that Office 365 enables it automatically, but then does not provide tools to manage it neither via UI or PowerShell.

Hello @Damag3d
Thanks again for your feedback. We understand what you said, although this issue resource is only to address issues in documentation based on current functionality, for example, missing or wrong description for existing parameters, typos or missing examples.
In this case, the functionality that you are looking for is not currently present, so you either need to suggest it on user voice, or contact support services here https://support.microsoft.com or https://support.office.com/home/contact
Hope this information has clarified things out.
Thank you

@Damag3d  Thank you very much for your kind feedback. Kindly follow the advise offered by Andres, this is the only way forward. If any documentation update would have required, we could happily do that.  Hope  you agree with us. Please keep posting your suggestions regarding improvements in the documentation. Thanks again for taking out some time and sharing your feedback.

@officedocsbot close


[Bug]: Autoform fails to render nested enum with optional or default parameter

Reproduction
https://stackblitz.com/edit/pkm6gj?file=src%2FApp.vue
Describe the bug
given the zod schema
let schema = z.object({
    count: z.number(),
    nesteObject: z.object({
      framework: z.enum(["vue","react"]).default("vue")
    }),
})

The select renders with an empty dropdown. On the other hand if enum is brought to the top level object it works correctly.
System Info
-

Contributes

[X] I am willing to submit a PR to fix this issue
[ ] I am willing to submit a PR with failing tests

issue found with the following line
utilising the getBaseSchema on item resolves this (similar to how it is in AutoForm.vue)


Update ci-gradle.properties to fix daemon disappearing issues on CI

We currently have GitHub Actions CI setup to copy ci-gradle.properties to ~/.gradle/gradle.properties on CI, to specify CI specific Gradle properties. Importantly, these properties take precedence over the project gradle.properties (as verified by ./gradlew properties). This means that the org.gradle.jvmargs that we were specifying in ci-gradle.properties were overwriting the default project ones specified here:
https://github.com/android/nowinandroid/blob/e53bb89671937e7fb3e1cc89092092968d9861f9/gradle.properties#L12-L13
This means that we were again running into https://github.com/gradle/gradle/issues/19750 on CI only, likely the cause for the "daemon disappeared" issues from some PRs.
As a fix, I've removed the org.gradle.jvmargs from the ci-gradle.properties, to avoid overwriting and instead just use the project default ones which are already working around that issue.
We may want to take another look at what other properties we are specifying in ci-gradle.properties, and if we really want them. For example, org.gradle.parallel=true is already specified in the default project gradle.properties, so specifying it in ci-gradle.properties is technically redundant.

Thanks for doing this Alex. With all the renovate PRs CI builds failing due to "daemon disappeared" it's impossible to see any which are genuine failures.


Add Optional 'UpdateUser' Parameter to the AddToRoleAsync adn RemoveFromRoleAsync Methods

Hey there, I thought of a possible enhancement for the UserManager class, specifically the "AddToRoleAsync" and "RemoveFromRoleAsync" methods. I'm writing a custom UserStore  to be used with Identity using Dapper. When I began to implement these two methods, I took a look at the UserManager implementation and noticed both "AddToRoleAsync" and "RemoveFromRoleAsync" eventually call the "UpdateAsync" method at then end. In my implementation of the UserStore, there would be no reason to update the user at the end as adding or removing them from a role is done separately from the update of the user.
My thought was to add an optional parameter to the these methods with a default value of true and wrapping the call to UpdateUserAsync with a conditional checking the UpdateUser value. This would allow someone using the UserManager class to control whether the user is updated or not. This may be a pattern we can use elsewhere as well, but these were the first two places I noticed it. I'd be happy to work on these myself at some point as they are not very urgent, but I was hoping to see what people thought. I'm new to contributing to open source.

The pattern for identity public APIs is basically to manipulate the entity via Store operations, do some validation, and then call UpdateUser.  We won't add a flag, but you can always keep track of whether the user data has been modified in the store yourself.


MINIFICPP-659: Break out CAPI into nanofi

Break out structure -- facilitating Python and new nanofi structure
Thank you for submitting a contribution to Apache NiFi - MiNiFi C++.
In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[ ] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[ ] Does your PR title start with MINIFICPP-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[ ] Has your PR been rebased against the latest commit within the target branch (typically master)?

[ ] Is your initial contribution a single, squashed commit?

For code changes:

[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file?
[ ] If applicable, have you updated the NOTICE file?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.

reviewing

@phrocker would you mind rebasing this? didn't want to make any bad assumptions between this and current master, otherwise looks good and build was fine

@apiri rebasing  now, thanks.

@apiri rebased but don't see the updates in the PR. Do you see them?

@phrocker it doesn't seem like I was unable to pull them... unfortunately, may just have to open up a new PR with that commit


Opening MQTT JSON Light details locks browser up

Home Assistant release with the issue:
0.81.6
Last working Home Assistant release (if known):
unknown (new component for me)
Operating environment (Hass.io/Docker/Windows/etc.):

HassOS in Virtualbox VM
CPU: Intel i7-8559U (2 virtual cpus allocated)
RAM (HassOS VM): 2GB
Component/platform:
https://www.home-assistant.io/components/light.mqtt_json/
Description of problem:
When you click on the light to open the details (where you set color, effect) the browser locks up. Initially this was working fine for me, but after a day or so it started happening so it could have to do with history or state. It seems to be getting worse. Before my faster computers could do it, but not my slower ones. Today I can't use the dialog at all even on my fastest computer. This also effects my phone.
I tried commenting out some effects in the list to see if having too many effects were the problem but that doesn't seem to help.
Example MQTT state:
{"state":"ON","color":{"r":255,"g":127,"b":0},"brightness":255,"effect":"juggle","transition":130}

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
- platform: mqtt_json
  name: "Holiday Lights"
  state_topic: "led/porch"
  command_topic: "led/porch/set"
  effect: true
  effect_list:
    - bpm
    - candy cane
    - christmas
    - confetti
    - cyclon rainbow
#    - dots
#    - fire
    - glitter
    - juggle
#    - lightning
    - noise
    - police all
#    - police one
#    - rainbow
    - rainbow with glitter
#    - ripple
    - sinelon
    - solid
    - twinkle
  brightness: true
  flash: true
  rgb: true
  optimistic: false
  qos: 1
  retain: true

Traceback (if applicable):

Additional information:
I have mysql and influxdb enabled.
MySQL runs in the host OS, influxdb is a hass.io addon.
# Enables support for tracking state changes over time
recorder:
  db_url: !secret mariadb_url
  purge_keep_days: 7

influxdb:
  host: a0d7b954-influxdb
  port: 8086
  database: homeassistant
  username: hass
  password: !secret influxdb_pass
  max_retries: 3
  default_measurement: state

history:

/move to home-assistant/home-assistant-polymer


Hub, Sound, and DistanceSensor Python Libraries

Implemented native Hub functions for device_uuid, hardware_id, power_off, and temperature
Implemented Sound plugin (beep functionality limited to mandatory parameters only)
Implemented DistanceSensor plugin with most functionality (Set() function is currently only SetAllLights() until the array parameter is added)

Implemented native Hub functions for device_uuid, hardware_id, power_off, and temperature Implemented Sound plugin (beep functionality limited to mandatory parameters only) Implemented DistanceSensor plugin with most functionality (Set() function is currently only SetAllLights() until the array parameter is added)

Meant Show() instead of Set()

Wow this is excellent. Great job. One question: For the Distance Sensor, I see you can get the x/y pixel intensity, but how do you know the max value for x and y? I'm guessing there's some set of allowable values here you iterate through or something similar?


When I Check flutter doctor has a problem

Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter doctor
exception
VersionCheckError: VersionCheckError: Command exited with code 128: git log -n 1 --pretty=format:%ad --date=iso
Standard error: fatal: your current branch 'master' does not have any commits yet
#0      _runSync (package:flutter_tools/src/version.dart:516:5)
#1      FlutterVersion._latestGitCommitDate (package:flutter_tools/src/version.dart:136:12)
#2      FlutterVersion.frameworkCommitDate (package:flutter_tools/src/version.dart:127:37)
#3      FlutterVersion.frameworkDate (package:flutter_tools/src/version.dart:89:31)
#4      FlutterValidator.validate (package:flutter_tools/src/doctor.dart:450:127)
<asynchronous suspension>
#5      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:116:52)
#6      Doctor.diagnose (package:flutter_tools/src/doctor.dart:187:41)
<asynchronous suspension>
#7      DoctorCommand.runCommand (package:flutter_tools/src/commands/doctor.dart:48:39)
<asynchronous suspension>
#8      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:553:18)
#9      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#10     _rootRunUnary (dart:async/zone.dart:1132:38)
#11     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#12     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#13     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#14     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#15     Future._complete (dart:async/future_impl.dart:473:7)
#16     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#17     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async-patch/async_patch.dart:33:20)
#18     _rootRun (dart:async/zone.dart:1124:13)
#19     _CustomZone.run (dart:async/zone.dart:1021:19)
#20     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#21     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#22     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#23     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:391:30)
#24     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
#25     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

flutter doctor
encountered exception: VersionCheckError: Command exited with code 128: git log -n 1 --pretty=format:%ad --date=iso
Standard error: fatal: your current branch 'master' does not have any commits yet

#0      _runSync (package:flutter_tools/src/version.dart:516:5)
#1      FlutterVersion._latestGitCommitDate (package:flutter_tools/src/version.dart:136:12)
#2      FlutterVersion.frameworkCommitDate (package:flutter_tools/src/version.dart:127:37)
#3      FlutterVersion.frameworkDate (package:flutter_tools/src/version.dart:89:31)
#4      FlutterValidator.validate (package:flutter_tools/src/doctor.dart:450:127)
<asynchronous suspension>
#5      Doctor.startValidatorTasks (package:flutter_tools/src/doctor.dart:116:52)
#6      Doctor.diagnose (package:flutter_tools/src/doctor.dart:187:41)
<asynchronous suspension>
#7      _doctorText.<anonymous closure> (package:flutter_tools/runner.dart:188:26)
#8      AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#9      _rootRun (dart:async/zone.dart:1124:13)
#10     _CustomZone.run (dart:async/zone.dart:1021:19)
#11     _runZoned (dart:async/zone.dart:1516:10)
#12     runZoned (dart:async/zone.dart:1463:12)
#13     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#14     _doctorText (package:flutter_tools/runner.dart:187:19)
<asynchronous suspension>
#15     _createLocalCrashReport (package:flutter_tools/runner.dart:165:32)
<asynchronous suspension>
#16     _handleToolError (package:flutter_tools/runner.dart:120:33)
<asynchronous suspension>
#17     run.<anonymous closure> (package:flutter_tools/runner.dart:64:20)
<asynchronous suspension>
#18     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#19     _rootRun (dart:async/zone.dart:1124:13)
#20     _CustomZone.run (dart:async/zone.dart:1021:19)
#21     _runZoned (dart:async/zone.dart:1516:10)
#22     runZoned (dart:async/zone.dart:1463:12)
#23     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#24     runInContext (package:flutter_tools/src/context_runner.dart:50:24)
<asynchronous suspension>
#25     run (package:flutter_tools/runner.dart:51:10)
#26     main (package:flutter_tools/executable.dart:60:9)
<asynchronous suspension>
#27     main (file:///Users/ryouhoumasa/Desktop/FlutterSdk/flutter-master/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#28     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:298:32)
#29     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

How have you installed flutter?

Duplicate of #28877


WASM vs Docker comparison Link changed

Explanation
In this PR I resolved the navigation of WASM vs Docker comparison

Related issue

What type of PR is this
Bug

Proposed Changes

Hello, I am a code review bot on flows.network.
It could take a few minutes for me to analyze this PR. Relax, grab a cup of coffee and check back later. Thanks!

Thanks.


chore: update yarn version

3.3.0 => 3.5.0
change package.json name

Codecov Report
Patch and project coverage have no change.

Comparison is base (11e2da4) 97.05% compared to head (76b972f) 97.05%.

:exclamation: Current head 76b972f differs from pull request most recent head 9f9a515. Consider uploading reports for the commit 9f9a515 to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #81   +/-   ##
=======================================
  Coverage   97.05%   97.05%
=======================================
  Files          11       11
  Lines         136      136
  Branches       18       18
=======================================
  Hits          132      132
  Misses          4        4

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


replace rust-crypto with ring

Feature Request
Is your feature request related to a problem? Please describe:
rust-crypto hasn't been updated for couple of years. I think  https://github.com/briansmith/ring is a better option.
Currently, it was only used in the builtin_encryptions.rs for md5, sha1 and sha2 implementations .

I agree with this proposal. In addition, Ring has been used in rustls so that it seems to be promising.

Marking this issue as help-wanted so that others can start to work on it.

thanks  , I'll implement this

DateHub

@breeswish
after quick research , I found here some issues with using ring in TiKV
for digest, it drop support for MD5 and and sha224( https://github.com/briansmith/ring/issues/438)
for aes/des, it seems only support GCM mode. 🤣
so maybe we should use some small crates( sha-1, sha2, md-5, aes, des ) of RustCrypto

BTW, looking forward to seeing you @breeswish , in shanghai. next week ?

Oh, that's bad news 🤣I also found out "use at your own risk" in Rust Crypto README. Considering security, maybe we should use rust-openssl instead?

@niedhui That's ok! You can contact me privately through email :P

using rust-openssl  failed.  crate grpcio links BoringSSL, which is incompatible with OpenSSL.  https://github.com/sfackler/rust-openssl/issues/765

@overvenus Would you like to take a look and give help? grpcio 0.4 has already landed master but PRs are failing.

I suggest to combine ring with rust-crypto, to make things simple and somewhat more secure, as openssl is not as secure as it seems, which is the exact reason why boringssl is implemented.

IMHO, ring is really not a good option for our situation .  as I metioned before:

for AES/DES, it only support GCM mode for now,  and we do not need this mode
for degest, it does not support MD5 and sha224
as a result, if we choose ring, we can only use it for some SHA and rand funcitons

boringSSL is truely more secure than openSSL, but if we want to  be compatible with MySQL, it's a tradeoff.   what's you opinion,   @BusyJay

Alright, seems there is a missing crate.

@breeswish
for digest, it drop support for MD5 and and sha224

Why do you need MD5 and SHA-224? SHA-224 isn't horrible but MD5 is useless as a security mechanism now; see https://github.com/corkami/pocs/tree/master/collisions. If you have the ability to remove MD5 support from your product, I recommend doing so. Almost nobody uses SHA-224 so I would suggest dropping it, if possible.

for aes/des, it seems only support GCM mode. 🤣

Which modes do you need?

@briansmith it's all about to be compatible with with MySQL 😞

That's true sadly @briansmith We need to support it as long as MySQL supports it.

@breeswish
for digest, it drop support for MD5 and and sha224

Why do you need MD5 and SHA-224? SHA-224 isn't horrible but MD5 is useless as a security mechanism now; see https://github.com/corkami/pocs/tree/master/collisions. If you have the ability to remove MD5 support from your product, I recommend doing so. Almost nobody uses SHA-224 so I would suggest dropping it, if possible.

for aes/des, it seems only support GCM mode. rofl

Which modes do you need?

By default, MySQL's  aes_encrypt apply ECB mode, but it can be configed by env variable block_encryption_mode

We could use the md5 package in additional to ring for MD5() support.

If we want to add function aes_encrypt/aes_decrypt, maybe we have to keep rust-crypto and add stream-ciphers because MySQL's block_encryption_mode supports: ECB, CBC, CFB1, CFB8, CFB128, OFB

I'm going close this issue, since #3886 has been merged


Build Bus Schedule App

URL of codelab:
https://developer.android.com/codelabs/basic-android-kotlin-compose-practice-bus-schedule-app?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-6-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-practice-bus-schedule-app#5
In which task and step of the codelab can this issue be found?
6. Create a database instance
Describe the problem
expected: "The database initializes itself with data from the assets/database/bus_schedule.db file in the starter code"
actual: the function of Builder.createFromAsset hasn't been introduced anywhere; no reason for a noobie to figure it out wihtout cheating...
Steps to reproduce?

Create the app **without using createFromAsset **
Run the app
no schedule is displayed

It's available in the documentation for reading: https://developer.android.com/training/data-storage/room/prepopulate


Where should packet-log.patch.txt be?

Where in JPEXS Free Flash Decompiler locate file packet-log.patch.txt

Code in it have to be manually inserted into methods in library.swf.
First code block into scpacker.networking:NetworkService/protocolDecrypt, second - into scpacker.networking:Network/send.
I done it in the video: https://youtu.be/H5qH03ye7as


bionic Release' no longer has a Release file.

Issue Type

Bug Report / Support Request

Your Environment
Vagrant 2.2.5
VBox Version 6.0.6 r130049 (Qt5.6.2)

Your OS

Windows (10)

Full console output
==> drupalvm: Running provisioner: drupalvm (ansible_local)...
drupalvm: Installing Ansible...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
apt-get update -y -qq
Stdout from the command:
Stderr from the command:
E: The repository 'https://packagecloud.io/varnishcache/varnish61/ubuntu bionic Release' no longer has a Release file.
Summary
When running vagrant up provision the process ends with the above error. Latest release from the drupalvm website.


Fixed size constaint in algorithmDto

Short Description
Fixed size constaint in algorithmDto

Codecov Report

Merging #61 into master will increase coverage by 0.06%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master      #61      +/-   ##
============================================
+ Coverage     57.37%   57.43%   +0.06%
  Complexity      370      370
============================================
  Files            99       99
  Lines          1370     1372       +2
  Branches         45       45
============================================
+ Hits            786      788       +2
  Misses          551      551
  Partials         33       33

Impacted Files
Coverage Δ
Complexity Δ

...n/java/org/planqk/atlas/web/dtos/AlgorithmDto.java
95.65% <100.00%> (+0.41%)
18.00 <2.00> (ø)


Kamelet validator prevents @BeanInject usage

I tried to use @BeanInject in camel-kamelets-utils in order to autowire beans that are defined in Kamelet template section. The Kamelet validation scripts prevents this with parameter %q is declared in kamelet %q but never used
This is because the bean is declared in Kamelet but not used with #bean:{{myBean}} syntax due to @BeanInject.
Is @BeanInject something we want to support? We would need to change the Kamelet validation tool accordingly

I don't have strong opininion on this. I would prefer to keep the stuff simple, but relaxing validation for having some more flexibility in relation to beans is fine.


[BUG] Data Stream Snapshot Restore fails if targeting specific INDICES and it contains Security (even when not imported)

Describe the bug
I have a situation where I'm restoring Snapshots between two clusters using an S3 Bucket repository as a temporary storage.
The restore snapshot will fail with a security exception, even when excluding the .opendistro_security, the global state and all other private indexes.
This will fail for DATA STREAMS only, with a security exception, whenever you specify the NAME of the datastream in the indices parameter.
This does not happen if the SOURCE snapshot does only contain the data stream and nothing else, and the full snapshot is restored without using the indices key.
Related component
Storage:Snapshots
To Reproduce
Prerequisites:
Both OpenSearch have configured correct cross-account roles and have the same S3 SnapShot Repository available, if migrating. This is reproducible in the same cluster by taking snapshots and then deleting the snapshotted data streams.
NOTE: The USER used in these calls has ALL_ACCESS, MANAGE_SNAPSHOTS, SECURITY, etc etc. Full access.

On the SOURCE OpenSearch, I can add the repository, then take a full snapshot, including global state:
PUT _snapshot/temp-repo/snapshot_20240918

The snapshot contains everything, both the datastreams and the .private indexes

{
    "snapshots": [
        {
            "snapshot": "snapshot_20240918",
            "uuid": "REDACTED",
            "version_id": 136347827,
            "version": "2.13.0",
            "remote_store_index_shallow_copy": false,
            "indices": [
                ".kibana_-[redacted]", (a lot)
                ".ds-[DATA_STREAM_NAME]-000xxx", (a lot, different streams)
                ".plugins-flow-framework-templates",
                ".opendistro-reports-instances",
                ".opendistro-ism-managed-index-history-2024.08.26-000839", (a lot)
                ".plugins-ml-model",
                "[REGULAR_INDEXES_REDACTED]",
                ".opensearch-notifications-config",
                ".plugins-flow-framework-config",
                ".opensearch-sap-pre-packaged-rules-config",
                ".plugins-flow-framework-state",
                ".ql-datasources",
                ".opendistro_security", <<< IMPORTANT
                ".tasks",
                ".plugins-ml-model-group",
                ".plugins-ml-stop-words",
                ".plugins-ml-agent",
                ".opensearch-observability",
                ".plugins-ml-config",
            ],
            "data_streams": [
                "[DATA_STREAM_1]",
                "[DATA_STREAM_2]",
                "[DATA_STREAM_3]",
                "[DATA_STREAM_4]",
                "[DATA_STREAM_5]",
                "[DATA_STREAM_6]",
            ],
            "include_global_state": true,
            "state": "SUCCESS",
            "start_time": "---REDACTED---",
            "start_time_in_millis": ---REDACTED---,
            "end_time": "---REDACTED---",
            "end_time_in_millis": 0,
            "duration_in_millis": 0,
            "failures": [],
            "shards": {
                "total": 0,
                "failed": 0,
                "successful": 0
            }
        }
    ]
}

Wait for completion, the new OpenSearch will then display the taken snapshot as completed and available.

From the full snapshot, try to restore ONLY things that you will need, eg, only a single data stream.
The data stream, nor it's backing indexes, DO NOT exist on the new cluster (2.15).
Exclude global state
POST _snapshot/temp-repo/snapshot_20240918/_restore

{
  "indices": "DATA-STREAM-NAME",
  "include_global_state": false,
  "ignore_unavailable": true
}

The restore fails immediately with a security exception with NO roles required.

Additionally, EXCLUDING -.opendistro_security in indices has no effect - same Authorization error

Recovering the .ds underlying indexes work - BUT there will be no Data Stream structure created, so it will be needed to do a manual recovery.

Take a new snapshot, but this time, explicitly EXCLUDE global state and only include the data stream
This must be done WHEN TAKING THE SNAPSHOT ITSELF, including only the datastream
PUT _snapshot/temp-repo/snapshot_20240920_only_data_stream

{
    "snapshots": [
        {
            "snapshot": "snapshot_20240920_only_data_stream",
            "uuid": "---REDACTED---",
            "version_id": ---REDACTED---,
            "version": "2.13.0",
            "remote_store_index_shallow_copy": false,
            "indices": [
                ".ds-DATA-STREAM-NAME-000xxx", (only these appear in the indexes x 1000+)
            ],
            "data_streams": [
                "DATA-STREAM-NAME"
            ],
            "include_global_state": false,
            "state": "SUCCESS",
            "start_time": "---REDACTED---",
            "start_time_in_millis": ---REDACTED---,
            "end_time": "---REDACTED---",
            "end_time_in_millis": ---REDACTED---,
            "duration_in_millis": ---REDACTED---,
            "failures": [],
            "shards": {
                "total": ---REDACTED---,
                "failed": 0,
                "successful": ---REDACTED---
            }
        }
    ]
}

Execute the same command as in STEP 3 but without using the indices field (it will result in an Index Not Found error, or a Security Error just like the first execution)
POST _snapshot/temp-repo/snapshot_20240920_only_data_stream/_restore

{
  "include_global_state": false,
  "ignore_unavailable": true
}

Everything works as expected

Expected behavior
When restoring from a full, or partial Snapshot, specifying the name of the index pattern in the field indices should work without security issues OR index not found errors.
At the moment, only restoring the full snapshot works.
TL;DR: This SHOULD WORK FOR ANY SNAPSHOT -> but it does not:
POST _snapshot/temp-repo/any-snapshot-full-or-partial/_restore
{
  "indices": "DATA-STREAM-NAME, -.opendistro_security",
  "include_global_state": false,
  "ignore_unavailable": true
}

SLOW WORKAROUND FOR NOW:
If you cannot take a new partial snapshot and are stuck with a FULL snapshot, which contains special indexes that cannot be recovered without excluding them (eg: .opendistro_security), since you CANNOT use the indices fields, you can

Recover all the underlying .ds-stream-name-000001 to a _recovered status, using rename fields
POST _snapshot/temp-repo/FULL_SNAPSHOT/_restore

  "indices": ".ds-[DATA-STREAM-NAME]-*",
  "include_global_state": false,
  "ignore_unavailable": true,
  "rename_pattern": "(.+)",
  "rename_replacement": "$1_recovered"

Create a new data stream with the same name and settings of what you need to recreate [DATA-STREAM-NAME]
Do a /_reindex (you need to manage manual rollovers if you need ISM since if you reindex everything it will not apply ISM policies until the end!!) from the .ds-name-000_RECOVERED -> to the new DataStream

{
  "source":{
    "index": ".ds-[DATA-STREAM-NAME]-*_recovered"
  },
  "dest": {
    "index":"[DATA-STREAM-NAME]",
    "op_type": "create"
  }
}

NOTE: If you have a lot of backing indexes, reindex them ONE BY ONE (not using *), and manual _rollover the data stream!
This takes a lot of time (in my case, ETA was +80 hours for ~400GB) but works nicely.
----> If you can take a PARTIAL snapshot, do that, since the recovery is much faster.
Additional Details
Plugins
Host/Environment (please complete the following information):

OS: AWS OpenSearch Service
Version 2.13 (Source) -> 2.15 (Destination)

Additional context
This is referenced in this closed issue: https://github.com/opensearch-project/security/issues/2583 and it's still a problem as of OpenSearch 2.15 (AWS version)

Transferring to security repo


Check import URLs against a blacklist of IP addresses

Currently, the importer does not perform any kind of check when a
URL is requested to be imported. In production environments, this
blacklist can be used in order to block imports from specific IPs
to improve security measures.
This commit adds a new entry in the app_config that allows to specify
specific IP addresses or ranges of IP addresses from which
imports will not be allowed.
Notes:
Resolv is being used to get the IPs from hostnames given that Typhoeus does not have a resolving function:  https://github.com/typhoeus/typhoeus/issues/482

cc @ethervoid

Despite de comments, I miss some tests for this new functionality

Thanks for the review, mate!
Working on all that :-) Tests too, ha! ;-)

Hey @ethervoid, I tried to apply your feedback :-)
Now tests are included, the IP blacklist is no longer a constant and I've changed a bit the logic too.

Looks good to me. :+1:  :smile:

I pushed an extra test to make explicit that IP ranges can be used. Also, I tweaked the @blacklisted_ip_ranges generation so that new IPAddr is instantiated just once, not each time that the code was run, which was happening before.

retest this please

:+1:


Node 8 now in lts so need of es7 sample

How to reproduce these conditions
Cant say but see https://nodejs.org Node 8 is now in LTS. As the docs say cloud functions use node lts so is there support for async await out. If so you should remove es7 example

@pantharshit00 Pretty sure that cloud functions are still running Node 6.11.* runtimes, so it is still nice to have this example (since you want to develop with the same node version you are running when deployed). An example helps keep a clear pathway to using babel in the meantime.
All of that said, I am not sure of the schedule for changing the functions runtime.

@prescottprue is correct. There's a lot of work involved in adding a new runtime to Cloud Functions and we're not there yet. Node 6.11.x is still GCF's version of Node. If you really want async and await, I'd recommend checking out TypeScript. We have a sample project in this repo that shows a configured TypeScript project and proper support in the CLI for setting up new projects with TypeScript is coming soon.


Reverse order of comments on docker hub

It's annoying that the most current comment is the last one in the list - can you please change that order?
In most cases it's not relevant anymore what was, say, 3 month ago.

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

HI @MikeMitterer could you open this issue in the "Hub Feedback" issue tracker? Docker Hub is not handled by the open source team, so not in this repository. You can create an issue here:
https://github.com/docker/hub-feedback/issues

@thaJeztah I think the hub help page should be update though (https://hub.docker.com/help/), it's pointing to docker/docker.

@vdemeester oh! that's weird. Can you create an issue for that in https://github.com/docker/hub-feedback/issues?

I can :wink:


typo in nebula-cluster.yaml file causing deployment failure

Please check the FAQ documentation before raising an issue

Describe the bug (required)
Upgrade nebula cluster to v3.3.0 using helm chart failed

Upgrade nebula cluster to v3.3.0 using helm chart failed with below error
Error: UPGRADE FAILED: error validating "": error validating data: ValidationError(NebulaCluster.spec.storaged): unknown field "dataVolumeClaims" in io.nebula-graph.apps.v1alpha1.NebulaCluster.spec.storaged
helm.go:84: [debug] error validating "": error validating data: ValidationError(NebulaCluster.spec.storaged): unknown field "dataVolumeClaims" in io.nebula-graph.apps.v1alpha1.NebulaCluster.spec.storaged

Looking at the code...these seems a typo in nebula-cluster.yaml files
    dataVolumeClaims:
    - resources:
        requests:
          storage: {{ .Values.nebula.storaged.dataStorage }}
      {{- if .Values.nebula.storageClassName }}
      storageClassName: {{ .Values.nebula.storageClassName }}
      {{- end }}

Your Environments (required)

OS: uname -a
Commit id (e.g. a3ffc7d8)

How To Reproduce(required)
Steps to reproduce the behavior:

Step 1
Step 2
Step 3

Expected behavior

Additional context

Dear @porscheme ,
we need to manually update the CRD after helm upgrade, as CRD is not controlled by helm.
please see https://github.com/vesoft-inc/nebula-operator/issues/163

cc @MegaByte875 in case i am missing something regarding the typo part

Dear @porscheme ,
we need to manually update the CRD after helm upgrade, as CRD is not controlled by helm.
please see #163

After manually applying CRD it worked.
Thanks

@porscheme OK, thanks.