Issue: How to handle RouterChain when 1 or more destination chain(s) which is expecting a different input variable?

Issue you'd like to raise.
Would like to ask how we should deal with multiple destination chains where the chains are expecting different input variables?
For e.g. in the tutorial for MultiPromptChain, i would like math questions to be directed to the PalChain instead of the standard LLMChain.  With the initial LLMRouterChain, the router prompt uses input as the input_variables. however, when it has decided that the input what is 2+2 is a math question and should be routed to PalChain, i am presented the error
[/usr/local/lib/python3.10/dist-packages/langchain/chains/base.py](https://localhost:8080/#) in _validate_inputs(self, inputs)
    101         missing_keys = set(self.input_keys).difference(inputs)
    102         if missing_keys:
--> 103             raise ValueError(f"Missing some input keys: {missing_keys}")
    104
    105     def _validate_outputs(self, outputs: Dict[str, Any]) -> None:

ValueError: Missing some input keys: {'question'}

manually replacing the MATH_PROMPT that PalChain uses from {question} to {input} works but I would like to know how I can specify the input variable that the destination chain is expecting when setting up the destination_chains array here:
chain = MultiPromptChain(router_chain=router_chain,
                         destination_chains=destination_chains,
                         default_chain=default_chain,
                         verbose=True
                        )

been at it for 2 nights so am seeking help. thanks!
Suggestion:
No response

Let's give it a try based on what I have understood.
It seems that you are facing an issue with the RouterChain when using multiple destination chains with different input variables. In your case, you want to route math questions to the PalChain instead of the standard LLMChain. However, you are encountering a ValueError due to missing input keys.
To resolve this issue, you can create a custom chain that adapts the input variables for the destination chain. This custom chain will take the input variable from the router chain and convert it to the expected input variable for the destination chain. Here's an example of how you can create such a custom chain:
from langchain.chains.base import Chain

class InputAdapterChain(Chain):
    def __init__(self, destination_chain, input_key_map):
        self.destination_chain = destination_chain
        self.input_key_map = input_key_map

    def run(self, inputs):
        adapted_inputs = {self.input_key_map[k]: v for k, v in inputs.items()}
        return self.destination_chain.run(adapted_inputs)

Now, you can use this InputAdapterChain to wrap the PalChain and adapt the input variable:
pal_chain = PalChain()  # Assuming you have initialized the PalChain
input_key_map = {"input": "question"}
adapted_pal_chain = InputAdapterChain(pal_chain, input_key_map)

Finally, use the adapted_pal_chain in your MultiPromptChain setup:
chain = MultiPromptChain(router_chain=router_chain,
                         destination_chains=[adapted_pal_chain],
                         default_chain=default_chain,
                         verbose=True
                        )

This way, the InputAdapterChain will convert the input variable from the router chain to the expected input variable for the PalChain, avoiding the ValueError you encountered.
This may not reflect your exact implementation. Treat it as a sudo code and let me know if the approach helps.

@rjarun8
thanks for the prompt (no pun intended) reply
was trying your recommendation but MultiPromptChain's destination chain is expecting LLMChains and not just any other Chain. the library checks tt LLMChain should not have extra attributes and should stick with prompt and llm attr which i agree we should conform
Let me step through the codes to see what can be done

Hi @deckikwok, can you please provide you're solution? I'm trying to use load_qa_chain with multiPromptChain. But it is through error or unexpected input variables.

@ali-faiz-brainx
I ended up implementing my own CustomMultiRouteChain extending from the base MultiRouteChain
this way you can have base Chains in the destination_chains such as the InputAdapterChain..
In the InputAdapterChain i simply modify the inputs attributes in the _call () method to the desired data to be passed to the destination chain
I've shared snippets of the codes below with the relevant attr/fx:
class DKMultiPromptChain (MultiRouteChain):

    destination_chains: Mapping[str, Chain]
    """Map of name to candidate chains that inputs can be routed to. Not restricted to LLM"""

class InputConverterChain(Chain):
    destination_chain: Chain = None
    input_key_map: Dict[str, Any] = None

    def _call(
            self,
            inputs: Dict[str, Any],
            run_manager: Optional[CallbackManagerForChainRun] = None,
    ) -> Dict[str, str]:

        for k, v in self.input_key_map.items():
            if k in inputs.keys():
                inputs[v] = inputs[k]

        print("##### inputs is now")
        print(inputs)
        # return self.destination_chain.run(adapted_inputs)

        data = self.destination_chain(inputs)

Thanks for helping, Let me try it. Can you please share the code snippet with me on how you pass extra input fields in the chain? I'm a newbie in learning the LLM. And didn't find anything on their documentation.

@deckikwok It shows me the following error Can't instantiate abstract class InputConverterChain with abstract methods input_keys, output_keys
Here is the code I tried:
from typing import Dict, Any, Optional, Mapping
from langchain.callbacks.manager import (
    CallbackManagerForChainRun,
)
from langchain.chains.router.base import MultiRouteChain

class DKMultiPromptChain (MultiRouteChain):

    destination_chains: Mapping[str, Chain]
    """Map of name to candidate chains that inputs can be routed to. Not restricted to LLM"""

class InputConverterChain(Chain):
    destination_chain: Chain = None
    input_key_map: Dict[str, Any] = None

    def _call(
            self,
            inputs: Dict[str, Any],
            run_manager: Optional[CallbackManagerForChainRun] = None,
    ) -> Dict[str, str]:

        for k, v in self.input_key_map.items():
            if k in inputs.keys():
                inputs[v] = inputs[k]

        print("##### inputs is now")
        print(inputs)
        # return self.destination_chain.run(adapted_inputs)

        data = self.destination_chain(inputs)

Here ist the destination chains:
destination_chains = {}

name = prompt_infos[0]["name"]
prompt_template = prompt_infos[0]["prompt_template"]
prompt = ChatPromptTemplate.from_template(template=prompt_template)
# chain = LLMChain(llm=llm, prompt=prompt)
qa_chain = load_qa_with_sources_chain(
    llm=llm,
    chain_type="stuff",
    prompt=prompt,
    verbose=True
)
input_key_map = {"input": "question"}
chain = InputConverterChain(qa_chain, input_key_map)
destination_chains[name] = chain

name = prompt_infos[1]["name"]
prompt_template = prompt_infos[1]["prompt_template"]
prompt = ChatPromptTemplate.from_template(template=prompt_template)
chain = LLMChain(llm=llm, prompt=prompt)
destination_chains[name] = chain

@deckikwok It shows me the following error Can't instantiate abstract class InputConverterChain with abstract methods input_keys, output_keys
Here is the code I tried:
from typing import Dict, Any, Optional, Mapping
from langchain.callbacks.manager import (
    CallbackManagerForChainRun,
)
from langchain.chains.router.base import MultiRouteChain

class DKMultiPromptChain (MultiRouteChain):

    destination_chains: Mapping[str, Chain]
    """Map of name to candidate chains that inputs can be routed to. Not restricted to LLM"""

class InputConverterChain(Chain):
    destination_chain: Chain = None
    input_key_map: Dict[str, Any] = None

    def _call(
            self,
            inputs: Dict[str, Any],
            run_manager: Optional[CallbackManagerForChainRun] = None,
    ) -> Dict[str, str]:

        for k, v in self.input_key_map.items():
            if k in inputs.keys():
                inputs[v] = inputs[k]

        print("##### inputs is now")
        print(inputs)
        # return self.destination_chain.run(adapted_inputs)

        data = self.destination_chain(inputs)

Here ist the destination chains:
destination_chains = {}

name = prompt_infos[0]["name"]
prompt_template = prompt_infos[0]["prompt_template"]
prompt = ChatPromptTemplate.from_template(template=prompt_template)
# chain = LLMChain(llm=llm, prompt=prompt)
qa_chain = load_qa_with_sources_chain(
    llm=llm,
    chain_type="stuff",
    prompt=prompt,
    verbose=True
)
input_key_map = {"input": "question"}
chain = InputConverterChain(qa_chain, input_key_map)
destination_chains[name] = chain

name = prompt_infos[1]["name"]
prompt_template = prompt_infos[1]["prompt_template"]
prompt = ChatPromptTemplate.from_template(template=prompt_template)
chain = LLMChain(llm=llm, prompt=prompt)
destination_chains[name] = chain

sorry been working on other stuff and trying out langchain on JS instead.
try this for the InputConverterChain. basically u will need to implement the abstract methods of Chain class.
`class InputConverterChain(Chain):
destination_chain: Chain = None
input_key_map: Dict[str, Any] = None
# __fields_set__: bool = False

class Config:
    """Configuration for this pydantic object."""
    extra = Extra.allow
    arbitrary_types_allowed = True

@property
def input_keys(self) -> List[str]:
    """Will be whatever keys the prompt expects.
    :meta private:
    """
    return ["input"]

@property
def output_keys(self) -> List[str]:
    """Will always return text key.
    :meta private:
    """
    return ["text"]

def _call(
        self,
        inputs: Dict[str, Any],
        run_manager: Optional[CallbackManagerForChainRun] = None,
) -> Dict[str, str]:

    for k, v in self.input_key_map.items():
        if k in inputs.keys():
            inputs[v] = inputs[k]

    print("##### inputs is now")
    print(inputs)
    # return self.destination_chain.run(adapted_inputs)

    data = self.destination_chain(inputs)`

I'm having a similar problem but it seems for some reason the RouterChain is "converting" the destination_chains from a custom chain to a LLM Chain
Print prior to execution:
destination_chains = {}
        for p_info in prompt_sources:
            name = p_info["name"]
            prompt_template = p_info["prompt_template"]
            prompt = PromptTemplate(template=prompt_template, input_variables=["input"])
            dest_chain = MyCustomChain(llm=OpenAI(), prompt=prompt)
            destination_chains[name] = dest_chain
        print(destination_chains)

Prints this
{'personal-trainer': MyCustomChain(memory=None, callbacks=None, callback_manager=None, verbose=False, tags=None, metadata=None, prompt=PromptTemplate(input_variables=['input'], output_parser=None, partial_variables={}, template="You're a personal trainer that's answering a question according to your profile and philosophy.\nProfile and philosophy:\n\nHuman: {input}\nPersonal trainer:", template_format='f-string', validate_template=True), llm=OpenAI(cache=None, verbose=False, callbacks=None, callback_manager=None, tags=None, metadata=None, client=<class 'openai.api_resources.completion.Completion'>, model_name='text-davinci-003', temperature=0.7, max_tokens=256, top_p=1, frequency_penalty=0, presence_penalty=0, n=1, best_of=1, model_kwargs={}, openai_api_key='', openai_api_base='', openai_organization='', openai_proxy='', batch_size=20, request_timeout=None, logit_bias={}, max_retries=6, streaming=False, allowed_special=set(), disallowed_special='all', tiktoken_model_name=None), output_key='text')}

And on the router:
destination personal-trainer <class 'langchain.chains.llm.LLMChain'> memory=None callbacks=None callback_manager=None verbose=False tags=None metadata=None prompt=PromptTemplate(input_variables=['input'], output_parser=None, partial_variables={}, template="You're a personal trainer that's answering a question according to your profile and philosophy.\nProfile and philosophy:\n\nHuman: {input}\nPersonal trainer:", template_format='f-string', validate_template=True) llm=OpenAI(cache=None, verbose=False, callbacks=None, callback_manager=None, tags=None, metadata=None, client=<class 'openai.api_resources.completion.Completion'>, model_name='text-davinci-003', temperature=0.7, max_tokens=256, top_p=1, frequency_penalty=0, presence_penalty=0, n=1, best_of=1, model_kwargs={}, openai_api_key='', openai_api_base='', openai_organization='', openai_proxy='', batch_size=20, request_timeout=None, logit_bias={}, max_retries=6, streaming=False, allowed_special=set(), disallowed_special='all', tiktoken_model_name=None) output_key='text' output_parser=StrOutputParser() return_final_only=True llm_kwargs={}
VALIDATING INPUTS ['input'] {'input': "I'm feeling quite down today and I don't feel like training for 30 minutes"}

This is strange,  because when I execute it in separate, the chain works just fine, calling my _call method. When on the router it does take my prompt, but it seems to not use my version of the chain, meaning the _call never gets called.


Make regex compatible with large input/subject

Fix regex with greedy modifier to make it compatible with large input.
Needed for example for: https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/tools/tcpdf/tcpdf.php with rule:
    ['no_superfluous_phpdoc_tags' => array (
          'allow_mixed' => true,
          'allow_unused_params' => true,
        )
    ]

without the greedy operator it ends with PHP error preg_last_error() === 6.

Looking good. Though, as a fix, this should target the lowest maintained branch instead of master (2.15 currently). Could you please rebase your work onto it and update this PR to target it?

Looking good. Though, as a fix, this should target the lowest maintained branch instead of master (2.15 currently). Could you please rebase your work onto it and update this PR to target it?

Done

without the greedy operator it ends with PHP error preg_last_error() === 6.

Can we have a test that would cause that error without this fix?

Fix regex with greedy modifier to make it compatible with large input.

I see different change here.

Yeah, "greedy quantifier" to be more exact.

I've run master against mentioned files and all went well.

With that file it was failing at least on WIndows 10 x64 with PHP 7.3.11 installed from Chocolatey.

AppVeyor is testing using Windows set up, so the test would fail there.

I've run master against mentioned files and all went well.

I posted here a link for never version for which the fixer was passing. Please retry this issue with: https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/tools/tcpdf/tcpdf.php
I am out of resources to provide tests for this. But probably some long string/test file to mimic the failing subject of the regex can be tested if needed.

I will put this to fridge until we have the change covered by test.
IMHO it's not the best option to do "random" changes to regex without any test covering it

I just optimized a regex that should be already fully covered with tests. No extra functionality or changed behaviour.

Note that using a possessive quantifier instead of a greedy one isn't just an optimization, it actually changes the behavior of the regular expression.
Though I think it still does what we want it to do here. Having a test case that only proves a performance issue on a very large input might be tricky so I'm ok to merge this without new test case.

i disagree - it's not just refactoring where we aim to remain same functionality (=same tests) while simplifying code. we claim to fix the issue, but no issue presented in tests.

i disagree - it's not just refactoring where we aim to remain same functionality (=same tests) while simplifying code. we claim to fix the issue, but no issue presented in tests.

What about running all rules against top1000 PHP repos + a list of problematic (to fix) repos? I tried this locally and found a lot of other issues. A lot of CPU time, but it can discover unknown errors and monitor their decrease.

Helpt wanted - please add tests.

fixed in https://github.com/FriendsOfPHP/PHP-CS-Fixer/pull/4783, thanks for the work in this PR @mvorisek :+1:


Upstream Gone

Just stumbled on this edge case. To reproduce (assuming origin/gone doesn't exist):
> git branch gone
> git config branch.gone.remote origin
> git config branch.gone.merge refs/heads/gone
> git checkout gone
Switched to branch 'gone'
Your branch is based on 'origin/gone', but the upstream is gone.
  (use "git branch --unset-upstream" to fixup)

I had originally thought to use ✘ for the symbol, but font support seems limited. I settled on either × or ∙ . Thoughts?

Also, semicolons are :cool:

IMO some form of x would be more intuitive than  ∙.

IMO some form of x would be more intuitive than ∙.

Sticking with x, then.


I want to add a new animating button here. I have added the sample below

This is a(n):

[ ] Update to an existing Animated Button
[ ] Any Error
[x] Proposal to the Repository
[ ] Documentation / README.md changes

Details:

Please assign me this task under Gssoc'23

Hi, are you still working on this issue? If you've already made a PR with the changes that have been merged then please close the issue. If you have an open PR, please mention this issue number in your PR in order to link them.


Add KML layer support to WorldWind

Test Branch
feature/emp3-web#6-ww-kml-layer
Test Instructions

Unzip the KML_samples.kml file and place it in the top of the emp3-validation
Verify if you navigate to http://localhost:8080/emp3-validation/KML_samples.kml the file resolves
Create a WorldWind map
Run the following script

var kmlLayer = new emp3.api.KMLLayer({
  name: 'test kmllayer',
  url: 'http://localhost:8080/emp3-validation/KML_samples.kml'
});

this.props.addMapService(kmlLayer);

map0.addMapService({
  mapService: kmlLayer,
  onSuccess: function() {
    map0.setCamera({
      camera: new emp3.api.Camera({latitude: 35, longitude: -125, altitude: 5e6})
    })
  }
});

Verify points show up on the map
Remove the KML Layer via RemoveMapServiceTest
Verify KML disappears

Test with other KML links as necessary

Reintegrate


Added new my changes to the Project

Added some new changes to the report file  and did some layouting
Added new file report.html

Doing some commit on kitchen-project


feat: add auxiliary libraries block

This PR:
Added new auxiliary libraries block to Infrastructure page
Steps to test

Open the Infrastructure page
Confirm that everything looks and works as expected

Okey, thank you for comments.


Divide optimizer into sections

Currently, the 'Unused Variable Elimination' and 'Common Subexpression Eimination' are sub sections under 'Vector to Slice Pass' in Solang docs. They should be a new section under Optimization Passes, instead of a subsection. This PR fix this issue.

You can test it out by running make html in the docs directory.


Update thrift bindings

We have changed TDataFrame struct to receive execution timings which we require for benchmarks. Therefore we need to update the thrift bindings to reflect the same.

Closed by #276


[ONLY-TEST] Test build with ethereumjs-vm Byzantium master branch version

This is just a build test, don't merge.
Testing the build with new ethereumjs-vm version after fixing a critical rustbn.js bug (https://github.com/ethereumjs/rustbn.js/pull/4) preventing browserify of the library to work.

great!

:-) Courtesy goes to @cdetrio.


dense prediction on ucf101 split1

I have finished  fine-tune R(2+1)D-34 model on ucf101 and want to evaluate the fine-tuned model.How can i generate .csv  files include  paths to local files,video_id for each video and also starting frame for each clip  like "hmdb51_test_01_video_id_dense_l32_1.csv" and "kinetics_val_full_video_id_dense_l32_1.csv"? The list files i downloaded  not  include these ucf files.@dutran  Can you help me? Thank you very much!

Please use test_net_large.py instead of dense prediction to save computation.


Odin does not build

After running build.bat, I get this error:
Failed to parse file: bits.odin
There seems to be missing demo files.

Yeah, it shouldn't be there yet 😛


current veeps support? I've tried searching old issues

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

Just looking for veeps dl support as all issues / discussions I've found are no longer working. The file I'm looking to acquire is a replay of a paid stream that I have purchased if that helps?

You have probably learned as much as anyone knows, unless you ignored this comment, which confirms your experience described downstream.


ActionList: Correct semantics for Groups

Part of https://github.com/github/primer/issues/447

[x] ActionList.Group create a ul inside a li
[x] The title of the Group is used as the label for the ul.
[x] The section Header is for visual users only. It's hidden for screen readers.
[x] Group can accept role

This is the generated HTML, formatted for legibility:

      Suggestions

          <input type="checkbox" tabindex="-1" readonly aria-readonly="false" checked />

            pksjce

Pavithra Kodmad

          Recently edited these files

....

      Everyone

...

...

...

Merge checklist

[x] Added/updated tests, but in a different PR: https://github.com/primer/react/pull/1597
[x] Added/updated documentation
[x] Tested in Chrome
[x] Tested in Firefox
[x] Tested in Safari
[x] Tested in Edge

Moved changes over to https://github.com/primer/react/pull/1598


Correct style for book list

:tada: This PR is included in version 1.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Warning: smelting non-EnderIO recipes in EnderIO machines

What happens:
After starting a server, this warnings show for every recipe that isn´t from EnderIO, but can be made in Alloy Smelter. I don´t know if this can affect my server (lag spikes, crashing server etc.), but I want to be sure that my server is safe :)

EnderIO: 1.12.2-5.0.33
EnderCore: 1.12.2-0.5.39
Minecraft: 1.12.2
Forge: forge-1.12.2-<IP_ADDRESS>68-universal
Optifine: yes
Server

Just some forge warnings telling mods to not use oredict it seems -_- its fine

Just some warnings from forge. Not a big deal.

Just this, which must be created on 1st launch of mod:
<?xml version="1.0" encoding="UTF-8"?>
<enderio:recipes xmlns:enderio="http://enderio.com/recipes" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://enderio.com/recipes recipes.xsd ">
</enderio:recipes>

not a big deal then.. just forge being forge


Fix GitHub Action warnings

After running the Google-Play-Android-Distribution several deprecation warnings appeared:

Node.js 12 actions are deprecated

https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

The set-output command is deprecated and will be disabled soon

https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

We should check and update the packages we are using in our Actions

Actions using Node.js 12

https://github.com/coturiv/setup-ionic (no newer version available)
https://github.com/actions/setup-node (v2 -> v3 available)
https://github.com/nttld/setup-ndk (v1.0.3 -> v1.2.0 available)
https://github.com/actions/setup-java (v1 -> v3 available)
https://github.com/chkfung/android-version-actions (v1.1 -> v1.2.1 available)

Github-Actions mit node12?


Contributing instructions unclear.

README.md

Contributing
You don't.

CONTRIBUTING.md

All changes are welcome as long as no code is involved. If you run into any bugs, please file an issue and explain how that was even possible.

duplicate of #17

Can anybody close this issue? It's been open for 12 hours with no hope for resolution.


Add example of Bitbucket commit status update

Similar to example highlighting how to update commit build status on Github, this provides the same functionality for Bitbucket.
When AppCenter clones the repo, it will display an In Progress status in Bitbucket, then after building it will display the build status (stopped, success, or failure)

 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.:x: sohayb sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Custom Plots: honor selected revisions and colors.

When adding a Custom Plot, all the experiments in the table are included in the plot, but there is no signal of which revision is which (except for the tooltip).

I was expecting the Custom Plot to be linked to the selected revisions and to include color and legend, matching the behavior of Data Series plots:

I think adding colors/legend would get hard to manage since the idea of custom plots is that you're able to see all experiments/commits while data series only have a max of 7. If a user had a lot of exps/commits a legend would look strange 🤔
Maybe we could add an always visible label to each scatter point? Would need to test how that looks, though.

Could we try coloring/highlighting the selected revisions with the appropriate colors?

Something like this:

Vega editor


(Mac Desktop Bug) EXC_BAD_ACCESS (SIGSEGV) on M1 Mac Studio

Hey @cloudwebrtc
I am getting crash on my M1 mac studio on the example app.
Flutter Doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.10, on macOS 13.0.1 22A400 darwin-arm, locale en-AE)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.2)
[✓] VS Code (version 1.74.2)
[✓] Connected device (3 available)
    ! Error: iPhone (60) is busy: Fetching debug symbols for iPhone (60). Xcode will continue when iPhone (60) is finished. (code -10)
[✓] HTTP Host Availability

Error Report
error_report.txt

Might be releated to this
https://github.com/flutter-webrtc/flutter-webrtc/issues/1016

From the log, you are using 5K resolution, but it seems that the crashed thread is related to Camera, the crash comes from  1 Dispatch queue: org.webrtc.RTCDispatcherCaptureSession, and it is related to setting the minimum frame rate.
This is a tricky issue, I can't reproduce this error on my computer, there is an idea, if you try to use https://github.com/webrtc-sdk/webrtc@m104_release to compile the debug framework of m1 mac in Native, you should be able to locate the code and line number in libwebrtc at the time of the crash

@cloudwebrtc Thanks for the prompt reply.

it is related to setting the minimum frame rate.
I was using OBS, finecam virtual cams on the machine and I also had continuity camera from my iphone hooked in to this M1 machine. I will further inspect to see I can further debug.

I might be also Compiling framework at some point when have more time.

As discussed in Slack, this issue may be related to virtual cameras

Guys, I test on my mac studio with physical camera. Its still cause the crash. Here I am making sure before connnecting I use physical camera.
Please find below logs.
glu.txt
@cloudwebrtc

AVCaptureDALDevice seems to lack a frameRate setting method, the fps of the virtual camera may depend on the OBS output, so I created this PR to skip the setting and it works fine
https://github.com/webrtc-sdk/webrtc/pull/62

@cloudwebrtc Awesome mate!! I will tryp and report back.

I'm recompiling .xframework and publishing new one to cocoapods, and in about an hour I can create a PR to fix this issue.

@jascodes PR created, https://github.com/livekit/client-sdk-flutter/pull/240


task done error: missing required module 'CNIOAtomics'

Expected behavior
I have dependency GRPC-Swift with my Protofiles. And want to include my dependency to host app like a framework.
Actual behavior
Host App receive the error in compilation time:

Steps to reproduce

Create #one project with protofiles and describe depencency GRPC-Swift
Create #second one and set target dependency on project #one
Wait until SPM resolved all dependency

If possible, minimal yet complete reproducer code (or URL to code)
My example how I described the manifest Project.swift

SwiftNIO version/commit hash
"2.36.0"
System & version information
xcode13.4
Also related issue: https://github.com/grpc/grpc-swift/issues/683

Host app Package.swift
// swift-tools-version: 5.6
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "testSLProtofiles",
    platforms: [.iOS(.v13)],
    products: [
        .library(
            name: "testSLProtofiles",
            targets: ["testSLProtofiles"]),
    ],
    dependencies: [
        .package(url: "git@github.com:*****SLProtofiles.git", from: "0.0.6"),
    ],
    targets: [
        .target(
            name: "testSLProtofiles",
            dependencies: [
                .product(name: "SLProtofiles", package: "SLProtofiles"),
                .target(name: "SLProtofiles"),
            ]),
    ]
)

SwiftNIO does not define a binary stable ABI and must not be compiled with library evolution mode enabled. Please import it using @implementationOnly if you intend to compile it into a static binary.

It would need to be done everywhere. However, grpc-swift itself doesn't support doing this with its dependencies because they are exposed as part of its public API. So normally you'd have to make grpc-swift itself implementation only.


fix: 'diaghere' is to keep jumpping in the line

this was intended to work with/before diagCurrent, or now you combined with them, that's ok though a bit mix the usage/design of jump vs display.
but whatever if the diag msg really at the line head col 1 and only that col, just press 0 (this is designed or when to turn around the diagHere/diagHhis), the diag msg would display.
--
shane.xb.qian

ok, i felt it's not a matter, so let it be.
but the doc i commit in this pr you may like to rephrase it still. :-)

Can you update the PR with only the doc changes? I will merge the changes.

Can you update the PR with only the doc changes?

#185


Support single cursor for multiple input columns

The following example should work:

    @omnisci('int32(Column<double>, Column<bool>, RowMultiplier, OutputColumn<double>)')
    def mask_zero(x, b, m, y):
        for i in range(len(x)):
            if b[i]:
                y[i] = 0.0
            else:
                y[i] = x[i]
        return len(x)

Currently, one can use:
omnisci.sql_execute(f'select * from table(mask_zero(cursor(select f8 from {omnisci.table_name}), cursor(select b from {omnisci.table_name}), 1))')

which is inefficient, unreliable, and not user-friendly.
One should be able to use:
omnisci.sql_execute(f'select * from table(mask_zero(cursor(select f8, b from {omnisci.table_name}), 1))')

that fails with:
No match found for function signature mask_zero(<CURSOR>, <NUMERIC>)

The plan is to use the following approach:
    @omnisci('int32(Cursor<Column<double>, Column<bool>>, RowMultiplier, OutputColumn<double>)')
    def mask_zero2(x, b, m, y):
        for i in range(len(x)):
            if b[i]:
                y[i] = 0.0
            else:
                y[i] = x[i]
        return len(x)

    descr, result = omnisci.sql_execute(f'select * from table(mask_zero2(cursor(select f8, b from {omnisci.table_name}), 1))')

Notice how the types of the first input columns are tied together: Cursor<Column<double>, Column<bool>>.

Very nice, so we can theoretically have multiple input queries with this as well, while grouping where needed.
Except for the fact that I believe we assume there is one table and feed the kernel that one table's size, and the fact that row multiplier assumes a single table, are there any blockers to allowing multi query/table input as well? (There would be lots of use cases for this).

Except for the fact that I believe we assume there is one table and feed the kernel that one table's size, and the fact that row multiplier assumes a single table, are there any blockers to allowing multi query/table input as well? (There would be lots of use cases for this).

Yes, we need to consider these questions as well. I suggest proceeding with these features step by step.

The specification Cursor<Column<double>, Column<bool>> can be simplified either to the following specs:

Cursor<double, bool>
Column<double, bool>

The first option is preferred because it will match with the semantics used in SQL queries.


Can't create box

Install method (Flatpak/Binary/Other)
Flatpak
Distrobox Version
distrobox --version will tell you this.
distrobox: <IP_ADDRESS>
Your Host OS
fedora 39
Describe your Issue

start boxBuddyRS
click '+'
no response

flatpak run io.github.dvlv.boxbuddyrs I tried cli running but there is no log

Hmm, this is strange, I'm using fedora 39 to develop this.

Have you made any changes in Flatseal?
Is BoxBuddy installed as a user or system flatpak? flatpak list --columns=app,installation | grep boxbuddyrs

Hmm, this is strange, I'm using fedora 39 to develop this.

Have you made any changes in Flatseal?
Is BoxBuddy installed as a user or system flatpak? flatpak list --columns=app,installation | grep boxbuddyrs

Flatseal conf is default.
I installed as system. I didn't add the --user option when install and the location is in /var/lib/flatpak
Since I am in UTC+8 time zone(10:35PM), I will reply to you tomorrow

I've spun up a fresh f39 VM and installed boxBuddy as system and it's all working. I even took myself out of the wheel group and it still works.
If you run flatpak override --show io.github.dvlv.boxbuddyrs does it ask you for your sudo password?

I've spun up a fresh f39 VM and installed boxBuddy as system and it's all working. I even took myself out of the wheel group and it still works.
If you run flatpak override --show io.github.dvlv.boxbuddyrs does it ask you for your sudo password?
Also what is your system Locale?

Today I turned on my computer and found that it can be used normally. 🤔

$ flatpak list --columns=app,installation | grep boxbuddyrs
io.github.dvlv.boxbuddyrs	system

flatpak override --show io.github.dvlv.boxbuddyrs
# doesn't ask my password

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

In addition, it seems that there is no problem from the log.

Glad it's working for you now! :)


Support pylint output format for parsable (-p) option

Issue Type

Feature request

Ansible and Ansible Lint details
ansible 1.9.4
ansible-lint 2.6.1

ansible installation method: pip
ansible-lint installation method: pip

Desired Behaviour
When using the parsable (-p) option for ansible-lint, the output can be recognized by tools that expect pylint output.
I am trying to get the output of ansible-lint rendered by the Jenkins Violations plugin using the pylint type which most closely aligns with the current ansible-lint parsable format.
The plugin looks for matches of strings in the output that match the following regex
(.*):(\d+): \[(\D\d*).*\] (.*) the code is here
Currently the output of the parsable format does not match this format so none of the records get included in the report.
/apps/jenkins/workspace/my_app/myapp.yml:7: [ANSIBLE0002] Trailing whitespace
To allow the plugin to recognise the string, we would need to change this output to be something like
/apps/jenkins/workspace/my_app/myapp.yml:7: [W9999(ANSIBLE0002), ] Trailing whitespace

Hi @adelosa,
I coded the --parseable option back then for the exact same use case as you − for the Jenkins violations plugin using the pylint intput.
You are right, the Pylint regex does not perfectly match the current output format (it’s actually a pretty big oversight on my part ^__^). However, I am not sure how much of a problem it actually is?  I have had a Jenkins job running on my Ansible code base for months now and it correctly parses and reports the violations − all violations would have id 'A' but I am not sure where that’s actually used by Jenkins?
I am not sure about the output you suggest: all violations would be indexed with W9999 as their ID, no?

Presumably the W code is to distinguish errors and warnings - at the moment all results are treated as errors. There would need to be some way of saying 'warn about these, error about these'?
At the moment there's not really enough info here to fix this issue, if a fix is needed.

I have done a bit more digging and discovering how fragile the violations plugin is, but got it working in the end without changes to ansible-lint. I was having some issues with file paths in the lint file which was causing the plugin to not show me the errors overlayed in the code. Relative paths work fine.. Full paths causes an issue.
So agree, the plugin does work with the current output although the error level will be based on the first letter of the ansible-lint rule..
If the lint rule first letter happens to align with one of the categories defined by pylint, then it will be classified in that level.. see setSeverityLevel in PyLintParser.java

C = Low
R = Medium-low
W, Default = Medium
E,F = High

An ansible-lint rule called ANSIBLE0001 would get a level of "Medium" (default)
An ansible-lint rule called CUSTOM0001 would get a level of "Low" (C=low)
An ansible-lint rule called EXTRA0001 would get a level of "High" (E=High)
As I understand, ansible-lint does not have a concept of error levels which would make implementing something that aligns to pylint hard.. but I still think that if -p says it does "pylint" output format, it should provide a consistent output and level regardless of what the rule is called..
I'd still like to see a consistent level output regardless of the rule name.
For example, all the following will provide a warning and context of the ansible-lint error code are provided in the description. The [W0] provides the error level to pylint and adding the rule name to the description rather than within the brackets provides the error code in Violations screens. Currently all you see is "A" and "Trailing whitespace". The ANSIBLE0002 is nowhere to be seen in the Violations plugin.
myapp.yml:7: [W0] ANSIBLE0002 Trailing whitespace
myapp.yml:7: [W0] CUSTOM0001 Trailing whitespace
myapp.yml:7: [W0] EXTRA0001 Trailing whitespace
When and if you introduce classes of errors, then you can just change the first letter..
myapp.yml:7: [F0] EXTRA0001 Trailing whitespace
The only other option is to adopt some kind of pep8 violation naming convention, but I'm pretty sure you won't want to do that...

@adelosa, as currently all violations are errors (because there is no capability in ansible-lint to produce warnings, although that could be a feature idea, but not one I'm likely to get around to), why don't we just add the letter E in front of the rule name in the parseable output? (e.g. EANSIBLE0002)
@JeanFred I assume that wouldn't break things for you?

@willthames Prepending an E is certainly fine with me :)

I've implemented this change, but not yet released.
I've pushed ansible-lint v2.7.0rc1 to pip so that this can be tested, or you can use the v2.7 source branch.
Please note that v3.0 is around the corner, so I've rebased v3.0 on this change, and 3.0.0rc6 is now available for testing too.


Add support for start and stop app lifecycle events

In addition to the existing pause and resume events we should add support for startand stop as available on Android.
https://tabrisjs.com/documentation/latest/api/app#events
http://www.javatpoint.com/images/androidimages/Android-Activity-Lifecycle.png
Since there are no direct counterparts on iOS we could simply call the start and stop right after and before the pause and resume events.

The names start and stop are related to an Android activity, but in the context of tabris.app, they are misleading. These events are fired when the app enters the background or enters the foreground again. On iOS they're called something like "enterBackground" and "enterForeground".

iOS change is now in staging and new events are: start, stop, foreground, background.

So either foreground/background or start/stop. Honestly I think either is fine.


Remove trafficRouting's namespace

This configuration has been removed

Follow DCO by below steps:

In your local branch, run: git rebase HEAD~2 --signoff
Force push your changes to overwrite the branch: git push --force-with-lease origin fix-readme


Is it possible to send to multiple addresses?

def headers
    {:subject => %("#{title}"),
     :to => "{'test1<EMAIL_ADDRESS>     :from => %("#{name}" <#{email}>)}
end

I try it but it's fail. First address was sent, but maybe second looks did not.
Any method is existed?

The list of emails can be an array of email addresses or a single string with the addresses separated by commas.

http://guides.rubyonrails.org/action_mailer_basics.html

def headers
    {:subject => %("#{title}"),
     :to =><EMAIL_ADDRESS>test2@gmail.com),
     :from => %("#{name}" <#{email}>)}
end

Thanks to you, I could completely code.
I wish this example helps.


Fail to run latest neurodesktop (20220524)

I try to run the docker image with this command:
docker run --mac-address 02:42:ac:11:00:02 --rm --shm-size=4gb -it --privileged --name neurodesktop -v [my_volume] -v [my_local_folder]:/neurodesktop-storage/local -p 8080:8080 -h neurodesktop-20230524 vnmd/neurodesktop:20230524
and get this:
Entered start.sh with args: jupyter lab
/usr/local/bin/start.sh: running hooks in /usr/local/bin/start-notebook.d as uid / gid: 1000 / 100
/usr/local/bin/start.sh: running script /usr/local/bin/start-notebook.d/start-notebook.sh
/usr/local/bin/start.sh: done running hooks in /usr/local/bin/start-notebook.d
WARNING: container must be started as root to grant sudo permissions!
/usr/local/bin/start.sh: running hooks in /usr/local/bin/before-notebook.d as uid / gid: 1000 / 100
/usr/local/bin/start.sh: running script /usr/local/bin/before-notebook.d/before-notebook.sh
Changing password for jovyan.
Current password: New password: Retype new password: Password change has been aborted.
passwd: Authentication token manipulation error
passwd: password unchanged
I then tried to add  -u root  to the docker command. I then get stuck on:
Ensuring /home/jovyan is owned by 1000:100 (chown options: -R)
This seems to be related to Jupyter lab?

dear @JonteP,
the image version you try to open is not released yet. we re-developed the image from scratch and the startup command needs to be updated to:
docker run --shm-size=1gb -it --cap-add SYS_ADMIN --security-opt apparmor:unconfined     --device=/dev/fuse --name neurodesktop -v ~/neurodesktop-storage:/neurodesktop-storage     -p 8888:8888     --user=root -e NB_UID="$(id -u)" -e NB_GID="$(id -g)" vnmd/neurodesktop:xxxxxxx
we will update the website and make a new big release in the next days - we just need a little more testing. but you are welcome to help testing :)

dear @JonteP,
the image version you try to open is not released yet. we re-developed the image from scratch and the startup command needs to be updated to:
docker run --shm-size=1gb -it --cap-add SYS_ADMIN --security-opt apparmor:unconfined --device=/dev/fuse --name neurodesktop -v ~/neurodesktop-storage:/neurodesktop-storage -p 8888:8888 --user=root -e NB_UID="$(id -u)" -e NB_GID="$(id -g)" vnmd/neurodesktop:xxxxxxx
we will update the website and make a new big release in the next days - we just need a little more testing. but you are welcome to help testing :)

I see. I just assumed anything I found at dockerhub was released. :)
But thank you for the updated startup command!

Unfortunately, all I get is " invalid group ID '$(id -g)' "

Ahh, are you running this in windows? Try WSL or wait a few days until the windows command is ready and tested

On windows, this should work (not tested): docker run --shm-size=1gb -it --cap-add SYS_ADMIN --security-opt apparmor:unconfined --device=/dev/fuse --name neurodesktop -v ~/neurodesktop-storage:/neurodesktop-storage -p 8888:8888 --user=root vnmd/neurodesktop:xxxxxxx

On windows, this should work (not tested): docker run --shm-size=1gb -it --cap-add SYS_ADMIN --security-opt apparmor:unconfined --device=/dev/fuse --name neurodesktop -v ~/neurodesktop-storage:/neurodesktop-storage -p 8888:8888 --user=root vnmd/neurodesktop:xxxxxxx

Thank you @stebo85 !
I tried that earlier and again get "stuck" on "Ensuring /home/jovyan is owned by 1000:100 (chown options: -R)". Maybe this is just expected to take a while?

Dear @JonteP - it shouldn't take one hour to start, Can you let us know what setup you are using? Are you running on Windows? Did you see any other errors? Can you reproduce the problem?

@stebo85  I retried and it still took a very long time. However, when running the 20230525 build it started in an instant.

Cool, I'll consider myself an early adopter then. :)
As an aside, now that neurodesktop is based on jupyterlab, I noticed that fsl behaves differently from my local install. In linux, I have installed fsl from their python script and it comes with it's own python environment allowing for e.g. integrating fsleyes in notebooks. However, the fsl in neurodesk seems to be installed differently, without this feature?

the aim is that fsl behaves identically to before, but we indeed changed how we do this. can you give an example what's not working so we can fix this?

Dear @JonteP,
You can use fslpython if you open the FSL container:

However, do I understand correctly that you would like to run "import fsl" in a standard jupyter notebook outside of the FSL container? Do you have an example for this?

Ah, I was running ml fsl. I wasn't aware that it was not equivalent.
But yes, the motivation for me was to use it within notebooks. With example, do you mean an example of a case that is not covered by calling bash commands? My motivation was trying to run fsleyes as per this example: https://open.win.ox.ac.uk/pages/fsl/fsleyes/fsleyes/userdoc/fsleyes_notebook.html
Seems like there is a similar "issue" with mne that does not allow access from jupyter notebooks.

ok, that example helps :) Let's see if we can get this to work!

last item here moved to it's own issue


Memory leak

I noticed that both caches are not freed from memory when quiting, so they stay in the cache all the time.
InventoryManager:
private final HashMap<UUID, List<CustomInventory>> lastInventories = new HashMap<>();
private final HashMap<UUID, Long> lastOpen = new HashMap<>();

Fixed in next update. Thank you

The complete map is now cleared and not by the player himself.


jss deploy config --config option does not work

Describe the Bug
When I use the --config option the specify the location of the scjssconfig.json file, it returns the error: 'No Sitecore connection has been configured (missing scjssconfig.json)'. Tried to look into the code why I receive the error & it seems that the code is verifying of that config exists at the default location here in verifySetup() => https://github.com/Sitecore/jss/blob/cb29facddb69f0d261c6d7da93959fd05f23bc01/packages/sitecore-jss-cli/src/scripts/deploy.config.ts
But of course it doesn't exist there as I want to specify the correct location via the option.
To Reproduce
move scjssconfig.json to another location instead of the default location & try to deploy the config with jss deploy config --config='pathToConfig'
Expected Behavior
Don't throw the error & accept the path that is given via the option --config
Possible Fix
don't check the default location as it's not there.
Provide environment information

Sitecore Version: 10.3
JSS Version: 21.1.0
Browser Name and version: /
Operating System and version (desktop or mobile): windows 10
Link to your project (if available): /

Hi @kpicavet
I'm looking at the code and the doc here:
https://doc.sitecore.com/xp/en/developers/hd/19/sitecore-headless-development/walkthrough--connecting-a-jss-application-to-sitecore.htm
and it doesn't seem like --config is a supported option for the deploy command. Could you please share where did you find its mention?
Also, for us to consider implementing the option, could you describe your usecase in more detail? Is there something that prevents putting scjssconfig.json in app root, or do you want to use multiple scjssconfig files and switch between them easily when deploying your app?

@art-alexeyenko jss deploy config supports --config flag, see list of flags here

We have a monorepo (using NX) with multiple apps. The path of a specific app is now 'apps/{name-of-app}'.
As we have multiple apps we would like to have the config in the root of the app itself.
At this moment we fixed it by adding an empty config in the root of the monorepo, because the code only checks if it exists there. Afterwards it will take the correct given config via the --config flag.

@kpicavet thank you! I've added the bug to our backlog.


Standalone version (to load without browserfy)

Isn't it possible to load and use tape in the browser without broserfying it? For example to use with browser loaders (System.js) or standalone.

There's no reason to use anything "standalone" these days, since everything is a module on npm. I'm not familiar with how System.js works but you do generally want a build process.

System just can just load ES6/CJS modules in the browser ect. How tape can be build?

Systemjs/jspm (or stealjs another option) they can load ES6/CJS in the browser, but it can load node modules of course, so for loading libs usually built versions are used. So, if you woudn't want to include  standalone or built version (ready for loading in browser) it in dist, can you explain how tape itself could be build for browser?

Systemjs/jspm (or stealjs as alternative that works with NPM well) they can load ES6/CJS in the browser, but it can load node modules of course, so for loading libs usually built versions are used. So, if you woudn't want to include standalone or built version (ready for loading in browser) it in dist, can you explain how tape itself could be build for browser?

You'd just browserify your entry point, which would require('tape') somewhere in it.

Ok thanks. So I can just do
browserify node_modules/tape --outfile tape.js -s test

and then load it with system.js it works ok, so Systemjs and compatible loaders can use it (just import test from 'tape' with proper mapping), and and it is possible to load it via script tag.
maybe include such version in dist be default?

I don't see any benefit in that - everybody should have a build step these days, and it's trivial to run it through browserify when you want that.


Add files via upload

Monk's Walk School

@ShaqiliusVI First stage of verification passed, official domain is monkswalk.herts.sch.uk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@ShaqiliusVI Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Problem: getAddressTransaction added to geth but not emerald-js

Solution: getAddressTransaction method added

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


Added logging support for the app

Solves the issue #819. @mariobehling @aayusharora  Please test and review the app at
https://floating-tor-16309.herokuapp.com/
Here are some screenshots

An error which I created myself. You have the option to view the detailed information of an error

The logging is not perfect but it is a good start for us. We will keep improving it as the time progresses. Please give you suggestions and reviews. Thanks.

Current coverage is 32.31% (diff: 5.55%)

Merging #879 into development will decrease coverage by 2.24%

@@           development       #879   diff @@
=============================================
  Files                6          7     +1
  Lines              842        919    +77
  Methods            100        101     +1
  Messages             0          0
  Branches           138        142     +4
=============================================
+ Hits               291        297     +6
- Misses             551        622    +71
  Partials             0          0

Powered by Codecov. Last update acdd0a0...e548de6

Thank you.

[ ] Please make the build logs into a simple link - Logs - (not a button), that expands if click (just like now).
[ ] Also right now, you show the logs right away: Only show the logs when people click on "Logs"


Spring REST Docs

Description
Include Spring REST Docs documentation for project.

See also the restdocs-api-spec community companion for Spring REST Docs. Generates an OpenAPI Spec v3 document using Spring REST Docs.


Rule editing is not applied in data preparation

Describe the bug
룰 편집 시 편집된 내용이 적용되지 않는 경우가 발생합니다.
Sometimes rule editing is not applied on grid.
To Reproduce
Steps to reproduce the behavior:

Go to Data Flow and select any Data Set.
Create Replace Rule.
Edit Replace Rule.(Grid will not be changed)
Click "done" and go back to data flow, and then come back to data grid.(Grid will not be changed)
Delete replace rule.(Grid will not be changed)
Delete the rule before replace. Then grid will be  changed.

Expected behavior
룰을 편집 했을 때 그리드에 내용이 반영 되어야 함.
Rule editing should be applied on gird immediately.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: Mac OS
Browser: Chrome
Version: 69

Additional context
Add any other context about the problem here.

For the replace rule now, when transforming, the new dataframe must have completely separate rows from the existing dataframe, but it points to the existing row.
When creating a new dataframe, we need to make a deep copy of row.
In addition, we need to check whether other rules have similar problems.
지금 replace rule의 경우, transform시 새 dataframe이 기존 dataframe과 완전 별개의 row들을 갖고 있어야 하는데, 기존 row를 그대로 가리키고 있습니다.
새 dataframe을 만들 때, row를 deep copy하도록 해야겠습니다.
아울러, 다른 rule들도 비슷한 문제를 가지고 있는지 체크할 필요가 있습니다.

Is there any modified rule besides replace rule?
혹시 replace rule 외에 또 수정된 rule이 있나요?

All PRs merged. Issue closed.


Remove unused variable

Hi.
I found the unused variable in AuthorizationServerClientCredentialsPasswordValidXmlTests class
So I've removed it.
Thank you. :)

Thanks for the PR @kiyoung-Lee. This is now in master.


Additional test cases for wdmp

 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.suvidh 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.


Production: Turn debug logging back off

coverage: 94.605%. remained the same
when pulling 1043cf4ac88e0718dc1f5eb69eca46ed25a17c30 on nimmo-log-level-7.1.3
into 29ea064d0addfae375830d3b44a2dd92b36b393e on main.


Symphony Fatal Database Error

I'm getting this error when I go to datasources page and try to add new datasource or edit existing one. Once I open a datasource I get this error, so is not when I save it.
Last things I've made was to add a new textbox field (to use it for my titles) to some of my sections and removed the old title text field. Might that be a problem ? Shouldn't symphony take care of those changes ?
  FROM sym_fields as t1 WHERE 1 AND t1.id = '61' LIMIT 1; [0.0001]
SELECT SQL_CACHE * FROM sym_fields_memberusername WHERE field_id = '61' LIMIT 1; [0.0001]
SELECT SQL_CACHE t1.* FROM sym_fields as t1 WHERE 1 AND t1.id = '60' LIMIT 1; [0.0001]
SELECT SQL_CACHE * FROM sym_fields_memberemail WHERE field_id = '60' LIMIT 1; [0.0001]
SELECT SQL_CACHE t1.* FROM sym_fields as t1 WHERE 1 AND t1.id = '67' LIMIT 1; [0.0001]
SELECT SQL_CACHE * FROM sym_fields_memberpassword WHERE field_id = '67' LIMIT 1; [0.0001]
SELECT SQL_CACHE t1.* FROM sym_fields as t1 WHERE 1 AND t1.id = '68' LIMIT 1; [0.0001]
SELECT SQL_CACHE * FROM sym_fields_memberactivation WHERE field_id = '68' LIMIT 1; [0.0001]
SELECT SQL_CACHE t1.*  FROM sym_sections AS s ORDER BY s.name ASC; [0.0004]
SELECT SQL_CACHE t1.*  FROM sym_fields as t1 WHERE 1 AND t1.parent_section = '2' ORDER BY t1.sortorder ASC; [0.0003]
SELECT SQL_CACHE * FROM sym_fields_input WHERE field_id = '9' LIMIT 1; [0.0005]
SELECT SQL_CACHE * FROM sym_fields_textarea WHERE field_id = '10' LIMIT 1; [0.0004]
SELECT SQL_CACHE t1.*      When the field was removed, the table was deleted, but the reference to the field's ID (which is stored in the Select Box table) has not been removed.
For an immediate fix, open up sym_fields_select and remove the value 1 from the dynamic_options column. To answer your question, yes, Symphony should take care of this itself, so thanks for reporting.
Note to self, couple of avenues to pursue:

Expand the Field->tearDown() function to remove the reference from any Select fields
Patch the issue in the Select Box field so that it will ignore such errors (bonus points for cleaning the table)
Make the Select Box use the sections_associations table so that such entries will be deleted as they would be with the Select Box Link.

I've removed the value 1 from database, still  the same error (hovever phpmyadmin setted it to 0 when I saved).
I tried to delete the whole row that has the value 1, still same error.
There are 2 more rows that have the dynamic_options 9.
I have backup before removing those values and reverted back. What should I do ?

Was it the same error or did it then say Table 'flavy_p.sym_entries_data_**0**' doesn't exist?

I had a field added with subsection manager extension and removed it from my sections before this error showed up.

Can you elaborate? You had a Subsection Manager field in this section before, and now since removing it this error occurs?

Set the value of 'dynamic_options' to NULL or '' if you can.
Thanks for the steps, it'd be helpful for debugging :)

Well I'm not sure how I fixed it, however I deleted the whole row and resaved all data sources (resaving them might add the row again but with correct value I think). Now everything works just fine, but can't replicate the error or change the value to NULL as I made a lot of changes and I don't have a select field anymore. Thanks for the help !


Mark use_path_as_transaction_name as dynamic

What does this PR do?

Checklist

[x] This is something else

[x] I have updated CHANGELOG.asciidoc

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1622 opened

Start Time: 2021-01-18T12:58:29.477+0000

Duration: 42 min 54 sec

Commit: f0fa8a09699bbb0b748b32bbf53c7ac3c22259c8

Test stats :test_tube:

Test
Results

Failed
0

Passed
1685

Skipped
12

Total
1697

:green_heart: Flaky test report
Tests succeeded.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
0

Passed
1685

Skipped
12

Total
1697

:green_heart: Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Build Cause: Pull request #1622 opened

Start Time: 2021-01-18T12:58:29.477+0000

Duration: 42 min 54 sec

Commit: f0fa8a09699bbb0b748b32bbf53c7ac3c22259c8

Test stats :test_tube:

Test
Results

Failed
0

Passed
1685

Skipped
12

Total
1697

:green_heart: Flaky test report
Tests succeeded.

Expand to view the summary

Test stats :test_tube:

Test
Results

Failed
0

Passed
1685

Skipped
12

Total
1697

Codecov Report

Merging #1622 (d5aeba0) into master (9cb5624) will decrease coverage by 0.21%.
The diff coverage is 48.47%.

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


Add registration flow to "Become a Direct Voter" Figma file

The registration flow is missing from the new "Become a Direct Voter" design file. It needs to be in the new file.
Here it is in the old one: https://www.figma.com/design/mJTBiUofLfb74Xc3W2U59o/Voltaire---GOV-TOOL?m=auto&node-id=9420-172448&t=8E2qfKwt0NOd0L8J-1

No it's not, my mistake. Closing


Make the PageDimensions configurable through the settings

Change the defaults from (1080, 1920) to a scaling factor of 2.

thanks

this is now deployed


Set Up Connection Between Google BigQuery and SAP HANA

Tutorial URL: https://developers.sap.com/tutorials/gcp-hxe-evt-bq-1.html
Within step 2, the instructions state "Copy the contents into the editor".
However, the "contents" is an IMAGE! So there is no way to copy/paste and the contents of setup.sh are nowhere to be found...

The tutorial starts with "this tutorial can only be completed at TechEd", and the availability of such script is one of the reasons why. Unfortunately, we cannot share that script.
However, the script does the same that is described here: https://codelabs.developers.google.com/codelabs/sap-hana-connect-to-bigquery/#0


Update helloworld image version to match quickstart guide

What this PR does / why we need it:

According to QuickStart, the version of the helloworld image in kubernetes/canary/deployment.yaml L22 is v0.1.0, but in fact, v0.5.0 is correct.

fix it :)
Which issue(s) this PR fixes:
Fixes #1149
Does this PR introduce a user-facing change?:

NONE

Nice catch! Thank you.
/trigger presubmits
/approve

/trigger presubmits

@sanposhiho Sorry for the lack of context, thank you!


Don't clear all intervals during initialisation of Large Clock

The clearInterval() stops any boot code or widgets that use intervals from working.
See conversation here: http://forum.espruino.com/conversations/356341/

Large Clock that line is totally pointless and could just be removed

Cool - thanks!


Error output written in white causes frustration

When using fuse-box errors are printed with a white text color. In terminals with a white background, e.g. Mac OS X Terminal, the output is hidden.
This is the output with a JSON load error:

When selecting the text, the message appears:

Thanks for the issue!
Will be fixed in the next release!

GJ @nchanged Thanks


[RFC]: add @stdlib/assert/is-ragged-nested-array

Description
This RFC proposes adding the package @stdlib/assert/is-ragged-nested-array.
The package should be similar in structure to @stdlib/assert/is-array-like-object.
A ragged nested array is a nested array having inner dimensions of varying lengths. E.g.,
[
  [ 1, 2, 3 ],
  [ 4, 5 ]
]

is a ragged nested array.
function isRaggedNestedArray( value ) { ... }

Package: @stdlib/assert/is-ragged-nested-array
Alias: isRaggedNestedArray
Related Issues
None.
Questions

Should this package only check for two-dimensional ragged arrays (i.e., an array of arrays)? Or should it recurse and check at each potential inner nested array depth?

Answer: we should only support two-dimensional nested arrays.

Should we require strict Array instances or are array-like objects okay?

Answer: we should not use isArray, but isArrayLikeObject. In order for a value to be a nested ragged array, the input value must be an array-like object and each element must be an array-like object and at least one element must have a length which differs from another element.
Other
No.
Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

Hey @kgryte, I can take this up after reviewing the feature and also the package, 'is-array-like-object'! Could you please assign me this issue?

Thanks for volunteering to work on this, @performant23. Please feel free to submit a PR implementing this feature.

Hello @kgryte, hope you're doing well! Just to confirm and ensure I don't take any conditions for granted, when we say an array is a ragged nested array, are we considering it the exclusive sense (with only arrays having different lengths are allowed or do we allow some or all the arrays inside the main array to have same lengths)?

@kgryte i want to contribute to this issue could you assign me this please

@performant23, okay but i feel it is a good first issue this will give me the understanding of the code how it is being written by the developers. i will also be working on this issue just to get grasp of the codebase.

@performant23 Feel free to open a draft PR.
@Ruwaid884 You can also check out other "good first issues" which can be found on the issue tracker.


Rafa 15 unit test

This PR fixes #15 . More details:

Adds a mock server for unit testing.
Adds a proper way to read config parameters
Add unit tests for Users APIs
Add unit tests for Repos APIs
Add unit tests for Auth APIs

@franciscodr Could you review please? Thank you

LGTM

this is the comment

this is the comment

this is the comment

this is the comment

@bond15 Are we proving the API to add comments in PRs by using this one? If so... I need to unsubscribe from this thread :-)

this is the comment


Can this guide be used for i7-5600U CPU?

I am just a happy user and not an Hackintosh expert, so I wonder if you could comment on if this guide would apply to my hardware (i7-5600U an d Intel HD 5500 graphics)?

Hello, jona! Yes, your ThinkPad model is supported.

Yes. The CPU is supported


How to

Can you make a .jar for library or can you write a installation guide for windows with intellij?

Because IntelliJ manages the dependencies in a shared manner, it won't detect the relocation of the package structure correctly. You could work around this by opening each sub project indivuallily. So you follow the guide from the README and then open the file core/pom.xml within IntelliJ. That works.

Why do you not make a .jar. Then how i import the maven?

Why do you not make a .jar.

Because the project is designed to be standalone, but you could make a pull request if you want to.

Then how i import the maven?

Use the import feature of IntelliJ

Can you help me? Where is the import section?

Just take a carefully at the start screen.

Okay... I'll test it


prove: Refactor calculate roots

Refactor of the calculateRoots() function so that the overall code is simpler.
This PR also helps with performance as well since the allocation that used
to happen in mergeSortedHashAndPos is avoided now.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

70 of 73 (95.89%)  changed or added relevant lines in 1 file are covered.
25 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.9%) to 83.587%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

prove.go
70
73
95.89%

Files with Coverage Reduction
New Missed Lines
%

prove.go
25
89.32%

Totals

Change from base Build<PHONE_NUMBER>:
-0.9%

Covered Lines:
2200

Relevant Lines:
2632

💛  - Coveralls


Exports

Score Exports already exist.
Submission exports is not a commonly used feature now that we have autograding. There is also a easy to use script that provides code exports.
I'm going to remove the 3.1 milestone for this. It'd be nice to have code exports in the web application, but it's not as necessary as some of the other features in this release.

Submission exports now exist in #1045


Offering assistance and discussing upkeep / releases for vtprotobuf

Hello everyone,
I'd like to discuss the future maintenance of vtprotobuf. As an avid user from Datadog, I've recognized its potential in enhancing protobuf message operations. However, recent activity in the repository has been limited, with the last release dating back to January.
To bolster vtprotobuf's capabilities for developers, I propose exploring a more active maintenance and release cycle. Acknowledging the demands of open-source projects, I'm here to extend a hand, along with some of my coworkers from Datadog, to offer assistance.
Although notable bugs and promising ideas exist in pull requests and issues (like https://github.com/planetscale/vtprotobuf/pull/83 and https://github.com/planetscale/vtprotobuf/issues/54), no PRs have been merged since the beginning of the year. We're enthusiastic about bridging this gap and improving vtprotobuf's efficiency and robustness.
In this regard, I suggest opening a discussion on project maintenance and future releases. Our goal is collaborative growth, not imposition. Whether it's contributing code, managing issues, updating documentation, or handling releases, we are more than willing to step in.
Let's collectively ensure that vtprotobuf remains a valuable resource for developers. Your insights are vital, and I'm excited about the potential improvements we can achieve.
Looking forward to your thoughts and suggestions. Thank you for your time and consideration.

Hey @nockty, thanks for reaching out. You actually caught me off on paternity leave, which is the reason why the repository was basically frozen for the better part of this year. This is my bad -- I did not hand over this specific project before I left. Sorry about that!
But I'm back now, and really happy that DD is interested on helping maintain the library.
I know that lots of people rely on vtprotobuf at this point, including Vitess, but the project already does 100% of what we required it to do for Vitess RPC, so I've been finding it hard to spend more of my time working on it. Having maintainers that are not tied to Vitess itself will be helpful to ensure that vtprotobuf covers more use cases.
I'm gonna start by discussing the security implications of this internally. We may require to spin-off this into its own organization before we can add external contributors to the project. I'll let you know asap. Thanks again for your interest!

Hi @vmg ,
I too would like to offer support from TriggerMail to maintain this too!  This is an awesome library and I would love to see it supported going forward.
Thanks,
Glenn

Hi @vmg, thank you for getting back to us, and congratulations on your paternity leave! It's completely understandable that life sometimes takes precedence.
I'm glad to hear that you're back and the project is getting attention again. It's exciting that DD's interest in maintaining vtprotobuf can align with the project's future and it's wonderful to see such positive engagement from the TriggerMail team as well.
I'm really looking forward to hearing from you about the next steps. Thanks for your responsiveness and dedication to the project!

Hi,
@nockty thanks for initiative and for rising this question!
@vmg here at Uber we're also looking for an alternative to outdated and abandoned gogo/protobuf project. And vtProto seems really promising!
But still we want to understands the desired future of this project:

Does (will?) project have multiple owners/admins who may support activity, including sorting out issues, PRs and new releases?
Who and how is (will?) making decision about features and approaches: what should be implemented, what should be left out of scope, etc.

As we're interested in this project, we also offer our help and participation in this project along with @nockty and @gnagel (at companies behind them) who already expressed their will.
Thanks!

As a hint for people interesting on contributing to the library: I think the main open issue right now blocking our next release is (de)serialization support for well-known types. There's an open PR that implements it, but it's large and complex and I haven't gotten around to reviewing it yet. Testing it in your own projects and giving feedback would be immensely helpful.

@nockty: :wave: welcome back from your holidays! I've given you triage access to the repository. Thanks again for your interest on the project and let me know what can I do to make your life easier.

Awesome, thank you for your trust @vmg. I'll do my best to ensure that vtprotobuf succeeds in covering more use cases. I'm also thrilled to see that the project is getting active again, that's exciting!
I'll let you know if I need anything but in the meantime feel free to provide feedback at anytime so that I'm helping the project move in the right direction.

speaking of, it looks like there's a fix for oneof encoding in main but there hasn't been a release with that fix yet. Is there anything blocking cutting a new release?


Retry 'no route to host' errors by default

As seen in net-kourier nightlies like https://prow.knative.dev/view/gs/knative-prow/logs/ci-knative-sandbox-net-kourier-nightly-release/1412336305043410944.
Things started failing with no changes done whatsoever. Upon investigation, it turned out that the test runner's Linux version was bumped from 4.19 to 5.4. The working theory is, that the error handling in the TCP stack changes slightly so that errors that would've been reported as "connection refused" (which we already retry) are now reported as "no route to host", which we might want to retry as well.
/assign @dprotaso

/lgtm
/approve


SSP document remediations

In order to ensure our SSP is ready for JAB technical reviewers, we need to remediate the points raised by our 3PAO interviews.
(Note: Be careful to ensure that your changes are made in the right place to find their way back into the YAML! See in particular 18F/cg-atlas#91.)
Acceptance Criteria

[x] IR: Incident Response Plan should include:

[x] Frequency of testing/tabletop exercises (yearly)
[x] Frequency of review of the IRP (yearly)
[x] Who is notified, and how they are notified about IRP changes (Make an issue in GitHub and @-cloud-gov-team)

[x] PL: PL-1b reads “The 18F Program Office will review and update the current 18F Identification and authorization Policy at least every 3 years and any documented procedures at least annually.” when it should say “Security planning policy” instead.
[x] AU: AU-3 (1) should remove the section about BOSH CLI
[x] CP: Need to mark everything as planned controls.
[x] AT: Need to mark AT-1 and AT-2 as partially implemented since we don’t have a cloud.gov-specific training plan (Adam sez: Veris seems to think this is entirely covered by GSA training, which applies to all employees and contractors! Double-check and if so ignore this one.)
[x] AT: Add training on the IRP, CPP, CMP, etc. to the Onboarding Checklist
[x] MA/MP/PE: Need to change from N/A to Inherited from AWS GovCloud FedRAMP package and mark everything as Implemented.
[x] CM: Configuration Management

[x] Replace all the references of Trello to GitHub
[x] Replace “18F DevOps and SecOps” to “cloud.gov operators”
[x] CM: CM-2 (3) Needs to read: “If there is any manual change on any part of the infrastructure Bosh and Terraform will correct the settings and revert back to the known state.”
[x] CM: We should remove the reference to the number of VMs
[x] CM: CM-2 (7) Needs to read: “Per Federal policy 18F employees are not allowed to take equipment outside of the United States without explicit permission.”
[x] CM: CM-8: Add “Bosh continuously maintains inventory of all instances and configuration”

@clovett3 can you pick these changes from cg-compliance?


Request - Wrap title of notes in file explorer

Great theme!
Your theme doesnt wrap name of the note (the vanilla Obsisidian doesn't do it too)

But some  themes  wrap the name (this is Dark Graphite Pie)

Do you consider adding  name wrapping to your theme? If not, I will myself  locally add it as and standalone CSS piece

Hi there, :)
Thank you. Yeah sure I'll look into it. :)

I asked on Obsidian discord, this is what Dark Graphite Pie use
/* Wrap long nav text and some paddings */
.nav-file-title,
.nav-folder-title {
  white-space: normal;
  width: auto;
}

Merged with c6faefd5b704313047b7a2d72494f121738c5752 :)

Thanks!


module 'celeb_detector' has no attribute 'celeb_recognition'

This is the code as shown in the documentation: https://pypi.org/project/celeb-detector/
import celeb_detector # on running for the first time, this will download vggface model
# img_path = 'sample_image.jpg' # this supports both local path and web url like https://sample/sample_image_url.jpg
img_path = 'Alia_Bhatt_promoting_Kalank.jpg' # this supports both local path and web url like https://sample/sample_image_url.jpg
celeb_detector.celeb_recognition(img_path) # on running for the first time, 2 files (celeb_mapping.json and celeb_index_60.ann) will downloaded to your home directory

This is the error I am getting:
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
[<ipython-input-17-d0e4e36cb43e>](https://localhost:8080/#) in <cell line: 4>()
      2 # img_path = 'sample_image.jpg' # this supports both local path and web url like https://sample/sample_image_url.jpg
      3 img_path = 'Alia_Bhatt_promoting_Kalank.jpg' # this supports both local path and web url like https://sample/sample_image_url.jpg
----> 4 celeb_detector.celeb_recognition(img_path) # on running for the first time, 2 files (celeb_mapping.json and celeb_index_60.ann) will downloaded to your home directory

AttributeError: module 'celeb_detector' has no attribute 'celeb_recognition'

Hi, did you pip install celeb-detector?
You can refer to my huggingface repo, it has more updated readme and the latest models as well:
https://huggingface.co/resnet151/celeb_detector
You can also try this:
git lfs install
git clone https://huggingface.co/resnet151/celeb_detector
cd celeb_detector
pip install -e .

This should install all of the required dependencies.


[PE-D] No way to see client details using the CLI

it appears that unless selected on the GUI it is not possible to see person details, as this is the screen after implementing the find command on Sherlock Holmes and without selecting the name on the list on the GUI, and there does not appear to be any other command that allows users to see the details. The product becomes unusable if required to adhere to the prescribed project constraints of being CLI based.

Labels: severity.High type.FeatureFlaw
original: prgJ/ped#8

OK! We will add the detail(phone, address, email) to the card for the client.


DIETClassifier adds a confidence value to entity predictions

Proposed changes:

Update the CRF to return scores that can be used as confidence values.
DIETClassifier now adds a confidence value to entity predictions.

closes https://github.com/RasaHQ/rasa/issues/5481
(Will also make a PR to tensorflow addons directly. If they take the changes and adapt the CRF, we can remove our custom CRF again.)
Status (please check what you already did):

[x] added some tests for the functionality
[x] updated the documentation
[x] updated the changelog (please check changelog for instructions)
[x] reformat files using black (please check Readme for instructions)

Tensorflow Addons PR: https://github.com/tensorflow/addons/pull/1935

@tabergma could you please apply my comments to tf addons PR as well

This is a good feature to add. However, current rasa documentation at https://rasa.com/docs/rasa/nlu/entity-extraction/#entity-extraction-custom-features says

Does the documentation need to be updated to indicate that now DIET returns a confidence value?

@vish0701 The feature is not yet released. It is merged into master and we also updated the documentation. Once we do the next release from master, you will have the confidence value for entities coming from the DIETClassifier and the documentation will be updated as well.

Was this already included in a release? From my understanding it is not in 1.10.14.

This will be included in the Rasa 2.0 release, which should happen any day now.


Missing 'GetValueAsString()' method

Rather than having to check to cast to every specific Haystack type/'Value' - when you're traversing an unknown database, it would help so-so much for all of the 'Value' classes to inherit an overridable/virtual 'GetValueAsString()' method to convert/To-String the internal ('.Value') value to a string; possibly with the optional argument to allow you to influence the type of conversion - for when you do happen to know the underlying type - e.g. select either a short or long string conversion for DateTimes.
(Or maybe at the very-very least - although less desirable, an extension method for each class with the same method name.)

Hi @DennisVM-D2i, the reason this has not been added is because not all values have a clear-cut way to stringify them. I suggest you use the most applicable writer for the job and use it to get the string values.
For example, the ZincWriter.ToZinc static method can be used to convert any haystack value to a Zinc string representation.

Hi Chris, thanks for you're reply.
The thought was that if you mark the methods as 'virtual', then a client could decide to consistently override them, so you'd be giving the benefit of an out-of-the-box starting point.
I personally feel that having to keep having repeated switch statements to decide how to convert from every type - or even one method to do it, just seems like it could (if not should) sit within/be provided by the client.
I was even extending my thinking to have 2 other methods; one being the 'GetValueAsHsTypeString()', that provides a more descriptive & structured rendition; e.g. here are a (related) pair sample of the two methods, both for the 'HaystackBinary':
``
// DVM: Added:
public override string GetValueAsHsTypeString()
{
return $"<# HsBinary: Mime="{Mime}" #>";
}
    // DVM: Added:
    public override string GetValueAsString()
    {
        return Mime;
    }

``
I'm still trying to form my own opinion of the format of the 'HsType' string, so maybe like this following alternative instead - just to shorten the left hand-side of it (for ease of reading/viewport-landscape before scrolling to the right is required), by moving the proper/long-form type name to the right (- which maybe one day could just-in-case allow for a 3rd-party-namespaced type, e.g. 'AbcCorp:OctetArray'):
        public override string GetValueAsHsTypeString()         {             return $"<# HsBin: Mime=\"{Mime}\" Type="HsBinary" #>";         }
The other method would be to return the value as an 'object' (rather than convert it to a 'string') - 'GetValueAsObject()'.

Hi I get what you are saying, but if you were to go that one implementation/method route, I would still question whether the method should be an overrideable method in a base class; so if you really didn't like this one-size-fits all version, you could customise or wholeheartedly replace it (for a specific type or two).
One benefit of the many-implementations, is the opportunity to render it better/closer to the needs of the specific type.
But as a generic starting point, something like what you've got makes sense.
But maybe my thinking was more a non-Zinc/more human-friendly rendition.
At the very least, a base class feels like it could prove useful, even if you decide not in this specific case.

I'm still trying to follow your reasoning here; having some virtual method with the sole purpose over it being overridable, you'd have to do the following to make it work:

Override all Haystack Types
Create mapping logic form the base types to your custom types
Create a custom HaystackClient that handles the custom mapping logic
All this just to have a ToString method, that you can also add using Extension methods.

Perhaps I'm just missing your point and you can provide a simple example PR to show what direction you are thinking of?

Hi @DennisVM-D2i , do you want to follow up on this issue, or is it fair to close it at this time?

(Hi, I'm trying to get the time to get back to this; sorry.)
Dennis McEnaney   Technical Lead
tel       020 7481 1655tel:+442074811655
[Smart Spaces]
[Linkedin]https://www.linkedin.com/company/smartspacesapp[Facebook]https://www.facebook.com/smartspacesapp[Twitter]https://twitter.com/SmartSpacesApp[Instagram]https://www.instagram.com/smartspaces_/
www.smartspaces.apphttp://www.smartspaces.app
Registered Address: D2 Interactive, Portsoken House, 155-157 Minories, London, EC3N 1LJhttps://goo.gl/maps/2yY7N3YNd7E2
This email may be private and confidential, and contain legally privileged information. If you are not the addressee you should not disclose, copy, circulate or in any other way use the information contained in this transmission. Such unauthorised use is prohibited and may be unlawful. If you are not the intended recipient, please contact us immediately.
[https://www.smartspaces.app/signature/lhspacer.gif][EG Tech Awards]      [gcuk Coworking Awards]       [Property Awards Finalist 2022] https://awards.propertyweek.com/propertyawards2020/en/page/2020-shortlist       [Construction Excellence SECBE Awards]       [BCO Awards]       [Cyber Essentials Plus] https://www.smartspaces.app/signature/CyberEssentialsScheme_Certificate.pdf      [SmartScore AP]
[Building Engagement]
From: Chris Breederveld @.>
Sent: Saturday, March 2, 2024 7:07 PM
To: SPIE-Worksphere/haystack-csharp @.>
Cc: Dennis V McEnaney @.>; Mention @.>
Subject: Re: [SPIE-Worksphere/haystack-csharp] Missing 'GetValueAsString()' method (Issue #111)
Hi @DennisVM-D2ihttps://github.com/DennisVM-D2i , do you want to follow up on this issue, or is it fair to close it at this time?

Reply to this email directly, view it on GitHubhttps://github.com/SPIE-Worksphere/haystack-csharp/issues/111#issuecomment-1974880997, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIUOSLXO5SLP3XVN5HNO6W3YWIPOHAVCNFSM6AAAAAA6MQDVCWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZUHA4DAOJZG4.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Disclaimer
The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful.
This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast, a leader in email security and cyber resilience. Mimecast integrates email defenses with brand protection, security awareness training, web security, compliance and other essential capabilities. Mimecast helps protect large and small organizations from malicious activity, human error and technology failure; and to lead the movement toward building a more resilient world. To find out more, visit our website.

Sure, I'll wait


why my minecraft crashed

Have you considered joining our discord?
The issues repository is meant for the installer only. We cannot help you here.


docker image lack some module

hi, some errors occur when i using the pulled opennmt docker image. Since i am not used to lua, this error is hard for me to resolve. Can anybody give me a help...
root@5b63449e0fe8:/home/ww110750/OpenNMT# th preprocess.lua -train_src data/src-train.txt -train_tgt data/tgt-train.txt -valid_src data/src-val.txt -valid_tgt data/tgt-val.txt -save_data data/demo
/root/torch/install/bin/luajit: /root/torch/install/share/lua/5.1/trepl/init.lua:389: /root/torch/install/share/lua/5.1/trepl/init.lua:389: /root/torch/install/share/lua/5.1/trepl/init.lua:389: /root/torch/install/share/lua/5.1/trepl/init.lua:389: module 'tds' not found:No LuaRocks module found for tds
no field package.preload['tds']
no file '/root/.luarocks/share/lua/5.1/tds.lua'
no file '/root/.luarocks/share/lua/5.1/tds/init.lua'
no file '/root/torch/install/share/lua/5.1/tds.lua'
no file '/root/torch/install/share/lua/5.1/tds/init.lua'
no file './tds.lua'
no file '/root/torch/install/share/luajit-2.1.0-beta1/tds.lua'
no file '/usr/local/share/lua/5.1/tds.lua'
no file '/usr/local/share/lua/5.1/tds/init.lua'
no file '/root/.luarocks/lib/lua/5.1/tds.so'
no file '/root/torch/install/lib/lua/5.1/tds.so'
no file '/root/torch/install/lib/tds.so'
no file './tds.so'
no file '/usr/local/lib/lua/5.1/tds.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
stack traceback:
[C]: in function 'error'
/root/torch/install/share/lua/5.1/trepl/init.lua:389: in function 'require'
preprocess.lua:1: in main chunk
[C]: in function 'dofile'
/root/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:145: in main chunk
[C]: at 0x00406670

We recently added a dependency to tds and did not update the docker image yet.
Can you run luarocks install tds and try again?

Thanks, the error disappear after installing the tds, and now the project runs correctly.

Thanks, the error disappear after installing the tds, and now the project runs correctly.

:+1:

:+1:

Let's keep this open until I fix it.


removed unnecessary deviation for Arista

Pull Request Test Coverage Report for Build<PHONE_NUMBER>8
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.252%

Totals

Change from base Build<PHONE_NUMBER>1:
0.0%

Covered Lines:
1983

Relevant Lines:
3589

💛  - Coveralls


[Question] Large additional financial cost due to useless logs

Library name and version
Azure.Messaging.ServiceBus 7.15.0
Query/Question
Could you please explain why in the class ServiceBusRetryOptions the property TryTimeout has a check that does not allow us to specify the value TimeSpan.MaxValue? Are there any reasons that do not allow us to turn off this timer for Azure.Messaging.ServiceBus? I would be very grateful if you give an example of when disabling the timer can lead to unpleasant consequences, this example will help a lot in understanding and we can use your package more correctly.
The fact is that Azure.Messaging.ServiceBus uses Microsoft.Azure.Amqp in which there are two options for initializing the message processing pipeline: by timer and by signal. Every time the timer expires, a message processing pipeline is started for each consumer, even if there are no messages in the queue, which as a result leads to a lot of meaningless logs inside ApplicationInsights. In Microsoft.Azure.Amqp it is possible to disable the timer, for this, you just need to specify the TimeSpan.MaxValue value. By default, the timer is set to 1 minute, so one log is created every minute for each consumer. If the project has 100 consumers, then every minute there will be 100 extra logs, 6 000 in one hour, 144 000 in one day, 4 320 000 in a month... This is an insane amount that requires additional financial costs. Changing the timer to 1 hour doesn't solve the problem, only slightly lessens it.
Since we have a very large project on SOA architecture, we have tens and hundreds of consumers, so this is a serious problem for us.
I made a small test project that you can use to reproduce the problem.

Environment
Windows 11 (10.0.22621)
dotnet SDK 6.0.410
Microsoft.ApplicationInsights.AspNetCore 2.22.0-beta3 (reproduced in all versions)

Hi @Shazhko-Artem.  Thank you for reaching out and we regret that you're experiencing difficulties.   The TryTimeout governs a single service operation, none of which the service itself would permit to run for forever.  Can you please help us understand what service call you're making that you believe would take more than an hour to complete?

Hi @jsquire. Thank you very much for your prompt reply. I found only one way to change the timer in the class ReceiveAsyncResult  using package Azure.Messaging.ServiceBus functionality. As I wrote above, this is through the ServiceBusRetryOptions class. Here is an example of how I changed the value of the timer from 1 minute to 1 hour in my example, but unfortunately I cannot specify the value TimeSpan.MaxValue to disable this timer, because I get a validation error inside your package.

@jsquire sorry for the misunderstanding. I understand what you mean. Let me give you more details about the actual situation we are facing and how we are using your package. We use MassTransit which already encapsulates all the queuing logic and directly uses Azure.Messaging.ServiceBus. In any scenario using MassTransit, we get extra logs. We have made an analysis and found out the cause of the problem and one of the options for how it can be solved.
The reason for the problem is the following. In MassTransit, the class ConnectionContextFactory is responsible for creating and configuring the ServiceBusClient. Here you can see that they don't specify a value for TryTimeout at all, so the default value of one minute is used. I am going to open an issue for them and make a PR to add the ability to specify TryTimeout, but before that, I raised a ticket in azure-amqp to understand what this timer is for and raised a ticket here to understand why you have a validation that does not allow you to disable this timer (to disable the timer, I need to specify the value TimeSpan.MaxValue since the value from the ServiceBusRetryOptions.TryTimeout property is passed through the call chain to the ReceiveAsyncResult class by the timeout parameter).
Earlier, I just wanted to provide an isolated code example that demonstrates that the problem is not related to MassTransit and is reproduced already in the Azure.Messaging.ServiceBus package itself. But if you need a usage scenario, then, as I said above, you can look it up in the ConnectionContextFactory class of the MassTransit package.
Let me know if you need any more information, I will be happy to provide it as soon as possible.

Thanks for the additional context, @Shazhko-Artem.  I think I'm now seeing the end-to-end picture.

The screenshot that you've shared are diagnostic spans being emitted, not SDK logs.
The client type performing receives is a ServiceBusProcessor, which is doing its job and continually polling for messages.
Each receive operation emits diagnostic spans that AI is pulling in.
You're seeing a volume of spans that you'd like to reduce.

The operation timeout isn't the right way to do this, as it exists to govern all service operations - none of which should run indefinitely.  When receiving messages, there is a maxWaitTime parameter that is used for "How long should I wait for a message to be avaialble".   This has no upper bound and governs the time for a single receive.   The TryTimeout is used only if maxWaitTime is null.
The issue here comes from the processor not allowing the maxWaittime to be configured.  It exists on ServiceBusProcessorOptions but is not exposed.   Because of that, it is always null and the TryTimeout is used.
@JoshLove-msft : Do you know why MaxReceiveWaitTime is marked as internal on the processor options?  If we make that public, are there scenarios that I'm overlooking where it may cause problems?
@lmolkova : Do you have any suggestions for how a certain set of diagnostic spans can be filtered such that they aren't collected by AI?   That may help to mitigate the problem in the short term.

@Shazhko-Artem
you can disable all Azure SDK requests and dependencies by configuring DependencyTrackingTelemetryModule with the following code
builder.Services.ConfigureTelemetryModule<DependencyTrackingTelemetryModule>((m, _) => m.EnableAzureSdkTelemetryListener = false);

You can also filter out timed-out operations using telemetry processors
We trace these calls since they tell that consumers are trying to receive messages and get nothing, which is still valuable information. The rate of them (2 dependencies per minute and subject to sampling would be quite low compared to the rest of the telemetry services under scale would generate).

@lmolkova Thank you very much for the answer. We cannot disable all Azure SDK requests and dependencies, but we considered the option of writing a filter. We have made the following filter.
public class ServiceBusReceiverFilter : ITelemetryProcessor
{
    private readonly ITelemetryProcessor next;

    public ServiceBusReceiverFilter(ITelemetryProcessor next)
    {
        this.next = next;
    }

    public void Process(ITelemetry telemetry)
    {
        if (telemetry is DependencyTelemetry { Name: "ServiceBusReceiver.Receive" })
        {
            return;
        }

        this.next.Process(telemetry);
    }
}

Initially, we were worried that by filtering telemetry by the name ServiceBusReceiver.Receive, we might accidentally filter out another important telemetry with the same name, but with different content.
As we found out, without a filter, this log is written within this DiagnosticScope and displays the time that has passed since the previous call to the ReceiveMessagesAsync method. (The consumer received messages every 10-11 seconds and it created telemetry records with a duration of 10 seconds.)

In general, this filter works for us, we will conduct a few more additional tests, and if everything goes well, I will close this ticket. Thank you very much for your support.

@Shazhko-Artem :  Thank you for the update and I'm glad that we were able to get you unblocked.  I'm going to mark this as addressed, but if you come across difficulties with your testing, please /unresolve and we'd be happy to assist further.


Fix resnet load

used to error on load
  File "/mnt/d/Code/tinygrad/extra/models/resnet.py", line 162, in <module>
    model.load_from_pretrained()
  File "/mnt/d/Code/tinygrad/extra/models/resnet.py", line 151, in load_from_pretrained
    obj.assign(dat)
  File "/mnt/d/Code/tinygrad/tinygrad/tensor.py", line 222, in assign
    assert self.shape == x.shape, f"assign shape mismatch {self.shape} != {x.shape}"
AssertionError: assign shape mismatch (1,) != ()

@chenyuxyz whats the proper way to fix this?