Use multiple ZED camera with the python Package

Hello,
thanks a lot for your sharing! However, here I still have a quetion when using this python package (not cpp):
when my computer is connected with multiple ZED camera (e.g., two), then how can I access them separately using some identifier as parameter in your code? I just want to use those two ZED cams to take pictures in different directions.
Best regards,
XG

Thanks for sharing! This is a great extension of the SDK. I think the multiple ZED is an important feature and it would be great to see it in the python SDK. Is there any plan to include this? If not, any tips how we can extend it?
Thansk!

Hi,
This is already implemented, you have to set the camera ID
PyInitParameters.camera_linux_id
Here is a simple example with 2 ZED: https://gist.github.com/adujardin/14843cb6f6f1380ad5ca9b948f85c531

Hi,
I am trying to select a camera in a multi-camera setting based on the serial number, using the set_from_serial_number() function from InitParameters.input, however, when I open() with those init_params, the serial number appears to be ignored and another camera is opened.
Even if I use a random non-existent serial number, upon opening no error is issued and the same default camera is accessed.
Is set_from_serial_number() reliable or camera_linux_id is the only viable option to select a camera? (I'm in a Linux environment.)
Thanks in advance!
Best,
Massimo

Hi @mminervini ,
To fix your problem you can use the function set_from_serial_number() from InitParameters so use :
init.set_from_serial_number(num)

instead of :
init.input.set_from_serial_number(num)

You can also create an object InputType use the function and then assign it to the InitParameters but this is more laborious. We will soon remove this ambiguity to avoid confusion so you can just use the set_from functions directly for InitParameters.
Thanks for your report.


HM: Union typeclasses instead of intersecting them

I distinctly remember claiming that, when one unifies two variable types
that both have typeclasses, one should take the intersection of their
respective constraints.
This is, of course, patent nonsense. If you have two functions:
f :: (Show a, Fruit a) => a -> a
f x = x

g :: (Show b, Vehicle b) => b -> b
g y = y

And you define a third function:
h z = (f z, g z)

Then z must be Show, Fruit and Vehicle (a banana mobile, perhaps?)
GHCi will gladly give you the actual signature:
h :: (Show t, Vehicle t, Fruit t) => t -> (t, t)

In other words, the sets of constraints are unioned, not intersected,
with one another. This commit is a first attempt at that.

That is indeed a bad bug. Haskell hurts my brain on this point, but the example makes it better understandable.

Looks great! Thanks for spotting this :)


[BUG]

Facing an issue in connecting to Azure Blob Storage using Azure JAVA SDK.  We are using Managed Indentity to access from Azure VM.
With BOM version - 1.0.2:
It directly establish the MI connectivity. Able to access the storage without any delay.
With BOM version - 1.2.13:
It first tries to connect to login.microsoft.com (3 times) and then establish the MI connectivity. Able to access the storage but after delay.

We are tying to connect Azure Blob storage with Azure SDK (Version - 1.2.13) with Managed identity and we identified that SDK is trying to access the URL : (login.microsoftonline.com/<IP_ADDRESS>:443, login.microsoftonline.com/<IP_ADDRESS>:443,
login.microsoftonline.com/<IP_ADDRESS>:443) to connect the Azure Blob and getting connection timeout error.

Do we need to Whitelist URL : login.microsoftonline.com?

If not needed to whitelist, we want to understand why it is trying to attempt this (login.microsoftonline.com) url. Is there configuration to disable this connection attempt.
Is their any changes in latest versions the way Managed Identity works. Please suggest

We are tying to connect Azure Blob storage with Azure SDK (Version - 1.2.13) with Managed identity and we identified that SDK is trying to access the URL : (login.microsoftonline.com/<IP_ADDRESS>:443, login.microsoftonline.com/<IP_ADDRESS>:443,
login.microsoftonline.com/<IP_ADDRESS>:443) to connect the Azure Blob and getting connection timeout error.

Do we need to Whitelist URL : login.microsoftonline.com?

If not needed to whitelist, we want to understand why it is trying to attempt this (login.microsoftonline.com) url. Is there configuration to disable this connection attempt.

Hi @ruchibobade @AB-SCT
Thanks for reaching out. This looks like an issue on the Azure-Identity team. I've routed this issue to their side and we should hopefully get more insight into this soon.

Hi @ibrahimrabab ,
Please suggest if any updates from Azure-Identity team.

Hi @ibrahimrabab, are there any news from the team working on this?

@g2vinay @billwert can you folks take a look at this?

Hi @ruchibobade sorry for the delay, @g2vinay will follow up with you shortly.

Hi @ruchibobade
Thank you for reporting this.
Between BOM version - 1.0.2 and 1.2.13
Managed Identity flow was switched to go through Msal library.
The instance discovery flow in Msal library could be getting triggered to check if the target authority endpoint is valid or not.
I will work to repro this on my end and get this step disabled within the Identity SDK for Managed Identity flow as it is not required there.
Once my investigation is complete, I will update here with next steps soon.

A fix to this was released in azure-identity:1.10.0
Upgrade to that version.
Closing this issue.


⚠ Bofrost.at has degraded performance

In 830a185, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1812 ms

Resolved: Bofrost.at performance has improved in b2582a4 after 19 minutes.


haskellPackages: update stackage and hackage

This Merge
This PR is the regular merge of the haskell-updates branch into master.
This branch is being continually built and tested by hydra at https://hydra.nixos.org/jobset/nixpkgs/haskell-updates. You may be able to find an up-to-date Hydra build report at cdepillabout/nix-haskell-updates-status.
We roughly aim to merge these haskell-updates PRs at least once every two weeks. See the @NixOS/haskell team calendar for who is currently in charge of this branch.
haskellPackages Workflow Summary
Our workflow is currently described in pkgs/development/haskell-modules/HACKING.md.
The short version is this:

We regularly update the Stackage and Hackage pins on haskell-updates (normally at the beginning of a merge window).
The community fixes builds of Haskell packages on that branch.
We aim at at least one merge of haskell-updates into master every two weeks.
We only do the merge if the mergeable job is succeeding on hydra.
If a maintained package is still broken at the time of merge, we will only merge if the maintainer has been pinged 7 days in advance. (If you care about a Haskell package, become a maintainer!)

This is the follow-up to #154461. Come to #haskell:nixos.org if you have any questions.

Last notable regression is arbtt cc @rvl.

Last notable regression is arbtt

I sent a PR for this: https://github.com/NixOS/nixpkgs/pull/156407
(I'm also an arbtt user)


refactor(cmake)!: only compile protos if asked - logging

Part of the work for #8022 and #12428
Only iam remains for both...

/gcbrun


Create New Tag/Release from Latest Commit

Hello @ansrivas , can you create new tag from latest commit? I need method SetSkipPaths in my project. Thanks

Hello @andre-fajar-n thanks for the reminder, here it is - https://github.com/ansrivas/fiberprometheus/releases/tag/v2.7.0


PDF operators for each distribution

Description
This PR adds operators for computing the densities of samples drawn from any of the various distributions defined in operator/random, as well as their gradients.  There are lots of changes to test_random.py to test each PDF alongside its distribution; aside from that, the patch should be entirely stand-alone.  See pdf_op.cc for more-detailed description strings.
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

Should be noted that this PR allows to compute log-pdf and pdf. And that it also adds pdf of Dirichlet distribution which does not yet exist in MXNet.
For consistency, we should then add also a sampler for Dirichlet-distributions after this PR gets merged.

This addresses several requests from issue #12932

Is this PR pointing against the 1.3 branch on purpose?

@david-seiler Seems like you want to add a particular feature to a previous version of MXNet.
The correct process to do this would be :

Raise a PR against the master branch.
After that PR is merged into master, cherry-pick the same commit in another PR raised against v1.3.x (Or a different version) branch.

@mxnet-label-bot Add [pr-awaiting-review, operator]

@david-seiler Seems like you want to add a particular feature to a previous version of MXNet.

I started with 1.3.x because it's what we're using internally (for now); I'll close this in favor of a new PR against master once I've updated to build against master and addressed the rest of the review comments.

This PR now correctly targets master -- still from a branch named v1.3.x on my side, since I couldn't see how to reset that, but that branch now follows apache:master with this one commit on top.  Sorry for the confusion, but it seems better on net than throwing away the existing conversation.

The tests in Jenkins have been stuck ever single I switched this PR to master, and I haven't found a way to unstick them, so please join me in a new PR of the same code: https://github.com/apache/incubator-mxnet/pull/14617
All the comments from this PR should be addressed there.


not able to pull data from NSE

Getting data from NSE does not work.... Example:
x = derivatives.participant_wise_open_interest('16-09-2024')
gives error. Noticed some path changes on NSE website.
Current url:     url = f"https://archives.nseindia.com/content/nsccl/fao_participant_oi_{str(trade_date.strftime('%d%m%Y'))}.csv"
New url:          url = f"https://nsearchives.nseindia.com/content/nsccl/fao_participant_oi_{str(trade_date.strftime('%d%m%Y'))}.csv"
But after making this change, though the error goes away, it hangs for a long time and finally does not fetch anything.

Hi, Thanks for your concern raised.. I will fix it soon

The paths are updated, please try nselib v-1.2, upgrade your version.

Hi, any other function has this issue?

I think all functions would be affected. You need to search for the string and make changes everywhere. I still see some functions referring to older paths.


chore: upgrade typescript to 5.5.4

Why
Please describe the motivation for this PR, and link to relevant GitHub issues, forums posts, or feature requests.
How
How did you build this feature or fix this bug?
Test Plan
Please describe how you tested this change and how a reviewer could reproduce your test, especially if this PR does not include automated tests!

#247  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @wschurman and the rest of your teammates on  Graphite


Update Chia bls-signature to latest version

Brings in:

https://github.com/Chia-Network/bls-signatures/pull/41
https://github.com/Chia-Network/bls-signatures/pull/46
A few commits from https://github.com/codablock/bls-signatures are now
merged into upstream.

This removes the need for manual initialization of the BLS library. This is
now done internally and in a thread-safe way.
Also switch to using tags instead of raw commit hashes. Makes testing
easier and also removes the risk of Github deleting commits due to
cleanup jobs.

bench/bench_dash.cpp:22:5: error: use of undeclared identifier 'BLSInit'
    BLSInit();
    ^
1 error generated.


workflow failing with cant read property of undefined: label

Bug Description
When i run the attached agent flow, i get this error in the logs:
2024-11-22 18:39:47 [ERROR]: [server]: Error: Cannot read properties of undefined (reading 'label')
Error: Cannot read properties of undefined (reading 'label')
at buildAgentGraph (/usr/src/packages/server/dist/utils/buildAgentGraph.js:399:19)
at async utilBuildAgentResponse (/usr/src/packages/server/dist/utils/buildChatflow.js:428:31)
at async utilBuildChatflow (/usr/src/packages/server/dist/utils/buildChatflow.js:195:20)
at async createAndStreamInternalPrediction (/usr/src/packages/server/dist/controllers/internal-predictions/index.js:
33:29)
2024-11-22 18:39:47 [ERROR]: [server]: Error: Error buildAgentGraph - Cannot read properties of undefined (reading 'label')
Error: Error buildAgentGraph - Cannot read properties of undefined (reading 'label')
at buildAgentGraph (/usr/src/packages/server/dist/utils/buildAgentGraph.js:405:15)
at async utilBuildAgentResponse (/usr/src/packages/server/dist/utils/buildChatflow.js:428:31)
at async utilBuildChatflow (/usr/src/packages/server/dist/utils/buildChatflow.js:195:20)
at async createAndStreamInternalPrediction (/usr/src/packages/server/dist/controllers/internal-predictions/index.js:
33:29)
2024-11-22 18:39:47 [ERROR]: [server]: Error: Error buildAgentGraph - Cannot read properties of undefined (reading 'label')
Error: Error buildAgentGraph - Cannot read properties of undefined (reading 'label')
at utilBuildAgentResponse (/usr/src/packages/server/dist/utils/buildChatflow.js:534:15)
at async utilBuildChatflow (/usr/src/packages/server/dist/utils/buildChatflow.js:195:20)
at async createAndStreamInternalPrediction (/usr/src/packages/server/dist/controllers/internal-predictions/index.js:33:29)
Reproduction
This is the json for the agentflow
{
"nodes": [
{
"id": "seqStart_0",
"position": {
"x": 524,
"y": 158
},
"type": "customNode",
"data": {
"id": "seqStart_0",
"label": "Start",
"version": 2,
"name": "seqStart",
"type": "Start",
"baseClasses": [
"Start"
],
"category": "Sequential Agents",
"description": "Starting point of the conversation",
"inputParams": [],
"inputAnchors": [
{
"label": "Chat Model",
"name": "model",
"type": "BaseChatModel",
"description": "Only compatible with models that are capable of function calling: ChatOpenAI, ChatMistral, ChatAnthropic, ChatGoogleGenerativeAI, ChatVertexAI, GroqChat",
"id": "seqStart_0-input-model-BaseChatModel"
},
{
"label": "Agent Memory",
"name": "agentMemory",
"type": "BaseCheckpointSaver",
"description": "Save the state of the agent",
"optional": true,
"id": "seqStart_0-input-agentMemory-BaseCheckpointSaver"
},
{
"label": "State",
"name": "state",
"type": "State",
"description": "State is an object that is updated by nodes in the graph, passing from one node to another. By default, state contains "messages" that got updated with each message sent and received.",
"optional": true,
"id": "seqStart_0-input-state-State"
},
{
"label": "Input Moderation",
"description": "Detect text that could generate harmful output and prevent it from being sent to the language model",
"name": "inputModeration",
"type": "Moderation",
"optional": true,
"list": true,
"id": "seqStart_0-input-inputModeration-Moderation"
}
],
"inputs": {
"model": "{{chatOllama_0.data.instance}}",
"agentMemory": "",
"state": "{{seqState_0.data.instance}}",
"inputModeration": ""
},
"outputAnchors": [
{
"id": "seqStart_0-output-seqStart-Start",
"name": "seqStart",
"label": "Start",
"description": "Starting point of the conversation",
"type": "Start"
}
],
"outputs": {},
"selected": false
},
"width": 300,
"height": 382,
"positionAbsolute": {
"x": 524,
"y": 158
},
"selected": false
},
{
"id": "chatOllama_0",
"position": {
"x":<PHONE_NUMBER>5139341,
"y":<PHONE_NUMBER>1519857
},
"type": "customNode",
"data": {
"id": "chatOllama_0",
"label": "ChatOllama",
"version": 4,
"name": "chatOllama",
"type": "ChatOllama",
"baseClasses": [
"ChatOllama",
"ChatOllama",
"BaseChatModel",
"BaseLanguageModel",
"Runnable"
],
"category": "Chat Models",
"description": "Chat completion using open-source LLM on Ollama",
"inputParams": [
{
"label": "Base URL",
"name": "baseUrl",
"type": "string",
"default": "http://localhost:11434",
"id": "chatOllama_0-input-baseUrl-string"
},
{
"label": "Model Name",
"name": "modelName",
"type": "string",
"placeholder": "llama2",
"id": "chatOllama_0-input-modelName-string"
},
{
"label": "Temperature",
"name": "temperature",
"type": "number",
"description": "The temperature of the model. Increasing the temperature will make the model answer more creatively. (Default: 0.8). Refer to docs for more details",
"step": 0.1,
"default": 0.9,
"optional": true,
"id": "chatOllama_0-input-temperature-number"
},
{
"label": "Allow Image Uploads",
"name": "allowImageUploads",
"type": "boolean",
"description": "Allow image uploads for multimodal models. e.g. llama3.2-vision",
"default": false,
"optional": true,
"id": "chatOllama_0-input-allowImageUploads-boolean"
},
{
"label": "JSON Mode",
"name": "jsonMode",
"type": "boolean",
"description": "Coerces model outputs to only return JSON. Specify in the system prompt to return JSON. Ex: Format all responses as JSON object",
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-jsonMode-boolean"
},
{
"label": "Keep Alive",
"name": "keepAlive",
"type": "string",
"description": "How long to keep connection alive. A duration string (such as "10m" or "24h")",
"default": "5m",
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-keepAlive-string"
},
{
"label": "Top P",
"name": "topP",
"type": "number",
"description": "Works together with top-k. A higher value (e.g., 0.95) will lead to more diverse text, while a lower value (e.g., 0.5) will generate more focused and conservative text. (Default: 0.9). Refer to docs for more details",
"step": 0.1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-topP-number"
},
{
"label": "Top K",
"name": "topK",
"type": "number",
"description": "Reduces the probability of generating nonsense. A higher value (e.g. 100) will give more diverse answers, while a lower value (e.g. 10) will be more conservative. (Default: 40). Refer to docs for more details",
"step": 1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-topK-number"
},
{
"label": "Mirostat",
"name": "mirostat",
"type": "number",
"description": "Enable Mirostat sampling for controlling perplexity. (default: 0, 0 = disabled, 1 = Mirostat, 2 = Mirostat 2.0). Refer to docs for more details",
"step": 1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-mirostat-number"
},
{
"label": "Mirostat ETA",
"name": "mirostatEta",
"type": "number",
"description": "Influences how quickly the algorithm responds to feedback from the generated text. A lower learning rate will result in slower adjustments, while a higher learning rate will make the algorithm more responsive. (Default: 0.1) Refer to docs for more details",
"step": 0.1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-mirostatEta-number"
},
{
"label": "Mirostat TAU",
"name": "mirostatTau",
"type": "number",
"description": "Controls the balance between coherence and diversity of the output. A lower value will result in more focused and coherent text. (Default: 5.0) Refer to docs for more details",
"step": 0.1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-mirostatTau-number"
},
{
"label": "Context Window Size",
"name": "numCtx",
"type": "number",
"description": "Sets the size of the context window used to generate the next token. (Default: 2048) Refer to docs for more details",
"step": 1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-numCtx-number"
},
{
"label": "Number of GPU",
"name": "numGpu",
"type": "number",
"description": "The number of layers to send to the GPU(s). On macOS it defaults to 1 to enable metal support, 0 to disable. Refer to docs for more details",
"step": 1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-numGpu-number"
},
{
"label": "Number of Thread",
"name": "numThread",
"type": "number",
"description": "Sets the number of threads to use during computation. By default, Ollama will detect this for optimal performance. It is recommended to set this value to the number of physical CPU cores your system has (as opposed to the logical number of cores). Refer to docs for more details",
"step": 1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-numThread-number"
},
{
"label": "Repeat Last N",
"name": "repeatLastN",
"type": "number",
"description": "Sets how far back for the model to look back to prevent repetition. (Default: 64, 0 = disabled, -1 = num_ctx). Refer to docs for more details",
"step": 1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-repeatLastN-number"
},
{
"label": "Repeat Penalty",
"name": "repeatPenalty",
"type": "number",
"description": "Sets how strongly to penalize repetitions. A higher value (e.g., 1.5) will penalize repetitions more strongly, while a lower value (e.g., 0.9) will be more lenient. (Default: 1.1). Refer to docs for more details",
"step": 0.1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-repeatPenalty-number"
},
{
"label": "Stop Sequence",
"name": "stop",
"type": "string",
"rows": 4,
"placeholder": "AI assistant:",
"description": "Sets the stop sequences to use. Use comma to seperate different sequences. Refer to docs for more details",
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-stop-string"
},
{
"label": "Tail Free Sampling",
"name": "tfsZ",
"type": "number",
"description": "Tail free sampling is used to reduce the impact of less probable tokens from the output. A higher value (e.g., 2.0) will reduce the impact more, while a value of 1.0 disables this setting. (Default: 1). Refer to docs for more details",
"step": 0.1,
"optional": true,
"additionalParams": true,
"id": "chatOllama_0-input-tfsZ-number"
}
],
"inputAnchors": [
{
"label": "Cache",
"name": "cache",
"type": "BaseCache",
"optional": true,
"id": "chatOllama_0-input-cache-BaseCache"
}
],
"inputs": {
"cache": "",
"baseUrl": "http://<IP_ADDRESS>:11434",
"modelName": "qwn:7b",
"temperature": "0.2",
"allowImageUploads": "",
"jsonMode": true,
"keepAlive": "5m",
"topP": "",
"topK": "",
"mirostat": "",
"mirostatEta": "",
"mirostatTau": "",
"numCtx": "30000",
"numGpu": "",
"numThread": "",
"repeatLastN": "",
"repeatPenalty": "",
"stop": "",
"tfsZ": ""
},
"outputAnchors": [
{
"id": "chatOllama_0-output-chatOllama-ChatOllama|ChatOllama|BaseChatModel|BaseLanguageModel|Runnable",
"name": "chatOllama",
"label": "ChatOllama",
"description": "Chat completion using open-source LLM on Ollama",
"type": "ChatOllama | ChatOllama | BaseChatModel | BaseLanguageModel | Runnable"
}
],
"outputs": {},
"selected": false
},
"width": 300,
"height": 675,
"selected": false,
"positionAbsolute": {
"x":<PHONE_NUMBER>5139341,
"y":<PHONE_NUMBER>1519857
},
"dragging": false
},
{
"id": "seqState_0",
"position": {
"x":<PHONE_NUMBER>603796,
"y":<PHONE_NUMBER>241255
},
"type": "customNode",
"data": {
"id": "seqState_0",
"label": "State",
"version": 2,
"name": "seqState",
"type": "State",
"baseClasses": [
"State"
],
"category": "Sequential Agents",
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
"inputParams": [
{
"label": "Custom State",
"name": "stateMemory",
"type": "tabs",
"tabIdentifier": "selectedStateTab",
"additionalParams": true,
"default": "stateMemoryUI",
"tabs": [
{
"label": "Custom State (Table)",
"name": "stateMemoryUI",
"type": "datagrid",
"description": "Structure for state. By default, state contains "messages" that got updated with each message sent and received.",
"hint": {
"label": "How to use",
"value": "\nSpecify the Key, Operation Type, and Default Value for the state object. The Operation Type can be either "Replace" or "Append".\n\nReplace\n- Replace the existing value with the new value.\n- If the new value is null, the existing value will be retained.\n\nAppend\n- Append the new value to the existing value.\n- Default value can be empty or an array. Ex: ["a", "b"]\n- Final value is an array.\n"
},
"datagrid": [
{
"field": "key",
"headerName": "Key",
"editable": true
},
{
"field": "type",
"headerName": "Operation",
"type": "singleSelect",
"valueOptions": [
"Replace",
"Append"
],
"editable": true
},
{
"field": "defaultValue",
"headerName": "Default Value",
"flex": 1,
"editable": true
}
],
"optional": true,
"additionalParams": true
},
{
"label": "Custom State (Code)",
"name": "stateMemoryCode",
"type": "code",
"description": "JSON object representing the state",
"hideCodeExecute": true,
"codeExample": "{\n    aggregate: {\n        value: (x, y) => x.concat(y), // here we append the new message to the existing messages\n        default: () => []\n    }\n}",
"optional": true,
"additionalParams": true
}
],
"id": "seqState_0-input-stateMemory-tabs"
}
],
"inputAnchors": [],
"inputs": {
"stateMemory": "stateMemoryUI",
"stateMemoryUI": "[{"key":"next","type":"Replace","defaultValue":"","actions":"","id":1}]"
},
"outputAnchors": [
{
"id": "seqState_0-output-seqState-State",
"name": "seqState",
"label": "State",
"description": "A centralized state object, updated by nodes in the graph, passing from one node to another",
"type": "State"
}
],
"outputs": {},
"selected": false
},
"width": 300,
"height": 251,
"selected": false,
"positionAbsolute": {
"x":<PHONE_NUMBER>603796,
"y":<PHONE_NUMBER>241255
},
"dragging": false
},
{
"id": "seqLLMNode_0",
"position": {
"x":<PHONE_NUMBER>643981,
"y":<PHONE_NUMBER>0520455
},
"type": "customNode",
"data": {
"id": "seqLLMNode_0",
"label": "LLM Node",
"version": 3,
"name": "seqLLMNode",
"type": "LLMNode",
"baseClasses": [
"LLMNode"
],
"category": "Sequential Agents",
"description": "Run Chat Model and return the output",
"inputParams": [
{
"label": "Name",
"name": "llmNodeName",
"type": "string",
"placeholder": "LLM",
"id": "seqLLMNode_0-input-llmNodeName-string"
},
{
"label": "System Prompt",
"name": "systemMessagePrompt",
"type": "string",
"rows": 4,
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_0-input-systemMessagePrompt-string"
},
{
"label": "Human Prompt",
"name": "humanMessagePrompt",
"type": "string",
"description": "This prompt will be added at the end of the messages as human message",
"rows": 4,
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_0-input-humanMessagePrompt-string"
},
{
"label": "Messages History",
"name": "messageHistory",
"description": "Return a list of messages between System Prompt and Human Prompt. This is useful when you want to provide few shot examples",
"type": "code",
"hideCodeExecute": true,
"codeExample": "const { AIMessage, HumanMessage, ToolMessage } = require('@langchain/core/messages');\n\nreturn [\n    new HumanMessage("What is 333382 🦜 1932?"),\n    new AIMessage({\n        content: "",\n        tool_calls: [\n        {\n            id: "12345",\n            name: "calulator",\n            args: {\n                number1: 333382,\n                number2: 1932,\n                operation: "divide",\n            },\n        },\n        ],\n    }),\n    new ToolMessage({\n        tool_call_id: "12345",\n        content: "The answer is 172.558.",\n    }),\n    new AIMessage("The answer is 172.558."),\n]",
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_0-input-messageHistory-code"
},
{
"label": "Format Prompt Values",
"name": "promptValues",
"description": "Assign values to the prompt variables. You can also use $flow.state. to get the state value",
"type": "json",
"optional": true,
"acceptVariable": true,
"list": true,
"additionalParams": true,
"id": "seqLLMNode_0-input-promptValues-json"
},
{
"label": "JSON Structured Output",
"name": "llmStructuredOutput",
"type": "datagrid",
"description": "Instruct the LLM to give output in a JSON structured schema",
"datagrid": [
{
"field": "key",
"headerName": "Key",
"editable": true
},
{
"field": "type",
"headerName": "Type",
"type": "singleSelect",
"valueOptions": [
"String",
"String Array",
"Number",
"Boolean",
"Enum"
],
"editable": true
},
{
"field": "enumValues",
"headerName": "Enum Values",
"editable": true
},
{
"field": "description",
"headerName": "Description",
"flex": 1,
"editable": true
}
],
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_0-input-llmStructuredOutput-datagrid"
},
{
"label": "Update State",
"name": "updateStateMemory",
"type": "tabs",
"tabIdentifier": "selectedUpdateStateMemoryTab",
"default": "updateStateMemoryUI",
"additionalParams": true,
"tabs": [
{
"label": "Update State (Table)",
"name": "updateStateMemoryUI",
"type": "datagrid",
"hint": {
"label": "How to use",
"value": "\n1. Key and value pair to be updated. For example: if you have the following State:\n    | Key       | Operation     | Default Value     |\n    |-----------|---------------|-------------------|\n    | user      | Replace       |                   |\n\n    You can update the "user" value with the following:\n    | Key       | Value     |\n    |-----------|-----------|\n    | user      | john doe  |\n\n2. If you want to use the LLM Node's output as the value to update state, it is available as available as $flow.output with the following structure:\n    json\n    {\n        \"content\": 'Hello! How can I assist you today?',\n        \"name\": \"\",\n        \"additional_kwargs\": {},\n        \"response_metadata\": {},\n        \"tool_calls\": [],\n        \"invalid_tool_calls\": [],\n        \"usage_metadata\": {}\n    }\n    \n\n    For example, if the output content is the value you want to update the state with, you can do the following:\n    | Key       | Value                     |\n    |-----------|---------------------------|\n    | user      | $flow.output.content  |\n\n3. You can get default flow config, including the current "state":\n    - $flow.sessionId\n    - $flow.chatId\n    - $flow.chatflowId\n    - $flow.input\n    - $flow.state\n\n4. You can get custom variables: $vars.<variable-name>\n\n"
},
"description": "This is only applicable when you have a custom State at the START node. After agent execution, you might want to update the State values",
"datagrid": [
{
"field": "key",
"headerName": "Key",
"type": "asyncSingleSelect",
"loadMethod": "loadStateKeys",
"flex": 0.5,
"editable": true
},
{
"field": "value",
"headerName": "Value",
"type": "freeSolo",
"valueOptions": [
{
"label": "LLM Node Output (string)",
"value": "$flow.output.content"
},
{
"label": "LLM JSON Output Key (string)",
"value": "$flow.output."
},
{
"label": "Global variable (string)",
"value": "$vars."
},
{
"label": "Input Question (string)",
"value": "$flow.input"
},
{
"label": "Session Id (string)",
"value": "$flow.sessionId"
},
{
"label": "Chat Id (string)",
"value": "$flow.chatId"
},
{
"label": "Chatflow Id (string)",
"value": "$flow.chatflowId"
}
],
"editable": true,
"flex": 1
}
],
"optional": true,
"additionalParams": true
},
{
"label": "Update State (Code)",
"name": "updateStateMemoryCode",
"type": "code",
"hint": {
"label": "How to use",
"value": "\n1. Return the key value JSON object. For example: if you have the following State:\n    json\n    {\n        \"user\": null\n    }\n    \n\n    You can update the "user" value by returning the following:\n    js\n    return {\n        \"user\": \"john doe\"\n    }\n    \n\n2. If you want to use the LLM Node's output as the value to update state, it is available as $flow.output with the following structure:\n    json\n    {\n        \"content\": 'Hello! How can I assist you today?',\n        \"name\": \"\",\n        \"additional_kwargs\": {},\n        \"response_metadata\": {},\n        \"tool_calls\": [],\n        \"invalid_tool_calls\": [],\n        \"usage_metadata\": {}\n    }\n    \n\n    For example, if the output content is the value you want to update the state with, you can return the following:\n    js\n    return {\n        \"user\": $flow.output.content\n    }\n    \n\n3. You can also get default flow config, including the current "state":\n    - $flow.sessionId\n    - $flow.chatId\n    - $flow.chatflowId\n    - $flow.input\n    - $flow.state\n\n4. You can get custom variables: $vars.<variable-name>\n\n"
},
"description": "This is only applicable when you have a custom State at the START node. After agent execution, you might want to update the State values. Must return an object representing the state",
"hideCodeExecute": true,
"codeExample": "const result = $flow.output;\n\n/* Suppose we have a custom State schema like this:\n* {\n    aggregate: {\n        value: (x, y) => x.concat(y),\n        default: () => []\n    }\n  }\n*/\n\nreturn {\n  aggregate: [result.content]\n};",
"optional": true,
"additionalParams": true
}
],
"id": "seqLLMNode_0-input-updateStateMemory-tabs"
}
],
"inputAnchors": [
{
"label": "Start | Agent | Condition | LLM | Tool Node",
"name": "sequentialNode",
"type": "Start | Agent | Condition | LLMNode | ToolNode",
"list": true,
"id": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
},
{
"label": "Chat Model",
"name": "model",
"type": "BaseChatModel",
"optional": true,
"description": "Overwrite model to be used for this node",
"id": "seqLLMNode_0-input-model-BaseChatModel"
}
],
"inputs": {
"llmNodeName": "youtube title writer",
"systemMessagePrompt": "[INSTRUCTION]\nAnalyze the video transcript and provide a possible title. \nDo not explain what you are doing: only output the suggested title with no additional comments.\nIf the word Qigong has spelling mistakes, please fix them. Common spelling mistakes are: chicun, chico.\n\nA good title meets the following criteria:\n1. Clear and Descriptive: Accurately describe the content.\n2. Keyword-Rich: Include relevant keywords like "Zhi Neng Qigong" as part of the title, but avoid randomly inserting keywords.\n3. Engaging and Compelling: Grab attention and pique curiosity.\n4. Concise: Keep it under 60 characters.\n5. Questions: Consider posing a question to intrigue viewers.\n6. Use of Capitalization: Capitalize the first letter of each word.\n\nRules of the final result:\n- The final result should be a string written in Spanish.\n- Do not explain what you are doing or add notes or comments, simply output the proposed title as a plain string, ready to be published.\n- Do not leave variables to be filled in, the final result must be the final title that will be published.\n- Do not add any markdown formatting, or hashtags.\n\nAdditional information:\n- The name of the channel is: Matias Hegoburu\n- The channel is an educational channel about Zhi Neng Qigong.\n- The content is for educational purposes only, and should not replace professional medical advice\n- Important keywords: Zhi Neng Qigong, Qigong\n\nOnce you generate the title, send it to the reviewer for approval. If the reviewer sends feedback, implement it.",
"humanMessagePrompt": "",
"messageHistory": "",
"sequentialNode": [
"{{seqStart_0.data.instance}}"
],
"model": "",
"promptValues": "",
"llmStructuredOutput": "[{"key":"title","type":"String","enumValues":"","description":"the suggested title for the given script","actions":"","id":1}]",
"updateStateMemory": "updateStateMemoryUI"
},
"outputAnchors": [
{
"id": "seqLLMNode_0-output-seqLLMNode-LLMNode",
"name": "seqLLMNode",
"label": "LLMNode",
"description": "Run Chat Model and return the output",
"type": "LLMNode"
}
],
"outputs": {},
"selected": false
},
"width": 300,
"height": 450,
"selected": false,
"positionAbsolute": {
"x":<PHONE_NUMBER>643981,
"y":<PHONE_NUMBER>0520455
},
"dragging": false
},
{
"id": "seqLLMNode_1",
"position": {
"x": 1263.7692396634495,
"y":<PHONE_NUMBER>2519276
},
"type": "customNode",
"data": {
"id": "seqLLMNode_1",
"label": "LLM Node",
"version": 3,
"name": "seqLLMNode",
"type": "LLMNode",
"baseClasses": [
"LLMNode"
],
"category": "Sequential Agents",
"description": "Run Chat Model and return the output",
"inputParams": [
{
"label": "Name",
"name": "llmNodeName",
"type": "string",
"placeholder": "LLM",
"id": "seqLLMNode_1-input-llmNodeName-string"
},
{
"label": "System Prompt",
"name": "systemMessagePrompt",
"type": "string",
"rows": 4,
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_1-input-systemMessagePrompt-string"
},
{
"label": "Human Prompt",
"name": "humanMessagePrompt",
"type": "string",
"description": "This prompt will be added at the end of the messages as human message",
"rows": 4,
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_1-input-humanMessagePrompt-string"
},
{
"label": "Messages History",
"name": "messageHistory",
"description": "Return a list of messages between System Prompt and Human Prompt. This is useful when you want to provide few shot examples",
"type": "code",
"hideCodeExecute": true,
"codeExample": "const { AIMessage, HumanMessage, ToolMessage } = require('@langchain/core/messages');\n\nreturn [\n    new HumanMessage("What is 333382 🦜 1932?"),\n    new AIMessage({\n        content: "",\n        tool_calls: [\n        {\n            id: "12345",\n            name: "calulator",\n            args: {\n                number1: 333382,\n                number2: 1932,\n                operation: "divide",\n            },\n        },\n        ],\n    }),\n    new ToolMessage({\n        tool_call_id: "12345",\n        content: "The answer is 172.558.",\n    }),\n    new AIMessage("The answer is 172.558."),\n]",
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_1-input-messageHistory-code"
},
{
"label": "Format Prompt Values",
"name": "promptValues",
"description": "Assign values to the prompt variables. You can also use $flow.state. to get the state value",
"type": "json",
"optional": true,
"acceptVariable": true,
"list": true,
"additionalParams": true,
"id": "seqLLMNode_1-input-promptValues-json"
},
{
"label": "JSON Structured Output",
"name": "llmStructuredOutput",
"type": "datagrid",
"description": "Instruct the LLM to give output in a JSON structured schema",
"datagrid": [
{
"field": "key",
"headerName": "Key",
"editable": true
},
{
"field": "type",
"headerName": "Type",
"type": "singleSelect",
"valueOptions": [
"String",
"String Array",
"Number",
"Boolean",
"Enum"
],
"editable": true
},
{
"field": "enumValues",
"headerName": "Enum Values",
"editable": true
},
{
"field": "description",
"headerName": "Description",
"flex": 1,
"editable": true
}
],
"optional": true,
"additionalParams": true,
"id": "seqLLMNode_1-input-llmStructuredOutput-datagrid"
},
{
"label": "Update State",
"name": "updateStateMemory",
"type": "tabs",
"tabIdentifier": "selectedUpdateStateMemoryTab",
"default": "updateStateMemoryUI",
"additionalParams": true,
"tabs": [
{
"label": "Update State (Table)",
"name": "updateStateMemoryUI",
"type": "datagrid",
"hint": {
"label": "How to use",
"value": "\n1. Key and value pair to be updated. For example: if you have the following State:\n    | Key       | Operation     | Default Value     |\n    |-----------|---------------|-------------------|\n    | user      | Replace       |                   |\n\n    You can update the "user" value with the following:\n    | Key       | Value     |\n    |-----------|-----------|\n    | user      | john doe  |\n\n2. If you want to use the LLM Node's output as the value to update state, it is available as available as $flow.output with the following structure:\n    json\n    {\n        \"content\": 'Hello! How can I assist you today?',\n        \"name\": \"\",\n        \"additional_kwargs\": {},\n        \"response_metadata\": {},\n        \"tool_calls\": [],\n        \"invalid_tool_calls\": [],\n        \"usage_metadata\": {}\n    }\n    \n\n    For example, if the output content is the value you want to update the state with, you can do the following:\n    | Key       | Value                     |\n    |-----------|---------------------------|\n    | user      | $flow.output.content  |\n\n3. You can get default flow config, including the current "state":\n    - $flow.sessionId\n    - $flow.chatId\n    - $flow.chatflowId\n    - $flow.input\n    - $flow.state\n\n4. You can get custom variables: $vars.<variable-name>\n\n"
},
"description": "This is only applicable when you have a custom State at the START node. After agent execution, you might want to update the State values",
"datagrid": [
{
"field": "key",
"headerName": "Key",
"type": "asyncSingleSelect",
"loadMethod": "loadStateKeys",
"flex": 0.5,
"editable": true
},
{
"field": "value",
"headerName": "Value",
"type": "freeSolo",
"valueOptions": [
{
"label": "LLM Node Output (string)",
"value": "$flow.output.content"
},
{
"label": "LLM JSON Output Key (string)",
"value": "$flow.output."
},
{
"label": "Global variable (string)",
"value": "$vars."
},
{
"label": "Input Question (string)",
"value": "$flow.input"
},
{
"label": "Session Id (string)",
"value": "$flow.sessionId"
},
{
"label": "Chat Id (string)",
"value": "$flow.chatId"
},
{
"label": "Chatflow Id (string)",
"value": "$flow.chatflowId"
}
],
"editable": true,
"flex": 1
}
],
"optional": true,
"additionalParams": true
},
{
"label": "Update State (Code)",
"name": "updateStateMemoryCode",
"type": "code",
"hint": {
"label": "How to use",
"value": "\n1. Return the key value JSON object. For example: if you have the following State:\n    json\n    {\n        \"user\": null\n    }\n    \n\n    You can update the "user" value by returning the following:\n    js\n    return {\n        \"user\": \"john doe\"\n    }\n    \n\n2. If you want to use the LLM Node's output as the value to update state, it is available as $flow.output with the following structure:\n    json\n    {\n        \"content\": 'Hello! How can I assist you today?',\n        \"name\": \"\",\n        \"additional_kwargs\": {},\n        \"response_metadata\": {},\n        \"tool_calls\": [],\n        \"invalid_tool_calls\": [],\n        \"usage_metadata\": {}\n    }\n    \n\n    For example, if the output content is the value you want to update the state with, you can return the following:\n    js\n    return {\n        \"user\": $flow.output.content\n    }\n    \n\n3. You can also get default flow config, including the current "state":\n    - $flow.sessionId\n    - $flow.chatId\n    - $flow.chatflowId\n    - $flow.input\n    - $flow.state\n\n4. You can get custom variables: $vars.<variable-name>\n\n"
},
"description": "This is only applicable when you have a custom State at the START node. After agent execution, you might want to update the State values. Must return an object representing the state",
"hideCodeExecute": true,
"codeExample": "const result = $flow.output;\n\n/* Suppose we have a custom State schema like this:\n* {\n    aggregate: {\n        value: (x, y) => x.concat(y),\n        default: () => []\n    }\n  }\n*/\n\nreturn {\n  aggregate: [result.content]\n};",
"optional": true,
"additionalParams": true
}
],
"id": "seqLLMNode_1-input-updateStateMemory-tabs"
}
],
"inputAnchors": [
{
"label": "Start | Agent | Condition | LLM | Tool Node",
"name": "sequentialNode",
"type": "Start | Agent | Condition | LLMNode | ToolNode",
"list": true,
"id": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
},
{
"label": "Chat Model",
"name": "model",
"type": "BaseChatModel",
"optional": true,
"description": "Overwrite model to be used for this node",
"id": "seqLLMNode_1-input-model-BaseChatModel"
}
],
"inputs": {
"llmNodeName": "reviewer",
"systemMessagePrompt": "Your job is to review the youtube titles generated and give feedback to the writer. You need to check that the title has good grammar and spelling, and follows the main characteristics of a good youtube title:\n1. Clear and Descriptive: Accurately describe the content.\n2. Keyword-Rich: Include relevant keywords like "Zhi Neng Qigong" as part of the title, but avoid randomly inserting keywords.\n3. Engaging and Compelling: Grab attention and pique curiosity.\n4. Concise: Keep it under 60 characters.\n5. Questions: Consider posing a question to intrigue viewers.\n6. Use of Capitalization: Capitalize the first letter of each word.\n\nIf you have any feedback items, you will give instructions to the writer to improve the suggested title.\nIf you are satisfied with the work from the writer, you will say "APPROVED".",
"humanMessagePrompt": "",
"messageHistory": "",
"sequentialNode": [
"{{seqLLMNode_0.data.instance}}"
],
"model": "",
"promptValues": "",
"llmStructuredOutput": "[{"key":"next","type":"Enum","enumValues":"APPROVED,feedback","description":"whether the title is approved, or if there is feedback for the writer","actions":"","id":1},{"key":"feedback","type":"String","enumValues":"","description":"the feedback items, if any","actions":"","id":2}]",
"updateStateMemory": "updateStateMemoryUI",
"updateStateMemoryUI": "[{"key":"next","value":"$flow.output.next","actions":"","id":1}]"
},
"outputAnchors": [
{
"id": "seqLLMNode_1-output-seqLLMNode-LLMNode",
"name": "seqLLMNode",
"label": "LLMNode",
"description": "Run Chat Model and return the output",
"type": "LLMNode"
}
],
"outputs": {},
"selected": false
},
"width": 300,
"height": 450,
"selected": false,
"positionAbsolute": {
"x": 1263.7692396634495,
"y":<PHONE_NUMBER>2519276
},
"dragging": false
},
{
"id": "seqEnd_0",
"position": {
"x": 1661.2188704924235,
"y":<PHONE_NUMBER>088082
},
"type": "customNode",
"data": {
"id": "seqEnd_0",
"label": "End",
"version": 2,
"name": "seqEnd",
"type": "End",
"baseClasses": [
"End"
],
"category": "Sequential Agents",
"description": "End conversation",
"inputParams": [],
"inputAnchors": [
{
"label": "Agent | Condition | LLM | Tool Node",
"name": "sequentialNode",
"type": "Agent | Condition | LLMNode | ToolNode",
"id": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
}
],
"inputs": {
"sequentialNode": "{{seqLLMNode_1.data.instance}}"
},
"outputAnchors": [],
"outputs": {},
"selected": false
},
"width": 300,
"height": 143,
"positionAbsolute": {
"x": 1661.2188704924235,
"y":<PHONE_NUMBER>088082
},
"selected": false
}
],
"edges": [
{
"source": "chatOllama_0",
"sourceHandle": "chatOllama_0-output-chatOllama-ChatOllama|ChatOllama|BaseChatModel|BaseLanguageModel|Runnable",
"target": "seqStart_0",
"targetHandle": "seqStart_0-input-model-BaseChatModel",
"type": "buttonedge",
"id": "chatOllama_0-chatOllama_0-output-chatOllama-ChatOllama|ChatOllama|BaseChatModel|BaseLanguageModel|Runnable-seqStart_0-seqStart_0-input-model-BaseChatModel"
},
{
"source": "seqState_0",
"sourceHandle": "seqState_0-output-seqState-State",
"target": "seqStart_0",
"targetHandle": "seqStart_0-input-state-State",
"type": "buttonedge",
"id": "seqState_0-seqState_0-output-seqState-State-seqStart_0-seqStart_0-input-state-State"
},
{
"source": "seqStart_0",
"sourceHandle": "seqStart_0-output-seqStart-Start",
"target": "seqLLMNode_0",
"targetHandle": "seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
"type": "buttonedge",
"id": "seqStart_0-seqStart_0-output-seqStart-Start-seqLLMNode_0-seqLLMNode_0-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
},
{
"source": "seqLLMNode_0",
"sourceHandle": "seqLLMNode_0-output-seqLLMNode-LLMNode",
"target": "seqLLMNode_1",
"targetHandle": "seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode",
"type": "buttonedge",
"id": "seqLLMNode_0-seqLLMNode_0-output-seqLLMNode-LLMNode-seqLLMNode_1-seqLLMNode_1-input-sequentialNode-Start | Agent | Condition | LLMNode | ToolNode"
},
{
"source": "seqLLMNode_1",
"sourceHandle": "seqLLMNode_1-output-seqLLMNode-LLMNode",
"target": "seqEnd_0",
"targetHandle": "seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode",
"type": "buttonedge",
"id": "seqLLMNode_1-seqLLMNode_1-output-seqLLMNode-LLMNode-seqEnd_0-seqEnd_0-input-sequentialNode-Agent | Condition | LLMNode | ToolNode"
}
]
}
Expected behavior
no error :)
Who can help?
No response
Operating System
ubuntu 24.04
Langflow Version
whatever is in the latest docker image
Python Version
None
Screenshot
No response
Flow File
No response

title writer Agents.json

@matiashegoburu
We don't have that version in Langflow. The current version is v1.1.1.

Oh my bad, thats the version of flowise... I dont know what version of langflow i am using, i docker pull/run the image from docker hub, so whatever version is in the image is what i am using i guess?

hi please close this issue, i reported it to the wrong project, sorry for the inconvenience


Added zensen-router

Added a link to my router's Github repo. It's also available as an NPM package as well. Should I provide that too?

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


subscribe presence

SIP js has subscribe where one UA can subscribe the presence of others. Is it possible to do it with this UA?
https://sipjs.com/api/0.5.0/subscription/

I think it needs to be developed for this.

Not without actual feature development. Have a go and submit a PR?


[log.slf4j] Log causes many files to be created

Describe the bug
Log generates multiple files, one for every log name. As most standard practice is to use class objects as logger names in SLF4J, this means that this implementation will create a separate file to log each class, splitting up the log over many files and creating a cluttered environment where it is hard to track anything and thus, logs become useless.
Currently, to circumvent this, an app name can be defined, however, this solution is insufficient and a better implementation should be created.
To Reproduce
Steps to reproduce the behavior:

Utilize IerisLog as the provided implementation for any library that offers SLF4J logging

Expected behavior
A single concise log files lists any log messages in chronological order.
Suggestions as to how to implement the logger names should refer to Spring Logging Format for an example

This bug was fixed a long time ago (sometimes even I forget the bugs I patch)
It also won't be an issue in the new version of IerisLog


Appreciation

Thank you @Bhagat9069 for this package. It's really a pain sharing stuff from other apps to flutter apps. Similar popular package is no longer maintained and outdated.
I am glad for this package. Do keep it updated. I'm hoping other dev will start using this too. Thanks alot.
Do well to improve the documentation and how it works, to give a clearer detail of the package.

@Helocominc Thanks for appreciation.
Now plugin version flutter_sharing_intent: ^1.0.2 is ready for use for both Android & iOS.


Add appointment links to overseas passports

Pivotal Ticket: https://www.pivotaltracker.com/story/show/114558095
Kyrgyzstan, Tajikistan, Turkmenistan and Uzbekistan are all switching to allowing online booking of consular appointments.
Fact check
https://smart-answers-pr-2329.herokuapp.com/overseas-passports
Expected changes
URL on gov.uk

Remove content "You’ll need to book an appointment by email. Include your first name and last name and 3 alternative dates and times. You will receive an email confirming your appointment."
Remove embassy address
Remove embassy contact details
Add link to book appointment online

Before

After

Note: this PR supersedes #2329

This has been approved by fact check for a March 15 deploy

I've just rebased this PR with master

I've only just glanced at this. Presumably most of the commits are refactoring the flow (yay! :tada:) and a few commits are making the actual change requested in the PT story. If so, it'd be great if you could separate them into two different PRs.

@floehopper only the first commit changes content, all subsequent commits are refactoring changes to tidy up overseas passports, including the file changed in first commit.

This PR has been superseded by #2341 that contains content changes only, and I'll open a new PR for the refactoring changes once I finishing rebasing it.


Sapphire amulets not in the =enchant options

Sapphire amulets weren’t included in the new =enchant option

They may not be listed, but they are definitely enchant-able.

Thanks for reporting - fixed in next update.


Revert "replaced word diable to disable"

Reverts MicrosoftDocs/windows-itpro-docs#7011
The reason for this revert is pretty simple: The only change provided by the PR #7011 is the address of the internal page link
#connectivity-diableprintingoverhttp">Connectivity/DiablePrintingOverHTTP

Because the target text was not changed at the same time, and the MS Docs team consensus is that the issue must be left as it is for now, until someone changes the typo in the operating system itself, this change needs to be left unchanged too.

Never mind, this "revert" function did not make any change at all to the target file. Possibly resolved already. /Closing


How should algorithm READMEs be completed and organised?

It says in your contribution readme that you would like to have readme files added for individual algorithms. I would be happy to complete some of these when I have time, but I am afraid that there is not enough information on what should be in them, and where they should be placed in the repo.
Could you please add some guidelines, or point to good practice in another repo to work from?

As of now work is in progress on providing how to use guides and example code as a part of Jupyter Notebooks. You can give few of those a look to get an idea. Currently, the work in this regard is in its infancy and we are working to make it as complete as possible.

I'd like to help with the how- to-use guides in the notebooks. I submitted a pull request that fixed some typos, spacing, and clarity issues in the search.ipynb file. Would it be ok to keep on working on adding examples and explanations?

Yeah, @go-bears, that would be cool. You can refer some of the (partially) completed notebooks how to proceed writing the notebooks.


Force Timber to use Twig 2.x?

Is there a way to pass a flag or force Timber to use Twig 2.x? My installation with Timber 1.7 continues to use Twig 1.34.1. Would like to take advantage of some new features in the latest version of the templating language.

@gsalkin this feels like a composer thing. Based on my tests, composer will use Twig 2.x when you install on > PHP 7.1. How are you installing?

The initial install was via composer but updates are via WordPress admin. I can re-install via composer but I'm running PHP 7.0.x. That a problem?

@gsalkin ahhhh, that makes sense. I think what happened is you had things right at first, but then WP.org over-writes with its version (which I keep low to help people still on PHP 5.x). You should be able to do a fresh install and get Twig 2.x since you're running PHP 7 (and yes PHP 7.0 should be okay).
I brings up a good Q for people who install via Composer. Should we allow upgrades via the WP Admin?

@jarednova Ideally we'd all be using Composer, right? But several clients see an update for Timber and run the update via WP Admin. I'd recommend removing Timber upgrades from WP Admin.
A possible goal for #1617 and future version of 2.x would be creating parity between Composer and WP Admin installs (announce users must have >= 7.0 installed on their servers). However, most Timber users would be more advanced and already have a Composer workflow.

Good note @gsalkin — I created #1688 as a future to-do (always open to PRs for anyone who wants to take a stab at it)

@gsalkin Out of curiosity: When you install Timber through Composer, why did you decide to install it the plugins folder? We always install Timber as a dependency of the theme, so that it’s not listed in the plugins list, exactly because we want to update Timber through Composer and not through WordPress updates. Timber is often tightly coupled to the theme. Updating it through WordPress could break the theme, because WordPress plugin updates don’t care about semantic versioning.
I’m just thinking, is this something that we should recommend in the installation guide (not to install Timber in the plugins folder if it’s installed through Composer) and as a fallback have the check for how Timber was installed and then block updates for Composer installs? Doesn’t the plugin option exists for developers who are not familiar with Composer or don’t want to work with it?

@gchtr I'm more concerned about the lack of parity between the plugin and the composer versions. The lack of Twig 2.x support in the plugin seems to be of a higher priority for future updates.


Remove supertest-as-promised

Update supertest to v3 since it has built in promise support
Remove supertest-as-promised since it's not needed with bullet 1
Update usages

All this yak shaving is to make ui play nice with Node 8 and NPM 5.3.
Will push a MAJOR version of microservices to play it safe.

I think you should publish as patch...nothing's really changed. Make sure you unpublish the old version.


Update Install

Description
Is there a command to update Kotaemon ,given issues and bugs are addressed over a span of time
pip install --upgrade ,This command is not working
Reproduction steps
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots
![DESCRIPTION](LINK.png)

Logs
No response
Browsers
No response
OS
No response
Additional information
No response

@scalenow To update Kotaemon, you can simply try git pull


Added another usbid with proto = 1 (HighSpeed Hub). Nxstyle fixes.

Summary
An USB Hub that announces protocol = 1 (High Speed Hub) was not enumerated.
Impact
At least some more Hubs are working.
Testing
With Kinetis Freedom K28 and Lindy USB 2.0 SMART Hub Pro

Thank you Johannes!


Multiple indeterminates Polynomials

GL(2,4) isnt supported because it needs $\mathbb{F}_4$ which also needs a better implementation for Galois field.
But a better implementation of Field needs a better implementation of Ring, particularly multiple indeterminates polynomials.
The project will go a little over undergraduate level to graduate level, but it will be more stable and it becomes exciting to be able to deal with group extension faster using ring and field theory.

GL(n,q) where q = p^m and p is prime can be computed from Examples directory, but it is very slow.
A good book for completing the work is "Algorithmes Efficaces en Calcul Formel" which is avalaible for free.

The actual code for Fq allows to compute various groups and it can be enough at time. Galois theory and polynomials factorizations require better implementation of multiple indeterminates polynomials and it can be delayed.


Outbound transaction to Bitcoin: set fees according as scheduled in CCTX

@fadeev do you know what this issue is? Can it be closed?

I think we used to set the fee completely independently of the CCTX data


Add orthoview AFID plot

Proposed changes
This PR adds some plotting functionality to visualize the AFIDs provided by returning a view object with N number of AFIDs (up to 32) overlaid on a nifti image. The one caveat is that AFIDs are assumed to be in the same space as the provided image.
This plotting functionality is also setup as an extra dependency - that is by default, installing afids-utils will not provide plotting capabilities. To do so, one would have to specify it (e.g. using pip - pip install afids-utils[plotting]). This choice was made to avoid installation of extra libraries if the end-user does not intend to use it.
Types of changes
What types of changes does your code introduce? Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Other (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you are unsure about any of the choices, don't hesitate to ask!

[x] Changes have been tested to ensure that fix is effective or that a feature works.
[x] Changes pass the unit tests
[x] Code has been run through the poe quality task
[x] I have included necessary documentation or comments (as necessary)
[x] Any dependent changes have been merged and published

Notes
All PRs will undergo the unit testing before being reviewed. You may be requested to explain or make additional changes before the PR is accepted.

@ataha24 - Added you to review this one since you may have some input for the plotting.


support for webpack2

@AlexChaseJones upgraded to webpack2. Can you take a look?
run npm install to update locally to webpack2

@dagifted1

@AlexChaseJones I'm going to PR this since it has breaking changes.

@dagifted1 I pushed all of the changes listed in your comments.


[ISSUE #550] Update java option setting to run in jdk9

What is the purpose of the change
Fix issue #550、#436.
These are some reasons for the commit.

JDK1.8 don't support PermSize and replace it with Metaspace.
JDK9 don't support -Djava.ext.dirs, and use -classpath instead.
JDK9 don't support PrintGCDetails, and replace it with -Xlog:gc and -Xlog:gc*
JDK9 don’t support UseCMSCompactAtFullCollection.
UseParNewGC was deprecated in Java 9 and removed in Java 10.
UseConcMarkSweepGC was deprecated in Java 9.
JDK9 Make G1 the default garbage collector
About --add-exports=java.base/jdk.internal.ref=ALL-UNNAMED
In JDK9，after starting the broker, and then type ^C to shutdown it. I got exception as follow:

^CException in thread "ShutdownHook" java.lang.IllegalStateException: java.lang.reflect.InaccessibleObjectException: Unable to make public void jdk.internal.ref.Cleaner.clean() accessible: module java.base does not "exports jdk.internal.ref" to unnamed module @55634720
    at org.apache.rocketmq.store.MappedFile$1.run(MappedFile.java:105)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at org.apache.rocketmq.store.MappedFile.invoke(MappedFile.java:98)
    at org.apache.rocketmq.store.MappedFile.clean(MappedFile.java:94)
    at org.apache.rocketmq.store.StoreCheckpoint.shutdown(StoreCheckpoint.java:69)
    at org.apache.rocketmq.store.DefaultMessageStore.shutdown(DefaultMessageStore.java:268)
    at org.apache.rocketmq.broker.BrokerController.shutdown(BrokerController.java:748)
    at org.apache.rocketmq.broker.BrokerStartup$1.run(BrokerStartup.java:235)
    at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make public void jdk.internal.ref.Cleaner.clean() accessible: module java.base does not "exports jdk.internal.ref" to unnamed module @55634720
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:337)
    at java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:281)
    at java.base/java.lang.reflect.Method.checkCanSetAccessible(Method.java:198)
    at java.base/java.lang.reflect.Method.setAccessible(Method.java:192)
    at org.apache.rocketmq.store.MappedFile$1.run(MappedFile.java:102)
    ... 8 more

And when I restart by run ./bin/mqbroker, the broker just don’t start, so add --add-exports option to fix it.
In addition, there are still some other problem.
/dev/shm only exists in linux, and does not exist with mac and windows. And run on my mac will get warning: Cannot open file /dev/shm/mq_gc_pid9236.log due to No such file or directory.
Finally, I’ve test the commit in JDK 1.7.0_80、1.8.0_121、9.0.4、10.0.2、11.0.2 on my mac. if it’s all right, the cmd file is also need to be updated.
Brief changelog
Update java option setting to run in jdk9.
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

@husterxsp Hi,can you resolve the failed error check in your local enviroment.

Coverage increased (+0.08%) to 49.389% when pulling 6e7a450d4ea9fe1e2a4c88ae224730a4db73b5cf on husterxsp:develop into 5134a8e93419c600eb86d2e6572f9d404d73eed9 on apache:develop.

@husterxsp Hi,can you resolve the failed error check in your local enviroment.

@zongtanghu Hi, I have just merged develop branch and all checks have passed currently. I'm not sure if it's ok now.

When can we expect this to be merged?
This stops people from using JDK 9+.

There is some code conflicts, in this pr, please resolve the conflicts firstyl. @husterxsp


Error with FirecrawlScrapeApi component in Langflow v1.0.19.post2

Bug Description
[Error with FirecrawlScrapeApi component in Langflow v1.0.19.post2]
🌿 Version
v1.0.19.post2
🪜 Steps to Reproduce

Add a FirecrawlScrapeApi component in a flow.

Execute the component.

🎯 Expected Behavior
The FirecrawlScrapeApi component should execute without errors.
🚧 Actual Behavior
An error occurs indicating an unexpected keyword argument 'code' in the FirecrawlScrapeApi.build() method.
💡 Additional Notes
The error message is as follows: Error Building Component Error building Component FirecrawlScrapeApi: FirecrawlScrapeApi.build() got an unexpected keyword argument 'code'.
Reproduction

Add a FirecrawlScrapeApi component in a flow to use the.
Execute the component.

Expected behavior
The FirecrawlScrapeApi component should execute without errors.
Who can help?
@ogabrielluiz @nicoloboschi
Operating System
Arch Linux  x86_64 Linux 6.11.2-arch1-1
Langflow Version
1.0.19.post2
Python Version
3.12
Screenshot

Flow File
No response

The reported error, unexpected keyword argument code, has already been fixed in the latest version of the main branch. However, there are two additional issues:
The Firecrawl API has been updated, along with the extractorOptions and pageOptions parameters. Both Firecrawl components in Langflow are currently outdated.

I'm working on a PR to resolve all these issues.


manage retries on order execution

Use the retries attribute to manage retries on execution
https://github.com/uberdeveloper/omspy/blob/33f2fbc700d95dc34a352dcb782898e1143b6573/omspy/order.py#L90
When an order is retried, add it to the retries attribute and when the max retries is hit, cancel the order.
An order would be retried if we don't get any response from the broker.

hey .i would like to try this out ,if you can provide me an small glimpse of what need to be enhanced

Now, when an order is executed using the execute method, an order_id is returned from the broker.
The default assumption is order is placed at broker end and successfully executed.
But the order may be rejected or canceled. So the order needs to be placed again.
Right now, the order need to be created and executed again. Because each order is tied to a unique order id and when orders are matched from database to the broker order book, they could be reconciled. Currently, rejected orders need to be created again and retried by the user.
The proposal is for the system to do this automatically.

So when the user gives a number to retries, the system should be able to execute the order again till the number of retries.
Or better if this could be a new order_type like RetryOrder inherited from CompoundOrder with Order and retries as the parameters where the Order would be tried multiple times in case of failure.

We could discuss about these 2 proposals before selecting what to implement.

okay .am i allowed to create a flag .say for an example when the user calls the execute order methdo in Order class, so that i can create a retry method in the same class
?

flag=1 #to be set inside execute_order method
def retry_method(self):
status=["CANCELLED","REJECTED"]
if flag==1:
_check=order_id_check(self.order_id)
while_check in status & retry<self.max_retries:
self.order_id=self.execute_order(**kwargs)
self.max_retries+=1
just a sample code with a sample idea

we could set a private variable and handle this like
_retry_count = 0

def execute(self):
  self._retry_count +=1
  if self._retry_count > self.retries:
      return


Options for using orca as dft package

The updateOptions function in wrapper.py needs special attention when the user asks for orca. We will have to add the executable and make it somehow possible to add some other orca custom method extensions.

fix via #15

fix via #15


Converted GIF color mismatch

I generated a GIF  using the command docker run --rm -v $PWD:/data asciinema/asciicast2gif -s 2 -t solarized-dark recording.json recording.gif
The GIF does not match the colours recorded from asciinema rec. The original can be found here.
Is this due to an 8 bit colour limitation? Either way, my shell prompt has green in it, whereas the SUCCESS messages are grey.

asciicast2gif runs gifsicle with -k 64 which generates 64 color output. How does this look in your terminal?
It looks to me like green is actually grey-ish in Solarized Dark. Here's your recording in Solarized:
https://asciinema.org/a/T2BR58Pt27f1YMz2kEDZXyFLy?theme=solarized-dark


The slime rancher error

Please describe your issue as accurately as possible.
If you use Windows, please check the following page: https://github.com/doitsujin/dxvk/wiki/Windows
Software information
Name of the game, settings used etc.
System information

GPU:Rtx 3050 ti laptop gpu at 75w
Driver:556.12
Wine version: i don t use that
DXVK version: 2.4.1

Apitrace file(s)

Put a link here

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace
Log files
Please attach Proton or Wine logs as a text file:

When using Proton, set the Steam launch options for your game to PROTON_LOG=1 %command% and attach the corresponding steam-xxxxx.log file in your home directory.
When using regular Wine, use wine game.exe > game.log 2>&1 and attach the resulting game.log file.

@DanielPopRe Hi there. Please fill out the rest of the issue template as you have given almost no information about the issue.

So... what is the error? Right now we'd have to guess.
So as Blisto wrote, please provide logs and actually describe the problem.

this is it

i tried with dxgi.dll but also doesn t work

We need the logs dxvk outputs

this is the log

You need both dxgi.dll and d3d11.dll no matter what.
Does a dxgi log not appear when you run with that also in the folder?

yes

no

sorry

https://github.com/doitsujin/dxvk/wiki/Windows#dozen make sure you don't have  OpenCL, OpenGL & Vulkan Compatibility Pack installed

ok
wit a  little bit

it doesn t work

Was it installed? If it is you should remove it
Remember you need both dxgi and d3d11

yes

i tried with both . the eroor is gone but isn t doing anything

If the game wants to only load the dxgi.dll from the system folder (DO NOT REPLACE IT IN THERE) then there isn't anything we can do. It isn't a uncommon issue on Windows.
See https://github.com/doitsujin/dxvk/wiki/Windows#dll-loading-issues

but with dxgi it s not doing anything

i tried in need for speed most wanted 2005 and gta 4 and it works but this games is not working with d3d11 and dxgi or with both dlls

Some games fail to load all required DXVK DLLs even when they are correctly placed next to the game's executable. Applicatons may choose to only load DLLs from the system's System32 directory rather than the exxecutable path, in which case the game will either crash or continue using the native D3D implementation. A common scenario that causes a crash is when the game loads dxgi.dll from System32, but then uses the d3d11.dll provided by DXVK.

https://github.com/doitsujin/dxvk/wiki/Windows#dll-loading-issues
Most likely that.

fwiw it works fine for me on Windows so there is likely some sort of setup issue going on

The game runs perfect without any overlay, but will crash with DXVK if RTSS overlay on.
It's just another overlay compatibility issue, not DXVK issue.


[$125] Web - Thread - Console error shows up when opening message in thread

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.44-0
Reproducible in staging?: Y
Reproducible in production?: N
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Go to staging.new.expensify.com
Go to any chat
Send a message
Right click on the message > Reply in thread

Expected Result:
No console error will show up
Actual Result:
Console error shows up when opening message in thread
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/3fde0adc-3caa-4a6f-8b56-03900565f8fb
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01fd70450a1c9c7c93
Upwork Job ID:<PHONE_NUMBER>689734656
Last Price Increase: 2024-02-27

Proposal
Please re-state the problem that we are trying to solve in this issue.
Console error shows up when Reply in the thread
What is the root cause of that problem?
scrollRef.current?.getScrollableNode().childNodes[0] is undefined.
https://github.com/Expensify/App/blob/d2a9c6faa9f450c20037a968974844f4f4325198/src/components/FlatList/MVCPFlatList.js#L49
What changes do you think we should make in order to solve the problem?
getScrollableNode() method returns undefined, meaning that there is no scrollable node available at the time this function is called.
Ensure that getScrollableNode() returns a valid element before trying to access its childNodes property.
What alternative solutions did you explore? (Optional)

I cannot reproduce this on latest main

Thanks for the proposal @askavyblr.
I think we can simply do the following change to solve the issue.
-    const getContentView = React.useCallback(() => scrollRef.current?.getScrollableNode().childNodes[0], []);
+    const getContentView = React.useCallback(() => scrollRef.current?.getScrollableNode()?.childNodes[0], []);

cc: @techievivek

@sobitneupane Changes looks good to me, will you push the PR for this?

I can review and merge.

@techievivek can i raised the PR

Changes looks good to me, will you push the PR for this?

Sure @techievivek.

@techievivek I will give you the solution first, please assign it to me

@techievivek
@dukenv0307's proposal deals with the root cause of the issue. I think we can go with his proposal.

Payment summary:
C+: $125 @sobitneupane (NewDot)
C: $125  @dukenv0307 (Upwork)
I couldn't find any older contract for you @dukenv0307 so I created this job, let me know when you've accepted the offer and I'll issue payment 🙇  https://www.upwork.com/jobs/~016662aefe6aa80518

Not overdue, we are issuing the payments. CC @MitchExpensify

Waiting on @dukenv0307 to accept the offer in order to pay 🙇

@dukenv0307 I think I lowered the bounty due to this being just a console error and it's not really affecting the user. Do you think the console error is a smoke for an actual bug in the UI that is noticeable by the user?

Bump on accepting this offer as a next step @dukenv0307 https://www.upwork.com/nx/wm/offer/101299289

Paid and contract ended 🙇

Requested payment in newDot.
Payment Summary: https://github.com/Expensify/App/issues/37253#issuecomment-1986938218

$125 approved for @sobitneupane based on summary.


add number format to pivot table

For reference, the way that this is done for table.js is by leveraging the metric's d3format configuration through the slice.d3format method.
You can imagine that people using pivot table may want different format for different metrics.
The longer term solution for this is in a branch on my repo mistercrunch/metrics where there's a new intricate control introduced for metrics, where people would define metrics in the explore view as either an expression, agg function/column, or by referencing a predefined metric in a popover, all of that in a popover that also allows labeling of the metric and formatting.

We may want to merge that in the meantime, it would work for pivoting a single metric or many metrics where the same formatting applies.

I see. Thank you so much for the insight!

Merging for now. There may be some non-100% backward compatible changes in the future, but it should be very minor.


Sleuth should log 'decoded-ansi' output to file appenders

Hello,
In my spring boot application, when using sleuth with the below logback-spring.xml, sleuth logs 'ansi-encoded' data to my log files.
2017-02-06 21:40:09.782  INFO [myappname,,,] 7551 --- [Thread-7] com.netflix.discovery.DiscoveryClient    : Shutting down DiscoveryClient ...

Is there a way to have the logs sent to files 'ansi-decoded'. Am I missing something ? (I want to keep my console logs colored of course).
Thanks by advance.
Here is my logback.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />

    <appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>logs/app.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>logs/app-%d{yyyy-MM-dd}.log</fileNamePattern>
        </rollingPolicy>
        <encoder>
            <pattern>${FILE_LOG_PATTERN}</pattern>
        </encoder>
    </appender>

    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="LOGFILE" />
    </root>

</configuration>

Seems like it is not allowed to have %clr inside log level, spring-boot uses it for both logging.pattern.console and logging.pattern.file, with %clr for console and without for file.
All you can do it is force set logging.pattern.level to %5p [${spring.application.name:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}], but in console it will have color equal to the severity level (yellow for warnings, red for errors).
Maybe it is not such a bad option to have it by default.

Fixed via https://github.com/spring-cloud/spring-cloud-sleuth/commit/ce226ba334d07f16c7b03831e4e310dbcedfebcf

Hello,
thanks @gavlyukovskiy for the suggestion. But I've just tried @marcingrzejszczak  fix, and it definitly fixes my issue !
Thanks a a lot to you both.


Fix Playback mode to follow trusted realtime codepaths for consistency

This change may certainly need some review, as I do not have reference/understanding as to why this alternative code path was chosen for Playback mode.
 if (IsHistoricalTradeOrPlayBack || IsStrategyUnSafeMode)

I found a lot of instances where Playback was following the "IsStrategyUnsafeMode"; While not clear on the purpose, With all the warnings about not using UnsafeMode unless you fully understood the code, I was surprised this was being used in Playback by default.  I would like to be able to backtest with confidence that close to the same code paths are used in live.
I think I caught the cases where a Historical (but not Playback) conditional is needed, and adjusted accordingly.
btw, One side effect that actually caused me to dig deeper into this was that the OrdersStopLoss list was never being populated, which prevent the more elegant looping use case in the Strategy...  it doesn't populate in the Unsafe codepath.
foreach (Order o in OrdersStopLoss.Where(o => IsOrderIsActive(o)).ToList<Order>()) {
}

I have been testing with this update for a couple of days, and have not run into any issues in playback or live modes.
Oh, and this addresses the "Entry Order Timeout" I discovered in #88, now my entry orders don't timeout.  (Still looking for the OrderTTL references you mentioned).
Note that this PR also includes the Now changes in #91 so that you can see it as a fully working branch.
Closes #88

"Fix Playback mode to follow trusted realtime codepaths for consistency"
This is by design  - Playback should not follow the same paths as realtime
There is overlap but only a subset.
ORder TimeOuts for example
Workflow TimeOut
For Realtime TimeOuts based on processing getting stuck are implemented as a failsafe and should not be used in replay as it wll skip time so orders will be cancelled immediately etc the same would apply to backtest -
NOTE: if a workflow timeout is kicking in for replay or backtest this would be a bug not a feature.
TTL - Order Time to Live - Duration by TimeSeries
The concept of cancel an order after a duration by bar timeseries can be used for both replay backtest and realtime -this uses the bars to cancel the order not a datetime comparison
Playback mode vs realitime
Playback is not treated the same way as realtime it is more like backtest - so we should not be using timeouts based on datetime on orders or using the part of the workflow that deals with this for playback - use Bars to cancel an order.
So we have to make sure that is still the case or indeed raise a bug and fix for playback  etc
UnSafe Mode
So the idea with this was to allow fast execution with no checks in realtime
This is ok for Playback as playback doe not use the same event model as realtime

"Still looking for the OrderTTL references you mentioned"
i also cant see it in there - so in fact this exists in a layer above in a derived project whereby for example a limit entry is cancelled after n Bars - my bad...    So all good Workflow Timeouts... was the one here


Feature Request: Azure Functions Debug - Split Terminal Option

originally filed by @JustinGrote in https://github.com/PowerShell/vscode-powershell/issues/1941
Summary of the new feature
When debugging with Azure Functions Powershell, you have to toggle back and forth on the terminal window between the Azure Function Host task window and the integrated terminal.
Proposed technical implementation details
VSCode has API calls for splitting the terminal. If an option is set (e.g. powershell.SplitTerminalOnAzureFunctionDebug), then it should split the function host start and the integrated console so the result looks like below:

More conversation here: https://github.com/PowerShell/vscode-powershell/issues/1941
Not gonna copy every single comment

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.\n\nHappy Coding!

:slightly_frowning_face: In the last 60 days, this issue has received less than 5 community upvotes and we closed it. Still a big Thank You to you for taking the time to create it! To learn more about how we handle issues, please see our documentation.
Happy Coding!


Revert "QueryRunner: Alternative more compositional approach to transformations"

Reverts grafana/scenes#51

need some more time with this PR


Disable authorized IP range cli is not working

we follow the doc - https://docs.microsoft.com/en-us/azure/aks/api-server-authorized-ip-ranges#update-or-disable-authorized-ip-ranges to disable via
az aks update
--resource-group myResourceGroup
--name myAKSCluster
--api-server-authorized-ip-ranges ""
We use the command in Powershell but receive error message that that range expect one argument. Does this command specific in bash? It yes, we may need to be more clear in the document.
In the end, We test to disable it via range <IP_ADDRESS>/0 and it work.

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

ID: 660320d4-fad5-3307-e29f-5f4cfad4b7f7
Version Independent ID: 85ac2e8b-633f-6e1a-e642-0645ca92e129
Content: API server authorized IP ranges in Azure Kubernetes Service (AKS)
Content Source: articles/aks/api-server-authorized-ip-ranges.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@AndyWu7623 yes this doc is written to be ran using Azure CLI not PowerShell

We usually start the docs with CLI methods and as a service moves into GA we add documentation for other methods like PowerShell, Python, Portal, etc.
Let me know if you have further questions.

I was able to set authorized IP ranges on my existing cluster with Azure CNI, and the restricted traffic was not my nodepools - --api-server-authorized-ip-ranges <IP_ADDRESS>/32. After this, I lost all the ability to run kubectl on my cluster. Now, when I try to disable it using the command "az aks update -g MyResourceGroup -n MyManagedCluster --api-server-authorized-ip-ranges """, I get error  az aks update: error: argument --api-server-authorized-ip-ranges: expected one argument. Due to this, I've tried to set the IP range to <IP_ADDRESS>/16 which is my VNET address space for that cluster, I get a different error "--api-server-authorized-ip-ranges must be global non-reserved addresses or CIDRs". Where are these behaviors documented?

I was able to set authorized IP ranges on my existing cluster with Azure CNI, to restrict agentpool traffic "- --api-server-authorized-ip-ranges <IP_ADDRESS>/32". After this, I lost the ability to run kubectl on my cluster. Now, when I try to disable it using the command "az aks update -g MyResourceGroup -n MyManagedCluster --api-server-authorized-ip-ranges """, I get error az aks update: error: argument --api-server-authorized-ip-ranges: expected one argument. Due to this, I've tried to set the IP range to <IP_ADDRESS>/16 which is my VNET address space for that cluster, I get a different error "--api-server-authorized-ip-ranges must be global non-reserved addresses or CIDRs". Where are these behaviors documented?


Work out the correct diagonal elements for the exposure time integrated celerite model

The diagonal elements are in the limit tau < Delta so it's not currently implemented correctly. @ericagol worries that there might sometimes be issues when this value is negative. We should convince ourselves about this one way or another.

Done in #56


The Meta-charset attribute must always equal "utf-8" (case-insensitive)

Initial checklist

[X] I read the support docs
[X] I read the contributing guide
[X] I agree to follow the code of conduct
[X] I searched issues and couldn’t find anything (or linked relevant results below)

Affected packages and versions
<EMAIL_ADDRESS>Link to runnable example
No response
Steps to reproduce
Run the following code, modifying for your environment as necessary
import { unified } from<EMAIL_ADDRESS>import rehypeParse from<EMAIL_ADDRESS>import rehypeStringify from<EMAIL_ADDRESS>import rehypeMinifyEnumAttributes from<EMAIL_ADDRESS>
const file = await unified()
	.use(rehypeParse)
	.use(rehypeMinifyEnumAttributes)
	.use(rehypeStringify)
	.process('<meta charset="utf-8" />');
console.log(file.toString()); // output is `...<meta charset="utf8">...`

Expected behavior
According to the WHATWG's HTML Living Standard, the charset attribute must be an ASCII case-insensitive match for the string "utf-8". (source). The W3 HTML validator accordingly produces errors.
Therefore, expected behavior is that, when the charset attribute exists on a meta element, its value is either coerced to a valid value, or at least not coerced to "utf8" (no space).
Actual behavior
UTF-8 becomes utf8, probably because it's the shortest string defined in schema.js.
Runtime
Deno
Package manager
No response
OS
Linux
Build and bundle tools
No response

Hi Binyamin! You’re right that the spec says that. However, that’s more of a section on how people should write HTML (sometimes the spec is a bit unclear about them).
There are different actual labels that browsers must support: https://encoding.spec.whatwg.org/#names-and-labels. utf8 is the shortest one of that group. See here for how those groups (and more) are supported:
https://github.com/rehypejs/rehype-minify/blob/1dc9280c341087a40dfaa332792c095f96d41686/packages/html-enumerated-attributes/index.js#L69
This project in many places uses these “leniencies” in the HTML spec to create “parse errors” and other things that linters would warn about, while the HTML spec in other places defines exactly how those errors/warnings must be handled by browsers.
In this case,

extracting the encoding in the HTML spec is defined here: https://html.spec.whatwg.org/multipage/urls-and-fetching.html#extracting-character-encodings-from-meta-elements
which links to the algorithm for “getting an encoding” is in the encoding spec I linked before, which supports utf8: https://encoding.spec.whatwg.org/#concept-encoding-get.

Closing as intentional, let me know if you have further questions!

@wooorm That makes sense. However, it seems only fair that "utf-8" should be preserved as it is, at least via an option. It only adds one character, and it encourages best practices. It's "more correct", I guess.

There are many cases where “only one character” is exactly what this project shaves off!
“conformant”, to what? There are many cases where this project generates HTML that the w3c validator does not appreciate, so this project isn’t conformant to that. I’d argue that this project is conformant to HTML: all the things that this project does are strongly defined in the HTML spec on how to handle them


Add video downloading

I've added video downloading. I had to move the selenium driver close command over to the class destructor to facilitate this as video downloading requires making new requests.
I wasn't sure how to manage the count parameter, as-is downloaded photos don't count towards the total for video downloading. Let me know if I can refactor this to fit more with the project.

Great. I'll look it over as soon as I get a chance and merge it in if there are no big changes required.

Looks like instagram went and changed all their classnames last night. So everything is not working now, I'll have to redo this.

Updated video classes, also fixed the "Load More" class

Thanks for making the fix and being on top of it. I'm going to merge this in but I'm afraid given the class name there that they've added a step in the minification process to randomly rename the classes with short names. If I'm right, the selectors will keep breaking every time they minify and deploy. :-(

I'm afraid you are correct. We might be able to find some elements in a way that would let us infer the classnames. This would only move the breakpoint to the nested structure, so changes that are significant could still cause breakage, but that's the nature of these types of projects :)

Yes, I agree. I've played with the idea of using XPath selectors in the past, but if the structure changes and the class names don't you're in the same boat.


Discussion: Should we localize all error messages?

Discussion: Should we localize all error messages?

As a former Spanish-speaking student of computer science, I find that when learning a new technology and you don't speak the language, having errors and documentation in your native language is incredible useful, I think we have an opportunity here for improvement here.
Related Links

I am not sure, if it is really useful.

Most important fact, that it's a way more easier to find errors on English.
Services like AppCenter or HockeyApp group errors by exception messages. And sometimes we can see same error, but duplicated with translation on user PC language.
Usually error messages written with easy to understand English.
And more important fact, that it's a way more easier to find error on English.
Am not sure, if it's good practice to show Exception.Message to user in some kind of error dialogs, but it should be stored in logs. And again - if you receive logs on unknown for you language, it isn't really useful.

By the way, while it could be disabled for application, it's fine for me. However, I am not sure, if it worth time.
P.S. I am native Russian speaker. It was pain for me to find some errors on Russian)

Considering .NET Core recently switched back to localizing exception messages it would be weird if WinUI wouldn't be following.

Am not sure, if it's good practice to show Exception.Message to user in some kind of error dialogs

I don't know how its done in UWP/WinUI databinding, but WPF and WinForms databinding expose any error message happening during the databinding to the user. This means any exception that can reasonably be thrown in databinding writeback scenarios must be localized.
If WinUI catches exceptions during databinding (instead of terminating the process) then it probably will have to do the same, unless it replaces the exception message with a generic localized message.

WinUI is implemented as WinRT, and WinRT doesn't have a way to set an Exception.Message. So the error messages that WinUI generates are visible in the debugger, but should never be showing up to an end user like they do with WPF/WinForms. (WinUI generates errors using RoOriginateError, which is designed so that the message can only be retrieved by a debugger.)


Removed SQL queries from the dashboard controller before_action chain

It is not really necessary to go into the database to search for a user with NULL as an id.

@skateman : love it! :beer: :beer:
except: can we finally remove the window_sizes, please?

@martinpovolny the problem is that the values received by window_sizes are used in DHTMLX stuff.

@skateman : I know :-( I'd just like to see that removed yesterday ;-)

http://www.instructables.com/id/How-to-Build-a-Time-Machine-Vortex-Distortion-Spa/

@skateman your changes make automated tests fail on Travis.  Please review

@chessbyte I see and I'm working on that


Check state diffs in tx 0x1cfb9cb96b0ec53785d71002c3bbb54b173fb2b72890394e222e2b9d42b7c98

We have received an inform from Nethermind team executing the tx 0x1cfb9cb96b0ec53785d71002c3bbb54b173fb2b72890394e222e2b9d42b7c98
The transaction is the same in almost everything except for state diffs that have slightly different values in two of the keys analyzed
      "contract_dependencies": "Same([0])",
      "storage_dependencies": "Same([0])",
      "trace_root": {
        "execute_invocation": "Same({12})",
        "state_diff": {
          "declared_classes": "Same([0])",
          "deployed_contracts": "Same([0])",
          "deprecated_declared_classes": "Same([0])",
          "nonces": "Same([1])",
          "replaced_classes": "Same([0])",
          "storage_diffs": [
            "Same({2})",
            "Same({2})",
            {
              "address": "Same(0x49d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7)",
              "storage_entries": [
                {
                  "key": "Same(0x5496768776e3db30053404f18067d81a6e06f5a2b0de326e21298fd9d569a9a)",
                  "value": {
                    "Different": {
                      "base": "0xb2d72d7f5daa21ef",
                      "native": "0xb2d714be07c54e33"
                    }
                  }
                },
                {
                  "key": "Same(0x5fd0b69f124bee6eb933a7e10e49135f699623177de9d573350473766ba5906)",
                  "value": {
                    "Different": {
                      "base": "0x65a8b9a717bf6",
                      "native": "0x6734cf0564fb2"
                    }
                  }
                }
              ]
            },
            "Same({2})",
            "Same({2})"
          ]
        },
        "type": "Same(INVOKE)",
        "validate_invocation": "Same({12})"
      },
      "transaction_hash": "0x1cfb9cb96b0ec53785d71002c3bbb54b173fb2b72890394e222e2b9d42b7c98"
    }

Check these discrepancies with the VM, Native, and what is in Mainnet
Note: This was executed with an old native commit 589c64eeeba62fc0051e307d2431f5da29f4a14c, so maybe with the last commit in Native the result changes

I've ran the transaction using the VM and compared the result. Both native and the VM fail with exactly the same error, so it's probably safe to assume it's not native-specific but rather something in the upper layers.