Fix deepEqual on cyclic data structure

This PR addresses the issue shown in #919 where cyclic data structure would cause updates to fail, as deepEqual would keep comparing until reaching the maximum call stack size.
The solution is implemented by adding a dependency on lodash.isEqualWith, which offers support for cyclic structures.
This PR also preserves the requirements that the original deepEqual had, such as considering '' and undefined equal, and comparing both Immutable and basic data structures in any nesting order.
This is specifically implemented through a customiser passed to isEqualWith, which, on encountering an Immutable data structure, performs the comparison manually through Iterable's every method, and delegates back to isEqualWith again (this allows supporting plain objects inside Immutable structures, which, although rare, are contemplated in the test suite).
As it stands, the test suite seems to pass. I also added a few new test cases concerning Lists, as the initial solution I implemented created a regression in deepEqual's List comparison.
Open points for discussion:

Is the dependency on lodash.isEqualWith worth it?
This implementation of deepEqual could supersede the plain version as well, and be used in both flavours at once. Should it be refactored to do so?

In my opinion, using lodash is OK since most project that rely on Redux Form would probably use lodash as well. What's important when requiring lodash is to keep its version wide. Moreover, lodash.* should be avoided since they don't merge with lodash.

Plus, redux and react-redux both depend on lodash. So it doesn't seem to be going anywhere.

I think it's better to depend on battle-tested utilities (like lodash) and report abusive file size their than reimplementing the wheel. @jdalton did an amazing job pushing lodash to redux and investigating the output size.

I wonder what semver value we should give for the dep?
I just did a npm install --save lodash and got "^4.12.0"
redux and react-redux are using "^4.2.1". Perhaps we should echo that?

Since isEqualWith is available since 4.0.0, ^4.2.0 should be fine.

Thanks for reviewing! Any thoughts on reusing this implementation of deepEqual for the plain version as well? As far as I can tell it should be fully compatible.

I understand that shared code savings will come when other lodash stuff is used, either in this lib or in another, but one way is more bloated. Here are the results of building redux-form with each dep option.
| Bundle | Minified |
---- | ---- | ---- |
| lodash/isEqualWith | 219 kB | 74.2 kB |
| lodash.isequalwith | 216 kB | 71.8 kB |

@gabrielecirulli Already redid the plain one just now. :-)

@erikras on your point about bloat, I think it's a good incentive in terms of making valuable use of what comes with lodash all throughout the project, as I've seen many areas that would benefit from it (simply coming from the perspective that using lodash instead of hand-rolled solutions will make this library generally more reliable, as it happened with deepEquals).

Also as @ooflorent also said, in 90% of the cases the bloat of lodash is absorbed back into the project using this library as they most likely already include it, and webpack/browserify already do a good job of preventing repetition.

I think it's a good incentive in terms of making valuable use of what comes with lodash all throughout the project

Yes, perhaps the util folder where I put all my implementations of lodash stuff should die.
The fact that using lodash/specificThing shares code that lodash.specificthing does not might have been causing some of the bloat seen in #859.

For smaller bundles you should use lodash/thing over lodash.thing. To satisfy devs the lodash.thing inlines many dependencies to avoid large dep graphs (read code duplication).
Tools like lodash-webpack-plugin and babel-plugin-lodash only work on the lodash/thing form too.
For example using babel-plugin-lodash
export { isEqualWith } from 'lodash';

Is transpiled to
var _isEqualWith = require('lodash/isEqualWith');
module.exports.isEqualWith =  _isEqualWith;

Which creates a build that's 3.96 kB gzipped.
If you apply lodash-webpack-plugin it's further reduced to 3.15 kB.

Thanks @jdalton. Out of curiousity (since you're here😄) I'm wondering if the way we implemented the compatibility for Immutable using isEqualWith makes sense. I was a bit baffled that I couldn't find any references or prior art when it comes to comparing heterogeneous data structures. I understand lodash has to stay generic, but is there any discussion on supporting some "lingua franca" of sort that allows to perform operations the same way when it comes to libraries like Immutable?

@gabrielecirulli

Out of curiousity (since you're here 😄 ) I'm wondering if the way we implemented the compatibility for Immutable using isEqualWith makes sense.

Yep, looks great!

I understand lodash has to stay generic, but is there any discussion on supporting some "lingua franca" of sort that allows to perform operations the same way when it comes to libraries like Immutable?

There hasn't been but I'd be for it. Our wiki is open (editable) so if you wanted to start an Immutable cook book or something that would be rad.

Great to hear, it could be really interesting! And thanks for checking out the code! I'll see if I can submit a follow-up PR to address your notes.

@jdalton Cheers for the code review. 👍

Published as v6.0.0-alpha.8.

Published as v6.0.0-alpha.8.

Do you have the size deltas (minified + gzipped) handy (before and after lodash).

@jdalton I'll get them to you tomorrow. I will say that babel-plugin-lodash made a big difference. Especially after I put it into plugins instead of presets [facepalm].

I put it into plugins instead of presets

No worries, I think everyone has done that.
I made sure to specify both in the webpack config examples to help folks out.

@jdalton 23% increase gzipped, but, as stated above, most likely absorbed by usage in a project of any size.
| Bundle | Minified | gzipped |
---- | ----: | ----: | ----: |
| Before lodash | 166 kB | 63.5 kB | 14.1 kB |
| After lodash | 218 kB | 71.6 kB | 17.4 kB |
| Delta | 31.3% | 12.8% | 23.4% |

@erikras Cool! I've bumped v0.3.0 of lodash-webpack-plugin which should further reduce things.

| Bundle | Minified | gzipped |
---- | ----: | ----: | ----: |
| lodash-webpack-plugin v0.3.0 | 214 kB | 70.6 kB | 17.0 kB |
Slight, but appreciated. 👍

Sanity checking I created a test build with:
export { every, mapValues, noop,  partial, partialRight, toPath } from 'lodash';

and the build size was 1.7 kB gzipped. Did I miss a method?

@jdalton isEqualWith I guess. That was the purpose of adding lodash back ;)

Ah yes! isEqual is heavier for reasons why it's needed here :D

Some other coding happened with commits around the lodash upgrade, but pretty minimal, and almost exclusively unit tests.

Ah yes! isEqual is heavier for reasons why it's needed here :D

Some of my implementations of the other ones you listed were literally one line. Not to mention noop. 😆


Java Heap space error

Sir Please tell me when i am increase the size of file dataset  which  i want to use for training neural network. then i am facing the exception :
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.lang.String.substring(String.java:1956)
at java.lang.String.split(String.java:2340)
at java.lang.String.split(String.java:2409)
at word2vector.Word2VecExamples$1.apply(Word2VecExamples.java:51)
at word2vector.Word2VecExamples$1.apply(Word2VecExamples.java:48)
at com.google.common.collect.Lists$TransformingRandomAccessList$1.transform(Lists.java:617)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
at com.google.common.collect.Iterators$5.hasNext(Iterators.java:548)
at word2vector.Word2VecTrainer.count(Word2VecTrainer.java:43)
at word2vector.Word2VecTrainer.train(Word2VecTrainer.java:77)
at word2vector.Word2VecTrainerBuilder.train(Word2VecTrainerBuilder.java:243)
at word2vector.Word2VecExamples.demoWord(Word2VecExamples.java:69)
at word2vector.Word2VecExamples.main(Word2VecExamples.java:36)
please tell me what should i am doing to remove this error.

Try to Google Java OutOfMemory error.

thanks..

sir how can i reduce the time to train the neural network . when i use very big file to train the model?
please reply me as soon as possible.

thanks.
On Fri, Nov 20, 2015 at 1:17 AM, Philip Gillißen<EMAIL_ADDRESS>wrote:

Try to Google Java OutOfMemory error.
—
Reply to this email directly or view it on GitHub
https://github.com/medallia/Word2VecJava/issues/33#issuecomment-158173990
.

--
Thanks & Regrads
Abhilasha Mangal
(Software Engineer)
Information Technology
B.tech

Try increasing fast memory and add additional CPUs. This will increase performance of the training.

may i use for it multithreading.?

This word2vec implementation uses multi threading wherever possible. You can configure how many threads are used.

How large the file you are training on?


Use the nvidia-supplied nvidia-ml-py instead of pynvml

This project depends on pynvml, where the nvidia-blessed bindings to nvml are in the nvidia-ml-py package instead. This is causing problems for the gpustat project, which needs some internals from nvidia-ml-py to properly support older nvml version. Would it be possible to switch?

Thanks @mattip , the pynvml dependency may be extraneous, we are confirming!

Thanks!


Implement workaround to make code coverage work

Description
There is a bug in XCode 8.3 code coverage in which tertiary (?:) operators in top level code cause a SIGSEGV. This bug has been reported here https://bugs.swift.org/browse/SR-4453.
Until that bug is fixed in a public version of XCode, we need to use if statements to conditionally assign the values in the beginning of Kitura-CouchDB/Sources/CouchDBSample/main.swift
Motivation and Context
Fix code coverage breakage.
How Has This Been Tested?
Ran code coverage locally without the fix and then with the fix. Without the fix, running code coverage results in a SIGSEGV. With the fix code coverage runs to completion.
Checklist:

[ ] I have submitted a CLA form
[ ] If applicable, I have updated the documentation accordingly.
[ ] If applicable, I have added tests to cover my changes.

Codecov Report

Merging #56 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #56   +/-   ##
=======================================
  Coverage   39.29%   39.29%
=======================================
  Files           5        5
  Lines         621      621
=======================================
  Hits          244      244
  Misses        377      377

Flag
Coverage Δ

#CouchDB
39.29% <ø> (ø)
:arrow_up:

#CouchDBSample
39.29% <ø> (ø)
:arrow_up:

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 ce2a7f2...fb86b19. Read the comment docs.


Added hyperlinks to TOC and table for types

Add hyperlinks to Table of Contents in README and changed Types to a table
Changes
Hyperlinks, Tables
Flags

Preview in Markdown and test

Great work @Bharat123rox , thanks!


prerendering overhaul

This began as a fix for #3848 but has turned into something more comprehensive, as I ran into some encoding bugs while working on it
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[ ] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Looks like this does indeed fix the problem:

✅ https://kit-svelte-dev-git-gh-3848-svelte.vercel.app/docs
❌ https://kit.svelte.dev/docs

I have two related comments:

I was trying to test this implementation of the normalize function in the old code but the normalize function is being passed in /rss.xml/ which then returns /rss.xml/. I haven't tested this PR to see if that is an issue or not here, but I thought I'd make a note about it

Pages that are error codes (i.e. 404/) are left as is. Does it make sense to always convert 404/index to 404.html? Similar question for other response codes.


Initial Network Config Comparison Table

Signed-off-by: Mark Sanders<EMAIL_ADDRESS>

This is great! Can you replace spaces in the filename with underscores please? Otherwise, a great start!

Modified the file name in the amended PR.

Thanks for creating this @sanders-mark. Can I suggest you add another column to this table that conveys how relevant a capability is for xPUs (as what is critical for switches maybe less for for servers/NICs).

Good Feedback.  This is an initial cut at the table.  We need to continue to iterate on the table to get the columns filled out and add any new ones that are missing.  Agree that the column for the relevance to xPUs is needed - then I can get rid of the note that I started for the lag item as this is more switch related vs NIC.


Add GPS support to obtain location and UTC date/time

Currently, the code will try only during setup() to use a GPS on Serial1 (if available) to acquire date and time.  Not all GPS messages include the date, so it seems unreliable.

Resolved with dc56f2448bc7296f78b223d9db7e124687a99b99


Add Crystal 1.2 support

Based on #27, docker image builds locally but I guess we'll see about CI...

Oops, looks like I forgot to make the needed changes to the macOS CI. Don't have a Mac to test it in particular, but the changes look like they should work...

Oops, looks like I forgot to make the needed changes to the macOS CI. Don't have a Mac to test it in particular, but the changes look like they should work...

...and attempted to fix again, sorry about needing workflow approval every time :sweat_smile:

...and attempted to fix again, sorry about needing workflow approval every time :sweat_smile:

...and attempted to fix again, sorry about needing workflow approval every time 😅

@refi64 No worries this is only clicking a button, thank you for contributing! ❤

...and attempted to fix again, sorry about needing workflow approval every time 😅

@refi64 No worries this is only clicking a button, thank you for contributing! ❤

Looks like it's passing now!

Looks like it's passing now!

This is great, thanks! ❤
I think I can also remove the need to clone the crystal repo because of the markd dependency, I'll make a follow-up PR.


Initial commit

There is no good distribution for this language server.
We could do a combination of git clone depth=1 and git submodule init. But this seemed easier.

The log directory you can probably remove (and gitignore)?

Would it be possible to move all server files into a subdirectory? It looks a bit messy with server and package files mixed like that.

Also could mention where the server code is coming from in the README.
Maybe also include instructions on how to update the server because even if you've done it now, not sure if you are gonna remember in few months how it was done and what changes were necessary to make it work. :)

Would it be possible to move all server files into a subdirectory? It looks a bit messy with server and package files mixed like that.

I tried this, but this server is really picky about its file structure.


Several functions have mutable default arguments

I came across a function in pygsti version <IP_ADDRESS> that has a mutable default argument. This can lead to nasty bugs, as described here. Once I found the first bug of this kind, I ran some searches and found several more. See below for a list.
Search results
I ran a regex search for strings of the form =[]<characters here>): [1] and found the following hits:

If I search for strings of the form ={}<characters here>): [2], I get

Footnotes
[Footnote 1] <insert characters here> is a placeholder for any character sequence that excludes new lines. The actual regex I used was =\[\].+\):. Note that this doesn't capture all possible cases where we have mutable default arguments, since it will miss cases of multi-line function definitions where the mutable argument isn't on the last line.
[Footnote 2] The actual regex I used was =\{\}.+\):.
You can search for both patterns I checked with =[\{\[][\}\]].+\):.

Closed with release of 0.9.12.


Port extension to Ulauncher 5

Ulauncher 5 (of which development builds are already available) will ship the Python 3 version only. As a result, all extensions have to be ported to Python 3, and also the new Ulauncher Extension API v2.
See more details here

Thanks for the headsup @paualberto will check it out!

I too would like the extension updated, if I may say so.

@LinuxOnTheDesktop will push out the new version out today!

The extension has been updated and is available from the uLauncher v5 list


Problem with the MessageCreate event

Hello, I noticed something odd when using the MessageCreate event.  When someone posts a message with an embed (eg. any tweet with an image or a youtube link), the event does not detect any embeds.  Other fields like channelID, messageID and content are detected except for the embeds field which remains empty.  However, if I enter the exact same message again, it detects the correct number of embeds.
2022/01/01 15:13:05 DETECTED NEW MESSAGE !! Inserting message 123123123 from 234234234
2022/01/01 15:13:05 []
2022/01/01 15:13:05 https://www.youtube.com/watch?v=asdfsadf
2022/01/01 15:13:21 DETECTED NEW MESSAGE !! Inserting message 123123123 from 234234234
2022/01/01 15:13:21 [0xc0000b4be0]
2022/01/01 15:13:21 https://www.youtube.com/watch?v=asdfasdf

func messageListen(dg *discordgo.Session, m *discordgo.MessageCreate) {
	log.Println("DETECTED NEW MESSAGE !! Inserting message " + m.ID + " from" + m.ChannelID)
	log.Println(m.Embeds)
	log.Println(m.Content)
}

Anyone know why?

Embeds generated by links aren't necessarily immediately available—they are asynchronously inserted into messages later via a message update. (Notice how the embeds take a second to load after the message is posted—that's two separate events). Perhaps Discord has the embed cached the second time around to be able to insert it immediately.

Embeds generated by links aren't necessarily immediately available—they are asynchronously inserted into messages later via a message update. (Notice how the embeds take a second to load after the message is posted—that's two separate events). Perhaps Discord has the embed cached the second time around to be able to insert it immediately.


schema: add line/col info in case of JSON err

Previously no line/col information was provided if JSON parsing failed.
This fixes it.
Unfortunately we still cannot determine line/col information in case of
schema validation because the original JSON decoderState is lost.
Signed-off-by: Sergiusz Urbaniak<EMAIL_ADDRESS>

LGTM

LGTM

LGTM


The purpose of the logscale_factor=3. in the actnorm function

Hello, I would like to ask what is the purpose of the logscale_factor in the actnorm function here?
I couldn't find any reference in the paper which would explain the reason if this variance modification. As far as I understand this implementation, we recover the paper description by setting logscale_factor=1. It is also clear to me that it just affects the initialization step, but it is interesting to know if this is some kind of trick which helped you or something else. Thanks for feedback.

Closing this issue, since I have realized that logscale_factor actually reduces out and does nothing in this code.

Why are you saying that logscale_factor reduces out? Do you mean that the neural network will learn to adjust to this factor i.e. instead of outputting `logs' it will output a scaled down version of it instead?

The logscale_factor can accelerate the update of the parameter. For example, $\theta$ is the parameter before logscale_factor,  $\beta$ is the parameter after logscale_factor and the logscale_factore equals 3.
$$
\begin{align*}
\theta&=3\beta\
\frac{\partial\mathcal{l}(3\beta)}{\partial\beta}&=3\frac{\partial\mathcal{l}(3\beta)}{\partial3\beta}=3\frac{\partial\mathcal{l}(\theta)}{\partial\theta}\
\theta'&=\theta-\alpha\frac{\partial\mathcal{l}(\theta)}{\partial\theta}\
3\beta'&=3\beta-9\alpha\frac{\partial\mathcal{l}(\theta)}{\partial\theta}
\end{align*}
$$


fix(es/parser): Fix let parsing in scripts to match spec

Description:
Fix for #8269
WIP - still need to tweak tests & verify running as strict: false

BREAKING CHANGE:

Related issue (if exists):

This is fixed now by https://github.com/swc-project/swc/pull/9484


Encapsulating div hiding Fade component causes image panel to incorrectly load

I am utilizing the Fade component inside of a div that initially hides it based on state.
The div, when set to any of the CSS properties, creates a distortion on initial set:
// option 1
.false {
  display: none;
}

// option 2
.false {
   position: absolute !important;
   top: -9999px !important;
   left: -9999px !important;
}

// option 3
.false {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px; width: 1px;
  margin: -1px; padding: 0; border: 0;
}

When the Fade div is hidden by one of those methods, and then unhidden, whatever is inside of the div (images or text) will not be centered correctly. But, upon a zoom change or window size change, the div fixes itself.
Here is an Imgur album of the div before being displayed, initial opening, then after a rezoom:
https://imgur.com/a/GDu2sTr
I have created a sample project with a simple implementation with text (Stackblitz does not support images.
See: https://stackblitz.com/edit/react-8bjnge

@jcosentino try using visibility: hidden instead of display: none. I'll still look into fixing it when display css property is used

I think the best approach will be to use jsx to control when the slide is shown instead of using css. Setting display to none doesn't stop the slideshow from getting mounted.
I changed the app.js to this
import React from 'react';
import { render } from 'react-dom';
import './style.css';
import { Fade } from 'react-slideshow-image';

function App() {
  const [isOpen, setOpen] = React.useState(false);
  const fadeProperties = {
    duration: 5000,
    transitionDuration: 500,
    infinite: true,
    indicators: true,
    pauseOnHover: true
  }

  function handleIsOpen(){
    return isOpen;
  }

    return (

      <button onClick={() => {setOpen(!isOpen)}}>CLICK</button>
      {
        isOpen &&

        <Fade {...fadeProperties}>

This is some example text

label #1

This is some example text

label #2

This is some example text

label #3

        </Fade>

      }

    );
}

render(<App />, document.getElementById('root'));


🐞 - Stackblitz playground is broken

Playground Link
https://taiga-family.github.io/tui-editor/stackblitz
Description
The official stakblitz playground is broken.
ERROR
Error: R3InjectorError(AppModule)[InjectionToken -> InjectionToken An abstraction over window.navigator.userAgent object -> InjectionToken An abstraction over window.navigator.userAgent object -> InjectionToken An abstraction over window.navigator.userAgent object]:
NullInjectorError: No provider for InjectionToken An abstraction over window.navigator.userAgent object!

I've also tried to use this package in my own project (Angular 13.3.8, TUI 3.51.0), and it fails at runtime :

Error: node_modules/@tinkoff/tui-editor/node_modules/prosemirror-view/dist/index.d.ts:217:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'pmViewDesc' must be of type 'ViewDesc', but here has type 'ViewDesc'.

217         pmViewDesc?: ViewDesc;
            ~~~~~~~~~~

  node_modules/prosemirror-view/dist/index.d.ts:217:9
    217         pmViewDesc?: ViewDesc;
                ~~~~~~~~~~
    'pmViewDesc' was also declared here.

Maybe this commit has fixed the issue
Angular version
12.2.17
Taiga UI version
3.51.0
Which browsers have you used?

[ ] Chrome
[ ] Firefox
[ ] Safari
[X] Edge

Which operating systems have you used?

[ ] macOS
[X] Windows
[ ] Linux
[ ] iOS
[ ] Android

The error has changed :
Error in turbo_modules/<EMAIL_ADDRESS>The entrypoint for '@angular/core' could not successfully be resolved. The file '/turbo_modules/<EMAIL_ADDRESS>does not exist. Please log an issue with the package author or check for an updated version of the package.


Add test cases for logging admin

@ChanakaCooray : Closing the PR since this is failing with integration test failure.

@Niranjan-K This test cases for the fix for the PR https://github.com/wso2/carbon-commons/pull/245. So ideally we need to update the carbon-commons version of the AS to pass the test cases.


typo

"Applications can request multiple changes feeds on the same container simultaneously. "
should be
"Applications can request multiple change feeds on the same container simultaneously. "

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

ID: fdcc897a-d6df-3305-e9cb-01889a3c5d4f
Version Independent ID: 739a9fc7-3782-a860-ac6d-4194fd1ce2e8
Content: Working with the change feed support in Azure Cosmos DB
Content Source: articles/cosmos-db/change-feed.md
Service: cosmos-db
GitHub Login: @rimman
Microsoft Alias: rimman

@vip32 thanks for pointing out, I submitted a fix to the doc. In future if you find any typos feel free to click on the edit button on the right hand corner and submit a PR. We would love to get community contributions.
We will now close this issue.
#please-close

@vip32 Thank you for taking the time to point this minor item out. This will be updated and a fix published.

We will now proceed to close this thread. If there are further questions regarding this matter, please comment and we will gladly continue the discussion.


[Rust futures] Futures Explained in 200 Lines of Rust

Futures Explained in 200 Lines of Rust

找到轮子了


Proxy local file support in Gene.iobio

@tonydisera just wanted to give you an update. I'm currently working on a bug with the proxy. I'm optimistic it will be done today then I can start working with you and adding support.

Cool.  Thanks for the update.

Hey @tonydisera, I believe the local file bug is fixed, and we're ready to start trying it out for gene. Basically you just need to npm install --save fibridge-host and use it as shown here. We have a publicly hosted fibridge-proxy instance running at lf-proxy.iobio.io (that's a capital i, sorry!). So you'll set that as the proxyAddress when creating the hoster. For a more complete example, you can see how I integrated it into bam here.
If you're too busy with other things I can help but I'll need to split my time between this and removing binaryjs from minion.

Seems fixed


[client-ts] Ensure deterministic signature generation

In order to support off-chain signed data on the Verida network being used on-chain, we need to ensure the signature generated for each data record is the same for each piece of data.
For example:
{
  "hello": "world",
  "jane": "doe"
}

needs to generate the same signature as:
{
  "jane": "doe",
  "hello": "world"
}

In order to do this, we need to ensure data is either:

Always stored in C/PouchDB in alphanumeric order
Always sorted into alphanumeric order before the signature is generated

Preference is for (1), however C/PouchDb may not enforce order of key / value pairs. Requires investigation.

I suspect you'll have to do (2) because the collation order for PouchDB is likely to depends on the locale settings for the browser, and different locales have different sort orders (see https://docs.microsoft.com/en-us/globalization/locale/sorting-and-string-comparison).
I think (2) and specifying the locale to be US-English (I guess?) would solve this.

Here's an example from the link above for collation order being different across launages

@nick-verida Good point. This will also run on the server, so will depend on the locale of the server or browser depending on the runtime environment.
It makes sense to force US-English for determining the order. The actual doesn't really matter, just so long as it's consistent.

We should consider using: https://www.npmjs.com/package/json-stable-stringify

@tahpot @pranavburnwal this seems important. Should someone work on it?

We should consider using: npmjs.com/package/json-stable-stringify

https://github.com/substack/json-stable-stringify/issues/20
Based on ticket, it still doesn't sort properly. So we need to pass in a pre-sorted place.
They suggest https://github.com/ThomasR/JSON.sortify


[Feature] Add support for text2vec-aws and generative-aws

This PR

Adds support for text2vec-aws and generative-aws in the collection configuration _Vectorizer and _Generative classes.
Updates available text2vec-cohere models & truncation options to correspond to https://github.com/weaviate/weaviate/blob/master/modules/text2vec-cohere/vectorizer/class_settings.go#L42

Codecov Report
Attention: 78 lines in your changes are missing coverage. Please review.

Comparison is base (7c00d95) 90.37% compared to head (34bb8c0) 90.11%.
Report is 78 commits behind head on beta/v4.0.

Files
Patch %
Lines

weaviate/collections/queries/base.py
62.50%
15 Missing :warning:

integration/test_collection_config.py
65.62%
11 Missing :warning:

weaviate/connect/helpers.py
28.57%
10 Missing :warning:

weaviate/collections/classes/config.py
95.49%
5 Missing :warning:

weaviate/proto/v1/search_get_pb2.py
0.00%
5 Missing :warning:

weaviate/collections/classes/config_methods.py
84.61%
4 Missing :warning:

integration/test_collection_openai.py
0.00%
3 Missing :warning:

weaviate/collections/classes/batch.py
85.00%
3 Missing :warning:

weaviate/collections/classes/internal.py
86.36%
3 Missing :warning:

weaviate/collections/collection.py
72.72%
3 Missing :warning:

... and 14 more

Additional details and impacted files
@@              Coverage Diff              @@
##           beta/v4.0     #610      +/-   ##
=============================================
- Coverage      90.37%   90.11%   -0.26%
=============================================
  Files            132      132
  Lines          14827    14997     +170
=============================================
+ Hits           13400    13515     +115
- Misses          1427     1482      +55

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


clean up "config" interface

Maybe move everything to classes to make the structure a bit clearer

done. not everything is there but significant momentum. this also makes microscope.j5 more documented as the bits to use it are in a specific place rather than scattered throughout the code


--url-base not documented on command line

only in README.

Were you looking at hookbot -h? You need to look at the sub-command. Please reopen if I got this wrong.
$ ./hookbot make-tokens -h
NAME:
   ./hookbot make-tokens - given a list of URIs, generate tokens one per line

USAGE:
   ./hookbot make-tokens [command options] [arguments...]

OPTIONS:
   --bare					print only tokens (not as basic-auth URLs)
   --url-base, -U "http://localhost:8080"	base URL to generate for (not included in hmac) [$HOOKBOT_URL_BASE]


Update to latest

Please, Update to the latest

1.0.16 is the latest version tag of that library, I'm not seeing a newer version available.

ok, may be there is no new build, but I saw merged pr with support of 120Hz displays. possible there will be new build soon

Once they make a new version tag I will, but I don't grab anything that's just in their main repository.


docs: add pod to InterpretReplica support list

What type of PR is this?
/kind documentation
What this PR does / why we need it:
Changes made:

Added Pod(v1) to the InterpretReplica support list in https://karmada.io/docs/next/userguide/globalview/customizing-resource-interpreter/#interpretreplica

Which issue(s) this PR fixes:
Fixes #451

@rakshitgondwal Thanks, can you help make some changes to this file at the same time?
i18n/zh/docusaurus-plugin-content-docs/current/userguide/globalview/customizing-resource-interpreter.md

Hi @XiShanYongYe-Chang, please check.

Hi @rakshitgondwal, can you help squash your commits into one?

Done, please check @XiShanYongYe-Chang

Thank you for the merge!


Main Nav: Style Update

Removes the border animation on the links and restores text-decoration: underline to work better with longer category names.

@alanpeabody A quick adjustment Lucian requested.

thanks @gblakeman


Open MQTT Gateway

I found this while looking for ways to sniff, transmit, & receive 300ish-433 MHz signals.  There are ESP32 boards that have transceivers & OLED displays builtin, similar to the one I sent to you last week for 915 MHz signals.  Then I saw that Open MQTT Gateway has firmware available for Somfy controllers.  I think you may still need the C1101 to get everything going, but I thought you might be interested in knowing about it.
Open MQTT Gateway:   https://docs.openmqttgateway.com/
It looks like you need to be very selective about the ESP32 board, as many versions are not supported.  Of course, I ordered one via slow boat delivery because I couldn't tell with certainty what board the Bezos would actually ship.  It may be here in a month or so.  More on this story as it develops :-)
https://www.aliexpress.us/item/2251832685763835.html?spm=a2g0o.productlist.main.5.581aSL5eSL5ebn&algo_pvid=38c54624-829d-40f3-a535-792780bfe6c2&algo_exp_id=38c54624-829d-40f3-a535-792780bfe6c2-2&pdp_npi=3%40dis!USD!16.59!16.59!!!!!%40211be59e16828861692765954d0858!12000031557075306!sea!US!0&curPageLogUid=aAumdtpSST2c
BTW, feel free to close my other issue regarding the 915 MHz option.  Doesn't look like it's going to work for me, but I found a workaround for my beloved that earned WAF points.
Have a super evening & week ahead!

Looking forward to hearing what it does.

Not much information on the pre-compiled binary.  Just says it needs a C1101, so there's likely no advantage to your solution and it's more expensive.  Still it may be a reasonable sniffing tool.  My board is weeks away, but I'll let you know what I think of it once I get my feet wet.
Somfy is #29 in the list:
https://docs.openmqttgateway.com/upload/web-install.html
Somfy binary:
https://docs.openmqttgateway.com/prerequisites/boards/esp32dev-somfy-cc1101.html
C1101 Pinout they use is here.  Could be the same as yours... I haven't checked but Dupont cables make it easy enough.
https://docs.openmqttgateway.com/setitup/rf.html#pinout

Yeah you can give it a shot.  I found that to be one of the ones that use somfy_remote_lib and it only sends commands for Somfy anyway.

I guess that's not too surprising, if a little disappointing.  I prefer to keep things as general  purpose as practicable.
I'll close this thread for now.  If I learn anything "interesting" once I get the beast & play for a while, I'll let you know what I find out.


Parallel bulk loading

Hello,
for a project of mine, a long distance route plotter for the game Elite: Dangerous, I'm using an R*-Tree as my main data structure for nearest-neighbor queries, my data set contains about 87 million 3D-Points with some metadata attached, and constructing an R*-Tree with the following parameters:
pub struct LargeNodeParameters;
impl RTreeParams for LargeNodeParameters {
    const MIN_SIZE: usize = 20;
    const MAX_SIZE: usize = 40;
    const REINSERTION_COUNT: usize = Self::MAX_SIZE - Self::MIN_SIZE - 1;
    type DefaultInsertionStrategy = RStarInsertionStrategy;
}

takes around 30 seconds on my machine, query performance is excellent at ~23M queries per second distributed across 32 threads
i have done a quick skim over the bulk-loading code and I've also skimmed the paper it is based on bit it goes a bit over my head. my main question is: would it be feasible to parallelize the bulk loading using something like rayon to improve performance?
I've experimented with splitting my data up and constructing multiple trees i can query in parallel but didn't have too much success with that.
best regards,
Earthnuker

Parallel bulk loading is something I've actually implemented a long while ago. I then discarded the changes as I thought that the break-even point (number of elements where parallel load is faster than sequential load)  was too high and that the maintenance burden wasn't worth the additional code.
Reading through my old code, I've written that the break-even point would be about 40000 elements... I guess I never considered back then that people would use rtrees with millions of elements. Or maybe this is just a typo.
In any case, the parallel bulk load got removed in commit eae7354bfbf7d4276f66237304259d2fd544d60e .
I have reverted that commit and have fixed all compilation issues. Would you be interested in testing the implementation? If this feature benefits your use case, it may be worthwhile to keep it.
For testing, checkout this branch:
https://github.com/Stoeoef/rstar/tree/bulk-load-parallel
Then, enable the "threadpool" feature and use RTree::bulk_load_parallel (or RTree::bulk_load_with_params_parallel(...))
Note that there's still some work to do, even if the parallel algorithm works just fine - e.g. checking the test coverage of the parallel algorithms and probably renaming the feature to something more descriptive. I can look into that if the changes look promising.
Performance wise, the threading-split is fairly coarse grained - only the root node is loaded in parallel. However, since the root will have a lot of children with the config you are using, you may still see some good speed up.

I know its much to ask for, but I think it would be nice if this used Rayon's thread pool to better integrate into code bases already using it for data parallel processing.
I am not sure, but the algorithm might even be amenable to using Rayon's join primivite to avoid the overhead of spawning heap-allocated tasks there decreasing the breakeven point.

I'm not bound to the threadpool library - I think I've only chosen it as it was more lightweight. Using rayon should be fine.
I also tried using join back then but without too much success - from memory, work items will spawn new work items in a very irregular fashion which made this really slow.
I think a real good speed-up could be gained by performing selection in parallel. I believe that that is, with some margin, the part where the implementation spends most time in. Currently, this is done using https://doc.rust-lang.org/stable/std/primitive.slice.html#method.select_nth_unstable .
I'm not aware of any library that implements a parallel implementation for that unfortunately.

FWIW, there's a rayon issue about par_select:
https://github.com/rayon-rs/rayon/issues/838

just gave the parallel-bulk-loading branch a test drive and:
Serial bulk loading:
[0:00:00.347353] INFO | ed_lrr.route:src\route.rs:570 | Loading [C:/Users/Earthnuker/ed_lrr/data/stars]
[0:00:00.963467] INFO | ed_lrr.route:src\route.rs:575 | 92162363 Systems loaded in 616.6ms, 149.5M systems/s
[0:00:40.203789] INFO | ed_lrr.route:src\route.rs:583 | R*-Tree built in 39.07s
[0:00:40.203789] INFO | ed_lrr.route:src\route.rs:585 | Total time: 39.86s

Parallel bulk loading:
[0:00:00.204990] INFO | ed_lrr.route:src\route.rs:570 | Loading [C:/Users/Earthnuker/ed_lrr/data/stars]
[0:00:00.551782] INFO | ed_lrr.route:src\route.rs:575 | 92162363 Systems loaded in 346.7ms, 265.8M systems/s
[0:00:11.420669] INFO | ed_lrr.route:src\route.rs:583 | R*-Tree built in 10.87s
[0:00:11.421669] INFO | ed_lrr.route:src\route.rs:585 | Total time: 11.22s

gives quite a nice speedup even if it didn't even get close to saturating all 32 threads of my CPU

Thanks for testing this! Good to see that this still gives a nice speed up. I think that's enough justification to warrant a change, even if the algorithm isn't ideal yet.
For me, the remaining TODOs would be:

[ ] Open a PR
[ ] Check test coverage of the parallel bulk load. I think tests might be duplicated on that test branch?
[ ] Rename the feature - my suggestion would be bulk_load_parallel in accordance with the method name.
[ ] Add / revisit appropriate documentation in lib.rs
[ ] Add / revisit appropriate documentation for bulk_load_parallel and bulk_load_with_params_parallel
[ ] Update Readme
[ ] Consider moving to a different library than threadpool. IMO, switching to rayon only makes sense if we plan to use a rayon feature (like join). I would suggest to postpone this switch to some later point - it's a non-breaking change after all. In the meantime, threadpool seems to be a smaller (faster compile times) option. No strong point for me though.

@adamreichold : Is there anything else you would consider to be necessary?
@Earthnuker : Would you be interested in finishing up these steps? I'm happy to do the review and assist with any issues.

IMO, switching to rayon only makes sense if we plan to use a rayon feature (like join).

In my opinion, the most important part of using Rayon would be to use same thread pool as other parts of a program that already uses Rayon. Of course, if we just want to spawn tasks onto Rayon's thread pool, a dependency on rayon-core would suffice with its spawn function just replacing the calls to ThreadPool::execute (thereby using the "current" thread pool which the user can change by "installing" their workload in any thread pool they want).
I think this change would be minimal but I could certainly try to provide it as a follow-up PR since I asked for it if there is no reason against it.

@adamreichold : Is there anything else you would consider to be necessary?

For such algorithms, I do like property-based tests of the sequential versus the parallel implementation. I am not sure though how powerful such tests would be as I suspect some non-deterministic ordering of the results of the parallel variant?

In my opinion, the most important part of using Rayon would be to use same thread pool as other parts of a program that already uses Rayon.

Ah, that's a good argument for using rayon - color me convinced! I agree, the change will be fairly minimal.

For such algorithms, I do like property-based tests of the sequential versus the parallel implementation. I am not sure though how powerful such tests would be as I suspect some non-deterministic ordering of the results of the parallel variant?

I think property test should still be doable. The "only" difference between the outcomes of the parallel and the sequential solution should be the order of the tree's root nodes. That should hardly be noticeable.
Alternatively we could consider to "simulate" the thread pool by executing tasks sequentially rather than on the thread pool - this will make the tests totally deterministic.
For this ticket I would suggest to adapt test_bulk_load_with_different_sizes - it currently is already very similar to a prop test and can easily be extended to also include the parallel version.


Automated Monkey error

We have Automated Monkey error on init.
Does anybody have the same?

Hey, this sounds like a very specific system to your environment. To fix this I would try and get rid of your environment and then try to do nothing.
Follow these commands below:
`
`

@JamesWilson19947  You forgot to add the vital parts of the instructions. Refer to points 1 & 2 -


Release 2.3.0

This PR contains changes for the 2.3.0 release. All features and bugfixes are described in CHANGELOG.md and CHANGELOG.examples.md.

[x] I’ve added tests to confirm my change works.
[x] (If changing formatting output/API or CLI) I’ve added my changes to the CHANGELOG.md file in the Unreleased section.
[x] I’ve read the contributing guidelines.

This PR is not valid anymore, check this one: https://github.com/IlyaMatsuev/prettier-plugin-apex/pull/34


[BUG] [Backup>S3] Backup creating and cleanup process is way to slow if a lot of backups are in S3

Describe the bug
We've got over a thousands backups of Longhorn volumes in our S3 storage. And when trying to delete them manually it usually does not work right away, but most of the time they are gone a few hours later or on the next day. The same is true for the automated cleanup process after creating backups using a backup job.
Besides the slow backup deletion process Longhorn is also very slow with creating a backup. It sits at a progress of 0% for nearly half an hour before it starts uploading, and then it is done within a few seconds with the upload itself which of course depends on the volume size.
To Reproduce
Have a few volumes, create an automatic backup job, let it run several weeks and don't allow the backups to be deleted until you have enough backups in your S3 backend.
Use the following command to check how many backups there are:
kubectl -n longhorn-system get backups.longhorn.io -o custom-columns='BACKUP_NAME:.metadata.name,PVC_NAME:.metadata.labels.backup-volume

If you've got enough backups try to delete a single one and wait. Or change the backup job in a way it keeps just the last backup, so it cleans up after a freshly made backup automatically.
Expected behavior
The backups should be cleaned up either synchronously so that the log lines in the backup job pod matches the reality or there should be an other log available somewhere that explains when backups really are deleted.
Also uploading a fresh snapshot to S3 during a backup job should start immediately and not sit there for half an hour.
No support bundle but one log as an example
I can not give you a support bundle because our logs are highly confidential. But I can share some interesting anonymized logs with you.
Here's an example that shows the issue with the delayed upload:
time="2024-02-27T13:55:52Z" level=info msg="Creating job" func=app.startVolumeJob file="recurring_job.go:181" concurrent=1 groups=default job=full-backup labels="{\"RecurringJob\":\"full-backup\",\"name\":\"backup\"}" retain=1 task=backup volume=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T13:55:52Z" level=info msg="job starts running" func="app.(*Job).run" file="recurring_job.go:289" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T13:55:52Z" level=info msg="Running recurring backup for volume pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).run" file="recurring_job.go:320" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T13:55:57Z" level=info msg="Complete creating the snapshot full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doSnapshot" file="recurring_job.go:406" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T13:59:08Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T13:59:14Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T13:59:19Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx

The progress 0 lines now repeat 347 times and then this happens:
time="2024-02-27T14:28:30Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:35Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:40Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:45Z" level=info msg="Creating backup backup-9be6xxxxxxxxxxxx, current progress 34" func="app.(*Job).doRecurringBackup" file="recurring_job.go:644" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:50Z" level=info msg="Completed creating backup backup-9be6xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:642" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:50Z" level=info msg="Cleaned up backup backup-24f4xxxxxxxxxxxx for pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:679" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:50Z" level=info msg="Cleaned up backup backup-c0adxxxxxxxxxxxx for pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:679" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:50Z" level=info msg="Cleaned up backup backup-c6cdxxxxxxxxxxxx for pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:679" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
...

Then 91 more Cleaned up backup lines follow and it ends with this:
time="2024-02-27T14:28:56Z" level=info msg="Cleaned up backup backup-a52fxxxxxxxxxxxx for pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:679" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:56Z" level=info msg="Cleaned up backup backup-36fexxxxxxxxxxxx for pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:679" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:56Z" level=info msg="Cleaned up backup backup-5070xxxxxxxxxxxx for pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx" func="app.(*Job).doRecurringBackup" file="recurring_job.go:679" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:56Z" level=info msg="Finished recurring backup" func="app.(*Job).doRecurringBackup.func1" file="recurring_job.go:590" labels="map[RecurringJob:full-backup name:backup]" namespace=longhorn-system retain=1 snapshotName=full-bac-cd0c1355-xxxx-xxxx-xxxx-xxxxxxxxxxxx task=backup volumeName=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
time="2024-02-27T14:28:56Z" level=info msg="Created job" func=app.startVolumeJob file="recurring_job.go:202" concurrent=1 groups=default job=full-backup labels="{\"RecurringJob\":\"full-backup\",\"name\":\"backup\"}" retain=1 task=backup volume=pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx

My own thoughts
Disclaimer: I really don't know if I found the right location in the code and my golang is a bit rusty too.
The S3 driver makes a test connection each time it gets initialized here: https://github.com/longhorn/backupstore/blob/master/s3/s3.go#L74
This then calls ListObjects here: https://github.com/longhorn/backupstore/blob/master/s3/s3.go#L126
And it calls ListObjectsPage from the aws go library here: https://github.com/longhorn/backupstore/blob/master/s3/s3_service.go#L93
Since the “test connection line” initially calls it with an empty string as argument, the ListObjectsPages will return every single file in the bucket which is of course not necessary. Especially if you know that it can create multiple requests to the endpoint to speed up things, as you can read here: https://pkg.go.dev/github.com/aws/aws-sdk-go/service/s3#S3.ListObjectsPages.
And then in the end the result never is used again.
That would also explain why Longhorn is so slow with deleting old backups. For me it seems that the less backups there are, the faster they can be deleted. And this may has something to do with this S3 driver.
Environment

Longhorn version: 1.5.2
Impacted volume: pvc-9b923afa-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Installation method: Helm
Kubernetes distro and version: RKE 2.7.0

Number of control plane nodes in the cluster: 3
Number of worker nodes in the cluster: 6

Node config

OS type and version: Ubuntu 22.04.3 LTS
Kernel version: 5.15.0-91-generic
CPU per node: 12
Memory per node: 16 GiB
Disk type (e.g. SSD/NVMe/HDD): SSD or NVMe
Network bandwidth between the nodes (Gbps): 10 GBit

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): VMWare/KVM
Number of Longhorn volumes in the cluster: 12

Additional context

Can you show the spec.backupCompressionMethod of one of volumes whose backup process is slow?

Hi @derekbit .

Backup
We've configured lz4 as compression method in the general settings in the Longhorn UI. There are no individual settings for the volumes.
We also have a second kubernetes cluster with basically the same deployments, settings and volumes, because it's the pre production stage. In this second cluster we don't have these issues with "progress 0" for half an hour. Both clusters even write to the same S3 backend. I am not sure what could be the difference between those clusters that it makes that big of a difference.
Deletion
We are using the S3 backend of an external provider and he told us that we are doing way to many requests and create a lot of load on their backend when our backup job runs. So please have a look at the s3 driver and check the time consumption of each step in different scenarios.
I'm trying to get some specific data I can show you then.

Thank you!

We've configured lz4 as compression method in the general settings in the Longhorn UI. There are no individual settings for the volumes.

If your volume was created before v1.5.0, the compression method is still gzip. Therefore, you need to check the field I mentioned above.

In this second cluster we don't have these issues with "progress 0"

Sounds weird. If the issue happens, can you generate a support bundle for analysis?

We are using the S3 backend of an external provider and he told us that we are doing way to many requests and create a lot of load on their backend when our backup job runs. So please have a look at the s3 driver and check the time consumption of each step in different scenarios.

Sure. We will check and improve the deletion part.

I set the milestone to v1.7.0 and see if we can improve it.
cc @innobead

REF https://github.com/longhorn/longhorn/issues/5215

We've configured lz4 as compression method in the general settings in the Longhorn UI. There are no individual settings for the volumes.

If your volume was created before v1.5.0, the compression method is still gzip. Therefore, you need to check the field I mentioned above.

I had a bit to search for the field you meant. It's .status.compressionMethod in the Backup.longhorn.io resources. And you're right. Most of them use gzip as the compression method. One or two of them use lz4 and then there are a few backups that just have an empty string as the compressionMethod. And there are also a few backups where each field in .status is just an empty string or null which seem to be the backups that failed in the past due to bandwidth/request limits we got from the S3 provider.
Oh, and both cluster mainly use gzip. There seems to be no difference between the compression method they use for their backups.

In this second cluster we don't have these issues with "progress 0"

Sounds weird. If the issue happens, can you generate a support bundle for analysis?

I don't think that's possible either because even the pre-production cluster consists of confidential data. But I can try to get the permissions for it.

We are using the S3 backend of an external provider and he told us that we are doing way to many requests and create a lot of load on their backend when our backup job runs. So please have a look at the s3 driver and check the time consumption of each step in different scenarios.

Sure. We will check and improve the deletion part.

That's really appreciated. :+1:

Does it mean, that we have to cope with this slowness as long as we have old volumes using gzip? And we only can overcome it be setting up new volumes, which can use lz4?
I am asking, because we face the same issue: Trying to backup a 2TB volume. It's in the 0% state for some hours. The backup job generates this log line every 5! seconds:
level=info msg="Creating backup backup-2e856e6c9f53445b, current progress 0" func="app.(*Job).doRecurringBackup" file="recurring_job.go:640" labels="map[RecurringJob:dailybackup]" namespace=longhorn-system retain=14 snapshotName=dailybac-df0c9f03-4d26-4da3-8a5c-5df55715f02c task=backup volumeName=pvc-978e2c01-cf30-4372-b1a4-5d508c58877a


FD integration relative path prefix

[X] I have read through the manual page (man fzf)
[X] I have the latest version of fzf
[X] I have searched through the existing issues

Info

OS

[ ] Linux
[ ] Mac OS X
[X] Windows
[ ] Etc.

Shell

[ ] bash
[ ] zsh
[ ] fish
[X] cmd

Problem / Steps to reproduce
I'm getting .\ prefix for all files when when using fd command for searching files. When using with VIM this might cause some of my plugins do not work as the path contains .\ prefix in it and looks like this:  c:\code\project\.\src\file.js
Here is an example with Windows dir command and fd command. Take a look as the 1st one does not have \. prefix but with fd it does.

fzf simply reads the output of fd. You should ask this to the maintainers of fd.

This appears to be the default behavior since fd v8.3.0:

Always show the ./ prefix for search results unless the output is a TTY or --strip-cwd-prefix is set, see #760 and #861 (@jcaplan)

@charego this solved my issues. Thanks.


replace "coins_in_hand" with "get_asset_balance"

i think it would be better to directly read available coins balance from wallet
balance = client.get_asset_balance(asset='BTC')

That's a good point, how would we tell that the coin was bought via the bot and not purchased by the user?

That's a good point, how would we tell that the coin was bought via the bot and not purchased by the user?

No need, I think all users will use a new binance account for bot use.

you can store initial balance status and then substract inital from current after every iteration
for key,value in keywords.items():
    print(key,': ',float(balance_at_start[key]['free']) - float(client.get_asset_balance(asset=key)['free']))

That's a good point, how would we tell that the coin was bought via the bot and not purchased by the user?

No need, I think all users will use a new binance account for bot use.

Or disable the bot when doing manual trading.

you can get the order ID of the order placed by the bot and track its status. You will have all information needed: status, quantity, price,....

you can get the order ID of the order placed by the bot and track its status. You will have all information needed: status, quantity, price,....

i think this is possible ,,, and stored in database ,,, mongodb for example


Corrected assert for testCorrectCountryCodeWith32bitSID1

Have asked @byrion if he can review / accept.
Thanks for submitting.
Nick


Markdown links with spaces do not work

VSCode Version: Code 1.11.2 (6eaebe3b9c70406d67c97779468c324a7a95db0e, 2017-04-13T08:03:11.395Z)
OS Version: Windows_NT ia32 10.0.15063
Extensions:

Extension
Author
Version

vscode-great-icons
emmanuelbeziat
1.1.49

PowerShell
ms-vscode
0.12.2

When using markdown links, links with a space in the link are not shown as links in the preview window.
Steps to Reproduce:

Create a markdown file (file with extension .md)

Enter text below:
[This example does not work](C:\Program Files\Common Files\System\DirectDB.dll)
[This example works](C:\Windows\explorer.exe)

Switch to preview mode. Above examples are show as:

That link is not a valid markdown link, at least according to the commonmark spec

A link destination consists of [...]

a nonempty sequence of characters that does not include ASCII space or control characters, and includes parentheses only if (a) they are backslash-escaped or (b) they are part of a balanced pair of unescaped parentheses that is not itself inside a balanced pair of unescaped parentheses.

Try url encoding the link for starters:
[This example does not work](C:Program%20FilesCommon%20FilesSystemDirectDB.dll)


Cannot use deployment files on Mac

inspection-report-20201120_074433.tar.gz
Using Mac with microk8s on Multipass.
When trying to create a pod from a deployment file, I receive the following error:
> microk8s kubectl create -f reader-deployment.yaml
error: the path "reader-deployment.yaml" does not exist
An error occurred when trying to execute 'sudo microk8s.kubectl create -f reader-deployment.yaml' with 'multipass': returned exit code 1.
While this error makes perfect sense (the vm can't see the deployment file on the host), the behavior is not optimal. Ideally the microk8s command would transfer the file or open it and read the contents in to the stdin of the microk8s-vm.
I searched the documentation without success. As a workaround I copied the deployment file with "Multipass transfer" then executed "Multipass shell" to run the kubectl command.
Is there a recommended way to work with deployment files for microk8s on Mac?

Install kubectl in your mac.  microk8s config will print out the kubeconfig which you can then save it to your $HOME/.kube/config.
From there you can use the local kubectl.

That works perfectly, thanks for the advice!

Shoot, just kidding. I think I ran kubectl from the vm and thought it worked :(
**> microk8s config > ~/.kube/config

kubectl create -f reader-configmap-deployment.yaml**
error: the path "reader-configmap-deployment.yaml" does not exist
An error occurred when trying to execute 'sudo microk8s.kubectl create -f reader-configmap-deployment.yaml' with 'multipass': returned exit code 1.

Okay, I have set kubectl as an alias of "microk8s kubectl". That might be my problem -- it may not be using native kubectl

Yup.  You need the real kubectl not an alias.

Indeed, when I deleted the alias, it worked!

I will add a note to the macOS section about this. I guess this is likely to happen with Windows also?

I'm not sure. Maybe WSLv2 behaves differently? I assume multipass uses WSL under the hood..

@Credentive-Sec i dont think the windows version is using WSL2 yet.  Its still based off hyperv by default.


There is no information about the Expando instance in the h2o wave app

Is your feature request related to a problem? Please describe
I tried to read more information about Expando instance: q.args but had this error:

Page Not Found
We could not find what you were looking for.
Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

Describe the solution you'd like
Putting information about Expando instance.
Describe alternatives you've considered
Maybe there is a broken link.

Hi @sergiomora03, thanks for filling the issue. Could you please provide a gif / more detailed steps for reproduction? It seems like this expando link is working. (After clicking Expando here:
)

Hi @sergiomora03, thanks for filling the issue. Could you please provide a gif / more detailed steps for reproduction? It seems like this expando link is working. (After clicking Expando here:
)

Please check links again:

You links me: https://h2oai.github.io/wave/docs/api/core/#Expando whom is working.
I gave you: https://h2oai.github.io/wave/docs/arguments/api/core#Expando wich is different link.

There is missing backslash in: https://h2oai.github.io/wave/docs/arguments/
Therefore, I create pull request #469. Please merge it to fix this.

Please check links again:

You links me: https://h2oai.github.io/wave/docs/api/core/#Expando whom is working.
I gave you: https://h2oai.github.io/wave/docs/arguments/api/core#Expando wich is different link.

There is missing backslash in: https://h2oai.github.io/wave/docs/arguments/
Therefore, I create pull request #469. Please merge it to fix this.

Duplicate of #445


#103 reflection improve

Sorry for the delay, I totally forgot. Does this fixes Out of Memomy #103 ?
I planned to do a generic transformation for transforming SWITCH nodes into IF+ELSE chains using the strategy described, and transform large switches just in the Haxe target.
If this fixes the issue, I will do that later.

Yes, in one project we compile cpp without resources. Need time for test better, but now see as fixed. 100% results better with memory.

testBigSwitchIssue103	5.313s	passed


Does this automatically refresh the new content?

I've run the program with docker, but I need to refresh the page with F5 every time to see the new logs.

Yes, it does. Page automatically updated via websockets when file content is changed

@ccdos , look for errors at browser's js console please

Originally I deployed it on windows 11. I just deployed it again on ubuntu 18.04 and it works fine. It works perfectly for my needs. Thanks for your work!


Add docs.rs badge and link

Fixes #126

Coverage remained the same at 92.598% when pulling 821b5102bc502d5cefc31548e0cb144276c23756 on tromey:docs-badge into 646ce4141a931d17a477d984e2cc7e181767de89 on gimli-rs:master.

Sweet!


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 1842 ms

Resolved: Bofrost.at performance has improved in cca5161 after 13 minutes.


My .ts files are not analyzing

Here is a part of my error
INFO: Index files
INFO: 4 files indexed
INFO: Quality profile for css: SonarQube Way
INFO: Quality profile for ts: TsLint
INFO: Sensor Lines Sensor
INFO: Sensor Lines Sensor (done) | time=19ms
INFO: Sensor SCM Sensor
INFO: SCM provider for this project is: git
INFO: 2 files to be analyzed
INFO: 1/2 files analyzed
WARN: Missing blame information for the following files:
WARN:   * C:/Users/Lahiru/Desktop/TMaaS/Localization-POC/my-dream-app/src/app/app.component.ts
WARN: This may lead to missing/broken features in SonarQube
Could you please tell me why this is happening.

Even i am having the same issue

Hi friends,
I solved the problem. Here I upgraded my Sonarserver 6.1 to 6.4 and sonar-typescript-plugin-1.1.0. So it worked for me.
Thanks

Make sure that blame information issue is coming for uncommitted files, So run sonar-scanner command with -X option, to view full debug log. Then you can identify what the exact problem is.

tried both still no luck

C:\sonar\SonarTsPlugin-master\samples\using-existing-tslint-output>c:\sonar\sona
r-scanner-<IP_ADDRESS>8-windows\bin\sonar-scanner.bat -X -e
00:43:27.837 INFO: Option -e/--errors is no longer supported and will be ignored
00:43:27.840 INFO: Scanner configuration file: c:\sonar\sonar-scanner-<IP_ADDRESS>8-
windows\bin..\conf\sonar-scanner.properties
00:43:27.840 INFO: Project root configuration file: C:\sonar\SonarTsPlugin-maste
r\samples\using-existing-tslint-output\sonar-project.properties
00:43:27.860 INFO: SonarQube Scanner <IP_ADDRESS>8
00:43:27.860 INFO: Java 1.8.0_121 Oracle Corporation (64-bit)
00:43:27.860 INFO: Windows 7 6.1 amd64
00:43:27.951 DEBUG: keyStore is :
00:43:27.951 DEBUG: keyStore type is : jks
00:43:27.951 DEBUG: keyStore provider is :
00:43:27.951 DEBUG: init keystore
00:43:27.951 DEBUG: init keymanager of type SunX509
00:43:29.045 INFO: User cache: C:\Users\vgopalakrishnan.sonar\cache
00:43:29.045 DEBUG: Extract sonar-scanner-api-batch in temp...
00:43:29.045 DEBUG: Get bootstrap index...
00:43:29.045 DEBUG: Download: http://localhost:9000/batch/index
00:43:29.095 DEBUG: Get bootstrap completed
00:43:29.095 DEBUG: Create isolated classloader...
00:43:29.105 DEBUG: Start temp cleaning...
00:43:29.105 DEBUG: Temp cleaning done
00:43:29.105 DEBUG: Execution getVersion
00:43:29.115 DEBUG: Execution start
00:43:29.819 DEBUG: Publish global mode
00:43:29.906 INFO: Load global settings
00:43:29.931 DEBUG: GET 200 http://localhost:9000/api/settings/values.protobuf |
time=19ms
00:43:29.982 INFO: Load global settings (done) | time=77ms
00:43:29.992 INFO: User cache: C:\Users\vgopalakrishnan.sonar\cache
00:43:30.172 INFO: Load plugins index
00:43:30.182 DEBUG: GET 200 http://localhost:9000/deploy/plugins/index.txt | tim
e=10ms
00:43:30.183 INFO: Load plugins index (done) | time=11ms
00:43:30.184 DEBUG: Load plugins
00:43:30.195 DEBUG: Load plugins (done) | time=11ms
00:43:30.205 DEBUG: API compatibility mode is enabled on plugin Git [scmgit] (bu
ilt with API lower than 5.2)
00:43:30.207 DEBUG: API compatibility mode is enabled on plugin SVN [scmsvn] (bu
ilt with API lower than 5.2)
00:43:30.287 DEBUG: Plugins:
00:43:30.287 DEBUG:   * C# <IP_ADDRESS>1 (csharp)
00:43:30.287 DEBUG:   * Python <IP_ADDRESS>5 (python)
00:43:30.287 DEBUG:   * SonarJava <IP_ADDRESS>58 (java)
00:43:30.287 DEBUG:   * Flex 2.3 (flex)
00:43:30.287 DEBUG:   * Git 1.2 (scmgit)
00:43:30.287 DEBUG:   * SonarXML <IP_ADDRESS>5 (xml)
00:43:30.287 DEBUG:   * SonarPHP <IP_ADDRESS>7 (php)
00:43:30.287 DEBUG:   * TypeScript 1.1.0 (typescript)
00:43:30.287 DEBUG:   * SVN <IP_ADDRESS>2 (scmsvn)
00:43:30.287 DEBUG:   * SonarJS <IP_ADDRESS>62 (javascript)
00:43:30.307 DEBUG: Execution getVersion
00:43:30.307 INFO: SonarQube server 6.4.0
00:43:30.307 INFO: Default locale: "en_US", source code encoding: "UTF-8"
00:43:30.307 DEBUG: Work directory: C:\sonar\SonarTsPlugin-master\samples\using-
existing-tslint-output.scannerwork
00:43:30.307 DEBUG: Execution getVersion
00:43:30.307 DEBUG: Execution execute
00:43:30.593 INFO: Process project properties
00:43:30.603 DEBUG: Process project properties (done) | time=10ms
00:43:30.695 INFO: Load project repositories
00:43:30.705 DEBUG: GET 200 http://localhost:9000/batch/project.protobuf?key=com
.pablissimo.sonar%3Ausing-existing-tslint-output | time=10ms
00:43:30.730 INFO: Load project repositories (done) | time=35ms
00:43:30.800 DEBUG: Available languages:
00:43:30.800 DEBUG:   * C# => "cs"
00:43:30.800 DEBUG:   * Python => "py"
00:43:30.800 DEBUG:   * Java => "java"
00:43:30.800 DEBUG:   * Flex => "flex"
00:43:30.800 DEBUG:   * XML => "xml"
00:43:30.800 DEBUG:   * PHP => "php"
00:43:30.800 DEBUG:   * TypeScript => "ts"
00:43:30.800 DEBUG:   * JavaScript => "js"
00:43:30.800 INFO: Load quality profiles
00:43:30.814 DEBUG: GET 200 http://localhost:9000/api/qualityprofiles/search.pro
tobuf?projectKey=com.pablissimo.sonar%3Ausing-existing-tslint-output | time=14ms
00:43:30.817 INFO: Load quality profiles (done) | time=17ms
00:43:30.820 INFO: Load active rules
00:43:30.884 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeC4hV9TmHsSiI6J&p=1&ps=500 | time=63ms
00:43:31.116 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeH1hV9TmHsSiI8q&p=1&ps=500 | time=172ms
00:43:31.166 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeNThV9TmHsSiJA6&p=1&ps=500 | time=30ms
00:43:31.186 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeO1hV9TmHsSiJB3&p=1&ps=500 | time=10ms
00:43:31.226 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeT9hV9TmHsSiJF3&p=1&ps=500 | time=40ms
00:43:31.256 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeQIhV9TmHsSiJCc&p=1&ps=500 | time=30ms
00:43:31.276 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeO8hV9TmHsSiJB5&p=1&ps=500 | time=10ms
00:43:31.316 DEBUG: GET 200 http://localhost:9000/api/rules/search.protobuf?f=re
po,name,severity,lang,internalKey,templateKey,params,actives,createdAt&activatio
n=true&qprofile=AV01QeUxhV9TmHsSiJG3&p=1&ps=500 | time=40ms
00:43:31.326 INFO: Load active rules (done) | time=506ms
00:43:31.326 INFO: Load metrics repository
00:43:31.336 DEBUG: GET 200 http://localhost:9000/api/metrics/search?f=name,desc
ription,direction,qualitative,custom&ps=500&p=1 | time=10ms
00:43:31.376 INFO: Load metrics repository (done) | time=50ms
00:43:31.406 WARN: SCM provider autodetection failed. No SCM provider claims to
support this project. Please use sonar.scm.provider to define SCM of your projec
t.
00:43:31.406 INFO: Publish mode
00:43:31.406 INFO: Project key: com.pablissimo.sonar:using-existing-tslint-outpu
t
00:43:31.406 DEBUG: Start recursive analysis of project modules
00:43:31.406 INFO: -------------  Scan Simulating reusing the output of a build-
step tslint pass
00:43:31.526 INFO: Load server rules
00:43:31.649 DEBUG: GET 200 http://localhost:9000/api/rules/list.protobuf | time
=123ms
00:43:31.669 INFO: Load server rules (done) | time=143ms
00:43:31.769 DEBUG: Declared extensions of language C# were converted to sonar.l
ang.patterns.cs : /.cs
00:43:31.769 DEBUG: Declared extensions of language Python were converted to son
ar.lang.patterns.py : **/.py
00:43:31.769 DEBUG: Declared extensions of language Java were converted to sonar
.lang.patterns.java : /*.java,/.jav
00:43:31.769 DEBUG: Declared extensions of language Flex were converted to sonar
.lang.patterns.flex : **/.as
00:43:31.781 DEBUG: Declared extensions of language XML were converted to sonar.
lang.patterns.xml : /*.xml,/*.xsd,/.xsl
00:43:31.782 DEBUG: Declared extensions of language PHP were converted to sonar.
lang.patterns.php : **/.php,/*.php3,/.php4,**/.php5,/*.phtml,/.inc
00:43:31.783 DEBUG: Declared extensions of language TypeScript were converted to
sonar.lang.patterns.ts : **/.ts,/.tsx
00:43:31.785 DEBUG: Declared extensions of language JavaScript were converted to
sonar.lang.patterns.js : **/.js
00:43:31.851 DEBUG: Initializers : GenericCoverageSensor
00:43:31.851 INFO: Initializer GenericCoverageSensor
00:43:31.851 INFO: Initializer GenericCoverageSensor (done) | time=0ms
00:43:31.851 INFO: Base dir: C:\sonar\SonarTsPlugin-master\samples\using-existin
g-tslint-output
00:43:31.851 INFO: Working dir: C:\sonar\SonarTsPlugin-master\samples\using-exis
ting-tslint-output.scannerwork
00:43:31.851 INFO: Source paths: src
00:43:31.851 INFO: Test paths: test
00:43:31.851 INFO: Source encoding: UTF-8, default locale: en_US
00:43:31.861 INFO: Index files
00:43:31.861 INFO: Excluded sources:
00:43:31.861 INFO:   node_modules/
00:43:31.861 INFO:   **/*.js
00:43:31.875 DEBUG: 'src/MyApp - Copy.ts' indexed with language 'ts'
00:43:31.876 INFO: 1 file indexed
00:43:31.876 INFO: 0 files ignored because of inclusion/exclusion patterns
00:43:31.877 INFO: Quality profile for ts: TsLint
00:43:32.604 DEBUG: 'Generic Coverage Report' skipped because one of the require
d properties is missing
00:43:32.605 DEBUG: 'Generic Test Executions Report' skipped because one of the
required properties is missing
00:43:32.606 DEBUG: 'C#' skipped because there is no related file in current pro
ject
00:43:32.606 DEBUG: 'C# Unit Tests Coverage Report Import' skipped because there
is no related file in current project
00:43:32.606 DEBUG: 'C# Integration Tests Coverage Report Import' skipped becaus
e there is no related file in current project
00:43:32.607 DEBUG: 'C# Unit Test Results Import' skipped because there is no re
lated file in current project
00:43:32.607 DEBUG: 'Python Squid Sensor' skipped because there is no related fi
le in current project
00:43:32.607 DEBUG: 'SurefireSensor' skipped because there is no related file in
current project
00:43:32.607 DEBUG: 'JaCoCoSensor' skipped because there is no related file in c
urrent project
00:43:32.608 DEBUG: 'JavaSquidSensor' skipped because there is no related file i
n current project
00:43:32.608 DEBUG: 'Flex' skipped because there is no related file in current p
roject
00:43:32.608 DEBUG: 'Flex Cobertura' skipped because there is no related file in
current project
00:43:32.609 DEBUG: 'XML Sensor' skipped because there is no related file in cur
rent project
00:43:32.609 DEBUG: 'PHP sensor' skipped because there is no related file in cur
rent project
00:43:32.609 DEBUG: 'JavaScript Squid Sensor' skipped because there is no relate
d file in current project
00:43:32.614 DEBUG: 'Generic Coverage Report' skipped because one of the require
d properties is missing
00:43:32.615 DEBUG: 'Generic Test Executions Report' skipped because one of the
required properties is missing
00:43:32.615 DEBUG: 'C#' skipped because there is no related file in current pro
ject
00:43:32.616 DEBUG: 'C# Unit Tests Coverage Report Import' skipped because there
is no related file in current project
00:43:32.616 DEBUG: 'C# Integration Tests Coverage Report Import' skipped becaus
e there is no related file in current project
00:43:32.616 DEBUG: 'C# Unit Test Results Import' skipped because there is no re
lated file in current project
00:43:32.616 DEBUG: 'Python Squid Sensor' skipped because there is no related fi
le in current project
00:43:32.617 DEBUG: 'SurefireSensor' skipped because there is no related file in
current project
00:43:32.617 DEBUG: 'JaCoCoSensor' skipped because there is no related file in c
urrent project
00:43:32.617 DEBUG: 'JavaSquidSensor' skipped because there is no related file i
n current project
00:43:32.618 DEBUG: 'Flex' skipped because there is no related file in current p
roject
00:43:32.618 DEBUG: 'Flex Cobertura' skipped because there is no related file in
current project
00:43:32.618 DEBUG: 'XML Sensor' skipped because there is no related file in cur
rent project
00:43:32.619 DEBUG: 'PHP sensor' skipped because there is no related file in cur
rent project
00:43:32.619 DEBUG: 'JavaScript Squid Sensor' skipped because there is no relate
d file in current project
00:43:32.623 DEBUG: Sensors : SonarJavaXmlFileSensor -> Analyzer for "php.ini" f
iles -> Linting sensor for TypeScript files -> Combined LCOV and LOC sensor -> Z
ero Coverage Sensor -> CPD Block Indexer
00:43:32.623 INFO: Sensor SonarJavaXmlFileSensor [java]
00:43:32.623 INFO: Sensor SonarJavaXmlFileSensor [java] (done) | time=0ms
00:43:32.623 INFO: Sensor Analyzer for "php.ini" files [php]
00:43:32.623 INFO: Sensor Analyzer for "php.ini" files [php] (done) | time=0ms
00:43:32.623 INFO: Sensor Linting sensor for TypeScript files [typescript]
00:43:32.623 DEBUG: Found sonar.ts.tslint.path path to be 'C:\Users\vgopalakrish
nan\AppData\Roaming\npm\node_modules\tslint'
00:43:32.623 DEBUG: Found sonar.ts.tslint.configPath path to be 'tslint.json'
00:43:32.623 DEBUG: Path sonar.ts.tslint.rulesDir not specified, falling back to
null
00:43:32.623 DEBUG: Path sonar.ts.tslint.projectPath not specified, falling back
to null
00:43:32.623 DEBUG: Found sonar.ts.tslint.outputPath path to be 'issues.json'
00:43:32.623 DEBUG: Running with existing JSON file 'C:\sonar\SonarTsPlugin-mast
er\samples\using-existing-tslint-output\issues.json' instead of calling tslint
00:43:32.663 WARN: TsLint reported issues against a file that isn't in the analy
sis set - will be ignored: src/MyApp.ts
00:43:32.663 WARN: TsLint reported issues against a file that isn't in the analy
sis set - will be ignored: test/MyAppTests.ts
00:43:32.663 INFO: Sensor Linting sensor for TypeScript files [typescript] (done
) | time=40ms
00:43:32.663 INFO: Sensor Combined LCOV and LOC sensor [typescript]
00:43:32.683 WARN: No coverage information will be saved because LCOV file canno
t be analysed. Provided LCOV file path: coverage/lcov.info
00:43:32.683 INFO: Sensor Combined LCOV and LOC sensor [typescript] (done) | tim
e=20ms
00:43:32.683 INFO: Sensor Zero Coverage Sensor
00:43:32.804 INFO: Sensor Zero Coverage Sensor (done) | time=121ms
00:43:32.804 INFO: Sensor CPD Block Indexer
00:43:32.804 DEBUG: org.sonar.scanner.cpd.deprecated.DefaultCpdBlockIndexer is u
sed for ts
00:43:32.804 DEBUG: No CpdMapping for language ts
00:43:32.804 INFO: Sensor CPD Block Indexer (done) | time=0ms
00:43:32.804 INFO: No SCM system was detected. You can use the 'sonar.scm.provid
er' property to explicitly specify it.
00:43:32.804 INFO: Calculating CPD for 0 files
00:43:32.804 INFO: CPD calculation finished
00:43:32.889 DEBUG: 'src/MyApp - Copy.ts' generated metadata  with charset 'UTF-
8'
00:43:32.930 INFO: Analysis report generated in 116ms, dir size=37 KB
00:43:32.940 INFO: Analysis reports compressed in 10ms, zip size=10 KB
00:43:32.940 INFO: Analysis report generated in C:\sonar\SonarTsPlugin-master\sa
mples\using-existing-tslint-output.scannerwork\batch-report
00:43:32.950 DEBUG: Upload report
00:43:32.971 DEBUG: POST 200 http://localhost:9000/api/ce/submit?projectKey=com.
pablissimo.sonar:using-existing-tslint-output&projectName=Simulating%20reusing%2
0the%20output%20of%20a%20build-step%20tslint%20pass | time=20ms
00:43:32.971 INFO: Analysis report uploaded in 21ms
00:43:32.971 INFO: ANALYSIS SUCCESSFUL, you can browse http://localhost:9000/das
hboard/index/com.pablissimo.sonar:using-existing-tslint-output
00:43:32.971 INFO: Note that you will be able to access the updated dashboard on
ce the server has processed the submitted analysis report
00:43:32.971 INFO: More about the report processing at http://localhost:9000/api
/ce/task?id=AV04OH8r7aKug1-W-iZj
00:43:32.971 DEBUG: Report metadata written to C:\sonar\SonarTsPlugin-master\sam
ples\using-existing-tslint-output.scannerwork\report-task.txt
00:43:32.981 DEBUG: Post-jobs :
00:43:32.991 INFO: Task total time: 2.674 s
00:43:32.991 INFO: -------------------------------------------------------------
00:43:32.991 INFO: EXECUTION SUCCESS
00:43:32.991 INFO: -------------------------------------------------------------
00:43:32.991 INFO: Total time: 5.151s
00:43:33.113 INFO: Final Memory: 46M/308M
00:43:33.114 INFO: -------------------------------------------------------------
00:43:33.114 DEBUG: Execution getVersion
00:43:33.115 DEBUG: Execution stop

hi...
https://github.com/Pablissimo/SonarTsPlugin/issues/118
Just try with above link.
the issue is showing in your logs.
00:43:32.663 WARN: TsLint reported issues against a file that isn't in the analy
sis set - will be ignored: src/MyApp.ts
00:43:32.663 WARN: TsLint reported issues against a file that isn't in the analy
sis set - will be ignored: test/MyAppTests.ts

https://github.com/Pablissimo/SonarTsPlugin/issues/118

Is it necessary to run karma for new files?

No, not at all

[16:42:54] 16:42:54.160 INFO: Sensor Coverage Report Import (wrapped)
[16:42:54] 16:42:54.160 DEBUG: No coverage property. Skip Sensor
16:42:54.160 INFO: Sensor Coverage Report Import (wrapped) (done) | time=0ms
16:42:54.160 INFO: Sensor Coverage Report Import (wrapped)
16:42:54.160 DEBUG: No coverage property. Skip Sensor
[16:42:54] 16:42:54.161 INFO: Sensor Coverage Report Import (wrapped) (done) | time=0ms
[16:42:54] 16:42:54.161 INFO: 0/0 source files have been analyzed
16:42:54.161 INFO: Sensor Unit Test Results Import (wrapped)
[16:42:54] 16:42:54.162 DEBUG: No unit test results property. Skip Sensor
16:42:54.162 INFO: Sensor Unit Test Results Import (wrapped) (done) | time=1ms
[16:42:54] 16:42:54.162 INFO: Sensor XmlFileSensor (wrapped)
[16:42:54] 16:42:54.162 INFO: Sensor XmlFileSensor (wrapped) (done) | time=0ms
[16:42:54] 16:42:54.162 INFO: Sensor Linting sensor for TypeScript files (wrapped)
[16:42:54] 16:42:54.163 DEBUG: Path sonar.ts.tslint.path not specified, falling back to node_modules/tslint/bin/tslint
[16:42:54] 16:42:54.163 DEBUG: Found sonar.ts.tslint.configPath path to be 'tslint.json'
[16:42:54] 16:42:54.163 DEBUG: Path sonar.ts.tslint.rulesDir not specified, falling back to null
[16:42:54] 16:42:54.164 DEBUG: Path sonar.ts.tslint.projectPath not specified, falling back to null
[16:42:54] 16:42:54.164 DEBUG: Path sonar.ts.tslint.outputPath not specified, falling back to null
[16:42:54] 16:42:54.164 WARN: Path to tslint not defined or not found. Skipping tslint analysis.
[16:42:54] 16:42:54.164 INFO: Sensor Linting sensor for TypeScript files (wrapped) (done) | time=2ms
[16:42:54] 16:42:54.164 INFO: Sensor Combined LCOV and LOC sensor (wrapped)
[16:42:54] 16:42:54.487 INFO: Sensor Combined LCOV and LOC sensor (wrapped) (done) | time=323ms
16:42:54.487 INFO: Sensor Coverage Report Import (wrapped)
16:42:54.488 DEBUG: No coverage property. Skip Sensor
16:42:54.488 INFO: Sensor Coverage Report Import (wrapped) (done) | time=1ms
[16:42:54] 16:42:54.488 INFO: Sensor Coverage Report Import (wrapped)
16:42:54.488 DEBUG: No coverage property. Skip Sensor
16:42:54.488 INFO: Sensor Coverage Report Import (wrapped) (done) | time=0ms
16:42:54.488 INFO: Sensor Unit Test Results Import (wrapped)
[16:42:54] 16:42:54.488 DEBUG: No unit test results property. Skip Sensor
16:42:54.488 INFO: Sensor Unit Test Results Import (wrapped) (done) | time=0ms
16:42:54.488 INFO: Sensor Analyzer for "php.ini" files (wrapped)
[16:42:54] 16:42:54.492 INFO: Sensor Analyzer for "php.ini" files (wrapped) (done) | time=4ms
[16:42:54] 16:42:54.492 INFO: Sensor Zero Coverage Sensor (wrapped)
[16:42:54] 16:42:54.513 INFO: Sensor Zero Coverage Sensor (wrapped) (done) | time=20ms
[16:42:54] 16:42:54.513 INFO: Sensor Code Colorizer Sensor (wrapped)
[16:42:54] 16:42:54.516 INFO: Sensor Code Colorizer Sensor (wrapped) (done) | time=3ms
[16:42:54] 16:42:54.517 INFO: Sensor CPD Block Indexer (wrapped)
[16:42:54] 16:42:54.517 INFO: DefaultCpdBlockIndexer is used for ts
[16:42:54] 16:42:54.517 DEBUG: No CpdMapping for language ts
[16:42:54] 16:42:54.517 INFO: Sensor CPD Block Indexer (wrapped) (done) | time=0ms
[16:42:54] 16:42:54.518 INFO: Calculating CPD for 0 files
[16:42:54] 16:42:54.519 INFO: CPD calculation finished
[16:42:54] 16:42:54.938 INFO: Analysis report generated in 410ms, dir size=4 MB
[16:42:55] 16:42:55.141 INFO: Analysis reports compressed in 202ms, zip size=727 KB
16:42:55.672 INFO: Executing post-job com.att.sonar.email.EmailMetricsFetcher
16:42:55.672 DEBUG: EmailMetricsFetcher is disabled (sonar.email.enabled = false)
16:42:55.672 INFO: Executing post-job org.sonar.plugins.stash.StashIssueReportingPostJob
16:42:55.675 INFO: ------------------------------------------------------------------------
16:42:55.676 INFO: EXECUTION SUCCESS
Gulp file:
sources: 'client/src/app',
tests: 'client/testing',
language: 'ts',
sourceEncoding: 'UTF-8',
ts: {
lcov: {
reportPaths: 'client/coverage/lcov.info'
},
ts:{tslint:{configPath:'./tslint.json'}}
},
everything shows up except coverage on the dashboard. even though it shows on the dashboard the coverage shows 0%.


Feature/get otp

Resolves #77
Description:
Add getItemOTP method that returns Item's OTP. Throws an error if no OTP is found for an item.
It works by providing an item's title or id.

Functional review: ✅ All works as expected. This will enhance the SDK quite a bit. One important note that I'd add for this feature. Currently the function getItemOTP makes a call to Connect to get the item, then look for the OTP code. Would it be helpful to be able to fetch the OTP code for an item that we already have? Something like getItemOTP(item). In this way, we can reduce the number of calls made to Connect if we want to use the item in other places as well. What do you think? This idea makes me think of simplifying getting the OTP code from an item by doing item.fields[i].otp, where the user would have to know the position of the field with the OTP code.
Code review: ✅ Left some small comments that should be easy to address (or discuss). One question I have. Would it help to add some documentation for this feature in the README? I'd assume that if we don't mention it in the readme, it may be easily missed by new folks who start using the SDK.

@edif2008 Thank you for the review. That's a nice idea to expose the method that can extract OTP from an existing item. I'll add it in the next commit.

Codecov Report

Merging #81 (3c35dc6) into main (4293973) will increase coverage by 0.66%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #81      +/-   ##
==========================================
+ Coverage   95.99%   96.66%   +0.66%
==========================================
  Files          24       24
  Lines         524      539      +15
  Branches       60       73      +13
==========================================
+ Hits          503      521      +18
+ Misses         21       18       -3

Impacted Files
Coverage Δ

src/lib/constants.ts
100.00% <ø> (ø)

src/model/fullItemAllOfFields.ts
100.00% <ø> (ø)

src/lib/op-connect.ts
98.21% <100.00%> (+0.06%)
:arrow_up:

src/lib/resources.ts
100.00% <100.00%> (ø)

src/lib/utils/error.ts
100.00% <100.00%> (ø)

src/lib/utils/index.ts
100.00% <100.00%> (ø)

src/model/fullItem.ts
100.00% <100.00%> (ø)

src/model/models.ts
91.91% <100.00%> (+0.08%)
:arrow_up:

src/model/itemFile.ts
60.00% <0.00%> (+60.00%)
:arrow_up:

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


CSS margin is ignored

Describe the bug
If css margin is used windicss ignores it.
Minimal Reproductions
<div class="test-container">
</div>

.test-container {
        display: flex;
        width: 80%;
        margin: 0 auto 0 auto; /* This is ignored completely */
        margin-right: auto; /* This works */
        margin-left: auto;  /*  Second margin is ignored /*
    }

Versions

vite-plugin-windicss: 0.11.1
vite: 2.1.2
framework: svelte

What's the source code that triggers your problem? Can you share a minimal reproduction for us the investigate?

Tried to reproduce the issue today and it's gone. Must be something to do with my system / browser then. System restart might have resolved it.


Fix a crash in case reCaptcha response doesn't contain error codes.

Example exception:
KeyError: 'error-codes'
at submit():93 (captcha.py:93)
at get_captcha_response():770 (utils.py:770)
at post():174 (subscribe.py:174)
at serve():529 (main.py:529)
at post():552 (main.py:552)

LGTM

Thanks! Merged.


Revert default AKS version to 1.12.7

The AKS team has rolled back releasing 1.13.5 which means clusters will not be successful if deployed with the latest updates.  Rollback to 1.12.7 until 1.13.X has been released and stable for a week.

Fixed in https://github.com/Microsoft/bedrock/commit/a82117c96a033df0a398ca27bcb84d374b52a0f6


Regression in  99th_percentile_frame_build_time_millis new_gallery__crane_perf

See https://flutter-flutter-perf.skia.org/e/?begin=1604950316&end=1604963043&keys=X79977886e5d56b92be2a53faf431ee5d&num_commits=50&request_type=1&xbaroffset=22452
Looks like a gallery roll: https://github.com/flutter/flutter/pull/70130. @willlarche Can you help us assign, please?

This is a duplicate of https://github.com/flutter/flutter/issues/70300


Please ignore  kubectl.kubernetes.io/last-applied-configuration annotation

The kubectl apply add  kubectl.kubernetes.io/last-applied-configuration annotation on each comfigmap and secet.
Please ignore it on diff.

It would be a good idea to add an option that replicates the functionality of kubectl-neat-diff.
I'll try to implement it when I have some spare time.


add global errors instrumentation

Which problem is this PR solving?
Sometimes errors escape and it's useful to know what those errors were.
OpenTelemetry suggests these should go on the log signal, which does
make sense, but honeycomb doesn't really use that signal so it makes
sense for this to live in the honeycomb distribution.
Short description of the changes

Adds a new GlobalErrorsInstrumentation
when enabled it attaches handlers to unhandledrejection and error events on the window
The handler creates a span that matches the exception conventions from opentelemetry

How to verify that this has the expected result

Run the tests

Complications

The jest environment is slightly different from actual browsers so I was unable to test the unhandled rejection flow, but have left a test that would work in an actual browser environment (marked as it.skip to avoid running it)
Could not test with the instrumentation disabled because jest will fail any test that leaks an error automatically

Closed with https://github.com/honeycombio/honeycomb-opentelemetry-web/pull/186 which includes these commits and a few other small tweaks.
Thanks again @nordfjord!