How comes it so much faster than LoDash?

Hi!
I really impressed with the performance. Test results are just incredible! And I can fully accept than it much faster that other RP libs. Being author of one, I know how much stuff happen on each event dispatch, and theoretically it can be boiled down to a single function call.
Still I don't understand how it can be faster, and so much faster, than LoDash, which doesn't care about asynchrony, multiple subscribers etc. Does Most do same job as LoDash, i.e. can we use Most instead of LoDash?
Thanks for any insights!

Hey @pozadi!  Great questions :)

Test results are just incredible!

Thanks.  They are micro-benchmarks, so the intent is only to provide a feel for how much overhead each lib is likely to introduce.  The difference in real applications will vary.  The tests try to give each lib the best chance to run as fast as possible.  (if there's a better way to setup the tests for kefir, please let me know!)

Does Most do same job as LoDash, i.e. can we use Most instead of LoDash?

I definitely don't recommend most as a replacement for lodash.  Lodash is the way to go for synchronous collection processing.  Most is intended for event-based reactive programming.

Thanks for any insights!

Most is designed to be extremely optimization and inlining friendly.  That's probably the biggest factor, since optimized/inlined code can be easily 100x faster than non-optimized.  So, another way to think about this question is: What are other libs doing that is preventing them from being as fast as they could be?
For example, we've tried really hard to ensure that the internal combinator objects (e.g. Map, Filter, etc.) have properties that can always be accessed via fast offsets, and never get turned into hashtables, and never change shape after construction to avoid polymorphism penalties.  We've kept methods and functions tiny for inlining, and tried to ensure they won't be deoptimized for type check failures, etc, etc.
If you run code like the following in iojs 2.0 and turn on --trace_opt, --trace_inlining, and/or --trace_deopt:
var n = 1000000;
var a = new Array(n);
for(var i = 0; i< a.length; ++i) {
	a[i] = i;
}

function log(x) {
	console.log(x);
}

most.from(a).filter(even).map(add1).reduce(sum, 0)
	.then(log);

you'll see that nearly everything gets optimized and/or inlined, and then never gets deoptimized (there's probably an initial deopt, as v8 figures out some stuff).  For example, if you just turn on --trace_inlining, at the end of the output, you'll see something like:
Inlined sum called from AccumulateSink.event.
Inlined noop called from Observer.event.
Inlined Observer.event called from AccumulateSink.event.
Inlined even called from FilterMapSink.event.
Inlined add1 called from FilterMapSink.event.
Inlined sum called from AccumulateSink.event.
Inlined noop called from Observer.event.
Inlined Observer.event called from AccumulateSink.event.
Inlined AccumulateSink.event called from FilterMapSink.event.
Inlined even called from FilterMapSink.event.
Inlined add1 called from FilterMapSink.event.
Inlined sum called from AccumulateSink.event.
Inlined noop called from Observer.event.
Inlined Observer.event called from AccumulateSink.event.
Inlined AccumulateSink.event called from FilterMapSink.event.
Inlined FilterMapSink.event called from produce.
250000000000

Nearly everything got inlined and never had to be deoptimized before the final result was printed.  If you try something similar with other libs, including lodash, you'll see that the VM either isn't able to inline as much, or ends up having to deopt a lot.
There are other factors as well.  There is almost no scope chain capturing, which can be surprisingly expensive.  Try/catch has been isolated to very tiny helper functions (many (all?) current generation VMs can't optimize try/catch, but future VMs will be able to, e.g. v8 Turbofan).  The map and filter fusion helps somewhat (interestingly, it can also hurt performance in certain cases, but seems to be a win on average).  We also optimize for the single observer case, since that's by far the most common.
Some of this stuff has proven to be completely unintuitive, and we've spent a good amount time profiling code to find and fix performance issues, and to compare various approaches.

Thanks, this is extremely helpful! I've never tried to use tools to detect deopt/inlining, thought they are too complex for me (e.g. require knowledge of assembler or something), but calling iojs with args looks like something I can handle :) Going to try it very soon. Is there any other profiling tools you've used and can recommend?

if there's a better way to setup the tests for kefir, please let me know!

Doesn't look like so :)

I definitely don't recommend most as a replacement for lodash.

Yes, didn't mean to actually use most in place of lodash. I wanted to ask if the tests show that there should be opportunities for optimization in lodash? Or the results are expected because, for example, lodash builds an array as the final result, while most just call subscriber with each value, or something like that.

The map and filter fusion helps somewhat (interestingly, it can also hurt performance in certain cases, but seems to be a win on average).

I think I've tried the fusion at some point, but it didn't gave much, so I decided not to add complication to the code, if I remember right.

We also optimize for the single observer case, since that's by far the most common.

That interesting. Could you tell more about that, or give a link to the code piece? I've tried something like:
if (subscribers.length === 1) {
  subscribers[0]();
} else {
  // the loop...
}

But turned out that a loop with a single element array works just as fast (which pretty intuitive, anyway).

Hiya!
The --trace_inlining of Most is most impressive and I agree with what @briancavalier wrote.
For a bit more on the inlining topic from the lodash side see this thread on jsblocks. The TL;DR is that the lodash chaining implementation of shortcut fusion relies on a loop which calls a list of callbacks. This prevents inlining unless the engine supports polymorphic call site inlining. Chakra, the JS engine in Microsoft Edge, supports this kind of inlining up to something like 4 functions. The win here though isn't really the function inlining, as that gets busted pretty easily when you go beyond trivial add & sum examples, it's the use of shortcut fusion to reduce overall iteration:
_(large100kArray).map(add).filter(even).take(50).value();
// => 100 iterations performed instead of 200k iterations

The non-chained form of lodash will benefit from inlining but won't get the bigger win of shortcut fusion.
lodash's chaining syntax has some baggage because it tracks normal chaining and lazy chaining to be able to bailout to normal chaining for unsupported value types, callback signatures, or mixed method (lazy + regular) sequences. Because lodash chained execution is deferred until an implicit or explicit value() is requested you can store a reference to the sequence and call it.
var seq = _([]).map(add).filter(even).take(50);
// then later, maybe in another function
return seq.plant(newArray).value();

This is the gist behind lodash's composed performance being a bit better.
For a different take there's jsblocks which uses method compilation to transform sequences in a way to benefit from inlining as well.
A side note, engines are starting to optimize the try-block of try-catches. I know FF and Chakra (in MS Edge) have optimizations to avoid de-opts until an error is thrown.

Hey @jdalton, very happy to see the King of Optimization is on the case! :)

Wow, thanks for all the info, @jdalton.  That's the first time I've seen jsblock's compilation.  Very interesting stuff--I need to take a closer look.
Yeah, I agree that the inlining won't always kick in to the degree it is in some of the perf tests.  When it does, though, the benefit seems to be pretty good.  When it doesn't, most is still getting highly optimized and almost never deopt.

it's the use of shortcut fusion to reduce overall iteration:

For sure.  Pipelining provides a huge win over non-pipelined (e.g. Array).  I think all of the libs are pipelining the in all of the perf tests.  The reactive libs basically have to work that way since they deal with infinite asynchronous event sequences and can't wait for the last event before moving on to the next step, and they don't need to build large intermediate data structures (I don't know much about the internals of highland, but I'm guessing it pipelines, too).  All the libs should be able to take advantage of, for example, the filter in the filter-map-reduce test which cuts the number of iterations in half.
Since they're all pipelining, it's likely a confluence of other things that are contributing to most's perf, and optimization is probably a big one of those.

A side note, engines are starting to optimize the try-block of try-catches. I know FF and Chakra (in MS Edge) have optimizations to avoid de-opts until an error is thrown.

Oh cool, I didn't know about FF and Chakra Edge having those optimizations already.  TIL :)

@pozadi

lodash builds an array as the final result, while most just call subscriber with each value

I haven't looked closely at lodash's pipelining, and specifically at how reduce fits into in.  My guess is that lodash never has to materialize any intermediate arrays in order to compute the final reduced value. Maybe @jdalton can shed more light.

I think I've tried the fusion at some point, but it didn't gave much, so I decided not to add complication to the code

I'm also not completely convinced it's a worthwhile tradeoff, but the code isn't too bad, so I'm willing to leave it in for while and see how it performs over time.

That interesting. Could you tell more about that, or give a link to the code piece?

Basically, by default, most doesn't keep subscription lists at each node.  Multicast subscriptions are opt-in (some stream types enable shared subscriptions by default, like most.create) and implemented via composition.  I'm honestly not sure yet if that will be the way we go in the long term.

I haven't looked closely at lodash's pipelining, and specifically at how reduce fits into in

lodash doesn't currently support pipelining for reduce or reduceRight. It's on our roadmap though. A list of the methods which support lazy evaluation optimizations can be found here.

I'm also not completely convinced it's a worthwhile tradeoff,

Same here, it's the shortcut bit that it enables that's the big win.

Thanks @briancavalier and @jdalton for all the interesting stuff you are posting, this will certainly help me and others to improve performance on whatever we are working on :)
To me it looks like the major reason of great Most's performance is developing with performance as a target from the beginning. I was trying to do similar with Kefir, but on lower level — only by looking on the benchmarks, and applying my intuition on now v8 should work. But in Most you looked on how it actually works internally, which enabled more optimization possibilities.

most.from(a).filter(even).map(add1).reduce(sum, 0)
.then(log);

This is misleading and just another reason microbenchmarks don't tell the whole story. In reality you would not have a case where those functions always get passed the same function, or even 4 same functions. What gets  inlined would be very different if you had fed realistic type feedback before running the benchmark (say 5 different functions to each of these methods). Same mistake was done [here](https://github.com/iojs/io.js/pull/1457#issuecomment-98785841) where optional properties put on prototype look good on microbenchmark because the type feedback is unrealistic.

microbenchmarks don't tell the whole story

Yep, I agree.  That's why I said exactly that [at the very beginning of the thread] (https://github.com/cujojs/most/issues/137#issuecomment-101654416), and both @jdalton and I have both pointed out up-thread that the extreme inlining won't always happen.
A while back, I ran most through Bluebird's doxbee test, since that test now includes other reactive libs.  It does fairly well.  It's faster than many promise implementations, and considerably faster and less memory intensive than the other reactive libs.  The test isn't really a good use case for event streams, so I feel it's quite an encouraging result.  I figure we can probably do better, though.

Yep, I agree. That's why I said exactly that at the very beginning of the thread, and both @jdalton and I have pointed out up-thread that the extreme inlining won't always happen.

But my point is that it never happens, even with polymorphic inlining support.

In reality you would not have a case where those functions always get passed the same function, or even 4 same functions.

Sure it could. Lodash at least punts to composition of its lower level methods to create others. So I could easily see:
function thing(a) {
  return _(a).map(iteratee).filter(predicate).foo(...).baz(...);
}

being used.

So across an entire application you are always using the exact same predicate function and exact same mapper function? Seems absurdly unlikely.

Seems absurdly unlikely.

That's composition and it happens a lot.

Ok composition happens a lot but what does that have to do with anything?
Let's say I have app that never uses filtering for anything else other than getting the even numbers out of a stream or something:
function evens(stream) {
    return stream.filter(function(value) {
        return value % 2 === 0;
    });
}

So because this always passes a different function to .filter, filter cannot inline the callback after evens has been called more than once. Otoh it will never get optimized if I just call it once either (which is pre-requisite for inlining).
The only case where the callback is getting inlined is if it's hoisted out and that no other code anywhere else in the application ever uses .filter I.E. never.

Ok composition happens a lot but what does that have to do with anything?

It provided an example of when such an optimization would kick in and it happens a lot. So :tada:.

Let's say I

Let's say I stopped reading at that point.

It only kicks in if thing is the only place in the application where you use .map and .filter and the functions iteratee and predicate are hoisted out. And my point is the if is just never happening.

function evens(stream) {
  return stream.filter(function(value) {
      return value % 2 === 0;
  });
}

I can't speak to v8 off the top of my head but Chakra should inline the iteratee of filter just fine (confirmed with the JIT devs across my desk).
Speaking of hoisting you may dig https://github.com/codemix/babel-plugin-closure-elimination.

Thanks, didn't know about that plugin, I dig :)
V8 only considers function identities so different identities of same syntactic function entity are considered entirely different in cases like this.

But it isn't really the point, applications are going to use far more different kinds of predicates than just a predicate that determines if a number is even or not.

Yap @briancavalier and I have already covered that.

 You were trying to take the wind out of the sails of the inlining efforts of Most and I pointed to scenarios and engines where it does apply.

Inlining of the user callbacks does not apply in any engine because applications need more than 1 (or 4) different predicate function. And it also has nothing to do with inlining effort since it's the user who provides the callback to be inlined to begin with. So there is still a big misunderstanding :)

Inlining of the user callbacks does not apply in any engine because applications need more than 1 (or 4) different predicate function

I've already given examples the contrary.

So there is still a big misunderstanding :)

There's no misunderstanding.

@jdalton and @petkaantonov Thank you for the lively discussion :)  There's a ton of great information in this thread.  I learned a lot and I think anyone who reads it will, too.
It seems we've covered the aspects of why most.js does well in the microbenchmarks, as well as why that may or may not translate directly into application performance on various engines.
@pozadi Closing this, but if you feel there's a need to reopen, please do.


Review Gateway Listener Conditions

#2557 uses Gateway Listener conditions to indicate when a Listener cannot become ready due to missing Kong configuration. It does not add cases to handle all the Listener conditions and reasons available upstream in https://github.com/kubernetes-sigs/gateway-api/blob/v0.4.3/apis/v1alpha2/gateway_types.go#L710-L838
We should review the others, determine if there are other conditions+reasons appropriate for failure conditions in our Gateway reconciliation and set them appropriately if so.
Stub AC:

[ ] Remove TODO

ResolvedRefCondition has been added by #2774 to pass the conformance tests.


Batch of improvements

Project now collect many plugins and starts to be a little messy.
There is some improvements we can think about:

[x] New package structure with setup.cfg, proper makefile and correct environment;
[x] We need at least factories and basic tests on models, and maybe plugin checks;
[x] Use FileField instead of ImageField to enable SVG file support;
[x] Some plugin templates (at least Card) try to reach some field value like image.url without to check it's not an empty value;
[x] Drop any Python2 support if any (at least decorator for models);
[x] Research to improve plugin form layout and ergonomy, so we could add a little more field on components without making them too complicated;
[x] (cancelled) Organize each plugin in its own module, like Hero form, models, default and choices stored in a hero/ ? (I'm not sure about this org, what about admin/ or models/ that Django automatically lurking?)
[x] Better documentation (update, improve component descriptions, include component sketch images, publish on RTFD, etc..);
[ ] Keep away to use helper default value in migrations when it's is None in model, Django assume this is a change, even the helper method return a None value. Else it trigger a new pending migration forever;

For svg, i propose to switch to Filefield (excepted for Album and Slide items ?) and possibly add custom validation method to make dumb condition "if filename ends with '.svg' so it would do nothing for svg, but for every other kind it would use the image validator from django.
There is some solution around (stackoverflow) to valid SVG but it will require much more works that it would need to be in its own new package.

I did also some stuff (model method and inclusion template) to have a "smart format" usage with sorl in kls project, this should be backported here.

Current work is in branch next_generation_app

Plugin organization change to split them in their own app to load (each one defined in INSTALLED_APPS) is cancelled until i find how to properly include transition with model/data/migration since i would want features from this batch to be accessible to old projects.

Current task done have been release in v0.6.0

Plugin form layout and ergonomy improvements have started in new branch for v0.7:
https://github.com/emencia/cmsplugin-blocks/tree/v070

Documentation has been done in branch for v0.7

The v1.0.0 (yet to be released) will totally finish this issue.


Added index page entry for FAIR DO Cookbook

[x] Added card text at services page
[ ] Add more content, e.g., news, direct links to recipes, recipe request form??

Or "Start cooking..."? :-)

Thanks for adding the news. I now also added an issue template for requesting new recipes, so this point is also solved.


Exeception : videoQuality cannot be empty (vimeo private videos)

Here is my podplayercontroller for playing vimeo private videos :
late final controller = PodPlayerController(
playVideoFrom: PlayVideoFrom.vimeoPrivateVideos("393556569",
httpHeaders:{'Authorization': 'Bearer $token'}),
podPlayerConfig: const PodPlayerConfig(
isLooping: true,videoQualityPriority: [1080, 720, 360]),
);
when I checkout the library code, the vimeoVideoUrls is empty and its coming from API , there is no parameter with the matching key written in library code, so library needs to update the code.
Anyone have any solution to solve  this issue?

I have played private videos using pod player for a client's project. I believe Vimeo's documentation is not detailed enough, this only works with Vimeo account with Pro account subscription. Free or starter accounts doesn't work. While creating the Vimeo app check private and video files

Here is the solution of this error,
You just have to Generate New Personal Access Tokens with given Scopes in the Screenshot.
Note : Do not forget to copy the new access token.

Also, Initialize your PodPlayerController using below code in your app ,
String accessToken = 'YOURACCESSTOKEN';
late final controller = PodPlayerController(
playVideoFrom: PlayVideoFrom.vimeoPrivateVideos(widget.video.url,
httpHeaders:{'Authorization': 'Bearer $accessToken'}),
podPlayerConfig: const PodPlayerConfig(autoPlay: false),
);
Your vimeo private video will be played successfully.


Restructure links to dh.page

Resolves #350
All links now direct to devhub.near/widget/dh.${pagename}.
I implented it to be backwards compatible since some users might have bookmarks with the app?page=${pagename} structure in the url.
preview

@elliotBraem it looks like the same error @Megha-Dev-19 has help fix today. I will publish a new preview should be fixed already.

Also -- I do want to point out that creating these separate pages does come at a visual cost, albeit a minor one.
You'll see that the current devhub does not reload the entire page when navigating around. This one however, because it does not have a common parent, does reload the header navbar and the rest of the page. I remember we discussed this with @frol's demo here and although it does appear that the header does not rerender (and I was convinced it didn't rerender, too), it in fact does (check inspect element) and it's just because the header is a simple h2 tag that it is not noticeable. Client side routing only works effectively when it operates within a common parent.
A best-of-both worlds solution may be to keep the pages, but modify the navbar to redirect to the app w/ query param, but this will introduce inconsistency, especially when users want to share a link to the page they are on.
I'll approve this PR, but I'd like second opinion if this is still desirable, considering the cost in user experience @frol @ori-near

Thomas's implementation here looks good overall, but I don't quite understand the benefit of this refactor, @elliotBraem Can you explain a little bit? What is the problem of current approach?

@ailisp there was a telegram discussion about it, here is the link:
https://t.me/devhubplatform/3/3689

Indeed, I feel the UI flashes more than with the current approach, so I feel we are not gaining much with it at this moment :-(
My main motivation was to optimize for search engines (SEO) and avoid the need to have this central "app" component that duplicates BOS routing capabilities, but I think we need to solve it on the BOS VM side first. I recall Next.js had the same problem and their solution is to have special layout.tsx and _app.tsx files.
TL;DR: I think we will have to put this in an icebox and don't merge now.

I will close this PR now, since it's in the icebox.


Publish js-envs tests.

It will be required for the tests of scala-js/scala-js-env-selenium.

A workaround would be for scalajs-js-env-selenium to fetch the sources of scala-js/scala-js, and source-in the js-envs tests from there.

I actually think publishing tests would be a good thing anyways for compliance: AFAICS, we don't have tests that are specific to a given JSEnv (the ones in Node can be moved to relevant sub-traits). So anyone implementing a JSEnv should be able to use them for compliance checking.


Possible problem using Git LFS to Travis build R package

I'm not 100% sure this is related to Git LFS, but I have a suspicion.
I have a private GitHub repo. Using Git LFS to build an R package that has many large-ish binary files.
I asked this question on Stack Overflow
Here is some of the Travis log right before the error; there were many more Warnings like these. I haven't counted, but the number of warnings might equal the number of large files I know Travis to be checking. Note that the building of the R package doesn't fail on my local machine, and it should be running the same checks.
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Warning in checkRdaFiles(Sys.glob(c(file.path(ddir, "*.rda"), file.path(ddir,  :
  NAs introduced by coercion
Error in if (any(update)) { : missing value where TRUE/FALSE needed
Execution halted
The command "R CMD build  ." failed and exited with 1 during .

Quick confirmation: the number of warnings like this is exactly equal to the number of .RData files I have. I'm guessing that the R check is confused because the .RData file is actually 3 lines of text!

I don't think Travis supports Git LFS. You may have to install it with your travis build, and manually run "git lfs pull".

Gotcha. How would I install it via for travis?

They have docs on installing dependencies: http://docs.travis-ci.com/user/installing-dependencies/#Installing-Ubuntu-packages. The Git LFS packages are in a custom apt repo: https://packagecloud.io/github/git-lfs.
You could also get away with downloading the correct build from https://github.com/github/git-lfs/releases/tag/v1.0.2. Probably the linux amd64 one.
I'm no expert on Travis though.

OK, that helped.
I'm following the Travis instructions here:
http://docs.travis-ci.com/user/installing-dependencies/#Installing-Packages-from-a-custom-APT-repository
And I'm combining that with the Git LFS instructions here (under the "Manual" tab):
https://packagecloud.io/github/git-lfs/install
I'll add the following to the top of my .travis.yml:
before_install:
  - curl https://packagecloud.io/gpg.key | sudo apt-key add -
  - sudo apt-get update -q
  - sudo apt-get install -y apt-transport-https
  - echo $'deb https://packagecloud.io/github/git-lfs/ubuntu/ precise main\ndeb-src https://packagecloud.io/github/git-lfs/ubuntu/ precise main'>/etc/apt/sources.list.d/github_git-lfs.list
  - sudo apt-get update

I'll report back ...

I ended up just adding the following to the yaml (see https://packagecloud.io/github/git-lfs/packages/debian/jessie/git-lfs_1.0.2_amd64.deb):
  - curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
  - sudo apt-get install git-lfs=1.0.2
  - git lfs init

But I'm getting an error at the second line:
19.24s$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
Detected operating system as Ubuntu/precise.
Checking for curl...
Detected curl...
Running apt-get update... done.
Installing apt-transport-https... done.
Installing /etc/apt/sources.list.d/github_git-lfs.list...done.
Importing packagecloud gpg key... done.
Running apt-get update... done.
The repository is setup! You can now install packages.
0.56s$ sudo apt-get install git-lfs=1.0.2
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package git-lfs
The command "sudo apt-get install git-lfs=1.0.2" failed and exited with 100 during .

So even though apt-get was updated, it's saying it can't install git lfs. I don't get it. Those two lines seem like they should work quite reliably, given the source.

Following the style of:
I used this in my .travis.yml:
before_install:
  - ls -a
  - pwd
  - git clone git@github.com:github/git-lfs.git
  - cd git-lfs
  - git checkout 05666983c2e19664b8fc47c30b767ec160e3fea5
  - script/bootstrap
  - cd ..
  - ls -a
  - pwd
  - git-lfs/bin/git-lfs init
  - git-lfs/bin/git-lfs env
  - git-lfs/bin/git-lfs pull

Was able to successfully install, but I'm thinking this build is about to fail because of "bad credentials". Here's the relevant piece of the Travis CI log:
0.01s$ ls -a
.     DESCRIPTION     .gitignore  man-roxygen  R	      .remake
..    .git	      inst	  NAMESPACE    .Rbuildignore  remake.yml
data  .gitattributes  man	  pkgBuild     README.md      .travis.yml
before_install.2
0.01s$ pwd
/home/travis/build/rBatt/trawlData
before_install.3
1.60s$ git clone git@github.com:github/git-lfs.git
Cloning into 'git-lfs'...
Warning: Permanently added the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts.
remote: Counting objects: 12401, done.
remote: Compressing objects: 100% (101/101), done.
remote: Total 12401 (delta 51), reused 0 (delta 0), pack-reused 12300
Receiving objects: 100% (12401/12401), 4.46 MiB | 0 bytes/s, done.
Resolving deltas: 100% (8231/8231), done.
Checking connectivity... done.
before_install.4
0.01s$ cd git-lfs
before_install.5
0.02s$ git checkout 05666983c2e19664b8fc47c30b767ec160e3fea5
Note: checking out '05666983c2e19664b8fc47c30b767ec160e3fea5'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:
  git checkout -b new_branch_name
HEAD is now at 0566698... ship v1.0.2
before_install.6
3.87s$ script/bootstrap
Using go1.4.1
before_install.7
0.01s$ cd ..
before_install.8
0.01s$ ls -a
.	     .git	     inst	  pkgBuild	 .remake
..	     .gitattributes  man	  R		 remake.yml
data	     .gitignore      man-roxygen  .Rbuildignore  .travis.yml
DESCRIPTION  git-lfs	     NAMESPACE	  README.md
before_install.9
0.01s$ pwd
/home/travis/build/rBatt/trawlData
before_install.10
0.04s$ git-lfs/bin/git-lfs init
Updated pre-push hook.
Git LFS initialized.
before_install.11
0.02s$ git-lfs/bin/git-lfs env
git-lfs/1.0.2 (GitHub; linux amd64; go 1.4.1)
git version <IP_ADDRESS>
Endpoint=https://github.com/rBatt/trawlData.git/info/lfs (auth=none)
  SSH=git@github.com:rBatt/trawlData.git
LocalWorkingDir=/home/travis/build/rBatt/trawlData
LocalGitDir=/home/travis/build/rBatt/trawlData/.git
LocalGitStorageDir=/home/travis/build/rBatt/trawlData/.git
LocalMediaDir=/home/travis/build/rBatt/trawlData/.git/lfs/objects
TempDir=/home/travis/build/rBatt/trawlData/.git/lfs/tmp
ConcurrentTransfers=3
BatchTransfer=true
GIT_ASKPASS=echo
git config filter.lfs.smudge = "git-lfs smudge %f"
git config filter.lfs.clean = "git-lfs clean %f"
before_install.12
0.58s$ git-lfs/bin/git-lfs pull
(0 of 49 files) 0 B / 858.37 MB
Bad credentials

Any ideas on how to get the credentials right?

I ended up getting this error:
Building with: R CMD build
0.94s$ R CMD build  .
* checking for file ‘./DESCRIPTION’ ... OK
cp: cannot copy cyclic symbolic link `trawlData/git-lfs/src/github.com/github/git-lfs'
 ERROR
copying to build directory failed
The command "R CMD build  ." failed and exited with 1 during .

So I ignored the git-lfs folder for the R build (R was throwing that). But I think it might still fail because of not having the full binary files (original problem ... can't get the lfs-tracked files into Travis).
But getting closer b/c it's looking like I managed to get Git LFS installed on Travis.

Do you mind sharing your final script that works?

Any luck with this?

I ultimately gave up. Haven't tried in a while.

I haven't tried the solution above but I used github's user tokens and travis's ability to store credentials as user variables. So this is what I ended up doing:
lfs_install () {
    # Install git-lfs and pull the data files
    wget https://github.com/github/git-lfs/releases/download/v1.1.0/git-lfs-linux-amd64-1.1.0.tar.gz
    tar -zxvf git-lfs-linux-amd64-1.1.0.tar.gz
    export PATH=`pwd`/git-lfs-1.1.0:$PATH
    git config credential.helper store
    echo<EMAIL_ADDRESS>> ~/.git-credentials
    git lfs install
}
echo 'install git lfs'
lfs_install

echo 'git reset'
git reset

echo 'pulling from git-lfs'
git lfs pull

Hi, it looks like this issue is resolved, and mainly boiled down to two things: (1) apt-get installing Git LFS in the Travis environment, and (2) getting the credential helper working correctly on Travis. (1) appears to have been resolved in https://github.com/git-lfs/git-lfs/issues/826#issuecomment-155250144, but (2) was left open.
In particular, with regards to https://github.com/git-lfs/git-lfs/issues/826#issuecomment-195012726:

As far as I know git-lfs doesn't understand git@ remotes which is what travis uses to check out your repo.

Git LFS will now happily do this (since it doesn't support SSH, but will convert SSH URLs to their correct HTTP(S) equivalents).
Please let me know if there are any other outstanding issues.


Add la-salle

@cenoct115 First stage of verification passed, official domain is la-salle.edu.hk as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@cenoct115 Pull request merged. Thank you!


disable ALLOW_COERCION_OF_SCALARS

this is to prevent object mappers from mapping integer values to booleans or string to integer values and vise versa..

I think we want this liberalness?

So deserializing conjure Boolean Object, jackson is casting 1  to true, and 0 to false which fails conjure de/ser tests.

I think that implies a problem with the tests; the leniency here is positive, IMO

@markelliot this was exposed by our exhaustive Conjure wire format tests.  I don't think we should normalize the practise of relying on coercion like this, as it seems prone to break subtly between jackson versions...  Given that we've got a well defined wire.md and conjure can generate compliant servers and clients, what remaining use cases are there for this leniency?

I think there's a pretty big difference between relying on and accepting -- I'm voting that we continue to make our servers lenient in what they accept, even if the overwhelming majority of our clients will produce pedantically correct input.

OK so are we OK with clients doing some coercing when they receive imprecise server responses?  This seems pretty hard to specify/implement in a cross-language way and would make backend implementations less fungible

What's your reasoning here, Mark? Do you have concerns with existing misbehaved clients?

In a vacuum, I'd prefer the stricter behavior, both in clients and in servers.

I have only weak justification, mostly I'm concerned we don't know where this may be misused now (these ObjectMappers occasionally make their way into non-RPC usage) and that the lenience of this behavior is unlikely to be an error.
It seems y'all feel more strongly than I do at this point, so we can proceed.

OK, I think we should proceed and make http-remoting to be strictly compliant - if it turns out that some product is using ObjectMappers.newServerObjectMapper() for some non-RPC thing, they can always just make a code-change to .enable(MapperFeature.ALLOW_COERCION_OF_SCALARS).

@qinfchen could we add one little unit test to ensure this doesn't accidentally regress?

note: remoting object mappers are frequently used for DB persistence

The latest plan is to not make this change to the existing http-remoting ObjectMapper (to ensure we don't unintentionally break anyone's DB persistance) and instead incorporate this new .disable(MapperFeature.ALLOW_COERCION_OF_SCALARS) change into the proposed renaming PR (http-remoting -> conjure-java-client).
This should ensure that users can continue to use com.palantir.remoting3.ext.jackson.ObjectMappers if they want to, while new users will be recommended to take com.palantir.conjure.java.serialization.ObjectMappers (with the improved behaviour).

Subsumed into #764


Add the ability to override the GA config for a theme

As a theme user, I would like my own ga key.

Backlogged for MyUW infrastructure Scrum team as MUMUP-2491.


fixed autosave

fixed autosave

This change is

Persisting auto save works!

Edit with editing offline. Refresh when online again and edits persist.

Edit without saving and refresh. Edits persist.

Edit without saving in app, edit on DCS, refresh in app. Edits persist with pop up triggered.

clicking keep existing edits works as expected.

clicking discard local edits takes you to the repo selection as expected but if you select the same repo/lang/file, it still persists the edits when it shouldn't. Refresh the page and it vanishes. Looks like we need to flush the cachedFile state in useGiteaReactToolkit.js when cancel is selected.

@jincypjose ^^


Adding transition effect for the testimonial section

Currently, the testimonials cause each segment to snap to the next when pressing the next arrow.
I would like to make the testimonials have a smooth transition,
Please assign this issue to me

@Acesif ?

@gauravsingh1281 Sorry I was a bit busy, I'll make a PR for this issue in a few hours

I noticed that the testimonial section's images were set up by changing the url of each image instead of revolving the whole strip of images. If I try to set up transition effects now, I would need to change a significant portion of the code

@gauravsingh1281 can you assign this issue to me? I think I can complete it quickly.

@TarifSadman Yes go for it 🚀.


Unable to understand or decode characteristic value, after monitoring it

I am trying to connect and get a Bluetooth thermometer value, here is the device
Device
I am connecting the device, then -> discoverAllServicesAndCharacteristics, and then -> monitoring the characteristic,
The button press returning me a new characteristic with new value every time, but I am unable to understand or decode the value format.
value1= BFMNAP4J
value2= BE8NAP4J
value3= BFwNAP4J
value4= BFcNAP4J
The original values should be in like 94.6, 91.8 ...

The received values are encoded as base64 strings.

For React Native applications you can install the base-64 node package as I don't know of any any out-of-the-box decoding functions (https://www.npmjs.com/package/base-64)

Then your callback could look something like this:
... (err, chr) => {
 if (chr && chr.value) {
   const decodedValue = base64.decode(chr.value);
   const value = parseFloat(decodedValue);
   // do something with value here
 }
}

Thanks @Tilwin90
Although I have tried to decode it with base64-js already but also tried base-64, here are the results.

@Tilwin90's approach is on the right track. If you're using base-64 @daniyal-intellicel you can get a byte array with base64.toByteArray(). Then, you can use a DataView to extract whatever values you sent along. E.g. if you're sending a single, 32-bit float:
const bytes = base64.toByteArray(characteristic.value);
const view = new DataView(bytes.buffer);
const value = view.getFloat32()

I'm not sure if that's exactly what the thermometer is sending, but you can adjust what type of value you're extracting, at what offset and the endianness with the DataView accessors (e.g. see docs for DataView.getFloat32()).

value1= BFMNAP4J
value2= BE8NAP4J
value3= BFwNAP4J
value4= BFcNAP4J
value1= 04530d00fe09
value2= 044f0d00fe09
value3= 045c0d00fe09
value4= 04570d00fe09
value1[1] = 83
value2[1] = 79
value3[1] = 92
value4[1]= 87
I guess that first byte is a length of a data. Only second byte changes, which probably means that it contains temperature value. It might be a fixed point value or some value which should be multiplied by a constant (for example 1.1). To be sure you should check the proper documentation.

@Tilwin90's approach is on the right track. If you're using base-64 @daniyal-intellicel you can get a byte array with base64.toByteArray(). Then, you can use a DataView to extract whatever values you sent along. E.g. if you're receiving a single, 32-bit float:
const bytes = base64.toByteArray(characteristic.value);
const view = new DataView(bytes.buffer);
const value = view.getFloat32()

I'm not sure if that's exactly what the thermometer is sending, but you can adjust what type of value you're extracting, at what offset and the endianness with the DataView accessors (e.g. see docs for DataView.getFloat32()).

In react native, base64 is not supported, other base64 libs for react native doesn't include .tobyteArray
Is there anyway I convert base64 to byte array in react native? Searched without any results, I just want to decode the base64 data sent from the ble so I can read it's value.

value1= BFMNAP4J
value2= BE8NAP4J
value3= BFwNAP4J
value4= BFcNAP4J
value1= 04530d00fe09
value2= 044f0d00fe09
value3= 045c0d00fe09
value4= 04570d00fe09
value1[1] = 83
value2[1] = 79
value3[1] = 92
value4[1]= 87
I guess that first byte is a length of a data. Only second byte changes, which probably means that it contains temperature value. It might be a fixed point value or some value which should be multiplied by a constant (for example 1.1). To be sure you should check the proper documentation.

In react native, base64 is not supported, other base64 libs for react native doesn't include .tobyteArray
Is there anyway I convert base64 to byte array in react native? Searched without any results, I just want to decode the base64 data sent from the ble so I can read it's value.

The received values are encoded as base64 strings.

For React Native applications you can install the base-64 node package as I don't know of any any out-of-the-box decoding functions (https://www.npmjs.com/package/base-64)

Then your callback could look something like this:
... (err, chr) => {
 if (chr && chr.value) {
   const decodedValue = base64.decode(chr.value);
   const value = parseFloat(decodedValue);
   // do something with value here
 }
}

Looks like this package does not support toByteArray() anymore:
https://www.npmjs.com/package/base-64

Hello,
I have the same problem with converting value to a right meaning value.
const bytes = base64js.toByteArray(result.value);
console.log("bytes: ", bytes);
// bytes:  [15, 0, 100, 34, 148, 16, 100]

I got this response after using toByteArray, but I don't know what to do to get the right value.
I am connecting to IQOS device to get the batery status.
Does anyone have any solution?


(Feature request) My list of wishes for this mod

Don't disable sprint when you run into a wall (sprint only stops when you start going in another direction that is at least more than 45 degrees away from forward and/or the movement stick is still)

Add a warning when certain keybinds conflict with each other (like it is on legacy)

Add an option to switch between Nintendo layout and the default layout (ie. swapping A and B button functionality on the lowest level)

For Sony controllers like DualShock 4 or DualSense: Set the lightbar color to player 1 colo (blue on PS4, white with 1 dot on PS5)

(Low priority/Possibly unnecesary) Add gyro/flick stick support for controllers with motion support

(Low priority) Add Vivecraft (VR) support (as of right now the mod doesnt include the button for switching between non-VR and VR mode, and even when disabling Legacy4J and enabling VR mode then addin Legacy4J back, it seems to automatically put you into non-VR state, which normally doesn't happen, as Vivecraft remembers the last used mode)

Maybe revamp the resourcepack/mods menu, for some reason all mods show up in the resourcepack select menu, which makes choosing resourcepack unnecesarily annoying, and for the mod menu, an ability to go into mod settings, which doesn't seem to be implemented as of 1.4.3a

(Low priority) Backport to older versions, like 1.20.1, if it's possible of course

not trying to be rude, but can i at least get a comment confirming some of these points? no pressure though, not forcing you or anything


Add Struct json_decode/3 for decoding json from string

iex(1)> require Explorer.DataFrame, as: DF
Explorer.DataFrame
iex(2)> d = DF.new([%{a: "{\"n\": 1}"}])
#Explorer.DataFrame<
  Polars[1 x 1]
  a string ["{\"n\": 1}"]
>
iex(3)> DF.mutate(d, aj: json_decode(a))
#Explorer.DataFrame<
  Polars[1 x 2]
  a string ["{\"n\": 1}"]
  aj struct[1] [%{"n" => 1}]
>

Currently I get error unless I pass dtype: {:struct, %{"n" => {:s, 64}}} - due to out_df and check_df mismatch. When dtype is not passed, it is equivalent of from_list() scenario.
Please advise on how to handle this:

Should we accept the check_df.dtypes returned by polars in case of :df_mutate_with_exprs ?
Should we narrow down check  to don't worry about {:struct, _} for out_df.dtypes != check_df.dtypes and accept check_df if everything else matches ?

** (RuntimeError) DataFrame mismatch.

expected:

    names: ["a", "aj"]
    dtypes: %{"a" => :string, "aj" => nil}

got:

    names: ["a", "aj"]
    dtypes: %{"a" => :string, "aj" => {:struct, %{"n" => {:s, 64}}}}

    (explorer 0.9.0-dev) lib/explorer/polars_backend/shared.ex:62: Explorer.PolarsBackend.Shared.apply_dataframe/4
    iex:3: (file)

https://github.com/elixir-explorer/explorer/blob/8b0372644a91c9f962cce83c73494f8d97bb60a1/lib/explorer/polars_backend/shared.ex#L42-L79

What happens if the string is not valid JSON?

Raises a polars error.
iex(6)> d = DF.new([%{a: "{\"n\": 1"}])
iex(7)> DF.mutate(d, aj: json_decode(a, dtype: {:struct, %{"n" => {:s, 64}}}))
** (RuntimeError) Polars Error: error deserializing JSON: json parsing error: 'ExpectedObjectContent at character 8 (']')'
    (explorer 0.9.0-dev) lib/explorer/polars_backend/shared.ex:81: Explorer.PolarsBackend.Shared.apply_dataframe/4
    iex:7: (file)

I would start with the simplest API possible:

no options
document it errors on invalid json

I think supporting option 2 is a low hanging fruit:

Unfortunately I think this is inconsistent. All of our from_* operations work on data types outside of Series and DataFrame. So we would be breaking a rule here.
Therefore, if we introduce from_json (or read_json), the argument must be either a file or a string. Ideally we would support it in the dataframe too, because all of our from_json (or read_json) functions are defined in the dataframe. However, from_json supports files and URLs, so it is quite some work, but it would be consistent with everything else including polars itself: https://docs.pola.rs/py-polars/html/reference/api/polars.read_json.html
So, after sleeping on it, I think we should first add read_json/write_json, and then from_json and to_json. If it is too much work, let us know, and @philss can pick it up soon (he pretty much wrote all file integration stuff :D).

@josevalim I can contribute an hour a day for few more months. Now that I am familiar explorer/polars - it does not take much time for implementing things from polars. Maintainers can feel free to tag me or assign PRs/bugs to me - i will try my best to resolve them.
I am confused about your comments and from_json - feel free to correct me.
Json Decode
example_file.csv
active,ask_code,ask_id,ask_price,code,data,expiry,id,index,inserted_at,item_id,level,project_id,properties,state,type,updated_at,user_id,value
True,,,,pull,{},1970-01-01T00:00:00Z,752e072c-9907-4fd0-9276-8fd30f7d1d1c,{},2023-02-24 15:41:57+00:00,e71a8d18-16c0-4efa-8442-dc17344ae5f8,1,890d0555-f266-42b2-a1ba-66925d8d47f6,"{'r_total': 0, 'u_total': 1, 'xp_total': 1}",ok,durable,2023-03-20 09:09:44+00:00,5755aa4d-d91e-4ab4-830e-791996f41a99,1

Description about data:

json_decode is useful in scenario where data frame is already loaded from a non json file like from .csv
Not all columns are json, rather some columns are json columns - rest are primitive types.

Possible Operations:

convert those json columns to struct pl.col('data').str.json_decode() .
extract data from a json path using pl.col('data').str.json_path_match('$. xp_total').alias('xp') .

Problems with having Series.json_decode as DataFrame operation:

we don't know dtype in advance, hence we can't use DF.mutate as apply_dataframe validates out_df and check_df.

Solution:

implement Series.json_decode as a series  operation which wont work as data frame operation/expression.
raise error suggesting user to use Series.json_decode/2 rather than json_decode/2 in data frame mutate.

from_json
This is a complete different operation from json_decode:

from_json whole file is json
from_ndjson every line is json
json_decode one or more variables/columns are json. there might be columns which are just primitives, example csv file

example.json
{
  "columns": [
    {"name": "integer",  "datatype": "Int64",  "bit_settings": "",  "values": [1,  2,  3 ]},
    {"name": "float", "datatype": "Float64", "bit_settings": "",  "values": [4, 5, 6 ]},
    {"name": "string",  "datatype": "String", "bit_settings": "", "values": ["a", "b", "c"] }
  ]
}

df = pl.DataFrame(
    {
        "integer": [1, 2, 3],
        "float": [4.0, 5.0, 6.0],
        "string": ["a", "b", "c"],
    }
)

df.write_json("output.json")
df_json = pl.read_json("output.json")
print(df_json)

Thank you for the context. I see what you mean and I don't have a good answer for it.
The best I can think of is to call it "json_decode" but always expect the "schema"/"dtype" to be given, so we don't have to guess.

One final question - can we have series only ops and combine it with DF.put ? That way user won't have to pass dtype every time.

We could but I would like to avoid "branching" for now, if that makes any sense.

Jose reply is to my question - whether we could have Series only op that way we could have avoid passing dtype?
I felt my question was partly in the previous reply and deleted it. Posting it again after I seen Jose's reply.

I removed infer_schema_length, we don't need it as we are passing dtype.

Thank you! It was a bit bumpy but I am glad with where we arrived!

:green_heart: :blue_heart: :purple_heart: :yellow_heart: :heart:

Thank you! It was a bit bumpy but I am glad with where we arrived!

Thank you Jose, I don't mind bumpy rides.


Error on load

The output of command /version on my server is: (PLEASE FILL IN) 1.8.8
The output of command /version citizens on my server is: (PLEASE FILL IN) 2.0.24 Build 1586
The output of command /version sentinel on my server is: (PLEASE FILL IN) 1.7.2 Build 197
A pastebin.com link to my (full!) Sentinel/config.yml file is: **(PLEASE FILL IN)**https://pastebin.com/8uLEwctr

https://pastebin.com/VcdJLGMG
Sentinel plugin doesnt load, cant run any commands with sentinel. Citizens is loaded fine.

Hey thanks for the fix, it can not run the cmds properly. But Im still having an issue where the server crashes when hitting the npc. Its quite random but i noticed within 1-30 hits it'll crash the server.
This might be a citizens bug but im not so sure.
https://pastebin.com/yrgBd0UJ

That if anything is a Citizens bug (it appears your server is locking up when the Citizens pathfinder is running).
Realistically the solution to that is just update your server (Minecraft 1.8 is around 4 years old at this point, it's way too outdated for any project to have complete support for). Check here for info on updating: https://wiki.citizensnpcs.co/Minecraft_1.8

I cant update the server because im using a custom jar to provide a smoother pvp experience...

If you're using a non-standard jar from 4 years ago, why would you expect anything new to work?  You can't just do that partially (the server jar, MC version, and some other things all trapped in the past, but then update some other plugins and add some new plugins), it doesn't work that way.


Accept query param for scanner url

I would love to be able to link to https://webhint.io/scanner and have a url already filled out in the text input. So for example if I wanted to encourage another developer to test https://example.com I could create a link to https://webhint.io/scanner?url=https://example.com (I'm not encoding that for readability). They could still have to click the button, but this would be helpful; thanks!

Good idea @EvanLovely. Want to try to do it?
The changes should go around here.


Max editor count should be configurable

The maximum number of editors currently is three.  There doesn't appear to be a way to change this in user settings.
It would be helpful and flexible if there was a configuration option in user settings to override this default max value (i.e. some developers might be able to handle four or five editors and still feel "organized").
I like the max editor cap, but I believe the count of max editors should be configurable.

Related https://github.com/Microsoft/vscode/issues/1749 (horizontal editor splitting)

+1

+1

/duplicate https://github.com/Microsoft/vscode/issues/9872


Mark "Editor SSL Certificates" setting as require restart

The certificates are setup at startup, so this setting needs editor restart to take effect.

Thanks!


Crashing Homebridge on default new install

Default install on the latest docker image I get this as soon as I restart Homebridge:
[1/6/2022, 11:37:58 AM] TypeError: Cannot read properties of undefined (reading 'join')
at Function.logDetails (/homebridge/node_modules/homebridge-solax/src/config.ts:25:72)
at new SolaxPlatform (/homebridge/node_modules/homebridge-solax/src/solaxPlatform.ts:24:18)
at /usr/local/lib/node_modules/homebridge/src/server.ts:440:40
at Array.forEach ()
at Server.loadPlatforms (/usr/local/lib/node_modules/homebridge/src/server.ts:372:27)
at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:159:29)
[1/6/2022, 11:37:58 AM] Got SIGTERM, shutting down Homebridge...

Thanks. What docker image are you using? I'm using Onzu, but haven't updated for a little while. I'll try and reproduce and report back.
Cheers
Troy

I've managed to reproduce it on the latest version of Onzu docker image, but also on an earlier verison. This error is due to no alerts thresholds being specified. I'll update the code to handle this gracefully, though ideally should always have at-least 1 alert threshold defined.
In the interim, if you specify a value for at-least one item, it'll work.

Perfect! Thanks.

Version 1.3.3 will now handle no alert thresholds being specified. Cheers.


config: allow protocol selection

This introduces protocol into the config with 3 allowed values: "arp",
"bgp" and "rip", this specifices what protocol the "speaker" binary
speaks.

@danderson this is a first step to merging the speakers into one binary - if you like it that is.

#76 has all the fixed that this PR doesn't have

I think this branch got merged in the other PR, I see all the same code.

Yes. In branched this of the another branch. End result should be ok
though, I hope?
On 16 Dec 2017 20:31, "Dave Anderson"<EMAIL_ADDRESS>wrote:

I think this branch got merged in the other PR, I see all the same code.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/google/metallb/pull/75#issuecomment-352209487, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVkW08TRspjtsGBUPrn1JYR1Z_4-B9iks5tBCifgaJpZM4REUYd
.

Yes, but this got merged already. When I merged the other PR, it pulled in this code as well. If you look at the code in master, it already has these changes (that's also why the PR now complains about merge conflicts).
So I think we can just close this PR, this code is already merged.

To be clear: the result lgtm, I was just making sure I can close this PR without merging, because the code is already merged.


not seeing tags in preview mode.

tags are rendered in edit mode, but switching to preview mode it disappears

Can't reproduce this. Are you using the latest version?

Ah... problem solved after use the latest! Thanks for looking into the
issue.


BODY becomes child of HEAD when closing tag is missing

Some old W3C pages were written in old style HTML. e.g. http://www.w3.org/TR/css3-2d-transforms/
node-htmlparser should be more forgiving.
version: 1.7.2
var request = require('request');
var jsdom = require('jsdom');

var url = 'http://www.w3.org/TR/css3-2d-transforms/';
request({uri:url}, function (error, response, body) {
    var html = body;
    var doc = jsdom.jsdom(html, null, {url: url});
    console.log(doc.head+''); //[ HEAD ]
    console.log(doc.body === null); //true
    console.log(doc.head.childNodes[9].tagName); //BODY
});

Ahh, scraping badly coded pages can be a pain.
I just wasted 2 hours trimming a bad page to find out what was causing strange DOM errors, and finally found that htmlparser is not forgiving for pages that omit a closing tr tag. There were no tr tags closed in the page I was scraping, so the complete table was a huge recursive tr.
I look very forward to 1.8.0 if it fixes this :)


Fix a bug that job.next_run is not utc time now

croniter uses system's timezone, and get_next() will get a local time. We need  to convert it to UTC time, then we could get correct local time when displaying jobs' details, namely it is 'Next Scheduled Run(local time)'.

Closing without sufficient explanation for why this is necessary.


Update CondenseLabel.py

Fixed output type of condensed label image to uint32. Integer type is required for compatibility with scipy label image processing algorithms.

LGTM!


upgrade to argon password hasher

Fixes #3362

Automated message from Dropbox CLA bot
@sinwar, it looks like you've already signed the Dropbox CLA. Thanks!

@sinwar how carefully have you tested this?  Ideally, one would enable password auth locally on master (zproject/dev_settings.py), register a new account with password, and then apply this change, and verify:
(1) That new account can still login
(2) That new account can change password
(3) We can register an additional account with password auth
(4) That second new account can login.
(5) If we then revert to the original code, now that second account can't login (aka a failing test of the upgrade).

@timabbott  I verified for all the test cases.

So I have verified this and it works for all the cases mentioned above. The only observation I want to make is that for the tests to pass in the development environment, I had to do vagrant provision.

The only observation I want to make is that for the tests to pass in the development environment, I had to do vagrant provision.

I see that we are not planning to use this hasher in our tests.

@umairwaheed this will slower down our test so we are not planning to use in development.
for production I made changes as @timabbott and @brainwane suggested.

Cool. Lgtm!

the production tests were not working yesterday. I think now we should run it again. It seems to pass all test.

Merged, after adding a PROVISION_VERSION update.  Thanks @sinwar!


fix(pci.storage.container): display gateway url for archive storage

fix(pci.storage.container): display gateway url for archive storage
Description of the Change
26a6f64e — fix(pci.storage.container): display gateway url for archive storage
ref: MANAGER-3035, DTRUN-2259

CDS Report sign-up#3821.0 ✘

Stage 1

Build CA ✘
Build EU ✘
Build US ✘

Rebased on develop


Prerender:true error

I try prerender my component but the application throw this error:
Is a directory @ io_fread - app/assets/webpack/

@BrunoQuaresma Can you make this sample app work for you: https://github.com/shakacode/react-webpack-rails-tutorial?

Same error here. From the docs it is unclear how to configure an application to use server-side rendering.

Take a look at these lines:
https://github.com/shakacode/react_on_rails/blob/master/spec/dummy/config/initializers/react_on_rails.rb#L14
https://github.com/shakacode/react_on_rails/blob/master/spec/dummy/config/initializers/react_on_rails.rb#L23
https://github.com/shakacode/react_on_rails/blob/master/spec/dummy/client/webpack.server.js#L10
https://github.com/shakacode/react_on_rails/blob/master/spec/dummy/client/webpack.client.js#L14
@jbhatab changed the new generator to only output one server rendering file. I bet he forget to change the
  config.server_bundle_js_file = "server-bundle.js"

@justin808 what is the diff clientRegistration and serverRegistration files?

Now, after configure the server-bundle ... this error appears:
Encountered error: "ReferenceError: document is not defined"

@justin808 what is the difference between clientRegistration and serverRegistration files?

For advanced apps, especially using react-router, we might have different initialization code for the server rendering vs. client rendering.
Regarding the last error, you have a problem with your ES6 imports. I'd suggest maybe using StackOverflow for that question.

ok @justin808 thanks for the info and patience.

What is proper way to use prerendering in example?
<%= react_component("HelloWorldApp",
                     props: @hello_world_props,
                     prerender: true) %>

I modified initializers/react_on_rails.rb:
  config.webpack_generated_files = %w( app-bundle.js vendor-bundle.js server-bundle.js )
  config.server_bundle_js_file = "server-bundle.js"

I tried bunch of other stuff but nothing worked. Can somebody help?

@knagode when you run the foreman the server-bundle.js is created in app/assets/webpack folder?

@knagode setting the prerender value in the view will override the config setting. Always get the basics working perfectly at first before trying prerendering.
The config.server_bundle_js_file must match the file you use to generate your server bundle. In some simpler cases, you can use the same bundle file for client and server rendering. In the https://github.com/shakacode/react-webpack-rails-tutorial/, we use separate bundle files. These can be seen here:
https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/client/webpack.server.rails.build.config.js
Take a look at the sibling webpack* files.
And see how the output file name corresponds to the config/initializers/react_on_rails.rb file:
https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/client/webpack.server.rails.build.config.js#L18
and
https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/config/initializers/react_on_rails.rb#L15
Also be sure that these all match up with your webpack files:
https://github.com/shakacode/react-webpack-rails-tutorial/blob/master/config/initializers/react_on_rails.rb#L5
ReactOnRails.configure do |config|
  # Directory where your generated assets go. All generated assets must go to the same directory.
  # Configure this in your webpack config files. This relative to your Rails root directory.
  config.generated_assets_dir = File.join(%w(app assets webpack))

  # Define the files for we need to check for webpack compilation when running tests
  config.webpack_generated_files = %w( app-bundle.js vendor-bundle.js app-bundle.css
                                       vendor-bundle.css server-bundle.js )

  # This is the file used for server rendering of React when using `(prerender: true)`
  # If you are never using server rendering, you may set this to "".
  # If you are using the same file for client and server rendering, having this set probably does
  # not affect performance.
  config.server_bundle_js_file = "server-bundle.js"

@jbhatab, is this an issue: https://github.com/shakacode/react_on_rails/issues/460#issuecomment-228181485

@justin808 I have server side rendering working find when I run foreman start -f Procfile.dev. But when I run foreman start -f Procfile.dev-server I get the error No such file or directory @ rb_file_s_mtime - http://localhost:3035/packs/application-af1fcdce5b681ac6378b.js. I have a pack called application.js which builds properly when I run without webpack dev server. It does not seem to work when I run web server. I have looked at a number of documents and cannot seem to figure out the answer.


Revert "Add Intellisense in Repl, with TAB, ESC, UP, DOWN keys management"

Reverts microsoft/Power-Fx#2000
This needs some more work.

Not designed for REPL library consumers, like the PAC CLI.
Isn't working for me.
Use of ESC and TAB keys breaks multiline detection.
The extra newline in the prompt was there for a reason when used with the PAC CLI and should be retained.

✅ No public API change.

✅ No public API change.


Memory requirement in TF

I was using batch of size 32 and once I switched to lovasz loss I had to decrease batch size to 8 to be able to train the same model. Otherwise OOM error is thrown.
Is it expected?

Hello,
Normally the memory usage should be around the same, but I only experimented with PyTorch. Maybe the sort algorithm is taking more memory than necessary. I might investigate some time in the future if I have time.

Can confirm that Lovasz loss is eating up a lot more memory than, say, cross-entropy. This is on TF 2.1. I'll try to see if there's any low-hanging fruits for this contributions-welcome tag ;-)


Update model.py

The previous code was using the 24h model for forecasts > 24h. However, the step would only go up by 6h. Also for a 120h forecast (e.g.), the previous code would have used the 6h model which is not advised due to error growth.

Hi Louis,
Every 4th step is taken with the 24h model and takes as input the previous 24h-step output. This means the model is using 5 steps of 24 to get to 120h. This stepping was taken from Pangu's code themselves.
https://github.com/198808xc/Pangu-Weather/blob/main/inference_iterative.py
Do you disagree?

Hi,
After reading another time the code, I was actually wrong. I got distracted by the fact that you still save 6h steps in between the 24h steps. My pull request then adds nothing but a clearer saving process (instead of having one file every 6h, we only save the actual models that one would have used to produce exclusively a 120h forecast, e.g.)
Thank you for the answer, I guess you can close the puul request since there's no real issue here.
Louis.


You must complete the Terraform 0.13 upgrade process before upgrading to later versions.

Hi All,
I have generated the current state and I want to cross check with the existing infra.
Please advise on the below error message.
`
C:\Users\ishan\Documents\Projects\Terraformer\generated\aws\ec2_instance>terraform plan
╷
│ Error: Inconsistent dependency lock file
│
│ The following dependency selections recorded in the lock file are inconsistent with the current configuration:
│   - provider registry.terraform.io/hashicorp/aws: required by this configuration but no version is selected
│
│ To make the initial dependency selections that will initialize the dependency lock file, run:
│   terraform init
╵
C:\Users\ishan\Documents\Projects\Terraformer\generated\aws\ec2_instance>terraform init
Initializing the backend...
╷
│ Error: Invalid legacy provider address
│
│ This configuration or its associated state refers to the unqualified provider "aws".
│
│ You must complete the Terraform 0.13 upgrade process before upgrading to later versions.
╵
`
Thank You.

you can downgrade terraform version to latest 0.13.X , this worked for me


chore: add Prettier and Eslint Checks as GitHub PR Merge Workflows #1640

Description

added Prettier and ESLint in your project
Add a GitHub Actions workflow file

...
...
...

Related issue(s)

@SumantxD
Well written code! Kudos! 🛩
Here are some points you might have to consider:

We need to fix the errors and warning related to eslint and prettier before having this solution in place. Otherwise, all the future PRs would fail the PR merge checks.
The .eslintrc.js file needs some additional rules according to the project.

@anshgoyalevil

the code has been refactored to fix the eslint and prettier requirements
additional rules have been added to .eslintrc.js file to meet project's requirements
here are a list of changes i have made

added 'eslint-plugin-prettier' , This plugin allows ESLint to run Prettier as an ESLint rule. It helps integrate Prettier's code                                                 formatting capabilities into the ESLint workflow, ensuring consistent code style.
added 'eslint-config-prettier' , This configuration disables all ESLint rules that may conflict with Prettier's formatting rules. It allows you to use ESLint and Prettier together without encountering conflicts.
modified '.eslintrc.js' to integrate ESLint and Prettier configuration
3.1) in env specified that node env is needed
3.2) modified it to add support for typescript
3.3) in rules the prettier formatting is enforced
3.4) the react version has been set to autodetect
refactored the code to make it in favor of ES2015 module syntax

https://github.com/asyncapi/website/issues/1640#issuecomment-1549011700 comment added in the issue.

Closing this PR now since we already resolved the ESLint issue in another PR.


chore: remove Committable from VoteData type param

fix #1778
Also, fix libp2p examples build break.

CI again this is a new one:

LLVM ERROR: IO failure on output stream: No space left on device
error: could not compile hotshot-task (lib test)

Tests pass locally. Merging despite CI.


chore: optimize client imports

ℹ Overview
Use type-only imports for generated client.
Reasoning:
Creating a new SvelteKit application results in the following error after importing the generated client:
SyntaxError: The requested module '/node_modules/.vite/deps/algosdk.js?v=38d6f80e' does not provide an export named 'TransactionWithSigner' (at api.ts:12:3)

Thanks for the contribution!

Did you want to try the beta release that just got pushed and if it works for you I'm happy to release it properly?

Did you want to try the beta release that just got pushed and if it works for you I'm happy to release it properly?

I was able to link it locally with my fork! Thanks for the PR merge 🕺!


sequoia-wot: init at 0.11.0

Description of changes
https://gitlab.com/sequoia-pgp/sequoia-wot
A Rust library for authenticating bindings between User IDs and certificates using OpenPGP's web of trust.  This library is designed around OpenPGP's data structures, but it does not require OpenPGP data.  Instead, it is possible to manually describe a web of trust.
This crate also includes a CLI tool, sq-wot, for authenticating bindings and exploring a web of trust.
An official introduce article here: https://sequoia-pgp.org/blog/2023/03/29/202303-pretty-graphics-for-the-web-of-trust/
Thanks for review!

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

I saw this error on ofborg's Darwin build attempt:
tmp/nix-build-sequoia-wot-0.11.0.drv-0/source/target/x86_64-apple-darwin/release/deps/sq_wot_audit_data.o" "-Wl,-u,_AUDITABLE_VERSION_INFO"
  = note: ld: framework not found SystemConfiguration
          clang-16: error: linker command failed with exit code 1 (use -v to see invocation)

So I pushed an attempt to fix it.

I also removed libclang from the buildInputs, because it is not really required if you also include rustPlatform.bingenHook.

nix-init is pretty good at guessing buildInputs of rust packages apparently.

Should I sign the commit and re-push? Or I could just waiting, doing nothing needed.

Should I sign the commit and re-push? Or I could just waiting, doing nothing needed.

I didn't mean to ask you to do anything, I only shared what I did, because it's hard to tell the difference with all of those force pushes. As for the signing, it is up to you - for Nixpkgs and for me it doesn't matter if you sign it or not. Force pushing now again will disrupt CI once more so consider that as well.

Ok thx

Ok thx

CI was completely green before, so I won't wait for darwin CI.

Thanks @Cryolitia for contributing this package :+1: .


Do not flag PLR0124 for floats

PLR0124 does usually indicate a bug, but one place where it's used in a lot of codebases is to check whether a float value is NaN as it will fail this test only if it's a NaN. As such, it would be good to not flag these comparisons if they are float or add a setting to ignore them for floats.

Can you expand a bit as I'm unable to follow? Do you mean that if foo is float('nan') then foo == foo will give False when it's a NaN and that's what the code is intended to check?

Exactly @dhruvmanila

Although I suppose math.isnan might be a more idiomatic way to check it.

Yeah I don't think using foo == foo to detect NaN is something we want to encourage — we could add a case to PLR0124 that suggests math.isnan or a new rule for that?

I might settle for just a note in the documentation here as to how users should handle this specific case.


Possible bug in SSL_connect()

Around line 10339 in tlse.c, the code
if (tls_established(context))
     return 1;
if (context->critical_error)
     return TLS_GENERIC_ERROR;

is wrong, I think. Because in bug #55 the tls_consume_stream() actually fails (returns -4) but the tls_established() returns true.
I think the critical_error check should happen first.

Well, reversing the order causes some other problem. So now I'm unsure.

I think this should be rewritten like this:
int err = tls_established(context);
if (err < 0)
    return err;
if (err)
    return 1;

Hmm. No, that still fails the connection with the URLs I gave.
"https://google.com/" is ok, but the "https://www.posti.fi/" and "https://www.calendardate.com/todays.htm" both fail.

Hello Ron. Just tested it with www.clanedardate.com, it works. Maybe there was some kind of unsupported certificate?


Add issue template to this repo

For example: https://github.com/audreyr/cookiecutter/blob/master/.github/ISSUE_TEMPLATE.md

I will do this.


RUSTFLAGS environment variable is set by default, even though it does nothing

Corrosion by default sets the RUSTFLAGS environment variable to  -Cdefault-linker-libraries=yes. This is useless because the default for -C default-linker-libraries is already yes. Worse, it clobbers rustflags from .cargo/config.toml. The RUSTFLAGS documentation says (emphasis mine):

There are four mutually exclusive sources of extra flags. They are checked in order, with the first one being used:

CARGO_ENCODED_RUSTFLAGS environment variable.
RUSTFLAGS environment variable.
All matching target.<triple>.rustflags and target.<cfg>.rustflags config entries joined together.
build.rustflags config value.

Therefore Corrosion should not set the RUSTFLAGS environment variable at all unless it is explicitly requested via corrosion_add_target_rustflags.

Therefore Corrosion should not set the RUSTFLAGS environment variable at all unless it is explicitly requested via corrosion_add_target_rustflags.

This is already the case on the current master branch. I'm adding a test in #232 just to be sure. If I'm missing something, please feel free to reopen the issue.

Corrosion by default sets the RUSTFLAGS environment variable to -Cdefault-linker-libraries=yes.

On master Corrosion now uses cargo rustc to pass "local rustflags" (e.g. linker arguments), which does not affect the "global rustflags" (e.g. from RUSTFLAGS or the .cargo/config.toml).

Great! Do you have any plans for when you'll make the next release?

I'm hoping to release the next version sometime in the next four weeks.


feat(svelte-query): Svelte 5 adapter

i ported svelte-4 query to svelte 5
Done:  (i have used below myself and they seem to work just fine)

createQuery
createMutation
useQueryClient

TODO:

createQueries (i did it but based on solid not sure if it works)
unit tests (pending on svelte 5 on how to test runes)
isFetching (svelte 4 version should be ok)
isMutating (svelte 4 version should be ok)
isRestoring (svelte 4 version should be ok)

i already published this svelte 5 draft version under svelte-query-runes package if people want to try it out !  i personally have been using createQuery and createMutation in my own project it work just fine !
to use it , you can checkout my messy sample code in examples/svelte-melt
if anyone want to take this over please feel free to do so ! i personally only need createQuery and createMutation

@lachlancollins  in case u want to want on this... heres a few thing that i did(hopefully  they are still right)
there are 3 form of Reactivity approach currently
Pass Function  (recommended)
let a = $state()

createQuery( ( )=> {  return { .... }  }   // this will be reactive for both $state and $derived and other edge cases

Pass Attribute Function (currently, i added this for enabled+queryKey)
let a= $state()  // will work
let b=$derived()
// enabled is a fn
createQuery({queryKey: [a] , queryFn:()=>{}, enabled:()=>{} } )

passing $derived to queryKey does not work i believe, if u change b, query wont update
let a= $state()
let b=$derived()
// enabled is a fn
createQuery({queryKey:[b] , queryFn:()=>{}, enabled:()=>{} } )  // BAD

let a= $state()  // will work
let b=$derived(a+1) // wont work if u pass b to queryKey instead of a(u have to pass ()=>b to key), other options require u to pass functions i.e enabled,
// enabled is a fn
createQuery({queryKey: ()=>[b] , queryFn:()=>{}, enabled:()=>{} } )  // good

pass $state  to queryKey & enabled is fine too(..need to be a proxy value) inside it !
let a= $state()  // will work
createQuery({queryKey: [a] , queryFn:()=>{}, enabled:!a // if a.a is a number then enabled won't work
} ) // queryKey can be something that has $state in it

output of creaetQuery
we can return function or return a proxy runes , i choose the 2nd one since it has better DX , im not sure if theres some edges cases tho

@lachlancollins  in case u want to want on this... fyi
there are 3 form of Reactivity approach currently
Pass Function  (recommended)
let a = $state(something)
createQuery( ( )=> {  return { .... }  }   // this will be reactive for both $state and $derived and other edge cases

Pass Attribute Function (currently, i added this for enabled+queryKey)
let a= $state()  // will work
let b=$derived()
// enabled is a fn
createQuery({queryKey: [a] , queryFn:()=>{}, enabled:()=>{} } )

passing $derived to queryKey does not work i believe, if u change b, query wont update
let a= $state()
let b=$derived()
// enabled is a fn
createQuery({queryKey:[b] , queryFn:()=>{}, enabled:()=>{} } )  // BAD

let a= $state()  // will work
let b=$derived(a+1) // wont work if u pass b to queryKey instead of a(u have to pass ()=>b to key), other options require u to pass functions i.e enabled,
// enabled is a fn
createQuery({queryKey: ()=>[b] , queryFn:()=>{}, enabled:()=>{} } )  // good

pass $state  to queryKey & enabled is fine too(..need to be a proxy value) inside it !
let a= $state()  // will work
createQuery({queryKey: [a] , queryFn:()=>{}, enabled:!a // if a.a is a number then enabled won't work
} ) // queryKey can be something that has $state in it

output of creaetQuery
we can return function or return a proxy runes , i choose the 2nd one since it has better DX , im not sure if theres some edges cases tho

One additional thing i encountered, would be nice to fix this small formatting error in Devtools.svelte:
-

+

Because of breaking: warn on self-closing non-void HTML tags #11114 it spams the console:
10:55:32 AM [vite-plugin-svelte] .../@tanstack+svelte-query-devtools@5.32.0_@tanstack+svelte-query@5.32.0_svelte@5.0.0-next.120/node_modules/@tanstack/svelte-query-devtools/dist/Devtools.svelte:46:0 Self-closing HTML tags for non-void elements are ambiguous — use `<div ...></div>` rather than `<div ... />`

I can open a separate pr for this, but it's not that bad, it's just annoying :smile:

@lachlancollins  @zhihengGet what is all left to get this working with latest rc? Is the current approach good?

https://github.com/TanStack/query/discussions/7413

@lachlancollins @zhihengGet what is all left to get this working with latest rc? Is the current approach good? cc @tannerlinsley

I'm running into a bit of a dx headache trying to have shared reusable queries (via exports) and svelte 5. Previously I handled this by passing a readable and using derived from that. Now I'm just trying to use a reactive object. But I feel like when this gets updated via derived, might have an issue. Still thinking on it but wanted to share.
State referenced in its own scope will never update. Did you mean to reference it inside a closure?(state_referenced_locally),

Page
    let stackQueryProps = $derived({ id: eventResponse.data?.stack_id });
    let stackResponse = getStackByIdQuery(stackQueryProps);
....

## external file

export function getStackByIdQuery(props: { id?: string }) {
const queryOptions = $derived({
enabled: !!accessToken.value && !!props.id,
queryKey: queryKeys.id(props.id),
queryFn: async ({ signal }: { signal: AbortSignal }) => {
const client = useFetchClient();
const response = await client.getJSON(stacks/${props.id}, {
signal
});
        if (response.ok) {
            return response.data!;
        }

        throw response.problem;
    }
});

return createQuery<Stack, ProblemDetails>(queryOptions);

}

Hi @zhihengGet, thanks so much for your work so far! I've moved your package from svelte-query-runes to replace the existing svelte-query folder. Would you be interested in finishing off your work on this PR?

@lachlancollins   will try to get the simple ones done sometime this week i.e devtool...

@lachlancollins will try to get the simple ones done sometime this week i.e devtool...

Amazing! Let me know if there's anything I can do to help

i think have moved almost everything to svelte lachlancollins early review needed!
todos
if anyone want to tackle below would be great !

clean up the code i.e remove unused code, consoles.info...etc
fix ts
svelte-persist still need tests
fix examples

@lachlancollins Is there any way to allow the workflow to always run so we can install nightly builds easily.

@lachlancollins  ok well i fixed them, but plz review , idk understand some of the logic

one more thing ,
i changed the output of createQuery to return final_.value instead of new Proxy( )  because console.log( )  will return {value :.... } instead of the data

@lachlancollins  im not able to replicate the error locally :(   i

@lachlancollins im not able to replicate the error locally :(

I still get it locally - maybe try running pnpm install again, or remove and re-clone your repo
 FAIL  |@tanstack/svelte-query| tests/createQueries/createQueries.test.ts > createQueries > Render and wait for success
Svelte error: state_unsafe_mutation
Updating state inside a derived is forbidden. If the value should not be reactive, declare it without `$state`

        in BaseExample.svelte

 ❯ Module.state_unsafe_mutation ../../node_modules/.pnpm/svelte@5.0.0-next.183/node_modules/svelte/src/internal/client/errors.js:304:17
    303|   const error = new Error(`svelte_component_invalid_this_value\nThe \`this={...}\` property of a \`<svelte:…
    304|
    305|   error.name = 'Svelte error';
       |                ^
    306|   throw error;
    307|  } else {
 ❯ Module.set ../../node_modules/.pnpm/svelte@5.0.0-next.183/node_modules/svelte/src/internal/client/reactivity/sources.js:73:25
 ❯ Object.set ../../node_modules/.pnpm/svelte@5.0.0-next.183/node_modules/svelte/src/internal/client/proxy.js:283:26
 ❯ src/createQueries.svelte.ts:220:12
 ❯ src/createQueries.svelte.ts:219:27
 ❯ src/createQueries.svelte.ts:236:7
 ❯ Module.update_reaction ../../node_modules/.pnpm/svelte@5.0.0-next.183/node_modules/svelte/src/internal/client/runtime.js:296:56
 ❯ Module.update_derived ../../node_modules/.pnpm/svelte@5.0.0-next.183/node_modules/svelte/src/internal/client/reactivity/deriveds.js:86:36
 ❯ src/createQueries.svelte.ts:220:12
 ❯ src/createQueries.svelte.ts:219:27
 ❯ src/createQueries.svelte.ts:236:7

@zhihengGet the tests are all passing now, but here's quite a few type errors. Lmk if you need any help sorting these out!

can you fix    Module '"@tanstack/svelte-query"' has no exported member 'OmitKeyof'. (ts)

I noticed that the pattern for using createMutation is different than create query (especially around () => options).
Also, I think there might be a bug with the mutation / runes.
    const demoteTab = mutateDemoteTab({
        get id() {
            return event.project_id!;
        }
    });

    function onDemote(title: string): void {
        demoteTab.mutate({ name: title });
    }

    $effect(() => {
        console.log('effect', demoteTab.isError, demoteTab.isSuccess);
    });

my $effect is only ever triggered once, and the demoteTab is in pending state, it never seems to be fired for success / error.

I'd encourage anyone interested to subscribe to the following discussion: https://github.com/TanStack/query/discussions/7413


Plot by group

The plotSeries function can be used to plot and compare several taxa over e.g. time.
But sometimes we need to plot and compare several individuals / subjects over time w.r.t. one taxa, or another variable like alpha diversity.
Suggestion to implement a function that allows handy comparison of multiple time series from different groups.

Along these lines
ggplot(as.data.frame(colData(tse)), aes(x = time, y=shannon, group = subject)) + geom_line()
but allowing one to easily choose any given numeric colData field, or taxonomic group on the Y axis, as a handy wrapper.


Material Select: poor markup rendering

Bug, feature request, or proposal:
Proposal
What is the expected behavior?
The material options for a material select should appear within the select tag
What is the current behavior?
The options are rendered under the body tag with an absolute position, but a zindex of only 1000.
This sent me on a wild goose chase because it appeared to me that the options were not being rendered, when in fact they were, but in an obscure place in the DOM. The options were subsequently being hidden by higher z-indexed components (the form is in an absolutely positioned overlay).
What are the steps to reproduce?
Create a mat select with *ngFor options in an absolutely positioned form and observe where the options are rendered.
What is the use-case or motivation for changing an existing behavior?
Debugging - this behaviour needs at least documenting, but really its a Web Component and should be rendered within the component's tag
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Angular CLI: 1.7.3
Node: 8.10.0
OS: win32 x64
Angular: 5.2.9
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router
@angular/cdk: 5.2.5
@angular/cli: 1.7.3
@angular/material: 5.2.5
@angular-devkit/build-optimizer: 0.3.2
@angular-devkit/core: 0.3.2
@angular-devkit/schematics: 0.3.2
@ngtools/json-schema: 1.2.0
@ngtools/webpack: 1.10.2
@schematics/angular: 0.3.2
@schematics/package-update: 0.3.2
typescript: 2.5.3
webpack: 3.11.0

The reason that the select panel (and all other CDK overlays) are rendered at the bottom of the body is because that's the only reliable way we can prevent them from being clipped by a parent that has overflow: hidden. Closing since it was working as expected.

@crisbeto is this documented anywhere?

Yes, it's under "The overlay container" in the CDK overlay docs:

By default, the overlay container is appended directly to the document body so that an overlay is never clipped by an overflow: hidden parent.


no errors or feedback when repo does not match running services

The better output PR #421 checks the repo first, and shows if services defined there are not running in the platform. This will only show up as a side-effect of doing a release, though.

There aren't that many opportunities to check this -- we only clone the repo when it's time to do a release (and when doing flux status -- I guess we could check some things there, but it only matters if the user calls it ...)

Flux's job as of 1.* is to make sure the cluster matches the repo, and not the other way around. No longer an issue.


Pagination in the wallet API

All wallet calls which return potentially large amounts of data (like the transactions or the addresses) need to support pagination in the API.

I recommend adding the "Programming Task" label for this to get more visibility.  If you're planning on implementing it yourself assign it to Yourself.

My attempt: https://github.com/NebulousLabs/Sia/pull/2511


Changes 'sself' and 'weakSelf' and 'wSelf' to self/self

Conversion was a PITA, but yay swift 3 syntax.

wakka wakka wakka!


Only show parent node when there is more than one

Currently when there is only one parent node (repo name) there is top-level folder with the name that is repeated and feels like it's a waste of space. Would be better if this only showed up if I had more than one folder. I have this nested into my other GitHub views to consolidate the GitHub views:

This is fixed in the latest version.


Write a Python program to print fibonacci series by recursion

Description
Write a Python program to print fibonacci series by recursion
Input  : 5
Output : 0 1 1 2 3

How to contribute

Save the solution in print-fibonacci-series-by-recursion.py file
Add print-fibonacci-series-by-recursion.py file in print-fibonacci-series-by-recursion folder

!assign


Clean-up docker-compose files

Describe the bug
I worked with the docker-compose.dev.yml for a couple of days before realizing that it is pointing to an out of date image, papercups/papercups-dev. I kept searching for the API Key page and eventually figured this out.
I don't know the history of the three docker-compose files in the repo but it seems like maybe the prod repo should be renamed to docker-compose.yml and remove the other two.
I'm open to creating a PR for this if it makes sense.
Expected behavior
Would expect a dev image to use the most recent development release.

Yep that makes sense we'll merge it in thanks Greg!


Bump pyld version to 2.0.4

This is to address a bug we have found in the pyld library which was incorrectly asserting context elements as null.
Addresses issue #2743 and will close PR #2744.
For background information you can read this closed issue on the pyld repo.
@swcurran I tested these changes and was able to verify traceable credentials with the proper did document content.

I’ll watch for the tests, and we’ll include this in the pending release candidate.

I’ll watch for the tests, and we’ll include this in the pending release candidate.

A couple of the integration tests have been failing a lot today. I'm not sure why, as they had been passing consistently. Might be a resources and timing issue. I ran the failing test locally on main and it passed. Pretty sure we can ignore this fail if we want.

From the available logs the step that failed seems due to a cred_def being on the ledger but not in the agent's wallet. Sounds like a false positive, do you have the ability to rerun the tests @jamshale ?

I triggered a re-run be updating the branch, lets see

Add I merged another PR, so you are out of date again.  Update and I will bypass the protections..,


More details in Inheritance markdown file regarding the constructor of super class and sub class.

@dubesar I believe that in Inheritance markdown documentation more details regarding the calling of constructor of super class and sub class should be added.

@ATRI2107 please go ahead and add in details, will review it.

@dubesar  I have created a PR regarding the same.


phidgets_drivers: 1.0.1-1 in 'noetic/distribution.yaml' [bloom]

Increasing version of package(s) in repository phidgets_drivers to 1.0.1-1:

upstream repository: https://github.com/ros-drivers/phidgets_drivers.git
release repository: https://github.com/ros-drivers-gbp/phidgets_drivers-release.git
distro file: noetic/distribution.yaml
bloom version: 0.9.7
previous version for package: 1.0.0-1

libphidget22
* Re-run bloom to fix the line endings in the patch file
  (#77 <https://github.com/ros-drivers/phidgets_drivers/issues/77>)
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_accelerometer
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_analog_inputs
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_api
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_digital_inputs
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_digital_outputs
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_drivers
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_gyroscope
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_high_speed_encoder
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_ik
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_magnetometer
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_motors
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_msgs
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_spatial
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

phidgets_temperature
* Set cmake_policy CMP0048 to fix warning
* Contributors: Martin Günther

@sloretz : The currently released version fails to build: http://build.ros.org/job/Nbin_uF64__libphidget22__ubuntu_focal_amd64__binary/2/
This release should fix that, so it would be great if you could merge it (even though Noetic is on hold).


Add rate limiting exceptions

This adds two exception types to enable users to detect rate limited calls which were previously swallowed and converted into a generic InvalidArgumentError, making it impossible to detect rate limiting situations and pass that information through to the end user.
This is being discussed in #666.
I chose to inherit from the ResourceExhaustedError base exception, which seemed to make most sense.

@pragatimodi Since you are assigned to #666, would you be able to check this out?

@jonathanedey I see you are mostly maintaining this repo now, is this something you could have a look at?


Modify test cases using foldr - issue 314

modified the test cases that use foldr so that the syntax reflects the same order of the accumulator and foldable list that is used in List.foldBack

Looks great! Thanks a lot for reporting the issue and fixing it! :tada:


Reconnect to redis

RedisActor needs to be able to reconnect to redis server. This requires changes in actix

Yeah, that's a good idea. it is also necessary to generalize this idea to all actors who connect to a database (postgresql, mysql...)


Removed email_verified claim handling from OIDC_provider to prevent parsing error

Removed email_verified claim handling from OIDC_provider to prevent "failed to parse id_token claims: json: cannot unmarshal string into Go struct field .email_verified of type bool" error.
Description
Removed the parsing and verification of email_verified claim.
Motivation and Context
My ID token (as passed by Centrify IdP) is as follows:
{
  "preferred_username"<EMAIL_ADDRESS>  "unique_name"<EMAIL_ADDRESS>  "email"<EMAIL_ADDRESS>  "email_verified": "true",
  "iat":<PHONE_NUMBER>11111,
  "sub": "111111111-26d5-4606-a04f-5ecndjjnnjn5",
  "exp":<PHONE_NUMBER>,
  "scope": "openid email address profile",
  "aud": "1111111111-11b0-456b-9b44-e48b337045e7",
  "nonce": "111111111-zC80vbhgNdTDz2vQyk",
  "iss": "https://company/Test/",
  "name": "User Name",
  "phone_number": ""
}

Parsing this leads to the following error in oauth2_proxy logs:
2019/03/04 15:05:52 oauthproxy.go:715: <IP_ADDRESS>:52794 ("<IP_ADDRESS>") error redeeming code unable to update session: failed to parse id_token claims: json: cannot unmarshal string into Go struct field .email_verified of type bool
2019/03/04 15:05:52 oauthproxy.go:498: ErrorPage 500 Internal Error Internal Error

I suspect there is a problem with parsing email_verified. However, since my knowledge of Go is too limited to resolve this, I just removed the whole validation of email_verified. This should probably be done a little less rigorous ;-)
How Has This Been Tested?
OAuth2_proxy works properly against Centrify now that this has been changed.
Checklist:

[ ] My change requires a change to the documentation or CHANGELOG.
[ ] I have updated the documentation/CHANGELOG accordingly.
[x] I have created a feature (non-master) branch for my PR.

Hi @MXClyde,
In the OIDC spec (https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims) the email_verified claim is defined to be a boolean. Centrify however, based on your example above, seem to implement it as a string. This is causing Go to bail as the underlying JSON library is expecting the struct field to be a boolean and can't unmarshal a string into a boolean field. I don't believe that having a hack/workaround in a project like this to cater for those IDPs that do not follow the spec is worth maintaining.
I would suggest you raise an issue with Centrify to see if they are willing to fix their implementation.


Get rid of unused variables in std/algorithm/iteration

Dscanner does not consider variables used in static asserts/template instantiations as used variables, so some tests do not test the primary functionality. Ideas for improving those tests are welcome.

. (the compiler code does not contain space after cast)

Yeah it was deemed as too churn to update the DMD codebase :/


Publish new release

Hi,
This is a very nice Dockerfile. The only caveat is, that the last release is now 1.5 years ago, and cool new features have been added. A new release would be great.
Cheers and regards!
Releated: #68 #59

As stated in the other Issues, I appreciate any PR that pushes versions and improves the build e.g. with GitHub actions.
Maybe I can find some time to tackle it my self, but can't promise too much.
Closing this one as duplicate.