Should libraries that depend on rxjs use path-mappings/tree shaking?

👋  This might at first glance seem like an obvious question, but let me explain:
By default in v6 if you import anything it's going to resolve the files from the project root. e.g. import { Observable } from 'rxjs' is going to come from node_modules/rxjs/Rx.js which re-exports it from node_modules/rxjs/internal/Observable.js.
If a library uses the path-mappings and tree shaking they would use custom resolve overrides. So in that case, Observable would come from node_modules/rxjs/_esm5/index.js which re-exports it from node_modules/rxjs/_esm5/internal/Observable.js. Note the fact that this is inside rxjs/_esm5.
Then let's say that someone imports my library (e.g. https://redux-observable.js.org) which had done this, but the consumer does not set up their own webpack resolve overrides so they'll get Observable from node_modules/rxjs/internal/Observable.js and now we have two copies of rxjs in the same project. Observable1 instanceof Observable2 === false. If they use pipeable operators they probably won't immediately run into errors, if ever, but their bundle size will be silently larger and might later get cases where Observable1 instanceof Observable2 === false, which is quite the hard thing to diagnose for most.
If the library doesn't use path-mappings, the same problem exists in reverse; if the library consumer do use it, they'll again get their own copy of RxJS.

This was brought up previously when we had rxjs-es (because a redux-observable user hit it) and discussed including the esm5 versions, but I don't recall a solution ever being found.
 AFAIK the only real solution would be have the esm5 version in its own package (or make it the default package and put the other stuff in another). Interestingly, if that was done I think people wouldn't need to have path-mappings and instead could just alias "rxjs": require.resolve('rxjs-esm5') or whatever it would be called. This could still give you two copies but to me feels like it reduces the likelihood as long as libs set their peerDep correctly.
🔥

I did a bunch of research and experimenting around this issue and it seems like there is indeed a solution: the module package.json field convention supported by bundlers like webpack. It is used to point to source that uses ESM instead of CJS, and at least in the latest webpack is only used if all dependencies agree on its usage for a particular mutual dependency.
e.g. if App depends on library X and RxJS, and X itself also depends on RxJS, webpack will only use the ESM build provided by module if and only if X also supports module. If it does not, it basically deopts into just using the standard main CJS because otherwise it would have to pull in two copies of RxJS (one from main for X, and one from module for App)
Here's an example of this behavior for testing: https://github.com/jayphelps/webpack-module-test You can modify the dependencies in various way to confirm how webpack behaves.
There's still the possibility that someone will set up their app and get tree shaking for RxJS then later install some other dependency that deopts them without knowing, losing tree shaking silently. This sucks...but not sure there's anything we can do about this other than potentially changing webpack to warn when this happens (if using a flag or something). We can also document this fact in the install instructions, though it's a tough problem to explain to the average person who isn't as aware of how tree shaking/ESM works vs CJS.

@jayphelps @IgorMinar ... would it help this issue at all if we only had one export site? If we did what I originally wanted to do and had everything export from rxjs?

cc @jasonaden

@benlesh yep.
@everyone I've done more experiments and am now convinced that we need to export everything from the root "rxjs" instead of "rxjs/operators" and use the "modules" convention to point to the ESM builds. Otherwise people will have to have custom alias stuff to get operators from ESM and also have issues with two copies of rxjs (CJS and ESM) if they and the libraries they depend on don't knowingly prevent it.
I think if we do it that way, everything will "just work".
@IgorMinar you mentioned you don't think this is an issue, can you elaborate? Was angular going to provide custom aliases to the ESM builds for "rxjs/operators"?

@jayphelps I believe this is the issue we need to resolve: #3212
Basically, if we have side-effect-free packages and Webpack 4, we don't need to provide any aliases.
I can provide more detail if needed. Running out real quick, but I'll check back on this issue in about 90 minutes.

@jasonaden Interesting! Could you elaborate on how it works without people still aliasing the paths to the ESM builds? This demo from the related angular issue still uses the path aliases: https://github.com/filipesilva/webpack-rxjs-operators/blob/master/webpack-4/webpack.config.js#L16
I was under the (perhaps incorrect) impression that sideEffects: false only worked with ESM?

So the complete change would also include adding the module key to the package.json file pointing to the ESM distribution. main to the CJS version, module to ESM5, es2015 to ESM2015, and typings to the typings root.
It's basically following the Angular Package Format. The format will be updated again for Angular 6 (in combination with Webpack 4 and pure imports) to be clear that libraries don't need to (and in fact shouldn't) flatten their ESM distributions. This was previously required as otherwise Webpack's module overhead added bloat, and dead code elimination was limited. But with Webpack 4 it's no longer a problem.

@jasonaden Sorry to belabor but wouldn't that require rxjs to switch to flat, non-nested imports? i.e. no "rxjs/operators", as discussed above?

Ah, right. No, it won't require that. We will  to distribute a multiple entry point package.
Take a look at Angular's common package. The package.json you see in the root is the one you hit when importing from @angular/common. But if you import from @angular/common/http, you'll get the package.json here. And similarly, you import from @angular/common/http/testing and you'll get the one [here].
So it will be similar with the rx distribution where there will be multiple package.json files that get distributed, but all will come with a single npm install rxjs.

@jasonaden wow! I had never thought of using nested package.json and that webpack would then correctly use "module". That's clever AF! 🍻
So far I'm sold on that.

Yeah, that took a bit of playing with it and a bunch of testing before we were sure it would work. But it's pretty cool! Probably deserves a blog post somewhere at some point... it's super useful for libraries.

webpack also just supports adding a different packageField file as well in case you didn't want the extra package.js but this is likely the most node and standard way to do it.

Or much simpler, move to using a sibling .mjs file and everything magically works (on webpack 4, before you have to add .mjs to resolve.extensions yourself)
There is also https://webpack.js.org/configuration/resolve/#resolve-aliasfields - you could point browser at _esm5 by default, and document that you can add another field to that config to get _esm2015 (or higher).
// package.js
{
  // ...,
  "main": "index.js", // node
  "browser": { // bundlers: webpack + browserify
    "./index.js": "./_esm5/index.js",
    "./operators.js": "./_esm5/operators.js"
  },
  "es2015": {
    "./index.js": "./_esm2015/index.js",
    "./operators.js": "./_esm2015/operators.js"
  },
  // ...
}

Also, with "sideEffects": false, this means optimal zero-config webpack. They just added support for explicitly listing some files as having side-effects if that was blocking.

https://github.com/ReactiveX/rxjs/pull/3356

Is there an expected date for the next 6.x alpha release so that the changes for pkg.module are available in the npm repos?


GRT/RSZ: Instability in the results of repair_timing command during incremental GRT.

Describe the bug
The issue was noticed in the pipelines executed in the PR: https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/pull/2166. The design asap7/mock-alu failed in one of the pipelines, while it passed in the other. Looking at the log files, the first source of differences is on the repair_timing report during incremental grt. The report diverges between the runs in later iterations of the repair_timing flow.
Expected Behavior
Both runs should produce the same results.
Environment
ORFS PRs pipelines.

To Reproduce
The artifacts for both runs are available here: https://drive.google.com/file/d/10VPaTZKkFswoAbwCnMHA7cOuIaEGW64V/view?usp=sharing
Relevant log output
No response
Screenshots
No response
Additional Context
No response

This sounds similar to what @osamahammad21 observed between gcp and ucsd

@eder-matheus still relevant after the sta thread=1 change?

Not really, I didn't see it again after setting sta thread to 1.


Not building via Carthage

I think this is because it's seeing the .xcworkspace before the .xcodeproj.
After this is fixed (or even if it's not), could you upload the framework to the latest release?
All you have to do is:
$ carthage build --no-skip-current

$ carthage archive RazzleDazzle

Then upload the .zip in project root.
This will save tons of time on CI servers and will stop problems like this affecting users.

@kylejm  That's a great suggestion, I'll get that added

@kylejm I uploaded the framework to the release. Let me know if you still have issues getting it to work with Carthage - seems to be working for us!

Hi Laura,
Thanks for sorting this! Sorry that I haven't been able to look at it yet - hopefully I can by early next week.
On 28 Aug 2015 10:39 PM +0100, Laura<EMAIL_ADDRESS>wrote:

Closed#7(https://github.com/IFTTT/RazzleDazzle/issues/7).
—
Reply to this email directly orview it on GitHub(https://github.com/IFTTT/RazzleDazzle/issues/7#event-395508743).


Modifies expected locations for current fire, lightning strike, and VIIRS hotspot data

Introduction
This PR incorporates the changes made for the fire season in 2024, which includes getting rid of the fire shim code and the PostGIS database holding the recent lightning strikes in the state.
The three layers in question:  Wildfires, Hotspots, last 48 hours, and Lightning strikes, last 36 hours have all been changed to be updated via Prefect using a script that generates shapefiles for each of these layers from their live remote sources that contain the necessary metadata properties to show acreage of a fire or amplitude of a lightning strike for example. For more information about how this is accomplished, go here to view the PR associated with that work.
For two of these layers (fire and VIIRS), a crafted WFS request is sent to the Geoserver instance that returns GeoJSON to be displayed on the map, while the lightning strikes are a WMS call that has a styling guide for how to return the lightning strikes based on their amplitude.

Testing
This can be tested locally by running this with npm. I currently am using lts/gallium so run the following:
nvm use lts/gallium
npm install
npm run server
This will start up the local Node server and you can view the three layers.
What you should expect to see are a number of wildfire points and polygons with the ability to click on them to get more information about them (note these are from October 2023, so are not accurate for today), 3 lightning strikes that I spoofed that because they are from so long ago (48+ hours), their opacity is as low as it goes while still being visible, and several hot spots that were also spoofed from last year's data to show that the data layers are properly shown when coming from our production Geoserver instance.
As always, please ask questions if anything doesn't make sense!

I re-confirmed that this PR is working well against https://github.com/ua-snap/prefect/pull/30 (with its more recent commits). Merging!


dolt: 0.32.1 -> 0.34.7

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/liquidata-inc/dolt/releases.
meta.description for dolt is: "Relational database with version control and CLI a-la Git"
meta.homepage for dolt is: "https://github.com/liquidata-inc/dolt"
meta.changelog for dolt is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7/bin/git-dolt had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7/bin/git-dolt-smudge had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7/bin/dolt had a zero exit code or showed the expected version
0 of 3 passed binary check by having a zero exit code.
0 of 3 passed binary check by having the new version present in output.
found 0.34.7 with grep in /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7
found 0.34.7 in filename of file in /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

2 package rebuild(s)

2 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
docbookrx
dolt

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A dolt https://github.com/r-ryantm/nixpkgs/archive/5a8037f91d2430958025e9c00445375aa85919cd.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7
ls -la /nix/store/w2dhmhlvqcqljr5lczq3jbkq3gvhci8i-dolt-0.34.7/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

dolt

Maintainer pings
cc @danbst @kalbasit for testing.

Closing so the bot can resubmit with an updated vendorSha256.


Fuse testing leaves test mountpoint around.

Move it under the testing tree which is removed after each test.

Codecov Report

Merging #1130 into master will decrease coverage by 3.38%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1130      +/-   ##
==========================================
- Coverage   52.85%   49.46%   -3.39%
==========================================
  Files         121      121
  Lines       11397    11397
==========================================
- Hits         6024     5638     -386
- Misses       4666     5078     +412
+ Partials      707      681      -26

Impacted Files
Coverage Δ

internal/backend/b2/b2.go
0% <0%> (-79.32%)
:arrow_down:

internal/backend/swift/swift.go
0% <0%> (-73.9%)
:arrow_down:

internal/backend/swift/config.go
34.37% <0%> (-56.25%)
:arrow_down:

internal/archiver/archiver.go
64.73% <0%> (-0.17%)
:arrow_down:

internal/backend/s3/s3.go
61.03% <0%> (+1.37%)
:arrow_up:

cmd/restic/lock.go
57.5% <0%> (+5%)
:arrow_up:

Continue to review full report at Codecov.

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


no argument name completion for annotations

with functions I get nice completions for the name of the arguments:

but with annotations, I don't get those completions:

dup of #24259

thanks @danrubel !!!


2d poses from 3d pose

hi
how can I extract 2d poses from  the resulted 3d pose (2d pose front view, back view, and side view)
thanks

hi how can I extract 2d poses from the resulted 3d pose (2d pose front view, back view, and side view) thanks

You can project the 3D pose to 2D with your camera parameters. Use different extrinsic rotation/translation for different views. Method in this repo that can be used is:
https://github.com/Nicholasli1995/EvoSkeleton/blob/b2b355f4c1fa842709f100d931189ce80008f6ef/libs/dataset/h36m/cameras.py#L8

Thanks for your replay
I am trying to use it for my own images i generate the pose using h36mpose.py and then run the inference but can i ask how to generate the stats.npy file ?

Thanks for your replay I am trying to use it for my own images i generate the pose using h36mpose.py and then run the inference but can i ask how to generate the stats.npy file ?

Use this inference script https://github.com/Nicholasli1995/EvoSkeleton/blob/master/examples/inference.py. Download the file following the instruction here https://github.com/Nicholasli1995/EvoSkeleton/blob/master/docs/TRAINING.md.

thanks so much for your replay I follow the instructions I just have trouble showing the 2d projection from 3d pose as follows

:

How can I visualize it right so I can see how accurate the projected 2d poses?
Thanks for everything, the code and support.

Thanks but wen i change the anagle in add_virtual_cams to:
new_R, new_T = get_new_camera(R.T, T, [0.,angle, 0.]) nothing changed.

Thanks but wen i change the anagle in add_virtual_cams to: new_R, new_T = get_new_camera(R.T, T, [0.,angle, 0.]) nothing changed.

You do not understand the code and coordinate transformation and I don't have time for beginner tutorial. Why not you upload your 3D pose and I simply write you a script to run? You can create a page in the discussion and I'm closing this issue since it's not a bug.


better api documentation

Checklist:

[x] Add tests to cover the fixed bug(s) or the new introduced feature(s) (if appropriate).
[x] Added a news entry.

copy news/TEMPLATE.rst to news/my-feature-or-branch.rst) and edit it.

No need to review.
The current automatic API doc generation wasn't very good and browsing the API doc was a bad experience. I am now switching to a manually curated API doc, it's a bit more work for us but it makes the documentation much better I believe. Also, datamol API does not change much so it's not that much extra work.


DrawState layer: Layer reports an invalid layout mismatch problem

I believe I came across a corner case which is not correctly handled by the layer. Consider the following:

Create an image A with D16_UNORM_S8_UINT format, initialLayout set to VK_IMAGE_LAYOUT_UNDEFINED.
Issue a memory barrier, which moves it to a TRANSFER_DST_OPTIMAL layout.
Create an image view X off image A, with aspectMask set to DEPTH_BIT only.
Use the view X as a subpass attachment. The corresponding renderpass attachment's initialLayout should be set to TRANSFER_DST_OPTIMAL.

At vkQueueSubmit(), where the renderpass is used, I'm getting the following call-back, which is invalid:

I think the layers are ignoring the following spec language:
When an imageView of a depth/stencil image is used as a depth/stencil framebuffer attachment,
                 *  the aspectMask is ignored and both depth and stencil subresources are used.

Please consider making this a P1. I'm presuming this call-back is going to backfire on anyone trying to use depth+stencil images for anything more complex than just mere rasterization.

I've started trying to repro this with no success and am also not sure that bit of spec is relevant to this issue as that should be handled correctly. The image barrier should (and seems to in my case) transition the layout from UNDEFINIED to DST_OPTIMAL. If my example is similar, the way I get this error is by making src layout is DST_OPTIMAL and not UNDEFINIED. Can you give a bit more detail as to how to repro this? Do you use multiple command buffers here?

I'll get back to you on this tomorrow. Sorry, been busy with other stuff for the last couple of days.

We might be talking about two different use cases here, Michael. Allow me to elaborate about how I get to reproduce this issue.

Here's how the image is created:

I then record the following image barrier via a vkCmdPipelineBarrier() call in a universal queue command buffer, submit it to the queue and wait on a fence until that buffer finishes executing server-side:

Note the aspectMask is set to 6 there, which corresponds to VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT
The image view is set up as below:

NOTE: After I wrote down the whole comment, it just occurred to me that the core_validation layer probably ignores the following spec statement:
When an imageView of a depth/stencil image is used as a depth/stencil framebuffer attachment, the aspectMask is ignored and both depth and stencil subresources are used."

So, that aspectMask of 2 I'm using here is just as good as 6, but this is not as clear to the validation layer, as it is to me :)

Then, we set up the renderpass. It uses two attachments, from which we're only interested in the zeroth one:

The renderpass defines two subpasses. The zeroth one accesses the DS image view via the DS attachment:

It needs to be noted that the first subpass samples from that image view. So, we transition the image to SHADER_READ_ONLY_OPTIMAL layout at the beginning of the first subpass with the following image barrier, issued via the vkCmdPipelineBarrier() call:

Of course, the relevant subpass 0->1 dependency is also defined, but I don't think it's relevant for the purpose of our discussion.

In the command buffer, when we begin the renderpass, we additionally specify a FB, to which the image view (specified as shown in step 1) is bound as the zeroth attachment.

The problematic call-back occurs at vkQueueSubmit() call time. A few interesting observations:

Did the description above help in reproducing the issue?

Yes, sorry; this should have been merged but I forgot to update the bug.

Yeah, I think this one no longer reproduces. Thanks for fixing this, Michael!


flutter compute which uses Isolate.exit leads to flutter test to hang

After running for two minutes the test seems to hang:
 ~/p/f/flutter/flutter/packages/flutter $  while ($FH/flutter/bin/cache/dart-sdk/bin/dart test/foundation/_compute_caller.dart); do date; done

attaching to hanging instance of dart vm and inspecting threads stacks:
(gdb) thread apply all bt

Thread 4 (Thread 0x7f08b53ff640 (LWP 1675135)):
#0  0x00007f08bdc940fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55c4a7ef23d4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f08bdc9415b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c4a7ef23d4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f08bdc8dc30 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c4a7ef2380, cond=0x55c4a7ef23a8) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x55c4a7ef23a8, mutex=0x55c4a7ef2380) at pthread_cond_wait.c:619
#4  0x000055c4a6e41cb8 in dart::Monitor::WaitMicros(long) ()
#5  0x000055c4a6d7f8bb in dart::IsolateGroup::ScheduleThreadLocked(dart::MonitorLocker*, dart::Thread*, bool, bool, bool) ()
#6  0x000055c4a6d884e4 in dart::Isolate::ScheduleThread(bool, bool, bool) ()
#7  0x000055c4a6ec87b5 in dart::Thread::EnterIsolate(dart::Isolate*, bool) ()
#8  0x000055c4a72bdf3a in Dart_EnterIsolate ()
#9  0x000055c4a6d85419 in ?? ()
#10 0x000055c4a6dac0bb in dart::MessageHandler::TaskCallback() ()
#11 0x000055c4a6ecc9c8 in dart::ThreadPool::WorkerLoop(dart::ThreadPool::Worker*) ()
#12 0x000055c4a6ecce6d in dart::ThreadPool::Worker::Main(unsigned long) ()
#13 0x000055c4a6e41568 in ?? ()
#14 0x00007f08bdc87d80 in start_thread (arg=0x7f08b53ff640) at pthread_create.c:481
#15 0x00007f08bda6fb6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f08b56ff640 (LWP 1675134)):
#0  0x00007f08bdc940fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x55c4a7efc960, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f08b56fccf0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f08bdc9415b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c4a7efc960, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f08b56fccf0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f08bdc8df44 in __pthread_cond_wait_common (abstime=0x7f08b56fccf0, clockid=1, mutex=0x55c4a7efc910, cond=0x55c4a7efc938) at pthread_cond_wait.c:504
#3  __pthread_cond_timedwait (cond=0x55c4a7efc938, mutex=0x55c4a7efc910, abstime=0x7f08b56fccf0) at pthread_cond_wait.c:637
#4  0x000055c4a6e41ca0 in dart::Monitor::WaitMicros(long) ()
#5  0x000055c4a6efbb8a in dart::SafepointHandler::LevelHandler::WaitUntilThreadsReachedSafepointLevel() ()
#6  0x000055c4a6efb110 in dart::SafepointHandler::SafepointThreads(dart::Thread*, dart::SafepointLevel) ()
#7  0x000055c4a6efb62a in dart::ForceGrowthSafepointOperationScope::ForceGrowthSafepointOperationScope(dart::Thread*, dart::SafepointLevel) ()
#8  0x000055c4a6d86546 in dart::IsolateGroup::RunWithStoppedMutatorsCallable(dart::Callable*, dart::Callable*, bool) ()
#9  0x000055c4a6edf4a6 in dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*) ()
#10 0x000055c4a6edff69 in ?? ()
#11 0x000055c4a6edfa5a in dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&) ()
#12 0x000055c4a6dec001 in dart::Function::EnsureHasCode() const ()
#13 0x000055c4a6e966c1 in ?? ()
#14 0x000055c4a6e967eb in dart::PatchableCallHandler::DoICDataMissJIT(dart::ICData const&, dart::Object const&, dart::Function const&) ()
#15 0x000055c4a6e96eee in dart::PatchableCallHandler::ResolveSwitchAndReturn(dart::Object const&) ()
#16 0x000055c4a6e972e9 in dart::DRT_InlineCacheMissHandlerOneArg(dart::NativeArguments) ()
#17 0x00007f08bd382573 in ?? ()
#18 0x000055c4a7f14c00 in ?? ()
#19 0x0000000000000002 in ?? ()
#20 0x00007f08b56fe010 in ?? ()
#21 0x00007f08b56fe018 in ?? ()
#22 0x00007f08b71d2811 in ?? ()
#23 0x00007f08bd491391 in ?? ()
#24 0x00007f08bd48d3a1 in ?? ()
#25 0x00007f08b56fe048 in ?? ()
#26 0x00007f08bd383483 in ?? ()
#27 0x00007f08b71d01e1 in ?? ()
#28 0x00007f08b5483349 in ?? ()
#29 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f08bd970640 (LWP 1675127)):
#0  0x00007f08bda6fe96 in epoll_wait (epfd=5, events=0x7f08bd96fc30, maxevents=16, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x000055c4a6bc7888 in dart::bin::EventHandlerImplementation::Poll(unsigned long) ()
#2  0x000055c4a6d00022 in ?? ()
#3  0x00007f08bdc87d80 in start_thread (arg=0x7f08bd970640) at pthread_create.c:481
#4  0x00007f08bda6fb6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f08bd972200 (LWP 1675126)):
#0  0x00007f08bdc940fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x7ffc1254be00, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f08bdc9415b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ffc1254be00, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f08bdc8dc30 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7ffc1254bdb0, cond=0x7ffc1254bdd8) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x7ffc1254bdd8, mutex=0x7ffc1254bdb0) at pthread_cond_wait.c:619
#4  0x000055c4a6e41cb8 in dart::Monitor::WaitMicros(long) ()
#5  0x000055c4a72bf7aa in Dart_RunLoop ()
#6  0x000055c4a6bb70c4 in dart::bin::RunMainIsolate(char const*, char const*, dart::bin::CommandLineOptions*) ()
#7  0x000055c4a6bb7de7 in dart::bin::main(int, char**) ()
#8  0x000055c4a6bb8be9 in main ()
(gdb)

(created from https://github.com/flutter/flutter/issues/97141)
cc @rmacnak-google @mkustermann

better threads stack dump with line numbers:
(gdb) thread apply all bt

Thread 4 (Thread 0x7f4e1da7f640 (LWP 1708774)):
#0  0x00007f4e25f210fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x558ca99228a4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f4e25f2115b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x558ca99228a4, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f4e25f1ac30 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x558ca9922850, cond=0x558ca9922878) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x558ca9922878, mutex=0x558ca9922850) at pthread_cond_wait.c:619
#4  0x0000558ca7fc1688 in dart::Monitor::WaitMicros (this=0x558ca9922850, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:463
#5  0x0000558ca7eff25b in dart::MonitorLocker::Wait (this=0x7f4e1da7eb60, millis=0) at ../../runtime/vm/lockers.h:173
#6  dart::IsolateGroup::ScheduleThreadLocked (this=0x558ca98f7000, ml=ml@entry=0x7f4e1da7eb60, existing_mutator_thread=0x558ca99a1000, is_vm_isolate=false, is_mutator=true, bypass_safepoint=false) at ../../runtime/vm/isolate.cc:596
#7  0x0000558ca7f07e84 in dart::Isolate::ScheduleThread (this=0x558ca98f8800, is_mutator=true, is_nested_reenter=<optimized out>, bypass_safepoint=false) at ../../runtime/vm/isolate.cc:3739
#8  0x0000558ca8048185 in dart::Thread::EnterIsolate (isolate=0x558ca98f8800, is_nested_reenter=false) at ../../runtime/vm/thread.cc:277
#9  0x0000558ca843d92a in Dart_EnterIsolate (isolate=0x558ca98f8800) at ../../runtime/vm/dart_api_impl.cc:1566
#10 0x0000558ca7f04db9 in dart::ShutdownIsolate (parameter=94062628710564) at ../../runtime/vm/isolate.cc:2355
#11 0x0000558ca7f2ba5b in dart::MessageHandler::TaskCallback (this=0x558ca99183c0) at ../../runtime/vm/message_handler.cc:515
#12 0x0000558ca804c398 in dart::ThreadPool::WorkerLoop (this=this@entry=0x558ca991e3c0, worker=worker@entry=0x558ca998dcb0) at ../../runtime/vm/thread_pool.cc:174
#13 0x0000558ca804c83d in dart::ThreadPool::Worker::Main (args=94062629149872) at ../../runtime/vm/thread_pool.cc:346
#14 0x0000558ca7fc0f38 in dart::ThreadStart (data_ptr=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:154
#15 0x00007f4e25f14d80 in start_thread (arg=0x7f4e1da7f640) at pthread_create.c:481
#16 0x00007f4e25cfcb6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f4e1dc7f640 (LWP 1708773)):
#0  0x00007f4e25f210fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x558ca9916960, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f4e1dc7ccf0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f4e25f2115b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x558ca9916960, expected=expected@entry=0, clockid=clockid@entry=1, abstime=abstime@entry=0x7f4e1dc7ccf0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f4e25f1af44 in __pthread_cond_wait_common (abstime=0x7f4e1dc7ccf0, clockid=1, mutex=0x558ca9916910, cond=0x558ca9916938) at pthread_cond_wait.c:504
#3  __pthread_cond_timedwait (cond=0x558ca9916938, mutex=0x558ca9916910, abstime=0x7f4e1dc7ccf0) at pthread_cond_wait.c:637
#4  0x0000558ca7fc1670 in dart::Monitor::WaitMicros (this=0x558ca9916910, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:468
#5  0x0000558ca807b55a in dart::MonitorLocker::Wait (millis=1000, this=<optimized out>) at ../../runtime/vm/lockers.h:173
#6  dart::SafepointHandler::LevelHandler::WaitUntilThreadsReachedSafepointLevel (this=0x558ca9916900) at ../../runtime/vm/heap/safepoint.cc:193
#7  0x0000558ca807aae0 in dart::SafepointHandler::SafepointThreads (this=0x558ca98ef380, T=T@entry=0x558ca9932c00, level=level@entry=dart::kGCAndDeopt) at ../../runtime/vm/heap/safepoint.cc:127
#8  0x0000558ca807affa in dart::ForceGrowthSafepointOperationScope::ForceGrowthSafepointOperationScope (this=0x7f4e1dc7d260, T=0x558ca9932c00, level=dart::kGCAndDeopt) at ../../runtime/vm/heap/safepoint.cc:41
#9  0x0000558ca7f05ee6 in dart::IsolateGroup::RunWithStoppedMutatorsCallable (this=<optimized out>, single_current_mutator=0x7f4e1dc7d908, otherwise=0x7f4e1dc7d908, use_force_growth_in_otherwise=false) at ../../runtime/vm/isolate.cc:2884
#10 0x0000558ca805ee76 in dart::IsolateGroup::RunWithStoppedMutators<dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*)::$_0>(dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*)::$_0, bool) (this=0x558ca9916960, function=..., use_force_growth=true) at ../../runtime/vm/isolate.h:650
#11 dart::CompileParsedFunctionHelper::Compile (this=this@entry=0x7f4e1dc7dae0, pipeline=pipeline@entry=0x558ca9a8f850) at ../../runtime/vm/compiler/jit/compiler.cc:626
--Type <RET> for more, q to quit, c to continue without paging--c
#12 0x0000558ca805f939 in dart::CompileFunctionHelper (pipeline=pipeline@entry=0x558ca9a8f850, function=..., optimized=false, osr_id=osr_id@entry=-1) at ../../runtime/vm/compiler/jit/compiler.cc:713
#13 0x0000558ca805f42a in dart::Compiler::CompileFunction (thread=<optimized out>, function=...) at ../../runtime/vm/compiler/jit/compiler.cc:843
#14 0x0000558ca7f6b9d1 in dart::Function::EnsureHasCode (this=0x558ca9a8f5b8) at ../../runtime/vm/object.cc:10112
#15 0x0000558ca8016091 in dart::TrySwitchInstanceCall (thread=<optimized out>, caller_frame=0x7f4e1dc7de28, caller_code=..., caller_function=..., ic_data=..., target_function=...) at ../../runtime/vm/runtime_entry.cc:1431
#16 0x0000558ca80161bb in dart::PatchableCallHandler::DoICDataMissJIT (this=this@entry=0x7f4e1dc7dea8, ic_data=..., old_code=..., target_function=...) at ../../runtime/vm/runtime_entry.cc:2094
#17 0x0000558ca80168be in dart::PatchableCallHandler::HandleMissJIT (this=0x7f4e1dc7dea8, old_data=..., target_function=..., old_code=...) at ../../runtime/vm/runtime_entry.cc:2379
#18 dart::PatchableCallHandler::ResolveSwitchAndReturn (this=this@entry=0x7f4e1dc7dea8, old_data=...) at ../../runtime/vm/runtime_entry.cc:2327
#19 0x0000558ca8016cb9 in dart::InlineCacheMissHandler (thread=0x558ca9932c00, zone=0x558ca9a8f400, args=..., ic_data=..., native_arguments=...) at ../../runtime/vm/runtime_entry.cc:2409
#20 dart::DRT_HelperInlineCacheMissHandlerOneArg (thread=0x558ca9932c00, zone=0x558ca9a8f400, arguments=<error reading variable: access outside bounds of object referenced via synthetic pointer>, isolate=<optimized out>) at ../../runtime/vm/runtime_entry.cc:2426
#21 dart::DRT_InlineCacheMissHandlerOneArg (arguments=<incomplete type>) at ../../runtime/vm/runtime_entry.cc:2420
#22 0x00007f4e25602573 in ?? ()
#23 0x0000558ca9932c00 in ?? ()
#24 0x0000000000000002 in ?? ()
#25 0x00007f4e1dc7e010 in ?? ()
#26 0x00007f4e1dc7e018 in ?? ()
#27 0x00007f4e1da8aac1 in ?? ()
#28 0x00007f4e25711391 in ?? ()
#29 0x00007f4e2570d3a1 in ?? ()
#30 0x00007f4e1dc7e048 in ?? ()
#31 0x00007f4e25603483 in ?? ()
#32 0x00007f4e1daa8a41 in ?? ()
#33 0x00007f4e1d802699 in ?? ()
#34 0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7f4e25bfd640 (LWP 1708766)):
#0  0x00007f4e25cfce96 in epoll_wait (epfd=5, events=0x7f4e25bfcc30, maxevents=16, timeout=-1) at ../sysdeps/unix/sysv/linux/epoll_wait.c:30
#1  0x0000558ca7d476c8 in dart::bin::EventHandlerImplementation::Poll (args=args@entry=94062628479936) at ../../runtime/bin/eventhandler_linux.cc:396
#2  0x0000558ca7e7fe62 in dart::bin::ThreadStart (data_ptr=<optimized out>) at ../../runtime/bin/thread_linux.cc:96
#3  0x00007f4e25f14d80 in start_thread (arg=0x7f4e25bfd640) at pthread_create.c:481
#4  0x00007f4e25cfcb6f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f4e25bff000 (LWP 1708765)):
#0  0x00007f4e25f210fa in __futex_abstimed_wait_common64 (futex_word=futex_word@entry=0x7ffea65c75a0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at ../sysdeps/nptl/futex-internal.c:74
#1  0x00007f4e25f2115b in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x7ffea65c75a0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ../sysdeps/nptl/futex-internal.c:123
#2  0x00007f4e25f1ac30 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x7ffea65c7550, cond=0x7ffea65c7578) at pthread_cond_wait.c:504
#3  __pthread_cond_wait (cond=0x7ffea65c7578, mutex=0x7ffea65c7550) at pthread_cond_wait.c:619
#4  0x0000558ca7fc1688 in dart::Monitor::WaitMicros (this=0x7ffea65c7550, micros=<optimized out>) at ../../runtime/vm/os_thread_linux.cc:463
#5  0x0000558ca843f19a in dart::MonitorLocker::Wait (millis=0, this=<optimized out>) at ../../runtime/vm/lockers.h:173
#6  Dart_RunLoop () at ../../runtime/vm/dart_api_impl.cc:1979
#7  0x0000558ca7d36f04 in dart::bin::RunMainIsolate (script_name=0x558ca98fb0b0 "test/foundation/_compute_caller.dart", package_config_override=<optimized out>, dart_options=<optimized out>) at ../../runtime/bin/main.cc:1061
#8  0x0000558ca7d37c27 in dart::bin::main (argc=2, argv=0x7ffea65c78c8) at ../../runtime/bin/main.cc:1361
#9  0x0000558ca7d38a29 in main (argc=-1503890016, argv=0x189) at ../../runtime/bin/main.cc:1400
(gdb)

Isolate is trying to shutdown, enter thread #4, and it waits for the safepoint to be over. That result in a deadlock as thread #3 is trying to get everybody(including isolate trying to enter thread #4) to the safepoint.

As thread 4 exits an isolate it is supposed to get to to a safepoint at which point SafepointHandler::EnterSafepointLocked should notify thread 3 that it is parked. For some reason thread 4 does not notice that safepoint was requested for that thread.

Culprit seems to be non-atomic update of safepoint_state https://github.com/dart-lang/sdk/blob/main/runtime/vm/thread.h#L917


Debugger Plugin not being built into JS Tracker - More detailed instructions

Describe the bug
When modifying the tracker configuration file to enable the Debugger Plugin and then running the rush build it does not automatically bundle the Debugger into the new build. It seems that further code is missing from src/features.ts and src/configurations.ts
To Reproduce
Modify ./trackers/javascript-tracker/tracker.config.ts to contain  Debugger: true,
Expected behavior
Building the tracker would create a new sp.js with the Plugin Debugger included.
Additional context
Debugger Plugin is not bundled in with the current open source version of the tracker that is released by this project.

So I never really anticipated people wanted to bundle the debugger plugin directly into sp.js because I didn't think you'd want to push the debugger to production, only use it locally for testing.
You can dynamically load plugins at runtime, which is how I thought the debugger would always be used:
window.snowplow('addPlugin',
  "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>  ["snowplowDebugger", "DebuggerPlugin"]
);

One challenge with bundling it directly is setting the LOG_LEVEL parameter when initialising the Plugin. It could be done inside tracker.config.js but then this changes the current format as we'd probably need to introduce an object like debugger: { log_level: 'debug' } or something similar.
By dynamically adding the plugin, you can inject the plugins parameters:
window.snowplow('addPlugin',
  "https://cdn.jsdelivr.net/npm/<EMAIL_ADDRESS>  ["snowplowDebugger", "DebuggerPlugin"],
  [ 4 ] // 4 = Info logs
);

See here for docs: https://docs.snowplowanalytics.com/docs/collecting-data/collecting-from-own-applications/javascript-trackers/javascript-tracker/javascript-tracker-v3/plugins/debugger/

Hey @paulboocock Thanks for replying to this one. It's a good point - I think the core of the issue is that we cannot curently dynamically load the plugin due to our implementation.
We have Snowplow implemented through GetAnalytics Plugin
The issue is then rather how do we selectively load this plugin with our current wrapper. On second thought this then sounds like more of "our problem" than a relevant issue for this repo.
Any final thoughts or assistance would be appreciated though,
The way that additional Plugins that ship with sp.js are loaded right now is:
analytics.on('initialize:snowplow', ({ instance }) => {
  instance.plugins.snowplow.enableActivityTracking(10, 10)
  instance.plugins.snowplow.enableLinkClickTracking()
})

The full load here:
const analytics = Analytics({
  app: 'awesome-app',
  plugins: [
    // Minimal recommended configuration
    snowplowPlugin({
      name: 'snowplow',
      scriptSrc: '//*.cloudfront.net/2.17.0/sp.js',
      collectorUrl: 'collector.mysite.com',
      trackerSettings: {
        appId: 'myApp',
        contexts: {
          webPage: true
        }
      }
    })
  ]
})

Ah yes, it's on my radar to bump the getanalytics.io plugin to v3. I actually started it last week but haven't had time to finish it yet.
The plugins don't work with v2 of the tracker, and the getanalytics.io plugin only works with v2 at the moment. Since v3 is already an npm package (@snowplow/browser-tracker) it hasn't been a high priority to update this to v3.

This has now been updated in the @analytics package.
https://github.com/DavidWells/analytics/issues/202


Assign Default Values with A Shorthand Syntax

Use ?? to assign default values if custom values are not provided via parameters. I also replace the tags 0 and 1 with direct references to table views.

Rebased master.

Thanks for the rebase, didn't have time to do the merge manually :)

:beers:


Hotfix/issue_16 - Update pagination to work with search items and filters

Fixes issue: https://github.com/willywos/jobbyjobjob/issues/16
Summary:

Update pagination to work with search items and filters

Technical details:

Pagination will work with an ajax request.
Merged the Index method with the search method, thus the search method is useless and it has been removed.

Looks good @OvidiuToma
Thanks for working on this issue! happy hacktoberfest!


many improvements about teaching resources and courses

@PatrickMassot and I have spent a while revamping the course list and adding some other resource pages for people interested in teaching Lean courses!
This is not linked to on the sidebar yet.
Note: courses.html has been moved to teaching/courses.html, but I've added a redirect from the old page.

This is great, thank you for working on it!
For some reason I see the tags "lean3" and "lean4" twice on the page https://leanprover-community.github.io/teaching/courses.html.

For some reason I see the tags "lean3" and "lean4" twice on the page leanprover-community.github.io/teaching/courses.html.

Already fixed :smile:


Add SVGOMG

Hi!
Yesterday PWA needs to have an SVG icon, but now in README says that PWA needs to have just a PNG icon. If it is not a mistake, SVGOMG is a candidate to your list.
Link: https://jakearchibald.github.io/svgomg/

[x] HTTPS;
[x] name (very short), start_url and set of PNG icons from 192×192 to 512×512;
[x] Service Worker.

Currently, only PNG icons are supported for the home screen icons in Chrome and Opera for Android.
The reason we ask for an SVG is because that’s what we use on our pwa-list website. @jakearchibald do you have an SVG version of https://jakearchibald.github.io/svgomg/imgs/icon.png?

Currently, only PNG icons are supported for the home screen icons in Chrome and Opera for Android.
The reason we ask for an SVG is because that’s what we use on our pwa-list website. @jakearchibald do you have an SVG version of https://jakearchibald.github.io/svgomg/imgs/icon.png?

I do! https://github.com/jakearchibald/svgomg/blob/master/src/test-svgs/svgo-logo.svg

Closing in favor of #35.

Done: https://operasoftware.github.io/pwa-list/


Migration docs do not mention removal of non-responsive text alignment classes

http://v4-alpha.getbootstrap.com/migration/
ie. .text-center is not used any more. but not mentioned anywhere

Already fixed in the bleeding-edge docs: https://github.com/twbs/bootstrap/blob/v4-dev/docs/migration.md#utilities


[Feature Request] Discord Notifications

Description
Send Notifications to different discord channels/servers
Desired Behavior
Would like to be able to send discord notifications to different discord channels and servers.
Additional Context
No response
Code of Conduct

[X] I agree to follow Overseerr's Code of Conduct

@Fallenbagel I would love this addition as well. Makes it easier for me to manage reported issues on Jellyseerr on a channel that isn't also filled with requests.

It can be done currently too for the time being using webhooks for issues

Had an error because the message couldn't be empty but then I realized it was because the template needed to be modified. Thanks!

Will be closing this as technically that can be handled using a combination of discord and webhook agents. Feel free to re-open if you disagree c:


Add screener

Please add Turkey's BIST stock to screener for using BIST's symbols.

Added Turkey market to https://tvdb.brianthe.dev.

Thanks


Fixing the filtering and loading of subscription names

The name of the subscriptions is not being loaded, also impacting the resources per subscription graph. Here's a correction suggestion in the subscriptions module to correctly filter the subscription and load its name.

The behavior differs depending on the operating system version. Still under review..


fix: typo in get_fsdp_policy docstring

Corrected typo in docstring of the get_fsdp_policy function - "it's" to "its" for proper possessive usage.

Oh! Nevermind this has already been fixed it seems


Add support for Intel FSP_T, FSP_M and FSP_S

FSP is generally built such that there are modules like FSP_T, FSP_M and FSP_S, and then there is just big FSP which contains all the smaller ones. And coreboot can handle the splitting on it's own.


Cells interminable after server closed

Testing #9768
After closing the server in my local terminal, I tried running a cell on the browser. It started to run and did not stop, or respond to the stop button:

Thanks for the issue.
Seems like the remote kernel should fail? Might depend upon what the active connection does in this situation. It might sit there forever.

This issue applies to local as well, not specific to web. I.e. its an existing issue, but will be more common in web as web will only support remote (at least for now).

This might be fixed now.

Sorry still repros for me.

Pressing the stop button still does nothing. I have to wait for around a minute to see the message that the server isn't available.
One of the messages is in monospace and the link isn't rendered properly:


Fix for issue #950

What this PR does / why we need it:
Fix for issue #950
It doesn't allow duplication of IP while creating acl rule
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Test results are here
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds# curl --header "Content-Type: application/json" --data '{"fileshareId":"0635351a-b254-4365-92b5-a75d20afc13f", "accessTo":"<IP_ADDRESS>", "accessCapability":["read", "write"], "type":"ip"}' http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/file/acls
{"id":"43941892-269b-436a-b6f2-f831aa33ae33","createdAt":"2019-10-03T13:04:19","updatedAt":"2019-10-03T13:04:19","tenantId":"e93b4c0934da416eb9c8d120c5d04d96","fileshareId":"0635351a-b254-4365-92b5-a75d20afc13f","type":"ip","accessCapability":["read","write"],"accessTo":"<IP_ADDRESS>","profileId":"635b98f9-e178-4041-a46e-aab3fcbef0c2"}root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds#
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds#

root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds# exportfs -v
/var/sdf1     	<IP_ADDRESS>(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,root_squash,no_all_squash)
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds#
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds# curl --header "Content-Type: application/json" --data '{"fileshareId":"0635351a-b254-4365-92b5-a75d20afc13f", "accessTo":"<IP_ADDRESS>", "accessCapability":["read", "write"], "type":"ip"}' http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/file/acls
{"code":400,"message":"createFileshareAcldbentry failed: ip already exists: <IP_ADDRESS>"}root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds#
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds#

Release note:

From the PR it is not clear why this fix. Can you please give more details

@Shruthi-1MN Please make it for development

LGTM

The issue #950 comments and the fix are not matching.

The issue #950 comments and the fix are not matching.

RCA is duplicate entries of ACL's

Test Report
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds# curl --header "Content-Type: application/json" --data '{"fileshareId":"ba46add2-fad0-4b98-be2b-d6e2d627ef80","description":"file share test", "type":"ip", "accessTo":"<IP_ADDRESS>", "accessCapability":["Read","Write"]}' http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/file/acls
{"id":"05b3608a-c8c3-43c2-82ed-59c4fb438ac8","createdAt":"2019-12-12T12:23:25","updatedAt":"2019-12-12T12:23:25","tenantId":"e93b4c0934da416eb9c8d120c5d04d96","fileshareId":"ba46add2-fad0-4b98-be2b-d6e2d627ef80","type":"ip","accessCapability":["Read","Write"],"accessTo":"<IP_ADDRESS>","description":"file share test","profileId":"4d228020-afac-447c-affc-efb4c25f1c06"}
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds# osdsctl fileshare acl list
WARNING: OPENSDS_ENDPOINT is not specified, use default(http://localhost:50040)
WARNING: Not found Env OPENSDS_AUTH_STRATEGY, use default(noauth)
+--------------------------------------+--------------------------------------+------+------------------+-------------+-----------------+
| Id                                   | FileShareId                          | Type | AccessCapability | AccessTo    | Description     |
+--------------------------------------+--------------------------------------+------+------------------+-------------+-----------------+
| 05b3608a-c8c3-43c2-82ed-59c4fb438ac8 | ba46add2-fad0-4b98-be2b-d6e2d627ef80 | ip   | [Read Write]     | <IP_ADDRESS> | file share test |
+--------------------------------------+--------------------------------------+------+------------------+-------------+-----------------+
root@shruthi-VirtualBox:~/go/src/github.com/opensds/opensds# curl --header "Content-Type: application/json" --data '{"fileshareId":"ba46add2-fad0-4b98-be2b-d6e2d627ef80","description":"file share test", "type":"ip", "accessTo":"<IP_ADDRESS>", "accessCapability":["Read","Write"]}' http://<IP_ADDRESS>:50040/v1beta/e93b4c0934da416eb9c8d120c5d04d96/file/acls
{"code":400,"message":"createFileshareAcldbentry failed: acl already exists for this ip: <IP_ADDRESS>. If you want to set new acl, first delete the existing one"}


Lint in ci

This enables CI Azure Pipelines. It currently only checks code formatting, more checks will be added in the future. If a PR fails, merging will be blocked.
Here's an example of it failing CI after I intentionally broke formatting in a cpp file.
Fixes #3

Ready for merge


Remove duplicate link

Thanks for adding the topics. This will close #8.

Sorry. I used a bit too much --force to reset all my forks playing with the expenses and deleted the branch.


fix: Future already completed

Happens on Mac after recovering from suspend.
[ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Bad state: Future already completed
#0      _AsyncCompleter.complete (dart:async/future_impl.dart:84:31)
#1      SoLoud._initializeNativeCallbacks.<anonymous closure> (package:flutter_soloud/src/soloud.dart:423:18)
#2      _RootZone.runUnaryGuarded (dart:async/zone.dart:1609:10)
#3      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:366:11)
#4      _DelayedData.perform (dart:async/stream_impl.dart:542:14)
#5      _PendingEvents.handleNext (dart:async/stream_impl.dart:647:11)
#6      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:618:7)
#7      _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#8      _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

I am currently experiencing this issue as well.

Could you please tell me the steps to reproduce this, that would help to find a solution?
Before suspending, do some sounds were playing? Were there sounds loaded (and not disposed)?
Also I think you are on an old version, could you also try the latest?

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: Bad state: Future already completed
#0      _AsyncCompleter.complete (dart:async/future_impl.dart:43:31)
#1      SoLoud._initializeNativeCallbacks.<anonymous closure> (package:flutter_soloud/src/soloud.dart:509:61)
#2      _RootZone.runUnaryGuarded (dart:async/zone.dart:1594:10)
#3      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:365:11)
#4      _DelayedData.perform (dart:async/stream_impl.dart:541:14)
#5      _PendingEvents.handleNext (dart:async/stream_impl.dart:646:11)
#6      _PendingEvents.schedule.<anonymous closure> (dart:async/stream_impl.dart:617:7)
#7      _microtaskLoop (dart:async/schedule_microtask.dart:40:21)
#8      _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)

I'm on 2.1.7 and saw this on 2.1.6 briefly. It happened around the start of the audio, but I'm not sure what the exact trigger is. The audio sounds right, so I'm not sure that this is causing any actual problems, but I did also notice this in the logs. Still trying to better gather data to help reproduce

I can reproduce it by triggering a sound repeatedly for the first time, so I'm assuming that the await has not been processed from the first invocation of the sound?
Hrm, I can probably load that properly before letting the player perform the actions repeatedly that cause the sound....

Thank you @Taormina,
so I could presume that the suspend activity is not really related to this issue.
Your exception comes from package:flutter_soloud/src/soloud.dart:509:61 which is the completer triggered when a file is loaded. @tejainece could you please tell me on which version you are?

I can confirm that loading all the unique sounds once at the beginning before user input is allowed both prevents the delay in audio, and prevents this from happening.
Below is an example that works. If the toSet() and the await on getSource are removed, because there are a few duplicate files in sfxFiles list at the moment, it would will always reproduce this issue.
  Future<void> loadAssets() async {
    // ....
    final soundFiles = (bgmFiles + sfxFiles).toSet();

    for (final sound in soundFiles) {
      await getSource(sound);
    }

    // ....
  }

  Future<AudioSource> getSource(String filename) async {
    if (!sounds.containsKey(filename)) {
      sounds[filename] =
          await SoLoud.instance.loadAsset('assets/audio/$filename');
    }
    return sounds[filename]!;
  }

I happen to be storing the AudioSources in a map for later reference, but just calling loadAsset once before attempting to play the sound multiple times is the actual fix.


Cherry pick Support read decimal data from csv reader if user provide the schema with decimal data type to active_release

Automatic cherry-pick of b03b80c

Originally appeared in https://github.com/apache/arrow-rs/pull/941: Support read decimal data from csv reader if user provide the schema with decimal data type

Codecov Report

Merging #974 (5d4f9d8) into active_release (e6c5e1c) will increase coverage by 0.04%.
The diff coverage is 91.21%.

@@                Coverage Diff                 @@
##           active_release     #974      +/-   ##
==================================================
+ Coverage           82.31%   82.35%   +0.04%
==================================================
  Files                 168      168
  Lines               48694    48837     +143
==================================================
+ Hits                40083    40221     +138
- Misses               8611     8616       +5

Impacted Files
Coverage Δ

arrow/src/array/builder.rs
86.64% <ø> (ø)

arrow/src/util/display.rs
20.00% <0.00%> (-0.39%)
:arrow_down:

arrow/src/csv/reader.rs
90.39% <92.41%> (+0.36%)
:arrow_up:

arrow/src/compute/kernels/temporal.rs
97.35% <100.00%> (+1.27%)
:arrow_up:

parquet/src/encodings/encoding.rs
93.71% <0.00%> (+0.19%)
:arrow_up:

parquet_derive/src/parquet_field.rs
66.43% <0.00%> (+0.22%)
:arrow_up:

arrow/src/array/transform/mod.rs
85.47% <0.00%> (+0.27%)
:arrow_up:

arrow/src/datatypes/field.rs
53.68% <0.00%> (+0.30%)
:arrow_up:

arrow/src/error.rs
17.77% <0.00%> (+2.22%)
:arrow_up:

Continue to review full report at Codecov.

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


yarn start doesnt give error but chunks served through yarn build give application specific error

Bug report

What is the current behavior?
I am migrating my react 15 application to react16.
yarn start works fine and doesnt throw application oriented errors but when chunks are served through yarn build , it throws my application oriented errors such as cant read property of undefined
If the current behavior is a bug, please provide the steps to reproduce.
1.create a application through CRA
2. Do yarn eject
3. Copied my entire react15 application to src. Made changes according to react16 and used UNSAFE for deprecated methods.
4. then did yarn start , application works as intended.No application specific error.
5. Did yarn build and served the build folder using serve -s build, the build chunks give error such as cant read property of undefined.

What is the expected behavior?
Chunks served through yarn build  shouldnt give error.

Other relevant information:
webpack version:  4.29.6
Node.js version: v12.4.0
Operating System: Ubuntu 16.04.1 LTS
Additional tools: npm 6.9.0

Please open issue in CRA

CRA  says that once you eject the application, open the issue in webpack/webpack.

@rajats123 Please create minimum reproducible test repo, we can't find problem using your infromation

@evilebottnawi fixed it.
The error was thrown by this line in reducer if (summary && summary.last_updated_on) {     summary.last_updated_on = summary.last_updated_on && formatLastUpdatedDate(summary.last_updated_on);   }.
Before that it was, if (summary) {     summary.last_updated_on = summary.last_updated_on && formatLastUpdatedDate(summary.last_updated_on);   }, but this line didnt threw any error dev mode but threw error in prod build.I can see that above way is the correct way to do it but why didnt this line threw error in dev build.

Looks you use uglifyjs-webpack-plugin, please move to terser-webpack-plugin

Boilerplate was created by CRA , so it came with inbuilt terser-webpack-plugin, i didnt add any plugin on my own, except those inbuilt in CRA.


[Question]: Nunit Load Storage Space

Hi all how do i load Storage State using the Nunit Base Classes?
had a brief look and this test is skipped in playwright tests.
Overall the documentation on Nunit base methods is not great
BrowserContextStorageStateTests
        [PlaywrightTest("browsercontext-storage-state.spec.ts", "should set local storage")]
        [Ignore("Needs to be implemented.")]
        public void ShouldSetLocalStorage()
        {
        }

Never Mind i you actual read the documentation it does actual state you need to override ContextOptions
Leaving for future travellers
        public override BrowserNewContextOptions ContextOptions()
        {}
        ```


How to use geodjango

Can we plot track on map?
Can it be used to create an editor?
Can it be manipulated with javascript?

In this stackoverflow link they propose other solutions to use open street map widget

Conclusion: using OpenLayers looks to be more flexible and close to the TrackEditor original implementation.


Is there a way to retrieve the clients IP address?

Before each transaction, is it possible to have a function fired as an event?
Also, I am looking for a way to get the client's ip address in nowJS. Is this information integrated in this module or I have to access it with socket.io?
Thanks,
MightyCodder

By transaction, what do you mean? Certainly you have nowjs events as well as group events. So, uh, probably. There are also the undocumented events multicall and closurecall. I can't see it being too difficult to add yet another event for function calls, but I'm not sure it'd be particularly useful.
And for the second: I believe that it's user.socket.handshake.address, where user is a user object.

By transaction, what do you mean? Certainly you have nowjs events as well as group events. So, uh, probably. There are also the undocumented events multicall and closurecall. I can't see it being too difficult to add yet another event for function calls, but I'm not sure it'd be particularly useful.
And for the second: I believe that it's user.socket.handshake.address, where user is a user object.

@steveWang hey Steve, i'm currently doing something about the cookies. you know that this.user.cookie = socket.handshake.headers.cookie but the cookie stores nothing, it's {}. what's that for or what's under socket.handshake?

@steveWang hey Steve, i'm currently doing something about the cookies. you know that this.user.cookie = socket.handshake.headers.cookie but the cookie stores nothing, it's {}. what's that for or what's under socket.handshake?

It's not actually synchronized with the client's cookie; it only stores data that was in the user's cookie when the user connected. So if you were to store something in document.cookie on the user side, it'd show up the next time the user connected. This is mostly used for persistence and whatnot.

It's not actually synchronized with the client's cookie; it only stores data that was in the user's cookie when the user connected. So if you were to store something in document.cookie on the user side, it'd show up the next time the user connected. This is mostly used for persistence and whatnot.

By transactions I was meaning every time data is sent or received. Thanks for your answer.


[8.x] Fix pivot and morphpivot fresh and refresh methods

This PR fixes Pivot::fresh(), Pivot::refresh(), MorphPivot::fresh() and MorphPivot::refresh() which are broken after #34974 which reverted #34836.
I have tested this locally already, but I can add additional tests if these changes are okay.

If I understood his comments correctly he extended Model::setKeysForSaveQuery() which was being called by Model::fresh() and Model::refresh() after my first PR.
His PR then changed this to the newly introduced Model::setKeysForSelectQuery() so this his project wouldn't break anymore (because his extended function is no longer called when it shouldn't be), which would have been fine, but the PR did not account for Pivot::fresh(), Pivot::refresh(), MorphPivot::fresh() and MorphPivot::refresh().
All this PR aims to do is fix the pivot methods which were broken by aforementioned PR, not revert his PR altogether so it shouldn't re-introduce the original issue (unless I misunderstood the change that was made)
@driesvints I will add tests in a few hours when I have some free time 👍

@driesvints I added tests

Sorry about that, @axlon.
@driesvints It looks like this should be fine as far as I can tell.


JSON::Any.nil? returns false

Hopefully a simple one, the work around is simple enough but thought it worth making an issue
require "json"

test = JSON.parse("null")
test.nil?   # => false
test == nil # => true
nil.nil?    # => true

Maybe a special case of .nil? needs to be created for JSON::Any?

Try json.raw.nil?

You're definitely right, raw.nil? is the way this should be checked.


Alternative

https://toolness.github.io/animated-focus-ring/

Yeah, it looks very similar. It has slightly different styling and animation.
The demo page says "The behavior is based upon that of the focus ring on the WebAIM website.", which uses NV/flying-focus.


Misaligned RV32 memory access circumvents address bound check when overflowing

We detected a scenario which is a potential security vulnerability. An attacker may access a memory address (0x0) outside of the capability address bounds.
Unaligned RV32 accesses are split into two aligned accesses. If the access is unaligned (crossing the word boundary) and in the top most word, i.e., at address 0xffff_fffd-0xffff_ffff, the first aligned access is to address 0xffff_fffc and the second access causes an overflow/wrap-around to 0x0. This may circumvent the capability address bound checks:
Let's assume the 32-bit (expanded) base bound is at 0xfff0_8000, and the 33-bit (expanded) top bound is at 0x1_ffff_0ffc. For an unaligned RV32 access to 0xffff_fffd the first actual memory access (to 0xffff_fffc) is inside the bounds and thus legal. However, the second access (to 0x0) is outside of the capability bounds and thus illegal. But for the second access, the core does not raise an error. A base violation is raised, but not propagated further, because of the addr_incr_req_i flag.
We detected a scenario, where the illegal access was conducted. We used a formal tool for detection and provide a screenshot of a waveform displaying the issue.

As a fix, we propose to never permit misaligned RV32 accesses in the top most address.
Best regards,
Anna and Johannes

I am actually not sure this is a real issue (after trying to recreate it in simulation). A couple observations

currently we do address check based on comparing the target address against top-4 and base bounds (assuming word accesses). cheri_ex/lsu_req_o and cheri_ex/lsu_cheri_err_o are updated once the comparison is done on the base address.  The LSU state machine is designed such as if the lsu_cheri_err_o is asserted, it will stays in IDLE, so that addr_incr_req won't be asserted in this case - and thus the 2nd access in a misaligned transaction won't be a factor in comparison
this is probably not as relevant, but I just want to point out that while it is allowed by encoding, in real use we will never have the 33-bit top_bound larger than 0x1_0000_0000. Reason being that the core starts with root capabilities set at top_bound=0x1_0000_0000, and we only allow shrinking bounds.
Please let me know what you think, thanks.

Thank you for investigating the case and for the clarification. Restricting the 33-bit top_bound to values <= 0x1_0000_0000 essentially blocks all misaligned word accesses in the top most word (and thus the overflow).
We will further investigate why our counterexample considers top_bounds larger than 0x1_0000_0000. We may have to add additional constraints to our proofs.

Thanks for investigating this.  Properties that arise from monotonicity tend to be tricky for verification of the Verilog because they require dataflow to be tracked via inductive proofs from the reset state.  I'd be very interested in tooling that could preserve these properties.

@alda-tuk Should we close this issue?

Yes, thank you. With additional constraints our proofs ran successful.


Add support for PostgreSQL

Let's make it possible to use the PostgreSQL database in addition to MySQL. MySQL should remain the default.
Here's what I know should change:

Allow the specification of the JDBC driver class in data-sources.xml
Add the PostgreSQL JDBC driver to the app server docker image (https://jdbc.postgresql.org)
Update the README with information on using PG instead of MySQL

I'm sure I'm forgetting something here, so use your best judgment on getting this built out!

I'd like to take this on @aaronbrethorst!

Any chance you might have the bandwidth to tackle this, @Altonhe?

@aaronbrethorst no problem

Blocked by https://github.com/OneBusAway/onebusaway-application-modules/issues/352

@Altonhe this should be unblocked now.

It’s not unblocked yet. We need to start building our own OBA JAR and WAR files first


feat(scope): allow filtering patterns when updating cache on autocmd events

feat(scope): allow filtering patterns when updating cache on autocmd events
docs: add example of updating scope on autocmd event with pattern

Thank you for the PR! Going to close as #89 addresses these changes


Consider supporting data-alt

Is it possible to support adding data-alt attribute like the following:
const slider = (
  <AwesomeSlider animation="cubeAnimation" cssModule={AwesomeSliderStyles}>

  </AwesomeSlider>
);

I tried the above syntax and it doesn't work. Although supporting it would be a nice enhancement from SEO perspective.

Hey @tareefdev, thanks for raising it. It's up on v4.0.0 🙌🏼

That's pretty awesome! Thanks!


Make Entry & Asset select modals locale aware.

Makes Entry & Asset select modals locale aware.
Makes Entry & Assets select input locale aware.  Will display proper selected locale entry or asset.

Looks good, but craft.locale should be craft()->language.


TryValidateModel throws exception when unit tested

I have what seems to be a very similar issue to issue #3586, where TryValidateModel throws an Object reference error when unit tested. During normal operation with similar data being passed into the controller, the validation passes. Here is the controller method:
    public class LocationsController : Controller
    {
        [HttpPut("{id}")]
        public IActionResult PartiallyUpdateLocation(int id,
            [FromBody] JsonPatchDocument<LocationForUpdateDTO> patchDoc)
        {
            if (patchDoc == null)
            {
                return BadRequest();
            }

            var locationEntity = _locationsRepository.GetLocation(id);
            if (locationEntity == null)
            {
                return NotFound();
            }

            var locationToPatch = Mapper.Map<LocationForUpdateDTO>(locationEntity);

            patchDoc.ApplyTo(locationToPatch, ModelState);

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            **FAILS HERE**
            TryValidateModel(locationToPatch);

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            var finalLocation = Mapper.Map(locationToPatch, locationEntity);

            _locationsRepository.PartiallyUpdate(id, finalLocation);
            return NoContent();
        }
    }

...and here is the unit test implementation:
    [Collection("AutoMapper collection")]
    public class LocationsController_PatchLocationTests
    {
        AutoMapperConfigFixture fixture;

        public LocationsController_PatchLocationTests(AutoMapperConfigFixture fixture)
        {
            this.fixture = fixture;
        }

        [Fact]
        public void PatchLocationReturnsNoContent()
        {
            var repositoryMock = GetMockRepositoryHelper(1);
            LocationsController controller = new LocationsController(repositoryMock);
            var patchDoc = new JsonPatchDocument<LocationForUpdateDTO>();
            patchDoc.Replace(l => l.Street, TestDataForPartialUpdate.goodLocation.Street);
            Mapper.Initialize(cfg =>
            {
                cfg.CreateMap<Location, LocationForUpdateDTO>();
            });

            var result = controller.PartiallyUpdateLocation(1, patchDoc);

            Assert.IsType(typeof(NoContentResult), result);
        }

        private static ILocationsRepository GetMockRepositoryHelper(int id)
        {
            Mock<ILocationsRepository> repositoryMock = new Mock<ILocationsRepository>();
            repositoryMock.Setup(x => x.GetLocation(id))
                .Returns(
                    new Location()
                    {
                        Id = 1,
                        Street = "123 AppleTree Way",
                        City = "Galloway",
                        State = "Ohio",
                        ZipCode = "43119",
                        Latitude = 40.0,
                        Longitude = 80.0
                    });

            return repositoryMock.Object;
        }
    }

As well as the Automapper CollectionDefinition:
    [CollectionDefinition("AutoMapper collection")]
    public class AutoMapperConfig : ICollectionFixture<AutoMapperConfigFixture>
    {

    }

The stack trace:

at Microsoft.AspNetCore.Mvc.ControllerBase.TryValidateModel(Object model, String prefix)
at LocationsAPI.Controllers.LocationsController.PartiallyUpdateLocation(Int32 id, JsonPatchDocument`1 patchDoc) in editedpath\src\LocationsAPI\Controllers\LocationsController.cs:line 138
at LocationsAPI.Tests.Unit.LocationsController_PatchLocationTests.PatchLocationReturnsNoContent() in editedpath\test\LocationsAPI.Tests.Unit\LocationsController_PatchLocationTests.cs:line 36

You'll need to set controller.ObjectValidator when trying to test anything that calls TryValidateModel. I wonder if there's anything we can do to make this better.

Closing because this appears to be answered. If this doesn't help please reactivate or open a new issue

@rynowak I was just having the same issue.  while search for answer land me on this page.  even adding the code below solve the problem.  But it does not feel right that we need to do that in order to use TryValidateModel for unit testing.
and this knowledge (or information) is not mentioned in the document of ControllerBase.TryValidateModel
It does not feel right because this piece of code is not within any of our testing logic.  If we cannot improve upon this, we should at least mention this in the docs of TryValidateModel.
var objectValidator = new Mock<IObjectModelValidator>();
           objectValidator.Setup(o => o.Validate(It.IsAny<ActionContext>(),
                                             It.IsAny<ValidationStateDictionary>(),
                                             It.IsAny<string>(),
                                             It.IsAny<Object>()));
           _sut.ObjectValidator = objectValidator.Object;


#604 - Organized Whole Code

Issues Identification
Closes: #604
Description
*** Please CHECK THERE MAY BE SOME INCONSISTENCIES but i have done a lot of lot of work ..............  ## IT TOOK FOREVER ----as even header and foooter html was not organized in some files ---- still i say 95% of work is done you can check it ....
Creating a whole new website is easy than reviewing code by many others. Now i understand this.
I hope you understand the work behind this and approve this....
Types of Changes
Please check the boxes that apply

[ ] Bugfix (non-breaking change that fixes an issue)
[ ] New feature (non-breaking change that adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ yes ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Please check the boxes that apply

[yes ] My code follows the style guidelines of this project
[yes] I have performed a self-review of my own code
[yes ] I have commented my code, particularly in hard-to-understand areas
[yes ] I have made corresponding changes to the documentation
[ yes] My changes generate no new warnings
[ yes] My changes do not break the current system and pass all existing test cases
[ yes] I have added tests that prove my fix is effective or that my feature works
[ yes] New and existing unit tests pass locally with my changes

Screenshots

@PrAyAg9 Done, Good. and Thank you for making this in very good format.

hey you forgot to add level label

yes, i will add it, my badd.

@PrAyAg9 can you check it, i have added it.

level bro it took more time than writing backend of my melodify app earlier

Again Sorry from my side.@PrAyAg9 I have updated.

Thanks a lot


Python 2.7.13 32-bit missing pip

FLARE-VM seems to be affected by this Python issue for 2.7.13 in which pip.exe does not get installed:
https://bugs.python.org/issue30725
I tried visiting appwiz.cpl and clicking Change to modify options and found that pip was unselected, however when I selected it and clicked through the MSI, it made no difference:
C:\>dir /a/b/s pip.exe
C:\Program Files\Python27\Scripts\pip.exe
C:\Program Files\Python37\Scripts\pip.exe
C:\Program Files (x86)\Python37\Scripts\pip.exe

C:\> REM I was hoping to find C:\Program Files (x86)\Python27\Scripts\pip.exe, but no joy!

It looks like the aforementioned Python 2.7.13 issue had some kind of resolution. Is there an MSI installer option we can provide that makes pip.exe get installed?

Ooh, or we could move to Python 2.7.15 which I see here: https://www.python.org/downloads/

Change the issue type to enhancement. We will upgrade python 2.7.13 to 2.7.15

Default python2 is now python2.7.15. Python2.7.13 is only there for pykd 32bit on 64bit systems. Closing


MAIN B-19831 use okta dodid and disable customer dodid edit

INTEGRATION PR
Agility ticket
Summary
Currently we have a risk of the customer's DODID being different than the one provided in Okta. Since the merge of requiring CAC validation on initial registration for customers, we now have an accurate DODID for the customer stored in Okta so we don't want this to be changed by the service member.
This PR does the following:

updated the values when creating a new user through devlocal to include cac_edipi and use email formats for username and login profile values
uses the cac_edipi value stored in the oktaUser state in the DODID text on initial customer registration (this is what saves to service_members.edipi
disables the input of the DODID inputs in the DoDInfoForm, EditOktaInfoForm, and ServiceInfoForm components
updated all relevant tests
updated relevant storybooks to reflect changes

How to test

Access MM as a customer
When registering for a profile, you'll see that the DODID field is disabled and populated with a value (if authenticating with CAC it should be that DODID - if using devlocal, it should be<PHONE_NUMBER>)
Create a move and upload orders
Go to edit your profile & edit the Service Info section
You'll see that you can view, but not update your DODID - form still submits
Now go back to edit your profile and edit your Okta profile
You'll see that you can view, but not update your Okta DODID - form still submits

Screenshots

Double checked with Daniel, EDIPI is required in prod. This is good and ready for merge (Once out of J9 hold). Happo check accepted

This has been PO accepted. Ready to merge.


JAMES-3458 Identity/get should support ids field

Force pushed to solve a conflict, content is identical....


The gem shoulda-matchers does not work

When running specs with zeus rspec all tests using shoulda-matchers fail.
I get the error message with undefined method which is the same as if shoulda-matchers weren't loaded.
Do I need to configure something special to get this to work with zeus? Works perfectly fine with bare rspec.
The only thing I have right now specific to the shoulda-matchers is the following code in my Gemfile and my specs of course.
group :test do
  gem 'shoulda-matchers'
end

Moving rspec-rails next to shoulda-matchers in my :test group did not work, however @michaelglass's solution did indeed work for me (require false in gemfile and manually requiring in spec_helper.rb

+1 to @michaelglass solution

Another +1 to the @michaelglass solution, thank you!

it started working for me when adding the following to rails_helper:

Shoulda::Matchers.configure do |config|
  config.integrate do |with|
    with.test_framework :rspec
    with.library :rails
  end
end

which was in the readme file


Amateurish attempt at expanding the provided font

Here is my amateurish attempt at expanding the provided font, so as to have it support most Latin, Cyrillic and some Greek characters, all done in an amateurish manner, as I have little experience of FontForge. Kerning, thus, is not really the best and I've only created characters that can be generated from exstant ones already.
Another expansion of mine is to recycle the fullwidth forms' pool to be able to output Finnish road names (e.g. （１） to output ) and German-style autobahn numbers (e.g. ［１］ gives ).
A (failed) attempt of mine was to insert also road signs as emojis, but I can't get colours to work.
EDIT: Managed to make use of ligatures, so that emoji flags get substituted with the correct DSIT code oval. Made us of some X codes as following for unrecognized countries (🇽🇦 - Abkhazia; 🇽🇨 - Northern Cyprus; 🇽🇩 - Donetsk People's Republic; 🇽🇰 - Kosovo; 🇽🇱 - Luhansk People's Republic; 🇽🇴 - South Ossetia; 🇽🇹 - Transnistria; 🇽🇿 - Zanzibar)
Tie-Regular.zip

Thanks for interesting input. Truth to be told I am not doing any work related to this project any more. If you wish to discus about this project just hit me a note here for example.


added issuelist at contributing

 added issue list link with description at README.md under contributing.

We already have a submit bugs and feature request link that takes you to the issues tab. I don't think extra query adds a ton of value.


[Bug] render_login_html_to_string() missing 1 required positional argument: 'template_name'

I get this error during an SP initiated Login.
render_login_html_to_string() missing 1 required positional argument: 'template_name'
Here is the stack trace
[django.request] Internal Server Error: /saml2/login/process/
Traceback (most recent call last):
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/utils/decorators.py", line 45, in _wrapper
    return bound_method(*args, **kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/contrib/auth/mixins.py", line 52, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/djangosaml2idp/views.py", line 102, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/djangosaml2idp/views.py", line 291, in get
    relay_state=request.session['RelayState'])
  File "/Users/admin/Virtual_Envs/myproject/lib/python3.6/site-packages/djangosaml2idp/views.py", line 210, in create_html_response
    "data": self.render_login_html_to_string(context=context, request=request),
TypeError: render_login_html_to_string() missing 1 required positional argument: 'template_name'
The issue seems to be because template_name is not passed to render_login_html_to_string()

I've release bugfix release v0.6.2 to pypi which solves this issue.


Update README for uaa go library

just want to mention that we do not use uaac ruby client anymore.
as we are now using the uaa go library
https://github.com/starkandwayne/bucc/blob/master/bin/bucc#L502
Originally posted by @ramonskie in https://github.com/starkandwayne/bucc/issues/176#issuecomment-462697229

thanks for the pr


FlexibleConfig improvements

Includes a number of quality-of-life improvements for the FlexibleConfig and Setting API.
Changes
Setting related

[x] Use empty subscriber set instead of null to avoid NPEs
[x] Make all fields except SettingImpl.value final
[x] Initialize humanReadableName and description in SettingImpl constructor from parameters
[x] Delete MockSetting (Mocking should not be required since SettingImpl is already tested for correctness separately)
[x] Add SettingEntry builder-esque type for Setting implementations

SettingConstraint/SettingValueValidator related

[x] Rename SettingValueValidator to SettingConstraint
[x] Rename  RangedValueValidator to NumberRangeConstraint4
[ ] Add a DefaultConstraint that restricts nothing (this will help to avoid NPEs and when working on FC UI)

FlexibleConfig related

[ ] Remove FlexibleConfig.getSettings as it exposes the internal mutable setting map which can then be modified by callers

FlexibleConfigManager related

[ ] Refactor addConfig to create the FlexibleConfig rather than have the caller pass in an instance

General

[ ] Move all *Impl classes to config.flexible.internal package
[ ] Make all non-internal types (FlexibleConfig, FlexibleConfigManager, Setting, constraints) @API

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Uh oh, something went wrong with the build. Need to check on that

Hooray Jenkins reported success with all tests good!

Annnd I got this confused with Serialization. Never mind on that note 😁
Merged!


[question] How does hono-rate-limiter work with many different configs?

Hope its ok to ask a question. I am considering replacing our rate-limiter in our hono project with this one! I am hoping to get a solution that is less verbose as our current code: https://github.com/cellajs/cella/blob/1b4aaf59dc8d888f35e8d8aefc25df4dbae0e6e7/backend/src/middlewares/rate-limiter/index.ts
Suppose i ultimately want about 5 to 10 different rate-limiter configs, to handle specific scenarios in specific routes, what would that look like with hono-rate-limiter? Can I just pass different options to the same instance?

The best way could be to define the common props like the store, keyGenerator, etc. Then you could just define the custom config for all the routes that you want to rate limit. You can also provide prefixes to chain multiple limiters together.
app.get(
  "/",
  rateLimiter({
    ...defaults,
    windowMs: 10_000, // 10 seconds
    limit: 10
  }),
  (c) => c.text("Base"),
);

app.get(
  "/another",
  rateLimiter({
    ...defaults,
    windowMs: 60_000, // 1 min
    limit: 30
  }),
  (c) => c.text("Another"),
);

I like that! Thanks!


UI for enabling/disabling functions

Need to also update the tutorial when removing manage tab

Don't we already have the enable/disable button for this?

Ah I got confused what this issue was.  We have a "manage" tab today, but it doesn't have anything in it.  I'll remove what we have today.

@mattchenderson Do we have hi-fis\mocks for this?


feat(presets): add util functions to create ESM presets

Test plan

Green CI
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

181 of 190 (95.26%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.05%) to 96.195%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/presets/create-jest-preset.ts
105
114
92.11%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
4762

Relevant Lines:
4885

💛  - Coveralls

This looks like a useful change! Where can I find docs for the feature to create ESM presets? (I don't see them among the commit's changed files.)


Configure FormElementManager

I have a little module that configures the FormElementManager like this:
return[
    'form_elements' => [
        'factories' => [
            PriceFieldset::class        => PriceFieldsetFactory::class,
            ProductFormInterface::class => ProductFormFactory::class,
        ],
    ],
];

This config is loaded by a ConfigProvider class and loaded by the ConfigManager in the /config/config.php file like this:
$configManager = new ConfigManager(
    [
        Zend\Form\ConfigProvider::class,
        Product\ConfigProvider::class,
        new PhpFileProvider($pattern),
    ],
    $cachedConfigFile
);

When I want to access the ProductFormInterface::class from the FormElementManager it is not found. I need to these lines to the /config/container.php file to get this running.
$container = new ServiceManager();
(new Config($config['dependencies']))->configureServiceManager($container);

// Inject config
$container->setService('config', $config);

/** @var FormElementManagerV3Polyfill $formElementManager */
$formElementManager = $container->get('FormElementManager');
$formElementManager->configure($config['form_elements']);

return $container;

What am I doing wrong? I don't think this is a wanted behaviour. In my module I also have some validators, filters, hydrators and input filters as well. Currently, I need to add the configuration manually for every specialized service managers.

How do you configure FormElementManager? Do you have a factory that injects it with configuration?
I did something similar here: https://github.com/mtymek/blast-input-filter - I configure validator, filter and input filter plugin managers in a similar manner as you do. Take a look - maybe it will help you.
Alternatively, maybe you would like to contribute to my component and add support for form elements?

Like I said, I only have a special ConfigProvider which reads the config file and adds it to the configuration in the /config/config.php. i thought that all the configuration is passed to formElementManager and others. To fix this I added the lines I mentioned.
Your package looks like a better solution though I am missing hydrators and form elements. The name of the package seems a bit misleading when adding hydrators and form elements.

So, basically you're missing a factory that does the code you put in config.php ;) By itself, FormElementManager doesn't know that it should look for form_elements config key.
My package doesn't have hydrators and form elements because I don't use them (well, I use hydrators but I keep them in main SM...). But I'll be happy to accept PR or even consider changing the package name to something more relevant afterwards.

@RalfEggert for this i usually use Delegator Factories like
<?php

namespace My\Namespace\Form;

use Interop\Container\ContainerInterface;
use Zend\Form\FormElementManager\FormElementManagerV3Polyfill;
use Zend\ServiceManager\Config;
use Zend\ServiceManager\Factory\DelegatorFactoryInterface;

class FormElementManagerDelegatorFactory implements DelegatorFactoryInterface
{
    public function __invoke(ContainerInterface $container, $name, callable $callback, array $options = null)
    {
        $formElementManager = $callback();

        $config = $container->has('config') ? $container->get('config') : [];
        $config = isset($config['form_elements']) ? $config['form_elements'] : [];
        (new Config($config))->configureServiceManager($formElementManager);

        return $formElementManager;
    }
}

and in my ConfigProvider config
<?php

return [
    'dependencies' => [
        'delegators' => [
            'HydratorManager' => [
                My\Namespace\Hydrator\HydratorManagerDelegatorFactory::class,
            ],
            'InputFilterManager' => [
                My\Namespace\InputFilter\InputFilterManagerDelegatorFactory::class,
            ],
            'FormElementManager' => [
                My\Namespace\Form\FormElementManagerDelegatorFactory::class,
            ],
        ],
    ],
];

yes, class naming could be improved ;-)

This repository has been closed and moved to mezzio/mezzio; a new issue has been opened at https://github.com/mezzio/mezzio/issues/16.


Set up CI/CD for Search-api-data production

WHAT DOES THIS PR DO?
Sets up CI/CD for Search-api-data for production
WHAT ISSUES ARE RELATED TO THIS PR?
#1778

Jira cards

GitHub issues

Closes #1778

HOW DO I TEST OUT THIS PR?
WHICH ENDPOINTS SHOULD BE READY FOR TESTING?:
IS THERE ANY JENKINS CONSOLE LINK FOR CODE COVERAGE AND BUILD INFO?
ARE THERE ANY RELATED PRs?

@123MwanjeMike looks like Peter made changes ,I have made a few correction ,please review again


[gitlab] Version dogstatsd and puppy binaries/packages with v7 tag

What does this PR do?
Version dogstatsd and puppy binaries/packages with v7 tag instead of v6 tag.
Accordingly, dogstatsd and puppy are not pushed on v6-only pipelines.
Motivation
Have Dogstatsd and Puppy versioning in line with new major version of the Agent.
Additional notes
WIP: need to confirm that everything seems to work and be tagged appropriately on a test pipeline before merging this
Note: after 7.16, we can work on improving the following:

default to "7" everywhere, instead of "6"
logic that decides which tag to pick up (v6 vs v7): should probably rely on an argument passed to invoke commands directly, so that it's more explicit
logic that decides which python runtimes to include

Test pipeline seems to have tagged dogstatsd binaries and packages as expected (with 7), but not puppy (still tagged with 6). Will debug and update the PR

@olivielpeau https://github.com/DataDog/datadog-agent/pull/4601 should fix the problem you're having

Test pipeline is all good, merging


feat: disable submit button on review step until stripe is loaded (take II)

The type of this PR is: Enhancement
This PR solves TX-421
Description
This is a take II of https://github.com/artsy/force/pull/10376. It's almost identical and I'll comment inline the difference.
Since the previous attempt caused an issue, I assign this to myself and plan to merge and monitor in the morning ET.

Good point! I can do some research on timeout and share back.

Going to merge and babysit for a bit and see if it fixes the flakiness.

OK the failure hasn't happened for the past 20 builds so I'm going to call it a success! 🎉


Invalid JSON file

Before creating an issue, please:

Check you are using the latest plugin release.
Check the issue was not reported yet.

Hi,
Description
What I am trying to do: gradle build with vite
Expected results: task execute sucess
Actual results: Invalid JSON file: xxx/xxx/package.json
Environment

OS: Mac OS X
JDK: GraalVM JDK 21 64 bits
Gradle: Gradle 8.5
Frontend Gradle plugin: 8.0.0 JDK 17

Settings in build.gradle[.kts] file:
plugins{
    id("org.siouan.frontend-jdk17") version "8.0.0"
}

frontend{
    nodeVersion.set("20.9.0")
}

Attachments
{
  "name": "frontend web",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "tsc && vite build",
    "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
    "preview": "vite preview"
  },
  "dependencies": {
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@types/react": "^18.2.37",
    "@types/react-dom": "^18.2.15",
    "@typescript-eslint/eslint-plugin": "^6.10.0",
    "@typescript-eslint/parser": "^6.10.0",
    "@vitejs/plugin-react": "^4.2.0",
    "eslint": "^8.53.0",
    "eslint-plugin-react-hooks": "^4.6.0",
    "eslint-plugin-react-refresh": "^0.4.4",
    "typescript": "^5.2.2",
    "vite": "^5.0.0"
  }
}

There is new generate from pnpm create vite when I run any task from this plugin it will throw resolvePackageManager :Invalid JSON file

Hi @DaiYuANg,
As the error message states it, the package.json file is invalid regarding task resolvePackageManger. Indeed, mandatory property packageManager is missing. Official documentation of this task here should help you fix this file so as the plugin can resolve the package manager used by the project.
Let me know if this helps.
BR


feat: add ivp/meters and ivp/meters/readings to fixture collector

As first step for #69, add ivp/meters and ivp/meters/readings to fixture collector.
Be aware result are (probably) more configuration dependent than firmware dependent. These pages only apply to IQ Gateway/Envoy metered with both Production and Consumption CT installed and configured.  ivp/meters where report 'split phase' or '3 phase' based on actual configuration and net-consumption or total-consumption based on the position of the consumption CT. This implies that within same firmware there is multiple datasets coming back.

Thanks @catsmanac


Investigate Updates to the config.xml

Now that we have separated out the UCD implementation, we are in the position to more fully investigate the configurable parameters from the harvester mechanism.   Examination of the configurable parameters include pre defining organizations; locations; and subject terms.
We need to compare the data in the configuration into our complete document, to decide what modifications can be used to improve our linked data feed.

This is no longer a requirement w/ the OAP query mechanism.

This is no longer a requirement w/ the OAP query mechanism.