#2446 Change the repository that manages the agent's command

Change the repository that manages the agent's command service. (ConcurrentHashMap -> HashMap)

@Xylus review please :)

Current coverage is 40.74% (diff: 93.50%)

Merging #2447 into master will increase coverage by 0.09%

@@             master      #2447   diff @@
==========================================
  Files          1636       1637     +1
  Lines         57403      57404     +1
  Methods       11163      11164     +1
  Messages          0          0
  Branches       7907       7904     -3
==========================================
+ Hits          23333      23388    +55
+ Misses        34070      34016    -54
  Partials          0          0

Powered by Codecov. Last update 8794eae...51f3f8d

Looks good to me!


Android not opening the popup. Shows: [Error: Failed to bind to the service.]

The popup is working fine on iOS but on android, it is throwing an error [Error: Failed to bind to the service]. Not sure what exactly is the reason. I have confirmed that all the installation is fine on the android native side as well. Still, the reason is unknown. Previously it was working fine.
The implementation is same as it is given in documentation.
This behavior is occurring on both the android emulators and physical devices.

@snyk-bot @bytehala @TaylorDale @MetinArslanturk any idea about this issue?

++

Any updates on this issue?

@MinaSamir11  please update the build Soon

@MinaSamir11  i'm seeing this issue as well. @basit-rayn  any updates?

Sorry for the late response.
The new release is now available, follow the new readme.md installation steps.
https://github.com/MinaSamir11/react-native-in-app-review/releases/tag/v4.3.1
For the public registry, the new release will be available in 10 days.

looking forward to use the new release

Hi there,
I'm experiencing the same issue with version "^4.2.1" of the npm library. Has anyone found a solution for this problem?
Thanks in advance for any assistance you can provide.

Sorry for the late response.
The new release is now available, follow the new readme.md installation steps. https://github.com/MinaSamir11/react-native-in-app-review/releases/tag/v4.3.1
For the public registry, the new release will be available in 10 days.

is it available for the one in the public registry now?

the new public version available now 4.3.1

Hi @MinaSamir11, I am experiencing the same issue in 4.3.1.

@MinaSamir11 , same issue with 4.3.1

@MinaSamir11  can you please help us out<EMAIL_ADDRESS>not worked for android as well


botocore.errorfactory.ValidationException: An error occurred (ValidationException) when calling the Converse operation: The model returned the following errors: Your API request included an assistant message in the final position, which would pre-fill the assistant response. When using tools, pre-filling the assistant response is not supported.

from langchain_core.messages import (
BaseMessage,
HumanMessage,
ToolMessage,
)
from inputs import description,links
import operator
from typing import Annotated, Sequence, TypedDict
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder
from tools.uber_suggest import search_seo_keywords
from tools.scraper import scrape
from tools.serper import get_serper_results
from langgraph.graph import END, StateGraph, START
from langgraph.prebuilt import ToolNode
from langchain_aws import ChatBedrock,ChatBedrockConverse
import os

llm = ChatBedrockConverse(
model_id="anthropic.claude-3-sonnet-20240229-v1:0",
temperature=0,
credentials_profile_name="bedrock",
region_name='us-west-2'
)

def create__generation_agent(llm, tools, system_message: str):
"""Create an agent."""
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a helpful AI assistant, collaborating with other assistants."
" Use the provided tools to progress towards answering the question."
" If you are unable to fully answer, that's OK, another assistant with different tools "
" will help where you left off. Execute what you can to make progress."
" If you or any of the other assistants have the final answer or deliverable,"
" prefix your response with FINAL ANSWER so the team knows to stop."
" You have access to the following tools: {tool_names}.\n{system_message}",
),
MessagesPlaceholder(variable_name="messages"),
]
)
prompt = prompt.partial(system_message=system_message)
prompt = prompt.partial(tool_names=", ".join([tool.name for tool in tools]))
return prompt | llm.bind_tools(tools)

def create_reviewer_agent(llm, tools, system_message: str):
"""Create an agent."""
prompt = ChatPromptTemplate.from_messages(
[
(
"system",
"You are a helpful AI assistant, collaborating with other assistants."
" Use the provided tools to progress towards answering the question."
" If you are unable to fully answer, that's OK, another assistant with different tools "
" will help where you left off. Execute what you can to make progress."
" prefix your response with FINAL REVIEW or CONTINUE so the team knows to stop or continue."
" prefix will be FINAL REVIEW if nothing major to review."
" prefix will be CONTINUE if you have a critique"
" You have access to the following tools: {tool_names}.\n{system_message}",
),
MessagesPlaceholder(variable_name="messages"),
]
)
prompt = prompt.partial(system_message=system_message)
prompt = prompt.partial(tool_names=", ".join([tool.name for tool in tools]))
return prompt | llm.bind_tools(tools)

This defines the object that is passed between each node
in the graph. We will create different nodes for each agent and tool
class AgentState(TypedDict):
messages: Annotated[Sequence[BaseMessage], operator.add]
sender: str

import functools

from langchain_core.messages import AIMessage

Helper function to create a node for a given agent
def agent_node(state, agent, name):
result = agent.invoke(state)

if result.tool_calls:
pass
else:
result = AIMessage(**result.dict(exclude={"type", "name"}), name=name)
return {
"messages": [result],
"sender": name,
}

Research agent and node
generator_agent = create__generation_agent(
llm,
tools,
system_message="""
""",
)
generator_node = functools.partial(agent_node, agent=generator_agent, name="generator")

chart_generator
reviewer_agent = create_reviewer_agent(
llm,
tools,
system_message="""""",
)
reviewer_node = functools.partial(agent_node, agent=reviewer_agent, name="reviewer")
tool_node = ToolNode(tools)

from typing import Literal

def router(state) -> Literal["call_tool", "end", "continue"]:

messages = state["messages"]
last_message = messages[-1]
if last_message.tool_calls:

return "call_tool"
if "FINAL ANSWER" in last_message.content:
return "continue"
elif "FINAL REVIEW" in last_message.content:
return "end"
else:
return "continue"

workflow = StateGraph(AgentState)

workflow.add_node("generator", generator_node)
workflow.add_node("reviewer", reviewer_node)
workflow.add_node("call_tool", tool_node)

workflow.add_conditional_edges(
"generator",
router,
{"continue": "reviewer", "call_tool": "call_tool", "end": END},
)
workflow.add_conditional_edges(
"reviewer",
router,
{"continue": "generator", "call_tool": "call_tool", "end": END},
)

workflow.add_conditional_edges(
"call_tool",

lambda x: x["sender"],
{
"generator": "generator",
"reviewer": "reviewer",
},
)
workflow.add_edge(START, "generator")
graph = workflow.compile()

events = graph.stream(
{
"description":description,
"links":links,
"messages": [
HumanMessage(
content=f"""""
)
],
},

{"recursion_limit": 150},
)
for s in events:
print(s)
print("----")

working for gpt models, gives error for Bedrock anthropic models.

This error is a result of returning an AIMessage in the last position.
As it stands, there are a few changes that need to be made to adapt a flow from OpenAI to leverage the Bedrock. This example offers a good baseline. One of the primary elements to look out for revolves around HumanMessage and AIMessage ordering. It is currently optimal to use ChatBedrock with beta_use_converse_api=False if using ToolNode specifically.
Within your example, the reviewer receives a message from the generator. I was able to get your flow working on my end by changing the message returned to an HumanMessage within agent_node at this step.

Hello @bigbernnn, I had the same error following the . So I followed your suggestion, got a different error.
ValueError: Last message is not an AIMessage

Thanks for your suggestion, I had sorted it out. I was using ChatBedrock


unauthenticated MQTT server

Hey,
My internal MQTT server does not have any kind of authentication.
Do you think you could make your tool work with anonymous MQTT?
thanks

Apparently specifying a not existing user/pw and schema "mqtt" did work :)
./teslamate-discovery -h <IP_ADDRESS> --units-distance metric --units-pressure metric -P test -u test -p 1883 -s mqtt

Good to hear that that worked for you!


Add avroOf aliases for API consistency

#66

Codecov Report

Merging #68 into master will decrease coverage by 0.15%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #68      +/-   ##
==========================================
- Coverage   70.88%   70.73%   -0.16%
==========================================
  Files          22       22
  Lines         941      943       +2
  Branches      123      124       +1
==========================================
  Hits          667      667
- Misses        274      276       +2

Impacted Files
Coverage Δ

...om/spotify/ratatool/scalacheck/AvroGenerator.scala
84.84% <0%> (-2.66%)
:arrow_down:

Continue to review full report at Codecov.

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


Uncaught (in promise) Error (stuck on loading screen)

Describe the bug
When opening the File Manager popup it just stays stuck on loading screen:
https://share.getcloudapp.com/mXuG5wnE
No matter what disk I select I get a Uncaught (in promise) Error:
https://p147.p4.n0.cdn.getcloudapp.com/items/04uvNp1J/ff1a7c4b-44ec-4ecc-b28a-addbd79a3b71.jpg?v=ad4ab31d6357dfcfca98ed4c70554e7a
To Reproduce
Steps to reproduce the behavior:

Go to Nova resource with file manager
Try to open a file

Expected behavior
Should be able to see popup of the screen
Screenshots
Screenshots:
https://p147.p4.n0.cdn.getcloudapp.com/items/04uvNp1J/ff1a7c4b-44ec-4ecc-b28a-addbd79a3b71.jpg
https://p147.p4.n0.cdn.getcloudapp.com/items/mXuG5wnE/00075bbd-05ad-4cbf-bf74-65da86d744c7.jpg
Video for context: https://share.getcloudapp.com/E0uL4x7O
Desktop (please complete the following information):

OS: MacOS Big Sur
Browser Chrome
Version Latest

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Hi
it seems that you are using the new Repeater field, which is still in Beta currently, so you may experience some weird behaviors as we have not had the time to experiment the compatibility.
Meanwhile, you could try to use a wrapper to see if it solves your issue https://oneduo.github.io/nova-file-manager/field.html#third-party-compatibility
We'll gladly take a look at a PR that improves compatibility with non regular fields.
Cheers


Unzip Operation returning unknown BTYPE:3 error

Describe the bug
Unzipping a malware sample from virusshare.com returned a compression.js unknown BTYPE: 3 error
To Reproduce
I was looking at a malware sample referenced in this post:
https://twitter.com/DidierStevens/status/1353751902354350086
I found the sample on virusshare by searching for the hash and when loaded into CyberChef it produced an error. Spot checked a couple other sample from virusshare and some unzipped fine, and some others gave the same error as well.

We use zlib.js for our Unzip operation and this is a problem in that library. I'll close this issue for now since there isn't much we can do in CyberChef to solve it without moving to an entirely different library or implementing zlib from scratch (not a priority at the moment).


Stuck transaction

Hi, I recently tried transferring renBtc via the wormhole. The Ethereum tx has been confirmed, and on phantom as well. however, in the step that says finalizing it got stuck for several hours. not sure what to do.
tx hash: 0x3c8d7c8a228961a5d6b23e13c132ad0c80003ce593f16e1a473fe07fad280bef

This was resolved by resubmitting the VAA to Solana


helm version inside install_plugin.sh pulls both client and tiller version in v0.4.1

We are using gitlab ci/cd integrated with kubernetes. We are using alpine/helm:2.16.3 image to run  our stage. When we try to install helm-push-artifactory-plugin it complained
 Error, this version of helm-push-artifactory-plugin is only for Helm v2
We tried debugging:
`helm plugin install https://github.com/belitre/helm-push-artifactory-plugin --version v0.4.1 --debug
[debug] cloning https://github.com/belitre/helm-push-artifactory-plugin to
/root/.helm/cache/plugins/https-github.com-belitre-helm-push-artifactory-plugin
[debug] setting version to "v0.4.1"
[debug] symlinking /root/.helm/cache/plugins/https-github.com-belitre-helm-push-artifactory-plugin to /root/.helm/plugins/helm-push-artifactory-plugin
[debug] loading plugin from /root/.helm/plugins/helm-push-artifactory-plugin
[debug] running install hook: /bin/sh -c cd $HELM_PLUGIN_DIR; scripts/install_plugin.sh
Error, this version of helm-push-artifactory-plugin is only for Helm v2
Please use --version v1.0.1 or higher to install the plugin
Error: plugin install hook for "push-artifactory" exited with error`
When we looked at the install_plugin.sh
helm_version="$(helm version | grep "Version" | cut -d '"' -f 2 | cut -d '.' -f 1)"
The above line has the following result
helm version | grep "Version" | cut -d '"' -f 2 | cut -d '.' -f 1
v2
v2
the above line pulls both client and tiller version and hence helm_version will have the value v2 v2 and hence the below check fails.
`supported_helm_version="v2"
helm_version="$(helm version | grep "Version" | cut -d '"' -f 2 | cut -d '.' -f 1)"
if [ "$helm_version" != "$supported_helm_version" ]; then
echo "Error, this version of helm-push-artifactory-plugin is only for Helm $supported_helm_version"
echo "Please use --version v1.0.1 or higher to install the plugin"
exit 1
fi`
So this line helm_version="$(helm version | grep "Version" | cut -d '"' -f 2 | cut -d '.' -f 1)"
should be helm_version="$(helm version --client | grep "Version" | cut -d '"' -f 2 | cut -d '.' -f 1)"

Hi @mshivanna,
Thanks for finding this and for the PR, I'll merge it right now :)

Just created a new release with your change: https://github.com/belitre/helm-push-artifactory-plugin/releases/tag/v0.4.2
Thank you very much again :)


note_block_sound not recognized

1.20 added note_block_sound as a tag for player heads; this is currently not being recognized as valid.

note_block_sound is an NBT property of skull block entities, which is not tracked by this repository. Perhaps you meant to report this on https://github.com/Yurihaia/mc-nbtdoc?


Move production server specifics to a coralnet-system repo

This is a step towards open-sourcing this repo (issue #176). Reasoning:

Separation of concerns and professionalism. You don't expect to visit a website's code repo and find the settings for their mail server and web proxy. Those server settings just aren't very related to how the web application itself works, so including those things in the repo is kind of off-topic and can be confusing.

There are a variety of reasons to open-source, but they don't seem to apply as much to server configuration. CoralNet is relatively unique because it uses machine learning, has a CPCe-style interface, provides a workflow for benthic image annotation, uses certain Django apps in tandem, and so on. Those can be nice contributions to the open source community. Configuration of nginx or Ubuntu? That's probably been done hundreds of thousands of times already.

Server config tends to be more security sensitive in nature than application logic. Of course, application logic can also have security flaws, but security holes in server config are generally easier to find (again, because it's the less-unique part of our website), and attacking the 'outer layers' of a server (e.g. the Ubuntu instance, as opposed to its web app interface) can have more damaging results. Ideally, we won't rely on security-through-obscurity in most cases, but due to limited resources, we can't apply every patch on the 0th day and be security masterminds on every topic.

So, what could be moved to a new coralnet-system repo?

Production-specific docs: PR #252 is my attempt to delineate what's production-specific or not in the docs. Basically, any docs relevant to setting up and running a development environment would stay in this repo. For the design section of the docs, any design topics concerning the code in this repo would stay in this repo. Other docs are production (or staging) specific and would go in the system repo.

Production-specific GitHub issues: Issues can be transferred from one repo to another, as described here. The main downside to doing this is that we'll need to track milestones and project boards for coralnet and coralnet-system separately. However, the separation and security concerns above definitely apply to these issues, so I think it's best to move them.

s3_sync script: Currently at scripts/s3_sync.py. It makes sense to also move this if we are moving all AWS docs to coralnet-system.

makenginxconfig management command: Naturally, this is a server config detail. If we move this to coralnet-system, we could change this from a management command to a standalone Python script. It would have to import Django settings from the main CoralNet project, but that should be doable. Alternatively, we could fashion coralnet-system as a Django app with its own Django management command(s).

There are other bits which are largely server-specific, but they're also somewhat tied to the Django project for now. For example, the maintenanceon and maintenanceoff management commands write to a MAINTENANCE_STATUS_FILE_PATH, so if we remove those management commands, it also makes sense to move that file path setting to coralnet-system... as well as the get_maintenance_time template tag which uses MAINTENANCE_STATUS_FILE_PATH. At the very least, it'll take more effort to deal with fragmenting the Django project to this degree. It's probably best to start simple for now.
Any other ideas for things we can move to coralnet-system?

@beijbom With the GitHub changes to plan offerings, maybe this is worth another look? No rush though.

Yeah. That's great. We should def. do this. Perhaps after the Beta2 release?
On Tue, Apr 14, 2020 at 4:58 PM StephenChan<EMAIL_ADDRESS>wrote:

@beijbom https://github.com/beijbom With the GitHub changes to plan
offerings, maybe this is worth another look? No rush though.
[image: 2020-04-14_Github-free-team-private-repositories]
https://user-images.githubusercontent.com/857711/79284964-f92af380-7e70-11ea-900a-0e7cf6a8152a.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/beijbom/coralnet/issues/253#issuecomment-613738813,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAITTF7RGZL3XIKRDF6N2QTRMT2A7ANCNFSM4I7UC5GA
.

Sounds good. I can make a separate issue so we don't have to re-open this one.


ci: add release please action to CI workflow

Closes sixsq/tasklist#2994
Closes https://github.com/SixSq/tasklist/issues/3112

@ignacio-penas resolve conflicts and assign review to @schaubl

Closing, worked in a different PR


Dispatch data processing calls to qc

Background
Link to issue
https://biomage.atlassian.net/browse/BIOMAGE-499
Link to staging deployment URL
Links to any Pull Requests related to this
https://github.com/biomage-ltd/api/pull/64
Anything else the reviewers should know about the changes here
Changes
Code changes
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[x] Tested locally with Inframock
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

I believe this branch is already in reviewable state, so creating PR although I still have to add unit tests.


segfault when string array ends with missing element

Reported by Andrew Wittenberg on 6 Feb 2007 23:14 UTC
NOAA/PMEL TMAP
FERRET v6.01
Linux(g77) 2.6.9-42. - 11/22/06
6-Feb-07 18:12
yes? let a = {1,}; list a
VARIABLE : {1,}
SUBSET   : 2 points (X)
1   / 1:  1.000
2   / 2:   ....
yes? let a = {"a",}; list a
Segmentation fault
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1488

Comment by<EMAIL_ADDRESS>on 7 Feb 2007 17:51 UTC
Bug goes back to past versions.  I think the answer is to be found in
parse_string_list, called from is_const_var. Parsing and storing the strings,
there needs to be logic for storing a blank string when the last meaningful item
in the list is a comma.

Comment by<EMAIL_ADDRESS>on 1 Jun 2007 00:40 UTC
With Ferret v6.03 I get:
    NOAA/PMEL TMAP
    FERRET v6.03
    Linux(g77) 2.4.21-32 - 05/25/07
    31-May-07 20:34

yes? let a = {"a",}; list a
VARIABLE : {"a",}
SUBSET   : 2 points (X)
1   / 1:"a"
2   / 2:""
This is a lot better than a segfault, so I'll downgrade priority & severity for
this bug.  But shouldn't the second element be missing (labeled with ellipsis
...), instead of an empty string?  Does the string code know how to handle
missing values?  I tried
yes? list missing(a,"z")
VARIABLE : MISSING(A,"z")
SUBSET   : 2 points (X)
1   / 1:....
2   / 2:....
but didn't get {"a","z"} as I expected.

Comment by ansley.b.manke on 31 Mar 2009 18:06 UTC
Closing this and opening a new one, requesting a string version of MISSING function.  None of the functions automatically work on both string and numeric data.


UDP and TCP packet drops

There is a strange behavior with the firewall dropping TCP and UDP packets. After hosting a server using netcat on cloud (both EC2 and DigitalOcean),
I tested TCP using netcat and telnet. Both connected successfully. For UDP testing, I used netcat only. The servers were created on even reserved category ports which are not in use.
The strange behaviour I noticed was that, both TCP and UDP connections were dropped on both netcat and telnet exactly after 6 data transfers ( the 7th couldn't
be processed by the server and the conenction was reset ).
More information from important tools like wireshark or tcpdump would be helpful.
Information can be gathered about this behaviour by changing the size of the messages and forcing fragmentation. Tinkering with MTU size can also provide some insight.

Another weird things happens. When connected with -v option : nc -v <IP> <port> , netcat displays XXXXX ( 5 Xs) and then accepts only a single data transfer and then exits. So still a total of 6 data transfers.

We can try checking port wise. Maybe some ports have been allowed, like 3389 is for Windows UDP?


Add a data provider containing aggregate stats about all artifacts in a namespace

Describe the feature you'd like to request
Fetch data to power aggregations such as "Number of repos (on Github)", "Total contracts deployed (on Optimism)", "Number of packages (on NPM)"
Describe the solution you'd like
Data for cards like

Describe alternatives you've considered
na

I'm pretty sure this is done already. We are just using graphql queries directly to make this happen.


Angular 1.3.8 runs on example with error

https://docs.angularjs.org/error/$interpolate/interr?p0=      $state %3D {{$state.current.name}}
      $stateParams %3D {{$stateParams}}
      $state full url %3D {{ $state.$current.url.source }}
    &p1=TypeError: Converting circular structure to JSON
Can't interpolate:       $state = {{$state.current.name}}
$stateParams = {{$stateParams}}
$state full url = {{ $state.$current.url.source }}
TypeError: Converting circular structure to JSON
Seems the url source cannot be serialised.

https://gist.github.com/eddiemonge/f6a58169c2846731a1eb


Lag spikes caused by a large number of vertex buffers being freed at once with metal renderer.

This issue is not observed when using the OpenGL renderer. I have not tested it on other operating systems.
2023-07-03 13:44:04 [verbose]: Duration:133ms Freed Vertex Buffers: 4496
2023-07-03 13:44:09 [verbose]: Duration:30ms Freed Vertex Buffers: 1116

The versions of osu! and osu!framework used were from the GitHub repositories located at https://github.com/ppy/osu/tree/1f3d833b058e90dbfdb901f61149b1fc0135542f and 19cbb8f4a681b4e8cb7838127ddcf91b71870cea, respectively.
These modifications were used to generate the log.
diff --git a/osu.Framework/Graphics/Rendering/Renderer.cs b/osu.Framework/Graphics/Rendering/Renderer.cs
index 360bf9d3a..08bba7468 100644
--- a/osu.Framework/Graphics/Rendering/Renderer.cs
+++ b/osu.Framework/Graphics/Rendering/Renderer.cs
@@ -18,6 +18,7 @@
 using osu.Framework.Graphics.Textures;
 using osu.Framework.IO.Stores;
 using osu.Framework.Lists;
+using osu.Framework.Logging;
 using osu.Framework.Platform;
 using osu.Framework.Statistics;
 using osu.Framework.Threading;
@@ -820,11 +821,17 @@ private void freeUnusedVertexBuffers()
             if (ResetId % vbo_free_check_interval != 0)
                 return;

+            var start = System.Diagnostics.Stopwatch.GetTimestamp();
+            var freedVertexBuffers = 0;
             foreach (var buf in vertexBuffersInUse)
             {
-                if (buf.InUse && ResetId - buf.LastUseResetId > vbo_free_check_interval)
+                if (buf.InUse && ResetId - buf.LastUseResetId > vbo_free_check_interval){
                     buf.Free();
+                    freedVertexBuffers ++;
+                }
             }
+            var duration = System.Diagnostics.Stopwatch.GetTimestamp() - start;
+            Logger.Log($"Duration:{duration/1000/1000}ms Freed Vertex Buffers: {freedVertexBuffers}");

             vertexBuffersInUse.RemoveAll(b => !b.InUse);
         }

We are very aware of metal performance issues across the board and are actively working on improving the situation. Freeing buffers is just one of many pain points.


Joe  fhenix nitrogen update

Problem solved
Adding chain forms for

Fhenix Nitrogen
Plume

Linear - INFRA-539

PR-Codex overview
This PR focuses on adding new assets and metadata for two blockchain projects, Fhenix and Plume, including banners and CTAs, enhancing the dashboard's visual representation and information.
Detailed summary

Added imports for fhenixBanner, fhenixCTA, plumeBannerv2, and plumeCTAv2.
Introduced metadata for Fhenix with header image, about section, and CTA details.
Added metadata for Plume with similar structure, including two entries with the same content.

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

Merge activity

Dec 27, 2:47 PM EST: The merge label 'merge-queue' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


Repeating images (tiling) along a Line2D does not "always" work

Godot version:

3.1.beta.custom_build.1d50a6e
Issue description:

Tiling textures along a Line2D does not work all the time, some lines display tiled
some does not:
Editor:

In game:

Minimal reproduction project:

See the attached example project:
bugTiling.zip

Strange, in the example project i duplicated the lines, and the tiling option was gone.
When i now change the tiling option again it works. (So a mistake on my side i think).
But in our current game project we have exactly this problem.
I currently cannot reproduce it in a example project.

if i can repoduce it in a example project i'll repopen the issue

A screenshot from the actual issue:

Think it's worth revisiting this issue. I'm experiencing the same on my side.
The texture wasn't tiling in the editor at all. Then I put it on another node (not a Line2D node, think it was TextureRect) then I checked the "Repeat" flag (option isn't there for Line2D). When I put it back on the Line2D, it was tiling correctly in the editor but when I run it, it stretches   ;(

Strange behaviour all around, but I hope this helps narrow things down...

@fanus Does it work if you set the texture to repeat in the Import dock after selecting it in the FileSystem dock?

It sure does. My bad and thanks!

Is it possible to have tiles randomly rotated along the line?


exec_run_with_timeout does not actually kill long-running thread

If we look at this:
def exec_run_with_timeout(container, cmd, timeout=60):
    """
    Run a command in a container with a timeout.
    """
    # Local variables to store the result of executing the command
    exec_result = None
    exec_id = None
    exception = None

    # Wrapper function to run the command
    def run_command():
        nonlocal exec_result, exec_id, exception
        try:
            exec_id = container.client.api.exec_create(container.id, cmd)["Id"]
            exec_result = container.client.api.exec_start(exec_id)
        except Exception as e:
            exception = e

    # Start the command in a separate thread
    thread = threading.Thread(target=run_command)
    thread.start()
    thread.join(timeout)

    if exception:
        raise exception

    # If the thread is still alive, the command timed out
    if thread.is_alive():
        raise TimeoutError(f"Command '{cmd}' timed out after {timeout} seconds")

    return exec_result

this does not actually kill the thread.
Much simpler example:
import threading
import time

def run():
    while True:
        time.sleep(1)
        print('still allive')

thread = threading.Thread(target=run)
thread.start()
thread.join(5)

if thread.is_alive():
    raise TimeoutError()

will give the output
still allive
still allive
still allive
still allive
Traceback (most recent call last):
  File "/Users/fuchur/tmp/running_thread.py", line 16, in <module>
    raise TimeoutError()
TimeoutError
still allive
still allive
still allive
still allive
still allive
still allive
still allive
still allive
still allive
still allive
still allive
still allive

(though we do return from the function)
Since it's impossible to kill a thread in python, it might be best to do multiprocessing here...
Of course because of the TimeoutError, it's gonna trigger the finally clause in run_instance, which calls cleanup_container, which would hopefully deal with this...

Gotcha hmm ok I think I kind of understand. are you suggesting replacing use of the thread library w/ multiprocessing instead to spawn new, killable processes as opposed to threads?


Removed version 1.20.1 from curseforge

You removed version 1.20.1 from curseforge. No real reason to do that, could've just said you wont update old versions. This has broken my modpack and all uploaded versions. Not using your mods again due to the artificial deprecation.

I thought I archived that version like I did in other mods? I'm sorry if I accidentally deleted that version rather than archival but it was my understanding I was just archiving the old version and it couldn't be added to new packs but would still work for old ones

Legit was in the middle of uploading a modpacks and it get rejected because you removed it. Why archive it at all? Just because it doesn't get anymore support doesn't mean nobody should be allowed to use it. It takes less effort to leave it up for everyone than to take it down or hide it.
If you have a reason for it then that's fair but I can't find any reason why you remove all your old versions.


Support for authentication right from the terminal.

It would be wonderful to have a support for authentication right from the terminal rather than visiting the web-page and manually doing the AUTH.

Sure. Use --service-account, and add JSON file with priv. key to avoid going to the web.


sync: for a prefix, allow multiple registries as a list instead of on…

…ly one, closes #343
Signed-off-by: Petu Eusebiu<EMAIL_ADDRESS>
What type of PR is this?

Which issue does this PR fix:
What does this PR do / Why do we need it:
If an issue # is not available please add repro steps and logs from IPAMD/CNI showing the issue:
Testing done on this change:

Automation added to e2e:

Will this break upgrades or downgrades. Has updating a running cluster been tested?:
Does this change require updates to the CNI daemonset config files to work?:

Does this PR introduce any user-facing change?:

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@peusebiu, can we actually setup a cluster of 3 zots fronted by a haproxy (with sticky sessions) with each zot sync'ing from the other two.
So writes will land on the same zot backend (due to sticky) and reads can land anywhere.
https://www.haproxy.com/blog/client-ip-persistence-or-source-ip-hash-load-balancing/
This is the main use case for this patch, so let's validate.

Ok, I've did that and it works as expected.


No 'link' address after the first 100 videos

While using
while playlist.hasMoreVideos:
          playlist.getNextVideos()

The first 100 results of a playlist have the 'link' with the HTTP address but the rest do not.

Can I get a minimum reproducible sample?

from youtubesearchpython import PlaylistsSearch
from youtubesearchpython import Playlist

def find_the_key(dictionary,thekey):
    return [v for k,v in dictionary.items() if k in thekey]

videos = []
Linksforvid = []

playlistsSearch = PlaylistsSearch("https://www.youtube.com/watch?v=EPhWR4d3FJQ&list=PLI_TwOrHUsI8MQNW0BvBAwwHYKgyiiiDB", limit = 10, region = 'US')
for key, value in playlistsSearch.result().items():
     for x in value:
            link1 = x['link']
            playlist = Playlist(link1)
            print('Getting videos:')
            while playlist.hasMoreVideos:
                playlist.getNextVideos()
            print(f'Videos Retrieved: {len(playlist.videos)}')
            for i in playlist.videos:
                videos.append(i)
            for i in videos:
                 Linksforvid.append(find_the_key(i, 'link'))
            for i in Linksforvid:
                 print(i)

Here is a small snippet of code that should reproduce the error.

Now, it should work. Please check latest commit: pip install git+https://github.com/alexmercerind/youtube-search-python

That is working, Thank you so much!


[BUG] python3.10 spec.get_string_attribute() throws a runtime exception with non-utf-8 string headers

Describe the bug
When looping over all key/value pairs in an EXR header using the python bindings to OpenImageIO, a field containing 0xFF values causes an awkward RuntimeError: Could not allocate string object!. This is very commonly seen in DI when the upstream writing tool doesn't want to set a value and instead just fills it with some default of 0xFF.
To Reproduce
With the following header (as shown with iinfo -a -v):
    AudioFramerate: 24
    AudioInfo: "������������������������������������������������������������������������@"
    AudioRunningLTC: "MOS"

Where the � character is 0xFF.
Attempting to iterate over headers like so:
>>> import OpenImageIO  as oiio
>>> src = oiio.ImageBuf('./my_file.1000.exr')
>>> spec = src.spec()
>>> for a in spec.extra_attribs:
...   print(f'{a.name} ({a.type}): {a.value} ({type(a.value)})')

Causes the following exception:
AudioFileName (string):  (<class 'str'>)
AudioFramerate (float): 24.0 (<class 'float'>)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
RuntimeError: Could not allocate string object!

Expected behavior
It appears that strings are assumed to be in utf-8 unicode, which causes an error trying to decode non-unicode data into a python string.
The workaround is to not access a.value and instead ask for the attribute directly like so:
>>> try:
...   x = spec.get_string_attribute('AudioInfo')
... except RuntimeError:
...   pass

However, I was hoping to have a more graceful exception of this error. For example, I cannot access the raw bytes of this value to determine if the offending field is actually usable. Perhaps adding an a.raw_value could return the information in the field as a bytestring so the above try/except has an opportunity to do something else special with the value. Since the accessing of an attribute here is forcing the coercion to unicode, I cannot get to the original data using python in any way.
Platform information:

OIIO branch/version:  openimageio-<IP_ADDRESS>-r0
OS:  Alpine Linux 3.17 under Docker
C++ compiler:
Any non-default build flags when you build OIIO:

To work around this, I just switched to using spec.get_bytes_attribute(), and then attempting my own string conversions.
However, the python get_string_attribute should still not fail egregiously even if the underlying value cannot be parsed as a string. Perhaps just raising the UnicodeDecodeError directly would allow a try/except to catch this rather than the much more generic RuntimeError


Fix incorrect Access API link

Closes: #???
Description

Fixes another incorrect Access API link

thank you @smnzhu for doing this! appreciate it.


Add definition of word (or link)

For Spanish, use or link to Dirae or DLE. For English, Oxford Dictionaries.

See 303e863.
It's not ready yet, but it works.

This works good enough for now (at least for Spanish).


Remove global AD flag "ADBACKEND" and function suite

Addressing #2132, ref https://github.com/TuringLang/Turing.jl/pull/2047#discussion_r1394499393
This is likely to be quite hairy, as the ADBACKEND goes back.
Steps towards completion:

[x] Replace Turing.ADBackend() with AutoForwardDiff as default for adtype argument in samplers
[x] Remove setadbackend function, the main issue here is that tests use it quite extensively, so some refactoring is needed
[x] Remove ADSAFE, CHUNKSIZE, and RDCache and related functions
[ ] Update documentation and register a breaking release

@sunxd3 can you undo the formatting changes? It makes it somewhat annoying to review + makes version history a less clear


--seperate results in GoError: The moduleSpecifier "./libs/shim/urijs.js" couldn't be found on local disk.

When using the --separator like postman-to-k6 postman.json -s -e environment.json -o k6-script.js
A range of folders and files are generated and grouped in the k6-script.js
// Auto-generated by the Load Impact converter

import "./libs/shim/core.js";
import { group } from "k6";
import "./requests/DomainClusters/Get-all-domain-cluster-configurations.js";

export let options = { maxRedirects: 4 };

const Request = Symbol.for("request");
postman[Symbol.for("initial")]({
  options,
  collection: {
    undefined: "https://example.com/api"
  },
  environment: {
    baseUrl: "https://example.com/portal"
  }
});

export default function() {
  group("DomainClusters", function() {
    postman[Request]("Get all domain cluster configurations");
  });
}

In the Get-all-domain-cluster-configurations.js file the following code is present
import "./libs/shim/urijs.js";

postman[Symbol.for("define")]({
  name: "Get all domain cluster configurations",
  id: "cbe7c568-113f-4352-a0cc-bd8326ca9e7d",
  method: "GET",
  address: "{{baseUrl}}/portal/v1/domainclusters"
});

All files are present in the libs/shim folder.
When I run the  k6 run --vus 100 --duration 1m k6-script.js, I get the following error.
ERRO[0006] GoError: The moduleSpecifier "./libs/shim/urijs.js" couldn't be found on local disk. Make sure that you've specified the right path to the file. If you're running k6 using the Docker image make sure you have mounted the local directory (-v /local/path/:/inside/docker/path) containing your script and modules so that they're accessible by k6 from inside of the container, see https://k6.io/docs/using-k6/modules#using-local-modules-with-docker. at reflect.methodValueCall (native)
Info: I'm not using the Docker version, but installed k6 via Brew and using the 1.1.0 release of postman-to-k6 (which is the latest release according to NPM)

+1, same issue here

+1, same issue here

+1, same issue here happens for me when I attempt to use any way of running it with docker for script execution, and clearly supply it with folder that contains these libs folders which are being imported (performance-tests contains libs).
docker-compose run -v /Users/myUser/documents/github/mysysco-shopping-mobile-bff/performance-tests:/scripts k6 run /scripts/loadTestDebugV2.js
It does not look like it is supported in the first place based on readme referring only
k6 run script.js command and not for example
docker run loadimpact/k6 run - < convertedScript.js

+1, same issue here happens for me when I attempt to use any way of running it with docker for script execution, and clearly supply it with folder that contains these libs folders which are being imported (performance-tests contains libs).
docker-compose run -v /Users/myUser/documents/github/mysysco-shopping-mobile-bff/performance-tests:/scripts k6 run /scripts/loadTestDebugV2.js
It does not look like it is supported in the first place based on readme referring only
k6 run script.js command and not for example
docker run loadimpact/k6 run - < convertedScript.js

@mikpan @zakievvv Did you find a solution for the libs error? Just curious

I have replaced this import:
-import './libs/shim/urijs.js'
+import '../../libs/shim/urijs.js'

in the request/ folder only as a workaround

Created a PR for this issue: https://github.com/k6io/postman-to-k6/pull/84
Thanks @Eomm for the simple solution.

Informational update:
The PR was pushed against the latest master (1.3.0) which is not yet release on NPM. On NPM https://www.npmjs.com/package/postman-to-k6 release 1.10 is still the latest.
Until v1.3.0 and potentially the PR is merged, I provided a separate 1.1.0 branch
  "dependencies": {
    "postman-to-k6": "git://github.com/thim81/postman-to-k6#1.1.0",

I'm not in favour of using PR directly but I'm just sharing in case people want a temporary work-a-round.
Once there is a new release on NPM (with the PR) I'll remove the fork.


Wrong port and protocol for accessing a file from the AAS Server

I am running the BaSyx docker containers (registry, server, gui) in a docker compose environment and traefik as a reverse proxy with SSL termination.
Everything is working fine except the download of a File from the element details view, because the wrong domain is pre-filled here. In the input field, instead of "https://aas-server.example.com/aasServer/files/aasx/Document/operating-manual-xp-xpc-xpk-en.pdf" - "http://aas-server.example.com:4001/aasServer/files/aasx/Document/operating-manual-xp-xpc-xpk-en.pdf" is pre-filled.
If I change the domain manually the download and pdf preview is working. I think the initial pre-filled info comes from the context.properties file from the AAS server, right? But thats actually the internal docker port and non TLS.

The issue seems to me to be more related to the AAS server. I'm adding @FrankSchnicke to the conversation for this. He knows best about the implementation and intricacies of the AAS server.

For changing the external URL/Port to be used in the registry, there's the registry.host entry in the aas.properties.

yes that is configured, but the only issue I have is the pre-filled "File path", see screenshot above.

Thanks for pointing this out. After investigating, it seems like the file path handling does not use the registry.host entry correctly. We will provide a bugfix soon.

As I can't replicate the issue, a few more questions:

What versions of the docker containers did/do you use?
How did you configure the containers?

My guess would be that you either have not added the aas.properties file correctly to the aas server container (maybe a typo?) or you used docker environment variables that have overwritten the properties from the file.
As a reference, here is a simple compose file with environment variables. To use the aas.properties for example you would need to mount it into the container using a volume just like the AASX-files in the example.

As you can see the initial port and protocol issue has been ironed out. Now the issue is the issue seems to be file url/path and/or availability of the files on the server side.

I use the latest container available at any given time. We use a CosmosDB as backend for both registry and server, and we run the containers in our Kubernetes-based platform. I upload the aasx files using the API and POST method. After I do that I see the files both in the server and the registry (thanks to the new version!) But the binary files included in the aasx are nowhere to be found, and not found errors are shown in the Web UI.
If I use this sample aasx file: https://admin-shell-io.com/samples/aasx/17_ABB.aasx It uploads fine to the server and the server registers it to the registry. I connect the UI to the registry and I can see the ABB asset admin shell. I can browse the submodels and see the various properties. If I open the Nameplate submodel and try to look at the "File" property I can see that there is a URL specified on the "Download" button: https://our-server/shells/aas/submodels/Nameplate/submodel/submodelElements/Marking_CE/File/File
The server seems to be correct, however the path returns a 404. (I would expect it to be a image filename there)
Same for the "Document" submodel. The download link for property "File" is: https://ourserver/shells/aas/submodels/Document/submodel/submodelElements/ManualEN/File/File and it returns a 404.
I have tried using the UI to upload files but that fails: Error uploading File-SubmodelElement "File"!
Are binary files/attachment supported with the MongoDB backend?
I have tried other sample AASX files, but with the same result. Everything works as expected, apart from the binary files/attachments.

From my perspective this seems to be a mismatch between the CosmosDB and MongoDB design, but I'm not an expert on CosmosDB, so I might be wrong here.
According to the MongoDB comparison (might have a slight bias as it's the company website) documents might be handled differently as the maximum size is only 2MB instead of the 16MB supported by MongoDB. My guess is it is simply not supported by the library we use to communicate with MongoDB.
See the implementation here with the filehandling on the SubmodelAPI level.
If you this is not a solution to the issue, please feel free to create a new issue in the BaSyx Java Components Repository and we can go on from there. This way we avoid mixing up the issues for different purposes. 😄
If this is a feature you like to see in the future, please feel free to either contribute to the open source project or come to one of our BaSyx Open Hours or shoot us a mail and we can see how it fits in the roadmap.

@adankert70 , @CMor1184 is this issue still relevant? If no, I will close this ticket in the coming days


⚠ Processors has degraded performance

In 3fc4460, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 90 ms

Resolved: Processors performance has improved in d091a11.


Can't backspace over newline during insert/append

Steps to reproduce
insert new text with 'i' such as "abc<newline>d" then start backspacing.  The "d" is removed but I can't remove the <newline> or the "abc".  I just can't backspace over just-inputted newlines anymore.  This has always worked fine up now.  I wish I hadn't moved from ubuntu 18.04 to 22.04 but LTS had ended for 18.04.
Expected behaviour
Should be able to backspace over newlines entered as part of i(nsert) or a(ppend) text etc
Version of Vim
8.2.1847
Environment
ubuntu 22.04 in csh
Logs and stack traces
No response

Check the value of the 'backspace' option.

I added 'set backspace=indent,eol,start' to my .vimrc (which wasn't needed before) and that fixed it.  Thanks.


wait callback

Subprocess wait for response from server. To get the real running time.

LGTM, thanks @yejw5 👍


Allow flyway group permission to execute flyway

Currently you must run as flyway or the specified user to execute flyway. Would it make sense to update the permission bits to allow anyone in the flyway group to execute this?
I looked into setting my own user, e.g. jenkins, but the install uses the user resource and sets a few other properties like shell and home which I don't want changed at all.

So passing in jenkins user will cause flyway to modify it?  I didn't expect this.  I would want the user and group to do nothing if they already exist.  I think there is a way to do that.  Would that work for you?

@dhoer
Let me double check. I was just reading the code and assumed that is what it did.

@dhoer
Yes, it does look like its attempting to change the user's properties.
Error when jenkins is still running:
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '8'
---- Begin output of ["usermod", "-c", "Flyway System User", "-s", "/sbin/nologin", "-d", "/opt/flyway-3.2.1", "jenkins"] ----
STDOUT:
STDERR: usermod: user jenkins is currently used by process 1822
---- End output of ["usermod", "-c", "Flyway System User", "-s", "/sbin/nologin", "-d", "/opt/flyway-3.2.1", "jenkins"] ----
Ran ["usermod", "-c", "Flyway System User", "-s", "/sbin/nologin", "-d", "/opt/flyway-3.2.1", "jenkins"] returned 8

Shutdown jenkins, rerun recipe, and confirm that it changes the jenkins user properties:
cat /etc/passwd | grep jenkins
jenkins:x:2003:2003::/mnt/jenkins/home:/bin/bash

# run recipe and check jenkins user again

cat /etc/passwd | grep jenkins
jenkins:x:2003:2003:Flyway System User:/opt/flyway-3.2.1:/sbin/nologin

Chef Docs seem to confirm that it will update the user's properties:

:create
Default. Create a user with given properties. If a user already exists (but does not match), update that user to match.

Ok, I guess it will need a not_if guard added that supports both windows and linux.

What do you think about changing the defaults of user and group to nil?  If nil, then create flyway user and/or group, otherwise; assume user and/or group passed in already exists so don't create the user and/or group.

Or maybe add not_if guard as originally planned. I will have to see if the following works:
not_if { node['etc']['passwd'][new_resource.user]
Not sure how windows platform would handle this...

I think having a default user/group of nil would work. I thought about using node['etc']['passwd'][new_resource.user] too, but came to the same conclusion.
I also thought about a helper method or special resource that can load and detect users, but I feel that may be overkill for this situation.


Usage of custom onnx models

First of all, thanks for doing this. You seem like the first person to make a tensorrt onnx vs filter that allows batch size > 1. I tried to use it, but it seems like rgb_1_1/fe_n1_2x2_l1.onnx is hardcoded.
clip = core.nnvisr.Super(clip, scale_factor=2, batch_size_extract=2, use_fp16=True, model="cugan_pro-denoise3x-up2x_fp16_opset18_clamp_and_colorfix.onnx", model_path="/workspace/tensorrt/")

Information: NNVISR: building engine for current resolution. This will take some time.
Warning: Check failed /workspace/tensorrt/vs-NNVISR/src/optimize.cpp:193: input_fe.is_open(), Source model file not exist:"/workspace/tensorrt/models/cugan_pro-denoise3x-up2x_fp16_opset18_clamp_and_colorfix.onnx/rgb_1_1/fe_n1_2x2_l1.onnx"
Segmentation fault (core dumped)

Would it be possible to just set paths direclty? Renaming everything to fe_n{input_count}_{scale_factor}x{scale_factor_h}_l{extraction_layers}.onnx and ff_n{input_count}_{scale_factor}x{scale_factor_h}_l{extraction_layers}.onnx sounds bothersome. Configurations should be passed via python api instead of file names if they are required.
From what I understand this repository aims to be an alternative to mlrt and allows upscaling or interpolation onnx while fe is for single image inference and ff is for interpolation tasks. Would it be possible to just specify one or two onnx? For example using image upscaling onnx and interpolation onnx, like cugan and rife.

Thanks for your interest!

From what I understand this repository aims to be an alternative to mlrt and allows upscaling or interpolation onnx while fe is for single image inference and ff is for interpolation tasks

Not quite right here. We are not aiming at being an alternative of vs-mlrt, but focus mainly on models that do multiple frames to multiple frames enhancement, which vs-mlrt currently not able to do, or at least not easily.
fe and ff are abbreviations for "feature extract" and "feature fusion" respectively, and combining both are one whole network. Networks doing enhancement and interpolation are not simply stacking the two tasks, but fusing them in some ways, so the output of fe is almost never "frames", and the intention of separation is to avoid repeated work. So, fe and ff can not do single frame and interpolation on their own.

Would it be possible to just set paths direclty?

"model" here does not specify the model file path, but a name indicating where to find the model.
We consider specifying model path more repetition for user (now these configurations are both in model path and other arguments), and more error prone, since it's easy to set path to wrong model, or setting unsupported parameters (usually it is the case that for any parameter in onnx name, changing it requires at least regenerating onnx, or even retraining the network)
We would like network author/ packager to release onnx models (as a folder with correct structure) for users, and users download models and use. It may feel more work if you are doing both.

fe and ff are abbreviations for "feature extract" and "feature fusion"

I meant, that it could be used for such. If fe generates a "feature" that is simply a 3 channel tensor which is just an rgb image, and then pass it into ff. Most models are doing separate tasks, and being able to combine such efficiently would be an interesting practical use case. For example upscaling with cugan and interpolation with rife. Nearly no custom trained models are doing both tasks at once, and thus limit the practical usage. People train either upscaling or interpolation based on their specific use case, so you have models specialized on both, but not really at once.
Doing such is possible with two seperate core.trt.Model calls and a bit of python, but I think it should be more efficient if both gets combined within C++, like your approach.

So, fe and ff can not do single frame and interpolation on their own

To just do one task at once, an onnx that just returns input could be used. I am mainly looking forward speedup due to batch size, since mlrt never implemented it.

and more error prone

I was imagining a scenario, where you have like multiple onnx files, and every time you want to use a model, you need to rename it. Making it not possible to determine again what the model actually was, unless you make sure you store it in folders and do not rename folders. Like, training a model for a while, for certain amount of iterations, and generating a new onnx. Then renaming every time.

I meant, that it could be used for such.

I can understand your use case, but unfortunately that's not the use case we design and optimize for.

Nearly no custom trained models are doing both tasks at once

We are trying to facilitate the training and inferencing workflow of such models, and hopefully there will be more in the future.

I think it should be more efficient if both gets combined within C++

The potential efficiency improvement probably just comes from the elimination of copy between system and device memory. In my personal opinion, it solely does not serve as a sufficient reason to break the goodness of modularity - every VapourSynth plugin is a reusable part in the processing pipeline. With that being said, I probably won't putting effort in making special design for such use case.
In the long term, I believe the impovement should be made in VapourSynth, to have better support for heterogenous computation, like VideoFrame-s reside in device memory.

mainly looking for the speedup due to batch size, since mlrt never implemented it.

Doing batching means the loss of random access ability, so I doubt vs-mlrt will ever implement it. I wonder if having multiple streams can give you similar speed-up like batching, which vs-mlrt does support.
For NNVISR, it's forced to process frames sequentially due to the nature of interpolation network, so we implemented batch support as well because there's nothing more to lose.

where you have like multiple onnx files

Actually onnx files are just details that only author of model should care. Users can simply throw the provided model files into their model path and then forget it.
And again fe and ff are not intend to be meaningful model by themselves, instead the parent folder's name (parent's parent, to be precise) indicates what the model - the combination of the two onnx files - is. It is just that combining two standalone models also happens to fit in our design. As a workaround, you may ln/mklink fe/ff to the actual onnx file, so that you won't lose your track of origin.


python310Packages.aioecowitt: init at 2022.7.0

Description of changes
Wrapper for the EcoWitt protocol
https://github.com/home-assistant-libs/aioecowitt

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 183781 run on x86_64-linux 1

4 packages built:

python310Packages.aioecowitt
python310Packages.meteocalc
python39Packages.aioecowitt
python39Packages.meteocalc

Result of nixpkgs-review pr 183781 run on x86_64-linux 1

4 packages built:

python310Packages.aioecowitt
python310Packages.meteocalc
python39Packages.aioecowitt
python39Packages.meteocalc


Proceeding to next section fix

@DannyVancura @Haud
https://github.com/prolificinteractive/Caishen/issues/15

I separated the overflow check from the validation in this PR:
#21
Otherwise, an overflowing number would always call the delegate with the information that its input was valid. Also, I modified the overflow behavior a little bit: if you

entered a year and a cvv,
tap on the year text field,
enter a digit

then the cvv input will be replaced by this digit. I changed this, so that the digit will instead be appended to the cvv text field if possible (in this example).

What's the difference between this and 21? I"m confused.

PR #21 is based on this PR and meant as a suggestion for fixes and minor changes to the functionality for this PR.


Why I get NAN for df.class_name.max?

Dear Ferri:
Thank you for your codes.
I am using Tensorflow with opencv3.3.1, and I changed some of the codes according to the demandas of different opencv versions (for example, cv2.cv.CV_CAP_PROP_FRAME_COUNT is changed to cv2.CV_CAP_PROP_FRAME_COUNT). After these minor changes, the code can be run without errors in my computer.
However, the output seems a little strange when I am running VID_yolo.py (the 3rd step in your README.md). The results are as follows:
Starting Loading Results
[==========================================================] 100% Time: 0:00:00
Finished Loading Results
Computing Final Mean Reasults..
Class:
nan
Max Value:
nan
Min Value:
nan
Elapsed Time:6 Seconds
Running Completed with Success!!!
It is a little confusing why it gives out NANs for I haven't changed any parameters in your code.
Also, although I saw the frames output, it is not quite the same with that in the folder /video_result, and the green bounding box is not seen.
Could you kindly tell me how to solve this problem? many thanks.

Hi @DrewNF , sorry for my late response~
When i run python VID_yolo.py --path_video video.mp4, i got my terminal output:
Opening File Video:video.mp4
Opened File Video:video.mp4
Start Reading File Video:video.mp4
8 Frames to Read
[===================================================================] 100% Time: 0:00:00
Finish Reading File Video:video.mp4
Starting DET Phase
Building YOLO_small graph...
    Layer  1 : Type = Conv, Size = 7 * 7, Stride = 2, Filters = 64, Input channels = 3
    Layer  2 : Type = Pool, Size = 2 * 2, Stride = 2
    Layer  3 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 192, Input channels = 64
    Layer  4 : Type = Pool, Size = 2 * 2, Stride = 2
    Layer  5 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 128, Input channels = 192
    Layer  6 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 256, Input channels = 128
    Layer  7 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 256, Input channels = 256
    Layer  8 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 512, Input channels = 256
    Layer  9 : Type = Pool, Size = 2 * 2, Stride = 2
    Layer  10 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 256, Input channels = 512
    Layer  11 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 512, Input channels = 256
    Layer  12 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 256, Input channels = 512
    Layer  13 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 512, Input channels = 256
    Layer  14 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 256, Input channels = 512
    Layer  15 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 512, Input channels = 256
    Layer  16 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 256, Input channels = 512
    Layer  17 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 512, Input channels = 256
    Layer  18 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 512, Input channels = 512
    Layer  19 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 1024, Input channels = 512
    Layer  20 : Type = Pool, Size = 2 * 2, Stride = 2
    Layer  21 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 512, Input channels = 1024
    Layer  22 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 1024, Input channels = 512
    Layer  23 : Type = Conv, Size = 1 * 1, Stride = 1, Filters = 512, Input channels = 1024
    Layer  24 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 1024, Input channels = 512
    Layer  25 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 1024, Input channels = 1024
    Layer  26 : Type = Conv, Size = 3 * 3, Stride = 2, Filters = 1024, Input channels = 1024
    Layer  27 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 1024, Input channels = 1024
    Layer  28 : Type = Conv, Size = 3 * 3, Stride = 1, Filters = 1024, Input channels = 1024
    Layer  29 : Type = Full, Hidden = 512, Input dimension = 50176, Flat = 1, Activation = 1
    Layer  30 : Type = Full, Hidden = 4096, Input dimension = 512, Flat = 0, Activation = 1
    Layer  32 : Type = Full, Hidden = 1470, Input dimension = 4096, Flat = 0, Activation = 0
2018-04-08 14:39:17.963536: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2018-04-08 14:39:17.963559: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2018-04-08 14:39:17.963567: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2018-04-08 14:39:17.963574: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2018-04-08 14:39:17.963580: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
Loading complete!

8 Frames to DET
[====================================================================================================================================] 100% Time: 0:00:08
det_frames/frame0_det.jpg
Start Making File Video:output.mp4
8 Frames to Compress
[====================================================================================================================================] 100% Time: 0:00:00
Finished Making File Video:output.mp4
Starting Loading Results
[====================================================================================================================================] 100% Time: 0:00:00
Finished Loading Results
Computing Final Mean Reasults..
Class: nan
Max Value: nan
Min Value: nan
Elapsed Time:12 Seconds
Running Completed with Success!!!

Hope to find a solution~

First time I saw this output!
I think is something related to Tensorflow as u see in the output there are some libraries not well binded.
U adapted the code or are you doing just run tests??
Best
AF

Hello @DrewNF , i didn't change the code. I use conda to manage my python packages and here is my environment:
opencv 2.4.11
python  2.7.14
tensorflow  1.1.0

Hope it maybe helpful~

pypi has removed opencv-python==2.4.11 , so how to build a virtualenv to run this code?


Intermittent HTTP test failure

Description:

	[fail] testBasicHttp2CircuitBreaker:
	    Found unexpected output type: Idle timeout triggered before initiating inbound response
	    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:42)
	    	ballerina.test.0_0_0:assertFail(assert.bal:126)
	    	ballerina.http-tests.1_0_0.tests.integration-tests.service.resiliency.00-commons:invokeApiAndVerifyResponse(tests/integration-tests/service/resiliency/00-commons.bal:48)
	    	ballerina.http-tests.1_0_0.tests.integration-tests.service.resiliency.16-http2-circuit-breaker-test:testBasicHttp2CircuitBreaker(tests/integration-tests/service/resiliency/16-http2-circuit-breaker-test.bal:115)

Disable http-ballerina-tests/tests/resiliency_http_circuit_breaker_test_3.bal:109 test case due to intermittent failure

	[fail] testHTTP2303Status:
	    Found unexpected output type: Idle timeout triggered before initiating inbound response
	    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
	    	ballerina.test.0_0_0:assertFail(assert.bal:127)
	    	ballerina.http_tests.1_0_2.tests.http2_redirect:testHTTP2303Status(tests/http2_redirect.bal:410)

[fail] testWithStrongClientWithWeakService:
Assertion Failed!
    	expected: 'SSL connection failed:Received fatal alert: handshake_failure localhost/127.0.0....'
    	actual	: 'SSL connection failed:Received fatal alert: handshake_failure null'

    	Diff	:

    	--- expected
    	+++ actual

    	@@ -1,2 +1,1 @@

    	-SSL connection failed:Received fatal alert: handshake_failure localhost/127.0.0.
    	-1:9227
    	+SSL connection failed:Received fatal alert: handshake_failure null

    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
    	ballerina.test.0_0_0:assertEquals(assert.bal:76)
    	ballerina.http_tests.1_0_2.tests.ssl_cipher_strength_test:testWithStrongClientWithWeakService(tests/ssl_cipher_strength_test.bal:104)

Windows failure
[fail] testTypicalBackendTimeout:
    Found unexpected output

    	expected: '500'
    	actual	: '200'
    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
    	ballerina.test.0_0_0:assertEquals(assert.bal:76)
    	ballerina.http_tests.1_0_2.tests.resiliency_commons:invokeApiAndVerifyResponse(tests/resiliency_commons.bal:44)
    	ballerina.http_tests.1_0_2.tests.resiliency_http_circuit_breaker_test_1:testTypicalBackendTimeout(tests/resiliency_http_circuit_breaker_test_1.bal:105)

[fail] testHTTP2303Status:
    Found unexpected output type: Idle timeout triggered before initiating inbound response
    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
    	ballerina.test.0_0_0:assertFail(assert.bal:127)
    	ballerina.http_tests.1_0_2.tests.http2_redirect:testHTTP2303Status(tests/http2_redirect.bal:410)

[fail] testDirtyResponse:

		    Assertion Failed!

		    	expected: 'Couldn't complete the respond operation as the response has been already used.'
		    	actual	: ''

		    	Diff	:

		    	--- expected
		    	+++ actual

		    	@@ -1,1 +1,1 @@

		    	-Couldn't complete the respond operation as the response has been already used.
		    	+

		    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_0_0:assertEquals(assert.bal:75)
		    	ballerina.http_tests.1_1_0-alpha8.tests.http_dirty_response_test:testDirtyResponse(tests/http_dirty_response_test.bal:58)

		[fail] testHttp2RetryWithServerPush:

		    Found unexpected output type: Idle timeout triggered before initiating inbound response

		    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_0_0:assertFail(assert.bal:125)
		    	ballerina.http_tests.1_1_0-beta_1.tests.http2_retry_test:testHttp2RetryWithServerPush(tests/http2_retry_test.bal:237)

		[fail] testHttp2SimpleRetry:

		    Found unexpected output type: Idle timeout triggered before initiating inbound response

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertFail(assert.bal:125)
		    	ballerina.http_tests.1_1_0-beta_1.tests.http2_retry_test:testHttp2SimpleRetry(tests/http2_retry_test.bal:221)
		    	```

		[fail] testBasicHttp2Failover:

		    Found unexpected output type: Idle timeout triggered before initiating inbound response

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertFail(assert.bal:236)
		    	ballerina.http_tests.1_1_0-beta_2.tests.resiliency_http2_failover_test:testBasicHttp2Failover(tests/resiliency_http2_failover_test.bal:131)

               [fail] testCircuitBreakerWithoutStatusCodes2#1:

		    Found unexpected output

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertTrue(assert.bal:64)
		    	ballerina.http_tests.1_1_0-beta_2.tests.test_commons:assertTrueTextPayload(tests/test_commons.bal:103)
		    	ballerina.http_tests.1_1_0-beta_2.tests.resiliency_commons:invokeApiAndVerifyResponseWithHttpGet(tests/resiliency_commons.bal:64)
		    	ballerina.http_tests.1_1_0-beta_2.tests.resiliency_http_circuit_breaker_without_status_codes_test:testCircuitBreakerWithoutStatusCodes2(tests/resiliency_http_circuit_breaker_without_status_codes_test.bal:82)

[fail] testInvokingStoppedService:

		    Found unexpected output

		    	expected: 'Something wrong with the connection'
		    	actual	: 'Connection between client and remote host is closed'

		    	Diff	:

		    	--- actual
		    	+++ expected

		    	@@ -1,1 +1,1 @@

		    	-Connection between client and remote host is closed
		    	+Something wrong with the connection

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertEquals(assert.bal:112)
		    	ballerina.http_tests.1_1_0-beta_3.tests.http_listener_method_service_test:testInvokingStoppedService(tests/http_listener_method_service_test.bal:116)
		    	```

[fail] testInvokingStoppedService:

		    Found unexpected output

		    	expected: 'Something wrong with the connection'
		    	actual	: 'Connection between client and remote host is closed'

		    	Diff	:

		    	--- actual
		    	+++ expected

		    	@@ -1,1 +1,1 @@

		    	-Connection between client and remote host is closed
		    	+Something wrong with the connection

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertEquals(assert.bal:112)
		    	ballerina.http_tests.1_1_0-beta_3.tests.http_listener_method_service_test:testInvokingStoppedService(tests/http_listener_method_service_test.bal:116)
		    	```

Fixed via ballerina-platform/module-ballerina-http#532

		[fail] testClientUpgradewithLargePayload:

		    Found unexpected output: Duplicate handler name: idleStateHandler

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertFail(assert.bal:236)
		    	ballerina.http_tests.1_1_0-beta_3.tests.http2_client_upgrade_with_large_payload_test:testClientUpgradewithLargePayload(tests/http2_client_upgrade_with_large_payload_test.bal:193)

		[fail] testHttp2SimpleRetry:

		    Found unexpected output type: Idle timeout triggered before initiating inbound response

		    	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
		    	ballerina.test.0_8_0:assertFail(assert.bal:236)
		    	ballerina.http_tests.1_1_0-beta_3.tests.http2_retry_test:testHttp2SimpleRetry(tests/http2_retry_test.bal:221)

           [fail] testCircuitBreakerWithoutStatusCodes2#1:

      Found unexpected output

      	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
      	ballerina.test.0_8_0:assertTrue(assert.bal:64)
      	ballerina.http_tests.1_1_0-beta_2.tests.test_commons:assertTrueTextPayload(tests/test_commons.bal:103)
      	ballerina.http_tests.1_1_0-beta_2.tests.resiliency_commons:invokeApiAndVerifyResponseWithHttpGet(tests/resiliency_commons.bal:64)
      	ballerina.http_tests.1_1_0-beta_2.tests.resiliency_http_circuit_breaker_without_status_codes_test:testCircuitBreakerWithoutStatusCodes2(tests/resiliency_http_circuit_breaker_without_status_codes_test.bal:82)

Possible reason for the intermittent failure :
The expected behaviour is, the circuit should switch to OPEN state after first request due to an error and then should give an upstream unavailable error for the second request. But intermittently when the timeout is reached the state is switched to HALF-OPEN and return the error from backend service.
Fixed via ballerina-platform/module-ballerina-http/pull/641

Windows test failure
[fail] testWithStrongClientWithWeakService:
Assertion Failed!
    	expected: 'SSL connection failed:Received fatal alert: handshake_failure localhost/127.0.0....'
    	actual	: 'SSL connection failed:Received fatal alert: handshake_failure null'

    	Diff	:

    	--- expected
    	+++ actual

    	@@ -1,2 +1,1 @@

    	-SSL connection failed:Received fatal alert: handshake_failure localhost/127.0.0.
    	-1:9227
    	+SSL connection failed:Received fatal alert: handshake_failure null

    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
    	ballerina.test.0_0_0:assertEquals(assert.bal:76)
    	ballerina.http_tests.1_0_2.tests.ssl_cipher_strength_test:testWithStrongClientWithWeakService(tests/ssl_cipher_strength_test.bal:104)

Possible reason for the intermittent failure :
The test can fail intermittently due to the issue SSL test failure after jdk 11 migration : remote address may be set to null before creating the error.
Fixed via ballerina-platform/module-ballerina-http/pull/622
Also checked the behaviour multiple times in windows and linux - No intermittent failures occurred.

Disabled http-ballerina-tests/tests/resiliency_http_circuit_breaker_test_3.bal:109 test case due to intermittent failure

This is an intermittent test failure when calling forceClose() function.
Possible reason for the intermittent failure :
forceClose() is called before the circuit breaks (or switched to OPEN stage). So the circuit switched to OPEN stage after calling forceClose() and the test was passing intermittently since the circuit switched to HALF-OPEN or the next request made after reset time (which was set to 1s)
Fixed via ballerina-platform/module-ballerina-http/pull/643

  [fail] testClientUpgradewithLargePayload:

      Found unexpected output: Duplicate handler name: idleStateHandler

      	at ballerina.test.0_8_0:createBallerinaError(assert.bal:43)
      	ballerina.test.0_8_0:assertFail(assert.bal:236)
      	ballerina.http_tests.1_1_0-beta_3.tests.http2_client_upgrade_with_large_payload_test:testClientUpgradewithLargePayload(tests/http2_client_upgrade_with_large_payload_test.bal:193)

Similarly,
[fail] testSmallPayloadForNonChunkedResponse:

   Found unexpected output type: Duplicate handler name: idleStateHandler

     at ballerina.test.0:createBallerinaError(assert.bal:43)
     ballerina.test.0:assertFail(assert.bal:236)
     ballerina.http_tests.2.tests.http_trailing_header_test:testSmallPayloadForNonChunkedResponse(tests/http_trailing_header_test.bal:173)

It was observed that one websub test case failed intermittently due to an issue in HTTP Client.
		[fail] testOnIntentVerificationSuccessDefaultImpl:

		    Duplicate handler name: idleStateHandler

		    	at ballerina.http.2:externExecuteClientAction(http_client.bal:224)
		    	ballerina.http.2.HttpClient:get(http_client.bal:96)
		    	ballerina.http.2:sendNewRequest(caching_http_caching_client.bal:362)
		    	ballerina.http.2:getCachedResponse(caching_http_caching_client.bal:320)
		    	ballerina.http.2.HttpCachingClient:get(caching_http_caching_client.bal:162)
		    	ballerina.http.2.Client:processGet(http_client_endpoint.bal:194)

Windows failure
[fail] testTypicalBackendTimeout:
    Found unexpected output

    	expected: '500'
    	actual	: '200'
    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
    	ballerina.test.0_0_0:assertEquals(assert.bal:76)
    	ballerina.http_tests.1_0_2.tests.resiliency_commons:invokeApiAndVerifyResponse(tests/resiliency_commons.bal:44)
    	ballerina.http_tests.1_0_2.tests.resiliency_http_circuit_breaker_test_1:testTypicalBackendTimeout(tests/resiliency_http_circuit_breaker_test_1.bal:105)

Fixed via ballerina-platform/module-ballerina-http/pull/661/files

[fail] testDirtyResponse:
      Assertion Failed!

      	expected: 'Couldn't complete the respond operation as the response has been already used.'
      	actual	: ''

      	Diff	:

      	--- expected
      	+++ actual

      	@@ -1,1 +1,1 @@

      	-Couldn't complete the respond operation as the response has been already used.
      	+

      	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
      	ballerina.test.0_0_0:assertEquals(assert.bal:75)
      	ballerina.http_tests.1_1_0-alpha8.tests.http_dirty_response_test:testDirtyResponse(tests/http_dirty_response_test.bal:58)

Fixed via ballerina-platform/module-ballerina-http/pull/663/files

	[fail] testHTTP2303Status:
	    Found unexpected output type: Idle timeout triggered before initiating inbound response
	    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
	    	ballerina.test.0_0_0:assertFail(assert.bal:127)
	    	ballerina.http_tests.1_0_2.tests.http2_redirect:testHTTP2303Status(tests/http2_redirect.bal:410)

  [fail] testHttp2RetryWithServerPush:

      Found unexpected output type: Idle timeout triggered before initiating inbound response

      	at ballerina.test.0_0_0:createBallerinaError(assert.bal:43)
      	ballerina.test.0_0_0:assertFail(assert.bal:125)
      	ballerina.http_tests.1_1_0-beta_1.tests.http2_retry_test:testHttp2RetryWithServerPush(tests/http2_retry_test.bal:237)

Description:
	[fail] testBasicHttp2CircuitBreaker:
	    Found unexpected output type: Idle timeout triggered before initiating inbound response
	    	at ballerina.test.0_0_0:createBallerinaError(assert.bal:42)
	    	ballerina.test.0_0_0:assertFail(assert.bal:126)
	    	ballerina.http-tests.1_0_0.tests.integration-tests.service.resiliency.00-commons:invokeApiAndVerifyResponse(tests/integration-tests/service/resiliency/00-commons.bal:48)
	    	ballerina.http-tests.1_0_0.tests.integration-tests.service.resiliency.16-http2-circuit-breaker-test:testBasicHttp2CircuitBreaker(tests/integration-tests/service/resiliency/16-http2-circuit-breaker-test.bal:115)

Fixed via ballerina-platform/module-ballerina-http/pull/666

Closing as all the issues has been addressed


clinet-cf add writeAttributes support

clinet-cf add writeAttributes support

@dellzhui If you open another PR I will clearly decide to ban you !

Hi Simon，
So sorry for that.
I thought it had been given to the robot to detect that I did not
accept the Eclipse protocol, so I repeated the submission many times.
Back to the original reason for this PR，I think it is necessary to
support writeAttributes on the client side.
As you see in the client demo
class(org.eclipse.leshan.client.demo.LeshanClientDemo),it creates object
instance named RandomTemperatureSensor(3303) by using
ObjectsInitializer.java, however, the method named createNodeEnabler in
ObjectsInitializer returns a LwM2mObjectEnabler object which implemented by
ObjectEnabler which extended from BaseInstanceEnabler.
Regrettably, there is no real implementation of this method named
writeAttributes。
So I have implemented it.
Similarly, I added support for wirteAttributes in the
LwM2mInstanceEnabler interface.
Next are the results of my tests：

1.I simulate writeAttributes request in postman

[image: image.png]
2.I got this logs:
16:12:51.026 [CoapServer(main)#1] INFO
org.eclipse.leshan.client.demo.RandomTemperatureSensor - write pmax 30000
for resourceId 5750

Message ID: @.***>

Hi Simon， So sorry for that. I thought it had been given to the robot to detect that I did not accept the Eclipse protocol, so I repeated the submission many times. Back to the original reason for this PR，I think it is necessary to support writeAttributes on the client side. As you see in the client demo class(org.eclipse.leshan.client.demo.LeshanClientDemo),it creates object instance named RandomTemperatureSensor(3303) by using ObjectsInitializer.java, however, the method named createNodeEnabler in ObjectsInitializer returns a LwM2mObjectEnabler object which implemented by ObjectEnabler which extended from BaseInstanceEnabler. Regrettably, there is no real implementation of this method named writeAttributes。 So I have implemented it. Similarly, I added support for wirteAttributes in the LwM2mInstanceEnabler interface. Next are the results of my tests： 1.I simulate writeAttributes request in postman [image: image.png] 2.I got this logs: 16:12:51.026 [CoapServer(main)#1] INFO org.eclipse.leshan.client.demo.RandomTemperatureSensor - write pmax 30000 for resourceId 5750

@dellzhui If you open another PR I will clearly decide to ban you ! Please let discuss before. 🙏 ==> #1327 (comment) ==> #1328 (comment)

@dellzhui If you open another PR I will clearly decide to ban you ! Please let discuss before. 🙏 ==> #1327 (comment) ==> #1328 (comment)

Hi Simon，
So sorry for that.
I thought it had been given to the robot to detect that I did not
accept the Eclipse protocol, so I repeated the submission many times.
Back to the original reason for this PR，I think it is necessary to
support writeAttributes on the client side.
As you see in the client demo
class(org.eclipse.leshan.client.demo.LeshanClientDemo),it creates object
instance named RandomTemperatureSensor(3303) by using
ObjectsInitializer.java, however, the method named createNodeEnabler in
ObjectsInitializer returns a LwM2mObjectEnabler object which implemented by
ObjectEnabler which extended from BaseInstanceEnabler.
Regrettably, there is no real implementation of this method named
writeAttributes。
So I have implemented it.
Similarly, I added support for wirteAttributes in the
LwM2mInstanceEnabler interface.
Next are the results of my tests：

1.I simulate writeAttributes request in postman

[image: image.png]
2.I got this logs:
16:12:51.026 [CoapServer(main)#1] INFO
org.eclipse.leshan.client.demo.RandomTemperatureSensor - write pmax 30000
for resourceId 5750

So sorry for that.

No problem, we finally succeed to start a discussion.
Let's try to start to work in a clearer way.
Firstly please try :

to avoid duplicate comments :point_up:,
try to format it correctly, (markdown is easy to learn and github preview or edit comment feature is great...)
avoid images if this is now strictly needed...  better to copy/paste text.
if you are using image ensure that your comment really contains the image ...

I thought it had been given to the robot to detect that I did not
accept the Eclipse protocol, so I repeated the submission many times.

To fix your PR you don't need to create a new one, this would be a silly process...
Just push again in same branch (using push or push --force) and this will re-trigger PR checks.
But better to make it green on you development machine first using mvn clean install javadoc:javadoc locally.

Back to the original reason for this PR，I think it is necessary to
support writeAttributes on the client side.

It seems you also comment at : https://github.com/eclipse/leshan/issues/534#issuecomment-1283620776
So let continue to talk about that there.


the stdlib should be compiled every time the code is compiled, it will be better if cache the stdlib

The challenge here is "generic" functions like
def foo(x):
    return x * 3

which can take int, float, str, etc. One idea we've thought about is pre-compiling functions like this for the common types and then linking them (with some LTO so we can still inline etc.).


feat: Add optional enableLogs parameter

Hi, Derek!
I suggest you to add optional parameter enableLogs to functions that currently use console.log to provide an opportunity to users keep their consoles clear.

Hi Derek, please leave some comments

I'm not sure how useful that is. You really need some log messages so you know what's happening with the upload and if it was successful or not. What might make sense is to add a log level instead so you can pick between verbose, minimal, error, etc.

Thanks for answering. Do you mean log level property in config?

My thought is they would pass in either "Verbose", "Error", or "Info" or something and that would determine which messages get logged. Some messages would always be logged, others only if the log level was verbose, etc. So you're "enableLogs" would be a log level enum instead.


Provide a better example than Example-2.yml

Current Example-2.yml is not that ideal as it uses things like foo, bar, UNUSED which makes it hard to grasp the power of OAM.
apiVersion: core.oam.dev/v1alpha1
kind: ComponentSchematic
metadata:
  name: alpine-forever-v1
spec:
  workloadType: core.oam.dev/v1alpha1.SingletonServer
  parameters:
    - name: message
      type: string
      required: false
    - name: unused_integer
      type: number
      required: false
      default: 5678
  containers:
    - name: runner
      image: technosophos/alpine-forever:latest
      env:
        - name: FOO
          value: bar
          fromParam: message
        - name: UNUSED
          value: "1234"
          fromParam: unused_integer

Would it make sense if we replace this with another sample or use more representing values?

My proposal would be to

Update https://github.com/technosophos/alpine-forever and use message/welcome-message instead of FOO
Update sample to use new variable name
Remove unused_integer as it's not being used

Or use a completely different sample such as a message pump for an Azure Service Bus queue or whatever.


DataStore query on many-to-many join table, using @manyToMany, not working, source tables are using owner auth. GraphQL create join table object, not working, due to missing owner field in Input model.

Before opening, please confirm:

[X] I have searched for duplicate or closed issues and discussions.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

JavaScript Framework
React
Amplify APIs
DataStore
Amplify Categories
api
Environment information

# Put output below this line

Describe the bug
Using GraphQL transformer V2.
Following the examples on many-to-many queries from:
Amplify Docs - DataSore - Many-to-many
With a graphql.schema like this:
type User @model @auth(rules: [{allow: owner, operations: [read]}]) {
  id: ID!
  name: String @index(name: "byName", queryField: "userByName")
  cars: [Car] @manyToMany(relationName: "UserCar")
  owner: String!
}

type Car @model @auth(rules: [{allow: owner, operations: [read]}]) {
  id: ID!
  name: String @index(name: "byName", queryField: "carByName")
  users: [User] @manyToMany(relationName: "UserCar"),
  owner: String
}

Query on UserCar like this (notice no filter):
const result = await DataStore.query(UserCar);
Gives an empty array as result.
Query results on User or Car deliver the right objects.
If I look in Amplify Studio, I see the many-to-many relationships, when I load a User or Car.
The corresponding join table object was inserted using GraphQL in a Lambda function, but it was not possible to provide the owner field for the join object, due to missing definition in the AppSync CreateUserCarInput, although the type in AppSync for UserCar contains the owner field. Just for a test I populated the owner field using DynamoDB console, but without any success. The local storage on the browser client for the UserCar is always empty.
Please advice on how to proceed from here, because the only thing I can think about now, is to not use @manyToMany at all, because it seems to be not working as it should, even using GraphQL instead of DataStore, due to the fact, that the CreateUserCarInput is missing the owner field, which is present in the type definition of UserCar in AppSync.
If you link a Car to a User in Amplify Studio, the owner field is obviously also missing the DynamoDB data.
So this lets me think, that owner auth is not supported on many-to-many relationships.
Please confirm, so I can start removing DataStore immediately to start making some progress on my project.
Expected behavior
To be able to fetch join table object with owner auth.
Reproduction steps
See the description:

Create the model as shown in the description.

Create test data in Amplify Studio.

Try to fetch join table object using DataStore in the client.

Try to create a join table object with GraphQL, with and without owner field set.

Code Snippet
// Put your code below this line.

Log output

// Put your logs below this line

aws-exports.js
No response
Manual configuration
No response
Additional configuration
No response
Mobile Device
No response
Mobile Operating System
No response
Mobile Browser
No response
Mobile Browser Version
No response
Additional information and screenshots
No response

Any update here? I also face a similar problem!


Beware of the end times!

There's an ADwin_end_cycle or some such variable in adwin.py that needs to be coerced to an integer to avoid problems.

Also, 2**31-1 has to be filtered out from max-ing when determining time_end__cycles (that is how the variable is called).


Scala evaluator gives no feedback for some malformed input

The Scala interpreter has three return cases: success, error, and "incomplete".  If the input has unclosed braces, parentheses, or quotes, it is incomplete.  Right now that case gives no feedback to the user, because it is handled the same as an error but there is no error message.
Coming PR will distinguish all three cases and generate an "incomplete input" message when appropriate.

👍  many thanks


Independent WebView Not Ready For Lean Core Program

React Native version: 0.60.5
Steps To Reproduce

Install RN Webview in you RN 0.60.* project.
Use the WebView on a page and load a URL that redirects after maybe a form is submitted.

Describe what you expected to happen:
The expected behaviour is to have the WebView redirect to the page.
Snack, code example, screenshot, or link to a repository:
import React from 'react';
import {WebView} from 'react-native-webview';

class PageLoader extends React.Component {
  ...
  render() (
    return (
      <WebView
        ref={ref => (this.webview = ref)}
        javaScriptEnabled={true}
        scalesPageToFit={true}
        source={{uri: this.getInitialUrl()}}
        onNavigationStateChange={this.handleWebStateChange}
        style={style.webview}
        renderLoading={() => (
          <View styleName="flex-1 align-center justify-center">
            <Spinner
              styleName={Platform.select({android: 'primary', ios: 'gray'})}
            />
            <Caption styleName="h-center">Loading...</Caption>
           </View>
        )}
        renderError={this.renderWebviewError}
        onLoadEnd={this.handleWebStateChange}
        startInLoadingState={true}
     />
    )
  )
}

Please report an issue at https://github.com/react-native-community/react-native-webview


Replace DiagnosticId by DiagnosticPath

Objective
Implements #9216
Solution

Replace DiagnosticId by DiagnosticPath. It's pre-hashed using const-fnv1a-hash crate, so it's possible to create path in const contexts.

Changelog

Replaced DiagnosticId by DiagnosticPath

Set default history length to 120 measurements (2 seconds on 60 fps).
I've noticed hardcoded constant 20 everywhere and decided to change it to DEFAULT_MAX_HISTORY_LENGTH , which is set to new diagnostics by default. To override it, use with_max_history_length.

Migration Guide
- const UNIQUE_DIAG_ID: DiagnosticId = DiagnosticId::from_u128(42);
+ const UNIQUE_DIAG_PATH: DiagnosticPath = DiagnosticPath::const_new("foo/bar");

- Diagnostic::new(UNIQUE_DIAG_ID, "example", 10)
+ Diagnostic::new(UNIQUE_DIAG_PATH).with_max_history_length(10)

- diagnostics.add_measurement(UNIQUE_DIAG_ID, || 42);
+ diagnostics.add_measurement(&UNIQUE_DIAG_ID, || 42);

Hey, can you resolve merge conflicts? I'd like to get this in and at first glance this seems well-made.


Reduce the size of the goal picker add button

Reduced the size while somewhat kept the clickable area of the previous button size.

:+1:


kafka Invalid receive (size larger than defined)

I'm using kafka Docker images of
https://hub.docker.com/r/ubuntu/kafka
https://hub.docker.com/r/ubuntu/zookeeper
I followed the getting started source code
https://kafka.js.org/docs/getting-started
but I got error of
Invalid receive (size = 369295617 larger than 104857600)
which is strange since I only sent message of "Hello KafkaJS user!" to the topic.
anybody know what cause this error?
thanks for help

Hi, I also had this problem and noticed that passing an empty object in the ssl parameter when initializing Kafka turned on SSL (which in my local docker-compose was not enabled).
So, try this:
const kafka = new Kafka({
    logLevel: logLevel.DEBUG,
    clientId: 'xxxxx',
    brokers: [`${ipAddress()}:9092`]
    /* Remove completely the ssl block
    ssl: {}
    */
})