How to fix No embedded web UI found?

First of all. Thanks for bringing up a new libtorrent based client with cross platform support! That is really great and the project looks awesome so far!
I just build porla like described in https://github.com/porla/porla#development
But there appears a warning about missing webui after starting the binary.
[...]
[2023-06-16 13:53:51.945689] [0x0000ffff8aa5c020] [info]    Running HTTP server on <IP_ADDRESS>:1337
[2023-06-16 13:53:51.945797] [0x0000ffff8aa5c020] [info]    Enabling HTTP metrics endpoint
[2023-06-16 13:53:51.945819] [0x0000ffff8aa5c020] [info]    Enabling HTTP web UI
[2023-06-16 13:53:51.945876] [0x0000ffff8aa5c020] [warning] No embedded web UI found

Where I can find embedded WebUI?
Readme in https://github.com/porla/porla/tree/main/html writes something about additional webserver. I don't think that's what embedded web ui means.
After reading https://github.com/porla/porla/issues/145 it sounds the web ui have to build separately with npm?
I'm a little bit confused and can not find something related in any of the docs.
Please tell me how to fix that warning.

All the pipelines produce static binaries for arm64 and amd64 - here's the latest from main for example https://github.com/porla/porla/actions/runs/5242062776

Oh nice. Didn't see that arm64 static binary build support is already there. This should be much easier instead of self building each time. Thanks. :)


How to allocate U128 to two U64?

Hi Author,
Thank you for your contribution！i am trying to use your code to implement arithmetic for bigint，but i found the testcase abou it is too easy , i want to know how do you allocate U128 to two U64 ?   break down U128  into two binary number ？ or other way.
Thanks!

Hi Jason:
Thank you for your help. i had followed your way to try disassembling of u64 , as below:
uint64_t u64 =<PHONE_NUMBER>3709551615;
upper (u64 >> 32)                    =<PHONE_NUMBER>
lower (u64 &  0xFFFFFFFFULL) =<PHONE_NUMBER>
4294967295 is the MAX value of u32 , so the result meet expectation ，but the result of u128 is invalid , i use the MAX value of u128(340282366920938463463374607431768211455) , as below:
upper<PHONE_NUMBER>20938463463374607431768211455 >> 64)                                  = 0
lower<PHONE_NUMBER>20938463463374607431768211455 & 0xFFFFFFFFFFFFFFFFULL)) =<PHONE_NUMBER>3709551615
it look like " >>" operator doesn't support the operation ， did you also find the issue in your environment ? or did you open some compilation options ？
Thanks！

Did you hardcode<PHONE_NUMBER>20938463463374607431768211455 into your code? If so, that wouldn't be allowed, since uint128_t is not a standard type (otherwise, there would be no point in having this library).<PHONE_NUMBER>20938463463374607431768211455 would be treated as a literal and cast into the largest standard type there is, aka int64_t/long long int (since the value is in decimal, with no suffixes), meaning the first 64 bits would be ignored, which is what you are seeing.
I did define a few constants I thought would be useful in the header. uint128_max seems to be what you want.
uint128_t max = uint128_max;          //<PHONE_NUMBER>20938463463374607431768211455
uint64_t upper = max >> 64;           //<PHONE_NUMBER>3709551615
uint64_t lower = max & (uint64_t) -1; //<PHONE_NUMBER>3709551615

GCC does have a __int128 extension, but you still would not be able to hard code<PHONE_NUMBER>20938463463374607431768211455, as There is no support in GCC for expressing an integer constant of type __int128 for targets with long long integer less than 128 bits wide.

I understand, Thanks!


Conclusion about long-range dependency seems not true

Authors stated in the paper that: "Contrary to popular belief, the long-range dependency hinders NN optimization.". However, recent models that adopts long-range dependency achieves really great results like: VAN, ConvNeXt or RepLKNet
Therefore, the statement I mentioned above seems a little bit wrong? I know there's an issue that discuss about large kernel Conv, however, the issue did not mention the statement above.
Moreover, the Experiments in Fig 7, you use Convolutional SANs. This model has 2 variants: 1D-CSANs and 2D-CSANs. The one you are doing experiments on is 2D-CSANs right? It not only consider the interaction among tokens in a single, but also consider the interaction among different heads. The "long-range dependency" is still very beneficial in the 1D-CSANs (Fig below), which typically, is what I consider the true "long-range dependency" in Self-attention.

When using 2D-CSANs, it considers both aspects: interaction among heads, and tokens, which brings negative performance when scaling up window sizes. The results is align with Convolutional SANs paper.

However, I don't consider 2D-CSANs negative performance when scaling up window sizes is: "long-range dependency hinders NN optimization" since it consider 2 aspects in the model. Sorry for writing this long, if you don't understand any parts in my question, I can clarify it for you

Hi @iumyx2612,
To explain the statement, we first clarify the terminologies. If an inductive bias (e.g., locality) improves the performance of an NN, this is either a method to help the NNs learn “strong representations”, or a method to “regularize” it. An improved training NLL (i.e., lower training NLL) suggests that this bias helps the “optimization” and the NN learn strong representations. Conversely, a compromised training NLL indicates that the bias or technique regularizes the NN. Improved accuracy does not always implies that improved optimization.
Fig. 7a shows that locality improves the training NLL by comparing the 5×5 kernel and the 8×8 kernel. This implies that long-range dependencies hinder optimization and locality helps to learn even strong representations in this setting (in this context, we can paraphrase "the long-range dependency hinders NN optimization" as "the locality helps to learn strong representations” — sorry for the confusion). This observation is consistent with the observation in Fig. 5. Stronger locality compromises the training NLL but improves accuracy, which implies that stronger locality constraints regularize NNs. But too strong regularization may degrade the accuracy (even though Fig. 7 does not show this effect).
In some settings, moderate (neither global nor local) long-range dependencies can help improve performance; I believe this is not contrary to the statement. In practice, after our paper was published, several papers introduce longer-range dependencies into CNNs to improve the accuracy. The 3×3 kernel of conventional CNNs may be too local.

Hi @iumyx2612,
To explain the statement, we first clarify the terminologies. If an inductive bias (e.g., locality) improves the performance of NNs, this is either a method to help the NNs learn “strong representations”, or a method to “regularize” it. An improved training NLL (i.e., lower training NLL) suggests that this bias helps the “optimization” and the NN learn strong representations. Conversely, a compromised training NLL indicates that the bias or technique regularizes the NN. Improved accuracy does not always implies that improved optimization.
Fig. 7a shows that locality improves (i.e., reduces) the training NLL by comparing the 5×5 kernel and the 8×8 kernel. This implies that long-range dependencies hinder optimization and locality helps to learn even strong representations in this setting (in this context, we can paraphrase "the long-range dependency hinders NN optimization" as "the locality helps to learn strong representations” — sorry for the confusion). This observation is consistent with the observation in Fig. 5. Stronger locality compromises the training NLL but improves accuracy, which implies that stronger locality constraints regularize NNs. But too strong regularization may degrade the accuracy (even though Fig. 7 does not show this effect).
In some settings, moderate (neither global nor local) long-range dependencies can help improve performance; I believe this is not contrary to the statement. In practice, after our paper was published, several papers introduce longer-range dependencies into CNNs to improve the accuracy. The 3×3 kernel of conventional CNNs may be too local.

Sorry I mistook your statement. I thought Long-range dependency degrades the performance of NN (lower accuracy).
However, as I mentioned above the locality experiment using Convolutional SANs, maybe the higher training NLL, and lower the accuracy is because of including too many attention heads? Because authors of ConvSANs stated that: However, when the number of heads in attention goes up, the translation quality inversely drops. One possible reason is that the model still has the flexibility of learning a different distribution for each head with few interactions, while a large amount of interactions assumes more heads make “similar contributions”(page 4). Since I consider the long-range dependency we're talking about is only the range of tokens to attend in one attention head, I do not consider long-range dependency is including multiple attention heads

Hi @iumyx2612,
Thank you for the great follow-up question. I believe the observation you mention implies that stronger representations lead to stronger generalizations. However, this observation is underexplored and requires further investigation. In addition, I would like to point out that too strong (e.g. global) long-range dependencies degrade both the optimization and the performance of ViTs, so (moderate) locality constraints are often important to improve not only the performance but also the optimization.

Hi @iumyx2612,
Thank you for the great follow-up question. I believe the observation you mention implies that stronger representations lead to stronger generalizations. However, this observation is underexplored and requires further investigation. In addition, I would like to point out that too strong (e.g. global) long-range dependencies degrade both the optimization and the performance of ViTs, so (moderate) locality constraints are often important to improve not only the performance but also the optimization.

Thank you, now I fully understand!


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #86 (c390357) into main (b0866c2) will decrease coverage by 5.86%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #86      +/-   ##
==========================================
- Coverage   73.96%   68.09%   -5.87%
==========================================
  Files           4        3       -1
  Lines         457      351     -106
  Branches       28        0      -28
==========================================
- Hits          338      239      -99
+ Misses         85       78       -7
  Partials       34       34

Flag
Coverage Δ

cdk
?

go-lambda
68.09% <ø> (ø)

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

Impacted Files
Coverage Δ

src/index.ts

Continue to review full report at Codecov.

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


[bug] please fix this problem

when i want to build i get this error

oof @danielkrupinski

after last update it dosnt work

after last update it dosnt work

ik, lets just wait until dk is back online

make_unique_for_overwrite is added since C++14.. Would a /std:c++latest solve the problem?

new error @danielkrupinski

make_unique_for_overwrite is added since C++20.. Would a /std:c++latest solve the problem? @mina9999

Bruh, just update VS to last version, bcoz /std:c++latest presented in vcxproj file, and not needed to set it again


eliminates hacky overloads !

https://github.com/JuliaLang/julia/pull/39305 is merged, and now we can
really clean up our abstractinterpretation.jl.
The legacy hacky overloads will be kept in
src/legacy/abstractinterpretation.jl
for the compatbility with Julia v1.6.
JET benchmark will also show the impact analysis of constant prop' on
union-split signatures on JET analysis.

Codecov Report

Merging #129 (0951f40) into master (b35d569) will decrease coverage by 11.59%.
The diff coverage is 14.16%.

@@             Coverage Diff             @@
##           master     #129       +/-   ##
===========================================
- Coverage   82.47%   70.88%   -11.60%
===========================================
  Files          11       12        +1
  Lines        1164     1384      +220
===========================================
+ Hits          960      981       +21
- Misses        204      403      +199

Impacted Files
Coverage Δ

src/abstractinterpreterinterface.jl
61.90% <ø> (ø)

src/legacy/abstractinterpretation.jl
2.01% <2.01%> (ø)

src/abstractinterpretation.jl
96.38% <85.29%> (-1.62%)
:arrow_down:

Continue to review full report at Codecov.

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


metadata.json: change the name of the component

The component name has been changed according to the name of the component at aosadge.(see https://oem.aoscloud.io/oem/systems, name 'rcar-multinode-zephyr')

Reviewed-by: Vladyslav Goncharuk<EMAIL_ADDRESS>

Approved-by: Vladyslav Goncharuk<EMAIL_ADDRESS>


Tools Page Responsiveness

Fixes: #83
I have updated the responsiveness of Tools Page
Link: https://shruti025.github.io/HealhUb/

@skpandey885 please review this PR


How to view Binary Data in the wallet database storage of agent?

Hello everyone, i run the postgresql as the wallet storage of the agent. But when I query it in the database, i saw that all data are [binary data]. Do you know how to view it via database admin browser (currently, I use pgadmin4 to view postgres database).

Thank you very much!

With an "indy" wallet there's no way to inspect the database contents, they are encrypted.
With an "askar" wallet I'm not sure if there's a setting to run in "unencrypted mode", @andrewwhitehead ?

I think it makes sense to encrypt the data. But in some case, we want to query it.

I agree, I think it's an oversight that there is no option in an indy wallet to query the data.
However I thought we had an option with "askar" but I'm not sure offhand.

There are two ways to search, AFAIK.  First, if you are doing an exact match, you can search for the encyrpted value in the tags. That is how, for example, the credential searching is done for credentials with given claim names, or for given claim name/value pairs.  In Indy-SDK at least, there is a way to create unecrypted tags, so you can search with expressions.  Not sure if that is available for Aries Askar — it’s a pretty tricky feature to use in a general purpose tool.

@swcurran thank you very much for the information. So, I should dive to query for data by using provided code from Indy-SDK.

I forgot about the unencrypted tags feature.  If you start acapy with --exch-use-unencrypted-tags then aca-py will use unencrypted tags for more (but not all) records

@ianco ahh!! thank you for the information.


HTML content sanitization and parsing for html tags inside toast

Improvement:
Closes https://github.com/emilkowalski/sonner/issues/345
What has been done ✅:

[  DOMPurify sanitize library added. ]

[ Parsed value inserted into toast title and description to support HTML tags in toast. ]

Screenshots/Videos 🎥:
N/A

@emilkowalski 👋  Regarding the merging of dates in this fix, we need to use it in our project.  Could you please check why the deployment failed? Do we need to change anything else or is there some action needed to be done by you? Thanks

@NaveenkumarMD Thank you for the review.

@borisadamyan You have a frozen lock file

@borisadamyan You have a frozen lock file

OK, thanks for the note. Deployment passed successfully :)

Thanks!


[bug] Rollup: Unexpected character '#'

Rollup throws this error:
SyntaxError: Unexpected character '#' (67:2) in [redacted]\node_modules\dog\index.js

It seems to be caused by hashtag-prefixed members in the class, in index.js:
 // src/group.ts
 var Group = class {
  #child; // <------ THIS LINE
  #mapping;
  #kids;
  #sorted;
  #current;
  constructor(state, env) {
    this.uid = state.id.toString();
    this.#mapping = new Map();
    this.#kids = new Map();
    this.#sorted = [];
    let refs = this.link(env);
    this.#child = refs.child;
  }
  receive(req) {
    return abort(404);
  }

Any idea how to make it work with Rollup? I can't seem to find a straightforward solution on Google too. The example from this repo is not bundling the worker through Webpack or Rollup.

What is your version of Node? These are private class fields & have been supported since Node 12.4

I got Node 16.x, so it's not the issue.
Rollup seems to have some issues with the TC, even with AcornPrivateFields installed and loaded into the config.

https://github.com/rollup/rollup/issues/3128
https://github.com/ezolenko/rollup-plugin-typescript2/issues/217

// rollup.config.js
import commonjs from '@rollup/plugin-commonjs';
import injectProcessEnv from 'rollup-plugin-inject-process-env';
import json from '@rollup/plugin-json';
import nodeGlobals from 'rollup-plugin-node-globals'
import nodePolyfills from 'rollup-plugin-node-polyfills';
import { nodeResolve } from '@rollup/plugin-node-resolve';
import { terser } from 'rollup-plugin-terser';
import typescript from '@rollup/plugin-typescript';

export default {
    input: 'src/index.ts',
    output: {
        exports: 'named',
        format: 'es',
        file: 'dist/index.mjs',
        sourcemap: true,
    },
    plugins: [
        typescript(),
        commonjs(),
        json(),
        injectProcessEnv({
            CODE_VERSION: process.env.CODE_VERSION || 'dev',
        }),
        nodeResolve({ browser: true }),
        nodePolyfills({ crypto: true }),
        nodeGlobals({ process: true }),
        terser(),
    ],
}

I also tried to use es2020 instead of esnext, yet nothing got fixed.
{
  "compilerOptions": {
    "target": "esnext",
    "lib": ["esnext"],
    "downlevelIteration": true,
    "moduleResolution": "node",
    "outDir": "dist",
    "esModuleInterop": true,
    "typeRoots": [
      "./node_modules/@types",
      "./node_modules/@cloudflare"
    ],
  },
  "include": ["src"],
  "exclude": ["node_modules", "dist"]
}

Would DOG still function well if the private properties are dropped in favor of private typehinted properties?
class Group {
  // Before
  #children;

  // After
  private children;
}

The source isn't changing. It's a stable language feature.
Rollup accepts the syntax just fine: see REPL
It's another part of your toolchain.

Node Globals Rollup plugin is 4-6 years old and is stuck on acorn 5.x
Currently, acorn is 8.x, which has support for all ES2022 features. 🤦🏼♂ And given the fact that npm installs packages for other packages, there was no way to force acorn 8.x
It was indeed my toolchain. Disabling nodeGlobals() from the plugins in Rollup did the job, but now I have to find an alternative.

Ah, nice find! I think you should only need rollup-plugin-node-polyfills – although it'd be better to find/update dependencies that don't need Node internals at all!

Can't remember why I needed the nodeGlobals(), perhaps to access the process constant. I didn't actually need it in the project after all. 😅
Anyway, great package. It was easy to implement and wanted to build myself one, now we know who codes faster. 😄


DOSBox-X update to 0.83.18 and add 64-bit support

Here is an untested set of changes to update your DOSBox-X package for the latest release version, and also to add support for 64-bit without losing 32-bit support.

Thank you for your participation 🙂
I've actually added the support of the 64bits and 32bits versions of dosbox-x in this commit (I also corrected some other issues with the update script of the package), and now the latest version of dosbox-x is available via Chocolatey.
So, I am going to close this Pull Request. If you have any other improvement on this package, or on any other packages that I maintain, feel free to create some other Pull Request. I will review them with pleasure (even if it can take me a little bit of time 😆)


Release v0.5.2

Pull Request Test Coverage Report for Build 4322e2ba11debbcc88138f821bb3c956d3e81be1-PR-130
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 99.296%

Totals

Change from base Build 79d7c983d5cceaeb1837eebcac287c570ed303af:
0.0%

Covered Lines:
423

Relevant Lines:
426

💛  - Coveralls


debugon

There is a bug in file lib/nexmo.js, line 72. When debugon is undefined, it can't be stringified

Thanks @benf86 This issue is fixed now.


add windows in tests-gh-actions CI

Check unit-tests suite to run on windows, and add them to OS matrix in gh-actions

already addressed in #244, closing


Ci tools

Summary: All needed CI tools enabled for rialto-ocdm
Type: Feature
Test Plan: UT
Jira: RIALTO-272

https://jenkins.code.rdkcentral.com/job/github-triggered/35190/ started

https://jenkins.code.rdkcentral.com/job/build-component/73215/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3055/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6045/ started.

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14028/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14029/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14030/

https://jenkins.code.rdkcentral.com/job/github-triggered/35194/ started

https://jenkins.code.rdkcentral.com/job/build-component/73218/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3059/ started

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14043/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14044/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14045/

https://jenkins.code.rdkcentral.com/job/github-triggered/35204/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3066/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6061/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/35206/ started

https://jenkins.code.rdkcentral.com/job/build-component/73227/ started.

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6064/ started.

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14062/

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14061/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14064/

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14063/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14077/

https://jenkins.code.rdkcentral.com/job/github-triggered/35252/ started

https://jenkins.code.rdkcentral.com/job/build-component/73308/ started.

Copyright scan failure
Commit: 145815c11eb19c1e18be42859d3850e95810bdd4
Report detail: https://gist.github.com/rdkcmf-jenkins/998f239643d7517ecd8e9a93f1c8cc7a

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rialto-ocdm/26/rdkcentral/rialto-ocdm

Commit: 145815c11eb19c1e18be42859d3850e95810bdd4

Report detail: gist

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3102/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6112/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/35254/ started

https://jenkins.code.rdkcentral.com/job/build-component/73309/ started.

Copyright scan failure
Commit: 21a4364ee81a6788f2bb63d68d8ad5f1cec35582
Report detail: https://gist.github.com/rdkcmf-jenkins/9c13bf7c153584db410a6be857ba56cb

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rialto-ocdm/26/rdkcentral/rialto-ocdm

Commit: 21a4364ee81a6788f2bb63d68d8ad5f1cec35582

Report detail: gist

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3103/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6113/ started.

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14221/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14222/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14223/

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14224/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14225/

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14228/

https://jenkins.code.rdkcentral.com/job/build-component/73312/ started.

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rialto-ocdm/26/rdkcentral/rialto-ocdm

Commit: 753c69b4f4aa245f6be1ff3e33fdf5cced6eab62

Report detail: gist

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3110/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6115/ started.

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14231/

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14232/

Hi Marcin: Some housekeeping for credits please:

In top level NOTICE, please append:
Copyright (c) 2009 Google Inc. All rights reserved.
Licensed under the BSD-3 License

In top level LICENSE, please append a copy of the BSD-3 license, keeping YEAR and COPYRIGHT HOLDER as is i.e. generic.  (This is so the license applies to anything BSD-3 licensed from NOTICE, not just one year/holder.

Checksums may need to be fixed in the meta layers.  (e.g. I see meta-cmf-video has rialto-ocdm_git.bb.)

Thank you.

Sanity tests for ['BCM Reference Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14233/

https://jenkins.code.rdkcentral.com/job/github-triggered/35273/ started

https://jenkins.code.rdkcentral.com/job/build-component/73317/ started.

Copyright scan failure
Commit: a99ae51c744a0ef8894ef28aabf140d70997e828
Report detail: https://gist.github.com/rdkcmf-jenkins/c5d6a20a4c1f735e8e96a2c4b3de875c

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3116/ started

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rialto-ocdm/26/rdkcentral/rialto-ocdm

Commit: a99ae51c744a0ef8894ef28aabf140d70997e828

Report detail: gist

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6124/ started.

build-brcm-refboard Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/fbd252fdb033074c29b60f43217a2ceb

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14244/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14245/

https://jenkins.code.rdkcentral.com/job/github-triggered/35286/ started

https://jenkins.code.rdkcentral.com/job/build-component/73322/ started.

Copyright scan failure
Commit: b73d80c5bffbd6132a39f1eb70ed0c7a740cc762
Report detail: https://gist.github.com/rdkcmf-jenkins/8d00e5c20bf64f7235085eef9af496e5

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rialto-ocdm/26/rdkcentral/rialto-ocdm

Commit: b73d80c5bffbd6132a39f1eb70ed0c7a740cc762

Report detail: gist

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3126/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6127/ started.

https://jenkins.code.rdkcentral.com/job/github-triggered/35296/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/github-triggered/3132/ started

https://jenkinsrdkm.cmf.code.rdkcentral.com/job/build-component-platform/6130/ started.

Copyright scan failure
Commit: 7489153b536333014325525424d003770c8583fd
Report detail: https://gist.github.com/rdkcmf-jenkins/c71109c3fac3c540b7610d7d6d55e807

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rialto-ocdm/26/rdkcentral/rialto-ocdm

Commit: 7489153b536333014325525424d003770c8583fd

Report detail: gist

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14250/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14251/

build-brcm-refboard Console Log uploaded to Gist URL: https://gist.github.com/rdkcmf-jenkins/9f86add319be4af4a69af41fa1a8300b

Sanity tests for ['RPI3 Refapp2'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14252/

Sanity tests for ['RPI3 Hybrid/MC'] added.
https://jenkinsrdkm.cmf.code.rdkcentral.com/job/test-components-flow/14253/

WARNING: A Blackduck scan failure has been waived
A prior failure has been upvoted

Upvote reason: Thanks Marcin

Commit: 7489153b536333014325525424d003770c8583fd


Proxy Pallet Staking Integration

Is your feature request related to a problem? Please describe.
Im a normal guy and I will not be able to keep up with dynamic TAO however I want to have a competitive edge when it comes to rewards and maximal returns.
Describe the solution you'd like
Hey Team!
My name is Douglas Albert and I am reaching out to you on behalf of the TrustedStake team. We are currently developing a trustless staking service called TrustedStake that aims to optimize staking returns for users by leveraging key performance metrics within the Bittensor ecosystem and token pools.
As we progress with our development, we have encountered a challenge regarding the collection of management and performance fees in a secure and permissionless manner. We would greatly appreciate your guidance and expertise in addressing this matter.
Our current approach utilizes the Substrate proxy pallet, which grants TrustedStake the necessary permissions to stake on behalf of users to whichever subnets are deemed optimal. However, from our understanding, the proxy pallet does not provide direct access to user funds, making it difficult to collect management and performance fees.
We have explored a few potential solutions, but we believe that collaborating with the Open Tensor Foundation could lead to a more robust and efficient approach. Here are a few ideas we have considered:
Partnering with a Validator:
We have explored the possibility of partnering with a validator to implement dynamic take rates per subnet, allowing us to properly distribute the emissions to users.
This approach aims to ensure that users receive the enhanced returns they deserve based on the performance of the specific subnets they are staked in. This method is not ideal and also causes conflicts of interest.
Arbitrage (Robinhood Method):
Another idea is to adopt a model similar to Robinhood, where the service is provided for free to users, and revenue is generated through arbitrage or front-running techniques.
However, we understand that this approach may raise concerns regarding transparency and fairness.
Utilizing the Pallet and Bittensor:
We are keen on finding a solution that leverages the capabilities of the Substrate proxy pallet and the Bittensor ecosystem to maintain a user-friendly, trustless, and non-custodial experience for our users.
We believe that by working closely with the Open Tensor Foundation, we can identify innovative ways to collect fees while adhering to these principles.
Our goal is to develop a fee collection mechanism that is technically sound, secure, and transparent to our users. We value the expertise and insights of the Open Tensor Foundation in navigating this challenge.
We kindly request your guidance on the following aspects:
Are there any existing patterns or best practices within the Bittensor ecosystem that we can leverage to implement a secure and permissionless fee collection mechanism?
Do you have any suggestions or recommendations on how we can utilize the Substrate proxy pallet in combination with other tools or techniques to achieve our goals?
Are there any potential collaborations or partnerships within the Open Tensor Foundation network that could assist us in developing a robust solution?
We would be grateful for any insights, recommendations, or resources you can provide to help us move forward with our development. We believe that by working together, we can create a staking service that benefits the entire Bittensor community.
Thank you for your time and consideration. We look forward to the opportunity to collaborate with the Open Tensor Foundation and contribute to the growth and success of the Bittensor ecosystem.
Best regards,
Doug
TrustedStake
Describe alternatives you've considered
No response
Additional context
No response

As I mentioned offline, I don't see a good solution to this beyond allowing transfer capability explicitly.
The staking design is like the way it is for security. It wouldn't be good to allow this kind of thing without explicit transfer approval by the user.


Move UndoManager creation code outside StyledTextArea

Relates to #233. In order to have non-linear undo/redo capability, StyledTextArea and its model class will need to take an UndoManager argument and push the creation code outside of the area itself.
There's a few things to keep in mind:

Since the area (which IMO adheres more to the MVVM paradigm now) could be used in a larger view component, the definition of a valid change can now be different than the normal ones given. Opening up this argument would give more flexibility to the developer to determine what a "change" actually is.
With a non-linear undo/redo capabilities, the size of the queue can change between clones. One might have an unlimited queue, another could have a fixed size queue, and a third a zero-size queue. As such, an UndoManagerFactory can no longer be the main argument passed because it doesn't give the developer the freedom to choose which queue size to use. One exception to this is to pass in a QuadFunction that accepts the arguments now found in StyledTextAreaModel#createRich/PlainUndoManager. However, this might restrict the developer due to the first point made.
Since an EditableStyledDocument exists outside of the area before being inserted into one then that document could, at least technically, be modified by a non-StyledTextArea class. If that occurs, the code should be robust enough to update all the areas displaying its content to account for that change (e.g. a valid undo might no longer be valid). This implies that the ``UndoManagerFactoryshould somehow be tied to theEditableStyledDocument` for the lifetime of that document.

I haven't been able to think of a good way to tie the two items together. Perhaps some object that groups the two together could work, but how does the UndoManagerFactory know which items to ignore (an area changed the document) and which to accept (the document was modified directly)?
At the same time, this possible bug exists even right now: an area's UndoManager's next undo/redo could be invalidated if a developer edited that document directly instead of through the area. Rather than accounting for that possibility (why would that happen in the first place?), it just shouldn't be done.

A new filtering mechanism is needed to filter which events an area did and which it did not do to insure that that area's UndoManager's next undo/redo is only the one that the area did and not some other clone's change. UndoFX already uses something like this to ignore changes to the content that it performs:

private final EditableStyledDocument<?, ?> document = // creation code
private final SuspendableNo performingUpdate = new SuspendableNo();

public final EventStream<TextChange> textChanges() {
    return document.textChanges().conditionOn(performingUpdate);
}

performingUpdate.suspendWhile(() -> replaceText(0, 0, "Some text"));

By including an UndoManager from UndoFX as one of the parameters in the StyledTextArea, it forces the developer to use UndoFX for their undo/redo system. This does not give the user "complete control" (Tomas' words) over how undo/redo handling works. Rather, an UndoManager, whether from UndoFX or custom-made, should be something that can be implemented on top of the area by the developer.
Thus, RTFX should provide a factory method that can install a basic plain or rich UndoFX UndoManager into an area for convenience.

Closed by #528.


How to reproduce the results in Figure 5？

I am very interested in your work. Will the code regarding the Figure 5 results be posted?

Thanks for your interest for our paper. Yes, we plan to release the code to reproduce all the results. But, I cannot give you a timeline currently due to company policy.

@xiao-he Thanks for your reply. I'm looking forward to the final code.

@943fansi code updated.

@xiao-he Thanks.


Sprint 1 - Task: #2.1 Input answer: Page has a textbox for input

Editor?

implemented in commit ef6bf04ec2ed39ced282dc74befc822972fcb2f5


add cluster resource models docs

Signed-off-by: Poor12<EMAIL_ADDRESS>What type of PR is this?
/kind feature
What this PR does / why we need it:
Add cluster resource models docs, refer to https://github.com/karmada-io/karmada/issues/2379.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:

Title: Cluster Resource Modeling

Overview (describe the feature in general)
Cluster Resource Modeling

General Cluster Modeling
Customized Cluster Modeling

Disable Cluster Resource Modeling


Don't show download progress bar when in json mode

The Problem/Issue/Bug:
@nico-loeber and @jonaseberle  discovered that when docker-compose is getting updated non-json output is output as a progress bar for the download.

https://github.com/php-perfect/ddev-intellij-plugin/issues/56

In json mode ddev can show non-json output if downloading a file, especially docker-compose or mutagen.
rm -f ~/.ddev/bin/docker-compose && ddev start -j will show non-json output as described in the issue:
$ ddev version --json-output
{
    "level": "info",
    "msg": "Downloading https://github.com/docker/compose/releases/download/v2.5.1/docker-compose-linux-x86_64 ...",
    "time": "2022-05-22T12:42:34+02:00"
}
docker-compose 25.30 MiB / 25.30 MiB [=======================================================================================================] 100.00% 5s
{
    "level": "info",
    "msg": "Download complete.",
    "time": "2022-05-22T12:42:40+02:00"
}

How this PR Solves The Problem:
Turn off the progress bar when in json mode or not attached to terminal.
Manual Testing Instructions:
rm -f ~/.ddev/bin/docker-compose && ddev start -j
Automated Testing Overview:

Related Issue Link(s):
Release/Deployment notes:

Thanks a lot, @rfay!


keep track of name changes somehow

13124dc0752fcb41ec02cee0ad40b78b799ed767

Added with genshin-db latest release v4.3.5.
npm install genshin-db@latest


Issue: Not able to delete embeddings of a file

Issue you'd like to raise.
def delete_document_embeddings_by_filename(file_name, persist_directory):
print(file_name,"file_name is ")
print(persist_directory,"persist_directory is")
chroma_db = chromadb.PersistentClient(path=persist_directory)
print(chroma_db,"chroma_db is ---------------->>>>>>>>>>")
collection = chroma_db.get_collection(name="langchain")
metadata_list = collection.get()['metadatas']
print(metadata_list)
file_names = []
for metadata in metadata_list:
filename = metadata['source'].split('\')[-1]
if filename not in file_names:
file_names.append(filename)
print(file_names,"file_names is kkkkkkkkkkkkkkkkkkkkkkk")
print(collection,"collection is ---------------->>>>>>>>>>")
print("hello world ------------------------>>>>>>>>>>>>>>>>>>")
print(collection.get(where={"source": file_name})['ids'])
collection.delete(where={"source": file_name})
I got print(collection.get(where={"source": file_name})['ids']) as empty list and collection object as name='langchain' id=UUID('8a5e8fff-93a4-49f3-8be7-5aac47cb3902') metadata=None
also I got  print(collection.get(where={"source": file_name})['ids']) as empty list
Suggestion:
No response

below is my structure of the metadata and got output when run
metadata_list = collection.get()['metadatas']
print(metadata_list)
Output:-
[{'page': 0, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 1, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 1, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 1, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 2, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 2, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 2, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 3, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 3, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 4, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 4, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 4, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 5, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 5, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 6, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 6, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 6, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 7, 'source'<EMAIL_ADDRESS>{'page': 7, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 7, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 8, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 8, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 8, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 9, 'source'<EMAIL_ADDRESS>{'page': 9, 'source': '/home/hs/CustomBot/project/Code_of_Conduct_Policy.pdf'}, {'page': 9, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 10, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 10, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 10, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 11, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 11, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 11, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 12, 'source': '/home/hs/CustomBot/project/Code_of_Conduct_Policy.pdf'}, {'page': 12, 'source': '/home/hs/CustomBot/project/Code_of_Conduct_Policy.pdf'}, {'page': 12, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 13, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 13, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 13, 'source'<EMAIL_ADDRESS>{'page': 14, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 14, 'source': '/home/hs/CustomBot/media/dproject/Code_of_Conduct_Policy.pdf'}, {'page': 14, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 15, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}]

🤖
From the code you've shared, it seems like you're trying to delete a document's embeddings by its filename from the "langchain" collection in the chromadb.PersistentClient. However, you're encountering an issue where the collection.get(where={"source": file_name})['ids'] returns an empty list.
Based on the structure of the data stored in the "langchain" collection, it seems that there is no "source" field. The fields available are uuid, key, namespace, group_id, and updated_at. This could be the reason why your query is not returning any results.
If the "source" field is part of the metadata of each record, it's important to note that the metadata structure is not defined in the repository. Therefore, it's difficult to provide a precise solution without knowing the exact structure of the metadata.
If the filename is stored in the metadata, you might need to adjust your query to search within the metadata. However, without knowing the exact structure of the metadata, it's hard to provide a specific solution.
Could you please provide more information about the structure of the metadata? Specifically, how the filename is stored? This will help in providing a more accurate solution.
Sources

libs/langchain/langchain/indexes/_sql_record_manager.py

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.

below is my structure of the metadata and got output when run
metadata_list = collection.get()['metadatas']
print(metadata_list)
Output:-
[{'page': 0, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 1, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 1, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 1, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 2, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 2, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 2, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 3, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 3, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 4, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 4, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 4, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 5, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 5, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 6, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 6, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 6, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 7, 'source'<EMAIL_ADDRESS>{'page': 7, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 7, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 8, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 8, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 8, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 9, 'source'<EMAIL_ADDRESS>{'page': 9, 'source': '/home/hs/CustomBot/project/Code_of_Conduct_Policy.pdf'}, {'page': 9, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 10, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 10, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 10, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 11, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 11, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 11, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 12, 'source': '/home/hs/CustomBot/project/Code_of_Conduct_Policy.pdf'}, {'page': 12, 'source': '/home/hs/CustomBot/project/Code_of_Conduct_Policy.pdf'}, {'page': 12, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 13, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 13, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 13, 'source'<EMAIL_ADDRESS>{'page': 14, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 14, 'source': '/home/hs/CustomBot/media/dproject/Code_of_Conduct_Policy.pdf'}, {'page': 14, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}, {'page': 15, 'source': '/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf'}]

🤖
Based on the information you've provided, it seems like the get method is not returning any documents because it's not finding any documents that match the where condition {"source": file_name}.
The get method in the chromadb.PersistentClient class retrieves documents from the collection based on the parameters provided. In your case, you're using the where parameter to specify a condition to filter the documents. The where parameter should be a dictionary that specifies the condition for the documents to match. For example, {"color" : "red", "price": 4.20}.
Given the structure of your metadata, it seems like the source field contains the full path of the file. If the file_name variable in your delete_document_embeddings_by_filename function only contains the name of the file (e.g., "Code_of_Conduct_Policy.pdf") and not the full path, the get method won't find any matching documents because the source field in the metadata and the file_name don't match.
To fix this issue, you could modify your function to accept the full path of the file instead of just the file name. Here's how you could do it:
def delete_document_embeddings_by_filename(file_path, persist_directory):
    chroma_db = chromadb.PersistentClient(path=persist_directory)
    collection = chroma_db.get_collection(name="langchain")
    collection.delete(where={"source": file_path})

Then, you would call this function with the full path of the file:
delete_document_embeddings_by_filename('/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf', '/path/to/persist/directory')

I hope this helps! If you have any other questions, feel free to ask.
Sources

libs/langchain/langchain/vectorstores/chroma.py

This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.
def delete_document_embeddings_by_filename(file_path, persist_directory):
chroma_db = chromadb.PersistentClient(path=persist_directory)
print(chroma_db)
collection = chroma_db.get_collection(name="langchain")
print(collection)
collection.delete(where={"source": file_path})
output of the above code is:-
<chromadb.api.segment.SegmentAPI object at 0x7f4948165280>
name='langchain' id=UUID('8a5e8fff-93a4-49f3-8be7-5aac47cb3902') metadata=None
And I am calling like this
persist_directory=f'/home/hs/CustomBot/chroma-databases/{formatted_project_name}'
file=/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf
delete_document_embeddings_by_filename(file, persist_directory)
Still not able to delete embeddings of a pdf from the embeddings folder

Based on the information you've provided, it seems like the get method is not returning any documents because it's not finding any documents that match the where condition {"source": file_name}.
The get method in the chromadb.PersistentClient class retrieves documents from the collection based on the parameter

def delete_document_embeddings_by_filename(file_path, persist_directory):
chroma_db = chromadb.PersistentClient(path=persist_directory)
print(chroma_db)
collection = chroma_db.get_collection(name="langchain")
print(collection)
collection.delete(where={"source": file_path})
output of the above code is:-
<chromadb.api.segment.SegmentAPI object at 0x7f4948165280>
name='langchain' id=UUID('8a5e8fff-93a4-49f3-8be7-5aac47cb3902') metadata=None
And I am calling like this
persist_directory=f'/home/hs/CustomBot/chroma-databases/{formatted_project_name}'
file=/home/hs/CustomBot/media/project/Code_of_Conduct_Policy.pdf
delete_document_embeddings_by_filename(file, persist_directory)
Still not able to delete embeddings of a pdf from the embeddings folder


Property $actionParams conflicts with a defined getter getActionParams in yii\web\Controller.

property is defined in web\Controller, getter is in base\Controller.

getActionParams was useful in Yii 1.1, I could use it to override where my actions got their params from in a REST API, which allowed explicit actions like public function actionApiMethod1($param1,$param2,$pram3), making it easier to document using phpdoc and it worked simply by returning $_POST in getActionParams in my controller class, I also automatically got HTTP 400 if a parameter was missing.
This doesn't look possible in yii 2 since bindActionParams only looks in the 'get' parameters for action params.
Perhaps this use was missed when yii 2 was created which is why the function no longer looks useful?
Now I have to remove the parameters from the actions and manually get each one from Yii::$app->request (if doing it properly) or $_POST and then manually return HTTP 400 if one of them is missing. This is much more code.

Ability to get $_POST via method signature was remove on purpose for security reasons.

OK, thanks.


bumped up the golang/x/net version

@mortent verified that the porch e2e test is passing locally in this setup, so going ahead with the merge. porch e2e is timing out in the CI, so we will have to keep an eye on it


Install without docker

How to train and infer without having to use the docker container?

We don't want to provide instructions because it gets difficult to manage all the dependencies outside docker, but there are some users who have done this.

Hi @Zumbalamambo ,
Could you give me your contact (email or other)?
I want to discuss with you about some problem.
Thanks you


Wider vector for FP16 RELU Grad on GPUs

This PR uses wider vector (8 FP16 values) for loading and storing in FP16 ReluGrad kernel to improve performance on Nvidia Ampere GPUs.
For older GPUs, the performance is expected to be unchanged.
fyi @nluehr

@chsigg Can you please review this PR ? Thanks!

This had to be rolled back because it broke the ROCm build.  This is the error message.  Please fix the compile error and I'll re-approve the PR.
Let me know if you need more help in narrowing down the issue.

@sanjoy, I should be a simple fix. I pushed a new commit in my kaixih:relu_grad_vect_pr (https://github.com/kaixih/tensorflow/tree/relu_grad_vect_pr) branch but it doesn't show up here. Should I make another PR or what is your advice?

Creating a new PR should be simpler.


Warnlist problem

In the warnlist I get the license of the one who received / the one who gave, but my name does not appear. (Appear UNKNOWN).

This is a known issue with the bwh patch.  I know I fixed it before, I'll see if I can find the edit!


Display all breakpoints.

As a user I'd like to have the ability to see the breakpoints I have set.

:+1:


Add a license?

This looks awesome! I'd like to build on this, but I don't see a license file...would you mind adding one?

Hey, I just added a license file, MIT LIcense.
Build on! \o/

Awesome, thanks @ishuah91! :smiley_cat:


TwoPaneView.Mode dependency property doesn't update

This Binding in Xaml doesn't show the changes of the Mode although I have set the binding mode to OneWay. The ModeChanged event is fired correctly.
Steps to reproduce the bug
The following code shows a TwoPaneView with in each pane 4 TextBlocks (Pane name, PageSize, Mode and Mode). The first Mode textBlock is set in the ModeChanged event (that works). he last Mode TextBlocks are databind (x:bind) to the mode of the TwoPaneView. That doesn't work. It always reports 'SinglePane'. Also if you resize the page.
<TwoPaneView x:Name="twoPaneViewDemo"
                Pane1Length="2*"
                Pane2Length="1*"
                PanePriority="Pane1"
                MinTallModeHeight="550"
                MinWideModeWidth="750"
                TallModeConfiguration="TopBottom"
                WideModeConfiguration="LeftRight"
                ModeChanged="TwoPaneViewDemo_ModeChanged">
    <TwoPaneView.Pane1>
        <Grid Background="Red"
                Padding="8"
                Margin="4">
            <StackPanel>
                <TextBlock Text="Pane 1"
                            Style="{StaticResource HeaderTextBlockStyle}" />
                <TextBlock x:Name="textBlockPageSize1"
                            Style="{StaticResource TitleTextBlockStyle}" />
                <TextBlock  x:Name="textBlockMode1"
                            Style="{StaticResource TitleTextBlockStyle}" />
                <TextBlock  Text="{x:Bind twoPaneViewDemo.Mode, Mode=OneWay}"
                            Style="{StaticResource TitleTextBlockStyle}" />
            </StackPanel>
        </Grid>
    </TwoPaneView.Pane1>
    <TwoPaneView.Pane2>
        <Grid Background="Blue"
                Padding="8"
                Margin="4">
            <StackPanel>
                <TextBlock Text="Pane 2"
                            Style="{StaticResource HeaderTextBlockStyle}" />
                <TextBlock x:Name="textBlockPageSize2"
                            Style="{StaticResource TitleTextBlockStyle}" />
                <TextBlock  x:Name="textBlockMode2"
                            Style="{StaticResource TitleTextBlockStyle}" />
                <TextBlock  Text="{x:Bind twoPaneViewDemo.Mode, Mode=OneWay}"
                            Style="{StaticResource TitleTextBlockStyle}" />
            </StackPanel>
        </Grid>
    </TwoPaneView.Pane2>
</TwoPaneView>

private void Page_SizeChanged(object sender, SizeChangedEventArgs e) {
    textBlockPageSize1.Text = textBlockPageSize2.Text = $"Page Size {e.NewSize}";
}

private void TwoPaneViewDemo_ModeChanged(TwoPaneView sender, object args) {
    textBlockMode1.Text = textBlockMode2.Text = $"Mode {sender.Mode}";
}

Expected behavior
See the same Mode value in the last Mode TextBlock as the first one.
Screenshots

Version Info
I'm using the TwoPaneView of the 18312 Insider Build SDK. It works correctly with the TwoPaneView from the NuGet package 2.1.181217001-prerelease.
NuGet package version:
18312 Insider Build SDK

Windows 10 version
Saw the problem?

Insider Build (18317)
Yes

Device form factor
Saw the problem?

Desktop
Yes

Additional context

The bug is solved in the new 18323 SDK. Thanks!


Fix issue with Portals not displaying/crashing on Linux

JxBrowser is the most reliable means of getting a Chromium browser working correctly on the widest range of OSes. I started Journey (after seeing that Pandomium hosts CEF files on their own domain) as a possible replacement but it has issues on Linux and Macintosh still.

Decided to skip purchasing JxBrowser and start v0.2 using Journey. I was able to solve the macOS issues Journey was having but there are still issues with Linux (https://github.com/CodeBrig/Journey/issues/3).
Anyone wishing to us S++ with Linux will have to us a JxBrowser evaluation license and modify PortalInterface until I can fix the issues with Linux.

Also opened this discussion on IntelliJ forum: https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003631640-JCEF-in-IntelliJ-plugins-Linux-issue-

Fixed with heavy popups in SourceMarker


Updates to notary for gotuf's split of PublicKey and PrivateKey interfaces

@diogomonica @endophage @NathanMcCauley
Functions should now take data.PublicKey or data.PrivateKey instead of
data.Key.
Signed-off-by: Aaron Lehmann<EMAIL_ADDRESS>

LGTM


Implement supervisor_mode parameter support [ECR-3874]

Overview
Add new parameter supervisor_mode for generate-template step of node configuration.
The parameter gets passed through every following configuration step and then is used on run step to enable the specified supervisor mode on started node.
run-dev uses simple mode.
User documentation will be updated in a separate task (TBD: task number)
Done simple refactoring of cmd module (it is moved from runtime/cmd to own cmd  module). Additional refactoring of the module might be done in a separate task (TBD: task number)
Scripts for launching nodes will be updated after #1239 gets merged
Q: Why so much code? Can't it be done simpler?
A: adding a custom parameter to the very configuration step is pretty simple in terms of code complexity, but involves a lot of code boilerplate because of need in EJB-specific structures and functions. However, adding additional parameters will be much simpler because the most of the boilerplate is already there.

See: https://jira.bf.local/browse/ECR-3874
Definition of Done

[ ] There are no TODOs left in the code
[ ] Change is covered by automated tests
[ ] The coding guidelines are followed
[ ] Public API has Javadoc
[ ] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Q: Why so much code? Can't it be done simpler?
A: adding a custom parameter to the very configuration step is pretty simple in terms of code complexity, but involves a lot of code boilerplate because of need in EJB-specific structures and functions. However, adding additional parameters will be much simpler because the most of the boilerplate is already there.

Do I understand correctly that what is conceptually done here is a new parameter taking two possible values and the code conditionally creating one or another service based on that parameter? Why would that make a seven hundred line diff? Doesn't it say of a deficiency in the exonum configuration implementation if such a simple thing requires so much code?

Why would that make a seven hundred line diff?

The diff is actually about +390 lines, about 150 of them are tests for new functionality. Tests are quite large because they require a lot of preparations with a lot of (boilerplate) parameters. This can be improved by deriving Default trait for Core structures in the future.
The code isn't only taking a single parameter from user, but transfers this parameter through every configuration step, validates its equality in every public config and does it in a way that allows further extend of ejb-specific parameters list.
However, it's not a lot of code, and we should find the way to reduce its amount. Unfortunately I couldn't come up with an API that both flexible and statically typed yet.

To reviewers, the git does not detect the rename, so to see the changes you have to use:
dmitry-mac:exonum-java-binding user$ pwd
/Users/user/Documents/exonum-java-binding/exonum-java-binding
dmitry-mac:exonum-java-binding user$ git diff main/master:./core/rust/src/runtime/cmd.rs HEAD:./core/rust/src/cmd/mod.rs

Coverage remained the same at 85.884% when pulling 2e5b42b01acb2aa33f6634ecc86f10dfe59aad97 on vitvakatu:supervisor-modes into d613433a85f2998a611e1c724086c8a42254d5d4 on exonum:master.

It must be WIP according to your recent message in mm.

Closing now, the functionality is moved to the core


Are cuid() and uuid() valid for MongoDB in the Prisma schema reference?

In the Prisma schema reference, we provide examples for default ID values for MongoDB using cuid() and uuid(). Is that valid?
e.g. here: https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#cuid

Isn't the only valid option for MongoDB using @default(auto())?

Yes, it's valid (tested it out)
The difference is that with auto(), the database will handle id generation, and with cuid(), and uuid(), Prisma Client will generate the ids


FileNotFoundException: Could not load file or assembly 'Microsoft.ApplicationInsights, Version=<IP_ADDRESS>'

I'm getting the following error when implementing WriteTo.ApplicationInsightsEvents()
System.IO.FileNotFoundException: 'Could not load file or assembly 'Microsoft.ApplicationInsights, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.'
I have the following versions:
Serilog: 2.6.0
Microsoft.ApplicationInsights: 2.8.1
Serilog.Sinks.ApplicationInsights: 2.6.0
Not sure what's going on here, as this originally worked for me.

Seems like you're missing binding redirects for the Microsoft.ApplicationInsights assembly in your app.config .. the AI serilog sink was built against version <IP_ADDRESS> of the Microsoft.ApplicationInsights assembly, I however assume you updated the Microsoft.ApplicationInsights (NuGet) package to 2.8.1 and therefore the versions do no longer match. Without binding redirects the .Net runtime indicates (via the exception) that it correctly expects and misses exactly that - a version <IP_ADDRESS>.
So if you're sure 2.8.1 of the MS AI package works as a replacement for <IP_ADDRESS> one, you can / should configure the binding redirects as explained at https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions .

It sounds like Serilog.Sinks.ApplicationInsights requires Microsoft.ApplicationInsights <IP_ADDRESS>? The Nuget dictates that it requires > 2.5.1, so I figured updating was the right thing to do?

Nuget package version != Assembly version but I just checked (I don't remember all version infos and what's what from the top of my head.. been quite a while since I used this project myself) ... when installing the Serilog.Sinks.ApplicationInsights 2.6.0 package into a new project it pulls in in the expected 2.5.1 version of AI and that combo works.
What may however be is that your project/application already does contain an now outdated binding redirect to v <IP_ADDRESS> .. I'd suggest checking your app.config whether it contains any such entries and remove/adapt them to the assembly version(s) your project now references.


Not Secure Error - certificate expired on Wednesday, April 5, 2023 at 4:59:59 PM

Thanks @JHibbard - we have fixed this certificate error.


Docs and examples links don't work?

Clicking on the link to either the API Docs or the Examples from the repo homepage just reloads the main https://hyperfuse.github.io/react-anime/ page...

I looked at the code it looks like there should be some kind of navigation showing up but it doesn't, maybe something wrong with router

Yeah, the examples are currently on Codepen, was planning on making them first class on the website though.
Working atm, but I'll post a link to the codepen collection on the site as soon as possible and edit this post when it's up. ;)

Still can't open documentation :(

@alaingalvan
Hi
are documents fixed?

Something for here?

For now there's a collection on Codepen that you all could use for examples. ;)

Still no docs. Still deal-breaker.
Looks like a great tool. Don't have the first idea how to use it.

Still doesn't work, I don't know why this is closed.

The collection on CodePen is now the default place to find examples. As for documentation I went ahead and added a docs.md file that can be found in the readme.md description.
That document details all the props an <Anime/> component expects, as well as the TLDR on how to use it. users just pass in CSS attributes, HTML attributes, or SVG attributes. Anything they want animated. ;)


Add support for split packages

at the very least for python packages, most of them are in a split package with
pkgbase=python-
pkgname=(python2- python-)

Not sure what this was about. aur2ccr sort-of supports split packages, and CCr doesn't. Can we close it?

Yeah, I don't remember what the issue was.


Fix toggleFullscreen() if icon is hidden

Fix https://github.com/NextStepWebs/simplemde-markdown-editor/issues/417
This PR will make toggleSideBySide() work correctly if the toolbar does not contain the fullscreen icon.

/jsfiddle

https://jsfiddle.net/jagwt51f/1/

Thanks.


Process function fails to execute when using the validate method

Hi guys, I have been looking at this issue for an hour now and I can't seem to find the issue here.
So have piece of logic that first validates the payload before executing the process function. But when the process method executes it fails to dispatch another action. When I comment out the the validation method the process function seems to be running fine. I have tested if the process does  get called when the validation method runs and it seems it does it executes the post method and resolves the promise but it fails to dispatch.
Here is the logic that I wrote
  type:${NAME}/${REGISTER},
  latest: true,
  validate({getState, action}, allow, reject){
     let {email, password, confirmPassword} = action.payload
     let {isEmpty, isEmail} = validator
     let state  = getState()
      if(isEmpty(email)){
state[NAME] = {
            ...state[NAME],
            forms:{
              ...state[NAME].forms,
              isLoading : false,
              isSuccess: false,
              isError: true,
              responseMessage: 'Email is required'
            }
         }
         reject(action)
       }
       else if( !isEmpty(email) && !isEmail(email))
       {
           state[NAME] = {
                 ...state[NAME],
                 forms:{
                   ...state[NAME].forms,
                   isLoading : false,
                   isSuccess: false,
                   isError: true,
                   responseMessage: email + ' is not a valid email!'
                 }
            }
   reject(action)
       }
      else if( isEmpty(password))
        {
        state[NAME] = {
          ...state[NAME],
          forms:{
            ...state[NAME].forms,
            isLoading: false,
            isError : true,
            isSuccess: false,
            responseMessage: 'Password is required'
          }
        }
        reject(action)
      }
      else if( !isEmpty(password) && isEmpty(confirmPassword)){
           state[NAME] ={
             ...state[NAME],
             forms:{
               ...state[NAME].forms,
               isLoading:false,
               isError: true,
               isSuccess: false,
               responseMessage:'Please confirm your password'
             }
           }
 reject(action)
      }
      else if( !isEmpty(password) && !isEmpty(confirmPassword))
      {    if(!(password === confirmPassword))
            {
              state[NAME] ={
                ...state[NAME],
                forms:{
                  ...state[NAME].forms,
                  isLoading:false,
                  isError: true,
                  isSuccess: false,
                  responseMessage:'Password Confirmation does not match'
                }
              }
            }
            reject(action)
          }
    allow(action)
  },
processOptions:{
    dispatchReturn: true,
    successType: ${NAME}/${REGISTER_SUCCESS},
    failType: ${NAME}/${REGISTER_FAILURE}
  },
process({getState, action,http}, dispatch){
 const apiURL = ctx.flags.__DEV__
   ? 'http://${ctx.options.app.domain}:9002'
   : ''
 let dataObj  = JSON.stringify({
     email: action.payload.email,
     password: action.payload.password
   })
  return http.post(apiURL+ '/users', dataObj, {
    headers: {
      "Content-Type":"application/json"
    }
  })
  .then(res=>{
     return res
  })
  .catch(
    err =>{
       console.log('PROMISE REJECTED')
      return err
    })
  },
})```

Looks like the ES5 string templates are braking the code snippet...any suggestion as what to do here?

Found the issue. So the problem was not with the redux logic it self...it was my own mistake. On the last else if statement in the validation method the reject function always executed so I just moved the call the reject inside the if statement and it worked.

Awesome! I'm glad you figured it out. Have a great day.


PLAY failed when too much background noise with snowboy recorder

Description
When there is too much background noise, after 10 seconds, snowboy recorder stops and there is a blocking error message that exits Jarvis.
This is because of the timeout which "kills" the snowboy recorder (that is still waiting for the silence that will never come) and therefore there is no wav to play.
The way "sox" recorder does it today is that it stops by itself after 5 seconds of voice (the timeout of 10 secs is for silence). Then Jarvis program (not part of the recorder) checks the wav duration is below 4 seconds (duration of a normal command) and if not, says that there is too much background noise.
@guillaumef adding you as you are the expert. I think the solution is to add a max nb of voice ticks that corresponds to 5 secs. If you don't have the time I can implement it.
Result
See end of below recording:
https://asciinema.org/a/2vb3z8lmt5oa9pyyld5uonb1p
utils/timeout.sh 10 python  recorders/snowboy/main.py 5 /tmp/jarvis-record.wav
____||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||DEBUG: stop_listening hook
play FAIL formats: can't open input file `/tmp/jarvis-record.wav': No such file or directory
ERROR: play command failed
HELP: Verify your speaker in Settings > Audio > Speaker

DEBUG: program_exit hook
bash-3.2$ exit

Note: here the file is on /tmp because I test it on my mac and there is not /dev/shm folder.

@guillaumef I added you collaborator of the project. You can now do everything! (please do not delete master branch...)
Please push/PR you changes to the new beta branch.
I will take care of the merge to master.

Hi @alexylem
I understand the problem but I think there is two tracks to follow here.
Let me try to explain.
Since the recorders are now modular, the error management (wav ok, too much noise, error in audio layer, etc...) coming back from any recorder could be unified with classic error codes. The timeout for noise could be a constraint on the recorder layer, which allows the recorder layer to do what it needs to manage it: with a raw kill or a clean shutdown or anything. So, I have the feeling this 4sec/5sec trick which is specific in treatment with sox should migrate in sox recorder layer. This check is done on sox recorder because it is the only way to validate the wav output.
But for other recorder layer, it could also save Jarvis 'core' a validation of the wav coming from it. Jarvis 'core' should trust its own recorder layers to do the job.
If this first track is ok for you, the snowboy recorder could implement its own mechanism to match the constraint of 5 seconds. The ticks coming back from snowboy are not a reliable 'clock' and I think these ticks duration changes slightly from a platform to another.
The 30 milliseconds sleep is triggered in case of "no-data" return from the snowboy layer, but how many time is spent in snowboy layer and how many time it takes to get a raw block, it all depends on the hardware i think (platform, mic, ...).
For managing ticks and the data pattern we are looking for (Silence/Voice/...), it is really good enough and allows to map strictly the pattern to the snowboy processing, but to manage a real timeout, I don't think it is reliable.
To do it, it is therefore quite simple, with a classic time checking in the snowboy loop in wavget.py. If the voice is not started (pre-silence not reached, voice==0) and timeout reached, it can exit properly (close device, ...) with the good error code. No kill. Peace and Love ;-)
And no need to check any wav with sox in Jarvis 'Core' anymore.

Can't agree more. I had initially implement timeout because Sox did not have a way to stop by himself if no voice within 10 secs.
So let's keep timeout for sox and define as you suggest global return codes for each case. Will share that soon once implemented in sox recorder.

Le 19 mars 2017 à 10:57, Guillaume F<EMAIL_ADDRESS>a écrit :
Hi @alexylem
I understand the problem but I think there is two tracks to follow here.
Let me try to explain.
Since the recorders are now modular, the error management (wav ok, too much noise, error in audio layer, etc...) coming back from any recorder could be unified with classic error codes. The timeout for noise could be a constraint on the recorder layer, which allows the recorder layer to do what it needs to manage it: with a raw kill or a clean shutdown or anything. So, I have the feeling this 4sec/5sec trick which is specific in treatment with sox should migrate in sox recorder layer. This check is done on sox recorder because it is the only way to validate the wav output.
But for other recorder layer, it could also save Jarvis 'core' a validation of the wav coming from it. Jarvis 'core' should trust its own recorder layers to do the job.
If this first track is ok for you, the snowboy recorder could implement its own mechanism to match the constraint of 5 seconds. The ticks coming back from snowboy are not a reliable 'clock' and I think these ticks duration changes slightly from a platform to another.
The 30 milliseconds sleep is triggered in case of "no-data" return from the snowboy layer, but how many time is spent in snowboy layer and how many time it takes to get a raw block, it all depends on the hardware i think (platform, mic, ...).
For managing ticks and the data pattern we are looking for (Silence/Voice/...), it is really good enough and allows to map strictly the pattern to the snowboy processing, but to manage a real timeout, I don't think it is reliable.
To do it, it is therefore quite simple, with a classic time checking in the snowboy loop in wavget.py. If the voice is not started (pre-silence not reached, voice==0) and timeout reached, it can exit properly (close device, ...) with the good error code. No kill. Peace and Love ;-)
And no need to check any wav with sox in Jarvis 'Core' anymore.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi,
I just install last night Jarvis and I have exactly the same problem. The solution it to modified snowboy loop in wavget.py ? I will take look tonight.

The problem I had with sox was erratic triggering of the sentence without waiting for the end.
With snowboy wavget, if the room is too noisy or had permanent noise, the solution should be to simply lower the 'gain' of the microphone (there is two gain: the snowboy gain, which minimum is '1' and can be increased - it is configured via the jarvis interface,  and the second one is the gain of the microphone in alsamixer)
The goal of this is to detect a whole sentence, which is a silence + voice + silence.
The last silence is triggering the wav return.
You can check if the gain level fits with this command
$ ./jarvis.sh -q
$ python -d recorders/snowboy/main.py 1 track
...
__________||||||||____

'|' are voice trigger.
To manage gain on microphone with alsa:
$ alsamixer -V capture

You need a properly configured asoundrc, here is mine (with the ctl.!default):
$ cat ~/.asoundrc
pcm.!default {
  type asym
   playback.pcm {
     type plug
     slave.pcm { type hw card PCH }
   }
   capture.pcm {
     type plug
     slave.pcm { type hw card AK5371 }
   }
}
ctl.!default {
    type hw card AK5371
}

Thank you, I will take a look tonight. Because for me its was like Jarvis was in constant loop. The first start it works, then I start to say "Jarvis, quel heure est il" and it gave me the time but it also played the last record "Jarvis, quel heure est il" and so on. Then I exit the program, and when I restart it I did get the can't open input file `/tmp/jarvis-record.wav'. I will try again tonight or tomorrow and let you know which error exactly I get.

@DomoAI "snowboy" recorder is still in alpha version. Please use "sox" in the meanwhile.

@guillaumef makes me think I can make a much simpler hardward selection using the name instead of id. Why is the "ctl.!default" needed? Will log a separate ticket for this.

the ctl.!default allows the alsamixer to switch to the good card directly.
You can also reach it with that also:
$ alsamixer -c AK5371 -V capture

Perhaps it could be embedded in jarvis.sh config ?
Once you have the card name (you already have the card selector with id as i remember), you can launch alsamixer to configure the gain of the microphone at alsa level (which I think is better than overriding the gain at snowboy level).
On my htpc, i have a Teac DAC connected with usb2.0 and a A/V amplifier connected on hdmi.
Those two gears are powered on only if I am, respectively, in stereo and video mode. This means I have devices which are popping in the alsa cards list and can take the alsa ID of the Microphone (AK5371), this is why IDs are not very reliable. Card name is "bullet proof".

@guillaumef I was using alsamixer to set the gain before. But on some cards (including my PSEye), it can just not be managed by alsamixer:
$> alsamixer -c CameraB409241
cannot load mixer controls: Invalid argument

Same error if I change card from within alsamixer. See https://github.com/alexylem/jarvis/issues/26#issuecomment-231948328.
For this reason I decided not to keep alsamixer as I want Jarvis to be usable in all situations and limit exceptions as much as possible.
Speaker/Mic selection from Name ticket logged here: https://github.com/alexylem/jarvis/issues/496

Hello,
Here is the debug. I see me Local are not set correctly. Also it repeat everything I say. I change the recorder to ''sox''.
------------ Config ------------
jv_branch            master
jv_version           17.03.19
jv_arch              x86_64
jv_os_name           ubuntu
jv_os_version        16.04
language             fr_FR
play_hw              hw:2,1
rec_hw               hw:1,0
speaker
microphone           Microsoft Corp.
recorder             sox
trigger_stt          snowboy
command_stt          bing
tts_engine           svox_pico
DEBUG: program_startup hook
Alfred: Hello
DEBUG: start_speaking hook
DEBUG: stop_speaking hook
User defined commands:
AIDE BONJOUR|SALUT COMMENTAPPELLE*
MERCI AU REVOIR|BYE	ANNULE*|TERMINE*
ENCORE*			TEST VERSION
REPETE () ET (*)	CA VA			>OUI

NON|PAS
Commands from plugin jarvis-bruitages:
FAIS ()		QUEBRUITAGE
Commands from plugin jarvis-math:
CALCUL ()
Commands from plugin jarvis-time:
QUELLE HEURE QUEL JOUR
Commands from plugin jarvis-weather-wunderground-fr:
METEODEMAIN METEO
Alfred: Waiting to hear 'Alfred'
master: (listening...)
DEBUG: models=alfred
INFO:snowboy:Ticks: [2, 20, 5, -1]
INFO:snowboy:Keyword 1 detected at time: 2017-03-25 10:57:46
INFO:snowboy:Ticks status: 2 3 1 1
DEBUG: modelid=0
Alfred
DEBUG: entering_cmd hook
master: (listening...)
DEBUG: start_listening hook
utils/timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little /dev/shm/jarvis-record.wav gain 24 silence 1 0.1 5 1 0.5 5 trim 0 5
DEBUG: speech duration was 02 (10 = 1 sec)
DEBUG: stop_listening hook
DEBUG: curl https://speech.platform.bing.com/recognize/query?version=3.0&requestid=eadfc8b9-d11c-4644-9625-b0e3611a6331&appid=D4D52672-91D7-4C74-8AD8-42B1D98141A5&format=json&locale=fr-FR&device.os=linux&scenarios=ulm&instanceid=E043E4FE-51EF-4B74-8133-B728C4FEA8AA&result.profanitymarkup=0
DEBUG: json={"version":"3.0","header":{"status":"error","properties":{"requestid":"0f13f28b-3b84-47ce-90e0-e2865b92c32f","NOSPEECH":"1"}}}
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_PAPER = "nl_NL.UTF-8",
LC_ADDRESS = "nl_NL.UTF-8",
LC_MONETARY = "nl_NL.UTF-8",
LC_NUMERIC = "nl_NL.UTF-8",
LC_TELEPHONE = "nl_NL.UTF-8",
LC_IDENTIFICATION = "nl_NL.UTF-8",
LC_MEASUREMENT = "nl_NL.UTF-8",
LC_CTYPE = "UTF-8",
LC_TIME = "nl_NL.UTF-8",
LC_NAME = "nl_NL.UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
?(listening...)
DEBUG: start_listening hook
utils/timeout.sh 10 rec -V1 -q -r 16000 -c 1 -b 16 -e signed-integer --endian little /dev/shm/jarvis-record.wav gain 24 silence 1 0.1 5 1 0.5 5 trim 0 5
DEBUG: stop_listening hook
play FAIL formats: can't open input file `/dev/shm/jarvis-record.wav': WAVE: RIFF header not found
ERROR: play command failed
HELP: Verify your speaker in Settings > Audio > Speaker

DEBUG: program_exit hook

@DomoAI please do not pollute this ticket that is for snowboy recorder.
Please open a new ticket.

I know I was using snowboard but I still get the same error. Please take a
look at the log
On 25 Mar 2017 11:30, "Alexandre Mély"<EMAIL_ADDRESS>wrote:

@DomoAI https://github.com/DomoAI please do not pollute this ticket
that is for snowboy recorder.
Please open a new ticket.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alexylem/jarvis/issues/487#issuecomment-289203227,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZahP4SkQFTjRIsqBFbFxNLrdCZMzqmkks5rpOzRgaJpZM4MhqpS
.

Please log another ticket.

I have the same problem with snowboy.  sorry if it's at the wrong place
I will post the log with snowboy
On 25 Mar 2017 11:50, "Alexandre Mély"<EMAIL_ADDRESS>wrote:

I looked at your logs, you were using:
recorder             sox
Although the bottom line is the same, you pb has nothing to do with this
ticket.
Please log another ticket.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/alexylem/jarvis/issues/487#issuecomment-289204243,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZahPx3t9rVe7Vb948lSw3Rd5c9tPdXjks5rpPFhgaJpZM4MhqpS
.

Yes it is the wrong place (this ticket is for a very specific issue). Please log a new ticket and post log with sox & snowboy over here. Thanks.


v9.11

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_4a456hd7w_/clone/recipe/meta.yaml:1: missing_test_requirement_pip: pip is required in the test requirements.
Errors were found


Error message in loading TF Lite quantized model just after creating it

I have been experimenting with convert_tflite.py script to convert yolov4 to quantized tf lite model. The command I ran is:
python convert_tflite.py --weights ./checkpoints/yolov4-416 --output ./checkpoints/yolov4-416-int8.tflite --quantize_mode int8 --dataset ~/office_imgs.txt
where office_imgs.txt file contains paths to some of my office images that I was trying to use to facilitate creation of quantized tf lite model. The script first converts and saves the tf lite model to the file specified in the --output option and then immediately calls demo() method to load the model just created and run some random input on it. However, the model fails to load in the demo() method with the following error msg:
RuntimeError: tensorflow/lite/kernels/dequantize.cc:61 op_context.input->type == kTfLiteUInt8 || op_context.input->type == kTfLiteInt8 || op_context.input->type == kTfLiteInt16 || op_context.input->type == kTfLiteFloat16 was not true.Node number 836 (DEQUANTIZE) failed to prepare.
Any help to debug and resolve this issue is greatly appreciated. Thanks.

The stack trace for the above error is below:
Traceback (most recent call last):
File "convert_tflite.py", line 76, in
app.run(main)
File "/Users/jkshitij/Development/tensorflow-yolov4-tflite/venv_yolov4_tflite/lib/python3.7/site-packages/absl/app.py", line 299, in run
_run_main(main, args)
File "/Users/jkshitij/Development/tensorflow-yolov4-tflite/venv_yolov4_tflite/lib/python3.7/site-packages/absl/app.py", line 250, in _run_main
sys.exit(main(argv))
File "convert_tflite.py", line 72, in main
demo()
File "convert_tflite.py", line 52, in demo
interpreter.allocate_tensors()
File "/Users/jkshitij/Development/tensorflow-yolov4-tflite/venv_yolov4_tflite/lib/python3.7/site-packages/tensorflow/lite/python/interpreter.py", line 243, in allocate_tensors
return self._interpreter.AllocateTensors()

I met the same problem as below.
RuntimeError: tensorflow/lite/kernels/dequantize.cc:61 op_context.input->type == kTfLiteUInt8 || op_context.input->type == kTfLiteInt8 || op_context.input->type == kTfLiteInt16 || op_context.input->type == kTfLiteFloat16 was not true.Node number 80 (DEQUANTIZE) failed to prepare.
It seems as the output layer needs to DEQUANTIZE from int8 to fp32 .

I met the same problem as below.
RuntimeError: tensorflow/lite/kernels/dequantize.cc:61 op_context.input->type == kTfLiteUInt8 || op_context.input->type == kTfLiteInt8 || op_context.input->type == kTfLiteInt16 || op_context.input->type == kTfLiteFloat16 was not true.Node number 80 (DEQUANTIZE) failed to prepare.
It seems that the output layer needs to DEQUANTIZE from int8 to fp32 .

@smalltingting Thanks for your comment. So is it complaining that it is unable to dequantize from int8 to fp32 because it is is not in int8 type?

I met the same problem as below.
RuntimeError: tensorflow/lite/kernels/dequantize.cc:61 op_context.input->type == kTfLiteUInt8 || op_context.input->type == kTfLiteInt8 || op_context.input->type == kTfLiteInt16 || op_context.input->type == kTfLiteFloat16 was not true.Node number 80 (DEQUANTIZE) failed to prepare.
It seems that the output layer needs to DEQUANTIZE from int8 to fp32 .

@smalltingting Thanks for your comment. So is it complaining that it is unable to dequantize from int8 to fp32 because it is not in int8 type?

I have solved this problem. You can just convert the backbone network to tflite model. That means that you can get rid of dectction layers and concat layers when you convert.

@smalltingting can you please elaborate, how did you solve this error??

@smalltingting  would you like to share your solution? many thanks!

I had the same error and solved with #214


[WIP] Fix async render issues

SDK-1018
Trying to tackle the async render related issues in SDK as discussed here: https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html

[x] History
[x] Legend
[ ] Map
[ ] MapboxGL

shouldComponentReceiveProps never actually seemed to do anything in a real life example, I tested in the paint-change example and when selecting the same color, it would still return true and shouldComponentUpdate was the one preventing the actual update.

thanks for the review @theduckylittle


WIP: layers: Use CB invalidation mechanism for VU135.

Makes more sense to use command buffer invalidation to drive this than
maintaining parallel logic and only picking this up at draw time.
Drops some additional TODOs in around areas that need some more work to
make this nice.
Note: Looking for feedback here, this isn't ready -- we make the validation message in this case much less clear by this change.

This looks fine, though I have nothing constructive to add just now.

Need to rework this a bit for the cleaned up spec language.

What needs to be done here -- are the spec concerns still valid?

@chrisforbes,  this repository will close for write access on Sunday, 5/13/2018.  If it is pushed before that time it will be present in the follow-on Vulkan-ValidationLayers repository on Monday, otherwise a new PR will be required in the new repo.


parser failures with everything.js

Closure parser fails to parse everything.js project  project artifacts.
The artifacts used are

https://raw.githubusercontent.com/michaelficarra/everything.js/master/es2015-script.js
https://raw.githubusercontent.com/michaelficarra/everything.js/master/es2015-module.js

It isn't likely that we will add support for HTML comments.  Was there anything else that was interesting to you?


Create Dagster and Prefect comparison

Our decision between Prefect and Dagster is progressing, see #1437 and #1436.
Dagster provides some helpful data-focused features like dataframe metadata tracking, asset materialization, and data frame validation. It feels like we are leaning towards Dagster for these reasons. That being said we have put a lot of time into our Prefect refactor #901 so we should do a full comparison of the two tools features before we make a decision.
This comparison should include:

Project stability: github activity, slack activity, funding, number of employees.
Feature comparisons

This issue is complete when we have created a full comparison of Dagster and Prefect.
See discussion #2485 for the full comparison.

If you are a Catalyst human you can access the full comparison here.

We have decided to move forward with Dagster. See epic #1487 for the full reasoning.

If you are a Catalyst human you can access the full comparison here.

@bendnorman Would it be possible to post a public link to that or copy the discussion here? I have also been confronted with this choice in several projects and would be curious to hear your reasoning.
Of course, if there are private parts to it, I totally understand, it isn't essential!

Hi @saulshanabrook! Sure! I'll move the notes into a github discussion.

@bendnorman Thank you!


Refactor codebase to async/await - m365 file

Closes #4974

Great job @MathijsVerbeeck! We'll review asap!

Thank you. Manually merged


Incorporating dissent

Based on our discussions with Leo and Paula, a key part of the MoSA database (and thus ontology) will be its ability to incorporate different views. How can we do this?
One question to help think through this might be: what is the primary mental model for this? Perhaps it is closer to a wiki than a traditional database? However, wikis typically involve different views disputing the one perspective which will be labelled the truth. What we're looking for is an ontology that can maintain multiple dissenting views at the same time.

in my project at work, we're working together with Nanopublications and using them for the platform we're building there (not directly involved in that part myself, however). there, we use the Nanopubs to model the narratives users can add to the individual fields of the data that's published on the platform; so I'd say that a pretty similar use case to what we have in mind here.
the nice thing about Nanopublications is that they're very flexible (can wrap around pretty much anything) and that they ensure that the user retains authorship
I took a quick look around the page; could be a bit overkill for our purposes but it's super well-documented and the Python library looks very easy to use. so maybe we can just pick out the parts we need


String literals are printed without double quotes

pprint $ L.String "bob" results in "bob" rather than "\"bob\""

This is not a bug: We include quotes in the parsed String. The reason is because we want to be able to print parsed files exactly the way they were written originally. So, if I have a string [===[bob]===], I should get exactly the same string when I parse and then print.
Try this in your repl:
λ> parseText exp "\"bob\""
Right (String "\"bob\"")
λ> fmap pprint (parseText exp "[[bob]]")
Right [[bob]]
λ> fmap pprint (parseText exp "[==[bob]==]")
Right [==[bob]==]
λ> fmap pprint (parseText exp "'bob'")
Right 'bob'
λ> fmap pprint (parseText exp "\"bob\"")
Right "bob"

If you want to generate Strings manually, just use whatever a valid Lua string quoting syntax in the string.

Alright, thank you.


Support for Mysql access using sockets

I had to add support for sockets as my sockets where not in the default location. Maybe you want to add this in order to have a common location to change the socket location.

It would be good to fix this. But I would prefer a solution with the existing config-file. Why is is not possible to set the setting there?

The idea was to not load the $config stuff into api/install when it's not required. But it's not a big difference. So I'll move it to the config-file.

Okay now I understand what is done here. My suggestion would be to make a Config option $config['db_socket']  and use this in database.php to make the setting.
To use the default we can use either not setting the variable or setting it to NULL in config-default.php. This would be cleaner and more consistent.

Tried that. Strange but that didn't work for me?!

This seems very strange, this should definitely work. If it is set before the connection is attempted.
Currently I have no time to build a test setup and write a fix, if you can't do maybe I will do it later.


wrapping assembler code in 3.x defines

Hi ftrias, great library you wrote, it's being used extensively in many of my projects. I'm currently facing an issue mostly with the assembly S file and a T3.x specific register when I try to conditional include your library.
Let me better explain, in one of my libraries I define to #include teensythreads.h only if it's one of the 3 listed T3.x defined board. This is working well accross 3.2, 3.5 and 3.6
However, I did this in the case of loading a library off Teensy LC (to prevent teensythreads from being included), and then the S file and registers of the CPP are throwing compiler assembler errors. What I did to ressolve this issue was, since your library is 3.x based, I wrapped the whole CPP and S file in this define
#if defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__)
//<entire library code>
#endif

i forgot to give a simple example of error:
#if !defined(KINETISL)
#include <TeensyThreads.h>
#endif

when compiling on LC, the assembly file and CPP report errors despite not being included, silly that when not being included the compiler decides to check for the library folder anyways...
I currently use the patched version i explained above in the IMCTFD library which uses intervaltimer for LC and teensythreads for T3.x series